@proyecto-viviana/solid-stately 0.2.4 → 0.3.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 (243) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +30 -283
  3. package/dist/autocomplete/createAutocompleteState.d.ts +3 -2
  4. package/dist/autocomplete/index.d.ts +1 -1
  5. package/dist/calendar/createCalendarState.d.ts +22 -7
  6. package/dist/calendar/createDateFieldState.d.ts +30 -7
  7. package/dist/calendar/createDatePickerState.d.ts +60 -0
  8. package/dist/calendar/createRangeCalendarState.d.ts +27 -8
  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 +12 -3
  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 +8 -8
  15. package/dist/collections/createMenuState.d.ts +7 -7
  16. package/dist/collections/createSelectionState.d.ts +5 -5
  17. package/dist/collections/index.d.ts +5 -5
  18. package/dist/collections/types.d.ts +23 -12
  19. package/dist/color/Color.d.ts +1 -1
  20. package/dist/color/createColorAreaState.d.ts +4 -2
  21. package/dist/color/createColorFieldState.d.ts +38 -12
  22. package/dist/color/createColorSliderState.d.ts +9 -2
  23. package/dist/color/createColorWheelState.d.ts +13 -2
  24. package/dist/color/getColorChannels.d.ts +20 -0
  25. package/dist/color/index.d.ts +6 -6
  26. package/dist/color/types.d.ts +4 -4
  27. package/dist/combobox/createComboBoxState.d.ts +27 -13
  28. package/dist/combobox/index.d.ts +1 -1
  29. package/dist/data/createAsyncList.d.ts +111 -0
  30. package/dist/data/createListData.d.ts +65 -0
  31. package/dist/data/createTreeData.d.ts +65 -0
  32. package/dist/data/index.d.ts +3 -0
  33. package/dist/datepicker/index.d.ts +8 -0
  34. package/dist/disclosure/createDisclosureState.d.ts +2 -2
  35. package/dist/disclosure/index.d.ts +1 -1
  36. package/dist/dnd/createDragState.d.ts +2 -2
  37. package/dist/dnd/createDraggableCollectionState.d.ts +2 -2
  38. package/dist/dnd/createDropState.d.ts +2 -2
  39. package/dist/dnd/createDroppableCollectionState.d.ts +3 -3
  40. package/dist/dnd/index.d.ts +5 -5
  41. package/dist/dnd/types.d.ts +16 -16
  42. package/dist/form/createFormValidationState.d.ts +3 -3
  43. package/dist/form/index.d.ts +1 -1
  44. package/dist/grid/createGridState.d.ts +2 -2
  45. package/dist/grid/index.d.ts +2 -2
  46. package/dist/grid/types.d.ts +17 -11
  47. package/dist/index.d.ts +31 -25
  48. package/dist/index.js +7990 -6264
  49. package/dist/index.js.map +1 -7
  50. package/dist/menu/index.d.ts +8 -0
  51. package/dist/numberfield/createNumberFieldState.d.ts +2 -2
  52. package/dist/numberfield/index.d.ts +1 -1
  53. package/dist/overlays/createOverlayTriggerState.d.ts +2 -2
  54. package/dist/overlays/index.d.ts +1 -1
  55. package/dist/radio/createRadioGroupState.d.ts +13 -4
  56. package/dist/radio/index.d.ts +1 -1
  57. package/dist/searchfield/createSearchFieldState.d.ts +2 -2
  58. package/dist/searchfield/index.d.ts +2 -2
  59. package/dist/select/createSelectState.d.ts +20 -3
  60. package/dist/select/index.d.ts +1 -1
  61. package/dist/selection/index.d.ts +11 -0
  62. package/dist/slider/createSliderState.d.ts +3 -3
  63. package/dist/slider/index.d.ts +2 -2
  64. package/dist/steplist/createStepListState.d.ts +48 -0
  65. package/dist/steplist/index.d.ts +1 -0
  66. package/dist/table/TableCollection.d.ts +3 -3
  67. package/dist/table/createTableColumnResizeState.d.ts +54 -0
  68. package/dist/table/createTableState.d.ts +2 -2
  69. package/dist/table/index.d.ts +5 -3
  70. package/dist/table/types.d.ts +10 -10
  71. package/dist/tabs/createTabListState.d.ts +5 -5
  72. package/dist/tabs/index.d.ts +1 -1
  73. package/dist/textfield/createTextFieldState.d.ts +2 -2
  74. package/dist/textfield/index.d.ts +1 -1
  75. package/dist/toast/createToastState.d.ts +15 -3
  76. package/dist/toast/index.d.ts +1 -1
  77. package/dist/toggle/createToggleGroupState.d.ts +45 -0
  78. package/dist/toggle/createToggleState.d.ts +2 -2
  79. package/dist/toggle/index.d.ts +2 -1
  80. package/dist/tooltip/createTooltipTriggerState.d.ts +2 -2
  81. package/dist/tooltip/index.d.ts +1 -1
  82. package/dist/tree/TreeCollection.d.ts +5 -4
  83. package/dist/tree/createTreeState.d.ts +2 -2
  84. package/dist/tree/index.d.ts +3 -3
  85. package/dist/tree/types.d.ts +19 -13
  86. package/dist/utils/index.d.ts +1 -1
  87. package/dist/utils/reactivity.d.ts +1 -1
  88. package/package.json +30 -30
  89. package/src/autocomplete/createAutocompleteState.d.ts +19 -17
  90. package/src/autocomplete/createAutocompleteState.ts +25 -32
  91. package/src/autocomplete/index.d.ts +6 -2
  92. package/src/autocomplete/index.ts +1 -1
  93. package/src/calendar/createCalendarState.d.ts +139 -117
  94. package/src/calendar/createCalendarState.ts +221 -74
  95. package/src/calendar/createDateFieldState.d.ts +130 -95
  96. package/src/calendar/createDateFieldState.ts +286 -151
  97. package/src/calendar/createDatePickerState.ts +347 -0
  98. package/src/calendar/createRangeCalendarState.d.ts +154 -129
  99. package/src/calendar/createRangeCalendarState.ts +293 -79
  100. package/src/calendar/createTimeFieldState.d.ts +81 -79
  101. package/src/calendar/createTimeFieldState.ts +187 -108
  102. package/src/calendar/index.d.ts +80 -7
  103. package/src/calendar/index.ts +21 -12
  104. package/src/checkbox/createCheckboxGroupState.d.ts +57 -55
  105. package/src/checkbox/createCheckboxGroupState.ts +57 -30
  106. package/src/checkbox/index.d.ts +6 -2
  107. package/src/checkbox/index.ts +1 -1
  108. package/src/collections/ListCollection.d.ts +25 -22
  109. package/src/collections/ListCollection.ts +152 -146
  110. package/src/collections/createListState.d.ts +73 -58
  111. package/src/collections/createListState.ts +267 -264
  112. package/src/collections/createMenuState.d.ts +36 -31
  113. package/src/collections/createMenuState.ts +112 -106
  114. package/src/collections/createSelectionState.d.ts +78 -65
  115. package/src/collections/createSelectionState.ts +340 -336
  116. package/src/collections/index.d.ts +38 -6
  117. package/src/collections/index.ts +41 -46
  118. package/src/collections/types.d.ts +101 -101
  119. package/src/collections/types.ts +181 -169
  120. package/src/color/Color.d.ts +20 -5
  121. package/src/color/Color.ts +1054 -951
  122. package/src/color/createColorAreaState.d.ts +67 -65
  123. package/src/color/createColorAreaState.ts +301 -293
  124. package/src/color/createColorFieldState.d.ts +46 -44
  125. package/src/color/createColorFieldState.ts +428 -292
  126. package/src/color/createColorSliderState.d.ts +58 -56
  127. package/src/color/createColorSliderState.ts +272 -241
  128. package/src/color/createColorWheelState.d.ts +42 -40
  129. package/src/color/createColorWheelState.ts +248 -211
  130. package/src/color/getColorChannels.ts +36 -0
  131. package/src/color/index.d.ts +36 -7
  132. package/src/color/index.ts +44 -47
  133. package/src/color/types.d.ts +68 -63
  134. package/src/color/types.ts +119 -127
  135. package/src/combobox/createComboBoxState.d.ts +107 -105
  136. package/src/combobox/createComboBoxState.ts +790 -703
  137. package/src/combobox/index.d.ts +10 -2
  138. package/src/combobox/index.ts +13 -13
  139. package/src/data/createAsyncList.ts +403 -0
  140. package/src/data/createListData.ts +298 -0
  141. package/src/data/createTreeData.ts +646 -0
  142. package/src/data/index.ts +25 -0
  143. package/src/datepicker/index.ts +32 -0
  144. package/src/disclosure/createDisclosureState.d.ts +47 -43
  145. package/src/disclosure/createDisclosureState.ts +9 -23
  146. package/src/disclosure/index.d.ts +10 -2
  147. package/src/disclosure/index.ts +1 -1
  148. package/src/dnd/createDragState.d.ts +51 -42
  149. package/src/dnd/createDragState.ts +151 -153
  150. package/src/dnd/createDraggableCollectionState.d.ts +52 -41
  151. package/src/dnd/createDraggableCollectionState.ts +158 -165
  152. package/src/dnd/createDropState.d.ts +64 -45
  153. package/src/dnd/createDropState.ts +202 -212
  154. package/src/dnd/createDroppableCollectionState.d.ts +88 -59
  155. package/src/dnd/createDroppableCollectionState.ts +354 -357
  156. package/src/dnd/index.d.ts +54 -6
  157. package/src/dnd/index.ts +63 -76
  158. package/src/dnd/types.d.ts +167 -156
  159. package/src/dnd/types.ts +316 -317
  160. package/src/form/createFormValidationState.d.ts +47 -45
  161. package/src/form/createFormValidationState.ts +356 -389
  162. package/src/form/index.d.ts +16 -2
  163. package/src/form/index.ts +15 -15
  164. package/src/grid/createGridState.d.ts +7 -4
  165. package/src/grid/createGridState.ts +44 -51
  166. package/src/grid/index.d.ts +3 -3
  167. package/src/grid/index.ts +2 -8
  168. package/src/grid/types.d.ts +136 -129
  169. package/src/grid/types.ts +24 -17
  170. package/src/index.d.ts +310 -26
  171. package/src/index.ts +87 -79
  172. package/src/menu/index.ts +17 -0
  173. package/src/numberfield/createNumberFieldState.d.ts +56 -54
  174. package/src/numberfield/createNumberFieldState.ts +422 -383
  175. package/src/numberfield/index.d.ts +6 -2
  176. package/src/numberfield/index.ts +5 -5
  177. package/src/overlays/createOverlayTriggerState.d.ts +22 -20
  178. package/src/overlays/createOverlayTriggerState.ts +66 -67
  179. package/src/overlays/index.d.ts +6 -2
  180. package/src/overlays/index.ts +5 -5
  181. package/src/radio/createRadioGroupState.d.ts +54 -52
  182. package/src/radio/createRadioGroupState.ts +66 -30
  183. package/src/radio/index.d.ts +7 -2
  184. package/src/radio/index.ts +1 -1
  185. package/src/searchfield/createSearchFieldState.d.ts +16 -14
  186. package/src/searchfield/createSearchFieldState.ts +56 -62
  187. package/src/searchfield/index.d.ts +3 -3
  188. package/src/searchfield/index.ts +2 -5
  189. package/src/select/createSelectState.d.ts +63 -61
  190. package/src/select/createSelectState.ts +290 -181
  191. package/src/select/index.d.ts +2 -2
  192. package/src/select/index.ts +1 -5
  193. package/src/selection/index.ts +27 -0
  194. package/src/slider/createSliderState.d.ts +60 -60
  195. package/src/slider/createSliderState.ts +233 -211
  196. package/src/slider/index.d.ts +3 -3
  197. package/src/slider/index.ts +2 -6
  198. package/src/ssr/index.d.ts +1 -1
  199. package/src/ssr/index.ts +2 -2
  200. package/src/steplist/createStepListState.ts +191 -0
  201. package/src/steplist/index.ts +5 -0
  202. package/src/table/TableCollection.d.ts +42 -40
  203. package/src/table/TableCollection.ts +61 -64
  204. package/src/table/createTableColumnResizeState.ts +242 -0
  205. package/src/table/createTableState.d.ts +7 -4
  206. package/src/table/createTableState.ts +10 -7
  207. package/src/table/index.d.ts +14 -4
  208. package/src/table/index.ts +10 -3
  209. package/src/table/types.d.ts +98 -92
  210. package/src/table/types.ts +17 -13
  211. package/src/tabs/createTabListState.d.ts +59 -57
  212. package/src/tabs/createTabListState.ts +58 -39
  213. package/src/tabs/index.d.ts +8 -2
  214. package/src/tabs/index.ts +1 -1
  215. package/src/textfield/createTextFieldState.d.ts +16 -14
  216. package/src/textfield/createTextFieldState.ts +7 -18
  217. package/src/textfield/index.d.ts +6 -2
  218. package/src/textfield/index.ts +1 -1
  219. package/src/toast/createToastState.d.ts +92 -81
  220. package/src/toast/createToastState.ts +56 -44
  221. package/src/toast/index.d.ts +12 -2
  222. package/src/toast/index.ts +1 -1
  223. package/src/toggle/createToggleGroupState.ts +117 -0
  224. package/src/toggle/createToggleState.d.ts +19 -19
  225. package/src/toggle/createToggleState.ts +2 -16
  226. package/src/toggle/index.d.ts +2 -2
  227. package/src/toggle/index.ts +6 -4
  228. package/src/tooltip/createTooltipTriggerState.d.ts +17 -17
  229. package/src/tooltip/createTooltipTriggerState.ts +184 -183
  230. package/src/tooltip/index.d.ts +7 -2
  231. package/src/tooltip/index.ts +6 -6
  232. package/src/tree/TreeCollection.d.ts +26 -23
  233. package/src/tree/TreeCollection.ts +215 -175
  234. package/src/tree/createTreeState.d.ts +7 -4
  235. package/src/tree/createTreeState.ts +390 -392
  236. package/src/tree/index.d.ts +10 -4
  237. package/src/tree/index.ts +13 -13
  238. package/src/tree/types.d.ts +131 -126
  239. package/src/tree/types.ts +183 -174
  240. package/src/utils/index.d.ts +2 -2
  241. package/src/utils/index.ts +1 -1
  242. package/src/utils/reactivity.d.ts +2 -2
  243. package/src/utils/reactivity.ts +3 -3
