@arcblock/ux 2.9.91 → 2.10.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 (337) hide show
  1. package/lib/ActionButton/index.js +36 -48
  2. package/lib/ActivityIndicator/index.js +122 -75
  3. package/lib/Address/compact-text.js +48 -66
  4. package/lib/Address/did-address.js +114 -87
  5. package/lib/Address/index.js +15 -27
  6. package/lib/Address/responsive-did-address.js +48 -50
  7. package/lib/Alert/index.js +58 -52
  8. package/lib/AnimationWaiter/index.js +123 -69
  9. package/lib/Async/index.js +8 -22
  10. package/lib/Avatar/did-motif.js +38 -52
  11. package/lib/Avatar/etherscan-blockies.js +4 -10
  12. package/lib/Avatar/index.js +71 -77
  13. package/lib/Badge/index.js +49 -56
  14. package/lib/Blocklet/blocklet.js +181 -97
  15. package/lib/Blocklet/index.js +4 -24
  16. package/lib/Blocklet/utils.js +50 -13
  17. package/lib/BlockletContext/index.js +21 -31
  18. package/lib/BlockletNFT/index.js +255 -115
  19. package/lib/Button/index.js +5 -11
  20. package/lib/Button/wrap.js +45 -56
  21. package/lib/ButtonGroup/index.js +3 -9
  22. package/lib/CardSelector/index.js +67 -43
  23. package/lib/Center/index.js +19 -20
  24. package/lib/ClickToCopy/copy-button.js +37 -50
  25. package/lib/ClickToCopy/hook.js +10 -18
  26. package/lib/ClickToCopy/index.js +54 -66
  27. package/lib/CodeBlock/LightBox.js +84 -11
  28. package/lib/CodeBlock/index.js +175 -101
  29. package/lib/Colors/index.js +3 -20
  30. package/lib/Colors/themes/default.js +1 -7
  31. package/lib/Colors/themes/temp.js +1 -7
  32. package/lib/ContactForm/index.js +95 -60
  33. package/lib/CookieConsent/index.js +58 -52
  34. package/lib/CountDown/index.js +90 -59
  35. package/lib/DID/index.js +80 -96
  36. package/lib/Datatable/CustomToolbar.js +188 -137
  37. package/lib/Datatable/DatatableContext.js +14 -21
  38. package/lib/Datatable/TableSearch.js +99 -58
  39. package/lib/Datatable/index.js +312 -139
  40. package/lib/Datatable/utils.js +9 -17
  41. package/lib/Dialog/confirm.js +46 -58
  42. package/lib/Dialog/dialog.js +110 -66
  43. package/lib/Dialog/index.js +4 -27
  44. package/lib/Dialog/use-confirm.js +40 -65
  45. package/lib/DidLogo/index.js +14 -22
  46. package/lib/DriftBot/index.js +34 -19
  47. package/lib/Earth/index.js +214 -110
  48. package/lib/Earth/util.js +6 -19
  49. package/lib/Empty/index.js +33 -38
  50. package/lib/ErrorBoundary/fallback.js +45 -43
  51. package/lib/ErrorBoundary/index.js +1 -16
  52. package/lib/Footer/index.js +96 -48
  53. package/lib/Header/auto-hidden.js +28 -31
  54. package/lib/Header/header.js +151 -69
  55. package/lib/Header/index.js +2 -20
  56. package/lib/Header/responsive-header.js +67 -60
  57. package/lib/Icon/image.js +41 -45
  58. package/lib/Icon/index.js +51 -53
  59. package/lib/Img/index.js +77 -88
  60. package/lib/InfoRow/index.js +66 -48
  61. package/lib/Layout/dashboard/external-link.js +38 -53
  62. package/lib/Layout/dashboard/full-page.js +27 -41
  63. package/lib/Layout/dashboard/index.js +177 -132
  64. package/lib/Layout/dashboard/sidebar.js +164 -61
  65. package/lib/Layout/dashboard-legacy/header.js +119 -66
  66. package/lib/Layout/dashboard-legacy/index.js +90 -79
  67. package/lib/Layout/dashboard-legacy/sidebar.js +95 -62
  68. package/lib/Layout/index.js +200 -106
  69. package/lib/LoadingMask/index.js +31 -38
  70. package/lib/Locale/browser-lang.js +2 -8
  71. package/lib/Locale/context.js +46 -69
  72. package/lib/Locale/languages.js +6 -15
  73. package/lib/Locale/selector.js +116 -92
  74. package/lib/Locale/util.js +7 -16
  75. package/lib/Logo/index.js +54 -57
  76. package/lib/Metric/index.js +103 -40
  77. package/lib/NFTDisplay/aspect-ratio-container.js +33 -40
  78. package/lib/NFTDisplay/broken.js +68 -52
  79. package/lib/NFTDisplay/index.js +140 -129
  80. package/lib/NFTDisplay/loading.js +14 -13
  81. package/lib/NFTDisplay/svg-embedder/img.js +18 -33
  82. package/lib/NFTDisplay/svg-embedder/inline-svg.js +28 -32
  83. package/lib/NavMenu/index.js +2 -13
  84. package/lib/NavMenu/nav-menu.js +133 -148
  85. package/lib/NavMenu/style.js +179 -12
  86. package/lib/PageScroller/index.js +82 -93
  87. package/lib/PageScroller/story/FifthComponent.js +4 -10
  88. package/lib/PageScroller/story/FirstComponent.js +4 -10
  89. package/lib/PageScroller/story/FourthComponent.js +4 -10
  90. package/lib/PageScroller/story/FullPage.js +21 -28
  91. package/lib/PageScroller/story/PageContain.js +23 -30
  92. package/lib/PageScroller/story/SecondComponent.js +4 -10
  93. package/lib/PageScroller/story/ThirdComponent.js +4 -10
  94. package/lib/PageScroller/usePrevValue.js +4 -11
  95. package/lib/Passport/index.js +2 -9
  96. package/lib/Passport/passport.js +38 -51
  97. package/lib/PoweredByArcBlock/index.js +19 -33
  98. package/lib/PricingTable/PricingPlan.js +90 -34
  99. package/lib/PricingTable/index.js +28 -26
  100. package/lib/QRCode/index.js +38 -50
  101. package/lib/RelativeTime/index.js +44 -59
  102. package/lib/Result/common.js +85 -107
  103. package/lib/Result/index.js +22 -34
  104. package/lib/Result/result.js +35 -41
  105. package/lib/Result/translations.js +1 -7
  106. package/lib/Screenshot/BaseScreenshot/index.js +65 -43
  107. package/lib/Screenshot/BaseScreenshot/shells/Macbook.js +17 -27
  108. package/lib/Screenshot/BaseScreenshot/shells/Phone.js +14 -25
  109. package/lib/Screenshot/index.js +103 -92
  110. package/lib/SessionBlocklet/index.js +125 -143
  111. package/lib/SessionManager/index.js +2 -9
  112. package/lib/SessionPermission/index.js +13 -23
  113. package/lib/SessionUser/components/logged-in.js +139 -158
  114. package/lib/SessionUser/components/session-user-item.js +44 -58
  115. package/lib/SessionUser/components/session-user-switch.js +133 -152
  116. package/lib/SessionUser/components/un-login.js +27 -35
  117. package/lib/SessionUser/components/user-info.js +62 -74
  118. package/lib/SessionUser/index.js +26 -34
  119. package/lib/SessionUser/libs/translation.js +1 -7
  120. package/lib/SessionUser/libs/utils.js +13 -34
  121. package/lib/Sparkline/index.js +4 -10
  122. package/lib/Spinner/index.js +11 -17
  123. package/lib/SplitButton/index.js +72 -68
  124. package/lib/Success/index.js +28 -34
  125. package/lib/Switch/index.js +64 -75
  126. package/lib/Tabs/index.js +84 -103
  127. package/lib/Tag/index.js +52 -56
  128. package/lib/TextCollapse/index.js +57 -50
  129. package/lib/Theme/index.js +8 -47
  130. package/lib/Theme/theme-provider.js +19 -26
  131. package/lib/Theme/theme.js +49 -62
  132. package/lib/Toast/index.js +41 -73
  133. package/lib/Typography/index.js +44 -55
  134. package/lib/Util/constant.js +16 -22
  135. package/lib/Util/deprecate.js +14 -26
  136. package/lib/Util/federated.js +16 -38
  137. package/lib/Util/index.js +63 -113
  138. package/lib/Util/passport.js +23 -33
  139. package/lib/Util/wallet.js +5 -14
  140. package/lib/Video/index.js +34 -34
  141. package/lib/Wallet/Action.js +72 -49
  142. package/lib/Wallet/Download.js +132 -115
  143. package/lib/Wallet/Open.js +26 -25
  144. package/lib/WalletOSIcon/index.js +33 -42
  145. package/lib/WebWalletSWKeeper/index.js +42 -55
  146. package/lib/WechatPrompt/index.js +53 -33
  147. package/lib/index.js +38 -265
  148. package/lib/withTheme/index.js +53 -33
  149. package/lib/withTracker/error_boundary.js +7 -18
  150. package/lib/withTracker/index.js +25 -34
  151. package/package.json +9 -316
  152. package/src/WalletOSIcon/index.jsx +1 -1
  153. package/es/ActionButton/index.js +0 -99
  154. package/es/ActivityIndicator/index.js +0 -180
  155. package/es/Address/compact-text.js +0 -105
  156. package/es/Address/did-address.js +0 -222
  157. package/es/Address/index.js +0 -23
  158. package/es/Address/responsive-did-address.js +0 -87
  159. package/es/Alert/index.js +0 -134
  160. package/es/AnimationWaiter/default-animation.json +0 -1
  161. package/es/AnimationWaiter/index.js +0 -240
  162. package/es/Async/index.js +0 -38
  163. package/es/Avatar/did-motif.js +0 -68
  164. package/es/Avatar/etherscan-blockies.js +0 -83
  165. package/es/Avatar/index.js +0 -179
  166. package/es/Badge/index.js +0 -98
  167. package/es/Blocklet/blocklet.js +0 -298
  168. package/es/Blocklet/index.js +0 -4
  169. package/es/Blocklet/utils.js +0 -52
  170. package/es/BlockletContext/index.js +0 -65
  171. package/es/BlockletNFT/index.js +0 -412
  172. package/es/Button/index.js +0 -8
  173. package/es/Button/wrap.js +0 -140
  174. package/es/ButtonGroup/index.js +0 -6
  175. package/es/CardSelector/index.js +0 -149
  176. package/es/Center/index.js +0 -41
  177. package/es/ClickToCopy/copy-button.js +0 -72
  178. package/es/ClickToCopy/hook.js +0 -39
  179. package/es/ClickToCopy/index.js +0 -92
  180. package/es/CodeBlock/LightBox.js +0 -85
  181. package/es/CodeBlock/index.js +0 -222
  182. package/es/Colors/index.js +0 -3
  183. package/es/Colors/themes/default.js +0 -77
  184. package/es/Colors/themes/temp.js +0 -41
  185. package/es/ContactForm/index.js +0 -230
  186. package/es/CookieConsent/index.js +0 -113
  187. package/es/CountDown/index.js +0 -178
  188. package/es/DID/index.js +0 -249
  189. package/es/Datatable/CustomToolbar.js +0 -396
  190. package/es/Datatable/DatatableContext.js +0 -34
  191. package/es/Datatable/TableSearch.js +0 -166
  192. package/es/Datatable/index.js +0 -629
  193. package/es/Datatable/utils.js +0 -132
  194. package/es/Dialog/confirm.js +0 -123
  195. package/es/Dialog/dialog.js +0 -201
  196. package/es/Dialog/index.js +0 -4
  197. package/es/Dialog/types.d.ts +0 -17
  198. package/es/Dialog/use-confirm.js +0 -133
  199. package/es/DidLogo/index.js +0 -31
  200. package/es/DriftBot/index.js +0 -70
  201. package/es/Earth/countries.json +0 -8057
  202. package/es/Earth/index.js +0 -521
  203. package/es/Earth/util.js +0 -51
  204. package/es/Empty/index.js +0 -65
  205. package/es/ErrorBoundary/fallback.js +0 -73
  206. package/es/ErrorBoundary/index.js +0 -1
  207. package/es/Footer/index.js +0 -172
  208. package/es/Header/auto-hidden.js +0 -35
  209. package/es/Header/header.js +0 -223
  210. package/es/Header/index.js +0 -2
  211. package/es/Header/responsive-header.js +0 -146
  212. package/es/Icon/image.js +0 -65
  213. package/es/Icon/index.js +0 -84
  214. package/es/Img/index.js +0 -218
  215. package/es/InfoRow/index.js +0 -87
  216. package/es/Layout/dashboard/external-link.js +0 -58
  217. package/es/Layout/dashboard/full-page.js +0 -53
  218. package/es/Layout/dashboard/index.js +0 -282
  219. package/es/Layout/dashboard/sidebar.js +0 -209
  220. package/es/Layout/dashboard-legacy/header.js +0 -174
  221. package/es/Layout/dashboard-legacy/index.js +0 -148
  222. package/es/Layout/dashboard-legacy/sidebar.js +0 -129
  223. package/es/Layout/index.js +0 -335
  224. package/es/LoadingMask/index.js +0 -102
  225. package/es/Locale/browser-lang.js +0 -52
  226. package/es/Locale/context.js +0 -139
  227. package/es/Locale/languages.js +0 -60
  228. package/es/Locale/selector.js +0 -186
  229. package/es/Locale/util.js +0 -21
  230. package/es/Logo/images/logo-dark-text.svg +0 -3
  231. package/es/Logo/images/logo-dark-top.svg +0 -6
  232. package/es/Logo/images/logo-light-text.svg +0 -3
  233. package/es/Logo/images/logo-light-top.svg +0 -6
  234. package/es/Logo/index.js +0 -136
  235. package/es/Metric/index.js +0 -132
  236. package/es/NFTDisplay/NFTBroken.svg +0 -34
  237. package/es/NFTDisplay/README.md +0 -59
  238. package/es/NFTDisplay/aspect-ratio-container.js +0 -39
  239. package/es/NFTDisplay/broken.js +0 -132
  240. package/es/NFTDisplay/demo/data/asset-state-display-url.json +0 -7
  241. package/es/NFTDisplay/demo/data/asset-state-gzipped-svg-1-1.json +0 -10
  242. package/es/NFTDisplay/demo/data/asset-state-gzipped-svg-374-130.json +0 -10
  243. package/es/NFTDisplay/demo/data/asset-state-gzipped-svg-with-foreign-object.json +0 -20
  244. package/es/NFTDisplay/demo/data/asset-state-svg.json +0 -29
  245. package/es/NFTDisplay/demo/data/asset-state-url.json +0 -10
  246. package/es/NFTDisplay/index.js +0 -328
  247. package/es/NFTDisplay/loading.js +0 -18
  248. package/es/NFTDisplay/svg-embedder/img.js +0 -45
  249. package/es/NFTDisplay/svg-embedder/inline-svg.js +0 -39
  250. package/es/NavMenu/index.js +0 -2
  251. package/es/NavMenu/nav-menu.js +0 -358
  252. package/es/NavMenu/style.js +0 -181
  253. package/es/PageScroller/index.js +0 -286
  254. package/es/PageScroller/story/FifthComponent.js +0 -9
  255. package/es/PageScroller/story/FirstComponent.js +0 -9
  256. package/es/PageScroller/story/FourthComponent.js +0 -12
  257. package/es/PageScroller/story/FullPage.js +0 -47
  258. package/es/PageScroller/story/PageContain.js +0 -59
  259. package/es/PageScroller/story/SecondComponent.js +0 -9
  260. package/es/PageScroller/story/ThirdComponent.js +0 -9
  261. package/es/PageScroller/story/index.css +0 -115
  262. package/es/PageScroller/usePrevValue.js +0 -9
  263. package/es/Passport/index.js +0 -2
  264. package/es/Passport/passport.js +0 -103
  265. package/es/PoweredByArcBlock/index.js +0 -31
  266. package/es/PricingTable/PricingPlan.js +0 -124
  267. package/es/PricingTable/index.js +0 -53
  268. package/es/QRCode/index.js +0 -73
  269. package/es/RelativeTime/index.js +0 -107
  270. package/es/Result/common.js +0 -140
  271. package/es/Result/demo/fixtures/result-image-404.svg +0 -1
  272. package/es/Result/index.js +0 -33
  273. package/es/Result/result.js +0 -59
  274. package/es/Result/translations.js +0 -54
  275. package/es/Screenshot/BaseScreenshot/index.js +0 -91
  276. package/es/Screenshot/BaseScreenshot/shells/Macbook.js +0 -51
  277. package/es/Screenshot/BaseScreenshot/shells/Phone.js +0 -36
  278. package/es/Screenshot/demo/images/bg-00.jpg +0 -0
  279. package/es/Screenshot/demo/images/bg-01.jpg +0 -0
  280. package/es/Screenshot/demo/images/bg-02.jpg +0 -0
  281. package/es/Screenshot/demo/images/bg-03.jpg +0 -0
  282. package/es/Screenshot/demo/images/bg-04.jpg +0 -0
  283. package/es/Screenshot/demo/images/bg-05.jpg +0 -0
  284. package/es/Screenshot/demo/images/bg-06.jpg +0 -0
  285. package/es/Screenshot/demo/images/bg-07.jpg +0 -0
  286. package/es/Screenshot/demo/images/bg-08.jpg +0 -0
  287. package/es/Screenshot/demo/images/bg-09.jpg +0 -0
  288. package/es/Screenshot/devices.css +0 -1366
  289. package/es/Screenshot/index.js +0 -299
  290. package/es/SessionBlocklet/index.js +0 -173
  291. package/es/SessionManager/index.js +0 -2
  292. package/es/SessionPermission/index.js +0 -28
  293. package/es/SessionUser/components/logged-in.js +0 -229
  294. package/es/SessionUser/components/session-user-item.js +0 -102
  295. package/es/SessionUser/components/session-user-switch.js +0 -223
  296. package/es/SessionUser/components/un-login.js +0 -64
  297. package/es/SessionUser/components/user-info.js +0 -167
  298. package/es/SessionUser/index.js +0 -49
  299. package/es/SessionUser/libs/translation.js +0 -19
  300. package/es/SessionUser/libs/utils.js +0 -29
  301. package/es/Sparkline/index.js +0 -193
  302. package/es/Spinner/index.js +0 -28
  303. package/es/SplitButton/index.js +0 -145
  304. package/es/Success/index.js +0 -175
  305. package/es/Switch/index.js +0 -96
  306. package/es/Tabs/index.js +0 -214
  307. package/es/Tag/index.js +0 -108
  308. package/es/TextCollapse/index.js +0 -92
  309. package/es/Theme/index.js +0 -16
  310. package/es/Theme/theme-provider.js +0 -39
  311. package/es/Theme/theme.js +0 -145
  312. package/es/Toast/index.js +0 -97
  313. package/es/Typography/index.js +0 -95
  314. package/es/Util/constant.js +0 -42
  315. package/es/Util/deprecate.js +0 -28
  316. package/es/Util/federated.js +0 -91
  317. package/es/Util/index.js +0 -363
  318. package/es/Util/passport.js +0 -62
  319. package/es/Util/wallet.js +0 -32
  320. package/es/Video/index.js +0 -89
  321. package/es/Wallet/Action.js +0 -119
  322. package/es/Wallet/Download.js +0 -331
  323. package/es/Wallet/Open.js +0 -45
  324. package/es/Wallet/images/abtwallet.png +0 -0
  325. package/es/Wallet/images/android_download.svg +0 -23
  326. package/es/Wallet/images/app-store.svg +0 -20
  327. package/es/Wallet/images/google-play.svg +0 -70
  328. package/es/WalletOSIcon/index.js +0 -82
  329. package/es/WebWalletSWKeeper/index.js +0 -117
  330. package/es/WechatPrompt/images/android.png +0 -0
  331. package/es/WechatPrompt/images/ios.png +0 -0
  332. package/es/WechatPrompt/index.js +0 -88
  333. package/es/index.js +0 -38
  334. package/es/withTheme/index.js +0 -69
  335. package/es/withTracker/README.md +0 -34
  336. package/es/withTracker/error_boundary.js +0 -34
  337. package/es/withTracker/index.js +0 -55
