@central-design-system/components 3.0.0-beta.22 → 3.0.0-beta.24

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 (74) hide show
  1. package/dist/cds.css +1 -1
  2. package/dist/cds.d.ts +6 -3
  3. package/dist/cds.es.js +17943 -15168
  4. package/dist/cds.umd.js +5 -5
  5. package/dist/components/CdsCombobox/CdsCombobox.vue.d.ts +18 -0
  6. package/dist/components/CdsDropdown/CdsDropdown.vue.d.ts +26 -2
  7. package/dist/components/CdsMenu/CdsMenu.vue.d.ts +18 -0
  8. package/dist/components/CdsModal/CdsModal.vue.d.ts +24 -2
  9. package/dist/components/CdsNotification/CdsNotificationAlert.vue.d.ts +18 -0
  10. package/dist/components/CdsOverlay/CdsOverlay.vue.d.ts +34 -8
  11. package/dist/components/CdsOverlay/composable/activator.d.ts +18 -5
  12. package/dist/components/CdsOverlay/composable/locationStrategies.d.ts +1 -0
  13. package/dist/components/CdsOverlay/composable/scrollStrategies.d.ts +1 -1
  14. package/dist/components/CdsOverlay/composable/teleport.d.ts +20 -1
  15. package/dist/components/CdsSkeletonLoader/CdsSkeletonLoader.vue.d.ts +3 -3
  16. package/dist/components/CdsTable/CdsTable.vue.d.ts +39 -30
  17. package/dist/components/CdsTable/components/Table/InternalTable.d.ts +33 -3
  18. package/dist/components/CdsTable/components/TableProvider.d.ts +33 -3
  19. package/dist/components/CdsTable/composable/table.d.ts +11 -1
  20. package/dist/components/CdsTable/interface.d.ts +2 -5
  21. package/dist/components/CdsTable/utils/column.d.ts +1 -3
  22. package/dist/components/CdsTable/utils/index.d.ts +0 -1
  23. package/dist/components/CdsTooltip/CdsTooltip.vue.d.ts +18 -0
  24. package/dist/components/CdsTree/CdsTree.vue.d.ts +698 -0
  25. package/dist/components/CdsTree/CdsTreeDirectory.vue.d.ts +448 -0
  26. package/dist/components/CdsTree/CdsTreeNode.vue.d.ts +119 -0
  27. package/dist/components/CdsTree/components/DropIndicator.d.ts +9 -0
  28. package/dist/components/CdsTree/components/Indent.d.ts +10 -0
  29. package/dist/components/CdsTree/components/MotionTreeNode.d.ts +128 -0
  30. package/dist/components/CdsTree/components/NodeList.d.ts +191 -0
  31. package/dist/components/CdsTree/components/SwitcherIcon.d.ts +12 -0
  32. package/dist/components/CdsTree/components/TreeContext.d.ts +81 -0
  33. package/dist/components/CdsTree/components/TreeProvider.d.ts +619 -0
  34. package/dist/components/CdsTree/components/VirtualList/Filler.d.ts +12 -0
  35. package/dist/components/CdsTree/components/VirtualList/Item.d.ts +6 -0
  36. package/dist/components/CdsTree/components/VirtualList/ScrollBar.d.ts +33 -0
  37. package/dist/components/CdsTree/components/VirtualList/VirtualList.d.ts +84 -0
  38. package/dist/components/CdsTree/components/VirtualList/features/index.d.ts +5 -0
  39. package/dist/components/CdsTree/components/VirtualList/features/useFrameWheel.d.ts +10 -0
  40. package/dist/components/CdsTree/components/VirtualList/features/useHeights.d.ts +9 -0
  41. package/dist/components/CdsTree/components/VirtualList/features/useMobileTouchMove.d.ts +2 -0
  42. package/dist/components/CdsTree/components/VirtualList/features/useOriginScroll.d.ts +2 -0
  43. package/dist/components/CdsTree/components/VirtualList/features/useScrollTo.d.ts +4 -0
  44. package/dist/components/CdsTree/components/VirtualList/index.d.ts +2 -0
  45. package/dist/components/CdsTree/components/VirtualList/interface.d.ts +10 -0
  46. package/dist/components/CdsTree/composable/events.d.ts +133 -0
  47. package/dist/components/CdsTree/composable/index.d.ts +2 -0
  48. package/dist/components/CdsTree/composable/tree.d.ts +273 -0
  49. package/dist/components/CdsTree/composable/treeNode.d.ts +75 -0
  50. package/dist/components/CdsTree/index.d.ts +5 -0
  51. package/dist/components/CdsTree/interface.d.ts +104 -4
  52. package/dist/components/CdsTree/utils/data.d.ts +70 -0
  53. package/dist/components/CdsTree/utils/diff.d.ts +6 -0
  54. package/dist/components/CdsTree/utils/directory.d.ts +9 -0
  55. package/dist/components/CdsTree/utils/index.d.ts +2 -0
  56. package/dist/components/CdsUploader/CdsUploader.vue.d.ts +1 -1
  57. package/dist/components/index.d.ts +5 -1
  58. package/dist/composable/delay.d.ts +3 -2
  59. package/dist/composable/overlay.d.ts +9 -1
  60. package/dist/composable/transition.d.ts +2 -0
  61. package/dist/create.d.ts +2 -0
  62. package/dist/globals.d.ts +7 -0
  63. package/dist/transitions/collapseTransition.d.ts +11 -0
  64. package/dist/transitions/index.d.ts +1 -0
  65. package/dist/utils/dom/bindProps.d.ts +2 -0
  66. package/dist/utils/dom/box.d.ts +1 -0
  67. package/dist/utils/helpers.d.ts +7 -5
  68. package/dist/utils/index.d.ts +3 -0
  69. package/dist/utils/use/flattenChildren.d.ts +3 -0
  70. package/package.json +1 -1
  71. package/src/scss/mixins/typo.scss +0 -3
  72. package/src/scss/modules/_transition.scss +31 -0
  73. package/src/scss/themes/index.ts +1 -1
  74. /package/dist/{components/CdsTable/utils → utils/use}/listener.d.ts +0 -0
