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
@@ -0,0 +1,267 @@
1
+ 'use strict';
2
+
3
+ var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
4
+
5
+ //Swiper初期化関数
6
+ // jQueryの $.data() 相当をざっくり再現(文字列→boolean/number/JSON を変換)
7
+ function coerceDataValue(val) {
8
+ if (val == null) return null;
9
+ if (typeof val !== "string") return val;
10
+ var t = val.trim();
11
+ if (t === "") return "";
12
+ if (t === "true") return true;
13
+ if (t === "false") return false;
14
+ if (t === "null") return null;
15
+
16
+ // JSONっぽければJSONとして読む(swiper-info など)
17
+ var looksJson = t.startsWith("{") && t.endsWith("}") || t.startsWith("[") && t.endsWith("]");
18
+ if (looksJson) {
19
+ try {
20
+ return JSON.parse(t);
21
+ } catch (_unused) {
22
+ // JSONとして壊れてたら文字列のまま
23
+ return val;
24
+ }
25
+ }
26
+
27
+ // 数値
28
+ var n = Number(t);
29
+ if (!Number.isNaN(n) && t !== "") return n;
30
+ return val;
31
+ }
32
+ function toDatasetKey(key) {
33
+ // "swiper-id" -> "swiperId" のように変換
34
+ return key.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
35
+ }
36
+ function getData(el, key) {
37
+ var _el$getAttribute;
38
+ var dsKey = toDatasetKey(key);
39
+
40
+ // dataset優先
41
+ if (el !== null && el !== void 0 && el.dataset && Object.prototype.hasOwnProperty.call(el.dataset, dsKey)) {
42
+ return coerceDataValue(el.dataset[dsKey]);
43
+ }
44
+
45
+ // 念のため attribute も見ておく
46
+ var attr = (_el$getAttribute = el.getAttribute) === null || _el$getAttribute === void 0 ? void 0 : _el$getAttribute.call(el, "data-".concat(key));
47
+ if (attr != null) return coerceDataValue(attr);
48
+ return null;
49
+ }
50
+
51
+ // (任意)複数回呼ばれても関連付けできるように、モジュール内で保持
52
+ var swiperRegistry = new Map();
53
+ // 二重にイベントを張らないための印
54
+ var linkedPairs = new Set();
55
+ function linkSwipers(a, b) {
56
+ if (!a || !b) return;
57
+ var pairKey = "".concat(a.swiper_id, "__").concat(b.swiper_id);
58
+ if (linkedPairs.has(pairKey)) return;
59
+ linkedPairs.add(pairKey);
60
+
61
+ // bがサムネならthumbs連携
62
+ if (b.is_thumbnail) {
63
+ a.instance.thumbs.swiper = b.instance;
64
+ a.instance.thumbs.init();
65
+ a.instance.thumbs.update(true);
66
+ return;
67
+ }
68
+
69
+ // どちらもサムネじゃなければ相互同期
70
+ if (!a.is_thumbnail) {
71
+ a.instance.on("slideChangeTransitionStart", slider => {
72
+ b.instance.slideToLoop(slider.realIndex, undefined, false);
73
+ });
74
+ b.instance.on("slideChangeTransitionStart", slider => {
75
+ a.instance.slideToLoop(slider.realIndex, undefined, false);
76
+ });
77
+ }
78
+ }
79
+ function tryLink(swiperObj) {
80
+ // 自分が relate_id を持っていて、相手が既にいればリンク
81
+ if (swiperObj.relate_id && swiperRegistry.has(swiperObj.relate_id)) {
82
+ linkSwipers(swiperObj, swiperRegistry.get(swiperObj.relate_id));
83
+ }
84
+
85
+ // 逆に「相手が自分を relate_id に指定していた」ケースも拾う
86
+ for (var other of swiperRegistry.values()) {
87
+ if (other.relate_id === swiperObj.swiper_id) {
88
+ linkSwipers(other, swiperObj);
89
+ }
90
+ }
91
+ }
92
+ function slideBlockSwiperInit(swiperElement) {
93
+ var _swiper_info$navigati, _swiper_info$paginati, _swiper_info$scrollba;
94
+ // 文字列セレクタでも渡せるようにしておく(好みで削除OK)
95
+ var el = typeof swiperElement === "string" ? document.querySelector(swiperElement) : swiperElement;
96
+ if (!el) return null;
97
+ var swiper_id = getData(el, "swiper-id");
98
+ var relate_id = getData(el, "relate-id");
99
+ var is_thumbnail = !!getData(el, "thumb-flg");
100
+ var swiper_info = getData(el, "swiper-info");
101
+ var parallax_obj = getData(el, "parallax-option");
102
+ if (!swiper_info || typeof swiper_info !== "object") {
103
+ throw new Error("data-swiper-info が見つからないか、JSONとして解釈できません。");
104
+ }
105
+ var parallax_option = parallax_obj != null ? {
106
+ parallax: true
107
+ } : {};
108
+ var autoplayOption = swiper_info.is_autoplay ? {
109
+ freeMode: {
110
+ enabled: true,
111
+ momentum: false
112
+ },
113
+ autoplay: {
114
+ delay: swiper_info.autoplay,
115
+ stopOnLastSlide: false,
116
+ disableOnInteraction: false
117
+ }
118
+ } : {};
119
+ var effectOption = {
120
+ none: {
121
+ centeredSlides: swiper_info.isActiveCenter,
122
+ direction: swiper_info.singleDirection,
123
+ speed: swiper_info.slideSpeed,
124
+ slidesPerView: swiper_info.mobilePerView,
125
+ spaceBetween: swiper_info.mobileBetween,
126
+ breakpoints: {
127
+ 768: {
128
+ slidesPerView: swiper_info.defaultPerView,
129
+ spaceBetween: swiper_info.defaultBetween
130
+ }
131
+ }
132
+ },
133
+ slide_single_view: _rollupPluginBabelHelpers.objectSpread2({
134
+ direction: swiper_info.singleDirection,
135
+ loopAdditionalSlides: 1,
136
+ speed: swiper_info.slideSpeed,
137
+ allowTouchMove: false
138
+ }, parallax_option),
139
+ fade_single_view: _rollupPluginBabelHelpers.objectSpread2({
140
+ speed: swiper_info.slideSpeed,
141
+ effect: "fade",
142
+ fadeEffect: {
143
+ crossFade: true
144
+ }
145
+ }, parallax_option),
146
+ coverflow: {
147
+ centeredSlides: true,
148
+ slidesPerView: 3,
149
+ spaceBetween: swiper_info.mobileBetween,
150
+ effect: "coverflow",
151
+ coverflowEffect: {
152
+ rotate: 50,
153
+ depth: 100,
154
+ stretch: 0,
155
+ modifier: 1,
156
+ scale: 0.9,
157
+ slideShadows: true
158
+ },
159
+ breakpoints: {
160
+ 768: {
161
+ spaceBetween: swiper_info.defaultBetween,
162
+ coverflowEffect: {
163
+ stretch: 0
164
+ }
165
+ }
166
+ }
167
+ },
168
+ coverflow_2: {
169
+ centeredSlides: true,
170
+ slidesPerView: "auto",
171
+ effect: "coverflow",
172
+ coverflowEffect: {
173
+ rotate: 0,
174
+ slideShadows: false,
175
+ stretch: 100
176
+ },
177
+ breakpoints: {
178
+ 768: {
179
+ coverflowEffect: {
180
+ stretch: 100
181
+ }
182
+ }
183
+ }
184
+ },
185
+ cube: {
186
+ speed: 800,
187
+ effect: "cube",
188
+ cubeEffect: {
189
+ slideShadows: true,
190
+ shadow: true,
191
+ shadowOffset: 40,
192
+ shadowScale: 0.94
193
+ },
194
+ on: {
195
+ slideChangeTransitionStart: function slideChangeTransitionStart() {
196
+ this.el.classList.remove("scale-in");
197
+ this.el.classList.add("scale-out");
198
+ },
199
+ slideChangeTransitionEnd: function slideChangeTransitionEnd() {
200
+ this.el.classList.remove("scale-out");
201
+ this.el.classList.add("scale-in");
202
+ }
203
+ }
204
+ },
205
+ flip: {
206
+ effect: "flip",
207
+ flipEffect: {
208
+ limitRotation: true,
209
+ slideShadows: true
210
+ }
211
+ },
212
+ cards: {
213
+ effect: "cards",
214
+ cardsEffect: {
215
+ perSlideOffset: 8,
216
+ perSlideRotate: 2,
217
+ rotate: true,
218
+ slideShadows: true
219
+ }
220
+ }
221
+ };
222
+ var swiperOptions = _rollupPluginBabelHelpers.objectSpread2({
223
+ loop: swiper_info.loop
224
+ }, autoplayOption);
225
+ if (is_thumbnail) {
226
+ swiperOptions = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, swiperOptions), {}, {
227
+ watchSlidesProgress: true,
228
+ watchSlidesVisibility: true,
229
+ freeMode: true,
230
+ slideToClickedSlide: true
231
+ });
232
+ }
233
+ if ((_swiper_info$navigati = swiper_info.navigation) !== null && _swiper_info$navigati !== void 0 && _swiper_info$navigati.disp) {
234
+ swiperOptions.navigation = {
235
+ nextEl: ".".concat(swiper_id, "-next"),
236
+ prevEl: ".".concat(swiper_id, "-prev")
237
+ };
238
+ }
239
+ if ((_swiper_info$paginati = swiper_info.pagination) !== null && _swiper_info$paginati !== void 0 && _swiper_info$paginati.disp) {
240
+ swiperOptions.pagination = {
241
+ el: ".".concat(swiper_id, "-pagination")
242
+ };
243
+ }
244
+ if ((_swiper_info$scrollba = swiper_info.scrollbar) !== null && _swiper_info$scrollba !== void 0 && _swiper_info$scrollba.disp) {
245
+ swiperOptions.scrollbar = {
246
+ el: ".".concat(swiper_id, "-scrollbar")
247
+ };
248
+ }
249
+ if (swiper_info.effect && effectOption[swiper_info.effect]) {
250
+ swiperOptions = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, swiperOptions), effectOption[swiper_info.effect]);
251
+ }
252
+
253
+ // ここが $swiperElement[0] -> el に変わる
254
+ var instance = new Swiper(el, swiperOptions);
255
+ var swiperObj = {
256
+ instance,
257
+ swiper_id,
258
+ relate_id,
259
+ is_thumbnail
260
+ };
261
+ if (swiper_id) swiperRegistry.set(swiper_id, swiperObj);
262
+ tryLink(swiperObj);
263
+ return swiperObj;
264
+ }
265
+
266
+ exports.slideBlockSwiperInit = slideBlockSwiperInit;
267
+ //# sourceMappingURL=SwiperControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwiperControl.js","sources":["../../src/SwiperControl.js"],"sourcesContent":["//Swiper初期化関数\r\n// jQueryの $.data() 相当をざっくり再現(文字列→boolean/number/JSON を変換)\r\nfunction coerceDataValue(val) {\r\n if (val == null) return null;\r\n if (typeof val !== \"string\") return val;\r\n\r\n const t = val.trim();\r\n if (t === \"\") return \"\";\r\n\r\n if (t === \"true\") return true;\r\n if (t === \"false\") return false;\r\n if (t === \"null\") return null;\r\n\r\n // JSONっぽければJSONとして読む(swiper-info など)\r\n const looksJson =\r\n (t.startsWith(\"{\") && t.endsWith(\"}\")) ||\r\n (t.startsWith(\"[\") && t.endsWith(\"]\"));\r\n if (looksJson) {\r\n try {\r\n return JSON.parse(t);\r\n } catch {\r\n // JSONとして壊れてたら文字列のまま\r\n return val;\r\n }\r\n }\r\n\r\n // 数値\r\n const n = Number(t);\r\n if (!Number.isNaN(n) && t !== \"\") return n;\r\n\r\n return val;\r\n}\r\n\r\nfunction toDatasetKey(key) {\r\n // \"swiper-id\" -> \"swiperId\" のように変換\r\n return key.replace(/-([a-z])/g, (_, c) => c.toUpperCase());\r\n}\r\n\r\nfunction getData(el, key) {\r\n const dsKey = toDatasetKey(key);\r\n\r\n // dataset優先\r\n if (el?.dataset && Object.prototype.hasOwnProperty.call(el.dataset, dsKey)) {\r\n return coerceDataValue(el.dataset[dsKey]);\r\n }\r\n\r\n // 念のため attribute も見ておく\r\n const attr = el.getAttribute?.(`data-${key}`);\r\n if (attr != null) return coerceDataValue(attr);\r\n\r\n return null;\r\n}\r\n\r\n// (任意)複数回呼ばれても関連付けできるように、モジュール内で保持\r\nconst swiperRegistry = new Map();\r\n// 二重にイベントを張らないための印\r\nconst linkedPairs = new Set();\r\n\r\nfunction linkSwipers(a, b) {\r\n if (!a || !b) return;\r\n\r\n const pairKey = `${a.swiper_id}__${b.swiper_id}`;\r\n if (linkedPairs.has(pairKey)) return;\r\n linkedPairs.add(pairKey);\r\n\r\n // bがサムネならthumbs連携\r\n if (b.is_thumbnail) {\r\n a.instance.thumbs.swiper = b.instance;\r\n a.instance.thumbs.init();\r\n a.instance.thumbs.update(true);\r\n return;\r\n }\r\n\r\n // どちらもサムネじゃなければ相互同期\r\n if (!a.is_thumbnail) {\r\n a.instance.on(\"slideChangeTransitionStart\", (slider) => {\r\n b.instance.slideToLoop(slider.realIndex, undefined, false);\r\n });\r\n b.instance.on(\"slideChangeTransitionStart\", (slider) => {\r\n a.instance.slideToLoop(slider.realIndex, undefined, false);\r\n });\r\n }\r\n}\r\n\r\nfunction tryLink(swiperObj) {\r\n // 自分が relate_id を持っていて、相手が既にいればリンク\r\n if (swiperObj.relate_id && swiperRegistry.has(swiperObj.relate_id)) {\r\n linkSwipers(swiperObj, swiperRegistry.get(swiperObj.relate_id));\r\n }\r\n\r\n // 逆に「相手が自分を relate_id に指定していた」ケースも拾う\r\n for (const other of swiperRegistry.values()) {\r\n if (other.relate_id === swiperObj.swiper_id) {\r\n linkSwipers(other, swiperObj);\r\n }\r\n }\r\n}\r\n\r\nexport function slideBlockSwiperInit(swiperElement) {\r\n // 文字列セレクタでも渡せるようにしておく(好みで削除OK)\r\n const el =\r\n typeof swiperElement === \"string\"\r\n ? document.querySelector(swiperElement)\r\n : swiperElement;\r\n\r\n if (!el) return null;\r\n\r\n const swiper_id = getData(el, \"swiper-id\");\r\n const relate_id = getData(el, \"relate-id\");\r\n const is_thumbnail = !!getData(el, \"thumb-flg\");\r\n const swiper_info = getData(el, \"swiper-info\");\r\n const parallax_obj = getData(el, \"parallax-option\");\r\n\r\n if (!swiper_info || typeof swiper_info !== \"object\") {\r\n throw new Error(\r\n \"data-swiper-info が見つからないか、JSONとして解釈できません。\"\r\n );\r\n }\r\n\r\n const parallax_option = parallax_obj != null ? { parallax: true } : {};\r\n\r\n const autoplayOption = swiper_info.is_autoplay\r\n ? {\r\n freeMode: { enabled: true, momentum: false },\r\n autoplay: {\r\n delay: swiper_info.autoplay,\r\n stopOnLastSlide: false,\r\n disableOnInteraction: false,\r\n },\r\n }\r\n : {};\r\n\r\n const effectOption = {\r\n none: {\r\n centeredSlides: swiper_info.isActiveCenter,\r\n direction: swiper_info.singleDirection,\r\n speed: swiper_info.slideSpeed,\r\n slidesPerView: swiper_info.mobilePerView,\r\n spaceBetween: swiper_info.mobileBetween,\r\n breakpoints: {\r\n 768: {\r\n slidesPerView: swiper_info.defaultPerView,\r\n spaceBetween: swiper_info.defaultBetween,\r\n },\r\n },\r\n },\r\n slide_single_view: {\r\n direction: swiper_info.singleDirection,\r\n loopAdditionalSlides: 1,\r\n speed: swiper_info.slideSpeed,\r\n allowTouchMove: false,\r\n ...parallax_option,\r\n },\r\n fade_single_view: {\r\n speed: swiper_info.slideSpeed,\r\n effect: \"fade\",\r\n fadeEffect: { crossFade: true },\r\n ...parallax_option,\r\n },\r\n coverflow: {\r\n centeredSlides: true,\r\n slidesPerView: 3,\r\n spaceBetween: swiper_info.mobileBetween,\r\n effect: \"coverflow\",\r\n coverflowEffect: {\r\n rotate: 50,\r\n depth: 100,\r\n stretch: 0,\r\n modifier: 1,\r\n scale: 0.9,\r\n slideShadows: true,\r\n },\r\n breakpoints: {\r\n 768: {\r\n spaceBetween: swiper_info.defaultBetween,\r\n coverflowEffect: { stretch: 0 },\r\n },\r\n },\r\n },\r\n coverflow_2: {\r\n centeredSlides: true,\r\n slidesPerView: \"auto\",\r\n effect: \"coverflow\",\r\n coverflowEffect: { rotate: 0, slideShadows: false, stretch: 100 },\r\n breakpoints: { 768: { coverflowEffect: { stretch: 100 } } },\r\n },\r\n cube: {\r\n speed: 800,\r\n effect: \"cube\",\r\n cubeEffect: {\r\n slideShadows: true,\r\n shadow: true,\r\n shadowOffset: 40,\r\n shadowScale: 0.94,\r\n },\r\n on: {\r\n slideChangeTransitionStart: function () {\r\n this.el.classList.remove(\"scale-in\");\r\n this.el.classList.add(\"scale-out\");\r\n },\r\n slideChangeTransitionEnd: function () {\r\n this.el.classList.remove(\"scale-out\");\r\n this.el.classList.add(\"scale-in\");\r\n },\r\n },\r\n },\r\n flip: {\r\n effect: \"flip\",\r\n flipEffect: { limitRotation: true, slideShadows: true },\r\n },\r\n cards: {\r\n effect: \"cards\",\r\n cardsEffect: {\r\n perSlideOffset: 8,\r\n perSlideRotate: 2,\r\n rotate: true,\r\n slideShadows: true,\r\n },\r\n },\r\n };\r\n\r\n let swiperOptions = {\r\n loop: swiper_info.loop,\r\n ...autoplayOption,\r\n };\r\n\r\n if (is_thumbnail) {\r\n swiperOptions = {\r\n ...swiperOptions,\r\n watchSlidesProgress: true,\r\n watchSlidesVisibility: true,\r\n freeMode: true,\r\n slideToClickedSlide: true,\r\n };\r\n }\r\n\r\n if (swiper_info.navigation?.disp) {\r\n swiperOptions.navigation = {\r\n nextEl: `.${swiper_id}-next`,\r\n prevEl: `.${swiper_id}-prev`,\r\n };\r\n }\r\n\r\n if (swiper_info.pagination?.disp) {\r\n swiperOptions.pagination = { el: `.${swiper_id}-pagination` };\r\n }\r\n\r\n if (swiper_info.scrollbar?.disp) {\r\n swiperOptions.scrollbar = { el: `.${swiper_id}-scrollbar` };\r\n }\r\n\r\n if (swiper_info.effect && effectOption[swiper_info.effect]) {\r\n swiperOptions = { ...swiperOptions, ...effectOption[swiper_info.effect] };\r\n }\r\n\r\n // ここが $swiperElement[0] -> el に変わる\r\n const instance = new Swiper(el, swiperOptions);\r\n\r\n const swiperObj = { instance, swiper_id, relate_id, is_thumbnail };\r\n if (swiper_id) swiperRegistry.set(swiper_id, swiperObj);\r\n\r\n tryLink(swiperObj);\r\n\r\n return swiperObj;\r\n}\r\n"],"names":["coerceDataValue","val","t","trim","looksJson","startsWith","endsWith","JSON","parse","_unused","n","Number","isNaN","toDatasetKey","key","replace","_","c","toUpperCase","getData","el","_el$getAttribute","dsKey","dataset","Object","prototype","hasOwnProperty","call","attr","getAttribute","concat","swiperRegistry","Map","linkedPairs","Set","linkSwipers","a","b","pairKey","swiper_id","has","add","is_thumbnail","instance","thumbs","swiper","init","update","on","slider","slideToLoop","realIndex","undefined","tryLink","swiperObj","relate_id","get","other","values","slideBlockSwiperInit","swiperElement","_swiper_info$navigati","_swiper_info$paginati","_swiper_info$scrollba","document","querySelector","swiper_info","parallax_obj","Error","parallax_option","parallax","autoplayOption","is_autoplay","freeMode","enabled","momentum","autoplay","delay","stopOnLastSlide","disableOnInteraction","effectOption","none","centeredSlides","isActiveCenter","direction","singleDirection","speed","slideSpeed","slidesPerView","mobilePerView","spaceBetween","mobileBetween","breakpoints","defaultPerView","defaultBetween","slide_single_view","_objectSpread","loopAdditionalSlides","allowTouchMove","fade_single_view","effect","fadeEffect","crossFade","coverflow","coverflowEffect","rotate","depth","stretch","modifier","scale","slideShadows","coverflow_2","cube","cubeEffect","shadow","shadowOffset","shadowScale","slideChangeTransitionStart","classList","remove","slideChangeTransitionEnd","flip","flipEffect","limitRotation","cards","cardsEffect","perSlideOffset","perSlideRotate","swiperOptions","loop","watchSlidesProgress","watchSlidesVisibility","slideToClickedSlide","navigation","disp","nextEl","prevEl","pagination","scrollbar","Swiper","set"],"mappings":";;;;AAAA;AACA;AACA,SAASA,eAAeA,CAACC,GAAG,EAAE;AAC5B,EAAA,IAAIA,GAAG,IAAI,IAAI,EAAE,OAAO,IAAI;AAC5B,EAAA,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE,OAAOA,GAAG;AAEvC,EAAA,IAAMC,CAAC,GAAGD,GAAG,CAACE,IAAI,EAAE;AACpB,EAAA,IAAID,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE;AAEvB,EAAA,IAAIA,CAAC,KAAK,MAAM,EAAE,OAAO,IAAI;AAC7B,EAAA,IAAIA,CAAC,KAAK,OAAO,EAAE,OAAO,KAAK;AAC/B,EAAA,IAAIA,CAAC,KAAK,MAAM,EAAE,OAAO,IAAI;;AAE7B;AACA,EAAA,IAAME,SAAS,GACZF,CAAC,CAACG,UAAU,CAAC,GAAG,CAAC,IAAIH,CAAC,CAACI,QAAQ,CAAC,GAAG,CAAC,IACpCJ,CAAC,CAACG,UAAU,CAAC,GAAG,CAAC,IAAIH,CAAC,CAACI,QAAQ,CAAC,GAAG,CAAE;AACxC,EAAA,IAAIF,SAAS,EAAE;IACb,IAAI;AACF,MAAA,OAAOG,IAAI,CAACC,KAAK,CAACN,CAAC,CAAC;IACtB,CAAC,CAAC,OAAAO,OAAA,EAAM;AACN;AACA,MAAA,OAAOR,GAAG;AACZ,IAAA;AACF,EAAA;;AAEA;AACA,EAAA,IAAMS,CAAC,GAAGC,MAAM,CAACT,CAAC,CAAC;AACnB,EAAA,IAAI,CAACS,MAAM,CAACC,KAAK,CAACF,CAAC,CAAC,IAAIR,CAAC,KAAK,EAAE,EAAE,OAAOQ,CAAC;AAE1C,EAAA,OAAOT,GAAG;AACZ;AAEA,SAASY,YAAYA,CAACC,GAAG,EAAE;AACzB;AACA,EAAA,OAAOA,GAAG,CAACC,OAAO,CAAC,WAAW,EAAE,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAACC,WAAW,EAAE,CAAC;AAC5D;AAEA,SAASC,OAAOA,CAACC,EAAE,EAAEN,GAAG,EAAE;AAAA,EAAA,IAAAO,gBAAA;AACxB,EAAA,IAAMC,KAAK,GAAGT,YAAY,CAACC,GAAG,CAAC;;AAE/B;EACA,IAAIM,EAAE,aAAFA,EAAE,KAAA,MAAA,IAAFA,EAAE,CAAEG,OAAO,IAAIC,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACP,EAAE,CAACG,OAAO,EAAED,KAAK,CAAC,EAAE;IAC1E,OAAOtB,eAAe,CAACoB,EAAE,CAACG,OAAO,CAACD,KAAK,CAAC,CAAC;AAC3C,EAAA;;AAEA;EACA,IAAMM,IAAI,IAAAP,gBAAA,GAAGD,EAAE,CAACS,YAAY,cAAAR,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAfA,gBAAA,CAAAM,IAAA,CAAAP,EAAE,EAAA,OAAA,CAAAU,MAAA,CAAwBhB,GAAG,CAAE,CAAC;EAC7C,IAAIc,IAAI,IAAI,IAAI,EAAE,OAAO5B,eAAe,CAAC4B,IAAI,CAAC;AAE9C,EAAA,OAAO,IAAI;AACb;;AAEA;AACA,IAAMG,cAAc,GAAG,IAAIC,GAAG,EAAE;AAChC;AACA,IAAMC,WAAW,GAAG,IAAIC,GAAG,EAAE;AAE7B,SAASC,WAAWA,CAACC,CAAC,EAAEC,CAAC,EAAE;AACzB,EAAA,IAAI,CAACD,CAAC,IAAI,CAACC,CAAC,EAAE;AAEd,EAAA,IAAMC,OAAO,GAAA,EAAA,CAAAR,MAAA,CAAMM,CAAC,CAACG,SAAS,EAAA,IAAA,CAAA,CAAAT,MAAA,CAAKO,CAAC,CAACE,SAAS,CAAE;AAChD,EAAA,IAAIN,WAAW,CAACO,GAAG,CAACF,OAAO,CAAC,EAAE;AAC9BL,EAAAA,WAAW,CAACQ,GAAG,CAACH,OAAO,CAAC;;AAExB;EACA,IAAID,CAAC,CAACK,YAAY,EAAE;IAClBN,CAAC,CAACO,QAAQ,CAACC,MAAM,CAACC,MAAM,GAAGR,CAAC,CAACM,QAAQ;AACrCP,IAAAA,CAAC,CAACO,QAAQ,CAACC,MAAM,CAACE,IAAI,EAAE;IACxBV,CAAC,CAACO,QAAQ,CAACC,MAAM,CAACG,MAAM,CAAC,IAAI,CAAC;AAC9B,IAAA;AACF,EAAA;;AAEA;AACA,EAAA,IAAI,CAACX,CAAC,CAACM,YAAY,EAAE;IACnBN,CAAC,CAACO,QAAQ,CAACK,EAAE,CAAC,4BAA4B,EAAGC,MAAM,IAAK;AACtDZ,MAAAA,CAAC,CAACM,QAAQ,CAACO,WAAW,CAACD,MAAM,CAACE,SAAS,EAAEC,SAAS,EAAE,KAAK,CAAC;AAC5D,IAAA,CAAC,CAAC;IACFf,CAAC,CAACM,QAAQ,CAACK,EAAE,CAAC,4BAA4B,EAAGC,MAAM,IAAK;AACtDb,MAAAA,CAAC,CAACO,QAAQ,CAACO,WAAW,CAACD,MAAM,CAACE,SAAS,EAAEC,SAAS,EAAE,KAAK,CAAC;AAC5D,IAAA,CAAC,CAAC;AACJ,EAAA;AACF;AAEA,SAASC,OAAOA,CAACC,SAAS,EAAE;AAC1B;AACA,EAAA,IAAIA,SAAS,CAACC,SAAS,IAAIxB,cAAc,CAACS,GAAG,CAACc,SAAS,CAACC,SAAS,CAAC,EAAE;IAClEpB,WAAW,CAACmB,SAAS,EAAEvB,cAAc,CAACyB,GAAG,CAACF,SAAS,CAACC,SAAS,CAAC,CAAC;AACjE,EAAA;;AAEA;EACA,KAAK,IAAME,KAAK,IAAI1B,cAAc,CAAC2B,MAAM,EAAE,EAAE;AAC3C,IAAA,IAAID,KAAK,CAACF,SAAS,KAAKD,SAAS,CAACf,SAAS,EAAE;AAC3CJ,MAAAA,WAAW,CAACsB,KAAK,EAAEH,SAAS,CAAC;AAC/B,IAAA;AACF,EAAA;AACF;AAEO,SAASK,oBAAoBA,CAACC,aAAa,EAAE;AAAA,EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;AAClD;AACA,EAAA,IAAM3C,EAAE,GACN,OAAOwC,aAAa,KAAK,QAAQ,GAC7BI,QAAQ,CAACC,aAAa,CAACL,aAAa,CAAC,GACrCA,aAAa;AAEnB,EAAA,IAAI,CAACxC,EAAE,EAAE,OAAO,IAAI;AAEpB,EAAA,IAAMmB,SAAS,GAAGpB,OAAO,CAACC,EAAE,EAAE,WAAW,CAAC;AAC1C,EAAA,IAAMmC,SAAS,GAAGpC,OAAO,CAACC,EAAE,EAAE,WAAW,CAAC;EAC1C,IAAMsB,YAAY,GAAG,CAAC,CAACvB,OAAO,CAACC,EAAE,EAAE,WAAW,CAAC;AAC/C,EAAA,IAAM8C,WAAW,GAAG/C,OAAO,CAACC,EAAE,EAAE,aAAa,CAAC;AAC9C,EAAA,IAAM+C,YAAY,GAAGhD,OAAO,CAACC,EAAE,EAAE,iBAAiB,CAAC;AAEnD,EAAA,IAAI,CAAC8C,WAAW,IAAI,OAAOA,WAAW,KAAK,QAAQ,EAAE;AACnD,IAAA,MAAM,IAAIE,KAAK,CACb,2CACF,CAAC;AACH,EAAA;AAEA,EAAA,IAAMC,eAAe,GAAGF,YAAY,IAAI,IAAI,GAAG;AAAEG,IAAAA,QAAQ,EAAE;GAAM,GAAG,EAAE;AAEtE,EAAA,IAAMC,cAAc,GAAGL,WAAW,CAACM,WAAW,GAC1C;AACEC,IAAAA,QAAQ,EAAE;AAAEC,MAAAA,OAAO,EAAE,IAAI;AAAEC,MAAAA,QAAQ,EAAE;KAAO;AAC5CC,IAAAA,QAAQ,EAAE;MACRC,KAAK,EAAEX,WAAW,CAACU,QAAQ;AAC3BE,MAAAA,eAAe,EAAE,KAAK;AACtBC,MAAAA,oBAAoB,EAAE;AACxB;GACD,GACD,EAAE;AAEN,EAAA,IAAMC,YAAY,GAAG;AACnBC,IAAAA,IAAI,EAAE;MACJC,cAAc,EAAEhB,WAAW,CAACiB,cAAc;MAC1CC,SAAS,EAAElB,WAAW,CAACmB,eAAe;MACtCC,KAAK,EAAEpB,WAAW,CAACqB,UAAU;MAC7BC,aAAa,EAAEtB,WAAW,CAACuB,aAAa;MACxCC,YAAY,EAAExB,WAAW,CAACyB,aAAa;AACvCC,MAAAA,WAAW,EAAE;AACX,QAAA,GAAG,EAAE;UACHJ,aAAa,EAAEtB,WAAW,CAAC2B,cAAc;UACzCH,YAAY,EAAExB,WAAW,CAAC4B;AAC5B;AACF;KACD;AACDC,IAAAA,iBAAiB,EAAAC,uCAAA,CAAA;MACfZ,SAAS,EAAElB,WAAW,CAACmB,eAAe;AACtCY,MAAAA,oBAAoB,EAAE,CAAC;MACvBX,KAAK,EAAEpB,WAAW,CAACqB,UAAU;AAC7BW,MAAAA,cAAc,EAAE;AAAK,KAAA,EAClB7B,eAAe,CACnB;AACD8B,IAAAA,gBAAgB,EAAAH,uCAAA,CAAA;MACdV,KAAK,EAAEpB,WAAW,CAACqB,UAAU;AAC7Ba,MAAAA,MAAM,EAAE,MAAM;AACdC,MAAAA,UAAU,EAAE;AAAEC,QAAAA,SAAS,EAAE;AAAK;AAAC,KAAA,EAC5BjC,eAAe,CACnB;AACDkC,IAAAA,SAAS,EAAE;AACTrB,MAAAA,cAAc,EAAE,IAAI;AACpBM,MAAAA,aAAa,EAAE,CAAC;MAChBE,YAAY,EAAExB,WAAW,CAACyB,aAAa;AACvCS,MAAAA,MAAM,EAAE,WAAW;AACnBI,MAAAA,eAAe,EAAE;AACfC,QAAAA,MAAM,EAAE,EAAE;AACVC,QAAAA,KAAK,EAAE,GAAG;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,QAAQ,EAAE,CAAC;AACXC,QAAAA,KAAK,EAAE,GAAG;AACVC,QAAAA,YAAY,EAAE;OACf;AACDlB,MAAAA,WAAW,EAAE;AACX,QAAA,GAAG,EAAE;UACHF,YAAY,EAAExB,WAAW,CAAC4B,cAAc;AACxCU,UAAAA,eAAe,EAAE;AAAEG,YAAAA,OAAO,EAAE;AAAE;AAChC;AACF;KACD;AACDI,IAAAA,WAAW,EAAE;AACX7B,MAAAA,cAAc,EAAE,IAAI;AACpBM,MAAAA,aAAa,EAAE,MAAM;AACrBY,MAAAA,MAAM,EAAE,WAAW;AACnBI,MAAAA,eAAe,EAAE;AAAEC,QAAAA,MAAM,EAAE,CAAC;AAAEK,QAAAA,YAAY,EAAE,KAAK;AAAEH,QAAAA,OAAO,EAAE;OAAK;AACjEf,MAAAA,WAAW,EAAE;AAAE,QAAA,GAAG,EAAE;AAAEY,UAAAA,eAAe,EAAE;AAAEG,YAAAA,OAAO,EAAE;AAAI;AAAE;AAAE;KAC3D;AACDK,IAAAA,IAAI,EAAE;AACJ1B,MAAAA,KAAK,EAAE,GAAG;AACVc,MAAAA,MAAM,EAAE,MAAM;AACda,MAAAA,UAAU,EAAE;AACVH,QAAAA,YAAY,EAAE,IAAI;AAClBI,QAAAA,MAAM,EAAE,IAAI;AACZC,QAAAA,YAAY,EAAE,EAAE;AAChBC,QAAAA,WAAW,EAAE;OACd;AACDpE,MAAAA,EAAE,EAAE;AACFqE,QAAAA,0BAA0B,EAAE,SAA5BA,0BAA0BA,GAAc;UACtC,IAAI,CAACjG,EAAE,CAACkG,SAAS,CAACC,MAAM,CAAC,UAAU,CAAC;UACpC,IAAI,CAACnG,EAAE,CAACkG,SAAS,CAAC7E,GAAG,CAAC,WAAW,CAAC;QACpC,CAAC;AACD+E,QAAAA,wBAAwB,EAAE,SAA1BA,wBAAwBA,GAAc;UACpC,IAAI,CAACpG,EAAE,CAACkG,SAAS,CAACC,MAAM,CAAC,WAAW,CAAC;UACrC,IAAI,CAACnG,EAAE,CAACkG,SAAS,CAAC7E,GAAG,CAAC,UAAU,CAAC;AACnC,QAAA;AACF;KACD;AACDgF,IAAAA,IAAI,EAAE;AACJrB,MAAAA,MAAM,EAAE,MAAM;AACdsB,MAAAA,UAAU,EAAE;AAAEC,QAAAA,aAAa,EAAE,IAAI;AAAEb,QAAAA,YAAY,EAAE;AAAK;KACvD;AACDc,IAAAA,KAAK,EAAE;AACLxB,MAAAA,MAAM,EAAE,OAAO;AACfyB,MAAAA,WAAW,EAAE;AACXC,QAAAA,cAAc,EAAE,CAAC;AACjBC,QAAAA,cAAc,EAAE,CAAC;AACjBtB,QAAAA,MAAM,EAAE,IAAI;AACZK,QAAAA,YAAY,EAAE;AAChB;AACF;GACD;EAED,IAAIkB,aAAa,GAAAhC,uCAAA,CAAA;IACfiC,IAAI,EAAE/D,WAAW,CAAC+D;AAAI,GAAA,EACnB1D,cAAc,CAClB;AAED,EAAA,IAAI7B,YAAY,EAAE;AAChBsF,IAAAA,aAAa,GAAAhC,uCAAA,CAAAA,uCAAA,KACRgC,aAAa,CAAA,EAAA,EAAA,EAAA;AAChBE,MAAAA,mBAAmB,EAAE,IAAI;AACzBC,MAAAA,qBAAqB,EAAE,IAAI;AAC3B1D,MAAAA,QAAQ,EAAE,IAAI;AACd2D,MAAAA,mBAAmB,EAAE;KAAI,CAC1B;AACH,EAAA;EAEA,IAAA,CAAAvE,qBAAA,GAAIK,WAAW,CAACmE,UAAU,MAAA,IAAA,IAAAxE,qBAAA,KAAA,MAAA,IAAtBA,qBAAA,CAAwByE,IAAI,EAAE;IAChCN,aAAa,CAACK,UAAU,GAAG;AACzBE,MAAAA,MAAM,EAAA,GAAA,CAAAzG,MAAA,CAAMS,SAAS,EAAA,OAAA,CAAO;MAC5BiG,MAAM,EAAA,GAAA,CAAA1G,MAAA,CAAMS,SAAS,EAAA,OAAA;KACtB;AACH,EAAA;EAEA,IAAA,CAAAuB,qBAAA,GAAII,WAAW,CAACuE,UAAU,MAAA,IAAA,IAAA3E,qBAAA,KAAA,MAAA,IAAtBA,qBAAA,CAAwBwE,IAAI,EAAE;IAChCN,aAAa,CAACS,UAAU,GAAG;MAAErH,EAAE,EAAA,GAAA,CAAAU,MAAA,CAAMS,SAAS,EAAA,aAAA;KAAe;AAC/D,EAAA;EAEA,IAAA,CAAAwB,qBAAA,GAAIG,WAAW,CAACwE,SAAS,MAAA,IAAA,IAAA3E,qBAAA,KAAA,MAAA,IAArBA,qBAAA,CAAuBuE,IAAI,EAAE;IAC/BN,aAAa,CAACU,SAAS,GAAG;MAAEtH,EAAE,EAAA,GAAA,CAAAU,MAAA,CAAMS,SAAS,EAAA,YAAA;KAAc;AAC7D,EAAA;EAEA,IAAI2B,WAAW,CAACkC,MAAM,IAAIpB,YAAY,CAACd,WAAW,CAACkC,MAAM,CAAC,EAAE;AAC1D4B,IAAAA,aAAa,GAAAhC,uCAAA,CAAAA,uCAAA,CAAA,EAAA,EAAQgC,aAAa,CAAA,EAAKhD,YAAY,CAACd,WAAW,CAACkC,MAAM,CAAC,CAAE;AAC3E,EAAA;;AAEA;EACA,IAAMzD,QAAQ,GAAG,IAAIgG,MAAM,CAACvH,EAAE,EAAE4G,aAAa,CAAC;AAE9C,EAAA,IAAM1E,SAAS,GAAG;IAAEX,QAAQ;IAAEJ,SAAS;IAAEgB,SAAS;AAAEb,IAAAA;GAAc;EAClE,IAAIH,SAAS,EAAER,cAAc,CAAC6G,GAAG,CAACrG,SAAS,EAAEe,SAAS,CAAC;EAEvDD,OAAO,CAACC,SAAS,CAAC;AAElB,EAAA,OAAOA,SAAS;AAClB;;;;"}
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function ToggleElement(props) {
6
+ var toggleOpen = () => {
7
+ props.onToggle && props.onToggle(!props.openFlg);
8
+ };
9
+ return /*#__PURE__*/React.createElement("div", {
10
+ className: "".concat(props.className, " ").concat(props.openFlg ? 'open' : ''),
11
+ style: props.style,
12
+ onClick: toggleOpen
13
+ }, props.children);
14
+ }
15
+
16
+ exports.default = ToggleElement;
17
+ //# sourceMappingURL=ToggleElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToggleElement.js","sources":["../../src/ToggleElement.js"],"sourcesContent":["\r\nexport default function ToggleElement(props) {\r\n\r\n\r\n const toggleOpen = () => {\r\n props.onToggle && props.onToggle(!props.openFlg);\r\n };\r\n\r\n return (\r\n <div\r\n className={`${props.className} ${props.openFlg ? 'open' : ''}`}\r\n style={props.style}\r\n onClick={toggleOpen}\r\n >\r\n {props.children}\r\n </div>\r\n )\r\n}"],"names":["ToggleElement","props","toggleOpen","onToggle","openFlg","React","createElement","className","concat","style","onClick","children"],"mappings":";;;;AACe,SAASA,aAAaA,CAACC,KAAK,EAAE;EAG3C,IAAMC,UAAU,GAAGA,MAAM;IACvBD,KAAK,CAACE,QAAQ,IAAIF,KAAK,CAACE,QAAQ,CAAC,CAACF,KAAK,CAACG,OAAO,CAAC;EAClD,CAAC;EAED,oBACEC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,KAAAC,MAAA,CAAKP,KAAK,CAACM,SAAS,EAAA,GAAA,CAAA,CAAAC,MAAA,CAAIP,KAAK,CAACG,OAAO,GAAG,MAAM,GAAG,EAAE,CAAG;IAC/DK,KAAK,EAAER,KAAK,CAACQ,KAAM;AACnBC,IAAAA,OAAO,EAAER;GAAW,EAEnBD,KAAK,CAACU,QACJ,CAAC;AAEV;;;;"}
@@ -0,0 +1,151 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
6
+ var components = require('@wordpress/components');
7
+ var Select = require('react-select');
8
+ var i18n = require('@wordpress/i18n');
9
+
10
+ var TypographyControls = _ref => {
11
+ var {
12
+ title,
13
+ fontStyle,
14
+ initialOpen,
15
+ isMobile,
16
+ onChange: _onChange2
17
+ } = _ref;
18
+ var {
19
+ default_fontSize,
20
+ mobile_fontSize,
21
+ fontSize,
22
+ fontFamily,
23
+ fontWeight,
24
+ isItalic
25
+ } = fontStyle;
26
+ var fontFamilyOptions = [{
27
+ value: "Arial, sans-serif",
28
+ label: "Arial",
29
+ fontFamily: "Arial, sans-serif"
30
+ }, {
31
+ value: "Courier New, monospace",
32
+ label: "Courier New",
33
+ fontFamily: "Courier New, monospace"
34
+ }, {
35
+ value: "Georgia, serif",
36
+ label: "Georgia",
37
+ fontFamily: "Georgia, serif"
38
+ }, {
39
+ label: "Noto Sans JP",
40
+ value: "Noto Sans JP, sans-serif",
41
+ fontFamily: "Noto Sans JP, sans-serif"
42
+ }, {
43
+ label: "Texturina",
44
+ value: "Texturina, serif",
45
+ fontFamily: "Texturina, serif"
46
+ }];
47
+ var units = [{
48
+ value: "px",
49
+ label: "px"
50
+ }, {
51
+ value: "em",
52
+ label: "em"
53
+ }, {
54
+ value: "rem",
55
+ label: "rem"
56
+ }];
57
+ var customStyles = {
58
+ option: (provided, state) => _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, provided), {}, {
59
+ fontFamily: state.data.fontFamily
60
+ })
61
+ };
62
+ var FontSelect = _ref2 => {
63
+ var {
64
+ label,
65
+ value,
66
+ onChange: _onChange
67
+ } = _ref2;
68
+ return /*#__PURE__*/React.createElement(React.Fragment, null, label && /*#__PURE__*/React.createElement("label", {
69
+ className: "components-base-control__label"
70
+ }, label), /*#__PURE__*/React.createElement(Select, {
71
+ options: fontFamilyOptions,
72
+ value: fontFamilyOptions.find(option => option.value === value),
73
+ onChange: newValue => {
74
+ _onChange(newValue.value);
75
+ },
76
+ styles: customStyles
77
+ }));
78
+ };
79
+ return /*#__PURE__*/React.createElement(components.PanelBody, {
80
+ title: title,
81
+ initialOpen: initialOpen
82
+ }, /*#__PURE__*/React.createElement(components.__experimentalUnitControl, {
83
+ dragDirection: "e",
84
+ onChange: newValue => {
85
+ newValue = newValue != "" ? newValue : "0px";
86
+ var set_size = !isMobile ? {
87
+ default_fontSize: newValue
88
+ } : {
89
+ mobile_fontSize: newValue
90
+ };
91
+ var newStyle = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, fontStyle), set_size);
92
+ _onChange2(newStyle);
93
+ },
94
+ label: !isMobile ? i18n.__("Size(desk top)", "block-collections") : i18n.__("Size(mobile)", "block-collections"),
95
+ value: !isMobile ? default_fontSize : mobile_fontSize,
96
+ units: units
97
+ }), /*#__PURE__*/React.createElement(FontSelect, {
98
+ label: i18n.__("font family", "block-collections"),
99
+ value: fontFamily,
100
+ onChange: newValue => {
101
+ var newStyle = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, fontStyle), {}, {
102
+ fontFamily: newValue
103
+ });
104
+ _onChange2(newStyle);
105
+ }
106
+ }), /*#__PURE__*/React.createElement("label", {
107
+ className: "components-base-control__label"
108
+ }, i18n.__("font weight", "block-collections")), /*#__PURE__*/React.createElement(components.PanelRow, {
109
+ className: "itmar_weight_row"
110
+ }, /*#__PURE__*/React.createElement(components.RadioControl, {
111
+ selected: fontWeight,
112
+ options: [{
113
+ label: "LIGHT",
114
+ value: "300"
115
+ }, {
116
+ label: "REGULAR",
117
+ value: "400"
118
+ }, {
119
+ label: "MEDIUM",
120
+ value: "500"
121
+ }, {
122
+ label: "S-BOLD",
123
+ value: "600"
124
+ }, {
125
+ label: "BOLD",
126
+ value: "700"
127
+ }, {
128
+ label: "BLACK",
129
+ value: "900"
130
+ }],
131
+ onChange: newValue => {
132
+ var newStyle = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, fontStyle), {}, {
133
+ fontWeight: newValue
134
+ });
135
+ _onChange2(newStyle);
136
+ }
137
+ })), /*#__PURE__*/React.createElement("label", {
138
+ className: "components-base-control__label"
139
+ }, i18n.__("Italic display", "block-collections")), /*#__PURE__*/React.createElement(components.ToggleControl, {
140
+ checked: isItalic,
141
+ onChange: newValue => {
142
+ var newStyle = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, fontStyle), {}, {
143
+ isItalic: newValue
144
+ });
145
+ _onChange2(newStyle);
146
+ }
147
+ }));
148
+ };
149
+
150
+ exports.default = TypographyControls;
151
+ //# sourceMappingURL=TypographyControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypographyControls.js","sources":["../../src/TypographyControls.js"],"sourcesContent":["import {\r\n PanelBody,\r\n PanelRow,\r\n RadioControl,\r\n ToggleControl,\r\n __experimentalUnitControl as UnitControl,\r\n} from \"@wordpress/components\";\r\n\r\nimport Select from \"react-select\";\r\nimport { __ } from \"@wordpress/i18n\";\r\n\r\nconst TypographyControls = ({\r\n title,\r\n fontStyle,\r\n initialOpen,\r\n isMobile,\r\n onChange,\r\n}) => {\r\n const {\r\n default_fontSize,\r\n mobile_fontSize,\r\n fontSize,\r\n fontFamily,\r\n fontWeight,\r\n isItalic,\r\n } = fontStyle;\r\n\r\n const fontFamilyOptions = [\r\n {\r\n value: \"Arial, sans-serif\",\r\n label: \"Arial\",\r\n fontFamily: \"Arial, sans-serif\",\r\n },\r\n {\r\n value: \"Courier New, monospace\",\r\n label: \"Courier New\",\r\n fontFamily: \"Courier New, monospace\",\r\n },\r\n { value: \"Georgia, serif\", label: \"Georgia\", fontFamily: \"Georgia, serif\" },\r\n {\r\n label: \"Noto Sans JP\",\r\n value: \"Noto Sans JP, sans-serif\",\r\n fontFamily: \"Noto Sans JP, sans-serif\",\r\n },\r\n {\r\n label: \"Texturina\",\r\n value: \"Texturina, serif\",\r\n fontFamily: \"Texturina, serif\",\r\n },\r\n ];\r\n\r\n const units = [\r\n { value: \"px\", label: \"px\" },\r\n { value: \"em\", label: \"em\" },\r\n { value: \"rem\", label: \"rem\" },\r\n ];\r\n\r\n const customStyles = {\r\n option: (provided, state) => ({\r\n ...provided,\r\n fontFamily: state.data.fontFamily,\r\n }),\r\n };\r\n\r\n const FontSelect = ({ label, value, onChange }) => (\r\n <>\r\n {label && (\r\n <label className=\"components-base-control__label\">{label}</label>\r\n )}\r\n <Select\r\n options={fontFamilyOptions}\r\n value={fontFamilyOptions.find((option) => option.value === value)}\r\n onChange={(newValue) => {\r\n onChange(newValue.value);\r\n }}\r\n styles={customStyles}\r\n />\r\n </>\r\n );\r\n\r\n return (\r\n <PanelBody title={title} initialOpen={initialOpen}>\r\n <UnitControl\r\n dragDirection=\"e\"\r\n onChange={(newValue) => {\r\n newValue = newValue != \"\" ? newValue : \"0px\";\r\n const set_size = !isMobile\r\n ? { default_fontSize: newValue }\r\n : { mobile_fontSize: newValue };\r\n const newStyle = { ...fontStyle, ...set_size };\r\n onChange(newStyle);\r\n }}\r\n label={\r\n !isMobile\r\n ? __(\"Size(desk top)\", \"block-collections\")\r\n : __(\"Size(mobile)\", \"block-collections\")\r\n }\r\n value={!isMobile ? default_fontSize : mobile_fontSize}\r\n units={units}\r\n />\r\n\r\n <FontSelect\r\n label={__(\"font family\", \"block-collections\")}\r\n value={fontFamily}\r\n onChange={(newValue) => {\r\n const newStyle = { ...fontStyle, fontFamily: newValue };\r\n onChange(newStyle);\r\n }}\r\n />\r\n\r\n <label className=\"components-base-control__label\">\r\n {__(\"font weight\", \"block-collections\")}\r\n </label>\r\n <PanelRow className=\"itmar_weight_row\">\r\n <RadioControl\r\n selected={fontWeight}\r\n options={[\r\n { label: \"LIGHT\", value: \"300\" },\r\n { label: \"REGULAR\", value: \"400\" },\r\n { label: \"MEDIUM\", value: \"500\" },\r\n { label: \"S-BOLD\", value: \"600\" },\r\n { label: \"BOLD\", value: \"700\" },\r\n { label: \"BLACK\", value: \"900\" },\r\n ]}\r\n onChange={(newValue) => {\r\n const newStyle = { ...fontStyle, fontWeight: newValue };\r\n onChange(newStyle);\r\n }}\r\n />\r\n </PanelRow>\r\n\r\n <label className=\"components-base-control__label\">\r\n {__(\"Italic display\", \"block-collections\")}\r\n </label>\r\n <ToggleControl\r\n checked={isItalic}\r\n onChange={(newValue) => {\r\n const newStyle = { ...fontStyle, isItalic: newValue };\r\n onChange(newStyle);\r\n }}\r\n />\r\n </PanelBody>\r\n );\r\n};\r\nexport default TypographyControls;\r\n"],"names":["TypographyControls","_ref","title","fontStyle","initialOpen","isMobile","onChange","default_fontSize","mobile_fontSize","fontSize","fontFamily","fontWeight","isItalic","fontFamilyOptions","value","label","units","customStyles","option","provided","state","_objectSpread","data","FontSelect","_ref2","React","createElement","Fragment","className","Select","options","find","newValue","styles","PanelBody","UnitControl","dragDirection","set_size","newStyle","__","PanelRow","RadioControl","selected","ToggleControl","checked"],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
6
+ var element = require('@wordpress/element');
7
+ var i18n = require('@wordpress/i18n');
8
+ var components = require('@wordpress/components');
9
+ var blocks = require('@wordpress/blocks');
10
+ var apiFetch = require('@wordpress/api-fetch');
11
+
12
+ //特定の投稿タイプの投稿に含まれる本ブロックの属性を書き換える
13
+
14
+ function UpdateAllPostsBlockAttributes(_ref) {
15
+ var {
16
+ postType,
17
+ blockName,
18
+ newAttributes,
19
+ onProcessStart,
20
+ onProcessEnd,
21
+ onProcessCancel
22
+ } = _ref;
23
+ var [progress, setProgress] = element.useState(0);
24
+ // stateではなくrefを使用してキャンセル状態を管理する
25
+ var cancelRef = element.useRef(false);
26
+ var updatePostBlockAttributes = /*#__PURE__*/function () {
27
+ var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator(function* () {
28
+ try {
29
+ var allPosts = [];
30
+ var page = 1;
31
+ var hasMore = true;
32
+ while (hasMore) {
33
+ // REST APIを使ってすべての投稿を取得(投稿タイプを指定)
34
+ var path = "/wp/v2/".concat(postType, "?per_page=100&page=").concat(page, "&context=edit");
35
+ var posts = yield apiFetch({
36
+ path
37
+ });
38
+ allPosts.push(...posts);
39
+ // 投稿が100件未満の場合、次のページは存在しない
40
+ if (posts.length < 100) {
41
+ hasMore = false;
42
+ } else {
43
+ page += 1; // 次のページに進む
44
+ }
45
+ }
46
+ var allCount = allPosts.length;
47
+ var processCount = 0;
48
+ // キャンセルフラグをリセット
49
+ cancelRef.current = false;
50
+ for (var post of allPosts) {
51
+ if (!post.content || !post.content.raw) {
52
+ console.warn("Post ID ".concat(post.id, " does not contain raw content."));
53
+ continue;
54
+ }
55
+ // ループの各回でキャンセルがリクエストされているかチェック
56
+ if (cancelRef.current) {
57
+ console.log("処理がキャンセルされました。");
58
+ return;
59
+ }
60
+ var content = post.content.raw;
61
+ var blocks$1 = blocks.parse(content);
62
+ // 特定のブロックの属性を更新
63
+ var updatedBlocks = blocks$1.map(block => {
64
+ if (block.name === blockName) {
65
+ // 属性をマージして更新
66
+ block.attributes = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, block.attributes), newAttributes);
67
+ }
68
+ return block;
69
+ });
70
+
71
+ // 更新後のブロックをシリアライズ
72
+ var updatedContent = blocks.serialize(updatedBlocks);
73
+
74
+ // REST APIを使って投稿を更新
75
+ try {
76
+ yield apiFetch({
77
+ path: "/wp/v2/".concat(postType, "/").concat(post.id),
78
+ method: "POST",
79
+ data: {
80
+ content: updatedContent
81
+ }
82
+ });
83
+ } catch (error) {
84
+ console.error("Failed to update post ID ".concat(post.id, ":"), error.message);
85
+ if (error.data) {
86
+ console.error("Error details:", error.data);
87
+ }
88
+ }
89
+ //カウンターセットとプログレスバーの処理
90
+ processCount++;
91
+ setProgress(Math.round(processCount / allCount * 100));
92
+ }
93
+
94
+ //終了処理
95
+ onProcessEnd();
96
+ } catch (error) {
97
+ console.error("Error updating block attributes:", error);
98
+ }
99
+ });
100
+ return function updatePostBlockAttributes() {
101
+ return _ref2.apply(this, arguments);
102
+ };
103
+ }();
104
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(components.ProgressBar, {
105
+ value: progress,
106
+ className: "markdown_copy_progress"
107
+ }), /*#__PURE__*/React.createElement("p", null, progress, "%"), /*#__PURE__*/React.createElement("div", {
108
+ style: {
109
+ width: "fit-content",
110
+ margin: "20px auto 0"
111
+ }
112
+ }, /*#__PURE__*/React.createElement(components.Button, {
113
+ variant: "primary",
114
+ onClick: () => {
115
+ onProcessStart(); //親コンポーネントでスタート処理
116
+ updatePostBlockAttributes();
117
+ },
118
+ disabled: progress > 0 && progress < 100
119
+ }, i18n.__("Start Process", "markdown-block")), /*#__PURE__*/React.createElement(components.Button, {
120
+ variant: "secondary",
121
+ onClick: () => {
122
+ if (progress === 0 || cancelRef.current) {
123
+ onProcessEnd(); // 処理が始まる前ならすぐに終了処理を実行
124
+ } else {
125
+ // キャンセルフラグを更新(refならすぐに反映される)
126
+ cancelRef.current = true;
127
+ onProcessCancel(); //親コンポーネントでキャンセル処理
128
+ }
129
+ },
130
+ style: {
131
+ marginLeft: "10px"
132
+ }
133
+ }, i18n.__("Cancel", "markdown-block"))));
134
+ }
135
+
136
+ exports.default = UpdateAllPostsBlockAttributes;
137
+ //# sourceMappingURL=UpdateAllPostsBlockAttributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateAllPostsBlockAttributes.js","sources":["../../src/UpdateAllPostsBlockAttributes.js"],"sourcesContent":["import { useState, useRef } from \"@wordpress/element\";\r\nimport { __ } from \"@wordpress/i18n\";\r\nimport { ProgressBar, Button } from \"@wordpress/components\";\r\nimport { parse, serialize } from \"@wordpress/blocks\";\r\nimport apiFetch from \"@wordpress/api-fetch\";\r\n\r\n//特定の投稿タイプの投稿に含まれる本ブロックの属性を書き換える\r\n\r\nexport default function UpdateAllPostsBlockAttributes({\r\n postType,\r\n blockName,\r\n newAttributes,\r\n onProcessStart,\r\n onProcessEnd,\r\n onProcessCancel,\r\n}) {\r\n const [progress, setProgress] = useState(0);\r\n // stateではなくrefを使用してキャンセル状態を管理する\r\n const cancelRef = useRef(false);\r\n const updatePostBlockAttributes = async () => {\r\n try {\r\n const allPosts = [];\r\n let page = 1;\r\n let hasMore = true;\r\n while (hasMore) {\r\n // REST APIを使ってすべての投稿を取得(投稿タイプを指定)\r\n const path = `/wp/v2/${postType}?per_page=100&page=${page}&context=edit`;\r\n const posts = await apiFetch({ path });\r\n allPosts.push(...posts);\r\n // 投稿が100件未満の場合、次のページは存在しない\r\n if (posts.length < 100) {\r\n hasMore = false;\r\n } else {\r\n page += 1; // 次のページに進む\r\n }\r\n }\r\n let allCount = allPosts.length;\r\n let processCount = 0;\r\n // キャンセルフラグをリセット\r\n cancelRef.current = false;\r\n\r\n for (const post of allPosts) {\r\n if (!post.content || !post.content.raw) {\r\n console.warn(`Post ID ${post.id} does not contain raw content.`);\r\n continue;\r\n }\r\n // ループの各回でキャンセルがリクエストされているかチェック\r\n if (cancelRef.current) {\r\n console.log(\"処理がキャンセルされました。\");\r\n return;\r\n }\r\n\r\n const content = post.content.raw;\r\n const blocks = parse(content);\r\n // 特定のブロックの属性を更新\r\n const updatedBlocks = blocks.map((block) => {\r\n if (block.name === blockName) {\r\n // 属性をマージして更新\r\n block.attributes = {\r\n ...block.attributes,\r\n ...newAttributes,\r\n };\r\n }\r\n return block;\r\n });\r\n\r\n // 更新後のブロックをシリアライズ\r\n const updatedContent = serialize(updatedBlocks);\r\n\r\n // REST APIを使って投稿を更新\r\n try {\r\n await apiFetch({\r\n path: `/wp/v2/${postType}/${post.id}`,\r\n method: \"POST\",\r\n data: { content: updatedContent },\r\n });\r\n } catch (error) {\r\n console.error(`Failed to update post ID ${post.id}:`, error.message);\r\n if (error.data) {\r\n console.error(\"Error details:\", error.data);\r\n }\r\n }\r\n //カウンターセットとプログレスバーの処理\r\n processCount++;\r\n setProgress(Math.round((processCount / allCount) * 100));\r\n }\r\n\r\n //終了処理\r\n onProcessEnd();\r\n } catch (error) {\r\n console.error(\"Error updating block attributes:\", error);\r\n }\r\n };\r\n return (\r\n <>\r\n <ProgressBar value={progress} className=\"markdown_copy_progress\" />\r\n <p>{progress}%</p>\r\n <div style={{ width: \"fit-content\", margin: \"20px auto 0\" }}>\r\n <Button\r\n variant=\"primary\"\r\n onClick={() => {\r\n onProcessStart(); //親コンポーネントでスタート処理\r\n updatePostBlockAttributes();\r\n }}\r\n disabled={progress > 0 && progress < 100}\r\n >\r\n {__(\"Start Process\", \"markdown-block\")}\r\n </Button>\r\n <Button\r\n variant=\"secondary\"\r\n onClick={() => {\r\n if (progress === 0 || cancelRef.current) {\r\n onProcessEnd(); // 処理が始まる前ならすぐに終了処理を実行\r\n } else {\r\n // キャンセルフラグを更新(refならすぐに反映される)\r\n cancelRef.current = true;\r\n onProcessCancel(); //親コンポーネントでキャンセル処理\r\n }\r\n }}\r\n style={{ marginLeft: \"10px\" }}\r\n >\r\n {__(\"Cancel\", \"markdown-block\")}\r\n </Button>\r\n </div>\r\n </>\r\n );\r\n}\r\n"],"names":["UpdateAllPostsBlockAttributes","_ref","postType","blockName","newAttributes","onProcessStart","onProcessEnd","onProcessCancel","progress","setProgress","useState","cancelRef","useRef","updatePostBlockAttributes","_ref2","_asyncToGenerator","allPosts","page","hasMore","path","concat","posts","apiFetch","push","length","allCount","processCount","current","post","content","raw","console","warn","id","log","blocks","parse","updatedBlocks","map","block","name","attributes","_objectSpread","updatedContent","serialize","method","data","error","message","Math","round","apply","arguments","React","createElement","Fragment","ProgressBar","value","className","style","width","margin","Button","variant","onClick","disabled","__","marginLeft"],"mappings":"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"}