itmar-block-packages 2.1.2 → 3.0.2

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 (218) hide show
  1. package/README.md +18 -4
  2. package/build/cjs/AnimationBlock.js +61 -92
  3. package/build/cjs/AnimationBlock.js.map +1 -1
  4. package/build/cjs/BlockEditWrapper.js +3 -10
  5. package/build/cjs/BlockEditWrapper.js.map +1 -1
  6. package/build/cjs/BlockPlace.js +277 -482
  7. package/build/cjs/BlockPlace.js.map +1 -1
  8. package/build/cjs/BrockInserter.js +195 -191
  9. package/build/cjs/BrockInserter.js.map +1 -1
  10. package/build/cjs/DateElm.js +254 -281
  11. package/build/cjs/DateElm.js.map +1 -1
  12. package/build/cjs/DraggableBox.js +99 -129
  13. package/build/cjs/DraggableBox.js.map +1 -1
  14. package/build/cjs/GridControls.js +292 -392
  15. package/build/cjs/GridControls.js.map +1 -1
  16. package/build/cjs/IconSelectControl.js +65 -156
  17. package/build/cjs/IconSelectControl.js.map +1 -1
  18. package/build/cjs/JapaneseHolidays.js +67 -76
  19. package/build/cjs/JapaneseHolidays.js.map +1 -1
  20. package/build/cjs/MasonryControl.js +95 -100
  21. package/build/cjs/MasonryControl.js.map +1 -1
  22. package/build/cjs/PseudoElm.js +37 -50
  23. package/build/cjs/PseudoElm.js.map +1 -1
  24. package/build/cjs/ShadowStyle.js +216 -430
  25. package/build/cjs/ShadowStyle.js.map +1 -1
  26. package/build/cjs/SwiperControl.js +240 -241
  27. package/build/cjs/SwiperControl.js.map +1 -1
  28. package/build/cjs/ToggleElement.js +17 -9
  29. package/build/cjs/ToggleElement.js.map +1 -1
  30. package/build/cjs/TypographyControls.js +73 -139
  31. package/build/cjs/TypographyControls.js.map +1 -1
  32. package/build/cjs/UpdateAllPostsBlockAttributes.js +102 -119
  33. package/build/cjs/UpdateAllPostsBlockAttributes.js.map +1 -1
  34. package/build/cjs/ZipAddress.js +27 -23
  35. package/build/cjs/ZipAddress.js.map +1 -1
  36. package/build/cjs/blockStore.js +42 -47
  37. package/build/cjs/blockStore.js.map +1 -1
  38. package/build/cjs/cssPropertes.js +165 -117
  39. package/build/cjs/cssPropertes.js.map +1 -1
  40. package/build/cjs/customHooks.js +277 -0
  41. package/build/cjs/customHooks.js.map +1 -0
  42. package/build/cjs/formatCreate.js +115 -145
  43. package/build/cjs/formatCreate.js.map +1 -1
  44. package/build/cjs/hslToRgb.js +112 -116
  45. package/build/cjs/hslToRgb.js.map +1 -1
  46. package/build/cjs/index.js +15 -11
  47. package/build/cjs/index.js.map +1 -1
  48. package/build/cjs/mediaUpload.js +95 -158
  49. package/build/cjs/mediaUpload.js.map +1 -1
  50. package/build/cjs/node_modules/swiper/shared/ssr-window.esm.js +144 -0
  51. package/build/cjs/node_modules/swiper/shared/ssr-window.esm.js.map +1 -0
  52. package/build/cjs/node_modules/swiper/shared/swiper-core.js +3925 -0
  53. package/build/cjs/node_modules/swiper/shared/swiper-core.js.map +1 -0
  54. package/build/cjs/node_modules/swiper/shared/utils.js +294 -0
  55. package/build/cjs/node_modules/swiper/shared/utils.js.map +1 -0
  56. package/build/cjs/pickupStore.js +56 -54
  57. package/build/cjs/pickupStore.js.map +1 -1
  58. package/build/cjs/shopfiApi.js +127 -138
  59. package/build/cjs/shopfiApi.js.map +1 -1
  60. package/build/cjs/types/AnimationBlock.d.ts +22 -0
  61. package/build/cjs/types/BlockEditWrapper.d.ts +7 -0
  62. package/build/cjs/types/BlockPlace.d.ts +49 -0
  63. package/build/cjs/types/BrockInserter.d.ts +6 -0
  64. package/build/cjs/types/DateElm.d.ts +69 -0
  65. package/build/cjs/types/DraggableBox.d.ts +19 -0
  66. package/build/cjs/types/GridControls.d.ts +27 -0
  67. package/build/cjs/types/IconSelectControl.d.ts +17 -0
  68. package/build/cjs/types/JapaneseHolidays.d.ts +6 -0
  69. package/build/cjs/types/MasonryControl.d.ts +35 -0
  70. package/build/cjs/types/PseudoElm.d.ts +11 -0
  71. package/build/cjs/types/ShadowStyle.d.ts +33 -0
  72. package/build/cjs/types/SwiperControl.d.ts +12 -0
  73. package/build/cjs/types/ToggleElement.d.ts +13 -0
  74. package/build/cjs/types/TypographyControls.d.ts +17 -0
  75. package/build/cjs/types/UpdateAllPostsBlockAttributes.d.ts +10 -0
  76. package/build/cjs/types/ZipAddress.d.ts +18 -0
  77. package/build/cjs/types/blockStore.d.ts +15 -0
  78. package/build/cjs/types/cssPropertes.d.ts +53 -0
  79. package/build/cjs/types/customHooks.d.ts +11 -0
  80. package/build/cjs/types/formatCreate.d.ts +18 -0
  81. package/build/cjs/types/hslToRgb.d.ts +23 -0
  82. package/build/cjs/types/index.d.ts +31 -0
  83. package/build/cjs/types/mediaUpload.d.ts +29 -0
  84. package/build/cjs/types/pickupStore.d.ts +39 -0
  85. package/build/cjs/types/shopfiApi.d.ts +18 -0
  86. package/build/cjs/types/validationCheck.d.ts +5 -0
  87. package/build/cjs/types/wordpressApi.d.ts +99 -0
  88. package/build/cjs/validationCheck.js +15 -9
  89. package/build/cjs/validationCheck.js.map +1 -1
  90. package/build/cjs/wordpressApi.js +364 -576
  91. package/build/cjs/wordpressApi.js.map +1 -1
  92. package/build/esm/AnimationBlock.d.ts +22 -0
  93. package/build/esm/AnimationBlock.js +61 -92
  94. package/build/esm/AnimationBlock.js.map +1 -1
  95. package/build/esm/BlockEditWrapper.d.ts +7 -0
  96. package/build/esm/BlockEditWrapper.js +4 -11
  97. package/build/esm/BlockEditWrapper.js.map +1 -1
  98. package/build/esm/BlockPlace.d.ts +49 -0
  99. package/build/esm/BlockPlace.js +279 -484
  100. package/build/esm/BlockPlace.js.map +1 -1
  101. package/build/esm/BrockInserter.d.ts +6 -0
  102. package/build/esm/BrockInserter.js +195 -191
  103. package/build/esm/BrockInserter.js.map +1 -1
  104. package/build/esm/DateElm.d.ts +69 -0
  105. package/build/esm/DateElm.js +254 -281
  106. package/build/esm/DateElm.js.map +1 -1
  107. package/build/esm/DraggableBox.d.ts +19 -0
  108. package/build/esm/DraggableBox.js +99 -129
  109. package/build/esm/DraggableBox.js.map +1 -1
  110. package/build/esm/GridControls.d.ts +27 -0
  111. package/build/esm/GridControls.js +294 -394
  112. package/build/esm/GridControls.js.map +1 -1
  113. package/build/esm/IconSelectControl.d.ts +17 -0
  114. package/build/esm/IconSelectControl.js +65 -156
  115. package/build/esm/IconSelectControl.js.map +1 -1
  116. package/build/esm/JapaneseHolidays.d.ts +6 -0
  117. package/build/esm/JapaneseHolidays.js +67 -76
  118. package/build/esm/JapaneseHolidays.js.map +1 -1
  119. package/build/esm/MasonryControl.d.ts +35 -0
  120. package/build/esm/MasonryControl.js +95 -100
  121. package/build/esm/MasonryControl.js.map +1 -1
  122. package/build/esm/PseudoElm.d.ts +11 -0
  123. package/build/esm/PseudoElm.js +37 -50
  124. package/build/esm/PseudoElm.js.map +1 -1
  125. package/build/esm/ShadowStyle.d.ts +33 -0
  126. package/build/esm/ShadowStyle.js +217 -431
  127. package/build/esm/ShadowStyle.js.map +1 -1
  128. package/build/esm/SwiperControl.d.ts +12 -0
  129. package/build/esm/SwiperControl.js +240 -241
  130. package/build/esm/SwiperControl.js.map +1 -1
  131. package/build/esm/ToggleElement.d.ts +13 -0
  132. package/build/esm/ToggleElement.js +17 -9
  133. package/build/esm/ToggleElement.js.map +1 -1
  134. package/build/esm/TypographyControls.d.ts +17 -0
  135. package/build/esm/TypographyControls.js +73 -139
  136. package/build/esm/TypographyControls.js.map +1 -1
  137. package/build/esm/UpdateAllPostsBlockAttributes.d.ts +10 -0
  138. package/build/esm/UpdateAllPostsBlockAttributes.js +103 -120
  139. package/build/esm/UpdateAllPostsBlockAttributes.js.map +1 -1
  140. package/build/esm/ZipAddress.d.ts +18 -0
  141. package/build/esm/ZipAddress.js +27 -23
  142. package/build/esm/ZipAddress.js.map +1 -1
  143. package/build/esm/blockStore.d.ts +15 -0
  144. package/build/esm/blockStore.js +42 -47
  145. package/build/esm/blockStore.js.map +1 -1
  146. package/build/esm/cssPropertes.d.ts +53 -0
  147. package/build/esm/cssPropertes.js +165 -117
  148. package/build/esm/cssPropertes.js.map +1 -1
  149. package/build/esm/customHooks.d.ts +11 -0
  150. package/build/esm/customHooks.js +267 -0
  151. package/build/esm/customHooks.js.map +1 -0
  152. package/build/esm/formatCreate.d.ts +18 -0
  153. package/build/esm/formatCreate.js +115 -145
  154. package/build/esm/formatCreate.js.map +1 -1
  155. package/build/esm/hslToRgb.d.ts +23 -0
  156. package/build/esm/hslToRgb.js +112 -116
  157. package/build/esm/hslToRgb.js.map +1 -1
  158. package/build/esm/index.d.ts +27 -0
  159. package/build/esm/index.js +8 -1
  160. package/build/esm/index.js.map +1 -1
  161. package/build/esm/mediaUpload.d.ts +29 -0
  162. package/build/esm/mediaUpload.js +95 -158
  163. package/build/esm/mediaUpload.js.map +1 -1
  164. package/build/esm/node_modules/swiper/shared/ssr-window.esm.js +141 -0
  165. package/build/esm/node_modules/swiper/shared/ssr-window.esm.js.map +1 -0
  166. package/build/esm/node_modules/swiper/shared/swiper-core.js +3922 -0
  167. package/build/esm/node_modules/swiper/shared/swiper-core.js.map +1 -0
  168. package/build/esm/node_modules/swiper/shared/utils.js +274 -0
  169. package/build/esm/node_modules/swiper/shared/utils.js.map +1 -0
  170. package/build/esm/pickupStore.d.ts +39 -0
  171. package/build/esm/pickupStore.js +56 -54
  172. package/build/esm/pickupStore.js.map +1 -1
  173. package/build/esm/shopfiApi.d.ts +18 -0
  174. package/build/esm/shopfiApi.js +127 -138
  175. package/build/esm/shopfiApi.js.map +1 -1
  176. package/build/esm/types/AnimationBlock.d.ts +22 -0
  177. package/build/esm/types/BlockEditWrapper.d.ts +7 -0
  178. package/build/esm/types/BlockPlace.d.ts +49 -0
  179. package/build/esm/types/BrockInserter.d.ts +6 -0
  180. package/build/esm/types/DateElm.d.ts +69 -0
  181. package/build/esm/types/DraggableBox.d.ts +19 -0
  182. package/build/esm/types/GridControls.d.ts +27 -0
  183. package/build/esm/types/IconSelectControl.d.ts +17 -0
  184. package/build/esm/types/JapaneseHolidays.d.ts +6 -0
  185. package/build/esm/types/MasonryControl.d.ts +35 -0
  186. package/build/esm/types/PseudoElm.d.ts +11 -0
  187. package/build/esm/types/ShadowStyle.d.ts +33 -0
  188. package/build/esm/types/SwiperControl.d.ts +12 -0
  189. package/build/esm/types/ToggleElement.d.ts +13 -0
  190. package/build/esm/types/TypographyControls.d.ts +17 -0
  191. package/build/esm/types/UpdateAllPostsBlockAttributes.d.ts +10 -0
  192. package/build/esm/types/ZipAddress.d.ts +18 -0
  193. package/build/esm/types/blockStore.d.ts +15 -0
  194. package/build/esm/types/cssPropertes.d.ts +53 -0
  195. package/build/esm/types/customHooks.d.ts +11 -0
  196. package/build/esm/types/formatCreate.d.ts +18 -0
  197. package/build/esm/types/hslToRgb.d.ts +23 -0
  198. package/build/esm/types/index.d.ts +31 -0
  199. package/build/esm/types/mediaUpload.d.ts +29 -0
  200. package/build/esm/types/pickupStore.d.ts +39 -0
  201. package/build/esm/types/shopfiApi.d.ts +18 -0
  202. package/build/esm/types/validationCheck.d.ts +5 -0
  203. package/build/esm/types/wordpressApi.d.ts +99 -0
  204. package/build/esm/validationCheck.d.ts +5 -0
  205. package/build/esm/validationCheck.js +15 -9
  206. package/build/esm/validationCheck.js.map +1 -1
  207. package/build/esm/wordpressApi.d.ts +99 -0
  208. package/build/esm/wordpressApi.js +365 -577
  209. package/build/esm/wordpressApi.js.map +1 -1
  210. package/package.json +29 -7
  211. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -117
  212. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  213. package/build/cjs/customFooks.js +0 -300
  214. package/build/cjs/customFooks.js.map +0 -1
  215. package/build/esm/_virtual/_rollupPluginBabelHelpers.js +0 -107
  216. package/build/esm/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  217. package/build/esm/customFooks.js +0 -290
  218. package/build/esm/customFooks.js.map +0 -1
