@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
@@ -0,0 +1,30 @@
1
+ import { type createDateRangePicker } from "@proyecto-viviana/solidaria";
2
+ import { type DateFieldState, type DateValue, type RangeCalendarState } from "@proyecto-viviana/solid-stately";
3
+ export interface DateRangePickerFieldContextValue {
4
+ state: DateFieldState<DateValue>;
5
+ aria: {
6
+ labelProps: Record<string, unknown>;
7
+ inputProps: Record<string, unknown>;
8
+ descriptionProps: Record<string, unknown>;
9
+ errorMessageProps: Record<string, unknown>;
10
+ };
11
+ }
12
+ export interface DateRangePickerContextValue {
13
+ calendarState: RangeCalendarState<DateValue>;
14
+ startFieldState: DateFieldState<DateValue>;
15
+ endFieldState: DateFieldState<DateValue>;
16
+ startFieldContext: DateRangePickerFieldContextValue;
17
+ endFieldContext: DateRangePickerFieldContextValue;
18
+ overlayState: {
19
+ isOpen: boolean;
20
+ open: () => void;
21
+ close: () => void;
22
+ toggle: () => void;
23
+ };
24
+ triggerRef: () => HTMLElement | null;
25
+ setTriggerRef: (element: HTMLElement | null) => void;
26
+ pickerAria: ReturnType<typeof createDateRangePicker>;
27
+ }
28
+ export declare const DateRangePickerContext: import("solid-js").Context<DateRangePickerContextValue | null>;
29
+ export declare function useDateRangePickerContext(): DateRangePickerContextValue;
30
+ //# sourceMappingURL=DateRangePickerContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateRangePickerContext.d.ts","sourceRoot":"","sources":["../src/DateRangePickerContext.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC5C,CAAC;CACH;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC7C,eAAe,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3C,aAAa,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,iBAAiB,EAAE,gCAAgC,CAAC;IACpD,eAAe,EAAE,gCAAgC,CAAC;IAClD,YAAY,EAAE;QACZ,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,EAAE,MAAM,IAAI,CAAC;QACjB,KAAK,EAAE,MAAM,IAAI,CAAC;QAClB,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IACrC,aAAa,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,UAAU,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,sBAAsB,gEAA0D,CAAC;AAE9F,wBAAgB,yBAAyB,IAAI,2BAA2B,CAMvE"}
package/dist/Dialog.d.ts CHANGED
@@ -4,14 +4,14 @@
4
4
  * A headless dialog component that combines ARIA hooks.
5
5
  * Port of react-aria-components Dialog.
6
6
  */
7
- import { type JSX } from 'solid-js';
8
- import { type AriaDialogProps } from '@proyecto-viviana/solidaria';
9
- import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from './utils';
7
+ import { type JSX } from "solid-js";
8
+ import { type AriaDialogProps } from "@proyecto-viviana/solidaria";
9
+ import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from "./utils";
10
10
  export interface DialogRenderProps {
11
11
  /** Function to close the dialog */
12
12
  close: () => void;
13
13
  }
