@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
@@ -7,19 +7,20 @@
7
7
  * Port of @react-aria/toast useToastRegion.
8
8
  */
9
9
 
10
- import { type JSX, createMemo } from 'solid-js';
11
- import { type ToastState } from '@proyecto-viviana/solid-stately';
12
- import { createHover } from '../interactions/createHover';
13
-
14
- // ============================================
15
- // TYPES
16
- // ============================================
10
+ import { type Accessor, type JSX, createEffect, createMemo, onCleanup } from "solid-js";
11
+ import { type ToastState } from "@proyecto-viviana/solid-stately";
12
+ import { createHover } from "../interactions/createHover";
13
+ import { getInteractionModality } from "../interactions/createInteractionModality";
14
+ import { createLandmark } from "../landmark/createLandmark";
15
+ import { focusWithoutScrolling } from "../utils/focus";
17
16
 
18
17
  export interface AriaToastRegionProps<T> {
19
18
  /** The toast state from createToastState. */
20
19
  state: ToastState<T>;
20
+ /** The toast region element. Required for landmark navigation and focus recovery. */
21
+ ref?: Accessor<HTMLElement | undefined>;
21
22
  /** An accessible label for the region. */
22
- 'aria-label'?: string;
23
+ "aria-label"?: string;
23
24
  }
24
25
 