@@ -1,26 +1,15 @@
1
- "use strict";
1
+ import { useEffect, useRef } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import useIdle from 'react-use/lib/useIdle';
4
+ import { useLocalStorageState } from 'ahooks';
5
+ import useBrowser from '@arcblock/react-hooks/lib/useBrowser';
6
+ import { detectWalletExtension } from '@arcblock/ux/lib/Util';
7
+ import { getWebWalletUrl, checkSameProtocol } from '../Util/wallet';
2
8
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.withWebWalletSWKeeper = exports.default = void 0;
7
- var _react = require("react");
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _useIdle = _interopRequireDefault(require("react-use/lib/useIdle"));
10
- var _ahooks = require("ahooks");
11
- var _useBrowser = _interopRequireDefault(require("@arcblock/react-hooks/lib/useBrowser"));
12
- var _Util = require("@arcblock/ux/lib/Util");
13
- var _wallet = require("../Util/wallet");
14
- var _jsxRuntime = require("react/jsx-runtime");
15
- const _excluded = ["webWalletUrl", "maxIdleTime"]; // 默认最大空闲时间: 30min
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
21
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
9
+ // 默认最大空闲时间: 30min
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { Fragment as _Fragment } from "react/jsx-runtime";
12
+ import { jsxs as _jsxs } from "react/jsx-runtime";
24
13
  const DEFAULT_MAX_IDLE_TIME = 1000 * 60 * 30;