14
- export interface DialogProps extends Omit<AriaDialogProps, 'class' | 'style'>, SlotProps {
14
+ export interface DialogProps extends Omit<AriaDialogProps, "class" | "style">, SlotProps {
15
15
  /** The children of the component - can be JSX or render function. */
16
16
  children?: RenderChildren<DialogRenderProps>;
17
17
  /** The CSS className for the element. */
@@ -36,7 +36,7 @@ interface DialogContextValue {
36
36
  titleId?: string;
37
37
  }
38
38
  export declare const DialogContext: import("solid-js").Context<DialogContextValue | null>;
39
- export { DialogTriggerContext, useDialogTrigger } from './contexts';
39
+ export { DialogTriggerContext, useDialogTrigger } from "./contexts";
40
40
  /**
41
41
  * A DialogTrigger opens a dialog when a trigger element is pressed.
42
42
  * Children should include a trigger element (e.g. Button) and the dialog content.
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../src/Dialog.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,GAAG,EAQT,MAAM,UAAU,CAAA;AACjB,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAA;AAGpC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,SAAS,EAGf,MAAM,SAAS,CAAA;AAMhB,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,OAAO,CAAC,EAAE,SAAS;IACtF,qEAAqE;IACrE,QAAQ,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAA;IAC5C,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;IAC9C,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAA;IAC1C,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;IACrB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;CACzC;AAMD,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,aAAa,uDAAiD,CAAA;AAG3E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAMnE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAuCpE;AAMD;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CA4EtD;AAMD,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAA;IACrB,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CA2BxD;AAGD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../src/Dialog.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,GAAG,EAST,MAAM,UAAU,CAAC;AAClB,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,SAAS,EAGf,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,OAAO,CAAC,EAAE,SAAS;IACtF,qEAAqE;IACrE,QAAQ,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC7C,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAC/C,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAC3C,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;IACtB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,aAAa,uDAAiD,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CA+EpE;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CAyFtD;AAED,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;IACtB,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CA2DxD;AAGD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,CAAC"}
@@ -6,14 +6,21 @@
6
6
  *
7
7
  * Port of react-aria-components Disclosure.
8
8
  */
9
- import { type JSX } from 'solid-js';
10
- import { type DisclosureState, type DisclosureGroupState, type DisclosureStateProps, type DisclosureGroupStateProps } from '@proyecto-viviana/solid-stately';
11
- import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction } from './utils';
9
+ import { type JSX } from "solid-js";
10
+ import { type DisclosureState, type DisclosureGroupState, type DisclosureStateProps, type DisclosureGroupStateProps } from "@proyecto-viviana/solid-stately";
11
+ import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction } from "./utils";
12
+ type RefLike<T> = T | ((el: T) => void) | {
13
+ current?: T | null;
14
+ } | undefined;
12
15
  export interface DisclosureRenderProps {
13
16
  /** Whether the disclosure is expanded. */
14
17
  isExpanded: boolean;
18
+ /** Whether the disclosure has keyboard focus within. */
19
+ isFocusVisibleWithin: boolean;
15
20
  /** Whether the disclosure is disabled. */
16
21
  isDisabled: boolean;
22
+ /** The disclosure state. */
23
+ state: DisclosureState;
17
24
  }
