@proyecto-viviana/solidaria 0.2.8 → 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 (548) hide show
  1. package/README.md +31 -236
  2. package/dist/actiongroup/createActionGroup.d.ts +5 -5
  3. package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
  4. package/dist/actiongroup/index.d.ts +1 -1
  5. package/dist/autocomplete/createAutocomplete.d.ts +10 -10
  6. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  7. package/dist/autocomplete/index.d.ts +1 -1
  8. package/dist/autocomplete/index.d.ts.map +1 -1
  9. package/dist/breadcrumbs/createBreadcrumbs.d.ts +9 -7
  10. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  11. package/dist/breadcrumbs/index.d.ts +1 -1
  12. package/dist/button/createButton.d.ts +1 -1
  13. package/dist/button/createButton.d.ts.map +1 -1
  14. package/dist/button/createToggleButton.d.ts +3 -3
  15. package/dist/button/createToggleButtonGroup.d.ts +7 -7
  16. package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
  17. package/dist/button/index.d.ts +6 -6
  18. package/dist/button/index.d.ts.map +1 -1
  19. package/dist/button/types.d.ts +18 -12
  20. package/dist/button/types.d.ts.map +1 -1
  21. package/dist/calendar/createCalendar.d.ts +15 -5
  22. package/dist/calendar/createCalendar.d.ts.map +1 -1
  23. package/dist/calendar/createCalendarCell.d.ts +6 -2
  24. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  25. package/dist/calendar/createCalendarGrid.d.ts +4 -4
  26. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  27. package/dist/calendar/createRangeCalendar.d.ts +15 -5
  28. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  29. package/dist/calendar/createRangeCalendarCell.d.ts +4 -2
  30. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  31. package/dist/calendar/index.d.ts +5 -5
  32. package/dist/calendar/index.d.ts.map +1 -1
  33. package/dist/calendar/intl/index.d.ts +12 -0
  34. package/dist/calendar/intl/index.d.ts.map +1 -0
  35. package/dist/calendar/utils.d.ts +12 -0
  36. package/dist/calendar/utils.d.ts.map +1 -0
  37. package/dist/checkbox/createCheckbox.d.ts +6 -6
  38. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  39. package/dist/checkbox/createCheckboxGroup.d.ts +7 -7
  40. package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
  41. package/dist/checkbox/createCheckboxGroupItem.d.ts +4 -4
  42. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  43. package/dist/checkbox/createCheckboxGroupState.d.ts +2 -2
  44. package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -1
  45. package/dist/checkbox/index.d.ts +8 -8
  46. package/dist/checkbox/index.d.ts.map +1 -1
  47. package/dist/collections/index.d.ts +3 -3
  48. package/dist/collections/index.d.ts.map +1 -1
  49. package/dist/color/createColorArea.d.ts +3 -3
  50. package/dist/color/createColorArea.d.ts.map +1 -1
  51. package/dist/color/createColorField.d.ts +4 -4
  52. package/dist/color/createColorField.d.ts.map +1 -1
  53. package/dist/color/createColorSlider.d.ts +4 -4
  54. package/dist/color/createColorSlider.d.ts.map +1 -1
  55. package/dist/color/createColorSwatch.d.ts +2 -2
  56. package/dist/color/createColorSwatch.d.ts.map +1 -1
  57. package/dist/color/createColorWheel.d.ts +3 -3
  58. package/dist/color/createColorWheel.d.ts.map +1 -1
  59. package/dist/color/index.d.ts +6 -6
  60. package/dist/color/types.d.ts +98 -16
  61. package/dist/color/types.d.ts.map +1 -1
  62. package/dist/combobox/createComboBox.d.ts +10 -7
  63. package/dist/combobox/createComboBox.d.ts.map +1 -1
  64. package/dist/combobox/index.d.ts +1 -1
  65. package/dist/combobox/intl/index.d.ts +1 -1
  66. package/dist/datepicker/createDateField.d.ts +18 -6
  67. package/dist/datepicker/createDateField.d.ts.map +1 -1
  68. package/dist/datepicker/createDatePicker.d.ts +51 -5
  69. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  70. package/dist/datepicker/createDatePickerGroup.d.ts +19 -0
  71. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -0
  72. package/dist/datepicker/createDateRangePicker.d.ts +8 -6
  73. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
  74. package/dist/datepicker/createDateSegment.d.ts +10 -2
  75. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  76. package/dist/datepicker/createTimeField.d.ts +11 -5
  77. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  78. package/dist/datepicker/createTimeSegment.d.ts +2 -2
  79. package/dist/datepicker/createTimeSegment.d.ts.map +1 -1
  80. package/dist/datepicker/index.d.ts +7 -6
  81. package/dist/datepicker/index.d.ts.map +1 -1
  82. package/dist/dialog/createDialog.d.ts +5 -5
  83. package/dist/dialog/createDialog.d.ts.map +1 -1
  84. package/dist/dialog/index.d.ts +2 -2
  85. package/dist/dialog/index.d.ts.map +1 -1
  86. package/dist/dialog/types.d.ts +4 -4
  87. package/dist/disclosure/createDisclosure.d.ts +5 -2
  88. package/dist/disclosure/createDisclosure.d.ts.map +1 -1
  89. package/dist/disclosure/createDisclosureGroup.d.ts +4 -4
  90. package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
  91. package/dist/disclosure/index.d.ts +2 -2
  92. package/dist/dnd/createDrag.d.ts +2 -2
  93. package/dist/dnd/createDrag.d.ts.map +1 -1
  94. package/dist/dnd/createDraggableCollection.d.ts +2 -2
  95. package/dist/dnd/createDraggableItem.d.ts +3 -3
  96. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  97. package/dist/dnd/createDrop.d.ts +2 -2
  98. package/dist/dnd/createDrop.d.ts.map +1 -1
  99. package/dist/dnd/createDroppableCollection.d.ts +26 -6
  100. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  101. package/dist/dnd/createDroppableItem.d.ts +3 -3
  102. package/dist/dnd/index.d.ts +12 -12
  103. package/dist/dnd/index.d.ts.map +1 -1
  104. package/dist/dnd/types.d.ts +2 -2
  105. package/dist/dnd/types.d.ts.map +1 -1
  106. package/dist/dnd/utils.d.ts +1 -1
  107. package/dist/dnd/utils.d.ts.map +1 -1
  108. package/dist/focus/FocusScope.d.ts +1 -1
  109. package/dist/focus/FocusScope.d.ts.map +1 -1
  110. package/dist/focus/createAutoFocus.d.ts.map +1 -1
  111. package/dist/focus/createFocusRestore.d.ts.map +1 -1
  112. package/dist/focus/createVirtualFocus.d.ts +4 -4
  113. package/dist/focus/createVirtualFocus.d.ts.map +1 -1
  114. package/dist/focus/index.d.ts +4 -4
  115. package/dist/focus/index.d.ts.map +1 -1
  116. package/dist/form/createFormReset.d.ts +1 -1
  117. package/dist/form/createFormValidation.d.ts +3 -3
  118. package/dist/form/createFormValidation.d.ts.map +1 -1
  119. package/dist/form/index.d.ts +2 -2
  120. package/dist/form/index.d.ts.map +1 -1
  121. package/dist/grid/GridKeyboardDelegate.d.ts +5 -5
  122. package/dist/grid/createGrid.d.ts +3 -3
  123. package/dist/grid/createGridCell.d.ts +3 -3
  124. package/dist/grid/createGridRow.d.ts +3 -3
  125. package/dist/grid/index.d.ts +5 -5
  126. package/dist/grid/types.d.ts +8 -8
  127. package/dist/gridlist/createGridList.d.ts +6 -4
  128. package/dist/gridlist/createGridList.d.ts.map +1 -1
  129. package/dist/gridlist/createGridListItem.d.ts +4 -4
  130. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  131. package/dist/gridlist/createGridListSelectionCheckbox.d.ts +3 -3
  132. package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
  133. package/dist/gridlist/index.d.ts +4 -4
  134. package/dist/gridlist/types.d.ts +11 -7
  135. package/dist/gridlist/types.d.ts.map +1 -1
  136. package/dist/i18n/createCollator.d.ts.map +1 -1
  137. package/dist/i18n/createDateFormatter.d.ts.map +1 -1
  138. package/dist/i18n/createFilter.d.ts.map +1 -1
  139. package/dist/i18n/createNumberFormatter.d.ts +1 -1
  140. package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
  141. package/dist/i18n/createStringFormatter.d.ts +2 -2
  142. package/dist/i18n/createStringFormatter.d.ts.map +1 -1
  143. package/dist/i18n/index.d.ts +8 -8
  144. package/dist/i18n/index.d.ts.map +1 -1
  145. package/dist/i18n/locale.d.ts +2 -2
  146. package/dist/i18n/locale.d.ts.map +1 -1
  147. package/dist/i18n/utils.d.ts.map +1 -1
  148. package/dist/index.d.ts +52 -51
  149. package/dist/index.d.ts.map +1 -1
  150. package/dist/index.js +18012 -16820
  151. package/dist/index.js.map +1 -1
  152. package/dist/index.jsx +18242 -0
  153. package/dist/index.jsx.map +1 -0
  154. package/dist/interactions/FocusableProvider.d.ts +2 -2
  155. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  156. package/dist/interactions/PressEvent.d.ts +2 -2
  157. package/dist/interactions/createFocus.d.ts +1 -1
  158. package/dist/interactions/createFocus.d.ts.map +1 -1
  159. package/dist/interactions/createFocusRing.d.ts +1 -1
  160. package/dist/interactions/createFocusRing.d.ts.map +1 -1
  161. package/dist/interactions/createFocusWithin.d.ts +1 -1
  162. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  163. package/dist/interactions/createFocusable.d.ts +3 -3
  164. package/dist/interactions/createFocusable.d.ts.map +1 -1
  165. package/dist/interactions/createHover.d.ts +5 -5
  166. package/dist/interactions/createHover.d.ts.map +1 -1
  167. package/dist/interactions/createInteractionModality.d.ts +3 -3
  168. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  169. package/dist/interactions/createKeyboard.d.ts +1 -1
  170. package/dist/interactions/createLongPress.d.ts +5 -5
  171. package/dist/interactions/createMove.d.ts +5 -5
  172. package/dist/interactions/createMove.d.ts.map +1 -1
  173. package/dist/interactions/createPress.d.ts +4 -4
  174. package/dist/interactions/createPress.d.ts.map +1 -1
  175. package/dist/interactions/index.d.ts +12 -12
  176. package/dist/interactions/index.d.ts.map +1 -1
  177. package/dist/label/createField.d.ts +4 -4
  178. package/dist/label/createField.d.ts.map +1 -1
  179. package/dist/label/createLabel.d.ts +7 -7
  180. package/dist/label/createLabel.d.ts.map +1 -1
  181. package/dist/label/createLabels.d.ts +1 -1
  182. package/dist/label/createLabels.d.ts.map +1 -1
  183. package/dist/label/index.d.ts +5 -5
  184. package/dist/landmark/createLandmark.d.ts +5 -5
  185. package/dist/landmark/createLandmark.d.ts.map +1 -1
  186. package/dist/landmark/index.d.ts +1 -1
  187. package/dist/link/createLink.d.ts +14 -8
  188. package/dist/link/createLink.d.ts.map +1 -1
  189. package/dist/link/index.d.ts +1 -1
  190. package/dist/listbox/createListBox.d.ts +11 -6
  191. package/dist/listbox/createListBox.d.ts.map +1 -1
  192. package/dist/listbox/createOption.d.ts +21 -4
  193. package/dist/listbox/createOption.d.ts.map +1 -1
  194. package/dist/listbox/index.d.ts +2 -2
  195. package/dist/listbox/index.d.ts.map +1 -1
  196. package/dist/live-announcer/announce.d.ts +2 -2
  197. package/dist/live-announcer/announce.d.ts.map +1 -1
  198. package/dist/live-announcer/index.d.ts +1 -1
  199. package/dist/menu/createMenu.d.ts +7 -7
  200. package/dist/menu/createMenu.d.ts.map +1 -1
  201. package/dist/menu/createMenuItem.d.ts +16 -4
  202. package/dist/menu/createMenuItem.d.ts.map +1 -1
  203. package/dist/menu/createMenuTrigger.d.ts +4 -4
  204. package/dist/menu/index.d.ts +3 -3
  205. package/dist/menu/index.d.ts.map +1 -1
  206. package/dist/meter/createMeter.d.ts +6 -6
  207. package/dist/meter/createMeter.d.ts.map +1 -1
  208. package/dist/meter/index.d.ts +1 -1
  209. package/dist/numberfield/createNumberField.d.ts +9 -8
  210. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  211. package/dist/numberfield/index.d.ts +1 -1
  212. package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
  213. package/dist/overlays/createModal.d.ts +3 -3
  214. package/dist/overlays/createModal.d.ts.map +1 -1
  215. package/dist/overlays/createOverlay.d.ts +1 -1
  216. package/dist/overlays/createOverlay.d.ts.map +1 -1
  217. package/dist/overlays/createOverlayTrigger.d.ts +6 -6
  218. package/dist/overlays/index.d.ts +6 -6
  219. package/dist/overlays/index.d.ts.map +1 -1
  220. package/dist/popover/calculatePosition.d.ts +4 -4
  221. package/dist/popover/calculatePosition.d.ts.map +1 -1
  222. package/dist/popover/createOverlayPosition.d.ts +3 -3
  223. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  224. package/dist/popover/createPopover.d.ts +4 -4
  225. package/dist/popover/createPopover.d.ts.map +1 -1
  226. package/dist/popover/index.d.ts +3 -3
  227. package/dist/progress/createProgressBar.d.ts +7 -5
  228. package/dist/progress/createProgressBar.d.ts.map +1 -1
  229. package/dist/progress/index.d.ts +1 -1
  230. package/dist/radio/createRadio.d.ts +7 -7
  231. package/dist/radio/createRadio.d.ts.map +1 -1
  232. package/dist/radio/createRadioGroup.d.ts +10 -10
  233. package/dist/radio/createRadioGroup.d.ts.map +1 -1
  234. package/dist/radio/createRadioGroupState.d.ts +3 -3
  235. package/dist/radio/createRadioGroupState.d.ts.map +1 -1
  236. package/dist/radio/index.d.ts +3 -3
  237. package/dist/radio/index.d.ts.map +1 -1
  238. package/dist/searchfield/createSearchField.d.ts +7 -7
  239. package/dist/searchfield/createSearchField.d.ts.map +1 -1
  240. package/dist/searchfield/index.d.ts +2 -2
  241. package/dist/select/createHiddenSelect.d.ts +4 -4
  242. package/dist/select/createHiddenSelect.d.ts.map +1 -1
  243. package/dist/select/createSelect.d.ts +14 -6
  244. package/dist/select/createSelect.d.ts.map +1 -1
  245. package/dist/select/index.d.ts +2 -2
  246. package/dist/select/index.d.ts.map +1 -1
  247. package/dist/selection/createTypeSelect.d.ts +2 -2
  248. package/dist/selection/index.d.ts +1 -1
  249. package/dist/separator/createSeparator.d.ts +9 -5
  250. package/dist/separator/createSeparator.d.ts.map +1 -1
  251. package/dist/separator/index.d.ts +1 -1
  252. package/dist/slider/createSlider.d.ts +11 -7
  253. package/dist/slider/createSlider.d.ts.map +1 -1
  254. package/dist/slider/index.d.ts +2 -2
  255. package/dist/ssr/index.d.ts +1 -1
  256. package/dist/ssr/index.d.ts.map +1 -1
  257. package/dist/steplist/createStepList.d.ts +36 -0
  258. package/dist/steplist/createStepList.d.ts.map +1 -0
  259. package/dist/steplist/index.d.ts +2 -0
  260. package/dist/steplist/index.d.ts.map +1 -0
  261. package/dist/switch/createSwitch.d.ts +6 -4
  262. package/dist/switch/createSwitch.d.ts.map +1 -1
  263. package/dist/switch/index.d.ts +1 -1
  264. package/dist/table/createTable.d.ts +3 -3
  265. package/dist/table/createTable.d.ts.map +1 -1
  266. package/dist/table/createTableCell.d.ts +3 -3
  267. package/dist/table/createTableCell.d.ts.map +1 -1
  268. package/dist/table/createTableColumnHeader.d.ts +3 -3
  269. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  270. package/dist/table/createTableColumnResize.d.ts +41 -0
  271. package/dist/table/createTableColumnResize.d.ts.map +1 -0
  272. package/dist/table/createTableHeaderRow.d.ts +3 -3
  273. package/dist/table/createTableRow.d.ts +3 -3
  274. package/dist/table/createTableRow.d.ts.map +1 -1
  275. package/dist/table/createTableRowGroup.d.ts +2 -2
  276. package/dist/table/createTableRowGroup.d.ts.map +1 -1
  277. package/dist/table/createTableSelectAllCheckbox.d.ts +3 -3
  278. package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
  279. package/dist/table/createTableSelectionCheckbox.d.ts +3 -3
  280. package/dist/table/index.d.ts +11 -9
  281. package/dist/table/index.d.ts.map +1 -1
  282. package/dist/table/types.d.ts +15 -7
  283. package/dist/table/types.d.ts.map +1 -1
  284. package/dist/tabs/createTabs.d.ts +28 -25
  285. package/dist/tabs/createTabs.d.ts.map +1 -1
  286. package/dist/tabs/index.d.ts +1 -1
  287. package/dist/tag/createTag.d.ts +2 -2
  288. package/dist/tag/createTag.d.ts.map +1 -1
  289. package/dist/tag/createTagGroup.d.ts +5 -5
  290. package/dist/tag/createTagGroup.d.ts.map +1 -1
  291. package/dist/tag/index.d.ts +2 -2
  292. package/dist/tag/index.d.ts.map +1 -1
  293. package/dist/textfield/createTextField.d.ts +17 -11
  294. package/dist/textfield/createTextField.d.ts.map +1 -1
  295. package/dist/textfield/index.d.ts +1 -1
  296. package/dist/textfield/index.d.ts.map +1 -1
  297. package/dist/toast/createToast.d.ts +2 -2
  298. package/dist/toast/createToast.d.ts.map +1 -1
  299. package/dist/toast/createToastRegion.d.ts +5 -3
  300. package/dist/toast/createToastRegion.d.ts.map +1 -1
  301. package/dist/toast/index.d.ts +2 -2
  302. package/dist/toast/index.d.ts.map +1 -1
  303. package/dist/toggle/createToggle.d.ts +9 -9
  304. package/dist/toggle/createToggle.d.ts.map +1 -1
  305. package/dist/toggle/createToggleState.d.ts +2 -2
  306. package/dist/toggle/createToggleState.d.ts.map +1 -1
  307. package/dist/toggle/index.d.ts +4 -4
  308. package/dist/toggle/index.d.ts.map +1 -1
  309. package/dist/toolbar/createToolbar.d.ts +9 -9
  310. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  311. package/dist/toolbar/index.d.ts +1 -1
  312. package/dist/toolbar/index.d.ts.map +1 -1
  313. package/dist/tooltip/createTooltip.d.ts +5 -5
  314. package/dist/tooltip/createTooltip.d.ts.map +1 -1
  315. package/dist/tooltip/createTooltipTrigger.d.ts +10 -5
  316. package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
  317. package/dist/tooltip/index.d.ts +2 -2
  318. package/dist/tree/createTree.d.ts +3 -3
  319. package/dist/tree/createTree.d.ts.map +1 -1
  320. package/dist/tree/createTreeItem.d.ts +4 -4
  321. package/dist/tree/createTreeItem.d.ts.map +1 -1
  322. package/dist/tree/createTreeSelectionCheckbox.d.ts +3 -3
  323. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  324. package/dist/tree/index.d.ts +4 -4
  325. package/dist/tree/types.d.ts +10 -6
  326. package/dist/tree/types.d.ts.map +1 -1
  327. package/dist/utils/createDescription.d.ts +2 -2
  328. package/dist/utils/createDescription.d.ts.map +1 -1
  329. package/dist/utils/dom.d.ts.map +1 -1
  330. package/dist/utils/env.d.ts.map +1 -1
  331. package/dist/utils/focus.d.ts +1 -1
  332. package/dist/utils/focus.d.ts.map +1 -1
  333. package/dist/utils/geometry.d.ts.map +1 -1
  334. package/dist/utils/index.d.ts +12 -12
  335. package/dist/utils/index.d.ts.map +1 -1
  336. package/dist/utils/mergeProps.d.ts.map +1 -1
  337. package/dist/utils/reactivity.d.ts +1 -1
  338. package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -2
  339. package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
  340. package/dist/visually-hidden/index.d.ts +1 -1
  341. package/package.json +32 -32
  342. package/src/actiongroup/createActionGroup.ts +101 -91
  343. package/src/actiongroup/index.ts +1 -1
  344. package/src/autocomplete/createAutocomplete.ts +117 -134
  345. package/src/autocomplete/index.ts +1 -1
  346. package/src/breadcrumbs/createBreadcrumbs.ts +33 -42
  347. package/src/breadcrumbs/index.ts +1 -1
  348. package/src/button/createButton.ts +102 -73
  349. package/src/button/createToggleButton.ts +10 -10
  350. package/src/button/createToggleButtonGroup.ts +25 -32
  351. package/src/button/index.ts +6 -9
  352. package/src/button/types.ts +18 -12
  353. package/src/calendar/createCalendar.ts +62 -29
  354. package/src/calendar/createCalendarCell.ts +98 -46
  355. package/src/calendar/createCalendarGrid.ts +57 -35
  356. package/src/calendar/createRangeCalendar.ts +66 -31
  357. package/src/calendar/createRangeCalendarCell.ts +92 -31
  358. package/src/calendar/index.ts +5 -9
  359. package/src/calendar/intl/index.ts +210 -0
  360. package/src/calendar/utils.ts +227 -0
  361. package/src/checkbox/createCheckbox.ts +13 -21
  362. package/src/checkbox/createCheckboxGroup.ts +68 -44
  363. package/src/checkbox/createCheckboxGroupItem.ts +16 -27
  364. package/src/checkbox/createCheckboxGroupState.ts +3 -22
  365. package/src/checkbox/index.ts +8 -10
  366. package/src/collections/index.ts +33 -29
  367. package/src/color/createColorArea.ts +232 -154
  368. package/src/color/createColorField.ts +107 -58
  369. package/src/color/createColorSlider.ts +231 -73
  370. package/src/color/createColorSwatch.ts +38 -13
  371. package/src/color/createColorWheel.ts +208 -83
  372. package/src/color/index.ts +6 -6
  373. package/src/color/types.ts +98 -16
  374. package/src/combobox/createComboBox.ts +157 -100
  375. package/src/combobox/index.ts +1 -1
  376. package/src/combobox/intl/index.ts +5 -5
  377. package/src/datepicker/createDateField.ts +192 -39
  378. package/src/datepicker/createDatePicker.ts +260 -67
  379. package/src/datepicker/createDatePickerGroup.ts +149 -0
  380. package/src/datepicker/createDateRangePicker.ts +105 -57
  381. package/src/datepicker/createDateSegment.ts +183 -96
  382. package/src/datepicker/createTimeField.ts +38 -34
  383. package/src/datepicker/createTimeSegment.ts +67 -85
  384. package/src/datepicker/index.ts +13 -14
  385. package/src/dialog/createDialog.ts +45 -38
  386. package/src/dialog/index.ts +2 -2
  387. package/src/dialog/types.ts +4 -4
  388. package/src/disclosure/createDisclosure.ts +138 -33
  389. package/src/disclosure/createDisclosureGroup.ts +8 -21
  390. package/src/disclosure/index.ts +2 -2
  391. package/src/dnd/createDrag.ts +19 -25
  392. package/src/dnd/createDraggableCollection.ts +4 -4
  393. package/src/dnd/createDraggableItem.ts +20 -19
  394. package/src/dnd/createDrop.ts +42 -51
  395. package/src/dnd/createDroppableCollection.ts +290 -173
  396. package/src/dnd/createDroppableItem.ts +34 -34
  397. package/src/dnd/index.ts +23 -12
  398. package/src/dnd/types.ts +4 -7
  399. package/src/dnd/utils.ts +36 -49
  400. package/src/focus/FocusScope.tsx +155 -164
  401. package/src/focus/createAutoFocus.ts +4 -20
  402. package/src/focus/createFocusRestore.ts +15 -28
  403. package/src/focus/createVirtualFocus.ts +20 -36
  404. package/src/focus/index.ts +4 -8
  405. package/src/form/createFormReset.ts +4 -4
  406. package/src/form/createFormValidation.ts +20 -43
  407. package/src/form/index.ts +2 -5
  408. package/src/grid/GridKeyboardDelegate.ts +30 -30
  409. package/src/grid/createGrid.ts +36 -36
  410. package/src/grid/createGridCell.ts +18 -18
  411. package/src/grid/createGridRow.ts +14 -14
  412. package/src/grid/index.ts +5 -5
  413. package/src/grid/types.ts +8 -8
  414. package/src/gridlist/createGridList.ts +34 -29
  415. package/src/gridlist/createGridListItem.ts +68 -23
  416. package/src/gridlist/createGridListSelectionCheckbox.ts +12 -9
  417. package/src/gridlist/index.ts +4 -4
  418. package/src/gridlist/types.ts +11 -7
  419. package/src/i18n/createCollator.ts +5 -18
  420. package/src/i18n/createDateFormatter.ts +5 -13
  421. package/src/i18n/createFilter.ts +11 -24
  422. package/src/i18n/createNumberFormatter.ts +4 -6
  423. package/src/i18n/createStringFormatter.ts +19 -15
  424. package/src/i18n/index.ts +8 -11
  425. package/src/i18n/locale.tsx +15 -40
  426. package/src/i18n/utils.ts +35 -39
  427. package/src/index.ts +68 -169
  428. package/src/interactions/FocusableProvider.tsx +3 -7
  429. package/src/interactions/PressEvent.ts +4 -4
  430. package/src/interactions/createFocus.ts +12 -8
  431. package/src/interactions/createFocusRing.ts +21 -19
  432. package/src/interactions/createFocusWithin.ts +20 -13
  433. package/src/interactions/createFocusable.ts +15 -16
  434. package/src/interactions/createHover.ts +70 -55
  435. package/src/interactions/createInteractionModality.ts +75 -82
  436. package/src/interactions/createKeyboard.ts +2 -2
  437. package/src/interactions/createLongPress.ts +23 -23
  438. package/src/interactions/createMove.ts +72 -62
  439. package/src/interactions/createPress.ts +164 -87
  440. package/src/interactions/index.ts +24 -16
  441. package/src/label/createField.ts +18 -19
  442. package/src/label/createLabel.ts +18 -30
  443. package/src/label/createLabels.ts +8 -12
  444. package/src/label/index.ts +5 -5
  445. package/src/landmark/createLandmark.ts +30 -51
  446. package/src/landmark/index.ts +1 -1
  447. package/src/link/createLink.ts +83 -56
  448. package/src/link/index.ts +1 -1
  449. package/src/listbox/createListBox.ts +69 -58
  450. package/src/listbox/createOption.ts +83 -37
  451. package/src/listbox/index.ts +2 -6
  452. package/src/live-announcer/announce.ts +44 -71
  453. package/src/live-announcer/index.ts +1 -1
  454. package/src/menu/createMenu.ts +79 -50
  455. package/src/menu/createMenuItem.ts +79 -27
  456. package/src/menu/createMenuTrigger.ts +15 -15
  457. package/src/menu/index.ts +3 -12
  458. package/src/meter/createMeter.ts +7 -15
  459. package/src/meter/index.ts +1 -1
  460. package/src/numberfield/createNumberField.ts +138 -81
  461. package/src/numberfield/index.ts +1 -1
  462. package/src/overlays/ariaHideOutside.ts +14 -10
  463. package/src/overlays/createInteractOutside.ts +21 -18
  464. package/src/overlays/createModal.tsx +17 -17
  465. package/src/overlays/createOverlay.ts +38 -8
  466. package/src/overlays/createOverlayTrigger.ts +16 -16
  467. package/src/overlays/createPreventScroll.ts +46 -24
  468. package/src/overlays/index.ts +6 -17
  469. package/src/popover/calculatePosition.ts +115 -117
  470. package/src/popover/createOverlayPosition.ts +46 -40
  471. package/src/popover/createPopover.ts +42 -17
  472. package/src/popover/index.ts +3 -3
  473. package/src/progress/createProgressBar.ts +31 -32
  474. package/src/progress/index.ts +1 -1
  475. package/src/radio/createRadio.ts +95 -73
  476. package/src/radio/createRadioGroup.ts +83 -77
  477. package/src/radio/createRadioGroupState.ts +7 -31
  478. package/src/radio/index.ts +3 -8
  479. package/src/searchfield/createSearchField.ts +57 -29
  480. package/src/searchfield/index.ts +2 -2
  481. package/src/select/createHiddenSelect.tsx +57 -44
  482. package/src/select/createSelect.ts +128 -71
  483. package/src/select/index.ts +2 -7
  484. package/src/selection/createTypeSelect.ts +11 -11
  485. package/src/selection/index.ts +1 -1
  486. package/src/separator/createSeparator.ts +20 -25
  487. package/src/separator/index.ts +1 -1
  488. package/src/slider/createSlider.ts +93 -124
  489. package/src/slider/index.ts +2 -2
  490. package/src/ssr/index.tsx +8 -47
  491. package/src/steplist/createStepList.ts +106 -0
  492. package/src/steplist/index.ts +8 -0
  493. package/src/switch/createSwitch.ts +9 -14
  494. package/src/switch/index.ts +1 -1
  495. package/src/table/createTable.ts +152 -85
  496. package/src/table/createTableCell.ts +17 -16
  497. package/src/table/createTableColumnHeader.ts +67 -20
  498. package/src/table/createTableColumnResize.ts +256 -0
  499. package/src/table/createTableHeaderRow.ts +7 -7
  500. package/src/table/createTableRow.ts +149 -29
  501. package/src/table/createTableRowGroup.ts +5 -7
  502. package/src/table/createTableSelectAllCheckbox.ts +12 -11
  503. package/src/table/createTableSelectionCheckbox.ts +8 -8
  504. package/src/table/index.ts +14 -9
  505. package/src/table/types.ts +15 -7
  506. package/src/tabs/createTabs.ts +74 -92
  507. package/src/tabs/index.ts +1 -1
  508. package/src/tag/createTag.ts +52 -50
  509. package/src/tag/createTagGroup.ts +47 -41
  510. package/src/tag/index.ts +2 -6
  511. package/src/textfield/createTextField.ts +67 -35
  512. package/src/textfield/index.ts +1 -5
  513. package/src/toast/createToast.ts +28 -26
  514. package/src/toast/createToastRegion.ts +169 -26
  515. package/src/toast/index.ts +2 -6
  516. package/src/toggle/createToggle.ts +95 -53
  517. package/src/toggle/createToggleState.ts +2 -10
  518. package/src/toggle/index.ts +4 -5
  519. package/src/toolbar/createToolbar.ts +193 -210
  520. package/src/toolbar/index.ts +1 -1
  521. package/src/tooltip/createTooltip.ts +11 -24
  522. package/src/tooltip/createTooltipTrigger.ts +61 -49
  523. package/src/tooltip/index.ts +2 -2
  524. package/src/tree/createTree.ts +35 -37
  525. package/src/tree/createTreeItem.ts +29 -29
  526. package/src/tree/createTreeSelectionCheckbox.ts +11 -8
  527. package/src/tree/index.ts +4 -4
  528. package/src/tree/types.ts +10 -6
  529. package/src/utils/createDescription.ts +6 -23
  530. package/src/utils/dom.ts +61 -54
  531. package/src/utils/env.ts +9 -11
  532. package/src/utils/events.ts +7 -7
  533. package/src/utils/filterDOMProps.ts +49 -49
  534. package/src/utils/focus.ts +60 -68
  535. package/src/utils/geometry.ts +1 -4
  536. package/src/utils/globalListeners.ts +9 -9
  537. package/src/utils/index.ts +12 -22
  538. package/src/utils/mergeProps.ts +42 -15
  539. package/src/utils/platform.ts +2 -2
  540. package/src/utils/reactivity.ts +3 -3
  541. package/src/utils/textSelection.ts +16 -16
  542. package/src/visually-hidden/createVisuallyHidden.ts +16 -28
  543. package/src/visually-hidden/index.ts +1 -1
  544. package/dist/i18n/NumberFormatter.d.ts +0 -43
  545. package/dist/i18n/NumberFormatter.d.ts.map +0 -1
  546. package/dist/index.ssr.js +0 -17082
  547. package/dist/index.ssr.js.map +0 -1
  548. package/src/i18n/NumberFormatter.ts +0 -266
