@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,10 +4,12 @@
4
4
  * Provides ARIA attributes and keyboard/pointer handling for a circular hue selector.
5
5
  */
6
6
 
7
- import { createMemo, type Accessor } from 'solid-js';
8
- import type { ColorWheelState } from '@proyecto-viviana/solid-stately';
9
- import { createId } from '../ssr';
10
- import type { AriaColorWheelOptions, ColorWheelAria } from './types';
7
+ import { createMemo, onCleanup, type Accessor } from "solid-js";
8
+ import type { ColorWheelState } from "@proyecto-viviana/solid-stately";
9
+ import { useLocale } from "../i18n";
10
+ import { createId } from "../ssr";
11
+ import { focusWithoutScrolling } from "../utils/focus";
12
+ import type { AriaColorWheelOptions, ColorWheelAria } from "./types";
11
13
 
12
14
  /**
13
15
  * Creates ARIA props for a color wheel.
@@ -15,86 +17,191 @@ import type { AriaColorWheelOptions, ColorWheelAria } from './types';
15
17
  export function createColorWheel(
16
18
  props: Accessor<AriaColorWheelOptions>,
17
19
  state: Accessor<ColorWheelState>,
18
- wheelRef: Accessor<HTMLDivElement | null>
20
+ wheelRef: Accessor<HTMLDivElement | null>,
19
21
  ): ColorWheelAria {
20
22
  const getProps = () => props();
21
23
  const getState = () => state();
24
+ const locale = useLocale();
22
25
 
23
26
  // Generate IDs
24
27
  const inputId = createId();
28
+ let cleanupPointerDrag: (() => void) | undefined;
29
+ let cleanupMouseDrag: (() => void) | undefined;
30
+ let dragElement: HTMLElement | null = null;
25
31
 
26
- // Calculate angle from pointer position
27
- const getAngleFromEvent = (e: MouseEvent | PointerEvent) => {
28
- const wheel = wheelRef();
32
+ const outerRadius = () => getProps().outerRadius ?? 100;
33
+ const innerRadius = () => getProps().innerRadius ?? 74;
34
+ const thumbRadius = () => (innerRadius() + outerRadius()) / 2;
35
+
36
+ const getInput = () => wheelRef()?.querySelector<HTMLInputElement>('input[type="range"]') ?? null;
37
+ const focusInput = () => {
38
+ focusWithoutScrolling(getInput());
39
+ queueMicrotask(() => focusWithoutScrolling(getInput()));
40
+ };
41
+
42
+ const getPointFromEvent = (clientX: number, clientY: number, element?: HTMLElement | null) => {
43
+ const wheel = element ?? dragElement ?? wheelRef();
29
44
  if (!wheel) return null;
30
45
 
31
46
  const rect = wheel.getBoundingClientRect();
32
47
  const centerX = rect.left + rect.width / 2;
33
48
  const centerY = rect.top + rect.height / 2;
34
49
 
35
- const dx = e.clientX - centerX;
36
- const dy = e.clientY - centerY;
37
-
38
- return Math.atan2(-dy, dx); // Negative dy because Y is inverted in screen coords
50
+ return {
51
+ x: clientX - centerX,
52
+ y: clientY - centerY,
53
+ };
39
54
  };
40
55
 
41
- // Handle pointer down
42
- const onPointerDown = (e: PointerEvent) => {
43
- if (getProps().isDisabled || getState().isDisabled) return;
56
+ const updateFromPoint = (
57
+ clientX: number,
58
+ clientY: number,
59
+ requireTrackHit = false,
60
+ element?: HTMLElement | null,
61
+ ) => {
62
+ if (getProps().isDisabled || getState().isDisabled) return false;
44
63
 
45
- const angle = getAngleFromEvent(e);
46
- if (angle === null) return;
64
+ const point = getPointFromEvent(clientX, clientY, element);
65
+ if (!point) return false;
47
66
 
48
- getState().setHueFromAngle(angle);
49
- getState().setDragging(true);
67
+ const distance = Math.sqrt(point.x ** 2 + point.y ** 2);
68
+ if (requireTrackHit && (distance <= innerRadius() || distance >= outerRadius())) {
69
+ return false;
70
+ }
50
71
 
51
- (e.target as HTMLElement).setPointerCapture?.(e.pointerId);
72
+ getState().setHueFromPoint(point.x, point.y, thumbRadius());
73
+ return true;
52
74
  };
53
75
 
54
- // Handle pointer move
55
- const onPointerMove = (e: PointerEvent) => {
76
+ const endDrag = () => {
56
77
  if (!getState().isDragging) return;
78
+ getState().setDragging(false);
79
+ dragElement = null;
80
+ focusInput();
81
+ };
57
82
 
58
- const angle = getAngleFromEvent(e);
59
- if (angle === null) return;
83
+ const installPointerDragListeners = () => {
84
+ if (typeof window === "undefined") return;
85
+ cleanupPointerDrag?.();
60
86
 
61
- getState().setHueFromAngle(angle);
87
+ const onPointerMove = (e: PointerEvent) => {
88
+ if (!getState().isDragging) return;
89
+ updateFromPoint(e.clientX, e.clientY);
90
+ };
91
+ const onPointerEnd = () => {
92
+ cleanupPointerDrag?.();
93
+ cleanupPointerDrag = undefined;
94
+ endDrag();
95
+ };
96
+
97
+ window.addEventListener("pointermove", onPointerMove);
98
+ window.addEventListener("pointerup", onPointerEnd);
99
+ window.addEventListener("pointercancel", onPointerEnd);
100
+
101
+ cleanupPointerDrag = () => {
102
+ window.removeEventListener("pointermove", onPointerMove);
103
+ window.removeEventListener("pointerup", onPointerEnd);
104
+ window.removeEventListener("pointercancel", onPointerEnd);
105
+ };
106
+ };
107
+
108
+ const installMouseDragListeners = () => {
109
+ if (typeof window === "undefined") return;
110
+ cleanupMouseDrag?.();
111
+
112
+ const onMouseMove = (e: MouseEvent) => {
113
+ if (!getState().isDragging) return;
114
+ updateFromPoint(e.clientX, e.clientY);
115
+ };
116
+ const onMouseEnd = () => {
117
+ cleanupMouseDrag?.();
118
+ cleanupMouseDrag = undefined;
119
+ endDrag();
120
+ };
121
+
122
+ window.addEventListener("mousemove", onMouseMove);
123
+ window.addEventListener("mouseup", onMouseEnd);
124
+
125
+ cleanupMouseDrag = () => {
126
+ window.removeEventListener("mousemove", onMouseMove);
127
+ window.removeEventListener("mouseup", onMouseEnd);
128
+ };
62
129
  };
63
130
 
64
- // Handle pointer up
65
- const onPointerUp = (e: PointerEvent) => {
66
- if (getState().isDragging) {
67
- getState().setDragging(false);
68
- (e.target as HTMLElement).releasePointerCapture?.(e.pointerId);
131
+ onCleanup(() => {
132
+ cleanupPointerDrag?.();
133
+ cleanupMouseDrag?.();
134
+ });
135
+
136
+ const onTrackPointerDown = (e: PointerEvent) => {
137
+ dragElement = e.currentTarget as HTMLElement;
138
+ if (!updateFromPoint(e.clientX, e.clientY, true, dragElement)) {
139
+ dragElement = null;
140
+ return;
141
+ }
142
+ focusInput();
143
+ getState().setDragging(true);
144
+ installPointerDragListeners();
145
+ e.preventDefault();
146
+ };
147
+
148
+ const onTrackMouseDown = (e: MouseEvent) => {
149
+ dragElement = e.currentTarget as HTMLElement;
150
+ if (!updateFromPoint(e.clientX, e.clientY, true, dragElement)) {
151
+ dragElement = null;
152
+ return;
69
153
  }
154
+ focusInput();
155
+ getState().setDragging(true);
156
+ installMouseDragListeners();
157
+ e.preventDefault();
158
+ };
159
+
160
+ const onThumbPointerDown = (e: PointerEvent) => {
161
+ if (getProps().isDisabled || getState().isDisabled) return;
162
+ focusInput();
163
+ getState().setDragging(true);
164
+ installPointerDragListeners();
165
+ e.preventDefault();
166
+ e.stopPropagation();
167
+ };
168
+
169
+ const onThumbMouseDown = (e: MouseEvent) => {
170
+ if (getProps().isDisabled || getState().isDisabled) return;
171
+ focusInput();
172
+ getState().setDragging(true);
173
+ installMouseDragListeners();
174
+ e.preventDefault();
175
+ e.stopPropagation();
70
176
  };
71
177
 
72
178
  // Handle keyboard
73
179
  const onKeyDown = (e: KeyboardEvent) => {
180
+ if (e.defaultPrevented) return;
74
181
  if (getProps().isDisabled || getState().isDisabled) return;
75
182
 
76
183
  const s = getState();
77
184
  let handled = true;
78
185
 
79
186
  switch (e.key) {
80
- case 'ArrowRight':
81
- case 'ArrowUp':
187
+ case "ArrowRight":
188
+ case "ArrowUp":
82
189
  s.increment();
83
190
  break;
84
- case 'ArrowLeft':
85
- case 'ArrowDown':
191
+ case "ArrowLeft":
192
+ case "ArrowDown":
86
193
  s.decrement();
87
194
  break;
88
- case 'PageUp':
195
+ case "PageUp":
89
196
  s.increment(s.pageStep);
90
197
  break;
91
- case 'PageDown':
198
+ case "PageDown":
92
199
  s.decrement(s.pageStep);
93
200
  break;
94
- case 'Home':
201
+ case "Home":
95
202
  s.setHue(0);
96
203
  break;
97
- case 'End':
204
+ case "End":
98
205
  s.setHue(359);
99
206
  break;
100
207
  default:
@@ -102,6 +209,8 @@ export function createColorWheel(
102
209
  }
103
210
 
104
211
  if (handled) {
212
+ s.setDragging(true);
213
+ s.setDragging(false);
105
214
  e.preventDefault();
106
215
  e.stopPropagation();
107
216
  }
@@ -110,28 +219,36 @@ export function createColorWheel(
110
219
  // Hue spectrum conic gradient
111
220
  const conicGradient = `conic-gradient(from 90deg, hsl(0, 100%, 50%), hsl(30, 100%, 50%), hsl(60, 100%, 50%), hsl(90, 100%, 50%), hsl(120, 100%, 50%), hsl(150, 100%, 50%), hsl(180, 100%, 50%), hsl(210, 100%, 50%), hsl(240, 100%, 50%), hsl(270, 100%, 50%), hsl(300, 100%, 50%), hsl(330, 100%, 50%), hsl(360, 100%, 50%))`;
112
221
 
222
+ const ringPath = () => {
223
+ const outer = outerRadius();
224
+ const inner = innerRadius();
225
+ const circlePath = (radius: number) =>
226
+ [
227
+ `M ${outer}, ${outer} m ${-radius}, 0`,
228
+ `a ${radius}, ${radius}, 0, 1, 0, ${radius * 2}, 0`,
229
+ `a ${radius}, ${radius}, 0, 1, 0 ${-radius * 2}, 0`,
230
+ ].join(" ");
231
+ return `path(evenodd, "${circlePath(outer)} ${circlePath(inner)}")`;
232
+ };
233
+
113
234
  // Track props (the wheel container)
114
235
  const trackProps = createMemo(() => {
115
236
  const s = getState();
116
237
  const p = getProps();
117
238
 
118
239
  return {
119
- role: 'presentation' as const,
120
- onPointerDown,
121
- onPointerMove,
122
- onPointerUp,
240
+ onPointerDown: onTrackPointerDown,
241
+ onMouseDown: onTrackMouseDown,
123
242
  style: {
124
- position: 'relative' as const,
125
- 'touch-action': 'none',
126
- 'border-radius': '50%',
243
+ position: "relative" as const,
244
+ "touch-action": "none",
245
+ width: `${outerRadius() * 2}px`,
246
+ height: `${outerRadius() * 2}px`,
127
247
  background: conicGradient,
128
- // Use radial-gradient mask to cut out center hole (creates ring shape)
129
- // 35% inner radius leaves a nice thick ring
130
- '-webkit-mask-image': 'radial-gradient(circle, transparent 35%, black 36%)',
131
- 'mask-image': 'radial-gradient(circle, transparent 35%, black 36%)',
132
- 'forced-color-adjust': 'none' as const,
248
+ "clip-path": ringPath(),
249
+ "forced-color-adjust": "none" as const,
133
250
  },
134
- 'data-disabled': s.isDisabled || p.isDisabled || undefined,
251
+ "data-disabled": s.isDisabled || p.isDisabled || undefined,
135
252
  };
136
253
  });
137
254
 
@@ -139,27 +256,22 @@ export function createColorWheel(
139
256
  const thumbProps = createMemo(() => {
140
257
  const s = getState();
141
258
  const p = getProps();
142
- const angle = s.getThumbAngle();
143
-
144
- // Calculate thumb position on the wheel edge
145
- // Assumes wheel is circular and thumb is at the outer edge
146
- // Angle 0 = right (3 o'clock)
147
- const thumbX = Math.cos(angle);
148
- const thumbY = -Math.sin(angle); // Negative because CSS Y is inverted
259
+ const position = s.getThumbPosition(thumbRadius());
149
260
 
150
261
  return {
151
- role: 'presentation' as const,
262
+ onPointerDown: onThumbPointerDown,
263
+ onMouseDown: onThumbMouseDown,
264
+ onKeyDown,
152
265
  style: {
153
- position: 'absolute' as const,
154
- // Position relative to center, scaled to radius
155
- // These will be overridden by the component with actual radius
156
- left: `calc(50% + ${thumbX * 50}%)`,
157
- top: `calc(50% + ${thumbY * 50}%)`,
158
- transform: 'translate(-50%, -50%)',
159
- 'touch-action': 'none',
266
+ position: "absolute" as const,
267
+ left: `${outerRadius() + position.x}px`,
268
+ top: `${outerRadius() + position.y}px`,
269
+ transform: "translate(-50%, -50%)",
270
+ "touch-action": "none",
271
+ "forced-color-adjust": "none" as const,
160
272
  },
161
- 'data-dragging': s.isDragging || undefined,
162
- 'data-disabled': s.isDisabled || p.isDisabled || undefined,
273
+ "data-dragging": s.isDragging || undefined,
274
+ "data-disabled": s.isDisabled || p.isDisabled || undefined,
163
275
  };
164
276
  });
165
277
 
@@ -169,18 +281,29 @@ export function createColorWheel(
169
281
  const p = getProps();
170
282
 
171
283
  return {
172
- type: 'range',
173
- id: inputId,
284
+ type: "range",
285
+ id: p.id ?? inputId,
174
286
  min: 0,
175
287
  max: 360,
176
288
  step: s.step,
177
289
  value: s.getHue(),
290
+ name: p.name,
291
+ form: p.form,
178
292
  disabled: s.isDisabled || p.isDisabled,
179
- 'aria-label': p['aria-label'] ?? 'Hue',
180
- 'aria-labelledby': p['aria-labelledby'],
181
- 'aria-describedby': p['aria-describedby'],
182
- 'aria-valuetext': `${s.getHue()}°`,
293
+ tabIndex: s.isDisabled || p.isDisabled ? undefined : 0,
294
+ "aria-label":
295
+ p["aria-label"] ??
296
+ (p["aria-labelledby"] ? undefined : s.value.getChannelName("hue", locale().locale)),
297
+ "aria-labelledby": p["aria-labelledby"],
298
+ "aria-describedby": p["aria-describedby"],
299
+ "aria-details": p["aria-details"],
300
+ "aria-errormessage": p["aria-errormessage"],
301
+ "aria-valuetext": `${s.value.formatChannelValue("hue", locale().locale)}, ${s.value.getHueName(locale().locale)}`,
183
302
  onKeyDown,
303
+ onInput: (e: Event) => {
304
+ const target = e.target as HTMLInputElement;
305
+ s.setHue(parseFloat(target.value));
306
+ },
184
307
  onChange: (e: Event) => {
185
308
  const target = e.target as HTMLInputElement;
186
309
  s.setHue(parseFloat(target.value));
@@ -191,15 +314,17 @@ export function createColorWheel(
191
314
  }
192
315
  },
193
316
  style: {
194
- position: 'absolute' as const,
195
- width: '1px',
196
- height: '1px',
197
- padding: '0',
198
- margin: '-1px',
199
- overflow: 'hidden',
200
- clip: 'rect(0, 0, 0, 0)',
201
- 'white-space': 'nowrap',
202
- border: '0',
317
+ position: "absolute" as const,
318
+ width: "100%",
319
+ height: "100%",
320
+ opacity: "0.0001",
321
+ padding: "0",
322
+ margin: "0",
323
+ overflow: "hidden",
324
+ clip: "rect(0, 0, 0, 0)",
325
+ "white-space": "nowrap",
326
+ border: "0",
327
+ "pointer-events": "none" as const,
203
328
  },
204
329
  };
205
330
  });
@@ -14,11 +14,11 @@ export type {
14
14
  ColorFieldAria,
15
15
  AriaColorSwatchOptions,
16
16
  ColorSwatchAria,
17
- } from './types';
17
+ } from "./types";
18
18
 
19
19
  // Hooks
20
- export { createColorSlider } from './createColorSlider';
21
- export { createColorArea } from './createColorArea';
22
- export { createColorWheel } from './createColorWheel';
23
- export { createColorField } from './createColorField';
24
- export { createColorSwatch } from './createColorSwatch';
20
+ export { createColorSlider } from "./createColorSlider";
21
+ export { createColorArea } from "./createColorArea";
22
+ export { createColorWheel } from "./createColorWheel";
23
+ export { createColorField } from "./createColorField";
24
+ export { createColorSwatch } from "./createColorSwatch";
@@ -2,18 +2,30 @@
2
2
  * Color ARIA types.
3
3
  */
