itmar-block-packages 2.0.3 → 2.1.1

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.
package/README.md CHANGED
@@ -14,6 +14,12 @@ import {関数名又はコンポーネント名} from "itmar-block-packages"
14
14
  npm i @wordpress/scripts@^27.6.0 --save-dev
15
15
 
16
16
  ## 更新履歴
17
+ = 2.1.1 =
18
+ - フロントエンドデータ共有ライブラリとしてpickupStoreを追加
19
+
20
+ = 2.0.4 =
21
+ - JapaneseHolidaysのgetPeriodQueryのインポート漏れを修正
22
+
17
23
  = 2.0.3 =
18
24
  - IconSelectControlのcreateElementのインポート漏れを修正
19
25
 
@@ -1444,5 +1450,119 @@ const display = displayFormated(
1444
1450
  - decimal が 1 以上のときは minimumFractionDigits / maximumFractionDigits が指定され、常に小数点以下を表示
1445
1451
  - decimal = 0 の場合は整数として表示
1446
1452
 
1453
+ ## pickupStore
1454
+
1455
+ 複数の WordPress ブロック(複数の `view.js` / `viewScript`)から **共通の状態(state)** を扱うための、軽量なグローバルストアです。
1456
+ `window.__itmar_pickup_store__` 上に `contexts: Map` を1つだけ持ち、`pickup_id`(任意の id)ごとに `ctx`(コンテキスト)を共有します。
1457
+
1458
+ ---
1459
+
1460
+ ### 特長
1461
+
1462
+ - **id ごとに状態を共有**(`contexts: Map`)
1463
+ - **購読(subscribe)で state 変更通知**(初回は即時通知)
1464
+ - **部分更新(shallow merge)**で state を更新し購読者へ通知
1465
+ - `ctx.inflight.abort` など、通信中管理の置き場も用意
1466
+
1467
+ ---
1468
+
1469
+ ### インストール
1470
+
1471
+ ```bash
1472
+ npm i <your-package-name>
1473
+ ```
1474
+
1475
+ ---
1476
+
1477
+ ### 基本コンセプト
1478
+
1479
+ #### グローバルストアと contexts
1480
+
1481
+ `pickupStore` は `window.__itmar_pickup_store__` に `{ contexts: new Map() }` を保持します。
1482
+ この `contexts` により、**別ファイル・別ブロックでも同じ Map を共有**できます。
1483
+
1484
+ #### ctx(コンテキスト)
1485
+
1486
+ `ctx` は id ごとに作られる共有オブジェクトです。`state`・`dataset`・`listeners`・`cache`・`inflight` などを持ちます。
1487
+
1488
+ ---
1489
+
1490
+ ### API
1491
+
1492
+ #### `ensureCtx(id)`
1493
+
1494
+ **概要**: id の ctx を取得します。存在しなければ作成して返します。id が falsy の場合は `null`。
1495
+
1496
+ - 引数: `id: string`
1497
+ - 戻り値: `ctx | null`
1498
+
1499
+ ---
1500
+
1501
+ #### `registerPickup(pickupEl)`
1502
+
1503
+ **概要**: DOM要素の `data-pickup_id` から id を取り、その id の ctx を確保した上で `ctx.pickupEl` と `ctx.dataset` を更新します。id が無ければ `null`。
1504
+
1505
+ - 引数: `pickupEl: Element`
1506
+ - 戻り値: `ctx | null`
1447
1507
 
1508
+ ---
1509
+
1510
+ #### `getCtx(id)`
1511
+
1512
+ **概要**: 既存の ctx を取得します(作成はしない)。無ければ `null`。
1513
+
1514
+ - 引数: `id: string`
1515
+ - 戻り値: `ctx | null`
1516
+
1517
+ ---
1518
+
1519
+ #### `subscribe(id, fn)`
1520
+
1521
+ **概要**: ctx を購読します。登録直後に `fn(ctx)` が **1回即時実行**されます(初回通知)。解除関数を返します。
1522
+
1523
+ - 引数:
1524
+ - `id: string`
1525
+ - `fn: (ctx) => void`
1526
+ - 戻り値: `() => void`(購読解除関数)
1527
+
1528
+ ---
1529
+
1530
+ #### `setState(id, partial)`
1531
+
1532
+ **概要**: `ctx.state` を `partial` で **浅くマージ**して更新し、購読者を全員呼びます。
1533
+
1534
+ - 引数:
1535
+ - `id: string`
1536
+ - `partial: object`
1537
+ - 戻り値: `void`
1538
+
1539
+ ---
1540
+
1541
+ ### 使用例(registerPickup → subscribe → setState)
1542
+
1543
+ ```js
1544
+ import { registerPickup, subscribe, setState } from "./pickupStore";
1545
+
1546
+ const pickups = document.querySelectorAll(".wp-block-itmar-pickup-posts");
1547
+
1548
+ pickups.forEach((el) => {
1549
+ const ctx = registerPickup(el); // data-pickup_id が必要
1550
+ if (!ctx) return;
1551
+
1552
+ // 初期状態を投入
1553
+ setState(ctx.id, { page: 0, total: 0 });
1554
+
1555
+ // 購読(初回は即時に1回呼ばれる)
1556
+ const unsubscribe = subscribe(ctx.id, (ctxNow) => {
1557
+ console.log("state:", ctxNow.state);
1558
+ });
1559
+
1560
+ // 必要なら解除
1561
+ // unsubscribe();
1562
+ });
1563
+ ```
1564
+
1565
+ > `registerPickup()` は `ctx.dataset = { ...pickupEl.dataset }` のように dataset をスナップショット保存します。
1566
+
1567
+ ---
1448
1568
 
@@ -7,8 +7,8 @@ var element = require('@wordpress/element');
7
7
  var data = require('@wordpress/data');
8
8
 
9
9
  //フィールド生成用関数
10
- var createBlockAttr = selectedField => {
11
- var _blockType$attributes, _blockType$attributes2, _blockType$attributes3, _blockType$attributes4;
10
+ var createBlockAttr = (selectedField, pluginOption) => {
11
+ var _window$pluginOption, _window$pluginOption2, _blockType$attributes, _blockType$attributes2, _blockType$attributes3, _blockType$attributes4;
12
12
  var blockAttributes = {};
13
13
  switch (selectedField.block) {
14
14
  case "itmar/design-title":
@@ -27,7 +27,7 @@ var createBlockAttr = selectedField => {
27
27
  case "core/image":
28
28
  blockAttributes = {
29
29
  className: "itmar_ex_block sp_field_".concat(selectedField.key),
30
- url: "".concat(itmar_option.plugin_url, "/assets/image/main_sample.png")
30
+ url: "".concat((_window$pluginOption = window[pluginOption]) === null || _window$pluginOption === void 0 ? void 0 : _window$pluginOption.plugin_url, "/assets/image/main_sample.png")
31
31
  };
32
32
  break;
33
33
  case "itmar/slide-mv":
@@ -53,7 +53,7 @@ var createBlockAttr = selectedField => {
53
53
  };
54
54
  var imageBlock = blocks.createBlock("core/image", _rollupPluginBabelHelpers.objectSpread2({
55
55
  className: "itmar_ex_block",
56
- url: "".concat(itmar_option.plugin_url, "/assets/image/slide_sample.png")
56
+ url: "".concat((_window$pluginOption2 = window[pluginOption]) === null || _window$pluginOption2 === void 0 ? void 0 : _window$pluginOption2.plugin_url, "/assets/image/slide_sample.png")
57
57
  }, spaceAttributes));
58
58
  //Design Blockの初期設定を取得
59
59
  var blockType = blocks.getBlockType("itmar/design-group");
@@ -91,7 +91,7 @@ var createBlockAttr = selectedField => {
91
91
  };
92
92
 
93
93
  //表示フィールド変更によるインナーブロックの再構成
94
- var useRebuildChangeField = (dispAttributeArray, selectedFields, pickupType, dispTaxonomies, sectionCount, domType, clientId, insertId) => {
94
+ var useRebuildChangeField = (dispAttributeArray, selectedFields, pickupType, dispTaxonomies, sectionCount, domType, clientId, insertId, pluginOption) => {
95
95
  // dispatch関数を取得
96
96
  var {
97
97
  replaceInnerBlocks
@@ -142,7 +142,7 @@ var useRebuildChangeField = (dispAttributeArray, selectedFields, pickupType, dis
142
142
  // newSelectedFieldsのうち未挿入のものだけ追加
143
143
  var autoGeneratedBlocks = newSelectedFields.filter(field => !existingKeys.includes(field.key)).map(field => {
144
144
  var _attr$attributes;
145
- var attr = createBlockAttr(field);
145
+ var attr = createBlockAttr(field, pluginOption);
146
146
  var blockName = field.block;
147
147
  var blockAttributes = (_attr$attributes = attr === null || attr === void 0 ? void 0 : attr.attributes) !== null && _attr$attributes !== void 0 ? _attr$attributes : attr;
148
148
  var innerBlocks = Array.isArray(attr === null || attr === void 0 ? void 0 : attr.slideBlocks) ? attr.slideBlocks : [];
@@ -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) => {\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: `${itmar_option.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: `${itmar_option.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) => {\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);\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","_blockType$attributes","_blockType$attributes2","_blockType$attributes3","_blockType$attributes4","blockAttributes","block","block_class","key","startsWith","concat","className","headingContent","label","content","url","itmar_option","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.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 +1 @@
1
- {"version":3,"file":"DateElm.js","sources":["../../src/DateElm.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { nanoid } from \"nanoid/non-secure\";\nimport {\n PanelBody,\n PanelRow,\n __experimentalNumberControl as NumberControl,\n} from \"@wordpress/components\";\n\n//Google Calender APIから祝日データを取得するためのID\nconst CALENDAR_ID = \"japanese__ja@holiday.calendar.google.com\";\n\n//期間の設定から選択できる月の情報オブジェクトを配列にする関数\nexport const generateDateArray = (dateObj, isMonth) => {\n const { startYear, startMonth, endYear, endMonth } = dateObj;\n const result = [];\n\n for (let year = startYear; year <= endYear; year++) {\n if (isMonth) {\n const monthStart = year === startYear ? startMonth : 1;\n const monthEnd = year === endYear ? endMonth : 12;\n\n for (let month = monthStart; month <= monthEnd; month++) {\n const unitObj = {\n id: nanoid(5),\n value: `${year}/${month.toString().padStart(2, \"0\")}`,\n label: `${year}/${month.toString().padStart(2, \"0\")}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n } else {\n const unitObj = {\n id: nanoid(5),\n value: `${year}`,\n label: `${year}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n }\n\n return result;\n};\n\n//与えられた月から日付と曜日を要素とする配列を生成する\nexport const generateMonthCalendar = (dateString, holidays = null) => {\n const [year, month] = dateString.split(\"/\").map(Number);\n const date = new Date(year, month - 1, 1);\n const lastDay = new Date(year, month, 0).getDate();\n\n const calendar = [];\n\n for (let day = 1; day <= lastDay; day++) {\n date.setDate(day);\n //祝日の情報\n const holidayItem = holidays?.find((item) => {\n const s = String(item.date ?? \"\");\n\n // item.date から YYYY, MM, DD を取り出す(\"YYYYMMDD\" / \"YYYY-MM-DD\" などに対応)\n const yearStr = s.slice(0, 4);\n const monthStr = s.replace(/\\D/g, \"\").slice(4, 6); // 数字だけにして5-6桁\n const dayStr = s.replace(/\\D/g, \"\").slice(6, 8); // 数字だけにして7-8桁\n\n const itemYear = Number(yearStr);\n const itemMonth = Number(monthStr);\n const itemDay = Number(dayStr);\n\n return itemYear === year && itemMonth === month && itemDay === day;\n });\n //日付情報オブジェクト\n const dayObj = holidayItem\n ? {\n date: day,\n weekday: date.getDay(),\n holiday: holidayItem.name,\n }\n : {\n date: day,\n weekday: date.getDay(),\n };\n calendar.push(dayObj);\n }\n\n return calendar;\n};\n\n//期間設定のインスペクターコントロール\nexport const PeriodCtrl = ({\n startYear,\n endYear,\n dateSpan,\n isMonth,\n onChange,\n}) => {\n return (\n <PanelBody\n title={__(\"Period Setting\", \"block-collections\")}\n initialOpen={true}\n className=\"form_setteing_ctrl\"\n >\n <label>{__(\"Start of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startYear}\n />\n {isMonth && (\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startMonth}\n />\n )}\n </PanelRow>\n <label>{__(\"End of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endYear}\n />\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endMonth}\n />\n </PanelRow>\n </PanelBody>\n );\n};\n\n//日付から期間のクエリー用の配列を生成\nexport const getPeriodQuery = (dateString) => {\n if (!dateString) {\n return null; //与えられた文字列が空ならnullをかえす\n }\n const parts = dateString.split(\"/\");\n const year = parseInt(parts[0], 10);\n const month = parts.length > 1 ? parseInt(parts[1], 10) : null;\n const day = parts.length > 2 ? parseInt(parts[2], 10) : null;\n\n let startDate, endDate;\n\n if (day) {\n // 特定の日\n startDate = new Date(year, month - 1, day, 0, 0, 0, -1);\n endDate = new Date(year, month - 1, day, 23, 59, 59, 1000);\n } else if (month) {\n // 特定の月\n startDate = new Date(year, month - 1, 1, 0, 0, 0, -1);\n endDate = new Date(year, month, 1, 0, 0, 0, 0);\n } else {\n // 特定の年\n startDate = new Date(year, 0, 1, 0, 0, 0, -1);\n endDate = new Date(year + 1, 0, 1, 0, 0, 0, 0);\n }\n\n return {\n after: startDate.toISOString(),\n before: endDate.toISOString(),\n };\n};\n\n//本日の日付から'YYYY/MM'形式の日付文字列を生成する\nexport const getTodayYearMonth = () => {\n const today = new Date();\n const year = today.getFullYear();\n const month = String(today.getMonth() + 1).padStart(2, \"0\");\n return `${year}/${month}`;\n};\n//本日の日付から年を返す\nexport const getTodayYear = () => {\n const today = new Date();\n return today.getFullYear();\n};\n//本日の日付から月を返す\nexport const getTodayMonth = () => {\n const today = new Date();\n return today.getMonth() + 1;\n};\n\n// \"2026/01\" -> { ym:\"2026-01\", from:\"2026-01-01\", to:\"2026-01-31\", year:2026, month:1 }\nconst pad2 = (n) => String(n).padStart(2, \"0\");\nexport const getMonthRangeYmd = (selectedMonth) => {\n if (!selectedMonth)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n const year = Number(yStr);\n const month = Number(mStr);\n if (!year || !month)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n\n const lastDay = new Date(year, month, 0).getDate();\n const mm = pad2(month);\n return {\n ym: `${year}-${mm}`,\n from: `${year}-${mm}-01`,\n to: `${year}-${mm}-${pad2(lastDay)}`,\n year,\n month,\n lastDay,\n };\n};\n\nexport const normalizeDateYYYYMMDD = (value) => {\n // 期待値: 'YYYY-MM-DD'\n if (!value) return \"\";\n return String(value).slice(0, 10);\n};\n\nexport const toYmdFromMonthAndDay = (selectedMonth, dayValue) => {\n if (!dayValue) return \"\";\n\n const dayStr = String(dayValue).trim();\n\n // already \"YYYY-MM-DD\"\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(dayStr)) return dayStr;\n\n // 8 digits \"YYYYMMDD\"\n if (/^\\d{8}$/.test(dayStr)) {\n const y = dayStr.slice(0, 4);\n const m = dayStr.slice(4, 6);\n const d = dayStr.slice(6, 8);\n return `${y}-${m}-${d}`;\n }\n // day-of-month number\n const dayNum = Number(dayStr);\n if (!selectedMonth || !dayNum) return \"\";\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n if (!yStr || !mStr) return \"\";\n return `${yStr}-${pad2(Number(mStr))}-${pad2(dayNum)}`;\n};\n\n/* ------------------------------\nカレンダー用グリッドAreasの生成関数\n------------------------------ */\nconst week = [\"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\"];\nexport const generateGridAreas = (firstDayOfMonth, totalDays, isMonday) => {\n let areas = [];\n let currentDay = 1;\n //月曜日を先頭に持ってくる場合の係数\n const mondayFirstDay = firstDayOfMonth - 1 < 0 ? 6 : firstDayOfMonth - 1;\n //先頭曜日の選択\n const modifyFirstDay = isMonday ? mondayFirstDay : firstDayOfMonth;\n\n //曜日ラベル\n let weekLabels = [];\n let week_index;\n for (let i = 0; i < 7; i++) {\n week_index = isMonday ? i + 1 : i; //月曜日を先頭に持ってくる場合の補正\n if (week_index > 6) week_index = 0;\n weekLabels.push(week[week_index]);\n }\n areas.push(weekLabels.join(\" \"));\n\n for (let i = 0; i < 6; i++) {\n // 6週分のループ\n let week = [];\n for (let j = 0; j < 7; j++) {\n // 1週間の7日分のループ\n if ((i === 0 && j < modifyFirstDay) || currentDay > totalDays) {\n week.push(`empty${i}`);\n } else {\n week.push(`day${currentDay}`);\n currentDay++;\n }\n }\n if (i == 5) {\n //最後の週\n week[5] = \"day_clear\";\n week[6] = \"day_clear\";\n }\n areas.push(week.join(\" \"));\n }\n return areas.map((week) => `\"${week}\"`).join(\"\\n\");\n};\n"],"names":["generateDateArray","dateObj","isMonth","startYear","startMonth","endYear","endMonth","result","year","monthStart","monthEnd","month","unitObj","id","nanoid","value","concat","toString","padStart","label","classname","push","generateMonthCalendar","dateString","holidays","arguments","length","undefined","split","map","Number","date","Date","lastDay","getDate","calendar","_loop","day","setDate","holidayItem","find","item","_item$date","s","String","yearStr","slice","monthStr","replace","dayStr","itemYear","itemMonth","itemDay","dayObj","weekday","getDay","holiday","name","PeriodCtrl","_ref","dateSpan","onChange","React","createElement","PanelBody","title","__","initialOpen","className","PanelRow","NumberControl","labelPosition","max","min","newValue","newSpanObj","_objectSpread","getPeriodQuery","parts","parseInt","startDate","endDate","after","toISOString","before","getTodayYearMonth","today","getFullYear","getMonth","getTodayYear","getTodayMonth","pad2","n","getMonthRangeYmd","selectedMonth","ym","from","to","yStr","mStr","mm","normalizeDateYYYYMMDD","toYmdFromMonthAndDay","dayValue","trim","test","y","m","d","dayNum","week","generateGridAreas","firstDayOfMonth","totalDays","isMonday","areas","currentDay","mondayFirstDay","modifyFirstDay","weekLabels","week_index","i","join","j"],"mappings":"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"}
1
+ {"version":3,"file":"DateElm.js","sources":["../../src/DateElm.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { nanoid } from \"nanoid/non-secure\";\nimport {\n PanelBody,\n PanelRow,\n __experimentalNumberControl as NumberControl,\n} from \"@wordpress/components\";\n\n//期間の設定から選択できる月の情報オブジェクトを配列にする関数\nexport const generateDateArray = (dateObj, isMonth) => {\n const { startYear, startMonth, endYear, endMonth } = dateObj;\n const result = [];\n\n for (let year = startYear; year <= endYear; year++) {\n if (isMonth) {\n const monthStart = year === startYear ? startMonth : 1;\n const monthEnd = year === endYear ? endMonth : 12;\n\n for (let month = monthStart; month <= monthEnd; month++) {\n const unitObj = {\n id: nanoid(5),\n value: `${year}/${month.toString().padStart(2, \"0\")}`,\n label: `${year}/${month.toString().padStart(2, \"0\")}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n } else {\n const unitObj = {\n id: nanoid(5),\n value: `${year}`,\n label: `${year}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n }\n\n return result;\n};\n\n//与えられた月から日付と曜日を要素とする配列を生成する\nexport const generateMonthCalendar = (dateString, holidays = null) => {\n const [year, month] = dateString.split(\"/\").map(Number);\n const date = new Date(year, month - 1, 1);\n const lastDay = new Date(year, month, 0).getDate();\n\n const calendar = [];\n\n for (let day = 1; day <= lastDay; day++) {\n date.setDate(day);\n //祝日の情報\n const holidayItem = holidays?.find((item) => {\n const s = String(item.date ?? \"\");\n\n // item.date から YYYY, MM, DD を取り出す(\"YYYYMMDD\" / \"YYYY-MM-DD\" などに対応)\n const yearStr = s.slice(0, 4);\n const monthStr = s.replace(/\\D/g, \"\").slice(4, 6); // 数字だけにして5-6桁\n const dayStr = s.replace(/\\D/g, \"\").slice(6, 8); // 数字だけにして7-8桁\n\n const itemYear = Number(yearStr);\n const itemMonth = Number(monthStr);\n const itemDay = Number(dayStr);\n\n return itemYear === year && itemMonth === month && itemDay === day;\n });\n //日付情報オブジェクト\n const dayObj = holidayItem\n ? {\n date: day,\n weekday: date.getDay(),\n holiday: holidayItem.name,\n }\n : {\n date: day,\n weekday: date.getDay(),\n };\n calendar.push(dayObj);\n }\n\n return calendar;\n};\n\n//期間設定のインスペクターコントロール\nexport const PeriodCtrl = ({\n startYear,\n endYear,\n dateSpan,\n isMonth,\n onChange,\n}) => {\n return (\n <PanelBody\n title={__(\"Period Setting\", \"block-collections\")}\n initialOpen={true}\n className=\"form_setteing_ctrl\"\n >\n <label>{__(\"Start of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startYear}\n />\n {isMonth && (\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startMonth}\n />\n )}\n </PanelRow>\n <label>{__(\"End of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endYear}\n />\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endMonth}\n />\n </PanelRow>\n </PanelBody>\n );\n};\n\n//日付から期間のクエリー用の配列を生成\nexport const getPeriodQuery = (dateString) => {\n if (!dateString) {\n return null; //与えられた文字列が空ならnullをかえす\n }\n const parts = dateString.split(\"/\");\n const year = parseInt(parts[0], 10);\n const month = parts.length > 1 ? parseInt(parts[1], 10) : null;\n const day = parts.length > 2 ? parseInt(parts[2], 10) : null;\n\n let startDate, endDate;\n\n if (day) {\n // 特定の日\n startDate = new Date(year, month - 1, day, 0, 0, 0, -1);\n endDate = new Date(year, month - 1, day, 23, 59, 59, 1000);\n } else if (month) {\n // 特定の月\n startDate = new Date(year, month - 1, 1, 0, 0, 0, -1);\n endDate = new Date(year, month, 1, 0, 0, 0, 0);\n } else {\n // 特定の年\n startDate = new Date(year, 0, 1, 0, 0, 0, -1);\n endDate = new Date(year + 1, 0, 1, 0, 0, 0, 0);\n }\n\n return {\n after: startDate.toISOString(),\n before: endDate.toISOString(),\n };\n};\n\n//本日の日付から'YYYY/MM'形式の日付文字列を生成する\nexport const getTodayYearMonth = () => {\n const today = new Date();\n const year = today.getFullYear();\n const month = String(today.getMonth() + 1).padStart(2, \"0\");\n return `${year}/${month}`;\n};\n//本日の日付から年を返す\nexport const getTodayYear = () => {\n const today = new Date();\n return today.getFullYear();\n};\n//本日の日付から月を返す\nexport const getTodayMonth = () => {\n const today = new Date();\n return today.getMonth() + 1;\n};\n\n// \"2026/01\" -> { ym:\"2026-01\", from:\"2026-01-01\", to:\"2026-01-31\", year:2026, month:1 }\nconst pad2 = (n) => String(n).padStart(2, \"0\");\nexport const getMonthRangeYmd = (selectedMonth) => {\n if (!selectedMonth)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n const year = Number(yStr);\n const month = Number(mStr);\n if (!year || !month)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n\n const lastDay = new Date(year, month, 0).getDate();\n const mm = pad2(month);\n return {\n ym: `${year}-${mm}`,\n from: `${year}-${mm}-01`,\n to: `${year}-${mm}-${pad2(lastDay)}`,\n year,\n month,\n lastDay,\n };\n};\n\nexport const normalizeDateYYYYMMDD = (value) => {\n // 期待値: 'YYYY-MM-DD'\n if (!value) return \"\";\n return String(value).slice(0, 10);\n};\n\nexport const toYmdFromMonthAndDay = (selectedMonth, dayValue) => {\n if (!dayValue) return \"\";\n\n const dayStr = String(dayValue).trim();\n\n // already \"YYYY-MM-DD\"\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(dayStr)) return dayStr;\n\n // 8 digits \"YYYYMMDD\"\n if (/^\\d{8}$/.test(dayStr)) {\n const y = dayStr.slice(0, 4);\n const m = dayStr.slice(4, 6);\n const d = dayStr.slice(6, 8);\n return `${y}-${m}-${d}`;\n }\n // day-of-month number\n const dayNum = Number(dayStr);\n if (!selectedMonth || !dayNum) return \"\";\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n if (!yStr || !mStr) return \"\";\n return `${yStr}-${pad2(Number(mStr))}-${pad2(dayNum)}`;\n};\n\n/* ------------------------------\nカレンダー用グリッドAreasの生成関数\n------------------------------ */\nconst week = [\"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\"];\nexport const generateGridAreas = (firstDayOfMonth, totalDays, isMonday) => {\n let areas = [];\n let currentDay = 1;\n //月曜日を先頭に持ってくる場合の係数\n const mondayFirstDay = firstDayOfMonth - 1 < 0 ? 6 : firstDayOfMonth - 1;\n //先頭曜日の選択\n const modifyFirstDay = isMonday ? mondayFirstDay : firstDayOfMonth;\n\n //曜日ラベル\n let weekLabels = [];\n let week_index;\n for (let i = 0; i < 7; i++) {\n week_index = isMonday ? i + 1 : i; //月曜日を先頭に持ってくる場合の補正\n if (week_index > 6) week_index = 0;\n weekLabels.push(week[week_index]);\n }\n areas.push(weekLabels.join(\" \"));\n\n for (let i = 0; i < 6; i++) {\n // 6週分のループ\n let week = [];\n for (let j = 0; j < 7; j++) {\n // 1週間の7日分のループ\n if ((i === 0 && j < modifyFirstDay) || currentDay > totalDays) {\n week.push(`empty${i}`);\n } else {\n week.push(`day${currentDay}`);\n currentDay++;\n }\n }\n if (i == 5) {\n //最後の週\n week[5] = \"day_clear\";\n week[6] = \"day_clear\";\n }\n areas.push(week.join(\" \"));\n }\n return areas.map((week) => `\"${week}\"`).join(\"\\n\");\n};\n"],"names":["generateDateArray","dateObj","isMonth","startYear","startMonth","endYear","endMonth","result","year","monthStart","monthEnd","month","unitObj","id","nanoid","value","concat","toString","padStart","label","classname","push","generateMonthCalendar","dateString","holidays","arguments","length","undefined","split","map","Number","date","Date","lastDay","getDate","calendar","_loop","day","setDate","holidayItem","find","item","_item$date","s","String","yearStr","slice","monthStr","replace","dayStr","itemYear","itemMonth","itemDay","dayObj","weekday","getDay","holiday","name","PeriodCtrl","_ref","dateSpan","onChange","React","createElement","PanelBody","title","__","initialOpen","className","PanelRow","NumberControl","labelPosition","max","min","newValue","newSpanObj","_objectSpread","getPeriodQuery","parts","parseInt","startDate","endDate","after","toISOString","before","getTodayYearMonth","today","getFullYear","getMonth","getTodayYear","getTodayMonth","pad2","n","getMonthRangeYmd","selectedMonth","ym","from","to","yStr","mStr","mm","normalizeDateYYYYMMDD","toYmdFromMonthAndDay","dayValue","trim","test","y","m","d","dayNum","week","generateGridAreas","firstDayOfMonth","totalDays","isMonday","areas","currentDay","mondayFirstDay","modifyFirstDay","weekLabels","week_index","i","join","j"],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
4
+ var DateElm = require('./DateElm.js');
4
5
 
6
+ //Google Calender APIから祝日データを取得するためのID
7
+ var CALENDAR_ID = "japanese__ja@holiday.calendar.google.com";
5
8
  var JapaneseHolidays = /*#__PURE__*/function () {
6
9
  var _ref = _rollupPluginBabelHelpers.asyncToGenerator(function* (apiKey, targetMonth) {
7
10
  //Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)
@@ -63,7 +66,7 @@ var JapaneseHolidays = /*#__PURE__*/function () {
63
66
  //祝日データの取得
64
67
  var fetchHolidays = /*#__PURE__*/function () {
65
68
  var _ref3 = _rollupPluginBabelHelpers.asyncToGenerator(function* () {
66
- var periodObj = getPeriodQuery(targetMonth);
69
+ var periodObj = DateElm.getPeriodQuery(targetMonth);
67
70
  var response = yield window.gapi.client.calendar.events.list({
68
71
  calendarId: CALENDAR_ID,
69
72
  timeMin: periodObj.after,
@@ -1 +1 @@
1
- {"version":3,"file":"JapaneseHolidays.js","sources":["../../src/JapaneseHolidays.js"],"sourcesContent":["export const JapaneseHolidays = async (apiKey, targetMonth) => {\n //Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)\n const loadGoogleAPI = () => {\n return new Promise((resolve, reject) => {\n //window.gapi の存在を直接チェック\n if (window.gapi) {\n resolve();\n return;\n }\n\n const script = document.createElement(\"script\");\n script.src = \"https://apis.google.com/js/api.js\";\n script.async = true;\n script.defer = true;\n //スクリプトがロードされたときのイベントハンドラ\n script.onload = () => {\n // gapiがロードされるまでチェックを繰り返す\n const checkGapi = () => {\n if (window.gapi) {\n resolve();\n } else {\n setTimeout(checkGapi, 20); // Check again after 20ms\n }\n };\n checkGapi();\n };\n\n script.onerror = () =>\n reject(new Error(\"Failed to load Google API script\"));\n\n // Check if the script is already in the document\n if (\n !document.querySelector(\n 'script[src=\"https://apis.google.com/js/api.js\"]',\n )\n ) {\n document.body.appendChild(script);\n }\n });\n };\n //APIキーを使用してクライアントを初期化する\n const initClient = async () => {\n if (!window.gapi) {\n throw new Error(\"Google API not loaded\");\n }\n\n // Check if gapi.client is already available\n if (!window.gapi.client) {\n // If not, load the client module\n await new Promise((resolve) => window.gapi.load(\"client\", resolve));\n }\n\n if (window.gapi.client.calendar) {\n return;\n }\n await window.gapi.client.init({\n apiKey: apiKey,\n discoveryDocs: [\n \"https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest\",\n ],\n });\n };\n //祝日データの取得\n const fetchHolidays = async () => {\n const periodObj = getPeriodQuery(targetMonth);\n\n const response = await window.gapi.client.calendar.events.list({\n calendarId: CALENDAR_ID,\n timeMin: periodObj.after,\n timeMax: periodObj.before,\n singleEvents: true,\n orderBy: \"startTime\",\n });\n\n const events = response.result.items;\n return events.map((event) => ({\n date: event.start.date,\n name: event.summary,\n }));\n };\n\n try {\n await loadGoogleAPI();\n await initClient();\n return await fetchHolidays();\n } catch (error) {\n console.error(\"エラーが発生しました:\", error);\n throw error;\n }\n};\n"],"names":["JapaneseHolidays","_ref","_asyncToGenerator","apiKey","targetMonth","loadGoogleAPI","Promise","resolve","reject","window","gapi","script","document","createElement","src","async","defer","onload","checkGapi","setTimeout","onerror","Error","querySelector","body","appendChild","initClient","_ref2","client","load","calendar","init","discoveryDocs","apply","arguments","fetchHolidays","_ref3","periodObj","getPeriodQuery","response","events","list","calendarId","CALENDAR_ID","timeMin","after","timeMax","before","singleEvents","orderBy","result","items","map","event","date","start","name","summary","error","console","_x","_x2"],"mappings":"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"}
1
+ {"version":3,"file":"JapaneseHolidays.js","sources":["../../src/JapaneseHolidays.js"],"sourcesContent":["import { getPeriodQuery } from \"./DateElm\";\n\n//Google Calender APIから祝日データを取得するためのID\nconst CALENDAR_ID = \"japanese__ja@holiday.calendar.google.com\";\n\nexport const JapaneseHolidays = async (apiKey, targetMonth) => {\n //Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)\n const loadGoogleAPI = () => {\n return new Promise((resolve, reject) => {\n //window.gapi の存在を直接チェック\n if (window.gapi) {\n resolve();\n return;\n }\n\n const script = document.createElement(\"script\");\n script.src = \"https://apis.google.com/js/api.js\";\n script.async = true;\n script.defer = true;\n //スクリプトがロードされたときのイベントハンドラ\n script.onload = () => {\n // gapiがロードされるまでチェックを繰り返す\n const checkGapi = () => {\n if (window.gapi) {\n resolve();\n } else {\n setTimeout(checkGapi, 20); // Check again after 20ms\n }\n };\n checkGapi();\n };\n\n script.onerror = () =>\n reject(new Error(\"Failed to load Google API script\"));\n\n // Check if the script is already in the document\n if (\n !document.querySelector(\n 'script[src=\"https://apis.google.com/js/api.js\"]',\n )\n ) {\n document.body.appendChild(script);\n }\n });\n };\n //APIキーを使用してクライアントを初期化する\n const initClient = async () => {\n if (!window.gapi) {\n throw new Error(\"Google API not loaded\");\n }\n\n // Check if gapi.client is already available\n if (!window.gapi.client) {\n // If not, load the client module\n await new Promise((resolve) => window.gapi.load(\"client\", resolve));\n }\n\n if (window.gapi.client.calendar) {\n return;\n }\n await window.gapi.client.init({\n apiKey: apiKey,\n discoveryDocs: [\n \"https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest\",\n ],\n });\n };\n //祝日データの取得\n const fetchHolidays = async () => {\n const periodObj = getPeriodQuery(targetMonth);\n\n const response = await window.gapi.client.calendar.events.list({\n calendarId: CALENDAR_ID,\n timeMin: periodObj.after,\n timeMax: periodObj.before,\n singleEvents: true,\n orderBy: \"startTime\",\n });\n\n const events = response.result.items;\n return events.map((event) => ({\n date: event.start.date,\n name: event.summary,\n }));\n };\n\n try {\n await loadGoogleAPI();\n await initClient();\n return await fetchHolidays();\n } catch (error) {\n console.error(\"エラーが発生しました:\", error);\n throw error;\n }\n};\n"],"names":["CALENDAR_ID","JapaneseHolidays","_ref","_asyncToGenerator","apiKey","targetMonth","loadGoogleAPI","Promise","resolve","reject","window","gapi","script","document","createElement","src","async","defer","onload","checkGapi","setTimeout","onerror","Error","querySelector","body","appendChild","initClient","_ref2","client","load","calendar","init","discoveryDocs","apply","arguments","fetchHolidays","_ref3","periodObj","getPeriodQuery","response","events","list","calendarId","timeMin","after","timeMax","before","singleEvents","orderBy","result","items","map","event","date","start","name","summary","error","console","_x","_x2"],"mappings":"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"}
@@ -26,6 +26,7 @@ var shopfiApi = require('./shopfiApi.js');
26
26
  var BrockInserter = require('./BrockInserter.js');
27
27
  var MasonryControl = require('./MasonryControl.js');
28
28
  var SwiperControl = require('./SwiperControl.js');
29
+ var pickupStore = require('./pickupStore.js');
29
30
 
30
31
 
31
32
 
@@ -112,4 +113,9 @@ exports.sendRegistrationRequest = shopfiApi.sendRegistrationRequest;
112
113
  exports.useRebuildChangeField = BrockInserter.useRebuildChangeField;
113
114
  exports.MasonryControl = MasonryControl.default;
114
115
  exports.slideBlockSwiperInit = SwiperControl.slideBlockSwiperInit;
116
+ exports.ensureCtx = pickupStore.ensureCtx;
117
+ exports.getCtx = pickupStore.getCtx;
118
+ exports.registerPickup = pickupStore.registerPickup;
119
+ exports.setState = pickupStore.setState;
120
+ exports.subscribe = pickupStore.subscribe;
115
121
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+
3
+ var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
4
+
5
+ var GLOBAL_KEY = "__itmar_pickup_store__";
6
+ function getGlobalStore() {
7
+ if (!window[GLOBAL_KEY]) {
8
+ window[GLOBAL_KEY] = {
9
+ contexts: new Map()
10
+ };
11
+ }
12
+ return window[GLOBAL_KEY];
13
+ }
14
+ var contexts = getGlobalStore().contexts;
15
+ function createCtx(id) {
16
+ return {
17
+ id,
18
+ pickupEl: null,
19
+ dataset: {},
20
+ state: {
21
+ page: 0,
22
+ searchKeyWord: "",
23
+ periodDisp: "",
24
+ periodQueryObj: {},
25
+ termParamObj: null,
26
+ termQueryObj: [],
27
+ posts: [],
28
+ rawPosts: null,
29
+ targetIndex: -1,
30
+ total: 0
31
+ },
32
+ listeners: new Set(),
33
+ cache: {
34
+ taxonomies: null
35
+ },
36
+ inflight: {
37
+ abort: null
38
+ }
39
+ };
40
+ }
41
+ function ensureCtx(id) {
42
+ if (!id) return null;
43
+ if (!contexts.has(id)) contexts.set(id, createCtx(id));
44
+ return contexts.get(id);
45
+ }
46
+ function registerPickup(pickupEl) {
47
+ var _pickupEl$dataset;
48
+ var id = pickupEl === null || pickupEl === void 0 || (_pickupEl$dataset = pickupEl.dataset) === null || _pickupEl$dataset === void 0 ? void 0 : _pickupEl$dataset.pickup_id;
49
+ if (!id) return null;
50
+ var ctx = ensureCtx(id);
51
+ ctx.pickupEl = pickupEl;
52
+ ctx.dataset = _rollupPluginBabelHelpers.objectSpread2({}, pickupEl.dataset);
53
+ return ctx;
54
+ }
55
+ function getCtx(id) {
56
+ return contexts.get(id) || null;
57
+ }
58
+ function subscribe(id, fn) {
59
+ var ctx = ensureCtx(id);
60
+ if (!ctx) return () => {};
61
+ ctx.listeners.add(fn);
62
+ fn(ctx); // 初回通知
63
+ return () => ctx.listeners.delete(fn);
64
+ }
65
+ function setState(id, partial) {
66
+ var ctx = ensureCtx(id);
67
+ if (!ctx) return;
68
+ ctx.state = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, ctx.state), partial);
69
+ ctx.listeners.forEach(l => l(ctx));
70
+ }
71
+
72
+ exports.ensureCtx = ensureCtx;
73
+ exports.getCtx = getCtx;
74
+ exports.registerPickup = registerPickup;
75
+ exports.setState = setState;
76
+ exports.subscribe = subscribe;
77
+ //# sourceMappingURL=pickupStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickupStore.js","sources":["../../src/pickupStore.js"],"sourcesContent":["const GLOBAL_KEY = \"__itmar_pickup_store__\";\n\nfunction getGlobalStore() {\n\tif (!window[GLOBAL_KEY]) {\n\t\twindow[GLOBAL_KEY] = { contexts: new Map() };\n\t}\n\treturn window[GLOBAL_KEY];\n}\n\nconst contexts = getGlobalStore().contexts;\n\nfunction createCtx(id) {\n\treturn {\n\t\tid,\n\t\tpickupEl: null,\n\t\tdataset: {},\n\t\tstate: {\n\t\t\tpage: 0,\n\t\t\tsearchKeyWord: \"\",\n\t\t\tperiodDisp: \"\",\n\t\t\tperiodQueryObj: {},\n\t\t\ttermParamObj: null,\n\t\t\ttermQueryObj: [],\n\t\t\tposts: [],\n\t\t\trawPosts: null,\n\t\t\ttargetIndex: -1,\n\t\t\ttotal: 0,\n\t\t},\n\t\tlisteners: new Set(),\n\t\tcache: {\n\t\t\ttaxonomies: null,\n\t\t},\n\t\tinflight: {\n\t\t\tabort: null,\n\t\t},\n\t};\n}\n\nexport function ensureCtx(id) {\n\tif (!id) return null;\n\tif (!contexts.has(id)) contexts.set(id, createCtx(id));\n\treturn contexts.get(id);\n}\n\nexport function registerPickup(pickupEl) {\n\tconst id = pickupEl?.dataset?.pickup_id;\n\tif (!id) return null;\n\n\tconst ctx = ensureCtx(id);\n\tctx.pickupEl = pickupEl;\n\tctx.dataset = { ...pickupEl.dataset };\n\treturn ctx;\n}\n\nexport function getCtx(id) {\n\treturn contexts.get(id) || null;\n}\n\nexport function subscribe(id, fn) {\n\tconst ctx = ensureCtx(id);\n\tif (!ctx) return () => {};\n\tctx.listeners.add(fn);\n\tfn(ctx); // 初回通知\n\treturn () => ctx.listeners.delete(fn);\n}\n\nexport function setState(id, partial) {\n\tconst ctx = ensureCtx(id);\n\tif (!ctx) return;\n\tctx.state = { ...ctx.state, ...partial };\n\tctx.listeners.forEach((l) => l(ctx));\n}\n"],"names":["GLOBAL_KEY","getGlobalStore","window","contexts","Map","createCtx","id","pickupEl","dataset","state","page","searchKeyWord","periodDisp","periodQueryObj","termParamObj","termQueryObj","posts","rawPosts","targetIndex","total","listeners","Set","cache","taxonomies","inflight","abort","ensureCtx","has","set","get","registerPickup","_pickupEl$dataset","pickup_id","ctx","_objectSpread","getCtx","subscribe","fn","add","delete","setState","partial","forEach","l"],"mappings":"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"}
@@ -5,8 +5,8 @@ import { useEffect } from '@wordpress/element';
5
5
  import { useDispatch, useSelect } from '@wordpress/data';
6
6
 
7
7
  //フィールド生成用関数
8
- var createBlockAttr = selectedField => {
9
- var _blockType$attributes, _blockType$attributes2, _blockType$attributes3, _blockType$attributes4;
8
+ var createBlockAttr = (selectedField, pluginOption) => {
9
+ var _window$pluginOption, _window$pluginOption2, _blockType$attributes, _blockType$attributes2, _blockType$attributes3, _blockType$attributes4;
10
10
  var blockAttributes = {};
11
11
  switch (selectedField.block) {
12
12
  case "itmar/design-title":
@@ -25,7 +25,7 @@ var createBlockAttr = selectedField => {
25
25
  case "core/image":
26
26
  blockAttributes = {
27
27
  className: "itmar_ex_block sp_field_".concat(selectedField.key),
28
- url: "".concat(itmar_option.plugin_url, "/assets/image/main_sample.png")
28
+ url: "".concat((_window$pluginOption = window[pluginOption]) === null || _window$pluginOption === void 0 ? void 0 : _window$pluginOption.plugin_url, "/assets/image/main_sample.png")
29
29
  };
30
30
  break;
31
31
  case "itmar/slide-mv":
@@ -51,7 +51,7 @@ var createBlockAttr = selectedField => {
51
51
  };
52
52
  var imageBlock = createBlock("core/image", _objectSpread2({
53
53
  className: "itmar_ex_block",
54
- url: "".concat(itmar_option.plugin_url, "/assets/image/slide_sample.png")
54
+ url: "".concat((_window$pluginOption2 = window[pluginOption]) === null || _window$pluginOption2 === void 0 ? void 0 : _window$pluginOption2.plugin_url, "/assets/image/slide_sample.png")
55
55
  }, spaceAttributes));
56
56
  //Design Blockの初期設定を取得
57
57
  var blockType = getBlockType("itmar/design-group");
@@ -89,7 +89,7 @@ var createBlockAttr = selectedField => {
89
89
  };
90
90
 
91
91
  //表示フィールド変更によるインナーブロックの再構成
92
- var useRebuildChangeField = (dispAttributeArray, selectedFields, pickupType, dispTaxonomies, sectionCount, domType, clientId, insertId) => {
92
+ var useRebuildChangeField = (dispAttributeArray, selectedFields, pickupType, dispTaxonomies, sectionCount, domType, clientId, insertId, pluginOption) => {
93
93
  // dispatch関数を取得
94
94
  var {
95
95
  replaceInnerBlocks
@@ -140,7 +140,7 @@ var useRebuildChangeField = (dispAttributeArray, selectedFields, pickupType, dis
140
140
  // newSelectedFieldsのうち未挿入のものだけ追加
141
141
  var autoGeneratedBlocks = newSelectedFields.filter(field => !existingKeys.includes(field.key)).map(field => {
142
142
  var _attr$attributes;
143
- var attr = createBlockAttr(field);
143
+ var attr = createBlockAttr(field, pluginOption);
144
144
  var blockName = field.block;
145
145
  var blockAttributes = (_attr$attributes = attr === null || attr === void 0 ? void 0 : attr.attributes) !== null && _attr$attributes !== void 0 ? _attr$attributes : attr;
146
146
  var innerBlocks = Array.isArray(attr === null || attr === void 0 ? void 0 : attr.slideBlocks) ? attr.slideBlocks : [];
@@ -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) => {\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: `${itmar_option.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: `${itmar_option.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) => {\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);\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","_blockType$attributes","_blockType$attributes2","_blockType$attributes3","_blockType$attributes4","blockAttributes","block","block_class","key","startsWith","concat","className","headingContent","label","content","url","itmar_option","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.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 +1 @@
1
- {"version":3,"file":"DateElm.js","sources":["../../src/DateElm.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { nanoid } from \"nanoid/non-secure\";\nimport {\n PanelBody,\n PanelRow,\n __experimentalNumberControl as NumberControl,\n} from \"@wordpress/components\";\n\n//Google Calender APIから祝日データを取得するためのID\nconst CALENDAR_ID = \"japanese__ja@holiday.calendar.google.com\";\n\n//期間の設定から選択できる月の情報オブジェクトを配列にする関数\nexport const generateDateArray = (dateObj, isMonth) => {\n const { startYear, startMonth, endYear, endMonth } = dateObj;\n const result = [];\n\n for (let year = startYear; year <= endYear; year++) {\n if (isMonth) {\n const monthStart = year === startYear ? startMonth : 1;\n const monthEnd = year === endYear ? endMonth : 12;\n\n for (let month = monthStart; month <= monthEnd; month++) {\n const unitObj = {\n id: nanoid(5),\n value: `${year}/${month.toString().padStart(2, \"0\")}`,\n label: `${year}/${month.toString().padStart(2, \"0\")}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n } else {\n const unitObj = {\n id: nanoid(5),\n value: `${year}`,\n label: `${year}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n }\n\n return result;\n};\n\n//与えられた月から日付と曜日を要素とする配列を生成する\nexport const generateMonthCalendar = (dateString, holidays = null) => {\n const [year, month] = dateString.split(\"/\").map(Number);\n const date = new Date(year, month - 1, 1);\n const lastDay = new Date(year, month, 0).getDate();\n\n const calendar = [];\n\n for (let day = 1; day <= lastDay; day++) {\n date.setDate(day);\n //祝日の情報\n const holidayItem = holidays?.find((item) => {\n const s = String(item.date ?? \"\");\n\n // item.date から YYYY, MM, DD を取り出す(\"YYYYMMDD\" / \"YYYY-MM-DD\" などに対応)\n const yearStr = s.slice(0, 4);\n const monthStr = s.replace(/\\D/g, \"\").slice(4, 6); // 数字だけにして5-6桁\n const dayStr = s.replace(/\\D/g, \"\").slice(6, 8); // 数字だけにして7-8桁\n\n const itemYear = Number(yearStr);\n const itemMonth = Number(monthStr);\n const itemDay = Number(dayStr);\n\n return itemYear === year && itemMonth === month && itemDay === day;\n });\n //日付情報オブジェクト\n const dayObj = holidayItem\n ? {\n date: day,\n weekday: date.getDay(),\n holiday: holidayItem.name,\n }\n : {\n date: day,\n weekday: date.getDay(),\n };\n calendar.push(dayObj);\n }\n\n return calendar;\n};\n\n//期間設定のインスペクターコントロール\nexport const PeriodCtrl = ({\n startYear,\n endYear,\n dateSpan,\n isMonth,\n onChange,\n}) => {\n return (\n <PanelBody\n title={__(\"Period Setting\", \"block-collections\")}\n initialOpen={true}\n className=\"form_setteing_ctrl\"\n >\n <label>{__(\"Start of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startYear}\n />\n {isMonth && (\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startMonth}\n />\n )}\n </PanelRow>\n <label>{__(\"End of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endYear}\n />\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endMonth}\n />\n </PanelRow>\n </PanelBody>\n );\n};\n\n//日付から期間のクエリー用の配列を生成\nexport const getPeriodQuery = (dateString) => {\n if (!dateString) {\n return null; //与えられた文字列が空ならnullをかえす\n }\n const parts = dateString.split(\"/\");\n const year = parseInt(parts[0], 10);\n const month = parts.length > 1 ? parseInt(parts[1], 10) : null;\n const day = parts.length > 2 ? parseInt(parts[2], 10) : null;\n\n let startDate, endDate;\n\n if (day) {\n // 特定の日\n startDate = new Date(year, month - 1, day, 0, 0, 0, -1);\n endDate = new Date(year, month - 1, day, 23, 59, 59, 1000);\n } else if (month) {\n // 特定の月\n startDate = new Date(year, month - 1, 1, 0, 0, 0, -1);\n endDate = new Date(year, month, 1, 0, 0, 0, 0);\n } else {\n // 特定の年\n startDate = new Date(year, 0, 1, 0, 0, 0, -1);\n endDate = new Date(year + 1, 0, 1, 0, 0, 0, 0);\n }\n\n return {\n after: startDate.toISOString(),\n before: endDate.toISOString(),\n };\n};\n\n//本日の日付から'YYYY/MM'形式の日付文字列を生成する\nexport const getTodayYearMonth = () => {\n const today = new Date();\n const year = today.getFullYear();\n const month = String(today.getMonth() + 1).padStart(2, \"0\");\n return `${year}/${month}`;\n};\n//本日の日付から年を返す\nexport const getTodayYear = () => {\n const today = new Date();\n return today.getFullYear();\n};\n//本日の日付から月を返す\nexport const getTodayMonth = () => {\n const today = new Date();\n return today.getMonth() + 1;\n};\n\n// \"2026/01\" -> { ym:\"2026-01\", from:\"2026-01-01\", to:\"2026-01-31\", year:2026, month:1 }\nconst pad2 = (n) => String(n).padStart(2, \"0\");\nexport const getMonthRangeYmd = (selectedMonth) => {\n if (!selectedMonth)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n const year = Number(yStr);\n const month = Number(mStr);\n if (!year || !month)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n\n const lastDay = new Date(year, month, 0).getDate();\n const mm = pad2(month);\n return {\n ym: `${year}-${mm}`,\n from: `${year}-${mm}-01`,\n to: `${year}-${mm}-${pad2(lastDay)}`,\n year,\n month,\n lastDay,\n };\n};\n\nexport const normalizeDateYYYYMMDD = (value) => {\n // 期待値: 'YYYY-MM-DD'\n if (!value) return \"\";\n return String(value).slice(0, 10);\n};\n\nexport const toYmdFromMonthAndDay = (selectedMonth, dayValue) => {\n if (!dayValue) return \"\";\n\n const dayStr = String(dayValue).trim();\n\n // already \"YYYY-MM-DD\"\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(dayStr)) return dayStr;\n\n // 8 digits \"YYYYMMDD\"\n if (/^\\d{8}$/.test(dayStr)) {\n const y = dayStr.slice(0, 4);\n const m = dayStr.slice(4, 6);\n const d = dayStr.slice(6, 8);\n return `${y}-${m}-${d}`;\n }\n // day-of-month number\n const dayNum = Number(dayStr);\n if (!selectedMonth || !dayNum) return \"\";\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n if (!yStr || !mStr) return \"\";\n return `${yStr}-${pad2(Number(mStr))}-${pad2(dayNum)}`;\n};\n\n/* ------------------------------\nカレンダー用グリッドAreasの生成関数\n------------------------------ */\nconst week = [\"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\"];\nexport const generateGridAreas = (firstDayOfMonth, totalDays, isMonday) => {\n let areas = [];\n let currentDay = 1;\n //月曜日を先頭に持ってくる場合の係数\n const mondayFirstDay = firstDayOfMonth - 1 < 0 ? 6 : firstDayOfMonth - 1;\n //先頭曜日の選択\n const modifyFirstDay = isMonday ? mondayFirstDay : firstDayOfMonth;\n\n //曜日ラベル\n let weekLabels = [];\n let week_index;\n for (let i = 0; i < 7; i++) {\n week_index = isMonday ? i + 1 : i; //月曜日を先頭に持ってくる場合の補正\n if (week_index > 6) week_index = 0;\n weekLabels.push(week[week_index]);\n }\n areas.push(weekLabels.join(\" \"));\n\n for (let i = 0; i < 6; i++) {\n // 6週分のループ\n let week = [];\n for (let j = 0; j < 7; j++) {\n // 1週間の7日分のループ\n if ((i === 0 && j < modifyFirstDay) || currentDay > totalDays) {\n week.push(`empty${i}`);\n } else {\n week.push(`day${currentDay}`);\n currentDay++;\n }\n }\n if (i == 5) {\n //最後の週\n week[5] = \"day_clear\";\n week[6] = \"day_clear\";\n }\n areas.push(week.join(\" \"));\n }\n return areas.map((week) => `\"${week}\"`).join(\"\\n\");\n};\n"],"names":["generateDateArray","dateObj","isMonth","startYear","startMonth","endYear","endMonth","result","year","monthStart","monthEnd","month","unitObj","id","nanoid","value","concat","toString","padStart","label","classname","push","generateMonthCalendar","dateString","holidays","arguments","length","undefined","split","map","Number","date","Date","lastDay","getDate","calendar","_loop","day","setDate","holidayItem","find","item","_item$date","s","String","yearStr","slice","monthStr","replace","dayStr","itemYear","itemMonth","itemDay","dayObj","weekday","getDay","holiday","name","PeriodCtrl","_ref","dateSpan","onChange","React","createElement","PanelBody","title","__","initialOpen","className","PanelRow","NumberControl","labelPosition","max","min","newValue","newSpanObj","_objectSpread","getPeriodQuery","parts","parseInt","startDate","endDate","after","toISOString","before","getTodayYearMonth","today","getFullYear","getMonth","getTodayYear","getTodayMonth","pad2","n","getMonthRangeYmd","selectedMonth","ym","from","to","yStr","mStr","mm","normalizeDateYYYYMMDD","toYmdFromMonthAndDay","dayValue","trim","test","y","m","d","dayNum","week","generateGridAreas","firstDayOfMonth","totalDays","isMonday","areas","currentDay","mondayFirstDay","modifyFirstDay","weekLabels","week_index","i","join","j"],"mappings":"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"}
1
+ {"version":3,"file":"DateElm.js","sources":["../../src/DateElm.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { nanoid } from \"nanoid/non-secure\";\nimport {\n PanelBody,\n PanelRow,\n __experimentalNumberControl as NumberControl,\n} from \"@wordpress/components\";\n\n//期間の設定から選択できる月の情報オブジェクトを配列にする関数\nexport const generateDateArray = (dateObj, isMonth) => {\n const { startYear, startMonth, endYear, endMonth } = dateObj;\n const result = [];\n\n for (let year = startYear; year <= endYear; year++) {\n if (isMonth) {\n const monthStart = year === startYear ? startMonth : 1;\n const monthEnd = year === endYear ? endMonth : 12;\n\n for (let month = monthStart; month <= monthEnd; month++) {\n const unitObj = {\n id: nanoid(5),\n value: `${year}/${month.toString().padStart(2, \"0\")}`,\n label: `${year}/${month.toString().padStart(2, \"0\")}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n } else {\n const unitObj = {\n id: nanoid(5),\n value: `${year}`,\n label: `${year}`,\n classname: \"filter_date\",\n };\n result.push(unitObj);\n }\n }\n\n return result;\n};\n\n//与えられた月から日付と曜日を要素とする配列を生成する\nexport const generateMonthCalendar = (dateString, holidays = null) => {\n const [year, month] = dateString.split(\"/\").map(Number);\n const date = new Date(year, month - 1, 1);\n const lastDay = new Date(year, month, 0).getDate();\n\n const calendar = [];\n\n for (let day = 1; day <= lastDay; day++) {\n date.setDate(day);\n //祝日の情報\n const holidayItem = holidays?.find((item) => {\n const s = String(item.date ?? \"\");\n\n // item.date から YYYY, MM, DD を取り出す(\"YYYYMMDD\" / \"YYYY-MM-DD\" などに対応)\n const yearStr = s.slice(0, 4);\n const monthStr = s.replace(/\\D/g, \"\").slice(4, 6); // 数字だけにして5-6桁\n const dayStr = s.replace(/\\D/g, \"\").slice(6, 8); // 数字だけにして7-8桁\n\n const itemYear = Number(yearStr);\n const itemMonth = Number(monthStr);\n const itemDay = Number(dayStr);\n\n return itemYear === year && itemMonth === month && itemDay === day;\n });\n //日付情報オブジェクト\n const dayObj = holidayItem\n ? {\n date: day,\n weekday: date.getDay(),\n holiday: holidayItem.name,\n }\n : {\n date: day,\n weekday: date.getDay(),\n };\n calendar.push(dayObj);\n }\n\n return calendar;\n};\n\n//期間設定のインスペクターコントロール\nexport const PeriodCtrl = ({\n startYear,\n endYear,\n dateSpan,\n isMonth,\n onChange,\n}) => {\n return (\n <PanelBody\n title={__(\"Period Setting\", \"block-collections\")}\n initialOpen={true}\n className=\"form_setteing_ctrl\"\n >\n <label>{__(\"Start of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startYear}\n />\n {isMonth && (\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n startMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.startMonth}\n />\n )}\n </PanelRow>\n <label>{__(\"End of period\", \"block-collections\")}</label>\n <PanelRow className=\"itmar_date_span\">\n <NumberControl\n label={__(\"Year\", \"block-collections\")}\n labelPosition=\"side\"\n max={endYear}\n min={startYear}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endYear: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endYear}\n />\n <NumberControl\n label={__(\"Month\", \"block-collections\")}\n labelPosition=\"side\"\n max={12}\n min={1}\n onChange={(newValue) => {\n const newSpanObj = {\n dateSpan: {\n ...dateSpan,\n endMonth: Number(newValue),\n },\n };\n onChange(newSpanObj);\n }}\n value={dateSpan.endMonth}\n />\n </PanelRow>\n </PanelBody>\n );\n};\n\n//日付から期間のクエリー用の配列を生成\nexport const getPeriodQuery = (dateString) => {\n if (!dateString) {\n return null; //与えられた文字列が空ならnullをかえす\n }\n const parts = dateString.split(\"/\");\n const year = parseInt(parts[0], 10);\n const month = parts.length > 1 ? parseInt(parts[1], 10) : null;\n const day = parts.length > 2 ? parseInt(parts[2], 10) : null;\n\n let startDate, endDate;\n\n if (day) {\n // 特定の日\n startDate = new Date(year, month - 1, day, 0, 0, 0, -1);\n endDate = new Date(year, month - 1, day, 23, 59, 59, 1000);\n } else if (month) {\n // 特定の月\n startDate = new Date(year, month - 1, 1, 0, 0, 0, -1);\n endDate = new Date(year, month, 1, 0, 0, 0, 0);\n } else {\n // 特定の年\n startDate = new Date(year, 0, 1, 0, 0, 0, -1);\n endDate = new Date(year + 1, 0, 1, 0, 0, 0, 0);\n }\n\n return {\n after: startDate.toISOString(),\n before: endDate.toISOString(),\n };\n};\n\n//本日の日付から'YYYY/MM'形式の日付文字列を生成する\nexport const getTodayYearMonth = () => {\n const today = new Date();\n const year = today.getFullYear();\n const month = String(today.getMonth() + 1).padStart(2, \"0\");\n return `${year}/${month}`;\n};\n//本日の日付から年を返す\nexport const getTodayYear = () => {\n const today = new Date();\n return today.getFullYear();\n};\n//本日の日付から月を返す\nexport const getTodayMonth = () => {\n const today = new Date();\n return today.getMonth() + 1;\n};\n\n// \"2026/01\" -> { ym:\"2026-01\", from:\"2026-01-01\", to:\"2026-01-31\", year:2026, month:1 }\nconst pad2 = (n) => String(n).padStart(2, \"0\");\nexport const getMonthRangeYmd = (selectedMonth) => {\n if (!selectedMonth)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n const year = Number(yStr);\n const month = Number(mStr);\n if (!year || !month)\n return { ym: \"\", from: \"\", to: \"\", year: 0, month: 0, lastDay: 0 };\n\n const lastDay = new Date(year, month, 0).getDate();\n const mm = pad2(month);\n return {\n ym: `${year}-${mm}`,\n from: `${year}-${mm}-01`,\n to: `${year}-${mm}-${pad2(lastDay)}`,\n year,\n month,\n lastDay,\n };\n};\n\nexport const normalizeDateYYYYMMDD = (value) => {\n // 期待値: 'YYYY-MM-DD'\n if (!value) return \"\";\n return String(value).slice(0, 10);\n};\n\nexport const toYmdFromMonthAndDay = (selectedMonth, dayValue) => {\n if (!dayValue) return \"\";\n\n const dayStr = String(dayValue).trim();\n\n // already \"YYYY-MM-DD\"\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(dayStr)) return dayStr;\n\n // 8 digits \"YYYYMMDD\"\n if (/^\\d{8}$/.test(dayStr)) {\n const y = dayStr.slice(0, 4);\n const m = dayStr.slice(4, 6);\n const d = dayStr.slice(6, 8);\n return `${y}-${m}-${d}`;\n }\n // day-of-month number\n const dayNum = Number(dayStr);\n if (!selectedMonth || !dayNum) return \"\";\n const [yStr, mStr] = String(selectedMonth).split(\"/\");\n if (!yStr || !mStr) return \"\";\n return `${yStr}-${pad2(Number(mStr))}-${pad2(dayNum)}`;\n};\n\n/* ------------------------------\nカレンダー用グリッドAreasの生成関数\n------------------------------ */\nconst week = [\"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\"];\nexport const generateGridAreas = (firstDayOfMonth, totalDays, isMonday) => {\n let areas = [];\n let currentDay = 1;\n //月曜日を先頭に持ってくる場合の係数\n const mondayFirstDay = firstDayOfMonth - 1 < 0 ? 6 : firstDayOfMonth - 1;\n //先頭曜日の選択\n const modifyFirstDay = isMonday ? mondayFirstDay : firstDayOfMonth;\n\n //曜日ラベル\n let weekLabels = [];\n let week_index;\n for (let i = 0; i < 7; i++) {\n week_index = isMonday ? i + 1 : i; //月曜日を先頭に持ってくる場合の補正\n if (week_index > 6) week_index = 0;\n weekLabels.push(week[week_index]);\n }\n areas.push(weekLabels.join(\" \"));\n\n for (let i = 0; i < 6; i++) {\n // 6週分のループ\n let week = [];\n for (let j = 0; j < 7; j++) {\n // 1週間の7日分のループ\n if ((i === 0 && j < modifyFirstDay) || currentDay > totalDays) {\n week.push(`empty${i}`);\n } else {\n week.push(`day${currentDay}`);\n currentDay++;\n }\n }\n if (i == 5) {\n //最後の週\n week[5] = \"day_clear\";\n week[6] = \"day_clear\";\n }\n areas.push(week.join(\" \"));\n }\n return areas.map((week) => `\"${week}\"`).join(\"\\n\");\n};\n"],"names":["generateDateArray","dateObj","isMonth","startYear","startMonth","endYear","endMonth","result","year","monthStart","monthEnd","month","unitObj","id","nanoid","value","concat","toString","padStart","label","classname","push","generateMonthCalendar","dateString","holidays","arguments","length","undefined","split","map","Number","date","Date","lastDay","getDate","calendar","_loop","day","setDate","holidayItem","find","item","_item$date","s","String","yearStr","slice","monthStr","replace","dayStr","itemYear","itemMonth","itemDay","dayObj","weekday","getDay","holiday","name","PeriodCtrl","_ref","dateSpan","onChange","React","createElement","PanelBody","title","__","initialOpen","className","PanelRow","NumberControl","labelPosition","max","min","newValue","newSpanObj","_objectSpread","getPeriodQuery","parts","parseInt","startDate","endDate","after","toISOString","before","getTodayYearMonth","today","getFullYear","getMonth","getTodayYear","getTodayMonth","pad2","n","getMonthRangeYmd","selectedMonth","ym","from","to","yStr","mStr","mm","normalizeDateYYYYMMDD","toYmdFromMonthAndDay","dayValue","trim","test","y","m","d","dayNum","week","generateGridAreas","firstDayOfMonth","totalDays","isMonday","areas","currentDay","mondayFirstDay","modifyFirstDay","weekLabels","week_index","i","join","j"],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { asyncToGenerator as _asyncToGenerator } from './_virtual/_rollupPluginBabelHelpers.js';
2
+ import { getPeriodQuery } from './DateElm.js';
2
3
 
4
+ //Google Calender APIから祝日データを取得するためのID
5
+ var CALENDAR_ID = "japanese__ja@holiday.calendar.google.com";
3
6
  var JapaneseHolidays = /*#__PURE__*/function () {
4
7
  var _ref = _asyncToGenerator(function* (apiKey, targetMonth) {
5
8
  //Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)
@@ -1 +1 @@
1
- {"version":3,"file":"JapaneseHolidays.js","sources":["../../src/JapaneseHolidays.js"],"sourcesContent":["export const JapaneseHolidays = async (apiKey, targetMonth) => {\n //Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)\n const loadGoogleAPI = () => {\n return new Promise((resolve, reject) => {\n //window.gapi の存在を直接チェック\n if (window.gapi) {\n resolve();\n return;\n }\n\n const script = document.createElement(\"script\");\n script.src = \"https://apis.google.com/js/api.js\";\n script.async = true;\n script.defer = true;\n //スクリプトがロードされたときのイベントハンドラ\n script.onload = () => {\n // gapiがロードされるまでチェックを繰り返す\n const checkGapi = () => {\n if (window.gapi) {\n resolve();\n } else {\n setTimeout(checkGapi, 20); // Check again after 20ms\n }\n };\n checkGapi();\n };\n\n script.onerror = () =>\n reject(new Error(\"Failed to load Google API script\"));\n\n // Check if the script is already in the document\n if (\n !document.querySelector(\n 'script[src=\"https://apis.google.com/js/api.js\"]',\n )\n ) {\n document.body.appendChild(script);\n }\n });\n };\n //APIキーを使用してクライアントを初期化する\n const initClient = async () => {\n if (!window.gapi) {\n throw new Error(\"Google API not loaded\");\n }\n\n // Check if gapi.client is already available\n if (!window.gapi.client) {\n // If not, load the client module\n await new Promise((resolve) => window.gapi.load(\"client\", resolve));\n }\n\n if (window.gapi.client.calendar) {\n return;\n }\n await window.gapi.client.init({\n apiKey: apiKey,\n discoveryDocs: [\n \"https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest\",\n ],\n });\n };\n //祝日データの取得\n const fetchHolidays = async () => {\n const periodObj = getPeriodQuery(targetMonth);\n\n const response = await window.gapi.client.calendar.events.list({\n calendarId: CALENDAR_ID,\n timeMin: periodObj.after,\n timeMax: periodObj.before,\n singleEvents: true,\n orderBy: \"startTime\",\n });\n\n const events = response.result.items;\n return events.map((event) => ({\n date: event.start.date,\n name: event.summary,\n }));\n };\n\n try {\n await loadGoogleAPI();\n await initClient();\n return await fetchHolidays();\n } catch (error) {\n console.error(\"エラーが発生しました:\", error);\n throw error;\n }\n};\n"],"names":["JapaneseHolidays","_ref","_asyncToGenerator","apiKey","targetMonth","loadGoogleAPI","Promise","resolve","reject","window","gapi","script","document","createElement","src","async","defer","onload","checkGapi","setTimeout","onerror","Error","querySelector","body","appendChild","initClient","_ref2","client","load","calendar","init","discoveryDocs","apply","arguments","fetchHolidays","_ref3","periodObj","getPeriodQuery","response","events","list","calendarId","CALENDAR_ID","timeMin","after","timeMax","before","singleEvents","orderBy","result","items","map","event","date","start","name","summary","error","console","_x","_x2"],"mappings":"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"}
1
+ {"version":3,"file":"JapaneseHolidays.js","sources":["../../src/JapaneseHolidays.js"],"sourcesContent":["import { getPeriodQuery } from \"./DateElm\";\n\n//Google Calender APIから祝日データを取得するためのID\nconst CALENDAR_ID = \"japanese__ja@holiday.calendar.google.com\";\n\nexport const JapaneseHolidays = async (apiKey, targetMonth) => {\n //Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)\n const loadGoogleAPI = () => {\n return new Promise((resolve, reject) => {\n //window.gapi の存在を直接チェック\n if (window.gapi) {\n resolve();\n return;\n }\n\n const script = document.createElement(\"script\");\n script.src = \"https://apis.google.com/js/api.js\";\n script.async = true;\n script.defer = true;\n //スクリプトがロードされたときのイベントハンドラ\n script.onload = () => {\n // gapiがロードされるまでチェックを繰り返す\n const checkGapi = () => {\n if (window.gapi) {\n resolve();\n } else {\n setTimeout(checkGapi, 20); // Check again after 20ms\n }\n };\n checkGapi();\n };\n\n script.onerror = () =>\n reject(new Error(\"Failed to load Google API script\"));\n\n // Check if the script is already in the document\n if (\n !document.querySelector(\n 'script[src=\"https://apis.google.com/js/api.js\"]',\n )\n ) {\n document.body.appendChild(script);\n }\n });\n };\n //APIキーを使用してクライアントを初期化する\n const initClient = async () => {\n if (!window.gapi) {\n throw new Error(\"Google API not loaded\");\n }\n\n // Check if gapi.client is already available\n if (!window.gapi.client) {\n // If not, load the client module\n await new Promise((resolve) => window.gapi.load(\"client\", resolve));\n }\n\n if (window.gapi.client.calendar) {\n return;\n }\n await window.gapi.client.init({\n apiKey: apiKey,\n discoveryDocs: [\n \"https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest\",\n ],\n });\n };\n //祝日データの取得\n const fetchHolidays = async () => {\n const periodObj = getPeriodQuery(targetMonth);\n\n const response = await window.gapi.client.calendar.events.list({\n calendarId: CALENDAR_ID,\n timeMin: periodObj.after,\n timeMax: periodObj.before,\n singleEvents: true,\n orderBy: \"startTime\",\n });\n\n const events = response.result.items;\n return events.map((event) => ({\n date: event.start.date,\n name: event.summary,\n }));\n };\n\n try {\n await loadGoogleAPI();\n await initClient();\n return await fetchHolidays();\n } catch (error) {\n console.error(\"エラーが発生しました:\", error);\n throw error;\n }\n};\n"],"names":["CALENDAR_ID","JapaneseHolidays","_ref","_asyncToGenerator","apiKey","targetMonth","loadGoogleAPI","Promise","resolve","reject","window","gapi","script","document","createElement","src","async","defer","onload","checkGapi","setTimeout","onerror","Error","querySelector","body","appendChild","initClient","_ref2","client","load","calendar","init","discoveryDocs","apply","arguments","fetchHolidays","_ref3","periodObj","getPeriodQuery","response","events","list","calendarId","timeMin","after","timeMax","before","singleEvents","orderBy","result","items","map","event","date","start","name","summary","error","console","_x","_x2"],"mappings":"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"}
@@ -24,4 +24,5 @@ export { checkCustomerLoginState, redirectCustomerAuthorize, sendRegistrationReq
24
24
  export { useRebuildChangeField } from './BrockInserter.js';
25
25
  export { default as MasonryControl } from './MasonryControl.js';
26
26
  export { slideBlockSwiperInit } from './SwiperControl.js';
27
+ export { ensureCtx, getCtx, registerPickup, setState, subscribe } from './pickupStore.js';
27
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,71 @@
1
+ import { objectSpread2 as _objectSpread2 } from './_virtual/_rollupPluginBabelHelpers.js';
2
+
3
+ var GLOBAL_KEY = "__itmar_pickup_store__";
4
+ function getGlobalStore() {
5
+ if (!window[GLOBAL_KEY]) {
6
+ window[GLOBAL_KEY] = {
7
+ contexts: new Map()
8
+ };
9
+ }
10
+ return window[GLOBAL_KEY];
11
+ }
12
+ var contexts = getGlobalStore().contexts;
13
+ function createCtx(id) {
14
+ return {
15
+ id,
16
+ pickupEl: null,
17
+ dataset: {},
18
+ state: {
19
+ page: 0,
20
+ searchKeyWord: "",
21
+ periodDisp: "",
22
+ periodQueryObj: {},
23
+ termParamObj: null,
24
+ termQueryObj: [],
25
+ posts: [],
26
+ rawPosts: null,
27
+ targetIndex: -1,
28
+ total: 0
29
+ },
30
+ listeners: new Set(),
31
+ cache: {
32
+ taxonomies: null
33
+ },
34
+ inflight: {
35
+ abort: null
36
+ }
37
+ };
38
+ }
39
+ function ensureCtx(id) {
40
+ if (!id) return null;
41
+ if (!contexts.has(id)) contexts.set(id, createCtx(id));
42
+ return contexts.get(id);
43
+ }
44
+ function registerPickup(pickupEl) {
45
+ var _pickupEl$dataset;
46
+ var id = pickupEl === null || pickupEl === void 0 || (_pickupEl$dataset = pickupEl.dataset) === null || _pickupEl$dataset === void 0 ? void 0 : _pickupEl$dataset.pickup_id;
47
+ if (!id) return null;
48
+ var ctx = ensureCtx(id);
49
+ ctx.pickupEl = pickupEl;
50
+ ctx.dataset = _objectSpread2({}, pickupEl.dataset);
51
+ return ctx;
52
+ }
53
+ function getCtx(id) {
54
+ return contexts.get(id) || null;
55
+ }
56
+ function subscribe(id, fn) {
57
+ var ctx = ensureCtx(id);
58
+ if (!ctx) return () => {};
59
+ ctx.listeners.add(fn);
60
+ fn(ctx); // 初回通知
61
+ return () => ctx.listeners.delete(fn);
62
+ }
63
+ function setState(id, partial) {
64
+ var ctx = ensureCtx(id);
65
+ if (!ctx) return;
66
+ ctx.state = _objectSpread2(_objectSpread2({}, ctx.state), partial);
67
+ ctx.listeners.forEach(l => l(ctx));
68
+ }
69
+
70
+ export { ensureCtx, getCtx, registerPickup, setState, subscribe };
71
+ //# sourceMappingURL=pickupStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickupStore.js","sources":["../../src/pickupStore.js"],"sourcesContent":["const GLOBAL_KEY = \"__itmar_pickup_store__\";\n\nfunction getGlobalStore() {\n\tif (!window[GLOBAL_KEY]) {\n\t\twindow[GLOBAL_KEY] = { contexts: new Map() };\n\t}\n\treturn window[GLOBAL_KEY];\n}\n\nconst contexts = getGlobalStore().contexts;\n\nfunction createCtx(id) {\n\treturn {\n\t\tid,\n\t\tpickupEl: null,\n\t\tdataset: {},\n\t\tstate: {\n\t\t\tpage: 0,\n\t\t\tsearchKeyWord: \"\",\n\t\t\tperiodDisp: \"\",\n\t\t\tperiodQueryObj: {},\n\t\t\ttermParamObj: null,\n\t\t\ttermQueryObj: [],\n\t\t\tposts: [],\n\t\t\trawPosts: null,\n\t\t\ttargetIndex: -1,\n\t\t\ttotal: 0,\n\t\t},\n\t\tlisteners: new Set(),\n\t\tcache: {\n\t\t\ttaxonomies: null,\n\t\t},\n\t\tinflight: {\n\t\t\tabort: null,\n\t\t},\n\t};\n}\n\nexport function ensureCtx(id) {\n\tif (!id) return null;\n\tif (!contexts.has(id)) contexts.set(id, createCtx(id));\n\treturn contexts.get(id);\n}\n\nexport function registerPickup(pickupEl) {\n\tconst id = pickupEl?.dataset?.pickup_id;\n\tif (!id) return null;\n\n\tconst ctx = ensureCtx(id);\n\tctx.pickupEl = pickupEl;\n\tctx.dataset = { ...pickupEl.dataset };\n\treturn ctx;\n}\n\nexport function getCtx(id) {\n\treturn contexts.get(id) || null;\n}\n\nexport function subscribe(id, fn) {\n\tconst ctx = ensureCtx(id);\n\tif (!ctx) return () => {};\n\tctx.listeners.add(fn);\n\tfn(ctx); // 初回通知\n\treturn () => ctx.listeners.delete(fn);\n}\n\nexport function setState(id, partial) {\n\tconst ctx = ensureCtx(id);\n\tif (!ctx) return;\n\tctx.state = { ...ctx.state, ...partial };\n\tctx.listeners.forEach((l) => l(ctx));\n}\n"],"names":["GLOBAL_KEY","getGlobalStore","window","contexts","Map","createCtx","id","pickupEl","dataset","state","page","searchKeyWord","periodDisp","periodQueryObj","termParamObj","termQueryObj","posts","rawPosts","targetIndex","total","listeners","Set","cache","taxonomies","inflight","abort","ensureCtx","has","set","get","registerPickup","_pickupEl$dataset","pickup_id","ctx","_objectSpread","getCtx","subscribe","fn","add","delete","setState","partial","forEach","l"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itmar-block-packages",
3
- "version": "2.0.3",
3
+ "version": "2.1.1",
4
4
  "description": "We have put together a package of common React components used for WordPress custom blocks.",
5
5
  "main": "build/cjs/index.js",
6
6
  "module": "build/esm/index.js",