@central-design-system/components 3.0.0-alpha.1 → 3.0.0-alpha.10

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 (194) hide show
  1. package/dist/cds.css +1 -1
  2. package/dist/cds.d.ts +54 -41
  3. package/dist/cds.es.js +11751 -4004
  4. package/dist/cds.umd.js +18 -1
  5. package/dist/components/CdsBadge/index.d.ts +1 -0
  6. package/dist/components/CdsBreadcrumbs/CdsBreadcrumbs.vue.d.ts +64 -0
  7. package/dist/components/CdsBreadcrumbs/CdsBreadcrumbsItem.vue.d.ts +54 -0
  8. package/dist/components/CdsBreadcrumbs/index.d.ts +2 -0
  9. package/dist/components/CdsButton/CdsButton.vue.d.ts +28 -18
  10. package/dist/components/CdsButton/index.d.ts +1 -0
  11. package/dist/components/CdsCheckbox/CdsCheckbox.vue.d.ts +68 -36
  12. package/dist/components/CdsCheckbox/CdsCheckboxGroup.vue.d.ts +51 -29
  13. package/dist/components/CdsCheckbox/index.d.ts +2 -0
  14. package/dist/components/CdsCombobox/CdsCombobox.vue.d.ts +2457 -0
  15. package/dist/components/CdsCombobox/composable/highlight.d.ts +12 -0
  16. package/dist/components/CdsCombobox/index.d.ts +1 -0
  17. package/dist/components/CdsDatePicker/CdsDatePicker.vue.d.ts +249 -0
  18. package/dist/components/CdsDatePicker/composable/calendar.d.ts +317 -0
  19. package/dist/components/CdsDatePicker/composable/index.d.ts +1 -0
  20. package/dist/components/CdsDatePicker/index.d.ts +1 -0
  21. package/dist/components/CdsDrawer/CdsDrawer.vue.d.ts +22 -6
  22. package/dist/components/CdsDrawer/index.d.ts +1 -0
  23. package/dist/components/CdsDropdown/CdsDropdown.vue.d.ts +2413 -0
  24. package/dist/components/CdsDropdown/index.d.ts +1 -0
  25. package/dist/components/CdsEmptyState/CdsEmptyState.vue.d.ts +54 -0
  26. package/dist/components/CdsEmptyState/index.d.ts +1 -0
  27. package/dist/components/CdsForm/CdsForm.vue.d.ts +14 -4
  28. package/dist/components/CdsForm/index.d.ts +1 -0
  29. package/dist/components/CdsGrid/CdsCol.vue.d.ts +1 -1
  30. package/dist/components/CdsGrid/composable/grid.d.ts +2 -1
  31. package/dist/components/CdsGrid/index.d.ts +3 -0
  32. package/dist/components/CdsIcon/CdsIcon.vue.d.ts +3 -3
  33. package/dist/components/CdsInput/CdsInput.vue.d.ts +54 -34
  34. package/dist/components/CdsLink/CdsLink.vue.d.ts +10 -3
  35. package/dist/components/CdsLink/index.d.ts +1 -0
  36. package/dist/components/CdsList/CdsList.vue.d.ts +47 -6
  37. package/dist/components/CdsList/CdsListGroup.vue.d.ts +8 -8
  38. package/dist/components/CdsList/CdsListItem.vue.d.ts +28 -25
  39. package/dist/components/CdsLoader/CdsLoader.vue.d.ts +1 -1
  40. package/dist/components/CdsMenu/CdsMenu.vue.d.ts +142 -37
  41. package/dist/components/CdsMenu/index.d.ts +1 -0
  42. package/dist/components/CdsOverlay/CdsOverlay.vue.d.ts +49 -30
  43. package/dist/components/CdsOverlay/composable/locationStrategies.d.ts +3 -0
  44. package/dist/components/CdsOverlay/index.d.ts +1 -0
  45. package/dist/components/CdsPagination/CdsPagination.vue.d.ts +142 -0
  46. package/dist/components/CdsPagination/index.d.ts +1 -0
  47. package/dist/components/CdsRadioButton/CdsRadio.vue.d.ts +60 -31
  48. package/dist/components/CdsRadioButton/CdsRadioButton.vue.d.ts +59 -31
  49. package/dist/components/CdsRadioButton/index.d.ts +2 -0
  50. package/dist/components/CdsSelect/CdsSelect.vue.d.ts +227 -116
  51. package/dist/components/CdsSelect/index.d.ts +1 -0
  52. package/dist/components/CdsSidebar/CdsSidebar.vue.d.ts +23 -18
  53. package/dist/components/CdsSidebar/index.d.ts +1 -0
  54. package/dist/components/CdsStages/CdsStages.vue.d.ts +2 -2
  55. package/dist/components/CdsStages/index.d.ts +1 -0
  56. package/dist/components/CdsStatus/index.d.ts +1 -0
  57. package/dist/components/CdsTable/CdsTable.vue.d.ts +1147 -0
  58. package/dist/components/CdsTable/CdsTableColumn.vue.d.ts +10 -0
  59. package/dist/components/CdsTable/CdsTableColumnGroup.vue.d.ts +10 -0
  60. package/dist/components/CdsTable/components/Body/Body.d.ts +12 -0
  61. package/dist/components/CdsTable/components/Body/BodyRow.d.ts +22 -0
  62. package/dist/components/CdsTable/components/Body/ExpandedRow.d.ts +13 -0
  63. package/dist/components/CdsTable/components/Body/index.d.ts +1 -0
  64. package/dist/components/CdsTable/components/Cell/Cell.d.ts +34 -0
  65. package/dist/components/CdsTable/components/Cell/MeasureCell.d.ts +7 -0
  66. package/dist/components/CdsTable/components/Cell/index.d.ts +2 -0
  67. package/dist/components/CdsTable/components/ColGroup/ColGroup.d.ts +8 -0
  68. package/dist/components/CdsTable/components/ColGroup/index.d.ts +1 -0
  69. package/dist/components/CdsTable/components/Filter/FilterDropdown.d.ts +14 -0
  70. package/dist/components/CdsTable/components/Filter/FilterSearch.d.ts +9 -0
  71. package/dist/components/CdsTable/components/Filter/FilterWrapper.d.ts +4 -0
  72. package/dist/components/CdsTable/components/Filter/index.d.ts +1 -0
  73. package/dist/components/CdsTable/components/FixedHolder/FixedHolder.d.ts +21 -0
  74. package/dist/components/CdsTable/components/FixedHolder/index.d.ts +1 -0
  75. package/dist/components/CdsTable/components/Footer/Footer.d.ts +8 -0
  76. package/dist/components/CdsTable/components/Footer/index.d.ts +1 -0
  77. package/dist/components/CdsTable/components/Header/DragHandle.d.ts +44 -0
  78. package/dist/components/CdsTable/components/Header/Header.d.ts +11 -0
  79. package/dist/components/CdsTable/components/Header/HeaderRow.d.ts +15 -0
  80. package/dist/components/CdsTable/components/Header/index.d.ts +1 -0
  81. package/dist/components/CdsTable/components/Icons/ExpandIcon.d.ts +12 -0
  82. package/dist/components/CdsTable/components/Panel/Panel.d.ts +4 -0
  83. package/dist/components/CdsTable/components/Panel/index.d.ts +1 -0
  84. package/dist/components/CdsTable/components/ResizeObserver/ResizeObserver.d.ts +11 -0
  85. package/dist/components/CdsTable/components/ResizeObserver/index.d.ts +1 -0
  86. package/dist/components/CdsTable/components/StickyScrollbar/StickyScrollbar.d.ts +15 -0
  87. package/dist/components/CdsTable/components/StickyScrollbar/index.d.ts +1 -0
  88. package/dist/components/CdsTable/components/Table/InternalTable.d.ts +1139 -0
  89. package/dist/components/CdsTable/components/TableProvider.d.ts +1132 -0
  90. package/dist/components/CdsTable/composable/columns.d.ts +28 -0
  91. package/dist/components/CdsTable/composable/filter.d.ts +16 -0
  92. package/dist/components/CdsTable/composable/flat.d.ts +17 -0
  93. package/dist/components/CdsTable/composable/frame.d.ts +6 -0
  94. package/dist/components/CdsTable/composable/index.d.ts +10 -0
  95. package/dist/components/CdsTable/composable/pagination.d.ts +18 -0
  96. package/dist/components/CdsTable/composable/selection.d.ts +23 -0
  97. package/dist/components/CdsTable/composable/sorter.d.ts +21 -0
  98. package/dist/components/CdsTable/composable/sticky.d.ts +12 -0
  99. package/dist/components/CdsTable/composable/table.d.ts +640 -0
  100. package/dist/components/CdsTable/constants.d.ts +2 -0
  101. package/dist/components/CdsTable/context/body.d.ts +19 -0
  102. package/dist/components/CdsTable/context/expandedRow.d.ts +10 -0
  103. package/dist/components/CdsTable/context/hover.d.ts +9 -0
  104. package/dist/components/CdsTable/context/index.d.ts +8 -0
  105. package/dist/components/CdsTable/context/resize.d.ts +9 -0
  106. package/dist/components/CdsTable/context/slots.d.ts +17 -0
  107. package/dist/components/CdsTable/context/sticky.d.ts +2 -0
  108. package/dist/components/CdsTable/context/summary.d.ts +14 -0
  109. package/dist/components/CdsTable/context/table.d.ts +20 -0
  110. package/dist/components/CdsTable/index.d.ts +6 -0
  111. package/dist/components/CdsTable/interface.d.ts +323 -0
  112. package/dist/components/CdsTable/utils/column.d.ts +7 -0
  113. package/dist/components/CdsTable/utils/expand.d.ts +2 -0
  114. package/dist/components/CdsTable/utils/fixed.d.ts +13 -0
  115. package/dist/components/CdsTable/utils/index.d.ts +5 -0
  116. package/dist/components/CdsTable/utils/listener.d.ts +5 -0
  117. package/dist/components/CdsTable/utils/value.d.ts +10 -0
  118. package/dist/components/CdsTag/CdsTag.vue.d.ts +11 -6
  119. package/dist/components/CdsTag/index.d.ts +1 -0
  120. package/dist/components/CdsTextArea/CdsTextArea.vue.d.ts +224 -123
  121. package/dist/components/CdsTextArea/index.d.ts +1 -0
  122. package/dist/components/CdsTextInput/CdsTextInput.vue.d.ts +239 -104
  123. package/dist/components/CdsTextInput/index.d.ts +1 -0
  124. package/dist/components/CdsTimePicker/CdsTimePicker.vue.d.ts +144 -0
  125. package/dist/components/CdsTimePicker/composable/index.d.ts +1 -0
  126. package/dist/components/CdsTimePicker/composable/time.d.ts +134 -0
  127. package/dist/components/CdsTimePicker/index.d.ts +1 -0
  128. package/dist/components/CdsTooltip/CdsTooltip.vue.d.ts +765 -0
  129. package/dist/components/CdsTooltip/index.d.ts +1 -0
  130. package/dist/components/CdsTree/composable/index.d.ts +1 -0
  131. package/dist/components/CdsTree/composable/tree.d.ts +6 -0
  132. package/dist/components/CdsTree/interface.d.ts +60 -0
  133. package/dist/components/CdsTree/utils/conduct.d.ts +11 -0
  134. package/dist/components/CdsTree/utils/data.d.ts +36 -0
  135. package/dist/components/CdsTree/utils/index.d.ts +2 -0
  136. package/dist/components/index.d.ts +43 -1
  137. package/dist/composable/color.d.ts +4 -2
  138. package/dist/composable/datetime.d.ts +45 -0
  139. package/dist/composable/delay.d.ts +1 -1
  140. package/dist/composable/dimensions.d.ts +23 -5
  141. package/dist/composable/display.d.ts +59 -0
  142. package/dist/composable/field.d.ts +4 -3
  143. package/dist/composable/filter.d.ts +52 -0
  144. package/dist/composable/form.d.ts +2 -0
  145. package/dist/composable/hidration.d.ts +2 -1
  146. package/dist/composable/icon.d.ts +2 -2
  147. package/dist/composable/index.d.ts +12 -0
  148. package/dist/composable/input.d.ts +6 -4
  149. package/dist/composable/items.d.ts +2 -0
  150. package/dist/composable/lazy.d.ts +12 -2
  151. package/dist/composable/locale.d.ts +18 -0
  152. package/dist/composable/menu.d.ts +37 -0
  153. package/dist/composable/overlay.d.ts +9 -10
  154. package/dist/composable/readonly.d.ts +19 -0
  155. package/dist/composable/refs.d.ts +6 -0
  156. package/dist/composable/resizeObserver.d.ts +7 -0
  157. package/dist/composable/router.d.ts +3 -0
  158. package/dist/composable/select.d.ts +86 -0
  159. package/dist/composable/state.d.ts +13 -0
  160. package/dist/composable/title.d.ts +21 -0
  161. package/dist/composable/validation.d.ts +0 -24
  162. package/dist/create.d.ts +23 -0
  163. package/dist/globals.d.ts +2 -0
  164. package/dist/locale/en.d.ts +3 -0
  165. package/dist/locale/index.d.ts +13 -0
  166. package/dist/locale/ru.d.ts +3 -0
  167. package/dist/transitions/index.d.ts +150 -0
  168. package/dist/utils/date/date.d.ts +190 -0
  169. package/dist/utils/{anchor.d.ts → dom/anchor.d.ts} +2 -2
  170. package/dist/utils/dom/classNames.d.ts +1 -0
  171. package/dist/utils/dom/dom.d.ts +10 -0
  172. package/dist/utils/dom/getScrollParent.d.ts +12 -0
  173. package/dist/utils/dom/scrollTo.d.ts +10 -0
  174. package/dist/utils/dom/warn.d.ts +1 -0
  175. package/dist/utils/dom/wrapperRaf.d.ts +4 -0
  176. package/dist/utils/helpers.d.ts +109 -20
  177. package/dist/utils/index.d.ts +16 -7
  178. package/dist/utils/use/cache.d.ts +4 -0
  179. package/dist/utils/use/eagerComputed.d.ts +3 -0
  180. package/dist/utils/use/pickAttrs.d.ts +11 -0
  181. package/dist/utils/use/reactiveComputed.d.ts +4 -0
  182. package/dist/utils/use/reactivePick.d.ts +8 -0
  183. package/dist/utils/use/toReactive.d.ts +8 -0
  184. package/dist/utils/use/toValue.d.ts +5 -0
  185. package/package.json +7 -4
  186. package/src/scss/modules/_transition.scss +102 -0
  187. package/src/scss/themes/index.ts +1 -1
  188. package/src/scss/utility/lists.scss +1 -0
  189. package/dist/types/CdsOptions.d.ts +0 -3
  190. package/dist/utils/dom.d.ts +0 -6
  191. package/dist/utils/getScrollParent.d.ts +0 -3
  192. /package/dist/utils/{animation.d.ts → dom/animation.d.ts} +0 -0
  193. /package/dist/utils/{box.d.ts → dom/box.d.ts} +0 -0
  194. /package/dist/utils/{globals.d.ts → dom/globals.d.ts} +0 -0
