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.
- package/README.md +1445 -1369
- package/build/cjs/AnimationBlock.js +107 -0
- package/build/cjs/AnimationBlock.js.map +1 -0
- package/build/cjs/BlockEditWrapper.js +20 -0
- package/build/cjs/BlockEditWrapper.js.map +1 -0
- package/build/cjs/BlockPlace.js +509 -0
- package/build/cjs/BlockPlace.js.map +1 -0
- package/build/cjs/BrockInserter.js +204 -0
- package/build/cjs/BrockInserter.js.map +1 -0
- package/build/cjs/DateElm.js +321 -0
- package/build/cjs/DateElm.js.map +1 -0
- package/build/cjs/DraggableBox.js +143 -0
- package/build/cjs/DraggableBox.js.map +1 -0
- package/build/cjs/GridControls.js +421 -0
- package/build/cjs/GridControls.js.map +1 -0
- package/build/cjs/IconSelectControl.js +167 -0
- package/build/cjs/IconSelectControl.js.map +1 -0
- package/build/cjs/JapaneseHolidays.js +99 -0
- package/build/cjs/JapaneseHolidays.js.map +1 -0
- package/build/cjs/MasonryControl.js +124 -0
- package/build/cjs/MasonryControl.js.map +1 -0
- package/build/cjs/PseudoElm.js +66 -0
- package/build/cjs/PseudoElm.js.map +1 -0
- package/build/cjs/ShadowStyle.js +453 -0
- package/build/cjs/ShadowStyle.js.map +1 -0
- package/build/cjs/SwiperControl.js +267 -0
- package/build/cjs/SwiperControl.js.map +1 -0
- package/build/cjs/ToggleElement.js +17 -0
- package/build/cjs/ToggleElement.js.map +1 -0
- package/build/cjs/TypographyControls.js +151 -0
- package/build/cjs/TypographyControls.js.map +1 -0
- package/build/cjs/UpdateAllPostsBlockAttributes.js +137 -0
- package/build/cjs/UpdateAllPostsBlockAttributes.js.map +1 -0
- package/build/cjs/ZipAddress.js +34 -0
- package/build/cjs/ZipAddress.js.map +1 -0
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +117 -0
- package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/build/cjs/blockStore.js +65 -0
- package/build/cjs/blockStore.js.map +1 -0
- package/build/cjs/cssPropertes.js +157 -0
- package/build/cjs/cssPropertes.js.map +1 -0
- package/build/cjs/customFooks.js +300 -0
- package/build/cjs/customFooks.js.map +1 -0
- package/build/cjs/formatCreate.js +160 -0
- package/build/cjs/formatCreate.js.map +1 -0
- package/build/cjs/hslToRgb.js +133 -0
- package/build/cjs/hslToRgb.js.map +1 -0
- package/build/cjs/index.js +115 -0
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/mediaUpload.js +182 -0
- package/build/cjs/mediaUpload.js.map +1 -0
- package/build/cjs/node_modules/nanoid/index.js +30 -0
- package/build/cjs/node_modules/nanoid/index.js.map +1 -0
- package/build/cjs/node_modules/nanoid/url-alphabet/index.js +7 -0
- package/build/cjs/node_modules/nanoid/url-alphabet/index.js.map +1 -0
- package/build/cjs/shopfiApi.js +188 -0
- package/build/cjs/shopfiApi.js.map +1 -0
- package/build/cjs/validationCheck.js +15 -0
- package/build/cjs/validationCheck.js.map +1 -0
- package/build/cjs/wordpressApi.js +631 -0
- package/build/cjs/wordpressApi.js.map +1 -0
- package/build/esm/AnimationBlock.js +102 -0
- package/build/esm/AnimationBlock.js.map +1 -0
- package/build/esm/BlockEditWrapper.js +16 -0
- package/build/esm/BlockEditWrapper.js.map +1 -0
- package/build/esm/BlockPlace.js +503 -0
- package/build/esm/BlockPlace.js.map +1 -0
- package/build/esm/BrockInserter.js +202 -0
- package/build/esm/BrockInserter.js.map +1 -0
- package/build/esm/DateElm.js +309 -0
- package/build/esm/DateElm.js.map +1 -0
- package/build/esm/DraggableBox.js +138 -0
- package/build/esm/DraggableBox.js.map +1 -0
- package/build/esm/GridControls.js +417 -0
- package/build/esm/GridControls.js.map +1 -0
- package/build/esm/IconSelectControl.js +163 -0
- package/build/esm/IconSelectControl.js.map +1 -0
- package/build/esm/JapaneseHolidays.js +97 -0
- package/build/esm/JapaneseHolidays.js.map +1 -0
- package/{src → build/esm}/MasonryControl.js +120 -125
- package/build/esm/MasonryControl.js.map +1 -0
- package/build/esm/PseudoElm.js +61 -0
- package/build/esm/PseudoElm.js.map +1 -0
- package/build/esm/ShadowStyle.js +448 -0
- package/build/esm/ShadowStyle.js.map +1 -0
- package/{src → build/esm}/SwiperControl.js +265 -265
- package/build/esm/SwiperControl.js.map +1 -0
- package/build/esm/ToggleElement.js +13 -0
- package/build/esm/ToggleElement.js.map +1 -0
- package/build/esm/TypographyControls.js +147 -0
- package/build/esm/TypographyControls.js.map +1 -0
- package/build/esm/UpdateAllPostsBlockAttributes.js +133 -0
- package/build/esm/UpdateAllPostsBlockAttributes.js.map +1 -0
- package/build/esm/ZipAddress.js +32 -0
- package/build/esm/ZipAddress.js.map +1 -0
- package/build/esm/_virtual/_rollupPluginBabelHelpers.js +107 -0
- package/build/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/build/esm/blockStore.js +60 -0
- package/build/esm/blockStore.js.map +1 -0
- package/build/esm/cssPropertes.js +144 -0
- package/build/esm/cssPropertes.js.map +1 -0
- package/{src → build/esm}/customFooks.js +290 -337
- package/build/esm/customFooks.js.map +1 -0
- package/build/esm/formatCreate.js +157 -0
- package/build/esm/formatCreate.js.map +1 -0
- package/build/esm/hslToRgb.js +129 -0
- package/build/esm/hslToRgb.js.map +1 -0
- package/build/esm/index.js +27 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/mediaUpload.js +176 -0
- package/build/esm/mediaUpload.js.map +1 -0
- package/build/esm/node_modules/nanoid/index.js +27 -0
- package/build/esm/node_modules/nanoid/index.js.map +1 -0
- package/build/esm/node_modules/nanoid/url-alphabet/index.js +5 -0
- package/build/esm/node_modules/nanoid/url-alphabet/index.js.map +1 -0
- package/build/esm/shopfiApi.js +184 -0
- package/build/esm/shopfiApi.js.map +1 -0
- package/build/esm/validationCheck.js +13 -0
- package/build/esm/validationCheck.js.map +1 -0
- package/build/esm/wordpressApi.js +618 -0
- package/build/esm/wordpressApi.js.map +1 -0
- package/package.json +22 -6
- package/build/index.asset.php +0 -1
- package/build/index.js +0 -25
- package/css/editor.css +0 -23
- package/css/editor.css.map +0 -1
- package/img/animation.png +0 -0
- package/img/blockplace.png +0 -0
- package/img/grid.png +0 -0
- package/img/iconControl.png +0 -0
- package/img/pseudo.png +0 -0
- package/img/shadow.png +0 -0
- package/img/typography.png +0 -0
- package/src/AnimationBlock.js +0 -112
- package/src/BlockEditWrapper.js +0 -11
- package/src/BlockPlace.js +0 -904
- package/src/BrockInserter.js +0 -247
- package/src/DateElm.js +0 -354
- package/src/DraggableBox.js +0 -143
- package/src/GridControls.js +0 -462
- package/src/IconSelectControl.js +0 -186
- package/src/PseudoElm.js +0 -54
- package/src/ShadowStyle.js +0 -520
- package/src/ToggleElement.js +0 -18
- package/src/TypographyControls.js +0 -145
- package/src/UpdateAllPostsBlockAttributes.js +0 -127
- package/src/ZipAddress.js +0 -35
- package/src/blockStore.js +0 -75
- package/src/cssPropertes.js +0 -212
- package/src/formatCreate.js +0 -179
- package/src/hslToRgb.js +0 -162
- package/src/index.js +0 -131
- package/src/mediaUpload.js +0 -178
- package/src/shopfiApi.js +0 -187
- package/src/validationCheck.js +0 -10
- package/src/wordpressApi.js +0 -707
- 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,99 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
|
|
4
|
+
|
|
5
|
+
var JapaneseHolidays = /*#__PURE__*/function () {
|
|
6
|
+
var _ref = _rollupPluginBabelHelpers.asyncToGenerator(function* (apiKey, targetMonth) {
|
|
7
|
+
//Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)
|
|
8
|
+
var loadGoogleAPI = () => {
|
|
9
|
+
return new Promise((resolve, reject) => {
|
|
10
|
+
//window.gapi の存在を直接チェック
|
|
11
|
+
if (window.gapi) {
|
|
12
|
+
resolve();
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
var script = document.createElement("script");
|
|
16
|
+
script.src = "https://apis.google.com/js/api.js";
|
|
17
|
+
script.async = true;
|
|
18
|
+
script.defer = true;
|
|
19
|
+
//スクリプトがロードされたときのイベントハンドラ
|
|
20
|
+
script.onload = () => {
|
|
21
|
+
// gapiがロードされるまでチェックを繰り返す
|
|
22
|
+
var checkGapi = () => {
|
|
23
|
+
if (window.gapi) {
|
|
24
|
+
resolve();
|
|
25
|
+
} else {
|
|
26
|
+
setTimeout(checkGapi, 20); // Check again after 20ms
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
checkGapi();
|
|
30
|
+
};
|
|
31
|
+
script.onerror = () => reject(new Error("Failed to load Google API script"));
|
|
32
|
+
|
|
33
|
+
// Check if the script is already in the document
|
|
34
|
+
if (!document.querySelector('script[src="https://apis.google.com/js/api.js"]')) {
|
|
35
|
+
document.body.appendChild(script);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
//APIキーを使用してクライアントを初期化する
|
|
40
|
+
var initClient = /*#__PURE__*/function () {
|
|
41
|
+
var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator(function* () {
|
|
42
|
+
if (!window.gapi) {
|
|
43
|
+
throw new Error("Google API not loaded");
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Check if gapi.client is already available
|
|
47
|
+
if (!window.gapi.client) {
|
|
48
|
+
// If not, load the client module
|
|
49
|
+
yield new Promise(resolve => window.gapi.load("client", resolve));
|
|
50
|
+
}
|
|
51
|
+
if (window.gapi.client.calendar) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
yield window.gapi.client.init({
|
|
55
|
+
apiKey: apiKey,
|
|
56
|
+
discoveryDocs: ["https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest"]
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
return function initClient() {
|
|
60
|
+
return _ref2.apply(this, arguments);
|
|
61
|
+
};
|
|
62
|
+
}();
|
|
63
|
+
//祝日データの取得
|
|
64
|
+
var fetchHolidays = /*#__PURE__*/function () {
|
|
65
|
+
var _ref3 = _rollupPluginBabelHelpers.asyncToGenerator(function* () {
|
|
66
|
+
var periodObj = getPeriodQuery(targetMonth);
|
|
67
|
+
var response = yield window.gapi.client.calendar.events.list({
|
|
68
|
+
calendarId: CALENDAR_ID,
|
|
69
|
+
timeMin: periodObj.after,
|
|
70
|
+
timeMax: periodObj.before,
|
|
71
|
+
singleEvents: true,
|
|
72
|
+
orderBy: "startTime"
|
|
73
|
+
});
|
|
74
|
+
var events = response.result.items;
|
|
75
|
+
return events.map(event => ({
|
|
76
|
+
date: event.start.date,
|
|
77
|
+
name: event.summary
|
|
78
|
+
}));
|
|
79
|
+
});
|
|
80
|
+
return function fetchHolidays() {
|
|
81
|
+
return _ref3.apply(this, arguments);
|
|
82
|
+
};
|
|
83
|
+
}();
|
|
84
|
+
try {
|
|
85
|
+
yield loadGoogleAPI();
|
|
86
|
+
yield initClient();
|
|
87
|
+
return yield fetchHolidays();
|
|
88
|
+
} catch (error) {
|
|
89
|
+
console.error("エラーが発生しました:", error);
|
|
90
|
+
throw error;
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
return function JapaneseHolidays(_x, _x2) {
|
|
94
|
+
return _ref.apply(this, arguments);
|
|
95
|
+
};
|
|
96
|
+
}();
|
|
97
|
+
|
|
98
|
+
exports.JapaneseHolidays = JapaneseHolidays;
|
|
99
|
+
//# 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":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Masonry グリッドを初期化する共通関数
|
|
7
|
+
*
|
|
8
|
+
* @param {HTMLElement} gridEl - `.itmar-masonry-grid` のコンテナ要素
|
|
9
|
+
* @param {Array<{ url: string, alt?: string }>} images - 描画する画像リスト
|
|
10
|
+
* @param {Object} options
|
|
11
|
+
* @param {number} options.columns - カラム数
|
|
12
|
+
* @param {boolean} [options.renderItems=true]
|
|
13
|
+
* true: この関数内で gridEl をクリアして <figure><img> を追加する
|
|
14
|
+
* false: 既にある .itmar-masonry-item をそのまま使い、幅だけ更新する
|
|
15
|
+
*
|
|
16
|
+
* @returns {any|null} Masonry インスタンス(なければ null)
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
function MasonryControl(gridEl) {
|
|
20
|
+
var images = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
21
|
+
var {
|
|
22
|
+
columns = 1,
|
|
23
|
+
renderItems = true
|
|
24
|
+
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
25
|
+
if (!gridEl) return null;
|
|
26
|
+
var columnWidthPercent = 100 / (columns || 1);
|
|
27
|
+
|
|
28
|
+
// 既存インスタンスがあれば破棄(再初期化に対応)
|
|
29
|
+
if (gridEl.__masonryInstance) {
|
|
30
|
+
try {
|
|
31
|
+
gridEl.__masonryInstance.destroy();
|
|
32
|
+
} catch (e) {
|
|
33
|
+
console.warn("Failed to destroy previous Masonry instance", e);
|
|
34
|
+
}
|
|
35
|
+
gridEl.__masonryInstance = null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// ---------------------------
|
|
39
|
+
// 1) アイテムの DOM を構築 or 更新
|
|
40
|
+
// ---------------------------
|
|
41
|
+
if (renderItems) {
|
|
42
|
+
// ★ コンテナ全部は消さない。マソンリー用の要素だけを削除する
|
|
43
|
+
gridEl.querySelectorAll(".itmar-masonry-sizer, .itmar-masonry-item").forEach(node => node.remove());
|
|
44
|
+
|
|
45
|
+
// sizer 追加
|
|
46
|
+
var sizer = document.createElement("div");
|
|
47
|
+
sizer.className = "itmar-masonry-sizer";
|
|
48
|
+
sizer.style.width = "".concat(columnWidthPercent, "%");
|
|
49
|
+
gridEl.appendChild(sizer);
|
|
50
|
+
|
|
51
|
+
// 画像アイテム追加
|
|
52
|
+
images.forEach((item, index) => {
|
|
53
|
+
var fig = document.createElement("figure");
|
|
54
|
+
fig.className = "itmar-masonry-item";
|
|
55
|
+
fig.style.width = "".concat(columnWidthPercent, "%");
|
|
56
|
+
|
|
57
|
+
// クリック検知用の a タグ
|
|
58
|
+
var link = document.createElement("a");
|
|
59
|
+
link.href = "#";
|
|
60
|
+
link.className = "itmar-masonry-link";
|
|
61
|
+
link.dataset.masonryIndex = String(index);
|
|
62
|
+
//img要素
|
|
63
|
+
var img = document.createElement("img");
|
|
64
|
+
img.src = item.url;
|
|
65
|
+
img.alt = item.alt || "";
|
|
66
|
+
img.style.display = "block";
|
|
67
|
+
img.style.width = "100%";
|
|
68
|
+
img.style.height = "auto";
|
|
69
|
+
link.appendChild(img);
|
|
70
|
+
fig.appendChild(link);
|
|
71
|
+
gridEl.appendChild(fig);
|
|
72
|
+
});
|
|
73
|
+
} else {
|
|
74
|
+
// React 側(edit.js)みたいに、すでに <figure> が描画されている場合
|
|
75
|
+
// sizer がなければ作る
|
|
76
|
+
var _sizer = gridEl.querySelector(".itmar-masonry-sizer");
|
|
77
|
+
if (!_sizer) {
|
|
78
|
+
_sizer = document.createElement("div");
|
|
79
|
+
_sizer.className = "itmar-masonry-sizer";
|
|
80
|
+
gridEl.insertBefore(_sizer, gridEl.firstChild || null);
|
|
81
|
+
}
|
|
82
|
+
_sizer.style.width = "".concat(columnWidthPercent, "%");
|
|
83
|
+
|
|
84
|
+
// 既存 item の幅だけ更新
|
|
85
|
+
gridEl.querySelectorAll(".itmar-masonry-item").forEach(fig => {
|
|
86
|
+
fig.style.width = "".concat(columnWidthPercent, "%");
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// ---------------------------
|
|
91
|
+
// 2) Masonry / imagesLoaded を iframe-aware に取得
|
|
92
|
+
// ---------------------------
|
|
93
|
+
var win = null;
|
|
94
|
+
if (gridEl.ownerDocument && gridEl.ownerDocument.defaultView) {
|
|
95
|
+
// サイトエディタ・ブロックエディタの iframe 内ならこっち
|
|
96
|
+
win = gridEl.ownerDocument.defaultView;
|
|
97
|
+
} else if (typeof window !== "undefined") {
|
|
98
|
+
// フロントなら普通に window
|
|
99
|
+
win = window;
|
|
100
|
+
}
|
|
101
|
+
if (!win || !win.Masonry || !win.imagesLoaded) {
|
|
102
|
+
// ライブラリが読み込まれていない場合は、
|
|
103
|
+
// DOM だけ作って終了(レイアウトはブラウザ任せ)
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
var MasonryCtor = win.Masonry;
|
|
107
|
+
var imagesLoadedFn = win.imagesLoaded;
|
|
108
|
+
var msnry = new MasonryCtor(gridEl, {
|
|
109
|
+
itemSelector: ".itmar-masonry-item",
|
|
110
|
+
columnWidth: ".itmar-masonry-sizer",
|
|
111
|
+
percentPosition: true
|
|
112
|
+
});
|
|
113
|
+
var imgLoad = imagesLoadedFn(gridEl);
|
|
114
|
+
imgLoad.on("progress", () => {
|
|
115
|
+
msnry.layout();
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
// 後から破棄できるように要素に紐付けておく
|
|
119
|
+
gridEl.__masonryInstance = msnry;
|
|
120
|
+
return msnry;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
exports.default = MasonryControl;
|
|
124
|
+
//# 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,66 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
|
|
6
|
+
var i18n = require('@wordpress/i18n');
|
|
7
|
+
var styledComponents = require('styled-components');
|
|
8
|
+
var components = require('@wordpress/components');
|
|
9
|
+
|
|
10
|
+
var _templateObject;
|
|
11
|
+
|
|
12
|
+
// 矢印の向きに応じたスタイルを生成するヘルパー関数
|
|
13
|
+
var arrowDirectionStyles = direction => {
|
|
14
|
+
switch (direction) {
|
|
15
|
+
case "left":
|
|
16
|
+
return "transform: translate(-50%, -50%) rotate(-135deg);";
|
|
17
|
+
case "right":
|
|
18
|
+
return "transform: translate(-50%, -50%) rotate(45deg);";
|
|
19
|
+
case "upper":
|
|
20
|
+
return "transform: translate(-50%, -50%) rotate(-45deg);";
|
|
21
|
+
case "under":
|
|
22
|
+
return "transform: translate(-50%, -50%) rotate(135deg);";
|
|
23
|
+
default:
|
|
24
|
+
return "transform: translate(-50%, -50%) rotate(45deg);";
|
|
25
|
+
// default to 'down'
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// 矢印のスタイルを適用するコンポーネント
|
|
30
|
+
var Arrow = _ref => {
|
|
31
|
+
var {
|
|
32
|
+
direction = "down"
|
|
33
|
+
} = _ref;
|
|
34
|
+
return styledComponents.css(_templateObject || (_templateObject = _rollupPluginBabelHelpers.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));
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
//擬似要素の出力を選択させるインスペクターコントロール
|
|
38
|
+
var PseudoElm = _ref2 => {
|
|
39
|
+
var {
|
|
40
|
+
direction,
|
|
41
|
+
onChange: _onChange
|
|
42
|
+
} = _ref2;
|
|
43
|
+
return /*#__PURE__*/React.createElement(components.RadioControl, {
|
|
44
|
+
selected: direction,
|
|
45
|
+
options: [{
|
|
46
|
+
label: i18n.__("Upper", "itmar_block_collections"),
|
|
47
|
+
value: "upper"
|
|
48
|
+
}, {
|
|
49
|
+
label: i18n.__("Left", "itmar_block_collections"),
|
|
50
|
+
value: "left"
|
|
51
|
+
}, {
|
|
52
|
+
label: i18n.__("Right", "itmar_block_collections"),
|
|
53
|
+
value: "right"
|
|
54
|
+
}, {
|
|
55
|
+
label: i18n.__("Under", "itmar_block_collections"),
|
|
56
|
+
value: "under"
|
|
57
|
+
}],
|
|
58
|
+
onChange: changeOption => {
|
|
59
|
+
_onChange(changeOption);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
exports.Arrow = Arrow;
|
|
65
|
+
exports.default = PseudoElm;
|
|
66
|
+
//# 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,oBAAG,CAAAC,eAAA,KAAAA,eAAA,GAAAC,+CAAA,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,uBAAY,EAAA;AACXC,IAAAA,QAAQ,EAAEZ,SAAU;AACpBa,IAAAA,OAAO,EAAE,CACP;AAAEC,MAAAA,KAAK,EAAEC,OAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC;AAAEC,MAAAA,KAAK,EAAE;AAAQ,KAAC,EACjE;AAAEF,MAAAA,KAAK,EAAEC,OAAE,CAAC,MAAM,EAAE,yBAAyB,CAAC;AAAEC,MAAAA,KAAK,EAAE;AAAO,KAAC,EAC/D;AAAEF,MAAAA,KAAK,EAAEC,OAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC;AAAEC,MAAAA,KAAK,EAAE;AAAQ,KAAC,EACjE;AAAEF,MAAAA,KAAK,EAAEC,OAAE,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;;;;;"}
|