@proyecto-viviana/solid-stately 0.2.7 → 0.4.0

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 (254) hide show
  1. package/README.md +30 -283
  2. package/dist/autocomplete/createAutocompleteState.d.ts +2 -2
  3. package/dist/autocomplete/index.d.ts +1 -1
  4. package/dist/calendar/IncompleteDate.d.ts +61 -0
  5. package/dist/calendar/createCalendarState.d.ts +41 -16
  6. package/dist/calendar/createDateFieldState.d.ts +39 -9
  7. package/dist/calendar/createDatePickerState.d.ts +60 -0
  8. package/dist/calendar/createRangeCalendarState.d.ts +37 -10
  9. package/dist/calendar/createTimeFieldState.d.ts +34 -7
  10. package/dist/calendar/index.d.ts +7 -6
  11. package/dist/checkbox/createCheckboxGroupState.d.ts +6 -6
  12. package/dist/checkbox/index.d.ts +1 -1
  13. package/dist/collections/ListCollection.d.ts +1 -1
  14. package/dist/collections/createListState.d.ts +11 -8
  15. package/dist/collections/createMenuState.d.ts +7 -7
  16. package/dist/collections/createSelectionState.d.ts +22 -10
  17. package/dist/collections/getChildNodes.d.ts +11 -0
  18. package/dist/collections/index.d.ts +6 -5
  19. package/dist/collections/types.d.ts +12 -12
  20. package/dist/color/Color.d.ts +1 -1
  21. package/dist/color/createColorAreaState.d.ts +4 -2
  22. package/dist/color/createColorFieldState.d.ts +38 -12
  23. package/dist/color/createColorSliderState.d.ts +9 -2
  24. package/dist/color/createColorWheelState.d.ts +13 -2
  25. package/dist/color/getColorChannels.d.ts +1 -1
  26. package/dist/color/index.d.ts +6 -6
  27. package/dist/color/types.d.ts +4 -4
  28. package/dist/combobox/createComboBoxState.d.ts +34 -13
  29. package/dist/combobox/index.d.ts +1 -1
  30. package/dist/data/createAsyncList.d.ts +4 -4
  31. package/dist/data/createListData.d.ts +2 -2
  32. package/dist/data/createTreeData.d.ts +6 -2
  33. package/dist/data/index.d.ts +3 -3
  34. package/dist/datepicker/index.d.ts +2 -4
  35. package/dist/disclosure/createDisclosureState.d.ts +2 -2
  36. package/dist/disclosure/index.d.ts +1 -1
  37. package/dist/dnd/createDragState.d.ts +2 -2
  38. package/dist/dnd/createDraggableCollectionState.d.ts +2 -2
  39. package/dist/dnd/createDropState.d.ts +2 -2
  40. package/dist/dnd/createDroppableCollectionState.d.ts +3 -3
  41. package/dist/dnd/index.d.ts +5 -5
  42. package/dist/dnd/types.d.ts +19 -17
  43. package/dist/form/createFormValidationState.d.ts +3 -3
  44. package/dist/form/index.d.ts +1 -1
  45. package/dist/grid/createGridState.d.ts +2 -2
  46. package/dist/grid/index.d.ts +2 -2
  47. package/dist/grid/types.d.ts +27 -11
  48. package/dist/index.d.ts +31 -30
  49. package/dist/index.js +9077 -7246
  50. package/dist/index.js.map +1 -1
  51. package/dist/menu/index.d.ts +2 -2
  52. package/dist/numberfield/createNumberFieldState.d.ts +2 -2
  53. package/dist/numberfield/index.d.ts +1 -1
  54. package/dist/overlays/createOverlayTriggerState.d.ts +2 -2
  55. package/dist/overlays/index.d.ts +1 -1
  56. package/dist/radio/createRadioGroupState.d.ts +7 -7
  57. package/dist/radio/index.d.ts +1 -1
  58. package/dist/searchfield/createSearchFieldState.d.ts +2 -2
  59. package/dist/searchfield/index.d.ts +2 -2
  60. package/dist/select/createSelectState.d.ts +14 -8
  61. package/dist/select/index.d.ts +1 -1
  62. package/dist/selection/Selection.d.ts +16 -0
  63. package/dist/selection/SelectionManager.d.ts +110 -0
  64. package/dist/selection/createMultipleSelectionState.d.ts +59 -0
  65. package/dist/selection/index.d.ts +6 -5
  66. package/dist/slider/createSliderState.d.ts +3 -3
  67. package/dist/slider/index.d.ts +2 -2
  68. package/dist/steplist/createStepListState.d.ts +48 -0
  69. package/dist/steplist/index.d.ts +1 -0
  70. package/dist/table/TableCollection.d.ts +33 -3
  71. package/dist/table/createTableColumnResizeState.d.ts +54 -0
  72. package/dist/table/createTableState.d.ts +2 -2
  73. package/dist/table/createTreeGridState.d.ts +15 -0
  74. package/dist/table/index.d.ts +6 -3
  75. package/dist/table/types.d.ts +68 -10
  76. package/dist/tabs/createTabListState.d.ts +5 -5
  77. package/dist/tabs/index.d.ts +1 -1
  78. package/dist/textfield/createTextFieldState.d.ts +2 -2
  79. package/dist/textfield/index.d.ts +1 -1
  80. package/dist/toast/createToastState.d.ts +24 -2
  81. package/dist/toast/index.d.ts +1 -1
  82. package/dist/toggle/createToggleGroupState.d.ts +4 -4
  83. package/dist/toggle/createToggleState.d.ts +2 -2
  84. package/dist/toggle/index.d.ts +2 -2
  85. package/dist/tooltip/createTooltipTriggerState.d.ts +2 -2
  86. package/dist/tooltip/index.d.ts +1 -1
  87. package/dist/tree/TreeCollection.d.ts +2 -2
  88. package/dist/tree/createTreeState.d.ts +2 -2
  89. package/dist/tree/index.d.ts +3 -3
  90. package/dist/tree/types.d.ts +27 -13
  91. package/dist/utils/index.d.ts +1 -1
  92. package/dist/utils/reactivity.d.ts +1 -1
  93. package/package.json +29 -30
  94. package/src/autocomplete/createAutocompleteState.d.ts +19 -17
  95. package/src/autocomplete/createAutocompleteState.ts +24 -30
  96. package/src/autocomplete/index.d.ts +6 -2
  97. package/src/autocomplete/index.ts +1 -1
  98. package/src/calendar/IncompleteDate.ts +430 -0
  99. package/src/calendar/createCalendarState.d.ts +139 -117
  100. package/src/calendar/createCalendarState.ts +308 -94
  101. package/src/calendar/createDateFieldState.d.ts +130 -95
  102. package/src/calendar/createDateFieldState.ts +447 -334
  103. package/src/calendar/createDatePickerState.ts +347 -0
  104. package/src/calendar/createRangeCalendarState.d.ts +154 -129
  105. package/src/calendar/createRangeCalendarState.ts +411 -85
  106. package/src/calendar/createTimeFieldState.d.ts +81 -79
  107. package/src/calendar/createTimeFieldState.ts +187 -108
  108. package/src/calendar/index.d.ts +80 -7
  109. package/src/calendar/index.ts +23 -12
  110. package/src/checkbox/createCheckboxGroupState.d.ts +57 -55
  111. package/src/checkbox/createCheckboxGroupState.ts +20 -29
  112. package/src/checkbox/index.d.ts +6 -2
  113. package/src/checkbox/index.ts +1 -1
  114. package/src/collections/ListCollection.d.ts +25 -22
  115. package/src/collections/ListCollection.ts +6 -6
  116. package/src/collections/createListState.d.ts +73 -58
  117. package/src/collections/createListState.ts +67 -35
  118. package/src/collections/createMenuState.d.ts +36 -31
  119. package/src/collections/createMenuState.ts +21 -12
  120. package/src/collections/createSelectionState.d.ts +78 -65
  121. package/src/collections/createSelectionState.ts +66 -52
  122. package/src/collections/getChildNodes.ts +98 -0
  123. package/src/collections/index.d.ts +38 -6
  124. package/src/collections/index.ts +14 -10
  125. package/src/collections/types.d.ts +101 -101
  126. package/src/collections/types.ts +12 -12
  127. package/src/color/Color.d.ts +20 -5
  128. package/src/color/Color.ts +357 -254
  129. package/src/color/createColorAreaState.d.ts +67 -65
  130. package/src/color/createColorAreaState.ts +21 -13
  131. package/src/color/createColorFieldState.d.ts +46 -44
  132. package/src/color/createColorFieldState.ts +285 -149
  133. package/src/color/createColorSliderState.d.ts +58 -56
  134. package/src/color/createColorSliderState.ts +45 -14
  135. package/src/color/createColorWheelState.d.ts +42 -40
  136. package/src/color/createColorWheelState.ts +101 -64
  137. package/src/color/getColorChannels.ts +7 -5
  138. package/src/color/index.d.ts +36 -7
  139. package/src/color/index.ts +6 -9
  140. package/src/color/types.d.ts +68 -63
  141. package/src/color/types.ts +11 -19
  142. package/src/combobox/createComboBoxState.d.ts +107 -105
  143. package/src/combobox/createComboBoxState.ts +184 -89
  144. package/src/combobox/index.d.ts +10 -2
  145. package/src/combobox/index.ts +1 -1
  146. package/src/data/createAsyncList.ts +89 -63
  147. package/src/data/createListData.ts +67 -67
  148. package/src/data/createTreeData.ts +304 -91
  149. package/src/data/index.ts +3 -3
  150. package/src/datepicker/index.ts +6 -10
  151. package/src/disclosure/createDisclosureState.d.ts +47 -43
  152. package/src/disclosure/createDisclosureState.ts +7 -21
  153. package/src/disclosure/index.d.ts +10 -2
  154. package/src/disclosure/index.ts +1 -1
  155. package/src/dnd/createDragState.d.ts +51 -42
  156. package/src/dnd/createDragState.ts +12 -14
  157. package/src/dnd/createDraggableCollectionState.d.ts +52 -41
  158. package/src/dnd/createDraggableCollectionState.ts +14 -21
  159. package/src/dnd/createDropState.d.ts +64 -45
  160. package/src/dnd/createDropState.ts +22 -32
  161. package/src/dnd/createDroppableCollectionState.d.ts +88 -59
  162. package/src/dnd/createDroppableCollectionState.ts +40 -43
  163. package/src/dnd/index.d.ts +55 -6
  164. package/src/dnd/index.ts +6 -18
  165. package/src/dnd/types.d.ts +170 -157
  166. package/src/dnd/types.ts +24 -22
  167. package/src/form/createFormValidationState.d.ts +47 -45
  168. package/src/form/createFormValidationState.ts +30 -63
  169. package/src/form/index.d.ts +16 -2
  170. package/src/form/index.ts +1 -1
  171. package/src/grid/createGridState.d.ts +7 -4
  172. package/src/grid/createGridState.ts +78 -51
  173. package/src/grid/index.d.ts +3 -3
  174. package/src/grid/index.ts +2 -8
  175. package/src/grid/types.d.ts +136 -129
  176. package/src/grid/types.ts +34 -18
  177. package/src/index.d.ts +311 -26
  178. package/src/index.ts +59 -89
  179. package/src/menu/index.ts +2 -4
  180. package/src/numberfield/createNumberFieldState.d.ts +56 -54
  181. package/src/numberfield/createNumberFieldState.ts +26 -31
  182. package/src/numberfield/index.d.ts +6 -2
  183. package/src/numberfield/index.ts +1 -1
  184. package/src/overlays/createOverlayTriggerState.d.ts +22 -20
  185. package/src/overlays/createOverlayTriggerState.ts +3 -4
  186. package/src/overlays/index.d.ts +6 -2
  187. package/src/overlays/index.ts +1 -1
  188. package/src/radio/createRadioGroupState.d.ts +54 -52
  189. package/src/radio/createRadioGroupState.ts +27 -29
  190. package/src/radio/index.d.ts +7 -2
  191. package/src/radio/index.ts +1 -1
  192. package/src/searchfield/createSearchFieldState.d.ts +16 -14
  193. package/src/searchfield/createSearchFieldState.ts +5 -11
  194. package/src/searchfield/index.d.ts +3 -3
  195. package/src/searchfield/index.ts +2 -5
  196. package/src/select/createSelectState.d.ts +63 -61
  197. package/src/select/createSelectState.ts +42 -29
  198. package/src/select/index.d.ts +2 -2
  199. package/src/select/index.ts +1 -5
  200. package/src/selection/Selection.ts +28 -0
  201. package/src/selection/SelectionManager.ts +526 -0
  202. package/src/selection/createMultipleSelectionState.ts +247 -0
  203. package/src/selection/index.ts +12 -7
  204. package/src/slider/createSliderState.d.ts +60 -60
  205. package/src/slider/createSliderState.ts +55 -33
  206. package/src/slider/index.d.ts +3 -3
  207. package/src/slider/index.ts +2 -6
  208. package/src/ssr/index.d.ts +1 -1
  209. package/src/ssr/index.ts +2 -2
  210. package/src/steplist/createStepListState.ts +191 -0
  211. package/src/steplist/index.ts +5 -0
  212. package/src/table/TableCollection.d.ts +42 -40
  213. package/src/table/TableCollection.ts +266 -99
  214. package/src/table/createTableColumnResizeState.ts +242 -0
  215. package/src/table/createTableState.d.ts +7 -4
  216. package/src/table/createTableState.ts +30 -7
  217. package/src/table/createTreeGridState.ts +146 -0
  218. package/src/table/index.d.ts +14 -4
  219. package/src/table/index.ts +13 -3
  220. package/src/table/types.d.ts +98 -92
  221. package/src/table/types.ts +83 -13
  222. package/src/tabs/createTabListState.d.ts +59 -57
  223. package/src/tabs/createTabListState.ts +34 -39
  224. package/src/tabs/index.d.ts +8 -2
  225. package/src/tabs/index.ts +1 -1
  226. package/src/textfield/createTextFieldState.d.ts +16 -14
  227. package/src/textfield/createTextFieldState.ts +7 -18
  228. package/src/textfield/index.d.ts +6 -2
  229. package/src/textfield/index.ts +1 -1
  230. package/src/toast/createToastState.d.ts +92 -86
  231. package/src/toast/createToastState.ts +90 -52
  232. package/src/toast/index.d.ts +12 -2
  233. package/src/toast/index.ts +2 -1
  234. package/src/toggle/createToggleGroupState.ts +11 -21
  235. package/src/toggle/createToggleState.d.ts +19 -19
  236. package/src/toggle/createToggleState.ts +2 -16
  237. package/src/toggle/index.d.ts +2 -2
  238. package/src/toggle/index.ts +2 -6
  239. package/src/tooltip/createTooltipTriggerState.d.ts +17 -17
  240. package/src/tooltip/createTooltipTriggerState.ts +12 -11
  241. package/src/tooltip/index.d.ts +7 -2
  242. package/src/tooltip/index.ts +1 -1
  243. package/src/tree/TreeCollection.d.ts +26 -23
  244. package/src/tree/TreeCollection.ts +29 -22
  245. package/src/tree/createTreeState.d.ts +7 -4
  246. package/src/tree/createTreeState.ts +70 -41
  247. package/src/tree/index.d.ts +10 -4
  248. package/src/tree/index.ts +3 -3
  249. package/src/tree/types.d.ts +131 -126
  250. package/src/tree/types.ts +30 -13
  251. package/src/utils/index.d.ts +2 -2
  252. package/src/utils/index.ts +1 -1
  253. package/src/utils/reactivity.d.ts +2 -2
  254. package/src/utils/reactivity.ts +3 -3
