@arcblock/ux 2.13.70 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +227 -307
  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 +43 -14
  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
@@ -1,4 +1,4 @@
1
- import { createContext, useContext, useState } from 'react';
1
+ import { createContext, use, useState } from 'react';
2
2
 
3
3
  const DatatableContext = createContext({});
4
4
 
@@ -29,7 +29,7 @@ function DatatableProvider({ children }) {
29
29
  }
30
30
 
31
31
  function useDatatableContext() {
32
- return useContext(DatatableContext);
32
+ return use(DatatableContext);
33
33
  }
34
34
 
35
35
  export { DatatableProvider, useDatatableContext };
@@ -1,17 +1,21 @@
1
1
  import { useState, useRef } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import IconButton from '@mui/material/IconButton';
4
- import Tooltip from '@mui/material/Tooltip';
5
- import SearchIcon from '@mui/icons-material/Search';
6
- import TextField from '@mui/material/TextField';
7
- import ClearIcon from '@mui/icons-material/Clear';
3
+ import { IconButton, Tooltip, TextField } from '@mui/material';
4
+ import { Search as SearchIcon, Clear as ClearIcon } from '@mui/icons-material';
8
5
  import clsx from 'clsx';
9
6
  import noop from 'lodash/noop';
10
7
 
11
8
  import { useDatatableContext } from './DatatableContext';
12
9
  import { styled } from '../Theme';
13
10
 
