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":"BrockInserter.js","sources":["../../src/BrockInserter.js"],"sourcesContent":["import {\n serializeBlockTree,\n createBlockTree,\n flattenBlocks,\n} from \"./blockStore\";\nimport { createBlock, getBlockType } from \"@wordpress/blocks\";\nimport { useEffect } from \"@wordpress/element\";\nimport { useSelect, useDispatch } from \"@wordpress/data\";\n\n//フィールド生成用関数\nconst createBlockAttr = (selectedField, pluginOption) => {\n let blockAttributes = {};\n switch (selectedField.block) {\n case \"itmar/design-title\":\n const block_class = selectedField.key.startsWith(\"tax_\")\n ? selectedField.key\n : `sp_field_${selectedField.key}`;\n blockAttributes = {\n className: block_class,\n headingContent: `[${selectedField.label}]`,\n };\n\n break;\n case \"core/paragraph\":\n blockAttributes = {\n className: `itmar_ex_block sp_field_${selectedField.key}`,\n content: `[${selectedField.label}]`,\n };\n break;\n case \"core/image\":\n blockAttributes = {\n className: `itmar_ex_block sp_field_${selectedField.key}`,\n url: `${window[pluginOption]?.plugin_url}/assets/image/main_sample.png`,\n };\n break;\n case \"itmar/slide-mv\":\n const spaceAttributes = {\n margin_val: {\n type: \"object\",\n default: {\n top: \"0em\",\n left: \"0em\",\n bottom: \"0em\",\n right: \"0em\",\n },\n },\n padding_val: {\n type: \"object\",\n default: {\n top: \"0em\",\n left: \"0em\",\n bottom: \"0em\",\n right: \"0em\",\n },\n },\n };\n\n const imageBlock = createBlock(\"core/image\", {\n className: \"itmar_ex_block\",\n url: `${window[pluginOption]?.plugin_url}/assets/image/slide_sample.png`,\n ...spaceAttributes,\n });\n //Design Blockの初期設定を取得\n const blockType = getBlockType(\"itmar/design-group\");\n const defaultValBase = blockType?.attributes?.default_val?.default ?? {};\n const mobileValBase = blockType?.attributes?.mobile_val?.default ?? {};\n const slideBlock = createBlock(\n \"itmar/design-group\",\n {\n default_val: {\n ...defaultValBase,\n width_val: \"fit\",\n },\n mobile_val: {\n ...mobileValBase,\n width_val: \"fit\",\n },\n },\n [imageBlock],\n );\n //slideBlock をシリアライズ\n const serializedSlide = serializeBlockTree(slideBlock);\n // 同じスライドブロックを5つ複製(独立したブロックとして)\n const slideBlocks = Array.from({ length: 5 }, () =>\n createBlockTree(serializedSlide),\n );\n //子ブロック付きで返す\n blockAttributes = {\n attributes: { className: `sp_field_${selectedField.key}` },\n slideBlocks: slideBlocks,\n };\n break;\n default:\n blockAttributes = {\n className: `sp_field_${selectedField.key}`,\n headingContent: `[${selectedField.label}]`,\n };\n }\n return blockAttributes;\n};\n\n//表示フィールド変更によるインナーブロックの再構成\nexport const useRebuildChangeField = (\n dispAttributeArray,\n selectedFields,\n pickupType,\n dispTaxonomies,\n sectionCount,\n domType,\n clientId,\n insertId,\n pluginOption,\n) => {\n // dispatch関数を取得\n const { replaceInnerBlocks } = useDispatch(\"core/block-editor\");\n const pickupBlock = useSelect(\n (select) => select(\"core/block-editor\").getBlock(clientId),\n [clientId],\n );\n\n useEffect(() => {\n //dispAttributeArray の個数調整\n const blocksLength = dispAttributeArray.length;\n if (blocksLength < sectionCount) {\n // dispAttributeArrayの長さが短い場合、{}を追加する\n const diff = sectionCount - blocksLength;\n for (let i = 0; i < diff; i++) {\n dispAttributeArray.push({});\n }\n } else {\n // dispAttributeArrayの長さが長い場合、余分な要素を削除する\n dispAttributeArray.splice(sectionCount);\n }\n\n // インナーブロックに差し込むブロック配列を生成\n const blocksArray = dispAttributeArray.map((dispAttribute, unit_index) => {\n // blocksAttributesArray属性で登録されたブロックのclassName一覧(sp_field_xxx を拾う)\n const allBlocks = Array.isArray(dispAttribute.innerBlocks)\n ? flattenBlocks(dispAttribute.innerBlocks) //階層になったブロックを平坦化\n : [];\n\n const existingKeys = allBlocks\n .map((block) => block.attributes?.className)\n .filter(Boolean)\n .map((cls) => {\n // sp_field_◯◯ か tax_◯◯ のどちらかにマッチ\n const match = cls.match(/sp_field_([\\w-]+)|(tax_[\\w-]+)/);\n if (!match) return null;\n\n // match[1] があれば sp_field_ のほう → プレフィックス除去\n // match[2] があれば tax_ のほう → そのまま返す\n return match[1] ?? match[2];\n })\n .filter(Boolean);\n\n // dispTaxonomies からオブジェクトを作って selectedFieldsに加えてnewSelectedFieldsを生成\n const newSelectedFields = [\n ...selectedFields,\n ...dispTaxonomies.map((tax) => ({\n key: `tax_${tax}`, // 例: \"tax_category\"\n label: tax, // 例: \"category\"\n block: \"itmar/design-title\",\n })),\n ];\n\n // newSelectedFieldsのうち未挿入のものだけ追加\n const autoGeneratedBlocks = newSelectedFields\n .filter((field) => !existingKeys.includes(field.key))\n .map((field) => {\n const attr = createBlockAttr(field, pluginOption);\n const blockName = field.block;\n const blockAttributes = attr?.attributes ?? attr;\n const innerBlocks = Array.isArray(attr?.slideBlocks)\n ? attr.slideBlocks\n : [];\n\n return createBlock(blockName, blockAttributes, innerBlocks);\n });\n // blocksAttributesArray属性で登録されたブロックの再構築\n const selectedKeys = selectedFields.map((f) => f.key);\n\n const filterBlocksRecursively = (blocks) => {\n return blocks\n .map((block) => {\n const className = block.attributes?.className || \"\";\n // 1. まず sp_field_ のパターンを探す\n let match = className.match(/sp_field_([a-zA-Z0-9_]+)/);\n // 2. 見つからなければ tax_○○ をチェック\n if (className.startsWith(\"tax_\")) {\n const name = className.slice(\"tax_\".length); // \"tax_category\" → \"category\"\n\n // dispTaxonomies に含まれないものだけ有効とする\n if (!dispTaxonomies.includes(name)) {\n // 正規表現の match 結果っぽい形の配列を自分で作る\n // [0] に全体一致, [1] にグループ1 というイメージ\n match = [`tax_${name}`, name];\n }\n }\n\n // 再帰的に innerBlocks をフィルタ\n const filteredInner = block.innerBlocks\n ? filterBlocksRecursively(block.innerBlocks)\n : [];\n\n const isAutoGenerated = !!match;\n const keep = !isAutoGenerated || selectedKeys.includes(match[1]);\n\n if (!keep) return null;\n\n // 構造を復元して返す\n return {\n ...block,\n innerBlocks: filteredInner,\n };\n })\n .filter(Boolean); // null を除去\n };\n\n const userBlocks = Array.isArray(dispAttribute.innerBlocks)\n ? filterBlocksRecursively(dispAttribute.innerBlocks).map(\n createBlockTree,\n )\n : [];\n\n // autoGenerated(selectedFields) + userBlocks を合成\n const innerBlocks = [...userBlocks, ...autoGeneratedBlocks];\n\n const ret = createBlock(\n \"itmar/design-group\",\n {\n ...dispAttribute.attributes,\n className: `unit_design_${unit_index}`,\n domType: domType,\n },\n innerBlocks,\n );\n\n return ret;\n });\n\n //挿入するブロックと自身のブロックが異なる場合(slide-mvにデータを入れる場合)\n if (insertId !== clientId) {\n blocksArray.push(pickupBlock);\n }\n // 既存のインナーブロックを一括置換\n replaceInnerBlocks(insertId, blocksArray, false);\n }, [selectedFields, pickupType, dispTaxonomies]);\n};\n"],"names":["createBlockAttr","selectedField","pluginOption","_window$pluginOption","_window$pluginOption2","_blockType$attributes","_blockType$attributes2","_blockType$attributes3","_blockType$attributes4","blockAttributes","block","block_class","key","startsWith","concat","className","headingContent","label","content","url","window","plugin_url","spaceAttributes","margin_val","type","default","top","left","bottom","right","padding_val","imageBlock","createBlock","_objectSpread","blockType","getBlockType","defaultValBase","attributes","default_val","mobileValBase","mobile_val","slideBlock","width_val","serializedSlide","serializeBlockTree","slideBlocks","Array","from","length","createBlockTree","useRebuildChangeField","dispAttributeArray","selectedFields","pickupType","dispTaxonomies","sectionCount","domType","clientId","insertId","replaceInnerBlocks","useDispatch","pickupBlock","useSelect","select","getBlock","useEffect","blocksLength","diff","i","push","splice","blocksArray","map","dispAttribute","unit_index","allBlocks","isArray","innerBlocks","flattenBlocks","existingKeys","_block$attributes","filter","Boolean","cls","_match$","match","newSelectedFields","tax","autoGeneratedBlocks","field","includes","_attr$attributes","attr","blockName","selectedKeys","f","filterBlocksRecursively","blocks","_block$attributes2","name","slice","filteredInner","isAutoGenerated","keep","userBlocks","ret"],"mappings":"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"}
1
+ {"version":3,"file":"BrockInserter.js","sources":["../../src/BrockInserter.ts"],"sourcesContent":[null],"names":["createBlock","getBlockType","serializeBlockTree","createBlockTree","useDispatch","useSelect","useEffect","flattenBlocks"],"mappings":"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"}
@@ -1,310 +1,283 @@
1
1
  'use strict';