@@ -0,0 +1,191 @@
1
+ /**
2
+ * State management for step list components.
3
+ * Tracks selected step, completion status, and selectability.
4
+ */
5
+
6
+ import { createMemo, createSignal, type Accessor } from "solid-js";
7
+ import type { Key } from "../collections/types";
8
+
9
+ export interface StepListStateProps {
10
+ /** The currently selected step key (controlled). */
11
+ selectedKey?: Key;
12
+ /** The default selected step key (uncontrolled). */
13
+ defaultSelectedKey?: Key;
14
+ /** Called when the selected step changes. */
15
+ onSelectionChange?: (key: Key) => void;
16
+ /** The last completed step key (controlled). */
17
+ lastCompletedStep?: Key;
18
+ /** The default last completed step key (uncontrolled). */
19
+ defaultLastCompletedStep?: Key;
20
+ /** Called when last completed step changes. */
21
+ onLastCompletedStepChange?: (key: Key | null) => void;
22
+ /** Whether all steps are disabled. */
23
+ isDisabled?: boolean;
24
+ /** Whether all steps are read-only. */
25
+ isReadOnly?: boolean;
26
+ /** Keys of individually disabled steps. */
27
+ disabledKeys?: Iterable<Key>;
28
+ /** The step items. */
29
+ items: Array<{ key: Key; [key: string]: any }>;
30
+ }
31
+
32
+ export interface StepListState {
33
+ readonly selectedKey: Accessor<Key | null>;
34
+ readonly lastCompletedStep: Accessor<Key | null>;
35
+ readonly items: Accessor<Array<{ key: Key }>>;
36
+ setSelectedKey(key: Key): void;
37
+ setLastCompletedStep(key: Key): void;
38
+ isCompleted(key: Key): boolean;
39
+ isSelectable(key: Key): boolean;
40
+ isDisabled: Accessor<boolean>;
41
+ isReadOnly: Accessor<boolean>;
42
+ }
43
+
44
+ /**
45
+ * Creates state for a step list component.
46
+ */
47
+ export function createStepListState(props: StepListStateProps): StepListState {
48
+ const items = () => props.items;
49
+
50
+ // Build an index map: Key -> index
51
+ const indexMap = createMemo(() => {
52
+ const map = new Map<Key, number>();
53
+ const currentItems = items();
54
+ for (let i = 0; i < currentItems.length; i++) {
55
+ map.set(currentItems[i].key, i);
56
+ }
57
+ return map;
58
+ });
59
+
60
+ // Disabled keys set
61
+ const disabledKeysSet = createMemo(() => new Set<Key>(props.disabledKeys ?? []));
62
+
63
+ const isDisabled: Accessor<boolean> = () => props.isDisabled ?? false;
64
+ const isReadOnly: Accessor<boolean> = () => props.isReadOnly ?? false;
65
+
66
+ // Last completed step signal (uncontrolled)
67
+ const [lastCompletedStepInternal, setLastCompletedStepInternal] = createSignal<Key | null>(
68
+ props.defaultLastCompletedStep ?? null,
69
+ );
70
+
71
+ const lastCompletedStep: Accessor<Key | null> = () => {
72
+ if (props.lastCompletedStep !== undefined) {
73
+ return props.lastCompletedStep;
74
+ }
75
+ return lastCompletedStepInternal();
76
+ };
77
+
78
+ const setLastCompletedStep = (key: Key) => {
79
+ const currentIndex = indexMap().get(key);
80
+ const prevIndex = lastCompletedStep() !== null ? indexMap().get(lastCompletedStep()!) : -1;
81
+
82
+ // Only advance completion, never go back
83
+ if (
84
+ currentIndex !== undefined &&
85
+ (prevIndex === undefined || currentIndex > (prevIndex ?? -1))
86
+ ) {
87
+ if (props.lastCompletedStep === undefined) {
88
+ setLastCompletedStepInternal(key);
89
+ }
90
+ props.onLastCompletedStepChange?.(key);
91
+ }
92
+ };
93
+
94
+ const isCompleted = (key: Key): boolean => {
95
+ const completed = lastCompletedStep();
96
+ if (completed === null) return false;
97
+ const keyIndex = indexMap().get(key);
98
+ const completedIndex = indexMap().get(completed);
99
+ if (keyIndex === undefined || completedIndex === undefined) return false;
100
+ return keyIndex <= completedIndex;
101
+ };
102
+
103
+ const isStepDisabled = (key: Key): boolean => {
104
+ if (isDisabled()) return true;
105
+ return disabledKeysSet().has(key);
106
+ };
107
+
108
+ const isSelectable = (key: Key): boolean => {
109
+ if (isDisabled() || isReadOnly() || isStepDisabled(key)) return false;
110
+ // Completed steps are always selectable
111
+ if (isCompleted(key)) return true;
112
+ // First step is always selectable
113
+ const keyIndex = indexMap().get(key);
114
+ if (keyIndex === 0) return true;
115
+ // A step is selectable if the previous step is completed OR is the currently selected step
116
+ const currentItems = items();
117
+ if (keyIndex !== undefined && keyIndex > 0) {
118
+ const prevKey = currentItems[keyIndex - 1].key;
119
+ if (isCompleted(prevKey)) return true;
120
+ // Allow advancing to the step immediately after the selected step
121
+ if (prevKey === selectedKey()) return true;
122
+ }
123
+ return false;
124
+ };
125
+
126
+ // Find the first selectable non-completed step
127
+ const findDefaultSelectedKey = (): Key | null => {
128
+ const currentItems = items();
129
+ for (const item of currentItems) {
130
+ if (!isCompleted(item.key) && !isStepDisabled(item.key)) {
131
+ return item.key;
132
+ }
133
+ }
134
+ // All completed - select first non-disabled
135
+ for (const item of currentItems) {
136
+ if (!isStepDisabled(item.key)) {
137
+ return item.key;
138
+ }
139
+ }
140
+ return currentItems.length > 0 ? currentItems[0].key : null;
141
+ };
142
+
143
+ // Selected key signal (uncontrolled)
144
+ const [selectedKeyInternal, setSelectedKeyInternal] = createSignal<Key | null>(
145
+ props.defaultSelectedKey ?? findDefaultSelectedKey(),
146
+ );
147
+
148
+ const selectedKey: Accessor<Key | null> = () => {
149
+ if (props.selectedKey !== undefined) {
150
+ return props.selectedKey;
151
+ }
152
+ return selectedKeyInternal();
153
+ };
154
+
155
+ const setSelectedKey = (key: Key) => {
156
+ if (isReadOnly() || isDisabled()) return;
157
+ if (!isSelectable(key)) return;
158
+
159
+ // Mark previous selected step as completed if advancing
160
+ const currentSelected = selectedKey();
161
+ if (currentSelected !== null) {
162
+ const currentIndex = indexMap().get(currentSelected);
163
+ const newIndex = indexMap().get(key);
164
+ if (
165
+ currentIndex !== undefined &&
166
+ newIndex !== undefined &&
167
+ newIndex > currentIndex &&
168
+ !isCompleted(currentSelected)
169
+ ) {
170
+ setLastCompletedStep(currentSelected);
171
+ }
172
+ }
173
+
174
+ if (props.selectedKey === undefined) {
175
+ setSelectedKeyInternal(key);
176
+ }
177
+ props.onSelectionChange?.(key);
178
+ };
179
+
180
+ return {
181
+ selectedKey,
182
+ lastCompletedStep,
183
+ items,
184
+ setSelectedKey,
185
+ setLastCompletedStep,
186
+ isCompleted,
187
+ isSelectable,
188
+ isDisabled,
189
+ isReadOnly,
190
+ };
191
+ }
@@ -0,0 +1,5 @@
1
+ export {
2
+ createStepListState,
3
+ type StepListStateProps,
4
+ type StepListState,
5
+ } from "./createStepListState";
@@ -2,51 +2,53 @@
2
2
  * TableCollection - A collection class for table data.
