itmar-block-packages 1.10.1 → 2.0.1

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 +1445 -1369
  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 +120 -125
  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 -707
  157. package/webpack.config.js +0 -10
@@ -0,0 +1,448 @@
1
+ import { objectSpread2 as _objectSpread2 } from './_virtual/_rollupPluginBabelHelpers.js';
2
+ import { __ } from '@wordpress/i18n';
3
+ import { __experimentalPanelColorGradientSettings } from '@wordpress/block-editor';
4
+ import { PanelBody, RadioControl, RangeControl, PanelRow, ToggleControl } from '@wordpress/components';
5
+ import { useState, useEffect } from '@wordpress/element';
6
+ import { dispatch } from '@wordpress/data';
7
+ import { rgb16ToHsl, hslToRgb16, HexToRGB } from './hslToRgb.js';
8
+
9
+ //方向と距離
10
+ var dirctionDigit = (direction, distance) => {
11
+ var destTopLeft, destTopRight, destBottomLeft, destBottomRight;
12
+ switch (direction) {
13
+ case "top_left":
14
+ destTopLeft = distance;
15
+ destTopRight = distance;
16
+ destBottomLeft = distance * -1;
17
+ destBottomRight = distance * -1;
18
+ break;
19
+ case "top_right":
20
+ destTopLeft = distance * -1;
21
+ destTopRight = distance;
22
+ destBottomLeft = distance;
23
+ destBottomRight = distance * -1;
24
+ break;
25
+ case "bottom_left":
26
+ destTopLeft = distance;
27
+ destTopRight = distance * -1;
28
+ destBottomLeft = distance * -1;
29
+ destBottomRight = distance;
30
+ break;
31
+ case "bottom_right":
32
+ destTopLeft = distance * -1;
33
+ destTopRight = distance * -1;
34
+ destBottomLeft = distance;
35
+ destBottomRight = distance;
36
+ break;
37
+ case "right_bottom":
38
+ destTopLeft = distance;
39
+ destTopRight = distance * -1;
40
+ destBottomLeft = distance * -1;
41
+ destBottomRight = distance;
42
+ break;
43
+ case "top":
44
+ destTopLeft = 0;
45
+ destTopRight = 0;
46
+ destBottomLeft = distance * -1;
47
+ destBottomRight = distance;
48
+ break;
49
+ }
50
+ return {
51
+ topLeft: destTopLeft,
52
+ topRight: destTopRight,
53
+ bottomLeft: destBottomLeft,
54
+ bottmRight: destBottomRight
55
+ };
56
+ };
57
+
58
+ // グラデーションの色値は通常'linear-gradient'または'radial-gradient'で始まるので、
59
+ // これらのキーワードを探すことでグラデーションかどうかを判断します。
60
+ function isGradient(colorValue) {
61
+ return colorValue.includes("linear-gradient") || colorValue.includes("radial-gradient");
62
+ }
63
+ var ShadowElm = shadowState => {
64
+ //let baseColor;
65
+ var {
66
+ shadowType,
67
+ spread,
68
+ lateral,
69
+ longitude,
70
+ nomalBlur,
71
+ shadowColor,
72
+ blur,
73
+ intensity,
74
+ distance,
75
+ newDirection,
76
+ clayDirection,
77
+ embos,
78
+ opacity,
79
+ depth,
80
+ bdBlur,
81
+ expand,
82
+ glassblur,
83
+ glassopa,
84
+ hasOutline,
85
+ baseColor
86
+ } = shadowState;
87
+
88
+ //ノーマル
89
+ if (shadowType === "nomal") {
90
+ //boxshadowの生成
91
+ var _ShadowStyle = embos === "dent" ? {
92
+ style: {
93
+ boxShadow: "".concat(lateral, "px ").concat(longitude, "px ").concat(nomalBlur, "px ").concat(spread, "px transparent, inset ").concat(lateral, "px ").concat(longitude, "px ").concat(nomalBlur, "px ").concat(spread, "px ").concat(shadowColor)
94
+ }
95
+ } : {
96
+ style: {
97
+ boxShadow: "".concat(lateral, "px ").concat(longitude, "px ").concat(nomalBlur, "px ").concat(spread, "px ").concat(shadowColor, ", inset ").concat(lateral, "px ").concat(longitude, "px ").concat(nomalBlur, "px ").concat(spread, "px transparent")
98
+ }
99
+ };
100
+ //Shadowのスタイルを返す
101
+ return _ShadowStyle;
102
+ }
103
+ //ニューモフィズム
104
+ else if (shadowType === "newmor") {
105
+ //背景がグラデーションのときはセットしない
106
+ if (isGradient(baseColor)) {
107
+ dispatch("core/notices").createNotice("error", __("Neumorphism cannot be set when the background color is a gradient. ", "itmar_guest_contact_block"), {
108
+ type: "snackbar",
109
+ isDismissible: true
110
+ });
111
+ return null;
112
+ }
113
+ //ボタン背景色のHSL値
114
+ var hslValue = rgb16ToHsl(baseColor);
115
+ //影の明るさを変更
116
+ var lightVal = hslValue.lightness + intensity < 100 ? hslValue.lightness + intensity : 100;
117
+ var darkVal = hslValue.lightness - intensity > 0 ? hslValue.lightness - intensity : 0;
118
+ var lightValue = hslToRgb16(hslValue.hue, hslValue.saturation, lightVal);
119
+ var darkValue = hslToRgb16(hslValue.hue, hslValue.saturation, darkVal);
120
+ //boxshadowの生成
121
+ //立体の方向
122
+ var dircObj = dirctionDigit(newDirection, distance);
123
+ var baseStyle = {
124
+ style: {
125
+ border: "none",
126
+ background: baseColor
127
+ }
128
+ };
129
+ var newmorStyle = embos === "swell" ? {
130
+ style: _objectSpread2(_objectSpread2({}, baseStyle.style), {}, {
131
+ boxShadow: "".concat(dircObj.topLeft, "px ").concat(dircObj.topRight, "px ").concat(blur, "px ").concat(darkValue, ", ").concat(dircObj.bottomLeft, "px ").concat(dircObj.bottmRight, "px ").concat(blur, "px ").concat(lightValue, ", inset ").concat(dircObj.topLeft, "px ").concat(dircObj.topRight, "px ").concat(blur, "px transparent, inset ").concat(dircObj.bottomLeft, "px ").concat(dircObj.bottmRight, "px ").concat(blur, "px transparent")
132
+ })
133
+ } : {
134
+ style: _objectSpread2(_objectSpread2({}, baseStyle.style), {}, {
135
+ boxShadow: "".concat(dircObj.topLeft, "px ").concat(dircObj.topRight, "px ").concat(blur, "px transparent, ").concat(dircObj.bottomLeft, "px ").concat(dircObj.bottmRight, "px ").concat(blur, "px transparent, inset ").concat(dircObj.topLeft, "px ").concat(dircObj.topRight, "px ").concat(blur, "px ").concat(darkValue, ", inset ").concat(dircObj.bottomLeft, "px ").concat(dircObj.bottmRight, "px ").concat(blur, "px ").concat(lightValue)
136
+ })
137
+ };
138
+
139
+ //Shadowのスタイルを返す
140
+ return newmorStyle;
141
+ }
142
+
143
+ //クレイモーフィズム
144
+ else if (shadowType === "claymor") {
145
+ //背景がグラデーションのときはセットしない
146
+ if (isGradient(baseColor)) {
147
+ dispatch("core/notices").createNotice("error", __("claymorphism cannot be set when the background color is a gradient. ", "itmar_guest_contact_block"), {
148
+ type: "snackbar",
149
+ isDismissible: true
150
+ });
151
+ return null;
152
+ }
153
+ var rgbValue = HexToRGB(baseColor);
154
+ var outsetObj = dirctionDigit(clayDirection, expand);
155
+ var insetObj = dirctionDigit(clayDirection, depth);
156
+ var _baseStyle = {
157
+ style: {
158
+ background: "rgba(255, 255, 255, ".concat(opacity, ")"),
159
+ backdropFilter: "blur(".concat(bdBlur, "px)"),
160
+ border: "none"
161
+ }
162
+ };
163
+ var claymorStyle = _objectSpread2(_objectSpread2({}, _baseStyle), {}, {
164
+ style: _objectSpread2(_objectSpread2({}, _baseStyle.style), {}, {
165
+ boxShadow: "".concat(outsetObj.topLeft, "px ").concat(outsetObj.bottmRight, "px ").concat(expand * 2, "px 0px rgba(").concat(rgbValue.red, ", ").concat(rgbValue.green, ", ").concat(rgbValue.blue, ", 0.5), inset ").concat(insetObj.topRight, "px ").concat(insetObj.bottomLeft, "px 16px 0px rgba(").concat(rgbValue.red, ", ").concat(rgbValue.green, ", ").concat(rgbValue.blue, ", 0.6), inset 0px 11px 28px 0px rgb(255, 255, 255)")
166
+ })
167
+ });
168
+ //attributesに保存
169
+ return claymorStyle;
170
+ }
171
+
172
+ //グラスモーフィズム
173
+ else if (shadowType === "glassmor") {
174
+ var _baseStyle2 = {
175
+ style: _objectSpread2(_objectSpread2({
176
+ backgroundColor: "rgba(255, 255, 255, ".concat(glassopa, ")")
177
+ }, hasOutline ? {
178
+ border: "1px solid rgba(255, 255, 255, 0.4)"
179
+ } : {}), {}, {
180
+ borderRightColor: "rgba(255, 255, 255, 0.2)",
181
+ borderBottomColor: "rgba(255, 255, 255, 0.2)",
182
+ backdropFilter: "blur( ".concat(glassblur, "px )")
183
+ })
184
+ };
185
+ var glassmorStyle = embos === "swell" ? _objectSpread2(_objectSpread2({}, _baseStyle2), {}, {
186
+ style: _objectSpread2(_objectSpread2({}, _baseStyle2.style), {}, {
187
+ boxShadow: "0 8px 12px 0 rgba( 31, 38, 135, 0.37 ), inset 0 8px 12px 0 transparent"
188
+ })
189
+ }) : _objectSpread2(_objectSpread2({}, _baseStyle2), {}, {
190
+ style: _objectSpread2(_objectSpread2({}, _baseStyle2.style), {}, {
191
+ boxShadow: "0 8px 12px 0 transparent, inset 0 8px 12px 0 rgba( 31, 38, 135, 0.37 )"
192
+ })
193
+ });
194
+
195
+ //attributesに保存
196
+ return glassmorStyle;
197
+ }
198
+ };
199
+ var ShadowStyle = _ref => {
200
+ var {
201
+ shadowStyle,
202
+ onChange
203
+ } = _ref;
204
+ var [shadowState, setShadowState] = useState(shadowStyle);
205
+ var {
206
+ shadowType,
207
+ spread,
208
+ lateral,
209
+ longitude,
210
+ nomalBlur,
211
+ shadowColor,
212
+ blur,
213
+ intensity,
214
+ distance,
215
+ newDirection,
216
+ clayDirection,
217
+ embos,
218
+ opacity,
219
+ depth,
220
+ bdBlur,
221
+ expand,
222
+ glassblur,
223
+ glassopa,
224
+ hasOutline
225
+ } = shadowState;
226
+
227
+ //シャドーのスタイル変更と背景色変更に伴う親コンポーネントの変更
228
+ useEffect(() => {
229
+ var shadowElm = ShadowElm(shadowState);
230
+ if (shadowElm) onChange(shadowElm, shadowState);
231
+ }, [shadowState]);
232
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PanelBody, {
233
+ title: __("Shadow Type", "block-collections"),
234
+ initialOpen: true
235
+ }, /*#__PURE__*/React.createElement("div", {
236
+ className: "itmar_shadow_type"
237
+ }, /*#__PURE__*/React.createElement(RadioControl, {
238
+ selected: shadowType,
239
+ options: [{
240
+ label: __("Nomal", "block-collections"),
241
+ value: "nomal"
242
+ }, {
243
+ label: __("Neumorphism", "block-collections"),
244
+ value: "newmor"
245
+ }, {
246
+ label: __("Claymorphism", "block-collections"),
247
+ value: "claymor"
248
+ }, {
249
+ label: __("Grassmophism", "block-collections"),
250
+ value: "glassmor"
251
+ }],
252
+ onChange: changeOption => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
253
+ shadowType: changeOption
254
+ }))
255
+ })), shadowType !== "claymor" && /*#__PURE__*/React.createElement("div", {
256
+ className: "embos"
257
+ }, /*#__PURE__*/React.createElement(RadioControl, {
258
+ label: __("unevenness", "block-collections"),
259
+ selected: embos,
260
+ options: [{
261
+ value: "swell"
262
+ }, {
263
+ value: "dent"
264
+ }],
265
+ onChange: changeOption => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
266
+ embos: changeOption
267
+ }))
268
+ }))), shadowType === "nomal" && /*#__PURE__*/React.createElement(PanelBody, {
269
+ title: __("Nomal settings", "block-collections"),
270
+ initialOpen: false
271
+ }, /*#__PURE__*/React.createElement(RangeControl, {
272
+ value: spread,
273
+ label: __("Spread", "block-collections"),
274
+ max: 50,
275
+ min: 0,
276
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
277
+ spread: val
278
+ })),
279
+ withInputField: false
280
+ }), /*#__PURE__*/React.createElement(RangeControl, {
281
+ value: lateral,
282
+ label: __("Lateral direction", "block-collections"),
283
+ max: 50,
284
+ min: 0,
285
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
286
+ lateral: val
287
+ })),
288
+ withInputField: false
289
+ }), /*#__PURE__*/React.createElement(RangeControl, {
290
+ value: longitude,
291
+ label: __("Longitudinal direction", "block-collections"),
292
+ max: 50,
293
+ min: 0,
294
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
295
+ longitude: val
296
+ })),
297
+ withInputField: false
298
+ }), /*#__PURE__*/React.createElement(RangeControl, {
299
+ value: nomalBlur,
300
+ label: __("Blur", "block-collections"),
301
+ max: 20,
302
+ min: 0,
303
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
304
+ nomalBlur: val
305
+ })),
306
+ withInputField: false
307
+ }), /*#__PURE__*/React.createElement(__experimentalPanelColorGradientSettings, {
308
+ title: __("Shadow Color Setting", "block-collections"),
309
+ settings: [{
310
+ colorValue: shadowColor,
311
+ label: __("Choose Shadow color", "block-collections"),
312
+ onColorChange: newValue => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
313
+ shadowColor: newValue
314
+ }))
315
+ }]
316
+ })), shadowType === "newmor" && /*#__PURE__*/React.createElement(PanelBody, {
317
+ title: __("Neumorphism settings", "block-collections"),
318
+ initialOpen: false
319
+ }, /*#__PURE__*/React.createElement(RangeControl, {
320
+ value: distance,
321
+ label: __("Distance", "block-collections"),
322
+ max: 50,
323
+ min: 0,
324
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
325
+ distance: val
326
+ })),
327
+ withInputField: false
328
+ }), /*#__PURE__*/React.createElement(RangeControl, {
329
+ value: intensity,
330
+ label: __("Intensity", "block-collections"),
331
+ max: 100,
332
+ min: 0,
333
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
334
+ intensity: val
335
+ })),
336
+ withInputField: false
337
+ }), /*#__PURE__*/React.createElement(RangeControl, {
338
+ value: blur,
339
+ label: __("Blur", "block-collections"),
340
+ max: 20,
341
+ min: 0,
342
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
343
+ blur: val
344
+ })),
345
+ withInputField: false
346
+ }), /*#__PURE__*/React.createElement(PanelRow, null, /*#__PURE__*/React.createElement("div", {
347
+ className: "light_direction"
348
+ }, /*#__PURE__*/React.createElement(RadioControl, {
349
+ selected: newDirection,
350
+ options: [{
351
+ value: "top_left"
352
+ }, {
353
+ value: "top_right"
354
+ }, {
355
+ value: "bottom_left"
356
+ }, {
357
+ value: "bottom_right"
358
+ }],
359
+ onChange: changeOption => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
360
+ newDirection: changeOption
361
+ }))
362
+ })))), shadowType === "claymor" && /*#__PURE__*/React.createElement(PanelBody, {
363
+ title: __("Claymorphism settings", "block-collections"),
364
+ initialOpen: false
365
+ }, /*#__PURE__*/React.createElement(RangeControl, {
366
+ value: opacity,
367
+ label: __("Opacity", "block-collections"),
368
+ max: 1,
369
+ min: 0,
370
+ step: 0.1,
371
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
372
+ opacity: val
373
+ })),
374
+ withInputField: false
375
+ }), /*#__PURE__*/React.createElement(RangeControl, {
376
+ value: depth,
377
+ label: "Depth",
378
+ max: 20,
379
+ min: 0,
380
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
381
+ depth: val
382
+ })),
383
+ withInputField: false
384
+ }), /*#__PURE__*/React.createElement(RangeControl, {
385
+ value: expand,
386
+ label: "Expand",
387
+ max: 50,
388
+ min: 0,
389
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
390
+ expand: val
391
+ })),
392
+ withInputField: false
393
+ }), /*#__PURE__*/React.createElement(RangeControl, {
394
+ value: bdBlur,
395
+ label: "Background Blur",
396
+ max: 10,
397
+ min: 0,
398
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
399
+ bdBlur: val
400
+ })),
401
+ withInputField: false
402
+ }), /*#__PURE__*/React.createElement("div", {
403
+ className: "light_direction claymor"
404
+ }, /*#__PURE__*/React.createElement(RadioControl, {
405
+ selected: clayDirection,
406
+ options: [{
407
+ value: "right_bottom"
408
+ }, {
409
+ value: "top_right"
410
+ }, {
411
+ value: "top"
412
+ }],
413
+ onChange: changeOption => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
414
+ clayDirection: changeOption
415
+ }))
416
+ }))), shadowType === "glassmor" && /*#__PURE__*/React.createElement(PanelBody, {
417
+ title: __("Grassmophism settings", "block-collections"),
418
+ initialOpen: false
419
+ }, /*#__PURE__*/React.createElement(RangeControl, {
420
+ value: glassblur,
421
+ label: __("Glass blur", "block-collections"),
422
+ max: 20,
423
+ min: 0,
424
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
425
+ glassblur: val
426
+ })),
427
+ withInputField: false
428
+ }), /*#__PURE__*/React.createElement(RangeControl, {
429
+ value: glassopa,
430
+ label: __("Glass Opacity", "block-collections"),
431
+ max: 1,
432
+ min: 0,
433
+ step: 0.1,
434
+ onChange: val => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
435
+ glassopa: val
436
+ })),
437
+ withInputField: false
438
+ }), /*#__PURE__*/React.createElement("fieldset", null, /*#__PURE__*/React.createElement(ToggleControl, {
439
+ label: __("Show outline", "block-collections"),
440
+ checked: hasOutline,
441
+ onChange: () => setShadowState(_objectSpread2(_objectSpread2({}, shadowState), {}, {
442
+ hasOutline: !hasOutline
443
+ }))
444
+ }))));
445
+ };
446
+
447
+ export { ShadowElm, ShadowStyle as default };
448
+ //# sourceMappingURL=ShadowStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShadowStyle.js","sources":["../../src/ShadowStyle.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { __experimentalPanelColorGradientSettings as PanelColorGradientSettings } from \"@wordpress/block-editor\";\nimport {\n PanelBody,\n PanelRow,\n ToggleControl,\n RangeControl,\n RadioControl,\n} from \"@wordpress/components\";\nimport { useState, useEffect } from \"@wordpress/element\";\nimport { dispatch } from \"@wordpress/data\";\nimport { hslToRgb16, HexToRGB, rgb16ToHsl } from \"./hslToRgb\";\n\n//方向と距離\nconst dirctionDigit = (direction, distance) => {\n let destTopLeft, destTopRight, destBottomLeft, destBottomRight;\n switch (direction) {\n case \"top_left\":\n destTopLeft = distance;\n destTopRight = distance;\n destBottomLeft = distance * -1;\n destBottomRight = distance * -1;\n break;\n case \"top_right\":\n destTopLeft = distance * -1;\n destTopRight = distance;\n destBottomLeft = distance;\n destBottomRight = distance * -1;\n break;\n case \"bottom_left\":\n destTopLeft = distance;\n destTopRight = distance * -1;\n destBottomLeft = distance * -1;\n destBottomRight = distance;\n break;\n case \"bottom_right\":\n destTopLeft = distance * -1;\n destTopRight = distance * -1;\n destBottomLeft = distance;\n destBottomRight = distance;\n break;\n case \"right_bottom\":\n destTopLeft = distance;\n destTopRight = distance * -1;\n destBottomLeft = distance * -1;\n destBottomRight = distance;\n break;\n case \"top\":\n destTopLeft = 0;\n destTopRight = 0;\n destBottomLeft = distance * -1;\n destBottomRight = distance;\n break;\n }\n return {\n topLeft: destTopLeft,\n topRight: destTopRight,\n bottomLeft: destBottomLeft,\n bottmRight: destBottomRight,\n };\n};\n\n// グラデーションの色値は通常'linear-gradient'または'radial-gradient'で始まるので、\n// これらのキーワードを探すことでグラデーションかどうかを判断します。\nfunction isGradient(colorValue) {\n return (\n colorValue.includes(\"linear-gradient\") ||\n colorValue.includes(\"radial-gradient\")\n );\n}\n\nexport const ShadowElm = (shadowState) => {\n //let baseColor;\n const {\n shadowType,\n spread,\n lateral,\n longitude,\n nomalBlur,\n shadowColor,\n blur,\n intensity,\n distance,\n newDirection,\n clayDirection,\n embos,\n opacity,\n depth,\n bdBlur,\n expand,\n glassblur,\n glassopa,\n hasOutline,\n baseColor,\n } = shadowState;\n\n //ノーマル\n if (shadowType === \"nomal\") {\n //boxshadowの生成\n const ShadowStyle =\n embos === \"dent\"\n ? {\n style: {\n boxShadow: `${lateral}px ${longitude}px ${nomalBlur}px ${spread}px transparent, inset ${lateral}px ${longitude}px ${nomalBlur}px ${spread}px ${shadowColor}`,\n },\n }\n : {\n style: {\n boxShadow: `${lateral}px ${longitude}px ${nomalBlur}px ${spread}px ${shadowColor}, inset ${lateral}px ${longitude}px ${nomalBlur}px ${spread}px transparent`,\n },\n };\n //Shadowのスタイルを返す\n return ShadowStyle;\n }\n //ニューモフィズム\n else if (shadowType === \"newmor\") {\n //背景がグラデーションのときはセットしない\n if (isGradient(baseColor)) {\n dispatch(\"core/notices\").createNotice(\n \"error\",\n __(\n \"Neumorphism cannot be set when the background color is a gradient. \",\n \"itmar_guest_contact_block\"\n ),\n { type: \"snackbar\", isDismissible: true }\n );\n return null;\n }\n //ボタン背景色のHSL値\n const hslValue = rgb16ToHsl(baseColor);\n //影の明るさを変更\n const lightVal =\n hslValue.lightness + intensity < 100\n ? hslValue.lightness + intensity\n : 100;\n const darkVal =\n hslValue.lightness - intensity > 0 ? hslValue.lightness - intensity : 0;\n const lightValue = hslToRgb16(hslValue.hue, hslValue.saturation, lightVal);\n const darkValue = hslToRgb16(hslValue.hue, hslValue.saturation, darkVal);\n //boxshadowの生成\n //立体の方向\n const dircObj = dirctionDigit(newDirection, distance);\n\n const baseStyle = {\n style: {\n border: \"none\",\n background: baseColor,\n },\n };\n\n const newmorStyle =\n embos === \"swell\"\n ? {\n style: {\n ...baseStyle.style,\n boxShadow: `${dircObj.topLeft}px ${dircObj.topRight}px ${blur}px ${darkValue}, ${dircObj.bottomLeft}px ${dircObj.bottmRight}px ${blur}px ${lightValue}, inset ${dircObj.topLeft}px ${dircObj.topRight}px ${blur}px transparent, inset ${dircObj.bottomLeft}px ${dircObj.bottmRight}px ${blur}px transparent`,\n },\n }\n : {\n style: {\n ...baseStyle.style,\n boxShadow: `${dircObj.topLeft}px ${dircObj.topRight}px ${blur}px transparent, ${dircObj.bottomLeft}px ${dircObj.bottmRight}px ${blur}px transparent, inset ${dircObj.topLeft}px ${dircObj.topRight}px ${blur}px ${darkValue}, inset ${dircObj.bottomLeft}px ${dircObj.bottmRight}px ${blur}px ${lightValue}`,\n },\n };\n\n //Shadowのスタイルを返す\n return newmorStyle;\n }\n\n //クレイモーフィズム\n else if (shadowType === \"claymor\") {\n //背景がグラデーションのときはセットしない\n if (isGradient(baseColor)) {\n dispatch(\"core/notices\").createNotice(\n \"error\",\n __(\n \"claymorphism cannot be set when the background color is a gradient. \",\n \"itmar_guest_contact_block\"\n ),\n { type: \"snackbar\", isDismissible: true }\n );\n return null;\n }\n const rgbValue = HexToRGB(baseColor);\n const outsetObj = dirctionDigit(clayDirection, expand);\n const insetObj = dirctionDigit(clayDirection, depth);\n const baseStyle = {\n style: {\n background: `rgba(255, 255, 255, ${opacity})`,\n backdropFilter: `blur(${bdBlur}px)`,\n border: \"none\",\n },\n };\n const claymorStyle = {\n ...baseStyle,\n style: {\n ...baseStyle.style,\n boxShadow: `${outsetObj.topLeft}px ${outsetObj.bottmRight}px ${\n expand * 2\n }px 0px rgba(${rgbValue.red}, ${rgbValue.green}, ${\n rgbValue.blue\n }, 0.5), inset ${insetObj.topRight}px ${\n insetObj.bottomLeft\n }px 16px 0px rgba(${rgbValue.red}, ${rgbValue.green}, ${\n rgbValue.blue\n }, 0.6), inset 0px 11px 28px 0px rgb(255, 255, 255)`,\n },\n };\n //attributesに保存\n return claymorStyle;\n }\n\n //グラスモーフィズム\n else if (shadowType === \"glassmor\") {\n const baseStyle = {\n style: {\n backgroundColor: `rgba(255, 255, 255, ${glassopa})`,\n ...(hasOutline ? { border: `1px solid rgba(255, 255, 255, 0.4)` } : {}),\n borderRightColor: `rgba(255, 255, 255, 0.2)`,\n borderBottomColor: `rgba(255, 255, 255, 0.2)`,\n backdropFilter: `blur( ${glassblur}px )`,\n },\n };\n const glassmorStyle =\n embos === \"swell\"\n ? {\n ...baseStyle,\n style: {\n ...baseStyle.style,\n boxShadow: `0 8px 12px 0 rgba( 31, 38, 135, 0.37 ), inset 0 8px 12px 0 transparent`,\n },\n }\n : {\n ...baseStyle,\n style: {\n ...baseStyle.style,\n boxShadow: `0 8px 12px 0 transparent, inset 0 8px 12px 0 rgba( 31, 38, 135, 0.37 )`,\n },\n };\n\n //attributesに保存\n return glassmorStyle;\n }\n};\n\nconst ShadowStyle = ({ shadowStyle, onChange }) => {\n const [shadowState, setShadowState] = useState(shadowStyle);\n\n const {\n shadowType,\n spread,\n lateral,\n longitude,\n nomalBlur,\n shadowColor,\n blur,\n intensity,\n distance,\n newDirection,\n clayDirection,\n embos,\n opacity,\n depth,\n bdBlur,\n expand,\n glassblur,\n glassopa,\n hasOutline,\n } = shadowState;\n\n //シャドーのスタイル変更と背景色変更に伴う親コンポーネントの変更\n useEffect(() => {\n const shadowElm = ShadowElm(shadowState);\n if (shadowElm) onChange(shadowElm, shadowState);\n }, [shadowState]);\n\n return (\n <>\n <PanelBody\n title={__(\"Shadow Type\", \"block-collections\")}\n initialOpen={true}\n >\n <div className=\"itmar_shadow_type\">\n <RadioControl\n selected={shadowType}\n options={[\n { label: __(\"Nomal\", \"block-collections\"), value: \"nomal\" },\n {\n label: __(\"Neumorphism\", \"block-collections\"),\n value: \"newmor\",\n },\n {\n label: __(\"Claymorphism\", \"block-collections\"),\n value: \"claymor\",\n },\n {\n label: __(\"Grassmophism\", \"block-collections\"),\n value: \"glassmor\",\n },\n ]}\n onChange={(changeOption) =>\n setShadowState({ ...shadowState, shadowType: changeOption })\n }\n />\n </div>\n {shadowType !== \"claymor\" && (\n <div className=\"embos\">\n <RadioControl\n label={__(\"unevenness\", \"block-collections\")}\n selected={embos}\n options={[{ value: \"swell\" }, { value: \"dent\" }]}\n onChange={(changeOption) =>\n setShadowState({ ...shadowState, embos: changeOption })\n }\n />\n </div>\n )}\n </PanelBody>\n\n {shadowType === \"nomal\" && (\n <PanelBody\n title={__(\"Nomal settings\", \"block-collections\")}\n initialOpen={false}\n >\n <RangeControl\n value={spread}\n label={__(\"Spread\", \"block-collections\")}\n max={50}\n min={0}\n onChange={(val) => setShadowState({ ...shadowState, spread: val })}\n withInputField={false}\n />\n <RangeControl\n value={lateral}\n label={__(\"Lateral direction\", \"block-collections\")}\n max={50}\n min={0}\n onChange={(val) => setShadowState({ ...shadowState, lateral: val })}\n withInputField={false}\n />\n <RangeControl\n value={longitude}\n label={__(\"Longitudinal direction\", \"block-collections\")}\n max={50}\n min={0}\n onChange={(val) =>\n setShadowState({ ...shadowState, longitude: val })\n }\n withInputField={false}\n />\n <RangeControl\n value={nomalBlur}\n label={__(\"Blur\", \"block-collections\")}\n max={20}\n min={0}\n onChange={(val) =>\n setShadowState({ ...shadowState, nomalBlur: val })\n }\n withInputField={false}\n />\n <PanelColorGradientSettings\n title={__(\"Shadow Color Setting\", \"block-collections\")}\n settings={[\n {\n colorValue: shadowColor,\n label: __(\"Choose Shadow color\", \"block-collections\"),\n onColorChange: (newValue) =>\n setShadowState({ ...shadowState, shadowColor: newValue }),\n },\n ]}\n />\n </PanelBody>\n )}\n\n {shadowType === \"newmor\" && (\n <PanelBody\n title={__(\"Neumorphism settings\", \"block-collections\")}\n initialOpen={false}\n >\n <RangeControl\n value={distance}\n label={__(\"Distance\", \"block-collections\")}\n max={50}\n min={0}\n onChange={(val) =>\n setShadowState({ ...shadowState, distance: val })\n }\n withInputField={false}\n />\n <RangeControl\n value={intensity}\n label={__(\"Intensity\", \"block-collections\")}\n max={100}\n min={0}\n onChange={(val) =>\n setShadowState({ ...shadowState, intensity: val })\n }\n withInputField={false}\n />\n <RangeControl\n value={blur}\n label={__(\"Blur\", \"block-collections\")}\n max={20}\n min={0}\n onChange={(val) => setShadowState({ ...shadowState, blur: val })}\n withInputField={false}\n />\n <PanelRow>\n <div className=\"light_direction\">\n <RadioControl\n selected={newDirection}\n options={[\n { value: \"top_left\" },\n { value: \"top_right\" },\n { value: \"bottom_left\" },\n { value: \"bottom_right\" },\n ]}\n onChange={(changeOption) =>\n setShadowState({ ...shadowState, newDirection: changeOption })\n }\n />\n </div>\n </PanelRow>\n </PanelBody>\n )}\n {shadowType === \"claymor\" && (\n <PanelBody\n title={__(\"Claymorphism settings\", \"block-collections\")}\n initialOpen={false}\n >\n <RangeControl\n value={opacity}\n label={__(\"Opacity\", \"block-collections\")}\n max={1}\n min={0}\n step={0.1}\n onChange={(val) => setShadowState({ ...shadowState, opacity: val })}\n withInputField={false}\n />\n <RangeControl\n value={depth}\n label=\"Depth\"\n max={20}\n min={0}\n onChange={(val) => setShadowState({ ...shadowState, depth: val })}\n withInputField={false}\n />\n <RangeControl\n value={expand}\n label=\"Expand\"\n max={50}\n min={0}\n onChange={(val) => setShadowState({ ...shadowState, expand: val })}\n withInputField={false}\n />\n <RangeControl\n value={bdBlur}\n label=\"Background Blur\"\n max={10}\n min={0}\n onChange={(val) => setShadowState({ ...shadowState, bdBlur: val })}\n withInputField={false}\n />\n <div className=\"light_direction claymor\">\n <RadioControl\n selected={clayDirection}\n options={[\n { value: \"right_bottom\" },\n { value: \"top_right\" },\n { value: \"top\" },\n ]}\n onChange={(changeOption) =>\n setShadowState({ ...shadowState, clayDirection: changeOption })\n }\n />\n </div>\n </PanelBody>\n )}\n\n {shadowType === \"glassmor\" && (\n <PanelBody\n title={__(\"Grassmophism settings\", \"block-collections\")}\n initialOpen={false}\n >\n <RangeControl\n value={glassblur}\n label={__(\"Glass blur\", \"block-collections\")}\n max={20}\n min={0}\n onChange={(val) =>\n setShadowState({ ...shadowState, glassblur: val })\n }\n withInputField={false}\n />\n <RangeControl\n value={glassopa}\n label={__(\"Glass Opacity\", \"block-collections\")}\n max={1}\n min={0}\n step={0.1}\n onChange={(val) =>\n setShadowState({ ...shadowState, glassopa: val })\n }\n withInputField={false}\n />\n <fieldset>\n <ToggleControl\n label={__(\"Show outline\", \"block-collections\")}\n checked={hasOutline}\n onChange={() =>\n setShadowState({ ...shadowState, hasOutline: !hasOutline })\n }\n />\n </fieldset>\n </PanelBody>\n )}\n </>\n );\n};\nexport default ShadowStyle;\n"],"names":["dirctionDigit","direction","distance","destTopLeft","destTopRight","destBottomLeft","destBottomRight","topLeft","topRight","bottomLeft","bottmRight","isGradient","colorValue","includes","ShadowElm","shadowState","shadowType","spread","lateral","longitude","nomalBlur","shadowColor","blur","intensity","newDirection","clayDirection","embos","opacity","depth","bdBlur","expand","glassblur","glassopa","hasOutline","baseColor","ShadowStyle","style","boxShadow","concat","dispatch","createNotice","__","type","isDismissible","hslValue","rgb16ToHsl","lightVal","lightness","darkVal","lightValue","hslToRgb16","hue","saturation","darkValue","dircObj","baseStyle","border","background","newmorStyle","_objectSpread","rgbValue","HexToRGB","outsetObj","insetObj","backdropFilter","claymorStyle","red","green","blue","backgroundColor","borderRightColor","borderBottomColor","glassmorStyle","_ref","shadowStyle","onChange","setShadowState","useState","useEffect","shadowElm","React","createElement","Fragment","PanelBody","title","initialOpen","className","RadioControl","selected","options","label","value","changeOption","RangeControl","max","min","val","withInputField","PanelColorGradientSettings","settings","onColorChange","newValue","PanelRow","step","ToggleControl","checked"],"mappings":"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"}