@@ -0,0 +1,8 @@
1
+ export * from './table';
2
+ export * from './body';
3
+ export * from './resize';
4
+ export * from './slots';
5
+ export * from './sticky';
6
+ export * from './hover';
7
+ export * from './expandedRow';
8
+ export * from './summary';
@@ -0,0 +1,9 @@
1
+ import type { NTable } from '../interface';
2
+ import type { InjectionKey } from 'vue';
3
+ interface IResizeContextProps {
4
+ onColumnResize: (columnKey: NTable.TKey, width: number) => void;
5
+ }
6
+ export declare const ResizeContextKey: InjectionKey<IResizeContextProps>;
7
+ export declare const useProvideResize: (props: IResizeContextProps) => void;
8
+ export declare const useInjectResize: () => IResizeContextProps;
9
+ export {};
@@ -0,0 +1,17 @@
1
+ import type { ComputedRef } from 'vue';
2
+ export interface IContextSlots {
3
+ emptyText?: (...args: any[]) => any;
4
+ expandIcon?: (...args: any[]) => any;
5
+ header?: (...args: any[]) => any;
6
+ footer?: (...args: any[]) => any;
7
+ summary?: (...args: any[]) => any;
8
+ bodyCell?: (...args: any[]) => any;
9
+ headerCell?: (...args: any[]) => any;
10
+ customFilterIcon?: (...args: any[]) => any;
11
+ customFilterDropdown?: (...args: any[]) => any;
12
+ [key: string]: ((...args: any[]) => any) | undefined;
13
+ }
14
+ declare type TSlotsContextProps = ComputedRef<IContextSlots>;
15
+ export declare const useProvideSlots: (props: TSlotsContextProps) => void;
16
+ export declare const useInjectSlots: () => TSlotsContextProps;
17
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare const useProvideSticky: () => void;
2
+ export declare const useInjectSticky: () => import("vue").Ref<boolean>;
@@ -0,0 +1,14 @@
1
+ import type { InjectionKey } from 'vue';
2
+ import type { NTable } from '../interface';
3
+ export declare type TSummaryFlattenColumns<RecordType> = readonly (NTable.NColumn.IColumn<RecordType> & {
4
+ scrollbar?: boolean;
5
+ })[];
6
+ interface ISummaryContextProps {
7
+ stickyOffsets?: NTable.NSticky.IStickyOffsets;
8
+ scrollColumnIndex?: number | null;
9
+ flattenColumns?: TSummaryFlattenColumns<any>;
10
+ }
11
+ export declare const SummaryContextKey: InjectionKey<ISummaryContextProps>;
12
+ export declare const useProvideSummary: (props: ISummaryContextProps) => void;
13
+ export declare const useInjectSummary: () => ISummaryContextProps;
14
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { InjectionKey } from 'vue';
2
+ import type { NTable } from '../interface';
3
+ import type { IFixedInfo } from '../utils';
4
+ export interface ITableContextProps {
5
+ getComponent: NTable.NCustomize.TGetComponent;
6
+ scrollbarSize: number;
7
+ fixedInfoList: readonly IFixedInfo[];
8
+ isSticky: boolean;
9
+ summaryCollect: (uniKey: string, fixed: boolean | string) => void;
10
+ transformCellText?: NTable.NCell.TTransformCellText<unknown>;
11
+ }
12
+ export declare const TableContextKey: InjectionKey<ITableContextProps>;
13
+ export declare const useProvideTable: (props: ITableContextProps) => void;
14
+ export declare const useInjectTable: () => ITableContextProps;
15
+ declare type TContextProps = {
16
+ onResizeColumn: (width: number, column: NTable.NColumn.IColumn) => void;
17
+ };
18
+ export declare const useProvideTableContext: (props: TContextProps) => void;
19
+ export declare const useInjectTableContext: () => TContextProps;
20
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from './interface';
2
+ export * from './composable/table';
3
+ export * from './composable/selection';
4
+ export { default as CdsTableColumn } from './CdsTableColumn.vue';
5
+ export { default as CdsTableColumnGroup } from './CdsTableColumnGroup.vue';
6
+ export { default as CdsTable } from './CdsTable.vue';
@@ -0,0 +1,323 @@
1
+ import { INTERNAL_SELECTION_ITEM } from './composable';
2
+ import { CdsTooltip } from '../CdsTooltip';
3
+ import { CdsCheckbox } from '../CdsCheckbox';
4
+ import { CdsPagination } from '../CdsPagination';
5
+ import type { CSSProperties, Ref, TdHTMLAttributes, VNode } from 'vue';
6
+ import type { ComponentProps } from '../../utils';
7
+ import type { TBreakpoint, TBreakpointUpDown } from '../../composable';
8
+ declare type VNodeChildAtom = VNode | string | number | boolean | null | undefined | void;
9
+ export declare type VueNode = VNodeChildAtom | VNodeChildAtom[] | JSX.Element;
10
+ export declare namespace NTable {
11
+ type TDefaultRecord = any;
12
+ type TKey = string | number;
13
+ type TLayout = 'auto' | 'fixed';
14
+ type TFixed = boolean | 'left' | 'right' | null;
15
+ type TAlign = 'left' | 'center' | 'right';
16
+ type TAction = 'filter' | 'sort' | 'paginate';
17
+ type TSortOrder = 'descend' | 'ascend' | string;
18
+ type TScroll = {
19
+ x?: number | true | string;
20
+ y?: number | string;
21
+ };
22
+ type TDataIndex = string | number | readonly (string | number)[];
23
+ type TCompareFn<RecordType> = (a: RecordType, b: RecordType, sortOrder?: TSortOrder) => number;
24
+ type TFilterKey = TKey[] | null;
25
+ type TFilterValue = (TKey | boolean)[];
26
+ type TFilterMode = 'menu' | 'tree';
27
+ type TFilterSearch = boolean | ((input: string, record: {}) => boolean);
28
+ type TTriggerEventHandler<RecordType> = (record: RecordType, event: MouseEvent) => void;
29
+ interface ICurrentData<RecordType = TDefaultRecord> {
30
+ currentData: RecordType[];
31
+ action: TAction;
32
+ }
33
+ interface ISorterResult<RecordType = TDefaultRecord> {
34
+ column?: NColumn.IColumn<RecordType>;
35
+ order?: TSortOrder;
36
+ field?: TKey | readonly TKey[];
37
+ columnKey?: TKey;
38
+ }
39
+ interface IFilterState<RecordType = TDefaultRecord> {
40
+ column: NColumn.IColumn<RecordType>;
41
+ key: TKey;
42
+ filteredKeys?: TFilterKey;
43
+ forceFiltered?: boolean;
44
+ }
45
+ interface ISortState<RecordType = TDefaultRecord> {
46
+ column: NColumn.IColumn<RecordType>;
47
+ key: TKey;
48
+ sortOrder: TSortOrder;
49
+ multiplePriority: number | false;
50
+ }
51
+ interface IChangeEventInfo<RecordType = TDefaultRecord> {
52
+ pagination: {
53
+ modelValue?: number;
54
+ length?: number;
55
+ total?: number;
56
+ };
57
+ filters: Record<string, TFilterValue | null>;
58
+ sorter: ISorterResult<RecordType> | ISorterResult<RecordType>[];
59
+ filterStates: IFilterState<RecordType>[];
60
+ sorterStates: ISortState<RecordType>[];
61
+ resetPagination: Function;
62
+ }
63
+ interface ILocale {
64
+ filterTitle?: string;
65
+ filterConfirm?: any;
66
+ filterReset?: any;
67
+ filterEmptyText?: any;
68
+ filterCheckAll?: any;
69
+ filterSearchPlaceholder?: any;
70
+ emptyText?: any | (() => any);
71
+ selectAll?: any;
72
+ selectNone?: any;
73
+ selectInvert?: any;
74
+ selectionAll?: any;
75
+ sortTitle?: string;
76
+ expand?: string;
77
+ collapse?: string;
78
+ triggerDesc?: string;
79
+ triggerAsc?: string;
80
+ cancelSort?: string;
81
+ }
82
+ namespace NColumn {
83
+ type TTitle<RecordType> = VueNode | ((props: ITitleProps<RecordType>) => VueNode);
84
+ type TTransformColumns<RecordType> = (columns: TColumns<RecordType>) => TColumns<RecordType>;
85
+ type TColumns<RecordType = TDefaultRecord> = (IColumn<RecordType> | IColumnGroup<RecordType>)[];
86
+ interface ITitleProps<RecordItem> {
87
+ sortColumns?: {
88
+ column: IColumn<RecordItem>;
89
+ order: TSortOrder;
90
+ }[];
91
+ filters?: Record<string, string[]>;
92
+ }
93
+ interface IFilterItem {
94
+ text: VueNode;
95
+ value: string | number | boolean;
96
+ children?: IFilterItem[];
97
+ }
98
+ interface IFilterConfirmProps {
99
+ closeDropdown: boolean;
100
+ }
101
+ interface IFilterDropdownProps<RecordType> {
102
+ prefixCls: string;
103
+ setSelectedKeys: (selectedKeys: TKey[]) => void;
104
+ selectedKeys: TKey[];
105
+ confirm: (param?: IFilterConfirmProps) => void;
106
+ clearFilters: () => void;
107
+ filters?: IFilterItem[];
108
+ visible?: boolean;
109
+ column?: IColumn<RecordType>;
110
+ }
111
+ interface IColumn<RecordType = TDefaultRecord> {
112
+ title?: TTitle<RecordType>;
113
+ key?: TKey;
114
+ class?: string;
115
+ className?: string;
116
+ ellipsis?: NCell.TCellEllipsis;
117
+ align?: TAlign;
118
+ fixed?: TFixed;
119
+ colSpan?: number;
120
+ rowSpan?: number;
121
+ width?: number | string;
122
+ minWidth?: number;
123
+ maxWidth?: number;
124
+ resizable?: boolean;
125
+ dataIndex?: TDataIndex;
126
+ filtered?: boolean;
127
+ filters?: IFilterItem[];
128
+ filterDropdown?: VueNode | ((props: IFilterDropdownProps<RecordType>) => VueNode);
129
+ filterMultiple?: boolean;
130
+ filteredValue?: TFilterValue | null;
131
+ defaultFilteredValue?: TFilterValue | null;
132
+ filterIcon?: VueNode | ((opt: {
133
+ filtered: boolean;
134
+ column: IColumn;
135
+ }) => VueNode);
136
+ filterMode?: TFilterMode;
137
+ filterSearch?: TFilterSearch;
138
+ filterDropdownVisible?: boolean;
139
+ customFilterDropdown?: boolean;
140
+ onFilter?: (value: string | number | boolean, record: RecordType) => boolean;
141
+ onFilterDropdownVisibleChange?: (visible: boolean) => void;
142
+ sorter?: boolean | TCompareFn<RecordType> | {
143
+ compare?: TCompareFn<RecordType>;
144
+ multiple: number;
145
+ };
146
+ sortOrder?: TSortOrder;
147
+ defaultSortOrder?: TSortOrder;
148
+ sortDirections?: TSortOrder[];
149
+ showSorterTooltip?: boolean | ComponentProps<typeof CdsTooltip>;
150
+ responsive?: TBreakpoint[] | TBreakpointUpDown[];
151
+ onCellClick?: (record: RecordType, event: MouseEvent) => void;
152
+ customCell?: NCustomize.TGetComponentProps<RecordType>;
153
+ customHeaderCell?: NCustomize.TGetComponentProps<TColumns<RecordType>[number]>;
154
+ customRender?: (opt: {
155
+ value: any;
156
+ text: any;
157
+ record: RecordType;
158
+ index?: number;
159
+ renderIndex?: number;
160
+ column: IColumn<RecordType>;
161
+ }) => any | NCell.IRenderedCell<RecordType>;
162
+ /**
163
+ * @private Internal usage.
164
+ *
165
+ * !!! DO NOT USE IN PRODUCTION ENVIRONMENT !!!
166
+ */
167
+ __originColumn__?: any;
168
+ }
169
+ interface IColumnGroup<RecordType = TDefaultRecord> extends Omit<IColumn<RecordType>, 'dataIndex'> {
170
+ children: TColumns<RecordType>;
171
+ }
172
+ }
173
+ namespace NRow {
174
+ type TGetRowKey<RecordType> = (record: RecordType, index?: number) => TKey;
175
+ type TClassName<RecordType> = (record: RecordType, index: number, indent: number) => string;
176
+ type TSelection = 'checkbox' | 'radio';
177
+ type TSelectionItemSelectFn = (currentRowKeys: TKey[]) => void;
178
+ type TSelectionSelectFn<RecordType> = (record: RecordType, selected: boolean, selectedRows: RecordType[], nativeEvent: Event) => void;
179
+ interface ISelectionItem {
180
+ key: string;
181
+ text: VueNode;
182
+ onSelect?: TSelectionItemSelectFn;
183
+ }
184
+ interface IRowSelection<RecordType = TDefaultRecord> {
185
+ preserveSelectedRowKeys?: boolean;
186
+ type?: TSelection;
187
+ selectedRowKeys?: TKey[];
188
+ defaultSelectedRowKeys?: TKey[];
189
+ selections?: INTERNAL_SELECTION_ITEM[] | boolean;
190
+ hideSelectAll?: boolean;
191
+ fixed?: TFixed;
192
+ columnWidth?: string | number;
193
+ columnTitle?: string | VueNode;
194
+ checkStrictly?: boolean;
195
+ onChange?: (selectedRowKeys: TKey[], selectedRows: RecordType[]) => void;
196
+ onSelect?: TSelectionSelectFn<RecordType>;
197
+ onSelectMultiple?: (selected: boolean, selectedRows: RecordType[], changeRows: RecordType[]) => void;
198
+ onSelectNone?: () => void;
199
+ getCheckboxProps?: (record: RecordType) => Partial<Omit<ComponentProps<typeof CdsCheckbox>, 'modelValue'>>;
200
+ renderCell?: (value: boolean, record: RecordType, index: number | undefined, originalNode: VueNode) => VueNode | NCell.IRenderedCell<RecordType>;
201
+ }
202
+ }
203
+ namespace NCell {
204
+ type TCellEllipsis = {
205
+ showTitle?: boolean;
206
+ } | boolean | undefined;
207
+ type TTransformCellText<RecordType> = (opt: {
208
+ text: any;
209
+ column: NColumn.IColumn<RecordType>;
210
+ record: any;
211
+ index?: number;
212
+ }) => any;
213
+ interface ICell<RecordType = TDefaultRecord> {
214
+ key?: TKey;
215
+ class?: string;
216
+ style?: CSSProperties;
217
+ column: NColumn.TColumns<RecordType>[number];
218
+ colSpan?: number;
219
+ rowSpan?: number;
220
+ hasSubColumns?: boolean;
221
+ colStart?: number;
222
+ colEnd?: number;
223
+ }
224
+ interface IRenderedCell<RecordType> {
225
+ props?: ICell<RecordType>;
226
+ children?: any;
227
+ }
228
+ }
229
+ namespace NExpand {
230
+ type TExpandableType = false | 'row' | 'nest';
231
+ type TRenderExpandIcon<RecordType> = (props: IRenderExpandIconProps<RecordType>) => any;
232
+ type TExpandedRowRender<RecordType> = (opt: {
233
+ record: RecordType;
234
+ index: number;
235
+ indent: number;
236
+ expanded: boolean;
237
+ }) => any;
238
+ interface IRenderExpandIconProps<RecordType> {
239
+ expanded: boolean;
240
+ record: RecordType;
241
+ expandable: boolean;
242
+ onExpand: TTriggerEventHandler<RecordType>;
243
+ }
244
+ interface IExpandable<RecordType = TDefaultRecord> {
245
+ expandedRowKeys?: readonly TKey[];
246
+ defaultExpandedRowKeys?: readonly TKey[];
247
+ defaultExpandAllRows?: boolean;
248
+ expandedRowByClick?: boolean;
249
+ expandIconColumnIndex?: number;
250
+ columnWidth?: string | number;
251
+ showExpandColumn?: boolean;
252
+ childrenColumnName?: string;
253
+ fixed?: TFixed;
254
+ indentSize?: number;
255
+ expandedRowRender?: TExpandedRowRender<RecordType>;
256
+ expandIcon?: TRenderExpandIcon<RecordType>;
257
+ expandedRowClassName?: NRow.TClassName<RecordType>;
258
+ rowExpandable?: (record: RecordType) => boolean;
259
+ onExpand?: (expanded: boolean, record: RecordType) => void;
260
+ onExpandedRowsChange?: (expandedKeys: readonly TKey[]) => void;
261
+ }
262
+ }
263
+ namespace NRender {
264
+ type TPanelRender<RecordType> = (data: readonly RecordType[]) => any;
265
+ }
266
+ namespace NPagination {
267
+ type TPosition = 'topLeft' | 'topCenter' | 'topRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight';
268
+ interface IProps extends ComponentProps<typeof CdsPagination> {
269
+ total?: number;
270
+ position?: TPosition[];
271
+ class?: string;
272
+ style?: CSSProperties;
273
+ }
274
+ }
275
+ namespace NSticky {
276
+ interface ISticky {
277
+ offsetHeader?: number;
278
+ offsetSummary?: number;
279
+ offsetScroll?: number;
280
+ getContainer?: () => Window | HTMLElement;
281
+ }
282
+ interface IStickyOffsets {
283
+ left: readonly number[];
284
+ right: readonly number[];
285
+ isSticky?: boolean;
286
+ }
287
+ }
288
+ namespace NCustomize {
289
+ type TCustomizeComponent = any;
290
+ type TAdditionalProps = TdHTMLAttributes & {
291
+ colSpan?: number;
292
+ rowSpan?: number;
293
+ };
294
+ type TGetPopupContainer = (triggerNode: HTMLElement) => HTMLElement;
295
+ type TGetComponentProps<DataType> = (data: DataType, index?: number, column?: NColumn.IColumn) => TAdditionalProps | undefined;
296
+ type TComponent = any;
297
+ type TGetComponent = (path: readonly string[], defaultComponent?: TComponent) => TComponent;
298
+ type TScrollBody<RecordType> = (data: readonly RecordType[], info: {
299
+ scrollbarSize: number;
300
+ ref: Ref<{
301
+ scrollLeft: number;
302
+ }>;
303
+ onScroll: (info: {
304
+ currentTarget?: HTMLElement;
305
+ scrollLeft?: number;
306
+ }) => void;
307
+ }) => any;
308
+ interface TableComponents<RecordType> {
309
+ table?: TComponent;
310
+ header?: {
311
+ wrapper?: TComponent;
312
+ row?: TComponent;
313
+ cell?: TComponent;
314
+ };
315
+ body?: TScrollBody<RecordType> | {
316
+ wrapper?: TComponent;
317
+ row?: TComponent;
318
+ cell?: TComponent;
319
+ };
320
+ }
321
+ }
322
+ }
323
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { NTable } from '../interface';
2
+ export declare function convertChildrenToColumn<RecordType>(elements?: any[]): NTable.NColumn.TColumns<RecordType>;
3
+ export declare function getColumnKey<RecordType>(column: NTable.NColumn.IColumn<RecordType>, defaultKey: string): NTable.TKey;
4
+ export declare function getColumnPos(index: number, pos?: string): string;
5
+ export declare function renderColumnTitle<RecordType>(title: NTable.NColumn.TTitle<RecordType>, props: NTable.NColumn.ITitleProps<RecordType>): import("../interface").VueNode;
6
+ export declare function flattenChildren(children?: any[], filterEmpty?: boolean): any[];
7
+ export declare function isEmptyElement(c: Record<string, any>): boolean;
@@ -0,0 +1,2 @@
1
+ import type { NTable } from '../interface';
2
+ export declare function findAllChildrenKeys<RecordType>(data: readonly RecordType[], getRowKey: NTable.NRow.TGetRowKey<RecordType>, childrenColumnName: string): NTable.TKey[];
@@ -0,0 +1,13 @@
1
+ import { NTable } from '../interface';
2
+ export interface IFixedInfo {
3
+ fixLeft?: number | false;
4
+ fixRight?: number | false;
5
+ lastFixLeft: boolean;
6
+ firstFixRight: boolean;
7
+ lastFixRight: boolean;
8
+ firstFixLeft: boolean;
9
+ isSticky: boolean | undefined;
10
+ }
11
+ export declare function getCellFixedInfo(colStart: number, colEnd: number, columns: readonly {
12
+ fixed?: NTable.TFixed;
13
+ }[], stickyOffsets: NTable.NSticky.IStickyOffsets): IFixedInfo;
@@ -0,0 +1,5 @@
1
+ export * from './value';
2
+ export * from './column';
3
+ export * from './expand';
4
+ export * from './fixed';
5
+ export * from './listener';
@@ -0,0 +1,5 @@
1
+ declare let supportsPassive: boolean;
2
+ declare function addEventListenerWrapper<K extends keyof WindowEventMap>(target: Element | Window | Document | null, eventType: K, listener: (event: Event | any) => void, option?: boolean | AddEventListenerOptions | undefined): {
3
+ remove: () => void;
4
+ };
5
+ export { addEventListenerWrapper, supportsPassive };
@@ -0,0 +1,10 @@
1
+ import type { NTable } from '../interface';
2
+ export declare function mergeObject<ReturnObject extends object>(...objects: Partial<ReturnObject>[]): ReturnObject;
3
+ export declare function getPathValue<ValueType, ObjectType extends object>(record: ObjectType, path?: NTable.TDataIndex): ValueType | null;
4
+ interface TGetColumnKeyColumn {
5
+ key?: NTable.TKey;
6
+ dataIndex?: NTable.TDataIndex;
7
+ }
8
+ export declare function getColumnsKey(columns: readonly TGetColumnKeyColumn[]): NTable.TKey[];
9
+ export declare function validateValue<T>(value: T): boolean;
10
+ export {};
@@ -9,7 +9,6 @@ declare const _sfc_main: import("vue").DefineComponent<{
9
9
  type: PropType<"yellow" | "light-blue" | "blue" | "deep-purple" | "purple" | "pink">;
10
10
  available: readonly ["yellow", "light-blue", "blue", "deep-purple", "purple", "pink"];
11
11
  default: undefined;
12
- description: string;
13
12
  validator: (value: "yellow" | "light-blue" | "blue" | "deep-purple" | "purple" | "pink") => boolean;
14
13
  };