@@ -1,169 +1,181 @@
1
- /**
2
- * Core types for collection state management.
3
- * Simplified from @react-stately/collections for SolidJS.
4
- */
5
-
6
- import type { JSX } from 'solid-js';
7
-
8
- /** A unique identifier for an item in a collection. */
9
- export type Key = string | number;
10
-
11
- /** The type of selection allowed in a collection. */
12
- export type SelectionMode = 'none' | 'single' | 'multiple';
13
-
14
- /** How selection behaves when clicking on items. */
15
- export type SelectionBehavior = 'toggle' | 'replace';
16
-
17
- /** Represents the current selection state. */
18
- export type Selection = 'all' | Set<Key>;
19
-
20
- /** Strategy for focusing first or last item. */
21
- export type FocusStrategy = 'first' | 'last';
22
-
23
- /** Whether disabled keys affect selection, actions, or both. */
24
- export type DisabledBehavior = 'selection' | 'all';
25
-
26
- /**
27
- * Represents a node in a collection (item or section).
28
- */
29
- export interface CollectionNode<T = unknown> {
30
- /** The type of node: 'item' or 'section'. */
31
- type: 'item' | 'section';
32
- /** A unique key for the node. */
33
- key: Key;
34
- /** The original value/data for this node. */
35
- value: T | null;
36
- /** The text content for accessibility and typeahead. */
37
- textValue: string;
38
- /** The rendered content (JSX). */
39
- rendered: JSX.Element;
40
- /** The level of nesting (0 for top-level). */
41
- level: number;
42
- /** The index within the parent. */
43
- index: number;
44
- /** The key of the parent node, if any. */
45
- parentKey: Key | null;
46
- /** Whether this node has child nodes. */
47
- hasChildNodes: boolean;
48
- /** Child nodes, if any. */
49
- childNodes: CollectionNode<T>[];
50
- /** Whether this item is disabled. */
51
- isDisabled?: boolean;
52
- /** ARIA label for this node. */
53
- 'aria-label'?: string;
54
- /** Additional props for the node. */
55
- props?: Record<string, unknown>;
56
- }
57
-
58
- /**
59
- * A collection of nodes with methods to traverse and query.
60
- */
61
- export interface Collection<T = unknown> extends Iterable<CollectionNode<T>> {
62
- /** The number of items in the collection. */
63
- readonly size: number;
64
-
65
- /** Get all keys in the collection. */
66
- getKeys(): Iterable<Key>;
67
-
68
- /** Get a node by its key. */
69
- getItem(key: Key): CollectionNode<T> | null;
70
-
71
- /** Get a node by index. */
72
- at(index: number): CollectionNode<T> | null;
73
-
74
- /** Get the key before the given key. */
75
- getKeyBefore(key: Key): Key | null;
76
-
77
- /** Get the key after the given key. */
78
- getKeyAfter(key: Key): Key | null;
79
-
80
- /** Get the first key in the collection. */
81
- getFirstKey(): Key | null;
82
-
83
- /** Get the last key in the collection. */
84
- getLastKey(): Key | null;
85
-
86
- /** Get the children of a node. */
87
- getChildren(key: Key): Iterable<CollectionNode<T>>;
88
-
89
- /** Get the text value for a key. */
90
- getTextValue(key: Key): string;
91
- }
92
-
93
- /**
94
- * Props for items in a collection.
95
- */
96
- export interface ItemProps<T = unknown> {
97
- /** Unique key for the item. Required if items is used for dynamic collections. */
98
- key?: Key;
99
- /** The text value for accessibility and typeahead. If not provided, derived from children. */
100
- textValue?: string;
101
- /** Whether the item is disabled. */
102
- isDisabled?: boolean;
103
- /** The rendered content of the item. */
104
- children?: JSX.Element;
105
- /** ARIA label for the item. */
106
- 'aria-label'?: string;
107
- /** The original value for dynamic collections. */
108
- value?: T;
109
- }
110
-
111
- /**
112
- * Props for sections in a collection.
113
- */
114
- export interface SectionProps<T = unknown> {
115
- /** Unique key for the section. */
116
- key?: Key;
117
- /** The section header/title. */
118
- title?: JSX.Element;
119
- /** ARIA label for the section. */
120
- 'aria-label'?: string;
121
- /** The items in this section. */
122
- children?: JSX.Element;
123
- /** Items for dynamic rendering. */
124
- items?: Iterable<T>;
125
- }
126
-
127
- /**
128
- * Base props for components that use collections.
129
- */
130
- export interface CollectionBase<T = unknown> {
131
- /** The items in the collection (for dynamic rendering). */
132
- items?: Iterable<T>;
133
- /** The children (static items or render function). */
134
- children?: JSX.Element | ((item: T) => JSX.Element);
135
- /** Keys of disabled items. */
136
- disabledKeys?: Iterable<Key>;
137
- }
138
-
139
- /**
140
- * Props for single selection.
141
- */
142
- export interface SingleSelection {
143
- /** Whether empty selection is allowed. */
144
- disallowEmptySelection?: boolean;
145
- /** The currently selected key (controlled). */
146
- selectedKey?: Key | null;
147
- /** The default selected key (uncontrolled). */
148
- defaultSelectedKey?: Key;
149
- /** Handler called when selection changes. */
150
- onSelectionChange?: (key: Key | null) => void;
151
- }
152
-
153
- /**
154
- * Props for multiple selection.
155
- */
156
- export interface MultipleSelection {
157
- /** The selection mode. */
158
- selectionMode?: SelectionMode;
159
- /** Whether empty selection is allowed. */
160
- disallowEmptySelection?: boolean;
161
- /** The currently selected keys (controlled). */
162
- selectedKeys?: 'all' | Iterable<Key>;
163
- /** The default selected keys (uncontrolled). */
164
- defaultSelectedKeys?: 'all' | Iterable<Key>;
165
- /** Handler called when selection changes. */
166
- onSelectionChange?: (keys: Selection) => void;
167
- /** Keys of disabled items. */
168
- disabledKeys?: Iterable<Key>;
169
- }
1
+ /**
2
+ * Core types for collection state management.
3
+ * Simplified from @react-stately/collections for SolidJS.
4
+ */
5
+
6
+ import type { JSX } from "solid-js";
7
+
8
+ /** A unique identifier for an item in a collection. */
9
+ export type Key = string | number;
10
+
11
+ /** The type of selection allowed in a collection. */
12
+ export type SelectionMode = "none" | "single" | "multiple";
13
+
14
+ /** How selection behaves when clicking on items. */
15
+ export type SelectionBehavior = "toggle" | "replace";
16
+
17
+ /** Represents the current selection state. */
18
+ export type Selection = "all" | Set<Key>;
19
+
20
+ /** Strategy for focusing first or last item. */
21
+ export type FocusStrategy = "first" | "last";
22
+
23
+ /** Whether disabled keys affect selection, actions, or both. */
24
+ export type DisabledBehavior = "selection" | "all";
25
+
26
+ /**
27
+ * Represents a node in a collection (item or section).
28
+ */
29
+ export interface CollectionNode<T = unknown> {
30
+ /** The type of node: 'item' or 'section'. */
31
+ type: "item" | "section";
32
+ /** A unique key for the node. */
33
+ key: Key;
34
+ /** The original value/data for this node. */
35
+ value: T | null;
36
+ /** The text content for accessibility and typeahead. */
37
+ textValue: string;
38
+ /** The rendered content (JSX). */
39
+ rendered: JSX.Element;
40
+ /** The level of nesting (0 for top-level). */
41
+ level: number;
42
+ /** The index within the parent. */
43
+ index: number;
44
+ /** The key of the parent node, if any. */
45
+ parentKey: Key | null;
46
+ /** Whether this node has child nodes. */
47
+ hasChildNodes: boolean;
48
+ /** Child nodes, if any. */
49
+ childNodes: CollectionNode<T>[];
50
+ /** Whether this item is disabled. */
51
+ isDisabled?: boolean;
52
+ /** ARIA label for this node. */
53
+ "aria-label"?: string;
54
+ /** Additional props for the node. */
55
+ props?: Record<string, unknown>;
56
+ }
57
+
58
+ /**
59
+ * A collection of nodes with methods to traverse and query.
60
+ */
61
+ export interface Collection<T = unknown> extends Iterable<CollectionNode<T>> {
62
+ /** The number of items in the collection. */
63
+ readonly size: number;
64
+
65
+ /** Get all keys in the collection. */
66
+ getKeys(): Iterable<Key>;
67
+
68
+ /** Get a node by its key. */
69
+ getItem(key: Key): CollectionNode<T> | null;
70
+
71
+ /** Get a node by index. */
72
+ at(index: number): CollectionNode<T> | null;
73
+
74
+ /** Get the key before the given key. */
75
+ getKeyBefore(key: Key): Key | null;
76
+
77
+ /** Get the key after the given key. */
78
+ getKeyAfter(key: Key): Key | null;
79
+
80
+ /** Get the first key in the collection. */
81
+ getFirstKey(): Key | null;
82
+
83
+ /** Get the last key in the collection. */
84
+ getLastKey(): Key | null;
85
+
86
+ /** Get the children of a node. */
87
+ getChildren(key: Key): Iterable<CollectionNode<T>>;
88
+
89
+ /** Get the text value for a key. */
90
+ getTextValue(key: Key): string;
91
+ }
92
+
93
+ /**
94
+ * Structural shape expected when inferring collection item properties
95
+ * (key, textValue, etc.) from plain objects without explicit getKey/getTextValue/getDisabled.
96
+ */
97
+ export interface CollectionItemLike {
98
+ key?: Key;
99
+ id?: Key;
100
+ textValue?: string;
101
+ label?: string;
102
+ isDisabled?: boolean;
103
+ }
104
+
105
+ /**
106
+ * Props for items in a collection.
107
+ */
108
+ export interface ItemProps<T = unknown> {
109
+ /** Unique key for the item. Required if items is used for dynamic collections. */
110
+ key?: Key;
111
+ /** The text value for accessibility and typeahead. If not provided, derived from children. */
112
+ textValue?: string;
113
+ /** Whether the item is disabled. */
114
+ isDisabled?: boolean;
115
+ /** The rendered content of the item. */
116
+ children?: JSX.Element;
117
+ /** ARIA label for the item. */
118
+ "aria-label"?: string;
119
+ /** The original value for dynamic collections. */
120
+ value?: T;
121
+ }
122
+
123
+ /**
124
+ * Props for sections in a collection.
125
+ */
126
+ export interface SectionProps<T = unknown> {
127
+ /** Unique key for the section. */
128
+ key?: Key;
129
+ /** The section header/title. */
130
+ title?: JSX.Element;
131
+ /** ARIA label for the section. */
132
+ "aria-label"?: string;
133
+ /** The items in this section. */
134
+ children?: JSX.Element;
135
+ /** Items for dynamic rendering. */
136
+ items?: Iterable<T>;
137
+ }
138
+
139
+ /**
140
+ * Base props for components that use collections.
141
+ */
142
+ export interface CollectionBase<T = unknown> {
143
+ /** The items in the collection (for dynamic rendering). */
144
+ items?: Iterable<T>;
145
+ /** The children (static items or render function). */
146
+ children?: JSX.Element | ((item: T) => JSX.Element);
147
+ /** Keys of disabled items. */
148
+ disabledKeys?: Iterable<Key>;
149
+ }
150
+
151
+ /**
152
+ * Props for single selection.
153
+ */
154
+ export interface SingleSelection {
155
+ /** Whether empty selection is allowed. */
156
+ disallowEmptySelection?: boolean;
157
+ /** The currently selected key (controlled). */
158
+ selectedKey?: Key | null;
159
+ /** The default selected key (uncontrolled). */
160
+ defaultSelectedKey?: Key;
161
+ /** Handler called when selection changes. */
162
+ onSelectionChange?: (key: Key | null) => void;
163
+ }
164
+
165
+ /**
166
+ * Props for multiple selection.
167
+ */
168
+ export interface MultipleSelection {
169
+ /** The selection mode. */
170
+ selectionMode?: SelectionMode;
171
+ /** Whether empty selection is allowed. */
172
+ disallowEmptySelection?: boolean;
173
+ /** The currently selected keys (controlled). */
174
+ selectedKeys?: "all" | Iterable<Key>;
175
+ /** The default selected keys (uncontrolled). */
176
+ defaultSelectedKeys?: "all" | Iterable<Key>;
177
+ /** Handler called when selection changes. */
178
+ onSelectionChange?: (keys: Selection) => void;
179
+ /** Keys of disabled items. */
180
+ disabledKeys?: Iterable<Key>;
181
+ }
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Provides color manipulation, conversion, and formatting.
6
6
  */
