itmar-block-packages 1.10.0 → 2.0.0
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 +81 -2
- 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 +108 -113
- 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 -686
- package/webpack.config.js +0 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IconSelectControl.js","sources":["../../src/IconSelectControl.js"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\r\n\r\nimport {\r\n TextControl,\r\n PanelRow,\r\n RadioControl,\r\n ComboboxControl,\r\n __experimentalUnitControl as UnitControl,\r\n} from \"@wordpress/components\";\r\n\r\nimport { PanelColorSettings } from \"@wordpress/block-editor\";\r\n\r\nconst helpLink = createElement(\r\n \"a\",\r\n { href: \"https://fontawesome.com/search\", target: \"_blank\" },\r\n \"FontAwesome\"\r\n);\r\n\r\nconst helpTextCode = createElement(\r\n \"span\",\r\n {},\r\n helpLink,\r\n __(\r\n \"Select the icon from and enter Unicode (the upper right four digits of the selection dialog). \",\r\n \"block-collections\"\r\n )\r\n);\r\n\r\nconst helpImageURL = createElement(\r\n \"span\",\r\n {},\r\n __(\"Enter the URL for the image.\", \"block-collections\")\r\n);\r\n\r\nconst helpTextFamily = createElement(\r\n \"span\",\r\n {},\r\n __(\r\n \"Please select the first class name shown in the HTML code field of the selection dialog. \",\r\n \"block-collections\"\r\n )\r\n);\r\n\r\nconst units = [\r\n { value: \"px\", label: \"px\" },\r\n { value: \"em\", label: \"em\" },\r\n { value: \"rem\", label: \"rem\" },\r\n];\r\n\r\nconst family_option = [\r\n { value: \"Font Awesome 6 Free\", label: \"SOLID\" },\r\n { value: \"Font Awesome 6 Brands\", label: \"BRANDS\" },\r\n];\r\n\r\nexport default ({ iconStyle, setPosition, onChange }) => {\r\n const {\r\n icon_type,\r\n icon_url,\r\n icon_name,\r\n icon_pos,\r\n icon_size,\r\n icon_color,\r\n icon_space,\r\n icon_family,\r\n } = iconStyle;\r\n\r\n return (\r\n <>\r\n <label className=\"components-base-control__label\">\r\n {__(\"Icon Types\", \"block-collections\")}\r\n </label>\r\n <PanelRow className=\"itmar_position_row\">\r\n <RadioControl\r\n selected={icon_type}\r\n options={[\r\n { label: __(\"Awesome\", \"block-collections\"), value: \"awesome\" },\r\n { label: __(\"Image\", \"block-collections\"), value: \"image\" },\r\n { label: __(\"Avatar\", \"block-collections\"), value: \"avatar\" },\r\n ]}\r\n onChange={(newValue) => {\r\n const newStyle = { ...iconStyle, icon_type: newValue };\r\n onChange(newStyle);\r\n }}\r\n />\r\n </PanelRow>\r\n {icon_type === \"awesome\" && (\r\n <>\r\n <TextControl\r\n label={__(\"icon name\", \"block-collections\")}\r\n help={helpTextCode}\r\n labelPosition=\"top\"\r\n value={icon_name}\r\n isPressEnterToChange\r\n onChange={(newValue) => {\r\n const newStyle = { ...iconStyle, icon_name: newValue };\r\n onChange(newStyle);\r\n }}\r\n />\r\n\r\n <ComboboxControl\r\n label={__(\"Icon Family\", \"block-collections\")}\r\n help={helpTextFamily}\r\n options={family_option}\r\n value={icon_family ? icon_family : \"Font Awesome 6 Free\"}\r\n onChange={(newValue) => {\r\n const newStyle = { ...iconStyle, icon_family: newValue };\r\n onChange(newStyle);\r\n }}\r\n />\r\n </>\r\n )}\r\n {icon_type === \"image\" && (\r\n <TextControl\r\n label={__(\"icon url\", \"block-collections\")}\r\n help={helpImageURL}\r\n labelPosition=\"top\"\r\n value={icon_url}\r\n isPressEnterToChange\r\n onChange={(newValue) => {\r\n const newStyle = { ...iconStyle, icon_url: newValue };\r\n onChange(newStyle);\r\n }}\r\n />\r\n )}\r\n <PanelRow className=\"sizing_row\">\r\n <UnitControl\r\n dragDirection=\"e\"\r\n onChange={(newValue) => {\r\n const newStyle = { ...iconStyle, icon_size: newValue };\r\n onChange(newStyle);\r\n }}\r\n label={__(\"Size\", \"block-collections\")}\r\n value={icon_size}\r\n units={units}\r\n />\r\n {setPosition && (\r\n <UnitControl\r\n dragDirection=\"e\"\r\n onChange={(newValue) => {\r\n const newStyle = { ...iconStyle, icon_space: newValue };\r\n onChange(newStyle);\r\n }}\r\n label={__(\"spacing to end\", \"block-collections\")}\r\n value={icon_space}\r\n units={units}\r\n />\r\n )}\r\n </PanelRow>\r\n\r\n <PanelColorSettings\r\n title={__(\"Color settings\", \"itmar_location\")}\r\n initialOpen={false}\r\n colorSettings={[\r\n {\r\n value: icon_color,\r\n onChange: (newValue) => {\r\n const newStyle = { ...iconStyle, icon_color: newValue };\r\n onChange(newStyle);\r\n },\r\n label: __(\"Icon color\", \"itmar_location\"),\r\n },\r\n ]}\r\n />\r\n {setPosition && (\r\n <>\r\n <label className=\"components-base-control__label\">\r\n {__(\"Arrangement\", \"block-collections\")}\r\n </label>\r\n <PanelRow className=\"itmar_position_row\">\r\n <RadioControl\r\n selected={icon_pos}\r\n options={[\r\n { label: __(\"left\", \"block-collections\"), value: \"left\" },\r\n { label: __(\"right\", \"block-collections\"), value: \"right\" },\r\n ]}\r\n onChange={(newValue) => {\r\n const newStyle = { ...iconStyle, icon_pos: newValue };\r\n onChange(newStyle);\r\n }}\r\n />\r\n </PanelRow>\r\n </>\r\n )}\r\n </>\r\n );\r\n};\r\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) => {\r\n //Google API Client Libraryをプロジェクトに追加する(非同期で読み込み)\r\n const loadGoogleAPI = () => {\r\n return new Promise((resolve, reject) => {\r\n //window.gapi の存在を直接チェック\r\n if (window.gapi) {\r\n resolve();\r\n return;\r\n }\r\n\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://apis.google.com/js/api.js\";\r\n script.async = true;\r\n script.defer = true;\r\n //スクリプトがロードされたときのイベントハンドラ\r\n script.onload = () => {\r\n // gapiがロードされるまでチェックを繰り返す\r\n const checkGapi = () => {\r\n if (window.gapi) {\r\n resolve();\r\n } else {\r\n setTimeout(checkGapi, 20); // Check again after 20ms\r\n }\r\n };\r\n checkGapi();\r\n };\r\n\r\n script.onerror = () =>\r\n reject(new Error(\"Failed to load Google API script\"));\r\n\r\n // Check if the script is already in the document\r\n if (\r\n !document.querySelector(\r\n 'script[src=\"https://apis.google.com/js/api.js\"]',\r\n )\r\n ) {\r\n document.body.appendChild(script);\r\n }\r\n });\r\n };\r\n //APIキーを使用してクライアントを初期化する\r\n const initClient = async () => {\r\n if (!window.gapi) {\r\n throw new Error(\"Google API not loaded\");\r\n }\r\n\r\n // Check if gapi.client is already available\r\n if (!window.gapi.client) {\r\n // If not, load the client module\r\n await new Promise((resolve) => window.gapi.load(\"client\", resolve));\r\n }\r\n\r\n if (window.gapi.client.calendar) {\r\n return;\r\n }\r\n await window.gapi.client.init({\r\n apiKey: apiKey,\r\n discoveryDocs: [\r\n \"https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest\",\r\n ],\r\n });\r\n };\r\n //祝日データの取得\r\n const fetchHolidays = async () => {\r\n const periodObj = getPeriodQuery(targetMonth);\r\n\r\n const response = await window.gapi.client.calendar.events.list({\r\n calendarId: CALENDAR_ID,\r\n timeMin: periodObj.after,\r\n timeMax: periodObj.before,\r\n singleEvents: true,\r\n orderBy: \"startTime\",\r\n });\r\n\r\n const events = response.result.items;\r\n return events.map((event) => ({\r\n date: event.start.date,\r\n name: event.summary,\r\n }));\r\n };\r\n\r\n try {\r\n await loadGoogleAPI();\r\n await initClient();\r\n return await fetchHolidays();\r\n } catch (error) {\r\n console.error(\"エラーが発生しました:\", error);\r\n throw error;\r\n }\r\n};\r\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":["/**\r\n * Masonry グリッドを初期化する共通関数\r\n *\r\n * @param {HTMLElement} gridEl - `.itmar-masonry-grid` のコンテナ要素\r\n * @param {Array<{ url: string, alt?: string }>} images - 描画する画像リスト\r\n * @param {Object} options\r\n * @param {number} options.columns - カラム数\r\n * @param {boolean} [options.renderItems=true]\r\n * true: この関数内で gridEl をクリアして <figure><img> を追加する\r\n * false: 既にある .itmar-masonry-item をそのまま使い、幅だけ更新する\r\n *\r\n * @returns {any|null} Masonry インスタンス(なければ null)\r\n */\r\n\r\nexport default function MasonryControl(\r\n gridEl,\r\n images = [],\r\n { columns = 1, renderItems = true } = {}\r\n) {\r\n if (!gridEl) return null;\r\n const columnWidthPercent = 100 / (columns || 1);\r\n\r\n // 既存インスタンスがあれば破棄(再初期化に対応)\r\n if (gridEl.__masonryInstance) {\r\n try {\r\n gridEl.__masonryInstance.destroy();\r\n } catch (e) {\r\n console.warn(\"Failed to destroy previous Masonry instance\", e);\r\n }\r\n gridEl.__masonryInstance = null;\r\n }\r\n\r\n // ---------------------------\r\n // 1) アイテムの DOM を構築 or 更新\r\n // ---------------------------\r\n if (renderItems) {\r\n // ★ コンテナ全部は消さない。マソンリー用の要素だけを削除する\r\n gridEl\r\n .querySelectorAll(\".itmar-masonry-sizer, .itmar-masonry-item\")\r\n .forEach((node) => node.remove());\r\n\r\n // sizer 追加\r\n const sizer = document.createElement(\"div\");\r\n sizer.className = \"itmar-masonry-sizer\";\r\n sizer.style.width = `${columnWidthPercent}%`;\r\n gridEl.appendChild(sizer);\r\n\r\n // 画像アイテム追加\r\n images.forEach((item, index) => {\r\n const fig = document.createElement(\"figure\");\r\n fig.className = \"itmar-masonry-item\";\r\n fig.style.width = `${columnWidthPercent}%`;\r\n\r\n // クリック検知用の a タグ\r\n const link = document.createElement(\"a\");\r\n link.href = \"#\";\r\n link.className = \"itmar-masonry-link\";\r\n link.dataset.masonryIndex = String(index);\r\n //img要素\r\n const img = document.createElement(\"img\");\r\n img.src = item.url;\r\n img.alt = item.alt || \"\";\r\n img.style.display = \"block\";\r\n img.style.width = \"100%\";\r\n img.style.height = \"auto\";\r\n\r\n link.appendChild(img);\r\n fig.appendChild(link);\r\n gridEl.appendChild(fig);\r\n });\r\n } else {\r\n // React 側(edit.js)みたいに、すでに <figure> が描画されている場合\r\n // sizer がなければ作る\r\n let sizer = gridEl.querySelector(\".itmar-masonry-sizer\");\r\n if (!sizer) {\r\n sizer = document.createElement(\"div\");\r\n sizer.className = \"itmar-masonry-sizer\";\r\n gridEl.insertBefore(sizer, gridEl.firstChild || null);\r\n }\r\n sizer.style.width = `${columnWidthPercent}%`;\r\n\r\n // 既存 item の幅だけ更新\r\n gridEl.querySelectorAll(\".itmar-masonry-item\").forEach((fig) => {\r\n fig.style.width = `${columnWidthPercent}%`;\r\n });\r\n }\r\n\r\n // ---------------------------\r\n // 2) Masonry / imagesLoaded を iframe-aware に取得\r\n // ---------------------------\r\n let win = null;\r\n\r\n if (gridEl.ownerDocument && gridEl.ownerDocument.defaultView) {\r\n // サイトエディタ・ブロックエディタの iframe 内ならこっち\r\n win = gridEl.ownerDocument.defaultView;\r\n } else if (typeof window !== \"undefined\") {\r\n // フロントなら普通に window\r\n win = window;\r\n }\r\n\r\n if (!win || !win.Masonry || !win.imagesLoaded) {\r\n // ライブラリが読み込まれていない場合は、\r\n // DOM だけ作って終了(レイアウトはブラウザ任せ)\r\n return null;\r\n }\r\n\r\n const MasonryCtor = win.Masonry;\r\n const imagesLoadedFn = win.imagesLoaded;\r\n\r\n const msnry = new MasonryCtor(gridEl, {\r\n itemSelector: \".itmar-masonry-item\",\r\n columnWidth: \".itmar-masonry-sizer\",\r\n percentPosition: true,\r\n });\r\n\r\n const imgLoad = imagesLoadedFn(gridEl);\r\n imgLoad.on(\"progress\", () => {\r\n msnry.layout();\r\n });\r\n\r\n // 後から破棄できるように要素に紐付けておく\r\n gridEl.__masonryInstance = msnry;\r\n\r\n return msnry;\r\n}\r\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\";\r\nimport { css } from \"styled-components\";\r\nimport { RadioControl } from \"@wordpress/components\";\r\n\r\n// 矢印の向きに応じたスタイルを生成するヘルパー関数\r\nconst arrowDirectionStyles = (direction) => {\r\n switch (direction) {\r\n case \"left\":\r\n return \"transform: translate(-50%, -50%) rotate(-135deg);\";\r\n case \"right\":\r\n return \"transform: translate(-50%, -50%) rotate(45deg);\";\r\n case \"upper\":\r\n return \"transform: translate(-50%, -50%) rotate(-45deg);\";\r\n case \"under\":\r\n return \"transform: translate(-50%, -50%) rotate(135deg);\";\r\n default:\r\n return \"transform: translate(-50%, -50%) rotate(45deg);\"; // default to 'down'\r\n }\r\n};\r\n\r\n// 矢印のスタイルを適用するコンポーネント\r\nexport const Arrow = ({ direction = \"down\" }) => css`\r\n &::after {\r\n content: \"\";\r\n position: absolute;\r\n display: block;\r\n width: 15%;\r\n height: 15%;\r\n border-top: 3px solid var(--wp--preset--color--accent-2);\r\n border-right: 3px solid var(--wp--preset--color--accent-2);\r\n top: 50%;\r\n left: 50%;\r\n ${arrowDirectionStyles(direction)}\r\n }\r\n`;\r\n\r\n//擬似要素の出力を選択させるインスペクターコントロール\r\nconst PseudoElm = ({ direction, onChange }) => {\r\n return (\r\n <RadioControl\r\n selected={direction}\r\n options={[\r\n { label: __(\"Upper\", \"itmar_block_collections\"), value: \"upper\" },\r\n { label: __(\"Left\", \"itmar_block_collections\"), value: \"left\" },\r\n { label: __(\"Right\", \"itmar_block_collections\"), value: \"right\" },\r\n { label: __(\"Under\", \"itmar_block_collections\"), value: \"under\" },\r\n ]}\r\n onChange={(changeOption) => {\r\n onChange(changeOption);\r\n }}\r\n />\r\n );\r\n};\r\nexport default PseudoElm;\r\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;;;;;"}
|