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 +1 @@
1
- {"version":3,"file":"UpdateAllPostsBlockAttributes.js","sources":["../../src/UpdateAllPostsBlockAttributes.js"],"sourcesContent":["import { useState, useRef } from \"@wordpress/element\";\nimport { __ } from \"@wordpress/i18n\";\nimport { ProgressBar, Button } from \"@wordpress/components\";\nimport { parse, serialize } from \"@wordpress/blocks\";\nimport apiFetch from \"@wordpress/api-fetch\";\n\n//特定の投稿タイプの投稿に含まれる本ブロックの属性を書き換える\n\nexport default function UpdateAllPostsBlockAttributes({\n postType,\n blockName,\n newAttributes,\n onProcessStart,\n onProcessEnd,\n onProcessCancel,\n}) {\n const [progress, setProgress] = useState(0);\n // stateではなくrefを使用してキャンセル状態を管理する\n const cancelRef = useRef(false);\n const updatePostBlockAttributes = async () => {\n try {\n const allPosts = [];\n let page = 1;\n let hasMore = true;\n while (hasMore) {\n // REST APIを使ってすべての投稿を取得(投稿タイプを指定)\n const path = `/wp/v2/${postType}?per_page=100&page=${page}&context=edit`;\n const posts = await apiFetch({ path });\n allPosts.push(...posts);\n // 投稿が100件未満の場合、次のページは存在しない\n if (posts.length < 100) {\n hasMore = false;\n } else {\n page += 1; // 次のページに進む\n }\n }\n let allCount = allPosts.length;\n let processCount = 0;\n // キャンセルフラグをリセット\n cancelRef.current = false;\n\n for (const post of allPosts) {\n if (!post.content || !post.content.raw) {\n console.warn(`Post ID ${post.id} does not contain raw content.`);\n continue;\n }\n // ループの各回でキャンセルがリクエストされているかチェック\n if (cancelRef.current) {\n console.log(\"処理がキャンセルされました。\");\n return;\n }\n\n const content = post.content.raw;\n const blocks = parse(content);\n // 特定のブロックの属性を更新\n const updatedBlocks = blocks.map((block) => {\n if (block.name === blockName) {\n // 属性をマージして更新\n block.attributes = {\n ...block.attributes,\n ...newAttributes,\n };\n }\n return block;\n });\n\n // 更新後のブロックをシリアライズ\n const updatedContent = serialize(updatedBlocks);\n\n // REST APIを使って投稿を更新\n try {\n await apiFetch({\n path: `/wp/v2/${postType}/${post.id}`,\n method: \"POST\",\n data: { content: updatedContent },\n });\n } catch (error) {\n console.error(`Failed to update post ID ${post.id}:`, error.message);\n if (error.data) {\n console.error(\"Error details:\", error.data);\n }\n }\n //カウンターセットとプログレスバーの処理\n processCount++;\n setProgress(Math.round((processCount / allCount) * 100));\n }\n\n //終了処理\n onProcessEnd();\n } catch (error) {\n console.error(\"Error updating block attributes:\", error);\n }\n };\n return (\n <>\n <ProgressBar value={progress} className=\"markdown_copy_progress\" />\n <p>{progress}%</p>\n <div style={{ width: \"fit-content\", margin: \"20px auto 0\" }}>\n <Button\n variant=\"primary\"\n onClick={() => {\n onProcessStart(); //親コンポーネントでスタート処理\n updatePostBlockAttributes();\n }}\n disabled={progress > 0 && progress < 100}\n >\n {__(\"Start Process\", \"markdown-block\")}\n </Button>\n <Button\n variant=\"secondary\"\n onClick={() => {\n if (progress === 0 || cancelRef.current) {\n onProcessEnd(); // 処理が始まる前ならすぐに終了処理を実行\n } else {\n // キャンセルフラグを更新(refならすぐに反映される)\n cancelRef.current = true;\n onProcessCancel(); //親コンポーネントでキャンセル処理\n }\n }}\n style={{ marginLeft: \"10px\" }}\n >\n {__(\"Cancel\", \"markdown-block\")}\n </Button>\n </div>\n </>\n );\n}\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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"}
1
+ {"version":3,"file":"UpdateAllPostsBlockAttributes.js","sources":["../../src/UpdateAllPostsBlockAttributes.tsx"],"sourcesContent":[null],"names":["useState","useRef","blocks","parse","serialize","createElement","Fragment","ProgressBar","Button","__"],"mappings":"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"}
@@ -1,34 +1,38 @@
1
1
  'use strict';
2
2
 
3
- var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
4
3
  var i18n = require('@wordpress/i18n');
5
4
 
6
- //郵便番号検索のデータと関数
7
- var fetchZipToAddress = /*#__PURE__*/function () {
8
- var _ref = _rollupPluginBabelHelpers.asyncToGenerator(function* (zipNum) {
9
- if (!/^\d{7}$/.test(zipNum)) {
10
- alert(i18n.__("Please enter your postal code as 7 digits without hyphens.", "block-collections"));
11
- return null;
5
+ /**
6
+ * 郵便番号から住所を取得する
7
+ */
8
+ const fetchZipToAddress = async (zipNum) => {
9
+ const cleanZip = zipNum.replace("-", "");
10
+ if (!/^\d{7}$/.test(cleanZip)) {
11
+ alert(i18n.__("Please enter your postal code as 7 digits without hyphens.", "block-collections"));
12
+ return null;
12
13
  }
13
14
  try {
14
- var response = yield fetch("https://zipcloud.ibsnet.co.jp/api/search?zipcode=".concat(zipNum.replace("-", "")));
15
- var data = yield response.json();
16
- if (data.results && data.results.length > 0) {
17
- var result = data.results[0];
18
- return result;
19
- } else {
20
- alert(i18n.__("No matching address found", "block-collections"));
15
+ const response = await fetch(`https://zipcloud.ibsnet.co.jp/api/search?zipcode=${cleanZip}`);
16
+ // API自体は200 OKを返すが、中身でエラーを出す場合があるため型を当てる
17
+ const data = await response.json();
18
+ if (data.status !== 200) {
19
+ alert(data.message || i18n.__("Error fetching address", "block-collections"));
20
+ return null;
21
+ }
22
+ if (data.results && data.results.length > 0) {
23
+ return data.results[0];
24
+ }
25
+ else {
26
+ alert(i18n.__("No matching address found", "block-collections"));
27
+ return null;
28
+ }
29
+ }
30
+ catch (error) {
31
+ console.error("ZipCloud API Error:", error);
32
+ alert(i18n.__("Communication failed", "block-collections"));
21
33
  return null;
22
- }
23
- } catch (error) {
24
- alert(i18n.__("Communication failed", "block-collections"));
25
- return null;
26
34
  }
27
- });
28
- return function fetchZipToAddress(_x) {
29
- return _ref.apply(this, arguments);
30
- };
31
- }();
35
+ };
32
36
 
33
37
  exports.fetchZipToAddress = fetchZipToAddress;
34
38
  //# sourceMappingURL=ZipAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ZipAddress.js","sources":["../../src/ZipAddress.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\n\n//郵便番号検索のデータと関数\nexport const fetchZipToAddress = async (zipNum) => {\n if (!/^\\d{7}$/.test(zipNum)) {\n alert(\n __(\n \"Please enter your postal code as 7 digits without hyphens.\",\n \"block-collections\"\n )\n );\n return null;\n }\n\n try {\n const response = await fetch(\n `https://zipcloud.ibsnet.co.jp/api/search?zipcode=${zipNum.replace(\n \"-\",\n \"\"\n )}`\n );\n const data = await response.json();\n\n if (data.results && data.results.length > 0) {\n const result = data.results[0];\n return result;\n } else {\n alert(__(\"No matching address found\", \"block-collections\"));\n return null;\n }\n } catch (error) {\n alert(__(\"Communication failed\", \"block-collections\"));\n return null;\n }\n};\n"],"names":["fetchZipToAddress","_ref","_asyncToGenerator","zipNum","test","alert","__","response","fetch","concat","replace","data","json","results","length","result","error","_x","apply","arguments"],"mappings":";;;;;AAEA;IACaA,iBAAiB,gBAAA,YAAA;AAAA,EAAA,IAAAC,IAAA,GAAAC,0CAAA,CAAG,WAAOC,MAAM,EAAK;AACjD,IAAA,IAAI,CAAC,SAAS,CAACC,IAAI,CAACD,MAAM,CAAC,EAAE;AAC3BE,MAAAA,KAAK,CACHC,OAAE,CACA,4DAA4D,EAC5D,mBACF,CACF,CAAC;AACD,MAAA,OAAO,IAAI;AACb,IAAA;IAEA,IAAI;AACF,MAAA,IAAMC,QAAQ,GAAA,MAASC,KAAK,CAAA,mDAAA,CAAAC,MAAA,CAC0BN,MAAM,CAACO,OAAO,CAChE,GAAG,EACH,EACF,CAAC,CACH,CAAC;AACD,MAAA,IAAMC,IAAI,GAAA,MAASJ,QAAQ,CAACK,IAAI,EAAE;MAElC,IAAID,IAAI,CAACE,OAAO,IAAIF,IAAI,CAACE,OAAO,CAACC,MAAM,GAAG,CAAC,EAAE;AAC3C,QAAA,IAAMC,MAAM,GAAGJ,IAAI,CAACE,OAAO,CAAC,CAAC,CAAC;AAC9B,QAAA,OAAOE,MAAM;AACf,MAAA,CAAC,MAAM;AACLV,QAAAA,KAAK,CAACC,OAAE,CAAC,2BAA2B,EAAE,mBAAmB,CAAC,CAAC;AAC3D,QAAA,OAAO,IAAI;AACb,MAAA;IACF,CAAC,CAAC,OAAOU,KAAK,EAAE;AACdX,MAAAA,KAAK,CAACC,OAAE,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AACtD,MAAA,OAAO,IAAI;AACb,IAAA;EACF,CAAC,CAAA;EAAA,OAAA,SA/BYN,iBAAiBA,CAAAiB,EAAA,EAAA;AAAA,IAAA,OAAAhB,IAAA,CAAAiB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,EAAA,CAAA;AAAA,CAAA;;;;"}
1
+ {"version":3,"file":"ZipAddress.js","sources":["../../src/ZipAddress.ts"],"sourcesContent":[null],"names":["__"],"mappings":";;;;AAgBA;;AAEG;MACU,iBAAiB,GAAG,OAC/B,MAAc,KACoB;IAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;IAExC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC7B,KAAK,CACHA,OAAE,CACA,4DAA4D,EAC5D,mBAAmB,CACpB,CACF;AACD,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,CAAA,iDAAA,EAAoD,QAAQ,CAAA,CAAE,CAC/D;;AAGD,QAAA,MAAM,IAAI,GAIN,MAAM,QAAQ,CAAC,IAAI,EAAE;AAEzB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;AACvB,YAAA,KAAK,CAAC,IAAI,CAAC,OAAO,IAAIA,OAAE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC;AACxE,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3C,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxB;aAAO;YACL,KAAK,CAACA,OAAE,CAAC,2BAA2B,EAAE,mBAAmB,CAAC,CAAC;AAC3D,YAAA,OAAO,IAAI;QACb;IACF;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC;QAC3C,KAAK,CAACA,OAAE,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;AACtD,QAAA,OAAO,IAAI;IACb;AACF;;;;"}
@@ -4,58 +4,53 @@ var data = require('@wordpress/data');
4
4
  var blockEditor = require('@wordpress/block-editor');
5
5
  var blocks = require('@wordpress/blocks');
6
6
 
7
- var useTargetBlocks = function useTargetBlocks(clientId, blockName) {
8
- var attributeFilter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
9
- var includeNested = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
10
- var targetblocks = data.useSelect(select => {
11
- var {
12
- getBlockRootClientId,
13
- getBlock
14
- } = select(blockEditor.store);
15
- var parentId = getBlockRootClientId(clientId); // 自分の親の clientId を取得
16
- if (!parentId) return attributeFilter ? null : [];
17
- var parentBlock = getBlock(parentId);
18
- if (!parentBlock) return attributeFilter ? null : [];
19
- var siblingBlocks = includeNested ? flattenBlocks(parentBlock.innerBlocks || []) //ネストされたブロックも含んで検索
20
- : parentBlock.innerBlocks || []; //兄弟ブロックのみ
21
-
22
- var filtered = siblingBlocks.filter(block => block.name === blockName && block.clientId !== clientId);
23
- if (attributeFilter) {
24
- return filtered.find(block => {
25
- return Object.entries(attributeFilter).every(_ref => {
26
- var [key, value] = _ref;
27
- return block.attributes[key] === value;
28
- });
29
- }) || null;
30
- }
31
- return filtered;
32
- }, [clientId, blockName, JSON.stringify(attributeFilter), includeNested]);
33
- return targetblocks;
7
+ const useTargetBlocks = (clientId, blockName, attributeFilter = null, includeNested = false) => {
8
+ const targetblocks = data.useSelect((select) => {
9
+ const { getBlockRootClientId, getBlock } = select(blockEditor.store);
10
+ const parentId = getBlockRootClientId(clientId); // 自分の親の clientId を取得
11
+ if (!parentId)
12
+ return attributeFilter ? null : [];
13
+ const parentBlock = getBlock(parentId);
14
+ if (!parentBlock)
15
+ return attributeFilter ? null : [];
16
+ const siblingBlocks = includeNested
17
+ ? flattenBlocks(parentBlock.innerBlocks || []) //ネストされたブロックも含んで検索
18
+ : parentBlock.innerBlocks || []; //兄弟ブロックのみ
19
+ const filtered = siblingBlocks.filter((block) => block.name === blockName && block.clientId !== clientId);
20
+ if (attributeFilter) {
21
+ return (filtered.find((block) => {
22
+ return Object.entries(attributeFilter).every(([key, value]) => block.attributes[key] === value);
23
+ }) || null);
24
+ }
25
+ return filtered;
26
+ }, [clientId, blockName, JSON.stringify(attributeFilter), includeNested]);
27
+ return targetblocks;
34
28
  };
35
-
36
29
  //ネストしたブロックを平坦化
37
- var flattenBlocks = blocks => {
38
- return blocks.reduce((acc, block) => {
39
- acc.push(block);
40
- if (block.innerBlocks && block.innerBlocks.length > 0) {
41
- acc.push(...flattenBlocks(block.innerBlocks));
42
- }
43
- return acc;
44
- }, []);
30
+ const flattenBlocks = (blocks) => {
31
+ return blocks.reduce((acc, block) => {
32
+ acc.push(block);
33
+ if (block.innerBlocks && block.innerBlocks.length > 0) {
34
+ acc.push(...flattenBlocks(block.innerBlocks));
35
+ }
36
+ return acc;
37
+ }, []);
45
38
  };
46
-
47
- // 再帰的にブロック構造をシリアライズする関数
48
- var serializeBlockTree = block => {
49
- return {
50
- blockName: block.name,
51
- attributes: block.attributes,
52
- innerBlocks: block.innerBlocks.length > 0 ? block.innerBlocks.map(serializeBlockTree) : []
53
- };
39
+ const serializeBlockTree = (block) => {
40
+ return {
41
+ blockName: block.name,
42
+ attributes: block.attributes,
43
+ innerBlocks: block.innerBlocks.length > 0
44
+ ? block.innerBlocks.map(serializeBlockTree)
45
+ : [],
46
+ };
54
47
  };
55
48
  // シリアライズしたブロックデータをもとの階層構造に戻す関数
56
- var createBlockTree = blockData => {
57
- var inner = Array.isArray(blockData.innerBlocks) ? blockData.innerBlocks.map(createBlockTree) : [];
58
- return blocks.createBlock(blockData.blockName, blockData.attributes, inner);
49
+ const createBlockTree = (blockData) => {
50
+ const inner = Array.isArray(blockData.innerBlocks)
51
+ ? blockData.innerBlocks.map(createBlockTree)
52
+ : [];
53
+ return blocks.createBlock(blockData.blockName, blockData.attributes, inner);
59
54
  };
60
55
 
61
56
  exports.createBlockTree = createBlockTree;
@@ -1 +1 @@
1
- {"version":3,"file":"blockStore.js","sources":["../../src/blockStore.js"],"sourcesContent":["import { useSelect } from \"@wordpress/data\";\nimport { store as blockEditorStore } from \"@wordpress/block-editor\";\nimport { createBlock } from \"@wordpress/blocks\";\n\nexport const useTargetBlocks = (\n clientId,\n blockName,\n attributeFilter = null,\n includeNested = false\n) => {\n const targetblocks = useSelect(\n (select) => {\n const { getBlockRootClientId, getBlock } = select(blockEditorStore);\n\n const parentId = getBlockRootClientId(clientId); // 自分の親の clientId を取得\n if (!parentId) return attributeFilter ? null : [];\n\n const parentBlock = getBlock(parentId);\n if (!parentBlock) return attributeFilter ? null : [];\n\n const siblingBlocks = includeNested\n ? flattenBlocks(parentBlock.innerBlocks || []) //ネストされたブロックも含んで検索\n : parentBlock.innerBlocks || []; //兄弟ブロックのみ\n\n const filtered = siblingBlocks.filter(\n (block) => block.name === blockName && block.clientId !== clientId\n );\n\n if (attributeFilter) {\n return (\n filtered.find((block) => {\n return Object.entries(attributeFilter).every(\n ([key, value]) => block.attributes[key] === value\n );\n }) || null\n );\n }\n\n return filtered;\n },\n [clientId, blockName, JSON.stringify(attributeFilter), includeNested]\n );\n return targetblocks;\n};\n\n//ネストしたブロックを平坦化\nexport const flattenBlocks = (blocks) => {\n return blocks.reduce((acc, block) => {\n acc.push(block);\n if (block.innerBlocks && block.innerBlocks.length > 0) {\n acc.push(...flattenBlocks(block.innerBlocks));\n }\n return acc;\n }, []);\n};\n\n// 再帰的にブロック構造をシリアライズする関数\nexport const serializeBlockTree = (block) => {\n return {\n blockName: block.name,\n attributes: block.attributes,\n innerBlocks:\n block.innerBlocks.length > 0\n ? block.innerBlocks.map(serializeBlockTree)\n : [],\n };\n};\n// シリアライズしたブロックデータをもとの階層構造に戻す関数\nexport const createBlockTree = (blockData) => {\n const inner = Array.isArray(blockData.innerBlocks)\n ? blockData.innerBlocks.map(createBlockTree)\n : [];\n\n return createBlock(blockData.blockName, blockData.attributes, inner);\n};\n"],"names":["useTargetBlocks","clientId","blockName","attributeFilter","arguments","length","undefined","includeNested","targetblocks","useSelect","select","getBlockRootClientId","getBlock","blockEditorStore","parentId","parentBlock","siblingBlocks","flattenBlocks","innerBlocks","filtered","filter","block","name","find","Object","entries","every","_ref","key","value","attributes","JSON","stringify","blocks","reduce","acc","push","serializeBlockTree","map","createBlockTree","blockData","inner","Array","isArray","createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"blockStore.js","sources":["../../src/blockStore.ts"],"sourcesContent":[null],"names":["useSelect","blockEditorStore","createBlock"],"mappings":";;;;;;AAIO,MAAM,eAAe,GAAG,CAC7B,QAAgB,EAChB,SAAiB,EACjB,eAAe,GAAG,IAAI,EACtB,aAAa,GAAG,KAAK,KACnB;AACF,IAAA,MAAM,YAAY,GAAGA,cAAS,CAC5B,CAAC,MAAM,KAAI;QACT,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,GAAG,MAAM,CAACC,iBAAgB,CAAC;QAEnE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,QAAQ;YAAE,OAAO,eAAe,GAAG,IAAI,GAAG,EAAE;AAEjD,QAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;AACtC,QAAA,IAAI,CAAC,WAAW;YAAE,OAAO,eAAe,GAAG,IAAI,GAAG,EAAE;QAEpD,MAAM,aAAa,GAAG;cAClB,aAAa,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC;cAC5C,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC;QAElC,MAAM,QAAQ,GAAI,aAAiC,CAAC,MAAM,CACxD,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,CACnE;QAED,IAAI,eAAe,EAAE;YACnB,QACE,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,KAAI;gBACtB,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,CAC1C,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK,CAClD;AACH,YAAA,CAAC,CAAC,IAAI,IAAI;QAEd;AAEA,QAAA,OAAO,QAAQ;AACjB,IAAA,CAAC,EACD,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,aAAa,CAAC,CACtE;AACD,IAAA,OAAO,YAAY;AACrB;AAEA;AACO,MAAM,aAAa,GAAG,CAAC,MAAuB,KAAqB;IACxE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAoB,EAAE,KAAoB,KAAI;AAClE,QAAA,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACf,QAAA,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,GAAG,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/C;AACA,QAAA,OAAO,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC;AACR;AASO,MAAM,kBAAkB,GAAG,CAAC,KAAoB,KAAqB;IAC1E,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,UAAU,EAAE,KAAK,CAAC,UAAU;AAC5B,QAAA,WAAW,EACT,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG;cACvB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB;AAC1C,cAAE,EAAE;KACT;AACH;AACA;AACO,MAAM,eAAe,GAAG,CAAC,SAA0B,KAAmB;IAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW;UAC7C,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe;UACzC,EAAE;AAEN,IAAA,OAAOC,kBAAW,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC;AACtE;;;;;;;"}
@@ -1,146 +1,194 @@
1
1
  'use strict';
2
2
 
3
3
  // sideの最初の文字を大文字にする関数
4
- var capitalizeFirstLetter = string => {
5
- return string.charAt(0).toUpperCase() + string.slice(1);
4
+ const capitalizeFirstLetter = (string) => {
5
+ return string.charAt(0).toUpperCase() + string.slice(1);
6
6
  };
7
7
  // objectかどうか判定する関数
8
- var isObject = value => {
9
- return value !== null && typeof value === "object" && !Array.isArray(value);
8
+ const isObject = (value) => {
9
+ return value !== null && typeof value === "object" && !Array.isArray(value);
10
10
  };
11
-
12
- //角丸のパラメータを返す
13
- var radius_prm = radius => {
14
- var ret_radius_prm = radius && Object.keys(radius).length === 1 ? radius.value : "".concat(radius && radius.topLeft || "", " ").concat(radius && radius.topRight || "", " ").concat(radius && radius.bottomRight || "", " ").concat(radius && radius.bottomLeft || "");
15
- return ret_radius_prm;
11
+ const radius_prm = (radius) => {
12
+ // radius が存在しない場合は空文字を返す
13
+ if (!radius)
14
+ return "";
15
+ const ret_radius_prm = Object.keys(radius).length === 1 && radius.value
16
+ ? radius.value
17
+ : `${radius.topLeft || ""} ${radius.topRight || ""} ${radius.bottomRight || ""} ${radius.bottomLeft || ""}`;
18
+ return ret_radius_prm.trim(); // 余計な空白を削除して返す
16
19
  };
17
- //スペースのパラメータを返す
18
- var space_prm = space => {
19
- var ret_space_prm = space ? "".concat(space.top, " ").concat(space.right, " ").concat(space.bottom, " ").concat(space.left) : "";
20
- return ret_space_prm;
20
+ const space_prm = (space) => {
21
+ // spaceが存在しない、または空の場合は空文字を返す
22
+ if (!space)
23
+ return "";
24
+ // 各値が undefined の場合に備えてデフォルト値("0" など)を置くのが安全です
25
+ const { top = "0", right = "0", bottom = "0", left = "0" } = space;
26
+ return `${top} ${right} ${bottom} ${left}`;
21
27
  };
22
- //positionのオブジェクトを返します
23
- var position_prm = (pos, type) => {
24
- //値でポジションを設定
25
- if (isObject(pos)) {
26
- var resetVertBase = pos.vertBase === "top" ? "bottom" : "top";
27
- var resetHorBase = pos.horBase === "left" ? "right" : "left";
28
- var centerVert = "50%";
29
- var centerHor = "50%";
30
- var centerTrans = pos.isVertCenter && pos.isHorCenter ? "transform: translate(-50%, -50%);" : pos.isVertCenter ? "transform: translateY(-50%);" : pos.isHorCenter ? "transform: translateX(-50%);" : "";
31
- var ret_pos_prm = pos && (type === "absolute" || type === "fixed" || type === "sticky") ? "\n ".concat(pos.vertBase, ": ").concat(pos.isVertCenter ? centerVert : pos.vertValue, "; \n ").concat(pos.horBase, ": ").concat(pos.isHorCenter ? centerHor : pos.horValue, ";\n ").concat(centerTrans, "\n ").concat(resetVertBase, ": auto;\n ").concat(resetHorBase, ": auto;\n ").concat(type === "fixed" || type === "sticky" ? "margin-block-start:0;z-index: 50;" : "z-index: auto;", "\n ") : "";
32
- return ret_pos_prm;
33
- //縦横中央揃え
34
- } else if (pos) {
35
- var _ret_pos_prm = "top:50%;left: 50%;transform: translate(-50%, -50%);";
36
- return _ret_pos_prm;
37
- }
38
- return null;
28
+ const position_prm = (pos, type) => {
29
+ // 値がオブジェクト(詳細設定)の場合
30
+ if (isObject(pos)) {
31
+ const p = pos; // 型を確定させる
32
+ const resetVertBase = p.vertBase === "top" ? "bottom" : "top";
33
+ const resetHorBase = p.horBase === "left" ? "right" : "left";
34
+ const centerVert = "50%";
35
+ const centerHor = "50%";
36
+ const centerTrans = p.isVertCenter && p.isHorCenter
37
+ ? "transform: translate(-50%, -50%);"
38
+ : p.isVertCenter
39
+ ? "transform: translateY(-50%);"
40
+ : p.isHorCenter
41
+ ? "transform: translateX(-50%);"
42
+ : "";
43
+ const isValidType = type === "absolute" || type === "fixed" || type === "sticky";
44
+ if (isValidType) {
45
+ return `
46
+ ${p.vertBase}: ${p.isVertCenter ? centerVert : p.vertValue};
47
+ ${p.horBase}: ${p.isHorCenter ? centerHor : p.horValue};
48
+ ${centerTrans}
49
+ ${resetVertBase}: auto;
50
+ ${resetHorBase}: auto;
51
+ ${type === "fixed" || type === "sticky"
52
+ ? "margin-block-start:0;z-index: 50;"
53
+ : "z-index: auto;"}
54
+ `;
55
+ }
56
+ return "";
57
+ // オブジェクトではないが値がある場合(簡易的な中央揃えフラグなど)
58
+ }
59
+ else if (pos) {
60
+ return "top:50%;left: 50%;transform: translate(-50%, -50%);";
61
+ }
62
+ return null;
39
63
  };
40
64
  //ブロック幅を返す
41
- var max_width_prm = (width, free_val) => {
42
- var ret_width_prm = width === "wideSize" ? "max-width: var(--wp--style--global--wide-size);" : width === "contentSize" ? "max-width: var(--wp--style--global--content-size);" : width === "free" ? "max-width: ".concat(free_val, ";") : width === "full" ? "max-width: 100%;" : "max-width: fit-content;";
43
- return ret_width_prm;
65
+ const max_width_prm = (width, free_val) => {
66
+ const ret_width_prm = width === "wideSize"
67
+ ? "max-width: var(--wp--style--global--wide-size);"
68
+ : width === "contentSize"
69
+ ? "max-width: var(--wp--style--global--content-size);"
70
+ : width === "free"
71
+ ? `max-width: ${free_val};`
72
+ : width === "full"
73
+ ? "max-width: 100%;"
74
+ : "max-width: fit-content;";
75
+ return ret_width_prm;
44
76
  };
45
- var width_prm = (width, free_val) => {
46
- var ret_width_prm = width === "wideSize" ? " width: var(--wp--style--global--wide-size);" : width === "contentSize" ? " width: var(--wp--style--global--content-size);" : width === "free" ? " width: ".concat(free_val, "; ") : width === "full" ? " width: 100%;" : width === "fit" ? " width: fit-content;" : " width: auto;";
47
- return ret_width_prm;
77
+ const width_prm = (width, free_val) => {
78
+ const ret_width_prm = width === "wideSize"
79
+ ? " width: var(--wp--style--global--wide-size);"
80
+ : width === "contentSize"
81
+ ? " width: var(--wp--style--global--content-size);"
82
+ : width === "free"
83
+ ? ` width: ${free_val}; `
84
+ : width === "full"
85
+ ? " width: 100%;"
86
+ : width === "fit"
87
+ ? " width: fit-content;"
88
+ : " width: auto;";
89
+ return ret_width_prm;
48
90
  };
49
- var height_prm = (height, free_val) => {
50
- var ret_height_prm = height === "fit" ? " height: fit-content;" : height === "full" ? " height: 100%; " : height === "free" ? " height: ".concat(free_val, "; ") : "height: auto;";
51
- return ret_height_prm;
91
+ const height_prm = (height, free_val) => {
92
+ const ret_height_prm = height === "fit"
93
+ ? " height: fit-content;"
94
+ : height === "full"
95
+ ? ` height: 100%; `
96
+ : height === "free"
97
+ ? ` height: ${free_val}; `
98
+ : "height: auto;";
99
+ return ret_height_prm;
52
100
  };
53
101
  //配置を返す
54
- var align_prm = function align_prm(align) {
55
- var camelFLg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
56
- //css用
57
- var ret_align_prm = align === "center" ? "margin-left: auto; margin-right: auto;" : align === "right" ? "margin-left: auto; margin-right: 0;" : "margin-right: auto; margin-left: 0;";
58
- //インナースタイル用
59
- var camel_align_prm = align === "center" ? {
60
- marginLeft: "auto",
61
- marginRight: "auto"
62
- } : align === "right" ? {
63
- marginLeft: "auto"
64
- } : {};
65
- return camelFLg ? camel_align_prm : ret_align_prm;
102
+ const align_prm = (align, camelFLg = false) => {
103
+ //css用
104
+ const ret_align_prm = align === "center"
105
+ ? "margin-left: auto; margin-right: auto;"
106
+ : align === "right"
107
+ ? "margin-left: auto; margin-right: 0;"
108
+ : "margin-right: auto; margin-left: 0;";
109
+ //インナースタイル用
110
+ const camel_align_prm = align === "center"
111
+ ? { marginLeft: "auto", marginRight: "auto" }
112
+ : align === "right"
113
+ ? { marginLeft: "auto" }
114
+ : {};
115
+ return camelFLg ? camel_align_prm : ret_align_prm;
66
116
  };
67
-
68
117
  //スタイルオブジェクト変換関数
69
- var convertToScss = styleObject => {
70
- var scss = "";
71
- for (var prop in styleObject) {
72
- if (styleObject.hasOwnProperty(prop)) {
73
- var scssProp = prop.replace(/([A-Z])/g, "-$1").toLowerCase();
74
- scss += "".concat(scssProp, ": ").concat(styleObject[prop], ";\n");
118
+ const convertToScss = (styleObject) => {
119
+ let scss = "";
120
+ for (const prop in styleObject) {
121
+ if (styleObject.hasOwnProperty(prop)) {
122
+ const scssProp = prop.replace(/([A-Z])/g, "-$1").toLowerCase();
123
+ scss += `${scssProp}: ${styleObject[prop]};\n`;
124
+ }
75
125
  }
76
- }
77
- return scss;
126
+ return scss;
78
127
  };
79
- var borderProperty = borderObj => {
80
- if (borderObj) {
81
- //borderObjがundefinedでない
82
- var keys = ["top", "bottom", "left", "right"];
83
- var ret_prop = null;
84
- var doesKeyExist = keys.some(key => key in borderObj);
85
- if (doesKeyExist) {
86
- //'top', 'bottom', 'left', 'right'が別設定
87
- var cssObj = {};
88
- for (var side in borderObj) {
89
- var sideData = borderObj[side];
90
- var startsWithZero = String(sideData.width || "").match(/^0/);
91
- if (startsWithZero) {
92
- //widthが0ならCSS設定しない
93
- continue;
94
- }
95
- var border_style = sideData.style || "solid";
96
- var camelCaseSide = "border".concat(capitalizeFirstLetter(side));
97
- cssObj[camelCaseSide] = "".concat(sideData.width, " ").concat(border_style, " ").concat(sideData.color);
98
- }
99
- ret_prop = cssObj;
100
- return ret_prop;
101
- } else {
102
- //同一のボーダー
103
- var _startsWithZero = String(borderObj.width || "").match(/^0/);
104
- if (_startsWithZero) {
105
- //widthが0ならnullを返す
128
+ /**
129
+ * ボーダー設定オブジェクトをCSSプロパティオブジェクトに変換する
130
+ */
131
+ const borderProperty = (borderObj) => {
132
+ if (!borderObj)
106
133
  return null;
107
- }
108
- var _border_style = borderObj.style || "solid";
109
- ret_prop = {
110
- border: "".concat(borderObj.width, " ").concat(_border_style, " ").concat(borderObj.color)
111
- };
112
- return ret_prop;
134
+ const sides = ["top", "bottom", "left", "right"];
135
+ // 指定されたキーのいずれかが存在するかチェック
136
+ const hasSideSettings = sides.some((side) => side in borderObj);
137
+ if (hasSideSettings) {
138
+ // 1. Record<string, string> と定義することで、動的なキー代入を許可します
139
+ const cssObj = {};
140
+ for (const side in borderObj) {
141
+ const sideData = borderObj[side];
142
+ // 幅が 0(0px, 0remなど)で始まる場合はスキップ
143
+ if (String(sideData?.width || "").startsWith("0")) {
144
+ continue;
145
+ }
146
+ const borderStyle = sideData?.style || "solid";
147
+ // 2. キーを camelCase に変換(例: top -> borderTop)
148
+ const camelCaseSide = `border${capitalizeFirstLetter(side)}`;
149
+ cssObj[camelCaseSide] =
150
+ `${sideData.width} ${borderStyle} ${sideData.color}`;
151
+ }
152
+ // すべての辺が幅0で cssObj が空になった場合は null を返す
153
+ return Object.keys(cssObj).length > 0 ? cssObj : null;
154
+ }
155
+ else {
156
+ // 同一のボーダー設定の場合
157
+ if (String(borderObj.width || "").startsWith("0")) {
158
+ return null;
159
+ }
160
+ const borderStyle = borderObj.style || "solid";
161
+ return {
162
+ border: `${borderObj.width} ${borderStyle} ${borderObj.color}`,
163
+ };
113
164
  }
114
- } else {
115
- return null;
116
- }
117
165
  };
118
-
119
166
  //角丸の設定
120
- var radiusProperty = radiusObj => {
121
- var ret_prop = radiusObj && Object.keys(radiusObj).length === 1 ? radiusObj.value : "".concat(radiusObj && radiusObj.topLeft || "", " ").concat(radiusObj && radiusObj.topRight || "", " ").concat(radiusObj && radiusObj.bottomRight || "", " ").concat(radiusObj && radiusObj.bottomLeft || "");
122
- var ret_val = {
123
- borderRadius: ret_prop
124
- };
125
- return ret_val;
167
+ const radiusProperty = (radiusObj) => {
168
+ if (!radiusObj)
169
+ return {};
170
+ const ret_prop = radiusObj && Object.keys(radiusObj).length === 1
171
+ ? radiusObj.value
172
+ : `${(radiusObj && radiusObj.topLeft) || ""} ${(radiusObj && radiusObj.topRight) || ""} ${(radiusObj && radiusObj.bottomRight) || ""} ${(radiusObj && radiusObj.bottomLeft) || ""}`;
173
+ const ret_val = { borderRadius: ret_prop };
174
+ return ret_val;
126
175
  };
127
-
128
176
  //マージンの設定
129
- var marginProperty = marginObj => {
130
- var ret_prop = "".concat(marginObj.top, " ").concat(marginObj.right, " ").concat(marginObj.bottom, " ").concat(marginObj.left);
131
- var ret_val = {
132
- margin: ret_prop
133
- };
134
- return ret_val;
177
+ const marginProperty = (marginObj) => {
178
+ if (!marginObj)
179
+ return {};
180
+ const ret_prop = `${marginObj.top} ${marginObj.right} ${marginObj.bottom} ${marginObj.left}`;
181
+ const ret_val = { margin: ret_prop };
182
+ return ret_val;
135
183
  };
136
184
  //パディングの設定
137
- function paddingProperty(paddingObj) {
138
- var ret_prop = "".concat(paddingObj.top, " ").concat(paddingObj.right, " ").concat(paddingObj.bottom, " ").concat(paddingObj.left);
139
- var ret_val = {
140
- padding: ret_prop
141
- };
142
- return ret_val;
143
- }
185
+ const paddingProperty = (paddingObj) => {
186
+ if (!paddingObj)
187
+ return {};
188
+ const ret_prop = `${paddingObj.top} ${paddingObj.right} ${paddingObj.bottom} ${paddingObj.left}`;
189
+ const ret_val = { padding: ret_prop };
190
+ return ret_val;
191
+ };
144
192
 
145
193
  exports.align_prm = align_prm;
146
194
  exports.borderProperty = borderProperty;