@central-design-system/components 3.0.0-alpha.0 → 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 (222) hide show
  1. package/dist/cds.css +1 -1
  2. package/dist/cds.d.ts +54 -24
  3. package/dist/cds.es.js +12619 -1577
  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 +254 -0
  12. package/dist/components/CdsCheckbox/CdsCheckboxGroup.vue.d.ts +227 -0
  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 +109 -0
  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 +4 -4
  33. package/dist/components/CdsInput/CdsInput.vue.d.ts +239 -0
  34. package/dist/components/CdsInput/CdsInputCounter.vue.d.ts +39 -0
  35. package/dist/components/CdsInput/CdsInputDescription.vue.d.ts +26 -0
  36. package/dist/components/CdsInput/CdsInputLabel.vue.d.ts +32 -0
  37. package/dist/components/CdsInput/CdsInputMessages.vue.d.ts +221 -0
  38. package/dist/components/CdsInput/index.d.ts +5 -0
  39. package/dist/components/CdsLink/CdsLink.vue.d.ts +10 -3
  40. package/dist/components/CdsLink/index.d.ts +1 -0
  41. package/dist/components/CdsList/CdsList.vue.d.ts +62 -33
  42. package/dist/components/CdsList/CdsListGroup.vue.d.ts +7 -7
  43. package/dist/components/CdsList/CdsListItem.vue.d.ts +35 -26
  44. package/dist/components/CdsList/composable/focus.d.ts +12 -0
  45. package/dist/components/CdsList/composable/index.d.ts +1 -0
  46. package/dist/components/CdsList/composable/list.d.ts +1 -1
  47. package/dist/components/CdsLoader/CdsLoader.vue.d.ts +1 -1
  48. package/dist/components/CdsMenu/CdsMenu.vue.d.ts +697 -0
  49. package/dist/components/CdsMenu/index.d.ts +1 -0
  50. package/dist/components/CdsMenu/shared.d.ts +10 -0
  51. package/dist/components/CdsOverlay/CdsOverlay.vue.d.ts +343 -0
  52. package/dist/components/CdsOverlay/composable/activator.d.ts +81 -0
  53. package/dist/components/CdsOverlay/composable/index.d.ts +6 -0
  54. package/dist/components/CdsOverlay/composable/locationStrategies.d.ts +78 -0
  55. package/dist/components/CdsOverlay/composable/scrim.d.ts +8 -0
  56. package/dist/components/CdsOverlay/composable/scrollStrategies.d.ts +33 -0
  57. package/dist/components/CdsOverlay/composable/stack.d.ts +9 -0
  58. package/dist/components/CdsOverlay/composable/teleport.d.ts +6 -0
  59. package/dist/components/CdsOverlay/index.d.ts +1 -0
  60. package/dist/components/CdsOverlay/utils/index.d.ts +2 -0
  61. package/dist/components/CdsOverlay/utils/point.d.ts +20 -0
  62. package/dist/components/CdsOverlay/utils/requestNewFrame.d.ts +5 -0
  63. package/dist/components/CdsPagination/CdsPagination.vue.d.ts +142 -0
  64. package/dist/components/CdsPagination/index.d.ts +1 -0
  65. package/dist/components/CdsRadioButton/CdsRadio.vue.d.ts +230 -0
  66. package/dist/components/CdsRadioButton/CdsRadioButton.vue.d.ts +228 -0
  67. package/dist/components/CdsRadioButton/index.d.ts +2 -0
  68. package/dist/components/CdsSelect/CdsSelect.vue.d.ts +775 -0
  69. package/dist/components/CdsSelect/index.d.ts +1 -0
  70. package/dist/components/CdsSidebar/CdsSidebar.vue.d.ts +66 -0
  71. package/dist/components/CdsSidebar/index.d.ts +1 -0
  72. package/dist/components/CdsStages/CdsStages.vue.d.ts +102 -0
  73. package/dist/components/CdsStages/index.d.ts +1 -0
  74. package/dist/components/CdsStatus/index.d.ts +1 -0
  75. package/dist/components/CdsTable/CdsTable.vue.d.ts +1147 -0
  76. package/dist/components/CdsTable/CdsTableColumn.vue.d.ts +10 -0
  77. package/dist/components/CdsTable/CdsTableColumnGroup.vue.d.ts +10 -0
  78. package/dist/components/CdsTable/components/Body/Body.d.ts +12 -0
  79. package/dist/components/CdsTable/components/Body/BodyRow.d.ts +22 -0
  80. package/dist/components/CdsTable/components/Body/ExpandedRow.d.ts +13 -0
  81. package/dist/components/CdsTable/components/Body/index.d.ts +1 -0
  82. package/dist/components/CdsTable/components/Cell/Cell.d.ts +34 -0
  83. package/dist/components/CdsTable/components/Cell/MeasureCell.d.ts +7 -0
  84. package/dist/components/CdsTable/components/Cell/index.d.ts +2 -0
  85. package/dist/components/CdsTable/components/ColGroup/ColGroup.d.ts +8 -0
  86. package/dist/components/CdsTable/components/ColGroup/index.d.ts +1 -0
  87. package/dist/components/CdsTable/components/Filter/FilterDropdown.d.ts +14 -0
  88. package/dist/components/CdsTable/components/Filter/FilterSearch.d.ts +9 -0
  89. package/dist/components/CdsTable/components/Filter/FilterWrapper.d.ts +4 -0
  90. package/dist/components/CdsTable/components/Filter/index.d.ts +1 -0
  91. package/dist/components/CdsTable/components/FixedHolder/FixedHolder.d.ts +21 -0
  92. package/dist/components/CdsTable/components/FixedHolder/index.d.ts +1 -0
  93. package/dist/components/CdsTable/components/Footer/Footer.d.ts +8 -0
  94. package/dist/components/CdsTable/components/Footer/index.d.ts +1 -0
  95. package/dist/components/CdsTable/components/Header/DragHandle.d.ts +44 -0
  96. package/dist/components/CdsTable/components/Header/Header.d.ts +11 -0
  97. package/dist/components/CdsTable/components/Header/HeaderRow.d.ts +15 -0
  98. package/dist/components/CdsTable/components/Header/index.d.ts +1 -0
  99. package/dist/components/CdsTable/components/Icons/ExpandIcon.d.ts +12 -0
  100. package/dist/components/CdsTable/components/Panel/Panel.d.ts +4 -0
  101. package/dist/components/CdsTable/components/Panel/index.d.ts +1 -0
  102. package/dist/components/CdsTable/components/ResizeObserver/ResizeObserver.d.ts +11 -0
  103. package/dist/components/CdsTable/components/ResizeObserver/index.d.ts +1 -0
  104. package/dist/components/CdsTable/components/StickyScrollbar/StickyScrollbar.d.ts +15 -0
  105. package/dist/components/CdsTable/components/StickyScrollbar/index.d.ts +1 -0
  106. package/dist/components/CdsTable/components/Table/InternalTable.d.ts +1139 -0
  107. package/dist/components/CdsTable/components/TableProvider.d.ts +1132 -0
  108. package/dist/components/CdsTable/composable/columns.d.ts +28 -0
  109. package/dist/components/CdsTable/composable/filter.d.ts +16 -0
  110. package/dist/components/CdsTable/composable/flat.d.ts +17 -0
  111. package/dist/components/CdsTable/composable/frame.d.ts +6 -0
  112. package/dist/components/CdsTable/composable/index.d.ts +10 -0
  113. package/dist/components/CdsTable/composable/pagination.d.ts +18 -0
  114. package/dist/components/CdsTable/composable/selection.d.ts +23 -0
  115. package/dist/components/CdsTable/composable/sorter.d.ts +21 -0
  116. package/dist/components/CdsTable/composable/sticky.d.ts +12 -0
  117. package/dist/components/CdsTable/composable/table.d.ts +640 -0
  118. package/dist/components/CdsTable/constants.d.ts +2 -0
  119. package/dist/components/CdsTable/context/body.d.ts +19 -0
  120. package/dist/components/CdsTable/context/expandedRow.d.ts +10 -0
  121. package/dist/components/CdsTable/context/hover.d.ts +9 -0
  122. package/dist/components/CdsTable/context/index.d.ts +8 -0
  123. package/dist/components/CdsTable/context/resize.d.ts +9 -0
  124. package/dist/components/CdsTable/context/slots.d.ts +17 -0
  125. package/dist/components/CdsTable/context/sticky.d.ts +2 -0
  126. package/dist/components/CdsTable/context/summary.d.ts +14 -0
  127. package/dist/components/CdsTable/context/table.d.ts +20 -0
  128. package/dist/components/CdsTable/index.d.ts +6 -0
  129. package/dist/components/CdsTable/interface.d.ts +323 -0
  130. package/dist/components/CdsTable/utils/column.d.ts +7 -0
  131. package/dist/components/CdsTable/utils/expand.d.ts +2 -0
  132. package/dist/components/CdsTable/utils/fixed.d.ts +13 -0
  133. package/dist/components/CdsTable/utils/index.d.ts +5 -0
  134. package/dist/components/CdsTable/utils/listener.d.ts +5 -0
  135. package/dist/components/CdsTable/utils/value.d.ts +10 -0
  136. package/dist/components/CdsTag/CdsTag.vue.d.ts +11 -6
  137. package/dist/components/CdsTag/index.d.ts +1 -0
  138. package/dist/components/CdsTextArea/CdsTextArea.vue.d.ts +782 -0
  139. package/dist/components/CdsTextArea/index.d.ts +1 -0
  140. package/dist/components/CdsTextInput/CdsTextInput.vue.d.ts +735 -0
  141. package/dist/components/CdsTextInput/index.d.ts +1 -0
  142. package/dist/components/CdsTimePicker/CdsTimePicker.vue.d.ts +144 -0
  143. package/dist/components/CdsTimePicker/composable/index.d.ts +1 -0
  144. package/dist/components/CdsTimePicker/composable/time.d.ts +134 -0
  145. package/dist/components/CdsTimePicker/index.d.ts +1 -0
  146. package/dist/components/CdsTooltip/CdsTooltip.vue.d.ts +765 -0
  147. package/dist/components/CdsTooltip/index.d.ts +1 -0
  148. package/dist/components/CdsTree/composable/index.d.ts +1 -0
  149. package/dist/components/CdsTree/composable/tree.d.ts +6 -0
  150. package/dist/components/CdsTree/interface.d.ts +60 -0
  151. package/dist/components/CdsTree/utils/conduct.d.ts +11 -0
  152. package/dist/components/CdsTree/utils/data.d.ts +36 -0
  153. package/dist/components/CdsTree/utils/index.d.ts +2 -0
  154. package/dist/components/index.d.ts +60 -1
  155. package/dist/composable/color.d.ts +4 -2
  156. package/dist/composable/datetime.d.ts +45 -0
  157. package/dist/composable/delay.d.ts +29 -0
  158. package/dist/composable/dimensions.d.ts +65 -0
  159. package/dist/composable/direction.d.ts +24 -0
  160. package/dist/composable/display.d.ts +59 -0
  161. package/dist/composable/field.d.ts +139 -0
  162. package/dist/composable/filter.d.ts +52 -0
  163. package/dist/composable/focus.d.ts +19 -9
  164. package/dist/composable/form.d.ts +128 -0
  165. package/dist/composable/hidration.d.ts +2 -0
  166. package/dist/composable/icon.d.ts +29 -4
  167. package/dist/composable/index.d.ts +24 -0
  168. package/dist/composable/input.d.ts +99 -0
  169. package/dist/composable/items.d.ts +12 -9
  170. package/dist/composable/lazy.d.ts +21 -0
  171. package/dist/composable/link.d.ts +1 -2
  172. package/dist/composable/loading.d.ts +1 -0
  173. package/dist/composable/locale.d.ts +18 -0
  174. package/dist/composable/menu.d.ts +37 -0
  175. package/dist/composable/nested/nested.d.ts +2 -2
  176. package/dist/composable/overlay.d.ts +98 -0
  177. package/dist/composable/readonly.d.ts +19 -0
  178. package/dist/composable/refs.d.ts +6 -0
  179. package/dist/composable/resizeObserver.d.ts +7 -0
  180. package/dist/composable/router.d.ts +3 -0
  181. package/dist/composable/scopeId.d.ts +5 -0
  182. package/dist/composable/select.d.ts +86 -0
  183. package/dist/composable/state.d.ts +13 -0
  184. package/dist/composable/title.d.ts +21 -0
  185. package/dist/composable/transition.d.ts +22 -0
  186. package/dist/composable/validation.d.ts +112 -0
  187. package/dist/create.d.ts +23 -0
  188. package/dist/directives/click-outside/index.d.ts +14 -0
  189. package/dist/directives/index.d.ts +1 -2
  190. package/dist/globals.d.ts +18 -0
  191. package/dist/locale/en.d.ts +3 -0
  192. package/dist/locale/index.d.ts +13 -0
  193. package/dist/locale/ru.d.ts +3 -0
  194. package/dist/transitions/createTransition.d.ts +31 -2
  195. package/dist/transitions/index.d.ts +240 -0
  196. package/dist/utils/date/date.d.ts +190 -0
  197. package/dist/utils/dom/anchor.d.ts +23 -0
  198. package/dist/utils/dom/animation.d.ts +6 -0
  199. package/dist/utils/dom/box.d.ts +26 -0
  200. package/dist/utils/dom/classNames.d.ts +1 -0
  201. package/dist/utils/dom/dom.d.ts +10 -0
  202. package/dist/utils/dom/getScrollParent.d.ts +12 -0
  203. package/dist/utils/dom/globals.d.ts +4 -0
  204. package/dist/utils/dom/scrollTo.d.ts +10 -0
  205. package/dist/utils/dom/warn.d.ts +1 -0
  206. package/dist/utils/dom/wrapperRaf.d.ts +4 -0
  207. package/dist/utils/helpers.d.ts +133 -20
  208. package/dist/utils/index.d.ts +16 -1
  209. package/dist/utils/use/cache.d.ts +4 -0
  210. package/dist/utils/use/eagerComputed.d.ts +3 -0
  211. package/dist/utils/use/pickAttrs.d.ts +11 -0
  212. package/dist/utils/use/reactiveComputed.d.ts +4 -0
  213. package/dist/utils/use/reactivePick.d.ts +8 -0
  214. package/dist/utils/use/toReactive.d.ts +8 -0
  215. package/dist/utils/use/toValue.d.ts +5 -0
  216. package/package.json +8 -5
  217. package/src/scss/mixins/layout/_shadow.scss +4 -0
  218. package/src/scss/mixins/layout/index.scss +1 -0
  219. package/src/scss/modules/_transition.scss +133 -3
  220. package/src/scss/themes/index.ts +1 -1
  221. package/src/scss/utility/lists.scss +1 -0
  222. package/dist/types/CdsOptions.d.ts +0 -3