18
25
  export interface DisclosureGroupRenderProps {
19
26
  /** Whether all items are disabled. */
@@ -30,6 +37,8 @@ export interface DisclosureProps extends DisclosureStateProps {
30
37
  isDisabled?: boolean;
31
38
  /** A unique identifier for the disclosure (used in groups). */
32
39
  id?: string;
40
+ /** A ref for the disclosure root element. */
41
+ ref?: RefLike<HTMLDivElement>;
33
42
  }
34
43
  export interface DisclosureGroupProps extends DisclosureGroupStateProps {
35
44
  /** The children of the component. */
@@ -38,22 +47,30 @@ export interface DisclosureGroupProps extends DisclosureGroupStateProps {
38
47
  class?: ClassNameOrFunction<DisclosureGroupRenderProps>;
39
48
  /** The inline style for the element. */
40
49
  style?: StyleOrFunction<DisclosureGroupRenderProps>;
50
+ /** A ref for the disclosure group root element. */
51
+ ref?: RefLike<HTMLDivElement>;
41
52
  }
42
- export interface DisclosureTriggerProps {
53
+ export interface DisclosureTriggerProps extends Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, "children" | "class" | "style" | "type" | "ref"> {
43
54
  /** The children of the trigger. */
44
55
  children?: JSX.Element;
45
56
  /** The CSS className for the element. */
46
57
  class?: string;
47
58
  /** The inline style for the element. */
48
59
  style?: JSX.CSSProperties;
60
+ /** A ref for the trigger button element. */
61
+ ref?: RefLike<HTMLButtonElement>;
49
62
  }
50
- export interface DisclosurePanelProps {
63
+ export interface DisclosurePanelProps extends Omit<JSX.HTMLAttributes<HTMLElement>, "children" | "class" | "style" | "role" | "ref"> {
51
64
  /** The children of the panel. */
52
65
  children?: RenderChildren<DisclosureRenderProps>;
53
66
  /** The CSS className for the element. */
54
67
  class?: ClassNameOrFunction<DisclosureRenderProps>;
55
68
  /** The inline style for the element. */
56
69
  style?: StyleOrFunction<DisclosureRenderProps>;
70
+ /** The accessibility role for the disclosure panel. */
71
+ role?: "group" | "region";
72
+ /** A ref for the panel element. */
73
+ ref?: RefLike<HTMLDivElement>;
57
74
  }
58
75
  interface DisclosureContextValue {
59
76
  state: DisclosureState;
@@ -62,14 +79,17 @@ interface DisclosureContextValue {
62
79
  disclosureAria: {
63
80
  readonly buttonProps: JSX.ButtonHTMLAttributes<HTMLButtonElement>;
64
81
  readonly panelProps: JSX.HTMLAttributes<HTMLElement>;
82
+ readonly isPressed: () => boolean;
65
83
  };
66
84
  }
67
85
  export declare const DisclosureContext: import("solid-js").Context<DisclosureContextValue | null>;
86
+ export declare const DisclosureStateContext: import("solid-js").Context<DisclosureState | null>;
68
87
  export declare function useDisclosureContext(): DisclosureContextValue | null;
69
88
  interface DisclosureGroupContextValue {
70
89
  state: DisclosureGroupState;
71
90
  }
72
91
  export declare const DisclosureGroupContext: import("solid-js").Context<DisclosureGroupContextValue | null>;
92
+ export declare const DisclosureGroupStateContext: import("solid-js").Context<DisclosureGroupState | null>;
73
93
  export declare function useDisclosureGroupContext(): DisclosureGroupContextValue | null;
74
94
  /**
75
95
  * DisclosureGroup manages a group of Disclosure components.
@@ -1 +1 @@
1
- {"version":3,"file":"Disclosure.d.ts","sourceRoot":"","sources":["../src/Disclosure.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,GAAG,EAMT,MAAM,UAAU,CAAC;AAClB,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC/B,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAIrB,MAAM,SAAS,CAAC;AAMjB,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,UAAU,EAAE,OAAO,CAAC;IACpB,0CAA0C;IAC1C,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,sCAAsC;IACtC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,qCAAqC;IACrC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;IACnD,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC/C,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAqB,SAAQ,yBAAyB;IACrE,qCAAqC;IACrC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;IACxD,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,0BAA0B,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,sBAAsB;IACrC,mCAAmC;IACnC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC;IACjD,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;IACnD,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CAChD;AAMD,UAAU,sBAAsB;IAC9B,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,yFAAyF;IACzF,cAAc,EAAE;QACd,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QAClE,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KACtD,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,2DAAqD,CAAC;AAEpF,wBAAgB,oBAAoB,IAAI,sBAAsB,GAAG,IAAI,CAEpE;AAED,UAAU,2BAA2B;IACnC,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAED,eAAO,MAAM,sBAAsB,gEAA0D,CAAC;AAE9F,wBAAgB,yBAAyB,IAAI,2BAA2B,GAAG,IAAI,CAE9E;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAmExE;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAqG9D;AASD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CA+B5E;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAmDxE;AAGD,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"Disclosure.d.ts","sourceRoot":"","sources":["../src/Disclosure.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Drag and drop composition helpers for solidaria-components.
3
+ *
4
+ * Compatibility target: react-aria-components DragAndDrop exports.
5
+ */
6
+ import { type JSX, type Accessor } from "solid-js";
7
+ import type { DragTypes, DropOperation, DropTarget, ItemDropTarget, Key } from "@proyecto-viviana/solid-stately";
8
+ import type { DragAndDropHooks } from "./useDragAndDrop";
9
+ import { type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from "./utils";
10
+ export interface DragAndDropContextValue {
11
+ dragAndDropHooks?: DragAndDropHooks<unknown>;
12
+ dragState?: unknown;
13
+ dropState?: {
14
+ target?: DropTarget | null;
15
+ isDropTarget?: (target: DropTarget) => boolean;
16
+ };
17
+ }
18
+ export declare const DragAndDropContext: import("solid-js").Context<DragAndDropContextValue>;
19
+ export interface DropIndicatorRenderProps {
20
+ isDropTarget: boolean;
21
+ }
22
+ export interface DropIndicatorProps extends SlotProps {
23
+ target: ItemDropTarget;
24
+ children?: JSX.Element | ((props: DropIndicatorRenderProps) => JSX.Element);
25
+ class?: ClassNameOrFunction<DropIndicatorRenderProps>;
26
+ style?: StyleOrFunction<DropIndicatorRenderProps>;
27
+ }
28
+ interface DropIndicatorContextValue {
29
+ render: (props: DropIndicatorProps) => JSX.Element;
30
+ }
31
+ export declare const DropIndicatorContext: import("solid-js").Context<DropIndicatorContextValue | null>;
32
+ export declare function DropIndicator(props: DropIndicatorProps): JSX.Element;
33
+ export declare function useRenderDropIndicator(hooksOrDropState?: Pick<DragAndDropHooks<unknown>, "renderDropIndicator" | "isVirtualDragging" | "useDropIndicator"> | {
34
+ target?: DropTarget | null;
35
+ isDropTarget?: ((target: DropTarget) => boolean) | boolean;
36
+ }, maybeDropState?: {
37
+ target?: DropTarget | null;
38
+ isDropTarget?: ((target: DropTarget) => boolean) | boolean;
39
+ }): ((target: ItemDropTarget) => JSX.Element | undefined) | undefined;
40
+ type KeyAccessor = Key | null | undefined | Accessor<Key | null | undefined>;
41
+ interface SelectionManagerLike {
42
+ focusedKey?: KeyAccessor;
43
+ }
44
+ interface CollectionLike {
45
+ getKeyAfter: (key: Key) => Key | null;
46
+ getItem: (key: Key) => {
47
+ level?: number;
48
+ type?: string;
49
+ } | null | undefined;
50
+ }
51
+ interface DroppableCollectionStateLike {
52
+ target?: DropTarget | null;
53
+ }
54
+ export interface VirtualRangeLike {
55
+ start: number;
56
+ end: number;
57
+ offsetTop: number;
58
+ offsetBottom: number;
59
+ }
60
+ export interface LayoutInfoProviderLike {
61
+ getLayoutInfo: (index: number) => {
62
+ rect: {
63
+ y: number;
64
+ height: number;
65
+ };
66
+ };
67
+ }
68
+ export declare function getNormalizedDropTargetKey(target: DropTarget | null | undefined, collection?: CollectionLike): Key | null;
69
+ export declare function useDndPersistedKeys(selectionManager: SelectionManagerLike | null | undefined, dragAndDropHooks?: Pick<DragAndDropHooks<unknown>, "isVirtualDragging">, dropState?: DroppableCollectionStateLike, collection?: CollectionLike): Accessor<Set<Key>>;
70
+ export declare function mergePersistedKeysIntoVirtualRange(baseRange: VirtualRangeLike, persistedIndexes: number[], itemCount: number, layoutInfoProvider: LayoutInfoProviderLike, maxExtraItems?: number, options?: {
71
+ forceIncludeIndexes?: number[];
72
+ forceIncludeMaxSpan?: number;
73
+ fallbackToForcedWindow?: boolean;
74
+ }): VirtualRangeLike;
75
+ export type DropTargetDelegate = {
76
+ getDropTargetFromPoint: (x: number, y: number, isValidDropTarget: (target: DropTarget) => boolean) => DropTarget | null;
77
+ getDropOperation: (target: DropTarget, types: DragTypes, allowedOperations: DropOperation[]) => DropOperation;
78
+ };
79
+ export {};
80
+ //# sourceMappingURL=DragAndDrop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragAndDrop.d.ts","sourceRoot":"","sources":["../src/DragAndDrop.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { type JSX } from "solid-js";
2
+ import type { DragItem, DragPreviewRenderer } from "@proyecto-viviana/solid-stately";
3
+ export interface DragPreviewProps {
4
+ ref?: {
5
+ current: DragPreviewRenderer | null;
6
+ };
7
+ children: (items: DragItem[]) => JSX.Element | {
8
+ element: JSX.Element;
9
+ x?: number;
10
+ y?: number;
11
+ } | null | undefined;
12
+ }
13
+ export declare function DragPreview(props: DragPreviewProps): JSX.Element;
14
+ //# sourceMappingURL=DragPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragPreview.d.ts","sourceRoot":"","sources":["../src/DragPreview.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAErF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9C,QAAQ,EAAE,CACR,KAAK,EAAE,QAAQ,EAAE,KACd,GAAG,CAAC,OAAO,GAAG;QAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAAG,SAAS,CAAC;CACxF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAoChE"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * DropZone primitive for solidaria-components.
3
+ *
4
+ * A drop target area for drag and drop operations.
5
+ * Parity target: react-aria-components/src/DropZone.tsx
6
+ */
7
+ import { type JSX } from "solid-js";
8
+ import { type HoverEvents, type AriaDropOptions } from "@proyecto-viviana/solidaria";
9
+ import { type ClassNameOrFunction, type StyleOrFunction, type RenderChildren, type SlotProps } from "./utils";
10
+ export interface DropZoneRenderProps {
11
+ isHovered: boolean;
12
+ isFocused: boolean;
13
+ isFocusVisible: boolean;
14
+ isDropTarget: boolean;
15
+ isDisabled: boolean;
16
+ }
17
+ export interface DropZoneProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "children" | "class" | "style" | "onDrop">, Omit<AriaDropOptions, "hasDropButton">, HoverEvents, SlotProps {
18
+ children?: RenderChildren<DropZoneRenderProps>;
19
+ class?: ClassNameOrFunction<DropZoneRenderProps>;
20
+ style?: StyleOrFunction<DropZoneRenderProps>;
21
+ }
22
+ export declare const DropZoneContext: import("solid-js").Context<DropZoneProps | null>;
23
+ /**
24
+ * A drop zone is an area into which one or multiple objects can be dropped.
25
+ */
26
+ export declare function DropZone(props: DropZoneProps): JSX.Element;
27
+ //# sourceMappingURL=DropZone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropZone.d.ts","sourceRoot":"","sources":["../src/DropZone.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,GAAG,EAOT,MAAM,UAAU,CAAC;AAClB,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aACf,SACE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,EACnF,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,EACtC,WAAW,EACX,SAAS;IACX,QAAQ,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACjD,KAAK,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC9C;AAED,eAAO,MAAM,eAAe,kDAA4C,CAAC;AAgBzE;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAgK1D"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * FieldError primitive for solidaria-components.
3
+ *
4
+ * Displays validation errors for a field from context or explicit validation prop.
5
+ * Port direction: react-aria-components/src/FieldError.tsx
6
+ */
7
+ import { type JSX } from "solid-js";
8
+ import { type ValidationResult } from "@proyecto-viviana/solid-stately";
9
+ import { type ClassNameOrFunction, type StyleOrFunction, type RenderChildren, type SlotProps } from "./utils";
10
+ export type FieldErrorRenderProps = ValidationResult;
11
+ export interface FieldErrorContextValue {
12
+ validation: ValidationResult | null;
13
+ errorMessageProps?: JSX.HTMLAttributes<HTMLElement>;
14
+ }
15
+ export interface FieldErrorProps extends Omit<JSX.HTMLAttributes<HTMLElement>, "children" | "class" | "style">, SlotProps {
16
+ /** Validation result. Falls back to context when omitted. */
17
+ validation?: ValidationResult | null;
18
+ /** The children of the component. */
19
+ children?: RenderChildren<FieldErrorRenderProps>;
20
+ /** The CSS className for the element. */
21
+ class?: ClassNameOrFunction<FieldErrorRenderProps>;
22
+ /** The inline style for the element. */
23
+ style?: StyleOrFunction<FieldErrorRenderProps>;
24
+ }
25
+ export declare const FieldErrorContext: import("solid-js").Context<ValidationResult | FieldErrorContextValue | null>;
26
+ export declare function FieldError(props: FieldErrorProps): JSX.Element | null;
27
+ //# sourceMappingURL=FieldError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldError.d.ts","sourceRoot":"","sources":["../src/FieldError.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,GAAG,EAA2D,MAAM,UAAU,CAAC;AAC7F,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnG,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,iBAAiB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,EAAE,SAAS;IACxF,6DAA6D;IAC7D,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC;IACjD,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;IACnD,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,iBAAiB,8EAE7B,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CA+CrE"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * FileTrigger primitive for solidaria-components.
3
+ *
4
+ * Opens the native file picker from any pressable child.
5
+ * Parity target: react-aria-components/src/FileTrigger.tsx
6
+ */
7
+ import { type JSX } from "solid-js";
8
+ export interface FileTriggerProps extends Omit<JSX.InputHTMLAttributes<HTMLInputElement>, "type" | "onChange" | "children" | "onSelect"> {
9
+ /** Mime types accepted by the file picker. */
10
+ acceptedFileTypes?: ReadonlyArray<string>;
11
+ /** Whether multiple files can be selected. */
12
+ allowsMultiple?: boolean;
13
+ /** Default camera capture mode for mobile devices. */
14
+ defaultCamera?: "user" | "environment";
15
+ /** Enables directory selection in supported browsers. */
16
+ acceptDirectory?: boolean;
17
+ /** Called when user selection changes. */
18
+ onSelect?: (files: FileList | null) => void;
19
+ /** Trigger content (typically a button). */
20
+ children?: JSX.Element;
21
+ }
22
+ /**
23
+ * A FileTrigger allows a user to access the file system using a custom trigger.
24
+ */
25
+ export declare function FileTrigger(props: FileTriggerProps): JSX.Element;
26
+ //# sourceMappingURL=FileTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileTrigger.d.ts","sourceRoot":"","sources":["../src/FileTrigger.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,GAAG,EAA4B,MAAM,UAAU,CAAC;AAG9D,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,GAAG,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EACzC,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAC9C;IACC,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,8CAA8C;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACvC,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAmDhE"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Focusable component for solidaria-components
3
+ *
4
+ * A render-prop component that wraps createFocusable to make an element
5
+ * focusable and capable of auto focus. Port of React Aria's Focusable.
6
+ */
7
+ import { type JSX } from "solid-js";
8
+ import { type CreateFocusableProps } from "@proyecto-viviana/solidaria";
9
+ export interface FocusableProps extends CreateFocusableProps {
10
+ /** A single child element to make focusable. */
11
+ children: JSX.Element;
12
+ /** Ref callback. */
13
+ ref?: HTMLElement | ((el: HTMLElement) => void);
14
+ }
15
+ /**
16
+ * Makes its child element focusable and capable of auto focus.
17
+ * Applies focus and keyboard event handlers from createFocusable.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * <Focusable onFocus={() => console.log('focused')}>
22
+ * <div tabIndex={0}>Focusable content</div>
23
+ * </Focusable>
24
+ * ```
25
+ */
26
+ export declare function Focusable(props: FocusableProps): JSX.Element;
27
+ //# sourceMappingURL=Focusable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Focusable.d.ts","sourceRoot":"","sources":["../src/Focusable.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,GAAG,EAKT,MAAM,UAAU,CAAC;AAClB,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEzF,MAAM,WAAW,cAAe,SAAQ,oBAAoB;IAC1D,gDAAgD;IAChD,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;IACtB,oBAAoB;IACpB,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC;CACjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAoE5D"}
package/dist/Form.d.ts ADDED
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Form primitive for solidaria-components.
3
+ *
4
+ * Provides form-level validation behavior and server validation context.
5
+ * Port direction: react-aria-components/src/Form.tsx
6
+ */
7
+ import { type JSX } from "solid-js";
8
+ import { type ValidationErrors, type ValidationBehavior } from "@proyecto-viviana/solid-stately";
9
+ import { type ClassNameOrFunction, type StyleOrFunction, type RenderChildren, type SlotProps } from "./utils";
10
+ type RefLike<T> = ((el: T) => void) | {
11
+ current?: T | null;
12
+ } | undefined;
13
+ export interface FormRenderProps {
14
+ validationBehavior: ValidationBehavior;
15
+ }
16
+ export interface FormProps extends Omit<JSX.FormHTMLAttributes<HTMLFormElement>, "children" | "class" | "style" | "ref">, SlotProps {
17
+ /** Server-side validation errors keyed by field name. */
18
+ validationErrors?: ValidationErrors;
19
+ /** Validation behavior mode. */
20
+ validationBehavior?: ValidationBehavior;
21
+ /** Character encodings accepted by the server. React-style alias for Solid's `accept-charset`. */
22
+ acceptCharset?: string;
23
+ /** Browser auto-capitalization hint. React-style alias for Solid's `autocapitalize`. */
24
+ autoCapitalize?: JSX.HTMLAttributes<HTMLFormElement>["autoCapitalize"];
25
+ /** Browser autocomplete behavior. React-style alias for Solid's `autocomplete`. */
26
+ autoComplete?: JSX.FormHTMLAttributes<HTMLFormElement>["autocomplete"];
27
+ /** Form encoding type. React-style alias for Solid's `enctype`. */
28
+ encType?: JSX.FormHTMLAttributes<HTMLFormElement>["enctype"];
29
+ /** The children of the component. */
30
+ children?: RenderChildren<FormRenderProps>;
31
+ /** The CSS className for the element. */
32
+ class?: ClassNameOrFunction<FormRenderProps>;
33
+ /** The inline style for the element. */
34
+ style?: StyleOrFunction<FormRenderProps>;
35
+ /** Ref for the underlying form element. */
36
+ ref?: RefLike<HTMLFormElement>;
37
+ }
38
+ export declare const FormContext: import("solid-js").Context<FormProps | null>;
39
+ export declare function Form(props: FormProps): JSX.Element;
40
+ export {};
41
+ //# sourceMappingURL=Form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../src/Form.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,GAAG,EAA6B,MAAM,UAAU,CAAC;AAC/D,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,SAAS,CAAC;AAEjB,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,CAAC;AAWzE,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED,MAAM,WAAW,SACf,SACE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC,EACrF,SAAS;IACX,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,kGAAkG;IAClG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,cAAc,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACvE,mFAAmF;IACnF,YAAY,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,cAAc,CAAC,CAAC;IACvE,mEAAmE;IACnE,OAAO,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7D,qCAAqC;IACrC,QAAQ,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAC3C,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAC7C,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACzC,2CAA2C;IAC3C,GAAG,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CAChC;AAED,eAAO,MAAM,WAAW,8CAAwC,CAAC;AA+BjE,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CA6ClD"}
@@ -7,10 +7,15 @@
7
7
  * GridList is similar to ListBox but supports interactive elements within items
8
8
  * and uses grid keyboard navigation.
9
9
  */
10
- import { type JSX } from 'solid-js';
11
- import { type AriaGridListProps } from '@proyecto-viviana/solidaria';
12
- import { type GridState, type GridCollection, type Key } 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 AriaGridListProps } from "@proyecto-viviana/solidaria";
12
+ import { type GridState, type GridCollection, type Key } from "@proyecto-viviana/solid-stately";
13
+ import { type RenderChildren, type ClassNameOrFunction, type StyleOrFunction, type SlotProps } from "./utils";
14
+ import { type DragAndDropHooks } from "./useDragAndDrop";
15
+ import { type SectionProps } from "./Collection";
16
+ type RefLike<T> = ((el: T) => void) | {
17
+ current?: T | null;
18
+ } | undefined;
14
19
  export interface GridListRenderProps {
15
20
  /** Whether the grid list has focus. */
16
21
  isFocused: boolean;
@@ -21,7 +26,7 @@ export interface GridListRenderProps {
21
26
  /** Whether the grid list is empty. */
22
27
  isEmpty: boolean;
23
28
  }
24
- export interface GridListProps<T extends object> extends Omit<AriaGridListProps, 'children'>, SlotProps {
29
+ export interface GridListProps<T extends object> extends Omit<AriaGridListProps, "children">, SlotProps {
25
30
  /** The items to render in the grid list. */
26
31
  items: T[];
27
32
  /** Function to get the key from an item. */
@@ -31,23 +36,35 @@ export interface GridListProps<T extends object> extends Omit<AriaGridListProps,
31
36
  /** Function to check if an item is disabled. */
32
37
  getDisabled?: (item: T) => boolean;
33
38
  /** The selection mode. */
34
- selectionMode?: 'none' | 'single' | 'multiple';
39
+ selectionMode?: "none" | "single" | "multiple";
40
+ /** How selection should behave when pressing an item. */
41
+ selectionBehavior?: "replace" | "toggle";
35
42
  /** Keys of disabled items. */
36
43
  disabledKeys?: Iterable<Key>;
37
44
  /** Currently selected keys (controlled). */
38
- selectedKeys?: 'all' | Iterable<Key>;
45
+ selectedKeys?: "all" | Iterable<Key>;
39
46
  /** Default selected keys (uncontrolled). */
40
- defaultSelectedKeys?: 'all' | Iterable<Key>;
47
+ defaultSelectedKeys?: "all" | Iterable<Key>;
41
48
  /** Handler called when selection changes. */
42
- onSelectionChange?: (keys: 'all' | Set<Key>) => void;
49
+ onSelectionChange?: (keys: "all" | Set<Key>) => void;
43
50
  /** The children of the component. A function may be provided to render each item. */
44
51
  children: (item: T) => JSX.Element;
45
52
  /** The CSS className for the element. */
46
53
  class?: ClassNameOrFunction<GridListRenderProps>;
47
54
  /** The inline style for the element. */
48
55
  style?: StyleOrFunction<GridListRenderProps>;
56
+ /** Ref for the grid list root element. */
57
+ ref?: RefLike<HTMLDivElement>;
49
58
  /** A function to render when the grid list is empty. */
50
59
  renderEmptyState?: () => JSX.Element;
60
+ /** Whether there are more items to load. */
61
+ hasMore?: boolean;
62
+ /** Whether additional items are currently loading. */
63
+ isLoading?: boolean;
64
+ /** Called when the load more sentinel becomes visible. */
65
+ onLoadMore?: () => void | Promise<void>;
66
+ /** Drag and drop hooks from `useDragAndDrop`. */
67
+ dragAndDropHooks?: DragAndDropHooks<T>;
51
68
  }
52
69
  export interface GridListItemRenderProps {
53
70
  /** Whether the item is selected. */
@@ -62,8 +79,12 @@ export interface GridListItemRenderProps {
62
79
  isHovered: boolean;
63
80
  /** Whether the item is disabled. */
64
81
  isDisabled: boolean;
82
+ /** The grid list selection mode. */
83
+ selectionMode: "none" | "single" | "multiple";
84
+ /** How selection behaves when pressing an item. */
85
+ selectionBehavior: "replace" | "toggle";
65
86
  }
66
- export interface GridListItemProps<T extends object> extends SlotProps {
87
+ export interface GridListItemProps<T extends object> extends SlotProps, Omit<JSX.HTMLAttributes<HTMLDivElement>, "class" | "style" | "children" | "id" | "ref"> {
67
88
  /** The unique key for the item. */
68
89
  id: Key;
69
90
  /** The item value. */
@@ -78,14 +99,41 @@ export interface GridListItemProps<T extends object> extends SlotProps {
78
99
  textValue?: string;
79
100
  /** Handler called when the item is activated. */
80
101
  onAction?: () => void;
102
+ /** Ref for the rendered row element. */
103
+ ref?: RefLike<HTMLDivElement>;
104
+ }
105
+ export interface GridListLoadMoreItemProps extends SlotProps {
106
+ onLoadMore: () => void | Promise<void>;
107
+ isLoading?: boolean;
108
+ /** Scroll offset multiplier for early loading trigger (default: 1 = 100% of viewport height). */
109
+ scrollOffset?: number;
110
+ children?: JSX.Element;
111
+ class?: ClassNameOrFunction<{
112
+ isLoading: boolean;
113
+ }>;
114
+ style?: StyleOrFunction<{
115
+ isLoading: boolean;
116
+ }>;
117
+ }
118
+ export interface GridListSectionProps extends SectionProps {
119
+ }
120
+ export interface GridListHeaderProps extends SlotProps {
121
+ children?: JSX.Element;
122
+ class?: string;
123
+ style?: JSX.CSSProperties;
81
124
  }
82
125
  interface GridListContextValue<T extends object> {
83
126
  state: GridState<T, GridCollection<T>>;
84
127
  collection: GridCollection<T>;
85
128
  isDisabled: boolean;
129
+ selectionBehavior: "replace" | "toggle";
130
+ dragAndDropHooks?: DragAndDropHooks<T>;
131
+ dragState?: unknown;
132
+ dropState?: unknown;
86
133
  }
87
134
  export declare const GridListContext: import("solid-js").Context<GridListContextValue<object> | null>;
88
135
  export declare const GridListStateContext: import("solid-js").Context<GridState<object, GridCollection<object>> | null>;
136
+ export declare const GridListHeaderContext: import("solid-js").Context<null>;
89
137
  /**
90
138
  * A grid list displays a list of interactive items, with support for
91
139
  * keyboard navigation, single or multiple selection, and row actions.
@@ -94,6 +142,7 @@ export declare function GridList<T extends object>(props: GridListProps<T>): JSX
94
142
  export declare namespace GridList {
95
143
  var Item: typeof GridListItem;
96
144
  var SelectionCheckbox: typeof GridListSelectionCheckbox;
145
+ var LoadMoreItem: typeof GridListLoadMoreItem;
97
146
  }
98
147
  /**
99
148
  * An item in a grid list.
@@ -104,6 +153,16 @@ export declare function GridListItem<T extends object>(props: GridListItemProps<
104
153
  */
105
154
  export declare function GridListSelectionCheckbox(props: {
106
155
  itemKey: Key;
156
+ class?: string;
157
+ style?: JSX.CSSProperties;
158
+ excludeFromTabOrder?: boolean;
159
+ "aria-label"?: string;
107
160
  }): JSX.Element;
161
+ export declare function GridListLoadMoreItem(props: GridListLoadMoreItemProps): JSX.Element;
162
+ export declare function GridListHeader(props: GridListHeaderProps): JSX.Element;
163
+ /**
164
+ * Section primitive alias for GridList composition parity.
165
+ */
166
+ export declare function GridListSection(props: GridListSectionProps): JSX.Element;
108
167
  export {};
109
168
  //# sourceMappingURL=GridList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridList.d.ts","sourceRoot":"","sources":["../src/GridList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,KAAK,GAAG,EAOT,MAAM,UAAU,CAAC;AAClB,OAAO,EAML,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,cAAc,EAEnB,KAAK,GAAG,EACT,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,SAAS,EAGf,MAAM,SAAS,CAAC;AAMjB,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,UAAU,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAAE,SAAS;IACrG,4CAA4C;IAC5C,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,4CAA4C;IAC5C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC;IAC1B,mDAAmD;IACnD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IACnC,gDAAgD;IAChD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IACnC,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC/C,8BAA8B;IAC9B,YAAY,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrC,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5C,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACrD,qFAAqF;IACrF,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IACnC,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACjD,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAC7C,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,uBAAuB;IACtC,oCAAoC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,mCAAmC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,cAAc,EAAE,OAAO,CAAC;IACxB,mCAAmC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,SAAS;IACpE,mCAAmC;IACnC,EAAE,EAAE,GAAG,CAAC;IACR,sBAAsB;IACtB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,oFAAoF;IACpF,QAAQ,CAAC,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;IACnD,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;IACrD,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;IACjD,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAMD,UAAU,oBAAoB,CAAC,CAAC,SAAS,MAAM;IAC7C,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,eAAe,iEAA2D,CAAC;AACxF,eAAO,MAAM,oBAAoB,8EAAwE,CAAC;AAuF1G;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAiJ/E;yBAjJe,QAAQ;;;;AAmJxB;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAoHvF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAc9E"}
1
+ {"version":3,"file":"GridList.d.ts","sourceRoot":"","sources":["../src/GridList.tsx"],"names":[],"mappings":"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"}