itmar-block-packages 1.10.1 → 2.0.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.
Files changed (157) hide show
  1. package/README.md +1445 -1369
  2. package/build/cjs/AnimationBlock.js +107 -0
  3. package/build/cjs/AnimationBlock.js.map +1 -0
  4. package/build/cjs/BlockEditWrapper.js +20 -0
  5. package/build/cjs/BlockEditWrapper.js.map +1 -0
  6. package/build/cjs/BlockPlace.js +509 -0
  7. package/build/cjs/BlockPlace.js.map +1 -0
  8. package/build/cjs/BrockInserter.js +204 -0
  9. package/build/cjs/BrockInserter.js.map +1 -0
  10. package/build/cjs/DateElm.js +321 -0
  11. package/build/cjs/DateElm.js.map +1 -0
  12. package/build/cjs/DraggableBox.js +143 -0
  13. package/build/cjs/DraggableBox.js.map +1 -0
  14. package/build/cjs/GridControls.js +421 -0
  15. package/build/cjs/GridControls.js.map +1 -0
  16. package/build/cjs/IconSelectControl.js +167 -0
  17. package/build/cjs/IconSelectControl.js.map +1 -0
  18. package/build/cjs/JapaneseHolidays.js +99 -0
  19. package/build/cjs/JapaneseHolidays.js.map +1 -0
  20. package/build/cjs/MasonryControl.js +124 -0
  21. package/build/cjs/MasonryControl.js.map +1 -0
  22. package/build/cjs/PseudoElm.js +66 -0
  23. package/build/cjs/PseudoElm.js.map +1 -0
  24. package/build/cjs/ShadowStyle.js +453 -0
  25. package/build/cjs/ShadowStyle.js.map +1 -0
  26. package/build/cjs/SwiperControl.js +267 -0
  27. package/build/cjs/SwiperControl.js.map +1 -0
  28. package/build/cjs/ToggleElement.js +17 -0
  29. package/build/cjs/ToggleElement.js.map +1 -0
  30. package/build/cjs/TypographyControls.js +151 -0
  31. package/build/cjs/TypographyControls.js.map +1 -0
  32. package/build/cjs/UpdateAllPostsBlockAttributes.js +137 -0
  33. package/build/cjs/UpdateAllPostsBlockAttributes.js.map +1 -0
  34. package/build/cjs/ZipAddress.js +34 -0
  35. package/build/cjs/ZipAddress.js.map +1 -0
  36. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +117 -0
  37. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  38. package/build/cjs/blockStore.js +65 -0
  39. package/build/cjs/blockStore.js.map +1 -0
  40. package/build/cjs/cssPropertes.js +157 -0
  41. package/build/cjs/cssPropertes.js.map +1 -0
  42. package/build/cjs/customFooks.js +300 -0
  43. package/build/cjs/customFooks.js.map +1 -0
  44. package/build/cjs/formatCreate.js +160 -0
  45. package/build/cjs/formatCreate.js.map +1 -0
  46. package/build/cjs/hslToRgb.js +133 -0
  47. package/build/cjs/hslToRgb.js.map +1 -0
  48. package/build/cjs/index.js +115 -0
  49. package/build/cjs/index.js.map +1 -0
  50. package/build/cjs/mediaUpload.js +182 -0
  51. package/build/cjs/mediaUpload.js.map +1 -0
  52. package/build/cjs/node_modules/nanoid/index.js +30 -0
  53. package/build/cjs/node_modules/nanoid/index.js.map +1 -0
  54. package/build/cjs/node_modules/nanoid/url-alphabet/index.js +7 -0
  55. package/build/cjs/node_modules/nanoid/url-alphabet/index.js.map +1 -0
  56. package/build/cjs/shopfiApi.js +188 -0
  57. package/build/cjs/shopfiApi.js.map +1 -0
  58. package/build/cjs/validationCheck.js +15 -0
  59. package/build/cjs/validationCheck.js.map +1 -0
  60. package/build/cjs/wordpressApi.js +631 -0
  61. package/build/cjs/wordpressApi.js.map +1 -0
  62. package/build/esm/AnimationBlock.js +102 -0
  63. package/build/esm/AnimationBlock.js.map +1 -0
  64. package/build/esm/BlockEditWrapper.js +16 -0
  65. package/build/esm/BlockEditWrapper.js.map +1 -0
  66. package/build/esm/BlockPlace.js +503 -0
  67. package/build/esm/BlockPlace.js.map +1 -0
  68. package/build/esm/BrockInserter.js +202 -0
  69. package/build/esm/BrockInserter.js.map +1 -0
  70. package/build/esm/DateElm.js +309 -0
  71. package/build/esm/DateElm.js.map +1 -0
  72. package/build/esm/DraggableBox.js +138 -0
  73. package/build/esm/DraggableBox.js.map +1 -0
  74. package/build/esm/GridControls.js +417 -0
  75. package/build/esm/GridControls.js.map +1 -0
  76. package/build/esm/IconSelectControl.js +163 -0
  77. package/build/esm/IconSelectControl.js.map +1 -0
  78. package/build/esm/JapaneseHolidays.js +97 -0
  79. package/build/esm/JapaneseHolidays.js.map +1 -0
  80. package/{src → build/esm}/MasonryControl.js +120 -125
  81. package/build/esm/MasonryControl.js.map +1 -0
  82. package/build/esm/PseudoElm.js +61 -0
  83. package/build/esm/PseudoElm.js.map +1 -0
  84. package/build/esm/ShadowStyle.js +448 -0
  85. package/build/esm/ShadowStyle.js.map +1 -0
  86. package/{src → build/esm}/SwiperControl.js +265 -265
  87. package/build/esm/SwiperControl.js.map +1 -0
  88. package/build/esm/ToggleElement.js +13 -0
  89. package/build/esm/ToggleElement.js.map +1 -0
  90. package/build/esm/TypographyControls.js +147 -0
  91. package/build/esm/TypographyControls.js.map +1 -0
  92. package/build/esm/UpdateAllPostsBlockAttributes.js +133 -0
  93. package/build/esm/UpdateAllPostsBlockAttributes.js.map +1 -0
  94. package/build/esm/ZipAddress.js +32 -0
  95. package/build/esm/ZipAddress.js.map +1 -0
  96. package/build/esm/_virtual/_rollupPluginBabelHelpers.js +107 -0
  97. package/build/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  98. package/build/esm/blockStore.js +60 -0
  99. package/build/esm/blockStore.js.map +1 -0
  100. package/build/esm/cssPropertes.js +144 -0
  101. package/build/esm/cssPropertes.js.map +1 -0
  102. package/{src → build/esm}/customFooks.js +290 -337
  103. package/build/esm/customFooks.js.map +1 -0
  104. package/build/esm/formatCreate.js +157 -0
  105. package/build/esm/formatCreate.js.map +1 -0
  106. package/build/esm/hslToRgb.js +129 -0
  107. package/build/esm/hslToRgb.js.map +1 -0
  108. package/build/esm/index.js +27 -0
  109. package/build/esm/index.js.map +1 -0
  110. package/build/esm/mediaUpload.js +176 -0
  111. package/build/esm/mediaUpload.js.map +1 -0
  112. package/build/esm/node_modules/nanoid/index.js +27 -0
  113. package/build/esm/node_modules/nanoid/index.js.map +1 -0
  114. package/build/esm/node_modules/nanoid/url-alphabet/index.js +5 -0
  115. package/build/esm/node_modules/nanoid/url-alphabet/index.js.map +1 -0
  116. package/build/esm/shopfiApi.js +184 -0
  117. package/build/esm/shopfiApi.js.map +1 -0
  118. package/build/esm/validationCheck.js +13 -0
  119. package/build/esm/validationCheck.js.map +1 -0
  120. package/build/esm/wordpressApi.js +618 -0
  121. package/build/esm/wordpressApi.js.map +1 -0
  122. package/package.json +22 -6
  123. package/build/index.asset.php +0 -1
  124. package/build/index.js +0 -25
  125. package/css/editor.css +0 -23
  126. package/css/editor.css.map +0 -1
  127. package/img/animation.png +0 -0
  128. package/img/blockplace.png +0 -0
  129. package/img/grid.png +0 -0
  130. package/img/iconControl.png +0 -0
  131. package/img/pseudo.png +0 -0
  132. package/img/shadow.png +0 -0
  133. package/img/typography.png +0 -0
  134. package/src/AnimationBlock.js +0 -112
  135. package/src/BlockEditWrapper.js +0 -11
  136. package/src/BlockPlace.js +0 -904
  137. package/src/BrockInserter.js +0 -247
  138. package/src/DateElm.js +0 -354
  139. package/src/DraggableBox.js +0 -143
  140. package/src/GridControls.js +0 -462
  141. package/src/IconSelectControl.js +0 -186
  142. package/src/PseudoElm.js +0 -54
  143. package/src/ShadowStyle.js +0 -520
  144. package/src/ToggleElement.js +0 -18
  145. package/src/TypographyControls.js +0 -145
  146. package/src/UpdateAllPostsBlockAttributes.js +0 -127
  147. package/src/ZipAddress.js +0 -35
  148. package/src/blockStore.js +0 -75
  149. package/src/cssPropertes.js +0 -212
  150. package/src/formatCreate.js +0 -179
  151. package/src/hslToRgb.js +0 -162
  152. package/src/index.js +0 -131
  153. package/src/mediaUpload.js +0 -178
  154. package/src/shopfiApi.js +0 -187
  155. package/src/validationCheck.js +0 -10
  156. package/src/wordpressApi.js +0 -707
  157. package/webpack.config.js +0 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconSelectControl.js","sources":["../../src/IconSelectControl.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\n\nimport {\n TextControl,\n PanelRow,\n RadioControl,\n ComboboxControl,\n __experimentalUnitControl as UnitControl,\n} from \"@wordpress/components\";\n\nimport { PanelColorSettings } from \"@wordpress/block-editor\";\n\nconst helpLink = createElement(\n \"a\",\n { href: \"https://fontawesome.com/search\", target: \"_blank\" },\n \"FontAwesome\"\n);\n\nconst helpTextCode = createElement(\n \"span\",\n {},\n helpLink,\n __(\n \"Select the icon from and enter Unicode (the upper right four digits of the selection dialog). \",\n \"block-collections\"\n )\n);\n\nconst helpImageURL = createElement(\n \"span\",\n {},\n __(\"Enter the URL for the image.\", \"block-collections\")\n);\n\nconst helpTextFamily = createElement(\n \"span\",\n {},\n __(\n \"Please select the first class name shown in the HTML code field of the selection dialog. \",\n \"block-collections\"\n )\n);\n\nconst units = [\n { value: \"px\", label: \"px\" },\n { value: \"em\", label: \"em\" },\n { value: \"rem\", label: \"rem\" },\n];\n\nconst family_option = [\n { value: \"Font Awesome 6 Free\", label: \"SOLID\" },\n { value: \"Font Awesome 6 Brands\", label: \"BRANDS\" },\n];\n\nexport default ({ iconStyle, setPosition, onChange }) => {\n const {\n icon_type,\n icon_url,\n icon_name,\n icon_pos,\n icon_size,\n icon_color,\n icon_space,\n icon_family,\n } = iconStyle;\n\n return (\n <>\n <label className=\"components-base-control__label\">\n {__(\"Icon Types\", \"block-collections\")}\n </label>\n <PanelRow className=\"itmar_position_row\">\n <RadioControl\n selected={icon_type}\n options={[\n { label: __(\"Awesome\", \"block-collections\"), value: \"awesome\" },\n { label: __(\"Image\", \"block-collections\"), value: \"image\" },\n { label: __(\"Avatar\", \"block-collections\"), value: \"avatar\" },\n ]}\n onChange={(newValue) => {\n const newStyle = { ...iconStyle, icon_type: newValue };\n onChange(newStyle);\n }}\n />\n </PanelRow>\n {icon_type === \"awesome\" && (\n <>\n <TextControl\n label={__(\"icon name\", \"block-collections\")}\n help={helpTextCode}\n labelPosition=\"top\"\n value={icon_name}\n isPressEnterToChange\n onChange={(newValue) => {\n const newStyle = { ...iconStyle, icon_name: newValue };\n onChange(newStyle);\n }}\n />\n\n <ComboboxControl\n label={__(\"Icon Family\", \"block-collections\")}\n help={helpTextFamily}\n options={family_option}\n value={icon_family ? icon_family : \"Font Awesome 6 Free\"}\n onChange={(newValue) => {\n const newStyle = { ...iconStyle, icon_family: newValue };\n onChange(newStyle);\n }}\n />\n </>\n )}\n {icon_type === \"image\" && (\n <TextControl\n label={__(\"icon url\", \"block-collections\")}\n help={helpImageURL}\n labelPosition=\"top\"\n value={icon_url}\n isPressEnterToChange\n onChange={(newValue) => {\n const newStyle = { ...iconStyle, icon_url: newValue };\n onChange(newStyle);\n }}\n />\n )}\n <PanelRow className=\"sizing_row\">\n <UnitControl\n dragDirection=\"e\"\n onChange={(newValue) => {\n const newStyle = { ...iconStyle, icon_size: newValue };\n onChange(newStyle);\n }}\n label={__(\"Size\", \"block-collections\")}\n value={icon_size}\n units={units}\n />\n {setPosition && (\n <UnitControl\n dragDirection=\"e\"\n onChange={(newValue) => {\n const newStyle = { ...iconStyle, icon_space: newValue };\n onChange(newStyle);\n }}\n label={__(\"spacing to end\", \"block-collections\")}\n value={icon_space}\n units={units}\n />\n )}\n </PanelRow>\n\n <PanelColorSettings\n title={__(\"Color settings\", \"itmar_location\")}\n initialOpen={false}\n colorSettings={[\n {\n value: icon_color,\n onChange: (newValue) => {\n const newStyle = { ...iconStyle, icon_color: newValue };\n onChange(newStyle);\n },\n label: __(\"Icon color\", \"itmar_location\"),\n },\n ]}\n />\n {setPosition && (\n <>\n <label className=\"components-base-control__label\">\n {__(\"Arrangement\", \"block-collections\")}\n </label>\n <PanelRow className=\"itmar_position_row\">\n <RadioControl\n selected={icon_pos}\n options={[\n { label: __(\"left\", \"block-collections\"), value: \"left\" },\n { label: __(\"right\", \"block-collections\"), value: \"right\" },\n ]}\n onChange={(newValue) => {\n const newStyle = { ...iconStyle, icon_pos: newValue };\n onChange(newStyle);\n }}\n />\n </PanelRow>\n </>\n )}\n </>\n );\n};\n"],"names":["helpLink","createElement","href","target","helpTextCode","__","helpImageURL","helpTextFamily","units","value","label","family_option","_ref","iconStyle","setPosition","onChange","icon_type","icon_url","icon_name","icon_pos","icon_size","icon_color","icon_space","icon_family","React","Fragment","className","PanelRow","RadioControl","selected","options","newValue","newStyle","_objectSpread","TextControl","help","labelPosition","isPressEnterToChange","ComboboxControl","UnitControl","dragDirection","PanelColorSettings","title","initialOpen","colorSettings"],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ import { asyncToGenerator as _asyncToGenerator } from './_virtual/_rollupPluginBabelHelpers.js';
