@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,54 +1,37 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- exports.getNFTData = getNFTData;
8
- var _react = require("react");
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _clsx = _interopRequireDefault(require("clsx"));
11
- var _buffer = require("buffer");
12
- var _get = _interopRequireDefault(require("lodash/get"));
13
- var _pako = _interopRequireDefault(require("pako"));
14
- var _base64Url = _interopRequireDefault(require("base64-url"));
15
- var _isSvg = _interopRequireDefault(require("is-svg"));
16
- var _reactSvg = require("react-svg");
17
- var _noop = _interopRequireDefault(require("lodash/noop"));
18
- var _aspectRatioContainer = _interopRequireDefault(require("./aspect-ratio-container"));
19
- var _img = _interopRequireDefault(require("./svg-embedder/img"));
20
- var _inlineSvg = _interopRequireDefault(require("./svg-embedder/inline-svg"));
21
- var _loading = _interopRequireDefault(require("./loading"));
22
- var _broken = _interopRequireDefault(require("./broken"));
23
- var _Theme = require("../Theme");
24
- var _jsxRuntime = require("react/jsx-runtime");
25
- var _templateObject;
26
- const _excluded = ["data", "address", "inset", "aspect", "component", "className", "renderError", "renderLoading", "preferredSvgEmbedder", "checkSvg", "minimumLoadingTime", "onCompleted"],
27
- _excluded2 = ["aspect", "inset"];
28
1
  /* eslint-disable react-hooks/rules-of-hooks */
2
+ import { useRef, useEffect, useState } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import clsx from 'clsx';
5
+ import { Buffer } from 'buffer';
6
+ import get from 'lodash/get';
7
+ import pako from 'pako';
8
+ import base64 from 'base64-url';
9
+ import isSvg from 'is-svg';
10
+ import { ReactSVG } from 'react-svg';
11
+ import noop from 'lodash/noop';
12
+ import AspectRatioContainer from './aspect-ratio-container';
13
+ import ImgSvgEmbedder from './svg-embedder/img';
14
+ import InlineSvgEmbedder from './svg-embedder/inline-svg';
15
+ import DefaultLoading from './loading';
16
+ import DefaultBrokenImage from './broken';
17
+ import { styled } from '../Theme';
18
+
29
19
  /**
30
20
  * 从 assetState 中获取 nft data, 兼容新旧两种类型的数据结构, 建议将该方法的返回值传入 NFTDisplay 组件的 data prop
31
21
  * - 旧: assetState.data.value (.credentialSubject.display)
32
22
  * - 新: assetState.display
33
23
  */
