@arcblock/ux 2.13.70 → 3.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 (668) hide show
  1. package/lib/ActionButton/ActionButton.stories.d.ts +18 -0
  2. package/lib/ActionButton/index.d.ts +2 -2
  3. package/lib/ActionButton/index.js +43 -94
  4. package/lib/ActivityIndicator/ActivityIndicator.stories.d.ts +8 -0
  5. package/lib/ActivityIndicator/index.d.ts +2 -8
  6. package/lib/ActivityIndicator/index.js +41 -114
  7. package/lib/Address/Address.stories.d.ts +16 -0
  8. package/lib/Address/compact-text.d.ts +4 -14
  9. package/lib/Address/compact-text.js +40 -98
  10. package/lib/Address/did-address.d.ts +5 -4
  11. package/lib/Address/did-address.js +94 -151
  12. package/lib/Address/index.d.ts +4 -2
  13. package/lib/Address/index.js +13 -20
  14. package/lib/Address/responsive-did-address.d.ts +5 -4
  15. package/lib/Address/responsive-did-address.js +80 -114
  16. package/lib/Alert/Alert.stories.d.ts +28 -0
  17. package/lib/Alert/index.d.ts +2 -2
  18. package/lib/Alert/index.js +56 -102
  19. package/lib/AnimationWaiter/AnimationWaiter.stories.d.ts +21 -0
  20. package/lib/AnimationWaiter/{dark-animation.json → dark-animation.json.js} +27 -1
  21. package/lib/AnimationWaiter/{default-animation.json → default-animation.json.js} +29 -1
  22. package/lib/AnimationWaiter/index.d.ts +3 -25
  23. package/lib/AnimationWaiter/index.js +107 -198
  24. package/lib/Async/index.d.ts +2 -4
  25. package/lib/Async/index.js +15 -29
  26. package/lib/Avatar/Avatar.stories.d.ts +11 -0
  27. package/lib/Avatar/did-motif.d.ts +5 -15
  28. package/lib/Avatar/did-motif.js +30 -65
  29. package/lib/Avatar/etherscan-blockies.js +42 -75
  30. package/lib/Avatar/index.d.ts +3 -19
  31. package/lib/Avatar/index.js +114 -180
  32. package/lib/Badge/Badge.stories.d.ts +13 -0
  33. package/lib/Badge/index.d.ts +3 -3
  34. package/lib/Badge/index.js +43 -83
  35. package/lib/Blocklet/Blocklet.stories.d.ts +17 -0
  36. package/lib/Blocklet/blocklet.d.ts +2 -28
  37. package/lib/Blocklet/blocklet.js +108 -191
  38. package/lib/Blocklet/index.d.ts +2 -3
  39. package/lib/Blocklet/index.js +7 -4
  40. package/lib/Blocklet/utils.d.ts +1 -1
  41. package/lib/Blocklet/utils.js +10 -10
  42. package/lib/BlockletContext/index.d.ts +3 -3
  43. package/lib/BlockletContext/index.js +32 -57
  44. package/lib/BlockletNFT/BlockletNFT.stories.d.ts +17 -0
  45. package/lib/BlockletNFT/index.d.ts +3 -38
  46. package/lib/BlockletNFT/index.js +123 -245
  47. package/lib/BlockletV2/Blocklet.stories.d.ts +18 -0
  48. package/lib/BlockletV2/blocklet.d.ts +2 -2
  49. package/lib/BlockletV2/blocklet.js +188 -213
  50. package/lib/BlockletV2/components/icon-text.d.ts +2 -2
  51. package/lib/BlockletV2/components/icon-text.js +43 -33
  52. package/lib/BlockletV2/components/tooltip-icon.js +46 -36
  53. package/lib/BlockletV2/index.d.ts +3 -3
  54. package/lib/BlockletV2/index.js +9 -5
  55. package/lib/BlockletV2/utils.d.ts +1 -1
  56. package/lib/BlockletV2/utils.js +13 -25
  57. package/lib/Button/Button.stories.d.ts +19 -0
  58. package/lib/Button/index.d.ts +1 -1
  59. package/lib/Button/index.js +6 -8
  60. package/lib/Button/wrap.d.ts +3 -3
  61. package/lib/Button/wrap.js +48 -131
  62. package/lib/ButtonGroup/index.d.ts +2 -2
  63. package/lib/ButtonGroup/index.js +6 -16
  64. package/lib/CardSelector/index.js +51 -94
  65. package/lib/Center/Center.stories.d.ts +18 -0
  66. package/lib/Center/index.js +15 -18
  67. package/lib/ClickToCopy/ClickToCopy.stories.d.ts +16 -0
  68. package/lib/ClickToCopy/copy-button.d.ts +3 -2
  69. package/lib/ClickToCopy/copy-button.js +19 -58
  70. package/lib/ClickToCopy/hook.d.ts +2 -2
  71. package/lib/ClickToCopy/hook.js +23 -32
  72. package/lib/ClickToCopy/index.d.ts +3 -14
  73. package/lib/ClickToCopy/index.js +23 -75
  74. package/lib/CloseButton/index.d.ts +1 -1
  75. package/lib/CloseButton/index.js +34 -28
  76. package/lib/CodeBlock/CodeBlock.stories.d.ts +20 -0
  77. package/lib/CodeBlock/LightBox.d.ts +4 -4
  78. package/lib/CodeBlock/LightBox.js +5 -4
  79. package/lib/CodeBlock/index.d.ts +1 -2
  80. package/lib/CodeBlock/index.js +96 -127
  81. package/lib/Colors/Colors.stories.d.ts +34 -0
  82. package/lib/Colors/index.js +8 -4
  83. package/lib/Colors/themes/default.d.ts +1 -1
  84. package/lib/Colors/themes/default.js +5 -7
  85. package/lib/Colors/themes/did-connect.js +43 -44
  86. package/lib/Colors/themes/temp.js +38 -39
  87. package/lib/Config/Config.stories.d.ts +14 -0
  88. package/lib/Config/config-provider.d.ts +8 -8
  89. package/lib/Config/config-provider.js +50 -44
  90. package/lib/Config/index.js +7 -2
  91. package/lib/Config/theme-mode-toggle.js +12 -27
  92. package/lib/ContactForm/ContactForm.stories.d.ts +23 -0
  93. package/lib/ContactForm/index.d.ts +2 -1
  94. package/lib/ContactForm/index.js +137 -164
  95. package/lib/CookieConsent/CookieConsent.stories.d.ts +18 -0
  96. package/lib/CookieConsent/index.d.ts +2 -2
  97. package/lib/CookieConsent/index.js +44 -73
  98. package/lib/CountDown/CountDown.stories.d.ts +14 -0
  99. package/lib/CountDown/index.d.ts +2 -2
  100. package/lib/CountDown/index.js +52 -124
  101. package/lib/DID/DID.stories.d.ts +15 -0
  102. package/lib/DID/index.d.ts +3 -1
  103. package/lib/DID/index.js +262 -327
  104. package/lib/DIDConnect/app-icon.js +26 -31
  105. package/lib/DIDConnect/app-info-item.js +76 -82
  106. package/lib/DIDConnect/auth-apps/auth-apps-info.js +71 -63
  107. package/lib/DIDConnect/auth-apps/index.d.ts +2 -2
  108. package/lib/DIDConnect/auth-apps/index.js +184 -183
  109. package/lib/DIDConnect/did-connect-container.js +231 -247
  110. package/lib/DIDConnect/did-connect-footer.js +66 -68
  111. package/lib/DIDConnect/did-connect-logo.js +10 -11
  112. package/lib/DIDConnect/index.js +22 -10
  113. package/lib/DIDConnect/landing-page.d.ts +1 -1
  114. package/lib/DIDConnect/landing-page.js +165 -189
  115. package/lib/DIDConnect/powered-by.js +55 -46
  116. package/lib/DIDConnect/request-storage-access-api-dialog.d.ts +5 -2
  117. package/lib/DIDConnect/request-storage-access-api-dialog.js +230 -292
  118. package/lib/DIDConnect/with-container.js +200 -236
  119. package/lib/DIDConnect/with-ux-theme.js +15 -22
  120. package/lib/Datatable/CustomToolbar.d.ts +1 -15
  121. package/lib/Datatable/CustomToolbar.js +232 -313
  122. package/lib/Datatable/Datatable.stories.d.ts +32 -0
  123. package/lib/Datatable/DatatableContext.js +23 -35
  124. package/lib/Datatable/TableSearch.d.ts +5 -13
  125. package/lib/Datatable/TableSearch.js +81 -113
  126. package/lib/Datatable/index.d.ts +12 -13
  127. package/lib/Datatable/index.js +226 -479
  128. package/lib/Datatable/utils.js +55 -120
  129. package/lib/Dialog/Dialog.stories.d.ts +20 -0
  130. package/lib/Dialog/confirm.d.ts +4 -25
  131. package/lib/Dialog/confirm.js +99 -125
  132. package/lib/Dialog/dialog.d.ts +30 -23
  133. package/lib/Dialog/dialog.js +62 -148
  134. package/lib/Dialog/index.d.ts +3 -3
  135. package/lib/Dialog/index.js +8 -4
  136. package/lib/Dialog/use-confirm.d.ts +3 -3
  137. package/lib/Dialog/use-confirm.js +91 -171
  138. package/lib/DidLogo/Logo.stories.d.ts +8 -0
  139. package/lib/DidLogo/index.js +19 -19
  140. package/lib/DriftBot/index.js +23 -33
  141. package/lib/Earth/Earth.stories.d.ts +18 -0
  142. package/lib/Earth/countries.json.js +13 -0
  143. package/lib/Earth/index.js +234 -334
  144. package/lib/Earth/util.js +36 -45
  145. package/lib/Empty/Empty.stories.d.ts +17 -0
  146. package/lib/Empty/index.d.ts +3 -11
  147. package/lib/Empty/index.js +17 -50
  148. package/lib/ErrorBoundary/ErrorBoundary.stories.d.ts +12 -0
  149. package/lib/ErrorBoundary/fallback.js +54 -71
  150. package/lib/ErrorBoundary/index.js +6 -1
  151. package/lib/Footer/Footer.stories.d.ts +12 -0
  152. package/lib/Footer/index.d.ts +1 -12
  153. package/lib/Footer/index.js +53 -100
  154. package/lib/Header/Header.stories.d.ts +21 -0
  155. package/lib/Header/addon-button.js +24 -31
  156. package/lib/Header/auto-hidden.d.ts +1 -1
  157. package/lib/Header/auto-hidden.js +9 -16
  158. package/lib/Header/header-addons.d.ts +1 -1
  159. package/lib/Header/header-addons.js +40 -37
  160. package/lib/Header/header.d.ts +2 -1
  161. package/lib/Header/header.js +64 -109
  162. package/lib/Header/index.js +8 -3
  163. package/lib/Header/responsive-header.d.ts +1 -1
  164. package/lib/Header/responsive-header.js +74 -112
  165. package/lib/Icon/Icon.stories.d.ts +23 -0
  166. package/lib/Icon/image.d.ts +1 -1
  167. package/lib/Icon/image.js +32 -33
  168. package/lib/Icon/index.d.ts +4 -4
  169. package/lib/Icon/index.js +30 -53
  170. package/lib/Img/Img.stories.d.ts +13 -0
  171. package/lib/Img/index.d.ts +6 -32
  172. package/lib/Img/index.js +126 -204
  173. package/lib/InfoRow/InfoRow.stories.d.ts +14 -0
  174. package/lib/InfoRow/index.js +27 -41
  175. package/lib/Layout/Layout.stories.d.ts +23 -0
  176. package/lib/Layout/dashboard/external-link.d.ts +1 -1
  177. package/lib/Layout/dashboard/external-link.js +23 -44
  178. package/lib/Layout/dashboard/full-page.d.ts +1 -1
  179. package/lib/Layout/dashboard/full-page.js +31 -48
  180. package/lib/Layout/dashboard/index.d.ts +4 -4
  181. package/lib/Layout/dashboard/index.js +134 -211
  182. package/lib/Layout/dashboard/sidebar.js +44 -78
  183. package/lib/Layout/dashboard-legacy/header.d.ts +1 -1
  184. package/lib/Layout/dashboard-legacy/header.js +70 -87
  185. package/lib/Layout/dashboard-legacy/index.d.ts +2 -2
  186. package/lib/Layout/dashboard-legacy/index.js +82 -90
  187. package/lib/Layout/dashboard-legacy/sidebar.d.ts +1 -1
  188. package/lib/Layout/dashboard-legacy/sidebar.js +44 -76
  189. package/lib/Layout/index.d.ts +2 -2
  190. package/lib/Layout/index.js +129 -189
  191. package/lib/LoadingMask/index.js +91 -82
  192. package/lib/Locale/LocaleSelector.stories.d.ts +22 -0
  193. package/lib/Locale/browser-lang.js +23 -52
  194. package/lib/Locale/context.d.ts +3 -3
  195. package/lib/Locale/context.js +71 -123
  196. package/lib/Locale/languages.js +32 -34
  197. package/lib/Locale/selector.d.ts +2 -2
  198. package/lib/Locale/selector.js +104 -139
  199. package/lib/Locale/util.d.ts +1 -1
  200. package/lib/Locale/util.js +9 -24
  201. package/lib/Logo/Logo.stories.d.ts +22 -0
  202. package/lib/Logo/images/logo-dark-text.svg.js +5 -0
  203. package/lib/Logo/images/logo-dark-top.svg.js +5 -0
  204. package/lib/Logo/images/logo-light-text.svg.js +5 -0
  205. package/lib/Logo/images/logo-light-top.svg.js +5 -0
  206. package/lib/Logo/index.d.ts +1 -1
  207. package/lib/Logo/index.js +27 -107
  208. package/lib/Metric/Metric.stories.d.ts +14 -0
  209. package/lib/Metric/index.js +50 -53
  210. package/lib/MuiWrap/index.js +11 -19
  211. package/lib/NFTDisplay/NFTBroken.svg.js +108 -0
  212. package/lib/NFTDisplay/NFTDisplay.stories.d.ts +15 -0
  213. package/lib/NFTDisplay/aspect-ratio-container.js +9 -20
  214. package/lib/NFTDisplay/broken.js +14 -286
  215. package/lib/NFTDisplay/displayApi.d.ts +1 -1
  216. package/lib/NFTDisplay/displayApi.js +17 -44
  217. package/lib/NFTDisplay/index.d.ts +2 -2
  218. package/lib/NFTDisplay/index.js +160 -343
  219. package/lib/NFTDisplay/loading.js +9 -9
  220. package/lib/NFTDisplay/render-svg.js +15 -22
  221. package/lib/NFTDisplay/svg-embedder/img.js +13 -29
  222. package/lib/NFTDisplay/svg-embedder/inline-svg.d.ts +1 -1
  223. package/lib/NFTDisplay/svg-embedder/inline-svg.js +10 -20
  224. package/lib/NavMenu/NavMenu.stories.d.ts +17 -0
  225. package/lib/NavMenu/images/OCAP.svg.js +5 -0
  226. package/lib/NavMenu/images/abt-network.svg.js +7 -0
  227. package/lib/NavMenu/images/ai-kit.svg.js +7 -0
  228. package/lib/NavMenu/images/aigne.svg.js +7 -0
  229. package/lib/NavMenu/images/aistro.svg.js +5 -0
  230. package/lib/NavMenu/images/arcsphere.svg.js +10 -0
  231. package/lib/NavMenu/images/blocklet-framework.svg.js +7 -0
  232. package/lib/NavMenu/images/blocklet-launcher.svg.js +5 -0
  233. package/lib/NavMenu/images/blocklet-server.svg.js +7 -0
  234. package/lib/NavMenu/images/blocklet-store.svg.js +5 -0
  235. package/lib/NavMenu/images/creator-studio.svg.js +7 -0
  236. package/lib/NavMenu/images/did-connect.svg.js +5 -0
  237. package/lib/NavMenu/images/did-name-service.svg.js +5 -0
  238. package/lib/NavMenu/images/did-wallet.svg.js +7 -0
  239. package/lib/NavMenu/images/did.svg.js +5 -0
  240. package/lib/NavMenu/images/nft-studio.svg.js +5 -0
  241. package/lib/NavMenu/images/vc.svg.js +5 -0
  242. package/lib/NavMenu/images/web3-kit.svg.js +7 -0
  243. package/lib/NavMenu/index.js +6 -3
  244. package/lib/NavMenu/nav-menu-context.js +15 -18
  245. package/lib/NavMenu/nav-menu.d.ts +17 -7
  246. package/lib/NavMenu/nav-menu.js +219 -355
  247. package/lib/NavMenu/products.js +264 -1652
  248. package/lib/NavMenu/style.d.ts +5 -5
  249. package/lib/NavMenu/style.js +156 -172
  250. package/lib/NavMenu/sub-container.d.ts +1 -1
  251. package/lib/NavMenu/sub-container.js +63 -104
  252. package/lib/NavMenu/sub-item-group.js +15 -33
  253. package/lib/PageScroller/index.d.ts +1 -1
  254. package/lib/PageScroller/index.js +116 -252
  255. package/lib/PageScroller/story/FifthComponent.js +7 -9
  256. package/lib/PageScroller/story/FirstComponent.js +7 -9
  257. package/lib/PageScroller/story/FourthComponent.js +7 -12
  258. package/lib/PageScroller/story/FullPage.js +52 -45
  259. package/lib/PageScroller/story/PageContain.js +55 -57
  260. package/lib/PageScroller/story/PageScroller.stories.d.ts +13 -0
  261. package/lib/PageScroller/story/SecondComponent.js +7 -9
  262. package/lib/PageScroller/story/ThirdComponent.js +7 -9
  263. package/lib/PageScroller/usePrevValue.js +10 -8
  264. package/lib/Passport/index.d.ts +1 -1
  265. package/lib/Passport/index.js +4 -2
  266. package/lib/Passport/passport.d.ts +1 -1
  267. package/lib/Passport/passport.js +123 -100
  268. package/lib/PhoneInput/PhoneInput.stories.d.ts +12 -0
  269. package/lib/PhoneInput/country-select.d.ts +2 -2
  270. package/lib/PhoneInput/country-select.js +111 -159
  271. package/lib/PhoneInput/index.js +166 -218
  272. package/lib/PoweredByArcBlock/index.d.ts +1 -1
  273. package/lib/PoweredByArcBlock/index.js +16 -22
  274. package/lib/PricingTable/PricingPlan.js +20 -55
  275. package/lib/PricingTable/PricingTable.stories.d.ts +8 -0
  276. package/lib/PricingTable/index.d.ts +1 -1
  277. package/lib/PricingTable/index.js +34 -37
  278. package/lib/QRCode/QRCode.stories.d.ts +13 -0
  279. package/lib/QRCode/index.d.ts +1 -1
  280. package/lib/QRCode/index.js +31 -49
  281. package/lib/RelativeTime/RelativeTime.stories.d.ts +20 -0
  282. package/lib/RelativeTime/index.d.ts +3 -3
  283. package/lib/RelativeTime/index.js +163 -261
  284. package/lib/Result/Result.stories.d.ts +21 -0
  285. package/lib/Result/common.d.ts +2 -2
  286. package/lib/Result/common.js +97 -129
  287. package/lib/Result/index.d.ts +1 -1
  288. package/lib/Result/index.js +21 -22
  289. package/lib/Result/result.js +45 -32
  290. package/lib/Result/translations.d.ts +1 -1
  291. package/lib/Result/translations.js +28 -25
  292. package/lib/Screenshot/BaseScreenshot/index.d.ts +1 -1
  293. package/lib/Screenshot/BaseScreenshot/index.js +23 -44
  294. package/lib/Screenshot/BaseScreenshot/shells/Macbook.js +23 -41
  295. package/lib/Screenshot/BaseScreenshot/shells/Phone.js +24 -26
  296. package/lib/Screenshot/Screenshot.stories.d.ts +13 -0
  297. package/lib/Screenshot/demo/images/bg-01.jpg +0 -0
  298. package/lib/Screenshot/demo/images/bg-02.jpg +0 -0
  299. package/lib/Screenshot/demo/images/bg-03.jpg +0 -0
  300. package/lib/Screenshot/index.d.ts +1 -2
  301. package/lib/Screenshot/index.js +83 -188
  302. package/lib/SessionBlocklet/index.d.ts +2 -2
  303. package/lib/SessionBlocklet/index.js +147 -162
  304. package/lib/SessionManager/SessionManager.stories.d.ts +9 -0
  305. package/lib/SessionManager/index.d.ts +1 -1
  306. package/lib/SessionManager/index.js +4 -2
  307. package/lib/SessionPermission/index.d.ts +1 -0
  308. package/lib/SessionPermission/index.js +12 -20
  309. package/lib/SessionUser/components/did-space.js +65 -117
  310. package/lib/SessionUser/components/logged-in.d.ts +3 -4
  311. package/lib/SessionUser/components/logged-in.js +215 -292
  312. package/lib/SessionUser/components/quick-login-item.js +125 -120
  313. package/lib/SessionUser/components/session-user-item.d.ts +4 -2
  314. package/lib/SessionUser/components/session-user-item.js +85 -89
  315. package/lib/SessionUser/components/session-user-switch.d.ts +1 -1
  316. package/lib/SessionUser/components/session-user-switch.js +187 -187
  317. package/lib/SessionUser/components/un-login.js +196 -222
  318. package/lib/SessionUser/components/user-info.d.ts +1 -1
  319. package/lib/SessionUser/components/user-info.js +163 -150
  320. package/lib/SessionUser/images/did-spaces.svg.js +5 -0
  321. package/lib/SessionUser/index.d.ts +1 -1
  322. package/lib/SessionUser/index.js +27 -30
  323. package/lib/SessionUser/libs/translation.d.ts +1 -1
  324. package/lib/SessionUser/libs/translation.js +25 -24
  325. package/lib/SessionUser/libs/utils.js +33 -23
  326. package/lib/SharedBridge/index.d.ts +6 -5
  327. package/lib/SharedBridge/index.js +76 -93
  328. package/lib/Sparkline/Sparkline.stories.d.ts +12 -0
  329. package/lib/Sparkline/index.js +67 -183
  330. package/lib/Spinner/Spinner.stories.d.ts +18 -0
  331. package/lib/Spinner/index.d.ts +1 -1
  332. package/lib/Spinner/index.js +10 -20
  333. package/lib/SplitButton/SplitButton.stories.d.ts +15 -0
  334. package/lib/SplitButton/index.d.ts +3 -5
  335. package/lib/SplitButton/index.js +39 -83
  336. package/lib/Success/index.js +174 -160
  337. package/lib/Switch/Switch.stories.d.ts +13 -0
  338. package/lib/Switch/index.d.ts +3 -7
  339. package/lib/Switch/index.js +51 -87
  340. package/lib/Tabs/Tabs.stories.d.ts +14 -0
  341. package/lib/Tabs/index.d.ts +2 -2
  342. package/lib/Tabs/index.js +169 -186
  343. package/lib/Tag/Tag.stories.d.ts +13 -0
  344. package/lib/Tag/index.d.ts +7 -4
  345. package/lib/Tag/index.js +40 -88
  346. package/lib/TextCollapse/TextCollapse.stories.d.ts +28 -0
  347. package/lib/TextCollapse/index.js +34 -51
  348. package/lib/Theme/Theme.stories.d.ts +10 -0
  349. package/lib/Theme/index.d.ts +1 -2
  350. package/lib/Theme/index.js +25 -17
  351. package/lib/Theme/theme-provider.d.ts +4 -15
  352. package/lib/Theme/theme-provider.js +111 -232
  353. package/lib/Theme/theme.d.ts +1 -8
  354. package/lib/Theme/theme.js +118 -166
  355. package/lib/Toast/Toast.stories.d.ts +15 -0
  356. package/lib/Toast/index.d.ts +1 -1
  357. package/lib/Toast/index.js +46 -67
  358. package/lib/Typography/index.d.ts +1 -1
  359. package/lib/Typography/index.js +73 -109
  360. package/lib/UserCard/Cards/avatar-only.d.ts +1 -1
  361. package/lib/UserCard/Cards/avatar-only.js +28 -36
  362. package/lib/UserCard/Cards/basic-info.d.ts +1 -2
  363. package/lib/UserCard/Cards/basic-info.js +34 -42
  364. package/lib/UserCard/Cards/index.d.ts +1 -1
  365. package/lib/UserCard/Cards/index.js +13 -21
  366. package/lib/UserCard/Cards/name-only.js +12 -18
  367. package/lib/UserCard/Container/card.d.ts +2 -2
  368. package/lib/UserCard/Container/card.js +34 -41
  369. package/lib/UserCard/Container/dialog.d.ts +1 -1
  370. package/lib/UserCard/Container/dialog.js +27 -27
  371. package/lib/UserCard/Content/basic.d.ts +1 -2
  372. package/lib/UserCard/Content/basic.js +198 -306
  373. package/lib/UserCard/Content/clock.d.ts +2 -0
  374. package/lib/UserCard/Content/clock.js +85 -71
  375. package/lib/UserCard/Content/minimal.d.ts +1 -1
  376. package/lib/UserCard/Content/minimal.js +81 -71
  377. package/lib/UserCard/Content/shorten-label.js +11 -35
  378. package/lib/UserCard/Content/tooltip-avatar.d.ts +1 -1
  379. package/lib/UserCard/Content/tooltip-avatar.js +43 -51
  380. package/lib/UserCard/UserCard.stories.d.ts +18 -0
  381. package/lib/UserCard/components.d.ts +1 -1
  382. package/lib/UserCard/components.js +53 -66
  383. package/lib/UserCard/index.d.ts +1 -2
  384. package/lib/UserCard/index.js +59 -111
  385. package/lib/UserCard/types.d.ts +1 -1
  386. package/lib/UserCard/types.js +10 -37
  387. package/lib/UserCard/utils.js +70 -125
  388. package/lib/Util/WebWalletOpener.stories.d.ts +5 -0
  389. package/lib/Util/constant.js +47 -46
  390. package/lib/Util/deprecate.js +11 -26
  391. package/lib/Util/federated.d.ts +6 -6
  392. package/lib/Util/federated.js +77 -92
  393. package/lib/Util/iframe.js +14 -21
  394. package/lib/Util/index.d.ts +5 -5
  395. package/lib/Util/index.js +278 -479
  396. package/lib/Util/logger.d.ts +1 -1
  397. package/lib/Util/logger.js +17 -25
  398. package/lib/Util/passport.js +72 -87
  399. package/lib/Util/security.js +28 -40
  400. package/lib/Util/style.d.ts +1 -1
  401. package/lib/Util/style.js +4 -14
  402. package/lib/Util/wallet.js +16 -30
  403. package/lib/VerificationCode/index.d.ts +1 -1
  404. package/lib/VerificationCode/index.js +69 -64
  405. package/lib/Video/Video.stories.d.ts +6 -0
  406. package/lib/Video/index.d.ts +1 -9
  407. package/lib/Video/index.js +26 -60
  408. package/lib/Wallet/Action.d.ts +1 -10
  409. package/lib/Wallet/Action.js +37 -65
  410. package/lib/Wallet/Action.stories.d.ts +8 -0
  411. package/lib/Wallet/Download.d.ts +3 -16
  412. package/lib/Wallet/Download.js +41 -440
  413. package/lib/Wallet/Download.stories.d.ts +9 -0
  414. package/lib/Wallet/Open.d.ts +1 -1
  415. package/lib/Wallet/Open.js +27 -27
  416. package/lib/Wallet/OpenInWallet.stories.d.ts +5 -0
  417. package/lib/Wallet/images/android_download.svg.js +5 -0
  418. package/lib/Wallet/images/app-store.svg.js +5 -0
  419. package/lib/Wallet/images/google-play.svg.js +5 -0
  420. package/lib/WalletOSIcon/index.js +15 -73
  421. package/lib/WebWalletSWKeeper/index.js +39 -106
  422. package/lib/WechatPrompt/images/android.png +0 -0
  423. package/lib/WechatPrompt/images/ios.png +0 -0
  424. package/lib/WechatPrompt/index.js +26 -61
  425. package/lib/hooks/use-blocklet-logo.d.ts +2 -2
  426. package/lib/hooks/use-blocklet-logo.js +22 -30
  427. package/lib/hooks/use-clock.d.ts +1 -3
  428. package/lib/hooks/use-clock.js +34 -67
  429. package/lib/hooks/use-location-state.js +55 -79
  430. package/lib/hooks/use-mobile.js +8 -7
  431. package/lib/index.d.ts +35 -35
  432. package/lib/index.js +81 -38
  433. package/lib/ux.css +1 -0
  434. package/lib/withTheme/index.d.ts +1 -3
  435. package/lib/withTheme/index.js +28 -37
  436. package/lib/withTracker/error_boundary.d.ts +1 -1
  437. package/lib/withTracker/error_boundary.js +15 -29
  438. package/lib/withTracker/index.js +21 -48
  439. package/package.json +48 -57
  440. package/src/ActionButton/ActionButton.stories.jsx +61 -0
  441. package/src/ActionButton/index.jsx +30 -14
  442. package/src/ActivityIndicator/ActivityIndicator.stories.jsx +9 -0
  443. package/src/ActivityIndicator/index.jsx +2 -11
  444. package/src/Address/Address.stories.jsx +38 -0
  445. package/src/Address/compact-text.jsx +9 -11
  446. package/src/Address/did-address.tsx +8 -4
  447. package/src/Address/index.tsx +12 -9
  448. package/src/Address/responsive-did-address.tsx +94 -89
  449. package/src/Alert/Alert.stories.jsx +100 -0
  450. package/src/Alert/index.jsx +24 -12
  451. package/src/AnimationWaiter/AnimationWaiter.stories.jsx +35 -0
  452. package/src/AnimationWaiter/index.jsx +10 -23
  453. package/src/Async/index.tsx +2 -2
  454. package/src/Avatar/Avatar.stories.jsx +11 -0
  455. package/src/Avatar/did-motif.jsx +1 -8
  456. package/src/Avatar/index.jsx +36 -13
  457. package/src/Badge/Badge.stories.jsx +41 -0
  458. package/src/Badge/index.jsx +22 -18
  459. package/src/Blocklet/Blocklet.stories.jsx +21 -0
  460. package/src/Blocklet/blocklet.jsx +13 -30
  461. package/src/BlockletContext/index.tsx +2 -2
  462. package/src/BlockletNFT/BlockletNFT.stories.jsx +21 -0
  463. package/src/BlockletNFT/index.jsx +14 -38
  464. package/src/BlockletV2/Blocklet.stories.jsx +34 -0
  465. package/src/BlockletV2/blocklet.tsx +69 -29
  466. package/src/BlockletV2/components/icon-text.tsx +15 -5
  467. package/src/Button/Button.stories.jsx +24 -0
  468. package/src/Button/index.js +1 -1
  469. package/src/Button/wrap.jsx +20 -13
  470. package/src/ButtonGroup/index.js +1 -1
  471. package/src/Center/Center.stories.jsx +20 -0
  472. package/src/ClickToCopy/ClickToCopy.stories.jsx +24 -0
  473. package/src/ClickToCopy/copy-button.tsx +4 -4
  474. package/src/ClickToCopy/index.tsx +28 -12
  475. package/src/CodeBlock/CodeBlock.stories.jsx +22 -0
  476. package/src/CodeBlock/index.tsx +1 -2
  477. package/src/Colors/Colors.stories.jsx +211 -0
  478. package/src/Colors/themes/did-connect.ts +0 -2
  479. package/src/Config/Config.stories.jsx +16 -0
  480. package/src/Config/theme-mode-toggle.tsx +4 -2
  481. package/src/ContactForm/ContactForm.stories.jsx +32 -0
  482. package/src/ContactForm/index.tsx +2 -2
  483. package/src/CookieConsent/CookieConsent.stories.jsx +33 -0
  484. package/src/CookieConsent/index.tsx +1 -1
  485. package/src/CountDown/CountDown.stories.jsx +15 -0
  486. package/src/CountDown/index.tsx +11 -6
  487. package/src/DID/DID.stories.jsx +37 -0
  488. package/src/DID/index.tsx +8 -3
  489. package/src/DIDConnect/app-info-item.tsx +2 -2
  490. package/src/DIDConnect/did-connect-container.tsx +17 -18
  491. package/src/DIDConnect/request-storage-access-api-dialog.tsx +210 -183
  492. package/src/DIDConnect/with-container.tsx +17 -18
  493. package/src/Datatable/CustomToolbar.jsx +32 -34
  494. package/src/Datatable/Datatable.stories.jsx +92 -0
  495. package/src/Datatable/DatatableContext.jsx +2 -2
  496. package/src/Datatable/TableSearch.jsx +10 -12
  497. package/src/Datatable/index.jsx +36 -58
  498. package/src/Datatable/utils.js +7 -7
  499. package/src/Dialog/Dialog.stories.jsx +21 -0
  500. package/src/Dialog/confirm.jsx +11 -21
  501. package/src/Dialog/dialog.jsx +9 -20
  502. package/src/Dialog/use-confirm.jsx +4 -3
  503. package/src/DidLogo/Logo.stories.jsx +8 -0
  504. package/src/DriftBot/index.tsx +4 -6
  505. package/src/Earth/Earth.stories.jsx +39 -0
  506. package/src/Earth/index.tsx +1 -1
  507. package/src/Empty/Empty.stories.jsx +23 -0
  508. package/src/Empty/index.jsx +1 -6
  509. package/src/ErrorBoundary/ErrorBoundary.stories.jsx +13 -0
  510. package/src/ErrorBoundary/fallback.tsx +5 -1
  511. package/src/Footer/Footer.stories.jsx +13 -0
  512. package/src/Footer/index.tsx +10 -18
  513. package/src/Header/Header.stories.jsx +30 -0
  514. package/src/Header/auto-hidden.tsx +1 -1
  515. package/src/Header/header.tsx +21 -4
  516. package/src/Header/responsive-header.tsx +11 -13
  517. package/src/Icon/Icon.stories.jsx +45 -0
  518. package/src/Icon/index.tsx +12 -24
  519. package/src/Img/Img.stories.jsx +17 -0
  520. package/src/Img/index.jsx +14 -30
  521. package/src/InfoRow/InfoRow.stories.jsx +14 -0
  522. package/src/InfoRow/index.tsx +5 -5
  523. package/src/Layout/Layout.stories.jsx +24 -0
  524. package/src/Layout/dashboard/full-page.tsx +4 -4
  525. package/src/Layout/dashboard/index.tsx +24 -21
  526. package/src/Layout/dashboard/sidebar.tsx +1 -1
  527. package/src/Layout/dashboard-legacy/header.tsx +25 -14
  528. package/src/Layout/dashboard-legacy/index.tsx +7 -7
  529. package/src/Layout/dashboard-legacy/sidebar.tsx +1 -3
  530. package/src/Layout/index.tsx +8 -6
  531. package/src/Locale/LocaleSelector.stories.jsx +44 -0
  532. package/src/Locale/context.tsx +2 -2
  533. package/src/Locale/selector.tsx +10 -17
  534. package/src/Logo/Logo.stories.jsx +23 -0
  535. package/src/Metric/Metric.stories.jsx +29 -0
  536. package/src/NFTDisplay/NFTDisplay.stories.jsx +30 -0
  537. package/src/NFTDisplay/broken.tsx +1 -1
  538. package/src/NFTDisplay/displayApi.ts +1 -0
  539. package/src/NFTDisplay/index.tsx +0 -1
  540. package/src/NavMenu/NavMenu.stories.jsx +17 -0
  541. package/src/NavMenu/nav-menu-context.tsx +3 -3
  542. package/src/NavMenu/nav-menu.tsx +138 -125
  543. package/src/NavMenu/products.tsx +7 -1
  544. package/src/NavMenu/style.ts +1 -1
  545. package/src/PageScroller/index.tsx +2 -2
  546. package/src/PageScroller/story/PageScroller.stories.jsx +18 -0
  547. package/src/PageScroller/usePrevValue.ts +1 -1
  548. package/src/PhoneInput/PhoneInput.stories.jsx +12 -0
  549. package/src/PhoneInput/country-select.tsx +107 -103
  550. package/src/PhoneInput/index.tsx +12 -4
  551. package/src/PricingTable/PricingPlan.tsx +1 -4
  552. package/src/PricingTable/PricingTable.stories.jsx +38 -0
  553. package/src/PricingTable/index.tsx +16 -4
  554. package/src/QRCode/QRCode.stories.jsx +13 -0
  555. package/src/RelativeTime/RelativeTime.stories.jsx +20 -0
  556. package/src/RelativeTime/index.tsx +20 -5
  557. package/src/Result/Result.stories.jsx +61 -0
  558. package/src/Result/common.tsx +1 -2
  559. package/src/Result/result.tsx +22 -6
  560. package/src/Screenshot/Screenshot.stories.jsx +44 -0
  561. package/src/Screenshot/index.tsx +33 -15
  562. package/src/SessionManager/SessionManager.stories.jsx +9 -0
  563. package/src/SessionPermission/index.tsx +1 -0
  564. package/src/SessionUser/components/logged-in.tsx +0 -2
  565. package/src/SessionUser/components/quick-login-item.tsx +3 -3
  566. package/src/SessionUser/components/session-user-item.tsx +68 -70
  567. package/src/SessionUser/components/session-user-switch.tsx +9 -1
  568. package/src/SessionUser/components/un-login.tsx +8 -1
  569. package/src/SharedBridge/index.tsx +106 -111
  570. package/src/Sparkline/Sparkline.stories.jsx +13 -0
  571. package/src/Spinner/Spinner.stories.jsx +98 -0
  572. package/src/Spinner/index.tsx +1 -1
  573. package/src/SplitButton/SplitButton.stories.jsx +32 -0
  574. package/src/SplitButton/index.tsx +15 -9
  575. package/src/Switch/Switch.stories.jsx +16 -0
  576. package/src/Switch/index.jsx +2 -6
  577. package/src/Tabs/Tabs.stories.jsx +18 -0
  578. package/src/Tabs/index.tsx +3 -3
  579. package/src/Tag/Tag.stories.jsx +15 -0
  580. package/src/Tag/index.jsx +20 -11
  581. package/src/TextCollapse/TextCollapse.stories.jsx +73 -0
  582. package/src/TextCollapse/index.tsx +1 -1
  583. package/src/Theme/Theme.stories.jsx +10 -0
  584. package/src/Theme/theme-provider.tsx +10 -18
  585. package/src/Theme/theme.ts +7 -2
  586. package/src/Toast/Toast.stories.jsx +28 -0
  587. package/src/Toast/index.tsx +2 -2
  588. package/src/Typography/index.tsx +6 -2
  589. package/src/UserCard/Cards/basic-info.tsx +9 -5
  590. package/src/UserCard/Container/card.tsx +2 -2
  591. package/src/UserCard/Content/basic.tsx +39 -38
  592. package/src/UserCard/Content/clock.tsx +13 -6
  593. package/src/UserCard/Content/minimal.tsx +23 -7
  594. package/src/UserCard/Content/tooltip-avatar.tsx +14 -11
  595. package/src/UserCard/UserCard.stories.jsx +18 -0
  596. package/src/UserCard/components.tsx +6 -3
  597. package/src/UserCard/index.tsx +0 -1
  598. package/src/Util/WebWalletOpener.stories.jsx +5 -0
  599. package/src/Util/index.ts +37 -3
  600. package/src/VerificationCode/index.tsx +16 -14
  601. package/src/Video/Video.stories.jsx +6 -0
  602. package/src/Video/index.tsx +16 -8
  603. package/src/Wallet/Action.stories.jsx +8 -0
  604. package/src/Wallet/Action.tsx +20 -9
  605. package/src/Wallet/Download.stories.jsx +9 -0
  606. package/src/Wallet/Download.tsx +36 -14
  607. package/src/Wallet/Open.tsx +1 -1
  608. package/src/Wallet/OpenInWallet.stories.jsx +5 -0
  609. package/src/WechatPrompt/index.tsx +1 -2
  610. package/src/hooks/use-clock.tsx +2 -1
  611. package/src/withTheme/index.tsx +1 -4
  612. package/vite.config.mjs +34 -0
  613. package/babel.config.es.js +0 -28
  614. package/lib/Dialog/types.d.ts +0 -20
  615. package/lib/Earth/countries.json +0 -8057
  616. package/lib/Header/demo/images/boards.svg +0 -3
  617. package/lib/Header/demo/images/chatbot.svg +0 -3
  618. package/lib/Header/demo/images/gallery.svg +0 -3
  619. package/lib/Logo/images/logo-dark-text.svg +0 -3
  620. package/lib/Logo/images/logo-dark-top.svg +0 -6
  621. package/lib/Logo/images/logo-light-text.svg +0 -3
  622. package/lib/Logo/images/logo-light-top.svg +0 -6
  623. package/lib/NFTDisplay/NFTBroken.svg +0 -34
  624. package/lib/NFTDisplay/README.md +0 -59
  625. package/lib/NFTDisplay/demo/data/asset-state-bad-url.json +0 -7
  626. package/lib/NFTDisplay/demo/data/asset-state-did-space-svg.json +0 -7
  627. package/lib/NFTDisplay/demo/data/asset-state-did-space.json +0 -7
  628. package/lib/NFTDisplay/demo/data/asset-state-display-url.json +0 -7
  629. package/lib/NFTDisplay/demo/data/asset-state-gzipped-svg-1-1.json +0 -10
  630. package/lib/NFTDisplay/demo/data/asset-state-gzipped-svg-374-130.json +0 -10
  631. package/lib/NFTDisplay/demo/data/asset-state-gzipped-svg-with-foreign-object.json +0 -20
  632. package/lib/NFTDisplay/demo/data/asset-state-svg.json +0 -29
  633. package/lib/NFTDisplay/demo/data/asset-state-url.json +0 -10
  634. package/lib/NavMenu/images/OCAP.svg +0 -16
  635. package/lib/NavMenu/images/abt-network.svg +0 -18
  636. package/lib/NavMenu/images/ai-kit.svg +0 -46
  637. package/lib/NavMenu/images/aigne.svg +0 -8
  638. package/lib/NavMenu/images/aistro.svg +0 -14
  639. package/lib/NavMenu/images/arcsphere.svg +0 -13
  640. package/lib/NavMenu/images/blocklet-framework.svg +0 -25
  641. package/lib/NavMenu/images/blocklet-launcher.svg +0 -9
  642. package/lib/NavMenu/images/blocklet-server.svg +0 -19
  643. package/lib/NavMenu/images/blocklet-store.svg +0 -11
  644. package/lib/NavMenu/images/creator-studio.svg +0 -42
  645. package/lib/NavMenu/images/did-connect.svg +0 -26
  646. package/lib/NavMenu/images/did-name-service.svg +0 -3
  647. package/lib/NavMenu/images/did-wallet.svg +0 -33
  648. package/lib/NavMenu/images/did.svg +0 -3
  649. package/lib/NavMenu/images/nft-studio.svg +0 -19
  650. package/lib/NavMenu/images/vc.svg +0 -7
  651. package/lib/NavMenu/images/web3-kit.svg +0 -56
  652. package/lib/PageScroller/story/index.css +0 -115
  653. package/lib/Result/demo/fixtures/result-image-404.svg +0 -1
  654. package/lib/Screenshot/devices.css +0 -1366
  655. package/lib/SessionUser/images/did-spaces.svg +0 -17
  656. package/lib/Wallet/images/android_download.svg +0 -22
  657. package/lib/Wallet/images/app-store.svg +0 -30
  658. package/lib/Wallet/images/google-play.svg +0 -69
  659. package/lib/global.d.ts +0 -28
  660. package/lib/type.d.ts +0 -44
  661. package/lib/withTracker/README.md +0 -37
  662. /package/src/PageScroller/story/{FifthComponent.js → FifthComponent.jsx} +0 -0
  663. /package/src/PageScroller/story/{FirstComponent.js → FirstComponent.jsx} +0 -0
  664. /package/src/PageScroller/story/{FourthComponent.js → FourthComponent.jsx} +0 -0
  665. /package/src/PageScroller/story/{FullPage.js → FullPage.jsx} +0 -0
  666. /package/src/PageScroller/story/{PageContain.js → PageContain.jsx} +0 -0
  667. /package/src/PageScroller/story/{SecondComponent.js → SecondComponent.jsx} +0 -0
  668. /package/src/PageScroller/story/{ThirdComponent.js → ThirdComponent.jsx} +0 -0