@@ -0,0 +1,640 @@
1
+ import { CdsTooltip } from '../../CdsTooltip';
2
+ import type { PropType, Ref } from 'vue';
3
+ import type { ComponentProps } from '../../../utils';
4
+ import type { NTable } from '../interface';
5
+ export interface ITableProps<RecordType = NTable.TDefaultRecord> {
6
+ id?: string;
7
+ data?: RecordType[];
8
+ columns?: NTable.NColumn.TColumns<RecordType>;
9
+ rowKey?: string | NTable.NRow.TGetRowKey<RecordType>;
10
+ rowClassName?: string | NTable.NRow.TClassName<RecordType>;
11
+ tableLayout?: NTable.TLayout;
12
+ showHeader?: boolean;
13
+ sticky?: boolean | NTable.NSticky.ISticky;
14
+ loading?: boolean;
15
+ hovered?: boolean;
16
+ bordered?: boolean;
17
+ borderless?: boolean;
18
+ header?: NTable.NRender.TPanelRender<RecordType>;
19
+ footer?: NTable.NRender.TPanelRender<RecordType>;
20
+ components?: NTable.NCustomize.TableComponents<RecordType>;
21
+ customRow?: NTable.NCustomize.TGetComponentProps<RecordType>;
22
+ customHeaderRow?: NTable.NCustomize.TGetComponentProps<NTable.NColumn.IColumn<RecordType>[]>;
23
+ pagination?: false | NTable.NPagination.IProps;
24
+ scroll?: NTable.TScroll;
25
+ sortDirections?: NTable.TSortOrder[];
26
+ showSorterTooltip?: boolean | ComponentProps<typeof CdsTooltip>;
27
+ expandFixed?: NTable.TFixed;
28
+ expandColumnWidth?: number;
29
+ expandedRowKeys?: NTable.TKey[];
30
+ expandIconColumnIndex?: number;
31
+ rowSelection?: NTable.NRow.IRowSelection<RecordType>;
32
+ defaultExpandedRowKeys?: NTable.TKey[];
33
+ defaultExpandAllRows?: boolean;
34
+ canExpandable?: boolean;
35
+ expandedRowRender?: NTable.NExpand.TExpandedRowRender<RecordType>;
36
+ expandRowByClick?: boolean;
37
+ expandIcon?: NTable.NExpand.TRenderExpandIcon<RecordType>;
38
+ indentSize: number;
39
+ showExpandColumn?: boolean;
40
+ expandedRowClassName?: NTable.NRow.TClassName<RecordType>;
41
+ childrenColumnName?: string;
42
+ rowExpandable?: NTable.NExpand.IExpandable['rowExpandable'];
43
+ transformCellText?: NTable.NCell.TTransformCellText<RecordType>;
44
+ getPopupContainer?: NTable.NCustomize.TGetPopupContainer;
45
+ onChange?: (pagination: NTable.NPagination.IProps, filters: Record<string, NTable.TFilterValue | null>, sorter: NTable.ISorterResult | NTable.ISorterResult[], extra: NTable.ICurrentData) => void;
46
+ onExpand?: (expanded: boolean, record: RecordType) => void;
47
+ onExpandedRowsChange?: (expandedKeys: NTable.TKey[]) => void;
48
+ onResizeColumn?: (width: number, column: NTable.NColumn.IColumn<RecordType>) => void;
49
+ /**
50
+ * @private Internal usage, may remove by refactor. Should always use `columns` instead.
51
+ *
52
+ * !!! DO NOT USE IN PRODUCTION ENVIRONMENT !!!
53
+ */
54
+ internalHooks?: string;
55
+ /**
56
+ * @private Internal usage, may remove by refactor. Should always use `columns` instead.
57
+ *
58
+ * !!! DO NOT USE IN PRODUCTION ENVIRONMENT !!!
59
+ */
60
+ transformColumns?: (columns: NTable.NColumn.TColumns<RecordType>) => NTable.NColumn.TColumns<RecordType>;
61
+ /**
62
+ * @private Internal usage, may remove by refactor.
63
+ *
64
+ * !!! DO NOT USE IN PRODUCTION ENVIRONMENT !!!
65
+ */
66
+ internalRefs?: {
67
+ body: HTMLDivElement | null;
68
+ };
69
+ /**
70
+ * @private Internal usage, may remove by refactor.
71
+ *
72
+ * !!! DO NOT USE IN PRODUCTION ENVIRONMENT !!!
73
+ */
74
+ onUpdateInternalRefs?: (refs: Record<string, any>) => void;
75
+ }
76
+ export declare const makeTableProps: <Defaults extends {
77
+ id?: unknown;
78
+ data?: unknown;
79
+ columns?: unknown;
80
+ rowKey?: unknown;
81
+ rowClassName?: unknown;
82
+ tableLayout?: unknown;
83
+ showHeader?: unknown;
84
+ sticky?: unknown;
85
+ loading?: unknown;
86
+ hovered?: unknown;
87
+ bordered?: unknown;
88
+ borderless?: unknown;
89
+ header?: unknown;
90
+ footer?: unknown;
91
+ components?: unknown;
92
+ customRow?: unknown;
93
+ customHeaderRow?: unknown;
94
+ pagination?: unknown;
95
+ scroll?: unknown;
96
+ sortDirection?: unknown;
97
+ showSorterTooltip?: unknown;
98
+ expandFixed?: unknown;
99
+ expandColumnWidth?: unknown;
100
+ expandedRowKeys?: unknown;
101
+ rowSelection?: unknown;
102
+ defaultExpandedRowKeys?: unknown;
103
+ defaultExpandAllRows?: unknown;
104
+ canExpandable?: unknown;
105
+ expandedRowRender?: unknown;
106
+ expandRowByClick?: unknown;
107
+ expandIconColumnIndex?: unknown;
108
+ expandIcon?: unknown;
109
+ indentSize?: unknown;
110
+ showExpandColumn?: unknown;
111
+ expandedRowClassName?: unknown;
112
+ childrenColumnName?: unknown;
113
+ rowExpandable?: unknown;
114
+ transformCellText?: unknown;
115
+ getPopupContainer?: unknown;
116
+ onChange?: unknown;
117
+ onResizeColumn?: unknown;
118
+ } = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
119
+ /**
120
+ * Идентификатор таблицы
121
+ */
122
+ id: {
123
+ type: PropType<string>;
124
+ default: undefined;
125
+ };
126
+ /**
127
+ * Массив данных для отображения в таблице
128
+ */
129
+ data: {
130
+ type: PropType<any[]>;
131
+ default: undefined;
132
+ };
133
+ /**
134
+ * Колонки таблицы
135
+ */
136
+ columns: {
137
+ type: PropType<NTable.NColumn.TColumns<any>>;
138
+ default: undefined;
139
+ };
140
+ /**
141
+ * Уникальный ключ строки может быть строкой или функцией возвращающей строку
142
+ */
143
+ rowKey: {
144
+ type: PropType<string | NTable.NRow.TGetRowKey<any>>;
145
+ default: string;
146
+ };
147
+ /**
148
+ * Классы строки
149
+ */
150
+ rowClassName: {
151
+ type: PropType<string | NTable.NRow.TClassName<any>>;
152
+ default: undefined;
153
+ };
154
+ /**
155
+ * Фиксированный или авто лэйаут
156
+ */
157
+ tableLayout: {
158
+ type: PropType<NTable.TLayout>;
159
+ default: undefined;
160
+ };
161
+ /**
162
+ * Показывать ли заголовок таблицы
163
+ */
164
+ showHeader: {
165
+ type: PropType<boolean>;
166
+ default: undefined;
167
+ };
168
+ /**
169
+ * Sticky для заголовка и скроллбара
170
+ */
171
+ sticky: {
172
+ type: PropType<boolean | NTable.NSticky.ISticky>;
173
+ default: undefined;
174
+ };
175
+ /**
176
+ * Загрузка таблицы
177
+ */
178
+ loading: {
179
+ type: PropType<boolean>;
180
+ default: boolean;
181
+ };
182
+ /**
183
+ * Подсвечивание строки при наведении
184
+ */
185
+ hovered: {
186
+ type: PropType<boolean>;
187
+ default: boolean;
188
+ };
189
+ /**
190
+ * Показывать все границы таблицы
191
+ */
192
+ bordered: {
193
+ type: PropType<boolean>;
194
+ default: boolean;
195
+ };
196
+ /**
197
+ * Убрать все границы таблицы
198
+ */
199
+ borderless: {
200
+ type: PropType<boolean>;
201
+ default: boolean;
202
+ };
203
+ /**
204
+ * Рендер заголовка таблицы
205
+ */
206
+ header: {
207
+ type: PropType<NTable.NRender.TPanelRender<any>>;
208
+ default: undefined;
209
+ };
210
+ /**
211
+ * Рендер футера таблицы
212
+ */
213
+ footer: {
214
+ type: PropType<NTable.NRender.TPanelRender<any>>;
215
+ default: undefined;
216
+ };
217
+ /**
218
+ * Переопределить компоненты таблицы по умолчанию
219
+ */
220
+ components: {
221
+ type: PropType<NTable.NCustomize.TableComponents<any>>;
222
+ default: undefined;
223
+ };
224
+ /**
225
+ * Устанавливает свойства для каждой строки
226
+ */
227
+ customRow: {
228
+ type: PropType<NTable.NCustomize.TGetComponentProps<any>>;
229
+ default: undefined;
230
+ };
231
+ /**
232
+ * Устанавливает свойства для каждой строки заголовка
233
+ */
234
+ customHeaderRow: {
235
+ type: PropType<NTable.NCustomize.TGetComponentProps<NTable.NColumn.IColumn<any>[]>>;
236
+ default: undefined;
237
+ };
238
+ /**
239
+ * Конфигурация пагинации таблицы
240
+ */
241
+ pagination: {
242
+ type: PropType<false | NTable.NPagination.IProps>;
243
+ default: undefined;
244
+ };
245
+ /**
246
+ * Можно ли скроллить таблицу
247
+ */
248
+ scroll: {
249
+ type: PropType<NTable.TScroll & {
250
+ scrollToFirstRowOnChange?: boolean | undefined;
251
+ }>;
252
+ default: undefined;
253
+ };
254
+ /**
255
+ * Сортировка данных в таблице. 'ascend' | 'descend'
256
+ */
257
+ sortDirection: {
258
+ type: PropType<string[]>;
259
+ default: undefined;
260
+ };
261
+ /**
262
+ * Показывать ли тултипы для сортировки в заголовке. Можно передать объект со свойствами для CdsTooltip.
263
+ */
264
+ showSorterTooltip: {
265
+ type: PropType<boolean | Omit<Partial<{
266
+ text: string;
267
+ disabled: boolean;
268
+ location: NonNullable<import('../../../utils').TAnchor>;
269
+ transition: NonNullable<string | boolean | (import("vue").TransitionProps & {
270
+ component?: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
271
+ })>;
272
+ origin: NonNullable<import('../../../utils').TAnchor | "auto" | "overlap">;
273
+ id: string;
274
+ modelValue: boolean;
275
+ attach: string | boolean | Element;
276
+ contained: boolean;
277
+ persistent: boolean;
278
+ scrim: NonNullable<string | boolean>;
279
+ closeOnBack: boolean;
280
+ zIndex: string | number;
281
+ contentClasses: string | string[] | Record<string, boolean>;
282
+ contentProps: Record<string, unknown>;
283
+ activator: string | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | Element;
284
+ activatorProps: Record<string, any>;
285
+ openOnClick: NonNullable<boolean | undefined>;
286
+ openOnHover: boolean;
287
+ openOnFocus: boolean | undefined;
288
+ closeOnContentClick: boolean;
289
+ closeDelay: string | number;
290
+ openDelay: string | number;
291
+ locationStrategy: NonNullable<"static" | "connected" | ((data: import("../../CdsOverlay/composable").ILocationStrategyData, props: import("../../CdsOverlay/composable").ILocationStrategyProps, contentStyles: Ref<Record<string, string>>) => {
292
+ updateLocation: (event: Event) => void;
293
+ } | undefined)>;
294
+ offset: NonNullable<string | number | number[]>;
295
+ scrollStrategy: NonNullable<"none" | "close" | "block" | "reposition" | ((data: import("../../CdsOverlay/composable").IScrollStrategyData, props: import("../../CdsOverlay/composable").IScrollStrategyProps, scope: import("vue").EffectScope) => void)>;
296
+ eager: boolean;
297
+ height: string | number;
298
+ width: string | number;
299
+ maxHeight: string | number;
300
+ maxWidth: string | number;
301
+ minHeight: string | number;
302
+ minWidth: NonNullable<string | number>;
303
+ hideArrow: boolean;
304
+ }> & Omit<Readonly<import("vue").ExtractPropTypes<{
305
+ closeDelay: {
306
+ type: PropType<string | number>;
307
+ default: null;
308
+ };
309
+ openDelay: {
310
+ type: PropType<string | number>;
311
+ default: null;
312
+ };
313
+ transition: Omit<{
314
+ type: PropType<string | boolean | (import("vue").TransitionProps & {
315
+ component?: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
316
+ })>;
317
+ default: string;
318
+ validator: (value: unknown) => boolean;
319
+ }, "default" | "type"> & {
320
+ type: PropType<NonNullable<string | boolean | (import("vue").TransitionProps & {
321
+ component?: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
322
+ })>>;
323
+ default: NonNullable<string | boolean | (import("vue").TransitionProps & {
324
+ component?: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
325
+ })>;
326
+ };
327
+ height: {
328
+ type: PropType<string | number>;
329
+ default: string;
330
+ };
331
+ width: {
332
+ type: PropType<string | number>;
333
+ default: string;
334
+ };
335
+ maxHeight: {
336
+ type: PropType<string | number>;
337
+ default: string;
338
+ };
339
+ maxWidth: {
340
+ type: PropType<string | number>;
341
+ default: string;
342
+ };
343
+ minHeight: {
344
+ type: PropType<string | number>;
345
+ default: string;
346
+ };
347
+ minWidth: Omit<{
348
+ type: PropType<string | number>;
349
+ default: string;
350
+ }, "default" | "type"> & {
351
+ type: PropType<NonNullable<string | number>>;
352
+ default: NonNullable<string | number>;
353
+ };
354
+ eager: Omit<{
355
+ type: PropType<boolean>;
356
+ default: boolean;
357
+ }, "default" | "type"> & {
358
+ type: PropType<boolean>;
359
+ default: boolean;
360
+ };
361
+ scrollStrategy: Omit<{
362
+ type: PropType<"none" | "close" | "block" | "reposition" | ((data: import("../../CdsOverlay/composable").IScrollStrategyData, props: import("../../CdsOverlay/composable").IScrollStrategyProps, scope: import("vue").EffectScope) => void)>;
363
+ default: string;
364
+ validator: (value: any) => boolean;
365
+ }, "default" | "type"> & {
366
+ type: PropType<NonNullable<"none" | "close" | "block" | "reposition" | ((data: import("../../CdsOverlay/composable").IScrollStrategyData, props: import("../../CdsOverlay/composable").IScrollStrategyProps, scope: import("vue").EffectScope) => void)>>;
367
+ default: NonNullable<"none" | "close" | "block" | "reposition" | ((data: import("../../CdsOverlay/composable").IScrollStrategyData, props: import("../../CdsOverlay/composable").IScrollStrategyProps, scope: import("vue").EffectScope) => void)>;
368
+ };
369
+ locationStrategy: Omit<{
370
+ type: PropType<"static" | "connected" | ((data: import("../../CdsOverlay/composable").ILocationStrategyData, props: import("../../CdsOverlay/composable").ILocationStrategyProps, contentStyles: Ref<Record<string, string>>) => {
371
+ updateLocation: (event: Event) => void;
372
+ } | undefined)>;
373
+ default: string;
374
+ validator: (value: any) => boolean;
375
+ }, "default" | "type"> & {
376
+ type: PropType<NonNullable<"static" | "connected" | ((data: import("../../CdsOverlay/composable").ILocationStrategyData, props: import("../../CdsOverlay/composable").ILocationStrategyProps, contentStyles: Ref<Record<string, string>>) => {
377
+ updateLocation: (event: Event) => void;
378
+ } | undefined)>>;
379
+ default: NonNullable<"static" | "connected" | ((data: import("../../CdsOverlay/composable").ILocationStrategyData, props: import("../../CdsOverlay/composable").ILocationStrategyProps, contentStyles: Ref<Record<string, string>>) => {
380
+ updateLocation: (event: Event) => void;
381
+ } | undefined)>;
382
+ };
383
+ location: Omit<{
384
+ type: PropType<import('../../../utils').TAnchor>;
385
+ default: string;
386
+ }, "default" | "type"> & {
387
+ type: PropType<NonNullable<import('../../../utils').TAnchor>>;
388
+ default: NonNullable<import('../../../utils').TAnchor>;
389
+ };
390
+ origin: Omit<{
391
+ type: PropType<import('../../../utils').TAnchor | "auto" | "overlap">;
392
+ default: string;
393
+ }, "default" | "type"> & {
394
+ type: PropType<NonNullable<import('../../../utils').TAnchor | "auto" | "overlap">>;
395
+ default: NonNullable<import('../../../utils').TAnchor | "auto" | "overlap">;
396
+ };
397
+ offset: Omit<{
398
+ type: PropType<string | number | number[]>;
399
+ default: null;
400
+ }, "default" | "type"> & {
401
+ type: PropType<NonNullable<string | number | number[]>>;
402
+ default: NonNullable<string | number | number[]>;
403
+ };
404
+ activator: {
405
+ type: PropType<string | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | Element>;
406
+ default: null;
407
+ };
408
+ activatorProps: {
409
+ type: PropType<Record<string, any>>;
410
+ default: () => {};
411
+ };
412
+ openOnClick: Omit<{
413
+ type: PropType<boolean | undefined>;
414
+ default: undefined;
415
+ }, "default" | "type"> & {
416
+ type: PropType<NonNullable<boolean | undefined>>;
417
+ default: NonNullable<boolean | undefined>;
418
+ };
419
+ openOnHover: Omit<{
420
+ type: PropType<boolean>;
421
+ default: boolean;
422
+ }, "default" | "type"> & {
423
+ type: PropType<boolean>;
424
+ default: boolean;
425
+ };
426
+ openOnFocus: {
427
+ type: PropType<boolean | undefined>;
428
+ default: undefined;
429
+ };
430
+ closeOnContentClick: {
431
+ type: PropType<boolean>;
432
+ default: boolean;
433
+ };
434
+ attach: {
435
+ type: PropType<string | boolean | Element>;
436
+ default: boolean;
437
+ };
438
+ contained: {
439
+ type: PropType<boolean>;
440
+ default: boolean;
441
+ };
442
+ disabled: {
443
+ type: PropType<boolean>;
444
+ default: boolean;
445
+ };
446
+ persistent: {
447
+ type: PropType<boolean>;
448
+ default: boolean;
449
+ };
450
+ scrim: Omit<{
451
+ type: PropType<string | boolean>;
452
+ default: boolean;
453
+ }, "default" | "type"> & {
454
+ type: PropType<NonNullable<string | boolean>>;
455
+ default: NonNullable<string | boolean>;
456
+ };
457
+ modelValue: {
458
+ type: PropType<boolean>;
459
+ default: boolean;
460
+ };
461
+ closeOnBack: Omit<{
462
+ type: PropType<boolean>;
463
+ default: boolean;
464
+ }, "default" | "type"> & {
465
+ type: PropType<boolean>;
466
+ default: boolean;
467
+ };
468
+ zIndex: {
469
+ type: PropType<string | number>;
470
+ default: number;
471
+ };
472
+ contentClasses: {
473
+ type: PropType<string | string[] | Record<string, boolean>>;
474
+ default: null;
475
+ };
476
+ contentProps: {
477
+ type: PropType<Record<string, unknown>>;
478
+ default: () => {};
479
+ };
480
+ text: {
481
+ type: PropType<string>;
482
+ default: undefined;
483
+ };
484
+ id: {
485
+ type: PropType<string>;
486
+ default: undefined;
487
+ };
488
+ hideArrow: {
489
+ type: PropType<boolean>;
490
+ default: boolean;
491
+ };
492
+ }>> & {
493
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
494
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "text" | "disabled" | "location" | "transition" | "origin" | "id" | "modelValue" | "attach" | "contained" | "persistent" | "scrim" | "closeOnBack" | "zIndex" | "contentClasses" | "contentProps" | "activator" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeDelay" | "openDelay" | "locationStrategy" | "offset" | "scrollStrategy" | "eager" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "hideArrow">, keyof import("vue").VNodeProps | keyof import("vue").AllowedComponentProps>>;
495
+ default: boolean;
496
+ };
497
+ /**
498
+ * Сделать колонку с раскрытием фиксированной (left | right | boolean)
499
+ */
500
+ expandFixed: {
501
+ type: PropType<NTable.TFixed>;
502
+ default: undefined;
503
+ };
504
+ /**
505
+ * Ширина колонки с раскрытием
506
+ */
507
+ expandColumnWidth: {
508
+ type: PropType<number>;
509
+ default: undefined;
510
+ };
511
+ /**
512
+ * Ключи текущих раскрытых строк (поддерживает v-model)
513
+ */
514
+ expandedRowKeys: {
515
+ type: PropType<NTable.TKey[]>;
516
+ default: NTable.TKey[] | undefined;
517
+ };
518
+ /**
519
+ * Конфигурация для выбора строк
520
+ */
521
+ rowSelection: {
522
+ type: PropType<NTable.NRow.IRowSelection<any>>;
523
+ default: undefined;
524
+ };
525
+ /**
526
+ * Ключи раскрытых строк по умолчанию
527
+ */
528
+ defaultExpandedRowKeys: {
529
+ type: PropType<NTable.TKey[]>;
530
+ default: NTable.TKey[] | undefined;
531
+ };
532
+ /**
533
+ * По умолчанию все колонки раскрыты
534
+ */
535
+ defaultExpandAllRows: {
536
+ type: PropType<boolean>;
537
+ default: boolean;
538
+ };
539
+ /**
540
+ * Может раскрываться
541
+ */
542
+ canExpandable: {
543
+ type: PropType<boolean>;
544
+ default: boolean;
545
+ };
546
+ /**
547
+ * Рендер для каждой раскрытой строки
548
+ */
549
+ expandedRowRender: {
550
+ type: PropType<NTable.NExpand.TExpandedRowRender<any>>;
551
+ default: undefined;
552
+ };
553
+ /**
554
+ * Раскрытие строки по клику в любое место этой строки
555
+ */
556
+ expandRowByClick: {
557
+ type: PropType<boolean>;
558
+ default: boolean;
559
+ };
560
+ /**
561
+ * Индекс колонки, в которой будет располагаться иконка раскрытия
562
+ */
563
+ expandIconColumnIndex: {
564
+ type: PropType<number>;
565
+ default: undefined;
566
+ };
567
+ /**
568
+ * Своя иконка раскрытия
569
+ */
570
+ expandIcon: {
571
+ type: PropType<NTable.NExpand.TRenderExpandIcon<any>>;
572
+ default: undefined;
573
+ };
574
+ /**
575
+ * Размер отступа в пикселях для каждого уровня вложенности
576
+ */
577
+ indentSize: {
578
+ type: PropType<number>;
579
+ default: number;
580
+ };
581
+ /**
582
+ * Показать раскрытую колонку
583
+ */
584
+ showExpandColumn: {
585
+ type: PropType<boolean>;
586
+ default: undefined;
587
+ };
588
+ /**
589
+ * Классы для строк в раскрытом состоянии
590
+ */
591
+ expandedRowClassName: {
592
+ type: PropType<NTable.NRow.TClassName<any>>;
593
+ default: undefined;
594
+ };
595
+ /**
596
+ * Названия свойства для дочерних элементов
597
+ */
598
+ childrenColumnName: {
599
+ type: PropType<string>;
600
+ default: string;
601
+ };
602
+ /**
603
+ * Строку можно раскрыть
604
+ */
605
+ rowExpandable: {
606
+ type: PropType<((record: any) => boolean) | undefined>;
607
+ default: undefined;
608
+ };
609
+ /**
610
+ * Трансформировать текст в ячейке
611
+ */
612
+ transformCellText: {
613
+ type: PropType<NTable.NCell.TTransformCellText<any>>;
614
+ default: undefined;
615
+ };
616
+ /**
617
+ * Контейнер рендеринга выпадающих списков
618
+ */
619
+ getPopupContainer: {
620
+ type: PropType<NTable.NCustomize.TGetPopupContainer>;
621
+ default: undefined;
622
+ };
623
+ /**
624
+ * Событие при изменении пагинации, фильтров, сортировки
625
+ */
626
+ onChange: {
627
+ type: PropType<(pagination: NTable.NPagination.IProps, filters: Record<string, NTable.TFilterValue | null>, sorters: NTable.ISorterResult | NTable.ISorterResult[], extra: NTable.ICurrentData) => void>;
628
+ default: undefined;
629
+ };
630
+ /**
631
+ * Событие изменения размера колонки
632
+ */
633
+ onResizeColumn: {
634
+ type: PropType<(width: number, column: NTable.NColumn.IColumn) => void>;
635
+ default: undefined;
636
+ };
637
+ }, Defaults>;
638
+ export declare function useLazyKVMap<RecordType>(dataRef: Ref<readonly RecordType[]>, childrenColumnNameRef: Ref<string>, getRowKeyRef: Ref<NTable.NRow.TGetRowKey<RecordType>>): {
639
+ getRecordByKey: (key: NTable.TKey) => NonNullable<RecordType>;
640
+ };
@@ -0,0 +1,2 @@
1
+ export declare const INTERNAL_COL_DEFINE = "CDS_TABLE_INTERNAL_COL_DEFINE";
2
+ export declare const INTERNAL_HOOKS = "CDS_TABLE_INTERNAL_HOOK";
@@ -0,0 +1,19 @@
1
+ import type { NTable } from '../interface';
2
+ import type { InjectionKey } from 'vue';
3
+ export interface IBodyContextProps<RecordType = NTable.TDefaultRecord> {
4
+ rowClassName?: string | NTable.NRow.TClassName<RecordType>;
5
+ expandedRowClassName?: NTable.NRow.TClassName<RecordType>;
6
+ columns: NTable.NColumn.TColumns<RecordType>;
7
+ flattenColumns: readonly NTable.NColumn.IColumn<RecordType>[];
8
+ tableLayout: NTable.TLayout;
9
+ indentSize: number;
10
+ expandableType: NTable.NExpand.TExpandableType;
11
+ expandRowByClick?: boolean;
12
+ expandedRowRender?: NTable.NExpand.TExpandedRowRender<RecordType>;
13
+ expandIconColumnIndex?: number;
14
+ expandIcon: NTable.NExpand.TRenderExpandIcon<RecordType>;
15
+ onTriggerExpand: NTable.TTriggerEventHandler<RecordType>;
16
+ }
17
+ export declare const BodyContextKey: InjectionKey<IBodyContextProps>;
18
+ export declare const useProvideBody: (props: IBodyContextProps) => void;
19
+ export declare const useInjectBody: () => IBodyContextProps<any>;
@@ -0,0 +1,10 @@
1
+ import type { InjectionKey, Ref, ComputedRef } from 'vue';
2
+ export interface IExpandRowProps {
3
+ componentWidth: Ref<number>;
4
+ fixHeader: ComputedRef<boolean | undefined>;
5
+ fixColumn: Ref<boolean>;
6
+ horizonScroll: Ref<boolean>;
7
+ }
8
+ export declare const ExpandedRowContextKey: InjectionKey<IExpandRowProps>;
9
+ export declare const useProvideExpandedRow: (props: IExpandRowProps) => void;
10
+ export declare const useInjectExpandedRow: () => IExpandRowProps;
@@ -0,0 +1,9 @@
1
+ import type { InjectionKey, Ref } from 'vue';
2
+ export interface IHoverContextProps {
3
+ startRow: Ref<number>;
4
+ endRow: Ref<number>;
5
+ onHover: (start?: number, end?: number) => void;
6
+ }
7
+ export declare const HoverContextKey: InjectionKey<IHoverContextProps>;
8
+ export declare const useProvideHover: (props: IHoverContextProps) => void;
9
+ export declare const useInjectHover: () => IHoverContextProps;