PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.4.2
JetFormBuilder — Dynamic Blocks Form Builder v3.6.4.2
3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.4 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 / framework / blocks-style-manager / assets / src / hoc-wrappers / with-styles-controls.js
jetformbuilder / modules / framework / blocks-style-manager / assets / src / hoc-wrappers Last commit date
with-block-class.js 3 months ago with-styles-controls.js 3 months ago
with-styles-controls.js
54 lines
1 import { createHigherOrderComponent } from '@wordpress/compose';
2 import { useEffect } from '@wordpress/element';
3 import ControlStack from '../components/control-stack';
4 import { Generator } from '../css-engine/generator';
5 import { isEmpty } from '../helpers/utils';
6 import { generateUniqueClassName } from './with-block-class';
7
8 export const withStylesControls = createHigherOrderComponent( ( BlockEdit ) => {
9
10 return ( props ) => {
11
12 const { attributes, clientId, setAttributes } = props;
13 const supportName = window.crocoStyleEditorData.support_name;
14
15 // We need to check it by attributes, because 'supports' are not available in the props
16 if ( ! attributes || ! attributes[ supportName ] ) {
17 return <BlockEdit { ...props } />;
18 }
19
20 // Ensure block class is really unique and not inherited from default block definition
21 useEffect( () => {
22 if ( ! attributes[ supportName ][ '_uniqueClassName' ] ) {
23 setAttributes( {
24 [ supportName ]: {
25 ...attributes[ supportName ],
26 _uniqueClassName: generateUniqueClassName(),
27 },
28 } );
29 }
30 }, [ clientId ] );
31
32 const cssGenerator = new Generator(
33 props.name,
34 attributes[ supportName ]
35 );
36
37 const {
38 styles,
39 variables
40 } = cssGenerator.getCSS();
41
42 return (
43 <>
44 { ! isEmpty( styles ) && <style>{ styles }</style> }
45 { ! isEmpty( variables ) && <div style={ variables } className="wp-block">
46 <BlockEdit {...props}/>
47 </div> }
48 { isEmpty( variables ) && <BlockEdit { ...props } /> }
49 <ControlStack {...props} />
50 </>
51 );
52 };
53 }, 'withStylesControls' );
54