itmar-block-packages 2.1.2 → 3.0.2

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 (218) hide show
  1. package/README.md +18 -4
  2. package/build/cjs/AnimationBlock.js +61 -92
  3. package/build/cjs/AnimationBlock.js.map +1 -1
  4. package/build/cjs/BlockEditWrapper.js +3 -10
  5. package/build/cjs/BlockEditWrapper.js.map +1 -1
  6. package/build/cjs/BlockPlace.js +277 -482
  7. package/build/cjs/BlockPlace.js.map +1 -1
  8. package/build/cjs/BrockInserter.js +195 -191
  9. package/build/cjs/BrockInserter.js.map +1 -1
  10. package/build/cjs/DateElm.js +254 -281
  11. package/build/cjs/DateElm.js.map +1 -1
  12. package/build/cjs/DraggableBox.js +99 -129
  13. package/build/cjs/DraggableBox.js.map +1 -1
  14. package/build/cjs/GridControls.js +292 -392
  15. package/build/cjs/GridControls.js.map +1 -1
  16. package/build/cjs/IconSelectControl.js +65 -156
  17. package/build/cjs/IconSelectControl.js.map +1 -1
  18. package/build/cjs/JapaneseHolidays.js +67 -76
  19. package/build/cjs/JapaneseHolidays.js.map +1 -1
  20. package/build/cjs/MasonryControl.js +95 -100
  21. package/build/cjs/MasonryControl.js.map +1 -1
  22. package/build/cjs/PseudoElm.js +37 -50
  23. package/build/cjs/PseudoElm.js.map +1 -1
  24. package/build/cjs/ShadowStyle.js +216 -430
  25. package/build/cjs/ShadowStyle.js.map +1 -1
  26. package/build/cjs/SwiperControl.js +240 -241
  27. package/build/cjs/SwiperControl.js.map +1 -1
  28. package/build/cjs/ToggleElement.js +17 -9
  29. package/build/cjs/ToggleElement.js.map +1 -1
  30. package/build/cjs/TypographyControls.js +73 -139
  31. package/build/cjs/TypographyControls.js.map +1 -1
  32. package/build/cjs/UpdateAllPostsBlockAttributes.js +102 -119
  33. package/build/cjs/UpdateAllPostsBlockAttributes.js.map +1 -1
  34. package/build/cjs/ZipAddress.js +27 -23
  35. package/build/cjs/ZipAddress.js.map +1 -1
  36. package/build/cjs/blockStore.js +42 -47
  37. package/build/cjs/blockStore.js.map +1 -1
  38. package/build/cjs/cssPropertes.js +165 -117
  39. package/build/cjs/cssPropertes.js.map +1 -1
  40. package/build/cjs/customHooks.js +277 -0
  41. package/build/cjs/customHooks.js.map +1 -0
  42. package/build/cjs/formatCreate.js +115 -145
  43. package/build/cjs/formatCreate.js.map +1 -1
  44. package/build/cjs/hslToRgb.js +112 -116
  45. package/build/cjs/hslToRgb.js.map +1 -1
  46. package/build/cjs/index.js +15 -11
  47. package/build/cjs/index.js.map +1 -1
  48. package/build/cjs/mediaUpload.js +95 -158
  49. package/build/cjs/mediaUpload.js.map +1 -1
  50. package/build/cjs/node_modules/swiper/shared/ssr-window.esm.js +144 -0
  51. package/build/cjs/node_modules/swiper/shared/ssr-window.esm.js.map +1 -0
  52. package/build/cjs/node_modules/swiper/shared/swiper-core.js +3925 -0
  53. package/build/cjs/node_modules/swiper/shared/swiper-core.js.map +1 -0
  54. package/build/cjs/node_modules/swiper/shared/utils.js +294 -0
  55. package/build/cjs/node_modules/swiper/shared/utils.js.map +1 -0
  56. package/build/cjs/pickupStore.js +56 -54
  57. package/build/cjs/pickupStore.js.map +1 -1
  58. package/build/cjs/shopfiApi.js +127 -138
  59. package/build/cjs/shopfiApi.js.map +1 -1
  60. package/build/cjs/types/AnimationBlock.d.ts +22 -0
  61. package/build/cjs/types/BlockEditWrapper.d.ts +7 -0
  62. package/build/cjs/types/BlockPlace.d.ts +49 -0
  63. package/build/cjs/types/BrockInserter.d.ts +6 -0
  64. package/build/cjs/types/DateElm.d.ts +69 -0
  65. package/build/cjs/types/DraggableBox.d.ts +19 -0
  66. package/build/cjs/types/GridControls.d.ts +27 -0
  67. package/build/cjs/types/IconSelectControl.d.ts +17 -0
  68. package/build/cjs/types/JapaneseHolidays.d.ts +6 -0
  69. package/build/cjs/types/MasonryControl.d.ts +35 -0
  70. package/build/cjs/types/PseudoElm.d.ts +11 -0
  71. package/build/cjs/types/ShadowStyle.d.ts +33 -0
  72. package/build/cjs/types/SwiperControl.d.ts +12 -0
  73. package/build/cjs/types/ToggleElement.d.ts +13 -0
  74. package/build/cjs/types/TypographyControls.d.ts +17 -0
  75. package/build/cjs/types/UpdateAllPostsBlockAttributes.d.ts +10 -0
  76. package/build/cjs/types/ZipAddress.d.ts +18 -0
  77. package/build/cjs/types/blockStore.d.ts +15 -0
  78. package/build/cjs/types/cssPropertes.d.ts +53 -0
  79. package/build/cjs/types/customHooks.d.ts +11 -0
  80. package/build/cjs/types/formatCreate.d.ts +18 -0
  81. package/build/cjs/types/hslToRgb.d.ts +23 -0
  82. package/build/cjs/types/index.d.ts +31 -0
  83. package/build/cjs/types/mediaUpload.d.ts +29 -0
  84. package/build/cjs/types/pickupStore.d.ts +39 -0
  85. package/build/cjs/types/shopfiApi.d.ts +18 -0
  86. package/build/cjs/types/validationCheck.d.ts +5 -0
  87. package/build/cjs/types/wordpressApi.d.ts +99 -0
  88. package/build/cjs/validationCheck.js +15 -9
  89. package/build/cjs/validationCheck.js.map +1 -1
  90. package/build/cjs/wordpressApi.js +364 -576
  91. package/build/cjs/wordpressApi.js.map +1 -1
  92. package/build/esm/AnimationBlock.d.ts +22 -0
  93. package/build/esm/AnimationBlock.js +61 -92
  94. package/build/esm/AnimationBlock.js.map +1 -1
  95. package/build/esm/BlockEditWrapper.d.ts +7 -0
  96. package/build/esm/BlockEditWrapper.js +4 -11
  97. package/build/esm/BlockEditWrapper.js.map +1 -1
  98. package/build/esm/BlockPlace.d.ts +49 -0
  99. package/build/esm/BlockPlace.js +279 -484
  100. package/build/esm/BlockPlace.js.map +1 -1
  101. package/build/esm/BrockInserter.d.ts +6 -0
  102. package/build/esm/BrockInserter.js +195 -191
  103. package/build/esm/BrockInserter.js.map +1 -1
  104. package/build/esm/DateElm.d.ts +69 -0
  105. package/build/esm/DateElm.js +254 -281
  106. package/build/esm/DateElm.js.map +1 -1
  107. package/build/esm/DraggableBox.d.ts +19 -0
  108. package/build/esm/DraggableBox.js +99 -129
  109. package/build/esm/DraggableBox.js.map +1 -1
  110. package/build/esm/GridControls.d.ts +27 -0
  111. package/build/esm/GridControls.js +294 -394
  112. package/build/esm/GridControls.js.map +1 -1
  113. package/build/esm/IconSelectControl.d.ts +17 -0
  114. package/build/esm/IconSelectControl.js +65 -156
  115. package/build/esm/IconSelectControl.js.map +1 -1
  116. package/build/esm/JapaneseHolidays.d.ts +6 -0
  117. package/build/esm/JapaneseHolidays.js +67 -76
  118. package/build/esm/JapaneseHolidays.js.map +1 -1
  119. package/build/esm/MasonryControl.d.ts +35 -0
  120. package/build/esm/MasonryControl.js +95 -100
  121. package/build/esm/MasonryControl.js.map +1 -1
  122. package/build/esm/PseudoElm.d.ts +11 -0
  123. package/build/esm/PseudoElm.js +37 -50
  124. package/build/esm/PseudoElm.js.map +1 -1
  125. package/build/esm/ShadowStyle.d.ts +33 -0
  126. package/build/esm/ShadowStyle.js +217 -431
  127. package/build/esm/ShadowStyle.js.map +1 -1
  128. package/build/esm/SwiperControl.d.ts +12 -0
  129. package/build/esm/SwiperControl.js +240 -241
  130. package/build/esm/SwiperControl.js.map +1 -1
  131. package/build/esm/ToggleElement.d.ts +13 -0
  132. package/build/esm/ToggleElement.js +17 -9
  133. package/build/esm/ToggleElement.js.map +1 -1
  134. package/build/esm/TypographyControls.d.ts +17 -0
  135. package/build/esm/TypographyControls.js +73 -139
  136. package/build/esm/TypographyControls.js.map +1 -1
  137. package/build/esm/UpdateAllPostsBlockAttributes.d.ts +10 -0
  138. package/build/esm/UpdateAllPostsBlockAttributes.js +103 -120
  139. package/build/esm/UpdateAllPostsBlockAttributes.js.map +1 -1
  140. package/build/esm/ZipAddress.d.ts +18 -0
  141. package/build/esm/ZipAddress.js +27 -23
  142. package/build/esm/ZipAddress.js.map +1 -1
  143. package/build/esm/blockStore.d.ts +15 -0
  144. package/build/esm/blockStore.js +42 -47
  145. package/build/esm/blockStore.js.map +1 -1
  146. package/build/esm/cssPropertes.d.ts +53 -0
  147. package/build/esm/cssPropertes.js +165 -117
  148. package/build/esm/cssPropertes.js.map +1 -1
  149. package/build/esm/customHooks.d.ts +11 -0
  150. package/build/esm/customHooks.js +267 -0
  151. package/build/esm/customHooks.js.map +1 -0
  152. package/build/esm/formatCreate.d.ts +18 -0
  153. package/build/esm/formatCreate.js +115 -145
  154. package/build/esm/formatCreate.js.map +1 -1
  155. package/build/esm/hslToRgb.d.ts +23 -0
  156. package/build/esm/hslToRgb.js +112 -116
  157. package/build/esm/hslToRgb.js.map +1 -1
  158. package/build/esm/index.d.ts +27 -0
  159. package/build/esm/index.js +8 -1
  160. package/build/esm/index.js.map +1 -1
  161. package/build/esm/mediaUpload.d.ts +29 -0
  162. package/build/esm/mediaUpload.js +95 -158
  163. package/build/esm/mediaUpload.js.map +1 -1
  164. package/build/esm/node_modules/swiper/shared/ssr-window.esm.js +141 -0
  165. package/build/esm/node_modules/swiper/shared/ssr-window.esm.js.map +1 -0
  166. package/build/esm/node_modules/swiper/shared/swiper-core.js +3922 -0
  167. package/build/esm/node_modules/swiper/shared/swiper-core.js.map +1 -0
  168. package/build/esm/node_modules/swiper/shared/utils.js +274 -0
  169. package/build/esm/node_modules/swiper/shared/utils.js.map +1 -0
  170. package/build/esm/pickupStore.d.ts +39 -0
  171. package/build/esm/pickupStore.js +56 -54
  172. package/build/esm/pickupStore.js.map +1 -1
  173. package/build/esm/shopfiApi.d.ts +18 -0
  174. package/build/esm/shopfiApi.js +127 -138
  175. package/build/esm/shopfiApi.js.map +1 -1
  176. package/build/esm/types/AnimationBlock.d.ts +22 -0
  177. package/build/esm/types/BlockEditWrapper.d.ts +7 -0
  178. package/build/esm/types/BlockPlace.d.ts +49 -0
  179. package/build/esm/types/BrockInserter.d.ts +6 -0
  180. package/build/esm/types/DateElm.d.ts +69 -0
  181. package/build/esm/types/DraggableBox.d.ts +19 -0
  182. package/build/esm/types/GridControls.d.ts +27 -0
  183. package/build/esm/types/IconSelectControl.d.ts +17 -0
  184. package/build/esm/types/JapaneseHolidays.d.ts +6 -0
  185. package/build/esm/types/MasonryControl.d.ts +35 -0
  186. package/build/esm/types/PseudoElm.d.ts +11 -0
  187. package/build/esm/types/ShadowStyle.d.ts +33 -0
  188. package/build/esm/types/SwiperControl.d.ts +12 -0
  189. package/build/esm/types/ToggleElement.d.ts +13 -0
  190. package/build/esm/types/TypographyControls.d.ts +17 -0
  191. package/build/esm/types/UpdateAllPostsBlockAttributes.d.ts +10 -0
  192. package/build/esm/types/ZipAddress.d.ts +18 -0
  193. package/build/esm/types/blockStore.d.ts +15 -0
  194. package/build/esm/types/cssPropertes.d.ts +53 -0
  195. package/build/esm/types/customHooks.d.ts +11 -0
  196. package/build/esm/types/formatCreate.d.ts +18 -0
  197. package/build/esm/types/hslToRgb.d.ts +23 -0
  198. package/build/esm/types/index.d.ts +31 -0
  199. package/build/esm/types/mediaUpload.d.ts +29 -0
  200. package/build/esm/types/pickupStore.d.ts +39 -0
  201. package/build/esm/types/shopfiApi.d.ts +18 -0
  202. package/build/esm/types/validationCheck.d.ts +5 -0
  203. package/build/esm/types/wordpressApi.d.ts +99 -0
  204. package/build/esm/validationCheck.d.ts +5 -0
  205. package/build/esm/validationCheck.js +15 -9
  206. package/build/esm/validationCheck.js.map +1 -1
  207. package/build/esm/wordpressApi.d.ts +99 -0
  208. package/build/esm/wordpressApi.js +365 -577
  209. package/build/esm/wordpressApi.js.map +1 -1
  210. package/package.json +29 -7
  211. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -117
  212. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  213. package/build/cjs/customFooks.js +0 -300
  214. package/build/cjs/customFooks.js.map +0 -1
  215. package/build/esm/_virtual/_rollupPluginBabelHelpers.js +0 -107
  216. package/build/esm/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  217. package/build/esm/customFooks.js +0 -290
  218. package/build/esm/customFooks.js.map +0 -1
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Masonry グリッドを初期化する共通関数
3
+ *
4
+ * @param {HTMLElement} gridEl - `.itmar-masonry-grid` のコンテナ要素
5
+ * @param {Array<{ url: string, alt?: string }>} images - 描画する画像リスト
6
+ * @param {Object} options
7
+ * @param {number} options.columns - カラム数
8
+ * @param {boolean} [options.renderItems=true]
9
+ * true: この関数内で gridEl をクリアして <figure><img> を追加する
10
+ * false: 既にある .itmar-masonry-item をそのまま使い、幅だけ更新する
11
+ *
12
+ * @returns {any|null} Masonry インスタンス(なければ null)
13
+ */
14
+ declare global {
15
+ interface Window {
16
+ Masonry: any;
17
+ imagesLoaded: any;
18
+ }
19
+ interface HTMLElement {
20
+ __masonryInstance?: any;
21
+ }
22
+ }
23
+ interface MasonryImage {
24
+ url: string;
25
+ alt?: string;
26
+ }
27
+ interface MasonryOptions {
28
+ columns?: number;
29
+ renderItems?: boolean;
30
+ }
31
+ /**
32
+ * Masonry レイアウトを初期化・更新する
33
+ */
34
+ export default function MasonryControl(gridEl: HTMLElement | null, images?: MasonryImage[], { columns, renderItems }?: MasonryOptions): any;
35
+ export {};
@@ -11,109 +11,104 @@
11
11
  *
