@canlooks/can-ui 0.0.90 → 0.0.92
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/calendar/calendar.style.js +124 -124
- package/dist/cjs/components/clickAway/clickAway.d.ts +1 -1
- package/dist/cjs/components/status/status.d.ts +6 -6
- package/dist/cjs/components/tree/tree.style.d.ts +1 -0
- package/dist/cjs/components/tree/tree.style.js +7 -4
- package/dist/cjs/components/tree/treeDnd.js +10 -1
- package/dist/cjs/components/tree/treeNode.js +7 -2
- package/dist/cjs/components/treeSelect/treeSelect.js +1 -1
- package/dist/esm/components/calendar/calendar.style.js +124 -124
- package/dist/esm/components/clickAway/clickAway.d.ts +1 -1
- package/dist/esm/components/status/status.d.ts +6 -6
- package/dist/esm/components/tree/tree.style.d.ts +1 -0
- package/dist/esm/components/tree/tree.style.js +7 -4
- package/dist/esm/components/tree/treeDnd.js +11 -2
- package/dist/esm/components/tree/treeNode.js +7 -2
- package/dist/esm/components/treeSelect/treeSelect.js +1 -1
- package/documentation/dist/assets/index-DvrKS6Tv.js +7747 -0
- package/documentation/dist/atom-one-dark.min.css +1 -0
- package/documentation/dist/components/accordion.md +38 -0
- package/documentation/dist/components/actionSheet.md +49 -0
- package/documentation/dist/components/alert.md +38 -0
- package/documentation/dist/components/anchorList.md +36 -0
- package/documentation/dist/components/autocomplete.md +68 -0
- package/documentation/dist/components/avatar.md +79 -0
- package/documentation/dist/components/badge.md +33 -0
- package/documentation/dist/components/bottomNavigation.md +39 -0
- package/documentation/dist/components/breadcrumb.md +28 -0
- package/documentation/dist/components/bubbleConfirm.md +34 -0
- package/documentation/dist/components/button.md +62 -0
- package/documentation/dist/components/card.md +30 -0
- package/documentation/dist/components/cascade.md +48 -0
- package/documentation/dist/components/checkbox.md +36 -0
- package/documentation/dist/components/colorPicker.md +27 -0
- package/documentation/dist/components/contextMenu.md +27 -0
- package/documentation/dist/components/counter.md +29 -0
- package/documentation/dist/components/dataGrid.md +112 -0
- package/documentation/dist/components/dateTimePicker.md +35 -0
- package/documentation/dist/components/dateTimeRangePicker.md +36 -0
- package/documentation/dist/components/descriptions.md +35 -0
- package/documentation/dist/components/dialog.md +56 -0
- package/documentation/dist/components/divider.md +26 -0
- package/documentation/dist/components/drawer.md +40 -0
- package/documentation/dist/components/flex.md +20 -0
- package/documentation/dist/components/form.md +131 -0
- package/documentation/dist/components/formDialog.md +36 -0
- package/documentation/dist/components/grid.md +34 -0
- package/documentation/dist/components/highlight.md +26 -0
- package/documentation/dist/components/image.md +90 -0
- package/documentation/dist/components/input.md +39 -0
- package/documentation/dist/components/loading.md +46 -0
- package/documentation/dist/components/menu.md +85 -0
- package/documentation/dist/components/pagination.md +38 -0
- package/documentation/dist/components/pickerDialog.md +56 -0
- package/documentation/dist/components/placeholder.md +30 -0
- package/documentation/dist/components/progress.md +43 -0
- package/documentation/dist/components/radio.md +37 -0
- package/documentation/dist/components/rating.md +35 -0
- package/documentation/dist/components/resizable.md +41 -0
- package/documentation/dist/components/scrollbar.md +31 -0
- package/documentation/dist/components/segmented.md +57 -0
- package/documentation/dist/components/select.md +30 -0
- package/documentation/dist/components/skeleton.md +26 -0
- package/documentation/dist/components/slidableActions.md +53 -0
- package/documentation/dist/guide/appComponent.md +30 -0
- package/documentation/dist/guide/globalMethods.md +238 -0
- package/documentation/dist/guide/icon.md +57 -0
- package/documentation/dist/guide/introduction.md +2 -0
- package/documentation/dist/guide/overrideProps.md +0 -0
- package/documentation/dist/guide/startup.md +23 -0
- package/documentation/dist/guide/theme.md +249 -0
- package/documentation/dist/index.html +13 -0
- package/documentation/dist/logo.png +0 -0
- package/extensions/curd.cjs +5 -5
- package/extensions/documentViewer.cjs +5 -5
- package/extensions/textFormatter.cjs +5 -5
- package/package.json +1 -1
|
@@ -3,12 +3,12 @@ import { DivProps, Status as IStatus } from '../../types';
|
|
|
3
3
|
import { FontAwesomeIconProps } from '@fortawesome/react-fontawesome';
|
|
4
4
|
export type StatusType = IStatus | 'confirm' | 'unknown';
|
|
5
5
|
export declare const statusMapToIconDefinition: {
|
|
6
|
-
info: import("@fortawesome/
|
|
7
|
-
success: import("@fortawesome/
|
|
8
|
-
warning: import("@fortawesome/
|
|
9
|
-
error: import("@fortawesome/
|
|
10
|
-
confirm: import("@fortawesome/
|
|
11
|
-
unknown: import("@fortawesome/
|
|
6
|
+
info: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
7
|
+
success: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
8
|
+
warning: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
9
|
+
error: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
10
|
+
confirm: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
11
|
+
unknown: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
12
12
|
};
|
|
13
13
|
export interface StatusIconProps extends Partial<FontAwesomeIconProps> {
|
|
14
14
|
status?: StatusType;
|
|
@@ -4,6 +4,7 @@ import Color from 'color';
|
|
|
4
4
|
export const classes = defineInnerClasses('tree', [
|
|
5
5
|
'levelBlock',
|
|
6
6
|
'search',
|
|
7
|
+
'container',
|
|
7
8
|
'node',
|
|
8
9
|
'contentWrap',
|
|
9
10
|
'indent',
|
|
@@ -29,6 +30,12 @@ export const style = defineCss(({ spacing, mode, borderRadius, text, easing, gra
|
|
|
29
30
|
.${classes.search} {
|
|
30
31
|
margin-bottom: ${spacing[3]}px;
|
|
31
32
|
}
|
|
33
|
+
|
|
34
|
+
.${classes.container}[data-dragging=true] {
|
|
35
|
+
&, * {
|
|
36
|
+
cursor: grabbing;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
32
39
|
|
|
33
40
|
.${classes.node} {
|
|
34
41
|
display: flex;
|
|
@@ -222,10 +229,6 @@ export const style = defineCss(({ spacing, mode, borderRadius, text, easing, gra
|
|
|
222
229
|
|
|
223
230
|
&[data-sortable=true] {
|
|
224
231
|
.${classes.node} {
|
|
225
|
-
&:not(:has(.${classes.dragHandle})) {
|
|
226
|
-
cursor: grab;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
232
|
&[data-dragging=true] {
|
|
230
233
|
&, &:active {
|
|
231
234
|
background-color: ${selectedBg};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { createContext, memo, useContext, useRef, useState } from 'react';
|
|
2
|
+
import { createContext, memo, useContext, useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { useSyncState } from '../../utils';
|
|
4
|
+
import { classes } from './tree.style';
|
|
4
5
|
export const TreeDndContext = createContext({});
|
|
5
6
|
export function useTreeDndContext() {
|
|
6
7
|
return useContext(TreeDndContext);
|
|
@@ -10,10 +11,18 @@ export const TreeDnd = memo(({ sortable, showDragHandle, onSort, containerRef, c
|
|
|
10
11
|
const dragging = useState(void 0);
|
|
11
12
|
const overing = useState(void 0);
|
|
12
13
|
const placement = useSyncState(void 0);
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (dragging[0]) {
|
|
16
|
+
document.documentElement.style.cursor = 'grabbing';
|
|
17
|
+
}
|
|
18
|
+
return () => {
|
|
19
|
+
document.documentElement.style.cursor = '';
|
|
20
|
+
};
|
|
21
|
+
}, [dragging[0]]);
|
|
13
22
|
const overingTimer = useRef(void 0);
|
|
14
23
|
return (_jsx(TreeDndContext, { value: {
|
|
15
24
|
sortable, showDragHandle, onSort, containerRef,
|
|
16
25
|
isOffsetSatisfied, dragging, overing, placement,
|
|
17
26
|
overingTimer
|
|
18
|
-
}, children: children }));
|
|
27
|
+
}, children: _jsx("div", { className: classes.container, "data-dragging": !!dragging[0], children: children }) }));
|
|
19
28
|
});
|
|
@@ -27,6 +27,10 @@ export const TreeNode = memo(({ value, label, prefix, suffix, disabled, _level =
|
|
|
27
27
|
* 拖拽部分
|
|
28
28
|
*/
|
|
29
29
|
const { sortable, showDragHandle, onSort, containerRef, isOffsetSatisfied: [isOffsetSatisfied, setIsOffsetSatisfied], dragging: [dragging, setDragging], overing: [overing, setOvering], placement: [placement, setPlacement], overingTimer } = useTreeDndContext();
|
|
30
|
+
const onClick = (e) => {
|
|
31
|
+
props.onClick?.(e);
|
|
32
|
+
!showCheckbox && clickHandler();
|
|
33
|
+
};
|
|
30
34
|
const dragHandleProps = useDraggable({
|
|
31
35
|
disabled: !sortable,
|
|
32
36
|
onDragStart(e) {
|
|
@@ -48,7 +52,8 @@ export const TreeNode = memo(({ value, label, prefix, suffix, disabled, _level =
|
|
|
48
52
|
placement: isOffsetSatisfied ? 'child' : placement.current
|
|
49
53
|
});
|
|
50
54
|
}
|
|
51
|
-
}
|
|
55
|
+
},
|
|
56
|
+
onClick
|
|
52
57
|
});
|
|
53
58
|
const nodeRef = useRef(null);
|
|
54
59
|
const activeParentBlock = (target) => {
|
|
@@ -95,7 +100,7 @@ export const TreeNode = memo(({ value, label, prefix, suffix, disabled, _level =
|
|
|
95
100
|
const renderedIndents = useMemo(() => {
|
|
96
101
|
return Array(_level).fill(void 0).map((_, i) => _jsx("div", { className: classes.indent, style: { width: indent } }, i));
|
|
97
102
|
}, [_level, indent]);
|
|
98
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { ...props, ref: cloneRef(nodeRef, props.ref), className: clsx(classes.node, props.className), "data-selected": status === 2, "data-read-only": readOnly, "data-disabled": disabled, "data-dragging": dragging === value, ...!showDragHandle && dragHandleProps, children: [renderedIndents, _jsx(Button, { className: classes.expand, variant: "plain", color: "text.secondary", onClick: e => {
|
|
103
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { ...props, ref: cloneRef(nodeRef, props.ref), className: clsx(classes.node, props.className), "data-selected": status === 2, "data-read-only": readOnly, "data-disabled": disabled, "data-dragging": dragging === value, ...!showDragHandle && dragHandleProps, onClick: showDragHandle ? onClick : props.onClick, children: [renderedIndents, _jsx(Button, { className: classes.expand, variant: "plain", color: "text.secondary", onClick: e => {
|
|
99
104
|
e.stopPropagation();
|
|
100
105
|
toggleExpanded(value);
|
|
101
106
|
}, onPointerDown: e => e.stopPropagation(), children: renderExpandIcon
|
|
@@ -68,7 +68,7 @@ placeholder = '请选择', autoFocus, clearable, onClear, ...props }) => {
|
|
|
68
68
|
}
|
|
69
69
|
return (_jsx("div", { className: classes.backfillWrap, children: optionsMap.get(innerValue)?.[props.labelKey] ?? innerValue }));
|
|
70
70
|
};
|
|
71
|
-
return (_jsx(Popper, { css: popperStyle, open: innerOpen.current, onOpenChange: openChangeHandler, placement: "bottom", variant: "collapse", trigger: ['click', 'enter'], disabled: props.disabled || props.readOnly, sizeAdaptable: sizeAdaptable, content: _jsx(Tree, { ...props, nodes: options, value: innerValue, onChange: setInnerValue }), ...popperProps, popperRef: popperRef, onPointerDown: e => {
|
|
71
|
+
return (_jsx(Popper, { css: popperStyle, open: innerOpen.current, onOpenChange: openChangeHandler, placement: "bottom", variant: "collapse", trigger: ['click', 'enter'], disabled: props.disabled || props.readOnly, sizeAdaptable: sizeAdaptable, content: _jsx(Tree, { primaryKey: "value", ...props, nodes: options, value: innerValue, onChange: setInnerValue }), ...popperProps, popperRef: popperRef, onPointerDown: e => {
|
|
72
72
|
popperProps?.onPointerDown?.(e);
|
|
73
73
|
e.preventDefault();
|
|
74
74
|
}, children: _jsx(InputBase, { clearable: !!props.multiple, css: style, className: clsx(classes.root, props.className), "data-focused": open, value: innerValue, onClear: clearHandler, placeholder: placeholder, autoFocus: autoFocus, disabled: props.disabled, readOnly: props.readOnly, children: inputBaseProps => _jsxs("div", { className: classes.contentWrap, children: [isNoValue(innerValue)
|