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