package/lib/Util/index.js CHANGED
@@ -1,521 +1,320 @@
1
- /* eslint-disable no-bitwise */
2
- import { lazy } from 'react';
3
- import padStart from 'lodash/padStart';
4
- import { getDIDMotifInfo, colors } from '@arcblock/did-motif';
5
- import isNil from 'lodash/isNil';
6
- import omitBy from 'lodash/omitBy';
7
- import pRetry from 'p-retry';
8
- import Cookies from 'js-cookie';
9
- import colorConvert from 'color-convert';
10
- import deepmerge from '@mui/utils/deepmerge';
11
- import { DID_PREFIX, BLOCKLET_SERVICE_PATH_PREFIX } from './constant';
12
- import { getFederatedEnabled } from './federated';
13
- let dateTool = null;
14
- const IP_V4_REGEX = /^(\d{1,3}\.){3}\d{1,3}(:\d+)?$/;
15
- // 常见顶级域名
16
- const commonSLDs = new Set(['co', 'com', 'net', 'org', 'gov', 'edu', 'ac']);
17
- // 常见国家域名
18
- const commonCcTLDs = new Set(['uk', 'au', 'cn', 'nz', 'za', 'in', 'br', 'mx', 'fr', 'it', 'ca']);
19
-
20
- /** 是否常见二段式顶级域名 */
21
- export function isTwoSegmentTLD(domain) {
22
- if (!domain) {
23
- return false;
24
- }
25
- const parts = domain.split('.');
26
- if (parts.length < 2) return false;
27
- const sld = parts[parts.length - 2];
28
- const tld = parts[parts.length - 1];
29
- return commonSLDs.has(sld) && commonCcTLDs.has(tld);
1
+ import { lazy as E } from "react";
2
+ import u from "lodash/padStart";
3
+ import { colors as g, getDIDMotifInfo as x } from "@arcblock/did-motif";
4
+ import y from "lodash/isNil";
5
+ import k from "lodash/omitBy";
6
+ import A from "p-retry";
7
+ import l from "js-cookie";
8
+ import F from "color-convert";
9
+ import U from "@mui/utils/deepmerge";
10
+ import a from "dayjs";
11
+ import "dayjs/locale/zh-cn";
12
+ import j from "dayjs/plugin/utc";
13
+ import O from "dayjs/plugin/timezone";
14
+ import R from "dayjs/plugin/relativeTime";
15
+ import W from "dayjs/plugin/updateLocale";
16
+ import L from "dayjs/plugin/localizedFormat";
17
+ import { DID_PREFIX as P, BLOCKLET_SERVICE_PATH_PREFIX as v } from "./constant.js";
18
+ import { getFederatedEnabled as C } from "./federated.js";
19
+ let f = null;
20
+ const V = /^(\d{1,3}\.){3}\d{1,3}(:\d+)?$/, _ = /* @__PURE__ */ new Set(["co", "com", "net", "org", "gov", "edu", "ac"]), M = /* @__PURE__ */ new Set(["uk", "au", "cn", "nz", "za", "in", "br", "mx", "fr", "it", "ca"]);
21
+ function z(e) {
22
+ if (!e)
23
+ return !1;
24
+ const t = e.split(".");
25
+ if (t.length < 2) return !1;
26
+ const r = t[t.length - 2], n = t[t.length - 1];
27
+ return _.has(r) && M.has(n);
30
28
  }
31
-
32
- /** 获取根域名 */
33
- export function resolveRootDomain() {
34
- const {
35
- host
36
- } = window.location;
37
- if (!host) {
38
- return '';
39
- }
40
- if (IP_V4_REGEX.test(host)) {
41
- return '';
42
- }
43
-
44
- // 移除可能存在的端口号
45
- const hostWithoutPort = host.split(':')[0];
46
- const parts = hostWithoutPort.split('.');
47
- if (parts.length === 1) {
48
- return '';
49
- }
50
-
51
- // 二段式顶级域名
52
- if (parts.length > 2) {
53
- const tld = parts.slice(-2).join('.');
54
- if (isTwoSegmentTLD(tld)) {
55
- return `.${parts.slice(-3).join('.')}`;
56
- }
57
- }
58
- return `.${parts.slice(-2).join('.')}`;
29
+ function me() {
30
+ const { host: e } = window.location;
31
+ if (!e || V.test(e))
32
+ return "";
33
+ const r = e.split(":")[0].split(".");
34
+ if (r.length === 1)
35
+ return "";
36
+ if (r.length > 2) {
37
+ const n = r.slice(-2).join(".");
38
+ if (z(n))
39
+ return `.${r.slice(-3).join(".")}`;
40
+ }
41
+ return `.${r.slice(-2).join(".")}`;
59
42
  }
60
- export function parseQuery(str) {
61
- return str.replace(/^\?/, '').split('&').map(x => x.split('=')).filter(([key]) => !!key).reduce((memo, x) => {
62
- const key = x[0];
63
- const value = decodeURIComponent(x[1]) || true;
64
- memo[key] = value;
65
- return memo;
43
+ function de(e) {
44
+ return e.replace(/^\?/, "").split("&").map((t) => t.split("=")).filter(([t]) => !!t).reduce((t, r) => {
45
+ const n = r[0], i = decodeURIComponent(r[1]) || !0;
46
+ return t[n] = i, t;
66
47
  }, {});
67
48
  }
68
- export function stringifyQuery(params = {}) {
69
- return new URLSearchParams(params).toString();
49
+ function pe(e = {}) {
50
+ return new URLSearchParams(e).toString();
70
51
  }
71
- export function getCookieOptions(expireInDays = 1) {
72
- let opts = expireInDays;
73
- if (typeof opts === 'number') {
74
- opts = {
75
- expireInDays: opts
76
- };
77
- }
78
- if (opts.path === undefined) {
79
- opts.path = '/';
80
- }
81
- if (!opts.expireInDays) {
82
- opts.expireInDays = 1;
83
- }
84
- const options = {
85
- expires: opts.expireInDays,
86
- path: opts.path,
87
- domain: opts.domain || '',
88
- sameSite: opts.sameSite || 'Lax',
52
+ function he(e = 1) {
53
+ let t = e;
54
+ typeof t == "number" && (t = { expireInDays: t }), t.path === void 0 && (t.path = "/"), t.expireInDays || (t.expireInDays = 1);
55
+ const r = {
56
+ expires: t.expireInDays,
57
+ path: t.path,
58
+ domain: t.domain || "",
59
+ sameSite: t.sameSite || "Lax",
89
60
  // 允许自定义设置为 false,默认是 true
90
- secure: opts.secure !== false
61
+ secure: t.secure !== !1
91
62
  };
92
- if (typeof window === 'undefined' || opts.domain || opts.returnDomain === false) {
93
- if (opts.returnDomain === false) {
94
- delete options.domain;
95
- }
96
- return options;
97
- }
98
- return options;
63
+ return (typeof window > "u" || t.domain || t.returnDomain === !1) && t.returnDomain === !1 && delete r.domain, r;
99
64
  }
100
- export const getColor = props => {
101
- if (props.color) {
102
- return props.color;
103
- }
104
- if (props.dark) {
105
- return props.theme.palette.common.white;
106
- }
107
- return props.theme.palette.text.primary;
108
- };
109
- export const getBackground = props => {
110
- if (props.background) {
111
- return props.background;
112
- }
113
- if (props.dark) {
114
- return props.theme.palette.common.black;
115
- }
116
- return props.theme.palette.common.white;
117
- };
118
-
119
- /**
120
- * 1. 将 props 中以 ::prop:: 开头的字符串替换为 component.defaultProps 中的值
121
- * 2. 将 props 中由 jsonAttrs 指定的 json 字符串转换为对象
122
- * 3. 最后将 props 中的 ::prop:: 字符串替换为 ''
123
- */
124
- export function mergeProps(props, component, jsonAttrs = []) {
125
- const newProps = Object.assign({}, props);
126
- Object.keys(component.defaultProps || {}).forEach(x => {
127
- if (typeof newProps[x] === 'string' && newProps[x].indexOf('::prop::') === 0) {
128
- newProps[x] = component.defaultProps[x];
129
- }
130
- });
131
- if (Array.isArray(jsonAttrs)) {
132
- jsonAttrs.forEach(x => {
133
- if (typeof newProps[x] === 'string') {
134
- try {
135
- newProps[x] = JSON.parse(newProps[x]);
136
- } catch (err) {
137
- // Do nothing
138
- }
65
+ const ge = (e) => e.color ? e.color : e.dark ? e.theme.palette.common.white : e.theme.palette.text.primary, we = (e) => e.background ? e.background : e.dark ? e.theme.palette.common.black : e.theme.palette.common.white;
66
+ function ye(e, t, r = []) {
67
+ const n = Object.assign({}, e), i = t.defaultProps || {};
68
+ return Object.keys(i).forEach((o) => {
69
+ typeof n[o] == "string" && n[o].indexOf("::prop::") === 0 && (n[o] = i[o]);
70
+ }), Array.isArray(r) && r.forEach((o) => {
71
+ if (typeof n[o] == "string")
72
+ try {
73
+ n[o] = JSON.parse(n[o]);
74
+ } catch {
139
75
  }
140
- });
141
- }
142
- Object.keys(newProps).forEach(x => {
143
- if (typeof newProps[x] === 'string' && newProps[x].indexOf('::prop::') === 0) {
144
- newProps[x] = '';
145
- }
146
- });
147
- return newProps;
76
+ }), Object.keys(n).forEach((o) => {
77
+ typeof n[o] == "string" && n[o].indexOf("::prop::") === 0 && (n[o] = "");
78
+ }), n;
148
79
  }
149
- export function getCopyright(startYear = 2017) {
150
- const currentYear = new Date().getFullYear();
151
- return `${currentYear}` === `${startYear}` ? `© ArcBlock ${currentYear}` : `© ArcBlock ${startYear} - ${currentYear}`;
80
+ function Ie(e = 2017) {
81
+ const t = (/* @__PURE__ */ new Date()).getFullYear();
82
+ return `${t}` == `${e}` ? `© ArcBlock ${t}` : `© ArcBlock ${e} - ${t}`;
152
83
  }
153
- export const getTimezone = () => {
154
- if (typeof Intl === 'object' && typeof Intl.DateTimeFormat === 'function' && typeof Intl.DateTimeFormat().resolvedOptions === 'function') {
155
- return Intl.DateTimeFormat().resolvedOptions().timeZone;
156
- }
157
- return '';
158
- };
159
- export const str2color = str => {
160
- let hash = 0;
161
- for (let i = 0; i < str.length; i++) {
162
- hash = str.charCodeAt(i) + ((hash << 5) - hash);
163
- }
164
- let colour = '#';
165
- for (let j = 0; j < 3; j++) {
166
- const value = hash >> j * 8 & 0xff;
167
- colour += `00${value.toString(16)}`.substr(-2);
168
- }
169
- return colour;
170
- };
171
- export const formatUptime = uptime => {
172
- const total = Math.round(uptime / 1000);
173
- const hours = Math.floor(total / 3600);
174
- const minutes = Math.floor((total - hours * 3600) / 60);
175
- const seconds = total % 60;
176
- // @ts-expect-error
177
- return `${padStart(hours, 2, '0')}:${padStart(minutes, 2, '0')}:${padStart(seconds, 2, '0')}`;
84
+ const De = () => typeof Intl == "object" && typeof Intl.DateTimeFormat == "function" && typeof Intl.DateTimeFormat().resolvedOptions == "function" ? Intl.DateTimeFormat().resolvedOptions().timeZone : "", be = (e) => {
85
+ let t = 0;
86
+ for (let n = 0; n < e.length; n++)
87
+ t = e.charCodeAt(n) + ((t << 5) - t);
88
+ let r = "#";
89
+ for (let n = 0; n < 3; n++) {
90
+ const i = t >> n * 8 & 255;
91
+ r += `00${i.toString(16)}`.substr(-2);
92
+ }
93
+ return r;
94
+ }, $e = (e) => {
95
+ const t = Math.round(e / 1e3), r = Math.floor(t / 3600), n = Math.floor((t - r * 3600) / 60), i = t % 60;
96
+ return `${u(r, 2, "0")}:${u(n, 2, "0")}:${u(i, 2, "0")}`;
178
97
  };
179
-
180
- /**
181
- * Set the date tool library which support for format() and locale() functions,
182
- * moment and dayjs are recommended.
183
- */
184
- export function setDateTool(tool) {
185
- dateTool = tool;
98
+ function B(e) {
99
+ f = e;
186
100
  }
187
- export function getDateTool() {
188
- return dateTool;
101
+ function Te() {
102
+ return f;
189
103
  }
190
- const createDateFormatter = format => (date, {
191
- locale,
192
- tz,
193
- isUtc
194
- } = {}) => {
195
- if (dateTool === null) {
196
- throw new Error('call setDateTool to set the date tool library, such as: setDateTool(dayjs)');
197
- }
198
- if (isNil(date) || date === '') {
199
- return '-';
200
- }
201
- let instance = dateTool(date);
202
- if (tz) {
203
- instance = instance.tz(tz);
204
- }
205
- if (isUtc) {
206
- instance = instance.utc();
207
- }
208
- if (typeof locale !== 'undefined') {
209
- instance = instance.locale(locale);
210
- }
211
- return instance.format(format);
104
+ const I = (e) => (t, { locale: r, tz: n, isUtc: i } = {}) => {
105
+ if (f === null && (a.extend(L), a.extend(j), a.extend(O), a.extend(W), a.extend(R), a.updateLocale("zh-cn", {
106
+ // copy with https://github.com/iamkun/dayjs/blob/dev/src/locale/zh-cn.js
107
+ relativeTime: {
108
+ future: "%s后",
109
+ past: "%s前",
110
+ s: "几秒",
111
+ m: "1 分钟",
112
+ mm: "%d 分钟",
113
+ h: "1 小时",
114
+ hh: "%d 小时",
115
+ d: "1 天",
116
+ dd: "%d 天",
117
+ M: "1 个月",
118
+ MM: "%d 个月",
119
+ y: "1 年",
120
+ yy: "%d 年"
121
+ }
122
+ }), B(a)), y(t) || t === "")
123
+ return "-";
124
+ let o = f(t);
125
+ return n && (o = o.tz(n)), i && (o = o.utc()), typeof r < "u" && (o = o.locale(r)), o.format(e);
212
126
  };
213
-
214
- /**
215
- * Format the time string as `ll` format: MMM D, YYYY
216
- * Ensure that the setDateTool() function is called first to set the time tool library.
217
- * @returns formatted date string
218
- */
219
- export function formatToDate(date, {
220
- locale = 'en',
221
- tz
222
- } = {}) {
223
- return createDateFormatter('ll')(date, {
224
- locale,
225
- tz
226
- });
127
+ function Se(e, { locale: t = "en", tz: r } = {}) {
128
+ return I("ll")(e, { locale: t, tz: r });
227
129
  }
228
-
229
- /**
230
- * Format the time string as `lll` format: MMM D, YYYY h:mm A
231
- * Ensure that the setDateTool() function is called first to set the time tool library.
232
- * @returns formatted date string
233
- */
234
- export function formatToDatetime(date, {
235
- locale = 'en',
236
- tz,
237
- isUtc = false,
238
- format = 'lll'
130
+ function Ee(e, {
131
+ locale: t = "en",
132
+ tz: r,
133
+ isUtc: n = !1,
134
+ format: i = "lll"
239
135
  } = {}) {
240
- return createDateFormatter(format)(date, {
241
- locale,
242
- tz,
243
- isUtc
244
- });
136
+ return I(i)(e, { locale: t, tz: r, isUtc: n });
245
137
  }
246
- export function detectWalletExtension() {
247
- // @ts-expect-error Property 'ABT_DEV' does not exist on type 'Window & typeof globalThis'.
248
- const extension = window?.ABT_DEV || window.ABT;
249
- if (extension && typeof extension.open === 'function') {
250
- return extension;
251
- }
252
- return null;
138
+ function N() {
139
+ const e = (window == null ? void 0 : window.ABT_DEV) || window.ABT;
140
+ return e && typeof e.open == "function" ? e : null;
253
141
  }
254
- export function openWebWallet({
255
- webWalletUrl,
256
- action = 'login',
257
- locale = 'en',
258
- url,
259
- windowFeatures,
260
- appInfo,
261
- memberAppInfo
142
+ function xe({
143
+ webWalletUrl: e,
144
+ action: t = "login",
145
+ locale: r = "en",
146
+ url: n,
147
+ windowFeatures: i,
148
+ appInfo: o,
149
+ memberAppInfo: p
262
150
  }) {
263
- // web wallet extension
264
- const extension = detectWalletExtension();
265
- if (extension) {
266
- extension.open({
267
- action,
268
- locale,
269
- url: encodeURIComponent(url),
151
+ const h = N();
152
+ if (h)
153
+ return h.open({
154
+ action: t,
155
+ locale: r,
156
+ url: encodeURIComponent(n),
270
157
  appInfo: {
271
- ...appInfo
158
+ ...o
272
159
  },
273
160
  memberAppInfo: {
274
- ...memberAppInfo
161
+ ...p
275
162
  }
276
- });
277
- return {
278
- type: 'extension'
279
- };
280
- }
281
- const defaultWindowFeatures = {
282
- toolbar: 'no',
283
- location: 'no',
284
- status: 'no',
285
- menubar: 'no',
286
- scrollbars: 'yes',
287
- resizable: 'yes',
163
+ }), { type: "extension" };
164
+ const D = {
165
+ toolbar: "no",
166
+ location: "no",
167
+ status: "no",
168
+ menubar: "no",
169
+ scrollbars: "yes",
170
+ resizable: "yes",
288
171
  // iphone 8plus size
289
172
  width: 414,
290
173
  height: 736
291
- };
292
- const windowUrl = `${webWalletUrl}?action=${action}&locale=${locale}&url=${encodeURIComponent(url)}`;
293
- const mergedWindowFeatures = Object.assign({}, defaultWindowFeatures, windowFeatures);
294
- const getWindowWidth = win => {
295
- return win.innerWidth || win.document.documentElement.clientWidth || win.document.body.clientWidth;
296
- };
297
- // 默认在浏览器右上角弹出窗口
298
- if (!('left' in mergedWindowFeatures)) {
299
- const winWidth = getWindowWidth(window.top || window);
300
- const winLeft = window.screenLeft || window.screenX;
301
- mergedWindowFeatures.left = winWidth + winLeft - mergedWindowFeatures.width;
174
+ }, b = `${e}?action=${t}&locale=${r}&url=${encodeURIComponent(n)}`, c = Object.assign({}, D, i), $ = (s) => s.innerWidth || s.document.documentElement.clientWidth || s.document.body.clientWidth;
175
+ if (!("left" in c)) {
176
+ const s = $(window.top || window), S = window.screenLeft || window.screenX;
177
+ c.left = s + S - c.width;
302
178
  }
303
- if (!('top' in mergedWindowFeatures)) {
304
- const winTop = window.screenTop || window.screenY;
305
- mergedWindowFeatures.top = winTop;
179
+ if (!("top" in c)) {
180
+ const s = window.screenTop || window.screenY;
181
+ c.top = s;
306
182
  }
307
- const strWindowFeatures = Object.keys(mergedWindowFeatures).map(key => `${key}=${mergedWindowFeatures[key]}`).join(',');
308
- // 这里打开的是钱包的 URL,是安全的
309
- window.open(windowUrl, 'targetWindow', strWindowFeatures);
310
- return {
311
- type: 'web'
312
- };
183
+ const T = Object.keys(c).map((s) => `${s}=${c[s]}`).join(",");
184
+ return window.open(b, "targetWindow", T), { type: "web" };
313
185
  }
314
- export const getFontSize = size => {
315
- // 12px 及以上的 size 有效, 否则返回 inherit
316
- if (size && Number(size) >= 12) {
317
- return `${Number(size)}px`;
318
- }
319
- return 'inherit';
320
- };
321
-
322
- // 参考: asset-chain @arcblock/did
323
- export const isEthereumDid = did => {
324
- const address = did.replace(DID_PREFIX, '');
325
- // check if it has the basic requirements of an address
326
- if (!/^(0x)?[0-9a-f]{40}$/i.test(address)) {
327
- return false;
328
- }
329
- return true;
330
- };
331
- export const appendParams = (url, params) => {
332
- if (!params) {
333
- return url;
334
- }
186
+ const ke = (e) => e && Number(e) >= 12 ? `${Number(e)}px` : "inherit", X = (e) => {
187
+ const t = e.replace(P, "");
188
+ return !!/^(0x)?[0-9a-f]{40}$/i.test(t);
189
+ }, K = (e, t) => {
190
+ if (!t)
191
+ return e;
335
192
  try {
336
- // HACK: 如果 url 中带有域名,则 urlInstance.origin 为 url 中的域名;否则,借用当前页面的 location.origin 作为域名来拼接一个 url
337
- const urlInstance = new URL(url, window.location.origin);
338
- Object.keys(params).forEach(key => {
339
- urlInstance.searchParams.set(key, String(params[key]));
340
- });
341
- // HACK: 如果前后域名一致,代表前面已经借用了 location.origin,这个时候只需要返回 urlInstance.pathname + urlInstance.search 即可
342
- if (urlInstance.origin === window.location.origin) {
343
- return urlInstance.pathname + urlInstance.search;
344
- }
345
- return urlInstance.href;
193
+ const r = new URL(e, window.location.origin);
194
+ return Object.keys(t).forEach((n) => {
195
+ r.searchParams.set(n, String(t[n]));
196
+ }), r.origin === window.location.origin ? r.pathname + r.search : r.href;
346
197
  } catch {
347
- return url;
348
- }
349
- };
350
- export const getUserAvatar = (avatar, size = 48) => {
351
- if (!avatar) {
352
- return avatar;
353
- }
354
- if (avatar.indexOf(BLOCKLET_SERVICE_PATH_PREFIX) >= 0) {
355
- return appendParams(avatar, {
356
- imageFilter: 'resize',
357
- w: size,
358
- h: size
359
- });
360
- }
361
- return avatar;
362
- };
363
- export const sleep = (time = 0) => {
364
- return new Promise(resolve => {
365
- setTimeout(() => {
366
- resolve();
367
- }, time);
198
+ return e;
199
+ }
200
+ }, Ae = (e, t = 48) => e && (e.indexOf(v) >= 0 ? K(e, {
201
+ imageFilter: "resize",
202
+ w: t,
203
+ h: t
204
+ }) : e), Fe = (e = 0) => new Promise((t) => {
205
+ setTimeout(() => {
206
+ t();
207
+ }, e);
208
+ }), Ue = (e) => /^https?:\/\//.test(e), m = "vid", d = "__visitor_id", Q = () => l.get(m) || localStorage.getItem(d), w = (e) => {
209
+ e === null ? l.remove(m, {
210
+ sameSite: "None",
211
+ secure: !0
212
+ }) : l.set(m, e, {
213
+ sameSite: "None",
214
+ secure: !0,
215
+ expires: 365
368
216
  });
369
- };
370
- export const isUrl = str => {
371
- return /^https?:\/\//.test(str);
372
- };
373
- const visitorIdKey = 'vid';
374
- const visitorIdKeyLegacy = '__visitor_id';
375
- export const getVisitorId = () => {
376
- // FIXME: @zhanghan 短期内做一个兼容,确保在 migrate 前的请求能够携带正确的 vid
377
- return Cookies.get(visitorIdKey) || localStorage.getItem(visitorIdKeyLegacy);
378
- };
379
- export const setVisitorId = value => {
380
- if (value === null) {
381
- Cookies.remove(visitorIdKey, {
382
- sameSite: 'None',
383
- secure: true
384
- });
385
- } else {
386
- Cookies.set(visitorIdKey, value, {
387
- sameSite: 'None',
388
- secure: true,
389
- expires: 365
390
- });
391
- }
392
- };
393
- export const ensureVisitorId = () => {
394
- let visitorId = localStorage.getItem(visitorIdKeyLegacy);
395
- if (visitorId) {
396
- localStorage.removeItem(visitorIdKeyLegacy);
397
- setVisitorId(visitorId);
398
- }
399
- if (getVisitorId()) {
400
- return;
401
- }
402
- if (!getFederatedEnabled()) {
403
- try {
404
- // 在支持 crypto.randomUUID 的环境中使用
405
- if (window.crypto && typeof window.crypto.randomUUID === 'function') {
406
- visitorId = window.crypto.randomUUID();
407
- } else {
408
- // 在不支持 crypto.randomUUID 的环境中生成随机 ID
409
- const randomValues = new Uint8Array(16);
410
- if (window.crypto && typeof window.crypto.getRandomValues === 'function') {
411
- window.crypto.getRandomValues(randomValues);
412
- } else {
413
- // 降级方案:使用 Math.random 生成
414
- for (let i = 0; i < 16; i++) {
415
- randomValues[i] = Math.floor(Math.random() * 256);
416
- }
217
+ }, je = () => {
218
+ let e = localStorage.getItem(d);
219
+ if (e && (localStorage.removeItem(d), w(e)), !Q()) {
220
+ if (!C())
221
+ try {
222
+ if (window.crypto && typeof window.crypto.randomUUID == "function")
223
+ e = window.crypto.randomUUID();
224
+ else {
225
+ const t = new Uint8Array(16);
226
+ if (window.crypto && typeof window.crypto.getRandomValues == "function")
227
+ window.crypto.getRandomValues(t);
228
+ else
229
+ for (let n = 0; n < 16; n++)
230
+ t[n] = Math.floor(Math.random() * 256);
231
+ const r = Array.from(t).map((n) => n.toString(16).padStart(2, "0"));
232
+ e = [
233
+ r.slice(0, 4).join(""),
234
+ r.slice(4, 6).join(""),
235
+ r.slice(6, 8).join(""),
236
+ r.slice(8, 10).join(""),
237
+ r.slice(10, 16).join("")
238
+ ].join("-");
417
239
  }
418
-
419
- // 转换为 UUID 格式
420
- const hexArray = Array.from(randomValues).map(b => b.toString(16).padStart(2, '0'));
421
- visitorId = [hexArray.slice(0, 4).join(''), hexArray.slice(4, 6).join(''), hexArray.slice(6, 8).join(''), hexArray.slice(8, 10).join(''), hexArray.slice(10, 16).join('')].join('-');
240
+ } catch {
241
+ e = `${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;
422
242
  }
423
- } catch (error) {
424
- // 如果上述方法都失败,使用时间戳和随机数生成
425
- visitorId = `${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;
426
- }
243
+ e && w(e);
427
244
  }
428
- if (visitorId) {
429
- setVisitorId(visitorId);
430
- }
431
- };
432
- export const getDIDColor = did => {
433
- if (isEthereumDid(did)) {
434
- const index = Uint8Array.from(did.slice(2).match(/.{1,2}/g).map(pair => parseInt(pair, 16))).slice(0, 8).reduce((acc, val) => acc + val, 0) % colors.length;
435
- return colors[index];
245
+ }, Oe = (e) => {
246
+ if (X(e)) {
247
+ const t = Uint8Array.from(
248
+ e.slice(2).match(/.{1,2}/g).map((r) => parseInt(r, 16))
249
+ ).slice(0, 8).reduce((r, n) => r + n, 0) % g.length;
250
+ return g[t];
436
251
  }
437
252
  try {
438
- const didMotifInfo = getDIDMotifInfo(did);
439
- return didMotifInfo?.color;
253
+ const t = x(e);
254
+ return t == null ? void 0 : t.color;
440
255
  } catch {
441
256
  return null;
442
257
  }
443
- };
444
- /**
445
- * Retrieves the appropriate translation based on the locale, with fallback options.
446
- * @return {string} The translated string based on the locale, with fallback options if necessary.
447
- */
448
- export const getTranslation = (translations, locale, options = {}) => {
449
- const {
450
- fallbackLocale = 'en',
451
- defaultValue = 'unknown'
452
- } = options;
453
- if (typeof translations === 'string') {
454
- return translations;
455
- }
456
- let translation;
457
- if (locale) {
458
- translation = translations[locale];
459
- }
460
- if (!translation || typeof translation !== 'string') {
461
- translation = translations[fallbackLocale];
462
- }
463
- if (!translation || typeof translation !== 'string') {
464
- translation = defaultValue;
465
- }
466
- return translation;
467
- };
468
- export const lazyRetry = fn => /*#__PURE__*/lazy(() => pRetry(async () => {
469
- try {
470
- return await fn();
471
- } catch (error) {
472
- // HACK: pRetry 不会对 TypeError 的错误进行重试,手动放行了部分 network error 的错误,但此处的错误是经过 react-router 包装过的,不适用于上述的判断,所以这里需要特殊逻辑来进行处理
473
- if (error instanceof TypeError && !error.message.includes('Failed to fetch')) {
474
- throw error;
475
- }
476
- if (error instanceof Error) {
477
- throw new Error(error.message);
478
- }
479
- throw new Error('Unknown error');
480
- }
481
- },
482
- // 只需要重试两次,加上原本的一次,总共三次
483
- {
484
- retries: 2
485
- }));
486
- export const cleanedObj = obj => {
487
- return omitBy(obj, isNil);
488
- };
489
-
490
- /**
491
- * 将十六进制颜色转换为 RGBA
492
- * @param hex 十六进制颜色字符串 (例如: "#FF0000" 或 "FF0000")
493
- * @param alpha 透明度值 (0-1 之间,默认为 1)
494
- * @returns RGBA 颜色字符串 (例如: "rgba(255, 0, 0, 1)")
495
- */
496
- export function hexToRgba(hex, alpha = 1) {
497
- const [r, g, b] = colorConvert.hex.rgb(hex);
498
- // 返回 RGBA 格式
499
- return `rgba(${r}, ${g}, ${b}, ${alpha})`;
258
+ }, Re = (e, t, r = {}) => {
259
+ const { fallbackLocale: n = "en", defaultValue: i = "unknown" } = r;
260
+ if (typeof e == "string")
261
+ return e;
262
+ let o;
263
+ return t && (o = e[t]), (!o || typeof o != "string") && (o = e[n]), (!o || typeof o != "string") && (o = i), o;
264
+ }, We = (e) => E(
265
+ () => A(
266
+ async () => {
267
+ try {
268
+ return await e();
269
+ } catch (t) {
270
+ throw t instanceof TypeError && !t.message.includes("Failed to fetch") ? t : t instanceof Error ? new Error(t.message) : new Error("Unknown error");
271
+ }
272
+ },
273
+ // 只需要重试两次,加上原本的一次,总共三次
274
+ { retries: 2 }
275
+ )
276
+ ), Le = (e) => k(e, y);
277
+ function Pe(e, t = 1) {
278
+ const [r, n, i] = F.hex.rgb(e);
279
+ return `rgba(${r}, ${n}, ${i}, ${t})`;
500
280
  }
501
-
502
- /**
503
- * 依次对数组中的对象进行深度合并
504
- * @param objects - 需要合并的对象数组
505
- * @param options - deepmerge 的配置选项
506
- * @returns 合并后的对象
507
- */
508
- export function deepmergeAll(objects, options) {
509
- if (!Array.isArray(objects)) {
510
- throw new Error('First argument should be an array');
511
- }
512
- if (objects.length === 0) {
513
- return {};
514
- }
515
- if (objects.length === 1) {
516
- return objects[0];
517
- }
518
- return objects.reduce((acc, obj) => {
519
- return deepmerge(acc, obj, options);
520
- });
521
- }
281
+ function ve(e, t) {
282
+ if (!Array.isArray(e))
283
+ throw new Error("First argument should be an array");
284
+ return e.length === 0 ? {} : e.length === 1 ? e[0] : e.reduce((r, n) => U(r, n, t));
285
+ }
286
+ export {
287
+ K as appendParams,
288
+ Le as cleanedObj,
289
+ ve as deepmergeAll,
290
+ N as detectWalletExtension,
291
+ je as ensureVisitorId,
292
+ Se as formatToDate,
293
+ Ee as formatToDatetime,
294
+ $e as formatUptime,
295
+ we as getBackground,
296
+ ge as getColor,
297
+ he as getCookieOptions,
298
+ Ie as getCopyright,
299
+ Oe as getDIDColor,
300
+ Te as getDateTool,
301
+ ke as getFontSize,
302
+ De as getTimezone,
303
+ Re as getTranslation,
304
+ Ae as getUserAvatar,
305
+ Q as getVisitorId,
306
+ Pe as hexToRgba,
307
+ X as isEthereumDid,
308
+ z as isTwoSegmentTLD,
309
+ Ue as isUrl,
310
+ We as lazyRetry,
311
+ ye as mergeProps,
312
+ xe as openWebWallet,
313
+ de as parseQuery,
314
+ me as resolveRootDomain,
315
+ B as setDateTool,
316
+ w as setVisitorId,
317
+ Fe as sleep,
318
+ be as str2color,
319
+ pe as stringifyQuery
320
+ };