34
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
36
- 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; }
37
- 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; }
38
- 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; }
39
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
40
- 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); }
41
- 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; }
42
- 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; }
43
- function getNFTData(assetState) {
44
- var _assetState$data;
45
- return (assetState === null || assetState === void 0 ? void 0 : assetState.display) || (assetState === null || assetState === void 0 ? void 0 : (_assetState$data = assetState.data) === null || _assetState$data === void 0 ? void 0 : _assetState$data.value);
24
+ import { jsx as _jsx } from "react/jsx-runtime";
25
+ import { Fragment as _Fragment } from "react/jsx-runtime";
26
+ import { jsxs as _jsxs } from "react/jsx-runtime";
27
+ export function getNFTData(assetState) {
28
+ return assetState?.display || assetState?.data?.value;
46
29
  }
47
30
  function fromBase64(v) {
48
31
  if (typeof v !== 'string') {
49
32
  throw new Error('fromBase64 requires input to be a string');
50
33
  }
51
- return _buffer.Buffer.from(_base64Url.default.unescape(v), 'base64');
34
+ return Buffer.from(base64.unescape(v), 'base64');
52
35
  }
53
36
 
54
37
  // const isVC = type => {
@@ -58,8 +41,8 @@ function fromBase64(v) {
58
41
  // 仅针对非 url type 的情况
59
42
  const getSvgEmbedder = preferredSvgEmbedder => {
60
43
  const embedders = {
61
- img: _img.default,
62
- svg: _inlineSvg.default
44
+ img: ImgSvgEmbedder,
45
+ svg: InlineSvgEmbedder
63
46
  };
64
47
  return embedders[preferredSvgEmbedder];
65
48
  };
@@ -69,31 +52,30 @@ const getSvgEmbedder = preferredSvgEmbedder => {
69
52
  * 考虑把 asset data 解析部分和 nft display 分离, android 端有相关使用场景 - 只传入 svg 或 url, 也可以传入 asset data,
70
53
  * 目前如果想直接传入 svg 或 url, 需要构造一个 asset data 的数据才能使用 NFTDisplay 组件
71
54
  */
72
- function NFTDisplay(_ref) {
73
- let {
74
- data,
75
- address,
76
- inset,
77
- aspect,
78
- component,
79
- className,
80
- renderError,
81
- renderLoading,
82
- preferredSvgEmbedder,
83
- checkSvg,
84
- minimumLoadingTime,
85
- onCompleted
86
- } = _ref,
87
- rest = _objectWithoutProperties(_ref, _excluded);
88
- const wrapRoot = children => /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, _objectSpread(_objectSpread({
89
- as: component
90
- }, rest), {}, {
91
- className: (0, _clsx.default)(className, {
55
+ function NFTDisplay({
56
+ data,
57
+ address,
58
+ inset,
59
+ aspect,
60
+ component,
61
+ className,
62
+ renderError,
63
+ renderLoading,
64
+ preferredSvgEmbedder,
65
+ checkSvg,
66
+ minimumLoadingTime,
67
+ onCompleted,
68
+ ...rest
69
+ }) {
70
+ const wrapRoot = children => /*#__PURE__*/_jsx(Root, {
71
+ as: component,
72
+ ...rest,
73
+ className: clsx(className, {
92
74
  'nft-display--inset': inset
93
75
  }),
94
76
  children: children
95
- }));
96
- const parsed = (0, _react.useRef)(data);
77
+ });
78
+ const parsed = useRef(data);
97
79
  try {
98
80
  // 如果是 raw data 先解析
99
81
  if (typeof parsed.current === 'string') {
@@ -104,7 +86,7 @@ function NFTDisplay(_ref) {
104
86
  vcId
105
87
  } = parsed.current;
106
88
  // 需要兼容新旧两种类型的数据结构, nft data 有 credentialSubject 属性, 说明是旧 nft data, 否则是新 nft data
107
- const display = parsed.current.credentialSubject ? (0, _get.default)(parsed.current, 'credentialSubject.display') : parsed.current;
89
+ const display = parsed.current.credentialSubject ? get(parsed.current, 'credentialSubject.display') : parsed.current;
108
90
  const {
109
91
  content,
110
92
  type
@@ -112,14 +94,14 @@ function NFTDisplay(_ref) {
112
94
  const isUrlType = type === 'url';
113
95
 
114
96
  // 首次加载, 对于 url type 的情况, loading 为 true
115
- const [state, setState] = (0, _react.useState)({
97
+ const [state, setState] = useState({
116
98
  loading: isUrlType,
117
99
  error: false
118
100
  });
119
- const [minimumLoadingReady, setMinimumLoadingReady] = (0, _react.useState)(minimumLoadingTime <= 0);
101
+ const [minimumLoadingReady, setMinimumLoadingReady] = useState(minimumLoadingTime <= 0);
120
102
  // console.log('[debug] render', {type, minimumLoadingTime}, JSON.stringify(state))
121
103
 
122
- (0, _react.useEffect)(() => {
104
+ useEffect(() => {
123
105
  let timer;
124
106
  if (minimumLoadingTime > 0) {
125
107
  timer = setTimeout(() => setMinimumLoadingReady(true), minimumLoadingTime);
@@ -129,7 +111,7 @@ function NFTDisplay(_ref) {
129
111
  }, []);
130
112
 
131
113
  // onCompleted
132
- (0, _react.useEffect)(() => {
114
+ useEffect(() => {
133
115
  if (!state.loading && minimumLoadingReady || state.error) {
134
116
  onCompleted();
135
117
  }
@@ -143,7 +125,6 @@ function NFTDisplay(_ref) {
143
125
  switch (type) {
144
126
  case 'url':
145
127
  {
146
- var _state$fallback;
147
128
  const urlObj = new URL(content);
148
129
  if (!urlObj.searchParams.has('assetId')) {
149
130
  urlObj.searchParams.append('assetId', address);
@@ -154,39 +135,40 @@ function NFTDisplay(_ref) {
154
135
  const url = urlObj.href;
155
136
  const safeOnLoad = () => {
156
137
  if (state.loading) {
157
- setState(_objectSpread(_objectSpread({}, state), {}, {
138
+ setState({
139
+ ...state,
158
140
  loading: false
159
- }));
141
+ });
160
142
  }
161
143
  };
162
- return state.fallback ? (_state$fallback = state.fallback) === null || _state$fallback === void 0 ? void 0 : _state$fallback.call(state) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSvg.ReactSVG, {
144
+ return state.fallback ? state.fallback?.() : /*#__PURE__*/_jsx(ReactSVG, {
163
145
  src: url,
164
146
  beforeInjection: svg => {
165
147
  svg.setAttribute('style', 'pointer-events: none; width: 100%; height: 100%;');
166
148
  },
167
149
  afterInjection: safeOnLoad,
168
150
  onError: error => {
169
- var _error$message, _error$message2;
170
151
  let objectType = null;
171
- if ((error === null || error === void 0 ? void 0 : (_error$message = error.message) === null || _error$message === void 0 ? void 0 : _error$message.indexOf('Invalid content type: ')) > -1) {
172
- var _error$message$split;
173
- objectType = (_error$message$split = error.message.split('Invalid content type: ')) === null || _error$message$split === void 0 ? void 0 : _error$message$split[1];
174
- } else if ((error === null || error === void 0 ? void 0 : (_error$message2 = error.message) === null || _error$message2 === void 0 ? void 0 : _error$message2.indexOf('Unable to load SVG file: ')) > -1) {
152
+ if (error?.message?.indexOf('Invalid content type: ') > -1) {
153
+ objectType = error.message.split('Invalid content type: ')?.[1];
154
+ } else if (error?.message?.indexOf('Unable to load SVG file: ') > -1) {
175
155
  objectType = 'image/svg+xml';
176
156
  }
177
- setState(_objectSpread(_objectSpread({}, state), {}, {
157
+ setState({
158
+ ...state,
178
159
  // fallback to object, and use objectType to render
179
160
  fallback: () =>
180
161
  /*#__PURE__*/
181
162
  // eslint-disable-next-line jsx-a11y/alt-text
182
- (0, _jsxRuntime.jsx)("object", {
163
+ _jsx("object", {
183
164
  type: objectType,
184
165
  data: url,
185
166
  onErrorCapture: () => {
186
- setState(_objectSpread(_objectSpread({}, state), {}, {
167
+ setState({
168
+ ...state,
187
169
  error: true,
188
170
  loading: false
189
- }));
171
+ });
190
172
  },
191
173
  onLoad: safeOnLoad,
192
174
  style: {
@@ -195,7 +177,7 @@ function NFTDisplay(_ref) {
195
177
  pointerEvents: 'none'
196
178
  }
197
179
  }, url)
198
- }));
180
+ });
199
181
  }
200
182
  // evalScripts="always"
201
183
  ,
@@ -204,36 +186,38 @@ function NFTDisplay(_ref) {
204
186
  }
205
187
  case 'uri':
206
188
  {
207
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
189
+ return /*#__PURE__*/_jsx("img", {
208
190
  src: content,
209
- onError: () => setState(_objectSpread(_objectSpread({}, state), {}, {
191
+ onError: () => setState({
192
+ ...state,
210
193
  error: true
211
- })),
212
- onLoad: () => setState(_objectSpread(_objectSpread({}, state), {}, {
194
+ }),
195
+ onLoad: () => setState({
196
+ ...state,
213
197
  loading: false
214
- })),
198
+ }),
215
199
  alt: "NFT Display"
216
200
  });
217
201
  }
218
202
  case 'svg_gzipped':
219
203
  {
220
- const buffer = _pako.default.ungzip(fromBase64(content), {});
221
- const svg = _buffer.Buffer.from(buffer).toString('utf8');
222
- if (checkSvg && !(0, _isSvg.default)(svg)) {
204
+ const buffer = pako.ungzip(fromBase64(content), {});
205
+ const svg = Buffer.from(buffer).toString('utf8');
206
+ if (checkSvg && !isSvg(svg)) {
223
207
  throw new Error('Invalid SVG of type svg_gzipped');
224
208
  }
225
209
  const Embedder = getSvgEmbedder(preferredSvgEmbedder);
226
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Embedder, {
210
+ return /*#__PURE__*/_jsx(Embedder, {
227
211
  svg: svg
228
212
  });
229
213
  }
230
214
  case 'svg':
231
215
  {
232
- if (checkSvg && !(0, _isSvg.default)(content)) {
216
+ if (checkSvg && !isSvg(content)) {
233
217
  throw new Error('Invalid SVG of type svg');
234
218
  }
235
219
  const Embedder = getSvgEmbedder(preferredSvgEmbedder);
236
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Embedder, {
220
+ return /*#__PURE__*/_jsx(Embedder, {
237
221
  svg: content
238
222
  });
239
223
  }
@@ -245,38 +229,37 @@ function NFTDisplay(_ref) {
245
229
  default:
246
230
  }
247
231
  }
248
- throw new Error("unsupported display protocol: ".concat(display.type));
232
+ throw new Error(`unsupported display protocol: ${display.type}`);
249
233
  };
250
- return wrapRoot( /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
251
- children: [(state.loading || !minimumLoadingReady) && (renderLoading ? renderLoading() : /*#__PURE__*/(0, _jsxRuntime.jsx)(_loading.default, {})), renderNFT()]
234
+ return wrapRoot( /*#__PURE__*/_jsxs(_Fragment, {
235
+ children: [(state.loading || !minimumLoadingReady) && (renderLoading ? renderLoading() : /*#__PURE__*/_jsx(DefaultLoading, {})), renderNFT()]
252
236
  }));
253
237
  } catch (e) {
254
- var _parsed$current;
255
- console.error(e === null || e === void 0 ? void 0 : e.message, {
238
+ console.error(e?.message, {
256
239
  nftId: address,
257
- vcId: parsed === null || parsed === void 0 ? void 0 : (_parsed$current = parsed.current) === null || _parsed$current === void 0 ? void 0 : _parsed$current.vcId
240
+ vcId: parsed?.current?.vcId
258
241
  });
259
- return wrapRoot(renderError ? renderError() : /*#__PURE__*/(0, _jsxRuntime.jsx)(_broken.default, {}));
242
+ return wrapRoot(renderError ? renderError() : /*#__PURE__*/_jsx(DefaultBrokenImage, {}));
260
243
  }
261
244
  }
262
245
  NFTDisplay.propTypes = {
263
246
  // asset data 可以是 raw data 和 parsed data
264
- data: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]).isRequired,
265
- address: _propTypes.default.string.isRequired,
266
- component: _propTypes.default.string,
267
- inset: _propTypes.default.bool,
268
- aspect: _propTypes.default.number,
269
- className: _propTypes.default.string,
270
- renderError: _propTypes.default.func,
271
- renderLoading: _propTypes.default.func,
247
+ data: PropTypes.oneOfType([PropTypes.object, PropTypes.string]).isRequired,
248
+ address: PropTypes.string.isRequired,
249
+ component: PropTypes.string,
250
+ inset: PropTypes.bool,
251
+ aspect: PropTypes.number,
252
+ className: PropTypes.string,
253
+ renderError: PropTypes.func,
254
+ renderLoading: PropTypes.func,
272
255
  // 对于非 url type 的情况, 支持优先选用的 svg 嵌入方式, 默认是 img
273
- preferredSvgEmbedder: _propTypes.default.oneOf(['img', 'svg']),
256
+ preferredSvgEmbedder: PropTypes.oneOf(['img', 'svg']),
274
257
  // 针对非 url type 的情况, 检测 svg 有效性, 默认禁用
275
- checkSvg: _propTypes.default.bool,
258
+ checkSvg: PropTypes.bool,
276
259
  // loading 最小显示时间 (避免闪烁)
277
- minimumLoadingTime: _propTypes.default.number,
260
+ minimumLoadingTime: PropTypes.number,
278
261
  // 完成回调, 无论加载成功|失败
279
- onCompleted: _propTypes.default.func
262
+ onCompleted: PropTypes.func
280
263
  };
281
264
  NFTDisplay.defaultProps = {
282
265
  component: 'span',
@@ -288,30 +271,58 @@ NFTDisplay.defaultProps = {
288
271
  preferredSvgEmbedder: 'img',
289
272
  checkSvg: false,
290
273
  minimumLoadingTime: 0,
291
- onCompleted: _noop.default
274
+ onCompleted: noop
292
275
  };
293
- const Root = (0, _Theme.styled)('div')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n /* \u9ED8\u8BA4\u5C3A\u5BF8 */\n width: 150px;\n height: 150px;\n overflow: hidden;\n\n &,\n img,\n object {\n max-width: 100%;\n max-height: 100%;\n }\n\n img,\n object {\n width: 100%;\n height: 100%;\n }\n\n &.nft-display--inset {\n width: 100%;\n height: 100%;\n }\n"])));
276
+ const Root = styled('div')`
277
+ display: flex;
278
+ justify-content: center;
279
+ align-items: center;
280
+ position: relative;
281
+ /* 默认尺寸 */
282
+ width: 150px;
283
+ height: 150px;
284
+ overflow: hidden;
285
+
286
+ &,
287
+ img,
288
+ object {
289
+ max-width: 100%;
290
+ max-height: 100%;
291
+ }
292
+
293
+ img,
294
+ object {
295
+ width: 100%;
296
+ height: 100%;
297
+ }
298
+
299
+ &.nft-display--inset {
300
+ width: 100%;
301
+ height: 100%;
302
+ }
303
+ `;
294
304
  function withAspectRatio(Component) {
295
305
  // eslint-disable-next-line func-names, react/prop-types
296
- return function (_ref2) {
297
- let {
298
- aspect,
299
- inset
300
- } = _ref2,
301
- rest = _objectWithoutProperties(_ref2, _excluded2);
306
+ return function ({
307
+ aspect,
308
+ inset,
309
+ ...rest
310
+ }) {
302
311
  // inset 比 aspect ratio 优先级高, 如果同时设置了 inset 和 aspect, 则后者不生效
303
312
  const applyAspectRatio = aspect > 0 && !inset;
304
313
  if (applyAspectRatio) {
305
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_aspectRatioContainer.default, {
314
+ return /*#__PURE__*/_jsx(AspectRatioContainer, {
306
315
  aspect: aspect,
307
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, _objectSpread({
308
- inset: true
309
- }, rest))
316
+ children: /*#__PURE__*/_jsx(Component, {
317
+ inset: true,
318
+ ...rest
319
+ })
310
320
  });
311
321
  }
312
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, _objectSpread({
313
- inset: inset
314
- }, rest));
322
+ return /*#__PURE__*/_jsx(Component, {
323
+ inset: inset,
324
+ ...rest
325
+ });
315
326
  };
316
327
  }
317
- var _default = exports.default = withAspectRatio(NFTDisplay);
328
+ export default withAspectRatio(NFTDisplay);
@@ -1,17 +1,18 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = Loading;
7
- var _Theme = require("../Theme");
8
- var _jsxRuntime = require("react/jsx-runtime");
9
- var _templateObject;
10
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
11
- function Loading() {
12
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, {
1
+ import { styled } from '../Theme';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ export default function Loading() {
4
+ return /*#__PURE__*/_jsx(Root, {
13
5
  className: "nft-display__loading",
14
6
  children: "Loading..."
15
7
  });
16
8
  }
17
- const Root = (0, _Theme.styled)('span')(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n width: 100%;\n height: 100%;\n color: #ccc;\n background-color: #eee;\n"])));
9
+ const Root = styled('span')`
10
+ display: flex;
11
+ justify-content: center;
12
+ align-items: center;
13
+ position: absolute;
14
+ width: 100%;
15
+ height: 100%;
16
+ color: #ccc;
17
+ background-color: #eee;
18
+ `;
@@ -1,21 +1,6 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _propTypes = _interopRequireDefault(require("prop-types"));
8
- var _inlineSvg = _interopRequireDefault(require("./inline-svg"));
9
- var _jsxRuntime = require("react/jsx-runtime");
10
- const _excluded = ["svg", "alt", "fallback"];
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- 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; }
13
- 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; }
14
- 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; }
15
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
16
- 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); }
17
- 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; }
18
- 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; }
1
+ import PropTypes from 'prop-types';
2
+ import InlineSvgEmbedder from './inline-svg';
3
+ import { jsx as _jsx } from "react/jsx-runtime";
19
4
  const svgToImgUrl = svg => {
20
5
  // fix: #225, https://stackoverflow.com/a/52135328)
21
6
  const blob = new Blob([svg], {
@@ -27,34 +12,34 @@ const svgToImgUrl = svg => {
27
12
  /**
28
13
  * 基于 <img> 嵌入 svg
29
14
  */
30
- function ImgEmbedder(_ref) {
31
- let {
32
- svg,
33
- alt,
34
- fallback
35
- } = _ref,
36
- rest = _objectWithoutProperties(_ref, _excluded);
15
+ function ImgEmbedder({
16
+ svg,
17
+ alt,
18
+ fallback,
19
+ ...rest
20
+ }) {
37
21
  // 包含 foreignObject 的 svg, fallback 到 shadow dom
38
22
  if (fallback && svg.indexOf('</foreignObject>') > -1) {
39
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inlineSvg.default, {
23
+ return /*#__PURE__*/_jsx(InlineSvgEmbedder, {
40
24
  svg: svg
41
25
  });
42
26
  }
43
27
  const url = svgToImgUrl(svg);
44
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("img", _objectSpread({
28
+ return /*#__PURE__*/_jsx("img", {
45
29
  src: url,
46
30
  onLoad: () => URL.revokeObjectURL(url),
47
- alt: alt
48
- }, rest));
31
+ alt: alt,
32
+ ...rest
33
+ });
49
34
  }
50
35
  ImgEmbedder.propTypes = {
51
- svg: _propTypes.default.string.isRequired,
52
- alt: _propTypes.default.string,
36
+ svg: PropTypes.string.isRequired,
37
+ alt: PropTypes.string,
53
38
  // 对于包含 foreignObject 的 svg, fallback 到 inline svg + shadow DOM
54
- fallback: _propTypes.default.bool
39
+ fallback: PropTypes.bool
55
40
  };
56
41
  ImgEmbedder.defaultProps = {
57
42
  alt: '',
58
43
  fallback: true
59
44
  };
60
- var _default = exports.default = ImgEmbedder;
45
+ export default ImgEmbedder;
@@ -1,43 +1,39 @@
1
- "use strict";
1
+ import PropTypes from 'prop-types';
2
+ import root from 'react-shadow/emotion';
3
+ import { styled } from '../../Theme';
2
4
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _propTypes = _interopRequireDefault(require("prop-types"));
8
- var _emotion = _interopRequireDefault(require("react-shadow/emotion"));
9
- var _Theme = require("../../Theme");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- var _templateObject, _templateObject2;
12
- const _excluded = ["svg"];
13
5
  /**
14
6
  * inline svg 的方式嵌入 svg, 使用 shadow DOM 避免样式污染
15
7
  */
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
18
- 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; }
19
- 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; }
20
- 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; }
21
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
22
- 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); }
23
- 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; }
24
- 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; }
25
- function InlineSvg(_ref) {
26
- let {
27
- svg
28
- } = _ref,
29
- rest = _objectWithoutProperties(_ref, _excluded);
30
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, _objectSpread(_objectSpread({}, rest), {}, {
31
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Inner, {
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ function InlineSvg({
10
+ svg,
11
+ ...rest
12
+ }) {
13
+ return /*#__PURE__*/_jsx(Root, {
14
+ ...rest,
15
+ children: /*#__PURE__*/_jsx(Inner, {
32
16
  dangerouslySetInnerHTML: {
33
17
  __html: svg
34
18
  }
35
19
  })
36
- }));
20
+ });
37
21
  }
38
22
  InlineSvg.propTypes = {
39
- svg: _propTypes.default.string.isRequired
23
+ svg: PropTypes.string.isRequired
40
24
  };
41
- const Root = (0, _Theme.styled)(_emotion.default.span)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: block;\n width: 100%;\n height: 100%;\n"])));
42
- const Inner = (0, _Theme.styled)('div')(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n &,\n & > svg {\n height: 100%;\n width: 100%;\n min-width: 100%;\n max-width: 100%;\n }\n"])));
43
- var _default = exports.default = InlineSvg;
25
+ const Root = styled(root.span)`
26
+ display: block;
27
+ width: 100%;
28
+ height: 100%;
29
+ `;
30
+ const Inner = styled('div')`
31
+ &,
32
+ & > svg {
33
+ height: 100%;
34
+ width: 100%;
35
+ min-width: 100%;
36
+ max-width: 100%;
37
+ }
38
+ `;
39
+ export default InlineSvg;
@@ -1,13 +1,2 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "default", {
7
- enumerable: true,
8
- get: function get() {
9
- return _navMenu.default;
10
- }
11
- });
12
- var _navMenu = _interopRequireDefault(require("./nav-menu"));
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1
+ // eslint-disable-next-line no-restricted-exports
2
+ export { default } from './nav-menu';