itmar-block-packages 1.10.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/README.md +1445 -1369
  2. package/build/cjs/AnimationBlock.js +107 -0
  3. package/build/cjs/AnimationBlock.js.map +1 -0
  4. package/build/cjs/BlockEditWrapper.js +20 -0
  5. package/build/cjs/BlockEditWrapper.js.map +1 -0
  6. package/build/cjs/BlockPlace.js +509 -0
  7. package/build/cjs/BlockPlace.js.map +1 -0
  8. package/build/cjs/BrockInserter.js +204 -0
  9. package/build/cjs/BrockInserter.js.map +1 -0
  10. package/build/cjs/DateElm.js +321 -0
  11. package/build/cjs/DateElm.js.map +1 -0
  12. package/build/cjs/DraggableBox.js +143 -0
  13. package/build/cjs/DraggableBox.js.map +1 -0
  14. package/build/cjs/GridControls.js +421 -0
  15. package/build/cjs/GridControls.js.map +1 -0
  16. package/build/cjs/IconSelectControl.js +167 -0
  17. package/build/cjs/IconSelectControl.js.map +1 -0
  18. package/build/cjs/JapaneseHolidays.js +99 -0
  19. package/build/cjs/JapaneseHolidays.js.map +1 -0
  20. package/build/cjs/MasonryControl.js +124 -0
  21. package/build/cjs/MasonryControl.js.map +1 -0
  22. package/build/cjs/PseudoElm.js +66 -0
  23. package/build/cjs/PseudoElm.js.map +1 -0
  24. package/build/cjs/ShadowStyle.js +453 -0
  25. package/build/cjs/ShadowStyle.js.map +1 -0
  26. package/build/cjs/SwiperControl.js +267 -0
  27. package/build/cjs/SwiperControl.js.map +1 -0
  28. package/build/cjs/ToggleElement.js +17 -0
  29. package/build/cjs/ToggleElement.js.map +1 -0
  30. package/build/cjs/TypographyControls.js +151 -0
  31. package/build/cjs/TypographyControls.js.map +1 -0
  32. package/build/cjs/UpdateAllPostsBlockAttributes.js +137 -0
  33. package/build/cjs/UpdateAllPostsBlockAttributes.js.map +1 -0
  34. package/build/cjs/ZipAddress.js +34 -0
  35. package/build/cjs/ZipAddress.js.map +1 -0
  36. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +117 -0
  37. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  38. package/build/cjs/blockStore.js +65 -0
  39. package/build/cjs/blockStore.js.map +1 -0
  40. package/build/cjs/cssPropertes.js +157 -0
  41. package/build/cjs/cssPropertes.js.map +1 -0
  42. package/build/cjs/customFooks.js +300 -0
  43. package/build/cjs/customFooks.js.map +1 -0
  44. package/build/cjs/formatCreate.js +160 -0
  45. package/build/cjs/formatCreate.js.map +1 -0
  46. package/build/cjs/hslToRgb.js +133 -0
  47. package/build/cjs/hslToRgb.js.map +1 -0
  48. package/build/cjs/index.js +115 -0
  49. package/build/cjs/index.js.map +1 -0
  50. package/build/cjs/mediaUpload.js +182 -0
  51. package/build/cjs/mediaUpload.js.map +1 -0
  52. package/build/cjs/node_modules/nanoid/index.js +30 -0
  53. package/build/cjs/node_modules/nanoid/index.js.map +1 -0
  54. package/build/cjs/node_modules/nanoid/url-alphabet/index.js +7 -0
  55. package/build/cjs/node_modules/nanoid/url-alphabet/index.js.map +1 -0
  56. package/build/cjs/shopfiApi.js +188 -0
  57. package/build/cjs/shopfiApi.js.map +1 -0
  58. package/build/cjs/validationCheck.js +15 -0
  59. package/build/cjs/validationCheck.js.map +1 -0
  60. package/build/cjs/wordpressApi.js +631 -0
  61. package/build/cjs/wordpressApi.js.map +1 -0
  62. package/build/esm/AnimationBlock.js +102 -0
  63. package/build/esm/AnimationBlock.js.map +1 -0
  64. package/build/esm/BlockEditWrapper.js +16 -0
  65. package/build/esm/BlockEditWrapper.js.map +1 -0
  66. package/build/esm/BlockPlace.js +503 -0
  67. package/build/esm/BlockPlace.js.map +1 -0
  68. package/build/esm/BrockInserter.js +202 -0
  69. package/build/esm/BrockInserter.js.map +1 -0
  70. package/build/esm/DateElm.js +309 -0
  71. package/build/esm/DateElm.js.map +1 -0
  72. package/build/esm/DraggableBox.js +138 -0
  73. package/build/esm/DraggableBox.js.map +1 -0
  74. package/build/esm/GridControls.js +417 -0
  75. package/build/esm/GridControls.js.map +1 -0
  76. package/build/esm/IconSelectControl.js +163 -0
  77. package/build/esm/IconSelectControl.js.map +1 -0
  78. package/build/esm/JapaneseHolidays.js +97 -0
  79. package/build/esm/JapaneseHolidays.js.map +1 -0
  80. package/{src → build/esm}/MasonryControl.js +120 -125
  81. package/build/esm/MasonryControl.js.map +1 -0
  82. package/build/esm/PseudoElm.js +61 -0
  83. package/build/esm/PseudoElm.js.map +1 -0
  84. package/build/esm/ShadowStyle.js +448 -0
  85. package/build/esm/ShadowStyle.js.map +1 -0
  86. package/{src → build/esm}/SwiperControl.js +265 -265
  87. package/build/esm/SwiperControl.js.map +1 -0
  88. package/build/esm/ToggleElement.js +13 -0
  89. package/build/esm/ToggleElement.js.map +1 -0
  90. package/build/esm/TypographyControls.js +147 -0
  91. package/build/esm/TypographyControls.js.map +1 -0
  92. package/build/esm/UpdateAllPostsBlockAttributes.js +133 -0
  93. package/build/esm/UpdateAllPostsBlockAttributes.js.map +1 -0
  94. package/build/esm/ZipAddress.js +32 -0
  95. package/build/esm/ZipAddress.js.map +1 -0
  96. package/build/esm/_virtual/_rollupPluginBabelHelpers.js +107 -0
  97. package/build/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  98. package/build/esm/blockStore.js +60 -0
  99. package/build/esm/blockStore.js.map +1 -0
  100. package/build/esm/cssPropertes.js +144 -0
  101. package/build/esm/cssPropertes.js.map +1 -0
  102. package/{src → build/esm}/customFooks.js +290 -337
  103. package/build/esm/customFooks.js.map +1 -0
  104. package/build/esm/formatCreate.js +157 -0
  105. package/build/esm/formatCreate.js.map +1 -0
  106. package/build/esm/hslToRgb.js +129 -0
  107. package/build/esm/hslToRgb.js.map +1 -0
  108. package/build/esm/index.js +27 -0
  109. package/build/esm/index.js.map +1 -0
  110. package/build/esm/mediaUpload.js +176 -0
  111. package/build/esm/mediaUpload.js.map +1 -0
  112. package/build/esm/node_modules/nanoid/index.js +27 -0
  113. package/build/esm/node_modules/nanoid/index.js.map +1 -0
  114. package/build/esm/node_modules/nanoid/url-alphabet/index.js +5 -0
  115. package/build/esm/node_modules/nanoid/url-alphabet/index.js.map +1 -0
  116. package/build/esm/shopfiApi.js +184 -0
  117. package/build/esm/shopfiApi.js.map +1 -0
  118. package/build/esm/validationCheck.js +13 -0
  119. package/build/esm/validationCheck.js.map +1 -0
  120. package/build/esm/wordpressApi.js +618 -0
  121. package/build/esm/wordpressApi.js.map +1 -0
  122. package/package.json +22 -6
  123. package/build/index.asset.php +0 -1
  124. package/build/index.js +0 -25
  125. package/css/editor.css +0 -23
  126. package/css/editor.css.map +0 -1
  127. package/img/animation.png +0 -0
  128. package/img/blockplace.png +0 -0
  129. package/img/grid.png +0 -0
  130. package/img/iconControl.png +0 -0
  131. package/img/pseudo.png +0 -0
  132. package/img/shadow.png +0 -0
  133. package/img/typography.png +0 -0
  134. package/src/AnimationBlock.js +0 -112
  135. package/src/BlockEditWrapper.js +0 -11
  136. package/src/BlockPlace.js +0 -904
  137. package/src/BrockInserter.js +0 -247
  138. package/src/DateElm.js +0 -354
  139. package/src/DraggableBox.js +0 -143
  140. package/src/GridControls.js +0 -462
  141. package/src/IconSelectControl.js +0 -186
  142. package/src/PseudoElm.js +0 -54
  143. package/src/ShadowStyle.js +0 -520
  144. package/src/ToggleElement.js +0 -18
  145. package/src/TypographyControls.js +0 -145
  146. package/src/UpdateAllPostsBlockAttributes.js +0 -127
  147. package/src/ZipAddress.js +0 -35
  148. package/src/blockStore.js +0 -75
  149. package/src/cssPropertes.js +0 -212
  150. package/src/formatCreate.js +0 -179
  151. package/src/hslToRgb.js +0 -162
  152. package/src/index.js +0 -131
  153. package/src/mediaUpload.js +0 -178
  154. package/src/shopfiApi.js +0 -187
  155. package/src/validationCheck.js +0 -10
  156. package/src/wordpressApi.js +0 -707
  157. package/webpack.config.js +0 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"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,7 @@
1
+ 'use strict';
2
+
3
+ let urlAlphabet =
4
+ 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';
5
+
6
+ exports.urlAlphabet = urlAlphabet;
7
+ //# sourceMappingURL=index.js.map
@@ -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