25
14
  // 可使用 localStorage.setItem('wallet_sw_keeper_disabled', 1) 来禁用嵌入 wallet iframe
26
15
  const STORAGE_KEY_DISABLED = 'wallet_sw_keeper_disabled';
@@ -39,7 +28,7 @@ const injectIframe = webWalletUrl => {
39
28
  // top: 0 可能不是必须的, 但测试中发现, 如果不设置, 在某些特殊情况下似乎也会导致页面自动滚动到底部
40
29
  iframe.style.position = 'absolute';
41
30
  iframe.style.top = 0;
42
- iframe.src = "".concat(webWalletUrl, "?action=iframe");
31
+ iframe.src = `${webWalletUrl}?action=iframe`;
43
32
  document.body.appendChild(iframe);
44
33
  };
45
34
  const removeIframe = () => {
@@ -54,20 +43,19 @@ const cleanup = () => {
54
43
  };
55
44
  const enable = webWalletUrl => {
56
45
  if (!id) {
57
- id = "web_wallet_sw_keeper_".concat(Date.now());
46
+ id = `web_wallet_sw_keeper_${Date.now()}`;
58
47
  injectIframe(webWalletUrl);
59
48
  }
60
49
  };
61
50
 
62
51
  // 该组件通过嵌入一个 web wallet iframe 帮助 web wallet service worker 延最大空闲时间
63
- function WebWalletSWKeeper(_ref) {
64
- let {
65
- webWalletUrl,
66
- maxIdleTime
67
- } = _ref;
52
+ function WebWalletSWKeeper({
53
+ webWalletUrl,
54
+ maxIdleTime
55
+ }) {
68
56
  // 渲染前先记录是否已经存在一个 WebWalletSWKeeper 实例
69
- const instanceExists = (0, _react.useRef)(!!id);
70
- const isIdle = (0, _useIdle.default)(maxIdleTime);
57
+ const instanceExists = useRef(!!id);
58
+ const isIdle = useIdle(maxIdleTime);
71
59
  // 如果已经存在一个 WebWalletSWKeeper 实例, cleanup 的时机应该由该实例控制
72
60
  const _cleanup = () => {
73
61
  if (!instanceExists.current) {
@@ -75,7 +63,7 @@ function WebWalletSWKeeper(_ref) {
75
63
  }
76
64
  };
77
65
  // 用户操作空闲时间超过 maxIdleTime 时禁用, 活跃时启用
78
- (0, _react.useEffect)(() => {
66
+ useEffect(() => {
79
67
  if (isIdle) {
80
68
  _cleanup();
81
69
  } else {
@@ -84,47 +72,46 @@ function WebWalletSWKeeper(_ref) {
84
72
  // eslint-disable-next-line react-hooks/exhaustive-deps
85
73
  }, [isIdle]);
86
74
  // 组件销毁时自动清理
87
- (0, _react.useEffect)(() => () => _cleanup(), []);
75
+ useEffect(() => () => _cleanup(), []);
88
76
  return null;
89
77
  }
90
78
  WebWalletSWKeeper.propTypes = {
91
- webWalletUrl: _propTypes.default.string.isRequired,
92
- maxIdleTime: _propTypes.default.number
79
+ webWalletUrl: PropTypes.string.isRequired,
80
+ maxIdleTime: PropTypes.number
93
81
  };
94
82
  WebWalletSWKeeper.defaultProps = {
95
83
  maxIdleTime: DEFAULT_MAX_IDLE_TIME
96
84
  };
97
- var _default = exports.default = WebWalletSWKeeper;
98
- const withWebWalletSWKeeper = Component => {
85
+ export default WebWalletSWKeeper;
86
+ export const withWebWalletSWKeeper = Component => {
99
87
  // eslint-disable-next-line react/prop-types
100
- return function WithWebWalletSWKeeperComponent(_ref2) {
101
- let {
102
- webWalletUrl,
103
- maxIdleTime
104
- } = _ref2,
105
- rest = _objectWithoutProperties(_ref2, _excluded);
106
- const browser = (0, _useBrowser.default)();
88
+ return function WithWebWalletSWKeeperComponent({
89
+ webWalletUrl,
90
+ maxIdleTime,
91
+ ...rest
92
+ }) {
93
+ const browser = useBrowser();
107
94
  // eslint-disable-next-line no-param-reassign
108
- webWalletUrl = webWalletUrl || (0, _wallet.getWebWalletUrl)();
109
- const [disabled] = (0, _ahooks.useLocalStorageState)(STORAGE_KEY_DISABLED, {
95
+ webWalletUrl = webWalletUrl || getWebWalletUrl();
96
+ const [disabled] = useLocalStorageState(STORAGE_KEY_DISABLED, {
110
97
  defaultValue: 1
111
98
  });
112
- const extension = (0, _Util.detectWalletExtension)();
113
- const isSameProtocol = (0, _wallet.checkSameProtocol)(webWalletUrl);
99
+ const extension = detectWalletExtension();
100
+ const isSameProtocol = checkSameProtocol(webWalletUrl);
114
101
  const isWalletWebview = browser.wallet;
115
102
  // 以下几种情况不会嵌入 wallet iframe :
116
103
  // - 通过设置 localStorage#wallet_sw_keeper_disabled = 1 明确禁止 (开发调试过程中可以使用, 避免控制台打印一堆日志影响调试)
117
104
  // - 检查到 wallet 浏览器插件
118
105
  // - webWalletUrl 与当前页面 url 的 protocol 不同
119
106
  // - wallet webview
120
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
121
- children: [!disabled && !extension && isSameProtocol && !isWalletWebview && /*#__PURE__*/(0, _jsxRuntime.jsx)(WebWalletSWKeeper, {
107
+ return /*#__PURE__*/_jsxs(_Fragment, {
108
+ children: [!disabled && !extension && isSameProtocol && !isWalletWebview && /*#__PURE__*/_jsx(WebWalletSWKeeper, {
122
109
  webWalletUrl: webWalletUrl,
123
110
  maxIdleTime: maxIdleTime
124
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, _objectSpread({
125
- webWalletUrl: webWalletUrl
126
- }, rest))]
111
+ }), /*#__PURE__*/_jsx(Component, {
112
+ webWalletUrl: webWalletUrl,
113
+ ...rest
114
+ })]
127
115
  });
128
116
  };
129
- };
130
- exports.withWebWalletSWKeeper = withWebWalletSWKeeper;
117
+ };
@@ -1,21 +1,13 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = WechatPrompt;
7
- var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
8
- var _Dialog = _interopRequireDefault(require("@mui/material/Dialog"));
9
- var _useBrowser = _interopRequireDefault(require("@arcblock/react-hooks/lib/useBrowser"));
10
- var _ios = _interopRequireDefault(require("./images/ios.png"));
11
- var _android = _interopRequireDefault(require("./images/android.png"));
12
- var _Theme = require("../Theme");
13
- var _jsxRuntime = require("react/jsx-runtime");
14
- var _templateObject;
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
17
- function WechatPrompt() {
18
- const browser = (0, _useBrowser.default)();
1
+ import Typography from '@mui/material/Typography';
2
+ import Dialog from '@mui/material/Dialog';
3
+ import useBrowser from '@arcblock/react-hooks/lib/useBrowser';
4
+ import IosImage from './images/ios.png';
5
+ import AndroidImage from './images/android.png';
6
+ import { styled } from '../Theme';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ import { jsxs as _jsxs } from "react/jsx-runtime";
9
+ export default function WechatPrompt() {
10
+ const browser = useBrowser();
19
11
  if (!browser.mobile.any) {
20
12
  return null;
21
13
  }
@@ -23,46 +15,74 @@ function WechatPrompt() {
23
15
  return null;
24
16
  }
25
17
  if (browser.android) {
26
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {
18
+ return /*#__PURE__*/_jsx(Dialog, {
27
19
  open: true,
28
20
  fullScreen: true,
29
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Container, {
30
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
21
+ children: /*#__PURE__*/_jsxs(Container, {
22
+ children: [/*#__PURE__*/_jsx(Typography, {
31
23
  className: "wechat-title",
32
24
  children: "1. \u8F7B\u89E6\u53F3\u4E0A\u65B9\u83DC\u5355"
33
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
25
+ }), /*#__PURE__*/_jsxs("div", {
34
26
  className: "wechat-tip",
35
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
27
+ children: [/*#__PURE__*/_jsx(Typography, {
36
28
  className: "wechat-tip-text",
37
29
  children: "2. \u70B9\u51FB\u201C\u5728\u6D4F\u89C8\u5668\u6253\u5F00\u201D\uFF0C\u624D\u80FD\u8C03\u8D77 DID \u94B1\u5305"
38
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
30
+ }), /*#__PURE__*/_jsx("img", {
39
31
  className: "wechat-tip-img",
40
- src: _android.default,
32
+ src: AndroidImage,
41
33
  alt: "Open in Android Browser"
42
34
  })]
43
35
  })]
44
36
  })
45
37
  });
46
38
  }
47
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.default, {
39
+ return /*#__PURE__*/_jsx(Dialog, {
48
40
  open: true,
49
41
  fullScreen: true,
50
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Container, {
51
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
42
+ children: /*#__PURE__*/_jsxs(Container, {
43
+ children: [/*#__PURE__*/_jsx(Typography, {
52
44
  className: "wechat-title",
53
45
  children: "1. \u8F7B\u89E6\u53F3\u4E0A\u65B9\u83DC\u5355"
54
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
46
+ }), /*#__PURE__*/_jsxs("div", {
55
47
  className: "wechat-tip",
56
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
48
+ children: [/*#__PURE__*/_jsx(Typography, {
57
49
  className: "wechat-tip-text",
58
50
  children: "2. \u70B9\u51FB\u201C\u5728Safari\u4E2D\u6253\u5F00\u201D\uFF0C\u624D\u80FD\u8C03\u8D77 DID \u94B1\u5305"
59
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
51
+ }), /*#__PURE__*/_jsx("img", {
60
52
  className: "wechat-tip-img",
61
- src: _ios.default,
53
+ src: IosImage,
62
54
  alt: "Open in Safari"
63
55
  })]
64
56
  })]
65
57
  })
66
58
  });
67
59
  }
68
- const Container = (0, _Theme.styled)('div')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .wechat-title {\n height: 80px;\n line-height: 80px;\n text-align: center;\n font-size: 20px;\n color: #fff;\n background-color: #9cdbd8;\n }\n\n .wechat-tip {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n .wechat-tip-text {\n font-size: 20px;\n padding: 10px 10px;\n overflow: auto;\n word-break: break-word;\n text-align: center;\n }\n\n .wechat-tip-img {\n width: 90%;\n object-fit: cover;\n }\n }\n"])));
60
+ const Container = styled('div')`
61
+ .wechat-title {
62
+ height: 80px;
63
+ line-height: 80px;
64
+ text-align: center;
65
+ font-size: 20px;
66
+ color: #fff;
67
+ background-color: #9cdbd8;
68
+ }
69
+
70
+ .wechat-tip {
71
+ display: flex;
72
+ flex-direction: column;
73
+ align-items: center;
74
+
75
+ .wechat-tip-text {
76
+ font-size: 20px;
77
+ padding: 10px 10px;
78
+ overflow: auto;
79
+ word-break: break-word;
80
+ text-align: center;
81
+ }
82
+
83
+ .wechat-tip-img {
84
+ width: 90%;
85
+ object-fit: cover;
86
+ }
87
+ }
88
+ `;
package/lib/index.js CHANGED
@@ -1,265 +1,38 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "ActionButton", {
7
- enumerable: true,
8
- get: function get() {
9
- return _ActionButton.default;
10
- }
11
- });
12
- Object.defineProperty(exports, "ActivityIndicator", {
13
- enumerable: true,
14
- get: function get() {
15
- return _ActivityIndicator.default;
16
- }
17
- });
18
- Object.defineProperty(exports, "Address", {
19
- enumerable: true,
20
- get: function get() {
21
- return _Address.default;
22
- }
23
- });
24
- Object.defineProperty(exports, "Alert", {
25
- enumerable: true,
26
- get: function get() {
27
- return _Alert.default;
28
- }
29
- });
30
- Object.defineProperty(exports, "AnimationWaiter", {
31
- enumerable: true,
32
- get: function get() {
33
- return _AnimationWaiter.default;
34
- }
35
- });
36
- Object.defineProperty(exports, "Async", {
37
- enumerable: true,
38
- get: function get() {
39
- return _Async.default;
40
- }
41
- });
42
- Object.defineProperty(exports, "Avatar", {
43
- enumerable: true,
44
- get: function get() {
45
- return _Avatar.default;
46
- }
47
- });
48
- Object.defineProperty(exports, "Badge", {
49
- enumerable: true,
50
- get: function get() {
51
- return _Badge.default;
52
- }
53
- });
54
- Object.defineProperty(exports, "Button", {
55
- enumerable: true,
56
- get: function get() {
57
- return _Button.default;
58
- }
59
- });
60
- Object.defineProperty(exports, "ClickToCopy", {
61
- enumerable: true,
62
- get: function get() {
63
- return _ClickToCopy.default;
64
- }
65
- });
66
- Object.defineProperty(exports, "CodeBlock", {
67
- enumerable: true,
68
- get: function get() {
69
- return _CodeBlock.default;
70
- }
71
- });
72
- Object.defineProperty(exports, "ContactForm", {
73
- enumerable: true,
74
- get: function get() {
75
- return _ContactForm.default;
76
- }
77
- });
78
- Object.defineProperty(exports, "CountDown", {
79
- enumerable: true,
80
- get: function get() {
81
- return _CountDown.default;
82
- }
83
- });
84
- Object.defineProperty(exports, "Datatable", {
85
- enumerable: true,
86
- get: function get() {
87
- return _Datatable.default;
88
- }
89
- });
90
- Object.defineProperty(exports, "Dialog", {
91
- enumerable: true,
92
- get: function get() {
93
- return _Dialog.default;
94
- }
95
- });
96
- Object.defineProperty(exports, "DidLogo", {
97
- enumerable: true,
98
- get: function get() {
99
- return _DidLogo.default;
100
- }
101
- });
102
- Object.defineProperty(exports, "Earth", {
103
- enumerable: true,
104
- get: function get() {
105
- return _Earth.default;
106
- }
107
- });
108
- Object.defineProperty(exports, "Footer", {
109
- enumerable: true,
110
- get: function get() {
111
- return _Footer.default;
112
- }
113
- });
114
- Object.defineProperty(exports, "Icon", {
115
- enumerable: true,
116
- get: function get() {
117
- return _Icon.default;
118
- }
119
- });
120
- Object.defineProperty(exports, "Img", {
121
- enumerable: true,
122
- get: function get() {
123
- return _Img.default;
124
- }
125
- });
126
- Object.defineProperty(exports, "LocaleSelector", {
127
- enumerable: true,
128
- get: function get() {
129
- return _selector.default;
130
- }
131
- });
132
- Object.defineProperty(exports, "Logo", {
133
- enumerable: true,
134
- get: function get() {
135
- return _Logo.default;
136
- }
137
- });
138
- Object.defineProperty(exports, "RelativeTime", {
139
- enumerable: true,
140
- get: function get() {
141
- return _RelativeTime.default;
142
- }
143
- });
144
- Object.defineProperty(exports, "SessionManager", {
145
- enumerable: true,
146
- get: function get() {
147
- return _SessionManager.default;
148
- }
149
- });
150
- Object.defineProperty(exports, "Tabs", {
151
- enumerable: true,
152
- get: function get() {
153
- return _Tabs.default;
154
- }
155
- });
156
- Object.defineProperty(exports, "Tag", {
157
- enumerable: true,
158
- get: function get() {
159
- return _Tag.default;
160
- }
161
- });
162
- Object.defineProperty(exports, "TextCollapse", {
163
- enumerable: true,
164
- get: function get() {
165
- return _TextCollapse.default;
166
- }
167
- });
168
- Object.defineProperty(exports, "Theme", {
169
- enumerable: true,
170
- get: function get() {
171
- return _Theme.default;
172
- }
173
- });
174
- Object.defineProperty(exports, "Toast", {
175
- enumerable: true,
176
- get: function get() {
177
- return _Toast.default;
178
- }
179
- });
180
- Object.defineProperty(exports, "Util", {
181
- enumerable: true,
182
- get: function get() {
183
- return _Util.default;
184
- }
185
- });
186
- Object.defineProperty(exports, "Video", {
187
- enumerable: true,
188
- get: function get() {
189
- return _Video.default;
190
- }
191
- });
192
- Object.defineProperty(exports, "WalletAction", {
193
- enumerable: true,
194
- get: function get() {
195
- return _Action.default;
196
- }
197
- });
198
- Object.defineProperty(exports, "WalletDownload", {
199
- enumerable: true,
200
- get: function get() {
201
- return _Download.default;
202
- }
203
- });
204
- Object.defineProperty(exports, "WebWalletSWKeeper", {
205
- enumerable: true,
206
- get: function get() {
207
- return _WebWalletSWKeeper.default;
208
- }
209
- });
210
- Object.defineProperty(exports, "WechatPrompt", {
211
- enumerable: true,
212
- get: function get() {
213
- return _WechatPrompt.default;
214
- }
215
- });
216
- Object.defineProperty(exports, "withTheme", {
217
- enumerable: true,
218
- get: function get() {
219
- return _withTheme.default;
220
- }
221
- });
222
- Object.defineProperty(exports, "withTracker", {
223
- enumerable: true,
224
- get: function get() {
225
- return _withTracker.default;
226
- }
227
- });
228
- var _ActionButton = _interopRequireDefault(require("./ActionButton"));
229
- var _ActivityIndicator = _interopRequireDefault(require("./ActivityIndicator"));
230
- var _Address = _interopRequireDefault(require("./Address"));
231
- var _Alert = _interopRequireDefault(require("./Alert"));
232
- var _AnimationWaiter = _interopRequireDefault(require("./AnimationWaiter"));
233
- var _Async = _interopRequireDefault(require("./Async"));
234
- var _Avatar = _interopRequireDefault(require("./Avatar"));
235
- var _Badge = _interopRequireDefault(require("./Badge"));
236
- var _Button = _interopRequireDefault(require("./Button"));
237
- var _ClickToCopy = _interopRequireDefault(require("./ClickToCopy"));
238
- var _CodeBlock = _interopRequireDefault(require("./CodeBlock"));
239
- var _ContactForm = _interopRequireDefault(require("./ContactForm"));
240
- var _CountDown = _interopRequireDefault(require("./CountDown"));
241
- var _Earth = _interopRequireDefault(require("./Earth"));
242
- var _Footer = _interopRequireDefault(require("./Footer"));
243
- var _Icon = _interopRequireDefault(require("./Icon"));
244
- var _selector = _interopRequireDefault(require("./Locale/selector"));
245
- var _Logo = _interopRequireDefault(require("./Logo"));
246
- var _RelativeTime = _interopRequireDefault(require("./RelativeTime"));
247
- var _SessionManager = _interopRequireDefault(require("./SessionManager"));
248
- var _Datatable = _interopRequireDefault(require("./Datatable"));
249
- var _Dialog = _interopRequireDefault(require("./Dialog"));
250
- var _DidLogo = _interopRequireDefault(require("./DidLogo"));
251
- var _Tabs = _interopRequireDefault(require("./Tabs"));
252
- var _Tag = _interopRequireDefault(require("./Tag"));
253
- var _TextCollapse = _interopRequireDefault(require("./TextCollapse"));
254
- var _Theme = _interopRequireDefault(require("./Theme"));
255
- var _Toast = _interopRequireDefault(require("./Toast"));
256
- var _Util = _interopRequireDefault(require("./Util"));
257
- var _Video = _interopRequireDefault(require("./Video"));
258
- var _WebWalletSWKeeper = _interopRequireDefault(require("./WebWalletSWKeeper"));
259
- var _Action = _interopRequireDefault(require("./Wallet/Action"));
260
- var _Download = _interopRequireDefault(require("./Wallet/Download"));
261
- var _WechatPrompt = _interopRequireDefault(require("./WechatPrompt"));
262
- var _withTheme = _interopRequireDefault(require("./withTheme"));
263
- var _withTracker = _interopRequireDefault(require("./withTracker"));
264
- var _Img = _interopRequireDefault(require("./Img"));
265
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1
+ import ActionButton from './ActionButton';
2
+ import ActivityIndicator from './ActivityIndicator';
3
+ import Address from './Address';
4
+ import Alert from './Alert';
5
+ import AnimationWaiter from './AnimationWaiter';
6
+ import Async from './Async';
7
+ import Avatar from './Avatar';
8
+ import Badge from './Badge';
9
+ import Button from './Button';
10
+ import ClickToCopy from './ClickToCopy';
11
+ import CodeBlock from './CodeBlock';
12
+ import ContactForm from './ContactForm';
13
+ import CountDown from './CountDown';
14
+ import Earth from './Earth';
15
+ import Footer from './Footer';
16
+ import Icon from './Icon';
17
+ import LocaleSelector from './Locale/selector';
18
+ import Logo from './Logo';
19
+ import RelativeTime from './RelativeTime';
20
+ import SessionManager from './SessionManager';
21
+ import Datatable from './Datatable';
22
+ import Dialog from './Dialog';
23
+ import DidLogo from './DidLogo';
24
+ import Tabs from './Tabs';
25
+ import Tag from './Tag';
26
+ import TextCollapse from './TextCollapse';
27
+ import Theme from './Theme';
28
+ import Toast from './Toast';
29
+ import Util from './Util';
30
+ import Video from './Video';
31
+ import WebWalletSWKeeper from './WebWalletSWKeeper';
32
+ import WalletAction from './Wallet/Action';
33
+ import WalletDownload from './Wallet/Download';
34
+ import WechatPrompt from './WechatPrompt';
35
+ import withTheme from './withTheme';
36
+ import withTracker from './withTracker';
37
+ import Img from './Img';
38
+ export { ActionButton, ActivityIndicator, Address, Alert, AnimationWaiter, Async, Avatar, Badge, Button, ClickToCopy, CodeBlock, ContactForm, CountDown, Earth, Footer, Icon, LocaleSelector, Logo, Tabs, RelativeTime, SessionManager, Datatable, Dialog, DidLogo, Tag, TextCollapse, Theme, Toast, Util, Video, WebWalletSWKeeper, WalletAction, WalletDownload, WechatPrompt, withTheme, withTracker, Img };