itmar-block-packages 1.10.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/README.md +81 -2
  2. package/build/cjs/AnimationBlock.js +107 -0
  3. package/build/cjs/AnimationBlock.js.map +1 -0
  4. package/build/cjs/BlockEditWrapper.js +20 -0
  5. package/build/cjs/BlockEditWrapper.js.map +1 -0
  6. package/build/cjs/BlockPlace.js +509 -0
  7. package/build/cjs/BlockPlace.js.map +1 -0
  8. package/build/cjs/BrockInserter.js +204 -0
  9. package/build/cjs/BrockInserter.js.map +1 -0
  10. package/build/cjs/DateElm.js +321 -0
  11. package/build/cjs/DateElm.js.map +1 -0
  12. package/build/cjs/DraggableBox.js +143 -0
  13. package/build/cjs/DraggableBox.js.map +1 -0
  14. package/build/cjs/GridControls.js +421 -0
  15. package/build/cjs/GridControls.js.map +1 -0
  16. package/build/cjs/IconSelectControl.js +167 -0
  17. package/build/cjs/IconSelectControl.js.map +1 -0
  18. package/build/cjs/JapaneseHolidays.js +99 -0
  19. package/build/cjs/JapaneseHolidays.js.map +1 -0
  20. package/build/cjs/MasonryControl.js +124 -0
  21. package/build/cjs/MasonryControl.js.map +1 -0
  22. package/build/cjs/PseudoElm.js +66 -0
  23. package/build/cjs/PseudoElm.js.map +1 -0
  24. package/build/cjs/ShadowStyle.js +453 -0
  25. package/build/cjs/ShadowStyle.js.map +1 -0
  26. package/build/cjs/SwiperControl.js +267 -0
  27. package/build/cjs/SwiperControl.js.map +1 -0
  28. package/build/cjs/ToggleElement.js +17 -0
  29. package/build/cjs/ToggleElement.js.map +1 -0
  30. package/build/cjs/TypographyControls.js +151 -0
  31. package/build/cjs/TypographyControls.js.map +1 -0
  32. package/build/cjs/UpdateAllPostsBlockAttributes.js +137 -0
  33. package/build/cjs/UpdateAllPostsBlockAttributes.js.map +1 -0
  34. package/build/cjs/ZipAddress.js +34 -0
  35. package/build/cjs/ZipAddress.js.map +1 -0
  36. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +117 -0
  37. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  38. package/build/cjs/blockStore.js +65 -0
  39. package/build/cjs/blockStore.js.map +1 -0
  40. package/build/cjs/cssPropertes.js +157 -0
  41. package/build/cjs/cssPropertes.js.map +1 -0
  42. package/build/cjs/customFooks.js +300 -0
  43. package/build/cjs/customFooks.js.map +1 -0
  44. package/build/cjs/formatCreate.js +160 -0
  45. package/build/cjs/formatCreate.js.map +1 -0
  46. package/build/cjs/hslToRgb.js +133 -0
  47. package/build/cjs/hslToRgb.js.map +1 -0
  48. package/build/cjs/index.js +115 -0
  49. package/build/cjs/index.js.map +1 -0
  50. package/build/cjs/mediaUpload.js +182 -0
  51. package/build/cjs/mediaUpload.js.map +1 -0
  52. package/build/cjs/node_modules/nanoid/index.js +30 -0
  53. package/build/cjs/node_modules/nanoid/index.js.map +1 -0
  54. package/build/cjs/node_modules/nanoid/url-alphabet/index.js +7 -0
  55. package/build/cjs/node_modules/nanoid/url-alphabet/index.js.map +1 -0
  56. package/build/cjs/shopfiApi.js +188 -0
  57. package/build/cjs/shopfiApi.js.map +1 -0
  58. package/build/cjs/validationCheck.js +15 -0
  59. package/build/cjs/validationCheck.js.map +1 -0
  60. package/build/cjs/wordpressApi.js +631 -0
  61. package/build/cjs/wordpressApi.js.map +1 -0
  62. package/build/esm/AnimationBlock.js +102 -0
  63. package/build/esm/AnimationBlock.js.map +1 -0
  64. package/build/esm/BlockEditWrapper.js +16 -0
  65. package/build/esm/BlockEditWrapper.js.map +1 -0
  66. package/build/esm/BlockPlace.js +503 -0
  67. package/build/esm/BlockPlace.js.map +1 -0
  68. package/build/esm/BrockInserter.js +202 -0
  69. package/build/esm/BrockInserter.js.map +1 -0
  70. package/build/esm/DateElm.js +309 -0
  71. package/build/esm/DateElm.js.map +1 -0
  72. package/build/esm/DraggableBox.js +138 -0
  73. package/build/esm/DraggableBox.js.map +1 -0
  74. package/build/esm/GridControls.js +417 -0
  75. package/build/esm/GridControls.js.map +1 -0
  76. package/build/esm/IconSelectControl.js +163 -0
  77. package/build/esm/IconSelectControl.js.map +1 -0
  78. package/build/esm/JapaneseHolidays.js +97 -0
  79. package/build/esm/JapaneseHolidays.js.map +1 -0
  80. package/{src → build/esm}/MasonryControl.js +108 -113
  81. package/build/esm/MasonryControl.js.map +1 -0
  82. package/build/esm/PseudoElm.js +61 -0
  83. package/build/esm/PseudoElm.js.map +1 -0
  84. package/build/esm/ShadowStyle.js +448 -0
  85. package/build/esm/ShadowStyle.js.map +1 -0
  86. package/{src → build/esm}/SwiperControl.js +265 -265
  87. package/build/esm/SwiperControl.js.map +1 -0
  88. package/build/esm/ToggleElement.js +13 -0
  89. package/build/esm/ToggleElement.js.map +1 -0
  90. package/build/esm/TypographyControls.js +147 -0
  91. package/build/esm/TypographyControls.js.map +1 -0
  92. package/build/esm/UpdateAllPostsBlockAttributes.js +133 -0
  93. package/build/esm/UpdateAllPostsBlockAttributes.js.map +1 -0
  94. package/build/esm/ZipAddress.js +32 -0
  95. package/build/esm/ZipAddress.js.map +1 -0
  96. package/build/esm/_virtual/_rollupPluginBabelHelpers.js +107 -0
  97. package/build/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  98. package/build/esm/blockStore.js +60 -0
  99. package/build/esm/blockStore.js.map +1 -0
  100. package/build/esm/cssPropertes.js +144 -0
  101. package/build/esm/cssPropertes.js.map +1 -0
  102. package/{src → build/esm}/customFooks.js +290 -337
  103. package/build/esm/customFooks.js.map +1 -0
  104. package/build/esm/formatCreate.js +157 -0
  105. package/build/esm/formatCreate.js.map +1 -0
  106. package/build/esm/hslToRgb.js +129 -0
  107. package/build/esm/hslToRgb.js.map +1 -0
  108. package/build/esm/index.js +27 -0
  109. package/build/esm/index.js.map +1 -0
  110. package/build/esm/mediaUpload.js +176 -0
  111. package/build/esm/mediaUpload.js.map +1 -0
  112. package/build/esm/node_modules/nanoid/index.js +27 -0
  113. package/build/esm/node_modules/nanoid/index.js.map +1 -0
  114. package/build/esm/node_modules/nanoid/url-alphabet/index.js +5 -0
  115. package/build/esm/node_modules/nanoid/url-alphabet/index.js.map +1 -0
  116. package/build/esm/shopfiApi.js +184 -0
  117. package/build/esm/shopfiApi.js.map +1 -0
  118. package/build/esm/validationCheck.js +13 -0
  119. package/build/esm/validationCheck.js.map +1 -0
  120. package/build/esm/wordpressApi.js +618 -0
  121. package/build/esm/wordpressApi.js.map +1 -0
  122. package/package.json +22 -6
  123. package/build/index.asset.php +0 -1
  124. package/build/index.js +0 -25
  125. package/css/editor.css +0 -23
  126. package/css/editor.css.map +0 -1
  127. package/img/animation.png +0 -0
  128. package/img/blockplace.png +0 -0
  129. package/img/grid.png +0 -0
  130. package/img/iconControl.png +0 -0
  131. package/img/pseudo.png +0 -0
  132. package/img/shadow.png +0 -0
  133. package/img/typography.png +0 -0
  134. package/src/AnimationBlock.js +0 -112
  135. package/src/BlockEditWrapper.js +0 -11
  136. package/src/BlockPlace.js +0 -904
  137. package/src/BrockInserter.js +0 -247
  138. package/src/DateElm.js +0 -354
  139. package/src/DraggableBox.js +0 -143
  140. package/src/GridControls.js +0 -462
  141. package/src/IconSelectControl.js +0 -186
  142. package/src/PseudoElm.js +0 -54
  143. package/src/ShadowStyle.js +0 -520
  144. package/src/ToggleElement.js +0 -18
  145. package/src/TypographyControls.js +0 -145
  146. package/src/UpdateAllPostsBlockAttributes.js +0 -127
  147. package/src/ZipAddress.js +0 -35
  148. package/src/blockStore.js +0 -75
  149. package/src/cssPropertes.js +0 -212
  150. package/src/formatCreate.js +0 -179
  151. package/src/hslToRgb.js +0 -162
  152. package/src/index.js +0 -131
  153. package/src/mediaUpload.js +0 -178
  154. package/src/shopfiApi.js +0 -187
  155. package/src/validationCheck.js +0 -10
  156. package/src/wordpressApi.js +0 -686
  157. package/webpack.config.js +0 -10