7
- import type { Color } from './types';
7
+ import type { Color } from "./types";
8
8
  /**
9
9
  * Parse a color string into a Color object.
10
10
  */
@@ -12,17 +12,32 @@ export declare function parseColor(value: string): Color;
12
12
  /**
13
13
  * Create an RGB color.
14
14
  */
15
- export declare function createRGBColor(red: number, green: number, blue: number, alpha?: number): Color;
15
+ export declare function createRGBColor(
16
+ red: number,
17
+ green: number,
18
+ blue: number,
19
+ alpha?: number,
20
+ ): Color;
16
21
  /**
17
22
  * Create an HSL color.
18
23
  */
19
- export declare function createHSLColor(hue: number, saturation: number, lightness: number, alpha?: number): Color;
24
+ export declare function createHSLColor(
25
+ hue: number,
26
+ saturation: number,
27
+ lightness: number,
28
+ alpha?: number,
29
+ ): Color;
20
30
  /**
21
31
  * Create an HSB color.
22
32
  */
23
- export declare function createHSBColor(hue: number, saturation: number, brightness: number, alpha?: number): Color;
33
+ export declare function createHSBColor(
34
+ hue: number,
35
+ saturation: number,
36
+ brightness: number,
37
+ alpha?: number,
38
+ ): Color;
24
39
  /**
25
40
  * Normalize a color value (string or Color) to a Color object.
26
41
  */
27
42
  export declare function normalizeColor(value: string | Color): Color;
28
- //# sourceMappingURL=Color.d.ts.map
43
+ //# sourceMappingURL=Color.d.ts.map