4
4
 
5
- import type { JSX } from 'solid-js';
6
- import type { ColorChannel, Color } from '@proyecto-viviana/solid-stately';
5
+ import type { JSX } from "solid-js";
6
+ import type { ColorChannel, Color, ColorSpace } from "@proyecto-viviana/solid-stately";
7
7
 
8
8
  export interface AriaColorSliderOptions {
9
+ /** Element id for the slider track group. */
10
+ id?: string;
9
11
  /** The channel this slider controls. */
10
12
  channel: ColorChannel;
13
+ /** Visible label content, used to connect custom labels with the slider. */
14
+ label?: JSX.Element;
11
15
  /** Accessible label for the slider. */
12
- 'aria-label'?: string;
16
+ "aria-label"?: string;
13
17
  /** ID of element that labels the slider. */
14
- 'aria-labelledby'?: string;
18
+ "aria-labelledby"?: string;
15
19
  /** ID of element that describes the slider. */
16
- 'aria-describedby'?: string;
20
+ "aria-describedby"?: string;
21
+ /** ID of element that provides detailed information about the slider. */
22
+ "aria-details"?: string;
23
+ /** Name for the hidden range input. */
24
+ name?: string;
25
+ /** Associated form owner for the hidden range input. */
26
+ form?: string;
27
+ /** The slider orientation. */
28
+ orientation?: "horizontal" | "vertical";
17
29
  /** Whether the slider is disabled. */
18
30
  isDisabled?: boolean;
19
31
  /** Localized channel name. */
@@ -34,16 +46,28 @@ export interface ColorSliderAria {
34
46
  }
35
47
 
36
48
  export interface AriaColorAreaOptions {
49
+ /** Element id for the color area. */
50
+ id?: string;
37
51
  /** The X channel. */
38
52
  xChannel?: ColorChannel;
39
53
  /** The Y channel. */
40
54
  yChannel?: ColorChannel;
41
55
  /** Accessible label for the area. */
42
- 'aria-label'?: string;
56
+ "aria-label"?: string;
43
57
  /** ID of element that labels the area. */
44
- 'aria-labelledby'?: string;
58
+ "aria-labelledby"?: string;
45
59
  /** ID of element that describes the area. */
46
- 'aria-describedby'?: string;
60
+ "aria-describedby"?: string;
61
+ /** ID of element that provides detailed information about the area. */
62
+ "aria-details"?: string;
63
+ /** Color space to use for channel axes. */
64
+ colorSpace?: ColorSpace;
65
+ /** Name for the hidden X-axis range input. */
66
+ xName?: string;
67
+ /** Name for the hidden Y-axis range input. */
68
+ yName?: string;
69
+ /** Associated form owner for the hidden range inputs. */
70
+ form?: string;
47
71
  /** Whether the area is disabled. */
48
72
  isDisabled?: boolean;
49
73
  }
@@ -62,12 +86,26 @@ export interface ColorAreaAria {
62
86
  }
63
87
 
64
88
  export interface AriaColorWheelOptions {
89
+ /** Element id for the hidden hue range input. */
90
+ id?: string;
65
91
  /** Accessible label for the wheel. */
66
- 'aria-label'?: string;
92
+ "aria-label"?: string;
67
93
  /** ID of element that labels the wheel. */
68
- 'aria-labelledby'?: string;
94
+ "aria-labelledby"?: string;
69
95
  /** ID of element that describes the wheel. */
70
- 'aria-describedby'?: string;
96
+ "aria-describedby"?: string;
97
+ /** ID of element that provides detailed information about the wheel. */
98
+ "aria-details"?: string;
99
+ /** ID of element that provides the error message. */
100
+ "aria-errormessage"?: string;
101
+ /** Name for the hidden hue range input. */
102
+ name?: string;
103
+ /** Associated form owner for the hidden hue range input. */
104
+ form?: string;
105
+ /** Outer radius of the circular track in pixels. */
106
+ outerRadius?: number;
107
+ /** Inner radius of the circular track in pixels. */
108
+ innerRadius?: number;
71
109
  /** Whether the wheel is disabled. */
72
110
  isDisabled?: boolean;
73
111
  }
@@ -82,18 +120,44 @@ export interface ColorWheelAria {
82
120
  }
83
121
 
84
122
  export interface AriaColorFieldOptions {
123
+ /** Element id for the input. */
124
+ id?: string;
85
125
  /** Accessible label for the field. */
86
- 'aria-label'?: string;
126
+ "aria-label"?: string;
87
127
  /** ID of element that labels the field. */
88
- 'aria-labelledby'?: string;
128
+ "aria-labelledby"?: string;
89
129
  /** ID of element that describes the field. */
90
- 'aria-describedby'?: string;
130
+ "aria-describedby"?: string;
131
+ /** ID of element that provides detailed information about the field. */
132
+ "aria-details"?: string;
133
+ /** ID of element that provides the error message. */
134
+ "aria-errormessage"?: string;
135
+ /** Form field name. */
136
+ name?: string;
137
+ /** Associated form owner. */
138
+ form?: string;
139
+ /** Whether browser wheel events should be ignored. */
140
+ isWheelDisabled?: boolean;
91
141
  /** Whether the field is disabled. */
92
142
  isDisabled?: boolean;
93
143
  /** Whether the field is read-only. */
94
144
  isReadOnly?: boolean;
145
+ /** Whether the field is required. */
146
+ isRequired?: boolean;
147
+ /** Whether the field is invalid. */
148
+ isInvalid?: boolean;
149
+ /** Whether to use native or ARIA validation semantics. */
150
+ validationBehavior?: "aria" | "native";
151
+ /** Whether the input should receive focus on mount. */
152
+ autoFocus?: boolean;
153
+ /** Whether the input should be excluded from tab order. */
154
+ excludeFromTabOrder?: boolean;
155
+ /** Placeholder text. */
156
+ placeholder?: string;
95
157
  /** The color channel being edited (for single channel mode). */
96
158
  channel?: ColorChannel;
159
+ /** Color space used for channel mode. */
160
+ colorSpace?: ColorSpace;
97
161
  }
98
162
 
99
163
  export interface ColorFieldAria {
@@ -101,16 +165,34 @@ export interface ColorFieldAria {
101
165
  labelProps: JSX.LabelHTMLAttributes<HTMLLabelElement>;
102
166
  /** Props for the input element. */
103
167
  inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
168
+ /** Props for the description element. */
169
+ descriptionProps: JSX.HTMLAttributes<HTMLElement>;
170
+ /** Props for the error message element. */
171
+ errorMessageProps: JSX.HTMLAttributes<HTMLElement>;
104
172
  }
105
173
 
106
174
  export interface AriaColorSwatchOptions {
175
+ /** Element id for the swatch. */
176
+ id?: string;
177
+ /** A named slot for the swatch element. */
178
+ slot?: string;
107
179
  /** The color to display. */
108
- color: Color | string;
180
+ color?: Color | string;
181
+ /** Localized color name override. */
182
+ colorName?: string;
109
183
  /** Accessible label for the swatch. */
110
- 'aria-label'?: string;
184
+ "aria-label"?: string;
185
+ /** ID of element that labels the swatch. */
186
+ "aria-labelledby"?: string;
187
+ /** ID of element that describes the swatch. */
188
+ "aria-describedby"?: string;
189
+ /** ID of element that provides detailed information about the swatch. */
190
+ "aria-details"?: string;
111
191
  }
112
192
 
113
193
  export interface ColorSwatchAria {
114
194
  /** Props for the swatch element. */
115
195
  swatchProps: JSX.HTMLAttributes<HTMLDivElement>;
196
+ /** The normalized color displayed by the swatch. */
197
+ color: Color;
116
198
  }