3
3
  * Based on @react-stately/table/TableCollection.
4
4
  */
5
- import type { Key } from '../collections/types';
6
- import type { GridNode } from '../grid/types';
7
- import type { TableCollection as ITableCollection, TableCollectionOptions } from './types';
5
+ import type { Key } from "../collections/types";
6
+ import type { GridNode } from "../grid/types";
7
+ import type { TableCollection as ITableCollection, TableCollectionOptions } from "./types";
8
8
  /**
9
9
  * Creates a table collection from column and row definitions.
10
10
  */
11
11
  export declare class TableCollection<T = unknown> implements ITableCollection<T> {
12
- private _columns;
13
- private _rows;
14
- private _headerRows;
15
- private _body;
16
- private _head;
17
- private _keyMap;
18
- private _rowHeaderColumnKeys;
19
- private _size;
20
- constructor(options: TableCollectionOptions<T>);
21
- private buildColumns;
22
- private buildColumnNode;
23
- private getDefaultRowHeaderColumnKeys;
24
- private buildHeaderRows;
25
- private buildRows;
26
- private isRowDefinition;
27
- get size(): number;
28
- get rows(): GridNode<T>[];
29
- get columns(): GridNode<T>[];
30
- get headerRows(): GridNode<T>[];
31
- get head(): GridNode<T> | undefined;
32
- get body(): GridNode<T>;
33
- get rowCount(): number;
34
- get columnCount(): number;
35
- get rowHeaderColumnKeys(): Set<Key>;
36
- getKeys(): Iterable<Key>;
37
- getItem(key: Key): GridNode<T> | null;
38
- at(index: number): GridNode<T> | null;
39
- getChildren(key: Key): Iterable<GridNode<T>>;
40
- getTextValue(key: Key): string;
41
- getCell(rowKey: Key, columnKey: Key): GridNode<T> | null;
42
- getFirstKey(): Key | null;
43
- getLastKey(): Key | null;
44
- getKeyBefore(key: Key): Key | null;
45
- getKeyAfter(key: Key): Key | null;
46
- [Symbol.iterator](): Iterator<GridNode<T>>;
12
+ private _columns;
13
+ private _rows;
14
+ private _headerRows;
15
+ private _body;
16
+ private _head;
17
+ private _keyMap;
18
+ private _rowHeaderColumnKeys;
19
+ private _size;
20
+ constructor(options: TableCollectionOptions<T>);
21
+ private buildColumns;
22
+ private buildColumnNode;
23
+ private getDefaultRowHeaderColumnKeys;
24
+ private buildHeaderRows;
25
+ private buildRows;
26
+ private isRowDefinition;
27
+ get size(): number;
28
+ get rows(): GridNode<T>[];
29
+ get columns(): GridNode<T>[];
30
+ get headerRows(): GridNode<T>[];
31
+ get head(): GridNode<T> | undefined;
32
+ get body(): GridNode<T>;
33
+ get rowCount(): number;
34
+ get columnCount(): number;
35
+ get rowHeaderColumnKeys(): Set<Key>;
36
+ getKeys(): Iterable<Key>;
37
+ getItem(key: Key): GridNode<T> | null;
38
+ at(index: number): GridNode<T> | null;
39
+ getChildren(key: Key): Iterable<GridNode<T>>;
40
+ getTextValue(key: Key): string;
41
+ getCell(rowKey: Key, columnKey: Key): GridNode<T> | null;
42
+ getFirstKey(): Key | null;
43
+ getLastKey(): Key | null;
44
+ getKeyBefore(key: Key): Key | null;
45
+ getKeyAfter(key: Key): Key | null;
46
+ [Symbol.iterator](): Iterator<GridNode<T>>;
47
47
  }
48
48
  /**
49
49
  * Creates a table collection from options.
50
50
  */
51
- export declare function createTableCollection<T>(options: TableCollectionOptions<T>): TableCollection<T>;
52
- //# sourceMappingURL=TableCollection.d.ts.map
51
+ export declare function createTableCollection<T>(
52
+ options: TableCollectionOptions<T>,
53
+ ): TableCollection<T>;
54
+ //# sourceMappingURL=TableCollection.d.ts.map