@arcblock/ux 3.4.15 → 3.5.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 (333) hide show
  1. package/lib/package.json.js +1 -1
  2. package/package.json +10 -7
  3. package/src/ActionButton/ActionButton.stories.jsx +0 -61
  4. package/src/ActionButton/index.jsx +0 -106
  5. package/src/ActivityIndicator/ActivityIndicator.stories.jsx +0 -9
  6. package/src/ActivityIndicator/index.jsx +0 -140
  7. package/src/Address/Address.stories.jsx +0 -38
  8. package/src/Address/compact-text.jsx +0 -76
  9. package/src/Address/did-address.tsx +0 -223
  10. package/src/Address/index.tsx +0 -21
  11. package/src/Address/responsive-did-address.tsx +0 -154
  12. package/src/Alert/Alert.stories.jsx +0 -100
  13. package/src/Alert/index.jsx +0 -130
  14. package/src/AnimationWaiter/AnimationWaiter.stories.jsx +0 -35
  15. package/src/AnimationWaiter/dark-animation.json +0 -1
  16. package/src/AnimationWaiter/default-animation.json +0 -1
  17. package/src/AnimationWaiter/index.jsx +0 -296
  18. package/src/Async/index.tsx +0 -44
  19. package/src/Avatar/Avatar.stories.jsx +0 -11
  20. package/src/Avatar/did-motif.jsx +0 -38
  21. package/src/Avatar/etherscan-blockies.js +0 -81
  22. package/src/Avatar/index.jsx +0 -195
  23. package/src/Badge/Badge.stories.jsx +0 -41
  24. package/src/Badge/index.jsx +0 -101
  25. package/src/Blocklet/Blocklet.stories.jsx +0 -21
  26. package/src/Blocklet/blocklet.jsx +0 -276
  27. package/src/Blocklet/index.js +0 -5
  28. package/src/Blocklet/utils.jsx +0 -58
  29. package/src/BlockletContext/index.tsx +0 -72
  30. package/src/BlockletNFT/BlockletNFT.stories.jsx +0 -21
  31. package/src/BlockletNFT/index.jsx +0 -378
  32. package/src/BlockletV2/Blocklet.stories.jsx +0 -34
  33. package/src/BlockletV2/blocklet.tsx +0 -247
  34. package/src/BlockletV2/components/icon-text.tsx +0 -47
  35. package/src/BlockletV2/components/tooltip-icon.tsx +0 -52
  36. package/src/BlockletV2/index.ts +0 -6
  37. package/src/BlockletV2/utils.js +0 -75
  38. package/src/Button/Button.stories.jsx +0 -24
  39. package/src/Button/index.js +0 -9
  40. package/src/Button/wrap.jsx +0 -126
  41. package/src/ButtonGroup/index.js +0 -16
  42. package/src/CardSelector/index.tsx +0 -136
  43. package/src/Center/Center.stories.jsx +0 -20
  44. package/src/Center/index.tsx +0 -33
  45. package/src/ClickToCopy/ClickToCopy.stories.jsx +0 -24
  46. package/src/ClickToCopy/copy-button.tsx +0 -43
  47. package/src/ClickToCopy/hook.ts +0 -42
  48. package/src/ClickToCopy/index.tsx +0 -96
  49. package/src/CloseButton/index.tsx +0 -37
  50. package/src/CodeBlock/CodeBlock.stories.jsx +0 -22
  51. package/src/CodeBlock/LightBox.tsx +0 -87
  52. package/src/CodeBlock/index.tsx +0 -217
  53. package/src/Colors/Colors.stories.jsx +0 -211
  54. package/src/Colors/index.ts +0 -4
  55. package/src/Colors/themes/default.ts +0 -8
  56. package/src/Colors/themes/did-connect.ts +0 -64
  57. package/src/Colors/themes/temp.ts +0 -52
  58. package/src/Config/Config.stories.jsx +0 -16
  59. package/src/Config/config-provider.tsx +0 -62
  60. package/src/Config/index.ts +0 -2
  61. package/src/Config/theme-mode-toggle.tsx +0 -38
  62. package/src/ContactForm/ContactForm.stories.jsx +0 -32
  63. package/src/ContactForm/index.tsx +0 -264
  64. package/src/CookieConsent/CookieConsent.stories.jsx +0 -33
  65. package/src/CookieConsent/index.tsx +0 -104
  66. package/src/CountDown/CountDown.stories.jsx +0 -15
  67. package/src/CountDown/index.tsx +0 -170
  68. package/src/DID/DID.stories.jsx +0 -37
  69. package/src/DID/index.tsx +0 -393
  70. package/src/DIDConnect/app-icon.tsx +0 -37
  71. package/src/DIDConnect/app-info-item.tsx +0 -93
  72. package/src/DIDConnect/auth-apps/auth-apps-info.tsx +0 -77
  73. package/src/DIDConnect/auth-apps/index.tsx +0 -278
  74. package/src/DIDConnect/auth-apps/switch-role.tsx +0 -47
  75. package/src/DIDConnect/did-connect-container.tsx +0 -326
  76. package/src/DIDConnect/did-connect-footer.tsx +0 -76
  77. package/src/DIDConnect/did-connect-logo.tsx +0 -8
  78. package/src/DIDConnect/icons/did-wallet-logo.tsx +0 -18
  79. package/src/DIDConnect/icons/github-logo.tsx +0 -17
  80. package/src/DIDConnect/index.ts +0 -11
  81. package/src/DIDConnect/landing-page.tsx +0 -218
  82. package/src/DIDConnect/powered-by.tsx +0 -48
  83. package/src/DIDConnect/provider-icon.tsx +0 -62
  84. package/src/DIDConnect/request-storage-access-api-dialog.tsx +0 -304
  85. package/src/DIDConnect/with-container.tsx +0 -323
  86. package/src/DIDConnect/with-ux-theme.tsx +0 -22
  87. package/src/DIDLogo/Logo.stories.jsx +0 -11
  88. package/src/DIDLogo/index.tsx +0 -168
  89. package/src/Datatable/CustomToolbar.jsx +0 -415
  90. package/src/Datatable/Datatable.stories.jsx +0 -92
  91. package/src/Datatable/DatatableContext.jsx +0 -35
  92. package/src/Datatable/TableSearch.jsx +0 -166
  93. package/src/Datatable/index.jsx +0 -652
  94. package/src/Datatable/utils.js +0 -161
  95. package/src/Dialog/Dialog.stories.jsx +0 -21
  96. package/src/Dialog/confirm.jsx +0 -143
  97. package/src/Dialog/dialog.jsx +0 -199
  98. package/src/Dialog/index.js +0 -4
  99. package/src/Dialog/types.d.ts +0 -20
  100. package/src/Dialog/use-confirm.jsx +0 -188
  101. package/src/DriftBot/index.tsx +0 -81
  102. package/src/Earth/Earth.stories.jsx +0 -39
  103. package/src/Earth/countries.json +0 -8057
  104. package/src/Earth/index.tsx +0 -515
  105. package/src/Earth/util.ts +0 -72
  106. package/src/Empty/Empty.stories.jsx +0 -23
  107. package/src/Empty/index.jsx +0 -48
  108. package/src/ErrorBoundary/ErrorBoundary.stories.jsx +0 -13
  109. package/src/ErrorBoundary/fallback.tsx +0 -85
  110. package/src/ErrorBoundary/index.ts +0 -1
  111. package/src/Footer/Footer.stories.jsx +0 -13
  112. package/src/Footer/index.tsx +0 -130
  113. package/src/Header/Header.stories.jsx +0 -30
  114. package/src/Header/addon-button.tsx +0 -41
  115. package/src/Header/auto-hidden.tsx +0 -31
  116. package/src/Header/header-addons.tsx +0 -37
  117. package/src/Header/header.tsx +0 -214
  118. package/src/Header/index.ts +0 -3
  119. package/src/Header/responsive-header.tsx +0 -145
  120. package/src/Icon/Icon.stories.jsx +0 -45
  121. package/src/Icon/image.tsx +0 -53
  122. package/src/Icon/index.tsx +0 -63
  123. package/src/Img/Img.stories.jsx +0 -17
  124. package/src/Img/index.jsx +0 -258
  125. package/src/InfoRow/InfoRow.stories.jsx +0 -14
  126. package/src/InfoRow/index.tsx +0 -91
  127. package/src/Layout/Layout.stories.jsx +0 -24
  128. package/src/Layout/dashboard/external-link.tsx +0 -59
  129. package/src/Layout/dashboard/full-page.tsx +0 -58
  130. package/src/Layout/dashboard/index.tsx +0 -260
  131. package/src/Layout/dashboard/sidebar.tsx +0 -198
  132. package/src/Layout/dashboard-legacy/header.tsx +0 -156
  133. package/src/Layout/dashboard-legacy/index.tsx +0 -127
  134. package/src/Layout/dashboard-legacy/sidebar.tsx +0 -129
  135. package/src/Layout/index.tsx +0 -310
  136. package/src/LoadingMask/index.tsx +0 -108
  137. package/src/Locale/LocaleSelector.stories.jsx +0 -44
  138. package/src/Locale/browser-lang.ts +0 -65
  139. package/src/Locale/context.tsx +0 -162
  140. package/src/Locale/languages.ts +0 -58
  141. package/src/Locale/selector.tsx +0 -174
  142. package/src/Locale/util.ts +0 -38
  143. package/src/Logo/Logo.stories.jsx +0 -23
  144. package/src/Logo/images/logo-dark-text.svg +0 -3
  145. package/src/Logo/images/logo-dark-top.svg +0 -6
  146. package/src/Logo/images/logo-light-text.svg +0 -3
  147. package/src/Logo/images/logo-light-top.svg +0 -6
  148. package/src/Logo/index.tsx +0 -58
  149. package/src/Metric/Metric.stories.jsx +0 -29
  150. package/src/Metric/index.tsx +0 -130
  151. package/src/MuiWrap/index.tsx +0 -10
  152. package/src/NFTDisplay/NFTBroken.svg +0 -34
  153. package/src/NFTDisplay/NFTDisplay.stories.jsx +0 -30
  154. package/src/NFTDisplay/README.md +0 -59
  155. package/src/NFTDisplay/aspect-ratio-container.tsx +0 -36
  156. package/src/NFTDisplay/broken.tsx +0 -51
  157. package/src/NFTDisplay/displayApi.ts +0 -43
  158. package/src/NFTDisplay/index.tsx +0 -393
  159. package/src/NFTDisplay/loading.tsx +0 -16
  160. package/src/NFTDisplay/preview.tsx +0 -84
  161. package/src/NFTDisplay/render-svg.tsx +0 -21
  162. package/src/NFTDisplay/svg-embedder/img.tsx +0 -27
  163. package/src/NFTDisplay/svg-embedder/inline-svg.tsx +0 -36
  164. package/src/NavMenu/NavMenu.stories.jsx +0 -17
  165. package/src/NavMenu/images/OCAP.svg +0 -1
  166. package/src/NavMenu/images/abt-network.svg +0 -1
  167. package/src/NavMenu/images/ai-kit.svg +0 -1
  168. package/src/NavMenu/images/aigne-image-smith.svg +0 -1
  169. package/src/NavMenu/images/aigne.svg +0 -1
  170. package/src/NavMenu/images/aistro.png +0 -0
  171. package/src/NavMenu/images/arcsphere.svg +0 -1
  172. package/src/NavMenu/images/blocklet-framework.svg +0 -1
  173. package/src/NavMenu/images/blocklet-launcher.svg +0 -1
  174. package/src/NavMenu/images/blocklet-server.svg +0 -1
  175. package/src/NavMenu/images/blocklet-store.svg +0 -1
  176. package/src/NavMenu/images/creator-studio.svg +0 -1
  177. package/src/NavMenu/images/did-wallet.svg +0 -1
  178. package/src/NavMenu/images/did.svg +0 -1
  179. package/src/NavMenu/images/nft-studio.svg +0 -1
  180. package/src/NavMenu/images/payment-kit.png +0 -0
  181. package/src/NavMenu/images/vc.svg +0 -1
  182. package/src/NavMenu/images/web3-kit.svg +0 -1
  183. package/src/NavMenu/index.ts +0 -3
  184. package/src/NavMenu/nav-menu-context.tsx +0 -30
  185. package/src/NavMenu/nav-menu.tsx +0 -441
  186. package/src/NavMenu/products.tsx +0 -830
  187. package/src/NavMenu/style.ts +0 -258
  188. package/src/NavMenu/sub-container.tsx +0 -125
  189. package/src/NavMenu/sub-item-group.tsx +0 -42
  190. package/src/OrgTransfer/index.tsx +0 -53
  191. package/src/OrgTransfer/locales.ts +0 -25
  192. package/src/OrgTransfer/selector.tsx +0 -252
  193. package/src/OrgTransfer/type.ts +0 -31
  194. package/src/PageScroller/index.tsx +0 -316
  195. package/src/PageScroller/story/FifthComponent.jsx +0 -7
  196. package/src/PageScroller/story/FirstComponent.jsx +0 -7
  197. package/src/PageScroller/story/FourthComponent.jsx +0 -7
  198. package/src/PageScroller/story/FullPage.jsx +0 -55
  199. package/src/PageScroller/story/PageContain.jsx +0 -59
  200. package/src/PageScroller/story/PageScroller.stories.jsx +0 -18
  201. package/src/PageScroller/story/SecondComponent.jsx +0 -7
  202. package/src/PageScroller/story/ThirdComponent.jsx +0 -7
  203. package/src/PageScroller/story/index.css +0 -115
  204. package/src/PageScroller/usePrevValue.ts +0 -11
  205. package/src/Passport/index.ts +0 -3
  206. package/src/Passport/passport.tsx +0 -118
  207. package/src/PhoneInput/PhoneInput.stories.jsx +0 -12
  208. package/src/PhoneInput/country-select.tsx +0 -148
  209. package/src/PhoneInput/index.tsx +0 -269
  210. package/src/PoweredByArcBlock/index.tsx +0 -27
  211. package/src/PricingTable/PricingPlan.tsx +0 -120
  212. package/src/PricingTable/PricingTable.stories.jsx +0 -38
  213. package/src/PricingTable/index.tsx +0 -59
  214. package/src/QRCode/QRCode.stories.jsx +0 -13
  215. package/src/QRCode/index.tsx +0 -66
  216. package/src/RelativeTime/RelativeTime.stories.jsx +0 -20
  217. package/src/RelativeTime/index.tsx +0 -334
  218. package/src/Result/Result.stories.jsx +0 -61
  219. package/src/Result/common.tsx +0 -119
  220. package/src/Result/index.tsx +0 -30
  221. package/src/Result/result.tsx +0 -65
  222. package/src/Result/translations.ts +0 -57
  223. package/src/Screenshot/BaseScreenshot/index.tsx +0 -73
  224. package/src/Screenshot/BaseScreenshot/shells/Macbook.tsx +0 -38
  225. package/src/Screenshot/BaseScreenshot/shells/Phone.tsx +0 -35
  226. package/src/Screenshot/Screenshot.stories.jsx +0 -44
  227. package/src/Screenshot/devices.css +0 -1366
  228. package/src/Screenshot/index.tsx +0 -300
  229. package/src/SessionBlocklet/index.tsx +0 -178
  230. package/src/SessionManager/SessionManager.stories.jsx +0 -9
  231. package/src/SessionManager/index.tsx +0 -3
  232. package/src/SessionPermission/index.tsx +0 -26
  233. package/src/SessionUser/components/did-space.tsx +0 -68
  234. package/src/SessionUser/components/logged-in.tsx +0 -338
  235. package/src/SessionUser/components/quick-login-item.tsx +0 -132
  236. package/src/SessionUser/components/session-user-item.tsx +0 -93
  237. package/src/SessionUser/components/session-user-switch.tsx +0 -240
  238. package/src/SessionUser/components/un-login.tsx +0 -257
  239. package/src/SessionUser/components/user-info.tsx +0 -201
  240. package/src/SessionUser/index.tsx +0 -68
  241. package/src/SessionUser/libs/translation.ts +0 -30
  242. package/src/SessionUser/libs/utils.ts +0 -39
  243. package/src/SharedBridge/index.tsx +0 -126
  244. package/src/SocialShare/index.tsx +0 -194
  245. package/src/Sparkline/Sparkline.stories.jsx +0 -13
  246. package/src/Sparkline/index.tsx +0 -231
  247. package/src/Spinner/Spinner.stories.jsx +0 -98
  248. package/src/Spinner/index.tsx +0 -20
  249. package/src/SplitButton/SplitButton.stories.jsx +0 -32
  250. package/src/SplitButton/index.tsx +0 -116
  251. package/src/SplitButton/useClickAway.tsx +0 -24
  252. package/src/Success/index.tsx +0 -175
  253. package/src/Switch/Switch.stories.jsx +0 -16
  254. package/src/Switch/index.jsx +0 -79
  255. package/src/Tabs/Tabs.stories.jsx +0 -18
  256. package/src/Tabs/index.tsx +0 -255
  257. package/src/Tag/Tag.stories.jsx +0 -15
  258. package/src/Tag/index.jsx +0 -106
  259. package/src/TextCollapse/TextCollapse.stories.jsx +0 -73
  260. package/src/TextCollapse/index.tsx +0 -85
  261. package/src/Theme/Theme.stories.jsx +0 -11
  262. package/src/Theme/index.ts +0 -21
  263. package/src/Theme/theme-provider.tsx +0 -374
  264. package/src/Theme/theme.ts +0 -229
  265. package/src/Toast/Toast.stories.jsx +0 -28
  266. package/src/Toast/index.tsx +0 -80
  267. package/src/Typography/index.tsx +0 -124
  268. package/src/UserCard/Cards/avatar-only.tsx +0 -27
  269. package/src/UserCard/Cards/basic-info.tsx +0 -43
  270. package/src/UserCard/Cards/index.tsx +0 -16
  271. package/src/UserCard/Cards/social-actions.tsx +0 -196
  272. package/src/UserCard/Container/card.tsx +0 -63
  273. package/src/UserCard/Container/dialog.tsx +0 -37
  274. package/src/UserCard/Content/basic.tsx +0 -330
  275. package/src/UserCard/Content/clock.tsx +0 -82
  276. package/src/UserCard/Content/minimal.tsx +0 -113
  277. package/src/UserCard/Content/shorten-label.tsx +0 -32
  278. package/src/UserCard/Content/tooltip-avatar.tsx +0 -80
  279. package/src/UserCard/UserCard.stories.jsx +0 -19
  280. package/src/UserCard/components.tsx +0 -81
  281. package/src/UserCard/index.tsx +0 -132
  282. package/src/UserCard/types.ts +0 -165
  283. package/src/UserCard/use-follow.tsx +0 -111
  284. package/src/UserCard/utils.ts +0 -155
  285. package/src/Util/WebWalletOpener.stories.jsx +0 -5
  286. package/src/Util/client.ts +0 -4
  287. package/src/Util/constant.ts +0 -70
  288. package/src/Util/deprecate.tsx +0 -29
  289. package/src/Util/federated.ts +0 -125
  290. package/src/Util/iframe.ts +0 -19
  291. package/src/Util/index.ts +0 -760
  292. package/src/Util/logger.ts +0 -44
  293. package/src/Util/passport.ts +0 -127
  294. package/src/Util/security.ts +0 -72
  295. package/src/Util/style.ts +0 -17
  296. package/src/Util/wallet.ts +0 -35
  297. package/src/VerificationCode/index.tsx +0 -83
  298. package/src/Video/Video.stories.jsx +0 -6
  299. package/src/Video/index.tsx +0 -70
  300. package/src/Wallet/Action.stories.jsx +0 -8
  301. package/src/Wallet/Action.tsx +0 -118
  302. package/src/Wallet/Download.stories.jsx +0 -9
  303. package/src/Wallet/Download.tsx +0 -157
  304. package/src/Wallet/Open.tsx +0 -47
  305. package/src/Wallet/OpenInWallet.stories.jsx +0 -5
  306. package/src/Wallet/images/abtwallet.png +0 -0
  307. package/src/Wallet/images/android_download.svg +0 -22
  308. package/src/Wallet/images/app-store.svg +0 -30
  309. package/src/Wallet/images/google-play.svg +0 -69
  310. package/src/WalletOSIcon/index.tsx +0 -47
  311. package/src/WebWalletSWKeeper/index.tsx +0 -117
  312. package/src/WechatPrompt/images/android.png +0 -0
  313. package/src/WechatPrompt/images/ios.png +0 -0
  314. package/src/WechatPrompt/index.tsx +0 -75
  315. package/src/global.d.ts +0 -28
  316. package/src/hooks/use-blocklet-logo.tsx +0 -32
  317. package/src/hooks/use-clock.tsx +0 -62
  318. package/src/hooks/use-location-state.tsx +0 -117
  319. package/src/hooks/use-mobile.tsx +0 -6
  320. package/src/index.ts +0 -79
  321. package/src/type.d.ts +0 -44
  322. package/src/withTheme/index.tsx +0 -72
  323. package/src/withTracker/README.md +0 -37
  324. package/src/withTracker/action/bind-wallet.tsx +0 -17
  325. package/src/withTracker/action/login.tsx +0 -18
  326. package/src/withTracker/action/pay.tsx +0 -14
  327. package/src/withTracker/action/switch-passport.tsx +0 -20
  328. package/src/withTracker/constant/index.tsx +0 -3
  329. package/src/withTracker/env.tsx +0 -1
  330. package/src/withTracker/error_boundary.jsx +0 -34
  331. package/src/withTracker/index.tsx +0 -50
  332. package/src/withTracker/libs/utm.ts +0 -46
  333. package/vite.config.mjs +0 -37