15
14
  href: {
@@ -47,7 +46,14 @@ declare const _sfc_main: import("vue").DefineComponent<{
47
46
  tag: string | import("vue").ComputedRef<string>;
48
47
  href: import("vue").ComputedRef<string | undefined>;
49
48
  to: import("vue").ComputedRef<import("vue-router").RouteLocationRaw | undefined>;
50
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "remove"[], "remove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
49
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
50
+ /**
51
+ * Событие удаления
52
+ *
53
+ * @event remove
54
+ */
55
+ remove: (event: MouseEvent | KeyboardEvent) => true;
56
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
51
57
  text: {
52
58
  type: PropType<string>;
53
59
  default: undefined;
@@ -56,7 +62,6 @@ declare const _sfc_main: import("vue").DefineComponent<{
56
62
  type: PropType<"yellow" | "light-blue" | "blue" | "deep-purple" | "purple" | "pink">;
57
63
  available: readonly ["yellow", "light-blue", "blue", "deep-purple", "purple", "pink"];
58
64
  default: undefined;
59
- description: string;
60
65
  validator: (value: "yellow" | "light-blue" | "blue" | "deep-purple" | "purple" | "pink") => boolean;
61
66
  };
62
67
  href: {
@@ -83,13 +88,13 @@ declare const _sfc_main: import("vue").DefineComponent<{
83
88
  description: string;
84
89
  };
85
90
  }>> & {
86
- onRemove?: ((...args: any[]) => any) | undefined;
91
+ onRemove?: ((event: MouseEvent | KeyboardEvent) => any) | undefined;
87
92
  }, {
88
- size: "xs" | "sm" | "md" | "lg" | "xl";
89
93
  text: string;
90
- disabled: boolean;
91
94
  href: string;
92
95
  to: import("vue-router").RouteLocationRaw;
96
+ disabled: boolean;
97
+ size: "xs" | "sm" | "md" | "lg" | "xl";
93
98
  color: "yellow" | "light-blue" | "blue" | "deep-purple" | "purple" | "pink";
94
99
  removable: boolean;
95
100
  }>;
@@ -0,0 +1 @@
1
+ export { default as CdsTag } from './CdsTag.vue';