@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
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { memo, useMemo, useRef, useState } from 'react';
|
|
3
3
|
import { classes, svgStyle } from './documentViewer.style';
|
|
4
|
-
import { TransformWrapper, TransformComponent } from 'react-zoom-pan-pinch';
|
|
5
4
|
import { clsx } from '../../utils';
|
|
6
5
|
import { Button } from '../../components/button';
|
|
7
6
|
import { Tooltip } from '../../components/tooltip';
|
|
@@ -10,7 +9,7 @@ import { Switch } from '../../components/switch';
|
|
|
10
9
|
import { ThemeProvider, useTheme } from '../../components/theme';
|
|
11
10
|
import { Loading } from '../../components/loading';
|
|
12
11
|
import { useBlob, useDocumentTitle } from './documentViewer';
|
|
13
|
-
import { Icon } from '
|
|
12
|
+
import { Icon } from '../../components/icon';
|
|
14
13
|
import { faDiagramProject } from '@fortawesome/free-solid-svg-icons/faDiagramProject';
|
|
15
14
|
import { faDownload } from '@fortawesome/free-solid-svg-icons/faDownload';
|
|
16
15
|
import { faExpand } from '@fortawesome/free-solid-svg-icons/faExpand';
|
|
@@ -20,6 +19,7 @@ import { faRotateLeft } from '@fortawesome/free-solid-svg-icons/faRotateLeft';
|
|
|
20
19
|
import { faRotateRight } from '@fortawesome/free-solid-svg-icons/faRotateRight';
|
|
21
20
|
import { faMagnifyingGlassMinus } from '@fortawesome/free-solid-svg-icons/faMagnifyingGlassMinus';
|
|
22
21
|
import { faMagnifyingGlassPlus } from '@fortawesome/free-solid-svg-icons/faMagnifyingGlassPlus';
|
|
22
|
+
import { Pinchable } from '../../components/pinchable';
|
|
23
23
|
const commonButtonProps = {
|
|
24
24
|
variant: 'text',
|
|
25
25
|
shape: 'circular'
|
|
@@ -27,7 +27,7 @@ const commonButtonProps = {
|
|
|
27
27
|
export const SvgViewer = memo((props) => {
|
|
28
28
|
return (_jsx(ThemeProvider, { children: _jsx(SvgViewerContent, { ...props }) }));
|
|
29
29
|
});
|
|
30
|
-
function SvgViewerContent({ showDownload = true, themeSwitchable = true, onThemeChange,
|
|
30
|
+
function SvgViewerContent({ showDownload = true, themeSwitchable = true, onThemeChange, pinchableProps,
|
|
31
31
|
// 从DocumentViewerBaseProps继承来的属性
|
|
32
32
|
src, filename, onError, setDocumentTitle, ...props }) {
|
|
33
33
|
/**
|
|
@@ -57,13 +57,17 @@ src, filename, onError, setDocumentTitle, ...props }) {
|
|
|
57
57
|
return URL.createObjectURL(file);
|
|
58
58
|
}
|
|
59
59
|
return;
|
|
60
|
-
}, [blob]);
|
|
60
|
+
}, [blob, filename]);
|
|
61
61
|
/**
|
|
62
62
|
* ---------------------------------------------------------------
|
|
63
63
|
* 工具栏
|
|
64
64
|
*/
|
|
65
|
-
const
|
|
65
|
+
const pinchableRef = useRef(null);
|
|
66
66
|
const [rotate, setRotate] = useState(0);
|
|
67
|
+
const resetHandler = () => {
|
|
68
|
+
pinchableRef.current.reset();
|
|
69
|
+
setRotate(0);
|
|
70
|
+
};
|
|
67
71
|
const downloadHandler = () => {
|
|
68
72
|
if (src) {
|
|
69
73
|
const a = document.createElement('a');
|
|
@@ -73,9 +77,9 @@ src, filename, onError, setDocumentTitle, ...props }) {
|
|
|
73
77
|
}
|
|
74
78
|
};
|
|
75
79
|
const objectOnLoad = () => {
|
|
76
|
-
transformWrapperRef.current
|
|
80
|
+
// transformWrapperRef.current!.centerView()
|
|
77
81
|
};
|
|
78
|
-
return (_jsxs(Loading, { ...props, css: svgStyle, className: clsx(classes.svgViewer, props.className), open: loading, children: [_jsxs("div", { className: classes.svgToolbar, children: [_jsxs("div", { className: classes.svgTitle, children: [_jsx(Icon, { icon: faDiagramProject, className: classes.svgIcon }), _jsx("div", { children: filename })] }), _jsxs("div", { className: classes.svgToolbarRight, children: [_jsx(Tooltip, { title: "\u65CB\u8F6C-90\u00B0", children: _jsx(Button, { ...commonButtonProps, onClick: () => setRotate(rotate - 90), children: _jsx(Icon, { icon: faRotateLeft }) }) }), _jsx(Tooltip, { title: "\u65CB\u8F6C90\u00B0", children: _jsx(Button, { ...commonButtonProps, onClick: () => setRotate(rotate + 90), children: _jsx(Icon, { icon: faRotateRight }) }) }), _jsx(Tooltip, { title: "\u7F29\u5C0F", children: _jsx(Button, { ...commonButtonProps, onClick: () =>
|
|
82
|
+
return (_jsxs(Loading, { ...props, css: svgStyle, className: clsx(classes.svgViewer, props.className), open: loading, children: [_jsxs("div", { className: classes.svgToolbar, children: [_jsxs("div", { className: classes.svgTitle, children: [_jsx(Icon, { icon: faDiagramProject, className: classes.svgIcon }), _jsx("div", { children: filename })] }), _jsxs("div", { className: classes.svgToolbarRight, children: [_jsx(Tooltip, { title: "\u65CB\u8F6C-90\u00B0", children: _jsx(Button, { ...commonButtonProps, onClick: () => setRotate(rotate - 90), children: _jsx(Icon, { icon: faRotateLeft }) }) }), _jsx(Tooltip, { title: "\u65CB\u8F6C90\u00B0", children: _jsx(Button, { ...commonButtonProps, onClick: () => setRotate(rotate + 90), children: _jsx(Icon, { icon: faRotateRight }) }) }), _jsx(Tooltip, { title: "\u7F29\u5C0F", children: _jsx(Button, { ...commonButtonProps, onClick: () => pinchableRef.current.zoomOut(), children: _jsx(Icon, { icon: faMagnifyingGlassMinus }) }) }), _jsx(Tooltip, { title: "\u653E\u5927", children: _jsx(Button, { ...commonButtonProps, onClick: () => pinchableRef.current.zoomIn(), children: _jsx(Icon, { icon: faMagnifyingGlassPlus }) }) }), _jsx(Tooltip, { title: "\u9002\u5E94\u5C4F\u5E55", children: _jsx(Button, { ...commonButtonProps, onClick: resetHandler, children: _jsx(Icon, { icon: faExpand }) }) }), themeSwitchable &&
|
|
79
83
|
_jsxs(_Fragment, { children: [_jsx(Divider, { className: classes.svgDivider, orientation: "vertical" }), _jsx(Switch, { checkedLabel: _jsx(Icon, { icon: faSun }), unCheckedLabel: _jsx(Icon, { icon: faMoon }), checked: mode === 'light', onChange: themeChangeHandler })] }), showDownload &&
|
|
80
|
-
_jsxs(_Fragment, { children: [_jsx(Divider, { className: classes.svgDivider, orientation: "vertical" }), _jsx(Button, { prefix: _jsx(Icon, { icon: faDownload }), onClick: downloadHandler, children: "\u4E0B\u8F7D" })] })] })] }), _jsx(
|
|
84
|
+
_jsxs(_Fragment, { children: [_jsx(Divider, { className: classes.svgDivider, orientation: "vertical" }), _jsx(Button, { prefix: _jsx(Icon, { icon: faDownload }), onClick: downloadHandler, children: "\u4E0B\u8F7D" })] })] })] }), _jsx(Pinchable, { ...pinchableProps, ref: pinchableRef, className: clsx(classes.svgContainer, pinchableProps?.className), children: _jsx("div", { className: classes.svgContent, children: _jsx("object", { className: classes.object, data: data, style: { rotate: `${rotate}deg` }, onLoad: objectOnLoad, onError: onError }) }) })] }));
|
|
81
85
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RefObject, Dispatch, SetStateAction } from 'react';
|
|
2
|
+
import { DefineElement } from '../types';
|
|
2
3
|
/**
|
|
3
4
|
* 获取渲染前的值
|
|
4
5
|
* @param value
|
|
@@ -48,3 +49,10 @@ export declare function useLoading<A extends any[], R>(fn: (...args: A) => R | P
|
|
|
48
49
|
(...args: A) => Promise<R>,
|
|
49
50
|
Dispatch<SetStateAction<boolean>>
|
|
50
51
|
];
|
|
52
|
+
/**
|
|
53
|
+
* 获取容器元素,通常用于`container`或`effectContainer`属性
|
|
54
|
+
* @param container
|
|
55
|
+
* @param effectContainer
|
|
56
|
+
* @param defaultContainer 默认为`document.body`
|
|
57
|
+
*/
|
|
58
|
+
export declare function useContainer<T extends HTMLElement | null>(container?: DefineElement<T>, effectContainer?: DefineElement<T>, defaultContainer?: T): RefObject<T>;
|
package/dist/esm/utils/hooks.js
CHANGED
|
@@ -113,3 +113,24 @@ export function useLoading(fn, referredLoading = false) {
|
|
|
113
113
|
setLoading
|
|
114
114
|
];
|
|
115
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* 获取容器元素,通常用于`container`或`effectContainer`属性
|
|
118
|
+
* @param container
|
|
119
|
+
* @param effectContainer
|
|
120
|
+
* @param defaultContainer 默认为`document.body`
|
|
121
|
+
*/
|
|
122
|
+
export function useContainer(container, effectContainer, defaultContainer = document.body) {
|
|
123
|
+
const [containerEl, setContainerEl] = useDerivedState(prev => {
|
|
124
|
+
if (container) {
|
|
125
|
+
return typeof container === 'function' ? container() : container;
|
|
126
|
+
}
|
|
127
|
+
return prev || defaultContainer;
|
|
128
|
+
}, [container, defaultContainer]);
|
|
129
|
+
useEffect(() => {
|
|
130
|
+
if (effectContainer) {
|
|
131
|
+
const el = typeof effectContainer === 'function' ? effectContainer() : effectContainer;
|
|
132
|
+
setContainerEl(el);
|
|
133
|
+
}
|
|
134
|
+
}, []);
|
|
135
|
+
return containerEl;
|
|
136
|
+
}
|