@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
@@ -3,21 +3,26 @@
3
3
  * Based on @react-aria/gridlist/useGridListItem.
4
4
  */
5
5
 
6
- import { createMemo, createSignal, type Accessor } from 'solid-js';
7
- import type { JSX } from 'solid-js';
8
- import type { GridState, GridCollection } from '@proyecto-viviana/solid-stately';
9
- import type { AriaGridListItemProps, GridListItemAria } from './types';
10
- import { getGridListData } from './createGridList';
6
+ import { createMemo, createSignal, type Accessor } from "solid-js";
7
+ import type { JSX } from "solid-js";
8
+ import type { GridState, GridCollection } from "@proyecto-viviana/solid-stately";
9
+ import type { AriaGridListItemProps, GridListItemAria } from "./types";
10
+ import { getGridListData } from "./createGridList";
11
11
 
12
12
  /**
13
13
  * Creates accessibility props for a grid list item.
14
14
  */
15
- export function createGridListItem<T extends object, C extends GridCollection<T> = GridCollection<T>>(
15
+ export function createGridListItem<
16
+ T extends object,
17
+ C extends GridCollection<T> = GridCollection<T>,
18
+ >(
16
19
  props: Accessor<AriaGridListItemProps>,
17
20
  state: Accessor<GridState<T, C>>,
18
- _ref: Accessor<HTMLLIElement | null>
21
+ _ref: Accessor<HTMLElement | null>,
19
22
  ): GridListItemAria {
20
23
  const [isPressed, setIsPressed] = createSignal(false);
24
+ let isPointerPressed = false;
25
+ let ignoreNextClick = false;
21
26
 
22
27
  const isSelected = createMemo(() => {
23
28
  const s = state();
@@ -37,8 +42,7 @@ export function createGridListItem<T extends object, C extends GridCollection<T>
37
42
  return s.focusedKey === p.node.key;
38
43
  });
39
44
 
40
- // Handle click/press for selection and actions
41
- const onClick = (e: MouseEvent) => {
45
+ const handleActivation = (e: MouseEvent | PointerEvent) => {
42
46
  const s = state();
43
47
  const p = props();
44
48
 
@@ -49,14 +53,14 @@ export function createGridListItem<T extends object, C extends GridCollection<T>
49
53
  const onAction = gridListData?.actions.onAction;
50
54
 
51
55
  // Handle selection
52
- if (s.selectionMode !== 'none') {
53
- if (e.shiftKey && s.selectionMode === 'multiple') {
56
+ if (s.selectionMode !== "none") {
57
+ if (e.shiftKey && s.selectionMode === "multiple") {
54
58
  s.extendSelection(p.node.key);
55
- } else if (e.ctrlKey || e.metaKey) {
59
+ } else if (p.selectionBehavior === "toggle" || e.ctrlKey || e.metaKey) {
56
60
  s.toggleSelection(p.node.key);
57
61
  } else {
58
62
  // Replace selection or toggle if already selected
59
- if (isSelected() && s.selectedKeys !== 'all') {
63
+ if (isSelected() && s.selectedKeys !== "all") {
60
64
  const selectedKeys = s.selectedKeys as Set<unknown>;
61
65
  if (selectedKeys.size === 1) {
62
66
  // Single selection, trigger action
@@ -84,13 +88,23 @@ export function createGridListItem<T extends object, C extends GridCollection<T>
84
88
  }
85
89
  };
86
90
 
91
+ // Handle click/press for selection and actions.
92
+ const onClick = (e: MouseEvent) => {
93
+ if (ignoreNextClick) {
94
+ ignoreNextClick = false;
95
+ return;
96
+ }
97
+
98
+ handleActivation(e);
99
+ };
100
+
87
101
  const onKeyDown = (e: KeyboardEvent) => {
88
102
  const s = state();
89
103
  const p = props();
90
104
 
91
105
  if (isDisabled()) return;
92
106
 
93
- if (e.key === 'Enter') {
107
+ if (e.key === "Enter") {
94
108
  // Get grid list metadata for actions
95
109
  const gridListData = getGridListData(s);
96
110
  const onAction = gridListData?.actions.onAction;
@@ -106,9 +120,9 @@ export function createGridListItem<T extends object, C extends GridCollection<T>
106
120
  p.onAction();
107
121
  }
108
122
  }
109
- } else if (e.key === ' ' || e.key === 'Space' || e.key === 'Spacebar') {
123
+ } else if (e.key === " " || e.key === "Space" || e.key === "Spacebar") {
110
124
  // Space toggles selection
111
- if (s.selectionMode !== 'none') {
125
+ if (s.selectionMode !== "none") {
112
126
  e.preventDefault();
113
127
  s.toggleSelection(p.node.key);
114
128
  }
@@ -122,10 +136,39 @@ export function createGridListItem<T extends object, C extends GridCollection<T>
122
136
  };
123
137
 
124
138
  const onPointerDown = () => {
139
+ if (isDisabled()) return;
140
+ isPointerPressed = true;
125
141
  setIsPressed(true);
126
142
  };
127
143
 
128
- const onPointerUp = () => {
144
+ const onPointerUp = (e: PointerEvent) => {
145
+ const wasPointerPressed = isPointerPressed;
146
+ isPointerPressed = false;
147
+ setIsPressed(false);
148
+
149
+ if (!wasPointerPressed || isDisabled()) return;
150
+
151
+ const currentTarget = e.currentTarget;
152
+ const target = e.target;
153
+ if (
154
+ currentTarget instanceof HTMLElement &&
155
+ target instanceof Node &&
156
+ !currentTarget.contains(target)
157
+ ) {
158
+ return;
159
+ }
160
+
161
+ ignoreNextClick = true;
162
+ handleActivation(e);
163
+ };
164
+
165
+ const onPointerCancel = () => {
166
+ isPointerPressed = false;
167
+ setIsPressed(false);
168
+ };
169
+
170
+ const onPointerLeave = () => {
171
+ isPointerPressed = false;
129
172
  setIsPressed(false);
130
173
  };
131
174
 
@@ -135,28 +178,30 @@ export function createGridListItem<T extends object, C extends GridCollection<T>
135
178
  const node = p.node;
136
179
 
137
180
  const baseProps: Record<string, unknown> = {
138
- role: 'row',
139
- 'aria-selected': s.selectionMode !== 'none' ? isSelected() : undefined,
140
- 'aria-disabled': isDisabled() || undefined,
181
+ role: "row",
182
+ "aria-selected": s.selectionMode !== "none" ? isSelected() : undefined,
183
+ "aria-disabled": isDisabled() || undefined,
141
184
  tabIndex: isFocused() ? 0 : -1,
142
185
  onClick,
143
186
  onKeyDown,
144
187
  onFocus,
145
188
  onPointerDown,
146
189
  onPointerUp,
190
+ onPointerCancel,
191
+ onPointerLeave,
147
192
  };
148
193
 
149
194
  // Add aria-rowindex for virtualized lists
150
195
  if (p.isVirtualized && node.rowIndex != null) {
151
- baseProps['aria-rowindex'] = node.rowIndex + 1; // 1-based
196
+ baseProps["aria-rowindex"] = node.rowIndex + 1; // 1-based
152
197
  }
153
198
 
154
- return baseProps as JSX.HTMLAttributes<HTMLLIElement>;
199
+ return baseProps as JSX.HTMLAttributes<HTMLElement>;
155
200
  });
156
201
 
157
202
  const gridCellProps = createMemo(() => {
158
203
  return {
159
- role: 'gridcell',
204
+ role: "gridcell",
160
205
  } as JSX.HTMLAttributes<HTMLDivElement>;
161
206
  });
162
207
 
@@ -3,18 +3,21 @@
3
3
  * Based on @react-aria/gridlist.
4
4
  */
5
5
 
6
- import { createMemo, type Accessor } from 'solid-js';
7
- import type { JSX } from 'solid-js';
8
- import { createId } from '@proyecto-viviana/solid-stately';
9
- import type { GridState, GridCollection } from '@proyecto-viviana/solid-stately';
10
- import type { AriaGridListSelectionCheckboxProps, GridListSelectionCheckboxAria } from './types';
6
+ import { createMemo, type Accessor } from "solid-js";
7
+ import type { JSX } from "solid-js";
8
+ import { createId } from "@proyecto-viviana/solid-stately";
9
+ import type { GridState, GridCollection } from "@proyecto-viviana/solid-stately";
10
+ import type { AriaGridListSelectionCheckboxProps, GridListSelectionCheckboxAria } from "./types";
11
11
 
12
12
  /**
13
13
  * Creates accessibility props for a grid list item selection checkbox.
14
14
  */
15
- export function createGridListSelectionCheckbox<T extends object, C extends GridCollection<T> = GridCollection<T>>(
15
+ export function createGridListSelectionCheckbox<
16
+ T extends object,
17
+ C extends GridCollection<T> = GridCollection<T>,
18
+ >(
16
19
  props: Accessor<AriaGridListSelectionCheckboxProps>,
17
- state: Accessor<GridState<T, C>>
20
+ state: Accessor<GridState<T, C>>,
18
21
  ): GridListSelectionCheckboxAria {
19
22
  const checkboxId = createId();
20
23
 
@@ -41,11 +44,11 @@ export function createGridListSelectionCheckbox<T extends object, C extends Grid
41
44
  const checkboxProps = createMemo(() => {
42
45
  const baseProps: Record<string, unknown> = {
43
46
  id: checkboxId,
44
- type: 'checkbox',
47
+ type: "checkbox",
45
48
  checked: isSelected(),
46
49
  disabled: isDisabled(),
47
50
  onChange,
48
- 'aria-label': 'Select',
51
+ "aria-label": "Select",
49
52
  };
50
53
 
51
54
  return baseProps as JSX.InputHTMLAttributes<HTMLInputElement>;
@@ -2,9 +2,9 @@
2
2
  * GridList ARIA hooks for solidaria.
3
3
  */
4
4
 
5
- export { createGridList, getGridListData } from './createGridList';
6
- export { createGridListItem } from './createGridListItem';
7
- export { createGridListSelectionCheckbox } from './createGridListSelectionCheckbox';
5
+ export { createGridList, getGridListData } from "./createGridList";
6
+ export { createGridListItem } from "./createGridListItem";
7
+ export { createGridListSelectionCheckbox } from "./createGridListSelectionCheckbox";
8
8
 
9
9
  export type {
10
10
  AriaGridListProps,
@@ -13,4 +13,4 @@ export type {
13
13
  GridListItemAria,
14
14
  AriaGridListSelectionCheckboxProps,
15
15
  GridListSelectionCheckboxAria,
16
- } from './types';
16
+ } from "./types";
@@ -3,8 +3,8 @@
3
3
  * Based on @react-aria/gridlist types.
4
4
  */
5
5
 
6
- import type { JSX } from 'solid-js';
7
- import type { Key, GridNode } from '@proyecto-viviana/solid-stately';
6
+ import type { JSX } from "solid-js";
7
+ import type { Key, GridNode } from "@proyecto-viviana/solid-stately";
8
8
 
9
9
  /**
10
10
  * Props for the createGridList hook.
@@ -13,17 +13,19 @@ export interface AriaGridListProps {
13
13
  /** ID for the grid list element. */
14
14
  id?: string;
15
15
  /** ARIA label for the grid list. */
16
- 'aria-label'?: string;
16
+ "aria-label"?: string;
17
17
  /** ARIA labelledby for the grid list. */
18
- 'aria-labelledby'?: string;
18
+ "aria-labelledby"?: string;
19
19
  /** ARIA describedby for the grid list. */
20
- 'aria-describedby'?: string;
20
+ "aria-describedby"?: string;
21
21
  /** Whether the grid list uses virtual scrolling. */
22
22
  isVirtualized?: boolean;
23
23
  /** Handler for item actions. */
24
24
  onAction?: (key: Key) => void;
25
25
  /** Whether selection should occur on press up. */
26
26
  shouldSelectOnPressUp?: boolean;
27
+ /** How selection should behave when pressing an item. */
28
+ selectionBehavior?: "replace" | "toggle";
27
29
  /** Whether the grid list is disabled. */
28
30
  isDisabled?: boolean;
29
31
  }
@@ -33,7 +35,7 @@ export interface AriaGridListProps {
33
35
  */
34
36
  export interface GridListAria {
35
37
  /** Props to spread on the grid list element. */
36
- gridProps: JSX.HTMLAttributes<HTMLUListElement>;
38
+ gridProps: JSX.HTMLAttributes<HTMLElement>;
37
39
  }
38
40
 
39
41
  /**
@@ -44,6 +46,8 @@ export interface AriaGridListItemProps {
44
46
  node: GridNode<unknown>;
45
47
  /** Whether the grid list is virtualized. */
46
48
  isVirtualized?: boolean;
49
+ /** How selection should behave when pressing an item. */
50
+ selectionBehavior?: "replace" | "toggle";
47
51
  /** Handler for item action. */
48
52
  onAction?: () => void;
49
53
  }
@@ -53,7 +57,7 @@ export interface AriaGridListItemProps {
53
57
  */
54
58
  export interface GridListItemAria {
55
59
  /** Props to spread on the item element. */
56
- rowProps: JSX.HTMLAttributes<HTMLLIElement>;
60
+ rowProps: JSX.HTMLAttributes<HTMLElement>;
57
61
  /** Props to spread on the grid cell wrapper. */
58
62
  gridCellProps: JSX.HTMLAttributes<HTMLDivElement>;
59
63
  /** Whether the item is selected. */
@@ -6,23 +6,16 @@
6
6
  * Port of @react-aria/i18n useCollator.
7
7
  */
8
8
 
9
- import { createMemo } from 'solid-js';
10
- import { useLocale } from './locale';
11
- import { createCacheKey } from './utils';
12
-
13
- // ============================================
14
- // CACHE
15
- // ============================================
9
+ import { createMemo } from "solid-js";
10
+ import { useLocale } from "./locale";
11
+ import { createCacheKey } from "./utils";
16
12
 
17
13
  const collatorCache = new Map<string, Intl.Collator>();
18
14
 
19
15
  /**
20
16
  * Gets or creates a cached collator.
21
17
  */
22
- function getCachedCollator(
23
- locale: string,
24
- options?: Intl.CollatorOptions
25
- ): Intl.Collator {
18
+ function getCachedCollator(locale: string, options?: Intl.CollatorOptions): Intl.Collator {
26
19
  const cacheKey = createCacheKey(locale, options as Record<string, unknown>);
27
20
 
28
21
  if (collatorCache.has(cacheKey)) {
@@ -34,10 +27,6 @@ function getCachedCollator(
34
27
  return collator;
35
28
  }
36
29
 
37
- // ============================================
38
- // HOOK
39
- // ============================================
40
-
41
30
  /**
42
31
  * Provides localized string collation for the current locale.
43
32
  * Useful for sorting strings according to locale-specific rules.
@@ -70,9 +59,7 @@ function getCachedCollator(
70
59
  * // ['a1', 'a10', 'a2'].sort(numericCollator().compare) -> ['a1', 'a2', 'a10']
71
60
  * ```
72
61
  */
73
- export function createCollator(
74
- options?: Intl.CollatorOptions
75
- ): () => Intl.Collator {
62
+ export function createCollator(options?: Intl.CollatorOptions): () => Intl.Collator {
76
63
  const locale = useLocale();
77
64
 
78
65
  return createMemo(() => getCachedCollator(locale().locale, options));
@@ -6,13 +6,9 @@
6
6
  * Port of @react-aria/i18n useDateFormatter.
7
7
  */
8
8
 
9
- import { createMemo } from 'solid-js';
10
- import { useLocale } from './locale';
11
- import { createCacheKey } from './utils';
12
-
13
- // ============================================
14
- // CACHE
15
- // ============================================
9
+ import { createMemo } from "solid-js";
10
+ import { useLocale } from "./locale";
11
+ import { createCacheKey } from "./utils";
16
12
 
17
13
  const dateFormatterCache = new Map<string, Intl.DateTimeFormat>();
18
14
 
@@ -21,7 +17,7 @@ const dateFormatterCache = new Map<string, Intl.DateTimeFormat>();
21
17
  */
22
18
  function getCachedDateFormatter(
23
19
  locale: string,
24
- options?: Intl.DateTimeFormatOptions
20
+ options?: Intl.DateTimeFormatOptions,
25
21
  ): Intl.DateTimeFormat {
26
22
  const cacheKey = createCacheKey(locale, options as Record<string, unknown>);
27
23
 
@@ -34,10 +30,6 @@ function getCachedDateFormatter(
34
30
  return formatter;
35
31
  }
36
32
 
37
- // ============================================
38
- // HOOK
39
- // ============================================
40
-
41
33
  /**
42
34
  * Provides localized date and time formatting for the current locale.
43
35
  * Automatically updates when the locale changes.
@@ -75,7 +67,7 @@ function getCachedDateFormatter(
75
67
  * ```
76
68
  */
77
69
  export function createDateFormatter(
78
- options?: Intl.DateTimeFormatOptions
70
+ options?: Intl.DateTimeFormatOptions,
79
71
  ): () => Intl.DateTimeFormat {
80
72
  const locale = useLocale();
81
73
 
@@ -6,12 +6,8 @@
6
6
  * Port of @react-aria/i18n useFilter.
7
7
  */
8
8
 
9
- import { createMemo } from 'solid-js';
10
- import { createCollator } from './createCollator';
11
-
12
- // ============================================
13
- // TYPES
14
- // ============================================
9
+ import { createMemo } from "solid-js";
10
+ import { createCollator } from "./createCollator";
15
11
 
16
12
  export interface Filter {
17
13
  /** Returns whether a string starts with a given substring. */
@@ -22,10 +18,6 @@ export interface Filter {
22
18
  contains(string: string, substring: string): boolean;
23
19
  }
24
20
 
25
- // ============================================
26
- // HOOK
27
- // ============================================
28
-
29
21
  /**
30
22
  * Provides localized string search functionality for filtering or matching items.
31
23
  * Respects locale-specific collation rules for case and diacritic sensitivity.
@@ -68,7 +60,7 @@ export interface Filter {
68
60
  */
69
61
  export function createFilter(options?: Intl.CollatorOptions): () => Filter {
70
62
  const collator = createCollator({
71
- usage: 'search',
63
+ usage: "search",
72
64
  ...options,
73
65
  });
74
66
 
@@ -81,13 +73,10 @@ export function createFilter(options?: Intl.CollatorOptions): () => Filter {
81
73
  }
82
74
 
83
75
  // Normalize both strings for safe slicing
84
- const normalizedStr = str.normalize('NFC');
85
- const normalizedSub = substring.normalize('NFC');
76
+ const normalizedStr = str.normalize("NFC");
77
+ const normalizedSub = substring.normalize("NFC");
86
78
 
87
- return (
88
- coll.compare(normalizedStr.slice(0, normalizedSub.length), normalizedSub) ===
89
- 0
90
- );
79
+ return coll.compare(normalizedStr.slice(0, normalizedSub.length), normalizedSub) === 0;
91
80
  };
92
81
 
93
82
  const endsWith = (str: string, substring: string): boolean => {
@@ -95,12 +84,10 @@ export function createFilter(options?: Intl.CollatorOptions): () => Filter {
95
84
  return true;
96
85
  }
97
86
 
98
- const normalizedStr = str.normalize('NFC');
99
- const normalizedSub = substring.normalize('NFC');
87
+ const normalizedStr = str.normalize("NFC");
88
+ const normalizedSub = substring.normalize("NFC");
100
89
 
101
- return (
102
- coll.compare(normalizedStr.slice(-normalizedSub.length), normalizedSub) === 0
103
- );
90
+ return coll.compare(normalizedStr.slice(-normalizedSub.length), normalizedSub) === 0;
104
91
  };
105
92
 
106
93
  const contains = (str: string, substring: string): boolean => {
@@ -108,8 +95,8 @@ export function createFilter(options?: Intl.CollatorOptions): () => Filter {
108
95
  return true;
109
96
  }
110
97
 
111
- const normalizedStr = str.normalize('NFC');
112
- const normalizedSub = substring.normalize('NFC');
98
+ const normalizedStr = str.normalize("NFC");
99
+ const normalizedSub = substring.normalize("NFC");
113
100
  const sliceLen = normalizedSub.length;
114
101
 
115
102
  for (let scan = 0; scan + sliceLen <= normalizedStr.length; scan++) {
@@ -6,9 +6,9 @@
6
6
  * Port of @react-aria/i18n useNumberFormatter.
7
7
  */
8
8
 
9
- import { createMemo } from 'solid-js';
10
- import { useLocale } from './locale';
11
- import { NumberFormatter, type NumberFormatOptions } from './NumberFormatter';
9
+ import { createMemo } from "solid-js";
10
+ import { useLocale } from "./locale";
11
+ import { NumberFormatter, type NumberFormatOptions } from "@internationalized/number";
12
12
 
13
13
  /**
14
14
  * Provides localized number formatting for the current locale.
@@ -43,9 +43,7 @@ import { NumberFormatter, type NumberFormatOptions } from './NumberFormatter';
43
43
  * tempFormatter().format(25); // '25°C'
44
44
  * ```
45
45
  */
46
- export function createNumberFormatter(
47
- options: NumberFormatOptions = {}
48
- ): () => NumberFormatter {
46
+ export function createNumberFormatter(options: NumberFormatOptions = {}): () => NumberFormatter {
49
47
  const locale = useLocale();
50
48
 
51
49
  return createMemo(() => new NumberFormatter(locale().locale, options));
@@ -8,19 +8,24 @@ import {
8
8
  LocalizedStringDictionary,
9
9
  LocalizedStringFormatter,
10
10
  type LocalizedStrings,
11
- } from '@internationalized/string';
12
- import { createMemo, type Accessor } from 'solid-js';
13
- import { useLocale } from './locale';
11
+ } from "@internationalized/string";
12
+ import { createMemo, type Accessor } from "solid-js";
13
+ import { useLocale } from "./locale";
14
14
 
15
15
  // Cache for dictionaries to avoid recreating them
16
- const cache = new WeakMap<LocalizedStrings<string, LocalizedString>, LocalizedStringDictionary<string, LocalizedString>>();
16
+ const cache = new WeakMap<
17
+ LocalizedStrings<string, LocalizedString>,
18
+ LocalizedStringDictionary<string, LocalizedString>
19
+ >();
17
20
 
18
21
  function getCachedDictionary<K extends string, T extends LocalizedString>(
19
- strings: LocalizedStrings<K, T>
22
+ strings: LocalizedStrings<K, T>,
20
23
  ): LocalizedStringDictionary<K, T> {
21
24
  let dictionary = cache.get(strings as LocalizedStrings<string, LocalizedString>);
22
25
  if (!dictionary) {
23
- dictionary = new LocalizedStringDictionary(strings as LocalizedStrings<string, LocalizedString>);
26
+ dictionary = new LocalizedStringDictionary(
27
+ strings as LocalizedStrings<string, LocalizedString>,
28
+ );
24
29
  cache.set(strings as LocalizedStrings<string, LocalizedString>, dictionary);
25
30
  }
26
31
  return dictionary as LocalizedStringDictionary<K, T>;
@@ -29,10 +34,10 @@ function getCachedDictionary<K extends string, T extends LocalizedString>(
29
34
  /**
30
35
  * Returns a cached LocalizedStringDictionary for the given strings.
31
36
  */
32
- export function createStringDictionary<K extends string = string, T extends LocalizedString = string>(
33
- strings: LocalizedStrings<K, T>,
34
- packageName?: string
35
- ): LocalizedStringDictionary<K, T> {
37
+ export function createStringDictionary<
38
+ K extends string = string,
39
+ T extends LocalizedString = string,
40
+ >(strings: LocalizedStrings<K, T>, packageName?: string): LocalizedStringDictionary<K, T> {
36
41
  return (
37
42
  (packageName && LocalizedStringDictionary.getGlobalDictionaryForPackage(packageName)) ||
38
43
  getCachedDictionary(strings)
@@ -68,17 +73,16 @@ export function createStringDictionary<K extends string = string, T extends Loca
68
73
  * }
69
74
  * ```
70
75
  */
71
- export function createStringFormatter<K extends string = string, T extends LocalizedString = string>(
72
- strings: LocalizedStrings<K, T>,
73
- packageName?: string
74
- ): Accessor<LocalizedStringFormatter<K, T>> {
76
+ export function createStringFormatter<
77
+ K extends string = string,
78
+ T extends LocalizedString = string,
79
+ >(strings: LocalizedStrings<K, T>, packageName?: string): Accessor<LocalizedStringFormatter<K, T>> {
75
80
  const localeAccessor = useLocale();
76
81
  const dictionary = createStringDictionary(strings, packageName);
77
82
 
78
83
  return createMemo(() => new LocalizedStringFormatter(localeAccessor().locale, dictionary));
79
84
  }
80
85
 
81
- // Re-export types for convenience
82
86
  export type {
83
87
  LocalizedString,
84
88
  LocalizedStringDictionary,
package/src/i18n/index.ts CHANGED
@@ -7,27 +7,24 @@ export {
7
7
  type Direction,
8
8
  type Locale,
9
9
  type I18nProviderProps,
10
- } from './locale';
10
+ } from "./locale";
11
11
 
12
12
  // RTL utilities
13
- export { isRTL, createCacheKey } from './utils';
13
+ export { isRTL, createCacheKey } from "./utils";
14
14
 
15
15
  // Number formatting
16
- export {
17
- NumberFormatter,
18
- type NumberFormatOptions,
19
- } from './NumberFormatter';
16
+ export { NumberFormatter, type NumberFormatOptions } from "@internationalized/number";
20
17
 
21
- export { createNumberFormatter } from './createNumberFormatter';
18
+ export { createNumberFormatter } from "./createNumberFormatter";
22
19
 
23
20
  // Date formatting
24
- export { createDateFormatter } from './createDateFormatter';
21
+ export { createDateFormatter } from "./createDateFormatter";
25
22
 
26
23
  // String collation
27
- export { createCollator } from './createCollator';
24
+ export { createCollator } from "./createCollator";
28
25
 
29
26
  // String filtering
30
- export { createFilter, type Filter } from './createFilter';
27
+ export { createFilter, type Filter } from "./createFilter";
31
28
 
32
29
  // String formatting (ICU MessageFormat)
33
30
  export {
@@ -37,4 +34,4 @@ export {
37
34
  type LocalizedStringDictionary,
38
35
  type LocalizedStringFormatter,
39
36
  type LocalizedStrings,
40
- } from './createStringFormatter';
37
+ } from "./createStringFormatter";