25
26
  export interface ToastRegionAria {
@@ -27,10 +28,6 @@ export interface ToastRegionAria {
27
28
  regionProps: JSX.HTMLAttributes<HTMLElement>;
28
29
  }
29
30
 
30
- // ============================================
31
- // IMPLEMENTATION
32
- // ============================================
33
-
34
31
  /**
35
32
  * Provides the accessibility implementation for a ToastRegion component.
36
33
  *
@@ -59,41 +56,187 @@ export interface ToastRegionAria {
59
56
  * ```
60
57
  */
61
58
  export function createToastRegion<T>(props: AriaToastRegionProps<T>): ToastRegionAria {
62
- // Pause timers on hover
59
+ const visibleToasts = () =>
60
+ typeof props.state.visibleToasts === "function" ? props.state.visibleToasts() : [];
61
+ const regionRef = () => props.ref?.();
62
+ const activeRegionRef = () => (visibleToasts().length > 0 ? regionRef() : undefined);
63
+
64
+ const { landmarkProps } = createLandmark(
65
+ () => ({
66
+ role: "region",
67
+ "aria-label": props["aria-label"] ?? "Notifications",
68
+ }),
69
+ activeRegionRef,
70
+ );
71
+
72
+ let isHovered = false;
73
+ let isFocused = false;
74
+ let toastElements: HTMLElement[] = [];
75
+ let previousVisibleToasts = visibleToasts();
76
+ let focusedToastIndex = -1;
77
+ let lastFocused: HTMLElement | null = null;
78
+
79
+ const updateTimers = () => {
80
+ if (isHovered || isFocused) {
81
+ props.state.pauseAll();
82
+ } else {
83
+ props.state.resumeAll();
84
+ }
85
+ };
86
+
63
87
  const { hoverProps } = createHover({
64
88
  onHoverStart: () => {
65
- props.state.pauseAll();
89
+ isHovered = true;
90
+ updateTimers();
66
91
  },
67
92
  onHoverEnd: () => {
68
- props.state.resumeAll();
93
+ isHovered = false;
94
+ updateTimers();
69
95
  },
70
96
  });
71
97
 
72
- // Pause timers on focus
73
- const handleFocus = () => {
74
- props.state.pauseAll();
98
+ const getToastElements = () => {
99
+ const element = regionRef();
100
+ return element ? [...element.querySelectorAll<HTMLElement>('[role="alertdialog"]')] : [];
101
+ };
102
+
103
+ const restoreLastFocused = () => {
104
+ if (!lastFocused?.isConnected) {
105
+ lastFocused = null;
106
+ return;
107
+ }
108
+
109
+ if (getInteractionModality() === "pointer") {
110
+ focusWithoutScrolling(lastFocused);
111
+ } else {
112
+ lastFocused.focus();
113
+ }
114
+
115
+ lastFocused = null;
116
+ };
117
+
118
+ const handleFocusIn = (e: FocusEvent) => {
119
+ const currentTarget = e.currentTarget as HTMLElement;
120
+ const relatedTarget = e.relatedTarget as HTMLElement | null;
121
+
122
+ if (!isFocused) {
123
+ isFocused = true;
124
+ if (relatedTarget && !currentTarget.contains(relatedTarget)) {
125
+ lastFocused = relatedTarget;
126
+ }
127
+ updateTimers();
128
+ }
129
+
130
+ toastElements = getToastElements();
131
+ const target =
132
+ e.target instanceof Element ? e.target.closest<HTMLElement>('[role="alertdialog"]') : null;
133
+ focusedToastIndex = target ? toastElements.findIndex((toast) => toast === target) : -1;
75
134
  };
76
135
 
77
- const handleBlur = (e: FocusEvent) => {
78
- // Only resume if focus moved outside the region
136
+ const handleFocusOut = (e: FocusEvent) => {
79
137
  const target = e.relatedTarget as HTMLElement | null;
80
138
  const currentTarget = e.currentTarget as HTMLElement;
81
139
  if (!target || !currentTarget.contains(target)) {
82
- props.state.resumeAll();
140
+ isFocused = false;
141
+ focusedToastIndex = -1;
142
+ updateTimers();
83
143
  }
84
144
  };
85
145
 
146
+ createEffect(() => {
147
+ const currentVisibleToasts = visibleToasts();
148
+ const element = regionRef();
149
+
150
+ if (focusedToastIndex === -1 || currentVisibleToasts.length === 0 || !element) {
151
+ toastElements = [];
152
+ previousVisibleToasts = currentVisibleToasts;
153
+ return;
154
+ }
155
+
156
+ toastElements = getToastElements();
157
+
158
+ const unchanged =
159
+ previousVisibleToasts.length === currentVisibleToasts.length &&
160
+ currentVisibleToasts.every((toast, index) => toast.key === previousVisibleToasts[index]?.key);
161
+
162
+ if (unchanged) {
163
+ previousVisibleToasts = currentVisibleToasts;
164
+ return;
165
+ }
166
+
167
+ const allToasts = previousVisibleToasts.map((toast, index) => ({
168
+ index,
169
+ isRemoved: !currentVisibleToasts.some((currentToast) => currentToast.key === toast.key),
170
+ }));
171
+ const removedFocusedToastIndex = allToasts.findIndex(
172
+ (toast) => toast.index === focusedToastIndex && toast.isRemoved,
173
+ );
174
+
175
+ if (removedFocusedToastIndex > -1) {
176
+ if (getInteractionModality() === "pointer" && lastFocused?.isConnected) {
177
+ focusWithoutScrolling(lastFocused);
178
+ } else {
179
+ let index = 0;
180
+ let nextToast: number | undefined;
181
+ let previousToast: number | undefined;
182
+
183
+ while (index <= removedFocusedToastIndex) {
184
+ if (!allToasts[index]?.isRemoved) {
185
+ previousToast = Math.max(0, index - 1);
186
+ }
187
+ index++;
188
+ }
189
+
190
+ while (index < allToasts.length) {
191
+ if (!allToasts[index]?.isRemoved) {
192
+ nextToast = index - 1;
193
+ break;
194
+ }
195
+ index++;
196
+ }
197
+
198
+ if (previousToast === undefined && nextToast === undefined) {
199
+ previousToast = 0;
200
+ }
201
+
202
+ if (
203
+ previousToast !== undefined &&
204
+ previousToast >= 0 &&
205
+ previousToast < toastElements.length
206
+ ) {
207
+ focusWithoutScrolling(toastElements[previousToast]);
208
+ } else if (nextToast !== undefined && nextToast >= 0 && nextToast < toastElements.length) {
209
+ focusWithoutScrolling(toastElements[nextToast]);
210
+ }
211
+ }
212
+ }
213
+
214
+ previousVisibleToasts = currentVisibleToasts;
215
+ });
216
+
217
+ createEffect(() => {
218
+ if (visibleToasts().length === 0) {
219
+ restoreLastFocused();
220
+ }
221
+ });
222
+
223
+ onCleanup(() => {
224
+ restoreLastFocused();
225
+ });
226
+
86
227
  // Region props
87
228
  const regionProps = createMemo<JSX.HTMLAttributes<HTMLElement>>(() => ({
229
+ ...landmarkProps,
88
230
  ...hoverProps,
89
- role: 'region' as const,
90
- 'aria-label': props['aria-label'] ?? 'Notifications',
91
231
  tabIndex: -1,
92
- onFocusIn: handleFocus,
93
- onFocusOut: handleBlur,
232
+ "data-solidaria-top-layer": "true",
233
+ onFocusIn: handleFocusIn,
234
+ onFocusOut: handleFocusOut,
94
235
  }));
95
236
 
96
237
  return {
97
- get regionProps() { return regionProps(); },
238
+ get regionProps() {
239
+ return regionProps();
240
+ },
98
241
  };
99
242
  }
@@ -1,11 +1,7 @@
1
- export {
2
- createToast,
3
- type AriaToastProps,
4
- type ToastAria,
5
- } from './createToast';
1
+ export { createToast, type AriaToastProps, type ToastAria } from "./createToast";
6
2
 
7
3
  export {
8
4
  createToastRegion,
9
5
  type AriaToastRegionProps,
10
6
  type ToastRegionAria,
11
- } from './createToastRegion';
7
+ } from "./createToastRegion";
@@ -6,19 +6,15 @@
6
6
  * This is a 1:1 port of @react-aria/toggle's useToggle hook.
7
7
  */
8
8
 
9
- import { JSX, Accessor, createEffect } from 'solid-js';
10
- import { createPress } from '../interactions/createPress';
11
- import { createFocusable } from '../interactions/createFocusable';
12
- import { mergeProps } from '../utils/mergeProps';
13
- import { filterDOMProps } from '../utils/filterDOMProps';
14
- import { type MaybeAccessor, access } from '../utils/reactivity';
15
- import { isDevEnv } from '../utils/env';
16
- import { type ToggleState } from '@proyecto-viviana/solid-stately';
17
- import { type PressEvent } from '../interactions/PressEvent';
18
-
19
- // ============================================
20
- // TYPES
21
- // ============================================
9
+ import { JSX, Accessor, createEffect } from "solid-js";
10
+ import { createPress } from "../interactions/createPress";
11
+ import { createFocusable } from "../interactions/createFocusable";
12
+ import { mergeProps } from "../utils/mergeProps";
13
+ import { filterDOMProps } from "../utils/filterDOMProps";
14
+ import { type MaybeAccessor, access } from "../utils/reactivity";
15
+ import { isDevEnv } from "../utils/env";
16
+ import { type ToggleState } from "@proyecto-viviana/solid-stately";
17
+ import { type PressEvent } from "../interactions/PressEvent";
22
18
 
23
19
  export interface AriaToggleProps {
24
20
  /** Whether the element should be selected (controlled). */
@@ -44,15 +40,15 @@ export interface AriaToggleProps {
44
40
  /** The element's children. */
45
41
  children?: JSX.Element;
46
42
  /** Defines a string value that labels the current element. */
47
- 'aria-label'?: string;
43
+ "aria-label"?: string;
48
44
  /** Identifies the element (or elements) that labels the current element. */
49
- 'aria-labelledby'?: string;
45
+ "aria-labelledby"?: string;
50
46
  /** Identifies the element (or elements) that describes the object. */
51
- 'aria-describedby'?: string;
47
+ "aria-describedby"?: string;
52
48
  /** Identifies the element (or elements) that provide an error message for the object. */
53
- 'aria-errormessage'?: string;
49
+ "aria-errormessage"?: string;
54
50
  /** Identifies the element (or elements) whose contents or presence are controlled by the current element. */
55
- 'aria-controls'?: string;
51
+ "aria-controls"?: string;
56
52
  /** The element's unique identifier. */
57
53
  id?: string;
58
54
  /** Handler that is called when the press is released over the target. */
@@ -100,17 +96,13 @@ export interface ToggleAria {
100
96
  isInvalid: boolean;
101
97
  }
102
98
 
103
- // ============================================
104
- // IMPLEMENTATION
105
- // ============================================
106
-
107
99
  /**
108
100
  * Handles interactions for toggle elements, e.g. Checkboxes and Switches.
109
101
  */
110
102
  export function createToggle(
111
103
  props: MaybeAccessor<AriaToggleProps>,
112
104
  state: ToggleState,
113
- ref: () => HTMLInputElement | null
105
+ ref: () => HTMLInputElement | null,
114
106
  ): ToggleAria {
115
107
  const getProps = () => access(props);
116
108
 
@@ -122,45 +114,93 @@ export function createToggle(
122
114
 
123
115
  // Handle press state for keyboard interactions and cases where labelProps is not used.
124
116
  const { pressProps, isPressed } = createPress({
125
- get onPressStart() { return getProps().onPressStart; },
126
- get onPressEnd() { return getProps().onPressEnd; },
127
- get onPressChange() { return getProps().onPressChange; },
128
- get onPress() { return getProps().onPress; },
129
- get onPressUp() { return getProps().onPressUp; },
130
- get isDisabled() { return isDisabled(); },
117
+ get onPressStart() {
118
+ return getProps().onPressStart;
119
+ },
120
+ get onPressEnd() {
121
+ return getProps().onPressEnd;
122
+ },
123
+ get onPressChange() {
124
+ return getProps().onPressChange;
125
+ },
126
+ get onPress() {
127
+ return getProps().onPress;
128
+ },
129
+ get onPressUp() {
130
+ return getProps().onPressUp;
131
+ },
132
+ get onClick() {
133
+ return getProps().onClick;
134
+ },
135
+ get isDisabled() {
136
+ return isDisabled();
137
+ },
131
138
  });
132
139
 
133
140
  // Handle press state on the label.
134
141
  const { pressProps: labelPressProps, isPressed: isLabelPressed } = createPress({
135
- get onPressStart() { return getProps().onPressStart; },
136
- get onPressEnd() { return getProps().onPressEnd; },
137
- get onPressChange() { return getProps().onPressChange; },
138
- get onPressUp() { return getProps().onPressUp; },
142
+ get onPressStart() {
143
+ return getProps().onPressStart;
144
+ },
145
+ get onPressEnd() {
146
+ return getProps().onPressEnd;
147
+ },
148
+ get onPressChange() {
149
+ return getProps().onPressChange;
150
+ },
151
+ get onPressUp() {
152
+ return getProps().onPressUp;
153
+ },
154
+ get onClick() {
155
+ return getProps().onClick;
156
+ },
139
157
  onPress(e: PressEvent) {
140
158
  getProps().onPress?.(e);
141
159
  state.toggle();
142
160
  ref()?.focus();
143
161
  },
144
- get isDisabled() { return isDisabled() || isReadOnly(); },
162
+ get isDisabled() {
163
+ return isDisabled() || isReadOnly();
164
+ },
145
165
  });
146
166
 
147
167
  // Handle focusable - extract the relevant props for createFocusable
148
- const { focusableProps } = createFocusable({
149
- get isDisabled() { return isDisabled(); },
150
- get autoFocus() { return getProps().autoFocus; },
151
- get onFocus() { return getProps().onFocus; },
152
- get onBlur() { return getProps().onBlur; },
153
- get onFocusChange() { return getProps().onFocusChange; },
154
- get onKeyDown() { return getProps().onKeyDown; },
155
- get onKeyUp() { return getProps().onKeyUp; },
156
- get excludeFromTabOrder() { return getProps().excludeFromTabOrder; },
157
- }, ref as unknown as (el: HTMLElement) => void);
168
+ const { focusableProps } = createFocusable(
169
+ {
170
+ get isDisabled() {
171
+ return isDisabled();
172
+ },
173
+ get autoFocus() {
174
+ return getProps().autoFocus;
175
+ },
176
+ get onFocus() {
177
+ return getProps().onFocus;
178
+ },
179
+ get onBlur() {
180
+ return getProps().onBlur;
181
+ },
182
+ get onFocusChange() {
183
+ return getProps().onFocusChange;
184
+ },
185
+ get onKeyDown() {
186
+ return getProps().onKeyDown;
187
+ },
188
+ get onKeyUp() {
189
+ return getProps().onKeyUp;
190
+ },
191
+ get excludeFromTabOrder() {
192
+ return getProps().excludeFromTabOrder;
193
+ },
194
+ },
195
+ ref as unknown as (el: HTMLElement) => void,
196
+ );
158
197
 
159
198
  // Combine press and focusable props for input
160
199
  const interactions = mergeProps(pressProps, focusableProps);
161
200
 
162
201
  // Filter DOM props
163
- const domProps = () => filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true });
202
+ const domProps = () =>
203
+ filterDOMProps(getProps() as unknown as Record<string, unknown>, { labelable: true });
164
204
 
165
205
  // Handle input change
166
206
  const onChange: JSX.EventHandler<HTMLInputElement, Event> = (e) => {
@@ -182,9 +222,11 @@ export function createToggle(
182
222
  createEffect(() => {
183
223
  const p = getProps();
184
224
  const hasChildren = p.children != null;
185
- const hasAriaLabel = p['aria-label'] != null || p['aria-labelledby'] != null;
225
+ const hasAriaLabel = p["aria-label"] != null || p["aria-labelledby"] != null;
186
226
  if (!hasChildren && !hasAriaLabel && isDevEnv()) {
187
- console.warn('If you do not provide children, you must specify an aria-label for accessibility');
227
+ console.warn(
228
+ "If you do not provide children, you must specify an aria-label for accessibility",
229
+ );
188
230
  }
189
231
  });
190
232
 
@@ -194,20 +236,20 @@ export function createToggle(
194
236
  return {
195
237
  labelProps: mergeProps(labelPressProps, {
196
238
  onClick: (e: MouseEvent) => e.preventDefault(),
197
- }),
239
+ }) as JSX.LabelHTMLAttributes<HTMLLabelElement>,
198
240
  get inputProps() {
199
241
  const p = getProps();
200
242
  return mergeProps(domProps(), {
201
- 'aria-invalid': isInvalid() || undefined,
202
- 'aria-errormessage': p['aria-errormessage'],
203
- 'aria-controls': p['aria-controls'],
204
- 'aria-readonly': isReadOnly() || undefined,
243
+ "aria-invalid": isInvalid() || undefined,
244
+ "aria-errormessage": p["aria-errormessage"],
245
+ "aria-controls": p["aria-controls"],
246
+ "aria-readonly": isReadOnly() || undefined,
205
247
  onChange,
206
248
  disabled: isDisabled(),
207
249
  ...(p.value == null ? {} : { value: p.value }),
208
250
  name: p.name,
209
251
  form: p.form,
210
- type: 'checkbox' as const,
252
+ type: "checkbox" as const,
211
253
  ...interactions,
212
254
  // Stop click propagation to prevent labelProps.onClick from calling preventDefault
213
255
  // which would prevent the checkbox from toggling in JSDOM/testing-library environments
@@ -6,12 +6,8 @@
6
6
  * This is a 1:1 port of @react-stately/toggle's useToggleState.
7
7
  */
8
8
 
9
- import { createSignal, Accessor } from 'solid-js';
10
- import { type MaybeAccessor, access } from '../utils/reactivity';
11
-
12
- // ============================================
13
- // TYPES
14
- // ============================================
9
+ import { createSignal, Accessor } from "solid-js";
10
+ import { type MaybeAccessor, access } from "../utils/reactivity";
15
11
 
16
12
  export interface ToggleStateOptions {
17
13
  /** Whether the element should be selected (controlled). */
@@ -35,10 +31,6 @@ export interface ToggleState {
35
31
  toggle(): void;
36
32
  }
37
33
 
38
- // ============================================
39
- // IMPLEMENTATION
40
- // ============================================
41
-
42
34
  /**
43
35
  * Provides state management for toggle components like checkboxes and switches.
44
36
  */
@@ -1,7 +1,6 @@
1
- // Re-export state from solid-stately
2
- export { createToggleState } from '@proyecto-viviana/solid-stately';
3
- export type { ToggleStateOptions, ToggleState } from '@proyecto-viviana/solid-stately';
1
+ export { createToggleState } from "@proyecto-viviana/solid-stately";
2
+ export type { ToggleStateOptions, ToggleState } from "@proyecto-viviana/solid-stately";
4
3
 
5
4
  // ARIA hook (solidaria-specific)
6
- export { createToggle } from './createToggle';
7
- export type { AriaToggleProps, ToggleAria } from './createToggle';
5
+ export { createToggle } from "./createToggle";
6
+ export type { AriaToggleProps, ToggleAria } from "./createToggle";