@@ -1,188 +0,0 @@
1
- import { isValidElement, useImperativeHandle, useRef, useState } from 'react';
2
- import { useMemoizedFn, useReactive } from 'ahooks';
3
- import noop from 'lodash/noop';
4
-
5
- import Confirm from './confirm';
6
-
7
- // eslint-disable-next-line react/prop-types
8
- function ConfirmHolder({ ref, ...props }) {
9
- // HACK: 这里默认值不使用 null,来避免开发环境中的字段必填警告
10
- // HACK: useReactive 无法存储 react-node,所以只能使用 useState
11
- const [title, setTitle] = useState('');
12
- const [content, setContent] = useState('');
13
- const state = useReactive({
14
- show: false,
15
- title: '',
16
- content: '',
17
- onConfirm: noop,
18
- onCancel: noop,
19
- // 其他属性
20
- loading: false,
21
- showCancelButton: true,
22
- showCloseButton: true,
23
- showConfirmButton: true,
24
- confirmButtonText: 'Confirm',
25
- confirmButtonProps: {},
26
- cancelButtonText: 'Cancel',
27
- cancelButtonProps: {},
28
- });
29
- const open = useMemoizedFn((params = {}) => {
30
- if (isValidElement(params.title)) {
31
- setTitle(params.title);
32
- state.title = '';
33
- } else {
34
- setTitle('');
35
- state.title = params.title;
36
- }
37
- if (isValidElement(params.content)) {
38
- setContent(params.content);
39
- state.content = '';
40
- } else {
41
- setContent('');
42
- state.content = params.content;
43
- }
44
- state.onConfirm = params.onConfirm || noop;
45
- state.onCancel = params.onCancel || noop;
46
- state.showCloseButton = params.showCloseButton ?? true;
47
- state.showCancelButton = params.showCancelButton ?? true;
48
- state.showConfirmButton = params.showConfirmButton ?? true;
49
- if (params.confirmButtonText) state.confirmButtonText = params.confirmButtonText;
50
- if (params.confirmButtonProps) state.confirmButtonProps = params.confirmButtonProps;
51
- if (params.cancelButtonText) state.cancelButtonText = params.cancelButtonText;
52
- if (params.cancelButtonProps) state.cancelButtonProps = params.cancelButtonProps;
53
-
54
- state.loading = false;
55
- state.show = true;
56
- });
57
- const reset = useMemoizedFn(() => {
58
- setTitle('');
59
- setContent('');
60
- state.title = '';
61
- state.content = '';
62
- state.onConfirm = noop;
63
- state.onCancel = noop;
64
- state.confirmButtonText = 'Confirm';
65
- state.confirmButtonProps = {};
66
- state.cancelButtonText = 'Cancel';
67
- state.cancelButtonProps = {};
68
- state.showConfirmButton = true;
69
- state.showCancelButton = true;
70
- state.showCloseButton = true;
71
- });
72
- const close = useMemoizedFn(() => {
73
- state.show = false;
74
- setTimeout(() => {
75
- reset();
76
- }, 300);
77
- });
78
- const update = useMemoizedFn((params) => {
79
- if (params.title) {
80
- if (isValidElement(params.title)) {
81
- setTitle(params.title);
82
- state.title = '';
83
- } else {
84
- setTitle('');
85
- state.title = params.title;
86
- }
87
- }
88
- if (params.content) {
89
- if (isValidElement(params.content)) {
90
- setContent(params.content);
91
- state.content = '';
92
- } else {
93
- setContent('');
94
- state.content = params.content;
95
- }
96
- }
97
- });
98
- const onCancel = useMemoizedFn((e, reason) => {
99
- close();
100
- state?.onCancel(e, reason);
101
- }, []);
102
- const onConfirm = useMemoizedFn(async (e) => {
103
- state.loading = true;
104
- try {
105
- await state?.onConfirm(close, e);
106
- } finally {
107
- state.loading = false;
108
- }
109
- }, []);
110
- useImperativeHandle(ref, () => {
111
- return {
112
- open,
113
- close,
114
- update,
115
- };
116
- }, [open, close, update]);
117
-
118
- const realTitle = title || state.title;
119
- const realContent = content || state.content;
120
-
121
- return (
122
- <Confirm
123
- {...props}
124
- open={state.show}
125
- title={realTitle}
126
- onConfirm={onConfirm}
127
- onCancel={onCancel}
128
- confirmButton={{
129
- text: state.confirmButtonText,
130
- props: {
131
- variant: 'contained',
132
- color: 'primary',
133
- loading: state.loading,
134
- ...state.confirmButtonProps,
135
- },
136
- }}
137
- showCloseButton={state.showCloseButton}
138
- showCancelButton={state.showCancelButton}
139
- showConfirmButton={state.showConfirmButton}
140
- cancelButton={{
141
- text: state.cancelButtonText,
142
- props: {
143
- variant: 'outlined',
144
- color: 'primary',
145
- ...state.cancelButtonProps,
146
- },
147
- }}>
148
- {realContent instanceof Function ? realContent() : realContent}
149
- </Confirm>
150
- );
151
- }
152
-
153
- export default function useConfirm(props = {}) {
154
- const confirmRef = useRef(null);
155
-
156
- /**
157
- * 打开一个弹窗
158
- * @type {import('./types').OpenConfirm}
159
- */
160
- const open = useMemoizedFn((...args) => {
161
- confirmRef.current?.open(...args);
162
- });
163
- /**
164
- * 关闭一个弹窗
165
- * @type {import('./types').CloseConfirm}
166
- */
167
- const close = useMemoizedFn((...args) => {
168
- confirmRef.current?.close(...args);
169
- });
170
-
171
- /**
172
- * 更新弹窗的 title 和 content
173
- * @type {import('./types').UpdateConfirm}
174
- */
175
- const update = useMemoizedFn((...args) => {
176
- confirmRef.current?.update(...args);
177
- });
178
- const confirmApi = {
179
- open,
180
- close,
181
- update,
182
- };
183
-
184
- return {
185
- confirmHolder: <ConfirmHolder {...props} ref={confirmRef} />,
186
- confirmApi,
187
- };
188
- }
@@ -1,81 +0,0 @@
1
- /* eslint-disable max-len */
2
- import { Component } from 'react';
3
-
4
- import { mergeProps } from '../Util';
5
-
6
- export interface DriftBotProps {
7
- appId: string;
8
- userId?: string;
9
- attributes?: Record<string, any>;
10
- }
11
-
12
- export default class DriftBot extends Component<DriftBotProps> {
13
- // eslint-disable-next-line react/static-property-placement
14
- static defaultProps: { userId: string; attributes: Record<string, any> } = {
15
- userId: '',
16
- attributes: {},
17
- };
18
-
19
- constructor(props: DriftBotProps) {
20
- super(mergeProps(props, DriftBot, ['attributes']) as DriftBotProps);
21
-
22
- this.addMainScript = this.addMainScript.bind(this);
23
- this.addIdentityVariables = this.addIdentityVariables.bind(this);
24
- this.insertScript = this.insertScript.bind(this);
25
- }
26
-
27
- insertScript(scriptText: string) {
28
- const script = document.createElement('script');
29
- script.innerText = scriptText;
30
- script.async = true;
31
- document.body.appendChild(script);
32
- }
33
-
34
- addMainScript() {
35
- const scriptText = `!function() {
36
- var t = window.driftt = window.drift = window.driftt || [];
37
- if (!t.init) {
38
- if (t.invoked) return void (window.console && console.error && console.error("Drift snippet included twice."));
39
- t.invoked = !0, t.methods = [ "identify", "config", "track", "reset", "debug", "show", "ping", "page", "hide", "off", "on" ],
40
- t.factory = function(e) {
41
- return function() {
42
- var n = Array.prototype.slice.call(arguments);
43
- return n.unshift(e), t.push(n), t;
44
- };
45
- }, t.methods.forEach(function(e) {
46
- t[e] = t.factory(e);
47
- }), t.load = function(t) {
48
- var e = 3e5, n = Math.ceil(new Date() / e) * e, o = document.createElement("script");
49
- o.type = "text/javascript", o.async = !0, o.crossorigin = "anonymous", o.src = "https://js.driftt.com/include/" + n + "/" + t + ".js";
50
- var i = document.getElementsByTagName("script")[0];
51
- i.parentNode.insertBefore(o, i);
52
- };
53
- }
54
- }();
55
- drift.SNIPPET_VERSION = '0.3.1';
56
- drift.load('${this.props.appId}');`;
57
-
58
- this.insertScript(scriptText);
59
- }
60
-
61
- addIdentityVariables() {
62
- if (typeof this.props.userId !== 'undefined') {
63
- const scriptText = `
64
- var t = window.driftt = window.drift = window.driftt || [];
65
- drift.identify('${this.props.userId}', ${JSON.stringify(this.props.attributes)})
66
- `;
67
- this.insertScript(scriptText);
68
- }
69
- }
70
-
71
- componentDidMount() {
72
- if (typeof window !== 'undefined') {
73
- this.addMainScript();
74
- this.addIdentityVariables();
75
- }
76
- }
77
-
78
- render() {
79
- return '';
80
- }
81
- }
@@ -1,39 +0,0 @@
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';