@@ -1,56 +1,53 @@
1
1
  'use strict';
2
2
 
3
- var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
3
+ var i18n = require('@wordpress/i18n');
4
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;
5
+ function generateNonce(length = 32) {
6
+ const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
7
+ let nonce = "";
8
+ for (let i = 0; i < length; i++) {
9
+ nonce += characters.charAt(Math.floor(Math.random() * characters.length));
10
+ }
11
+ return nonce;
23
12
  }
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);
13
+ function generateCodeVerifier(length = 128) {
14
+ const charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";
15
+ let result = "";
16
+ for (let i = 0; i < length; i++) {
17
+ result += charset.charAt(Math.floor(Math.random() * charset.length));
18
+ }
19
+ return result;
35
20
  }
36
- function redirectCustomerAuthorize(_x2, _x3, _x4, _x5, _x6) {
37
- return _redirectCustomerAuthorize.apply(this, arguments);
21
+ async function generateCodeChallenge(codeVerifier) {
22
+ const encoder = new TextEncoder();
23
+ const data = encoder.encode(codeVerifier);
24
+ const digest = await crypto.subtle.digest("SHA-256", data);
25
+ // Uint8Array への変換と Base64 エンコード
26
+ const hashArray = new Uint8Array(digest);
27
+ // バイナリデータを文字列に変換
28
+ // ※スプレッド構文 (...) は大規模なデータでスタックオーバーフローの可能性があるため
29
+ // 小規模な PKCE 用途では問題ありませんが、型定義を明確にします。
30
+ const binaryString = String.fromCharCode(...Array.from(hashArray));
31
+ // Base64 を Base64URL 形式(Shopify / OAuth 2.0 仕様)に変換
32
+ return btoa(binaryString)
33
+ .replace(/\+/g, "-")
34
+ .replace(/\//g, "_")
35
+ .replace(/=+$/, "");
38
36
  }
39
-
40
- // トークンがあれば検証(Storefront API 経由で customer を取得)
41
- function _redirectCustomerAuthorize() {
42
- _redirectCustomerAuthorize = _rollupPluginBabelHelpers.asyncToGenerator(function* (shopId, clientId, userMail, callbackUri, redirectUri) {
37
+ // ✅ Shopifyへの認証リダイレクト
38
+ async function redirectCustomerAuthorize(shopId, clientId, userMail, callbackUri, // Shopify側の管理画面で登録したリダイレクト先
39
+ redirectUri) {
43
40
  //呼び出し元の戻り先
44
- var statePayload = {
45
- ts: Date.now(),
46
- random: Math.random().toString(36).substring(2),
47
- return_url: redirectUri
41
+ const statePayload = {
42
+ ts: Date.now(),
43
+ random: Math.random().toString(36).substring(2),
44
+ return_url: redirectUri,
48
45
  };
49
46
  //stateで渡しておく
50
- var state = btoa(JSON.stringify(statePayload));
51
- var nonce = generateNonce();
52
- var codeVerifier = generateCodeVerifier();
53
- var codeChallenge = yield generateCodeChallenge(codeVerifier);
47
+ const state = btoa(JSON.stringify(statePayload));
48
+ const nonce = generateNonce();
49
+ const codeVerifier = generateCodeVerifier();
50
+ const codeChallenge = await generateCodeChallenge(codeVerifier);
54
51
  localStorage.setItem("shopify_code_verifier", codeVerifier);
55
52
  localStorage.setItem("shopify_state", state);
56
53
  localStorage.setItem("shopify_nonce", nonce);
@@ -58,8 +55,7 @@ function _redirectCustomerAuthorize() {
58
55
  localStorage.setItem("shopify_user_mail", userMail);
59
56
  localStorage.setItem("shopify_shop_id", shopId);
60
57
  localStorage.setItem("shopify_redirect_uri", callbackUri); //ログアウトの処理で使用する
61
-
62
- var url = new URL("https://shopify.com/authentication/".concat(shopId, "/oauth/authorize"));
58
+ const url = new URL(`https://shopify.com/authentication/${shopId}/oauth/authorize`);
63
59
  url.searchParams.append("scope", "openid email customer-account-api:full");
64
60
  url.searchParams.append("client_id", clientId);
65
61
  url.searchParams.append("response_type", "code");
@@ -69,114 +65,107 @@ function _redirectCustomerAuthorize() {
69
65
  url.searchParams.append("code_challenge", codeChallenge);
70
66
  url.searchParams.append("code_challenge_method", "S256");
71
67
  window.location.href = url.toString();
72
- });
73
- return _redirectCustomerAuthorize.apply(this, arguments);
74
68
  }
75
- function checkCustomerLoginState() {
76
- return _checkCustomerLoginState.apply(this, arguments);
77
- }
78
-
79
69
  /**
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'
70
+ * Shopifyの顧客トークンを検証し、ログイン状態を確認する
83
71
  */
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
- })
72
+ async function checkCustomerLoginState() {
73
+ const token = localStorage.getItem("shopify_customer_token");
74
+ if (!token)
75
+ return false;
76
+ const checkUrl = "/wp-json/itmar-ec-relate/v1/shopify-login-check";
77
+ const postData = {
78
+ nonce: itmar_option.nonce,
79
+ token: JSON.stringify({ token }),
94
80
  };
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);
81
+ // sendRegistrationAjax が内部で jQuery.ajax を返している(Promise互換)と想定
82
+ try {
83
+ const response = await sendRegistrationRequest(checkUrl, postData, "rest");
84
+ // 成功時の処理
85
+ console.log("Login check success:", response);
86
+ // ここでサーバーからのレスポンス内容(成功/失敗)に応じて return するのが理想です
87
+ return response.success === true;
88
+ }
89
+ catch (error) {
90
+ // 失敗時の処理
91
+ const errorMessage = error.statusText || error || "Unknown Error";
92
+ alert(i18n.__("Server Error: ", "itmar-ec-relate") + errorMessage);
93
+ console.error("Login check failed:", error);
94
+ return false;
95
+ }
106
96
  }
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;
97
+ /**
98
+ * 統合された WordPress 通信関数
99
+ */
100
+ async function sendRegistrationRequest(urlOrPath, data = {}, mode = "auto") {
101
+ // 1. REST かどうかを判定
102
+ const isRestUrlLike = (u) => u.startsWith("/wp-json") ||
103
+ (!u.startsWith("/wp-admin") && !u.includes("admin-ajax.php"));
104
+ let isRest;
115
105
  if (mode === "auto") {
116
- isRest = isRestUrlLike(urlOrPath);
117
- } else {
118
- isRest = mode === "rest";
106
+ isRest = isRestUrlLike(urlOrPath);
119
107
  }
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/";
108
+ else {
109
+ isRest = mode === "rest";
110
+ }
111
+ // 2. パスの補完 (/wp-json/ を省略した場合の対応)
112
+ let url = urlOrPath;
113
+ if (isRest && !url.startsWith("http") && !url.startsWith("/wp-json")) {
114
+ const root = window.wpApiSettings?.root || "/wp-json/";
125
115
  url = root.replace(/\/+$/, "/") + url.replace(/^\/+/, "");
126
- }
127
116
  }
128
- var fetchOptions = {
129
- method: "POST",
130
- credentials: "same-origin",
131
- // 同一オリジン Cookie
132
- headers: {}
117
+ // 3. ノンス (Security Token) の抽出
118
+ const nonce = data._wpnonce || data.nonce || window.wpApiSettings?.nonce;
119
+ // 4. 通信オプションの構築
120
+ const fetchOptions = {
121
+ method: "POST",
122
+ credentials: "same-origin", // 同一オリジン Cookie
123
+ headers: {},
133
124
  };
134
-
135
- // ノンス抽出(_wpnonce を優先)
136
- var nonce = data._wpnonce || data.nonce || window.wpApiSettings && window.wpApiSettings.nonce;
137
125
  if (isRest) {
138
- fetchOptions.headers["Content-Type"] = "application/json";
139
- if (nonce) fetchOptions.headers["X-WP-Nonce"] = nonce;
140
-
141
- // nonce系は本文から除く(任意)
142
- var {
143
- _wpnonce,
144
- nonce: _legacyNonce
145
- } = data,
146
- rest = _rollupPluginBabelHelpers.objectWithoutProperties(data, _excluded);
147
- fetchOptions.body = JSON.stringify(rest);
148
- } else {
149
- // admin-ajax は URLSearchParams で送る
150
- var form = new URLSearchParams();
151
- Object.entries(data).forEach(_ref => {
152
- var [k, v] = _ref;
153
- if (v !== undefined && v !== null) form.append(k, String(v));
154
- });
155
- // ノンスは _wpnonce に統一
156
- if (nonce && !form.has("_wpnonce")) form.append("_wpnonce", nonce);
157
- fetchOptions.body = form;
126
+ // --- REST API モード: JSON で送る ---
127
+ fetchOptions.headers["Content-Type"] =
128
+ "application/json";
129
+ if (nonce)
130
+ fetchOptions.headers["X-WP-Nonce"] = nonce;
131
+ // Body から nonce 関連を分離して純粋なデータのみにする
132
+ const { _wpnonce, nonce: _legacyNonce, ...cleanData } = data;
133
+ fetchOptions.body = JSON.stringify(cleanData);
158
134
  }
159
- var res = yield fetch(url, fetchOptions);
160
-
135
+ else {
136
+ // admin-ajax は URLSearchParams で送る
137
+ const form = new URLSearchParams();
138
+ Object.entries(data).forEach(([k, v]) => {
139
+ if (v !== undefined && v !== null)
140
+ form.append(k, String(v));
141
+ });
142
+ // ノンスは _wpnonce に統一
143
+ if (nonce && !form.has("_wpnonce"))
144
+ form.append("_wpnonce", nonce);
145
+ fetchOptions.body = form;
146
+ }
147
+ // 5. 実行
148
+ const res = await fetch(url, fetchOptions);
161
149
  // WP REST はメソッド不一致・ルートなし等でも JSON 返さないことがあるので分岐
162
- var contentType = res.headers.get("content-type") || "";
163
- var tryJson = contentType.includes("application/json");
150
+ const contentType = res.headers.get("content-type") || "";
151
+ const tryJson = contentType.includes("application/json");
164
152
  if (!res.ok) {
165
- var msg = "HTTP ".concat(res.status);
166
- if (tryJson) {
167
- try {
168
- var j = yield res.json();
169
- msg += j.message ? ": ".concat(j.message) : "";
170
- } catch (_unused) {}
171
- } else {
172
- var t = yield res.text();
173
- if (t) msg += ": ".concat(t.slice(0, 200));
174
- }
175
- throw new Error(msg);
153
+ let msg = `HTTP ${res.status}`;
154
+ if (tryJson) {
155
+ try {
156
+ const j = await res.json();
157
+ msg += j.message ? `: ${j.message}` : "";
158
+ }
159
+ catch { }
160
+ }
161
+ else {
162
+ const t = await res.text();
163
+ if (t)
164
+ msg += `: ${t.slice(0, 200)}`;
165
+ }
166
+ throw new Error(msg);
176
167
  }
177
168
  return tryJson ? res.json() : res.text();
178
- });
179
- return _sendRegistrationRequest.apply(this, arguments);
180
169
  }
181
170
 
182
171
  exports.checkCustomerLoginState = checkCustomerLoginState;
@@ -1 +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 }\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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"}
1
+ {"version":3,"file":"shopfiApi.js","sources":["../../src/shopfiApi.ts"],"sourcesContent":[null],"names":["__"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ interface AnimeAttributes {
2
+ pattern?: string;
3
+ delay?: number | string;
4
+ duration?: number | string;
5
+ [key: string]: any;
6
+ }
7
+ export declare const anime_comp: (attributes: AnimeAttributes) => import("styled-components").RuleSet<object>;
8
+ interface AnimePrm {
9
+ pattern: string;
10
+ duration: number;
11
+ delay: number;
12
+ trigger: string;
13
+ }
14
+ interface AnimationBlockProps {
15
+ attributes: {
16
+ is_anime: boolean;
17
+ anime_prm: AnimePrm;
18
+ };
19
+ onChange: (newAttributes: Partial<AnimationBlockProps["attributes"]>) => void;
20
+ }
21
+ export default function AnimationBlock(props: AnimationBlockProps): JSX.Element;
22
+ export {};
@@ -0,0 +1,7 @@
1
+ import { ElementType } from "react";
2
+ interface BlockEditWrapperProps {
3
+ lazyComponent: ElementType;
4
+ [key: string]: any;
5
+ }
6
+ declare function BlockEditWrapper({ lazyComponent: LazyComponent, ...props }: BlockEditWrapperProps): JSX.Element;
7
+ export default BlockEditWrapper;
@@ -0,0 +1,49 @@
1
+ import { RefObject } from "@wordpress/element";
2
+ import { GridAttributes } from "./GridControls";
3
+ interface BlockPlaceAttributes {
4
+ positionType: string;
5
+ isPosCenter: boolean;
6
+ default_val: any;
7
+ mobile_val: any;
8
+ [key: string]: any;
9
+ }
10
+ interface BlockPlaceProps {
11
+ attributes: BlockPlaceAttributes;
12
+ clientId: string;
13
+ blockRef: RefObject<HTMLElement>;
14
+ isMobile: boolean;
15
+ isSubmenu: boolean;
16
+ isParallax: boolean;
17
+ onDirectionChange: (dir: string) => void;
18
+ onReverseChange: (checked: boolean) => void;
19
+ onWrapChange: (checked: boolean) => void;
20
+ onFlexChange: (strech: string, pos: string) => void;
21
+ onVerticalChange: (pos: string) => void;
22
+ onAlignChange: (pos: string) => void;
23
+ onWidthChange: (key: string, widthVal: number | string) => void;
24
+ onFreeWidthChange: (key: string, freeVal: number | string) => void;
25
+ onFlexItemChange: (obj: object) => void;
26
+ onPosValueChange: (obj: object) => void;
27
+ onFreeHeightChange: (val: number | string) => void;
28
+ onHeightChange: (val: string) => void;
29
+ onIsPosCenterChange: (checked: boolean) => void;
30
+ onPositionChange: (val: string) => void;
31
+ onGridChange: (attr: Partial<GridAttributes>) => void;
32
+ }
33
+ export default function BlockPlace(props: BlockPlaceProps): JSX.Element;
34
+ interface BlockWidthProps {
35
+ attributes: any;
36
+ isMobile: boolean;
37
+ isSubmenu: boolean;
38
+ onWidthChange: (key: string, widthVal: string | number) => void;
39
+ onFreeWidthChange: (key: string, freeVal: string | number) => void;
40
+ }
41
+ export declare function BlockWidth(props: BlockWidthProps): JSX.Element;
42
+ interface BlockHeightProps {
43
+ attributes: any;
44
+ isMobile: boolean;
45
+ onHeightChange: (val: string) => void;
46
+ onFreeHeightChange: (freeVal: string | number) => void;
47
+ }
48
+ export declare function BlockHeight(props: BlockHeightProps): JSX.Element;
49
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare const useRebuildChangeField: (dispAttributeArray: any[], // 外部から渡される配列
2
+ selectedFields: {
3
+ key: string;
4
+ label: string;
5
+ block: string;
6
+ }[], pickupType: string, dispTaxonomies: string[], sectionCount: number, domType: string, clientId: string, insertId: string, pluginOption: string) => void;
@@ -0,0 +1,69 @@
1
+ interface DateRange {
2
+ startYear: number;
3
+ startMonth: number;
4
+ endYear: number;
5
+ endMonth: number;
6
+ }
7
+ interface DateUnit {
8
+ id: string;
9
+ value: string;
10
+ label: string;
11
+ classname: string;
12
+ }
13
+ export declare const generateDateArray: (dateObj: DateRange, isMonth: boolean) => DateUnit[];
14
+ export interface Holiday {
15
+ date: string | number;
16
+ name: string;
17
+ }
18
+ interface CalendarDay {
19
+ date: number;
20
+ weekday: number;
21
+ holiday?: string;
22
+ }
23
+ export declare const generateMonthCalendar: (dateString: string, holidays?: Holiday[] | null) => CalendarDay[];
24
+ interface DateRange {
25
+ startYear: number;
26
+ startMonth: number;
27
+ endYear: number;
28
+ endMonth: number;
29
+ }
30
+ interface PeriodCtrlProps {
31
+ startYear: number;
32
+ endYear: number;
33
+ dateSpan: DateRange;
34
+ isMonth: boolean;
35
+ onChange: (newSpanObj: {
36
+ dateSpan: DateRange;
37
+ }) => void;
38
+ }
39
+ export declare const PeriodCtrl: ({ startYear, endYear, dateSpan, isMonth, onChange, }: PeriodCtrlProps) => JSX.Element;
40
+ interface PeriodQuery {
41
+ after: string;
42
+ before: string;
43
+ }
44
+ export declare const getPeriodQuery: (dateString: string | undefined | null) => PeriodQuery | null;
45
+ export declare const getTodayYearMonth: () => string;
46
+ export declare const getTodayYear: () => number;
47
+ export declare const getTodayMonth: () => number;
48
+ interface MonthRange {
49
+ ym: string;
50
+ from: string;
51
+ to: string;
52
+ year: number;
53
+ month: number;
54
+ lastDay: number;
55
+ }
56
+ export declare const getMonthRangeYmd: (selectedMonth: string | undefined | null) => MonthRange;
57
+ export declare const normalizeDateYYYYMMDD: (value: string) => string;
58
+ /**
59
+ * 様々な形式の「日」の入力と「選択された月」を組み合わせて YYYY-MM-DD 形式を返す
60
+ */
61
+ export declare const toYmdFromMonthAndDay: (selectedMonth: string | undefined | null, dayValue: string | number | undefined | null) => string;
62
+ /**
63
+ * カレンダーの grid-template-areas 用の文字列を生成する
64
+ * @param firstDayOfMonth 月の最初の日の曜日番号 (0:日, 1:月...)
65
+ * @param totalDays 月の総日数 (28-31)
66
+ * @param isMonday 月曜始まりにするかどうか
67
+ */
68
+ export declare const generateGridAreas: (firstDayOfMonth: number, totalDays: number, isMonday: boolean) => string;
69
+ export {};
@@ -0,0 +1,19 @@
1
+ import { RefObject } from "@wordpress/element";
2
+ interface PositionString {
3
+ x: string;
4
+ y: string;
5
+ }
6
+ export declare const useDraggingMove: (isMovable: boolean, blockRef: RefObject<HTMLElement>, // ReactのRef型を指定
7
+ position: PositionString, onPositionChange: (pos: PositionString) => void) => void;
8
+ interface DraggableBoxProps {
9
+ attributes: {
10
+ x: string;
11
+ y: string;
12
+ };
13
+ onPositionChange: (newPos: {
14
+ x: string;
15
+ y: string;
16
+ }) => void;
17
+ }
18
+ export default function DraggableBox({ attributes, onPositionChange, }: DraggableBoxProps): JSX.Element;
19
+ export {};
@@ -0,0 +1,27 @@
1
+ interface GridCell {
2
+ rowInx: number;
3
+ colInx: number;
4
+ }
5
+ interface GridElement {
6
+ startCell: GridCell;
7
+ endCell: GridCell;
8
+ value?: string;
9
+ [key: string]: any;
10
+ }
11
+ export interface GridAttributes {
12
+ gridElms: GridElement[];
13
+ rowNum: number;
14
+ colNum: number;
15
+ rowGap: string | number;
16
+ colGap: string | number;
17
+ rowUnit: string[];
18
+ colUnit: string[];
19
+ [key: string]: any;
20
+ }
21
+ interface GridControlsProps {
22
+ attributes: GridAttributes;
23
+ clientId: string;
24
+ onChange: (newAttrs: Partial<GridAttributes>) => void;
25
+ }
26
+ declare const GridControls: ({ attributes, clientId, onChange, }: GridControlsProps) => JSX.Element;
27
+ export default GridControls;
@@ -0,0 +1,17 @@
1
+ interface IconStyle {
2
+ icon_type: "awesome" | "image" | "avatar" | string;
3
+ icon_url?: string;
4
+ icon_name?: string;
5
+ icon_pos?: "left" | "right" | string;
6
+ icon_size?: string;
7
+ icon_color?: string;
8
+ icon_space?: string;
9
+ icon_family?: string;
10
+ }
11
+ interface IconControlProps {
12
+ iconStyle: IconStyle;
13
+ setPosition?: boolean;
14
+ onChange: (newStyle: IconStyle) => void;
15
+ }
16
+ declare const _default: ({ iconStyle, setPosition, onChange }: IconControlProps) => JSX.Element;
17
+ export default _default;
@@ -0,0 +1,6 @@
1
+ declare global {
2
+ interface Window {
3
+ gapi: any;
4
+ }
5
+ }
6
+ export declare const JapaneseHolidays: (apiKey: string, targetMonth: string) => Promise<any>;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Masonry グリッドを初期化する共通関数
3
+ *
4
+ * @param {HTMLElement} gridEl - `.itmar-masonry-grid` のコンテナ要素
5
+ * @param {Array<{ url: string, alt?: string }>} images - 描画する画像リスト
6
+ * @param {Object} options
7
+ * @param {number} options.columns - カラム数
8
+ * @param {boolean} [options.renderItems=true]
9
+ * true: この関数内で gridEl をクリアして <figure><img> を追加する
10
+ * false: 既にある .itmar-masonry-item をそのまま使い、幅だけ更新する
11
+ *
12
+ * @returns {any|null} Masonry インスタンス(なければ null)
13
+ */
14
+ declare global {
15
+ interface Window {
16
+ Masonry: any;
17
+ imagesLoaded: any;
18
+ }
19
+ interface HTMLElement {
20
+ __masonryInstance?: any;
21
+ }
22
+ }
23
+ interface MasonryImage {
24
+ url: string;
25
+ alt?: string;
26
+ }
27
+ interface MasonryOptions {
28
+ columns?: number;
29
+ renderItems?: boolean;
30
+ }
31
+ /**
32
+ * Masonry レイアウトを初期化・更新する
33
+ */
34
+ export default function MasonryControl(gridEl: HTMLElement | null, images?: MasonryImage[], { columns, renderItems }?: MasonryOptions): any;
35
+ export {};
@@ -0,0 +1,11 @@
1
+ type ArrowDirection = "upper" | "left" | "right" | "under" | "down";
2
+ interface PseudoElmProps {
3
+ direction: ArrowDirection;
4
+ onChange: (value: ArrowDirection) => void;
5
+ }
6
+ interface ArrowProps {
7
+ direction?: ArrowDirection;
8
+ }
9
+ export declare const Arrow: ({ direction }: ArrowProps) => import("styled-components").RuleSet<object>;
10
+ declare const PseudoElm: ({ direction, onChange }: PseudoElmProps) => JSX.Element;
11
+ export default PseudoElm;