@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.
Files changed (76) hide show
  1. package/dist/cjs/components/calendar/calendar.style.js +124 -124
  2. package/dist/cjs/components/clickAway/clickAway.d.ts +1 -1
  3. package/dist/cjs/components/status/status.d.ts +6 -6
  4. package/dist/cjs/components/tree/tree.style.d.ts +1 -0
  5. package/dist/cjs/components/tree/tree.style.js +7 -4
  6. package/dist/cjs/components/tree/treeDnd.js +10 -1
  7. package/dist/cjs/components/tree/treeNode.js +7 -2
  8. package/dist/cjs/components/treeSelect/treeSelect.js +1 -1
  9. package/dist/esm/components/calendar/calendar.style.js +124 -124
  10. package/dist/esm/components/clickAway/clickAway.d.ts +1 -1
  11. package/dist/esm/components/status/status.d.ts +6 -6
  12. package/dist/esm/components/tree/tree.style.d.ts +1 -0
  13. package/dist/esm/components/tree/tree.style.js +7 -4
  14. package/dist/esm/components/tree/treeDnd.js +11 -2
  15. package/dist/esm/components/tree/treeNode.js +7 -2
  16. package/dist/esm/components/treeSelect/treeSelect.js +1 -1
  17. package/documentation/dist/assets/index-DvrKS6Tv.js +7747 -0
  18. package/documentation/dist/atom-one-dark.min.css +1 -0
  19. package/documentation/dist/components/accordion.md +38 -0
  20. package/documentation/dist/components/actionSheet.md +49 -0
  21. package/documentation/dist/components/alert.md +38 -0
  22. package/documentation/dist/components/anchorList.md +36 -0
  23. package/documentation/dist/components/autocomplete.md +68 -0
  24. package/documentation/dist/components/avatar.md +79 -0
  25. package/documentation/dist/components/badge.md +33 -0
  26. package/documentation/dist/components/bottomNavigation.md +39 -0
  27. package/documentation/dist/components/breadcrumb.md +28 -0
  28. package/documentation/dist/components/bubbleConfirm.md +34 -0
  29. package/documentation/dist/components/button.md +62 -0
  30. package/documentation/dist/components/card.md +30 -0
  31. package/documentation/dist/components/cascade.md +48 -0
  32. package/documentation/dist/components/checkbox.md +36 -0
  33. package/documentation/dist/components/colorPicker.md +27 -0
  34. package/documentation/dist/components/contextMenu.md +27 -0
  35. package/documentation/dist/components/counter.md +29 -0
  36. package/documentation/dist/components/dataGrid.md +112 -0
  37. package/documentation/dist/components/dateTimePicker.md +35 -0
  38. package/documentation/dist/components/dateTimeRangePicker.md +36 -0
  39. package/documentation/dist/components/descriptions.md +35 -0
  40. package/documentation/dist/components/dialog.md +56 -0
  41. package/documentation/dist/components/divider.md +26 -0
  42. package/documentation/dist/components/drawer.md +40 -0
  43. package/documentation/dist/components/flex.md +20 -0
  44. package/documentation/dist/components/form.md +131 -0
  45. package/documentation/dist/components/formDialog.md +36 -0
  46. package/documentation/dist/components/grid.md +34 -0
  47. package/documentation/dist/components/highlight.md +26 -0
  48. package/documentation/dist/components/image.md +90 -0
  49. package/documentation/dist/components/input.md +39 -0
  50. package/documentation/dist/components/loading.md +46 -0
  51. package/documentation/dist/components/menu.md +85 -0
  52. package/documentation/dist/components/pagination.md +38 -0
  53. package/documentation/dist/components/pickerDialog.md +56 -0
  54. package/documentation/dist/components/placeholder.md +30 -0
  55. package/documentation/dist/components/progress.md +43 -0
  56. package/documentation/dist/components/radio.md +37 -0
  57. package/documentation/dist/components/rating.md +35 -0
  58. package/documentation/dist/components/resizable.md +41 -0
  59. package/documentation/dist/components/scrollbar.md +31 -0
  60. package/documentation/dist/components/segmented.md +57 -0
  61. package/documentation/dist/components/select.md +30 -0
  62. package/documentation/dist/components/skeleton.md +26 -0
  63. package/documentation/dist/components/slidableActions.md +53 -0
  64. package/documentation/dist/guide/appComponent.md +30 -0
  65. package/documentation/dist/guide/globalMethods.md +238 -0
  66. package/documentation/dist/guide/icon.md +57 -0
  67. package/documentation/dist/guide/introduction.md +2 -0
  68. package/documentation/dist/guide/overrideProps.md +0 -0
  69. package/documentation/dist/guide/startup.md +23 -0
  70. package/documentation/dist/guide/theme.md +249 -0
  71. package/documentation/dist/index.html +13 -0
  72. package/documentation/dist/logo.png +0 -0
  73. package/extensions/curd.cjs +5 -5
  74. package/extensions/documentViewer.cjs +5 -5
  75. package/extensions/textFormatter.cjs +5 -5
  76. 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/free-solid-svg-icons").IconDefinition;
7
- success: import("@fortawesome/free-solid-svg-icons").IconDefinition;
8
- warning: import("@fortawesome/free-solid-svg-icons").IconDefinition;
9
- error: import("@fortawesome/free-solid-svg-icons").IconDefinition;
10
- confirm: import("@fortawesome/free-solid-svg-icons").IconDefinition;
11
- unknown: import("@fortawesome/free-solid-svg-icons").IconDefinition;
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;
@@ -7,6 +7,7 @@ export declare const classes: {
7
7
  indent: string;
8
8
  node: string;
9
9
  checkbox: string;
10
+ container: string;
10
11
  suffix: string;
11
12
  contentWrap: string;
12
13
  levelBlock: string;
@@ -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)