PluginProbe ʕ •ᴥ•ʔ
GenerateBlocks / 1.6.0
GenerateBlocks v1.6.0
trunk 1.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.7.0 1.7.1 1.7.2 1.7.3 1.8.0 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 2.0.0 2.0.1 2.0.2 2.1.0 2.1.1 2.1.2 2.2.0 2.2.1 2.3.0
generateblocks / src / blocks / button-container / components / InspectorControls.js
generateblocks / src / blocks / button-container / components Last commit date
BlockControls.js 4 years ago ComponentCSS.js 4 years ago InspectorControls.js 4 years ago
InspectorControls.js
129 lines
1 import PanelArea from '../../../components/panel-area';
2 import { __ } from '@wordpress/i18n';
3 import getIcon from '../../../utils/get-icon';
4 import { Fragment } from '@wordpress/element';
5 import DimensionsControl from '../../../components/dimensions';
6 import { ToggleControl } from '@wordpress/components';
7 import { applyFilters } from '@wordpress/hooks';
8 import { InspectorControls } from '@wordpress/block-editor';
9
10 export default ( props ) => {
11 const {
12 attributes,
13 setAttributes,
14 deviceType,
15 state,
16 } = props;
17
18 const {
19 stack,
20 stackTablet,
21 stackMobile,
22 fillHorizontalSpace,
23 fillHorizontalSpaceTablet,
24 fillHorizontalSpaceMobile,
25 } = attributes;
26
27 return (
28 <InspectorControls>
29 <PanelArea
30 { ...props }
31 title={ __( 'Spacing', 'generateblocks' ) }
32 initialOpen={ true }
33 icon={ getIcon( 'spacing' ) }
34 className={ 'gblocks-panel-label' }
35 id={ 'buttonContainerSpacing' }
36 state={ state }
37 >
38 <DimensionsControl
39 { ...props }
40 device={ deviceType }
41 type={ 'margin' }
42 label={ __( 'Margin', 'generateblocks' ) }
43 units={ [ 'px', 'em', '%' ] }
44 />
45
46 { 'Desktop' === deviceType && (
47 <Fragment>
48 <ToggleControl
49 label={ __( 'Stack Vertically', 'generateblocks' ) }
50 checked={ !! stack }
51 onChange={ ( value ) => {
52 setAttributes( {
53 stack: value,
54 stackTablet: !! value && ! stackTablet ? value : stackTablet,
55 stackMobile: !! value && ! stackMobile ? value : stackMobile,
56 } );
57 } }
58 />
59
60 <ToggleControl
61 label={ __( 'Fill Horizontal Space', 'generateblocks' ) }
62 checked={ !! fillHorizontalSpace }
63 onChange={ ( value ) => {
64 setAttributes( {
65 fillHorizontalSpace: value,
66 fillHorizontalSpaceTablet: !! value && ! fillHorizontalSpaceTablet ? value : fillHorizontalSpaceTablet,
67 fillHorizontalSpaceMobile: !! value && ! fillHorizontalSpaceMobile ? value : fillHorizontalSpaceMobile,
68 } );
69 } }
70 />
71 </Fragment>
72 ) }
73
74 { 'Tablet' === deviceType && (
75 <Fragment>
76 <ToggleControl
77 label={ __( 'Stack Vertically', 'generateblocks' ) }
78 checked={ !! stackTablet }
79 onChange={ ( value ) => {
80 setAttributes( {
81 stackTablet: value,
82 stackMobile: !! value && ! stackMobile ? value : stackMobile,
83 } );
84 } }
85 />
86
87 <ToggleControl
88 label={ __( 'Fill Horizontal Space', 'generateblocks' ) }
89 checked={ !! fillHorizontalSpaceTablet }
90 onChange={ ( value ) => {
91 setAttributes( {
92 fillHorizontalSpaceTablet: value,
93 fillHorizontalSpaceMobile: !! value && ! fillHorizontalSpaceMobile ? value : fillHorizontalSpaceMobile,
94 } );
95 } }
96 />
97 </Fragment>
98 ) }
99
100 { 'Mobile' === deviceType && (
101 <Fragment>
102 <ToggleControl
103 label={ __( 'Stack Vertically', 'generateblocks' ) }
104 checked={ !! stackMobile }
105 onChange={ ( value ) => {
106 setAttributes( {
107 stackMobile: value,
108 } );
109 } }
110 />
111
112 <ToggleControl
113 label={ __( 'Fill Horizontal Space', 'generateblocks' ) }
114 checked={ !! fillHorizontalSpaceMobile }
115 onChange={ ( value ) => {
116 setAttributes( {
117 fillHorizontalSpaceMobile: value,
118 } );
119 } }
120 />
121 </Fragment>
122 ) }
123
124 { applyFilters( 'generateblocks.editor.controls', '', 'buttonContainerSpacing', props, state ) }
125 </PanelArea>
126 </InspectorControls>
127 );
128 };
129