@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
@@ -4,16 +4,16 @@
4
4
  * Based on @react-aria/select useSelect.
5
5
  */
6
6
 
7
- import { type JSX, type Accessor, createEffect, onCleanup } from 'solid-js';
8
- import { createPress } from '../interactions/createPress';
9
- import { createFocusRing } from '../interactions/createFocusRing';
10
- import { createLabel } from '../label/createLabel';
11
- import { createTypeSelect } from '../selection/createTypeSelect';
12
- import { filterDOMProps } from '../utils/filterDOMProps';
13
- import { mergeProps } from '../utils/mergeProps';
14
- import { createId } from '../ssr';
15
- import { access, type MaybeAccessor } from '../utils/reactivity';
16
- import type { SelectState, CollectionNode } from '@proyecto-viviana/solid-stately';
7
+ import { type JSX, type Accessor, createEffect, onCleanup } from "solid-js";
8
+ import { createPress } from "../interactions/createPress";
9
+ import { createFocusRing } from "../interactions/createFocusRing";
10
+ import { createLabel } from "../label/createLabel";
11
+ import { createTypeSelect } from "../selection/createTypeSelect";
12
+ import { filterDOMProps } from "../utils/filterDOMProps";
13
+ import { mergeProps } from "../utils/mergeProps";
14
+ import { createId } from "../ssr";
15
+ import { access, type MaybeAccessor } from "../utils/reactivity";
16
+ import type { SelectState, CollectionNode } from "@proyecto-viviana/solid-stately";
17
17
 
