@arcblock/ux 2.9.90 → 2.10.0
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/ActionButton/index.js +36 -48
- package/lib/ActivityIndicator/index.js +122 -75
- package/lib/Address/compact-text.js +48 -66
- package/lib/Address/did-address.js +114 -87
- package/lib/Address/index.js +15 -27
- package/lib/Address/responsive-did-address.js +48 -50
- package/lib/Alert/index.js +58 -52
- package/lib/AnimationWaiter/index.js +123 -69
- package/lib/Async/index.js +8 -22
- package/lib/Avatar/did-motif.js +38 -52
- package/lib/Avatar/etherscan-blockies.js +4 -10
- package/lib/Avatar/index.js +71 -77
- package/lib/Badge/index.js +49 -56
- package/lib/Blocklet/blocklet.js +181 -97
- package/lib/Blocklet/index.js +4 -24
- package/lib/Blocklet/utils.js +50 -13
- package/lib/BlockletContext/index.js +21 -31
- package/lib/BlockletNFT/index.js +255 -115
- package/lib/Button/index.js +5 -11
- package/lib/Button/wrap.js +45 -56
- package/lib/ButtonGroup/index.js +3 -9
- package/lib/CardSelector/index.js +67 -43
- package/lib/Center/index.js +19 -20
- package/lib/ClickToCopy/copy-button.js +37 -50
- package/lib/ClickToCopy/hook.js +10 -18
- package/lib/ClickToCopy/index.js +54 -66
- package/lib/CodeBlock/LightBox.js +84 -11
- package/lib/CodeBlock/index.js +175 -101
- package/lib/Colors/index.js +3 -20
- package/lib/Colors/themes/default.js +1 -7
- package/lib/Colors/themes/temp.js +1 -7
- package/lib/ContactForm/index.js +95 -60
- package/lib/CookieConsent/index.js +58 -52
- package/lib/CountDown/index.js +90 -59
- package/lib/DID/index.js +80 -96
- package/lib/Datatable/CustomToolbar.js +188 -137
- package/lib/Datatable/DatatableContext.js +14 -21
- package/lib/Datatable/TableSearch.js +99 -58
- package/lib/Datatable/index.js +312 -139
- package/lib/Datatable/utils.js +9 -17
- package/lib/Dialog/confirm.js +46 -58
- package/lib/Dialog/dialog.js +110 -66
- package/lib/Dialog/index.js +4 -27
- package/lib/Dialog/use-confirm.js +40 -65
- package/lib/DidLogo/index.js +14 -22
- package/lib/DriftBot/index.js +34 -19
- package/lib/Earth/index.js +214 -110
- package/lib/Earth/util.js +6 -19
- package/lib/Empty/index.js +33 -38
- package/lib/ErrorBoundary/fallback.js +45 -43
- package/lib/ErrorBoundary/index.js +1 -16
- package/lib/Footer/index.js +96 -48
- package/lib/Header/auto-hidden.js +28 -31
- package/lib/Header/header.js +151 -69
- package/lib/Header/index.js +2 -20
- package/lib/Header/responsive-header.js +67 -60
- package/lib/Icon/image.js +41 -45
- package/lib/Icon/index.js +51 -53
- package/lib/Img/index.js +77 -88
- package/lib/InfoRow/index.js +66 -48
- package/lib/Layout/dashboard/external-link.js +38 -53
- package/lib/Layout/dashboard/full-page.js +27 -41
- package/lib/Layout/dashboard/index.js +177 -132
- package/lib/Layout/dashboard/sidebar.js +164 -61
- package/lib/Layout/dashboard-legacy/header.js +119 -66
- package/lib/Layout/dashboard-legacy/index.js +90 -79
- package/lib/Layout/dashboard-legacy/sidebar.js +95 -62
- package/lib/Layout/index.js +200 -106
- package/lib/LoadingMask/index.js +31 -38
- package/lib/Locale/browser-lang.js +2 -8
- package/lib/Locale/context.js +46 -69
- package/lib/Locale/languages.js +6 -15
- package/lib/Locale/selector.js +116 -92
- package/lib/Locale/util.js +7 -16
- package/lib/Logo/index.js +54 -57
- package/lib/Metric/index.js +103 -40
- package/lib/NFTDisplay/aspect-ratio-container.js +33 -40
- package/lib/NFTDisplay/broken.js +68 -52
- package/lib/NFTDisplay/index.js +140 -129
- package/lib/NFTDisplay/loading.js +14 -13
- package/lib/NFTDisplay/svg-embedder/img.js +18 -33
- package/lib/NFTDisplay/svg-embedder/inline-svg.js +28 -32
- package/lib/NavMenu/index.js +2 -13
- package/lib/NavMenu/nav-menu.js +133 -148
- package/lib/NavMenu/style.js +179 -12
- package/lib/PageScroller/index.js +82 -93
- package/lib/PageScroller/story/FifthComponent.js +4 -10
- package/lib/PageScroller/story/FirstComponent.js +4 -10
- package/lib/PageScroller/story/FourthComponent.js +4 -10
- package/lib/PageScroller/story/FullPage.js +21 -28
- package/lib/PageScroller/story/PageContain.js +23 -30
- package/lib/PageScroller/story/SecondComponent.js +4 -10
- package/lib/PageScroller/story/ThirdComponent.js +4 -10
- package/lib/PageScroller/usePrevValue.js +4 -11
- package/lib/Passport/index.js +2 -9
- package/lib/Passport/passport.js +38 -51
- package/lib/PoweredByArcBlock/index.js +19 -33
- package/lib/PricingTable/PricingPlan.js +90 -34
- package/lib/PricingTable/index.js +28 -26
- package/lib/QRCode/index.js +38 -50
- package/lib/RelativeTime/index.js +44 -59
- package/lib/Result/common.js +85 -107
- package/lib/Result/index.js +22 -34
- package/lib/Result/result.js +35 -41
- package/lib/Result/translations.js +1 -7
- package/lib/Screenshot/BaseScreenshot/index.js +65 -43
- package/lib/Screenshot/BaseScreenshot/shells/Macbook.js +17 -27
- package/lib/Screenshot/BaseScreenshot/shells/Phone.js +14 -25
- package/lib/Screenshot/index.js +103 -92
- package/lib/SessionBlocklet/index.js +125 -143
- package/lib/SessionManager/index.js +2 -9
- package/lib/SessionPermission/index.js +13 -23
- package/lib/SessionUser/components/logged-in.js +139 -158
- package/lib/SessionUser/components/session-user-item.js +44 -58
- package/lib/SessionUser/components/session-user-switch.js +133 -152
- package/lib/SessionUser/components/un-login.js +27 -35
- package/lib/SessionUser/components/user-info.js +62 -74
- package/lib/SessionUser/index.js +26 -34
- package/lib/SessionUser/libs/translation.js +1 -7
- package/lib/SessionUser/libs/utils.js +13 -34
- package/lib/Sparkline/index.js +4 -10
- package/lib/Spinner/index.js +11 -17
- package/lib/SplitButton/index.js +72 -68
- package/lib/Success/index.js +28 -34
- package/lib/Switch/index.js +64 -75
- package/lib/Tabs/index.js +84 -103
- package/lib/Tag/index.js +52 -56
- package/lib/TextCollapse/index.js +57 -50
- package/lib/Theme/index.js +8 -47
- package/lib/Theme/theme-provider.js +19 -26
- package/lib/Theme/theme.js +49 -62
- package/lib/Toast/index.js +41 -73
- package/lib/Typography/index.js +44 -55
- package/lib/Util/constant.js +16 -22
- package/lib/Util/deprecate.js +14 -26
- package/lib/Util/federated.js +16 -38
- package/lib/Util/index.js +63 -113
- package/lib/Util/passport.js +23 -33
- package/lib/Util/wallet.js +5 -14
- package/lib/Video/index.js +34 -34
- package/lib/Wallet/Action.js +72 -49
- package/lib/Wallet/Download.js +132 -115
- package/lib/Wallet/Open.js +26 -25
- package/lib/WalletOSIcon/index.js +33 -42
- package/lib/WebWalletSWKeeper/index.js +42 -55
- package/lib/WechatPrompt/index.js +53 -33
- package/lib/index.js +38 -265
- package/lib/withTheme/index.js +53 -33
- package/lib/withTracker/error_boundary.js +7 -18
- package/lib/withTracker/index.js +25 -34
- package/package.json +9 -316
- package/src/WalletOSIcon/index.jsx +1 -1
- package/es/ActionButton/index.js +0 -99
- package/es/ActivityIndicator/index.js +0 -180
- package/es/Address/compact-text.js +0 -105
- package/es/Address/did-address.js +0 -222
- package/es/Address/index.js +0 -23
- package/es/Address/responsive-did-address.js +0 -87
- package/es/Alert/index.js +0 -134
- package/es/AnimationWaiter/default-animation.json +0 -1
- package/es/AnimationWaiter/index.js +0 -240
- package/es/Async/index.js +0 -38
- package/es/Avatar/did-motif.js +0 -68
- package/es/Avatar/etherscan-blockies.js +0 -83
- package/es/Avatar/index.js +0 -179
- package/es/Badge/index.js +0 -98
- package/es/Blocklet/blocklet.js +0 -298
- package/es/Blocklet/index.js +0 -4
- package/es/Blocklet/utils.js +0 -52
- package/es/BlockletContext/index.js +0 -65
- package/es/BlockletNFT/index.js +0 -412
- package/es/Button/index.js +0 -8
- package/es/Button/wrap.js +0 -140
- package/es/ButtonGroup/index.js +0 -6
- package/es/CardSelector/index.js +0 -149
- package/es/Center/index.js +0 -41
- package/es/ClickToCopy/copy-button.js +0 -72
- package/es/ClickToCopy/hook.js +0 -39
- package/es/ClickToCopy/index.js +0 -92
- package/es/CodeBlock/LightBox.js +0 -85
- package/es/CodeBlock/index.js +0 -222
- package/es/Colors/index.js +0 -3
- package/es/Colors/themes/default.js +0 -77
- package/es/Colors/themes/temp.js +0 -41
- package/es/ContactForm/index.js +0 -230
- package/es/CookieConsent/index.js +0 -113
- package/es/CountDown/index.js +0 -178
- package/es/DID/index.js +0 -249
- package/es/Datatable/CustomToolbar.js +0 -396
- package/es/Datatable/DatatableContext.js +0 -34
- package/es/Datatable/TableSearch.js +0 -166
- package/es/Datatable/index.js +0 -629
- package/es/Datatable/utils.js +0 -132
- package/es/Dialog/confirm.js +0 -123
- package/es/Dialog/dialog.js +0 -201
- package/es/Dialog/index.js +0 -4
- package/es/Dialog/types.d.ts +0 -17
- package/es/Dialog/use-confirm.js +0 -133
- package/es/DidLogo/index.js +0 -31
- package/es/DriftBot/index.js +0 -70
- package/es/Earth/countries.json +0 -8057
- package/es/Earth/index.js +0 -521
- package/es/Earth/util.js +0 -51
- package/es/Empty/index.js +0 -65
- package/es/ErrorBoundary/fallback.js +0 -73
- package/es/ErrorBoundary/index.js +0 -1
- package/es/Footer/index.js +0 -172
- package/es/Header/auto-hidden.js +0 -35
- package/es/Header/header.js +0 -223
- package/es/Header/index.js +0 -2
- package/es/Header/responsive-header.js +0 -146
- package/es/Icon/image.js +0 -65
- package/es/Icon/index.js +0 -84
- package/es/Img/index.js +0 -218
- package/es/InfoRow/index.js +0 -87
- package/es/Layout/dashboard/external-link.js +0 -58
- package/es/Layout/dashboard/full-page.js +0 -53
- package/es/Layout/dashboard/index.js +0 -282
- package/es/Layout/dashboard/sidebar.js +0 -209
- package/es/Layout/dashboard-legacy/header.js +0 -174
- package/es/Layout/dashboard-legacy/index.js +0 -148
- package/es/Layout/dashboard-legacy/sidebar.js +0 -129
- package/es/Layout/index.js +0 -335
- package/es/LoadingMask/index.js +0 -102
- package/es/Locale/browser-lang.js +0 -52
- package/es/Locale/context.js +0 -139
- package/es/Locale/languages.js +0 -60
- package/es/Locale/selector.js +0 -186
- package/es/Locale/util.js +0 -21
- package/es/Logo/images/logo-dark-text.svg +0 -3
- package/es/Logo/images/logo-dark-top.svg +0 -6
- package/es/Logo/images/logo-light-text.svg +0 -3
- package/es/Logo/images/logo-light-top.svg +0 -6
- package/es/Logo/index.js +0 -136
- package/es/Metric/index.js +0 -132
- package/es/NFTDisplay/NFTBroken.svg +0 -34
- package/es/NFTDisplay/README.md +0 -59
- package/es/NFTDisplay/aspect-ratio-container.js +0 -39
- package/es/NFTDisplay/broken.js +0 -132
- package/es/NFTDisplay/demo/data/asset-state-display-url.json +0 -7
- package/es/NFTDisplay/demo/data/asset-state-gzipped-svg-1-1.json +0 -10
- package/es/NFTDisplay/demo/data/asset-state-gzipped-svg-374-130.json +0 -10
- package/es/NFTDisplay/demo/data/asset-state-gzipped-svg-with-foreign-object.json +0 -20
- package/es/NFTDisplay/demo/data/asset-state-svg.json +0 -29
- package/es/NFTDisplay/demo/data/asset-state-url.json +0 -10
- package/es/NFTDisplay/index.js +0 -328
- package/es/NFTDisplay/loading.js +0 -18
- package/es/NFTDisplay/svg-embedder/img.js +0 -45
- package/es/NFTDisplay/svg-embedder/inline-svg.js +0 -39
- package/es/NavMenu/index.js +0 -2
- package/es/NavMenu/nav-menu.js +0 -358
- package/es/NavMenu/style.js +0 -181
- package/es/PageScroller/index.js +0 -286
- package/es/PageScroller/story/FifthComponent.js +0 -9
- package/es/PageScroller/story/FirstComponent.js +0 -9
- package/es/PageScroller/story/FourthComponent.js +0 -12
- package/es/PageScroller/story/FullPage.js +0 -47
- package/es/PageScroller/story/PageContain.js +0 -59
- package/es/PageScroller/story/SecondComponent.js +0 -9
- package/es/PageScroller/story/ThirdComponent.js +0 -9
- package/es/PageScroller/story/index.css +0 -115
- package/es/PageScroller/usePrevValue.js +0 -9
- package/es/Passport/index.js +0 -2
- package/es/Passport/passport.js +0 -103
- package/es/PoweredByArcBlock/index.js +0 -31
- package/es/PricingTable/PricingPlan.js +0 -124
- package/es/PricingTable/index.js +0 -53
- package/es/QRCode/index.js +0 -73
- package/es/RelativeTime/index.js +0 -107
- package/es/Result/common.js +0 -140
- package/es/Result/demo/fixtures/result-image-404.svg +0 -1
- package/es/Result/index.js +0 -33
- package/es/Result/result.js +0 -59
- package/es/Result/translations.js +0 -54
- package/es/Screenshot/BaseScreenshot/index.js +0 -91
- package/es/Screenshot/BaseScreenshot/shells/Macbook.js +0 -51
- package/es/Screenshot/BaseScreenshot/shells/Phone.js +0 -36
- package/es/Screenshot/demo/images/bg-00.jpg +0 -0
- package/es/Screenshot/demo/images/bg-01.jpg +0 -0
- package/es/Screenshot/demo/images/bg-02.jpg +0 -0
- package/es/Screenshot/demo/images/bg-03.jpg +0 -0
- package/es/Screenshot/demo/images/bg-04.jpg +0 -0
- package/es/Screenshot/demo/images/bg-05.jpg +0 -0
- package/es/Screenshot/demo/images/bg-06.jpg +0 -0
- package/es/Screenshot/demo/images/bg-07.jpg +0 -0
- package/es/Screenshot/demo/images/bg-08.jpg +0 -0
- package/es/Screenshot/demo/images/bg-09.jpg +0 -0
- package/es/Screenshot/devices.css +0 -1366
- package/es/Screenshot/index.js +0 -299
- package/es/SessionBlocklet/index.js +0 -173
- package/es/SessionManager/index.js +0 -2
- package/es/SessionPermission/index.js +0 -28
- package/es/SessionUser/components/logged-in.js +0 -229
- package/es/SessionUser/components/session-user-item.js +0 -102
- package/es/SessionUser/components/session-user-switch.js +0 -223
- package/es/SessionUser/components/un-login.js +0 -64
- package/es/SessionUser/components/user-info.js +0 -167
- package/es/SessionUser/index.js +0 -49
- package/es/SessionUser/libs/translation.js +0 -19
- package/es/SessionUser/libs/utils.js +0 -29
- package/es/Sparkline/index.js +0 -193
- package/es/Spinner/index.js +0 -28
- package/es/SplitButton/index.js +0 -145
- package/es/Success/index.js +0 -175
- package/es/Switch/index.js +0 -96
- package/es/Tabs/index.js +0 -214
- package/es/Tag/index.js +0 -108
- package/es/TextCollapse/index.js +0 -92
- package/es/Theme/index.js +0 -16
- package/es/Theme/theme-provider.js +0 -39
- package/es/Theme/theme.js +0 -145
- package/es/Toast/index.js +0 -97
- package/es/Typography/index.js +0 -95
- package/es/Util/constant.js +0 -42
- package/es/Util/deprecate.js +0 -28
- package/es/Util/federated.js +0 -91
- package/es/Util/index.js +0 -363
- package/es/Util/passport.js +0 -62
- package/es/Util/wallet.js +0 -32
- package/es/Video/index.js +0 -89
- package/es/Wallet/Action.js +0 -119
- package/es/Wallet/Download.js +0 -331
- package/es/Wallet/Open.js +0 -45
- package/es/Wallet/images/abtwallet.png +0 -0
- package/es/Wallet/images/android_download.svg +0 -23
- package/es/Wallet/images/app-store.svg +0 -20
- package/es/Wallet/images/google-play.svg +0 -70
- package/es/WalletOSIcon/index.js +0 -82
- package/es/WebWalletSWKeeper/index.js +0 -117
- package/es/WechatPrompt/images/android.png +0 -0
- package/es/WechatPrompt/images/ios.png +0 -0
- package/es/WechatPrompt/index.js +0 -88
- package/es/index.js +0 -38
- package/es/withTheme/index.js +0 -69
- package/es/withTracker/README.md +0 -34
- package/es/withTracker/error_boundary.js +0 -34
- package/es/withTracker/index.js +0 -55
package/lib/SplitButton/index.js
CHANGED
@@ -1,24 +1,16 @@
|
|
1
|
-
|
1
|
+
import { useState, useRef, isValidElement } from 'react';
|
2
|
+
import PropTypes from 'prop-types';
|
3
|
+
import ExpandMore from '@mui/icons-material/ExpandMore';
|
4
|
+
import Popper from '@mui/material/Popper';
|
5
|
+
import Paper from '@mui/material/Paper';
|
6
|
+
import ClickAwayListener from '@mui/material/ClickAwayListener';
|
7
|
+
import MenuList from '@mui/material/MenuList';
|
8
|
+
import MenuItem from '@mui/material/MenuItem';
|
9
|
+
import ButtonGroup from '@mui/material/ButtonGroup';
|
10
|
+
import Button from '@mui/material/Button';
|
11
|
+
import noop from 'lodash/noop';
|
12
|
+
import { styled } from '../Theme';
|
2
13
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = SplitButton;
|
7
|
-
var _react = require("react");
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
9
|
-
var _ExpandMore = _interopRequireDefault(require("@mui/icons-material/ExpandMore"));
|
10
|
-
var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
|
11
|
-
var _Paper = _interopRequireDefault(require("@mui/material/Paper"));
|
12
|
-
var _ClickAwayListener = _interopRequireDefault(require("@mui/material/ClickAwayListener"));
|
13
|
-
var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
|
14
|
-
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
15
|
-
var _ButtonGroup = _interopRequireDefault(require("@mui/material/ButtonGroup"));
|
16
|
-
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
17
|
-
var _noop = _interopRequireDefault(require("lodash/noop"));
|
18
|
-
var _Theme = require("../Theme");
|
19
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
20
|
-
var _templateObject, _templateObject2;
|
21
|
-
const _excluded = ["size", "color", "menu", "children", "variant", "onClick", "menuButtonProps"];
|
22
14
|
/**
|
23
15
|
* SplitButton 组件 Props
|
24
16
|
* @typedef {{
|
@@ -31,37 +23,34 @@ const _excluded = ["size", "color", "menu", "children", "variant", "onClick", "m
|
|
31
23
|
* menuButtonProps?: import('@mui/material').ButtonProps;
|
32
24
|
* } & import('@mui/material').ButtonGroupProps } SplitButtonProps
|
33
25
|
*/
|
26
|
+
|
34
27
|
/**
|
35
28
|
* @description SplitButton allows the user to execute a default action which is bound to a Button or to choose a predefined action from a drop-down list.
|
36
29
|
* @export
|
37
30
|
* @param {SplitButtonProps} props
|
38
31
|
* @return {JSX.Element}
|
39
32
|
*/
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
46
|
-
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); }
|
47
|
-
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; }
|
48
|
-
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; }
|
49
|
-
function SplitButton(props) {
|
33
|
+
import { createElement as _createElement } from "react";
|
34
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
35
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
36
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
37
|
+
export default function SplitButton(props) {
|
50
38
|
const {
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
const [open, setOpen] =
|
61
|
-
const anchorRef =
|
62
|
-
const menuItems = Array.isArray(menu) ? menu.map((item, index) => /*#__PURE__*/
|
39
|
+
size,
|
40
|
+
color,
|
41
|
+
menu,
|
42
|
+
children,
|
43
|
+
variant,
|
44
|
+
onClick,
|
45
|
+
menuButtonProps,
|
46
|
+
...rest
|
47
|
+
} = props;
|
48
|
+
const [open, setOpen] = useState(false);
|
49
|
+
const anchorRef = useRef(null);
|
50
|
+
const menuItems = Array.isArray(menu) ? menu.map((item, index) => /*#__PURE__*/isValidElement(item) ? item : /*#__PURE__*/_createElement(MenuItem, {
|
51
|
+
...item,
|
63
52
|
key: index
|
64
|
-
}))
|
53
|
+
})) // eslint-disable-line react/no-array-index-key
|
65
54
|
: menu;
|
66
55
|
const onToggle = () => {
|
67
56
|
setOpen(prevOpen => !prevOpen);
|
@@ -79,33 +68,33 @@ function SplitButton(props) {
|
|
79
68
|
setOpen(false);
|
80
69
|
}
|
81
70
|
};
|
82
|
-
return /*#__PURE__*/(
|
83
|
-
children: [/*#__PURE__*/(
|
71
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
72
|
+
children: [/*#__PURE__*/_jsxs(StyledButtonGroup, {
|
84
73
|
variant: variant,
|
85
74
|
size: size,
|
86
75
|
color: color,
|
87
|
-
ref: anchorRef
|
88
|
-
|
89
|
-
children: [typeof children === 'function' ? children() : /*#__PURE__*/(
|
76
|
+
ref: anchorRef,
|
77
|
+
...rest,
|
78
|
+
children: [typeof children === 'function' ? children() : /*#__PURE__*/_jsx(Button, {
|
90
79
|
onClick: onClick,
|
91
80
|
color: color,
|
92
81
|
children: children
|
93
|
-
}), /*#__PURE__*/(
|
82
|
+
}), /*#__PURE__*/_jsx(Button, {
|
94
83
|
onClick: onToggle,
|
95
|
-
color: color
|
96
|
-
|
84
|
+
color: color,
|
85
|
+
...menuButtonProps,
|
97
86
|
"aria-label": "more functions",
|
98
|
-
children: /*#__PURE__*/(
|
99
|
-
})
|
100
|
-
})
|
87
|
+
children: /*#__PURE__*/_jsx(ExpandMore, {})
|
88
|
+
})]
|
89
|
+
}), /*#__PURE__*/_jsx(StyledPopper, {
|
101
90
|
open: open,
|
102
91
|
anchorEl: anchorRef.current,
|
103
92
|
placement: "bottom-end",
|
104
93
|
disablePortal: false,
|
105
|
-
children: /*#__PURE__*/(
|
106
|
-
children: /*#__PURE__*/(
|
94
|
+
children: /*#__PURE__*/_jsx(Paper, {
|
95
|
+
children: /*#__PURE__*/_jsx(ClickAwayListener, {
|
107
96
|
onClickAway: handleClose,
|
108
|
-
children: /*#__PURE__*/(
|
97
|
+
children: /*#__PURE__*/_jsx(MenuList, {
|
109
98
|
onClick: handleItemClick,
|
110
99
|
children: menuItems
|
111
100
|
})
|
@@ -115,14 +104,14 @@ function SplitButton(props) {
|
|
115
104
|
});
|
116
105
|
}
|
117
106
|
SplitButton.propTypes = {
|
118
|
-
size:
|
119
|
-
color:
|
120
|
-
menu:
|
107
|
+
size: PropTypes.oneOf(['small', 'medium', 'large']),
|
108
|
+
color: PropTypes.oneOf(['primary', 'secondary', 'inherit']),
|
109
|
+
menu: PropTypes.oneOfType([PropTypes.node, PropTypes.array]),
|
121
110
|
// 也可以是用于渲染主按钮的 function
|
122
|
-
children:
|
123
|
-
variant:
|
124
|
-
onClick:
|
125
|
-
menuButtonProps:
|
111
|
+
children: PropTypes.node,
|
112
|
+
variant: PropTypes.oneOf(['outlined', 'contained']),
|
113
|
+
onClick: PropTypes.func,
|
114
|
+
menuButtonProps: PropTypes.object
|
126
115
|
};
|
127
116
|
SplitButton.defaultProps = {
|
128
117
|
size: 'medium',
|
@@ -130,12 +119,27 @@ SplitButton.defaultProps = {
|
|
130
119
|
menu: [],
|
131
120
|
children: null,
|
132
121
|
variant: 'contained',
|
133
|
-
onClick:
|
122
|
+
onClick: noop,
|
134
123
|
menuButtonProps: {}
|
135
124
|
};
|
136
125
|
/**
|
137
126
|
* @type {import('@mui/material').MenuItem}
|
138
127
|
*/
|
139
|
-
SplitButton.Item =
|
140
|
-
const StyledButtonGroup =
|
141
|
-
|
128
|
+
SplitButton.Item = MenuItem;
|
129
|
+
const StyledButtonGroup = styled(ButtonGroup)`
|
130
|
+
> .MuiButtonBase-root:last-of-type {
|
131
|
+
min-width: 2em;
|
132
|
+
padding-left: 0;
|
133
|
+
padding-right: 0;
|
134
|
+
}
|
135
|
+
`;
|
136
|
+
const StyledPopper = styled(Popper)`
|
137
|
+
z-index: ${props => props.theme.zIndex.tooltip};
|
138
|
+
.MuiList-root {
|
139
|
+
padding: 4px 0;
|
140
|
+
}
|
141
|
+
.MuiListItem-root {
|
142
|
+
padding-top: 4px;
|
143
|
+
padding-bottom: 4px;
|
144
|
+
}
|
145
|
+
`;
|
package/lib/Success/index.js
CHANGED
@@ -1,22 +1,16 @@
|
|
1
|
-
|
1
|
+
import PropTypes from 'prop-types';
|
2
|
+
import { Box } from '@mui/material';
|
2
3
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = Success;
|
7
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
8
|
-
var _material = require("@mui/material");
|
9
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
4
|
// FIXME: @zhanghan 目前无法适配各种 size,后续优化
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
6
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
7
|
+
export default function Success({
|
8
|
+
size,
|
9
|
+
backgroundColor,
|
10
|
+
borderWidth
|
11
|
+
}) {
|
18
12
|
const contentSize = size - borderWidth * 2;
|
19
|
-
return /*#__PURE__*/(
|
13
|
+
return /*#__PURE__*/_jsxs(Box, {
|
20
14
|
className: "check-icon",
|
21
15
|
sx: {
|
22
16
|
width: contentSize,
|
@@ -26,7 +20,7 @@ function Success(_ref) {
|
|
26
20
|
'&, *, *::before, *::after': {
|
27
21
|
boxSizing: 'content-box !important'
|
28
22
|
},
|
29
|
-
border: theme =>
|
23
|
+
border: theme => `${borderWidth}px solid ${theme.palette.success.main}`,
|
30
24
|
'&::before, &::after': {
|
31
25
|
content: '""',
|
32
26
|
height: '125%',
|
@@ -35,22 +29,22 @@ function Success(_ref) {
|
|
35
29
|
transform: 'rotate(-45deg)'
|
36
30
|
},
|
37
31
|
'&::before': {
|
38
|
-
top:
|
39
|
-
left:
|
40
|
-
width:
|
32
|
+
top: `${borderWidth / 2 + 1}px`,
|
33
|
+
left: `-${borderWidth / 2}px`,
|
34
|
+
width: `calc(32.5% + ${borderWidth}px)`,
|
41
35
|
transformOrigin: '100% 50%',
|
42
36
|
borderRadius: '100% 0 0 100%'
|
43
37
|
},
|
44
38
|
'&::after': {
|
45
39
|
top: 0,
|
46
40
|
left: '37.5%',
|
47
|
-
width:
|
41
|
+
width: `calc(70% + ${borderWidth}px)`,
|
48
42
|
transformOrigin: '0 50%',
|
49
43
|
borderRadius: '0 100% 100% 0',
|
50
44
|
animation: 'rotate-circle 4.25s ease-in'
|
51
45
|
},
|
52
46
|
'.icon-line': {
|
53
|
-
height:
|
47
|
+
height: `${borderWidth + 1}px`,
|
54
48
|
backgroundColor: theme => theme.palette.success.main,
|
55
49
|
display: 'block',
|
56
50
|
borderRadius: '100vw',
|
@@ -72,7 +66,7 @@ function Success(_ref) {
|
|
72
66
|
}
|
73
67
|
}
|
74
68
|
},
|
75
|
-
children: [/*#__PURE__*/(
|
69
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
76
70
|
component: "span",
|
77
71
|
className: "icon-line line-tip",
|
78
72
|
sx: {
|
@@ -109,7 +103,7 @@ function Success(_ref) {
|
|
109
103
|
}
|
110
104
|
}
|
111
105
|
}
|
112
|
-
}), /*#__PURE__*/(
|
106
|
+
}), /*#__PURE__*/_jsx(Box, {
|
113
107
|
component: "span",
|
114
108
|
className: "icon-line line-long",
|
115
109
|
sx: {
|
@@ -141,25 +135,25 @@ function Success(_ref) {
|
|
141
135
|
}
|
142
136
|
}
|
143
137
|
}
|
144
|
-
}), /*#__PURE__*/(
|
138
|
+
}), /*#__PURE__*/_jsx(Box, {
|
145
139
|
className: "icon-circle",
|
146
140
|
sx: {
|
147
|
-
top:
|
148
|
-
left:
|
141
|
+
top: `-${borderWidth}px`,
|
142
|
+
left: `-${borderWidth}px`,
|
149
143
|
zIndex: 10,
|
150
144
|
width: contentSize,
|
151
145
|
height: contentSize,
|
152
146
|
borderRadius: '100%',
|
153
147
|
position: 'absolute',
|
154
148
|
boxSizing: 'contentBox',
|
155
|
-
border:
|
149
|
+
border: `${borderWidth}px solid rgba(76, 175, 80, 0.5)`
|
156
150
|
}
|
157
|
-
}), /*#__PURE__*/(
|
151
|
+
}), /*#__PURE__*/_jsx(Box, {
|
158
152
|
className: "icon-fix",
|
159
153
|
sx: {
|
160
|
-
top:
|
154
|
+
top: `calc(8% - ${Math.sqrt(borderWidth)}px)`,
|
161
155
|
width: borderWidth + 1,
|
162
|
-
left:
|
156
|
+
left: `calc(32% - ${Math.sqrt(borderWidth)}px)`,
|
163
157
|
zIndex: 1,
|
164
158
|
height: contentSize + borderWidth * 2,
|
165
159
|
position: 'absolute',
|
@@ -170,9 +164,9 @@ function Success(_ref) {
|
|
170
164
|
});
|
171
165
|
}
|
172
166
|
Success.propTypes = {
|
173
|
-
size:
|
174
|
-
borderWidth:
|
175
|
-
backgroundColor:
|
167
|
+
size: PropTypes.number,
|
168
|
+
borderWidth: PropTypes.number,
|
169
|
+
backgroundColor: PropTypes.string
|
176
170
|
};
|
177
171
|
Success.defaultProps = {
|
178
172
|
size: 64,
|
package/lib/Switch/index.js
CHANGED
@@ -1,76 +1,61 @@
|
|
1
|
-
|
1
|
+
import PropTypes from 'prop-types';
|
2
|
+
import FormControlLabel from '@mui/material/FormControlLabel';
|
3
|
+
import MuiSwitch from '@mui/material/Switch';
|
4
|
+
import { styled } from '../Theme';
|
2
5
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
exports.default = void 0;
|
7
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
8
|
-
var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
|
9
|
-
var _Switch = _interopRequireDefault(require("@mui/material/Switch"));
|
10
|
-
var _Theme = require("../Theme");
|
11
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
12
|
-
const _excluded = ["labelProps"];
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14
|
-
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; }
|
15
|
-
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; }
|
16
|
-
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; }
|
17
|
-
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; }
|
18
|
-
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; }
|
19
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
20
|
-
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); } // 参考: https://mui.com/material-ui/react-switch/#customization
|
21
|
-
const IOSSwitch = (0, _Theme.styled)(props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Switch.default, _objectSpread({
|
6
|
+
// 参考: https://mui.com/material-ui/react-switch/#customization
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
8
|
+
const IOSSwitch = styled(props => /*#__PURE__*/_jsx(MuiSwitch, {
|
22
9
|
focusVisibleClassName: ".Mui-focusVisible",
|
23
|
-
disableRipple: true
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
10
|
+
disableRipple: true,
|
11
|
+
...props
|
12
|
+
}))(({
|
13
|
+
theme
|
14
|
+
}) => ({
|
15
|
+
width: 42,
|
16
|
+
height: 26,
|
17
|
+
padding: 0,
|
18
|
+
'& .MuiSwitch-switchBase': {
|
31
19
|
padding: 0,
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
'
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
opacity: 1,
|
42
|
-
border: 0
|
43
|
-
},
|
44
|
-
'&.Mui-disabled + .MuiSwitch-track': {
|
45
|
-
opacity: 0.5
|
46
|
-
}
|
47
|
-
},
|
48
|
-
'&.Mui-focusVisible .MuiSwitch-thumb': {
|
49
|
-
color: '#33cf4d',
|
50
|
-
border: '6px solid #fff'
|
51
|
-
},
|
52
|
-
'&.Mui-disabled .MuiSwitch-thumb': {
|
53
|
-
color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]
|
20
|
+
margin: 2,
|
21
|
+
transitionDuration: '300ms',
|
22
|
+
'&.Mui-checked': {
|
23
|
+
transform: 'translateX(16px)',
|
24
|
+
color: '#fff',
|
25
|
+
'& + .MuiSwitch-track': {
|
26
|
+
backgroundColor: theme.palette.mode === 'dark' ? '#2ECA45' : '#65C466',
|
27
|
+
opacity: 1,
|
28
|
+
border: 0
|
54
29
|
},
|
55
30
|
'&.Mui-disabled + .MuiSwitch-track': {
|
56
|
-
opacity:
|
31
|
+
opacity: 0.5
|
57
32
|
}
|
58
33
|
},
|
59
|
-
'
|
60
|
-
|
61
|
-
|
62
|
-
height: 22
|
34
|
+
'&.Mui-focusVisible .MuiSwitch-thumb': {
|
35
|
+
color: '#33cf4d',
|
36
|
+
border: '6px solid #fff'
|
63
37
|
},
|
64
|
-
'
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
duration: 500
|
70
|
-
})
|
38
|
+
'&.Mui-disabled .MuiSwitch-thumb': {
|
39
|
+
color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]
|
40
|
+
},
|
41
|
+
'&.Mui-disabled + .MuiSwitch-track': {
|
42
|
+
opacity: theme.palette.mode === 'light' ? 0.7 : 0.3
|
71
43
|
}
|
72
|
-
}
|
73
|
-
|
44
|
+
},
|
45
|
+
'& .MuiSwitch-thumb': {
|
46
|
+
boxSizing: 'border-box',
|
47
|
+
width: 22,
|
48
|
+
height: 22
|
49
|
+
},
|
50
|
+
'& .MuiSwitch-track': {
|
51
|
+
borderRadius: 26 / 2,
|
52
|
+
backgroundColor: theme.palette.mode === 'light' ? '#E9E9EA' : '#39393D',
|
53
|
+
opacity: 1,
|
54
|
+
transition: theme.transitions.create(['background-color'], {
|
55
|
+
duration: 500
|
56
|
+
})
|
57
|
+
}
|
58
|
+
}));
|
74
59
|
|
75
60
|
/**
|
76
61
|
* Switch 组件 Props
|
@@ -86,22 +71,26 @@ const IOSSwitch = (0, _Theme.styled)(props => /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
86
71
|
* @param {SwitchProps} props
|
87
72
|
* @returns {JSX.Element}
|
88
73
|
*/
|
89
|
-
function Switch(
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
rest = _objectWithoutProperties(_ref2, _excluded);
|
74
|
+
function Switch({
|
75
|
+
labelProps,
|
76
|
+
...rest
|
77
|
+
}) {
|
94
78
|
if (labelProps) {
|
95
|
-
return /*#__PURE__*/(
|
96
|
-
control: /*#__PURE__*/(
|
97
|
-
|
79
|
+
return /*#__PURE__*/_jsx(FormControlLabel, {
|
80
|
+
control: /*#__PURE__*/_jsx(IOSSwitch, {
|
81
|
+
...rest
|
82
|
+
}),
|
83
|
+
...labelProps
|
84
|
+
});
|
98
85
|
}
|
99
|
-
return /*#__PURE__*/(
|
86
|
+
return /*#__PURE__*/_jsx(IOSSwitch, {
|
87
|
+
...rest
|
88
|
+
});
|
100
89
|
}
|
101
90
|
Switch.propTypes = {
|
102
|
-
labelProps:
|
91
|
+
labelProps: PropTypes.object
|
103
92
|
};
|
104
93
|
Switch.defaultProps = {
|
105
94
|
labelProps: null
|
106
95
|
};
|
107
|
-
|
96
|
+
export default Switch;
|