PluginProbe ʕ •ᴥ•ʔ
VK Blocks / trunk
VK Blocks vtrunk
1.122.0 1.121.0 1.120.0 1.119.2 1.119.1 1.119.0 1.118.7 1.82.0.0 1.82.0.1 1.83.0.0 1.83.0.1 1.84.0.0 1.84.0.1 1.85.0.2 1.85.0.3 1.85.1.0 1.85.1.1 1.86.0.0 1.86.0.1 1.86.1.0 1.87.0.0 1.87.0.1 1.88.0.1 1.88.0.2 1.89.0.0 1.9.2 1.90.0.0 1.90.0.1 1.90.1.1 1.91.0.0 1.91.1.1 1.92.0.0 1.92.0.1 1.92.1.0 1.92.1.1 1.93.0.0 trunk 1.93.0.1 0.1.1 1.93.1.0 0.10.3 1.93.1.1 0.11.0 1.94.0.0 0.12.6 1.94.0.1 0.15.1 1.94.1.0 0.16.2 1.94.2.1 0.17.6 1.94.2.2 0.2.2 1.95.0.3 0.22.4 1.95.0.4 0.26.7 1.96.2.0 0.3.2 1.96.2.1 0.31.0 1.97.0.1 0.35.5 1.97.0.2 0.37.5 1.99.0.0 0.38.8 1.99.0.1 0.39.4 0.4.7 0.41.0 0.42.0 0.44.13 0.45.2 0.46.1 0.47.0 0.48.0 0.49.8 0.5.2 0.50.3 0.51.0 0.52.2 0.53.2 0.54.0 0.55.0 0.56.2 0.56.3 0.57.6 0.58.10 0.59.0 0.6.0 0.60.1 0.61.2 0.7.1 0.8.2 1.0.16 1.10.0 1.100.0.0 1.100.0.1 1.102.0.0 1.102.0.1 1.103.0.0 1.104.0.0 1.104.0.1 1.105.1.0 1.105.1.1 1.106.0.0 1.106.0.1 1.107.0.0 1.107.0.1 1.107.0.2 1.108.0.0 1.108.0.1 1.109.0.0 1.109.0.1 1.11.4 1.110.0.0 1.110.0.1 1.111.0.0 1.111.0.1 1.111.0.2 1.112.0.0 1.112.0.1 1.113.0.0 1.113.0.1 1.114.0.0 1.114.0.1 1.114.2.0 1.114.2.1 1.115.0.0 1.115.0.1 1.115.1.0 1.115.1.1 1.115.2.0 1.115.2.1 1.116.0.0 1.116.0.1 1.116.1.0 1.116.1.1 1.116.2.0 1.117.0.0 1.117.0.1 1.117.1.0 1.118.2 1.118.5 1.12.0 1.13.2 1.14.1 1.15.1 1.16.11 1.17.0 1.18.6 1.19.0 1.19.1 1.2.3 1.20.7 1.21.0 1.22.4 1.23.0 1.24.5 1.25.1 1.26.2 1.27.7.2 1.28.0.1 1.29.2.0 1.3.9 1.30.0.1 1.31.0.1 1.32.0.2 1.33.2.1 1.36.1.5 1.37.0.0 1.39.2.1 1.4.6 1.40.0.1 1.40.1.0 1.40.1.1 1.41.0.0 1.41.0.1 1.41.2.2 1.41.2.3 1.43.0.0 1.43.0.1 1.43.0.2 1.44.0.0 1.44.0.1 1.45.0.0 1.45.0.1 1.46.0.0 1.46.0.1 1.47.0.0 1.47.0.1 1.47.1.0 1.48.0.0 1.48.0.1 1.48.0.2 1.48.1.0 1.48.1.1 1.5.0 1.50.0.0 1.50.0.1 1.51.0.0 1.51.0.1 1.52.0.0 1.52.0.1 1.53.0.0 1.53.0.1 1.54.0.0 1.54.0.1 1.55.0.0 1.55.0.1 1.56.0.0 1.56.0.1 1.57.0.0 1.57.0.2 1.57.0.3 1.57.0.4 1.57.0.5 1.57.1.0 1.57.1.1 1.57.1.2 1.58.0.0 1.58.0.1 1.59.0.0 1.59.0.1 1.6.0 1.60.0.0 1.60.0.1 1.63.0.0 1.63.0.1 1.64.0.0 1.64.0.1 1.64.1.0 1.64.1.2 1.67.0.0 1.67.0.1 1.68.0.0 1.68.0.1 1.69.0.0 1.69.0.1 1.69.1.1 1.69.1.2 1.7.1 1.70.0.0 1.70.0.1 1.71.0.0 1.71.0.1 1.72.0.0 1.72.1.0 1.72.1.1 1.73.0.0 1.73.0.1 1.74.0.0 1.74.0.1 1.75.0.0 1.75.1.0 1.75.1.1 1.76.0.0 1.76.0.1 1.76.1.0 1.76.1.1 1.76.2.0 1.76.2.1 1.77.0.0 1.77.0.1 1.78.0.0 1.78.0.1 1.79.0.0 1.79.0.1 1.79.0.2 1.79.0.3 1.79.1.0 1.79.1.1 1.8.2 1.80.1.0 1.80.1.1 1.80.1.2 1.81.0.1 1.81.0.2
vk-blocks / src / admin / margin.js
vk-blocks / src / admin Last commit date
balloon 1 week ago block-manager 2 months ago block-style-manager 2 months ago custom-block-style 2 months ago custom-format 2 months ago import-export 2 months ago utils 2 months ago block-category-position.js 2 months ago breadcrumb.js 2 months ago custom-css.js 2 months ago index.js 2 months ago license.js 2 months ago load-separate.js 2 months ago margin.js 2 months ago new-faq.js 2 months ago save-button.js 2 months ago toc.js 2 months ago
margin.js
229 lines
1 /**
2 * WordPress dependencies
3 */
4 import { __ } from '@wordpress/i18n';
5 import {
6 SelectControl,
7 __experimentalNumberControl as NumberControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis
8 TextControl,
9 } from '@wordpress/components';
10 import { useContext } from '@wordpress/element';
11 import { hightUnitOptions } from '@vkblocks/utils/unit-options';
12
13 /**
14 * Internal dependencies
15 */
16 import { AdminContext } from '@vkblocks/admin/index';
17
18 const MARGIN_SIZE_ARRAY = [
19 {
20 marginLabel: __('XXS', 'vk-blocks'),
21 marginValue: 'xxs',
22 },
23 {
24 marginLabel: __('XS', 'vk-blocks'),
25 marginValue: 'xs',
26 },
27 {
28 marginLabel: __('S', 'vk-blocks'),
29 marginValue: 'sm',
30 },
31 {
32 marginLabel: __('M', 'vk-blocks'),
33 marginValue: 'md',
34 },
35 {
36 marginLabel: __('L', 'vk-blocks'),
37 marginValue: 'lg',
38 },
39 {
40 marginLabel: __('XL', 'vk-blocks'),
41 marginValue: 'xl',
42 },
43 {
44 marginLabel: __('XXL', 'vk-blocks'),
45 marginValue: 'xxl',
46 },
47 ];
48
49 const DEVICE_ARRAY = [
50 {
51 deviceLabel: __('PC', 'vk-blocks'),
52 deviceValue: 'pc',
53 },
54 {
55 deviceLabel: __('Tablet', 'vk-blocks'),
56 deviceValue: 'tablet',
57 },
58 {
59 deviceLabel: __('Mobile', 'vk-blocks'),
60 deviceValue: 'mobile',
61 },
62 ];
63
64 export default function AdminMargin() {
65 const { vkBlocksOption, setVkBlocksOption, setReloadFlag } =
66 useContext(AdminContext);
67
68 return (
69 <>
70 <section className="margin-setting">
71 <h3 id="margin-setting">
72 {__('Common Margin Setting', 'vk-blocks')}
73 </h3>
74 <p>
75 {__(
76 'Please specify the size of the common margin used for responsive spacers, etc.',
77 'vk-blocks'
78 )}
79 </p>
80 <div className="margin-setting__unit">
81 <span>{__('Unit', 'vk-blocks')}</span>
82 <SelectControl
83 name="vk_blocks_options[margin_unit]"
84 className="vk_admin_selectControl unit-select"
85 value={vkBlocksOption.margin_unit}
86 onChange={(newValue) => {
87 setVkBlocksOption({
88 ...vkBlocksOption,
89 margin_unit: newValue,
90 });
91 }}
92 options={hightUnitOptions}
93 />
94 </div>
95 <table className="margin-setting__table">
96 <thead>
97 <tr>
98 <td></td>
99 {DEVICE_ARRAY.map((device) => {
100 const { deviceLabel } = device;
101 return (
102 <td
103 key={deviceLabel}
104 className="text-center nowrap"
105 >
106 {deviceLabel}
107 </td>
108 );
109 })}
110 <td>
111 {__('Custom Value', 'vk-blocks')}
112 <span className="vk_admin_tooltip">
113 <span className="vk_admin_tooltip__trigger">
114 ?
115 </span>
116 <span className="vk_admin_tooltip__body">
117 {__(
118 'If you enter a custom value, the values you entered will be used as a priority.',
119 'vk-blocks'
120 )}
121 <br />
122 {__(
123 'This item is mainly intended for inputting CSS variables for the margins specified by the theme. Thereby you can apply to the same margin size to the VK Blocks.',
124 'vk-blocks'
125 )}
126 <br />
127 {/* 最後のセミコロンは勝手につくので例の最後のセミコロンは不要*/}
128 {__('ex)', 'vk-blocks')}
129 {'var(--wp--custom--spacing--xx-small)'}
130 </span>
131 </span>
132 </td>
133 </tr>
134 </thead>
135 <tbody>
136 {MARGIN_SIZE_ARRAY.map((size) => {
137 const { marginLabel, marginValue } = size;
138 return (
139 <tr key={marginLabel}>
140 <th className="nowrap">
141 {__('Margin', 'vk-blocks') +
142 ` [ ${marginLabel} ] `}
143 </th>
144 {DEVICE_ARRAY.map((device) => {
145 const { deviceLabel, deviceValue } =
146 device;
147 {
148 /* TextControlでは以前の実�
149 が出来なかったので致し方なく__experimentalNumberControlを利用 */
150 }
151 return (
152 <td key={deviceLabel}>
153 <NumberControl
154 className="margin_size_input"
155 name={`vk_blocks_options[margin_size][${marginValue}][${deviceValue}]`}
156 step="0.05"
157 value={
158 !vkBlocksOption
159 .margin_size[
160 marginValue
161 ][deviceValue]
162 ? ''
163 : vkBlocksOption
164 .margin_size[
165 marginValue
166 ][deviceValue]
167 }
168 onChange={(newValue) => {
169 setVkBlocksOption({
170 ...vkBlocksOption,
171 margin_size: {
172 ...vkBlocksOption.margin_size,
173 [marginValue]: {
174 ...vkBlocksOption
175 .margin_size[
176 marginValue
177 ],
178 [deviceValue]:
179 newValue,
180 },
181 },
182 });
183 }}
184 />
185 </td>
186 );
187 })}
188 <td className="margin-setting__custom">
189 <TextControl
190 className="margin-setting__custom__input"
191 name={`vk_blocks_options[margin_size][${marginValue}][custom]`}
192 value={
193 !vkBlocksOption.margin_size[
194 marginValue
195 ].custom
196 ? ''
197 : vkBlocksOption
198 .margin_size[
199 marginValue
200 ].custom
201 }
202 onChange={(newValue) => {
203 setVkBlocksOption({
204 ...vkBlocksOption,
205 margin_size: {
206 ...vkBlocksOption.margin_size,
207 [marginValue]: {
208 ...vkBlocksOption
209 .margin_size[
210 marginValue
211 ],
212 custom: newValue,
213 },
214 },
215 });
216 setReloadFlag(true);
217 }}
218 />
219 </td>
220 </tr>
221 );
222 })}
223 </tbody>
224 </table>
225 </section>
226 </>
227 );
228 }
229