package/src/BlockPlace.js DELETED
@@ -1,904 +0,0 @@
1
- import { __ } from "@wordpress/i18n";
2
- import { useState, useEffect } from "@wordpress/element";
3
-
4
- import {
5
- Button,
6
- PanelBody,
7
- PanelRow,
8
- __experimentalUnitControl as UnitControl,
9
- ComboboxControl,
10
- Icon,
11
- ToolbarGroup,
12
- ToolbarItem,
13
- RangeControl,
14
- TextControl,
15
- RadioControl,
16
- ToggleControl,
17
- Modal,
18
- } from "@wordpress/components";
19
- import {
20
- group,
21
- stack,
22
- layout,
23
- justifyCenter,
24
- justifyLeft,
25
- justifyRight,
26
- justifySpaceBetween,
27
- justifyStretch,
28
- stretchWide,
29
- positionCenter,
30
- } from "@wordpress/icons";
31
- import GridControls from "./GridControls";
32
-
33
- //横並びのアイコン
34
- const flex = <Icon icon={stack} className="rotate-icon" />;
35
- //上よせアイコン
36
- const upper = <Icon icon={justifyLeft} className="rotate-icon" />;
37
- //中央よせのアイコン
38
- const middle = <Icon icon={justifyCenter} className="rotate-icon" />;
39
- //下よせのアイコン
40
- const lower = <Icon icon={justifyRight} className="rotate-icon" />;
41
- //上下一杯に伸ばすアイコン
42
- const vert_between = <Icon icon={justifyStretch} className="rotate-icon" />;
43
- //上下均等に伸ばすアイコン
44
- const vert_around = <Icon icon={justifySpaceBetween} className="rotate-icon" />;
45
-
46
- export default function BlockPlace(props) {
47
- const { attributes, clientId, blockRef, isMobile, isSubmenu, isParallax } =
48
- props;
49
- const { positionType, isPosCenter, default_val, mobile_val } = attributes;
50
-
51
- //モバイルかデスクトップか
52
- const sel_pos = isMobile ? mobile_val : default_val;
53
-
54
- //配置アイコンの選択
55
-
56
- const start_icon = sel_pos.direction === "vertical" ? upper : justifyLeft;
57
- const center_icon = sel_pos.direction === "vertical" ? middle : justifyCenter;
58
- const end_icon = sel_pos.direction === "vertical" ? lower : justifyRight;
59
- const start_cross = sel_pos.direction === "vertical" ? justifyLeft : upper;
60
- const center_cross =
61
- sel_pos.direction === "vertical" ? justifyCenter : middle;
62
- const end_cross = sel_pos.direction === "vertical" ? justifyRight : lower;
63
- const stretch =
64
- sel_pos.direction === "vertical" ? justifyStretch : vert_between;
65
- const between_icon =
66
- sel_pos.direction === "vertical" ? vert_between : justifyStretch;
67
- const around_icon =
68
- sel_pos.direction === "vertical" ? vert_around : justifySpaceBetween;
69
- //ツールチップの選択
70
- const start_tip =
71
- sel_pos.direction === "vertical"
72
- ? __("upper alignment", "block-collections")
73
- : __("left alignment", "block-collections");
74
- const end_tip =
75
- sel_pos.direction === "vertical"
76
- ? __("lower alignment", "block-collections")
77
- : __("right alignment", "block-collections");
78
- const cross_start_tip =
79
- sel_pos.direction === "vertical"
80
- ? __("left alignment", "block-collections")
81
- : __("upper alignment", "block-collections");
82
- const cross_end_tip =
83
- sel_pos.direction === "vertical"
84
- ? __("right alignment", "block-collections")
85
- : __("lower alignment", "block-collections");
86
-
87
- const [isContainer, setIsContainer] = useState(false);
88
- const [isFlexItem, setIsFlexItem] = useState(false);
89
- const [direction, setDirection] = useState("row");
90
- useEffect(() => {
91
- if (blockRef.current) {
92
- const element = blockRef.current;
93
- const parentElement = element.parentElement;
94
- const grandparentElement = parentElement?.parentElement;
95
-
96
- const computedStyle = getComputedStyle(grandparentElement);
97
- //親要素がFlex又はGridコンテナか
98
- if (
99
- computedStyle.display === "flex" ||
100
- computedStyle.display === "inline-flex" ||
101
- computedStyle.display === "grid" ||
102
- computedStyle.display === "inline-grid"
103
- ) {
104
- setIsContainer(true);
105
- }
106
- //flexの時その方向
107
- if (
108
- computedStyle.display === "flex" ||
109
- computedStyle.display === "inline-flex"
110
- ) {
111
- setIsFlexItem(true);
112
- if (
113
- computedStyle.flexDirection === "row" ||
114
- computedStyle.flexDirection === "row-reverse"
115
- ) {
116
- setDirection("row");
117
- } else {
118
- setDirection("column");
119
- }
120
- }
121
- }
122
- }, []);
123
-
124
- //GridModalを開く
125
- const [isGridModalOpen, setIsGridModalOpen] = useState(false);
126
- const openGridModal = () => setIsGridModalOpen(true);
127
- const closeGridModal = () => setIsGridModalOpen(false);
128
-
129
- // 翻訳が必要な文字列を直接指定
130
- const blockMaxWidthMobile = __(
131
- "Block Max Width(Mobile)",
132
- "block-collections"
133
- );
134
- const blockWidthMobile = __("Block Width(Mobile)", "block-collections");
135
- const blockMaxWidthDesktop = __(
136
- "Block Max Width(DeskTop)",
137
- "block-collections"
138
- );
139
- const blockWidthDesktop = __("Block Width(DeskTop)", "block-collections");
140
-
141
- // 条件に応じて選択
142
- const blockWidthLabel = isMobile
143
- ? isSubmenu
144
- ? blockWidthMobile
145
- : blockMaxWidthMobile
146
- : isSubmenu
147
- ? blockWidthDesktop
148
- : blockMaxWidthDesktop;
149
-
150
- return (
151
- <>
152
- <PanelBody
153
- title={__("Block placement", "block-collections")}
154
- initialOpen={false}
155
- className="itmar_group_direction"
156
- >
157
- {isMobile ? (
158
- <p>{__("InnerBlock direction(Mobile)", "block-collections")}</p>
159
- ) : (
160
- <p>{__("InnerBlock direction(DeskTop)", "block-collections")}</p>
161
- )}
162
-
163
- <ToolbarGroup>
164
- <ToolbarItem>
165
- {(itemProps) => (
166
- <Button
167
- {...itemProps}
168
- isPressed={sel_pos.direction === "block"}
169
- onClick={() => props.onDirectionChange("block")}
170
- icon={group}
171
- label={__("block", "block-collections")}
172
- />
173
- )}
174
- </ToolbarItem>
175
- <ToolbarItem>
176
- {(itemProps) => (
177
- <Button
178
- {...itemProps}
179
- isPressed={sel_pos.direction === "vertical"}
180
- onClick={() => props.onDirectionChange("vertical")}
181
- icon={stack}
182
- label={__("virtical", "block-collections")}
183
- />
184
- )}
185
- </ToolbarItem>
186
- <ToolbarItem>
187
- {(itemProps) => (
188
- <Button
189
- {...itemProps}
190
- isPressed={sel_pos.direction === "horizen"}
191
- onClick={() => props.onDirectionChange("horizen")}
192
- icon={flex}
193
- label={__("horizen", "block-collections")}
194
- />
195
- )}
196
- </ToolbarItem>
197
- <ToolbarItem>
198
- {(itemProps) => (
199
- <Button
200
- {...itemProps}
201
- isPressed={sel_pos.direction === "grid"}
202
- onClick={() => props.onDirectionChange("grid")}
203
- icon={layout}
204
- label={__("grid", "block-collections")}
205
- />
206
- )}
207
- </ToolbarItem>
208
- {(sel_pos.direction === "horizen" ||
209
- sel_pos.direction === "vertical") && (
210
- <PanelRow className="position_row">
211
- <ToggleControl
212
- label={__("reverse", "block-collections")}
213
- checked={sel_pos.reverse}
214
- onChange={(checked) => props.onReverseChange(checked)}
215
- />
216
- <ToggleControl
217
- label={__("wrap", "block-collections")}
218
- checked={sel_pos.wrap}
219
- onChange={(checked) => props.onWrapChange(checked)}
220
- />
221
- </PanelRow>
222
- )}
223
- </ToolbarGroup>
224
-
225
- {sel_pos.direction !== "block" && sel_pos.direction !== "grid" && (
226
- <>
227
- {isMobile ? (
228
- <p>{__("InnerBlock Main Axis(Mobile)", "block-collections")}</p>
229
- ) : (
230
- <p>{__("InnerBlock Main Axis(DeskTop)", "block-collections")}</p>
231
- )}
232
- <ToolbarGroup>
233
- <ToolbarItem>
234
- {(itemProps) => (
235
- <Button
236
- {...itemProps}
237
- isPressed={sel_pos.inner_align === "flex-start"}
238
- onClick={() =>
239
- props.onFlexChange("flex-start", "inner_align")
240
- } //親コンポーネントに通知
241
- icon={start_icon}
242
- label={start_tip}
243
- />
244
- )}
245
- </ToolbarItem>
246
- <ToolbarItem>
247
- {(itemProps) => (
248
- <Button
249
- {...itemProps}
250
- isPressed={sel_pos.inner_align === "center"}
251
- onClick={() => props.onFlexChange("center", "inner_align")} //親コンポーネントに通知
252
- icon={center_icon}
253
- label={__("center alignment", "block-collections")}
254
- />
255
- )}
256
- </ToolbarItem>
257
- <ToolbarItem>
258
- {(itemProps) => (
259
- <Button
260
- {...itemProps}
261
- isPressed={sel_pos.inner_align === "flex-end"}
262
- onClick={() =>
263
- props.onFlexChange("flex-end", "inner_align")
264
- } //親コンポーネントに通知
265
- icon={end_icon}
266
- label={end_tip}
267
- />
268
- )}
269
- </ToolbarItem>
270
- <ToolbarItem>
271
- {(itemProps) => (
272
- <Button
273
- {...itemProps}
274
- isPressed={sel_pos.inner_align === "space-between"}
275
- onClick={() =>
276
- props.onFlexChange("space-between", "inner_align")
277
- } //親コンポーネントに通知
278
- icon={between_icon}
279
- label={__("stretch", "block-collections")}
280
- />
281
- )}
282
- </ToolbarItem>
283
- <ToolbarItem>
284
- {(itemProps) => (
285
- <Button
286
- {...itemProps}
287
- isPressed={sel_pos.inner_align === "space-around"}
288
- onClick={() =>
289
- props.onFlexChange("space-around", "inner_align")
290
- } //親コンポーネントに通知
291
- icon={around_icon}
292
- label={__("around stretch", "block-collections")}
293
- />
294
- )}
295
- </ToolbarItem>
296
- </ToolbarGroup>
297
- </>
298
- )}
299
-
300
- {!isSubmenu &&
301
- (isMobile ? (
302
- <p>{__("InnerBlock Cross Axis(Mobile)", "block-collections")}</p>
303
- ) : (
304
- <p>{__("InnerBlock Cross Axis(DeskTop)", "block-collections")}</p>
305
- ))}
306
-
307
- {!isSubmenu && (
308
- <ToolbarGroup>
309
- <ToolbarItem>
310
- {(itemProps) => (
311
- <Button
312
- {...itemProps}
313
- isPressed={sel_pos.inner_items === "flex-start"}
314
- onClick={() =>
315
- props.onFlexChange("flex-start", "inner_items")
316
- } //親コンポーネントに通知
317
- icon={start_cross}
318
- label={cross_start_tip}
319
- />
320
- )}
321
- </ToolbarItem>
322
- <ToolbarItem>
323
- {(itemProps) => (
324
- <Button
325
- {...itemProps}
326
- isPressed={sel_pos.inner_items === "center"}
327
- onClick={() => props.onFlexChange("center", "inner_items")} //親コンポーネントに通知
328
- icon={center_cross}
329
- label={__("center alignment", "block-collections")}
330
- />
331
- )}
332
- </ToolbarItem>
333
- <ToolbarItem>
334
- {(itemProps) => (
335
- <Button
336
- {...itemProps}
337
- isPressed={sel_pos.inner_items === "flex-end"}
338
- onClick={() => props.onFlexChange("flex-end", "inner_items")} //親コンポーネントに通知
339
- icon={end_cross}
340
- label={cross_end_tip}
341
- />
342
- )}
343
- </ToolbarItem>
344
- <ToolbarItem>
345
- {(itemProps) => (
346
- <Button
347
- {...itemProps}
348
- isPressed={sel_pos.inner_items === "stretch"}
349
- onClick={() => props.onFlexChange("stretch", "inner_items")} //親コンポーネントに通知
350
- icon={stretch}
351
- label={__("beteen stretch", "block-collections")}
352
- />
353
- )}
354
- </ToolbarItem>
355
- </ToolbarGroup>
356
- )}
357
- {isContainer && (
358
- <>
359
- {isMobile ? (
360
- <p>{__("Alignment in container(Mobile)", "block-collections")}</p>
361
- ) : (
362
- <p>
363
- {__("Alignment in container(DeskTop)", "block-collections")}
364
- </p>
365
- )}
366
-
367
- <ToolbarGroup>
368
- <ToolbarItem>
369
- {(itemProps) => (
370
- <Button
371
- {...itemProps}
372
- isPressed={
373
- direction === "row"
374
- ? sel_pos.outer_vertical === "self-start"
375
- : sel_pos.outer_align === "left"
376
- }
377
- onClick={
378
- direction === "row"
379
- ? () => props.onVerticalChange("self-start")
380
- : () => props.onAlignChange("left")
381
- }
382
- icon={direction === "row" ? upper : justifyLeft}
383
- label={
384
- direction === "row"
385
- ? __("upper alignment", "block-collections")
386
- : __("left alignment", "block-collections")
387
- }
388
- />
389
- )}
390
- </ToolbarItem>
391
- <ToolbarItem>
392
- {(itemProps) => (
393
- <Button
394
- {...itemProps}
395
- isPressed={
396
- direction === "row"
397
- ? sel_pos.outer_vertical === "center"
398
- : sel_pos.outer_align === "center"
399
- }
400
- onClick={
401
- direction === "row"
402
- ? () => props.onVerticalChange("center")
403
- : () => props.onAlignChange("center")
404
- }
405
- icon={direction === "row" ? middle : justifyCenter}
406
- label={__("center alignment", "block-collections")}
407
- />
408
- )}
409
- </ToolbarItem>
410
- <ToolbarItem>
411
- {(itemProps) => (
412
- <Button
413
- {...itemProps}
414
- isPressed={
415
- direction === "row"
416
- ? sel_pos.outer_vertical === "self-end"
417
- : sel_pos.outer_align === "right"
418
- }
419
- onClick={
420
- direction === "row"
421
- ? () => props.onVerticalChange("self-end")
422
- : () => props.onAlignChange("right")
423
- }
424
- icon={direction === "row" ? lower : justifyRight}
425
- label={
426
- direction === "row"
427
- ? __("lower alignment", "block-collections")
428
- : __("right alignment", "block-collections")
429
- }
430
- />
431
- )}
432
- </ToolbarItem>
433
- <ToolbarItem>
434
- {(itemProps) => (
435
- <Button
436
- {...itemProps}
437
- isPressed={sel_pos.outer_vertical === "stretch"}
438
- onClick={
439
- direction === "row"
440
- ? () => props.onVerticalChange("stretch")
441
- : () => props.onAlignChange("stretch")
442
- }
443
- icon={direction === "row" ? vert_between : justifyStretch}
444
- label={__("stretch", "block-collections")}
445
- />
446
- )}
447
- </ToolbarItem>
448
- </ToolbarGroup>
449
- </>
450
- )}
451
-
452
- <BlockWidth
453
- attributes={attributes}
454
- isMobile={isMobile}
455
- isSubmenu={isSubmenu}
456
- onWidthChange={(key, widthVal) => props.onWidthChange(key, widthVal)}
457
- onFreeWidthChange={(key, freeVal) =>
458
- props.onFreeWidthChange(key, freeVal)
459
- }
460
- />
461
-
462
- {isFlexItem && (
463
- <PanelRow className="position_row">
464
- <TextControl
465
- label={__("grow", "block-collections")}
466
- labelPosition="left"
467
- value={sel_pos.flex?.grow}
468
- onChange={(newValue) => {
469
- const flexObj = {
470
- grow: newValue,
471
- shrink: sel_pos.flex?.shrink,
472
- basis: sel_pos.flex?.basis,
473
- };
474
- props.onFlexItemChange(flexObj);
475
- }}
476
- />
477
- <TextControl
478
- label={__("shrink", "block-collections")}
479
- labelPosition="left"
480
- value={sel_pos.flex?.shrink}
481
- onChange={(newValue) => {
482
- const flexObj = {
483
- grow: sel_pos.flex?.grow,
484
- shrink: newValue,
485
- basis: sel_pos.flex?.basis,
486
- };
487
- props.onFlexItemChange(flexObj);
488
- }}
489
- />
490
- <TextControl
491
- label={__("basis", "block-collections")}
492
- labelPosition="left"
493
- value={sel_pos.flex?.basis}
494
- onChange={(newValue) => {
495
- const flexObj = {
496
- grow: sel_pos.flex?.grow,
497
- shrink: sel_pos.flex?.shrink,
498
- basis: newValue,
499
- };
500
- props.onFlexItemChange(flexObj);
501
- }}
502
- />
503
- </PanelRow>
504
- )}
505
-
506
- <BlockHeight
507
- attributes={attributes}
508
- isMobile={isMobile}
509
- onHeightChange={(heightVal) => props.onHeightChange(heightVal)}
510
- onFreeHeightChange={(freeVal) => props.onFreeHeightChange(freeVal)}
511
- />
512
-
513
- {sel_pos.direction === "grid" && (
514
- <>
515
- {isMobile ? (
516
- <p>{__("Grid Info settings(Mobile)", "block-collections")}</p>
517
- ) : (
518
- <p>{__("Grid Info settings(DeskTop)", "block-collections")}</p>
519
- )}
520
- <Button variant="primary" onClick={openGridModal}>
521
- {__("Open Setting Modal", "block-collections")}
522
- </Button>
523
- {isGridModalOpen && (
524
- <Modal title="Grid Info settings" onRequestClose={closeGridModal}>
525
- <GridControls
526
- attributes={sel_pos.grid_info}
527
- clientId={clientId}
528
- onChange={(newValue) => {
529
- props.onGridChange(newValue);
530
- }}
531
- />
532
- </Modal>
533
- )}
534
- </>
535
- )}
536
- <div className="itmar_title_type">
537
- <RadioControl
538
- label={__("Position Type", "block-collections")}
539
- selected={positionType}
540
- options={[
541
- { label: __("Static", "block-collections"), value: "staic" },
542
- {
543
- label: __("Relative", "block-collections"),
544
- value: "relative",
545
- },
546
- {
547
- label: __("Absolute", "block-collections"),
548
- value: "absolute",
549
- },
550
- { label: __("Fix", "block-collections"), value: "fixed" },
551
- { label: __("Sticky", "block-collections"), value: "sticky" },
552
- ]}
553
- onChange={(newVal) => {
554
- props.onPositionChange(newVal);
555
- }}
556
- />
557
- </div>
558
- {positionType === "absolute" && !isParallax && (
559
- <ToggleControl
560
- label={__(
561
- "Center Vertically and Horizontally",
562
- "block-collections"
563
- )}
564
- checked={isPosCenter}
565
- onChange={(newVal) => {
566
- props.onIsPosCenterChange(newVal);
567
- }}
568
- />
569
- )}
570
- {((positionType === "absolute" && !isPosCenter) ||
571
- positionType === "fixed" ||
572
- positionType === "sticky") && (
573
- <>
574
- {isMobile ? (
575
- <p>{__("Block Position(Mobile)", "block-collections")}</p>
576
- ) : (
577
- <p>{__("Block Position(DeskTop)", "block-collections")}</p>
578
- )}
579
- <PanelBody
580
- title={__("Vertical", "block-collections")}
581
- initialOpen={true}
582
- >
583
- {!sel_pos.posValue?.isVertCenter && (
584
- <PanelRow className="position_row">
585
- <ComboboxControl
586
- options={[
587
- { value: "top", label: "Top" },
588
- { value: "bottom", label: "Bottom" },
589
- ]}
590
- value={sel_pos.posValue?.vertBase || "top"}
591
- onChange={(newValue) => {
592
- const newValObj = {
593
- ...(sel_pos.posValue || {}),
594
- vertBase: newValue,
595
- };
596
- props.onPosValueChange(newValObj);
597
- }}
598
- />
599
- <UnitControl
600
- dragDirection="e"
601
- onChange={(newValue) => {
602
- const newValObj = {
603
- ...(sel_pos.posValue || {}),
604
- vertValue: newValue,
605
- };
606
- props.onPosValueChange(newValObj);
607
- }}
608
- value={sel_pos.posValue?.vertValue || "3em"}
609
- />
610
- </PanelRow>
611
- )}
612
- {!isParallax && (
613
- <ToggleControl
614
- label={__("Is Center", "block-collections")}
615
- checked={sel_pos.posValue?.isVertCenter}
616
- onChange={(newValue) => {
617
- const newValObj = {
618
- ...(sel_pos.posValue || {}),
619
- isVertCenter: newValue,
620
- };
621
- props.onPosValueChange(newValObj);
622
- }}
623
- />
624
- )}
625
- </PanelBody>
626
-
627
- <PanelBody
628
- title={__("Horizon", "block-collections")}
629
- initialOpen={true}
630
- >
631
- {!sel_pos.posValue?.isHorCenter && (
632
- <PanelRow className="position_row">
633
- <ComboboxControl
634
- options={[
635
- { value: "left", label: "Left" },
636
- { value: "right", label: "Right" },
637
- ]}
638
- value={sel_pos.posValue?.horBase || "left"}
639
- onChange={(newValue) => {
640
- const newValObj = {
641
- ...(sel_pos.posValue || {}),
642
- horBase: newValue,
643
- };
644
- props.onPosValueChange(newValObj);
645
- }}
646
- />
647
- <UnitControl
648
- dragDirection="e"
649
- onChange={(newValue) => {
650
- const newValObj = {
651
- ...(sel_pos.posValue || {}),
652
- horValue: newValue,
653
- };
654
- props.onPosValueChange(newValObj);
655
- }}
656
- value={sel_pos.posValue?.horValue || "3em"}
657
- />
658
- </PanelRow>
659
- )}
660
- {!isParallax && (
661
- <ToggleControl
662
- label={__("Is Center", "block-collections")}
663
- checked={sel_pos.posValue?.isHorCenter}
664
- onChange={(newValue) => {
665
- const newValObj = {
666
- ...(sel_pos.posValue || {}),
667
- isHorCenter: newValue,
668
- };
669
- props.onPosValueChange(newValObj);
670
- }}
671
- />
672
- )}
673
- </PanelBody>
674
- </>
675
- )}
676
- </PanelBody>
677
- </>
678
- );
679
- }
680
-
681
- export function BlockWidth(props) {
682
- const { attributes, isMobile, flexDirection, isSubmenu } = props;
683
- const { default_val, mobile_val } = attributes;
684
-
685
- //モバイルかデスクトップか
686
- const sel_pos = isMobile ? mobile_val : default_val;
687
-
688
- // 翻訳が必要な文字列を直接指定
689
- const blockMaxWidthMobile = __(
690
- "Block Max Width(Mobile)",
691
- "block-collections"
692
- );
693
- const blockWidthMobile = __("Block Width(Mobile)", "block-collections");
694
- const blockMaxWidthDesktop = __(
695
- "Block Max Width(DeskTop)",
696
- "block-collections"
697
- );
698
- const blockWidthDesktop = __("Block Width(DeskTop)", "block-collections");
699
-
700
- // ラベル
701
- const widthLabel = isMobile ? blockWidthMobile : blockWidthDesktop;
702
- const maxWidthLabel = isMobile ? blockMaxWidthMobile : blockMaxWidthDesktop;
703
- return (
704
- <>
705
- <p>{widthLabel}</p>
706
- <ToolbarGroup>
707
- <ToolbarItem>
708
- {(itemProps) => (
709
- <Button
710
- {...itemProps}
711
- isPressed={sel_pos.width_val === "full"}
712
- onClick={() => props.onWidthChange("width_val", "full")}
713
- text="full"
714
- />
715
- )}
716
- </ToolbarItem>
717
- <ToolbarItem>
718
- {(itemProps) => (
719
- <Button
720
- {...itemProps}
721
- isPressed={sel_pos.width_val === "fit"}
722
- onClick={() => props.onWidthChange("width_val", "fit")}
723
- text="fit"
724
- />
725
- )}
726
- </ToolbarItem>
727
- <ToolbarItem>
728
- {(itemProps) => (
729
- <Button
730
- {...itemProps}
731
- isPressed={sel_pos.width_val === "wideSize"}
732
- onClick={() => props.onWidthChange("width_val", "wideSize")}
733
- icon={stretchWide}
734
- label={__("Wide Size", "block-collections")}
735
- />
736
- )}
737
- </ToolbarItem>
738
- <ToolbarItem>
739
- {(itemProps) => (
740
- <Button
741
- {...itemProps}
742
- isPressed={sel_pos.width_val === "contentSize"}
743
- onClick={() => props.onWidthChange("width_val", "contentSize")}
744
- icon={positionCenter}
745
- label={__("Content Size", "block-collections")}
746
- />
747
- )}
748
- </ToolbarItem>
749
- <ToolbarItem>
750
- {(itemProps) => (
751
- <Button
752
- {...itemProps}
753
- isPressed={sel_pos.width_val === "free"}
754
- onClick={() => props.onWidthChange("width_val", "free")}
755
- text="free"
756
- />
757
- )}
758
- </ToolbarItem>
759
- </ToolbarGroup>
760
-
761
- {sel_pos.width_val === "free" && (
762
- <UnitControl
763
- dragDirection="e"
764
- onChange={(newValue) =>
765
- props.onFreeWidthChange("free_width", newValue)
766
- }
767
- value={sel_pos.free_width}
768
- />
769
- )}
770
- <p>{maxWidthLabel}</p>
771
- <ToolbarGroup>
772
- <ToolbarItem>
773
- {(itemProps) => (
774
- <Button
775
- {...itemProps}
776
- isPressed={sel_pos.max_width === "full"}
777
- onClick={() => props.onWidthChange("max_width", "full")}
778
- text="full"
779
- />
780
- )}
781
- </ToolbarItem>
782
- <ToolbarItem>
783
- {(itemProps) => (
784
- <Button
785
- {...itemProps}
786
- isPressed={sel_pos.max_width === "fit"}
787
- onClick={() => props.onWidthChange("max_width", "fit")}
788
- text="fit"
789
- />
790
- )}
791
- </ToolbarItem>
792
- <ToolbarItem>
793
- {(itemProps) => (
794
- <Button
795
- {...itemProps}
796
- isPressed={sel_pos.max_width === "wideSize"}
797
- onClick={() => props.onWidthChange("max_width", "wideSize")}
798
- icon={stretchWide}
799
- label={__("Wide Size", "block-collections")}
800
- />
801
- )}
802
- </ToolbarItem>
803
- <ToolbarItem>
804
- {(itemProps) => (
805
- <Button
806
- {...itemProps}
807
- isPressed={sel_pos.max_width === "contentSize"}
808
- onClick={() => props.onWidthChange("max_width", "contentSize")}
809
- icon={positionCenter}
810
- label={__("Content Size", "block-collections")}
811
- />
812
- )}
813
- </ToolbarItem>
814
- <ToolbarItem>
815
- {(itemProps) => (
816
- <Button
817
- {...itemProps}
818
- isPressed={sel_pos.max_width === "free"}
819
- onClick={() => props.onWidthChange("max_width", "free")}
820
- text="free"
821
- />
822
- )}
823
- </ToolbarItem>
824
- </ToolbarGroup>
825
-
826
- {sel_pos.max_width === "free" && (
827
- <UnitControl
828
- dragDirection="e"
829
- onChange={(newValue) =>
830
- props.onFreeWidthChange("max_free_width", newValue)
831
- }
832
- value={sel_pos.max_free_width}
833
- />
834
- )}
835
- </>
836
- );
837
- }
838
-
839
- export function BlockHeight(props) {
840
- const { attributes, isMobile } = props;
841
- const { default_val, mobile_val } = attributes;
842
-
843
- //モバイルかデスクトップか
844
- const sel_pos = isMobile ? mobile_val : default_val;
845
-
846
- return (
847
- <>
848
- {isMobile ? (
849
- <p>{__("Block Height(Mobile)", "block-collections")}</p>
850
- ) : (
851
- <p>{__("Block Height(DeskTop)", "block-collections")}</p>
852
- )}
853
- <ToolbarGroup>
854
- <ToolbarItem>
855
- {(itemProps) => (
856
- <Button
857
- {...itemProps}
858
- isPressed={sel_pos.height_val === "full"}
859
- onClick={() => props.onHeightChange("full")}
860
- text="full"
861
- />
862
- )}
863
- </ToolbarItem>
864
- <ToolbarItem>
865
- {(itemProps) => (
866
- <Button
867
- {...itemProps}
868
- isPressed={sel_pos.height_val === "fit"}
869
- onClick={() => props.onHeightChange("fit")}
870
- text="fit"
871
- />
872
- )}
873
- </ToolbarItem>
874
- <ToolbarItem>
875
- {(itemProps) => (
876
- <Button
877
- {...itemProps}
878
- isPressed={sel_pos.height_val === "free"}
879
- onClick={() => props.onHeightChange("free")}
880
- text="free"
881
- />
882
- )}
883
- </ToolbarItem>
884
- <ToolbarItem>
885
- {(itemProps) => (
886
- <Button
887
- {...itemProps}
888
- isPressed={sel_pos.height_val === "auto"}
889
- onClick={() => props.onHeightChange("auto")}
890
- text="auto"
891
- />
892
- )}
893
- </ToolbarItem>
894
- </ToolbarGroup>
895
- {sel_pos.height_val === "free" && (
896
- <UnitControl
897
- dragDirection="e"
898
- onChange={(newValue) => props.onFreeHeightChange(newValue)}
899
- value={sel_pos.free_height}
900
- />
901
- )}
902
- </>
903
- );
904
- }