12
12
  * @returns {any|null} Masonry インスタンス(なければ null)
13
13
  */
14
-
15
- function MasonryControl(gridEl) {
16
- var images = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
17
- var {
18
- columns = 1,
19
- renderItems = true
20
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
21
- if (!gridEl) return null;
22
- var columnWidthPercent = 100 / (columns || 1);
23
-
24
- // 既存インスタンスがあれば破棄(再初期化に対応)
25
- if (gridEl.__masonryInstance) {
26
- try {
27
- gridEl.__masonryInstance.destroy();
28
- } catch (e) {
29
- console.warn("Failed to destroy previous Masonry instance", e);
14
+ /**
15
+ * Masonry レイアウトを初期化・更新する
16
+ */
17
+ function MasonryControl(gridEl, images = [], { columns = 1, renderItems = true } = {}) {
18
+ if (!gridEl)
19
+ return null;
20
+ const columnWidthPercent = 100 / (columns || 1);
21
+ // 既存インスタンスがあれば破棄(再初期化に対応)
22
+ if (gridEl.__masonryInstance) {
23
+ try {
24
+ gridEl.__masonryInstance.destroy();
25
+ }
26
+ catch (e) {
27
+ console.warn("Failed to destroy previous Masonry instance", e);
28
+ }
29
+ gridEl.__masonryInstance = null;
30
30
  }
31
- gridEl.__masonryInstance = null;
32
- }
33
-
34
- // ---------------------------
35
- // 1) アイテムの DOM を構築 or 更新
36
- // ---------------------------
37
- if (renderItems) {
38
- // コンテナ全部は消さない。マソンリー用の要素だけを削除する
39
- gridEl.querySelectorAll(".itmar-masonry-sizer, .itmar-masonry-item").forEach(node => node.remove());
40
-
41
- // sizer 追加
42
- var sizer = document.createElement("div");
43
- sizer.className = "itmar-masonry-sizer";
44
- sizer.style.width = "".concat(columnWidthPercent, "%");
45
- gridEl.appendChild(sizer);
46
-
47
- // 画像アイテム追加
48
- images.forEach((item, index) => {
49
- var fig = document.createElement("figure");
50
- fig.className = "itmar-masonry-item";
51
- fig.style.width = "".concat(columnWidthPercent, "%");
52
-
53
- // クリック検知用の a タグ
54
- var link = document.createElement("a");
55
- link.href = "#";
56
- link.className = "itmar-masonry-link";
57
- link.dataset.masonryIndex = String(index);
58
- //img要素
59
- var img = document.createElement("img");
60
- img.src = item.url;
61
- img.alt = item.alt || "";
62
- img.style.display = "block";
63
- img.style.width = "100%";
64
- img.style.height = "auto";
65
- link.appendChild(img);
66
- fig.appendChild(link);
67
- gridEl.appendChild(fig);
68
- });
69
- } else {
70
- // React 側(edit.js)みたいに、すでに <figure> が描画されている場合
71
- // sizer がなければ作る
72
- var _sizer = gridEl.querySelector(".itmar-masonry-sizer");
73
- if (!_sizer) {
74
- _sizer = document.createElement("div");
75
- _sizer.className = "itmar-masonry-sizer";
76
- gridEl.insertBefore(_sizer, gridEl.firstChild || null);
31
+ // ---------------------------
32
+ // 1) アイテムの DOM を構築 or 更新
33
+ // ---------------------------
34
+ if (renderItems) {
35
+ // コンテナ全部は消さない。マソンリー用の要素だけを削除する
36
+ gridEl
37
+ .querySelectorAll(".itmar-masonry-sizer, .itmar-masonry-item")
38
+ .forEach((node) => node.remove());
39
+ // sizer 追加
40
+ const sizer = document.createElement("div");
41
+ sizer.className = "itmar-masonry-sizer";
42
+ sizer.style.width = `${columnWidthPercent}%`;
43
+ gridEl.appendChild(sizer);
44
+ // 画像アイテム追加
45
+ images.forEach((item, index) => {
46
+ const fig = document.createElement("figure");
47
+ fig.className = "itmar-masonry-item";
48
+ fig.style.width = `${columnWidthPercent}%`;
49
+ // クリック検知用の a タグ
50
+ const link = document.createElement("a");
51
+ link.href = "#";
52
+ link.className = "itmar-masonry-link";
53
+ link.dataset.masonryIndex = String(index);
54
+ //img要素
55
+ const img = document.createElement("img");
56
+ img.src = item.url;
57
+ img.alt = item.alt || "";
58
+ img.style.display = "block";
59
+ img.style.width = "100%";
60
+ img.style.height = "auto";
61
+ link.appendChild(img);
62
+ fig.appendChild(link);
63
+ gridEl.appendChild(fig);
64
+ });
77
65
  }
78
- _sizer.style.width = "".concat(columnWidthPercent, "%");
79
-
80
- // 既存 item の幅だけ更新
81
- gridEl.querySelectorAll(".itmar-masonry-item").forEach(fig => {
82
- fig.style.width = "".concat(columnWidthPercent, "%");
66
+ else {
67
+ // React 側(edit.js)みたいに、すでに <figure> が描画されている場合
68
+ // sizer がなければ作る
69
+ let sizer = gridEl.querySelector(".itmar-masonry-sizer");
70
+ if (!sizer) {
71
+ sizer = document.createElement("div");
72
+ sizer.className = "itmar-masonry-sizer";
73
+ gridEl.insertBefore(sizer, gridEl.firstChild || null);
74
+ }
75
+ sizer.style.width = `${columnWidthPercent}%`;
76
+ // 既存 item の幅だけ更新
77
+ gridEl.querySelectorAll(".itmar-masonry-item").forEach((node) => {
78
+ node.style.width = `${columnWidthPercent}%`;
79
+ });
80
+ }
81
+ // ---------------------------
82
+ // 2) Masonry / imagesLoaded を iframe-aware に取得
83
+ // ---------------------------
84
+ let win = null;
85
+ if (gridEl.ownerDocument && gridEl.ownerDocument.defaultView) {
86
+ // サイトエディタ・ブロックエディタの iframe 内ならこっち
87
+ win = gridEl.ownerDocument.defaultView;
88
+ }
89
+ else if (typeof window !== "undefined") {
90
+ // フロントなら普通に window
91
+ win = window;
92
+ }
93
+ if (!win || !win.Masonry || !win.imagesLoaded) {
94
+ // ライブラリが読み込まれていない場合は、
95
+ // DOM だけ作って終了(レイアウトはブラウザ任せ)
96
+ return null;
97
+ }
98
+ const MasonryCtor = win.Masonry;
99
+ const imagesLoadedFn = win.imagesLoaded;
100
+ const msnry = new MasonryCtor(gridEl, {
101
+ itemSelector: ".itmar-masonry-item",
102
+ columnWidth: ".itmar-masonry-sizer",
103
+ percentPosition: true,
83
104
  });
84
- }
85
-
86
- // ---------------------------
87
- // 2) Masonry / imagesLoaded を iframe-aware に取得
88
- // ---------------------------
89
- var win = null;
90
- if (gridEl.ownerDocument && gridEl.ownerDocument.defaultView) {
91
- // サイトエディタ・ブロックエディタの iframe 内ならこっち
92
- win = gridEl.ownerDocument.defaultView;
93
- } else if (typeof window !== "undefined") {
94
- // フロントなら普通に window
95
- win = window;
96
- }
97
- if (!win || !win.Masonry || !win.imagesLoaded) {
98
- // ライブラリが読み込まれていない場合は、
99
- // DOM だけ作って終了(レイアウトはブラウザ任せ)
100
- return null;
101
- }
102
- var MasonryCtor = win.Masonry;
103
- var imagesLoadedFn = win.imagesLoaded;
104
- var msnry = new MasonryCtor(gridEl, {
105
- itemSelector: ".itmar-masonry-item",
106
- columnWidth: ".itmar-masonry-sizer",
107
- percentPosition: true
108
- });
109
- var imgLoad = imagesLoadedFn(gridEl);
110
- imgLoad.on("progress", () => {
111
- msnry.layout();
112
- });
113
-
114
- // 後から破棄できるように要素に紐付けておく
115
- gridEl.__masonryInstance = msnry;
116
- return msnry;
105
+ const imgLoad = imagesLoadedFn(gridEl);
106
+ imgLoad.on("progress", () => {
107
+ msnry.layout();
108
+ });
109
+ // 後から破棄できるように要素に紐付けておく
110
+ gridEl.__masonryInstance = msnry;
111
+ return msnry;
117
112
  }
118
113
 
119
114
  export { MasonryControl as default };
@@ -1 +1 @@
1
- {"version":3,"file":"MasonryControl.js","sources":["../../src/MasonryControl.js"],"sourcesContent":["/**\n * Masonry グリッドを初期化する共通関数\n *\n * @param {HTMLElement} gridEl - `.itmar-masonry-grid` のコンテナ要素\n * @param {Array<{ url: string, alt?: string }>} images - 描画する画像リスト\n * @param {Object} options\n * @param {number} options.columns - カラム数\n * @param {boolean} [options.renderItems=true]\n * true: この関数内で gridEl をクリアして <figure><img> を追加する\n * false: 既にある .itmar-masonry-item をそのまま使い、幅だけ更新する\n *\n * @returns {any|null} Masonry インスタンス(なければ null)\n */\n\nexport default function MasonryControl(\n gridEl,\n images = [],\n { columns = 1, renderItems = true } = {}\n) {\n if (!gridEl) return null;\n const columnWidthPercent = 100 / (columns || 1);\n\n // 既存インスタンスがあれば破棄(再初期化に対応)\n if (gridEl.__masonryInstance) {\n try {\n gridEl.__masonryInstance.destroy();\n } catch (e) {\n console.warn(\"Failed to destroy previous Masonry instance\", e);\n }\n gridEl.__masonryInstance = null;\n }\n\n // ---------------------------\n // 1) アイテムの DOM を構築 or 更新\n // ---------------------------\n if (renderItems) {\n // ★ コンテナ全部は消さない。マソンリー用の要素だけを削除する\n gridEl\n .querySelectorAll(\".itmar-masonry-sizer, .itmar-masonry-item\")\n .forEach((node) => node.remove());\n\n // sizer 追加\n const sizer = document.createElement(\"div\");\n sizer.className = \"itmar-masonry-sizer\";\n sizer.style.width = `${columnWidthPercent}%`;\n gridEl.appendChild(sizer);\n\n // 画像アイテム追加\n images.forEach((item, index) => {\n const fig = document.createElement(\"figure\");\n fig.className = \"itmar-masonry-item\";\n fig.style.width = `${columnWidthPercent}%`;\n\n // クリック検知用の a タグ\n const link = document.createElement(\"a\");\n link.href = \"#\";\n link.className = \"itmar-masonry-link\";\n link.dataset.masonryIndex = String(index);\n //img要素\n const img = document.createElement(\"img\");\n img.src = item.url;\n img.alt = item.alt || \"\";\n img.style.display = \"block\";\n img.style.width = \"100%\";\n img.style.height = \"auto\";\n\n link.appendChild(img);\n fig.appendChild(link);\n gridEl.appendChild(fig);\n });\n } else {\n // React 側(edit.js)みたいに、すでに <figure> が描画されている場合\n // sizer がなければ作る\n let sizer = gridEl.querySelector(\".itmar-masonry-sizer\");\n if (!sizer) {\n sizer = document.createElement(\"div\");\n sizer.className = \"itmar-masonry-sizer\";\n gridEl.insertBefore(sizer, gridEl.firstChild || null);\n }\n sizer.style.width = `${columnWidthPercent}%`;\n\n // 既存 item の幅だけ更新\n gridEl.querySelectorAll(\".itmar-masonry-item\").forEach((fig) => {\n fig.style.width = `${columnWidthPercent}%`;\n });\n }\n\n // ---------------------------\n // 2) Masonry / imagesLoaded を iframe-aware に取得\n // ---------------------------\n let win = null;\n\n if (gridEl.ownerDocument && gridEl.ownerDocument.defaultView) {\n // サイトエディタ・ブロックエディタの iframe 内ならこっち\n win = gridEl.ownerDocument.defaultView;\n } else if (typeof window !== \"undefined\") {\n // フロントなら普通に window\n win = window;\n }\n\n if (!win || !win.Masonry || !win.imagesLoaded) {\n // ライブラリが読み込まれていない場合は、\n // DOM だけ作って終了(レイアウトはブラウザ任せ)\n return null;\n }\n\n const MasonryCtor = win.Masonry;\n const imagesLoadedFn = win.imagesLoaded;\n\n const msnry = new MasonryCtor(gridEl, {\n itemSelector: \".itmar-masonry-item\",\n columnWidth: \".itmar-masonry-sizer\",\n percentPosition: true,\n });\n\n const imgLoad = imagesLoadedFn(gridEl);\n imgLoad.on(\"progress\", () => {\n msnry.layout();\n });\n\n // 後から破棄できるように要素に紐付けておく\n gridEl.__masonryInstance = msnry;\n\n return msnry;\n}\n"],"names":["MasonryControl","gridEl","images","arguments","length","undefined","columns","renderItems","columnWidthPercent","__masonryInstance","destroy","e","console","warn","querySelectorAll","forEach","node","remove","sizer","document","createElement","className","style","width","concat","appendChild","item","index","fig","link","href","dataset","masonryIndex","String","img","src","url","alt","display","height","querySelector","insertBefore","firstChild","win","ownerDocument","defaultView","window","Masonry","imagesLoaded","MasonryCtor","imagesLoadedFn","msnry","itemSelector","columnWidth","percentPosition","imgLoad","on","layout"],"mappings":"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"}
1
+ {"version":3,"file":"MasonryControl.js","sources":["../../src/MasonryControl.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ type ArrowDirection = "upper" | "left" | "right" | "under" | "down";
2
+ interface PseudoElmProps {
3
+ direction: ArrowDirection;
4
+ onChange: (value: ArrowDirection) => void;
5
+ }
6
+ interface ArrowProps {
7
+ direction?: ArrowDirection;
8
+ }
9
+ export declare const Arrow: ({ direction }: ArrowProps) => import("styled-components").RuleSet<object>;
10
+ declare const PseudoElm: ({ direction, onChange }: PseudoElmProps) => JSX.Element;
11
+ export default PseudoElm;
@@ -1,60 +1,47 @@
1
- import { taggedTemplateLiteral as _taggedTemplateLiteral } from './_virtual/_rollupPluginBabelHelpers.js';
1
+ import { createElement } from '@wordpress/element';
2
2
  import { __ } from '@wordpress/i18n';
3
3
  import { css } from 'styled-components';
4
4
  import { RadioControl } from '@wordpress/components';
5
5
 
6
- var _templateObject;
7
-
8
6
  // 矢印の向きに応じたスタイルを生成するヘルパー関数
9
- var arrowDirectionStyles = direction => {
10
- switch (direction) {
11
- case "left":
12
- return "transform: translate(-50%, -50%) rotate(-135deg);";
13
- case "right":
14
- return "transform: translate(-50%, -50%) rotate(45deg);";
15
- case "upper":
16
- return "transform: translate(-50%, -50%) rotate(-45deg);";
17
- case "under":
18
- return "transform: translate(-50%, -50%) rotate(135deg);";
19
- default:
20
- return "transform: translate(-50%, -50%) rotate(45deg);";
21
- // default to 'down'
22
- }
23
- };
24
-
25
- // 矢印のスタイルを適用するコンポーネント
26
- var Arrow = _ref => {
27
- var {
28
- direction = "down"
29
- } = _ref;
30
- return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n &::after {\n content: \"\";\n position: absolute;\n display: block;\n width: 15%;\n height: 15%;\n border-top: 3px solid var(--wp--preset--color--accent-2);\n border-right: 3px solid var(--wp--preset--color--accent-2);\n top: 50%;\n left: 50%;\n ", "\n }\n"])), arrowDirectionStyles(direction));
7
+ const arrowDirectionStyles = (direction) => {
8
+ switch (direction) {
9
+ case "left":
10
+ return "transform: translate(-50%, -50%) rotate(-135deg);";
11
+ case "right":
12
+ return "transform: translate(-50%, -50%) rotate(45deg);";
13
+ case "upper":
14
+ return "transform: translate(-50%, -50%) rotate(-45deg);";
15
+ case "under":
16
+ return "transform: translate(-50%, -50%) rotate(135deg);";
17
+ default:
18
+ return "transform: translate(-50%, -50%) rotate(45deg);"; // default to 'down'
19
+ }
31
20
  };
32
-
21
+ const Arrow = ({ direction = "down" }) => css `
22
+ &::after {
23
+ content: "";
24
+ position: absolute;
25
+ display: block;
26
+ width: 15%;
27
+ height: 15%;
28
+ border-top: 3px solid var(--wp--preset--color--accent-2);
29
+ border-right: 3px solid var(--wp--preset--color--accent-2);
30
+ top: 50%;
31
+ left: 50%;
32
+ ${arrowDirectionStyles(direction)}
33
+ }
34
+ `;
33
35
  //擬似要素の出力を選択させるインスペクターコントロール
34
- var PseudoElm = _ref2 => {
35
- var {
36
- direction,
37
- onChange: _onChange
38
- } = _ref2;
39
- return /*#__PURE__*/React.createElement(RadioControl, {
40
- selected: direction,
41
- options: [{
42
- label: __("Upper", "itmar_block_collections"),
43
- value: "upper"
44
- }, {
45
- label: __("Left", "itmar_block_collections"),
46
- value: "left"
47
- }, {
48
- label: __("Right", "itmar_block_collections"),
49
- value: "right"
50
- }, {
51
- label: __("Under", "itmar_block_collections"),
52
- value: "under"
53
- }],
54
- onChange: changeOption => {
55
- _onChange(changeOption);
56
- }
57
- });
36
+ const PseudoElm = ({ direction, onChange }) => {
37
+ return (createElement(RadioControl, { selected: direction, options: [
38
+ { label: __("Upper", "itmar_block_collections"), value: "upper" },
39
+ { label: __("Left", "itmar_block_collections"), value: "left" },
40
+ { label: __("Right", "itmar_block_collections"), value: "right" },
41
+ { label: __("Under", "itmar_block_collections"), value: "under" },
42
+ ], onChange: (changeOption) => {
43
+ onChange(changeOption);
44
+ } }));
58
45
  };
59
46
 
60
47
  export { Arrow, PseudoElm as default };
@@ -1 +1 @@
1
- {"version":3,"file":"PseudoElm.js","sources":["../../src/PseudoElm.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { css } from \"styled-components\";\nimport { RadioControl } from \"@wordpress/components\";\n\n// 矢印の向きに応じたスタイルを生成するヘルパー関数\nconst arrowDirectionStyles = (direction) => {\n switch (direction) {\n case \"left\":\n return \"transform: translate(-50%, -50%) rotate(-135deg);\";\n case \"right\":\n return \"transform: translate(-50%, -50%) rotate(45deg);\";\n case \"upper\":\n return \"transform: translate(-50%, -50%) rotate(-45deg);\";\n case \"under\":\n return \"transform: translate(-50%, -50%) rotate(135deg);\";\n default:\n return \"transform: translate(-50%, -50%) rotate(45deg);\"; // default to 'down'\n }\n};\n\n// 矢印のスタイルを適用するコンポーネント\nexport const Arrow = ({ direction = \"down\" }) => css`\n &::after {\n content: \"\";\n position: absolute;\n display: block;\n width: 15%;\n height: 15%;\n border-top: 3px solid var(--wp--preset--color--accent-2);\n border-right: 3px solid var(--wp--preset--color--accent-2);\n top: 50%;\n left: 50%;\n ${arrowDirectionStyles(direction)}\n }\n`;\n\n//擬似要素の出力を選択させるインスペクターコントロール\nconst PseudoElm = ({ direction, onChange }) => {\n return (\n <RadioControl\n selected={direction}\n options={[\n { label: __(\"Upper\", \"itmar_block_collections\"), value: \"upper\" },\n { label: __(\"Left\", \"itmar_block_collections\"), value: \"left\" },\n { label: __(\"Right\", \"itmar_block_collections\"), value: \"right\" },\n { label: __(\"Under\", \"itmar_block_collections\"), value: \"under\" },\n ]}\n onChange={(changeOption) => {\n onChange(changeOption);\n }}\n />\n );\n};\nexport default PseudoElm;\n"],"names":["arrowDirectionStyles","direction","Arrow","_ref","css","_templateObject","_taggedTemplateLiteral","PseudoElm","_ref2","onChange","React","createElement","RadioControl","selected","options","label","__","value","changeOption"],"mappings":";;;;;;;AAIA;AACA,IAAMA,oBAAoB,GAAIC,SAAS,IAAK;AAC1C,EAAA,QAAQA,SAAS;AACf,IAAA,KAAK,MAAM;AACT,MAAA,OAAO,mDAAmD;AAC5D,IAAA,KAAK,OAAO;AACV,MAAA,OAAO,iDAAiD;AAC1D,IAAA,KAAK,OAAO;AACV,MAAA,OAAO,kDAAkD;AAC3D,IAAA,KAAK,OAAO;AACV,MAAA,OAAO,kDAAkD;AAC3D,IAAA;AACE,MAAA,OAAO,iDAAiD;AAAE;AAC9D;AACF,CAAC;;AAED;AACO,IAAMC,KAAK,GAAGC,IAAA,IAAA;EAAA,IAAC;AAAEF,IAAAA,SAAS,GAAG;AAAO,GAAC,GAAAE,IAAA;EAAA,OAAKC,GAAG,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,CAAA,CAAA,0RAAA,EAAA,SAAA,CAAA,CAAA,CAAA,EAW9CN,oBAAoB,CAACC,SAAS,CAAC,CAAA;AAAA;;AAIrC;AACA,IAAMM,SAAS,GAAGC,KAAA,IAA6B;EAAA,IAA5B;IAAEP,SAAS;AAAEQ,IAAAA,QAAQ,EAARA;AAAS,GAAC,GAAAD,KAAA;AACxC,EAAA,oBACEE,KAAA,CAAAC,aAAA,CAACC,YAAY,EAAA;AACXC,IAAAA,QAAQ,EAAEZ,SAAU;AACpBa,IAAAA,OAAO,EAAE,CACP;AAAEC,MAAAA,KAAK,EAAEC,EAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC;AAAEC,MAAAA,KAAK,EAAE;AAAQ,KAAC,EACjE;AAAEF,MAAAA,KAAK,EAAEC,EAAE,CAAC,MAAM,EAAE,yBAAyB,CAAC;AAAEC,MAAAA,KAAK,EAAE;AAAO,KAAC,EAC/D;AAAEF,MAAAA,KAAK,EAAEC,EAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC;AAAEC,MAAAA,KAAK,EAAE;AAAQ,KAAC,EACjE;AAAEF,MAAAA,KAAK,EAAEC,EAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC;AAAEC,MAAAA,KAAK,EAAE;AAAQ,KAAC,CACjE;IACFR,QAAQ,EAAGS,YAAY,IAAK;MAC1BT,SAAQ,CAACS,YAAY,CAAC;AACxB,IAAA;AAAE,GACH,CAAC;AAEN;;;;"}
1
+ {"version":3,"file":"PseudoElm.js","sources":["../../src/PseudoElm.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAcA;AACA,MAAM,oBAAoB,GAAG,CAAC,SAAyB,KAAI;IACzD,QAAQ,SAAS;AACf,QAAA,KAAK,MAAM;AACT,YAAA,OAAO,mDAAmD;AAC5D,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,iDAAiD;AAC1D,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,kDAAkD;AAC3D,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,kDAAkD;AAC3D,QAAA;YACE,OAAO,iDAAiD,CAAC;;AAE/D,CAAC;AAMM,MAAM,KAAK,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,EAAc,KAAK,GAAG,CAAA;;;;;;;;;;;MAW1D,oBAAoB,CAAC,SAAS,CAAC;;;AAIrC;AACA,MAAM,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAkB,KAAI;IAC5D,QACE,cAAC,YAAY,EAAA,EACX,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE;AACP,YAAA,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;AACjE,YAAA,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,yBAAyB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;AAC/D,YAAA,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;AACjE,YAAA,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;AAClE,SAAA,EACD,QAAQ,EAAE,CAAC,YAAY,KAAI;YACzB,QAAQ,CAAC,YAA8B,CAAC;QAC1C,CAAC,EAAA,CACD;AAEN;;;;"}
@@ -0,0 +1,33 @@
1
+ type CornerDirection = "top_left" | "top_right" | "bottom_left" | "bottom_right" | "right_bottom" | "top";
2
+ interface ShadowState {
3
+ shadowType: "nomal" | "newmor" | "claymor" | "glassmor";
4
+ spread: number;
5
+ lateral: number;
6
+ longitude: number;
7
+ nomalBlur: number;
8
+ shadowColor: string;
9
+ blur: number;
10
+ intensity: number;
11
+ distance: number;
12
+ newDirection: CornerDirection;
13
+ clayDirection: CornerDirection;
14
+ embos: "swell" | "dent";
15
+ opacity: number;
16
+ depth: number;
17
+ bdBlur: number;
18
+ expand: number;
19
+ glassblur: number;
20
+ glassopa: number;
21
+ hasOutline: boolean;
22
+ baseColor: string;
23
+ }
24
+ interface ShadowResult {
25
+ style: React.CSSProperties;
26
+ }
27
+ export declare const ShadowElm: (shadowState: ShadowState) => ShadowResult | null;
28
+ interface ShadowStyleProps {
29
+ shadowStyle: ShadowState;
30
+ onChange: (elm: ShadowResult, state: ShadowState) => void;
31
+ }
32
+ declare const ShadowStyle: ({ shadowStyle, onChange }: ShadowStyleProps) => JSX.Element;
33
+ export default ShadowStyle;