2
+
3
+ var JapaneseHolidays = /*#__PURE__*/function () {
4
+ var _ref = _asyncToGenerator(function* (apiKey, targetMonth) {
5
+ //Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)
6
+ var loadGoogleAPI = () => {
7
+ return new Promise((resolve, reject) => {
8
+ //window.gapi の存在を直接チェック
9
+ if (window.gapi) {
10
+ resolve();
11
+ return;
12
+ }
13
+ var script = document.createElement("script");
14
+ script.src = "https://apis.google.com/js/api.js";
15
+ script.async = true;
16
+ script.defer = true;
17
+ //スクリプトがロードされたときのイベントハンドラ
18
+ script.onload = () => {
19
+ // gapiがロードされるまでチェックを繰り返す
20
+ var checkGapi = () => {
21
+ if (window.gapi) {
22
+ resolve();
23
+ } else {
24
+ setTimeout(checkGapi, 20); // Check again after 20ms
25
+ }
26
+ };
27
+ checkGapi();
28
+ };
29
+ script.onerror = () => reject(new Error("Failed to load Google API script"));
30
+
31
+ // Check if the script is already in the document
32
+ if (!document.querySelector('script[src="https://apis.google.com/js/api.js"]')) {
33
+ document.body.appendChild(script);
34
+ }
35
+ });
36
+ };
37
+ //APIキーを使用してクライアントを初期化する
38
+ var initClient = /*#__PURE__*/function () {
39
+ var _ref2 = _asyncToGenerator(function* () {
40
+ if (!window.gapi) {
41
+ throw new Error("Google API not loaded");
42
+ }
43
+
44
+ // Check if gapi.client is already available
45
+ if (!window.gapi.client) {
46
+ // If not, load the client module
47
+ yield new Promise(resolve => window.gapi.load("client", resolve));
48
+ }
49
+ if (window.gapi.client.calendar) {
50
+ return;
51
+ }
52
+ yield window.gapi.client.init({
53
+ apiKey: apiKey,
54
+ discoveryDocs: ["https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest"]
55
+ });
56
+ });
57
+ return function initClient() {
58
+ return _ref2.apply(this, arguments);
59
+ };
60
+ }();
61
+ //祝日データの取得
62
+ var fetchHolidays = /*#__PURE__*/function () {
63
+ var _ref3 = _asyncToGenerator(function* () {
64
+ var periodObj = getPeriodQuery(targetMonth);
65
+ var response = yield window.gapi.client.calendar.events.list({
66
+ calendarId: CALENDAR_ID,
67
+ timeMin: periodObj.after,
68
+ timeMax: periodObj.before,
69
+ singleEvents: true,
70
+ orderBy: "startTime"
71
+ });
72
+ var events = response.result.items;
73
+ return events.map(event => ({
74
+ date: event.start.date,
75
+ name: event.summary
76
+ }));
77
+ });
78
+ return function fetchHolidays() {
79
+ return _ref3.apply(this, arguments);
80
+ };
81
+ }();
82
+ try {
83
+ yield loadGoogleAPI();
84
+ yield initClient();
85
+ return yield fetchHolidays();
86
+ } catch (error) {
87
+ console.error("エラーが発生しました:", error);
88
+ throw error;
89
+ }
90
+ });
91
+ return function JapaneseHolidays(_x, _x2) {
92
+ return _ref.apply(this, arguments);
93
+ };
94
+ }();
95
+
96
+ export { JapaneseHolidays };
97
+ //# sourceMappingURL=JapaneseHolidays.js.map
@@ -0,0 +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":";;IAAaA,gBAAgB,gBAAA,YAAA;EAAA,IAAAC,IAAA,GAAAC,iBAAA,CAAG,WAAOC,MAAM,EAAEC,WAAW,EAAK;AAC7D;IACA,IAAMC,aAAa,GAAGA,MAAM;AAC1B,MAAA,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;AACtC;QACA,IAAIC,MAAM,CAACC,IAAI,EAAE;AACfH,UAAAA,OAAO,EAAE;AACT,UAAA;AACF,QAAA;AAEA,QAAA,IAAMI,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;QAC/CF,MAAM,CAACG,GAAG,GAAG,mCAAmC;QAChDH,MAAM,CAACI,KAAK,GAAG,IAAI;QACnBJ,MAAM,CAACK,KAAK,GAAG,IAAI;AACnB;QACAL,MAAM,CAACM,MAAM,GAAG,MAAM;AACpB;UACA,IAAMC,SAAS,GAAGA,MAAM;YACtB,IAAIT,MAAM,CAACC,IAAI,EAAE;AACfH,cAAAA,OAAO,EAAE;AACX,YAAA,CAAC,MAAM;AACLY,cAAAA,UAAU,CAACD,SAAS,EAAE,EAAE,CAAC,CAAC;AAC5B,YAAA;UACF,CAAC;AACDA,UAAAA,SAAS,EAAE;QACb,CAAC;QAEDP,MAAM,CAACS,OAAO,GAAG,MACfZ,MAAM,CAAC,IAAIa,KAAK,CAAC,kCAAkC,CAAC,CAAC;;AAEvD;AACA,QAAA,IACE,CAACT,QAAQ,CAACU,aAAa,CACrB,iDACF,CAAC,EACD;AACAV,UAAAA,QAAQ,CAACW,IAAI,CAACC,WAAW,CAACb,MAAM,CAAC;AACnC,QAAA;AACF,MAAA,CAAC,CAAC;IACJ,CAAC;AACD;AACA,IAAA,IAAMc,UAAU,gBAAA,YAAA;AAAA,MAAA,IAAAC,KAAA,GAAAxB,iBAAA,CAAG,aAAY;AAC7B,QAAA,IAAI,CAACO,MAAM,CAACC,IAAI,EAAE;AAChB,UAAA,MAAM,IAAIW,KAAK,CAAC,uBAAuB,CAAC;AAC1C,QAAA;;AAEA;AACA,QAAA,IAAI,CAACZ,MAAM,CAACC,IAAI,CAACiB,MAAM,EAAE;AACvB;AACA,UAAA,MAAM,IAAIrB,OAAO,CAAEC,OAAO,IAAKE,MAAM,CAACC,IAAI,CAACkB,IAAI,CAAC,QAAQ,EAAErB,OAAO,CAAC,CAAC;AACrE,QAAA;AAEA,QAAA,IAAIE,MAAM,CAACC,IAAI,CAACiB,MAAM,CAACE,QAAQ,EAAE;AAC/B,UAAA;AACF,QAAA;AACA,QAAA,MAAMpB,MAAM,CAACC,IAAI,CAACiB,MAAM,CAACG,IAAI,CAAC;AAC5B3B,UAAAA,MAAM,EAAEA,MAAM;UACd4B,aAAa,EAAE,CACb,+DAA+D;AAEnE,SAAC,CAAC;MACJ,CAAC,CAAA;AAAA,MAAA,OAAA,SApBKN,UAAUA,GAAA;AAAA,QAAA,OAAAC,KAAA,CAAAM,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;IAAA,CAAA,EAoBf;AACD;AACA,IAAA,IAAMC,aAAa,gBAAA,YAAA;AAAA,MAAA,IAAAC,KAAA,GAAAjC,iBAAA,CAAG,aAAY;AAChC,QAAA,IAAMkC,SAAS,GAAGC,cAAc,CAACjC,WAAW,CAAC;AAE7C,QAAA,IAAMkC,QAAQ,GAAA,MAAS7B,MAAM,CAACC,IAAI,CAACiB,MAAM,CAACE,QAAQ,CAACU,MAAM,CAACC,IAAI,CAAC;AAC7DC,UAAAA,UAAU,EAAEC,WAAW;UACvBC,OAAO,EAAEP,SAAS,CAACQ,KAAK;UACxBC,OAAO,EAAET,SAAS,CAACU,MAAM;AACzBC,UAAAA,YAAY,EAAE,IAAI;AAClBC,UAAAA,OAAO,EAAE;AACX,SAAC,CAAC;AAEF,QAAA,IAAMT,MAAM,GAAGD,QAAQ,CAACW,MAAM,CAACC,KAAK;AACpC,QAAA,OAAOX,MAAM,CAACY,GAAG,CAAEC,KAAK,KAAM;AAC5BC,UAAAA,IAAI,EAAED,KAAK,CAACE,KAAK,CAACD,IAAI;UACtBE,IAAI,EAAEH,KAAK,CAACI;AACd,SAAC,CAAC,CAAC;MACL,CAAC,CAAA;AAAA,MAAA,OAAA,SAhBKtB,aAAaA,GAAA;AAAA,QAAA,OAAAC,KAAA,CAAAH,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;IAAA,CAAA,EAgBlB;IAED,IAAI;MACF,MAAM5B,aAAa,EAAE;MACrB,MAAMoB,UAAU,EAAE;MAClB,OAAA,MAAaS,aAAa,EAAE;IAC9B,CAAC,CAAC,OAAOuB,KAAK,EAAE;AACdC,MAAAA,OAAO,CAACD,KAAK,CAAC,aAAa,EAAEA,KAAK,CAAC;AACnC,MAAA,MAAMA,KAAK;AACb,IAAA;EACF,CAAC,CAAA;AAAA,EAAA,OAAA,SAzFYzD,gBAAgBA,CAAA2D,EAAA,EAAAC,GAAA,EAAA;AAAA,IAAA,OAAA3D,IAAA,CAAA+B,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,EAAA,CAAA;AAAA,CAAA;;;;"}
@@ -1,125 +1,120 @@
1
- /**
2
- * Masonry グリッドを初期化する共通関数
3
- *
4
- * @param {HTMLElement} gridEl - `.itmar-masonry-grid` のコンテナ要素
5
- * @param {Array<{ url: string, alt?: string }>} images - 描画する画像リスト
6
- * @param {Object} options
7
- * @param {number} options.columns - カラム数
8
- * @param {boolean} [options.renderItems=true]
9
- * true: この関数内で gridEl をクリアして <figure><img> を追加する
10
- * false: 既にある .itmar-masonry-item をそのまま使い、幅だけ更新する
11
- *
12
- * @returns {any|null} Masonry インスタンス(なければ null)
13
- */
14
-
15
- export default function MasonryControl(
16
- gridEl,
17
- images = [],
18
- { columns = 1, renderItems = true } = {}
19
- ) {
20
- if (!gridEl) return null;
21
- const columnWidthPercent = 100 / (columns || 1);
22
-
23
- // 既存インスタンスがあれば破棄(再初期化に対応)
24
- if (gridEl.__masonryInstance) {
25
- try {
26
- gridEl.__masonryInstance.destroy();
27
- } catch (e) {
28
- console.warn("Failed to destroy previous Masonry instance", e);
29
- }
30
- gridEl.__masonryInstance = null;
31
- }
32
-
33
- // ---------------------------
34
- // 1) アイテムの DOM を構築 or 更新
35
- // ---------------------------
36
- if (renderItems) {
37
- // コンテナ全部は消さない。マソンリー用の要素だけを削除する
38
- gridEl
39
- .querySelectorAll(".itmar-masonry-sizer, .itmar-masonry-item")
40
- .forEach((node) => node.remove());
41
-
42
- // sizer 追加
43
- const sizer = document.createElement("div");
44
- sizer.className = "itmar-masonry-sizer";
45
- sizer.style.width = `${columnWidthPercent}%`;
46
- gridEl.appendChild(sizer);
47
-
48
- // 画像アイテム追加
49
- images.forEach((item, index) => {
50
- const fig = document.createElement("figure");
51
- fig.className = "itmar-masonry-item";
52
- fig.style.width = `${columnWidthPercent}%`;
53
-
54
- // クリック検知用の a タグ
55
- const link = document.createElement("a");
56
- link.href = "#";
57
- link.className = "itmar-masonry-link";
58
- link.dataset.masonryIndex = String(index);
59
- //img要素
60
- const img = document.createElement("img");
61
- img.src = item.url;
62
- img.alt = item.alt || "";
63
- img.style.display = "block";
64
- img.style.width = "100%";
65
- img.style.height = "auto";
66
-
67
- link.appendChild(img);
68
- fig.appendChild(link);
69
- gridEl.appendChild(fig);
70
- });
71
- } else {
72
- // React 側(edit.js)みたいに、すでに <figure> が描画されている場合
73
- // sizer がなければ作る
74
- let sizer = gridEl.querySelector(".itmar-masonry-sizer");
75
- if (!sizer) {
76
- sizer = document.createElement("div");
77
- sizer.className = "itmar-masonry-sizer";
78
- gridEl.insertBefore(sizer, gridEl.firstChild || null);
79
- }
80
- sizer.style.width = `${columnWidthPercent}%`;
81
-
82
- // 既存 item の幅だけ更新
83
- gridEl.querySelectorAll(".itmar-masonry-item").forEach((fig) => {
84
- fig.style.width = `${columnWidthPercent}%`;
85
- });
86
- }
87
-
88
- // ---------------------------
89
- // 2) Masonry / imagesLoaded を iframe-aware に取得
90
- // ---------------------------
91
- let win = null;
92
-
93
- if (gridEl.ownerDocument && gridEl.ownerDocument.defaultView) {
94
- // サイトエディタ・ブロックエディタの iframe 内ならこっち
95
- win = gridEl.ownerDocument.defaultView;
96
- } else if (typeof window !== "undefined") {
97
- // フロントなら普通に window
98
- win = window;
99
- }
100
-
101
- if (!win || !win.Masonry || !win.imagesLoaded) {
102
- // ライブラリが読み込まれていない場合は、
103
- // DOM だけ作って終了(レイアウトはブラウザ任せ)
104
- return null;
105
- }
106
-
107
- const MasonryCtor = win.Masonry;
108
- const imagesLoadedFn = win.imagesLoaded;
109
-
110
- const msnry = new MasonryCtor(gridEl, {
111
- itemSelector: ".itmar-masonry-item",
112
- columnWidth: ".itmar-masonry-sizer",
113
- percentPosition: true,
114
- });
115
-
116
- const imgLoad = imagesLoadedFn(gridEl);
117
- imgLoad.on("progress", () => {
118
- msnry.layout();
119
- });
120
-
121
- // 後から破棄できるように要素に紐付けておく
122
- gridEl.__masonryInstance = msnry;
123
-
124
- return msnry;
125
- }
1
+ /**
2
+ * Masonry グリッドを初期化する共通関数
3
+ *
4
+ * @param {HTMLElement} gridEl - `.itmar-masonry-grid` のコンテナ要素
5
+ * @param {Array<{ url: string, alt?: string }>} images - 描画する画像リスト
6
+ * @param {Object} options
7
+ * @param {number} options.columns - カラム数
8
+ * @param {boolean} [options.renderItems=true]
9
+ * true: この関数内で gridEl をクリアして <figure><img> を追加する
10
+ * false: 既にある .itmar-masonry-item をそのまま使い、幅だけ更新する
11
+ *
12
+ * @returns {any|null} Masonry インスタンス(なければ null)
13
+ */
14
+
15
+ function MasonryControl(gridEl) {
16
+ var images = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
17
+ var {
18
+ columns = 1,
19
+ renderItems = true
20
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
21
+ if (!gridEl) return null;
22
+ var columnWidthPercent = 100 / (columns || 1);
23
+
24
+ // 既存インスタンスがあれば破棄(再初期化に対応)
25
+ if (gridEl.__masonryInstance) {
26
+ try {
27
+ gridEl.__masonryInstance.destroy();
28
+ } catch (e) {
29
+ console.warn("Failed to destroy previous Masonry instance", e);
30
+ }
31
+ gridEl.__masonryInstance = null;
32
+ }
33
+
34
+ // ---------------------------
35
+ // 1) アイテムの DOM を構築 or 更新
36
+ // ---------------------------
37
+ if (renderItems) {
38
+ // ★ コンテナ全部は消さない。マソンリー用の要素だけを削除する
39
+ gridEl.querySelectorAll(".itmar-masonry-sizer, .itmar-masonry-item").forEach(node => node.remove());
40
+
41
+ // sizer 追加
42
+ var sizer = document.createElement("div");
43
+ sizer.className = "itmar-masonry-sizer";
44
+ sizer.style.width = "".concat(columnWidthPercent, "%");
45
+ gridEl.appendChild(sizer);
46
+
47
+ // 画像アイテム追加
48
+ images.forEach((item, index) => {
49
+ var fig = document.createElement("figure");
50
+ fig.className = "itmar-masonry-item";
51
+ fig.style.width = "".concat(columnWidthPercent, "%");
52
+
53
+ // クリック検知用の a タグ
54
+ var link = document.createElement("a");
55
+ link.href = "#";
56
+ link.className = "itmar-masonry-link";
57
+ link.dataset.masonryIndex = String(index);
58
+ //img要素
59
+ var img = document.createElement("img");
60
+ img.src = item.url;
61
+ img.alt = item.alt || "";
62
+ img.style.display = "block";
63
+ img.style.width = "100%";
64
+ img.style.height = "auto";
65
+ link.appendChild(img);
66
+ fig.appendChild(link);
67
+ gridEl.appendChild(fig);
68
+ });
69
+ } else {
70
+ // React 側(edit.js)みたいに、すでに <figure> が描画されている場合
71
+ // sizer がなければ作る
72
+ var _sizer = gridEl.querySelector(".itmar-masonry-sizer");
73
+ if (!_sizer) {
74
+ _sizer = document.createElement("div");
75
+ _sizer.className = "itmar-masonry-sizer";
76
+ gridEl.insertBefore(_sizer, gridEl.firstChild || null);
77
+ }
78
+ _sizer.style.width = "".concat(columnWidthPercent, "%");
79
+
80
+ // 既存 item の幅だけ更新
81
+ gridEl.querySelectorAll(".itmar-masonry-item").forEach(fig => {
82
+ fig.style.width = "".concat(columnWidthPercent, "%");
83
+ });
84
+ }
85
+
86
+ // ---------------------------
87
+ // 2) Masonry / imagesLoaded を iframe-aware に取得
88
+ // ---------------------------
89
+ var win = null;
90
+ if (gridEl.ownerDocument && gridEl.ownerDocument.defaultView) {
91
+ // サイトエディタ・ブロックエディタの iframe 内ならこっち
92
+ win = gridEl.ownerDocument.defaultView;
93
+ } else if (typeof window !== "undefined") {
94
+ // フロントなら普通に window
95
+ win = window;
96
+ }
97
+ if (!win || !win.Masonry || !win.imagesLoaded) {
98
+ // ライブラリが読み込まれていない場合は、
99
+ // DOM だけ作って終了(レイアウトはブラウザ任せ)
100
+ return null;
101
+ }
102
+ var MasonryCtor = win.Masonry;
103
+ var imagesLoadedFn = win.imagesLoaded;
104
+ var msnry = new MasonryCtor(gridEl, {
105
+ itemSelector: ".itmar-masonry-item",
106
+ columnWidth: ".itmar-masonry-sizer",
107
+ percentPosition: true
108
+ });
109
+ var imgLoad = imagesLoadedFn(gridEl);
110
+ imgLoad.on("progress", () => {
111
+ msnry.layout();
112
+ });
113
+
114
+ // 後から破棄できるように要素に紐付けておく
115
+ gridEl.__masonryInstance = msnry;
116
+ return msnry;
117
+ }
118
+
119
+ export { MasonryControl as default };
120
+ //# sourceMappingURL=MasonryControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MasonryControl.js","sources":["../../src/MasonryControl.js"],"sourcesContent":["/**\n * Masonry グリッドを初期化する共通関数\n *\n * @param {HTMLElement} gridEl - `.itmar-masonry-grid` のコンテナ要素\n * @param {Array<{ url: string, alt?: string }>} images - 描画する画像リスト\n * @param {Object} options\n * @param {number} options.columns - カラム数\n * @param {boolean} [options.renderItems=true]\n * true: この関数内で gridEl をクリアして <figure><img> を追加する\n * false: 既にある .itmar-masonry-item をそのまま使い、幅だけ更新する\n *\n * @returns {any|null} Masonry インスタンス(なければ null)\n */\n\nexport default function MasonryControl(\n gridEl,\n images = [],\n { columns = 1, renderItems = true } = {}\n) {\n if (!gridEl) return null;\n const columnWidthPercent = 100 / (columns || 1);\n\n // 既存インスタンスがあれば破棄(再初期化に対応)\n if (gridEl.__masonryInstance) {\n try {\n gridEl.__masonryInstance.destroy();\n } catch (e) {\n console.warn(\"Failed to destroy previous Masonry instance\", e);\n }\n gridEl.__masonryInstance = null;\n }\n\n // ---------------------------\n // 1) アイテムの DOM を構築 or 更新\n // ---------------------------\n if (renderItems) {\n // ★ コンテナ全部は消さない。マソンリー用の要素だけを削除する\n gridEl\n .querySelectorAll(\".itmar-masonry-sizer, .itmar-masonry-item\")\n .forEach((node) => node.remove());\n\n // sizer 追加\n const sizer = document.createElement(\"div\");\n sizer.className = \"itmar-masonry-sizer\";\n sizer.style.width = `${columnWidthPercent}%`;\n gridEl.appendChild(sizer);\n\n // 画像アイテム追加\n images.forEach((item, index) => {\n const fig = document.createElement(\"figure\");\n fig.className = \"itmar-masonry-item\";\n fig.style.width = `${columnWidthPercent}%`;\n\n // クリック検知用の a タグ\n const link = document.createElement(\"a\");\n link.href = \"#\";\n link.className = \"itmar-masonry-link\";\n link.dataset.masonryIndex = String(index);\n //img要素\n const img = document.createElement(\"img\");\n img.src = item.url;\n img.alt = item.alt || \"\";\n img.style.display = \"block\";\n img.style.width = \"100%\";\n img.style.height = \"auto\";\n\n link.appendChild(img);\n fig.appendChild(link);\n gridEl.appendChild(fig);\n });\n } else {\n // React 側(edit.js)みたいに、すでに <figure> が描画されている場合\n // sizer がなければ作る\n let sizer = gridEl.querySelector(\".itmar-masonry-sizer\");\n if (!sizer) {\n sizer = document.createElement(\"div\");\n sizer.className = \"itmar-masonry-sizer\";\n gridEl.insertBefore(sizer, gridEl.firstChild || null);\n }\n sizer.style.width = `${columnWidthPercent}%`;\n\n // 既存 item の幅だけ更新\n gridEl.querySelectorAll(\".itmar-masonry-item\").forEach((fig) => {\n fig.style.width = `${columnWidthPercent}%`;\n });\n }\n\n // ---------------------------\n // 2) Masonry / imagesLoaded を iframe-aware に取得\n // ---------------------------\n let win = null;\n\n if (gridEl.ownerDocument && gridEl.ownerDocument.defaultView) {\n // サイトエディタ・ブロックエディタの iframe 内ならこっち\n win = gridEl.ownerDocument.defaultView;\n } else if (typeof window !== \"undefined\") {\n // フロントなら普通に window\n win = window;\n }\n\n if (!win || !win.Masonry || !win.imagesLoaded) {\n // ライブラリが読み込まれていない場合は、\n // DOM だけ作って終了(レイアウトはブラウザ任せ)\n return null;\n }\n\n const MasonryCtor = win.Masonry;\n const imagesLoadedFn = win.imagesLoaded;\n\n const msnry = new MasonryCtor(gridEl, {\n itemSelector: \".itmar-masonry-item\",\n columnWidth: \".itmar-masonry-sizer\",\n percentPosition: true,\n });\n\n const imgLoad = imagesLoadedFn(gridEl);\n imgLoad.on(\"progress\", () => {\n msnry.layout();\n });\n\n // 後から破棄できるように要素に紐付けておく\n gridEl.__masonryInstance = msnry;\n\n return msnry;\n}\n"],"names":["MasonryControl","gridEl","images","arguments","length","undefined","columns","renderItems","columnWidthPercent","__masonryInstance","destroy","e","console","warn","querySelectorAll","forEach","node","remove","sizer","document","createElement","className","style","width","concat","appendChild","item","index","fig","link","href","dataset","masonryIndex","String","img","src","url","alt","display","height","querySelector","insertBefore","firstChild","win","ownerDocument","defaultView","window","Masonry","imagesLoaded","MasonryCtor","imagesLoadedFn","msnry","itemSelector","columnWidth","percentPosition","imgLoad","on","layout"],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { taggedTemplateLiteral as _taggedTemplateLiteral } from './_virtual/_rollupPluginBabelHelpers.js';
2
+ import { __ } from '@wordpress/i18n';
3
+ import { css } from 'styled-components';
4
+ import { RadioControl } from '@wordpress/components';
5
+
6
+ var _templateObject;
7
+
8
+ // 矢印の向きに応じたスタイルを生成するヘルパー関数
9
+ var arrowDirectionStyles = direction => {
10
+ switch (direction) {
11
+ case "left":
12
+ return "transform: translate(-50%, -50%) rotate(-135deg);";
13
+ case "right":
14
+ return "transform: translate(-50%, -50%) rotate(45deg);";
15
+ case "upper":
16
+ return "transform: translate(-50%, -50%) rotate(-45deg);";
17
+ case "under":
18
+ return "transform: translate(-50%, -50%) rotate(135deg);";
19
+ default:
20
+ return "transform: translate(-50%, -50%) rotate(45deg);";
21
+ // default to 'down'
22
+ }
23
+ };
24
+
25
+ // 矢印のスタイルを適用するコンポーネント
26
+ var Arrow = _ref => {
27
+ var {
28
+ direction = "down"
29
+ } = _ref;
30
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n &::after {\n content: \"\";\n position: absolute;\n display: block;\n width: 15%;\n height: 15%;\n border-top: 3px solid var(--wp--preset--color--accent-2);\n border-right: 3px solid var(--wp--preset--color--accent-2);\n top: 50%;\n left: 50%;\n ", "\n }\n"])), arrowDirectionStyles(direction));
31
+ };
32
+
33
+ //擬似要素の出力を選択させるインスペクターコントロール
34
+ var PseudoElm = _ref2 => {
35
+ var {
36
+ direction,
37
+ onChange: _onChange
38
+ } = _ref2;
39
+ return /*#__PURE__*/React.createElement(RadioControl, {
40
+ selected: direction,
41
+ options: [{
42
+ label: __("Upper", "itmar_block_collections"),
43
+ value: "upper"
44
+ }, {
45
+ label: __("Left", "itmar_block_collections"),
46
+ value: "left"
47
+ }, {
48
+ label: __("Right", "itmar_block_collections"),
49
+ value: "right"
50
+ }, {
51
+ label: __("Under", "itmar_block_collections"),
52
+ value: "under"
53
+ }],
54
+ onChange: changeOption => {
55
+ _onChange(changeOption);
56
+ }
57
+ });
58
+ };
59
+
60
+ export { Arrow, PseudoElm as default };
61
+ //# sourceMappingURL=PseudoElm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PseudoElm.js","sources":["../../src/PseudoElm.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { css } from \"styled-components\";\nimport { RadioControl } from \"@wordpress/components\";\n\n// 矢印の向きに応じたスタイルを生成するヘルパー関数\nconst arrowDirectionStyles = (direction) => {\n switch (direction) {\n case \"left\":\n return \"transform: translate(-50%, -50%) rotate(-135deg);\";\n case \"right\":\n return \"transform: translate(-50%, -50%) rotate(45deg);\";\n case \"upper\":\n return \"transform: translate(-50%, -50%) rotate(-45deg);\";\n case \"under\":\n return \"transform: translate(-50%, -50%) rotate(135deg);\";\n default:\n return \"transform: translate(-50%, -50%) rotate(45deg);\"; // default to 'down'\n }\n};\n\n// 矢印のスタイルを適用するコンポーネント\nexport const Arrow = ({ direction = \"down\" }) => css`\n &::after {\n content: \"\";\n position: absolute;\n display: block;\n width: 15%;\n height: 15%;\n border-top: 3px solid var(--wp--preset--color--accent-2);\n border-right: 3px solid var(--wp--preset--color--accent-2);\n top: 50%;\n left: 50%;\n ${arrowDirectionStyles(direction)}\n }\n`;\n\n//擬似要素の出力を選択させるインスペクターコントロール\nconst PseudoElm = ({ direction, onChange }) => {\n return (\n <RadioControl\n selected={direction}\n options={[\n { label: __(\"Upper\", \"itmar_block_collections\"), value: \"upper\" },\n { label: __(\"Left\", \"itmar_block_collections\"), value: \"left\" },\n { label: __(\"Right\", \"itmar_block_collections\"), value: \"right\" },\n { label: __(\"Under\", \"itmar_block_collections\"), value: \"under\" },\n ]}\n onChange={(changeOption) => {\n onChange(changeOption);\n }}\n />\n );\n};\nexport default PseudoElm;\n"],"names":["arrowDirectionStyles","direction","Arrow","_ref","css","_templateObject","_taggedTemplateLiteral","PseudoElm","_ref2","onChange","React","createElement","RadioControl","selected","options","label","__","value","changeOption"],"mappings":";;;;;;;AAIA;AACA,IAAMA,oBAAoB,GAAIC,SAAS,IAAK;AAC1C,EAAA,QAAQA,SAAS;AACf,IAAA,KAAK,MAAM;AACT,MAAA,OAAO,mDAAmD;AAC5D,IAAA,KAAK,OAAO;AACV,MAAA,OAAO,iDAAiD;AAC1D,IAAA,KAAK,OAAO;AACV,MAAA,OAAO,kDAAkD;AAC3D,IAAA,KAAK,OAAO;AACV,MAAA,OAAO,kDAAkD;AAC3D,IAAA;AACE,MAAA,OAAO,iDAAiD;AAAE;AAC9D;AACF,CAAC;;AAED;AACO,IAAMC,KAAK,GAAGC,IAAA,IAAA;EAAA,IAAC;AAAEF,IAAAA,SAAS,GAAG;AAAO,GAAC,GAAAE,IAAA;EAAA,OAAKC,GAAG,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,CAAA,CAAA,0RAAA,EAAA,SAAA,CAAA,CAAA,CAAA,EAW9CN,oBAAoB,CAACC,SAAS,CAAC,CAAA;AAAA;;AAIrC;AACA,IAAMM,SAAS,GAAGC,KAAA,IAA6B;EAAA,IAA5B;IAAEP,SAAS;AAAEQ,IAAAA,QAAQ,EAARA;AAAS,GAAC,GAAAD,KAAA;AACxC,EAAA,oBACEE,KAAA,CAAAC,aAAA,CAACC,YAAY,EAAA;AACXC,IAAAA,QAAQ,EAAEZ,SAAU;AACpBa,IAAAA,OAAO,EAAE,CACP;AAAEC,MAAAA,KAAK,EAAEC,EAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC;AAAEC,MAAAA,KAAK,EAAE;AAAQ,KAAC,EACjE;AAAEF,MAAAA,KAAK,EAAEC,EAAE,CAAC,MAAM,EAAE,yBAAyB,CAAC;AAAEC,MAAAA,KAAK,EAAE;AAAO,KAAC,EAC/D;AAAEF,MAAAA,KAAK,EAAEC,EAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC;AAAEC,MAAAA,KAAK,EAAE;AAAQ,KAAC,EACjE;AAAEF,MAAAA,KAAK,EAAEC,EAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC;AAAEC,MAAAA,KAAK,EAAE;AAAQ,KAAC,CACjE;IACFR,QAAQ,EAAGS,YAAY,IAAK;MAC1BT,SAAQ,CAACS,YAAY,CAAC;AACxB,IAAA;AAAE,GACH,CAAC;AAEN;;;;"}