@@ -5,14 +5,10 @@
5
5
  * and safe restoration patterns.
6
6
  */
7
7
 
8
- import { createEffect, onCleanup, onMount } from 'solid-js';
9
- import { isServer } from 'solid-js/web';
10
- import { getOwnerDocument } from '../utils';
11
- import { focusSafely } from '../utils/focus';
12
-
13
- // ============================================
14
- // TYPES
15
- // ============================================
8
+ import { createEffect, onCleanup, onMount } from "solid-js";
9
+ import { isServer } from "solid-js/web";
10
+ import { getOwnerDocument } from "../utils";
11
+ import { focusSafely } from "../utils/focus";
16
12
 
17
13
  export interface FocusRestoreOptions {
18
14
  /**
@@ -64,10 +60,6 @@ export interface FocusRestoreResult {
64
60
  clear: () => void;
65
61
  }
66
62
 
67
- // ============================================
68
- // GLOBAL FOCUS STACK
69
- // ============================================
70
-
71
63
  // Stack to track focus history across scopes
72
64
  const focusStack: HTMLElement[] = [];
73
65
 
@@ -99,10 +91,6 @@ export function clearFocusStack(): void {
99
91
  focusStack.length = 0;
100
92
  }
101
93
 
102
- // ============================================
103
- // UTILITIES
104
- // ============================================
105
-
106
94
  /**
107
95
  * Gets the active element, accounting for shadow DOM.
108
96
  */
@@ -120,9 +108,9 @@ function getActiveElement(doc: Document): HTMLElement | null {
120
108
  function isValidForRestore(element: HTMLElement | null): boolean {
121
109
  if (!element) return false;
122
110
  if (!document.body.contains(element)) return false;
123
- if (element.hasAttribute('disabled')) return false;
124
- if (element.getAttribute('aria-disabled') === 'true') return false;
125
- if (element.getAttribute('aria-hidden') === 'true') return false;
111
+ if (element.hasAttribute("disabled")) return false;
112
+ if (element.getAttribute("aria-disabled") === "true") return false;
113
+ if (element.getAttribute("aria-hidden") === "true") return false;
126
114
  return true;
127
115
  }
128
116
 
@@ -131,7 +119,12 @@ function isValidForRestore(element: HTMLElement | null): boolean {
131
119
  */
132
120
  function tryRestoreFocus(
133
121
  element: HTMLElement | null,
134
- options: Required<Pick<FocusRestoreOptions, 'maxRetries' | 'retryDelay' | 'preventScroll' | 'onRestore' | 'onRestoreFailed'>>
122
+ options: Required<
123
+ Pick<
124
+ FocusRestoreOptions,
125
+ "maxRetries" | "retryDelay" | "preventScroll" | "onRestore" | "onRestoreFailed"
126
+ >
127
+ >,
135
128
  ): void {
136
129
  const { maxRetries, retryDelay, preventScroll, onRestore, onRestoreFailed } = options;
137
130
  let attempts = 0;
@@ -164,10 +157,6 @@ function tryRestoreFocus(
164
157
  requestAnimationFrame(attempt);
165
158
  }
166
159
 
167
- // ============================================
168
- // HOOK
169
- // ============================================
170
-
171
160
  /**
172
161
  * Creates a focus restoration manager.
173
162
  *
@@ -212,9 +201,7 @@ function tryRestoreFocus(
212
201
  * }
213
202
  * ```
214
203
  */
215
- export function createFocusRestore(
216
- options: FocusRestoreOptions = {}
217
- ): FocusRestoreResult {
204
+ export function createFocusRestore(options: FocusRestoreOptions = {}): FocusRestoreResult {
218
205
  const {
219
206
  restoreOnUnmount = true,
220
207
  maxRetries = 3,
@@ -255,7 +242,7 @@ export function createFocusRestore(
255
242
  });
256
243
 
257
244
  function saveCurrentFocus(): void {
258
- const doc = typeof document !== 'undefined' ? document : null;
245
+ const doc = typeof document !== "undefined" ? document : null;
259
246
  if (!doc) return;
260
247
 
261
248
  const active = getActiveElement(doc);
@@ -12,12 +12,8 @@
12
12
  * - Grid/table navigation
13
13
  */
14
14
 
15
- import { type Accessor, createSignal, createEffect, onCleanup } from 'solid-js';
16
- import { isServer } from 'solid-js/web';
17
-
18
- // ============================================
19
- // TYPES
20
- // ============================================
15
+ import { type Accessor, createSignal, createEffect, onCleanup } from "solid-js";
16
+ import { isServer } from "solid-js/web";
21
17
 
22
18
  export interface VirtualFocusOptions<T> {
23
19
  /**
@@ -58,7 +54,7 @@ export interface VirtualFocusOptions<T> {
58
54
  * Orientation for keyboard navigation.
59
55
  * @default 'vertical'
60
56
  */
61
- orientation?: 'horizontal' | 'vertical' | 'both';
57
+ orientation?: "horizontal" | "vertical" | "both";
62
58
  }
63
59
 
64
60
  export interface VirtualFocusResult<T> {
@@ -106,7 +102,7 @@ export interface VirtualFocusResult<T> {
106
102
  * Props to spread on the container element.
107
103
  */
108
104
  containerProps: {
109
- 'aria-activedescendant': Accessor<string | undefined>;
105
+ "aria-activedescendant": Accessor<string | undefined>;
110
106
  onKeyDown: (e: KeyboardEvent) => void;
111
107
  };
112
108
  /**
@@ -114,20 +110,12 @@ export interface VirtualFocusResult<T> {
114
110
  */
115
111
  getItemProps: (key: string) => {
116
112
  id: string;
117
- 'aria-selected'?: boolean;
113
+ "aria-selected"?: boolean;
118
114
  };
119
115
  }
120
116
 
121
- // ============================================
122
- // CONSTANTS
123
- // ============================================
124
-
125
117
  const DEFAULT_PAGE_SIZE = 10;
126
118
 
127
- // ============================================
128
- // HOOK
129
- // ============================================
130
-
131
119
  /**
132
120
  * Creates virtual focus management for a collection.
133
121
  *
@@ -185,9 +173,7 @@ const DEFAULT_PAGE_SIZE = 10;
185
173
  * }
186
174
  * ```
187
175
  */
188
- export function createVirtualFocus<T>(
189
- options: VirtualFocusOptions<T>
190
- ): VirtualFocusResult<T> {
176
+ export function createVirtualFocus<T>(options: VirtualFocusOptions<T>): VirtualFocusResult<T> {
191
177
  const {
192
178
  items,
193
179
  getKey,
@@ -197,7 +183,7 @@ export function createVirtualFocus<T>(
197
183
  onFocusChange,
198
184
  wrap = true,
199
185
  skipDisabled = true,
200
- orientation = 'vertical',
186
+ orientation = "vertical",
201
187
  } = options;
202
188
 
203
189
  // During SSR, return minimal implementation
@@ -215,7 +201,7 @@ export function createVirtualFocus<T>(
215
201
  focusPageUp: () => {},
216
202
  isFocused: () => false,
217
203
  containerProps: {
218
- 'aria-activedescendant': () => undefined,
204
+ "aria-activedescendant": () => undefined,
219
205
  onKeyDown: () => {},
220
206
  },
221
207
  getItemProps: (key: string) => ({ id: `item-${key}` }),
@@ -223,9 +209,7 @@ export function createVirtualFocus<T>(
223
209
  }
224
210
 
225
211
  // Internal state for uncontrolled mode
226
- const [internalKey, setInternalKey] = createSignal<string | null>(
227
- defaultFocusedKey ?? null
228
- );
212
+ const [internalKey, setInternalKey] = createSignal<string | null>(defaultFocusedKey ?? null);
229
213
 
230
214
  // Use controlled or uncontrolled value
231
215
  const focusedKey = controlledFocusedKey ?? internalKey;
@@ -320,47 +304,47 @@ export function createVirtualFocus<T>(
320
304
 
321
305
  // Keyboard handler
322
306
  const onKeyDown = (e: KeyboardEvent): void => {
323
- const isVertical = orientation === 'vertical' || orientation === 'both';
324
- const isHorizontal = orientation === 'horizontal' || orientation === 'both';
307
+ const isVertical = orientation === "vertical" || orientation === "both";
308
+ const isHorizontal = orientation === "horizontal" || orientation === "both";
325
309
 
326
310
  switch (e.key) {
327
- case 'ArrowDown':
311
+ case "ArrowDown":
328
312
  if (isVertical) {
329
313
  e.preventDefault();
330
314
  focusNext();
331
315
  }
332
316
  break;
333
- case 'ArrowUp':
317
+ case "ArrowUp":
334
318
  if (isVertical) {
335
319
  e.preventDefault();
336
320
  focusPrevious();
337
321
  }
338
322
  break;
339
- case 'ArrowRight':
323
+ case "ArrowRight":
340
324
  if (isHorizontal) {
341
325
  e.preventDefault();
342
326
  focusNext();
343
327
  }
344
328
  break;
345
- case 'ArrowLeft':
329
+ case "ArrowLeft":
346
330
  if (isHorizontal) {
347
331
  e.preventDefault();
348
332
  focusPrevious();
349
333
  }
350
334
  break;
351
- case 'Home':
335
+ case "Home":
352
336
  e.preventDefault();
353
337
  focusFirst();
354
338
  break;
355
- case 'End':
339
+ case "End":
356
340
  e.preventDefault();
357
341
  focusLast();
358
342
  break;
359
- case 'PageDown':
343
+ case "PageDown":
360
344
  e.preventDefault();
361
345
  focusPageDown();
362
346
  break;
363
- case 'PageUp':
347
+ case "PageUp":
364
348
  e.preventDefault();
365
349
  focusPageUp();
366
350
  break;
@@ -368,7 +352,7 @@ export function createVirtualFocus<T>(
368
352
  };
369
353
 
370
354
  const containerProps = {
371
- 'aria-activedescendant': () => {
355
+ "aria-activedescendant": () => {
372
356
  const key = focusedKey();
373
357
  return key ? `item-${key}` : undefined;
374
358
  },
@@ -1,13 +1,11 @@
1
- // FocusScope
2
1
  export {
3
2
  FocusScope,
4
3
  useFocusManager,
5
4
  type FocusScopeProps,
6
5
  type FocusManager,
7
6
  type FocusManagerOptions,
8
- } from './FocusScope';
7
+ } from "./FocusScope";
9
8
 
10
- // Focus Restoration
11
9
  export {
12
10
  createFocusRestore,
13
11
  pushFocusStack,
@@ -16,20 +14,18 @@ export {
16
14
  clearFocusStack,
17
15
  type FocusRestoreOptions,
18
16
  type FocusRestoreResult,
19
- } from './createFocusRestore';
17
+ } from "./createFocusRestore";
20
18
 
21
- // Virtual Focus
22
19
  export {
23
20
  createVirtualFocus,
24
21
  type VirtualFocusOptions,
25
22
  type VirtualFocusResult,
26
- } from './createVirtualFocus';
23
+ } from "./createVirtualFocus";
27
24
 
28
- // Auto Focus
29
25
  export {
30
26
  createAutoFocus,
31
27
  clearAutoFocusQueue,
32
28
  getAutoFocusQueueLength,
33
29
  type AutoFocusOptions,
34
30
  type AutoFocusResult,
35
- } from './createAutoFocus';
31
+ } from "./createAutoFocus";
@@ -5,7 +5,7 @@
5
5
  * Port of @react-aria/utils useFormReset.
6
6
  */
7
7
 
8
- import { type Accessor, createEffect, onCleanup } from 'solid-js';
8
+ import { type Accessor, createEffect, onCleanup } from "solid-js";
9
9
 
10
10
  export interface FormResetOptions<T> {
11
11
  /** The default value to reset to. */
@@ -29,7 +29,7 @@ export interface FormResetOptions<T> {
29
29
  export function createFormReset<T>(
30
30
  ref: Accessor<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | undefined>,
31
31
  defaultValue: T,
32
- onReset: (value: T) => void
32
+ onReset: (value: T) => void,
33
33
  ): void {
34
34
  createEffect(() => {
35
35
  const element = ref();
@@ -42,10 +42,10 @@ export function createFormReset<T>(
42
42
  onReset(defaultValue);
43
43
  };
44
44
 
45
- form.addEventListener('reset', handleReset);
45
+ form.addEventListener("reset", handleReset);
46
46
 
47
47
  onCleanup(() => {
48
- form.removeEventListener('reset', handleReset);
48
+ form.removeEventListener("reset", handleReset);
49
49
  });
50
50
  });
51
51
  }
@@ -7,23 +7,13 @@
7
7
  * Port of react-aria's useFormValidation.
8
8
  */
9
9
 
10
- import { type Accessor, createEffect, onCleanup } from 'solid-js';
11
- import {
12
- type FormValidationState,
13
- type ValidationResult,
14
- } from '@proyecto-viviana/solid-stately';
15
- import { setInteractionModality } from '../interactions/createInteractionModality';
10
+ import { type Accessor, createEffect, onCleanup } from "solid-js";
11
+ import { type FormValidationState, type ValidationResult } from "@proyecto-viviana/solid-stately";
12
+ import { setInteractionModality } from "../interactions/createInteractionModality";
16
13
 
17
- // ============================================
18
- // TYPES
19
- // ============================================
14
+ export type ValidatableElement = HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;
20
15
 
21
- export type ValidatableElement =
22
- | HTMLInputElement
23
- | HTMLTextAreaElement
24
- | HTMLSelectElement;
25
-
26
- export type ValidationBehavior = 'aria' | 'native';
16
+ export type ValidationBehavior = "aria" | "native";
27
17
 
28
18
  export interface FormValidationProps {
29
19
  /** Validation behavior: 'aria' for realtime, 'native' for on submit. */
@@ -32,10 +22,6 @@ export interface FormValidationProps {
32
22
  focus?: () => void;
33
23
  }
34
24
 
35
- // ============================================
36
- // HELPERS
37
- // ============================================
38
-
39
25
  function getValidity(input: ValidatableElement): ValidityState {
40
26
  // Create a snapshot of the validity state (the native object is live)
41
27
  const validity = input.validity;
@@ -72,10 +58,6 @@ function getFirstInvalidInput(form: HTMLFormElement): ValidatableElement | null
72
58
  return null;
73
59
  }
74
60
 
75
- // ============================================
76
- // HOOK
77
- // ============================================
78
-
79
61
  /**
80
62
  * Connects form validation state to a native HTML form input.
81
63
  *
@@ -115,9 +97,9 @@ function getFirstInvalidInput(form: HTMLFormElement): ValidatableElement | null
115
97
  export function createFormValidation(
116
98
  props: FormValidationProps,
117
99
  state: FormValidationState,
118
- ref: Accessor<ValidatableElement | undefined>
100
+ ref: Accessor<ValidatableElement | undefined>,
119
101
  ): void {
120
- const validationBehavior = () => props.validationBehavior ?? 'aria';
102
+ const validationBehavior = () => props.validationBehavior ?? "aria";
121
103
  const focus = () => props.focus;
122
104
 
123
105
  // Track whether we should ignore form reset (for React-like programmatic resets)
@@ -126,20 +108,16 @@ export function createFormValidation(
126
108
  // Set custom validity on the native input
127
109
  createEffect(() => {
128
110
  const input = ref();
129
- if (
130
- validationBehavior() === 'native' &&
131
- input &&
132
- !input.disabled
133
- ) {
111
+ if (validationBehavior() === "native" && input && !input.disabled) {
134
112
  const realtimeValidation = state.realtimeValidation();
135
113
  const errorMessage = realtimeValidation.isInvalid
136
- ? realtimeValidation.validationErrors.join(' ') || 'Invalid value.'
137
- : '';
114
+ ? realtimeValidation.validationErrors.join(" ") || "Invalid value."
115
+ : "";
138
116
  input.setCustomValidity(errorMessage);
139
117
 
140
118
  // Prevent default tooltip for validation message
141
- if (!input.hasAttribute('title')) {
142
- input.title = '';
119
+ if (!input.hasAttribute("title")) {
120
+ input.title = "";
143
121
  }
144
122
 
145
123
  // Update validation with native validity if not already invalid
@@ -174,7 +152,7 @@ export function createFormValidation(
174
152
  input.focus();
175
153
  }
176
154
  // Always show focus ring
177
- setInteractionModality('keyboard');
155
+ setInteractionModality("keyboard");
178
156
  }
179
157
 
180
158
  // Prevent default browser error UI
@@ -201,21 +179,20 @@ export function createFormValidation(
201
179
  // Ignore programmatic resets outside user events
202
180
  isIgnoredReset =
203
181
  !window.event ||
204
- (window.event.type === 'message' &&
205
- window.event.target instanceof MessagePort);
182
+ (window.event.type === "message" && window.event.target instanceof MessagePort);
206
183
  originalReset?.();
207
184
  isIgnoredReset = false;
208
185
  };
209
186
  }
210
187
 
211
- input.addEventListener('invalid', onInvalid);
212
- input.addEventListener('change', onChange);
213
- form?.addEventListener('reset', onReset);
188
+ input.addEventListener("invalid", onInvalid);
189
+ input.addEventListener("change", onChange);
190
+ form?.addEventListener("reset", onReset);
214
191
 
215
192
  onCleanup(() => {
216
- input.removeEventListener('invalid', onInvalid);
217
- input.removeEventListener('change', onChange);
218
- form?.removeEventListener('reset', onReset);
193
+ input.removeEventListener("invalid", onInvalid);
194
+ input.removeEventListener("change", onChange);
195
+ form?.removeEventListener("reset", onReset);
219
196
  if (form && originalReset) {
220
197
  form.reset = originalReset;
221
198
  }
package/src/form/index.ts CHANGED
@@ -3,9 +3,6 @@ export {
3
3
  type FormValidationProps,
4
4
  type ValidatableElement,
5
5
  type ValidationBehavior,
6
- } from './createFormValidation';
6
+ } from "./createFormValidation";
7
7
 
8
- export {
9
- createFormReset,
10
- type FormResetOptions,
11
- } from './createFormReset';
8
+ export { createFormReset, type FormResetOptions } from "./createFormReset";
@@ -3,9 +3,9 @@
3
3
  * Based on @react-aria/grid/GridKeyboardDelegate.
4
4
  */
5
5
 
6
- import type { GridCollection, GridNode, Key } from '@proyecto-viviana/solid-stately';
7
- import type { KeyboardDelegate } from './types';
8
- import type { Accessor } from 'solid-js';
6
+ import type { GridCollection, GridNode, Key } from "@proyecto-viviana/solid-stately";
7
+ import type { KeyboardDelegate } from "./types";
8
+ import type { Accessor } from "solid-js";
9
9
 
10
10
  export interface GridKeyboardDelegateOptions<T> {
11
11
  /** The grid collection. */
@@ -15,9 +15,9 @@ export interface GridKeyboardDelegateOptions<T> {
15
15
  /** Ref to the grid element. */
16
16
  ref: Accessor<HTMLElement | null>;
17
17
  /** Focus mode: row or cell. */
18
- focusMode: 'row' | 'cell';
18
+ focusMode: "row" | "cell";
19
19
  /** Text direction (ltr or rtl). */
20
- direction: 'ltr' | 'rtl';
20
+ direction: "ltr" | "rtl";
21
21
  }
22
22
 
23
23
  /**
@@ -27,8 +27,8 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
27
27
  private collection: GridCollection<T>;
28
28
  private disabledKeys: Set<Key>;
29
29
  private ref: Accessor<HTMLElement | null>;
30
- private focusMode: 'row' | 'cell';
31
- private direction: 'ltr' | 'rtl';
30
+ private focusMode: "row" | "cell";
31
+ private direction: "ltr" | "rtl";
32
32
 
33
33
  constructor(options: GridKeyboardDelegateOptions<T>) {
34
34
  this.collection = options.collection;
@@ -52,11 +52,11 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
52
52
  const item = this.collection.getItem(key);
53
53
  if (!item) return null;
54
54
 
55
- if (item.type === 'item') {
55
+ if (item.type === "item") {
56
56
  return key;
57
57
  }
58
58
 
59
- if (item.type === 'cell' && item.parentKey != null) {
59
+ if (item.type === "cell" && item.parentKey != null) {
60
60
  return item.parentKey;
61
61
  }
62
62
 
@@ -67,7 +67,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
67
67
  * Get all body rows (excluding header rows).
68
68
  */
69
69
  private getBodyRows(): GridNode<T>[] {
70
- return this.collection.rows.filter((row) => row.type === 'item');
70
+ return this.collection.rows.filter((row) => row.type === "item");
71
71
  }
72
72
 
73
73
  /**
@@ -76,7 +76,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
76
76
  getFirstKey(fromKey?: Key, global?: boolean): Key | null {
77
77
  const rows = this.getBodyRows();
78
78
 
79
- if (this.focusMode === 'row' || global) {
79
+ if (this.focusMode === "row" || global) {
80
80
  // Find first non-disabled row
81
81
  for (const row of rows) {
82
82
  if (!this.isDisabled(row.key)) {
@@ -114,7 +114,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
114
114
  getLastKey(fromKey?: Key, global?: boolean): Key | null {
115
115
  const rows = this.getBodyRows();
116
116
 
117
- if (this.focusMode === 'row' || global) {
117
+ if (this.focusMode === "row" || global) {
118
118
  // Find last non-disabled row
119
119
  for (let i = rows.length - 1; i >= 0; i--) {
120
120
  if (!this.isDisabled(rows[i].key)) {
@@ -155,9 +155,9 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
155
155
 
156
156
  const rows = this.getBodyRows();
157
157
 
158
- if (this.focusMode === 'row' || item.type === 'item') {
158
+ if (this.focusMode === "row" || item.type === "item") {
159
159
  // Find the row and get the previous one
160
- const rowKey = item.type === 'item' ? key : item.parentKey;
160
+ const rowKey = item.type === "item" ? key : item.parentKey;
161
161
  const rowIndex = rows.findIndex((r) => r.key === rowKey);
162
162
 
163
163
  if (rowIndex > 0) {
@@ -172,7 +172,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
172
172
  }
173
173
 
174
174
  // Cell focus mode - get cell in same column of previous row
175
- if (item.type === 'cell' && item.parentKey != null) {
175
+ if (item.type === "cell" && item.parentKey != null) {
176
176
  const rowIndex = rows.findIndex((r) => r.key === item.parentKey);
177
177
  const colIndex = item.column ?? item.index;
178
178
 
@@ -201,9 +201,9 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
201
201
 
202
202
  const rows = this.getBodyRows();
203
203
 
204
- if (this.focusMode === 'row' || item.type === 'item') {
204
+ if (this.focusMode === "row" || item.type === "item") {
205
205
  // Find the row and get the next one
206
- const rowKey = item.type === 'item' ? key : item.parentKey;
206
+ const rowKey = item.type === "item" ? key : item.parentKey;
207
207
  const rowIndex = rows.findIndex((r) => r.key === rowKey);
208
208
 
209
209
  if (rowIndex >= 0 && rowIndex < rows.length - 1) {
@@ -218,7 +218,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
218
218
  }
219
219
 
220
220
  // Cell focus mode - get cell in same column of next row
221
- if (item.type === 'cell' && item.parentKey != null) {
221
+ if (item.type === "cell" && item.parentKey != null) {
222
222
  const rowIndex = rows.findIndex((r) => r.key === item.parentKey);
223
223
  const colIndex = item.column ?? item.index;
224
224
 
@@ -246,15 +246,15 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
246
246
  if (!item) return null;
247
247
 
248
248
  // In row focus mode, left/right might not be meaningful
249
- if (this.focusMode === 'row') {
249
+ if (this.focusMode === "row") {
250
250
  return null;
251
251
  }
252
252
 
253
- if (item.type === 'cell' && item.parentKey != null) {
253
+ if (item.type === "cell" && item.parentKey != null) {
254
254
  const children = [...this.collection.getChildren(item.parentKey)];
255
255
  const colIndex = children.findIndex((c) => c.key === key);
256
256
 
257
- if (this.direction === 'rtl') {
257
+ if (this.direction === "rtl") {
258
258
  // RTL: left moves to higher index
259
259
  if (colIndex < children.length - 1) {
260
260
  return children[colIndex + 1].key;
@@ -278,15 +278,15 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
278
278
  if (!item) return null;
279
279
 
280
280
  // In row focus mode, left/right might not be meaningful
281
- if (this.focusMode === 'row') {
281
+ if (this.focusMode === "row") {
282
282
  return null;
283
283
  }
284
284
 
285
- if (item.type === 'cell' && item.parentKey != null) {
285
+ if (item.type === "cell" && item.parentKey != null) {
286
286
  const children = [...this.collection.getChildren(item.parentKey)];
287
287
  const colIndex = children.findIndex((c) => c.key === key);
288
288
 
289
- if (this.direction === 'rtl') {
289
+ if (this.direction === "rtl") {
290
290
  // RTL: right moves to lower index
291
291
  if (colIndex > 0) {
292
292
  return children[colIndex - 1].key;
@@ -327,12 +327,12 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
327
327
  // Find first non-disabled row at or before target
328
328
  for (let i = targetIndex; i >= 0; i--) {
329
329
  if (!this.isDisabled(rows[i].key)) {
330
- if (this.focusMode === 'row' || item.type === 'item') {
330
+ if (this.focusMode === "row" || item.type === "item") {
331
331
  return rows[i].key;
332
332
  }
333
333
 
334
334
  // Cell focus mode - return cell at same column
335
- const colIndex = item.type === 'cell' ? (item.column ?? item.index) : 0;
335
+ const colIndex = item.type === "cell" ? (item.column ?? item.index) : 0;
336
336
  const children = [...this.collection.getChildren(rows[i].key)];
337
337
  const targetCol = Math.min(colIndex, children.length - 1);
338
338
  if (targetCol >= 0) {
@@ -369,12 +369,12 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
369
369
  // Find first non-disabled row at or after target
370
370
  for (let i = targetIndex; i < rows.length; i++) {
371
371
  if (!this.isDisabled(rows[i].key)) {
372
- if (this.focusMode === 'row' || item.type === 'item') {
372
+ if (this.focusMode === "row" || item.type === "item") {
373
373
  return rows[i].key;
374
374
  }
375
375
 
376
376
  // Cell focus mode - return cell at same column
377
- const colIndex = item.type === 'cell' ? (item.column ?? item.index) : 0;
377
+ const colIndex = item.type === "cell" ? (item.column ?? item.index) : 0;
378
378
  const children = [...this.collection.getChildren(rows[i].key)];
379
379
  const targetCol = Math.min(colIndex, children.length - 1);
380
380
  if (targetCol >= 0) {
@@ -406,7 +406,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
406
406
  for (let i = startIndex; i < rows.length; i++) {
407
407
  const row = rows[i];
408
408
  if (!this.isDisabled(row.key)) {
409
- const textValue = row.textValue?.toLowerCase() ?? '';
409
+ const textValue = row.textValue?.toLowerCase() ?? "";
410
410
  if (textValue.startsWith(searchLower)) {
411
411
  return row.key;
412
412
  }
@@ -417,7 +417,7 @@ export class GridKeyboardDelegate<T> implements KeyboardDelegate {
417
417
  for (let i = 0; i < startIndex; i++) {
418
418
  const row = rows[i];
419
419
  if (!this.isDisabled(row.key)) {
420
- const textValue = row.textValue?.toLowerCase() ?? '';
420
+ const textValue = row.textValue?.toLowerCase() ?? "";
421
421
  if (textValue.startsWith(searchLower)) {
422
422
  return row.key;
423
423
  }