@proyecto-viviana/solidaria-components 0.2.5 → 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 (225) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +39 -272
  3. package/dist/ActionBar.d.ts +79 -0
  4. package/dist/ActionBar.d.ts.map +1 -0
  5. package/dist/ActionGroup.d.ts +74 -0
  6. package/dist/ActionGroup.d.ts.map +1 -0
  7. package/dist/Alert.d.ts +70 -0
  8. package/dist/Alert.d.ts.map +1 -0
  9. package/dist/Autocomplete.d.ts +5 -5
  10. package/dist/Autocomplete.d.ts.map +1 -1
  11. package/dist/Breadcrumbs.d.ts +27 -8
  12. package/dist/Breadcrumbs.d.ts.map +1 -1
  13. package/dist/Button.d.ts +28 -5
  14. package/dist/Button.d.ts.map +1 -1
  15. package/dist/Calendar.d.ts +51 -7
  16. package/dist/Calendar.d.ts.map +1 -1
  17. package/dist/Checkbox.d.ts +33 -8
  18. package/dist/Checkbox.d.ts.map +1 -1
  19. package/dist/Collection.d.ts +130 -0
  20. package/dist/Collection.d.ts.map +1 -0
  21. package/dist/Color.d.ts +210 -9
  22. package/dist/Color.d.ts.map +1 -1
  23. package/dist/ColorEditor.d.ts +42 -0
  24. package/dist/ColorEditor.d.ts.map +1 -0
  25. package/dist/ComboBox.d.ts +146 -16
  26. package/dist/ComboBox.d.ts.map +1 -1
  27. package/dist/ContextualHelpTrigger.d.ts +40 -0
  28. package/dist/ContextualHelpTrigger.d.ts.map +1 -0
  29. package/dist/DateField.d.ts +35 -8
  30. package/dist/DateField.d.ts.map +1 -1
  31. package/dist/DatePicker.d.ts +101 -5
  32. package/dist/DatePicker.d.ts.map +1 -1
  33. package/dist/DateRangePickerContext.d.ts +30 -0
  34. package/dist/DateRangePickerContext.d.ts.map +1 -0
  35. package/dist/Dialog.d.ts +5 -5
  36. package/dist/Dialog.d.ts.map +1 -1
  37. package/dist/Disclosure.d.ts +25 -5
  38. package/dist/Disclosure.d.ts.map +1 -1
  39. package/dist/DragAndDrop.d.ts +80 -0
  40. package/dist/DragAndDrop.d.ts.map +1 -0
  41. package/dist/DragPreview.d.ts +14 -0
  42. package/dist/DragPreview.d.ts.map +1 -0
  43. package/dist/DropZone.d.ts +27 -0
  44. package/dist/DropZone.d.ts.map +1 -0
  45. package/dist/FieldError.d.ts +27 -0
  46. package/dist/FieldError.d.ts.map +1 -0
  47. package/dist/FileTrigger.d.ts +26 -0
  48. package/dist/FileTrigger.d.ts.map +1 -0
  49. package/dist/Focusable.d.ts +27 -0
  50. package/dist/Focusable.d.ts.map +1 -0
  51. package/dist/Form.d.ts +41 -0
  52. package/dist/Form.d.ts.map +1 -0
  53. package/dist/GridList.d.ts +69 -10
  54. package/dist/GridList.d.ts.map +1 -1
  55. package/dist/HiddenDateInput.d.ts +26 -0
  56. package/dist/HiddenDateInput.d.ts.map +1 -0
  57. package/dist/HiddenTimeInput.d.ts +25 -0
  58. package/dist/HiddenTimeInput.d.ts.map +1 -0
  59. package/dist/Icon.d.ts +57 -0
  60. package/dist/Icon.d.ts.map +1 -0
  61. package/dist/Keyboard.d.ts +13 -0
  62. package/dist/Keyboard.d.ts.map +1 -0
  63. package/dist/Landmark.d.ts +3 -3
  64. package/dist/Landmark.d.ts.map +1 -1
  65. package/dist/Link.d.ts +10 -4
  66. package/dist/Link.d.ts.map +1 -1
  67. package/dist/ListBox.d.ts +73 -11
  68. package/dist/ListBox.d.ts.map +1 -1
  69. package/dist/ListDropTargetDelegate.d.ts +38 -0
  70. package/dist/ListDropTargetDelegate.d.ts.map +1 -0
  71. package/dist/Menu.d.ts +79 -10
  72. package/dist/Menu.d.ts.map +1 -1
  73. package/dist/Meter.d.ts +4 -4
  74. package/dist/Meter.d.ts.map +1 -1
  75. package/dist/Modal.d.ts +6 -4
  76. package/dist/Modal.d.ts.map +1 -1
  77. package/dist/NumberField.d.ts +10 -12
  78. package/dist/NumberField.d.ts.map +1 -1
  79. package/dist/Popover.d.ts +32 -7
  80. package/dist/Popover.d.ts.map +1 -1
  81. package/dist/Pressable.d.ts +27 -0
  82. package/dist/Pressable.d.ts.map +1 -0
  83. package/dist/ProgressBar.d.ts +6 -4
  84. package/dist/ProgressBar.d.ts.map +1 -1
  85. package/dist/RadioGroup.d.ts +43 -9
  86. package/dist/RadioGroup.d.ts.map +1 -1
  87. package/dist/RangeCalendar.d.ts +39 -7
  88. package/dist/RangeCalendar.d.ts.map +1 -1
  89. package/dist/RouterProvider.d.ts +75 -0
  90. package/dist/RouterProvider.d.ts.map +1 -0
  91. package/dist/SearchField.d.ts +23 -21
  92. package/dist/SearchField.d.ts.map +1 -1
  93. package/dist/Select.d.ts +48 -7
  94. package/dist/Select.d.ts.map +1 -1
  95. package/dist/SelectionIndicator.d.ts +30 -0
  96. package/dist/SelectionIndicator.d.ts.map +1 -0
  97. package/dist/Separator.d.ts +9 -3
  98. package/dist/Separator.d.ts.map +1 -1
  99. package/dist/SharedElementTransition.d.ts +41 -0
  100. package/dist/SharedElementTransition.d.ts.map +1 -0
  101. package/dist/Slider.d.ts +15 -8
  102. package/dist/Slider.d.ts.map +1 -1
  103. package/dist/StepList.d.ts +90 -0
  104. package/dist/StepList.d.ts.map +1 -0
  105. package/dist/Switch.d.ts +11 -5
  106. package/dist/Switch.d.ts.map +1 -1
  107. package/dist/Table.d.ts +222 -19
  108. package/dist/Table.d.ts.map +1 -1
  109. package/dist/Tabs.d.ts +47 -10
  110. package/dist/Tabs.d.ts.map +1 -1
  111. package/dist/TagGroup.d.ts +22 -10
  112. package/dist/TagGroup.d.ts.map +1 -1
  113. package/dist/Text.d.ts +10 -0
  114. package/dist/Text.d.ts.map +1 -0
  115. package/dist/TextField.d.ts +19 -11
  116. package/dist/TextField.d.ts.map +1 -1
  117. package/dist/TimeField.d.ts +32 -7
  118. package/dist/TimeField.d.ts.map +1 -1
  119. package/dist/Toast.d.ts +29 -14
  120. package/dist/Toast.d.ts.map +1 -1
  121. package/dist/ToggleButton.d.ts +36 -0
  122. package/dist/ToggleButton.d.ts.map +1 -0
  123. package/dist/ToggleButtonGroup.d.ts +33 -0
  124. package/dist/ToggleButtonGroup.d.ts.map +1 -0
  125. package/dist/Toolbar.d.ts +7 -3
  126. package/dist/Toolbar.d.ts.map +1 -1
  127. package/dist/Tooltip.d.ts +58 -7
  128. package/dist/Tooltip.d.ts.map +1 -1
  129. package/dist/Tree.d.ts +102 -11
  130. package/dist/Tree.d.ts.map +1 -1
  131. package/dist/Virtualizer.d.ts +61 -0
  132. package/dist/Virtualizer.d.ts.map +1 -0
  133. package/dist/VirtualizerLayouts.d.ts +82 -0
  134. package/dist/VirtualizerLayouts.d.ts.map +1 -0
  135. package/dist/VisuallyHidden.d.ts +4 -2
  136. package/dist/VisuallyHidden.d.ts.map +1 -1
  137. package/dist/contexts.d.ts +6 -1
  138. package/dist/contexts.d.ts.map +1 -1
  139. package/dist/index.d.ts +73 -39
  140. package/dist/index.d.ts.map +1 -1
  141. package/dist/index.js +23342 -10644
  142. package/dist/index.js.map +1 -7
  143. package/dist/index.jsx +18110 -0
  144. package/dist/index.jsx.map +1 -0
  145. package/dist/useDragAndDrop.d.ts +93 -0
  146. package/dist/useDragAndDrop.d.ts.map +1 -0
  147. package/dist/utils.d.ts +8 -2
  148. package/dist/utils.d.ts.map +1 -1
  149. package/dist/virtualizer/Layout.d.ts +79 -0
  150. package/dist/virtualizer/Layout.d.ts.map +1 -0
  151. package/package.json +33 -32
  152. package/src/ActionBar.tsx +251 -0
  153. package/src/ActionGroup.tsx +277 -0
  154. package/src/Alert.tsx +152 -0
  155. package/src/Autocomplete.tsx +39 -44
  156. package/src/Breadcrumbs.tsx +227 -72
  157. package/src/Button.tsx +315 -74
  158. package/src/Calendar.tsx +347 -141
  159. package/src/Checkbox.tsx +414 -123
  160. package/src/Collection.tsx +350 -0
  161. package/src/Color.tsx +1325 -284
  162. package/src/ColorEditor.tsx +213 -0
  163. package/src/ComboBox.tsx +644 -245
  164. package/src/ContextualHelpTrigger.tsx +195 -0
  165. package/src/DateField.tsx +274 -106
  166. package/src/DatePicker.tsx +892 -111
  167. package/src/DateRangePickerContext.tsx +44 -0
  168. package/src/Dialog.tsx +173 -104
  169. package/src/Disclosure.tsx +158 -105
  170. package/src/DragAndDrop.tsx +340 -0
  171. package/src/DragPreview.tsx +47 -0
  172. package/src/DropZone.tsx +233 -0
  173. package/src/FieldError.tsx +89 -0
  174. package/src/FileTrigger.tsx +83 -0
  175. package/src/Focusable.tsx +103 -0
  176. package/src/Form.tsx +140 -0
  177. package/src/GridList.tsx +542 -128
  178. package/src/HiddenDateInput.tsx +153 -0
  179. package/src/HiddenTimeInput.tsx +133 -0
  180. package/src/Icon.tsx +133 -0
  181. package/src/Keyboard.tsx +26 -0
  182. package/src/Landmark.tsx +37 -63
  183. package/src/Link.tsx +132 -69
  184. package/src/ListBox.tsx +656 -106
  185. package/src/ListDropTargetDelegate.ts +283 -0
  186. package/src/Menu.tsx +1234 -132
  187. package/src/Meter.tsx +44 -58
  188. package/src/Modal.tsx +262 -166
  189. package/src/NumberField.tsx +267 -151
  190. package/src/Popover.tsx +452 -343
  191. package/src/Pressable.tsx +108 -0
  192. package/src/ProgressBar.tsx +54 -59
  193. package/src/RadioGroup.tsx +533 -121
  194. package/src/RangeCalendar.tsx +249 -150
  195. package/src/RouterProvider.tsx +223 -0
  196. package/src/SearchField.tsx +460 -133
  197. package/src/Select.tsx +804 -233
  198. package/src/SelectionIndicator.tsx +108 -0
  199. package/src/Separator.tsx +47 -49
  200. package/src/SharedElementTransition.tsx +264 -0
  201. package/src/Slider.tsx +148 -98
  202. package/src/StepList.tsx +272 -0
  203. package/src/Switch.tsx +93 -46
  204. package/src/Table.tsx +1551 -225
  205. package/src/Tabs.tsx +377 -123
  206. package/src/TagGroup.tsx +233 -135
  207. package/src/Text.tsx +18 -0
  208. package/src/TextField.tsx +413 -86
  209. package/src/TimeField.tsx +232 -222
  210. package/src/Toast.tsx +306 -160
  211. package/src/ToggleButton.tsx +169 -0
  212. package/src/ToggleButtonGroup.tsx +141 -0
  213. package/src/Toolbar.tsx +61 -70
  214. package/src/Tooltip.tsx +473 -116
  215. package/src/Tree.tsx +1514 -175
  216. package/src/Virtualizer.tsx +730 -0
  217. package/src/VirtualizerLayouts.ts +280 -0
  218. package/src/VisuallyHidden.tsx +32 -38
  219. package/src/contexts.ts +29 -36
  220. package/src/index.ts +972 -620
  221. package/src/useDragAndDrop.ts +367 -0
  222. package/src/utils.tsx +69 -50
  223. package/src/virtualizer/Layout.ts +192 -0
  224. package/dist/index.ssr.js +0 -9785
  225. package/dist/index.ssr.js.map +0 -7
