PluginProbe
CartFlows – Funnel Builder & Checkout Plugin for WooCommerce / 3.1.1
CartFlows – Funnel Builder & Checkout Plugin for WooCommerce v3.1.1
3.3.0 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.1 trunk 1.0.4 1.1.0 1.1.0.1 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 All 162 releases
cartflows / modules / gutenberg / src / controls / renderIcon.js

renderIcon.js in CartFlows – Funnel Builder & Checkout Plugin for WooCommerce 3.1.1, at modules/gutenberg/src/controls/renderIcon.js

64 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Set inline CSS class.
3 *
4 * @param {Object} props - The block object.
5 * @return {Array} The inline CSS class.
6 */
7
8 import parseSVG from './parseIcon';
9 function renderSVG( svg, setAttributes = false ) {
10 svg = parseSVG( svg );
11 let fontAwesome;
12 // Load Polyfiller Array if needed.
13 if ( 0 !== uagb_blocks_info.font_awesome_5_polyfill.length ) {
14 fontAwesome = uagb_blocks_info.uagb_svg_icons[ svg ];
15 if ( ! fontAwesome ) {
16 fontAwesome = uagb_blocks_info.uagb_svg_icons[ uagb_blocks_info.font_awesome_5_polyfill?.[ svg ] ];
17 }
18 }
19
20 if ( ! fontAwesome ) {
21 return null;
22 }
23
24 const fontAwesomeSvg = fontAwesome.svg?.brands ? fontAwesome.svg.brands : fontAwesome.svg.solid;
25
26 const viewBox = `0 0 ${fontAwesomeSvg.width} ${fontAwesomeSvg.height}`;
27 const path = fontAwesomeSvg.path;
28
29 let align = null;
30
31 switch ( svg ) {
32 case 'align-center':
33 align = { fillRule:'evenodd', clipRule:'evenodd', d : 'M4 2H14V0H4V2ZM0 7H18V5H0V7ZM4 12H14V10H4V12Z' };
34 break;
35 case 'align-left':
36 align = { fillRule:'evenodd', clipRule:'evenodd', d : 'M10 2H0V0H10V2ZM18 7H0V5H18V7ZM10 12H0V10H10V12Z' };
37 break;
38 case 'align-right':
39 align = { fillRule:'evenodd', clipRule:'evenodd', d : 'M8 2H18V0H8V2ZM0 7H18V5H0V7ZM8 12H18V10H8V12Z' };
40 break;
41 case 'align-justify':
42 align = { d : 'M0 0H18V2H0V0ZM0 5.00001H18V7.00001H0V5.00001ZM0 10H18V12H0V10Z' };
43 break;
44 }
45
46 if ( align ) {
47 return <svg width="18" height="12" viewBox="0 0 18 12" xmlns="http://www.w3.org/2000/svg">
48 <path { ...align } />
49 </svg>
50 }
51
52 return ! setAttributes || 'not_set' === setAttributes ? (
53 <svg xmlns="https://www.w3.org/2000/svg" viewBox={ viewBox }>
54 <path d={ path }></path>
55 </svg>
56 ) : (
57 <svg width="20" height="20" xmlns="https://www.w3.org/2000/svg" viewBox={ viewBox }>
58 <path d={ path }></path>
59 </svg>
60 );
61 }
62
63 export default renderSVG;
64