PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.1.2
JetFormBuilder — Dynamic Blocks Form Builder v3.1.2
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / modules / jet-style / assets-src / js / editor / helpers / compileDeclarations.js
jetformbuilder / modules / jet-style / assets-src / js / editor / helpers Last commit date
compileDeclarations.js 2 years ago resolveStyle.js 2 years ago
compileDeclarations.js
55 lines
1 import BaseCSSCompiler from '../abstract/BaseCSSCompiler';
2 import BorderCSSCompiler from '../abstract/BorderCSSCompiler';
3 import BorderRadiusCSSCompiler from '../abstract/BorderRadiusCSSCompiler';
4
5 const compilers = [
6 new BorderRadiusCSSCompiler(),
7 new BorderCSSCompiler(),
8 new BaseCSSCompiler(),
9 ];
10
11 /**
12 * @since 3.1.0
13 *
14 * @param styleRoot
15 * @param supportConfig
16 * @returns {{style: Object, className: String}}
17 */
18 function compileDeclarations( styleRoot, supportConfig ) {
19 const declarations = {};
20 const classNames = [];
21
22 for ( const [ cssVar, path ] of Object.entries( supportConfig ) ) {
23 const compiler = getSupportedCompiler( path ).
24 setCssVar( cssVar ).
25 setPath( path );
26
27 compiler.compileDeclarations( styleRoot, declarations, classNames )
28 compiler.compileClassNames( classNames, styleRoot );
29 }
30
31 return {
32 style: declarations,
33 className: classNames.join( ' ' ),
34 };
35 }
36
37 /**
38 * @param path
39 * @returns {BaseCSSCompiler}
40 */
41 function getSupportedCompiler( path ) {
42 for ( const compiler of compilers ) {
43 if ( !compiler.isSupported( path ) ) {
44 continue;
45 }
46
47 return compiler;
48 }
49
50 throw new Error( 'Something went wrong' );
51 }
52
53 export default compileDeclarations;
54
55