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":"hslToRgb.js","sources":["../../src/hslToRgb.js"],"sourcesContent":["const createRGB = (inputStr) => {\n\t//16進数変換の関数\n\tfunction componentToHex(c) {\n\t\tconst hex = parseInt(c, 10).toString(16);\n\t\treturn hex.length === 1 ? \"0\" + hex : hex;\n\t}\n\n\tlet resultStr;\n\tlet rgb = [];\n\n\t// #000000 形式の場合\n\tif (/^#[0-9a-fA-F]{6}$/.test(inputStr)) {\n\t\trgb = [\n\t\t\tinputStr.slice(1, 3),\n\t\t\tinputStr.slice(3, 5),\n\t\t\tinputStr.slice(5, 7)\n\t\t];\n\t}\n\t// rgb(0,0,0) 形式の場合\n\telse if ((resultStr = inputStr.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/))) {\n\t\trgb = [\n\t\t\tcomponentToHex(resultStr[1]),\n\t\t\tcomponentToHex(resultStr[2]),\n\t\t\tcomponentToHex(resultStr[3])\n\t\t];\n\t} else {\n\t\t// サポートされていない形式の場合はデフォルトの値を設定する\n\t\trgb = [\"ff\", \"ff\", \"ff\"];\n\t}\n\treturn rgb;\n}\n\nexport function hslToRgb16(hue, saturation, lightness) {\n\tvar result = false;\n\n\tif (((hue || hue === 0) && hue <= 360) && ((saturation || saturation === 0) && saturation <= 100) && ((lightness || lightness === 0) && lightness <= 100)) {\n\t\tvar red = 0,\n\t\t\tgreen = 0,\n\t\t\tblue = 0,\n\t\t\tq = 0,\n\t\t\tp = 0,\n\t\t\thueToRgb;\n\n\t\thue = Number(hue) / 360;\n\t\tsaturation = Number(saturation) / 100;\n\t\tlightness = Number(lightness) / 100;\n\n\t\tif (saturation === 0) {\n\t\t\tred = lightness;\n\t\t\tgreen = lightness;\n\t\t\tblue = lightness;\n\t\t} else {\n\t\t\thueToRgb = function (p, q, t) {\n\t\t\t\tif (t < 0) t += 1;\n\t\t\t\tif (t > 1) t -= 1;\n\n\t\t\t\tif (t < 1 / 6) {\n\t\t\t\t\tp += (q - p) * 6 * t;\n\t\t\t\t} else if (t < 1 / 2) {\n\t\t\t\t\tp = q;\n\t\t\t\t} else if (t < 2 / 3) {\n\t\t\t\t\tp += (q - p) * (2 / 3 - t) * 6;\n\t\t\t\t}\n\n\t\t\t\treturn p;\n\t\t\t};\n\n\t\t\tif (lightness < 0.5) {\n\t\t\t\tq = lightness * (1 + saturation);\n\t\t\t} else {\n\t\t\t\tq = lightness + saturation - lightness * saturation;\n\t\t\t}\n\t\t\tp = 2 * lightness - q;\n\n\t\t\tred = hueToRgb(p, q, hue + 1 / 3);\n\t\t\tgreen = hueToRgb(p, q, hue);\n\t\t\tblue = hueToRgb(p, q, hue - 1 / 3);\n\t\t}\n\n\t\tresult = `#${Math.round(red * 255).toString(16).padStart(2, '0')}${Math.round(green * 255).toString(16).padStart(2, '0')}${Math.round(blue * 255).toString(16).padStart(2, '0')}`;\n\n\t}\n\n\treturn result;\n};\n\nexport function rgb16ToHsl(strRgb16) {\n\tlet rgb = createRGB(strRgb16);\n\tlet red = rgb[0];\n\tlet green = rgb[1];\n\tlet blue = rgb[2];\n\tlet result = false;\n\n\tif (((red || red === 0) && String(red).match(/^[0-9a-f]{2}$/i)) && ((green || green === 0) && String(green).match(/^[0-9a-f]{2}$/i)) && ((blue || blue === 0) && String(blue).match(/^[0-9a-f]{2}$/i))) {\n\t\tlet hue = 0,\n\t\t\tsaturation = 0,\n\t\t\tlightness = 0,\n\t\t\tmax = 0,\n\t\t\tmin = 0,\n\t\t\tdiff = 0;\n\n\t\tred = parseInt(red, 16) / 255;\n\t\tgreen = parseInt(green, 16) / 255;\n\t\tblue = parseInt(blue, 16) / 255;\n\t\tmax = Math.max(red, green, blue);\n\t\tmin = Math.min(red, green, blue);\n\t\tlightness = (max + min) / 2;\n\n\t\tif (max !== min) {\n\t\t\tdiff = max - min;\n\n\t\t\tif (lightness > 0.5) {\n\t\t\t\tsaturation = diff / (2 - max - min);\n\t\t\t} else {\n\t\t\t\tsaturation = diff / (max + min);\n\t\t\t}\n\n\t\t\tif (max === red) {\n\t\t\t\thue = (green - blue) / diff;\n\t\t\t} else if (max === green) {\n\t\t\t\thue = 2 + (blue - red) / diff;\n\t\t\t} else {\n\t\t\t\thue = 4 + (red - green) / diff;\n\t\t\t}\n\n\t\t\thue /= 6;\n\t\t}\n\n\t\tresult = {\n\t\t\thue: Math.round(hue * 360),\n\t\t\tsaturation: Math.round(saturation * 100),\n\t\t\tlightness: Math.round(lightness * 100)\n\t\t};\n\t}\n\n\treturn result;\n};\n\nexport function HexToRGB(strRgb16) {\n\tlet rgb = createRGB(strRgb16);\n\tlet red = rgb[0];\n\tlet green = rgb[1];\n\tlet blue = rgb[2];\n\tlet result = false;\n\n\tif (((red || red === 0) && String(red).match(/^[0-9a-f]{2}$/i)) && ((green || green === 0) && String(green).match(/^[0-9a-f]{2}$/i)) && ((blue || blue === 0) && String(blue).match(/^[0-9a-f]{2}$/i))) {\n\n\n\t\tred = parseInt(red, 16);\n\t\tgreen = parseInt(green, 16);\n\t\tblue = parseInt(blue, 16);\n\n\n\t\tresult = {\n\t\t\tred: Math.round(red),\n\t\t\tgreen: Math.round(green),\n\t\t\tblue: Math.round(blue)\n\t\t};\n\t}\n\n\treturn result;\n};"],"names":["createRGB","inputStr","componentToHex","c","hex","parseInt","toString","length","resultStr","rgb","test","slice","match","hslToRgb16","hue","saturation","lightness","result","red","green","blue","q","p","hueToRgb","Number","t","concat","Math","round","padStart","rgb16ToHsl","strRgb16","String","max","min","diff","HexToRGB"],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var customFooks = require('./customFooks.js');
|
|
4
|
+
var wordpressApi = require('./wordpressApi.js');
|
|
5
|
+
var cssPropertes = require('./cssPropertes.js');
|
|
6
|
+
var ShadowStyle = require('./ShadowStyle.js');
|
|
7
|
+
var PseudoElm = require('./PseudoElm.js');
|
|
8
|
+
var mediaUpload = require('./mediaUpload.js');
|
|
9
|
+
var DraggableBox = require('./DraggableBox.js');
|
|
10
|
+
var AnimationBlock = require('./AnimationBlock.js');
|
|
11
|
+
var BlockPlace = require('./BlockPlace.js');
|
|
12
|
+
var GridControls = require('./GridControls.js');
|
|
13
|
+
var ToggleElement = require('./ToggleElement.js');
|
|
14
|
+
var TypographyControls = require('./TypographyControls.js');
|
|
15
|
+
var IconSelectControl = require('./IconSelectControl.js');
|
|
16
|
+
var BlockEditWrapper = require('./BlockEditWrapper.js');
|
|
17
|
+
var hslToRgb = require('./hslToRgb.js');
|
|
18
|
+
var DateElm = require('./DateElm.js');
|
|
19
|
+
var JapaneseHolidays = require('./JapaneseHolidays.js');
|
|
20
|
+
var blockStore = require('./blockStore.js');
|
|
21
|
+
var validationCheck = require('./validationCheck.js');
|
|
22
|
+
var UpdateAllPostsBlockAttributes = require('./UpdateAllPostsBlockAttributes.js');
|
|
23
|
+
var ZipAddress = require('./ZipAddress.js');
|
|
24
|
+
var formatCreate = require('./formatCreate.js');
|
|
25
|
+
var shopfiApi = require('./shopfiApi.js');
|
|
26
|
+
var BrockInserter = require('./BrockInserter.js');
|
|
27
|
+
var MasonryControl = require('./MasonryControl.js');
|
|
28
|
+
var SwiperControl = require('./SwiperControl.js');
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
exports.useBlockAttributeChanges = customFooks.useBlockAttributeChanges;
|
|
33
|
+
exports.useDeepCompareEffect = customFooks.useDeepCompareEffect;
|
|
34
|
+
exports.useDuplicateBlockRemove = customFooks.useDuplicateBlockRemove;
|
|
35
|
+
exports.useElementBackgroundColor = customFooks.useElementBackgroundColor;
|
|
36
|
+
exports.useElementStyleObject = customFooks.useElementStyleObject;
|
|
37
|
+
exports.useElementWidth = customFooks.useElementWidth;
|
|
38
|
+
exports.useFontawesomeIframe = customFooks.useFontawesomeIframe;
|
|
39
|
+
exports.useIsIframeMobile = customFooks.useIsIframeMobile;
|
|
40
|
+
exports.useIsMobile = customFooks.useIsMobile;
|
|
41
|
+
exports.ArchiveSelectControl = wordpressApi.ArchiveSelectControl;
|
|
42
|
+
exports.FieldChoiceControl = wordpressApi.FieldChoiceControl;
|
|
43
|
+
exports.PageSelectControl = wordpressApi.PageSelectControl;
|
|
44
|
+
exports.PostSelectControl = wordpressApi.PostSelectControl;
|
|
45
|
+
exports.TermChoiceControl = wordpressApi.TermChoiceControl;
|
|
46
|
+
exports.fetchArchiveOptions = wordpressApi.fetchArchiveOptions;
|
|
47
|
+
exports.fetchPagesOptions = wordpressApi.fetchPagesOptions;
|
|
48
|
+
exports.restFetchData = wordpressApi.restFetchData;
|
|
49
|
+
exports.restFieldes = wordpressApi.restFieldes;
|
|
50
|
+
exports.restTaxonomies = wordpressApi.restTaxonomies;
|
|
51
|
+
exports.termToDispObj = wordpressApi.termToDispObj;
|
|
52
|
+
exports.align_prm = cssPropertes.align_prm;
|
|
53
|
+
exports.borderProperty = cssPropertes.borderProperty;
|
|
54
|
+
exports.convertToScss = cssPropertes.convertToScss;
|
|
55
|
+
exports.height_prm = cssPropertes.height_prm;
|
|
56
|
+
exports.marginProperty = cssPropertes.marginProperty;
|
|
57
|
+
exports.max_width_prm = cssPropertes.max_width_prm;
|
|
58
|
+
exports.paddingProperty = cssPropertes.paddingProperty;
|
|
59
|
+
exports.position_prm = cssPropertes.position_prm;
|
|
60
|
+
exports.radiusProperty = cssPropertes.radiusProperty;
|
|
61
|
+
exports.radius_prm = cssPropertes.radius_prm;
|
|
62
|
+
exports.space_prm = cssPropertes.space_prm;
|
|
63
|
+
exports.width_prm = cssPropertes.width_prm;
|
|
64
|
+
exports.ShadowElm = ShadowStyle.ShadowElm;
|
|
65
|
+
exports.ShadowStyle = ShadowStyle.default;
|
|
66
|
+
exports.Arrow = PseudoElm.Arrow;
|
|
67
|
+
exports.PseudoElm = PseudoElm.default;
|
|
68
|
+
exports.MultiImageSelect = mediaUpload.MultiImageSelect;
|
|
69
|
+
exports.SingleImageSelect = mediaUpload.SingleImageSelect;
|
|
70
|
+
exports.getImageAspectRatio = mediaUpload.getImageAspectRatio;
|
|
71
|
+
exports.getMediaType = mediaUpload.getMediaType;
|
|
72
|
+
exports.getVideoAspectRatio = mediaUpload.getVideoAspectRatio;
|
|
73
|
+
exports.DraggableBox = DraggableBox.default;
|
|
74
|
+
exports.useDraggingMove = DraggableBox.useDraggingMove;
|
|
75
|
+
exports.AnimationBlock = AnimationBlock.default;
|
|
76
|
+
exports.anime_comp = AnimationBlock.anime_comp;
|
|
77
|
+
exports.BlockHeight = BlockPlace.BlockHeight;
|
|
78
|
+
exports.BlockPlace = BlockPlace.default;
|
|
79
|
+
exports.BlockWidth = BlockPlace.BlockWidth;
|
|
80
|
+
exports.GridControls = GridControls.default;
|
|
81
|
+
exports.ToggleElement = ToggleElement.default;
|
|
82
|
+
exports.TypographyControls = TypographyControls.default;
|
|
83
|
+
exports.IconSelectControl = IconSelectControl.default;
|
|
84
|
+
exports.BlockEditWrapper = BlockEditWrapper.default;
|
|
85
|
+
exports.HexToRGB = hslToRgb.HexToRGB;
|
|
86
|
+
exports.hslToRgb16 = hslToRgb.hslToRgb16;
|
|
87
|
+
exports.rgb16ToHsl = hslToRgb.rgb16ToHsl;
|
|
88
|
+
exports.PeriodCtrl = DateElm.PeriodCtrl;
|
|
89
|
+
exports.generateDateArray = DateElm.generateDateArray;
|
|
90
|
+
exports.generateGridAreas = DateElm.generateGridAreas;
|
|
91
|
+
exports.generateMonthCalendar = DateElm.generateMonthCalendar;
|
|
92
|
+
exports.getMonthRangeYmd = DateElm.getMonthRangeYmd;
|
|
93
|
+
exports.getPeriodQuery = DateElm.getPeriodQuery;
|
|
94
|
+
exports.getTodayMonth = DateElm.getTodayMonth;
|
|
95
|
+
exports.getTodayYear = DateElm.getTodayYear;
|
|
96
|
+
exports.getTodayYearMonth = DateElm.getTodayYearMonth;
|
|
97
|
+
exports.normalizeDateYYYYMMDD = DateElm.normalizeDateYYYYMMDD;
|
|
98
|
+
exports.toYmdFromMonthAndDay = DateElm.toYmdFromMonthAndDay;
|
|
99
|
+
exports.JapaneseHolidays = JapaneseHolidays.JapaneseHolidays;
|
|
100
|
+
exports.createBlockTree = blockStore.createBlockTree;
|
|
101
|
+
exports.flattenBlocks = blockStore.flattenBlocks;
|
|
102
|
+
exports.serializeBlockTree = blockStore.serializeBlockTree;
|
|
103
|
+
exports.useTargetBlocks = blockStore.useTargetBlocks;
|
|
104
|
+
exports.isValidUrlWithUrlApi = validationCheck.isValidUrlWithUrlApi;
|
|
105
|
+
exports.UpdateAllPostsBlockAttributes = UpdateAllPostsBlockAttributes.default;
|
|
106
|
+
exports.fetchZipToAddress = ZipAddress.fetchZipToAddress;
|
|
107
|
+
exports.FormatSelectControl = formatCreate.FormatSelectControl;
|
|
108
|
+
exports.displayFormated = formatCreate.displayFormated;
|
|
109
|
+
exports.checkCustomerLoginState = shopfiApi.checkCustomerLoginState;
|
|
110
|
+
exports.redirectCustomerAuthorize = shopfiApi.redirectCustomerAuthorize;
|
|
111
|
+
exports.sendRegistrationRequest = shopfiApi.sendRegistrationRequest;
|
|
112
|
+
exports.useRebuildChangeField = BrockInserter.useRebuildChangeField;
|
|
113
|
+
exports.MasonryControl = MasonryControl.default;
|
|
114
|
+
exports.slideBlockSwiperInit = SwiperControl.slideBlockSwiperInit;
|
|
115
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var blockEditor = require('@wordpress/block-editor');
|
|
4
|
+
var i18n = require('@wordpress/i18n');
|
|
5
|
+
var components = require('@wordpress/components');
|
|
6
|
+
|
|
7
|
+
function SingleImageSelect(props) {
|
|
8
|
+
var {
|
|
9
|
+
attributes
|
|
10
|
+
} = props;
|
|
11
|
+
var {
|
|
12
|
+
mediaID,
|
|
13
|
+
media
|
|
14
|
+
} = attributes;
|
|
15
|
+
|
|
16
|
+
//URL の配列から画像を生成
|
|
17
|
+
var getImage = image => {
|
|
18
|
+
//メディアオブジェクトの配列をループ処理
|
|
19
|
+
return /*#__PURE__*/React.createElement("figure", null, /*#__PURE__*/React.createElement("img", {
|
|
20
|
+
src: image.url,
|
|
21
|
+
className: "image",
|
|
22
|
+
alt: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u753B\u50CF"
|
|
23
|
+
}));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
//メディアライブラリを開くボタンをレンダリングする関数
|
|
27
|
+
var getImageButton = open => {
|
|
28
|
+
if (media) {
|
|
29
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
30
|
+
onClick: open,
|
|
31
|
+
className: "block-container"
|
|
32
|
+
}, getImage(media));
|
|
33
|
+
} else {
|
|
34
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
35
|
+
className: "button-container"
|
|
36
|
+
}, /*#__PURE__*/React.createElement(components.Button, {
|
|
37
|
+
onClick: open,
|
|
38
|
+
className: "button button-large"
|
|
39
|
+
}, i18n.__("Sel", "itmar_mv_blocks")));
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
return /*#__PURE__*/React.createElement(blockEditor.MediaUploadCheck, null, /*#__PURE__*/React.createElement(blockEditor.MediaUpload, {
|
|
43
|
+
onSelect: media => props.onSelectChange(media),
|
|
44
|
+
allowedTypes: ["image"],
|
|
45
|
+
value: mediaID,
|
|
46
|
+
render: _ref => {
|
|
47
|
+
var {
|
|
48
|
+
open
|
|
49
|
+
} = _ref;
|
|
50
|
+
return getImageButton(open);
|
|
51
|
+
}
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
function MultiImageSelect(props) {
|
|
55
|
+
var {
|
|
56
|
+
attributes,
|
|
57
|
+
label
|
|
58
|
+
} = props;
|
|
59
|
+
var {
|
|
60
|
+
mediaID,
|
|
61
|
+
media
|
|
62
|
+
} = attributes;
|
|
63
|
+
|
|
64
|
+
//URL の配列から画像を生成
|
|
65
|
+
var getImages = media => {
|
|
66
|
+
//メディアオブジェクトの配列をループ処理
|
|
67
|
+
var imagesArray = media.map((image, index) => {
|
|
68
|
+
return /*#__PURE__*/React.createElement("figure", {
|
|
69
|
+
key: index
|
|
70
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
71
|
+
src: image.url,
|
|
72
|
+
className: "image",
|
|
73
|
+
alt: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u753B\u50CF"
|
|
74
|
+
}), /*#__PURE__*/React.createElement("figcaption", {
|
|
75
|
+
className: "block-image-caption"
|
|
76
|
+
}, image.caption ? image.caption : ""));
|
|
77
|
+
});
|
|
78
|
+
return imagesArray;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
//メディアライブラリを開くボタンをレンダリングする関数
|
|
82
|
+
var getImageButton = open => {
|
|
83
|
+
if (media.length > 0) {
|
|
84
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
key: "media-container",
|
|
86
|
+
onClick: open,
|
|
87
|
+
className: "block-container"
|
|
88
|
+
}, getImages(media));
|
|
89
|
+
} else {
|
|
90
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
91
|
+
key: "media-container",
|
|
92
|
+
className: "button-container"
|
|
93
|
+
}, /*#__PURE__*/React.createElement(components.Button, {
|
|
94
|
+
onClick: open,
|
|
95
|
+
className: "button button-large"
|
|
96
|
+
}, i18n.__("Image Upload", "slide-blocks")));
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
return /*#__PURE__*/React.createElement(components.PanelBody, {
|
|
100
|
+
title: label,
|
|
101
|
+
initialOpen: true,
|
|
102
|
+
className: "itmar_image_display"
|
|
103
|
+
}, /*#__PURE__*/React.createElement(blockEditor.MediaUploadCheck, null, /*#__PURE__*/React.createElement(blockEditor.MediaUpload, {
|
|
104
|
+
multiple: true,
|
|
105
|
+
gallery: true //追加
|
|
106
|
+
,
|
|
107
|
+
onSelect: media => props.onSelectChange(media),
|
|
108
|
+
allowedTypes: ["image"],
|
|
109
|
+
value: mediaID,
|
|
110
|
+
render: _ref2 => {
|
|
111
|
+
var {
|
|
112
|
+
open
|
|
113
|
+
} = _ref2;
|
|
114
|
+
return getImageButton(open);
|
|
115
|
+
}
|
|
116
|
+
})), media.length != 0 &&
|
|
117
|
+
/*#__PURE__*/
|
|
118
|
+
//メディアオブジェクト(配列の長さ)で判定
|
|
119
|
+
React.createElement(blockEditor.MediaUploadCheck, null, /*#__PURE__*/React.createElement(components.Button, {
|
|
120
|
+
onClick: () => props.onAllDelete(),
|
|
121
|
+
variant: "secondary",
|
|
122
|
+
isDestructive: true,
|
|
123
|
+
className: "removeImage"
|
|
124
|
+
}, i18n.__("Delete All", "slide-blocks"))));
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
//静止画か動画かを判定する関数
|
|
128
|
+
function getMediaType(url) {
|
|
129
|
+
var imageExtensions = [".jpg", ".jpeg", ".png", ".gif", ".webp", ".bmp", ".svg"];
|
|
130
|
+
var videoExtensions = [".mp4", ".webm", ".ogg", ".mov", ".m4v"];
|
|
131
|
+
|
|
132
|
+
// クエリストリング(?以降)を除去
|
|
133
|
+
var cleanUrl = url.split("?")[0].toLowerCase();
|
|
134
|
+
var isImage = imageExtensions.some(ext => cleanUrl.endsWith(ext));
|
|
135
|
+
var isVideo = videoExtensions.some(ext => cleanUrl.endsWith(ext));
|
|
136
|
+
if (isImage) {
|
|
137
|
+
return "image";
|
|
138
|
+
} else if (isVideo) {
|
|
139
|
+
return "video";
|
|
140
|
+
} else {
|
|
141
|
+
// 拡張子で判別できない → HEADリクエストでContent-Type判定 or fallback
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//静止画のアスペクト比を返す関数
|
|
146
|
+
function getImageAspectRatio(url) {
|
|
147
|
+
return new Promise((resolve, reject) => {
|
|
148
|
+
var img = new Image();
|
|
149
|
+
img.onload = function () {
|
|
150
|
+
var aspectRatio = img.naturalWidth / img.naturalHeight;
|
|
151
|
+
resolve(aspectRatio);
|
|
152
|
+
};
|
|
153
|
+
img.onerror = function () {
|
|
154
|
+
reject(new Error("画像の読み込みに失敗しました: " + url));
|
|
155
|
+
};
|
|
156
|
+
img.src = url;
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
//動画のアスペクト比を返す関数
|
|
160
|
+
function getVideoAspectRatio(url) {
|
|
161
|
+
return new Promise((resolve, reject) => {
|
|
162
|
+
var video = document.createElement("video");
|
|
163
|
+
video.preload = "metadata";
|
|
164
|
+
video.src = url;
|
|
165
|
+
video.muted = true; // 一部のブラウザで安全に動作させるため
|
|
166
|
+
video.playsInline = true;
|
|
167
|
+
video.onloadedmetadata = function () {
|
|
168
|
+
var aspectRatio = video.videoWidth / video.videoHeight;
|
|
169
|
+
resolve(aspectRatio);
|
|
170
|
+
};
|
|
171
|
+
video.onerror = function () {
|
|
172
|
+
reject(new Error("動画の読み込みに失敗しました: " + url));
|
|
173
|
+
};
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
exports.MultiImageSelect = MultiImageSelect;
|
|
178
|
+
exports.SingleImageSelect = SingleImageSelect;
|
|
179
|
+
exports.getImageAspectRatio = getImageAspectRatio;
|
|
180
|
+
exports.getMediaType = getMediaType;
|
|
181
|
+
exports.getVideoAspectRatio = getVideoAspectRatio;
|
|
182
|
+
//# sourceMappingURL=mediaUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mediaUpload.js","sources":["../../src/mediaUpload.js"],"sourcesContent":["import { MediaUpload, MediaUploadCheck } from \"@wordpress/block-editor\";\nimport { __ } from \"@wordpress/i18n\";\nimport { Button, PanelBody } from \"@wordpress/components\";\n\nexport function SingleImageSelect(props) {\n const { attributes } = props;\n const { mediaID, media } = attributes;\n\n //URL の配列から画像を生成\n const getImage = (image) => {\n //メディアオブジェクトの配列をループ処理\n return (\n <figure>\n <img src={image.url} className=\"image\" alt=\"アップロード画像\" />\n </figure>\n );\n };\n\n //メディアライブラリを開くボタンをレンダリングする関数\n const getImageButton = (open) => {\n if (media) {\n return (\n <div onClick={open} className=\"block-container\">\n {getImage(media)}\n </div>\n );\n } else {\n return (\n <div className=\"button-container\">\n <Button onClick={open} className=\"button button-large\">\n {__(\"Sel\", \"itmar_mv_blocks\")}\n </Button>\n </div>\n );\n }\n };\n\n return (\n <MediaUploadCheck>\n <MediaUpload\n onSelect={(media) => props.onSelectChange(media)}\n allowedTypes={[\"image\"]}\n value={mediaID}\n render={({ open }) => getImageButton(open)}\n />\n </MediaUploadCheck>\n );\n}\n\nexport function MultiImageSelect(props) {\n const { attributes, label } = props;\n const { mediaID, media } = attributes;\n\n //URL の配列から画像を生成\n const getImages = (media) => {\n //メディアオブジェクトの配列をループ処理\n let imagesArray = media.map((image, index) => {\n return (\n <figure key={index}>\n <img src={image.url} className=\"image\" alt=\"アップロード画像\" />\n <figcaption className=\"block-image-caption\">\n {image.caption ? image.caption : \"\"}\n </figcaption>\n </figure>\n );\n });\n return imagesArray;\n };\n\n //メディアライブラリを開くボタンをレンダリングする関数\n const getImageButton = (open) => {\n if (media.length > 0) {\n return (\n <div key=\"media-container\" onClick={open} className=\"block-container\">\n {getImages(media)}\n </div>\n );\n } else {\n return (\n <div key=\"media-container\" className=\"button-container\">\n <Button onClick={open} className=\"button button-large\">\n {__(\"Image Upload\", \"slide-blocks\")}\n </Button>\n </div>\n );\n }\n };\n\n return (\n <PanelBody title={label} initialOpen={true} className=\"itmar_image_display\">\n <MediaUploadCheck>\n <MediaUpload\n multiple={true}\n gallery={true} //追加\n onSelect={(media) => props.onSelectChange(media)}\n allowedTypes={[\"image\"]}\n value={mediaID}\n render={({ open }) => getImageButton(open)}\n />\n </MediaUploadCheck>\n {media.length != 0 && ( //メディアオブジェクト(配列の長さ)で判定\n <MediaUploadCheck>\n <Button\n onClick={() => props.onAllDelete()}\n variant=\"secondary\"\n isDestructive\n className=\"removeImage\"\n >\n {__(\"Delete All\", \"slide-blocks\")}\n </Button>\n </MediaUploadCheck>\n )}\n </PanelBody>\n );\n}\n\n//静止画か動画かを判定する関数\nexport function getMediaType(url) {\n const imageExtensions = [\n \".jpg\",\n \".jpeg\",\n \".png\",\n \".gif\",\n \".webp\",\n \".bmp\",\n \".svg\",\n ];\n const videoExtensions = [\".mp4\", \".webm\", \".ogg\", \".mov\", \".m4v\"];\n\n // クエリストリング(?以降)を除去\n const cleanUrl = url.split(\"?\")[0].toLowerCase();\n\n const isImage = imageExtensions.some((ext) => cleanUrl.endsWith(ext));\n const isVideo = videoExtensions.some((ext) => cleanUrl.endsWith(ext));\n\n if (isImage) {\n return \"image\";\n } else if (isVideo) {\n return \"video\";\n } else {\n // 拡張子で判別できない → HEADリクエストでContent-Type判定 or fallback\n return undefined;\n }\n}\n//静止画のアスペクト比を返す関数\nexport function getImageAspectRatio(url) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = function () {\n const aspectRatio = img.naturalWidth / img.naturalHeight;\n resolve(aspectRatio);\n };\n img.onerror = function () {\n reject(new Error(\"画像の読み込みに失敗しました: \" + url));\n };\n img.src = url;\n });\n}\n//動画のアスペクト比を返す関数\nexport function getVideoAspectRatio(url) {\n return new Promise((resolve, reject) => {\n const video = document.createElement(\"video\");\n\n video.preload = \"metadata\";\n video.src = url;\n video.muted = true; // 一部のブラウザで安全に動作させるため\n video.playsInline = true;\n\n video.onloadedmetadata = function () {\n const aspectRatio = video.videoWidth / video.videoHeight;\n resolve(aspectRatio);\n };\n\n video.onerror = function () {\n reject(new Error(\"動画の読み込みに失敗しました: \" + url));\n };\n });\n}\n"],"names":["SingleImageSelect","props","attributes","mediaID","media","getImage","image","React","createElement","src","url","className","alt","getImageButton","open","onClick","Button","__","MediaUploadCheck","MediaUpload","onSelect","onSelectChange","allowedTypes","value","render","_ref","MultiImageSelect","label","getImages","imagesArray","map","index","key","caption","length","PanelBody","title","initialOpen","multiple","gallery","_ref2","onAllDelete","variant","isDestructive","getMediaType","imageExtensions","videoExtensions","cleanUrl","split","toLowerCase","isImage","some","ext","endsWith","isVideo","undefined","getImageAspectRatio","Promise","resolve","reject","img","Image","onload","aspectRatio","naturalWidth","naturalHeight","onerror","Error","getVideoAspectRatio","video","document","preload","muted","playsInline","onloadedmetadata","videoWidth","videoHeight"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var crypto = require('crypto');
|
|
4
|
+
var index = require('./url-alphabet/index.js');
|
|
5
|
+
|
|
6
|
+
const POOL_SIZE_MULTIPLIER = 128;
|
|
7
|
+
let pool, poolOffset;
|
|
8
|
+
let fillPool = bytes => {
|
|
9
|
+
if (!pool || pool.length < bytes) {
|
|
10
|
+
pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER);
|
|
11
|
+
crypto.randomFillSync(pool);
|
|
12
|
+
poolOffset = 0;
|
|
13
|
+
} else if (poolOffset + bytes > pool.length) {
|
|
14
|
+
crypto.randomFillSync(pool);
|
|
15
|
+
poolOffset = 0;
|
|
16
|
+
}
|
|
17
|
+
poolOffset += bytes;
|
|
18
|
+
};
|
|
19
|
+
let nanoid = (size = 21) => {
|
|
20
|
+
fillPool((size |= 0));
|
|
21
|
+
let id = '';
|
|
22
|
+
for (let i = poolOffset - size; i < poolOffset; i++) {
|
|
23
|
+
id += index.urlAlphabet[pool[i] & 63];
|
|
24
|
+
}
|
|
25
|
+
return id
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
exports.urlAlphabet = index.urlAlphabet;
|
|
29
|
+
exports.nanoid = nanoid;
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../node_modules/nanoid/index.js"],"sourcesContent":["import crypto from 'crypto'\nimport { urlAlphabet } from './url-alphabet/index.js'\nconst POOL_SIZE_MULTIPLIER = 128\nlet pool, poolOffset\nlet fillPool = bytes => {\n if (!pool || pool.length < bytes) {\n pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER)\n crypto.randomFillSync(pool)\n poolOffset = 0\n } else if (poolOffset + bytes > pool.length) {\n crypto.randomFillSync(pool)\n poolOffset = 0\n }\n poolOffset += bytes\n}\nlet random = bytes => {\n fillPool((bytes |= 0))\n return pool.subarray(poolOffset - bytes, poolOffset)\n}\nlet customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << (31 - Math.clz32((alphabet.length - 1) | 1))) - 1\n let step = Math.ceil((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let i = step\n while (i--) {\n id += alphabet[bytes[i] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nlet customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size, random)\nlet nanoid = (size = 21) => {\n fillPool((size |= 0))\n let id = ''\n for (let i = poolOffset - size; i < poolOffset; i++) {\n id += urlAlphabet[pool[i] & 63]\n }\n return id\n}\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n"],"names":["urlAlphabet"],"mappings":";;;;;AAEA,MAAM,oBAAoB,GAAG;AAC7B,IAAI,IAAI,EAAE;AACV,IAAI,QAAQ,GAAG,KAAK,IAAI;AACxB,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;AACpC,IAAI,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,oBAAoB;AAC1D,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI;AAC9B,IAAI,UAAU,GAAG;AACjB,EAAE,CAAC,MAAM,IAAI,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;AAC/C,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI;AAC9B,IAAI,UAAU,GAAG;AACjB,EAAE;AACF,EAAE,UAAU,IAAI;AAChB;AAsBG,IAAC,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,KAAK;AAC5B,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC;AACrB,EAAE,IAAI,EAAE,GAAG;AACX,EAAE,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;AACvD,IAAI,EAAE,IAAIA,iBAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;AAClC,EAAE;AACF,EAAE,OAAO;AACT;;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/nanoid/url-alphabet/index.js"],"sourcesContent":["let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nexport { urlAlphabet }\n"],"names":[],"mappings":";;AAAG,IAAC,WAAW;AACf,EAAE;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
|
|
4
|
+
|
|
5
|
+
var _excluded = ["_wpnonce", "nonce"];
|
|
6
|
+
function generateNonce() {
|
|
7
|
+
var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 32;
|
|
8
|
+
var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
9
|
+
var nonce = "";
|
|
10
|
+
for (var i = 0; i < length; i++) {
|
|
11
|
+
nonce += characters.charAt(Math.floor(Math.random() * characters.length));
|
|
12
|
+
}
|
|
13
|
+
return nonce;
|
|
14
|
+
}
|
|
15
|
+
function generateCodeVerifier() {
|
|
16
|
+
var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 128;
|
|
17
|
+
var charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";
|
|
18
|
+
var result = "";
|
|
19
|
+
for (var i = 0; i < length; i++) {
|
|
20
|
+
result += charset.charAt(Math.floor(Math.random() * charset.length));
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
function generateCodeChallenge(_x) {
|
|
25
|
+
return _generateCodeChallenge.apply(this, arguments);
|
|
26
|
+
} // ✅ Shopifyへの認証リダイレクト
|
|
27
|
+
function _generateCodeChallenge() {
|
|
28
|
+
_generateCodeChallenge = _rollupPluginBabelHelpers.asyncToGenerator(function* (codeVerifier) {
|
|
29
|
+
var encoder = new TextEncoder();
|
|
30
|
+
var data = encoder.encode(codeVerifier);
|
|
31
|
+
var digest = yield crypto.subtle.digest("SHA-256", data);
|
|
32
|
+
return btoa(String.fromCharCode(...new Uint8Array(digest))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
33
|
+
});
|
|
34
|
+
return _generateCodeChallenge.apply(this, arguments);
|
|
35
|
+
}
|
|
36
|
+
function redirectCustomerAuthorize(_x2, _x3, _x4, _x5, _x6) {
|
|
37
|
+
return _redirectCustomerAuthorize.apply(this, arguments);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// ✅ トークンがあれば検証(Storefront API 経由で customer を取得)
|
|
41
|
+
function _redirectCustomerAuthorize() {
|
|
42
|
+
_redirectCustomerAuthorize = _rollupPluginBabelHelpers.asyncToGenerator(function* (shopId, clientId, userMail, callbackUri, redirectUri) {
|
|
43
|
+
//呼び出し元の戻り先
|
|
44
|
+
var statePayload = {
|
|
45
|
+
ts: Date.now(),
|
|
46
|
+
random: Math.random().toString(36).substring(2),
|
|
47
|
+
return_url: redirectUri
|
|
48
|
+
};
|
|
49
|
+
//stateで渡しておく
|
|
50
|
+
var state = btoa(JSON.stringify(statePayload));
|
|
51
|
+
var nonce = generateNonce();
|
|
52
|
+
var codeVerifier = generateCodeVerifier();
|
|
53
|
+
var codeChallenge = yield generateCodeChallenge(codeVerifier);
|
|
54
|
+
localStorage.setItem("shopify_code_verifier", codeVerifier);
|
|
55
|
+
localStorage.setItem("shopify_state", state);
|
|
56
|
+
localStorage.setItem("shopify_nonce", nonce);
|
|
57
|
+
localStorage.setItem("shopify_client_id", clientId);
|
|
58
|
+
localStorage.setItem("shopify_user_mail", userMail);
|
|
59
|
+
localStorage.setItem("shopify_shop_id", shopId);
|
|
60
|
+
localStorage.setItem("shopify_redirect_uri", callbackUri); //ログアウトの処理で使用する
|
|
61
|
+
|
|
62
|
+
var url = new URL("https://shopify.com/authentication/".concat(shopId, "/oauth/authorize"));
|
|
63
|
+
url.searchParams.append("scope", "openid email customer-account-api:full");
|
|
64
|
+
url.searchParams.append("client_id", clientId);
|
|
65
|
+
url.searchParams.append("response_type", "code");
|
|
66
|
+
url.searchParams.append("redirect_uri", callbackUri);
|
|
67
|
+
url.searchParams.append("state", state);
|
|
68
|
+
url.searchParams.append("nonce", nonce);
|
|
69
|
+
url.searchParams.append("code_challenge", codeChallenge);
|
|
70
|
+
url.searchParams.append("code_challenge_method", "S256");
|
|
71
|
+
window.location.href = url.toString();
|
|
72
|
+
});
|
|
73
|
+
return _redirectCustomerAuthorize.apply(this, arguments);
|
|
74
|
+
}
|
|
75
|
+
function checkCustomerLoginState() {
|
|
76
|
+
return _checkCustomerLoginState.apply(this, arguments);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @param {string} urlOrPath - RESTは '/itmar-shopify/v1/...' でも '/wp-json/...' でもOK。admin-ajaxは '/wp-admin/admin-ajax.php'
|
|
81
|
+
* @param {object} data - 送信するデータ。nonce は data._wpnonce か data.nonce に入れておけばOK
|
|
82
|
+
* @param {'auto'|'rest'|'ajax'} mode - 既定は 'auto'
|
|
83
|
+
*/
|
|
84
|
+
function _checkCustomerLoginState() {
|
|
85
|
+
_checkCustomerLoginState = _rollupPluginBabelHelpers.asyncToGenerator(function* () {
|
|
86
|
+
var token = localStorage.getItem("shopify_customer_token");
|
|
87
|
+
if (!token) return false;
|
|
88
|
+
var checkUrl = "/wp-json/itmar-ec-relate/v1/shopify-login-check";
|
|
89
|
+
var postData = {
|
|
90
|
+
nonce: itmar_option.nonce,
|
|
91
|
+
token: JSON.stringify({
|
|
92
|
+
token
|
|
93
|
+
})
|
|
94
|
+
};
|
|
95
|
+
sendRegistrationAjax(checkUrl, postData, true).done(function (res) {
|
|
96
|
+
console.log(res);
|
|
97
|
+
}).fail(function (xhr, status, error) {
|
|
98
|
+
alert("サーバーエラー: " + error);
|
|
99
|
+
console.error(xhr.responseText);
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
return _checkCustomerLoginState.apply(this, arguments);
|
|
103
|
+
}
|
|
104
|
+
function sendRegistrationRequest(_x7) {
|
|
105
|
+
return _sendRegistrationRequest.apply(this, arguments);
|
|
106
|
+
}
|
|
107
|
+
function _sendRegistrationRequest() {
|
|
108
|
+
_sendRegistrationRequest = _rollupPluginBabelHelpers.asyncToGenerator(function* (urlOrPath) {
|
|
109
|
+
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
110
|
+
var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "auto";
|
|
111
|
+
var isRestUrlLike = u => u.startsWith("/wp-json") || !u.startsWith("/wp-admin");
|
|
112
|
+
|
|
113
|
+
// 送信先の確定(RESTのときは /wp-json 省略パスでもOKにする)
|
|
114
|
+
var isRest;
|
|
115
|
+
if (mode === "auto") {
|
|
116
|
+
isRest = isRestUrlLike(urlOrPath);
|
|
117
|
+
} else {
|
|
118
|
+
isRest = mode === "rest";
|
|
119
|
+
}
|
|
120
|
+
var url = urlOrPath;
|
|
121
|
+
if (isRest) {
|
|
122
|
+
// '/itmar-shopify/v1/...' のようなパスだけ渡されたら /wp-json を補う
|
|
123
|
+
if (!url.startsWith("/wp-json")) {
|
|
124
|
+
var root = window.wpApiSettings && window.wpApiSettings.root || "/wp-json/";
|
|
125
|
+
url = root.replace(/\/+$/, "/") + url.replace(/^\/+/, "");
|
|
126
|
+
}
|
|
127
|
+
} else {
|
|
128
|
+
// admin-ajax の既定URL
|
|
129
|
+
if (!url) url = "/wp-admin/admin-ajax.php";
|
|
130
|
+
}
|
|
131
|
+
var fetchOptions = {
|
|
132
|
+
method: "POST",
|
|
133
|
+
credentials: "same-origin",
|
|
134
|
+
// 同一オリジン Cookie
|
|
135
|
+
headers: {}
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
// ノンス抽出(_wpnonce を優先)
|
|
139
|
+
var nonce = data._wpnonce || data.nonce || window.wpApiSettings && window.wpApiSettings.nonce;
|
|
140
|
+
if (isRest) {
|
|
141
|
+
fetchOptions.headers["Content-Type"] = "application/json";
|
|
142
|
+
if (nonce) fetchOptions.headers["X-WP-Nonce"] = nonce;
|
|
143
|
+
|
|
144
|
+
// nonce系は本文から除く(任意)
|
|
145
|
+
var {
|
|
146
|
+
_wpnonce,
|
|
147
|
+
nonce: _legacyNonce
|
|
148
|
+
} = data,
|
|
149
|
+
rest = _rollupPluginBabelHelpers.objectWithoutProperties(data, _excluded);
|
|
150
|
+
fetchOptions.body = JSON.stringify(rest);
|
|
151
|
+
} else {
|
|
152
|
+
// admin-ajax は URLSearchParams で送る
|
|
153
|
+
var form = new URLSearchParams();
|
|
154
|
+
Object.entries(data).forEach(_ref => {
|
|
155
|
+
var [k, v] = _ref;
|
|
156
|
+
if (v !== undefined && v !== null) form.append(k, String(v));
|
|
157
|
+
});
|
|
158
|
+
// ノンスは _wpnonce に統一
|
|
159
|
+
if (nonce && !form.has("_wpnonce")) form.append("_wpnonce", nonce);
|
|
160
|
+
fetchOptions.body = form;
|
|
161
|
+
}
|
|
162
|
+
var res = yield fetch(url, fetchOptions);
|
|
163
|
+
|
|
164
|
+
// WP REST はメソッド不一致・ルートなし等でも JSON 返さないことがあるので分岐
|
|
165
|
+
var contentType = res.headers.get("content-type") || "";
|
|
166
|
+
var tryJson = contentType.includes("application/json");
|
|
167
|
+
if (!res.ok) {
|
|
168
|
+
var msg = "HTTP ".concat(res.status);
|
|
169
|
+
if (tryJson) {
|
|
170
|
+
try {
|
|
171
|
+
var j = yield res.json();
|
|
172
|
+
msg += j.message ? ": ".concat(j.message) : "";
|
|
173
|
+
} catch (_unused) {}
|
|
174
|
+
} else {
|
|
175
|
+
var t = yield res.text();
|
|
176
|
+
if (t) msg += ": ".concat(t.slice(0, 200));
|
|
177
|
+
}
|
|
178
|
+
throw new Error(msg);
|
|
179
|
+
}
|
|
180
|
+
return tryJson ? res.json() : res.text();
|
|
181
|
+
});
|
|
182
|
+
return _sendRegistrationRequest.apply(this, arguments);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
exports.checkCustomerLoginState = checkCustomerLoginState;
|
|
186
|
+
exports.redirectCustomerAuthorize = redirectCustomerAuthorize;
|
|
187
|
+
exports.sendRegistrationRequest = sendRegistrationRequest;
|
|
188
|
+
//# sourceMappingURL=shopfiApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shopfiApi.js","sources":["../../src/shopfiApi.js"],"sourcesContent":["function generateState() {\n const timestamp = Date.now().toString();\n const randomString = Math.random().toString(36).substring(2);\n return timestamp + randomString;\n}\n\nfunction generateNonce(length = 32) {\n const characters =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n let nonce = \"\";\n for (let i = 0; i < length; i++) {\n nonce += characters.charAt(Math.floor(Math.random() * characters.length));\n }\n return nonce;\n}\n\nfunction generateCodeVerifier(length = 128) {\n const charset =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~\";\n let result = \"\";\n for (let i = 0; i < length; i++) {\n result += charset.charAt(Math.floor(Math.random() * charset.length));\n }\n return result;\n}\n\nasync function generateCodeChallenge(codeVerifier) {\n const encoder = new TextEncoder();\n const data = encoder.encode(codeVerifier);\n const digest = await crypto.subtle.digest(\"SHA-256\", data);\n return btoa(String.fromCharCode(...new Uint8Array(digest)))\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/, \"\");\n}\n\n// ✅ Shopifyへの認証リダイレクト\nexport async function redirectCustomerAuthorize(\n shopId,\n clientId,\n userMail,\n callbackUri,\n redirectUri\n) {\n //呼び出し元の戻り先\n const statePayload = {\n ts: Date.now(),\n random: Math.random().toString(36).substring(2),\n return_url: redirectUri,\n };\n //stateで渡しておく\n const state = btoa(JSON.stringify(statePayload));\n const nonce = generateNonce();\n const codeVerifier = generateCodeVerifier();\n const codeChallenge = await generateCodeChallenge(codeVerifier);\n\n localStorage.setItem(\"shopify_code_verifier\", codeVerifier);\n localStorage.setItem(\"shopify_state\", state);\n localStorage.setItem(\"shopify_nonce\", nonce);\n localStorage.setItem(\"shopify_client_id\", clientId);\n localStorage.setItem(\"shopify_user_mail\", userMail);\n localStorage.setItem(\"shopify_shop_id\", shopId);\n localStorage.setItem(\"shopify_redirect_uri\", callbackUri); //ログアウトの処理で使用する\n\n const url = new URL(\n `https://shopify.com/authentication/${shopId}/oauth/authorize`\n );\n url.searchParams.append(\"scope\", \"openid email customer-account-api:full\");\n url.searchParams.append(\"client_id\", clientId);\n url.searchParams.append(\"response_type\", \"code\");\n url.searchParams.append(\"redirect_uri\", callbackUri);\n url.searchParams.append(\"state\", state);\n url.searchParams.append(\"nonce\", nonce);\n url.searchParams.append(\"code_challenge\", codeChallenge);\n url.searchParams.append(\"code_challenge_method\", \"S256\");\n\n window.location.href = url.toString();\n}\n\n// ✅ トークンがあれば検証(Storefront API 経由で customer を取得)\nexport async function checkCustomerLoginState() {\n const token = localStorage.getItem(\"shopify_customer_token\");\n\n if (!token) return false;\n\n const checkUrl = \"/wp-json/itmar-ec-relate/v1/shopify-login-check\";\n const postData = {\n nonce: itmar_option.nonce,\n token: JSON.stringify({ token }),\n };\n sendRegistrationAjax(checkUrl, postData, true)\n .done(function (res) {\n console.log(res);\n })\n .fail(function (xhr, status, error) {\n alert(\"サーバーエラー: \" + error);\n console.error(xhr.responseText);\n });\n}\n\n/**\n * @param {string} urlOrPath - RESTは '/itmar-shopify/v1/...' でも '/wp-json/...' でもOK。admin-ajaxは '/wp-admin/admin-ajax.php'\n * @param {object} data - 送信するデータ。nonce は data._wpnonce か data.nonce に入れておけばOK\n * @param {'auto'|'rest'|'ajax'} mode - 既定は 'auto'\n */\nexport async function sendRegistrationRequest(\n urlOrPath,\n data = {},\n mode = \"auto\"\n) {\n const isRestUrlLike = (u) =>\n u.startsWith(\"/wp-json\") || !u.startsWith(\"/wp-admin\");\n\n // 送信先の確定(RESTのときは /wp-json 省略パスでもOKにする)\n let isRest;\n if (mode === \"auto\") {\n isRest = isRestUrlLike(urlOrPath);\n } else {\n isRest = mode === \"rest\";\n }\n\n let url = urlOrPath;\n\n if (isRest) {\n // '/itmar-shopify/v1/...' のようなパスだけ渡されたら /wp-json を補う\n if (!url.startsWith(\"/wp-json\")) {\n const root =\n (window.wpApiSettings && window.wpApiSettings.root) || \"/wp-json/\";\n url = root.replace(/\\/+$/, \"/\") + url.replace(/^\\/+/, \"\");\n }\n } else {\n // admin-ajax の既定URL\n if (!url) url = \"/wp-admin/admin-ajax.php\";\n }\n\n const fetchOptions = {\n method: \"POST\",\n credentials: \"same-origin\", // 同一オリジン Cookie\n headers: {},\n };\n\n // ノンス抽出(_wpnonce を優先)\n const nonce =\n data._wpnonce ||\n data.nonce ||\n (window.wpApiSettings && window.wpApiSettings.nonce);\n\n if (isRest) {\n fetchOptions.headers[\"Content-Type\"] = \"application/json\";\n if (nonce) fetchOptions.headers[\"X-WP-Nonce\"] = nonce;\n\n // nonce系は本文から除く(任意)\n const { _wpnonce, nonce: _legacyNonce, ...rest } = data;\n fetchOptions.body = JSON.stringify(rest);\n } else {\n // admin-ajax は URLSearchParams で送る\n const form = new URLSearchParams();\n Object.entries(data).forEach(([k, v]) => {\n if (v !== undefined && v !== null) form.append(k, String(v));\n });\n // ノンスは _wpnonce に統一\n if (nonce && !form.has(\"_wpnonce\")) form.append(\"_wpnonce\", nonce);\n fetchOptions.body = form;\n }\n\n const res = await fetch(url, fetchOptions);\n\n // WP REST はメソッド不一致・ルートなし等でも JSON 返さないことがあるので分岐\n const contentType = res.headers.get(\"content-type\") || \"\";\n const tryJson = contentType.includes(\"application/json\");\n\n if (!res.ok) {\n let msg = `HTTP ${res.status}`;\n if (tryJson) {\n try {\n const j = await res.json();\n msg += j.message ? `: ${j.message}` : \"\";\n } catch {}\n } else {\n const t = await res.text();\n if (t) msg += `: ${t.slice(0, 200)}`;\n }\n throw new Error(msg);\n }\n\n return tryJson ? res.json() : res.text();\n}\n"],"names":["generateNonce","length","arguments","undefined","characters","nonce","i","charAt","Math","floor","random","generateCodeVerifier","charset","result","generateCodeChallenge","_x","_generateCodeChallenge","apply","_asyncToGenerator","codeVerifier","encoder","TextEncoder","data","encode","digest","crypto","subtle","btoa","String","fromCharCode","Uint8Array","replace","redirectCustomerAuthorize","_x2","_x3","_x4","_x5","_x6","_redirectCustomerAuthorize","shopId","clientId","userMail","callbackUri","redirectUri","statePayload","ts","Date","now","toString","substring","return_url","state","JSON","stringify","codeChallenge","localStorage","setItem","url","URL","concat","searchParams","append","window","location","href","checkCustomerLoginState","_checkCustomerLoginState","token","getItem","checkUrl","postData","itmar_option","sendRegistrationAjax","done","res","console","log","fail","xhr","status","error","alert","responseText","sendRegistrationRequest","_x7","_sendRegistrationRequest","urlOrPath","mode","isRestUrlLike","u","startsWith","isRest","root","wpApiSettings","fetchOptions","method","credentials","headers","_wpnonce","_legacyNonce","rest","_objectWithoutProperties","_excluded","body","form","URLSearchParams","Object","entries","forEach","_ref","k","v","has","fetch","contentType","get","tryJson","includes","ok","msg","j","json","message","_unused","t","text","slice","Error"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
//URLのバリデーションチェック
|
|
4
|
+
var isValidUrlWithUrlApi = string => {
|
|
5
|
+
try {
|
|
6
|
+
var cleanString = string.replace(/<[^>]+>/g, "");
|
|
7
|
+
new URL(cleanString);
|
|
8
|
+
return true;
|
|
9
|
+
} catch (err) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.isValidUrlWithUrlApi = isValidUrlWithUrlApi;
|
|
15
|
+
//# sourceMappingURL=validationCheck.js.map
|