package/dist/Table.d.ts CHANGED
@@ -4,10 +4,12 @@
4
4
  * A pre-wired headless table that combines state + aria hooks.
5
5
  * Based on react-aria-components/src/Table.tsx
6
6
  */
7
- import { type JSX } from 'solid-js';
8
- import { type AriaTableProps } from '@proyecto-viviana/solidaria';
9
- import { type TableState, type TableCollection, type Key, type SortDescriptor, type ColumnDefinition, type GridNode } from '@proyecto-viviana/solid-stately';
10
- import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from './utils';
7
+ import { type JSX } from "solid-js";
8
+ import { type AriaTableProps } from "@proyecto-viviana/solidaria";
9
+ import { type TableState, type TableCollection, type TableColumnResizeState, type Key, type SortDescriptor, type ColumnDefinition, type ColumnSize, type GridNode } from "@proyecto-viviana/solid-stately";
10
+ import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from "./utils";
11
+ import { type DragAndDropHooks } from "./useDragAndDrop";
12
+ import { type LinkDOMProps, type RouterOptions } from "./RouterProvider";
11
13
  export interface TableRenderProps {
12
14
  /** Whether the table has focus. */
13
15
  isFocused: boolean;
@@ -18,25 +20,40 @@ export interface TableRenderProps {
18
20
  /** Whether the table is empty. */
19
21
  isEmpty: boolean;
20
22
  }
21
- export interface TableProps<T extends object> extends Omit<AriaTableProps, 'children'>, SlotProps {
23
+ type RefLike<T> = ((el: T) => void) | {
24
+ current?: T | null;
25
+ } | undefined;
26
+ export type TableColumnDefinition<T = unknown> = Omit<ColumnDefinition<T>, "key" | "children"> & {
27
+ /** React Spectrum-style alias for the column key. */
28
+ id?: Key;
29
+ key?: Key;
30
+ children?: TableColumnDefinition<T>[];
31
+ };
32
+ export interface TableProps<T extends object> extends Omit<AriaTableProps, "children">, SlotProps {
22
33
  /** The data items to render in the table. */
23
34
  items: T[];
24
35
  /** The column definitions. */
25
- columns: ColumnDefinition<T>[];
36
+ columns: TableColumnDefinition<T>[];
26
37
  /** Function to get the key from an item. */
27
38
  getKey?: (item: T) => Key;
28
39
  /** Function to get the text value from an item for a column. */
29
- getTextValue?: (item: T, column: ColumnDefinition<T>) => string;
40
+ getTextValue?: (item: T, column: TableColumnDefinition<T>) => string;
30
41
  /** The selection mode. */
31
- selectionMode?: 'none' | 'single' | 'multiple';
42
+ selectionMode?: "none" | "single" | "multiple";
43
+ /** The selection behavior (toggle vs replace). */
44
+ selectionBehavior?: "toggle" | "replace";
45
+ /** Whether disabled rows remain focusable. */
46
+ disabledBehavior?: "selection" | "all";
47
+ /** Whether Escape clears selection. */
48
+ escapeKeyBehavior?: "clearSelection" | "none";
32
49
  /** Keys of disabled items. */
33
50
  disabledKeys?: Iterable<Key>;
34
51
  /** Currently selected keys (controlled). */
35
- selectedKeys?: 'all' | Iterable<Key>;
52
+ selectedKeys?: "all" | Iterable<Key>;
36
53
  /** Default selected keys (uncontrolled). */
37
- defaultSelectedKeys?: 'all' | Iterable<Key>;
54
+ defaultSelectedKeys?: "all" | Iterable<Key>;
38
55
  /** Handler called when selection changes. */
39
- onSelectionChange?: (keys: 'all' | Set<Key>) => void;
56
+ onSelectionChange?: (keys: "all" | Set<Key>) => void;
40
57
  /** The current sort descriptor. */
41
58
  sortDescriptor?: SortDescriptor;
42
59
  /** Handler called when sort changes. */
@@ -51,10 +68,18 @@ export interface TableProps<T extends object> extends Omit<AriaTableProps, 'chil
51
68
  style?: StyleOrFunction<TableRenderProps>;
52
69
  /** A function to render when the table is empty. */
53
70
  renderEmptyState?: () => JSX.Element;
71
+ /** Ref for the table element. */
72
+ ref?: RefLike<HTMLTableElement>;
73
+ /** Custom renderer for the table element. */
74
+ render?: (props: JSX.HTMLAttributes<HTMLTableElement>, renderProps: TableRenderProps) => JSX.Element;
75
+ /** Drag and drop hooks from `useDragAndDrop`. */
76
+ dragAndDropHooks?: DragAndDropHooks<T>;
54
77
  }
55
78
  export interface TableHeaderRenderProps {
56
79
  /** Whether the header has focus. */
57
80
  isFocused: boolean;
81
+ /** Whether the header is being hovered. */
82
+ isHovered: boolean;
58
83
  }
59
84
  export interface TableHeaderProps extends SlotProps {
60
85
  /** The children (usually TableColumn components). */
@@ -63,6 +88,10 @@ export interface TableHeaderProps extends SlotProps {
63
88
  class?: ClassNameOrFunction<TableHeaderRenderProps>;
64
89
  /** The inline style for the element. */
65
90
  style?: StyleOrFunction<TableHeaderRenderProps>;
91
+ /** Ref for the table header element. */
92
+ ref?: RefLike<HTMLTableSectionElement>;
93
+ /** Custom renderer for the table header element. */
94
+ render?: (props: JSX.HTMLAttributes<HTMLTableSectionElement>, renderProps: TableHeaderRenderProps) => JSX.Element;
66
95
  }
67
96
  export interface TableColumnRenderProps {
68
97
  /** Whether the column is focused. */
@@ -72,21 +101,39 @@ export interface TableColumnRenderProps {
72
101
  /** Whether the column is sortable. */
73
102
  isSortable: boolean;
74
103
  /** The current sort direction ('ascending', 'descending', or undefined). */
75
- sortDirection: 'ascending' | 'descending' | undefined;
104
+ sortDirection: "ascending" | "descending" | undefined;
76
105
  /** Whether the column is being hovered. */
77
106
  isHovered: boolean;
107
+ /** Whether the column allows resizing. */
108
+ allowsResizing: boolean;
109
+ /** Whether the column is currently being resized. */
110
+ isResizing: boolean;
78
111
  }
79
112
  export interface TableColumnProps extends SlotProps {
80
113
  /** The unique key for the column. */
81
114
  id: Key;
82
115
  /** Whether the column allows sorting. */
83
116
  allowsSorting?: boolean;
117
+ /** Whether the column allows resizing. */
118
+ allowsResizing?: boolean;
119
+ /** Column width (number for px, string for 'Xfr', 'X%', 'Xpx'). */
120
+ width?: ColumnSize;
121
+ /** Default width for uncontrolled mode. */
122
+ defaultWidth?: ColumnSize;
123
+ /** Minimum column width in px. */
124
+ minWidth?: number;
125
+ /** Maximum column width in px. */
126
+ maxWidth?: number;
84
127
  /** The children of the column. */
85
128
  children?: RenderChildren<TableColumnRenderProps>;
86
129
  /** The CSS className for the element. */
87
130
  class?: ClassNameOrFunction<TableColumnRenderProps>;
88
131
  /** The inline style for the element. */
89
132
  style?: StyleOrFunction<TableColumnRenderProps>;
133
+ /** Ref for the column header element. */
134
+ ref?: RefLike<HTMLTableCellElement>;
135
+ /** Custom renderer for the column header element. */
136
+ render?: (props: JSX.ThHTMLAttributes<HTMLTableCellElement>, renderProps: TableColumnRenderProps) => JSX.Element;
90
137
  }
91
138
  export interface TableBodyRenderProps {
92
139
  /** Whether the body is empty. */
@@ -103,6 +150,30 @@ export interface TableBodyProps<T> extends SlotProps {
103
150
  style?: StyleOrFunction<TableBodyRenderProps>;
104
151
  /** A function to render when the body is empty. */
105
152
  renderEmptyState?: () => JSX.Element;
153
+ /** Whether there are more rows to load. */
154
+ hasMore?: boolean;
155
+ /** Whether additional rows are currently loading. */
156
+ isLoading?: boolean;
157
+ /** Called when the load more sentinel becomes visible. */
158
+ onLoadMore?: () => void | Promise<void>;
159
+ /** Ref for the table body element. */
160
+ ref?: RefLike<HTMLTableSectionElement>;
161
+ /** Custom renderer for the table body element. */
162
+ render?: (props: JSX.HTMLAttributes<HTMLTableSectionElement>, renderProps: TableBodyRenderProps) => JSX.Element;
163
+ }
164
+ export interface TableFooterRenderProps {
165
+ /** Whether the footer has no items. */
166
+ isEmpty: boolean;
167
+ }
168
+ export interface TableFooterProps<T> extends SlotProps {
169
+ /** The footer items to render. */
170
+ items?: T[];
171
+ /** The children, or a render function when `items` is provided. */
172
+ children?: JSX.Element | ((item: T) => JSX.Element);
173
+ /** The CSS className for the element. */
174
+ class?: ClassNameOrFunction<TableFooterRenderProps>;
175
+ /** The inline style for the element. */
176
+ style?: StyleOrFunction<TableFooterRenderProps>;
106
177
  }
107
178
  export interface TableRowRenderProps {
108
179
  /** Whether the row is selected. */
@@ -120,23 +191,47 @@ export interface TableRowRenderProps {
120
191
  }
121
192
  export interface TableRowProps<T> extends SlotProps {
122
193
  /** The unique key for the row. */
123
- id: Key;
194
+ id?: Key;
124
195
  /** The item value. */
125
196
  item?: T;
197
+ /** Columns to render when children is a column render function. */
198
+ columns?: TableColumnDefinition<T>[];
199
+ /** Whether the row is disabled. */
200
+ isDisabled?: boolean;
126
201
  /** The children of the row (usually TableCell components). */
127
- children?: JSX.Element | RenderChildren<TableRowRenderProps>;
202
+ children?: JSX.Element | RenderChildren<TableRowRenderProps> | ((column: TableColumnDefinition<T>) => JSX.Element);
128
203
  /** The CSS className for the element. */
129
204
  class?: ClassNameOrFunction<TableRowRenderProps>;
130
205
  /** The inline style for the element. */
131
206
  style?: StyleOrFunction<TableRowRenderProps>;
132
207
  /** Handler called when the row is activated (double-click or Enter). */
133
208
  onAction?: () => void;
209
+ /** The URL this row links to. */
210
+ href?: string;
211
+ /** Link target for linked rows. */
212
+ target?: LinkDOMProps["target"];
213
+ /** Link relationship for linked rows. */
214
+ rel?: LinkDOMProps["rel"];
215
+ /** Download attribute for linked rows. */
216
+ download?: LinkDOMProps["download"];
217
+ /** Ping attribute for linked rows. */
218
+ ping?: LinkDOMProps["ping"];
219
+ /** Referrer policy for linked rows. */
220
+ referrerPolicy?: LinkDOMProps["referrerPolicy"];
221
+ /** Router options for linked rows. */
222
+ routerOptions?: RouterOptions;
223
+ /** Ref for the table row element. */
224
+ ref?: RefLike<HTMLTableRowElement>;
225
+ /** Custom renderer for the table row element. */
226
+ render?: (props: JSX.HTMLAttributes<HTMLTableRowElement>, renderProps: TableRowRenderProps) => JSX.Element;
134
227
  }
135
228
  export interface TableCellRenderProps {
136
229
  /** Whether the cell is focused. */
137
230
  isFocused: boolean;
138
231
  /** Whether the cell has keyboard focus. */
139
232
  isFocusVisible: boolean;
233
+ /** The zero-based column index for the cell. */
234
+ columnIndex: number;
140
235
  /** Whether the cell is pressed. */
141
236
  isPressed: boolean;
142
237
  /** Whether the cell is hovered. */
@@ -145,26 +240,62 @@ export interface TableCellRenderProps {
145
240
  export interface TableCellProps extends SlotProps {
146
241
  /** The unique key for the cell. */
147
242
  id?: Key;
243
+ /** Number of columns spanned by the cell. */
244
+ colSpan?: number;
148
245
  /** The children of the cell. */
149
246
  children?: RenderChildren<TableCellRenderProps>;
150
247
  /** The CSS className for the element. */
151
248
  class?: ClassNameOrFunction<TableCellRenderProps>;
152
249
  /** The inline style for the element. */
153
250
  style?: StyleOrFunction<TableCellRenderProps>;
251
+ /** Ref for the table cell element. */
252
+ ref?: RefLike<HTMLTableCellElement>;
253
+ /** Custom renderer for the table cell element. */
254
+ render?: (props: JSX.TdHTMLAttributes<HTMLTableCellElement>, renderProps: TableCellRenderProps) => JSX.Element;
255
+ }
256
+ export interface TableLoadMoreItemProps extends SlotProps {
257
+ onLoadMore: () => void | Promise<void>;
258
+ isLoading?: boolean;
259
+ /** Scroll offset multiplier for early loading trigger (default: 1 = 100% of viewport height). */
260
+ scrollOffset?: number;
261
+ colSpan?: number;
262
+ children?: JSX.Element;
263
+ class?: ClassNameOrFunction<{
264
+ isLoading: boolean;
265
+ }>;
266
+ style?: StyleOrFunction<{
267
+ isLoading: boolean;
268
+ }>;
154
269
  }
155
270
  interface TableContextValue<T extends object> {
156
271
  state: TableState<T, TableCollection<T>>;
157
272
  collection: TableCollection<T>;
158
273
  items: T[];
159
- columns: ColumnDefinition<T>[];
274
+ columns: (ColumnDefinition<T> & {
275
+ id?: Key;
276
+ })[];
160
277
  isDisabled: boolean;
161
278
  showSelectionCheckboxes: boolean;
279
+ dragAndDropHooks?: DragAndDropHooks<T>;
280
+ dragState?: unknown;
281
+ dropState?: unknown;
282
+ isVirtualized: boolean;
162
283
  }
163
284
  export declare const TableContext: import("solid-js").Context<TableContextValue<object> | null>;
164
285
  export declare const TableStateContext: import("solid-js").Context<TableState<object, TableCollection<object>> | null>;
286
+ /** The resize context carries a getter for the resize state. The getter may return null before columns register. */
287
+ export declare const TableColumnResizeStateContext: import("solid-js").Context<{
288
+ getState: () => TableColumnResizeState | null;
289
+ getCallbacks?: () => {
290
+ onResizeStart?: (widths: Map<Key, number>) => void;
291
+ onResize?: (widths: Map<Key, number>) => void;
292
+ onResizeEnd?: (widths: Map<Key, number>) => void;
293
+ };
294
+ } | null>;
165
295
  interface TableRowContextValue {
166
296
  rowKey: Key;
167
297
  rowNode: GridNode<unknown>;
298
+ getCellColumnKey(cellId: string, explicitId?: Key): Key | undefined;
168
299
  }
169
300
  export declare const TableRowContext: import("solid-js").Context<TableRowContextValue | null>;
170
301
  /**
@@ -176,6 +307,7 @@ export declare namespace Table {
176
307
  var Header: typeof TableHeader;
177
308
  var Column: typeof TableColumn;
178
309
  var Body: typeof TableBody;
310
+ var LoadMoreItem: typeof TableLoadMoreItem;
179
311
  var Row: typeof TableRow;
180
312
  var Cell: typeof TableCell;
181
313
  var SelectionCheckbox: typeof TableSelectionCheckbox;
@@ -193,6 +325,11 @@ export declare function TableColumn(props: TableColumnProps): JSX.Element;
193
325
  * The body of a table containing data rows.
194
326
  */
195
327
  export declare function TableBody<T extends object>(props: TableBodyProps<T>): JSX.Element;
328
+ /**
329
+ * The footer of a table containing summary rows.
330
+ */
331
+ export declare function TableFooter<T extends object>(props: TableFooterProps<T>): JSX.Element;
332
+ export declare function TableLoadMoreItem(props: TableLoadMoreItemProps): JSX.Element;
196
333
  /**
197
334
  * A row in a table.
198
335
  */
@@ -201,15 +338,81 @@ export declare function TableRow<T extends object>(props: TableRowProps<T>): JSX
201
338
  * A cell in a table row.
202
339
  */
203
340
  export declare function TableCell(props: TableCellProps): JSX.Element;
341
+ export interface TableSelectionCheckboxProps {
342
+ rowKey: Key;
343
+ class?: string;
344
+ style?: JSX.CSSProperties;
345
+ excludeFromTabOrder?: boolean;
346
+ "aria-label"?: string;
347
+ }
204
348
  /**
205
349
  * A checkbox cell for row selection.
206
350
  */
207
- export declare function TableSelectionCheckbox(props: {
208
- rowKey: Key;
209
- }): JSX.Element;
351
+ export declare function TableSelectionCheckbox(props: TableSelectionCheckboxProps): JSX.Element;
352
+ export interface TableSelectAllCheckboxProps {
353
+ class?: string;
354
+ style?: JSX.CSSProperties;
355
+ "aria-label"?: string;
356
+ }
210
357
  /**
211
358
  * A checkbox for select-all functionality.
212
359
  */
213
- export declare function TableSelectAllCheckbox(): JSX.Element;
360
+ export declare function TableSelectAllCheckbox(props?: TableSelectAllCheckboxProps): JSX.Element;
361
+ export interface ColumnResizerRenderProps {
362
+ /** Whether the resizer handle is hovered. */
363
+ isHovered: boolean;
364
+ /** Whether the resizer's hidden input is focused. */
365
+ isFocused: boolean;
366
+ /** Whether the column is currently being resized. */
367
+ isResizing: boolean;
368
+ /** The direction(s) the column can be resized: 'both', 'left', 'right'. */
369
+ resizableDirection: "both" | "left" | "right";
370
+ }
371
+ export interface ColumnResizerProps extends SlotProps {
372
+ /** The column key this resizer belongs to. */
373
+ column: {
374
+ key: Key;
375
+ };
376
+ /** Accessible label for the resizer. */
377
+ "aria-label"?: string;
378
+ /** Whether resizing is disabled. */
379
+ isDisabled?: boolean;
380
+ /** Called when resize starts. */
381
+ onResizeStart?: (widths: Map<Key, number>) => void;
382
+ /** Called during resize. */
383
+ onResize?: (widths: Map<Key, number>) => void;
384
+ /** Called when resize ends. */
385
+ onResizeEnd?: (widths: Map<Key, number>) => void;
386
+ /** CSS class — can be a string or function of render props. */
387
+ class?: ClassNameOrFunction<ColumnResizerRenderProps>;
388
+ /** Inline style — can be object or function of render props. */
389
+ style?: StyleOrFunction<ColumnResizerRenderProps>;
390
+ /** Children — can be JSX or render function. */
391
+ children?: JSX.Element | RenderChildren<ColumnResizerRenderProps>;
392
+ }
393
+ export declare function ColumnResizer(props: ColumnResizerProps): JSX.Element;
394
+ export interface ResizableTableContainerProps extends SlotProps {
395
+ /** Children (should contain a Table). */
396
+ children?: JSX.Element;
397
+ /** Column resize definitions. If not provided, columns from child ColumnResizers are auto-detected. */
398
+ columns?: Array<{
399
+ key: Key;
400
+ width?: ColumnSize;
401
+ minWidth?: number;
402
+ maxWidth?: number;
403
+ }>;
404
+ /** CSS class name. */
405
+ class?: string;
406
+ /** Inline style. */
407
+ style?: JSX.CSSProperties;
408
+ /** Called when column resize starts. */
409
+ onResizeStart?: (widths: Map<Key, number>) => void;
410
+ /** Called during column resize. */
411
+ onResize?: (widths: Map<Key, number>) => void;
412
+ /** Called when column resize ends. */
413
+ onResizeEnd?: (widths: Map<Key, number>) => void;
414
+ }
415
+ export declare function ResizableTableContainer(props: ResizableTableContainerProps): JSX.Element;
416
+ export declare function useTableOptions(): TableContextValue<object> | null;
214
417
  export {};
215
418
  //# sourceMappingURL=Table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../src/Table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../src/Table.tsx"],"names":[],"mappings":"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"}
package/dist/Tabs.d.ts CHANGED
@@ -4,10 +4,11 @@
4
4
  * A pre-wired headless tabs component that combines state + aria hooks.
5
5
  * Port of react-aria-components/src/Tabs.tsx
6
6
  */
7
- import { type JSX } from 'solid-js';
8
- import { type AriaTabListProps, type AriaTabProps, type AriaTabPanelProps } from '@proyecto-viviana/solidaria';
9
- import { type TabListState, type Key, type TabOrientation, type KeyboardActivation } from '@proyecto-viviana/solid-stately';
10
- import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from './utils';
7
+ import { type Accessor, type JSX } from "solid-js";
8
+ import { type AriaTabListProps, type AriaTabProps, type AriaTabPanelProps } from "@proyecto-viviana/solidaria";
9
+ import { type TabListState, type Key, type TabOrientation, type KeyboardActivation } from "@proyecto-viviana/solid-stately";
10
+ import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from "./utils";
11
+ export { SelectionIndicator, SelectionIndicatorContext, type SelectionIndicatorProps, type SelectionIndicatorRenderProps, } from "./SelectionIndicator";
11
12
  export interface TabsRenderProps {
12
13
  /** The orientation of the tabs. */
13
14
  orientation: TabOrientation;
@@ -43,6 +44,8 @@ export interface TabsProps<T> extends SlotProps {
43
44
  class?: ClassNameOrFunction<TabsRenderProps>;
44
45
  /** The inline style for the element. */
45
46
  style?: StyleOrFunction<TabsRenderProps>;
47
+ /** Ref for the root tabs element. */
48
+ ref?: RefLike<HTMLDivElement>;
46
49
  }
47
50
  export interface TabListRenderProps {
48
51
  /** The orientation of the tab list. */
@@ -54,9 +57,11 @@ export interface TabListRenderProps {
54
57
  /** Whether the tab list has visible focus. */
55
58
  isFocusVisible: boolean;
56
59
  }
57
- export interface TabListProps<T> extends Omit<AriaTabListProps, 'children'>, SlotProps {
58
- /** The children of the tab list - render function for each item. */
59
- children: (item: T) => JSX.Element;
60
+ export interface TabListProps<T> extends Omit<AriaTabListProps, "children">, SlotProps {
61
+ /** Items to render in the tab list. */
62
+ items?: T[];
63
+ /** The children of the tab list - static tabs or a render function for each item. */
64
+ children?: JSX.Element | ((item: T) => JSX.Element);
60
65
  /** The CSS className for the element. */
61
66
  class?: ClassNameOrFunction<TabListRenderProps>;
62
67
  /** The inline style for the element. */
@@ -76,7 +81,7 @@ export interface TabRenderProps {
76
81
  /** Whether the tab is disabled. */
77
82
  isDisabled: boolean;
78
83
  }
79
- export interface TabProps extends Omit<AriaTabProps, 'key'>, SlotProps {
84
+ export interface TabProps extends Omit<AriaTabProps, "key">, SlotProps {
80
85
  /** The unique key for the tab. */
81
86
  id: Key;
82
87
  /** The children of the tab. */
@@ -93,6 +98,14 @@ export interface TabPanelRenderProps {
93
98
  isFocused: boolean;
94
99
  /** Whether the panel has visible focus ring. */
95
100
  isFocusVisible: boolean;
101
+ /** Whether the panel is non-interactive while force mounted. */
102
+ isInert: boolean;
103
+ /** Whether the panel is currently entering. */
104
+ isEntering: boolean;
105
+ /** Whether the panel is currently exiting. */
106
+ isExiting: boolean;
107
+ /** State of the tab list. */
108
+ state: TabListState<unknown> | null;
96
109
  }
97
110
  export interface TabPanelProps extends AriaTabPanelProps, SlotProps {
98
111
  /** The children of the tab panel. */
@@ -104,12 +117,31 @@ export interface TabPanelProps extends AriaTabPanelProps, SlotProps {
104
117
  /** Whether to keep the panel mounted when not selected. */
105
118
  shouldForceMount?: boolean;
106
119
  }
120
+ export interface TabPanelsProps extends SlotProps {
121
+ /** The grouped tab panels. */
122
+ children?: JSX.Element;
123
+ /** The CSS className for the element. */
124
+ class?: string;
125
+ /** The inline style for the element. */
126
+ style?: JSX.CSSProperties;
127
+ }
107
128
  interface TabsContextValue<T> {
108
129
  state: TabListState<T>;
109
- items: T[];
130
+ items: Accessor<T[]>;
131
+ setTabListItems(items: T[] | undefined): void;
132
+ registerTab(tab: RegisteredTab): void;
133
+ unregisterTab(id: Key): void;
110
134
  }
135
+ type RefLike<T> = ((el: T) => void) | {
136
+ current?: T | null;
137
+ } | undefined;
111
138
  export declare const TabsContext: import("solid-js").Context<TabsContextValue<unknown> | null>;
112
139
  export declare const TabsStateContext: import("solid-js").Context<TabListState<unknown> | null>;
140
+ interface RegisteredTab {
141
+ id: Key;
142
+ textValue?: string;
143
+ isDisabled?: boolean;
144
+ }
113
145
  /**
114
146
  * Tabs provide a way to organize content into multiple sections, with only one section visible at a time.
115
147
  */
@@ -117,7 +149,9 @@ export declare function Tabs<T>(props: TabsProps<T>): JSX.Element;
117
149
  export declare namespace Tabs {
118
150
  var List: typeof TabList;
119
151
  var Tab: typeof import("./Tabs").Tab;
152
+ var Panels: typeof TabPanels;
120
153
  var Panel: typeof TabPanel;
154
+ var SelectionIndicator: typeof import("./SelectionIndicator").SelectionIndicator;
121
155
  }
122
156
  /**
123
157
  * A TabList contains Tab elements that represent the available tabs.
@@ -127,9 +161,12 @@ export declare function TabList<T>(props: TabListProps<T>): JSX.Element;
127
161
  * A Tab represents an individual tab in a TabList.
128
162
  */
129
163
  export declare function Tab(props: TabProps): JSX.Element;
164
+ /**
165
+ * Groups multiple TabPanel elements.
166
+ */
167
+ export declare function TabPanels(props: TabPanelsProps): JSX.Element;
130
168
  /**
131
169
  * A TabPanel displays the content for a selected Tab.
132
170
  */
133
171
  export declare function TabPanel(props: TabPanelProps): JSX.Element;
134
- export {};
135
172
  //# sourceMappingURL=Tabs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../src/Tabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../src/Tabs.tsx"],"names":[],"mappings":"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"}
@@ -7,17 +7,17 @@
7
7
  * A tag group is a focusable list of labels, categories, keywords, filters, or other items,
8
8
  * with support for keyboard navigation, selection, and removal.
9
9
  */
10
- import { type JSX } from 'solid-js';
11
- import { type AriaTagGroupProps } from '@proyecto-viviana/solidaria';
12
- import { type ListState, type Key, type SelectionMode, type SelectionBehavior } from '@proyecto-viviana/solid-stately';
13
- import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from './utils';
10
+ import { type JSX } from "solid-js";
11
+ import { type AriaTagGroupProps } from "@proyecto-viviana/solidaria";
12
+ import { type ListState, type Key, type SelectionMode, type SelectionBehavior } from "@proyecto-viviana/solid-stately";
13
+ import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from "./utils";
14
14
  export interface TagGroupRenderProps {
15
15
  /** Whether the tag group is disabled. */
16
16
  isDisabled: boolean;
17
17
  /** Whether the tag list is empty. */
18
18
  isEmpty: boolean;
19
19
  }
20
- export interface TagGroupProps extends Omit<AriaTagGroupProps, 'id'>, SlotProps {
20
+ export interface TagGroupProps extends Omit<AriaTagGroupProps, "id">, SlotProps, Omit<JSX.HTMLAttributes<HTMLDivElement>, "class" | "style" | "children"> {
21
21
  /** The children of the component. */
22
22
  children?: JSX.Element;
23
23
  /** The CSS className for the element. */
@@ -31,7 +31,7 @@ export interface TagListRenderProps {
31
31
  /** Whether the tag list is focused. */
32
32
  isFocused: boolean;
33
33
  }
34
- export interface TagListProps<T> extends SlotProps {
34
+ export interface TagListProps<T> extends SlotProps, Omit<JSX.HTMLAttributes<HTMLDivElement>, "class" | "style" | "children" | "onSelectionChange"> {
35
35
  /** The items to display in the tag list. */
36
36
  items: T[];
37
37
  /** Function to render each item. */
@@ -51,7 +51,7 @@ export interface TagListProps<T> extends SlotProps {
51
51
  /** The default selected keys (uncontrolled). */
52
52
  defaultSelectedKeys?: Iterable<Key>;
53
53
  /** Handler called when selection changes. */
54
- onSelectionChange?: (keys: 'all' | Set<Key>) => void;
54
+ onSelectionChange?: (keys: "all" | Set<Key>) => void;
55
55
  /** Keys that are disabled. */
56
56
  disabledKeys?: Iterable<Key>;
57
57
  /** Function to get a unique key from an item. */
@@ -59,11 +59,11 @@ export interface TagListProps<T> extends SlotProps {
59
59
  /** Accessibility label. */
60
60
  label?: string;
61
61
  /** Custom aria-label. */
62
- 'aria-label'?: string;
62
+ "aria-label"?: string;
63
63
  /** Reference to external label element. */
64
- 'aria-labelledby'?: string;
64
+ "aria-labelledby"?: string;
65
65
  /** Reference to description element. */
66
- 'aria-describedby'?: string;
66
+ "aria-describedby"?: string;
67
67
  /** Whether the tag list is disabled. */
68
68
  isDisabled?: boolean;
69
69
  /** Handler called when tags are removed. */
@@ -82,6 +82,8 @@ export interface TagRenderProps {
82
82
  allowsRemoving: boolean;
83
83
  /** The selection mode. */
84
84
  selectionMode: SelectionMode;
85
+ /** Props for the remove button when removal is allowed. */
86
+ removeButtonProps: Record<string, unknown>;
85
87
  }
86
88
  export interface TagProps extends SlotProps {
87
89
  /** A unique key for this tag. */
@@ -96,13 +98,21 @@ export interface TagProps extends SlotProps {
96
98
  class?: ClassNameOrFunction<TagRenderProps>;
97
99
  /** The inline style for the element. */
98
100
  style?: StyleOrFunction<TagRenderProps>;
101
+ /** Handler called when the tag is activated. */
102
+ onAction?: (key: Key) => void;
99
103
  }
100
104
  interface TagGroupContextValue {
101
105
  state: ListState;
102
106
  onRemove?: (keys: Set<Key>) => void;
107
+ isDisabled?: boolean;
108
+ }
109
+ interface TagContextValue {
110
+ removeButtonProps: Record<string, unknown>;
111
+ allowsRemoving: boolean;
103
112
  }
104
113
  export declare const TagGroupContext: import("solid-js").Context<TagGroupContextValue | null>;
105
114
  export declare const TagListStateContext: import("solid-js").Context<ListState<unknown> | null>;
115
+ export declare const TagContext: import("solid-js").Context<TagContextValue | null>;
106
116
  export declare function useTagGroupContext(): TagGroupContextValue | null;
107
117
  /**
108
118
  * A tag group is a focusable list of labels, categories, keywords, filters, or other items,
@@ -136,6 +146,8 @@ export interface TagRemoveButtonProps {
136
146
  class?: string;
137
147
  /** The inline style for the element. */
138
148
  style?: JSX.CSSProperties;
149
+ /** Explicit button props from Tag render props. */
150
+ buttonProps?: Record<string, unknown>;
139
151
  }
140
152
  /**
141
153
  * TagRemoveButton is the button used to remove a tag.