@arcblock/ux 2.10.67 → 2.10.69

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 (294) hide show
  1. package/lib/Address/did-address.d.ts +6 -5
  2. package/lib/Address/index.d.ts +1 -1
  3. package/lib/Avatar/index.d.ts +10 -8
  4. package/lib/Avatar/index.js +6 -4
  5. package/lib/Blocklet/blocklet.d.ts +4 -4
  6. package/lib/Blocklet/blocklet.js +2 -2
  7. package/lib/BlockletContext/index.d.ts +3 -3
  8. package/lib/BlockletNFT/index.d.ts +6 -6
  9. package/lib/BlockletNFT/index.js +3 -3
  10. package/lib/BlockletV2/blocklet.d.ts +2 -2
  11. package/lib/Button/wrap.d.ts +4 -4
  12. package/lib/Button/wrap.js +2 -2
  13. package/lib/CardSelector/index.js +0 -1
  14. package/lib/Center/index.d.ts +1 -1
  15. package/lib/ClickToCopy/copy-button.d.ts +5 -4
  16. package/lib/ClickToCopy/copy-button.js +0 -1
  17. package/lib/ClickToCopy/hook.d.ts +3 -8
  18. package/lib/ClickToCopy/index.d.ts +6 -4
  19. package/lib/CodeBlock/index.d.ts +3 -1
  20. package/lib/CookieConsent/index.d.ts +8 -29
  21. package/lib/CookieConsent/index.js +3 -17
  22. package/lib/CountDown/index.d.ts +21 -25
  23. package/lib/CountDown/index.js +12 -11
  24. package/lib/DID/index.d.ts +9 -8
  25. package/lib/Datatable/index.d.ts +5 -5
  26. package/lib/Datatable/index.js +5 -5
  27. package/lib/Dialog/confirm.d.ts +6 -6
  28. package/lib/Dialog/confirm.js +3 -3
  29. package/lib/Dialog/types.d.ts +1 -1
  30. package/lib/DidLogo/index.d.ts +5 -25
  31. package/lib/DidLogo/index.js +4 -15
  32. package/lib/DriftBot/index.d.ts +13 -19
  33. package/lib/DriftBot/index.js +5 -6
  34. package/lib/Earth/index.d.ts +28 -10
  35. package/lib/Earth/index.js +12 -52
  36. package/lib/Earth/util.d.ts +10 -5
  37. package/lib/Earth/util.js +1 -0
  38. package/lib/ErrorBoundary/fallback.d.ts +12 -19
  39. package/lib/ErrorBoundary/fallback.js +2 -19
  40. package/lib/ErrorBoundary/index.d.ts +1 -1
  41. package/lib/Footer/index.d.ts +17 -24
  42. package/lib/Footer/index.js +2 -11
  43. package/lib/Header/header.d.ts +2 -2
  44. package/lib/Icon/image.d.ts +3 -2
  45. package/lib/Icon/index.d.ts +6 -4
  46. package/lib/Img/index.d.ts +1 -1
  47. package/lib/Img/index.js +1 -1
  48. package/lib/InfoRow/index.d.ts +9 -32
  49. package/lib/InfoRow/index.js +10 -23
  50. package/lib/Layout/dashboard/external-link.d.ts +13 -14
  51. package/lib/Layout/dashboard/external-link.js +5 -22
  52. package/lib/Layout/dashboard/full-page.d.ts +19 -11
  53. package/lib/Layout/dashboard/full-page.js +2 -6
  54. package/lib/Layout/dashboard/index.d.ts +20 -39
  55. package/lib/Layout/dashboard/index.js +10 -38
  56. package/lib/Layout/dashboard/sidebar.d.ts +17 -20
  57. package/lib/Layout/dashboard/sidebar.js +3 -16
  58. package/lib/Layout/dashboard-legacy/header.d.ts +10 -36
  59. package/lib/Layout/dashboard-legacy/header.js +5 -24
  60. package/lib/Layout/dashboard-legacy/index.d.ts +17 -56
  61. package/lib/Layout/dashboard-legacy/index.js +12 -41
  62. package/lib/Layout/dashboard-legacy/sidebar.d.ts +15 -26
  63. package/lib/Layout/dashboard-legacy/sidebar.js +5 -15
  64. package/lib/Layout/index.d.ts +17 -56
  65. package/lib/Layout/index.js +24 -50
  66. package/lib/LoadingMask/index.d.ts +8 -31
  67. package/lib/LoadingMask/index.js +3 -19
  68. package/lib/Locale/browser-lang.d.ts +4 -1
  69. package/lib/Locale/browser-lang.js +8 -3
  70. package/lib/Locale/context.d.ts +18 -8
  71. package/lib/Locale/context.js +1 -1
  72. package/lib/Locale/languages.d.ts +9 -55
  73. package/lib/Locale/selector.d.ts +10 -26
  74. package/lib/Locale/selector.js +8 -25
  75. package/lib/Locale/util.d.ts +4 -3
  76. package/lib/Locale/util.js +0 -1
  77. package/lib/Logo/index.d.ts +9 -40
  78. package/lib/Logo/index.js +88 -46
  79. package/lib/Metric/index.d.ts +9 -31
  80. package/lib/Metric/index.js +5 -20
  81. package/lib/NFTDisplay/aspect-ratio-container.d.ts +5 -12
  82. package/lib/NFTDisplay/aspect-ratio-container.js +0 -5
  83. package/lib/NFTDisplay/broken.d.ts +3 -13
  84. package/lib/NFTDisplay/broken.js +80 -10
  85. package/lib/NFTDisplay/displayApi.d.ts +1 -1
  86. package/lib/NFTDisplay/index.d.ts +28 -6
  87. package/lib/NFTDisplay/index.js +17 -51
  88. package/lib/NFTDisplay/svg-embedder/img.d.ts +8 -23
  89. package/lib/NFTDisplay/svg-embedder/img.js +3 -17
  90. package/lib/NFTDisplay/svg-embedder/inline-svg.d.ts +7 -13
  91. package/lib/NFTDisplay/svg-embedder/inline-svg.js +1 -8
  92. package/lib/NavMenu/nav-menu.d.ts +2 -0
  93. package/lib/NavMenu/nav-menu.js +0 -1
  94. package/lib/PageScroller/index.d.ts +14 -13
  95. package/lib/PageScroller/index.js +12 -37
  96. package/lib/PageScroller/usePrevValue.d.ts +1 -1
  97. package/lib/PageScroller/usePrevValue.js +1 -2
  98. package/lib/Passport/index.d.ts +1 -1
  99. package/lib/Passport/passport.d.ts +10 -30
  100. package/lib/Passport/passport.js +5 -19
  101. package/lib/PoweredByArcBlock/index.d.ts +4 -14
  102. package/lib/PoweredByArcBlock/index.js +1 -8
  103. package/lib/PricingTable/PricingPlan.d.ts +11 -9
  104. package/lib/PricingTable/PricingPlan.js +0 -4
  105. package/lib/PricingTable/index.d.ts +5 -3
  106. package/lib/PricingTable/index.js +1 -5
  107. package/lib/QRCode/index.d.ts +11 -22
  108. package/lib/QRCode/index.js +2 -17
  109. package/lib/RelativeTime/index.d.ts +12 -40
  110. package/lib/RelativeTime/index.js +7 -27
  111. package/lib/Result/common.d.ts +26 -45
  112. package/lib/Result/common.js +2 -4
  113. package/lib/Result/index.d.ts +5 -18
  114. package/lib/Result/index.js +1 -9
  115. package/lib/Result/result.d.ts +7 -29
  116. package/lib/Result/result.js +2 -17
  117. package/lib/Result/translations.d.ts +2 -54
  118. package/lib/Screenshot/BaseScreenshot/index.d.ts +7 -24
  119. package/lib/Screenshot/BaseScreenshot/index.js +2 -15
  120. package/lib/Screenshot/BaseScreenshot/shells/Macbook.d.ts +25 -19
  121. package/lib/Screenshot/BaseScreenshot/shells/Phone.d.ts +25 -19
  122. package/lib/Screenshot/index.d.ts +84 -28
  123. package/lib/Screenshot/index.js +14 -43
  124. package/lib/SessionBlocklet/index.d.ts +6 -19
  125. package/lib/SessionBlocklet/index.js +5 -15
  126. package/lib/SessionManager/index.d.ts +1 -1
  127. package/lib/SessionPermission/index.d.ts +9 -17
  128. package/lib/SessionPermission/index.js +3 -11
  129. package/lib/SessionUser/components/logged-in.d.ts +9 -31
  130. package/lib/SessionUser/components/logged-in.js +13 -29
  131. package/lib/SessionUser/components/session-user-item.d.ts +8 -1
  132. package/lib/SessionUser/components/session-user-item.js +2 -12
  133. package/lib/SessionUser/components/session-user-switch.d.ts +9 -21
  134. package/lib/SessionUser/components/session-user-switch.js +3 -15
  135. package/lib/SessionUser/components/un-login.d.ts +7 -23
  136. package/lib/SessionUser/components/un-login.js +4 -16
  137. package/lib/SessionUser/components/user-info.d.ts +12 -29
  138. package/lib/SessionUser/components/user-info.js +4 -19
  139. package/lib/SessionUser/index.d.ts +7 -30
  140. package/lib/SessionUser/index.js +5 -26
  141. package/lib/SessionUser/libs/translation.d.ts +2 -31
  142. package/lib/SessionUser/libs/translation.js +1 -0
  143. package/lib/SessionUser/libs/utils.d.ts +10 -9
  144. package/lib/Sparkline/index.d.ts +22 -1
  145. package/lib/Sparkline/index.js +25 -17
  146. package/lib/Spinner/index.d.ts +6 -1
  147. package/lib/Spinner/index.js +4 -11
  148. package/lib/Success/index.d.ts +5 -21
  149. package/lib/Success/index.js +10 -19
  150. package/lib/Tabs/index.d.ts +12 -26
  151. package/lib/Tabs/index.js +7 -37
  152. package/lib/TextCollapse/index.d.ts +10 -10
  153. package/lib/TextCollapse/index.js +4 -21
  154. package/lib/Theme/index.js +0 -2
  155. package/lib/Theme/theme-provider.d.ts +1 -1
  156. package/lib/Theme/theme.d.ts +4 -1
  157. package/lib/Theme/theme.js +1 -2
  158. package/lib/Typography/index.d.ts +5 -24
  159. package/lib/Typography/index.js +5 -17
  160. package/lib/Util/index.d.ts +17 -8
  161. package/lib/Util/index.js +22 -3
  162. package/lib/Video/index.d.ts +12 -16
  163. package/lib/Video/index.js +0 -14
  164. package/lib/Wallet/Action.d.ts +13 -18
  165. package/lib/Wallet/Action.js +0 -7
  166. package/lib/Wallet/Download.d.ts +24 -30
  167. package/lib/Wallet/Download.js +201 -18
  168. package/lib/Wallet/Open.d.ts +5 -15
  169. package/lib/Wallet/Open.js +5 -11
  170. package/lib/WalletOSIcon/index.d.ts +6 -25
  171. package/lib/WalletOSIcon/index.js +3 -16
  172. package/lib/WebWalletSWKeeper/index.d.ts +8 -20
  173. package/lib/WebWalletSWKeeper/index.js +14 -19
  174. package/lib/WechatPrompt/index.js +2 -0
  175. package/lib/global.d.ts +15 -0
  176. package/lib/type.d.ts +12 -3
  177. package/lib/withTheme/index.d.ts +8 -6
  178. package/lib/withTracker/index.d.ts +1 -1
  179. package/lib/withTracker/index.js +3 -0
  180. package/package.json +9 -5
  181. package/src/Address/did-address.tsx +7 -6
  182. package/src/Address/index.tsx +1 -1
  183. package/src/Avatar/index.jsx +6 -4
  184. package/src/Blocklet/blocklet.jsx +2 -2
  185. package/src/BlockletContext/index.tsx +3 -3
  186. package/src/BlockletNFT/index.jsx +3 -3
  187. package/src/BlockletV2/blocklet.tsx +2 -2
  188. package/src/Button/wrap.jsx +2 -2
  189. package/src/CardSelector/index.tsx +0 -1
  190. package/src/Center/index.tsx +1 -1
  191. package/src/ClickToCopy/copy-button.tsx +4 -4
  192. package/src/ClickToCopy/hook.ts +3 -2
  193. package/src/ClickToCopy/index.tsx +6 -5
  194. package/src/CodeBlock/index.tsx +3 -1
  195. package/src/CookieConsent/{index.jsx → index.tsx} +16 -19
  196. package/src/CountDown/{index.jsx → index.tsx} +30 -16
  197. package/src/DID/index.tsx +9 -8
  198. package/src/Datatable/index.jsx +5 -5
  199. package/src/Dialog/confirm.jsx +3 -3
  200. package/src/Dialog/types.d.ts +1 -1
  201. package/src/DidLogo/{index.jsx → index.tsx} +7 -14
  202. package/src/DriftBot/{index.jsx → index.tsx} +13 -11
  203. package/src/Earth/{index.jsx → index.tsx} +94 -66
  204. package/src/Earth/{util.js → util.ts} +20 -17
  205. package/src/ErrorBoundary/{fallback.jsx → fallback.tsx} +20 -21
  206. package/src/Footer/{index.jsx → index.tsx} +17 -14
  207. package/src/Header/header.tsx +2 -3
  208. package/src/Header/responsive-header.tsx +0 -1
  209. package/src/Icon/image.tsx +3 -3
  210. package/src/Icon/index.tsx +7 -4
  211. package/src/Img/index.jsx +1 -1
  212. package/src/InfoRow/{index.jsx → index.tsx} +32 -25
  213. package/src/Layout/dashboard/external-link.tsx +46 -0
  214. package/src/Layout/dashboard/{full-page.jsx → full-page.tsx} +20 -9
  215. package/src/Layout/dashboard/{index.jsx → index.tsx} +42 -44
  216. package/src/Layout/dashboard/{sidebar.jsx → sidebar.tsx} +23 -20
  217. package/src/Layout/dashboard-legacy/{header.jsx → header.tsx} +16 -26
  218. package/src/Layout/dashboard-legacy/{index.jsx → index.tsx} +32 -46
  219. package/src/Layout/dashboard-legacy/{sidebar.jsx → sidebar.tsx} +27 -19
  220. package/src/Layout/{index.jsx → index.tsx} +41 -47
  221. package/src/LoadingMask/{index.jsx → index.tsx} +18 -20
  222. package/src/Locale/{browser-lang.js → browser-lang.ts} +9 -7
  223. package/src/Locale/context.tsx +18 -11
  224. package/src/Locale/{languages.js → languages.ts} +1 -1
  225. package/src/Locale/{selector.jsx → selector.tsx} +32 -29
  226. package/src/Locale/{util.js → util.ts} +9 -2
  227. package/src/Logo/index.tsx +58 -0
  228. package/src/Metric/{index.jsx → index.tsx} +23 -18
  229. package/src/NFTDisplay/{aspect-ratio-container.jsx → aspect-ratio-container.tsx} +9 -7
  230. package/src/NFTDisplay/{broken.jsx → broken.tsx} +7 -12
  231. package/src/NFTDisplay/{displayApi.js → displayApi.ts} +4 -4
  232. package/src/NFTDisplay/{index.jsx → index.tsx} +59 -64
  233. package/src/NFTDisplay/svg-embedder/{img.jsx → img.tsx} +10 -18
  234. package/src/NFTDisplay/svg-embedder/{inline-svg.jsx → inline-svg.tsx} +8 -9
  235. package/src/NavMenu/nav-menu.tsx +2 -3
  236. package/src/PageScroller/{index.jsx → index.tsx} +40 -53
  237. package/src/PageScroller/{usePrevValue.js → usePrevValue.ts} +2 -3
  238. package/src/Passport/{passport.jsx → passport.tsx} +22 -19
  239. package/src/PoweredByArcBlock/{index.jsx → index.tsx} +6 -11
  240. package/src/PricingTable/{PricingPlan.jsx → PricingPlan.tsx} +15 -5
  241. package/src/PricingTable/{index.jsx → index.tsx} +9 -6
  242. package/src/QRCode/{index.jsx → index.tsx} +14 -19
  243. package/src/RelativeTime/{index.jsx → index.tsx} +24 -24
  244. package/src/Result/{common.jsx → common.tsx} +17 -13
  245. package/src/Result/index.tsx +30 -0
  246. package/src/Result/{result.jsx → result.tsx} +8 -17
  247. package/src/Result/{translations.js → translations.ts} +3 -1
  248. package/src/Screenshot/BaseScreenshot/{index.jsx → index.tsx} +9 -15
  249. package/src/Screenshot/BaseScreenshot/shells/{Macbook.jsx → Macbook.tsx} +3 -1
  250. package/src/Screenshot/BaseScreenshot/shells/{Phone.jsx → Phone.tsx} +3 -1
  251. package/src/Screenshot/{index.jsx → index.tsx} +60 -54
  252. package/src/SessionBlocklet/{index.jsx → index.tsx} +9 -14
  253. package/src/SessionPermission/index.tsx +25 -0
  254. package/src/SessionUser/components/{logged-in.jsx → logged-in.tsx} +49 -31
  255. package/src/SessionUser/components/session-user-item.tsx +97 -0
  256. package/src/SessionUser/components/{session-user-switch.jsx → session-user-switch.tsx} +16 -21
  257. package/src/SessionUser/components/{un-login.jsx → un-login.tsx} +10 -15
  258. package/src/SessionUser/components/{user-info.jsx → user-info.tsx} +16 -22
  259. package/src/SessionUser/index.tsx +26 -0
  260. package/src/SessionUser/libs/{translation.js → translation.ts} +3 -1
  261. package/src/SessionUser/libs/utils.ts +39 -0
  262. package/src/Sparkline/{index.jsx → index.tsx} +38 -22
  263. package/src/Spinner/index.tsx +20 -0
  264. package/src/Success/{index.jsx → index.tsx} +13 -16
  265. package/src/Tabs/{index.jsx → index.tsx} +26 -40
  266. package/src/TextCollapse/{index.jsx → index.tsx} +26 -21
  267. package/src/Theme/index.ts +0 -1
  268. package/src/Theme/theme-provider.tsx +1 -1
  269. package/src/Theme/theme.ts +6 -3
  270. package/src/Typography/{index.jsx → index.tsx} +19 -22
  271. package/src/Util/index.ts +26 -9
  272. package/src/Video/{index.jsx → index.tsx} +7 -10
  273. package/src/Wallet/{Action.jsx → Action.tsx} +16 -12
  274. package/src/Wallet/{Download.jsx → Download.tsx} +25 -21
  275. package/src/Wallet/{Open.jsx → Open.tsx} +8 -11
  276. package/src/WalletOSIcon/{index.jsx → index.tsx} +8 -16
  277. package/src/WebWalletSWKeeper/{index.jsx → index.tsx} +21 -24
  278. package/src/WechatPrompt/{index.jsx → index.tsx} +1 -0
  279. package/src/global.d.ts +15 -0
  280. package/src/type.d.ts +12 -3
  281. package/src/withTheme/{index.jsx → index.tsx} +12 -2
  282. package/src/withTracker/{index.jsx → index.tsx} +6 -4
  283. package/src/Layout/dashboard/external-link.jsx +0 -47
  284. package/src/Logo/index.jsx +0 -66
  285. package/src/Result/index.jsx +0 -33
  286. package/src/SessionPermission/index.jsx +0 -28
  287. package/src/SessionUser/components/session-user-item.jsx +0 -93
  288. package/src/SessionUser/index.jsx +0 -38
  289. package/src/SessionUser/libs/utils.js +0 -37
  290. package/src/Spinner/index.jsx +0 -21
  291. /package/src/ErrorBoundary/{index.jsx → index.ts} +0 -0
  292. /package/src/NFTDisplay/{loading.jsx → loading.tsx} +0 -0
  293. /package/src/Passport/{index.jsx → index.ts} +0 -0
  294. /package/src/SessionManager/{index.jsx → index.tsx} +0 -0
