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
@@ -1,177 +1,114 @@
1
1
  'use strict';
2
2
 
3
+ var element = require('@wordpress/element');
3
4
  var blockEditor = require('@wordpress/block-editor');
4
5
  var i18n = require('@wordpress/i18n');
5
6
  var components = require('@wordpress/components');
6
7
 
7
- function SingleImageSelect(props) {
8
- var {
9
- attributes
10
- } = props;
11
- var {
12
- mediaID,
13
- media
14
- } = attributes;
15
-
16
- //URL の配列から画像を生成
17
- var getImage = image => {
18
- //メディアオブジェクトの配列をループ処理
19
- return /*#__PURE__*/React.createElement("figure", null, /*#__PURE__*/React.createElement("img", {
20
- src: image.url,
21
- className: "image",
22
- alt: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u753B\u50CF"
23
- }));
24
- };
25
-
26
- //メディアライブラリを開くボタンをレンダリングする関数
27
- var getImageButton = open => {
28
- if (media) {
29
- return /*#__PURE__*/React.createElement("div", {
30
- onClick: open,
31
- className: "block-container"
32
- }, getImage(media));
33
- } else {
34
- return /*#__PURE__*/React.createElement("div", {
35
- className: "button-container"
36
- }, /*#__PURE__*/React.createElement(components.Button, {
37
- onClick: open,
38
- className: "button button-large"
39
- }, i18n.__("Sel", "itmar_mv_blocks")));
40
- }
41
- };
42
- return /*#__PURE__*/React.createElement(blockEditor.MediaUploadCheck, null, /*#__PURE__*/React.createElement(blockEditor.MediaUpload, {
43
- onSelect: media => props.onSelectChange(media),
44
- allowedTypes: ["image"],
45
- value: mediaID,
46
- render: _ref => {
47
- var {
48
- open
49
- } = _ref;
50
- return getImageButton(open);
51
- }
52
- }));
8
+ function SingleImageSelect({ attributes, onSelectChange, }) {
9
+ const { mediaID, media } = attributes;
10
+ //URL の配列から画像を生成
11
+ const getImage = (image) => {
12
+ //メディアオブジェクトの配列をループ処理
13
+ return (element.createElement("figure", null,
14
+ element.createElement("img", { src: image.url, className: "image", alt: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u753B\u50CF" })));
15
+ };
16
+ //メディアライブラリを開くボタンをレンダリングする関数
17
+ const getImageButton = (open) => {
18
+ if (media) {
19
+ return (element.createElement("div", { onClick: open, className: "block-container" }, getImage(media)));
20
+ }
21
+ else {
22
+ return (element.createElement("div", { className: "button-container" },
23
+ element.createElement(components.Button, { onClick: open, className: "button button-large" }, i18n.__("Sel", "itmar_mv_blocks"))));
24
+ }
25
+ };
26
+ return (element.createElement(blockEditor.MediaUploadCheck, null,
27
+ element.createElement(blockEditor.MediaUpload, { onSelect: (newMedia) => onSelectChange(newMedia), allowedTypes: ["image"], value: mediaID, render: ({ open }) => getImageButton(open) })));
53
28
  }
54
- function MultiImageSelect(props) {
55
- var {
56
- attributes,
57
- label
58
- } = props;
59
- var {
60
- mediaID,
61
- media
62
- } = attributes;
63
-
64
- //URL の配列から画像を生成
65
- var getImages = media => {
66
- //メディアオブジェクトの配列をループ処理
67
- var imagesArray = media.map((image, index) => {
68
- return /*#__PURE__*/React.createElement("figure", {
69
- key: index
70
- }, /*#__PURE__*/React.createElement("img", {
71
- src: image.url,
72
- className: "image",
73
- alt: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u753B\u50CF"
74
- }), /*#__PURE__*/React.createElement("figcaption", {
75
- className: "block-image-caption"
76
- }, image.caption ? image.caption : ""));
77
- });
78
- return imagesArray;
79
- };
80
-
81
- //メディアライブラリを開くボタンをレンダリングする関数
82
- var getImageButton = open => {
83
- if (media.length > 0) {
84
- return /*#__PURE__*/React.createElement("div", {
85
- key: "media-container",
86
- onClick: open,
87
- className: "block-container"
88
- }, getImages(media));
89
- } else {
90
- return /*#__PURE__*/React.createElement("div", {
91
- key: "media-container",
92
- className: "button-container"
93
- }, /*#__PURE__*/React.createElement(components.Button, {
94
- onClick: open,
95
- className: "button button-large"
96
- }, i18n.__("Image Upload", "slide-blocks")));
97
- }
98
- };
99
- return /*#__PURE__*/React.createElement(components.PanelBody, {
100
- title: label,
101
- initialOpen: true,
102
- className: "itmar_image_display"
103
- }, /*#__PURE__*/React.createElement(blockEditor.MediaUploadCheck, null, /*#__PURE__*/React.createElement(blockEditor.MediaUpload, {
104
- multiple: true,
105
- gallery: true //追加
106
- ,
107
- onSelect: media => props.onSelectChange(media),
108
- allowedTypes: ["image"],
109
- value: mediaID,
110
- render: _ref2 => {
111
- var {
112
- open
113
- } = _ref2;
114
- return getImageButton(open);
115
- }
116
- })), media.length != 0 &&
117
- /*#__PURE__*/
118
- //メディアオブジェクト(配列の長さ)で判定
119
- React.createElement(blockEditor.MediaUploadCheck, null, /*#__PURE__*/React.createElement(components.Button, {
120
- onClick: () => props.onAllDelete(),
121
- variant: "secondary",
122
- isDestructive: true,
123
- className: "removeImage"
124
- }, i18n.__("Delete All", "slide-blocks"))));
29
+ function MultiImageSelect({ attributes, label, onSelectChange, onAllDelete, }) {
30
+ const { mediaID, media = [] } = attributes; // media が undefined の場合に備えてデフォルト値を設定
31
+ //URL の配列から画像を生成
32
+ const getImages = (mediaItems) => {
33
+ //メディアオブジェクトの配列をループ処理
34
+ return mediaItems.map((image, index) => (element.createElement("figure", { key: image.id || index },
35
+ element.createElement("img", { src: image.url, className: "image", alt: image.alt || "アップロード画像" }),
36
+ element.createElement("figcaption", { className: "block-image-caption" }, image.caption ? image.caption : ""))));
37
+ };
38
+ //メディアライブラリを開くボタンをレンダリングする関数
39
+ const getImageButton = (open) => {
40
+ if (media.length > 0) {
41
+ return (element.createElement("div", { key: "media-container", onClick: open, className: "block-container" }, getImages(media)));
42
+ }
43
+ else {
44
+ return (element.createElement("div", { key: "media-container", className: "button-container" },
45
+ element.createElement(components.Button, { onClick: open, className: "button button-large" }, i18n.__("Image Upload", "slide-blocks"))));
46
+ }
47
+ };
48
+ return (element.createElement(components.PanelBody, { title: label, initialOpen: true, className: "itmar_image_display" },
49
+ element.createElement(blockEditor.MediaUploadCheck, null,
50
+ element.createElement(blockEditor.MediaUpload, { multiple: true, gallery: true, onSelect: (newMedia) => onSelectChange(newMedia), allowedTypes: ["image"], value: mediaID, render: ({ open }) => getImageButton(open) })),
51
+ media.length != 0 && ( //メディアオブジェクト(配列の長さ)で判定
52
+ element.createElement(blockEditor.MediaUploadCheck, null,
53
+ element.createElement(components.Button, { onClick: onAllDelete, variant: "secondary", isDestructive: true, className: "removeImage" }, i18n.__("Delete All", "slide-blocks"))))));
125
54
  }
126
-
127
55
  //静止画か動画かを判定する関数
128
56
  function getMediaType(url) {
129
- var imageExtensions = [".jpg", ".jpeg", ".png", ".gif", ".webp", ".bmp", ".svg"];
130
- var videoExtensions = [".mp4", ".webm", ".ogg", ".mov", ".m4v"];
131
-
132
- // クエリストリング(?以降)を除去
133
- var cleanUrl = url.split("?")[0].toLowerCase();
134
- var isImage = imageExtensions.some(ext => cleanUrl.endsWith(ext));
135
- var isVideo = videoExtensions.some(ext => cleanUrl.endsWith(ext));
136
- if (isImage) {
137
- return "image";
138
- } else if (isVideo) {
139
- return "video";
140
- } else {
141
- // 拡張子で判別できない HEADリクエストでContent-Type判定 or fallback
142
- return undefined;
143
- }
57
+ const imageExtensions = [
58
+ ".jpg",
59
+ ".jpeg",
60
+ ".png",
61
+ ".gif",
62
+ ".webp",
63
+ ".bmp",
64
+ ".svg",
65
+ ];
66
+ const videoExtensions = [".mp4", ".webm", ".ogg", ".mov", ".m4v"];
67
+ // クエリストリング(?以降)を除去
68
+ const cleanUrl = url.split("?")[0].toLowerCase();
69
+ const isImage = imageExtensions.some((ext) => cleanUrl.endsWith(ext));
70
+ const isVideo = videoExtensions.some((ext) => cleanUrl.endsWith(ext));
71
+ if (isImage) {
72
+ return "image";
73
+ }
74
+ else if (isVideo) {
75
+ return "video";
76
+ }
77
+ else {
78
+ // 拡張子で判別できない → HEADリクエストでContent-Type判定 or fallback
79
+ return undefined;
80
+ }
144
81
  }
145
82
  //静止画のアスペクト比を返す関数
146
83
  function getImageAspectRatio(url) {
147
- return new Promise((resolve, reject) => {
148
- var img = new Image();
149
- img.onload = function () {
150
- var aspectRatio = img.naturalWidth / img.naturalHeight;
151
- resolve(aspectRatio);
152
- };
153
- img.onerror = function () {
154
- reject(new Error("画像の読み込みに失敗しました: " + url));
155
- };
156
- img.src = url;
157
- });
84
+ return new Promise((resolve, reject) => {
85
+ const img = new Image();
86
+ img.onload = function () {
87
+ const aspectRatio = img.naturalWidth / img.naturalHeight;
88
+ resolve(aspectRatio);
89
+ };
90
+ img.onerror = function () {
91
+ reject(new Error("画像の読み込みに失敗しました: " + url));
92
+ };
93
+ img.src = url;
94
+ });
158
95
  }
159
96
  //動画のアスペクト比を返す関数
160
97
  function getVideoAspectRatio(url) {
161
- return new Promise((resolve, reject) => {
162
- var video = document.createElement("video");
163
- video.preload = "metadata";
164
- video.src = url;
165
- video.muted = true; // 一部のブラウザで安全に動作させるため
166
- video.playsInline = true;
167
- video.onloadedmetadata = function () {
168
- var aspectRatio = video.videoWidth / video.videoHeight;
169
- resolve(aspectRatio);
170
- };
171
- video.onerror = function () {
172
- reject(new Error("動画の読み込みに失敗しました: " + url));
173
- };
174
- });
98
+ return new Promise((resolve, reject) => {
99
+ const video = document.createElement("video");
100
+ video.preload = "metadata";
101
+ video.src = url;
102
+ video.muted = true; // 一部のブラウザで安全に動作させるため
103
+ video.playsInline = true;
104
+ video.onloadedmetadata = function () {
105
+ const aspectRatio = video.videoWidth / video.videoHeight;
106
+ resolve(aspectRatio);
107
+ };
108
+ video.onerror = function () {
109
+ reject(new Error("動画の読み込みに失敗しました: " + url));
110
+ };
111
+ });
175
112
  }
176
113
 
177
114
  exports.MultiImageSelect = MultiImageSelect;
@@ -1 +1 @@
1
- {"version":3,"file":"mediaUpload.js","sources":["../../src/mediaUpload.js"],"sourcesContent":["import { MediaUpload, MediaUploadCheck } from \"@wordpress/block-editor\";\nimport { __ } from \"@wordpress/i18n\";\nimport { Button, PanelBody } from \"@wordpress/components\";\n\nexport function SingleImageSelect(props) {\n const { attributes } = props;\n const { mediaID, media } = attributes;\n\n //URL の配列から画像を生成\n const getImage = (image) => {\n //メディアオブジェクトの配列をループ処理\n return (\n <figure>\n <img src={image.url} className=\"image\" alt=\"アップロード画像\" />\n </figure>\n );\n };\n\n //メディアライブラリを開くボタンをレンダリングする関数\n const getImageButton = (open) => {\n if (media) {\n return (\n <div onClick={open} className=\"block-container\">\n {getImage(media)}\n </div>\n );\n } else {\n return (\n <div className=\"button-container\">\n <Button onClick={open} className=\"button button-large\">\n {__(\"Sel\", \"itmar_mv_blocks\")}\n </Button>\n </div>\n );\n }\n };\n\n return (\n <MediaUploadCheck>\n <MediaUpload\n onSelect={(media) => props.onSelectChange(media)}\n allowedTypes={[\"image\"]}\n value={mediaID}\n render={({ open }) => getImageButton(open)}\n />\n </MediaUploadCheck>\n );\n}\n\nexport function MultiImageSelect(props) {\n const { attributes, label } = props;\n const { mediaID, media } = attributes;\n\n //URL の配列から画像を生成\n const getImages = (media) => {\n //メディアオブジェクトの配列をループ処理\n let imagesArray = media.map((image, index) => {\n return (\n <figure key={index}>\n <img src={image.url} className=\"image\" alt=\"アップロード画像\" />\n <figcaption className=\"block-image-caption\">\n {image.caption ? image.caption : \"\"}\n </figcaption>\n </figure>\n );\n });\n return imagesArray;\n };\n\n //メディアライブラリを開くボタンをレンダリングする関数\n const getImageButton = (open) => {\n if (media.length > 0) {\n return (\n <div key=\"media-container\" onClick={open} className=\"block-container\">\n {getImages(media)}\n </div>\n );\n } else {\n return (\n <div key=\"media-container\" className=\"button-container\">\n <Button onClick={open} className=\"button button-large\">\n {__(\"Image Upload\", \"slide-blocks\")}\n </Button>\n </div>\n );\n }\n };\n\n return (\n <PanelBody title={label} initialOpen={true} className=\"itmar_image_display\">\n <MediaUploadCheck>\n <MediaUpload\n multiple={true}\n gallery={true} //追加\n onSelect={(media) => props.onSelectChange(media)}\n allowedTypes={[\"image\"]}\n value={mediaID}\n render={({ open }) => getImageButton(open)}\n />\n </MediaUploadCheck>\n {media.length != 0 && ( //メディアオブジェクト(配列の長さ)で判定\n <MediaUploadCheck>\n <Button\n onClick={() => props.onAllDelete()}\n variant=\"secondary\"\n isDestructive\n className=\"removeImage\"\n >\n {__(\"Delete All\", \"slide-blocks\")}\n </Button>\n </MediaUploadCheck>\n )}\n </PanelBody>\n );\n}\n\n//静止画か動画かを判定する関数\nexport function getMediaType(url) {\n const imageExtensions = [\n \".jpg\",\n \".jpeg\",\n \".png\",\n \".gif\",\n \".webp\",\n \".bmp\",\n \".svg\",\n ];\n const videoExtensions = [\".mp4\", \".webm\", \".ogg\", \".mov\", \".m4v\"];\n\n // クエリストリング(?以降)を除去\n const cleanUrl = url.split(\"?\")[0].toLowerCase();\n\n const isImage = imageExtensions.some((ext) => cleanUrl.endsWith(ext));\n const isVideo = videoExtensions.some((ext) => cleanUrl.endsWith(ext));\n\n if (isImage) {\n return \"image\";\n } else if (isVideo) {\n return \"video\";\n } else {\n // 拡張子で判別できない → HEADリクエストでContent-Type判定 or fallback\n return undefined;\n }\n}\n//静止画のアスペクト比を返す関数\nexport function getImageAspectRatio(url) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = function () {\n const aspectRatio = img.naturalWidth / img.naturalHeight;\n resolve(aspectRatio);\n };\n img.onerror = function () {\n reject(new Error(\"画像の読み込みに失敗しました: \" + url));\n };\n img.src = url;\n });\n}\n//動画のアスペクト比を返す関数\nexport function getVideoAspectRatio(url) {\n return new Promise((resolve, reject) => {\n const video = document.createElement(\"video\");\n\n video.preload = \"metadata\";\n video.src = url;\n video.muted = true; // 一部のブラウザで安全に動作させるため\n video.playsInline = true;\n\n video.onloadedmetadata = function () {\n const aspectRatio = video.videoWidth / video.videoHeight;\n resolve(aspectRatio);\n };\n\n video.onerror = function () {\n reject(new Error(\"動画の読み込みに失敗しました: \" + url));\n };\n });\n}\n"],"names":["SingleImageSelect","props","attributes","mediaID","media","getImage","image","React","createElement","src","url","className","alt","getImageButton","open","onClick","Button","__","MediaUploadCheck","MediaUpload","onSelect","onSelectChange","allowedTypes","value","render","_ref","MultiImageSelect","label","getImages","imagesArray","map","index","key","caption","length","PanelBody","title","initialOpen","multiple","gallery","_ref2","onAllDelete","variant","isDestructive","getMediaType","imageExtensions","videoExtensions","cleanUrl","split","toLowerCase","isImage","some","ext","endsWith","isVideo","undefined","getImageAspectRatio","Promise","resolve","reject","img","Image","onload","aspectRatio","naturalWidth","naturalHeight","onerror","Error","getVideoAspectRatio","video","document","preload","muted","playsInline","onloadedmetadata","videoWidth","videoHeight"],"mappings":"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"}
1
+ {"version":3,"file":"mediaUpload.js","sources":["../../src/mediaUpload.tsx"],"sourcesContent":[null],"names":["createElement","Button","__","MediaUploadCheck","MediaUpload","PanelBody"],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * SSR Window 5.0.1
5
+ * Better handling for window object in SSR environment
6
+ * https://github.com/nolimits4web/ssr-window
7
+ *
8
+ * Copyright 2025, Vladimir Kharlampidi
9
+ *
10
+ * Licensed under MIT
11
+ *
12
+ * Released on: June 27, 2025
13
+ */
14
+ /* eslint-disable no-param-reassign */
15
+ function isObject(obj) {
16
+ return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;
17
+ }
18
+ function extend(target = {}, src = {}) {
19
+ const noExtend = ['__proto__', 'constructor', 'prototype'];
20
+ Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {
21
+ if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {
22
+ extend(target[key], src[key]);
23
+ }
24
+ });
25
+ }
26
+ const ssrDocument = {
27
+ body: {},
28
+ addEventListener() {},
29
+ removeEventListener() {},
30
+ activeElement: {
31
+ blur() {},
32
+ nodeName: ''
33
+ },
34
+ querySelector() {
35
+ return null;
36
+ },
37
+ querySelectorAll() {
38
+ return [];
39
+ },
40
+ getElementById() {
41
+ return null;
42
+ },
43
+ createEvent() {
44
+ return {
45
+ initEvent() {}
46
+ };
47
+ },
48
+ createElement() {
49
+ return {
50
+ children: [],
51
+ childNodes: [],
52
+ style: {},
53
+ setAttribute() {},
54
+ getElementsByTagName() {
55
+ return [];
56
+ }
57
+ };
58
+ },
59
+ createElementNS() {
60
+ return {};
61
+ },
62
+ importNode() {
63
+ return null;
64
+ },
65
+ location: {
66
+ hash: '',
67
+ host: '',
68
+ hostname: '',
69
+ href: '',
70
+ origin: '',
71
+ pathname: '',
72
+ protocol: '',
73
+ search: ''
74
+ }
75
+ };
76
+ function getDocument() {
77
+ const doc = typeof document !== 'undefined' ? document : {};
78
+ extend(doc, ssrDocument);
79
+ return doc;
80
+ }
81
+ const ssrWindow = {
82
+ document: ssrDocument,
83
+ navigator: {
84
+ userAgent: ''
85
+ },
86
+ location: {
87
+ hash: '',
88
+ host: '',
89
+ hostname: '',
90
+ href: '',
91
+ origin: '',
92
+ pathname: '',
93
+ protocol: '',
94
+ search: ''
95
+ },
96
+ history: {
97
+ replaceState() {},
98
+ pushState() {},
99
+ go() {},
100
+ back() {}
101
+ },
102
+ CustomEvent: function CustomEvent() {
103
+ return this;
104
+ },
105
+ addEventListener() {},
106
+ removeEventListener() {},
107
+ getComputedStyle() {
108
+ return {
109
+ getPropertyValue() {
110
+ return '';
111
+ }
112
+ };
113
+ },
114
+ Image() {},
115
+ Date() {},
116
+ screen: {},
117
+ setTimeout() {},
118
+ clearTimeout() {},
119
+ matchMedia() {
120
+ return {};
121
+ },
122
+ requestAnimationFrame(callback) {
123
+ if (typeof setTimeout === 'undefined') {
124
+ callback();
125
+ return null;
126
+ }
127
+ return setTimeout(callback, 0);
128
+ },
129
+ cancelAnimationFrame(id) {
130
+ if (typeof setTimeout === 'undefined') {
131
+ return;
132
+ }
133
+ clearTimeout(id);
134
+ }
135
+ };
136
+ function getWindow() {
137
+ const win = typeof window !== 'undefined' ? window : {};
138
+ extend(win, ssrWindow);
139
+ return win;
140
+ }
141
+
142
+ exports.a = getWindow;
143
+ exports.g = getDocument;
144
+ //# sourceMappingURL=ssr-window.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssr-window.esm.js","sources":["../../../../../node_modules/swiper/shared/ssr-window.esm.mjs"],"sourcesContent":["/**\n * SSR Window 5.0.1\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2025, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: June 27, 2025\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;\n}\nfunction extend(target = {}, src = {}) {\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\nconst ssrDocument = {\n body: {},\n addEventListener() {},\n removeEventListener() {},\n activeElement: {\n blur() {},\n nodeName: ''\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() {}\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() {},\n getElementsByTagName() {\n return [];\n }\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n }\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: ''\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n },\n history: {\n replaceState() {},\n pushState() {},\n go() {},\n back() {}\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() {},\n removeEventListener() {},\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n }\n };\n },\n Image() {},\n Date() {},\n screen: {},\n setTimeout() {},\n clearTimeout() {},\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n }\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { getWindow as a, getDocument as g };\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}