18
18
  export interface AriaSelectProps {
19
19
  /** An ID for the select. */
@@ -22,14 +22,16 @@ export interface AriaSelectProps {
22
22
  isDisabled?: boolean;
23
23
  /** Whether the select is required. */
24
24
  isRequired?: boolean;
25
+ /** Whether the select is invalid. */
26
+ isInvalid?: boolean;
25
27
  /** The label for the select. */
26
28
  label?: JSX.Element;
27
29
  /** An accessible label for the select when no visible label is provided. */
28
- 'aria-label'?: string;
30
+ "aria-label"?: string;
29
31
  /** The ID of an element that labels the select. */
30
- 'aria-labelledby'?: string;
32
+ "aria-labelledby"?: string;
31
33
  /** The ID of an element that describes the select. */
32
- 'aria-describedby'?: string;
34
+ "aria-describedby"?: string;
33
35
  /** Placeholder text when no option is selected. */
34
36
  placeholder?: string;
35
37
  /** Whether the select should be auto-focused. */
@@ -42,8 +44,14 @@ export interface AriaSelectProps {
42
44
  onFocusChange?: (isFocused: boolean) => void;
43
45
  /** The name of the select, used when submitting an HTML form. */
44
46
  name?: string;
47
+ /** Associates the hidden native select with a form element by id. */
48
+ form?: string;
45
49
  /** Whether type-to-select is disabled. @default false */
46
50
  disallowTypeAhead?: boolean;
51
+ /** Whether the select can open when its collection is empty. @default false */
52
+ allowsEmptyCollection?: boolean;
53
+ /** Whether validation should use ARIA attributes or native browser validation. */
54
+ validationBehavior?: "aria" | "native";
47
55
  }
48
56
 
49
57
  export interface SelectAria<T> {
@@ -86,7 +94,7 @@ export function getSelectData(state: SelectState): SelectData | undefined {
86
94
  export function createSelect<T>(
87
95
  props: MaybeAccessor<AriaSelectProps>,
88
96
  state: SelectState<T>,
89
- _ref?: () => HTMLElement | null
97
+ _ref?: () => HTMLElement | null,
90
98
  ): SelectAria<T> {
91
99
  const getProps = () => access(props);
92
100
  const id = createId(getProps().id);
@@ -119,13 +127,13 @@ export function createSelect<T>(
119
127
  get label() {
120
128
  return getProps().label;
121
129
  },
122
- get 'aria-label'() {
123
- return getProps()['aria-label'];
130
+ get "aria-label"() {
131
+ return getProps()["aria-label"];
124
132
  },
125
- get 'aria-labelledby'() {
126
- return getProps()['aria-labelledby'];
133
+ get "aria-labelledby"() {
134
+ return getProps()["aria-labelledby"];
127
135
  },
128
- labelElementType: 'span',
136
+ labelElementType: "span",
129
137
  });
130
138
 
131
139
  // Focus ring for keyboard focus styling
@@ -139,14 +147,8 @@ export function createSelect<T>(
139
147
  const isFocused = state.isFocused;
140
148
 
141
149
  // Handle press on trigger
142
- const { pressProps } = createPress({
143
- get isDisabled() {
144
- return getProps().isDisabled ?? state.isDisabled;
145
- },
146
- onPress() {
147
- state.toggle();
148
- },
149
- });
150
+ const canOpen = () =>
151
+ getProps().allowsEmptyCollection || state.collection().getFirstKey() != null;
150
152
 
151
153
  // Helper to check if key is disabled
152
154
  const isKeyDisabled = (key: string | number): boolean => {
@@ -155,14 +157,17 @@ export function createSelect<T>(
155
157
  };
156
158
 
157
159
  // Helper to find the next non-disabled key.
158
- const findNextKey = (fromKey: string | number | null, direction: 'forward' | 'backward'): string | number | null => {
160
+ const findNextKey = (
161
+ fromKey: string | number | null,
162
+ direction: "forward" | "backward",
163
+ ): string | number | null => {
159
164
  const collection = state.collection();
160
- const getAdjacent = direction === 'forward'
161
- ? (k: string | number) => collection.getKeyAfter(k)
162
- : (k: string | number) => collection.getKeyBefore(k);
163
- const getBoundary = direction === 'forward'
164
- ? () => collection.getFirstKey()
165
- : () => collection.getLastKey();
165
+ const getAdjacent =
166
+ direction === "forward"
167
+ ? (k: string | number) => collection.getKeyAfter(k)
168
+ : (k: string | number) => collection.getKeyBefore(k);
169
+ const getBoundary =
170
+ direction === "forward" ? () => collection.getFirstKey() : () => collection.getLastKey();
166
171
 
167
172
  let key = fromKey == null ? getBoundary() : getAdjacent(fromKey);
168
173
  while (key != null && isKeyDisabled(key)) {
@@ -172,6 +177,42 @@ export function createSelect<T>(
172
177
  return key;
173
178
  };
174
179
 
180
+ const focusKeyForOpen = (): string | number | null => {
181
+ const selectedKey = state.selectedKey();
182
+ if (selectedKey != null && !isKeyDisabled(selectedKey)) {
183
+ return selectedKey;
184
+ }
185
+ return findNextKey(null, "forward");
186
+ };
187
+
188
+ const openWithFocus = () => {
189
+ if (state.isOpen() || !canOpen()) {
190
+ return;
191
+ }
192
+ state.open();
193
+ const focusKey = focusKeyForOpen();
194
+ if (focusKey != null) {
195
+ state.setFocusedKey(focusKey);
196
+ }
197
+ };
198
+
199
+ const { pressProps } = createPress({
200
+ get isDisabled() {
201
+ return getProps().isDisabled ?? state.isDisabled;
202
+ },
203
+ onPress(e) {
204
+ if (e.pointerType === "keyboard") {
205
+ return;
206
+ }
207
+
208
+ if (state.isOpen()) {
209
+ state.close();
210
+ } else {
211
+ openWithFocus();
212
+ }
213
+ },
214
+ });
215
+
175
216
  // Type-to-select - for Select, typing directly selects items when closed
176
217
  const { typeSelectProps } = createTypeSelect({
177
218
  collection: () => state.collection(),
@@ -187,7 +228,9 @@ export function createSelect<T>(
187
228
  },
188
229
  isKeyDisabled,
189
230
  get isDisabled() {
190
- return Boolean((getProps().disallowTypeAhead ?? false) || getProps().isDisabled || state.isDisabled);
231
+ return Boolean(
232
+ (getProps().disallowTypeAhead ?? false) || getProps().isDisabled || state.isDisabled,
233
+ );
191
234
  },
192
235
  });
193
236
 
@@ -198,20 +241,28 @@ export function createSelect<T>(
198
241
  const currentKey = state.focusedKey() ?? state.selectedKey();
199
242
 
200
243
  switch (e.key) {
201
- case 'Enter':
202
- case ' ':
244
+ case "Enter":
245
+ case " ":
203
246
  e.preventDefault();
204
- state.toggle();
247
+ if (state.isOpen()) {
248
+ state.close();
249
+ } else {
250
+ openWithFocus();
251
+ }
205
252
  break;
206
253
 
207
- case 'ArrowDown':
254
+ case "ArrowDown":
208
255
  e.preventDefault();
209
256
  if (!state.isOpen()) {
257
+ if (!canOpen()) {
258
+ return;
259
+ }
210
260
  // ArrowDown: Open the dropdown and focus first/selected item
211
261
  state.open();
212
- const focusKey = currentKey != null && !isKeyDisabled(currentKey)
213
- ? currentKey
214
- : findNextKey(currentKey, 'forward');
262
+ const focusKey =
263
+ currentKey != null && !isKeyDisabled(currentKey)
264
+ ? currentKey
265
+ : findNextKey(currentKey, "forward");
215
266
  if (focusKey) {
216
267
  state.setFocusedKey(focusKey);
217
268
  }
@@ -219,14 +270,18 @@ export function createSelect<T>(
219
270
  // When open, navigation is handled by the listbox
220
271
  break;
221
272
 
222
- case 'ArrowUp':
273
+ case "ArrowUp":
223
274
  e.preventDefault();
224
275
  if (!state.isOpen()) {
276
+ if (!canOpen()) {
277
+ return;
278
+ }
225
279
  // ArrowUp: Open the dropdown and focus last/selected item
226
280
  state.open();
227
- const focusKey = currentKey != null && !isKeyDisabled(currentKey)
228
- ? currentKey
229
- : findNextKey(currentKey, 'backward');
281
+ const focusKey =
282
+ currentKey != null && !isKeyDisabled(currentKey)
283
+ ? currentKey
284
+ : findNextKey(currentKey, "backward");
230
285
  if (focusKey) {
231
286
  state.setFocusedKey(focusKey);
232
287
  }
@@ -234,51 +289,51 @@ export function createSelect<T>(
234
289
  // When open, navigation is handled by the listbox
235
290
  break;
236
291
 
237
- case 'ArrowRight':
292
+ case "ArrowRight":
238
293
  // ArrowRight: Select next option (for horizontal keyboard navigation pattern)
239
294
  if (!state.isOpen()) {
240
295
  e.preventDefault();
241
- const nextKey = findNextKey(currentKey, 'forward');
296
+ const nextKey = findNextKey(currentKey, "forward");
242
297
  if (nextKey != null) {
243
298
  state.setSelectedKey(nextKey);
244
299
  }
245
300
  }
246
301
  break;
247
302
 
248
- case 'ArrowLeft':
303
+ case "ArrowLeft":
249
304
  // ArrowLeft: Select previous option (for horizontal keyboard navigation pattern)
250
305
  if (!state.isOpen()) {
251
306
  e.preventDefault();
252
- const prevKey = findNextKey(currentKey, 'backward');
307
+ const prevKey = findNextKey(currentKey, "backward");
253
308
  if (prevKey != null) {
254
309
  state.setSelectedKey(prevKey);
255
310
  }
256
311
  }
257
312
  break;
258
313
 
259
- case 'Home':
314
+ case "Home":
260
315
  // Home: Select first option
261
316
  if (!state.isOpen()) {
262
317
  e.preventDefault();
263
- const firstKey = findNextKey(null, 'forward');
318
+ const firstKey = findNextKey(null, "forward");
264
319
  if (firstKey != null) {
265
320
  state.setSelectedKey(firstKey);
266
321
  }
267
322
  }
268
323
  break;
269
324
 
270
- case 'End':
325
+ case "End":
271
326
  // End: Select last option
272
327
  if (!state.isOpen()) {
273
328
  e.preventDefault();
274
- const lastKey = findNextKey(null, 'backward');
329
+ const lastKey = findNextKey(null, "backward");
275
330
  if (lastKey != null) {
276
331
  state.setSelectedKey(lastKey);
277
332
  }
278
333
  }
279
334
  break;
280
335
 
281
- case 'Escape':
336
+ case "Escape":
282
337
  if (state.isOpen()) {
283
338
  e.preventDefault();
284
339
  state.close();
@@ -316,27 +371,29 @@ export function createSelect<T>(
316
371
  fieldProps as Record<string, unknown>,
317
372
  {
318
373
  id: buttonId,
319
- role: 'combobox',
320
- type: 'button',
374
+ type: "button",
321
375
  tabIndex: isDisabled ? undefined : 0,
322
- 'aria-haspopup': 'listbox',
323
- 'aria-expanded': isOpen,
324
- 'aria-controls': isOpen ? listBoxId : undefined,
325
- 'aria-disabled': isDisabled || undefined,
326
- 'aria-required': p.isRequired || undefined,
327
- 'aria-describedby': p['aria-describedby'] || undefined,
376
+ "aria-haspopup": "listbox",
377
+ "aria-expanded": isOpen,
378
+ "aria-controls": isOpen ? listBoxId : undefined,
379
+ "aria-disabled": isDisabled || undefined,
380
+ "aria-required": p.isRequired || undefined,
381
+ "aria-describedby": p["aria-describedby"] || undefined,
328
382
  onKeyDown,
329
383
  onFocus: handleFocus,
330
384
  onBlur: handleBlur,
331
- 'data-open': isOpen || undefined,
332
- 'data-disabled': isDisabled || undefined,
333
- 'data-focus-visible': isFocusVisible() || undefined,
334
- } as Record<string, unknown>
385
+ "data-open": isOpen || undefined,
386
+ "data-disabled": isDisabled || undefined,
387
+ "data-focus-visible": isFocusVisible() || undefined,
388
+ } as Record<string, unknown>,
335
389
  );
336
390
 
337
391
  // Add type-select props if enabled
338
392
  if (!p.disallowTypeAhead) {
339
- return mergeProps(baseProps, typeSelectProps as Record<string, unknown>) as JSX.HTMLAttributes<HTMLElement>;
393
+ return mergeProps(
394
+ baseProps,
395
+ typeSelectProps as Record<string, unknown>,
396
+ ) as JSX.HTMLAttributes<HTMLElement>;
340
397
  }
341
398
 
342
399
  return baseProps as JSX.HTMLAttributes<HTMLElement>;
@@ -349,9 +406,9 @@ export function createSelect<T>(
349
406
  get menuProps() {
350
407
  return {
351
408
  id: listBoxId,
352
- role: 'listbox',
353
- 'aria-labelledby': buttonId,
354
- 'aria-multiselectable': state.selectionMode() === 'multiple' ? true : undefined,
409
+ role: "listbox",
410
+ "aria-labelledby": buttonId,
411
+ "aria-multiselectable": state.selectionMode() === "multiple" ? true : undefined,
355
412
  tabIndex: -1,
356
413
  } as JSX.HTMLAttributes<HTMLElement>;
357
414
  },
@@ -1,9 +1,4 @@
1
- export {
2
- createSelect,
3
- getSelectData,
4
- type AriaSelectProps,
5
- type SelectAria,
6
- } from './createSelect';
1
+ export { createSelect, getSelectData, type AriaSelectProps, type SelectAria } from "./createSelect";
7
2
 
8
3
  export {
9
4
  createHiddenSelect,
@@ -11,4 +6,4 @@ export {
11
6
  type AriaHiddenSelectProps,
12
7
  type HiddenSelectAria,
13
8
  type HiddenSelectProps,
14
- } from './createHiddenSelect.jsx';
9
+ } from "./createHiddenSelect.jsx";
@@ -6,8 +6,8 @@
6
6
  * item text values. Supports multi-character search with debouncing.
7
7
  */
8
8
 
9
- import type { JSX, Accessor } from 'solid-js';
10
- import type { Key, Collection, CollectionNode } from '@proyecto-viviana/solid-stately';
9
+ import type { JSX, Accessor } from "solid-js";
10
+ import type { Key, Collection, CollectionNode } from "@proyecto-viviana/solid-stately";
11
11
 
12
12
  /**
13
13
  * Controls how long to wait before clearing the typeahead buffer.
@@ -53,7 +53,7 @@ function getStringForKey(key: string): string {
53
53
  if (key.length === 1 || !/^[A-Z]/i.test(key)) {
54
54
  return key;
55
55
  }
56
- return '';
56
+ return "";
57
57
  }
58
58
 
59
59
  /**
@@ -64,14 +64,14 @@ function getKeyForSearch<T>(
64
64
  collection: Collection<T>,
65
65
  search: string,
66
66
  fromKey: Key | null,
67
- isKeyDisabled?: (key: Key) => boolean
67
+ isKeyDisabled?: (key: Key) => boolean,
68
68
  ): Key | null {
69
69
  const searchLower = search.toLowerCase();
70
70
 
71
71
  // Collect all items in order
72
72
  const items: CollectionNode<T>[] = [];
73
73
  for (const item of collection) {
74
- if (item.type === 'item') {
74
+ if (item.type === "item") {
75
75
  items.push(item);
76
76
  }
77
77
  }
@@ -81,7 +81,7 @@ function getKeyForSearch<T>(
81
81
  // Find the starting index
82
82
  let startIndex = 0;
83
83
  if (fromKey != null) {
84
- const fromIndex = items.findIndex(item => item.key === fromKey);
84
+ const fromIndex = items.findIndex((item) => item.key === fromKey);
85
85
  if (fromIndex !== -1) {
86
86
  // Start searching from the item AFTER the current one
87
87
  startIndex = (fromIndex + 1) % items.length;
@@ -99,7 +99,7 @@ function getKeyForSearch<T>(
99
99
  }
100
100
 
101
101
  // Check if the text value starts with the search string
102
- const textValue = item.textValue || '';
102
+ const textValue = item.textValue || "";
103
103
  if (textValue.toLowerCase().startsWith(searchLower)) {
104
104
  return item.key;
105
105
  }
@@ -125,7 +125,7 @@ function getKeyForSearch<T>(
125
125
  export function createTypeSelect<T>(options: TypeSelectOptions<T>): TypeSelectAria {
126
126
  // Create mutable state object to persist across keystrokes
127
127
  const state: TypeSelectState = {
128
- search: '',
128
+ search: "",
129
129
  timeout: undefined,
130
130
  };
131
131
 
@@ -147,13 +147,13 @@ export function createTypeSelect<T>(options: TypeSelectOptions<T>): TypeSelectAr
147
147
  }
148
148
 
149
149
  // Don't start search with space (common action key)
150
- if (state.search.length === 0 && character === ' ') {
150
+ if (state.search.length === 0 && character === " ") {
151
151
  return;
152
152
  }
153
153
 
154
154
  // If there's already search text and the user types a space,
155
155
  // prevent it from triggering selection and include it in the search
156
- if (character === ' ' && state.search.trim().length > 0) {
156
+ if (character === " " && state.search.trim().length > 0) {
157
157
  e.preventDefault();
158
158
  e.stopPropagation();
159
159
  }
@@ -183,7 +183,7 @@ export function createTypeSelect<T>(options: TypeSelectOptions<T>): TypeSelectAr
183
183
  clearTimeout(state.timeout);
184
184
  }
185
185
  state.timeout = setTimeout(() => {
186
- state.search = '';
186
+ state.search = "";
187
187
  }, TYPEAHEAD_DEBOUNCE_WAIT_MS);
188
188
  };
189
189
 
@@ -3,4 +3,4 @@
3
3
  * in collection components.
4
4
  */
5
5
 
6
- export { createTypeSelect, type TypeSelectOptions, type TypeSelectAria } from './createTypeSelect';
6
+ export { createTypeSelect, type TypeSelectOptions, type TypeSelectAria } from "./createTypeSelect";
@@ -5,15 +5,11 @@
5
5
  * e.g. groups of menu items or sections of a page.
6
6
  */
7
7
 
8
- import type { JSX } from 'solid-js';
9
- import { access, type MaybeAccessor } from '../utils';
10
- import { filterDOMProps } from '../utils';
8
+ import type { JSX } from "solid-js";
9
+ import { access, type MaybeAccessor } from "../utils";
10
+ import { filterDOMProps } from "../utils";
11
11
 
12
- // ============================================
13
- // TYPES
14
- // ============================================
15
-
16
- export type Orientation = 'horizontal' | 'vertical';
12
+ export type Orientation = "horizontal" | "vertical";
17
13
 
18
14
  export interface AriaSeparatorProps {
19
15
  /**
@@ -27,9 +23,13 @@ export interface AriaSeparatorProps {
27
23
  */
28
24
  elementType?: string;
29
25
  /** An accessibility label for the separator. */
30
- 'aria-label'?: string;
26
+ "aria-label"?: string;
31
27
  /** Identifies the element(s) that labels the separator. */
32
- 'aria-labelledby'?: string;
28
+ "aria-labelledby"?: string;
29
+ /** Identifies the element(s) that describes the separator. */
30
+ "aria-describedby"?: string;
31
+ /** Identifies the element(s) that provide a detailed description. */
32
+ "aria-details"?: string;
33
33
  /** The element's unique identifier. */
34
34
  id?: string;
35
35
  }
@@ -39,39 +39,34 @@ export interface SeparatorAria {
39
39
  separatorProps: JSX.HTMLAttributes<HTMLElement>;
40
40
  }
41
41
 
42
- // ============================================
43
- // CREATE SEPARATOR
44
- // ============================================
45
-
46
42
  /**
47
43
  * Provides the accessibility implementation for a separator.
48
44
  * A separator is a visual divider between two groups of content,
49
45
  * e.g. groups of menu items or sections of a page.
50
46
  */
51
- export function createSeparator(
52
- props: MaybeAccessor<AriaSeparatorProps> = {}
53
- ): SeparatorAria {
47
+ export function createSeparator(props: MaybeAccessor<AriaSeparatorProps> = {}): SeparatorAria {
54
48
  const getSeparatorProps = (): JSX.HTMLAttributes<HTMLElement> => {
55
49
  const p = access(props);
56
50
  const domProps = filterDOMProps(p as Record<string, unknown>, { labelable: true });
57
51
 
58
52
  // if orientation is horizontal, aria-orientation default is horizontal, so we leave it undefined
59
53
  // if it's vertical, we need to specify it
60
- let ariaOrientation: 'vertical' | undefined;
61
- if (p.orientation === 'vertical') {
62
- ariaOrientation = 'vertical';
54
+ let ariaOrientation: "vertical" | undefined;
55
+ if (p.orientation === "vertical") {
56
+ ariaOrientation = "vertical";
63
57
  }
64
58
 
65
- // hr elements implicitly have role = separator and a horizontal orientation
66
- if (p.elementType !== 'hr') {
59
+ if (p.elementType !== "hr") {
67
60
  return {
68
61
  ...domProps,
69
- role: 'separator',
70
- 'aria-orientation': ariaOrientation,
62
+ role: "separator",
63
+ "aria-orientation": ariaOrientation,
71
64
  };
72
65
  }
73
66
 
74
- return domProps;
67
+ return {
68
+ ...domProps,
69
+ };
75
70
  };
76
71
 
77
72
  return {
@@ -3,4 +3,4 @@ export {
3
3
  type AriaSeparatorProps,
4
4
  type SeparatorAria,
5
5
  type Orientation,
6
- } from './createSeparator';
6
+ } from "./createSeparator";