@@ -1,15 +1,14 @@
1
- export function Link(props: any): import("react/jsx-runtime").JSX.Element;
2
- export function NavLink({ className, ...rest }: {
3
- [x: string]: any;
4
- className: any;
5
- }): import("react/jsx-runtime").JSX.Element;
6
- export namespace NavLink {
7
- namespace propTypes {
8
- let className: PropTypes.Requireable<NonNullable<string | ((...args: any[]) => any) | null | undefined>>;
9
- }
10
- namespace defaultProps {
11
- let className_1: string;
12
- export { className_1 as className };
13
- }
1
+ import { Link as RouterLink } from 'react-router-dom';
2
+ interface ExternalLinkProps extends React.ComponentProps<typeof RouterLink> {
3
+ routerLinkComponent: React.ElementType;
4
+ to: string | object;
5
+ external?: false | true;
14
6
  }
15
- import PropTypes from 'prop-types';
7
+ export interface LinkProps extends Omit<ExternalLinkProps, 'routerLinkComponent'> {
8
+ }
9
+ export declare function Link(props: LinkProps): import("react/jsx-runtime").JSX.Element;
10
+ export interface NavLinkProps extends Omit<ExternalLinkProps, 'routerLinkComponent' | 'className'> {
11
+ className?: string | (() => string);
12
+ }
13
+ export declare function NavLink({ className, ...rest }: NavLinkProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -1,13 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import PropTypes from 'prop-types';
3
2
  import { Link as RouterLink, NavLink as RouterNavLink } from 'react-router-dom';
4
-
5
3
  // 包裹 router Link/NavLink 组件, 支持 external link (external 为 true 时渲染为 a 标签)
6
4
  function ExternalLink({
7
- children,
8
5
  routerLinkComponent: RouterLinkComponent,
9
6
  to,
10
- external,
7
+ external = false,
8
+ children,
11
9
  ...rest
12
10
  }) {
13
11
  if (external) {
@@ -23,15 +21,6 @@ function ExternalLink({
23
21
  children: children
24
22
  });
25
23
  }
26
- ExternalLink.propTypes = {
27
- children: PropTypes.any.isRequired,
28
- routerLinkComponent: PropTypes.elementType.isRequired,
29
- external: PropTypes.bool,
30
- to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired
31
- };
32
- ExternalLink.defaultProps = {
33
- external: false
34
- };
35
24
  export function Link(props) {
36
25
  return /*#__PURE__*/_jsx(ExternalLink, {
37
26
  routerLinkComponent: RouterLink,
@@ -39,20 +28,14 @@ export function Link(props) {
39
28
  });
40
29
  }
41
30
  export function NavLink({
42
- className,
31
+ className = '',
43
32
  ...rest
44
33
  }) {
45
34
  // NavLink#className 支持 function
46
- const classes = rest.external && typeof className === 'function' ? className({}) : className;
35
+ const classes = typeof className === 'function' ? className() : className;
47
36
  return /*#__PURE__*/_jsx(ExternalLink, {
48
37
  routerLinkComponent: RouterNavLink,
49
38
  className: classes,
50
39
  ...rest
51
40
  });
52
- }
53
- NavLink.propTypes = {
54
- className: PropTypes.oneOfType([PropTypes.string, PropTypes.func])
55
- };
56
- NavLink.defaultProps = {
57
- className: ''
58
- };
41
+ }
@@ -1,12 +1,20 @@
1
- export function FullPageProvider({ children, ...rest }: {
2
- [x: string]: any;
3
- children: any;
1
+ type FullPageState = {
2
+ inFullPage: boolean;
3
+ showToggleButton: boolean;
4
+ headerVisibleInFullPage: boolean;
5
+ footerVisibleInFullPage: boolean;
6
+ sidebarVisibleInFullPage: boolean;
7
+ };
8
+ type FullPageContextValue = FullPageState & {
9
+ headerVisible: boolean;
10
+ footerVisible: boolean;
11
+ sidebarVisible: boolean;
12
+ toggleFullPage: () => void;
13
+ configure: (params: Partial<FullPageState>) => void;
14
+ };
15
+ export declare const FullPageContext: import("react").Context<FullPageContextValue>;
16
+ export declare const useFullPage: (initialState?: FullPageState) => FullPageContextValue;
17
+ export declare function FullPageProvider({ children, ...rest }: {
18
+ children?: React.ReactNode;
4
19
  }): import("react/jsx-runtime").JSX.Element;
5
- export namespace FullPageProvider {
6
- namespace propTypes {
7
- let children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
8
- }
9
- }
10
- export const FullPageContext: import("react").Context<any>;
11
- export function useFullPage(initialState: any): any;
12
- import PropTypes from 'prop-types';
20
+ export {};
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useState, useContext, createContext, useMemo, useLayoutEffect } from 'react';
3
- import PropTypes from 'prop-types';
4
- export const FullPageContext = /*#__PURE__*/createContext();
3
+ export const FullPageContext = /*#__PURE__*/createContext(null);
5
4
  export const useFullPage = initialState => {
6
5
  const ctx = useContext(FullPageContext);
7
6
  useLayoutEffect(() => {
@@ -47,7 +46,4 @@ export function FullPageProvider({
47
46
  ...rest,
48
47
  children: children
49
48
  });
50
- }
51
- FullPageProvider.propTypes = {
52
- children: PropTypes.node.isRequired
53
- };
49
+ }
@@ -1,40 +1,21 @@
1
- declare function DashboardWrapper({ legacy, ...rest }: {
2
- [x: string]: any;
3
- legacy: any;
4
- }): import("react/jsx-runtime").JSX.Element;
5
- declare namespace DashboardWrapper {
6
- namespace propTypes {
7
- let legacy: PropTypes.Requireable<boolean>;
8
- let footerProps: PropTypes.Requireable<PropTypes.InferProps<{
9
- dark: PropTypes.Requireable<boolean>;
10
- className: PropTypes.Requireable<string>;
11
- copyStart: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
12
- brand: PropTypes.Requireable<string>;
13
- style: PropTypes.Requireable<object>;
14
- addon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
15
- }>>;
16
- let children: PropTypes.Validator<any>;
17
- let title: PropTypes.Requireable<string>;
18
- let links: PropTypes.Validator<any[]>;
19
- let headerProps: PropTypes.Requireable<object>;
20
- let fullWidth: PropTypes.Requireable<boolean>;
21
- let sidebarWidth: PropTypes.Requireable<number>;
22
- let dense: PropTypes.Requireable<string | boolean>;
23
- }
24
- namespace defaultProps {
25
- let legacy_1: boolean;
26
- export { legacy_1 as legacy };
27
- let title_1: string;
28
- export { title_1 as title };
29
- let headerProps_1: {};
30
- export { headerProps_1 as headerProps };
31
- let fullWidth_1: boolean;
32
- export { fullWidth_1 as fullWidth };
33
- let sidebarWidth_1: number;
34
- export { sidebarWidth_1 as sidebarWidth };
35
- let dense_1: string;
36
- export { dense_1 as dense };
37
- }
1
+ import { type SxProps } from '@mui/material';
2
+ import { type FooterProps } from '../../Footer';
3
+ import { type LinkItem } from './sidebar';
4
+ import { type DashboardProps as DashboardLegacyProps } from '../dashboard-legacy';
5
+ export interface DashboardProps extends React.HTMLAttributes<HTMLDivElement> {
6
+ title?: string;
7
+ headerProps?: object;
8
+ /** 支持分组, links item 如果是数组, 则视为一个 group */
9
+ links?: LinkItem[];
10
+ sidebarWidth?: number;
11
+ fullWidth?: false | true;
12
+ /** sidenav 稠密一些的布局, 纵向空间占用较少, 默认为 auto, 当 links 个数 > 8 时自动启用 */
13
+ dense?: 'auto' | boolean;
14
+ footerProps?: FooterProps;
15
+ sx?: SxProps;
38
16
  }
39
- export default DashboardWrapper;
40
- import PropTypes from 'prop-types';
17
+ export default function DashboardWrapper<T extends boolean = true>({ legacy, ...rest }: T extends true ? {
18
+ legacy?: T;
19
+ } & DashboardLegacyProps : {
20
+ legacy?: T;
21
+ } & DashboardProps): import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo } from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import { useLocation, matchPath } from 'react-router-dom';
5
4
  import Helmet from 'react-helmet';
6
5
  import Container from '@mui/material/Container';
@@ -17,10 +16,8 @@ import Sidebar from './sidebar';
17
16
  import { styled, useTheme } from '../../Theme';
18
17
  import { Link } from './external-link';
19
18
  import { FullPageProvider, useFullPage } from './full-page';
20
-
21
19
  // 监听 location 变化并关闭 header 中的 menu (确保 drawer - disablePortal:false, keepMounted:true)
22
20
  // 直接监听 menu 中 link 点击来触发 closeMenu 会有问题 (Suspense & lazy)
23
- // eslint-disable-next-line react/prop-types
24
21
  function NavMenuWrapper({
25
22
  closeMenu,
26
23
  ...rest
@@ -59,13 +56,14 @@ function formatLinks(links, location) {
59
56
  });
60
57
  }
61
58
  function Dashboard({
62
- children,
63
- title,
64
- headerProps,
59
+ title = 'Home',
60
+ headerProps = {},
65
61
  links = [],
66
- fullWidth,
67
- dense,
68
- footerProps,
62
+ sidebarWidth = 120,
63
+ fullWidth = false,
64
+ dense = 'auto',
65
+ footerProps = {},
66
+ children,
69
67
  ...rest
70
68
  }) {
71
69
  const theme = useTheme();
@@ -104,6 +102,7 @@ function Dashboard({
104
102
  return /*#__PURE__*/_jsxs(Wrapper, {
105
103
  ...rest,
106
104
  className: classes,
105
+ sidebarWidth: sidebarWidth,
107
106
  children: [/*#__PURE__*/_jsx(Helmet, {
108
107
  title: title
109
108
  }, title), headerVisible && /*#__PURE__*/_jsx(StyledUxHeader, {
@@ -182,24 +181,6 @@ function Dashboard({
182
181
  })]
183
182
  });
184
183
  }
185
- Dashboard.propTypes = {
186
- children: PropTypes.any.isRequired,
187
- title: PropTypes.string,
188
- // 支持分组, links item 如果是数组, 则视为一个 group
189
- links: PropTypes.array.isRequired,
190
- headerProps: PropTypes.object,
191
- fullWidth: PropTypes.bool,
192
- sidebarWidth: PropTypes.number,
193
- // sidenav 稠密一些的布局, 纵向空间占用较少, 默认为 auto, 当 links 个数 > 8 时自动启用
194
- dense: PropTypes.oneOf([true, false, 'auto'])
195
- };
196
- Dashboard.defaultProps = {
197
- title: 'Home',
198
- headerProps: {},
199
- fullWidth: false,
200
- sidebarWidth: 120,
201
- dense: 'auto'
202
- };
203
184
  const Wrapper = styled('div', {
204
185
  shouldForwardProp: prop => prop !== 'sidebarWidth'
205
186
  })`
@@ -264,7 +245,7 @@ const StyledUxHeader = styled(ResponsiveHeader)`
264
245
 
265
246
  // 兼容旧版 dashboard
266
247
  export default function DashboardWrapper({
267
- legacy,
248
+ legacy = true,
268
249
  ...rest
269
250
  }) {
270
251
  if (legacy) {
@@ -277,13 +258,4 @@ export default function DashboardWrapper({
277
258
  ...rest
278
259
  })
279
260
  });
280
- }
281
- DashboardWrapper.propTypes = {
282
- ...Dashboard.propTypes,
283
- legacy: PropTypes.bool,
284
- footerProps: PropTypes.shape(Footer.propTypes)
285
- };
286
- DashboardWrapper.defaultProps = {
287
- ...Dashboard.defaultProps,
288
- legacy: true
289
- };
261
+ }
@@ -1,21 +1,18 @@
1
- export default Sidebar;
2
- declare function Sidebar({ links, addons, dense, ...rest }: {
3
- [x: string]: any;
4
- links: any;
5
- addons: any;
6
- dense: any;
7
- }): import("react/jsx-runtime").JSX.Element;
8
- declare namespace Sidebar {
9
- namespace propTypes {
10
- let links: PropTypes.Validator<any[]>;
11
- let addons: PropTypes.Requireable<any>;
12
- let dense: PropTypes.Requireable<boolean>;
13
- }
14
- namespace defaultProps {
15
- let addons_1: null;
16
- export { addons_1 as addons };
17
- let dense_1: boolean;
18
- export { dense_1 as dense };
19
- }
1
+ export type LinkItem = {
2
+ url: string;
3
+ title: React.ReactNode;
4
+ icon?: React.ReactNode;
5
+ iconZoom?: number;
6
+ color?: string;
7
+ showBadge?: false | true;
8
+ external?: false | true;
9
+ active?: boolean;
10
+ children?: LinkItem[];
11
+ };
12
+ export interface SidebarProps {
13
+ links: LinkItem[];
14
+ addons?: React.ReactNode;
15
+ dense?: false | true;
20
16
  }
21
- import PropTypes from 'prop-types';
17
+ declare function Sidebar({ links, addons, dense, ...rest }: SidebarProps): import("react/jsx-runtime").JSX.Element;
18
+ export default Sidebar;
@@ -1,6 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /* eslint-disable react/no-array-index-key */
3
- import PropTypes from 'prop-types';
4
2
  import Typography from '@mui/material/Typography';
5
3
  import { teal } from '@mui/material/colors';
6
4
  import clsx from 'clsx';
@@ -25,10 +23,8 @@ function renderItem(item, index) {
25
23
  children: /*#__PURE__*/_jsxs(NavLink, {
26
24
  external: external,
27
25
  to: url,
28
- className: ({
29
- isActive
30
- }) => clsx('layout-sidebar-link', {
31
- 'layout-sidebar-link--active': external ? active : isActive
26
+ className: () => clsx('layout-sidebar-link', {
27
+ 'layout-sidebar-link--active': external ? active : false
32
28
  }),
33
29
  children: [icon && /*#__PURE__*/_jsx("span", {
34
30
  className: `layout-sidebar-icon ${showBadge ? 'layout-sidebar-badge' : ''}`,
@@ -55,7 +51,7 @@ function renderGroup(item, index) {
55
51
  function Sidebar({
56
52
  links,
57
53
  addons,
58
- dense,
54
+ dense = false,
59
55
  ...rest
60
56
  }) {
61
57
  return /*#__PURE__*/_jsxs(Root, {
@@ -72,15 +68,6 @@ function Sidebar({
72
68
  }), addons]
73
69
  });
74
70
  }
75
- Sidebar.propTypes = {
76
- links: PropTypes.array.isRequired,
77
- addons: PropTypes.any,
78
- dense: PropTypes.bool
79
- };
80
- Sidebar.defaultProps = {
81
- addons: null,
82
- dense: false
83
- };
84
71
  const gradient = 'linear-gradient(32deg, rgba(144, 255, 230, 0.1), rgba(144, 255, 230, 0))';
85
72
  const Root = styled('div')`
86
73
  display: flex;
@@ -1,37 +1,11 @@
1
- declare function Header({ children, brand, brandAddon, description, addons, onToggleMenu, homeUrl, logo, ...rest }: {
2
- [x: string]: any;
3
- children: any;
4
- brand: any;
5
- brandAddon: any;
6
- description: any;
7
- addons: any;
8
- onToggleMenu: any;
9
- homeUrl: any;
10
- logo: any;
11
- }): import("react/jsx-runtime").JSX.Element;
12
- declare namespace Header {
13
- namespace propTypes {
14
- let onToggleMenu: PropTypes.Validator<(...args: any[]) => any>;
15
- let brand: PropTypes.Validator<string>;
16
- let brandAddon: PropTypes.Requireable<object>;
17
- let description: PropTypes.Validator<any>;
18
- let children: PropTypes.Requireable<any>;
19
- let addons: PropTypes.Requireable<any>;
20
- let homeUrl: PropTypes.Requireable<string>;
21
- let logo: PropTypes.Requireable<any>;
22
- }
23
- namespace defaultProps {
24
- let children_1: null;
25
- export { children_1 as children };
26
- let addons_1: null;
27
- export { addons_1 as addons };
28
- let brandAddon_1: null;
29
- export { brandAddon_1 as brandAddon };
30
- let homeUrl_1: string;
31
- export { homeUrl_1 as homeUrl };
32
- let logo_1: null;
33
- export { logo_1 as logo };
34
- }
1
+ import { type AppBarProps } from '@mui/material/AppBar';
2
+ export interface HeaderProps extends AppBarProps {
3
+ onToggleMenu: () => void;
4
+ brand?: string;
5
+ description?: React.ReactNode;
6
+ addons?: React.ReactNode;
7
+ brandAddon?: React.ReactNode;
8
+ homeUrl?: string;
9
+ logo?: React.ReactNode;
35
10
  }
36
- export default Header;
37
- import PropTypes from 'prop-types';
11
+ export default function Header({ onToggleMenu, brand, description, addons, brandAddon, homeUrl, logo, children, ...rest }: HeaderProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import PropTypes from 'prop-types';
3
2
  import Button from '@mui/material/IconButton';
4
3
  import AppBar from '@mui/material/AppBar';
5
4
  import Toolbar from '@mui/material/Toolbar';
@@ -81,7 +80,6 @@ const StyledAppBar = styled(AppBar)`
81
80
  }
82
81
  }
83
82
  `;
84
-
85
83
  /*
86
84
  自定义 logo 相关:
87
85
  如果为 logo prop 传入一个自定义的 svg, 并且 svg 中的元素通过 id 引用了 defs 中的元素 (比如 linearGradient),
@@ -92,14 +90,14 @@ const StyledAppBar = styled(AppBar)`
92
90
  参考: https://blog.patw.me/archives/1820/inline-svg-same-id-and-display-none-issue/
93
91
  */
94
92
  export default function Header({
95
- children,
93
+ onToggleMenu,
96
94
  brand,
97
- brandAddon,
98
95
  description,
99
96
  addons,
100
- onToggleMenu,
101
- homeUrl,
97
+ brandAddon,
98
+ homeUrl = '/',
102
99
  logo,
100
+ children,
103
101
  ...rest
104
102
  }) {
105
103
  return /*#__PURE__*/_jsx(StyledAppBar, {
@@ -153,21 +151,4 @@ export default function Header({
153
151
  })]
154
152
  })
155
153
  });
156
- }
157
- Header.propTypes = {
158
- onToggleMenu: PropTypes.func.isRequired,
159
- brand: PropTypes.string.isRequired,
160
- brandAddon: PropTypes.object,
161
- description: PropTypes.any.isRequired,
162
- children: PropTypes.any,
163
- addons: PropTypes.any,
164
- homeUrl: PropTypes.string,
165
- logo: PropTypes.any
166
- };
167
- Header.defaultProps = {
168
- children: null,
169
- addons: null,
170
- brandAddon: null,
171
- homeUrl: '/',
172
- logo: null
173
- };
154
+ }
@@ -1,57 +1,18 @@
1
- declare function Dashboard({ children, title, brand, description, brandAddon, headerAddon, images, links, prefix, fullWidth, contentLayout, className, homeUrl, logo, ...rest }: {
2
- [x: string]: any;
3
- children: any;
4
- title: any;
5
- brand: any;
6
- description: any;
7
- brandAddon: any;
8
- headerAddon: any;
9
- images: any;
10
- links: any;
11
- prefix: any;
12
- fullWidth: any;
13
- contentLayout: any;
14
- className: any;
15
- homeUrl: any;
16
- logo: any;
17
- }): import("react/jsx-runtime").JSX.Element;
18
- declare namespace Dashboard {
19
- namespace propTypes {
20
- let children: PropTypes.Validator<any>;
21
- let title: PropTypes.Requireable<string>;
22
- let brand: PropTypes.Validator<string>;
23
- let links: PropTypes.Validator<any[]>;
24
- let images: PropTypes.Validator<object>;
25
- let brandAddon: PropTypes.Requireable<object>;
26
- let description: PropTypes.Validator<any>;
27
- let headerAddon: PropTypes.Requireable<any>;
28
- let prefix: PropTypes.Requireable<string>;
29
- let contentLayout: PropTypes.Requireable<string>;
30
- let fullWidth: PropTypes.Requireable<boolean>;
31
- let className: PropTypes.Requireable<string>;
32
- let homeUrl: PropTypes.Requireable<string>;
33
- let logo: PropTypes.Requireable<any>;
34
- }
35
- namespace defaultProps {
36
- let title_1: string;
37
- export { title_1 as title };
38
- let contentLayout_1: string;
39
- export { contentLayout_1 as contentLayout };
40
- let headerAddon_1: null;
41
- export { headerAddon_1 as headerAddon };
42
- let brandAddon_1: null;
43
- export { brandAddon_1 as brandAddon };
44
- let prefix_1: string;
45
- export { prefix_1 as prefix };
46
- let fullWidth_1: boolean;
47
- export { fullWidth_1 as fullWidth };
48
- let className_1: string;
49
- export { className_1 as className };
50
- let homeUrl_1: string;
51
- export { homeUrl_1 as homeUrl };
52
- let logo_1: null;
53
- export { logo_1 as logo };
54
- }
1
+ import { type SxProps } from '@mui/material';
2
+ import { type LinkItem } from './sidebar';
3
+ export interface DashboardProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ links?: LinkItem[];
5
+ brand?: string;
6
+ description?: React.ReactNode;
7
+ images: Record<string, string>;
8
+ title?: string;
9
+ brandAddon?: React.ReactNode;
10
+ headerAddon?: React.ReactNode;
11
+ prefix?: string;
12
+ fullWidth?: false | true;
13
+ contentLayout?: 'row' | 'column';
14
+ homeUrl?: string;
15
+ logo?: React.ReactNode;
16
+ sx?: SxProps;
55
17
  }
56
- export default Dashboard;
57
- import PropTypes from 'prop-types';
18
+ export default function Dashboard({ links, brand, description, images, title, brandAddon, headerAddon, prefix, fullWidth, contentLayout, className, homeUrl, logo, children, ...rest }: DashboardProps): import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import Helmet from 'react-helmet';
5
4
  import Container from '@mui/material/Container';
6
5
  import Box from '@mui/material/Box';
@@ -40,20 +39,20 @@ const Wrapper = styled('div')`
40
39
  }
41
40
  `;
42
41
  export default function Dashboard({
43
- children,
44
- title,
45
- brand,
46
- description,
42
+ links = [],
43
+ brand = '',
44
+ description = '',
45
+ images,
46
+ title = 'Home',
47
47
  brandAddon,
48
48
  headerAddon,
49
- images,
50
- links,
51
- prefix,
52
- fullWidth,
53
- contentLayout,
54
- className,
55
- homeUrl,
49
+ prefix = '/images',
50
+ fullWidth = false,
51
+ contentLayout = 'column',
52
+ className = '',
53
+ homeUrl = '/',
56
54
  logo,
55
+ children,
57
56
  ...rest
58
57
  }) {
59
58
  const breakpoint = 960;
@@ -116,32 +115,4 @@ export default function Dashboard({
116
115
  })]
117
116
  })]
118
117
  });
119
- }
120
- Dashboard.propTypes = {
121
- children: PropTypes.any.isRequired,
122
- title: PropTypes.string,
123
- brand: PropTypes.string.isRequired,
124
- links: PropTypes.array.isRequired,
125
- images: PropTypes.object.isRequired,
126
- brandAddon: PropTypes.object,
127
- description: PropTypes.any.isRequired,
128
- headerAddon: PropTypes.any,
129
- prefix: PropTypes.string,
130
- // 兼容旧版的设置,新版使用 fullWidth 进行设置
131
- contentLayout: PropTypes.oneOf(['row', 'column']),
132
- fullWidth: PropTypes.bool,
133
- className: PropTypes.string,
134
- homeUrl: PropTypes.string,
135
- logo: PropTypes.any
136
- };
137
- Dashboard.defaultProps = {
138
- title: 'Home',
139
- contentLayout: 'column',
140
- headerAddon: null,
141
- brandAddon: null,
142
- prefix: '/images',
143
- fullWidth: false,
144
- className: '',
145
- homeUrl: '/',
146
- logo: null
147
- };
118
+ }
@@ -1,27 +1,16 @@
1
- declare function Sidebar({ images, links, prefix, addons, logo, ...rest }: {
2
- [x: string]: any;
3
- images: any;
4
- links: any;
5
- prefix: any;
6
- addons: any;
7
- logo: any;
8
- }): import("react/jsx-runtime").JSX.Element;
9
- declare namespace Sidebar {
10
- namespace propTypes {
11
- let images: PropTypes.Validator<object>;
12
- let links: PropTypes.Validator<any[]>;
13
- let prefix: PropTypes.Requireable<string>;
14
- let addons: PropTypes.Requireable<any>;
15
- let logo: PropTypes.Requireable<any>;
16
- }
17
- namespace defaultProps {
18
- let prefix_1: string;
19
- export { prefix_1 as prefix };
20
- let addons_1: null;
21
- export { addons_1 as addons };
22
- let logo_1: null;
23
- export { logo_1 as logo };
24
- }
1
+ import { type SxProps } from '@mui/material';
2
+ export type LinkItem = {
3
+ url: string;
4
+ title: React.ReactNode;
5
+ name: string;
6
+ showBadge?: false | true;
7
+ };
8
+ export interface SidebarProps extends React.HTMLAttributes<HTMLDivElement> {
9
+ images: Record<string, string>;
10
+ links: LinkItem[];
11
+ prefix: string;
12
+ addons?: React.ReactNode;
13
+ logo?: React.ReactNode;
14
+ sx?: SxProps;
25
15
  }
26
- export default Sidebar;
27
- import PropTypes from 'prop-types';
16
+ export default function Sidebar({ images, links, prefix, addons, logo, ...rest }: SidebarProps): import("react/jsx-runtime").JSX.Element;