2
2
 
3
- var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
3
+ var element = require('@wordpress/element');
4
4
  var i18n = require('@wordpress/i18n');
5
5
  var index = require('./node_modules/nanoid/non-secure/index.js');
6
6
  var components = require('@wordpress/components');
7
7
 
8
8
  //期間の設定から選択できる月の情報オブジェクトを配列にする関数
9
- var generateDateArray = (dateObj, isMonth) => {
10
- var {
11
- startYear,
12
- startMonth,
13
- endYear,
14
- endMonth
15
- } = dateObj;
16
- var result = [];
17
- for (var year = startYear; year <= endYear; year++) {
18
- if (isMonth) {
19
- var monthStart = year === startYear ? startMonth : 1;
20
- var monthEnd = year === endYear ? endMonth : 12;
21
- for (var month = monthStart; month <= monthEnd; month++) {
22
- var unitObj = {
23
- id: index.nanoid(5),
24
- value: "".concat(year, "/").concat(month.toString().padStart(2, "0")),
25
- label: "".concat(year, "/").concat(month.toString().padStart(2, "0")),
26
- classname: "filter_date"
27
- };
28
- result.push(unitObj);
29
- }
30
- } else {
31
- var _unitObj = {
32
- id: index.nanoid(5),
33
- value: "".concat(year),
34
- label: "".concat(year),
35
- classname: "filter_date"
36
- };
37
- result.push(_unitObj);
9
+ const generateDateArray = (dateObj, isMonth) => {
10
+ const { startYear, startMonth, endYear, endMonth } = dateObj;
11
+ const result = [];
12
+ for (let year = startYear; year <= endYear; year++) {
13
+ if (isMonth) {
14
+ const monthStart = year === startYear ? startMonth : 1;
15
+ const monthEnd = year === endYear ? endMonth : 12;
16
+ for (let month = monthStart; month <= monthEnd; month++) {
17
+ const unitObj = {
18
+ id: index.nanoid(5),
19
+ value: `${year}/${month.toString().padStart(2, "0")}`,
20
+ label: `${year}/${month.toString().padStart(2, "0")}`,
21
+ classname: "filter_date",
22
+ };
23
+ result.push(unitObj);
24
+ }
25
+ }
26
+ else {
27
+ const unitObj = {
28
+ id: index.nanoid(5),
29
+ value: `${year}`,
30
+ label: `${year}`,
31
+ classname: "filter_date",
32
+ };
33
+ result.push(unitObj);
34
+ }
38
35
  }
39
- }
40
- return result;
36
+ return result;
41
37
  };
42
-
43
- //与えられた月から日付と曜日を要素とする配列を生成する
44
- var generateMonthCalendar = function generateMonthCalendar(dateString) {
45
- var holidays = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
46
- var [year, month] = dateString.split("/").map(Number);
47
- var date = new Date(year, month - 1, 1);
48
- var lastDay = new Date(year, month, 0).getDate();
49
- var calendar = [];
50
- var _loop = function _loop(day) {
51
- date.setDate(day);
52
- //祝日の情報
53
- var holidayItem = holidays === null || holidays === void 0 ? void 0 : holidays.find(item => {
54
- var _item$date;
55
- var s = String((_item$date = item.date) !== null && _item$date !== void 0 ? _item$date : "");
56
-
57
- // item.date から YYYY, MM, DD を取り出す("YYYYMMDD" / "YYYY-MM-DD" などに対応)
58
- var yearStr = s.slice(0, 4);
59
- var monthStr = s.replace(/\D/g, "").slice(4, 6); // 数字だけにして5-6桁
60
- var dayStr = s.replace(/\D/g, "").slice(6, 8); // 数字だけにして7-8桁
61
-
62
- var itemYear = Number(yearStr);
63
- var itemMonth = Number(monthStr);
64
- var itemDay = Number(dayStr);
65
- return itemYear === year && itemMonth === month && itemDay === day;
66
- });
67
- //日付情報オブジェクト
68
- var dayObj = holidayItem ? {
69
- date: day,
70
- weekday: date.getDay(),
71
- holiday: holidayItem.name
72
- } : {
73
- date: day,
74
- weekday: date.getDay()
75
- };
76
- calendar.push(dayObj);
77
- };
78
- for (var day = 1; day <= lastDay; day++) {
79
- _loop(day);
80
- }
81
- return calendar;
38
+ const generateMonthCalendar = (dateString, holidays = null) => {
39
+ const [year, month] = dateString.split("/").map(Number);
40
+ const date = new Date(year, month - 1, 1);
41
+ const lastDay = new Date(year, month, 0).getDate();
42
+ const calendar = [];
43
+ for (let day = 1; day <= lastDay; day++) {
44
+ date.setDate(day);
45
+ //祝日の情報
46
+ const holidayItem = holidays?.find((item) => {
47
+ const s = String(item.date ?? "");
48
+ // item.date から YYYY, MM, DD を取り出す("YYYYMMDD" / "YYYY-MM-DD" などに対応)
49
+ const yearStr = s.slice(0, 4);
50
+ const monthStr = s.replace(/\D/g, "").slice(4, 6); // 数字だけにして5-6桁
51
+ const dayStr = s.replace(/\D/g, "").slice(6, 8); // 数字だけにして7-8桁
52
+ const itemYear = Number(yearStr);
53
+ const itemMonth = Number(monthStr);
54
+ const itemDay = Number(dayStr);
55
+ return itemYear === year && itemMonth === month && itemDay === day;
56
+ });
57
+ //日付情報オブジェクト
58
+ const dayObj = holidayItem
59
+ ? {
60
+ date: day,
61
+ weekday: date.getDay(),
62
+ holiday: holidayItem.name,
63
+ }
64
+ : {
65
+ date: day,
66
+ weekday: date.getDay(),
67
+ };
68
+ calendar.push(dayObj);
69
+ }
70
+ return calendar;
82
71
  };
83
-
84
- //期間設定のインスペクターコントロール
85
- var PeriodCtrl = _ref => {
86
- var {
87
- startYear,
88
- endYear,
89
- dateSpan,
90
- isMonth,
91
- onChange: _onChange
92
- } = _ref;
93
- return /*#__PURE__*/React.createElement(components.PanelBody, {
94
- title: i18n.__("Period Setting", "block-collections"),
95
- initialOpen: true,
96
- className: "form_setteing_ctrl"
97
- }, /*#__PURE__*/React.createElement("label", null, i18n.__("Start of period", "block-collections")), /*#__PURE__*/React.createElement(components.PanelRow, {
98
- className: "itmar_date_span"
99
- }, /*#__PURE__*/React.createElement(components.__experimentalNumberControl, {
100
- label: i18n.__("Year", "block-collections"),
101
- labelPosition: "side",
102
- max: endYear,
103
- min: startYear,
104
- onChange: newValue => {
105
- var newSpanObj = {
106
- dateSpan: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, dateSpan), {}, {
107
- startYear: Number(newValue)
108
- })
109
- };
110
- _onChange(newSpanObj);
111
- },
112
- value: dateSpan.startYear
113
- }), isMonth && /*#__PURE__*/React.createElement(components.__experimentalNumberControl, {
114
- label: i18n.__("Month", "block-collections"),
115
- labelPosition: "side",
116
- max: 12,
117
- min: 1,
118
- onChange: newValue => {
119
- var newSpanObj = {
120
- dateSpan: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, dateSpan), {}, {
121
- startMonth: Number(newValue)
122
- })
123
- };
124
- _onChange(newSpanObj);
125
- },
126
- value: dateSpan.startMonth
127
- })), /*#__PURE__*/React.createElement("label", null, i18n.__("End of period", "block-collections")), /*#__PURE__*/React.createElement(components.PanelRow, {
128
- className: "itmar_date_span"
129
- }, /*#__PURE__*/React.createElement(components.__experimentalNumberControl, {
130
- label: i18n.__("Year", "block-collections"),
131
- labelPosition: "side",
132
- max: endYear,
133
- min: startYear,
134
- onChange: newValue => {
135
- var newSpanObj = {
136
- dateSpan: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, dateSpan), {}, {
137
- endYear: Number(newValue)
138
- })
139
- };
140
- _onChange(newSpanObj);
141
- },
142
- value: dateSpan.endYear
143
- }), /*#__PURE__*/React.createElement(components.__experimentalNumberControl, {
144
- label: i18n.__("Month", "block-collections"),
145
- labelPosition: "side",
146
- max: 12,
147
- min: 1,
148
- onChange: newValue => {
149
- var newSpanObj = {
150
- dateSpan: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, dateSpan), {}, {
151
- endMonth: Number(newValue)
152
- })
153
- };
154
- _onChange(newSpanObj);
155
- },
156
- value: dateSpan.endMonth
157
- })));
72
+ const PeriodCtrl = ({ startYear, endYear, dateSpan, isMonth, onChange, }) => {
73
+ return (element.createElement(components.PanelBody, { title: i18n.__("Period Setting", "block-collections"), initialOpen: true, className: "form_setteing_ctrl" },
74
+ element.createElement("label", null, i18n.__("Start of period", "block-collections")),
75
+ element.createElement(components.PanelRow, { className: "itmar_date_span" },
76
+ element.createElement(components.__experimentalNumberControl, { label: i18n.__("Year", "block-collections"), labelPosition: "side", max: endYear, min: startYear, onChange: (newValue) => {
77
+ const newSpanObj = {
78
+ dateSpan: {
79
+ ...dateSpan,
80
+ startYear: Number(newValue),
81
+ },
82
+ };
83
+ onChange(newSpanObj);
84
+ }, value: dateSpan.startYear }),
85
+ isMonth && (element.createElement(components.__experimentalNumberControl, { label: i18n.__("Month", "block-collections"), labelPosition: "side", max: 12, min: 1, onChange: (newValue) => {
86
+ const newSpanObj = {
87
+ dateSpan: {
88
+ ...dateSpan,
89
+ startMonth: Number(newValue),
90
+ },
91
+ };
92
+ onChange(newSpanObj);
93
+ }, value: dateSpan.startMonth }))),
94
+ element.createElement("label", null, i18n.__("End of period", "block-collections")),
95
+ element.createElement(components.PanelRow, { className: "itmar_date_span" },
96
+ element.createElement(components.__experimentalNumberControl, { label: i18n.__("Year", "block-collections"), labelPosition: "side", max: endYear, min: startYear, onChange: (newValue) => {
97
+ const newSpanObj = {
98
+ dateSpan: {
99
+ ...dateSpan,
100
+ endYear: Number(newValue),
101
+ },
102
+ };
103
+ onChange(newSpanObj);
104
+ }, value: dateSpan.endYear }),
105
+ element.createElement(components.__experimentalNumberControl, { label: i18n.__("Month", "block-collections"), labelPosition: "side", max: 12, min: 1, onChange: (newValue) => {
106
+ const newSpanObj = {
107
+ dateSpan: {
108
+ ...dateSpan,
109
+ endMonth: Number(newValue),
110
+ },
111
+ };
112
+ onChange(newSpanObj);
113
+ }, value: dateSpan.endMonth }))));
158
114
  };