14
- export default function TableSearch({ search, options, searchText, searchTextUpdate, searchClose, onSearchOpen }) {
11
+ export default function TableSearch({
12
+ search = '',
13
+ options,
14
+ searchText = '',
15
+ searchTextUpdate,
16
+ searchClose,
17
+ onSearchOpen = noop,
18
+ }) {
15
19
  const { searchOpen, searchPlaceholder, searchAlwaysOpen } = options;
16
20
  const [inputExpand, setInputExpand] = useState(!!searchText || searchOpen || false);
17
21
  const [innerSearchText, setInnerSearchText] = useState(searchText);
@@ -109,12 +113,6 @@ TableSearch.propTypes = {
109
113
  searchClose: PropTypes.func.isRequired,
110
114
  };
111
115
 
112
- TableSearch.defaultProps = {
113
- search: '',
114
- searchText: '',
115
- onSearchOpen: noop,
116
- };
117
-
118
116
  const Container = styled('div')`
119
117
  display: flex;
120
118
  align-items: center;
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable react-hooks/exhaustive-deps */
2
- import { useEffect, useRef, isValidElement } from 'react';
2
+ import { useRef, isValidElement } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import MUIDataTable, { TableFilterList, TableFooter } from 'mui-datatables';
5
5
  import { css } from '@emotion/react';
@@ -7,7 +7,9 @@ import isObject from 'lodash/isObject';
7
7
  import cloneDeep from 'lodash/cloneDeep';
8
8
  import get from 'lodash/get';
9
9
  import clsx from 'clsx';
10
- import CircularProgress from '@mui/material/CircularProgress';
10
+ import { useCreation, useDeepCompareEffect } from 'ahooks';
11
+ import { CircularProgress } from '@mui/material';
12
+
11
13
  import Empty from '../Empty';
12
14
  import CustomToolbar from './CustomToolbar';
13
15
  import { DatatableProvider as DataTableProvider, useDatatableContext } from './DatatableContext';
@@ -78,7 +80,7 @@ const FilterLine = styled('div')`
78
80
 
79
81
  function WrapFilterList(props) {
80
82
  const { filterLabel } = useDatatableContext();
81
- const hasFilter = !!props.filterList.filter((e) => e.length).length;
83
+ const hasFilter = !!(props.filterList ?? []).filter((e) => e.length).length;
82
84
  if (hasFilter) {
83
85
  return (
84
86
  <FilterLine>
@@ -96,10 +98,6 @@ WrapFilterList.propTypes = {
96
98
  filterList: PropTypes.array,
97
99
  };
98
100
 
99
- WrapFilterList.defaultProps = {
100
- filterList: [],
101
- };
102
-
103
101
  function WrapTableFooter(props) {
104
102
  const { loading, disabled } = useDatatableContext();
105
103
 
@@ -165,26 +163,26 @@ const fixCellProp = (tempObj, cellProps) => {
165
163
  * @returns
166
164
  */
167
165
  function ReDataTable({
168
- data: originData,
166
+ data: originData = [],
169
167
  columns: originColumns,
170
- locale,
171
- options, // The options object is usually a property supported by mui-datatable
172
- style,
173
- customPreButtons,
174
- customButtons,
175
- onChange,
176
- loading,
177
- disabled,
178
- stripped,
179
- verticalKeyWidth,
180
- hideTableHeader,
181
- components,
182
- emptyNode,
183
- durable,
184
- durableKeys,
168
+ locale = 'en',
169
+ options = {}, // The options object is usually a property supported by mui-datatable
170
+ style = {},
171
+ customPreButtons = [],
172
+ customButtons = [],
173
+ onChange = '',
174
+ loading = false,
175
+ disabled = false,
176
+ stripped = false,
177
+ verticalKeyWidth = '',
178
+ hideTableHeader = false,
179
+ components = {},
180
+ emptyNode = '',
181
+ durable = '',
182
+ durableKeys = ['page', 'rowsPerPage', 'searchText', 'sortOrder'],
185
183
  bgColor = 'transparent',
186
- hoverColor,
187
- stripColor,
184
+ hoverColor = '',
185
+ stripColor = '',
188
186
  ...rest
189
187
  }) {
190
188
  const oldState = useRef(null);
@@ -275,18 +273,19 @@ function ReDataTable({
275
273
  return tempObj;
276
274
  });
277
275
 
278
- // Fixing object-type structures
279
- const data = originData.map((e) => {
280
- if (!Array.isArray(e) && isObject(e)) {
281
- return keys.map((key) => get(e, key));
282
- }
283
- return e;
284
- });
276
+ const data = useCreation(() => {
277
+ return originData.map((e) => {
278
+ if (!Array.isArray(e) && isObject(e)) {
279
+ return keys.map((key) => get(e, key));
280
+ }
281
+ return e;
282
+ });
283
+ }, [originData, keys]);
285
284
 
286
- useEffect(() => setCustomButtons(customButtons || []), [customButtons]);
287
- useEffect(() => setCustomPreButtons(customPreButtons || []), [customPreButtons]);
288
- useEffect(() => setLoading(loading), [loading]);
289
- useEffect(() => setDisabled(disabled), [disabled]);
285
+ useDeepCompareEffect(() => setCustomButtons(customButtons || []), [customButtons]);
286
+ useDeepCompareEffect(() => setCustomPreButtons(customPreButtons || []), [customPreButtons]);
287
+ useDeepCompareEffect(() => setLoading(loading), [loading]);
288
+ useDeepCompareEffect(() => setDisabled(disabled), [disabled]);
290
289
 
291
290
  let emptyEl;
292
291
  if (loading) {
@@ -346,7 +345,7 @@ function ReDataTable({
346
345
  };
347
346
  }
348
347
 
349
- useEffect(() => setFilterLabel(textLabels.filter.title), [textLabels.filter.title]);
348
+ useDeepCompareEffect(() => setFilterLabel(textLabels.filter.title), [textLabels.filter.title]);
350
349
 
351
350
  const durableData = getDurableData(durable);
352
351
 
@@ -447,27 +446,6 @@ ReDataTable.propTypes = {
447
446
  stripColor: PropTypes.string,
448
447
  };
449
448
 
450
- ReDataTable.defaultProps = {
451
- options: {},
452
- style: {},
453
- locale: 'en',
454
- loading: false,
455
- disabled: false,
456
- customPreButtons: [],
457
- customButtons: [],
458
- onChange: '',
459
- stripped: false,
460
- verticalKeyWidth: '',
461
- hideTableHeader: false,
462
- components: {},
463
- emptyNode: '',
464
- durable: '',
465
- durableKeys: ['page', 'rowsPerPage', 'searchText', 'sortOrder'],
466
- bgColor: 'transparent',
467
- hoverColor: '',
468
- stripColor: '',
469
- };
470
-
471
449
  const alignCss = css`
472
450
  .MuiTableCell-head {
473
451
  [class*='MUIDataTableHeadCell-toolButton'] {
@@ -16,8 +16,8 @@ function buildCSV(columns, data, options) {
16
16
  typeof columnData === 'string' ? columnData.replace(/"/g, '""') : columnData;
17
17
 
18
18
  // eslint-disable-next-line no-shadow
19
- const buildHead = (columns) => {
20
- return `${columns
19
+ const buildHead = (tmpColumns) => {
20
+ return `${tmpColumns
21
21
  .reduce(
22
22
  (soFar, column) =>
23
23
  column.download
@@ -33,9 +33,9 @@ function buildCSV(columns, data, options) {
33
33
  const CSVHead = buildHead(columns);
34
34
 
35
35
  // eslint-disable-next-line no-shadow
36
- const buildBody = (data) => {
37
- if (!data.length) return '';
38
- return data
36
+ const buildBody = (tmpData) => {
37
+ if (!tmpData.length) return '';
38
+ return tmpData
39
39
  .reduce(
40
40
  (soFar, row) =>
41
41
  `${soFar}"${row.data
@@ -77,14 +77,14 @@ function downloadCSV(csv, filename) {
77
77
  }
78
78
 
79
79
  // eslint-disable-next-line no-shadow
80
- function createCSVDownload(columns, data, options, downloadCSV) {
80
+ function createCSVDownload(columns, data, options, tmpDownloadCSV) {
81
81
  const csv = buildCSV(columns, data, options);
82
82
 
83
83
  if (options.onDownload && csv === false) {
84
84
  return;
85
85
  }
86
86
 
87
- downloadCSV(csv, options.downloadOptions.filename);
87
+ tmpDownloadCSV(csv, options.downloadOptions.filename);
88
88
  }
89
89
 
90
90
  export function handleCSVDownload(props) {
@@ -0,0 +1,21 @@
1
+ export { default as Basic } from './demo/basic';
2
+ export { default as WithShortContent } from './demo/with-short-content';
3
+ export { default as CustomSize } from './demo/custom-size';
4
+ export { default as CustomActionsPosition } from './demo/custom-actions-position';
5
+ export { default as HeaderContentActionsStyleOverrides } from './demo/header-content-actions-style-overrides';
6
+ export { default as ConfirmDefault } from './demo/confirm-default';
7
+ export { default as ConfirmButtonCustomization } from './demo/confirm-button-customization';
8
+ export { default as ConfirmWithoutCancelButton } from './demo/confirm-without-cancel-button';
9
+ export { default as ConfirmComplexDescription } from './demo/confirm-complex-description';
10
+
11
+ export default {
12
+ title: 'Feedback/Dialog',
13
+
14
+ parameters: {
15
+ docs: {
16
+ description: {
17
+ component: 'An easy-to-use dialog component based on MUI Dialog.',
18
+ },
19
+ },
20
+ },
21
+ };
@@ -34,13 +34,17 @@ export default function Confirm({
34
34
  children,
35
35
  onConfirm,
36
36
  onCancel,
37
- showCloseButton,
38
- showCancelButton,
39
- showConfirmButton,
40
- fullScreen,
41
- confirmButton,
42
- cancelButton,
43
- PaperProps,
37
+ showCloseButton = true,
38
+ showCancelButton = true,
39
+ showConfirmButton = true,
40
+ fullScreen = false,
41
+ confirmButton = {
42
+ text: 'Confirm',
43
+ },
44
+ cancelButton = {
45
+ text: 'Cancel',
46
+ },
47
+ PaperProps = {},
44
48
  ...rest
45
49
  }) {
46
50
  // 去除 dialog 默认的 300 最小高度
@@ -137,17 +141,3 @@ Confirm.propTypes = {
137
141
  }),
138
142
  PaperProps: PropTypes.object,
139
143
  };
140
-
141
- Confirm.defaultProps = {
142
- showCancelButton: true,
143
- showConfirmButton: true,
144
- showCloseButton: true,
145
- fullScreen: false,
146
- confirmButton: {
147
- text: 'Confirm',
148
- },
149
- cancelButton: {
150
- text: 'Cancel',
151
- },
152
- PaperProps: {},
153
- };
@@ -1,5 +1,5 @@
1
1
  import PropTypes from 'prop-types';
2
- import CloseIcon from '@mui/icons-material/Close';
2
+ import { Close as CloseIcon } from '@mui/icons-material';
3
3
  import {
4
4
  Typography,
5
5
  Dialog as MuiDialog,
@@ -52,14 +52,14 @@ import { styled, useTheme } from '../Theme';
52
52
  */
53
53
  function Dialog({
54
54
  children,
55
- title,
56
- prepend,
57
- toolbar,
58
- actions,
59
- showCloseButton,
60
- actionsPosition,
61
- PaperProps,
62
- slotProps,
55
+ title = '',
56
+ prepend = null,
57
+ toolbar = null,
58
+ actions = null,
59
+ showCloseButton = true,
60
+ actionsPosition = 'right',
61
+ PaperProps = {},
62
+ slotProps = {},
63
63
  ...rest
64
64
  }) {
65
65
  const theme = useTheme();
@@ -132,17 +132,6 @@ Dialog.propTypes = {
132
132
  onClose: PropTypes.func,
133
133
  };
134
134
 
135
- Dialog.defaultProps = {
136
- title: '',
137
- prepend: null,
138
- toolbar: null,
139
- actions: null,
140
- showCloseButton: true,
141
- actionsPosition: 'right',
142
- PaperProps: {},
143
- slotProps: {},
144
- onClose: undefined,
145
- };
146
135
  /**
147
136
  * @type {import('@emotion/styled').StyledComponent<import('@mui/material').DialogProps, {}, { ref?: React.Ref<any> | undefined;}>}
148
137
  */
@@ -1,10 +1,11 @@
1
- import { forwardRef, isValidElement, useImperativeHandle, useRef, useState } from 'react';
1
+ import { isValidElement, useImperativeHandle, useRef, useState } from 'react';
2
2
  import { useMemoizedFn, useReactive } from 'ahooks';
3
3
  import noop from 'lodash/noop';
4
4
 
5
5
  import Confirm from './confirm';
6
6
 
7
- const ConfirmHolder = forwardRef((props, ref) => {
7
+ // eslint-disable-next-line react/prop-types
8
+ function ConfirmHolder({ ref, ...props }) {
8
9
  // HACK: 这里默认值不使用 null,来避免开发环境中的字段必填警告
9
10
  // HACK: useReactive 无法存储 react-node,所以只能使用 useState
10
11
  const [title, setTitle] = useState('');
@@ -147,7 +148,7 @@ const ConfirmHolder = forwardRef((props, ref) => {
147
148
  {realContent instanceof Function ? realContent() : realContent}
148
149
  </Confirm>
149
150
  );
150
- });
151
+ }
151
152
 
152
153
  export default function useConfirm(props = {}) {
153
154
  const confirmRef = useRef(null);
@@ -0,0 +1,8 @@
1
+ export { default as WithDifferentSizes } from './demo/with-different-sizes';
2
+ export { default as WithDifferentStyles } from './demo/with-different-styles';
3
+ export { default as WithInheritStyles } from './demo/with-inherit-styles';
4
+ export { default as MakeALogo } from './demo/make-a-logo';
5
+
6
+ export default {
7
+ title: 'DID/Logo',
8
+ };
@@ -11,7 +11,10 @@ export interface DriftBotProps {
11
11
 
12
12
  export default class DriftBot extends Component<DriftBotProps> {
13
13
  // eslint-disable-next-line react/static-property-placement
14
- static defaultProps: { userId: string; attributes: Record<string, any> };
14
+ static defaultProps: { userId: string; attributes: Record<string, any> } = {
15
+ userId: '',
16
+ attributes: {},
17
+ };
15
18
 
16
19
  constructor(props: DriftBotProps) {
17
20
  super(mergeProps(props, DriftBot, ['attributes']) as DriftBotProps);
@@ -76,8 +79,3 @@ export default class DriftBot extends Component<DriftBotProps> {
76
79
  return '';
77
80
  }
78
81
  }
79
-
80
- DriftBot.defaultProps = {
81
- userId: '',
82
- attributes: {},
83
- };
@@ -0,0 +1,39 @@
1
+ import AsyncComponent from '../Async';
2
+
3
+ const Earth = AsyncComponent(() => import('.'));
4
+
5
+ export default {
6
+ title: 'Deprecated/Earth',
7
+
8
+ parameters: {
9
+ readme: {
10
+ sidebar: '<!-- PROPS -->',
11
+ },
12
+ },
13
+ };
14
+
15
+ export function DarkMode() {
16
+ return (
17
+ <div
18
+ style={{
19
+ background: '#222',
20
+ }}>
21
+ <Earth theme="dark" width={600} enableRotation />
22
+ </div>
23
+ );
24
+ }
25
+
26
+ DarkMode.storyName = 'dark mode';
27
+
28
+ export function LightMode() {
29
+ return (
30
+ <div
31
+ style={{
32
+ background: 'transparent',
33
+ }}>
34
+ <Earth theme="light" width={600} enableRotation />
35
+ </div>
36
+ );
37
+ }
38
+
39
+ LightMode.storyName = 'light mode';
@@ -307,7 +307,7 @@ function Earth({
307
307
  if (state.tooltipIndex >= 0) {
308
308
  const marker = markers[state.tooltipIndex];
309
309
  return (
310
- <Tooltip style={{ left: state.mousePosition[0], top: state.mousePosition[1] }}>
310
+ <Tooltip style={{ left: state.mousePosition?.[0] ?? 0, top: state.mousePosition?.[1] ?? 0 }}>
311
311
  <p className="title">{marker.title}</p>
312
312
  <p className="description">{marker.description}</p>
313
313
  <p className="description">ID: {marker.id}</p>
@@ -0,0 +1,23 @@
1
+ import Empty from './index';
2
+
3
+ import Basic from './demo/basic';
4
+ import CustomMessage from './demo/custom-message';
5
+ import ComplexMessage from './demo/complex-message';
6
+
7
+ export default {
8
+ title: 'Data Display/Empty',
9
+ component: Empty,
10
+ parameters: {
11
+ docs: {
12
+ description: {
13
+ component: 'Empty provides a generic "Empty Content" placeholder.',
14
+ },
15
+ },
16
+ },
17
+ };
18
+
19
+ Basic.parameters = {
20
+ layout: 'fullscreen',
21
+ };
22
+
23
+ export { Basic, CustomMessage, ComplexMessage };
@@ -30,7 +30,7 @@ const Wrapper = styled(Box)`
30
30
  * @param {EmptyProps} props
31
31
  * @returns {JSX.Element}
32
32
  */
33
- function Empty({ color, size, children, ...rest }) {
33
+ function Empty({ color = 'inherit', size = 36, children = null, ...rest }) {
34
34
  return (
35
35
  <Wrapper {...rest}>
36
36
  <EmptyIcon style={{ width: size, height: size, color }} className="empty-icon" />
@@ -44,10 +44,5 @@ Empty.propTypes = {
44
44
  size: PropTypes.number,
45
45
  children: PropTypes.any,
46
46
  };
47
- Empty.defaultProps = {
48
- color: 'inherit',
49
- size: 36,
50
- children: null,
51
- };
52
47
 
53
48
  export default Empty;
@@ -0,0 +1,13 @@
1
+ export { default as ErrorFallback } from './demo/error-fallback';
2
+
3
+ export default {
4
+ title: 'Basic/ErrorBoundary',
5
+
6
+ parameters: {
7
+ docs: {
8
+ description: {
9
+ component: 'ErrorFallback provides a generic error fallback UI',
10
+ },
11
+ },
12
+ },
13
+ };
@@ -30,7 +30,11 @@ function InternalErrorFallback({
30
30
  }}>
31
31
  {title ? <AlertTitle>{title}</AlertTitle> : null}
32
32
  {desc ? (
33
- <Typography variant="body2" mb={1}>
33
+ <Typography
34
+ variant="body2"
35
+ sx={{
36
+ mb: 1,
37
+ }}>
34
38
  {desc}
35
39
  </Typography>
36
40
  ) : null}
@@ -0,0 +1,13 @@
1
+ export { default as Basic } from './demo/basic';
2
+ export { default as DarkMode } from './demo/dark-mode';
3
+ export { default as CustomCopyStart } from './demo/custom-copy-start';
4
+ export { default as CustomBrand } from './demo/custom-brand';
5
+ export { default as Addon } from './demo/addon';
6
+
7
+ export default {
8
+ title: 'Layout/Footer',
9
+
10
+ parameters: {
11
+ layout: 'fullscreen',
12
+ },
13
+ };
@@ -1,7 +1,5 @@
1
1
  /* eslint-disable react/no-unused-prop-types */
2
- import Typography from '@mui/material/Typography';
3
- import MuiContainer from '@mui/material/Container';
4
- import Box from '@mui/material/Box';
2
+ import { Typography, Container as MuiContainer, Box } from '@mui/material';
5
3
 
6
4
  import { mergeProps } from '../Util';
7
5
  import Logo from '../Logo';
@@ -18,7 +16,7 @@ export interface FooterProps {
18
16
 
19
17
  export default function Footer(props: FooterProps) {
20
18
  const newProps = mergeProps(props, Footer, ['dark', 'style']);
21
- const { className, copyStart, style, brand, dark, addon } = newProps;
19
+ const { className = '', copyStart = '2017', style = {}, brand = 'ArcBlock', dark = false, addon = null } = newProps;
22
20
 
23
21
  const endYearString = `${new Date().getFullYear()}`;
24
22
  const copyStartString = `${copyStart}`;
@@ -47,26 +45,20 @@ export default function Footer(props: FooterProps) {
47
45
  </Typography>
48
46
  </MuiContainer>
49
47
  <Box
50
- position="absolute"
51
- right={16}
52
- bottom={0}
53
- fontSize={12}
54
- sx={{ color: 'transparent', '::selection': { background: '#000', color: '#fff' } }}>
48
+ sx={{
49
+ position: 'absolute',
50
+ right: 16,
51
+ bottom: 0,
52
+ fontSize: 12,
53
+ color: 'transparent',
54
+ '::selection': { background: '#000', color: '#fff' },
55
+ }}>
55
56
  {window?.blocklet?.version}
56
57
  </Box>
57
58
  </Container>
58
59
  );
59
60
  }
60
61
 
61
- Footer.defaultProps = {
62
- dark: false,
63
- className: '',
64
- copyStart: '2017',
65
- brand: 'ArcBlock',
66
- style: {},
67
- addon: null,
68
- };
69
-
70
62
  type ContainerProps = {
71
63
  dark: boolean;
72
64
  };
@@ -0,0 +1,30 @@
1
+ import Basic from './demo/basic';
2
+ import WithNavigation from './demo/with-navigation';
3
+ import WithNavigationAlignRight from './demo/with-navigation-align-right';
4
+ import ResponsiveHeader from './demo/responsive-header';
5
+
6
+ export default {
7
+ title: 'Layout/Header',
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ docs: {
11
+ description: {
12
+ component:
13
+ 'A generic page header component that supports common design elements such as logo, brand title, brand description, etc., and provides content slots for displaying navigation and action buttons.',
14
+ },
15
+ },
16
+ design: {
17
+ type: 'figma',
18
+ url: 'https://www.figma.com/file/E8TSBWCOyXzETmVOjzbqvw/ArcBlock-UI-Kit?node-id=1504%3A4630',
19
+ },
20
+ },
21
+ };
22
+
23
+ const argTypes = {
24
+ maxWidth: { control: 'select', options: ['xs', 'sm', 'md', 'lg', 'xl', false] },
25
+ };
26
+
27
+ Basic.argTypes = argTypes;
28
+ ResponsiveHeader.argTypes = argTypes;
29
+
30
+ export { Basic, WithNavigation, WithNavigationAlignRight, ResponsiveHeader };
@@ -1,4 +1,4 @@
1
- import Box, { type BoxProps } from '@mui/material/Box';
1
+ import { Box, type BoxProps } from '@mui/material';
2
2
 
3
3
  import { styled } from '../Theme';
4
4