@canlooks/can-ui 0.0.67 → 0.0.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.
- package/dist/cjs/components/accordion/accordion.js +2 -2
- package/dist/cjs/components/alert/alert.js +4 -3
- package/dist/cjs/components/anchorList/anchorList.js +26 -20
- package/dist/cjs/components/boundary/errorBoundary.js +2 -2
- package/dist/cjs/components/bubbleConfirm/bubbleConfirm.js +2 -2
- package/dist/cjs/components/calendar/panelYear.js +2 -2
- package/dist/cjs/components/cascade/cascade.js +5 -5
- package/dist/cjs/components/cascade/cascadePanel.js +2 -2
- package/dist/cjs/components/checkboxBase/checkboxBase.js +2 -2
- package/dist/cjs/components/counter/counter.js +3 -3
- package/dist/cjs/components/curd/curd.js +5 -5
- package/dist/cjs/components/curd/curd.style.js +5 -0
- package/dist/cjs/components/curd/curdColumnConfig.js +4 -3
- package/dist/cjs/components/curd/curdDialog.js +2 -2
- package/dist/cjs/components/curd/curdFilter.js +3 -3
- package/dist/cjs/components/curd/curdResizable.js +2 -2
- package/dist/cjs/components/dataGrid/dataGrid.js +3 -2
- package/dist/cjs/components/dataGrid/dataGridHead.js +2 -2
- package/dist/cjs/components/dataGrid/dataGridRows.js +3 -3
- package/dist/cjs/components/dateTimePicker/dateTimePicker.js +3 -3
- package/dist/cjs/components/dialog/dialog.js +2 -2
- package/dist/cjs/components/drawer/drawer.js +2 -2
- package/dist/cjs/components/gallery/gallery.js +7 -7
- package/dist/cjs/components/image/image.d.ts +1 -1
- package/dist/cjs/components/image/image.js +5 -4
- package/dist/cjs/components/inputBase/inputBase.js +2 -2
- package/dist/cjs/components/menu/menu.js +2 -2
- package/dist/cjs/components/menuItem/menuItem.js +2 -2
- package/dist/cjs/components/overlayBase/overlayBase.d.ts +3 -1
- package/dist/cjs/components/overlayBase/overlayBase.js +5 -5
- package/dist/cjs/components/pagination/pager.js +3 -3
- package/dist/cjs/components/palette/palette.js +2 -2
- package/dist/cjs/components/pickerDialog/pickerDialog.js +2 -2
- package/dist/cjs/components/pinchable/pinchable.js +7 -0
- package/dist/cjs/components/popper/popper.d.ts +3 -1
- package/dist/cjs/components/popper/popper.js +6 -6
- package/dist/cjs/components/progress/progress.js +7 -5
- package/dist/cjs/components/rating/rating.js +2 -2
- package/dist/cjs/components/select/select.js +3 -3
- package/dist/cjs/components/snackbarBase/snackbarBase.d.ts +3 -2
- package/dist/cjs/components/snackbarBase/snackbarBase.js +6 -6
- package/dist/cjs/components/stepper/step.js +5 -5
- package/dist/cjs/components/tabs/tabsEllipsis.js +2 -2
- package/dist/cjs/components/tag/tag.js +2 -2
- package/dist/cjs/components/theme/themeVariables.d.ts +1 -0
- package/dist/cjs/components/theme/themeVariables.js +1 -0
- package/dist/cjs/components/touchRipple/index.d.ts +1 -0
- package/dist/cjs/components/touchRipple/index.js +1 -0
- package/dist/cjs/components/touchRipple/touchRipple.d.ts +6 -14
- package/dist/cjs/components/touchRipple/touchRipple.js +54 -39
- package/dist/cjs/components/touchRipple/touchRipple.style.js +25 -27
- package/dist/cjs/components/transfer/transfer.js +5 -5
- package/dist/cjs/components/transfer/transferPanel.js +2 -1
- package/dist/cjs/components/tree/tree.js +2 -2
- package/dist/cjs/components/tree/treeNode.js +2 -2
- package/dist/cjs/components/treeSelect/treeSelect.js +2 -2
- package/dist/cjs/components/typography/typography.js +4 -4
- package/dist/cjs/components/upload/dropArea.js +2 -2
- package/dist/cjs/components/upload/fileItem.js +5 -5
- package/dist/cjs/components/upload/imageItem.js +3 -3
- package/dist/cjs/components/upload/upload.js +5 -5
- package/dist/cjs/components/waterfall/waterfallItem.js +1 -1
- package/dist/cjs/extensions/documentViewer/documentViewer.js +4 -3
- package/dist/cjs/extensions/documentViewer/documentViewer.style.js +2 -1
- package/dist/cjs/extensions/documentViewer/svgViewer.d.ts +2 -2
- package/dist/cjs/extensions/documentViewer/svgViewer.js +13 -9
- package/dist/cjs/utils/hooks.d.ts +8 -0
- package/dist/cjs/utils/hooks.js +22 -0
- package/dist/esm/components/accordion/accordion.js +1 -1
- package/dist/esm/components/alert/alert.js +2 -1
- package/dist/esm/components/anchorList/anchorList.js +26 -20
- package/dist/esm/components/boundary/errorBoundary.js +1 -1
- package/dist/esm/components/bubbleConfirm/bubbleConfirm.js +1 -1
- package/dist/esm/components/calendar/panelYear.js +1 -1
- package/dist/esm/components/cascade/cascade.js +3 -3
- package/dist/esm/components/cascade/cascadePanel.js +1 -1
- package/dist/esm/components/checkboxBase/checkboxBase.js +1 -1
- package/dist/esm/components/counter/counter.js +1 -1
- package/dist/esm/components/curd/curd.js +1 -1
- package/dist/esm/components/curd/curd.style.js +5 -0
- package/dist/esm/components/curd/curdColumnConfig.js +3 -2
- package/dist/esm/components/curd/curdDialog.js +1 -1
- package/dist/esm/components/curd/curdFilter.js +1 -1
- package/dist/esm/components/curd/curdResizable.js +1 -1
- package/dist/esm/components/dataGrid/dataGrid.js +3 -2
- package/dist/esm/components/dataGrid/dataGridHead.js +1 -1
- package/dist/esm/components/dataGrid/dataGridRows.js +1 -1
- package/dist/esm/components/dateTimePicker/dateTimePicker.js +1 -1
- package/dist/esm/components/dialog/dialog.js +1 -1
- package/dist/esm/components/drawer/drawer.js +1 -1
- package/dist/esm/components/gallery/gallery.js +3 -3
- package/dist/esm/components/image/image.d.ts +1 -1
- package/dist/esm/components/image/image.js +3 -2
- package/dist/esm/components/inputBase/inputBase.js +1 -1
- package/dist/esm/components/menu/menu.js +2 -2
- package/dist/esm/components/menuItem/menuItem.js +1 -1
- package/dist/esm/components/overlayBase/overlayBase.d.ts +3 -1
- package/dist/esm/components/overlayBase/overlayBase.js +6 -6
- package/dist/esm/components/pagination/pager.js +1 -1
- package/dist/esm/components/palette/palette.js +1 -1
- package/dist/esm/components/pickerDialog/pickerDialog.js +1 -1
- package/dist/esm/components/pinchable/pinchable.js +7 -0
- package/dist/esm/components/popper/popper.d.ts +3 -1
- package/dist/esm/components/popper/popper.js +7 -7
- package/dist/esm/components/progress/progress.js +5 -3
- package/dist/esm/components/rating/rating.js +1 -1
- package/dist/esm/components/select/select.js +1 -1
- package/dist/esm/components/snackbarBase/snackbarBase.d.ts +3 -2
- package/dist/esm/components/snackbarBase/snackbarBase.js +5 -5
- package/dist/esm/components/stepper/step.js +1 -1
- package/dist/esm/components/tabs/tabsEllipsis.js +1 -1
- package/dist/esm/components/tag/tag.js +1 -1
- package/dist/esm/components/theme/themeVariables.d.ts +1 -0
- package/dist/esm/components/theme/themeVariables.js +1 -0
- package/dist/esm/components/touchRipple/index.d.ts +1 -0
- package/dist/esm/components/touchRipple/index.js +1 -0
- package/dist/esm/components/touchRipple/touchRipple.d.ts +6 -14
- package/dist/esm/components/touchRipple/touchRipple.js +54 -39
- package/dist/esm/components/touchRipple/touchRipple.style.js +25 -27
- package/dist/esm/components/transfer/transfer.js +3 -3
- package/dist/esm/components/transfer/transferPanel.js +2 -1
- package/dist/esm/components/tree/tree.js +1 -1
- package/dist/esm/components/tree/treeNode.js +1 -1
- package/dist/esm/components/treeSelect/treeSelect.js +1 -1
- package/dist/esm/components/typography/typography.js +1 -1
- package/dist/esm/components/upload/dropArea.js +1 -1
- package/dist/esm/components/upload/fileItem.js +1 -1
- package/dist/esm/components/upload/imageItem.js +1 -1
- package/dist/esm/components/upload/upload.js +3 -3
- package/dist/esm/components/waterfall/waterfallItem.js +2 -2
- package/dist/esm/extensions/documentViewer/documentViewer.js +2 -1
- package/dist/esm/extensions/documentViewer/documentViewer.style.js +2 -1
- package/dist/esm/extensions/documentViewer/svgViewer.d.ts +2 -2
- package/dist/esm/extensions/documentViewer/svgViewer.js +12 -8
- package/dist/esm/utils/hooks.d.ts +8 -0
- package/dist/esm/utils/hooks.js +21 -0
- package/documentation/dist/assets/{index-GiFWv3kZ.js → index-DvrKS6Tv.js} +2978 -2957
- package/documentation/dist/index.html +1 -1
- package/package.json +1 -2
|
@@ -8,7 +8,7 @@ const utils_1 = require("../../utils");
|
|
|
8
8
|
const gallery_style_1 = require("./gallery.style");
|
|
9
9
|
const button_1 = require("../button");
|
|
10
10
|
const tooltip_1 = require("../tooltip");
|
|
11
|
-
const
|
|
11
|
+
const icon_1 = require("../icon");
|
|
12
12
|
const faXmark_1 = require("@fortawesome/free-solid-svg-icons/faXmark");
|
|
13
13
|
const faExpand_1 = require("@fortawesome/free-solid-svg-icons/faExpand");
|
|
14
14
|
const faAngleLeft_1 = require("@fortawesome/free-solid-svg-icons/faAngleLeft");
|
|
@@ -25,8 +25,8 @@ const commonControlProps = {
|
|
|
25
25
|
color: 'text'
|
|
26
26
|
};
|
|
27
27
|
const bounceBezier = (0, utils_1.cubicBezier)(0, 0, 0, 1);
|
|
28
|
-
exports.Gallery = (0, react_1.memo)(({ src
|
|
29
|
-
const srcArr = (0, utils_1.useSync)((0, utils_1.toArray)(src));
|
|
28
|
+
exports.Gallery = (0, react_1.memo)(({ src, defaultIndex = 0, index, onIndexChange, defaultOpen = false, open, onOpenChange, showRotation = true, showZoom = true, showClose = true, renderControl, bounceElementTranslate = 24, bounceDragDistance = 240, effectiveSpeed = 450, ...props }) => {
|
|
29
|
+
const srcArr = (0, utils_1.useSync)((0, utils_1.toArray)(src || []));
|
|
30
30
|
const [innerOpen, setInnerOpen] = (0, utils_1.useControlled)(defaultOpen, open, onOpenChange);
|
|
31
31
|
const close = () => {
|
|
32
32
|
setInnerOpen(false);
|
|
@@ -154,10 +154,10 @@ exports.Gallery = (0, react_1.memo)(({ src = [], defaultIndex = 0, index, onInde
|
|
|
154
154
|
return ((0, jsx_runtime_1.jsx)(modal_1.Modal, { ...props, css: gallery_style_1.style, className: (0, utils_1.clsx)(gallery_style_1.classes.root, props.className), open: innerOpen.current, onClosed: resetAll, maskProps: {
|
|
155
155
|
...props.maskProps,
|
|
156
156
|
children: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: gallery_style_1.classes.control, children: [renderControl, showRotation &&
|
|
157
|
-
(0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { title: "\u65CB\u8F6C-90\u00B0", children: (0, jsx_runtime_1.jsx)(button_1.Button, { ...commonControlProps, onClick: rotateLeft, children: (0, jsx_runtime_1.jsx)(
|
|
158
|
-
(0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { title: "\u7F29\u5C0F", children: (0, jsx_runtime_1.jsx)(button_1.Button, { ...commonControlProps, onClick: zoomOut, children: (0, jsx_runtime_1.jsx)(
|
|
159
|
-
(0, jsx_runtime_1.jsx)(button_1.Button, { ...commonControlProps, onClick: close, children: (0, jsx_runtime_1.jsx)(
|
|
160
|
-
(0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: gallery_style_1.classes.swap, children: [(0, jsx_runtime_1.jsx)(button_1.Button, { ...commonControlProps, onClick: goPrevLoop, children: (0, jsx_runtime_1.jsx)(
|
|
157
|
+
(0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { title: "\u65CB\u8F6C-90\u00B0", children: (0, jsx_runtime_1.jsx)(button_1.Button, { ...commonControlProps, onClick: rotateLeft, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faArrowRotateLeft_1.faArrowRotateLeft }) }) }), (0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { title: "\u65CB\u8F6C90\u00B0", children: (0, jsx_runtime_1.jsx)(button_1.Button, { ...commonControlProps, onClick: rotateRight, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faArrowRotateRight_1.faArrowRotateRight }) }) })] }), showZoom &&
|
|
158
|
+
(0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { title: "\u7F29\u5C0F", children: (0, jsx_runtime_1.jsx)(button_1.Button, { ...commonControlProps, onClick: zoomOut, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faMagnifyingGlassMinus_1.faMagnifyingGlassMinus }) }) }), (0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { title: "\u653E\u5927", children: (0, jsx_runtime_1.jsx)(button_1.Button, { ...commonControlProps, onClick: zoomIn, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faMagnifyingGlassPlus_1.faMagnifyingGlassPlus }) }) }), (0, jsx_runtime_1.jsx)(tooltip_1.Tooltip, { title: "\u9002\u5E94\u5C4F\u5E55", children: (0, jsx_runtime_1.jsx)(button_1.Button, { ...commonControlProps, onClick: reset, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faExpand_1.faExpand }) }) })] }), showClose &&
|
|
159
|
+
(0, jsx_runtime_1.jsx)(button_1.Button, { ...commonControlProps, onClick: close, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faXmark_1.faXmark }) })] }), srcArr.current.length > 1 &&
|
|
160
|
+
(0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: gallery_style_1.classes.swap, children: [(0, jsx_runtime_1.jsx)(button_1.Button, { ...commonControlProps, onClick: goPrevLoop, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faAngleLeft_1.faAngleLeft }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { ...commonControlProps, onClick: goNextLoop, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faAngleRight_1.faAngleRight }) })] }), (0, jsx_runtime_1.jsxs)("div", { className: gallery_style_1.classes.counter, children: [innerIndex.current + 1, " / ", srcArr.current.length] })] })] }))
|
|
161
161
|
}, children: srcArr.current.length > 0 &&
|
|
162
162
|
(0, jsx_runtime_1.jsx)("div", { className: gallery_style_1.classes.galleryContainer, ...draggableHandles, onDoubleClick: doubleClickHandler, children: (0, jsx_runtime_1.jsx)("div", { ref: wrapperRef, className: gallery_style_1.classes.galleryWrapper, style: { left: -innerIndex.current * 100 + '%' }, onTransitionEnd: e => e.currentTarget.dataset.transition = '', children: srcArr.current.map((src, i) => (0, jsx_runtime_1.jsx)(imageItem_1.ImageItem, { ref: r => {
|
|
163
163
|
r && imageItemRefs.current.push(r);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { CSSProperties, ReactNode, JSX, ReactElement } from 'react';
|
|
2
2
|
import { DivProps } from '../../types';
|
|
3
|
-
import { Gallery, ImagePreviewProps } from '../gallery
|
|
3
|
+
import { Gallery, ImagePreviewProps } from '../gallery';
|
|
4
4
|
export interface ImageProps extends DivProps {
|
|
5
5
|
src?: string;
|
|
6
6
|
fallback?: string;
|
|
@@ -5,8 +5,9 @@ const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const image_style_1 = require("./image.style");
|
|
7
7
|
const utils_1 = require("../../utils");
|
|
8
|
-
const gallery_1 = require("../gallery
|
|
9
|
-
const
|
|
8
|
+
const gallery_1 = require("../gallery");
|
|
9
|
+
const icon_1 = require("../icon");
|
|
10
|
+
const skeleton_1 = require("../skeleton");
|
|
10
11
|
const faEye_1 = require("@fortawesome/free-regular-svg-icons/faEye");
|
|
11
12
|
exports.Image = (0, react_1.memo)(({ src, fallback, onLoad, onError, renderLoading, alt = '', width, height, objectFit = 'cover', objectPosition = 'center', imgProps, actions, previewable = true, previewProps, onPreview, ...props }) => {
|
|
12
13
|
const imgRef = (0, react_1.useRef)(null);
|
|
@@ -35,7 +36,7 @@ exports.Image = (0, react_1.memo)(({ src, fallback, onLoad, onError, renderLoadi
|
|
|
35
36
|
};
|
|
36
37
|
const renderedActions = (() => {
|
|
37
38
|
if (typeof actions === 'undefined' && previewable) {
|
|
38
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: image_style_1.classes.previewButton, onClick: previewHandler, children: [(0, jsx_runtime_1.jsx)(
|
|
39
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: image_style_1.classes.previewButton, onClick: previewHandler, children: [(0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faEye_1.faEye }), (0, jsx_runtime_1.jsx)("div", { children: "\u9884\u89C8" })] }));
|
|
39
40
|
}
|
|
40
41
|
return actions;
|
|
41
42
|
})();
|
|
@@ -44,7 +45,7 @@ exports.Image = (0, react_1.memo)(({ src, fallback, onLoad, onError, renderLoadi
|
|
|
44
45
|
objectPosition,
|
|
45
46
|
...imgProps?.style
|
|
46
47
|
}, onLoad: loadHandler, onError: errorHandler }), loading.current &&
|
|
47
|
-
(renderLoading ?? (0, jsx_runtime_1.jsx)(
|
|
48
|
+
(renderLoading ?? (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: image_style_1.classes.skeleton })), !!renderedActions && !failed.current &&
|
|
48
49
|
(0, jsx_runtime_1.jsx)("div", { className: image_style_1.classes.mask, children: renderedActions }), previewable && src &&
|
|
49
50
|
(0, jsx_runtime_1.jsx)(gallery_1.Gallery, { src: [src], ...previewProps, open: previewOpen.current, onOpenChange: setPreviewOpen })] }));
|
|
50
51
|
});
|
|
@@ -8,7 +8,7 @@ const utils_1 = require("../../utils");
|
|
|
8
8
|
const theme_1 = require("../theme");
|
|
9
9
|
const button_1 = require("../button");
|
|
10
10
|
const loadingIndicator_1 = require("../loadingIndicator");
|
|
11
|
-
const
|
|
11
|
+
const icon_1 = require("../icon");
|
|
12
12
|
const faCircleXmark_1 = require("@fortawesome/free-solid-svg-icons/faCircleXmark");
|
|
13
13
|
exports.InputBase = (({ variant = 'outlined', size, shape, color = 'primary', children, prefix, suffix, onClear, loading, type, clearable = type !== 'number',
|
|
14
14
|
// 以下属性传递给<input/>
|
|
@@ -76,6 +76,6 @@ min, max, step, precision, placeholder, disabled, readOnly, autoFocus, defaultVa
|
|
|
76
76
|
onKeyDown: (e) => e.key === 'Enter' && blurHandler(e)
|
|
77
77
|
}) }), loading &&
|
|
78
78
|
(0, jsx_runtime_1.jsx)(loadingIndicator_1.LoadingIndicator, {}), clearable && !disabled && !readOnly && (Array.isArray(innerValue.current) ? !!innerValue.current.length : !!innerValue.current) &&
|
|
79
|
-
(0, jsx_runtime_1.jsx)(button_1.Button, { className: inputBase_style_1.classes.clear, variant: "plain", color: "text.disabled", onClick: clear, tabIndex: -1, children: (0, jsx_runtime_1.jsx)(
|
|
79
|
+
(0, jsx_runtime_1.jsx)(button_1.Button, { className: inputBase_style_1.classes.clear, variant: "plain", color: "text.disabled", onClick: clear, tabIndex: -1, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faCircleXmark_1.faCircleXmark }) }), !!suffix &&
|
|
80
80
|
(0, jsx_runtime_1.jsx)("div", { className: inputBase_style_1.classes.suffix, children: suffix })] }));
|
|
81
81
|
});
|
|
@@ -16,10 +16,10 @@ function useMenuContext() {
|
|
|
16
16
|
const { size = theme.size, ellipsis = true, indent = theme.spacing[8], ...context } = (0, react_2.useContext)(MenuContext);
|
|
17
17
|
return { size, ellipsis, indent, ...context };
|
|
18
18
|
}
|
|
19
|
-
exports.Menu = (0, react_2.memo)(({ items, primaryKey = 'value', labelKey = 'label', childrenKey = 'children', defaultExpanded
|
|
19
|
+
exports.Menu = (0, react_2.memo)(({ items, primaryKey = 'value', labelKey = 'label', childrenKey = 'children', defaultExpanded, expanded, onExpandedChange, multiple, defaultValue, value, onChange,
|
|
20
20
|
// 以下属性传递给<MenuItem/>
|
|
21
21
|
size = 'large', showCheckbox, ellipsis, indent, ...props }) => {
|
|
22
|
-
const [innerExpanded, setInnerExpanded] = (0, utils_1.useControlled)(defaultExpanded, expanded);
|
|
22
|
+
const [innerExpanded, setInnerExpanded] = (0, utils_1.useControlled)(defaultExpanded || [], expanded);
|
|
23
23
|
const expandedSet = (0, react_2.useMemo)(() => {
|
|
24
24
|
return new Set(innerExpanded.current);
|
|
25
25
|
}, [innerExpanded.current]);
|
|
@@ -9,7 +9,7 @@ const checkbox_1 = require("../checkbox");
|
|
|
9
9
|
const popper_1 = require("../popper");
|
|
10
10
|
const menu_1 = require("../menu");
|
|
11
11
|
const transitionBase_1 = require("../transitionBase");
|
|
12
|
-
const
|
|
12
|
+
const icon_1 = require("../icon");
|
|
13
13
|
const faChevronDown_1 = require("@fortawesome/free-solid-svg-icons/faChevronDown");
|
|
14
14
|
exports.MenuItem = (0, react_1.memo)(({ value, size, color = 'primary', emphasized = false, selected, focused = false, disabled = false, showCheckbox, checkboxProps, ellipsis, prefix, label, suffix, searchToken, _level = 0, indent, expandIcon, defaultExpanded = false, expanded, onExpandedChange, ...props }) => {
|
|
15
15
|
const context = (0, menu_1.useMenuContext)();
|
|
@@ -43,7 +43,7 @@ exports.MenuItem = (0, react_1.memo)(({ value, size, color = 'primary', emphasiz
|
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
45
45
|
if (!expandIcon) {
|
|
46
|
-
return ((0, jsx_runtime_1.jsx)("div", { className: menuItem_style_1.classes.arrow, "data-open": innerExpanded.current, children: (0, jsx_runtime_1.jsx)(
|
|
46
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: menuItem_style_1.classes.arrow, "data-open": innerExpanded.current, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faChevronDown_1.faChevronDown }) }));
|
|
47
47
|
}
|
|
48
48
|
if (typeof expandIcon === 'function') {
|
|
49
49
|
return expandIcon(innerExpanded.current);
|
|
@@ -4,6 +4,8 @@ import { TransitionBaseProps } from '../transitionBase';
|
|
|
4
4
|
export interface OverlayBaseProps extends DivProps {
|
|
5
5
|
/** 模态的容器元素,默认为document.body */
|
|
6
6
|
container?: DefineElement<HTMLElement>;
|
|
7
|
+
/** 同{@link container},但会在useEffect后取值,且只会执行一次 */
|
|
8
|
+
effectContainer?: DefineElement<HTMLElement>;
|
|
7
9
|
/**
|
|
8
10
|
* @enum {true} 跟随父组件强制渲染
|
|
9
11
|
* @enum {false} 打开时渲染,关闭后销毁
|
|
@@ -22,4 +24,4 @@ export interface OverlayBaseProps extends DivProps {
|
|
|
22
24
|
removeFocusOnOpen?: boolean;
|
|
23
25
|
}
|
|
24
26
|
export declare const overlayBaseTransitionDuration = 300;
|
|
25
|
-
export declare function OverlayBase({ container, forceRender, open, onMaskClick, singleLayer, onOpened, onClosed, maskProps, removeFocusOnOpen, ...props }: OverlayBaseProps): false | React.ReactPortal;
|
|
27
|
+
export declare function OverlayBase({ container, effectContainer, forceRender, open, onMaskClick, singleLayer, onOpened, onClosed, maskProps, removeFocusOnOpen, ...props }: OverlayBaseProps): false | React.ReactPortal;
|
|
@@ -9,22 +9,22 @@ const utils_1 = require("../../utils");
|
|
|
9
9
|
const react_dom_1 = require("react-dom");
|
|
10
10
|
const transitionBase_1 = require("../transitionBase");
|
|
11
11
|
exports.overlayBaseTransitionDuration = 300;
|
|
12
|
-
function OverlayBase({ container, forceRender, open, onMaskClick, singleLayer, onOpened, onClosed, maskProps, removeFocusOnOpen = true, ...props }) {
|
|
12
|
+
function OverlayBase({ container, effectContainer, forceRender, open, onMaskClick, singleLayer, onOpened, onClosed, maskProps, removeFocusOnOpen = true, ...props }) {
|
|
13
13
|
const [shouldRender, setShouldRender] = (0, utils_1.useDerivedState)((prev = false) => {
|
|
14
14
|
if (open) {
|
|
15
15
|
return true;
|
|
16
16
|
}
|
|
17
17
|
return forceRender === true || prev;
|
|
18
18
|
}, [open, forceRender]);
|
|
19
|
-
const containerEl = (
|
|
19
|
+
const containerEl = (0, utils_1.useContainer)(container, effectContainer);
|
|
20
20
|
(0, react_1.useEffect)(() => {
|
|
21
21
|
if (!open) {
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
24
|
removeFocusOnOpen && document.activeElement?.blur?.();
|
|
25
|
-
containerEl.style.overflow = 'hidden';
|
|
25
|
+
containerEl.current.style.overflow = 'hidden';
|
|
26
26
|
return () => {
|
|
27
|
-
containerEl.style.overflow = '';
|
|
27
|
+
containerEl.current.style.overflow = '';
|
|
28
28
|
};
|
|
29
29
|
}, [open]);
|
|
30
30
|
const clickHandler = (e) => {
|
|
@@ -40,5 +40,5 @@ function OverlayBase({ container, forceRender, open, onMaskClick, singleLayer, o
|
|
|
40
40
|
onClosed?.();
|
|
41
41
|
forceRender === false && setShouldRender(false);
|
|
42
42
|
};
|
|
43
|
-
return shouldRender.current && (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsxs)("div", { ...props, css: overlayBase_style_1.style, className: (0, utils_1.clsx)(overlayBase_style_1.classes.root, props.className), "data-open": open, "data-custom-container": containerEl !== document.body, children: [(0, jsx_runtime_1.jsx)(transitionBase_1.Fade, { timeout: exports.overlayBaseTransitionDuration, ...maskProps, in: open, className: (0, utils_1.clsx)(overlayBase_style_1.classes.mask, maskProps?.className), onClick: clickHandler, onEntered: onEntered, onExited: onExited }), props.children] }), containerEl);
|
|
43
|
+
return shouldRender.current && (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsxs)("div", { ...props, css: overlayBase_style_1.style, className: (0, utils_1.clsx)(overlayBase_style_1.classes.root, props.className), "data-open": open, "data-custom-container": containerEl.current !== document.body, children: [(0, jsx_runtime_1.jsx)(transitionBase_1.Fade, { timeout: exports.overlayBaseTransitionDuration, ...maskProps, in: open, className: (0, utils_1.clsx)(overlayBase_style_1.classes.mask, maskProps?.className), onClick: clickHandler, onEntered: onEntered, onExited: onExited }), props.children] }), containerEl.current);
|
|
44
44
|
}
|
|
@@ -8,7 +8,7 @@ const pagination_style_1 = require("./pagination.style");
|
|
|
8
8
|
const pagination_1 = require("./pagination");
|
|
9
9
|
const utils_1 = require("../../utils");
|
|
10
10
|
const theme_1 = require("../theme");
|
|
11
|
-
const
|
|
11
|
+
const icon_1 = require("../icon");
|
|
12
12
|
const faEllipsis_1 = require("@fortawesome/free-solid-svg-icons/faEllipsis");
|
|
13
13
|
const faAngleLeft_1 = require("@fortawesome/free-solid-svg-icons/faAngleLeft");
|
|
14
14
|
const faAngleRight_1 = require("@fortawesome/free-solid-svg-icons/faAngleRight");
|
|
@@ -18,7 +18,7 @@ exports.PaginationPager = (0, react_1.memo)((props) => {
|
|
|
18
18
|
const renderPageButton = (i, ellipsis) => {
|
|
19
19
|
const btnPage = i + 1;
|
|
20
20
|
const isActive = !ellipsis && btnPage === page;
|
|
21
|
-
return ((0, jsx_runtime_1.jsx)(button_1.Button, { className: pagination_style_1.classes.button, variant: isActive ? 'outlined' : 'text', color: isActive ? 'primary' : text.primary, size: size, readOnly: isActive, onClick: () => onPageChange(btnPage), children: ellipsis ? (0, jsx_runtime_1.jsx)(
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)(button_1.Button, { className: pagination_style_1.classes.button, variant: isActive ? 'outlined' : 'text', color: isActive ? 'primary' : text.primary, size: size, readOnly: isActive, onClick: () => onPageChange(btnPage), children: ellipsis ? (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faEllipsis_1.faEllipsis }) : btnPage }, i));
|
|
22
22
|
};
|
|
23
23
|
const renderPageList = () => {
|
|
24
24
|
if (pageCount <= 9) {
|
|
@@ -52,5 +52,5 @@ exports.PaginationPager = (0, react_1.memo)((props) => {
|
|
|
52
52
|
: renderPageButton(page + i - 5, i === 1 || i === 7);
|
|
53
53
|
});
|
|
54
54
|
};
|
|
55
|
-
return ((0, jsx_runtime_1.jsxs)("div", { ...props, className: (0, utils_1.clsx)(pagination_style_1.classes.pager, props.className), children: [(0, jsx_runtime_1.jsx)(button_1.Button, { className: pagination_style_1.classes.button, variant: "text", size: size, color: "text.secondary", disabled: page === 1, onClick: () => onPageChange(page - 1), children: (0, jsx_runtime_1.jsx)(
|
|
55
|
+
return ((0, jsx_runtime_1.jsxs)("div", { ...props, className: (0, utils_1.clsx)(pagination_style_1.classes.pager, props.className), children: [(0, jsx_runtime_1.jsx)(button_1.Button, { className: pagination_style_1.classes.button, variant: "text", size: size, color: "text.secondary", disabled: page === 1, onClick: () => onPageChange(page - 1), children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faAngleLeft_1.faAngleLeft }) }), renderPageList(), (0, jsx_runtime_1.jsx)(button_1.Button, { className: pagination_style_1.classes.button, variant: "text", size: size, color: "text.secondary", disabled: page === pageCount, onClick: () => onPageChange(page + 1), children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faAngleRight_1.faAngleRight }) })] }));
|
|
56
56
|
});
|
|
@@ -11,7 +11,7 @@ const slider_1 = require("../slider");
|
|
|
11
11
|
const color_1 = tslib_1.__importDefault(require("color"));
|
|
12
12
|
const button_1 = require("../button");
|
|
13
13
|
const colorValueInput_1 = require("./colorValueInput");
|
|
14
|
-
const
|
|
14
|
+
const icon_1 = require("../icon");
|
|
15
15
|
const faChevronDown_1 = require("@fortawesome/free-solid-svg-icons/faChevronDown");
|
|
16
16
|
const sliderProps = {
|
|
17
17
|
railSize: 9,
|
|
@@ -114,5 +114,5 @@ exports.Palette = (0, react_1.memo)(({ defaultValue, value, onChange, gestureOpt
|
|
|
114
114
|
}, ...draggableHandles })] }), (0, jsx_runtime_1.jsxs)("div", { className: palette_style_1.classes.slidersRow, children: [(0, jsx_runtime_1.jsxs)("div", { className: palette_style_1.classes.sliders, children: [(0, jsx_runtime_1.jsx)(slider_1.Slider, { ...sliderProps, className: palette_style_1.classes.hue, value: colorObject.hue / 359 * 100, onChange: hueChangeHandler }), (0, jsx_runtime_1.jsx)(slider_1.Slider, { ...sliderProps, className: palette_style_1.classes.alpha, renderRail: (_, railProps) => (0, jsx_runtime_1.jsxs)("div", { ...railProps, children: [railProps.children, (0, jsx_runtime_1.jsx)("div", { className: palette_style_1.classes.alphaMask, style: { backgroundImage: `linear-gradient(90deg, transparent, ${colorObject.saturated})` } })] }), value: colorObject.alpha * 100, onChange: alphaChangeHandler })] }), (0, jsx_runtime_1.jsx)("div", { className: palette_style_1.classes.preview, children: (0, jsx_runtime_1.jsx)("div", { className: palette_style_1.classes.previewColor, style: {
|
|
115
115
|
backgroundColor: colorObject.hex,
|
|
116
116
|
opacity: colorObject.alpha
|
|
117
|
-
} }) })] }), (0, jsx_runtime_1.jsxs)("div", { className: palette_style_1.classes.inputRow, children: [(0, jsx_runtime_1.jsx)(button_1.Button, { variant: "plain", color: "text.secondary", suffix: (0, jsx_runtime_1.jsx)(
|
|
117
|
+
} }) })] }), (0, jsx_runtime_1.jsxs)("div", { className: palette_style_1.classes.inputRow, children: [(0, jsx_runtime_1.jsx)(button_1.Button, { variant: "plain", color: "text.secondary", suffix: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faChevronDown_1.faChevronDown }), onClick: formatChangeHandler, children: availableFormat[activeFormat] }), renderInputs()] })] }));
|
|
118
118
|
});
|
|
@@ -10,7 +10,7 @@ const selectionContext_1 = require("../selectionContext");
|
|
|
10
10
|
const divider_1 = require("../divider");
|
|
11
11
|
const selectedList_1 = require("../selectedList");
|
|
12
12
|
const button_1 = require("../button");
|
|
13
|
-
const
|
|
13
|
+
const icon_1 = require("../icon");
|
|
14
14
|
const faTrashCan_1 = require("@fortawesome/free-regular-svg-icons/faTrashCan");
|
|
15
15
|
exports.PickerDialog = (({ ref, dialogRef, multiple, children, showSelectedList = !!multiple, selectedListPlacement = 'right', selectedListProps, selectedItemProps, onConfirm, rows, nodes,
|
|
16
16
|
// 以下属性从SelectionContextBaseProps继承
|
|
@@ -70,6 +70,6 @@ options = rows ?? nodes, primaryKey = 'id', childrenKey = 'children', relation =
|
|
|
70
70
|
...props.modalProps
|
|
71
71
|
}, ...showSelectedList && {
|
|
72
72
|
[selectedListPlacement === 'left' ? 'prefix' : 'suffix']: ((0, jsx_runtime_1.jsxs)("div", { className: pickerDialog_style_1.classes.selectedArea, children: [(0, jsx_runtime_1.jsxs)(divider_1.Divider, { className: pickerDialog_style_1.classes.count, textAlign: "start", children: [(0, jsx_runtime_1.jsxs)("div", { children: ["\u5DF2\u9009\u62E9", (0, jsx_runtime_1.jsx)("b", { children: selectedCount }), "\u9879"] }), clearable &&
|
|
73
|
-
(0, jsx_runtime_1.jsx)(button_1.Button, { prefix: (0, jsx_runtime_1.jsx)(
|
|
73
|
+
(0, jsx_runtime_1.jsx)(button_1.Button, { prefix: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faTrashCan_1.faTrashCan }), variant: "plain", color: "text.secondary", onClick: () => setInnerValue(multiple ? [] : null), children: "\u6E05\u7A7A" })] }), (0, jsx_runtime_1.jsx)(selectedList_1.SelectedList, { itemProps: selectedItemProps, ...selectedListProps, className: (0, utils_1.clsx)(pickerDialog_style_1.classes.list, selectedListProps?.className) }), (0, jsx_runtime_1.jsx)(button_1.Button, { className: pickerDialog_style_1.classes.confirm, disabled: selectedCount === 0, onClick: () => confirmHandler(), children: "\u786E\u5B9A" })] }))
|
|
74
74
|
}, children: renderChildren() }) }));
|
|
75
75
|
});
|
|
@@ -143,6 +143,12 @@ exports.Pinchable = (({ component: Component = 'div', ref, gestureOptions, defau
|
|
|
143
143
|
resetZoom();
|
|
144
144
|
}
|
|
145
145
|
};
|
|
146
|
+
const wheelHandler = (e) => {
|
|
147
|
+
childrenProps.onMouseWheel?.(e);
|
|
148
|
+
e.deltaY > 0
|
|
149
|
+
? zoomFn(innerScale.current * .8, e.clientX, e.clientY)
|
|
150
|
+
: zoomFn(innerScale.current * 1.2, e.clientX, e.clientY);
|
|
151
|
+
};
|
|
146
152
|
return ((0, jsx_runtime_1.jsx)(Component, { ...props, ref: wrapperRef, css: pinchable_style_1.style, className: (0, utils_1.clsx)(pinchable_style_1.classes.root, props.className), ...pinchableHandles, children: (0, react_1.cloneElement)(children, {
|
|
147
153
|
ref: (0, utils_1.cloneRef)(contentRef, childrenProps.ref),
|
|
148
154
|
className: (0, utils_1.clsx)(pinchable_style_1.classes.content, childrenProps.className),
|
|
@@ -155,6 +161,7 @@ exports.Pinchable = (({ component: Component = 'div', ref, gestureOptions, defau
|
|
|
155
161
|
},
|
|
156
162
|
...draggableHandles,
|
|
157
163
|
onDoubleClick: doubleClickHandler,
|
|
164
|
+
onWheel: wheelHandler,
|
|
158
165
|
onTransitionEnd: e => e.currentTarget.dataset.transition = 'false'
|
|
159
166
|
}) }));
|
|
160
167
|
});
|
|
@@ -7,6 +7,8 @@ export interface PopperProps extends Omit<DivProps, 'content' | 'children'> {
|
|
|
7
7
|
anchorElement?: DefineElement<HTMLElement>;
|
|
8
8
|
/** 弹框渲染的容器元素,默认为{@link document.body} */
|
|
9
9
|
container?: DefineElement<HTMLElement>;
|
|
10
|
+
/** 同{@link container},但会在useEffect后取值,且只会执行一次 */
|
|
11
|
+
effectContainer?: DefineElement<HTMLElement>;
|
|
10
12
|
/** 汽泡里的内容 */
|
|
11
13
|
content?: ReactNode;
|
|
12
14
|
/** 弹框偏离元素的距离 */
|
|
@@ -46,4 +48,4 @@ export interface PopperRef extends HTMLDivElement {
|
|
|
46
48
|
openAnimation?: boolean;
|
|
47
49
|
}, beforeOpen?: () => void): void;
|
|
48
50
|
}
|
|
49
|
-
export declare function Popper({ ref, popperRef, anchorElement, container, content, offset, trigger, placement, variant, sizeAdaptable, mouseEnterDelay, mouseLeaveDelay, defaultOpen, open, onOpenChange, onOpenChangeEnd, disabled, autoClose, forceRender, children, ...props }: PopperProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
51
|
+
export declare function Popper({ ref, popperRef, anchorElement, container, effectContainer, content, offset, trigger, placement, variant, sizeAdaptable, mouseEnterDelay, mouseLeaveDelay, defaultOpen, open, onOpenChange, onOpenChangeEnd, disabled, autoClose, forceRender, children, ...props }: PopperProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -22,7 +22,7 @@ const getAttemptOrder = (placement) => {
|
|
|
22
22
|
}
|
|
23
23
|
return order;
|
|
24
24
|
};
|
|
25
|
-
function Popper({ ref, popperRef, anchorElement, container = document.body, content, offset, trigger = 'hover', placement = 'top', variant = 'zoom', sizeAdaptable = variant === 'collapse', mouseEnterDelay = 100, mouseLeaveDelay = 150, defaultOpen = false, open, onOpenChange, onOpenChangeEnd, disabled, autoClose = false, forceRender, children, ...props }) {
|
|
25
|
+
function Popper({ ref, popperRef, anchorElement, container = document.body, effectContainer, content, offset, trigger = 'hover', placement = 'top', variant = 'zoom', sizeAdaptable = variant === 'collapse', mouseEnterDelay = 100, mouseLeaveDelay = 150, defaultOpen = false, open, onOpenChange, onOpenChangeEnd, disabled, autoClose = false, forceRender, children, ...props }) {
|
|
26
26
|
const { spacing } = (0, theme_1.useTheme)();
|
|
27
27
|
offset ??= spacing[2];
|
|
28
28
|
(0, react_1.useImperativeHandle)(popperRef, () => {
|
|
@@ -104,14 +104,14 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, cont
|
|
|
104
104
|
const getAnchorElement = () => {
|
|
105
105
|
return anchorRef.current || (typeof syncAnchorElement.current === 'function' ? syncAnchorElement.current() : syncAnchorElement.current);
|
|
106
106
|
};
|
|
107
|
-
const
|
|
107
|
+
const containerEl = (0, utils_1.useContainer)(container, effectContainer);
|
|
108
108
|
const innerPopperRef = (0, react_1.useRef)(null);
|
|
109
109
|
const [popperBounding, setPopperBounding] = (0, react_1.useState)();
|
|
110
110
|
const [openNextFrame, setOpenNextFrame] = (0, utils_1.useDerivedState)(!innerOpen.current, [innerOpen.current, contextMenuEvent.current]);
|
|
111
111
|
const placeA = (0, react_1.useRef)(void 0);
|
|
112
112
|
const placeB = (0, react_1.useRef)(void 0);
|
|
113
113
|
const fitPosition = (options, beforeOpen) => {
|
|
114
|
-
const containerRect =
|
|
114
|
+
const containerRect = containerEl.current.getBoundingClientRect();
|
|
115
115
|
const popperEl = innerPopperRef.current;
|
|
116
116
|
let { offsetWidth: popperWidth, offsetHeight: popperHeight } = popperEl;
|
|
117
117
|
let pA, pB;
|
|
@@ -187,7 +187,7 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, cont
|
|
|
187
187
|
}
|
|
188
188
|
popperEl.style.left = left + 'px';
|
|
189
189
|
popperEl.style.top = top + 'px';
|
|
190
|
-
return (0, utils_1.isElementVisibleCompletely)(popperEl,
|
|
190
|
+
return (0, utils_1.isElementVisibleCompletely)(popperEl, containerEl.current === document.body ? void 0 : containerEl.current);
|
|
191
191
|
};
|
|
192
192
|
}
|
|
193
193
|
else {
|
|
@@ -258,7 +258,7 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, cont
|
|
|
258
258
|
}
|
|
259
259
|
popperEl.style.left = left + 'px';
|
|
260
260
|
popperEl.style.top = top + 'px';
|
|
261
|
-
return (0, utils_1.isElementVisibleCompletely)(popperEl,
|
|
261
|
+
return (0, utils_1.isElementVisibleCompletely)(popperEl, containerEl.current === document.body ? void 0 : containerEl.current);
|
|
262
262
|
};
|
|
263
263
|
}
|
|
264
264
|
if (options?.forcePlacement) {
|
|
@@ -502,5 +502,5 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, cont
|
|
|
502
502
|
transform: 'scale(1)'
|
|
503
503
|
},
|
|
504
504
|
...props.style
|
|
505
|
-
}, "data-open": innerOpen.current, "data-variant": variant, "data-place-a": placeA.current, "data-place-b": placeB.current, onTransitionEnd: onTransitionEnd, children: (0, jsx_runtime_1.jsx)(popperContext_1.PopperContext, { value: contextValue, children: content }) }) }),
|
|
505
|
+
}, "data-open": innerOpen.current, "data-variant": variant, "data-place-a": placeA.current, "data-place-b": placeB.current, onTransitionEnd: onTransitionEnd, children: (0, jsx_runtime_1.jsx)(popperContext_1.PopperContext, { value: contextValue, children: content }) }) }), containerEl.current)] }));
|
|
506
506
|
}
|
|
@@ -7,10 +7,12 @@ const progress_style_1 = require("./progress.style");
|
|
|
7
7
|
const utils_1 = require("../../utils");
|
|
8
8
|
const theme_1 = require("../theme");
|
|
9
9
|
const react_2 = require("@emotion/react");
|
|
10
|
-
const
|
|
10
|
+
const icon_1 = require("../icon");
|
|
11
11
|
const faCircleCheck_1 = require("@fortawesome/free-solid-svg-icons/faCircleCheck");
|
|
12
12
|
const faCircleXmark_1 = require("@fortawesome/free-solid-svg-icons/faCircleXmark");
|
|
13
|
-
exports.Progress = (0, react_1.memo)(({ showInfo = true, renderInfo, color
|
|
13
|
+
exports.Progress = (0, react_1.memo)(({ showInfo = true, renderInfo, color, status = 'default', variant = 'linear', gapDegree = 90, size = 60, indeterminate = false, barWidth = 4, strokeLinecap = variant === 'gauge' ? 'butt' : 'round', value = 0, ...props }) => {
|
|
14
|
+
const isColorSpecified = !!color;
|
|
15
|
+
color ??= 'primary';
|
|
14
16
|
const { colors: { success, error } } = (0, theme_1.useTheme)();
|
|
15
17
|
const isSucceed = status === 'success' || (status !== 'error' && value === 100 && variant !== 'gauge');
|
|
16
18
|
const renderInfoFn = () => {
|
|
@@ -18,10 +20,10 @@ exports.Progress = (0, react_1.memo)(({ showInfo = true, renderInfo, color = 'pr
|
|
|
18
20
|
return renderInfo(value);
|
|
19
21
|
}
|
|
20
22
|
if (isSucceed) {
|
|
21
|
-
return (0, jsx_runtime_1.jsx)(
|
|
23
|
+
return (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faCircleCheck_1.faCircleCheck, className: progress_style_1.classes.icon, style: { color: success.main } });
|
|
22
24
|
}
|
|
23
25
|
if (status === 'error') {
|
|
24
|
-
return (0, jsx_runtime_1.jsx)(
|
|
26
|
+
return (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faCircleXmark_1.faCircleXmark, className: progress_style_1.classes.icon, style: { color: error.main } });
|
|
25
27
|
}
|
|
26
28
|
return value + '%';
|
|
27
29
|
};
|
|
@@ -55,7 +57,7 @@ exports.Progress = (0, react_1.memo)(({ showInfo = true, renderInfo, color = 'pr
|
|
|
55
57
|
}
|
|
56
58
|
return;
|
|
57
59
|
}, [indeterminate, variant, strokeLinecap, size, barWidth]);
|
|
58
|
-
return ((0, jsx_runtime_1.jsx)("div", { ...props, css: (0, progress_style_1.useStyle)({ color: color || 'primary', variant }), className: (0, utils_1.clsx)(progress_style_1.classes.root, props.className), "data-variant": variant, "data-indeterminate": indeterminate, "data-processing": value < 100 && status === 'processing', "data-success": isSucceed, "data-error": status === 'error', children: variant === 'linear'
|
|
60
|
+
return ((0, jsx_runtime_1.jsx)("div", { ...props, css: (0, progress_style_1.useStyle)({ color: color || 'primary', variant }), className: (0, utils_1.clsx)(progress_style_1.classes.root, props.className), "data-variant": variant, "data-indeterminate": indeterminate, "data-processing": value < 100 && status === 'processing', "data-success": isColorSpecified ? void 0 : isSucceed, "data-error": isColorSpecified ? void 0 : status === 'error', children: variant === 'linear'
|
|
59
61
|
? (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: progress_style_1.classes.track, style: {
|
|
60
62
|
height: barWidth,
|
|
61
63
|
...props.style
|
|
@@ -6,9 +6,9 @@ const react_1 = require("react");
|
|
|
6
6
|
const utils_1 = require("../../utils");
|
|
7
7
|
const rating_style_1 = require("./rating.style");
|
|
8
8
|
const theme_1 = require("../theme");
|
|
9
|
-
const
|
|
9
|
+
const icon_1 = require("../icon");
|
|
10
10
|
const faStar_1 = require("@fortawesome/free-solid-svg-icons/faStar");
|
|
11
|
-
exports.Rating = (0, react_1.memo)(({ color = '#FFCC00', size, count = 5, renderStar = (0, jsx_runtime_1.jsx)(
|
|
11
|
+
exports.Rating = (0, react_1.memo)(({ color = '#FFCC00', size, count = 5, renderStar = (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faStar_1.faStar }), allowHalf, highlightSelectedOnly = false, defaultValue = 0, value, onChange, readOnly, disabled, ...props }) => {
|
|
12
12
|
const theme = (0, theme_1.useTheme)();
|
|
13
13
|
size ??= theme.size;
|
|
14
14
|
const [innerValue, setInnerValue] = (0, utils_1.useControlled)(defaultValue, value, onChange);
|
|
@@ -14,7 +14,7 @@ const input_1 = require("../input");
|
|
|
14
14
|
const loadingIndicator_1 = require("../loadingIndicator");
|
|
15
15
|
const popper_style_1 = require("../popper/popper.style");
|
|
16
16
|
const selectionContext_1 = require("../selectionContext");
|
|
17
|
-
const
|
|
17
|
+
const icon_1 = require("../icon");
|
|
18
18
|
const faChevronDown_1 = require("@fortawesome/free-solid-svg-icons/faChevronDown");
|
|
19
19
|
const faMagnifyingGlass_1 = require("@fortawesome/free-solid-svg-icons/faMagnifyingGlass");
|
|
20
20
|
exports.Select = (0, react_1.memo)(({ inputProps, popperProps, popperRef, defaultOpen = false, open, onOpenChange, sizeAdaptable = true, children, multiple, defaultValue, value, onChange, renderBackfill, searchable, defaultSearchValue = '', searchValue, onSearchChange, searchInputProps,
|
|
@@ -82,7 +82,7 @@ showCheckbox = !!multiple, loading, options, labelKey = 'label', primaryKey = 'v
|
|
|
82
82
|
return ((0, jsx_runtime_1.jsx)("div", { className: select_style_1.classes.backfillWrap, children: optionsMap.get(innerValue)?.[labelKey] ?? innerValue }));
|
|
83
83
|
};
|
|
84
84
|
return ((0, jsx_runtime_1.jsx)(popper_1.Popper, { css: popper_style_1.popperStyle, open: innerOpen.current, onOpenChange: openChangeHandler, onOpenChangeEnd: openChangeEnd, placement: "bottom", variant: "collapse", trigger: ['click', 'enter'], disabled: props.disabled || props.readOnly, sizeAdaptable: sizeAdaptable, content: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [searchable &&
|
|
85
|
-
(0, jsx_runtime_1.jsx)(input_1.Input, { inputProps: { ref: searchInputRef }, prefix: (0, jsx_runtime_1.jsx)(
|
|
85
|
+
(0, jsx_runtime_1.jsx)(input_1.Input, { inputProps: { ref: searchInputRef }, prefix: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faMagnifyingGlass_1.faMagnifyingGlass }), placeholder: "\u641C\u7D22", value: innerSearchValue.current, ...searchInputProps, onChange: e => {
|
|
86
86
|
searchInputProps?.onChange?.(e);
|
|
87
87
|
setInnerSearchValue?.(e.target.value);
|
|
88
88
|
}, onBlur: e => {
|
|
@@ -95,6 +95,6 @@ showCheckbox = !!multiple, loading, options, labelKey = 'label', primaryKey = 'v
|
|
|
95
95
|
? (0, jsx_runtime_1.jsx)("div", { className: select_style_1.classes.placeholder, children: props.placeholder ?? '请选择' })
|
|
96
96
|
: (0, jsx_runtime_1.jsx)("div", { className: select_style_1.classes.backfill, children: renderBackfillFn() }), (0, jsx_runtime_1.jsx)("input", { size: 1, ...inputBaseProps, ...inputProps, "data-hidden": "true" }), (0, jsx_runtime_1.jsx)("div", { className: select_style_1.classes.arrow, "data-open": innerOpen.current, children: loading
|
|
97
97
|
? (0, jsx_runtime_1.jsx)(loadingIndicator_1.LoadingIndicator, {})
|
|
98
|
-
: (0, jsx_runtime_1.jsx)(
|
|
98
|
+
: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faChevronDown_1.faChevronDown }) })] }) }) }));
|
|
99
99
|
});
|
|
100
100
|
exports.Option = exports.Select.Option = menuItem_1.MenuItem;
|
|
@@ -24,11 +24,12 @@ export declare class SnackbarBaseMethods<P extends SnackbarBaseProps = SnackbarB
|
|
|
24
24
|
error(content: ReactNode): Promise<void>;
|
|
25
25
|
error(props: P): Promise<void>;
|
|
26
26
|
}
|
|
27
|
-
export declare const SnackbarBase: React.MemoExoticComponent<({ methods, useTo, max, container }: {
|
|
27
|
+
export declare const SnackbarBase: React.MemoExoticComponent<({ methods, useTo, max, container, effectContainer }: {
|
|
28
28
|
methods: SnackbarBaseMethods;
|
|
29
29
|
useTo: "message" | "notification";
|
|
30
30
|
max?: number;
|
|
31
|
-
container?: DefineElement
|
|
31
|
+
container?: DefineElement<HTMLElement>;
|
|
32
|
+
effectContainer?: DefineElement<HTMLElement>;
|
|
32
33
|
}) => React.ReactPortal>;
|
|
33
34
|
interface SnackbarBaseItemProps extends Omit<SnackbarBaseProps, 'duration' | 'onAutoClose'> {
|
|
34
35
|
id: string;
|
|
@@ -11,7 +11,7 @@ const react_transition_group_1 = require("react-transition-group");
|
|
|
11
11
|
const status_1 = require("../status");
|
|
12
12
|
const button_1 = require("../button");
|
|
13
13
|
const react_dom_1 = require("react-dom");
|
|
14
|
-
const
|
|
14
|
+
const icon_1 = require("../icon");
|
|
15
15
|
const faXmark_1 = require("@fortawesome/free-solid-svg-icons/faXmark");
|
|
16
16
|
class SnackbarBaseMethods {
|
|
17
17
|
async info(_) {
|
|
@@ -37,7 +37,7 @@ const placementToIndex = {
|
|
|
37
37
|
bottomRight: 5,
|
|
38
38
|
rightBottom: 5
|
|
39
39
|
};
|
|
40
|
-
exports.SnackbarBase = (0, react_2.memo)(({ methods, useTo, max = useTo === 'message' ? 5 : 4, container }) => {
|
|
40
|
+
exports.SnackbarBase = (0, react_2.memo)(({ methods, useTo, max = useTo === 'message' ? 5 : 4, container, effectContainer }) => {
|
|
41
41
|
const [stacks, setStacks] = (0, react_2.useState)([]);
|
|
42
42
|
const timers = (0, react_2.useRef)([]);
|
|
43
43
|
(0, react_2.useEffect)(() => () => {
|
|
@@ -85,10 +85,10 @@ exports.SnackbarBase = (0, react_2.memo)(({ methods, useTo, max = useTo === 'mes
|
|
|
85
85
|
methods.warning = defineMethod('warning');
|
|
86
86
|
methods.error = defineMethod('error');
|
|
87
87
|
const css = (0, snackbarBase_style_1.style)();
|
|
88
|
-
const containerEl = (
|
|
88
|
+
const containerEl = (0, utils_1.useContainer)(container, effectContainer);
|
|
89
89
|
return (0, react_dom_1.createPortal)(stacks.flatMap((stack, i) => stack
|
|
90
90
|
? (0, jsx_runtime_1.jsx)(react_transition_group_1.TransitionGroup, { css: css, className: snackbarBase_style_1.classes.root, "data-place": i, "data-use-to": useTo, children: stack.map(p => (0, react_1.createElement)(exports.SnackbarBaseItem, { ...p, key: p.id })) }, i)
|
|
91
|
-
: []), containerEl);
|
|
91
|
+
: []), containerEl.current);
|
|
92
92
|
});
|
|
93
93
|
/**
|
|
94
94
|
* ----------------------------------------------------------------------
|
|
@@ -115,7 +115,7 @@ exports.SnackbarBaseItem = (0, react_2.memo)(({ id, type, useTo, resolve, varian
|
|
|
115
115
|
const colorValue = (0, utils_1.useColor)(color);
|
|
116
116
|
const renderedIcon = icon ?? (variant === 'outlined'
|
|
117
117
|
? (0, jsx_runtime_1.jsx)(status_1.StatusIcon, { status: type })
|
|
118
|
-
: (0, jsx_runtime_1.jsx)(
|
|
118
|
+
: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: status_1.statusMapToIconDefinition[type] }));
|
|
119
119
|
const closeHandler = (e) => {
|
|
120
120
|
e.stopPropagation();
|
|
121
121
|
onCloseButtonClick?.(e);
|
|
@@ -128,5 +128,5 @@ exports.SnackbarBaseItem = (0, react_2.memo)(({ id, type, useTo, resolve, varian
|
|
|
128
128
|
(0, jsx_runtime_1.jsxs)("div", { className: snackbarBase_style_1.classes.text, children: [!!title &&
|
|
129
129
|
(0, jsx_runtime_1.jsx)("div", { className: snackbarBase_style_1.classes.title, children: title }), !!content &&
|
|
130
130
|
(0, jsx_runtime_1.jsx)("div", { className: snackbarBase_style_1.classes.content, children: content })] }), showClose &&
|
|
131
|
-
(0, jsx_runtime_1.jsx)(button_1.Button, { variant: "text", shape: "circular", color: "text.disabled", size: "small", className: snackbarBase_style_1.classes.close, onClick: closeHandler, children: (0, jsx_runtime_1.jsx)(
|
|
131
|
+
(0, jsx_runtime_1.jsx)(button_1.Button, { variant: "text", shape: "circular", color: "text.disabled", size: "small", className: snackbarBase_style_1.classes.close, onClick: closeHandler, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faXmark_1.faXmark }) })] }) }));
|
|
132
132
|
});
|
|
@@ -7,7 +7,7 @@ const utils_1 = require("../../utils");
|
|
|
7
7
|
const step_style_1 = require("./step.style");
|
|
8
8
|
const stepper_1 = require("./stepper");
|
|
9
9
|
const theme_1 = require("../theme");
|
|
10
|
-
const
|
|
10
|
+
const icon_1 = require("../icon");
|
|
11
11
|
const faCheck_1 = require("@fortawesome/free-solid-svg-icons/faCheck");
|
|
12
12
|
const faCircleInfo_1 = require("@fortawesome/free-solid-svg-icons/faCircleInfo");
|
|
13
13
|
const faXmark_1 = require("@fortawesome/free-solid-svg-icons/faXmark");
|
|
@@ -37,13 +37,13 @@ size, gap, color, variant, labelPlacement, clickable, status = 'waiting', ...pro
|
|
|
37
37
|
case 'processing':
|
|
38
38
|
return step + 1;
|
|
39
39
|
case 'finished':
|
|
40
|
-
return (0, jsx_runtime_1.jsx)(
|
|
40
|
+
return (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faCheck_1.faCheck });
|
|
41
41
|
case 'warning':
|
|
42
|
-
return (0, jsx_runtime_1.jsx)(
|
|
42
|
+
return (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faCircleInfo_1.faCircleInfo });
|
|
43
43
|
case 'error':
|
|
44
|
-
return (0, jsx_runtime_1.jsx)(
|
|
44
|
+
return (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faXmark_1.faXmark });
|
|
45
45
|
case 'skipped':
|
|
46
|
-
return (0, jsx_runtime_1.jsx)(
|
|
46
|
+
return (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faMinus_1.faMinus });
|
|
47
47
|
}
|
|
48
48
|
})() }) }), (0, jsx_runtime_1.jsxs)("div", { className: step_style_1.classes.label, children: [(0, jsx_runtime_1.jsx)("div", { className: step_style_1.classes.title, children: (0, jsx_runtime_1.jsx)("div", { className: step_style_1.classes.titleText, children: renderInner(title) }) }), (0, jsx_runtime_1.jsx)("div", { className: step_style_1.classes.description, children: renderInner(description) })] })] }));
|
|
49
49
|
});
|
|
@@ -7,7 +7,7 @@ const tabs_style_1 = require("./tabs.style");
|
|
|
7
7
|
const popper_1 = require("../popper");
|
|
8
8
|
const tabsEllipsis_style_1 = require("./tabsEllipsis.style");
|
|
9
9
|
const optionsBase_1 = require("../optionsBase");
|
|
10
|
-
const
|
|
10
|
+
const icon_1 = require("../icon");
|
|
11
11
|
const faEllipsis_1 = require("@fortawesome/free-solid-svg-icons/faEllipsis");
|
|
12
12
|
exports.TabsEllipsis = (0, react_1.memo)(({ tabs, children, labelKey = 'label', primaryKey = 'value', value, onToggleSelected }) => {
|
|
13
13
|
const [open, setOpen] = (0, react_1.useState)(false);
|
|
@@ -26,5 +26,5 @@ exports.TabsEllipsis = (0, react_1.memo)(({ tabs, children, labelKey = 'label',
|
|
|
26
26
|
onToggleSelected(value);
|
|
27
27
|
setOpen(false);
|
|
28
28
|
};
|
|
29
|
-
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(popper_1.Popper, { css: tabsEllipsis_style_1.tabsEllipsisPopperStyle, placement: "bottomRight", trigger: "hover", open: open, onOpenChange: setOpen, content: (0, jsx_runtime_1.jsx)(optionsBase_1.OptionsBase, { options: getOptions(), selectedValue: value, onToggleSelected: _onToggleSelected }), children: (0, jsx_runtime_1.jsx)("div", { className: tabs_style_1.classes.ellipsis, children: (0, jsx_runtime_1.jsx)(
|
|
29
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(popper_1.Popper, { css: tabsEllipsis_style_1.tabsEllipsisPopperStyle, placement: "bottomRight", trigger: "hover", open: open, onOpenChange: setOpen, content: (0, jsx_runtime_1.jsx)(optionsBase_1.OptionsBase, { options: getOptions(), selectedValue: value, onToggleSelected: _onToggleSelected }), children: (0, jsx_runtime_1.jsx)("div", { className: tabs_style_1.classes.ellipsis, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faEllipsis_1.faEllipsis }) }) }) }));
|
|
30
30
|
});
|
|
@@ -5,7 +5,7 @@ const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const tag_style_1 = require("./tag.style");
|
|
7
7
|
const utils_1 = require("../../utils");
|
|
8
|
-
const
|
|
8
|
+
const icon_1 = require("../icon");
|
|
9
9
|
const faXmark_1 = require("@fortawesome/free-solid-svg-icons/faXmark");
|
|
10
10
|
exports.Tag = (0, react_1.memo)(({ variant = 'outlined', color = 'text.secondary', shape = 'square', size = 'small', prefix, suffix, clickable, closable, onClose, ...props }) => {
|
|
11
11
|
const closeHandler = (e) => {
|
|
@@ -16,5 +16,5 @@ exports.Tag = (0, react_1.memo)(({ variant = 'outlined', color = 'text.secondary
|
|
|
16
16
|
return ((0, jsx_runtime_1.jsxs)("div", { ...props, css: (0, tag_style_1.useStyle)({ color: color || 'text.secondary' }), className: (0, utils_1.clsx)(tag_style_1.classes.root, props.className), "data-variant": variant, "data-size": size, "data-shape": shape, "data-clickable": clickable, children: [!!prefix &&
|
|
17
17
|
(0, jsx_runtime_1.jsx)("div", { className: tag_style_1.classes.prefix, children: prefix }), (0, jsx_runtime_1.jsx)("div", { className: tag_style_1.classes.content, children: props.children }), !!suffix &&
|
|
18
18
|
(0, jsx_runtime_1.jsx)("div", { className: tag_style_1.classes.suffix, children: suffix }), closable &&
|
|
19
|
-
(0, jsx_runtime_1.jsx)("div", { className: tag_style_1.classes.close, onClick: closeHandler, children: (0, jsx_runtime_1.jsx)(
|
|
19
|
+
(0, jsx_runtime_1.jsx)("div", { className: tag_style_1.classes.close, onClick: closeHandler, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faXmark_1.faXmark }) })] }));
|
|
20
20
|
});
|