159
-
160
- //日付から期間のクエリー用の配列を生成
161
- var getPeriodQuery = dateString => {
162
- if (!dateString) {
163
- return null; //与えられた文字列が空ならnullをかえす
164
- }
165
- var parts = dateString.split("/");
166
- var year = parseInt(parts[0], 10);
167
- var month = parts.length > 1 ? parseInt(parts[1], 10) : null;
168
- var day = parts.length > 2 ? parseInt(parts[2], 10) : null;
169
- var startDate, endDate;
170
- if (day) {
171
- // 特定の日
172
- startDate = new Date(year, month - 1, day, 0, 0, 0, -1);
173
- endDate = new Date(year, month - 1, day, 23, 59, 59, 1000);
174
- } else if (month) {
175
- // 特定の月
176
- startDate = new Date(year, month - 1, 1, 0, 0, 0, -1);
177
- endDate = new Date(year, month, 1, 0, 0, 0, 0);
178
- } else {
179
- // 特定の年
180
- startDate = new Date(year, 0, 1, 0, 0, 0, -1);
181
- endDate = new Date(year + 1, 0, 1, 0, 0, 0, 0);
182
- }
183
- return {
184
- after: startDate.toISOString(),
185
- before: endDate.toISOString()
186
- };
115
+ const getPeriodQuery = (dateString) => {
116
+ if (!dateString) {
117
+ return null; //与えられた文字列が空ならnullをかえす
118
+ }
119
+ const parts = dateString.split("/");
120
+ // 1. 年は必須。取れない場合は null を返す
121
+ const year = parts[0] ? parseInt(parts[0], 10) : null;
122
+ if (year === null || isNaN(year))
123
+ return null;
124
+ // 2. 月と日を「数値」または「undefined」として安全に抽出
125
+ // NaN を避けるために、条件式で厳密にチェックします
126
+ const month = parts.length > 1 && !isNaN(parseInt(parts[1], 10))
127
+ ? parseInt(parts[1], 10)
128
+ : undefined;
129
+ const day = parts.length > 2 && !isNaN(parseInt(parts[2], 10))
130
+ ? parseInt(parts[2], 10)
131
+ : undefined;
132
+ let startDate;
133
+ let endDate;
134
+ // 3. 判定ロジック(undefined を使った方が TS の相性が良いです)
135
+ if (month !== undefined && day !== undefined) {
136
+ startDate = new Date(year, month - 1, day, 0, 0, 0, -1);
137
+ endDate = new Date(year, month - 1, day, 23, 59, 59, 1000);
138
+ }
139
+ else if (month !== undefined) {
140
+ startDate = new Date(year, month - 1, 1, 0, 0, 0, -1);
141
+ endDate = new Date(year, month, 1, 0, 0, 0, 0);
142
+ }
143
+ else {
144
+ startDate = new Date(year, 0, 1, 0, 0, 0, -1);
145
+ endDate = new Date(year + 1, 0, 1, 0, 0, 0, 0);
146
+ }
147
+ return {
148
+ after: startDate.toISOString(),
149
+ before: endDate.toISOString(),
150
+ };
187
151
  };
188
-
189
152
  //本日の日付から'YYYY/MM'形式の日付文字列を生成する
190
- var getTodayYearMonth = () => {
191
- var today = new Date();
192
- var year = today.getFullYear();
193
- var month = String(today.getMonth() + 1).padStart(2, "0");
194
- return "".concat(year, "/").concat(month);
153
+ const getTodayYearMonth = () => {
154
+ const today = new Date();
155
+ const year = today.getFullYear();
156
+ const month = String(today.getMonth() + 1).padStart(2, "0");
157
+ return `${year}/${month}`;
195
158
  };
196
159
  //本日の日付から年を返す
197
- var getTodayYear = () => {
198
- var today = new Date();
199
- return today.getFullYear();
160
+ const getTodayYear = () => {
161
+ const today = new Date();
162
+ return today.getFullYear();
200
163
  };
201
164
  //本日の日付から月を返す
202
- var getTodayMonth = () => {
203
- var today = new Date();
204
- return today.getMonth() + 1;
165
+ const getTodayMonth = () => {
166
+ const today = new Date();
167
+ return today.getMonth() + 1;
205
168
  };
206
-
207
- // "2026/01" -> { ym:"2026-01", from:"2026-01-01", to:"2026-01-31", year:2026, month:1 }
208
- var pad2 = n => String(n).padStart(2, "0");
209
- var getMonthRangeYmd = selectedMonth => {
210
- if (!selectedMonth) return {
211
- ym: "",
212
- from: "",
213
- to: "",
214
- year: 0,
215
- month: 0,
216
- lastDay: 0
217
- };
218
- var [yStr, mStr] = String(selectedMonth).split("/");
219
- var year = Number(yStr);
220
- var month = Number(mStr);
221
- if (!year || !month) return {
222
- ym: "",
223
- from: "",
224
- to: "",
225
- year: 0,
226
- month: 0,
227
- lastDay: 0
228
- };
229
- var lastDay = new Date(year, month, 0).getDate();
230
- var mm = pad2(month);
231
- return {
232
- ym: "".concat(year, "-").concat(mm),
233
- from: "".concat(year, "-").concat(mm, "-01"),
234
- to: "".concat(year, "-").concat(mm, "-").concat(pad2(lastDay)),
235
- year,
236
- month,
237
- lastDay
238
- };
169
+ const pad2 = (n) => String(n).padStart(2, "0");
170
+ const getMonthRangeYmd = (selectedMonth) => {
171
+ // 初期値(エラー時や未選択時)
172
+ const defaultRange = {
173
+ ym: "",
174
+ from: "",
175
+ to: "",
176
+ year: 0,
177
+ month: 0,
178
+ lastDay: 0,
179
+ };
180
+ if (!selectedMonth)
181
+ return defaultRange;
182
+ const [yStr, mStr] = String(selectedMonth).split("/");
183
+ const year = Number(yStr);
184
+ const month = Number(mStr);
185
+ // 2. NaN チェックを含めたガード
186
+ if (isNaN(year) || isNaN(month) || year === 0 || month === 0) {
187
+ return defaultRange;
188
+ }
189
+ // その月の「0日目」を指定することで、前月の最終日(=今月の末日)を取得
190
+ const lastDay = new Date(year, month, 0).getDate();
191
+ const mm = pad2(month);
192
+ return {
193
+ ym: `${year}-${mm}`,
194
+ from: `${year}-${mm}-01`,
195
+ to: `${year}-${mm}-${pad2(lastDay)}`,
196
+ year,
197
+ month,
198
+ lastDay,
199
+ };
239
200
  };
240
- var normalizeDateYYYYMMDD = value => {
241
- // 期待値: 'YYYY-MM-DD'
242
- if (!value) return "";
243
- return String(value).slice(0, 10);
201
+ const normalizeDateYYYYMMDD = (value) => {
202
+ // 期待値: 'YYYY-MM-DD'
203
+ if (!value)
204
+ return "";
205
+ return String(value).slice(0, 10);
244
206
  };
245
- var toYmdFromMonthAndDay = (selectedMonth, dayValue) => {
246
- if (!dayValue) return "";
247
- var dayStr = String(dayValue).trim();
248
-
249
- // already "YYYY-MM-DD"
250
- if (/^\d{4}-\d{2}-\d{2}$/.test(dayStr)) return dayStr;
251
-
252
- // 8 digits "YYYYMMDD"
253
- if (/^\d{8}$/.test(dayStr)) {
254
- var y = dayStr.slice(0, 4);
255
- var m = dayStr.slice(4, 6);
256
- var d = dayStr.slice(6, 8);
257
- return "".concat(y, "-").concat(m, "-").concat(d);
258
- }
259
- // day-of-month number
260
- var dayNum = Number(dayStr);
261
- if (!selectedMonth || !dayNum) return "";
262
- var [yStr, mStr] = String(selectedMonth).split("/");
263
- if (!yStr || !mStr) return "";
264
- return "".concat(yStr, "-").concat(pad2(Number(mStr)), "-").concat(pad2(dayNum));
207
+ /**
208
+ * 様々な形式の「日」の入力と「選択された月」を組み合わせて YYYY-MM-DD 形式を返す
209
+ */
210
+ const toYmdFromMonthAndDay = (selectedMonth, dayValue) => {
211
+ if (!dayValue)
212
+ return "";
213
+ const dayStr = String(dayValue).trim();
214
+ // already "YYYY-MM-DD"
215
+ if (/^\d{4}-\d{2}-\d{2}$/.test(dayStr))
216
+ return dayStr;
217
+ // 8 digits "YYYYMMDD"
218
+ if (/^\d{8}$/.test(dayStr)) {
219
+ const y = dayStr.slice(0, 4);
220
+ const m = dayStr.slice(4, 6);
221
+ const d = dayStr.slice(6, 8);
222
+ return `${y}-${m}-${d}`;
223
+ }
224
+ // day-of-month number
225
+ const dayNum = Number(dayStr);
226
+ if (!selectedMonth || !dayNum)
227
+ return "";
228
+ const [yStr, mStr] = String(selectedMonth).split("/");
229
+ if (!yStr || !mStr)
230
+ return "";
231
+ return `${yStr}-${pad2(Number(mStr))}-${pad2(dayNum)}`;
265
232
  };
266
-
267
233
  /* ------------------------------
268
234
  カレンダー用グリッドAreasの生成関数
269
235
  ------------------------------ */
270
- var week = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
271
- var generateGridAreas = (firstDayOfMonth, totalDays, isMonday) => {
272
- var areas = [];
273
- var currentDay = 1;
274
- //月曜日を先頭に持ってくる場合の係数
275
- var mondayFirstDay = firstDayOfMonth - 1 < 0 ? 6 : firstDayOfMonth - 1;
276
- //先頭曜日の選択
277
- var modifyFirstDay = isMonday ? mondayFirstDay : firstDayOfMonth;
278
-
279
- //曜日ラベル
280
- var weekLabels = [];
281
- var week_index;
282
- for (var i = 0; i < 7; i++) {
283
- week_index = isMonday ? i + 1 : i; //月曜日を先頭に持ってくる場合の補正
284
- if (week_index > 6) week_index = 0;
285
- weekLabels.push(week[week_index]);
286
- }
287
- areas.push(weekLabels.join(" "));
288
- for (var _i = 0; _i < 6; _i++) {
289
- // 6週分のループ
290
- var _week = [];
291
- for (var j = 0; j < 7; j++) {
292
- // 1週間の7日分のループ
293
- if (_i === 0 && j < modifyFirstDay || currentDay > totalDays) {
294
- _week.push("empty".concat(_i));
295
- } else {
296
- _week.push("day".concat(currentDay));
297
- currentDay++;
298
- }
236
+ const WEEK_NAMES = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
237
+ /**
238
+ * カレンダーの grid-template-areas 用の文字列を生成する
239
+ * @param firstDayOfMonth 月の最初の日の曜日番号 (0:日, 1:月...)
240
+ * @param totalDays 月の総日数 (28-31)
241
+ * @param isMonday 月曜始まりにするかどうか
242
+ */
243
+ const generateGridAreas = (firstDayOfMonth, totalDays, isMonday) => {
244
+ let areas = [];
245
+ let currentDay = 1;
246
+ //月曜日を先頭に持ってくる場合の係数
247
+ const mondayFirstDay = firstDayOfMonth - 1 < 0 ? 6 : firstDayOfMonth - 1;
248
+ //先頭曜日の選択
249
+ const modifyFirstDay = isMonday ? mondayFirstDay : firstDayOfMonth;
250
+ //曜日ラベル
251
+ let weekLabels = [];
252
+ let week_index;
253
+ for (let i = 0; i < 7; i++) {
254
+ week_index = isMonday ? i + 1 : i; //月曜日を先頭に持ってくる場合の補正
255
+ if (week_index > 6)
256
+ week_index = 0;
257
+ weekLabels.push(WEEK_NAMES[week_index]);
299
258
  }
300
- if (_i == 5) {
301
- //最後の週
302
- _week[5] = "day_clear";
303
- _week[6] = "day_clear";
259
+ areas.push(weekLabels.join(" "));
260
+ for (let i = 0; i < 6; i++) {
261
+ // 6週分のループ
262
+ let week = [];
263
+ for (let j = 0; j < 7; j++) {
264
+ // 1週間の7日分のループ
265
+ if ((i === 0 && j < modifyFirstDay) || currentDay > totalDays) {
266
+ week.push(`empty${i}`);
267
+ }
268
+ else {
269
+ week.push(`day${currentDay}`);
270
+ currentDay++;
271
+ }
272
+ }
273
+ if (i == 5) {
274
+ //最後の週
275
+ week[5] = "day_clear";
276
+ week[6] = "day_clear";
277
+ }
278
+ areas.push(week.join(" "));
304
279
  }
305
- areas.push(_week.join(" "));
306
- }
307
- return areas.map(week => "\"".concat(week, "\"")).join("\n");
280
+ return areas.map((week) => `"${week}"`).join("\n");
308
281
  };
309
282
 
310
283
  exports.PeriodCtrl = PeriodCtrl;