PluginProbe ʕ •ᴥ•ʔ
GenerateBlocks / 2.2.0
GenerateBlocks v2.2.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 / grid / components / InspectorControls.js
generateblocks / src / blocks / grid / components Last commit date
BlockControls.js 4 years ago ComponentCSS.js 1 year ago InspectorAdvancedControls.js 2 years ago InspectorControls.js 2 years ago LayoutSelector.js 3 years ago WidthControls.js 2 years ago
InspectorControls.js
178 lines
1 import { Fragment } from '@wordpress/element';
2 import { __ } from '@wordpress/i18n';
3 import { SelectControl } from '@wordpress/components';
4 import { applyFilters } from '@wordpress/hooks';
5 import NumberControl from '../../../components/number-control';
6
7 export default ( props ) => {
8 const {
9 attributes,
10 state,
11 deviceType,
12 setAttributes,
13 } = props;
14
15 const {
16 verticalAlignment,
17 verticalAlignmentTablet,
18 verticalAlignmentMobile,
19 horizontalAlignment,
20 horizontalAlignmentTablet,
21 horizontalAlignmentMobile,
22 } = attributes;
23
24 return (
25 <>
26 <NumberControl
27 { ...props }
28 label={ __( 'Horizontal Gap', 'generateblocks' ) }
29 attributeName="horizontalGap"
30 unit="px"
31 units={ [ 'px' ] }
32 device={ deviceType }
33 presets={
34 [
35 {
36 unit: 'px',
37 data: [ 20, 40, 60, 80 ],
38 },
39 ]
40 }
41 />
42
43 <NumberControl
44 { ...props }
45 label={ __( 'Vertical Gap', 'generateblocks' ) }
46 attributeName="verticalGap"
47 unit="px"
48 units={ [ 'px' ] }
49 device={ deviceType }
50 presets={
51 [
52 {
53 unit: 'px',
54 data: [ 20, 40, 60, 80 ],
55 },
56 ]
57 }
58 />
59
60 { 'Desktop' === deviceType && (
61 <Fragment>
62 <SelectControl
63 label={ __( 'Vertical Alignment', 'generateblocks' ) }
64 value={ verticalAlignment }
65 options={ [
66 { label: __( 'Default', 'generateblocks' ), value: '' },
67 { label: __( 'Top', 'generateblocks' ), value: 'flex-start' },
68 { label: __( 'Center', 'generateblocks' ), value: 'center' },
69 { label: __( 'Bottom', 'generateblocks' ), value: 'flex-end' },
70 ] }
71 onChange={ ( value ) => {
72 setAttributes( {
73 verticalAlignment: value,
74 } );
75 } }
76 />
77
78 <SelectControl
79 label={ __( 'Horizontal Alignment', 'generateblocks' ) }
80 value={ horizontalAlignment }
81 options={ [
82 { label: __( 'Default', 'generateblocks' ), value: '' },
83 { label: __( 'Left', 'generateblocks' ), value: 'flex-start' },
84 { label: __( 'Center', 'generateblocks' ), value: 'center' },
85 { label: __( 'Right', 'generateblocks' ), value: 'flex-end' },
86 ] }
87 onChange={ ( value ) => {
88 setAttributes( {
89 horizontalAlignment: value,
90 } );
91 } }
92 />
93 </Fragment>
94 ) }
95
96 { 'Tablet' === deviceType && (
97 <Fragment>
98 <SelectControl
99 label={ __( 'Vertical Alignment', 'generateblocks' ) }
100 help={ __( 'Align grid items. Removes same height columns and overrides grid item content alignment.', 'generateblocks' ) }
101 value={ verticalAlignmentTablet }
102 options={ [
103 { label: __( 'Inherit', 'generateblocks' ), value: 'inherit' },
104 { label: __( 'Default', 'generateblocks' ), value: '' },
105 { label: __( 'Top', 'generateblocks' ), value: 'flex-start' },
106 { label: __( 'Center', 'generateblocks' ), value: 'center' },
107 { label: __( 'Bottom', 'generateblocks' ), value: 'flex-end' },
108 ] }
109 onChange={ ( value ) => {
110 setAttributes( {
111 verticalAlignmentTablet: value,
112 } );
113 } }
114 />
115
116 <SelectControl
117 label={ __( 'Horizontal Alignment', 'generateblocks' ) }
118 value={ horizontalAlignmentTablet }
119 options={ [
120 { label: __( 'Inherit', 'generateblocks' ), value: 'inherit' },
121 { label: __( 'Default', 'generateblocks' ), value: '' },
122 { label: __( 'Left', 'generateblocks' ), value: 'flex-start' },
123 { label: __( 'Center', 'generateblocks' ), value: 'center' },
124 { label: __( 'Right', 'generateblocks' ), value: 'flex-end' },
125 ] }
126 onChange={ ( value ) => {
127 setAttributes( {
128 horizontalAlignmentTablet: value,
129 } );
130 } }
131 />
132 </Fragment>
133 ) }
134
135 { 'Mobile' === deviceType && (
136 <Fragment>
137 <SelectControl
138 label={ __( 'Vertical Alignment', 'generateblocks' ) }
139 help={ __( 'Align grid items. Removes same height columns and overrides grid item content alignment.', 'generateblocks' ) }
140 value={ verticalAlignmentMobile }
141 options={ [
142 { label: __( 'Inherit', 'generateblocks' ), value: 'inherit' },
143 { label: __( 'Default', 'generateblocks' ), value: '' },
144 { label: __( 'Top', 'generateblocks' ), value: 'flex-start' },
145 { label: __( 'Center', 'generateblocks' ), value: 'center' },
146 { label: __( 'Bottom', 'generateblocks' ), value: 'flex-end' },
147 ] }
148 onChange={ ( value ) => {
149 setAttributes( {
150 verticalAlignmentMobile: value,
151 } );
152 } }
153 />
154
155 <SelectControl
156 label={ __( 'Horizontal Alignment', 'generateblocks' ) }
157 value={ horizontalAlignmentMobile }
158 options={ [
159 { label: __( 'Inherit', 'generateblocks' ), value: 'inherit' },
160 { label: __( 'Default', 'generateblocks' ), value: '' },
161 { label: __( 'Left', 'generateblocks' ), value: 'flex-start' },
162 { label: __( 'Center', 'generateblocks' ), value: 'center' },
163 { label: __( 'Right', 'generateblocks' ), value: 'flex-end' },
164 ] }
165 onChange={ ( value ) => {
166 setAttributes( {
167 horizontalAlignmentMobile: value,
168 } );
169 } }
170 />
171 </Fragment>
172 ) }
173
174 { applyFilters( 'generateblocks.editor.controls', '', 'gridLayout', props, state ) }
175 </>
176 );
177 };
178