@@ -1,8 +1,37 @@
1
+ import { ITreeProps } from './composable';
1
2
  import type { CSSProperties, VNode } from 'vue';
3
+ import type { TCdsIconsName } from '@central-design-system/icons';
2
4
  export declare namespace NTree {
3
5
  type TKey = string | number;
4
- type TNodeElement = VNode<any>;
6
+ type TNodeElement = VNode<ITreeProps>;
5
7
  type TGetCheckDisabled<RecordType> = (record: RecordType) => boolean;
8
+ type TExpandAction = false | 'click' | 'doubleclick' | 'dblclick';
9
+ type TDraggableFn = (node: IDataNode) => boolean;
10
+ type TAllowDrop<TreeDataType extends IBasicDataNode = IDataNode> = (options: IAllowDropOptions<TreeDataType>) => boolean;
11
+ type TEventHandler = (...args: any[]) => void;
12
+ type TDragNodeEvent = {
13
+ key: TKey;
14
+ eventData: IEventDataNode;
15
+ eventKey: TKey;
16
+ selectHandle: HTMLSpanElement;
17
+ pos: string;
18
+ };
19
+ type TNodeMouseEventHandler = (event: MouseEvent, node: IEventDataNode) => void;
20
+ type TNodeMouseEventParams = {
21
+ event: MouseEvent;
22
+ node: IEventDataNode;
23
+ };
24
+ type TNodeDragEventParams = {
25
+ event: DragEvent;
26
+ node: IEventDataNode;
27
+ };
28
+ type TNodeDragEventHandler = (event: DragEvent, node: TDragNodeEvent | null, outsideTree?: boolean) => void;
29
+ type TIconType = any;
30
+ type DraggableFn = (node: IDataNode) => boolean;
31
+ type TDraggableConfig = {
32
+ icon?: TCdsIconsName | boolean;
33
+ nodeDraggable?: DraggableFn;
34
+ };
6
35
  interface IBasicDataNode {
7
36
  checkable?: boolean;
8
37
  selectable?: boolean;
@@ -10,7 +39,8 @@ export declare namespace NTree {
10
39
  disableCheckbox?: boolean;
11
40
  icon?: any;
12
41
  isLeaf?: boolean;
13
- switcherIcon?: any;
42
+ switcherIcon?: TIconType;
43
+ /** Set style of TreeNode. This is not recommend if you don't have any force requirement */
14
44
  class?: string;
15
45
  style?: CSSProperties;
16
46
  slots?: Record<string, string>;
@@ -18,7 +48,7 @@ export declare namespace NTree {
18
48
  }
19
49
  interface IDataNode extends IBasicDataNode {
20
50
  children?: IDataNode[];
21
- key: string | number;
51
+ key?: string | number;
22
52
  title?: any;
23
53
  }
24
54
  interface IEntity {
@@ -29,7 +59,7 @@ export declare namespace NTree {
29
59
  parent?: IEntity;
30
60
  children?: IEntity[];
31
61
  }
32
- interface EventDataNode extends IDataNode {
62
+ interface IEventDataNode extends IDataNode {
33
63
  expanded?: boolean;
34
64
  selected?: boolean;
35
65
  checked: boolean;
@@ -54,7 +84,77 @@ export declare namespace NTree {
54
84
  }
55
85
  interface IFieldNames {
56
86
  title?: string;
87
+ /** @private Internal usage, safe to remove if no need */
88
+ _title?: string[];
57
89
  key?: string;
58
90
  children?: string;
59
91
  }
92
+ interface IAllowDropOptions<TreeDataType extends IBasicDataNode = IDataNode> {
93
+ dragNode: IEventDataNode;
94
+ dropNode: TreeDataType;
95
+ dropPosition: -1 | 0 | 1;
96
+ }
97
+ interface ICheckInfo {
98
+ event: 'check';
99
+ node: IEventDataNode;
100
+ checked: boolean;
101
+ nativeEvent: MouseEvent;
102
+ checkedNodes: IDataNode[];
103
+ checkedNodesPositions?: {
104
+ node: IDataNode;
105
+ pos: string;
106
+ }[];
107
+ halfCheckedKeys?: TKey[];
108
+ }
109
+ interface IFlattenNode {
110
+ parent: IFlattenNode | null;
111
+ children: IFlattenNode[] | null;
112
+ pos: string;
113
+ data: IDataNode;
114
+ title: any;
115
+ key: TKey;
116
+ isStart: boolean[];
117
+ isEnd: boolean[];
118
+ }
119
+ interface ITreeNodeRequiredProps<TreeDataType extends IBasicDataNode = IDataNode> {
120
+ expandedKeysSet: Set<TKey>;
121
+ selectedKeysSet: Set<TKey>;
122
+ loadedKeysSet: Set<TKey>;
123
+ loadingKeysSet: Set<TKey>;
124
+ checkedKeysSet: Set<TKey>;
125
+ halfCheckedKeysSet: Set<TKey>;
126
+ dragOverNodeKey: TKey | null;
127
+ dropPosition: number | null;
128
+ keyEntities: Record<TKey, IDataEntity<TreeDataType>>;
129
+ }
130
+ interface IDragState {
131
+ draggingNodeKey: TKey | null;
132
+ dragChildrenKeys: TKey[];
133
+ dropTargetKey: TKey | null;
134
+ dropPosition: IAllowDropOptions['dropPosition'] | null;
135
+ dropContainerKey: TKey | null;
136
+ dropLevelOffset: number | null;
137
+ dropTargetPos: string | null;
138
+ dropAllowed: boolean;
139
+ dragOverNodeKey: TKey | null;
140
+ }
141
+ interface ITreeNodeAttribute {
142
+ eventKey: string;
143
+ prefixCls: string;
144
+ class: string;
145
+ expanded: boolean;
146
+ selected: boolean;
147
+ checked: boolean;
148
+ halfChecked: boolean;
149
+ children: any;
150
+ title: any;
151
+ pos: string;
152
+ dragOver: boolean;
153
+ dragOverGapTop: boolean;
154
+ dragOverGapBottom: boolean;
155
+ isLeaf: boolean;
156
+ selectable: boolean;
157
+ disabled: boolean;
158
+ disableCheckbox: boolean;
159
+ }
60
160
  }
@@ -1,4 +1,7 @@
1
+ import { VueNode } from '../../../utils';
2
+ import { ITreeNodeProps } from '../../../components/CdsTree/composable/treeNode';
1
3
  import { NTree } from '../interface';
4
+ import { ITreeProps } from '../composable';
2
5
  declare type TExternalGetKey = GetKey<NTree.IDataNode> | string;
3
6
  interface IWrapper {
4
7
  posEntities: Record<string, any>;
@@ -16,6 +19,10 @@ export declare function convertDataToEntities(dataNodes: NTree.IDataNode[], { in
16
19
  posEntities: any;
17
20
  keyEntities: any;
18
21
  };
22
+ /**
23
+ * Convert `children` of Tree into `treeData` structure.
24
+ */
25
+ export declare function convertTreeToData(rootNodes: VueNode): NTree.IDataNode[];
19
26
  interface ITraverseConfig {
20
27
  childrenPropName?: string;
21
28
  externalGetKey?: TExternalGetKey;
@@ -30,7 +37,70 @@ export declare function traverseDataNodes(dataNodes: NTree.IDataNode[], callback
30
37
  level?: number;
31
38
  nodes: NTree.IDataNode[];
32
39
  }) => void, config?: ITraverseConfig | string): void;
40
+ /**
41
+ * If user use `autoExpandParent` we should get the list of parent node
42
+ * @param keyList
43
+ * @param keyEntities
44
+ */
45
+ export declare function conductExpandParent(keyList: NTree.TKey[], keyEntities: Record<NTree.TKey, NTree.IDataEntity>): NTree.TKey[];
46
+ /**
47
+ * Flat nest tree data into flatten list. This is used for virtual list render.
48
+ * @param treeNodeList Origin data node list
49
+ * @param expandedKeys
50
+ * @param fieldNames
51
+ * need expanded keys, provides `true` means all expanded.
52
+ */
53
+ export declare function flattenTreeData(treeNodeList: NTree.IDataNode[], expandedKeys: NTree.TKey[] | true, fieldNames: NTree.IFieldNames): NTree.IFlattenNode[];
33
54
  export declare function fillFieldNames(fieldNames?: NTree.IFieldNames): Required<NTree.IFieldNames>;
55
+ /**
56
+ * Get TreeNode props with Tree props.
57
+ */
58
+ export declare function getTreeNodeProps<TreeDataType extends NTree.IBasicDataNode = NTree.IDataNode>(key: NTree.TKey, { expandedKeysSet, selectedKeysSet, loadedKeysSet, loadingKeysSet, checkedKeysSet, halfCheckedKeysSet, dragOverNodeKey, dropPosition, keyEntities }: NTree.ITreeNodeRequiredProps<TreeDataType>): {
59
+ eventKey: NTree.TKey;
60
+ expanded: boolean;
61
+ selected: boolean;
62
+ loaded: boolean;
63
+ loading: boolean;
64
+ checked: boolean;
65
+ halfChecked: boolean;
66
+ pos: string;
67
+ parent: NTree.IDataEntity<TreeDataType> | undefined;
68
+ dragOver: boolean;
69
+ dragOverGapTop: boolean;
70
+ dragOverGapBottom: boolean;
71
+ };
72
+ export declare function calcDropPosition<TreeDataType extends NTree.IBasicDataNode = NTree.IDataNode>(event: MouseEvent, dragNode: NTree.TDragNodeEvent, targetNode: NTree.TDragNodeEvent, indent: number, startMousePosition: {
73
+ x: number;
74
+ y: number;
75
+ }, allowDrop: NTree.TAllowDrop<TreeDataType>, flattenedNodes: NTree.IFlattenNode[], keyEntities: Record<NTree.TKey, NTree.IDataEntity<TreeDataType>>, expandKeysSet: Set<NTree.TKey>): Omit<NTree.IDragState, 'draggingNodeKey' | 'dragChildrenKeys'>;
76
+ /**
77
+ * Return selectedKeys according with multiple prop
78
+ * @param selectedKeys
79
+ * @param props
80
+ * @returns [string]
81
+ */
82
+ export declare function calcSelectedKeys(selectedKeys: NTree.TKey[], props: ITreeProps): NTree.TKey[] | undefined;
83
+ /**
84
+ * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style
85
+ */
86
+ export declare function parseCheckedKeys(keys: NTree.TKey[] | {
87
+ checked: NTree.TKey[];
88
+ halfChecked: NTree.TKey[];
89
+ }): {
90
+ checkedKeys: NTree.TKey[];
91
+ halfCheckedKeys: undefined;
92
+ } | {
93
+ checkedKeys: NTree.TKey[];
94
+ halfCheckedKeys: NTree.TKey[];
95
+ } | null;
96
+ export declare function getDragChildrenKeys<TreeDataType extends NTree.IBasicDataNode = NTree.IDataNode>(dragNodeKey: NTree.TKey, keyEntities: Record<NTree.TKey, NTree.IDataEntity<TreeDataType>>): NTree.TKey[];
34
97
  export declare function getKey(key: NTree.TKey, pos: string): NTree.TKey;
35
98
  export declare function getPosition(level?: string | number, index?: number): string;
99
+ export declare function isTreeNode(node: NTree.TNodeElement): any;
100
+ export declare function arrDel(list: NTree.TKey[], value: NTree.TKey): NTree.TKey[];
101
+ export declare function arrAdd(list: NTree.TKey[], value: NTree.TKey): NTree.TKey[];
102
+ export declare function posToArr(pos: string): string[];
103
+ export declare function isLastChild<TreeDataType extends NTree.IBasicDataNode = NTree.IDataNode>(treeNodeEntity?: NTree.IDataEntity<TreeDataType>): boolean;
104
+ export declare function isFirstChild<TreeDataType extends NTree.IBasicDataNode = NTree.IDataNode>(treeNodeEntity?: NTree.IDataEntity<TreeDataType>): boolean;
105
+ export declare function convertNodePropsToEventData(props: ITreeNodeProps & ReturnType<typeof getTreeNodeProps>): NTree.IEventDataNode;
36
106
  export {};
@@ -0,0 +1,6 @@
1
+ import { NTree } from '../interface';
2
+ export declare function findExpandedKeys(prev?: NTree.TKey[], next?: NTree.TKey[]): {
3
+ add: boolean;
4
+ key: NTree.TKey | null;
5
+ };
6
+ export declare function getExpandRange(shorter: NTree.IFlattenNode[], longer: NTree.IFlattenNode[], key: NTree.TKey): NTree.IFlattenNode[];
@@ -0,0 +1,9 @@
1
+ import { NTree } from '../interface';
2
+ export declare function calcRangeKeys({ treeData, expandedKeys, startKey, endKey, fieldNames }: {
3
+ treeData: NTree.IDataNode[];
4
+ expandedKeys: NTree.TKey[];
5
+ startKey?: NTree.TKey;
6
+ endKey?: NTree.TKey;
7
+ fieldNames?: NTree.IFieldNames;
8
+ }): NTree.TKey[];
9
+ export declare function convertDirectoryKeysToNodes(treeData: NTree.IDataNode[], keys: NTree.TKey[], fieldNames: NTree.IFieldNames): NTree.IDataNode[];
@@ -1,2 +1,4 @@
1
1
  export * from './data';
2
2
  export * from './conduct';
3
+ export * from './diff';
4
+ export * from './directory';
@@ -488,13 +488,13 @@ declare const _sfc_main: import("vue").DefineComponent<{
488
488
  "onUpdate:modelValue"?: ((fileList: NUploader.IUploadFile<any>[]) => any) | undefined;
489
489
  onChange?: ((info: NUploader.IUploadChangeParam<NUploader.IUploadFile<any>>) => any) | undefined;
490
490
  onRemove?: ((file: NUploader.IUploadFile<any>) => any) | undefined;
491
+ onDrop?: ((event: DragEvent) => any) | undefined;
491
492
  onDownload?: ((file: NUploader.IUploadFile<any>) => any) | undefined;
492
493
  onError?: ((error: NUploader.IUploadRequestError | ProgressEvent<EventTarget>, response: any, file: NUploader.IUploadFile<any>) => any) | undefined;
493
494
  onSuccess?: ((response: Record<string, unknown>, file: NUploader.IUploadFile<any>) => any) | undefined;
494
495
  onProgress?: ((event: {
495
496
  percent: number;
496
497
  } | undefined, file: NUploader.IUploadFile<any>) => any) | undefined;
497
- onDrop?: ((event: DragEvent) => any) | undefined;
498
498
  onReject?: ((fileList: NUploader.IUploadFile<any>[]) => any) | undefined;
499
499
  onPreview?: ((file: NUploader.IUploadFile<any>) => any) | undefined;
500
500
  }, {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Automatically generated by CDS CLI
3
- * Generated on 9/18/2023, 8:34:41 AM
3
+ * Generated on 4/22/2024, 2:19:35 PM
4
4
  **/
5
5
  export { default as CdsAutocomplete } from './CdsAutocomplete/CdsAutocomplete.vue';
6
6
  export { default as CdsBadge } from './CdsBadge/CdsBadge.vue';
@@ -73,6 +73,9 @@ export { default as CdsToggle } from './CdsToggle/CdsToggle.vue';
73
73
  export { default as CdsToolbar } from './CdsToolbar/CdsToolbar.vue';
74
74
  export { default as CdsToolbarTitle } from './CdsToolbar/CdsToolbarTitle.vue';
75
75
  export { default as CdsTooltip } from './CdsTooltip/CdsTooltip.vue';
76
+ export { default as CdsTree } from './CdsTree/CdsTree.vue';
77
+ export { default as CdsTreeDirectory } from './CdsTree/CdsTreeDirectory.vue';
78
+ export { default as CdsTreeNode } from './CdsTree/CdsTreeNode.vue';
76
79
  export { default as CdsUploader } from './CdsUploader/CdsUploader.vue';
77
80
  export * from './CdsAutocomplete';
78
81
  export * from './CdsBadge';
@@ -122,4 +125,5 @@ export * from './CdsTimePicker';
122
125
  export * from './CdsToggle';
123
126
  export * from './CdsToolbar';
124
127
  export * from './CdsTooltip';
128
+ export * from './CdsTree';
125
129
  export * from './CdsUploader';
@@ -4,8 +4,9 @@ export interface IDelayProps {
4
4
  openDelay: number | string;
5
5
  }
6
6
  export interface IUseDelay {
7
- runCloseDelay: () => Promise<boolean>;
8
- runOpenDelay: () => Promise<boolean>;
7
+ clearDelay: () => void;
8
+ runCloseDelay: () => Promise<unknown>;
9
+ runOpenDelay: () => Promise<unknown>;
9
10
  }
10
11
  export declare const makeDelayProps: <Defaults extends {
11
12
  closeDelay?: unknown;
@@ -22,6 +22,7 @@ export declare const makeOverlayProps: <Defaults extends {
22
22
  contentClasses?: unknown;
23
23
  contentProps?: unknown;
24
24
  noClickAnimation?: unknown;
25
+ opacity?: unknown;
25
26
  } = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
26
27
  /**
27
28
  * Указывает, к какому DOM элементу будет прикреплен компонент.
@@ -34,7 +35,7 @@ export declare const makeOverlayProps: <Defaults extends {
34
35
  default: boolean;
35
36
  };
36
37
  /**
37
- * Указывает, что компонент будет прикреплен к родительскому элементу. Подразумевает absolute и attach
38
+ * Указывает, что компонент будет прикреплен к родительскому элементу. Подразумевает absolute и attach в true.
38
39
  */
39
40
  contained: {
40
41
  type: PropType<boolean>;
@@ -103,4 +104,11 @@ export declare const makeOverlayProps: <Defaults extends {
103
104
  type: PropType<boolean>;
104
105
  default: boolean;
105
106
  };
107
+ /**
108
+ * Прозрачность overlay компонента
109
+ */
110
+ opacity: {
111
+ type: PropType<string | number>;
112
+ default: undefined;
113
+ };
106
114
  }, Defaults>;
@@ -3,6 +3,8 @@ interface ITransitionProps extends TransitionProps {
3
3
  transition: string | boolean | (TransitionProps & {
4
4
  component?: Component;
5
5
  });
6
+ disabled?: boolean;
7
+ group?: boolean;
6
8
  }
7
9
  export declare const makeTransitionProps: <Defaults extends {
8
10
  transition?: unknown;
package/dist/create.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { ITeleportOptions } from './components/CdsOverlay/composable';
1
2
  import { ILocale, TAvailableLocale } from './locale';
2
3
  import type { IDisplayOptions, IThemeOptions } from './composable';
3
4
  import type { App } from 'vue';
@@ -11,6 +12,7 @@ export interface ICdsOptions {
11
12
  cssGrid?: boolean;
12
13
  ssr?: boolean;
13
14
  locale?: TAvailableLocale | ILocale;
15
+ teleport?: Partial<ITeleportOptions>;
14
16
  }
15
17
  interface NuxtApp {
16
18
  $nuxt?: {
package/dist/globals.d.ts CHANGED
@@ -27,5 +27,12 @@ declare global {
27
27
  >;
28
28
  }
29
29
 
30
+ interface MouseEvent {
31
+ sourceCapabilities?: { firesTouchEvents: boolean };
32
+ }
33
+
34
+ function parseInt(s: string | number, radix?: number): number;
35
+ function parseFloat(string: string | number): number;
36
+
30
37
  export const __VUE_OPTIONS_API__: boolean | undefined;
31
38
  }
@@ -0,0 +1,11 @@
1
+ export declare const CdsTransitionCollapse: (name?: string, appear?: boolean) => {
2
+ name: string;
3
+ appear: boolean;
4
+ css: boolean;
5
+ onBeforeEnter: (node: HTMLDivElement) => void;
6
+ onEnter: (node: HTMLDivElement) => void;
7
+ onAfterEnter: (node: HTMLDivElement) => void;
8
+ onBeforeLeave: (node: HTMLDivElement) => void;
9
+ onLeave: (node: HTMLDivElement) => void;
10
+ onAfterLeave: (node: HTMLDivElement) => void;
11
+ };
@@ -13,6 +13,7 @@ export declare const CdsTransitionExpandX: import("vue").DefineComponent<{
13
13
  mode: import("vue").Prop<"default" | "in-out" | "out-in", "default" | "in-out" | "out-in">;
14
14
  }>>, {}>;
15
15
  export { CdsTransitionModal } from './modalTransition';
16
+ export { CdsTransitionCollapse } from './collapseTransition';
16
17
  export declare const CdsTransitionFade: import("vue").DefineComponent<{
17
18
  group: import("vue").PropType<boolean>;
18
19
  hideOnLeave: import("vue").PropType<boolean>;
@@ -0,0 +1,2 @@
1
+ export declare function bindProps(el: HTMLElement, props: Record<string, any>): void;
2
+ export declare function unbindProps(el: HTMLElement, props: Record<string, any>): void;
@@ -24,3 +24,4 @@ export declare function getOverflow(a: Box, b: Box): {
24
24
  after: number;
25
25
  };
26
26
  };
27
+ export declare function getTargetBox(target: HTMLElement | [x: number, y: number]): Box;
@@ -1,3 +1,4 @@
1
+ import { type VNode } from 'vue';
1
2
  import type { TItemKey } from '../composable';
2
3
  import type { ComponentPublicInstance, ComponentInternalInstance, ComputedGetter, InjectionKey, PropType, Ref, ToRefs, VNodeProps, VNodeChild, AllowedComponentProps, Component } from 'vue';
3
4
  export declare const preventedScrollClass = "cds-scroll-blocked";
@@ -139,6 +140,7 @@ export declare function destructComputed<T extends object>(getter: ComputedGette
139
140
  * @param val
140
141
  */
141
142
  export declare function includes(arr: readonly any[], val: any): boolean;
143
+ export declare function eventName(propName: string): string;
142
144
  export declare function convertToUnit(str: number, unit?: string): string;
143
145
  export declare function convertToUnit(str: string | number | null | undefined, unit?: string): string | undefined;
144
146
  export declare function convertRemToPx(value: string): number;
@@ -150,10 +152,6 @@ export declare function convertRemToPx(value: string): number;
150
152
  */
151
153
  export declare function clamp(value: number, min?: number, max?: number): number;
152
154
  export declare function createRange(length: number, start?: number): number[];
153
- /**
154
- * Is value an like event
155
- * @param key
156
- */
157
155
  export declare const isOn: (key: string) => boolean;
158
156
  export declare const EventProp: PropType<(...args: any[]) => any>;
159
157
  export declare function isComponentInstance(obj: any): obj is ComponentPublicInstance;
@@ -161,7 +159,7 @@ export declare function isFixedPosition(el?: HTMLElement): boolean;
161
159
  export declare function padEnd(str: string, length: number, char?: string): string;
162
160
  export declare function padStart(string: number | string, targetLength: number, padString: string): string;
163
161
  export declare function pad(n: string | number, length?: number): string;
164
- export declare function refElement<T extends Record<string, any> | undefined>(obj: T): Exclude<T, ComponentPublicInstance> | HTMLElement;
162
+ export declare function refElement(obj: ComponentPublicInstance<any> | HTMLElement): HTMLElement | undefined;
165
163
  export declare function omit<T extends object, K extends keyof T>(obj: T, fields: K[]): Omit<T, K>;
166
164
  export declare function findChildrenWithProvide(key: InjectionKey<any> | symbol, vnode?: VNodeChild | {
167
165
  [key: string]: any;
@@ -192,11 +190,15 @@ export declare function plurals(n: number, opts: string[]): string;
192
190
  * @param size
193
191
  */
194
192
  export declare function chunk(str: string, size?: number): string[];
193
+ export declare function defer(timeout: number, cb: () => void): () => void;
194
+ export declare function isValidElement(element: any): any;
195
195
  export declare function noop(): void;
196
196
  /**
197
197
  * Types
198
198
  */
199
199
  export declare type MaybeRef<T> = T | Ref<T>;
200
+ declare type VNodeChildAtom = VNode | string | number | boolean | null | undefined | void;
201
+ export declare type VueNode = VNodeChildAtom | VNodeChildAtom[] | JSX.Element;
200
202
  export declare type SelectItemKey = TItemKey;
201
203
  export declare type MaybePick<T extends object, U extends Extract<keyof T, string>> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>;
202
204
  export declare type EventProp<T = (...args: any[]) => any> = T;
@@ -6,6 +6,8 @@ export * from './use/eagerComputed';
6
6
  export * from './use/pickAttrs';
7
7
  export * from './use/cache';
8
8
  export * from './use/copyToClipboard';
9
+ export * from './use/flattenChildren';
10
+ export * from './use/listener';
9
11
  export * from './changeCase/noCase';
10
12
  export * from './changeCase/lowerCase';
11
13
  export * from './changeCase/pascalCase';
@@ -22,5 +24,6 @@ export * from './dom/wrapperRaf';
22
24
  export * from './dom/warn';
23
25
  export * from './dom/classNames';
24
26
  export * from './dom/hRender';
27
+ export * from './dom/bindProps';
25
28
  export * from './colorsUtils';
26
29
  export { default as colors } from './colors';
@@ -0,0 +1,3 @@
1
+ export declare function flattenChildren(children?: any[], filterEmpty?: boolean): any[];
2
+ export declare function filterEmpty(children?: any[]): any[];
3
+ export declare function isEmptyElement(c: Record<string, any>): boolean | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@central-design-system/components",
3
- "version": "3.0.0-beta.22",
3
+ "version": "3.0.0-beta.24",
4
4
  "description": "Central Design System on the Vue 3.0 and TypeScript",
5
5
  "author": "magersoft",
6
6
  "license": "ISC",
@@ -117,7 +117,6 @@
117
117
  font-size: var(--cds-font-body-size-s);
118
118
  line-height: var(--cds-font-height-helper);
119
119
  font-weight: var(--cds-font-weight-normal);
120
- max-width: $max-width;
121
120
  }
122
121
  @mixin cds-font-description($max-width: 32rem) {
123
122
  font-family: var(--cds-font-family-sans);
@@ -132,6 +131,4 @@
132
131
  font-size: var(--cds-font-body-size-xs);
133
132
  line-height: var(--cds-font-height-helper);
134
133
  font-weight: var(--cds-font-weight-normal);
135
- max-width: $max-width;
136
- width: 75%;
137
134
  }
@@ -10,6 +10,24 @@ $standard-duration: $cds-duration-fast + ms;
10
10
  $accent-duration: $cds-duration-normal + ms;
11
11
 
12
12
  @mixin transition-default() {
13
+ &-enter-active {
14
+ transition-duration: $standard-duration !important;
15
+ transition-timing-function: $standard-easing !important;
16
+ }
17
+
18
+ &-leave-active {
19
+ transition-duration: $standard-duration !important;
20
+ transition-timing-function: $standard-easing !important;
21
+ }
22
+
23
+ &-move {
24
+ transition-duration: 0.5s !important;
25
+ transition-property: transform !important;
26
+ transition-timing-function: $standard-easing !important;
27
+ }
28
+ }
29
+
30
+ @mixin transition-minimal() {
13
31
  &-enter-active {
14
32
  transition: $standard-duration $standard-easing;
15
33
  }
@@ -36,6 +54,19 @@ $accent-duration: $cds-duration-normal + ms;
36
54
  .fade-transition {
37
55
  @include transition-default();
38
56
 
57
+ &-enter-from, &-leave-to {
58
+ opacity: 0 !important;
59
+ }
60
+
61
+ &-enter-active,
62
+ &-leave-active {
63
+ transition-property: opacity !important;
64
+ }
65
+ }
66
+
67
+ .fade-transition-minimal {
68
+ @include transition-minimal();
69
+
39
70
  &-leave-active {
40
71
  position: absolute;
41
72
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Automatically generated by CDS CLI
3
- * Generated on 4/12/2024, 7:42:06 AM
3
+ * Generated on 5/6/2024, 8:35:52 AM
4
4
  **/
5
5
 
6
6
  /**