@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
package/src/tree/index.ts CHANGED
@@ -2,9 +2,9 @@
2
2
  * Tree ARIA layer exports.
3
3
  */
4
4
 
5
- export { createTree, getTreeData } from './createTree';
6
- export { createTreeItem } from './createTreeItem';
7
- export { createTreeSelectionCheckbox } from './createTreeSelectionCheckbox';
5
+ export { createTree, getTreeData } from "./createTree";
6
+ export { createTreeItem } from "./createTreeItem";
7
+ export { createTreeSelectionCheckbox } from "./createTreeSelectionCheckbox";
8
8
 
9
9
  export type {
10
10
  AriaTreeProps,
@@ -13,4 +13,4 @@ export type {
13
13
  TreeItemAria,
14
14
  AriaTreeSelectionCheckboxProps,
15
15
  TreeSelectionCheckboxAria,
16
- } from './types';
16
+ } from "./types";
package/src/tree/types.ts CHANGED
@@ -3,8 +3,8 @@
3
3
  * Based on @react-aria/tree.
4
4
  */
5
5
 
6
- import type { JSX } from 'solid-js';
7
- import type { Key, TreeNode } from '@proyecto-viviana/solid-stately';
6
+ import type { JSX } from "solid-js";
7
+ import type { Key, TreeNode } from "@proyecto-viviana/solid-stately";
8
8
 
9
9
  /**
10
10
  * Props for createTree.
@@ -13,11 +13,11 @@ export interface AriaTreeProps {
13
13
  /** The unique id for the tree. */
14
14
  id?: string;
15
15
  /** Label for accessibility. */
16
- 'aria-label'?: string;
16
+ "aria-label"?: string;
17
17
  /** ID of an element that labels the tree. */
18
- 'aria-labelledby'?: string;
18
+ "aria-labelledby"?: string;
19
19
  /** ID of an element that describes the tree. */
20
- 'aria-describedby'?: string;
20
+ "aria-describedby"?: string;
21
21
  /** Whether the tree is virtualized. */
22
22
  isVirtualized?: boolean;
23
23
  /** Handler called when an item action is triggered. */
@@ -25,7 +25,7 @@ export interface AriaTreeProps {
25
25
  /** Whether the tree is disabled. */
26
26
  isDisabled?: boolean;
27
27
  /** The writing direction for the tree. Determines expand/collapse key mapping. */
28
- direction?: 'ltr' | 'rtl';
28
+ direction?: "ltr" | "rtl";
29
29
  }
30
30
 
31
31
  /**
@@ -44,8 +44,12 @@ export interface AriaTreeItemProps<T = unknown> {
44
44
  node: TreeNode<T>;
45
45
  /** Whether the item is rendered in a virtualized list. */
46
46
  isVirtualized?: boolean;
47
+ /** How selection should behave when pressing an item. */
48
+ selectionBehavior?: "replace" | "toggle";
47
49
  /** Handler called when this item's action is triggered. */
48
50
  onAction?: () => void;
51
+ /** Whether this item is disabled. */
52
+ isDisabled?: boolean;
49
53
  /** The text value for the item (used for aria-label on the row). */
50
54
  textValue?: string;
51
55
  }
@@ -23,28 +23,16 @@
23
23
  * ```
24
24
  */
25
25
 
26
- import { createSignal, createEffect, onCleanup, type Accessor } from 'solid-js';
27
- import { isServer } from 'solid-js/web';
28
-
29
- // ============================================
30
- // TYPES
31
- // ============================================
26
+ import { createSignal, createEffect, onCleanup, type Accessor } from "solid-js";
27
+ import { isServer } from "solid-js/web";
32
28
 
33
29
  export interface DescriptionProps {
34
- 'aria-describedby'?: string;
30
+ "aria-describedby"?: string;
35
31
  }
36
32
 
37
- // ============================================
38
- // STATE
39
- // ============================================
40
-
41
33
  let descriptionId = 0;
42
34
  const descriptionNodes = new Map<string, { refCount: number; element: Element }>();
43
35
 
44
- // ============================================
45
- // IMPLEMENTATION
46
- // ============================================
47
-
48
36
  /**
49
37
  * Creates an invisible description element and returns aria-describedby props.
50
38
  *
@@ -62,7 +50,6 @@ const descriptionNodes = new Map<string, { refCount: number; element: Element }>
62
50
  * ```
63
51
  */
64
52
  export function createDescription(description: Accessor<string | undefined>): DescriptionProps {
65
- // SSR: return empty object
66
53
  if (isServer) {
67
54
  return {};
68
55
  }
@@ -80,26 +67,23 @@ export function createDescription(description: Accessor<string | undefined>): De
80
67
  let node = descriptionNodes.get(desc);
81
68
 
82
69
  if (!node) {
83
- // Create new description element
84
70
  const newId = `solidaria-description-${descriptionId++}`;
85
71
  setId(newId);
86
72
 
87
- const element = document.createElement('div');
73
+ const element = document.createElement("div");
88
74
  element.id = newId;
89
- element.style.display = 'none';
75
+ element.style.display = "none";
90
76
  element.textContent = desc;
91
77
  document.body.appendChild(element);
92
78
 
93
79
  node = { refCount: 0, element };
94
80
  descriptionNodes.set(desc, node);
95
81
  } else {
96
- // Reuse existing element
97
82
  setId(node.element.id);
98
83
  }
99
84
 
100
85
  node.refCount++;
101
86
 
102
- // Cleanup when description changes or component unmounts
103
87
  onCleanup(() => {
104
88
  if (node && --node.refCount === 0) {
105
89
  node.element.remove();
@@ -108,9 +92,8 @@ export function createDescription(description: Accessor<string | undefined>): De
108
92
  });
109
93
  });
110
94
 
111
- // Return reactive props object
112
95
  return {
113
- get 'aria-describedby'() {
96
+ get "aria-describedby"() {
114
97
  const desc = description();
115
98
  return desc ? id() : undefined;
116
99
  },
package/src/utils/dom.ts CHANGED
@@ -54,7 +54,7 @@ export function nodeContains(parent: Node | null, child: Node | null): boolean {
54
54
  */
55
55
  export function getEventTarget<T extends EventTarget>(event: Event): T | null {
56
56
  // Use composedPath to get the real target when using Shadow DOM
57
- if (typeof event.composedPath === 'function') {
57
+ if (typeof event.composedPath === "function") {
58
58
  const path = event.composedPath();
59
59
  if (path.length > 0) {
60
60
  return path[0] as T;
@@ -74,22 +74,26 @@ export function isFocusable(element: Element): boolean {
74
74
 
75
75
  // Check native focusable elements
76
76
  const tagName = element.tagName.toLowerCase();
77
- if (['input', 'select', 'textarea', 'button', 'a', 'area'].includes(tagName)) {
77
+ if (["input", "select", "textarea", "button", "a", "area"].includes(tagName)) {
78
78
  // For anchor elements, they must have href to be focusable
79
- if (tagName === 'a' || tagName === 'area') {
80
- return element.hasAttribute('href');
79
+ if (tagName === "a" || tagName === "area") {
80
+ return element.hasAttribute("href");
81
81
  }
82
82
  return true;
83
83
  }
84
84
 
85
- // Check for tabIndex
86
- const tabIndex = element.getAttribute('tabindex');
87
- if (tabIndex != null && tabIndex !== '-1') {
85
+ // A negative tabIndex is not tabbable, but it is still programmatically focusable.
86
+ // React Aria's focusable selector includes all tabindex values for this reason.
87
+ const tabIndex = element.getAttribute("tabindex");
88
+ if (tabIndex != null) {
88
89
  return true;
89
90
  }
90
91
 
91
92
  // Check for contenteditable
92
- if (element.hasAttribute('contenteditable') && element.getAttribute('contenteditable') !== 'false') {
93
+ if (
94
+ element.hasAttribute("contenteditable") &&
95
+ element.getAttribute("contenteditable") !== "false"
96
+ ) {
93
97
  return true;
94
98
  }
95
99
 
@@ -103,16 +107,16 @@ export function isValidKeyboardEvent(event: KeyboardEvent, currentTarget: Elemen
103
107
  const { key, code } = event;
104
108
  const element = currentTarget as HTMLElement;
105
109
  const tagName = element.tagName.toLowerCase();
106
- const role = element.getAttribute('role');
110
+ const role = element.getAttribute("role");
107
111
 
108
112
  // Only accept Enter and Space
109
- const isActivationKey = key === 'Enter' || key === ' ' || key === 'Spacebar' || code === 'Space';
113
+ const isActivationKey = key === "Enter" || key === " " || key === "Spacebar" || code === "Space";
110
114
  if (!isActivationKey) {
111
115
  return false;
112
116
  }
113
117
 
114
118
  // Text inputs should handle their own keyboard events
115
- if (tagName === 'textarea') {
119
+ if (tagName === "textarea") {
116
120
  return false;
117
121
  }
118
122
 
@@ -122,13 +126,13 @@ export function isValidKeyboardEvent(event: KeyboardEvent, currentTarget: Elemen
122
126
  }
123
127
 
124
128
  // Links should only respond to Enter, not Space
125
- const isLink = role === 'link' || (!role && isHTMLAnchorLink(element));
126
- if (isLink && key !== 'Enter') {
129
+ const isLink = role === "link" || (!role && isHTMLAnchorLink(element));
130
+ if (isLink && key !== "Enter") {
127
131
  return false;
128
132
  }
129
133
 
130
134
  // Input elements have specific key handling
131
- if (tagName === 'input') {
135
+ if (tagName === "input") {
132
136
  return isValidInputKey(element as HTMLInputElement, key);
133
137
  }
134
138
 
@@ -142,14 +146,24 @@ export function isValidInputKey(target: HTMLInputElement, key: string): boolean
142
146
  const type = target.type.toLowerCase();
143
147
 
144
148
  // Checkbox and radio only respond to Space
145
- if (type === 'checkbox' || type === 'radio') {
146
- return key === ' ' || key === 'Spacebar';
149
+ if (type === "checkbox" || type === "radio") {
150
+ return key === " " || key === "Spacebar";
147
151
  }
148
152
 
149
153
  // Text-like inputs handle their own keyboard events
150
154
  const textInputTypes = [
151
- 'text', 'search', 'url', 'tel', 'email', 'password',
152
- 'date', 'month', 'week', 'time', 'datetime-local', 'number'
155
+ "text",
156
+ "search",
157
+ "url",
158
+ "tel",
159
+ "email",
160
+ "password",
161
+ "date",
162
+ "month",
163
+ "week",
164
+ "time",
165
+ "datetime-local",
166
+ "number",
153
167
  ];
154
168
  if (textInputTypes.includes(type)) {
155
169
  return false;
@@ -162,34 +176,18 @@ export function isValidInputKey(target: HTMLInputElement, key: string): boolean
162
176
  * Checks if an element is an HTML anchor link (has href attribute).
163
177
  */
164
178
  export function isHTMLAnchorLink(target: Element): boolean {
165
- return target.tagName === 'A' && target.hasAttribute('href');
179
+ return target.tagName === "A" && target.hasAttribute("href");
166
180
  }
167
181
 
168
182
  /**
169
183
  * Whether to prevent default on keyboard events for this element.
170
184
  */
171
185
  export function shouldPreventDefaultKeyboard(target: Element, key: string): boolean {
172
- const tagName = target.tagName.toLowerCase();
173
-
174
- // Never prevent default on inputs - they handle their own behavior
175
- if (tagName === 'input' || tagName === 'textarea' || tagName === 'select') {
176
- return false;
177
- }
178
-
179
- // Don't prevent default on links for Enter (native navigation)
180
- if ((tagName === 'a' || target.getAttribute('role') === 'link') && key === 'Enter') {
181
- return false;
182
- }
183
-
184
- // Buttons with submit/reset type should not prevent default
185
- if (tagName === 'button') {
186
- const type = (target as HTMLButtonElement).type;
187
- if (type === 'submit' || type === 'reset') {
188
- return false;
189
- }
186
+ if (target instanceof HTMLInputElement) {
187
+ return !isValidInputKey(target, key);
190
188
  }
191
189
 
192
- return true;
190
+ return shouldPreventDefaultUp(target);
193
191
  }
194
192
 
195
193
  /**
@@ -199,19 +197,19 @@ export function shouldPreventDefaultUp(target: Element): boolean {
199
197
  const tagName = target.tagName.toLowerCase();
200
198
 
201
199
  // Never prevent default on form elements
202
- if (tagName === 'input' || tagName === 'textarea' || tagName === 'select') {
200
+ if (tagName === "input" || tagName === "textarea" || tagName === "select") {
203
201
  return false;
204
202
  }
205
203
 
206
204
  // Don't prevent default on links
207
- if (tagName === 'a' || target.getAttribute('role') === 'link') {
205
+ if (tagName === "a" || target.getAttribute("role") === "link") {
208
206
  return false;
209
207
  }
210
208
 
211
209
  // Buttons with submit/reset type should not prevent default
212
- if (tagName === 'button') {
210
+ if (tagName === "button") {
213
211
  const type = (target as HTMLButtonElement).type;
214
- if (type === 'submit' || type === 'reset') {
212
+ if (type === "submit" || type === "reset") {
215
213
  return false;
216
214
  }
217
215
  }
@@ -230,15 +228,15 @@ export function openLink(target: HTMLAnchorElement, event: Event, allowOpener =
230
228
  // Handle modifier keys for open-in-new-tab behavior
231
229
  const keyEvent = event as KeyboardEvent;
232
230
  const shouldOpenInNewTab =
233
- linkTarget === '_blank' ||
231
+ linkTarget === "_blank" ||
234
232
  keyEvent?.metaKey ||
235
233
  keyEvent?.ctrlKey ||
236
234
  keyEvent?.shiftKey ||
237
235
  keyEvent?.altKey;
238
236
 
239
237
  if (shouldOpenInNewTab) {
240
- const features = !allowOpener && rel?.includes('noopener') ? 'noopener' : undefined;
241
- window.open(href, linkTarget || '_blank', features);
238
+ const features = !allowOpener && rel?.includes("noopener") ? "noopener" : undefined;
239
+ window.open(href, linkTarget || "_blank", features);
242
240
  } else {
243
241
  window.location.href = href;
244
242
  }
@@ -248,10 +246,6 @@ export function openLink(target: HTMLAnchorElement, event: Event, allowOpener =
248
246
 
249
247
  (openLink as { isOpening?: boolean }).isOpening = false;
250
248
 
251
- // ============================================
252
- // Scroll utilities
253
- // ============================================
254
-
255
249
  /**
256
250
  * Checks if an element is scrollable based on its overflow style.
257
251
  * @param node - The element to check
@@ -303,23 +297,36 @@ export function willOpenKeyboard(target: Element | null): boolean {
303
297
  const tagName = target.tagName.toLowerCase();
304
298
 
305
299
  // Inputs that open keyboard (not all input types do)
306
- if (tagName === 'input') {
300
+ if (tagName === "input") {
307
301
  const type = (target as HTMLInputElement).type.toLowerCase();
308
302
  // These input types open the keyboard
309
303
  const keyboardTypes = [
310
- 'text', 'search', 'url', 'tel', 'email', 'password',
311
- 'date', 'month', 'week', 'time', 'datetime-local', 'number'
304
+ "text",
305
+ "search",
306
+ "url",
307
+ "tel",
308
+ "email",
309
+ "password",
310
+ "date",
311
+ "month",
312
+ "week",
313
+ "time",
314
+ "datetime-local",
315
+ "number",
312
316
  ];
313
317
  return keyboardTypes.includes(type);
314
318
  }
315
319
 
316
320
  // Textareas always open keyboard
317
- if (tagName === 'textarea') {
321
+ if (tagName === "textarea") {
318
322
  return true;
319
323
  }
320
324
 
321
325
  // Contenteditable elements open keyboard
322
- if (target.hasAttribute('contenteditable') && target.getAttribute('contenteditable') !== 'false') {
326
+ if (
327
+ target.hasAttribute("contenteditable") &&
328
+ target.getAttribute("contenteditable") !== "false"
329
+ ) {
323
330
  return true;
324
331
  }
325
332
 
package/src/utils/env.ts CHANGED
@@ -4,17 +4,17 @@
4
4
  * Compatible with Node.js and Vite environments.
5
5
  */
6
6
 
7
- // Type-safe access to import.meta.env (Vite) and process.env
8
- type ImportMetaWithEnv = ImportMeta & { env?: Record<string, unknown> & { DEV?: boolean; PROD?: boolean } };
7
+ type ImportMetaWithEnv = ImportMeta & {
8
+ env?: Record<string, unknown> & { DEV?: boolean; PROD?: boolean };
9
+ };
9
10
  type ProcessLike = { env?: Record<string, string | undefined> };
10
11
 
11
12
  function getEnvVar(key: string): string | undefined {
12
- // Check Vite's import.meta.env
13
13
  const importMetaEnv = (import.meta as ImportMetaWithEnv).env;
14
- if (importMetaEnv && typeof importMetaEnv[key] === 'string') {
14
+ if (importMetaEnv && typeof importMetaEnv[key] === "string") {
15
15
  return importMetaEnv[key] as string;
16
16
  }
17
- // Check Node.js process.env via globalThis
17
+
18
18
  const processEnv = (globalThis as typeof globalThis & { process?: ProcessLike }).process?.env;
19
19
  if (processEnv) {
20
20
  return processEnv[key];
@@ -26,30 +26,28 @@ function getEnvVar(key: string): string | undefined {
26
26
  * Check if we're running in a test environment.
27
27
  */
28
28
  export function isTestEnv(): boolean {
29
- return getEnvVar('NODE_ENV') === 'test';
29
+ return getEnvVar("NODE_ENV") === "test";
30
30
  }
31
31
 
32
32
  /**
33
33
  * Check if we're running in a development environment (not production).
34
34
  */
35
35
  export function isDevEnv(): boolean {
36
- // Check Vite's DEV flag
37
36
  const importMetaEnv = (import.meta as ImportMetaWithEnv).env;
38
37
  if (importMetaEnv?.DEV === true) {
39
38
  return true;
40
39
  }
41
- const nodeEnv = getEnvVar('NODE_ENV');
42
- return nodeEnv !== 'production';
40
+ const nodeEnv = getEnvVar("NODE_ENV");
41
+ return nodeEnv !== "production";
43
42
  }
44
43
 
45
44
  /**
46
45
  * Check if we're running in production.
47
46
  */
48
47
  export function isProdEnv(): boolean {
49
- // Check Vite's PROD flag
50
48
  const importMetaEnv = (import.meta as ImportMetaWithEnv).env;
51
49
  if (importMetaEnv?.PROD === true) {
52
50
  return true;
53
51
  }
54
- return getEnvVar('NODE_ENV') === 'production';
52
+ return getEnvVar("NODE_ENV") === "production";
55
53
  }
@@ -3,7 +3,7 @@
3
3
  * Based on @react-aria/utils event utilities.
4
4
  */
5
5
 
6
- import { isAndroid } from './platform';
6
+ import { isAndroid } from "./platform";
7
7
 
8
8
  /**
9
9
  * Checks if a click event was generated from a virtual source like a screen reader.
@@ -11,14 +11,14 @@ import { isAndroid } from './platform';
11
11
  */
12
12
  export function isVirtualClick(event: MouseEvent | PointerEvent): boolean {
13
13
  // JAWS/NVDA with Firefox.
14
- if ((event as PointerEvent).pointerType === '' && event.isTrusted) {
14
+ if ((event as PointerEvent).pointerType === "" && event.isTrusted) {
15
15
  return true;
16
16
  }
17
17
 
18
18
  // Android TalkBack's detail value varies depending on the event listener providing the event.
19
19
  // If pointerType is defined, event is from a click listener.
20
20
  if (isAndroid() && (event as PointerEvent).pointerType) {
21
- return event.type === 'click' && (event as MouseEvent).buttons === 1;
21
+ return event.type === "click" && (event as MouseEvent).buttons === 1;
22
22
  }
23
23
 
24
24
  return event.detail === 0 && !(event as PointerEvent).pointerType;
@@ -40,7 +40,7 @@ export function isVirtualPointerEvent(event: PointerEvent): boolean {
40
40
  event.height === 1 &&
41
41
  event.pressure === 0 &&
42
42
  event.detail === 0 &&
43
- event.pointerType === 'mouse')
43
+ event.pointerType === "mouse")
44
44
  );
45
45
  }
46
46
 
@@ -81,7 +81,7 @@ export function chain<T extends (...args: any[]) => any>(
81
81
  ): T {
82
82
  return ((...args: Parameters<T>) => {
83
83
  for (const callback of callbacks) {
84
- if (typeof callback === 'function') {
84
+ if (typeof callback === "function") {
85
85
  callback(...args);
86
86
  }
87
87
  }
@@ -93,12 +93,12 @@ export function chain<T extends (...args: any[]) => any>(
93
93
  * Used for synthetic events where target needs to be modified.
94
94
  */
95
95
  export function setEventTarget<T extends Event>(event: T, target: EventTarget): void {
96
- Object.defineProperty(event, 'target', {
96
+ Object.defineProperty(event, "target", {
97
97
  value: target,
98
98
  writable: false,
99
99
  configurable: true,
100
100
  });
101
- Object.defineProperty(event, 'currentTarget', {
101
+ Object.defineProperty(event, "currentTarget", {
102
102
  value: target,
103
103
  writable: false,
104
104
  configurable: true,
@@ -5,63 +5,63 @@
5
5
  * This is a 1:1 port of @react-aria/utils filterDOMProps.
6
6
  */
7
7
 
8
- const DOMPropNames = new Set(['id']);
8
+ const DOMPropNames = new Set(["id"]);
9
9
 
10
10
  const labelablePropNames = new Set([
11
- 'aria-label',
12
- 'aria-labelledby',
13
- 'aria-describedby',
14
- 'aria-details',
11
+ "aria-label",
12
+ "aria-labelledby",
13
+ "aria-describedby",
14
+ "aria-details",
15
15
  ]);
16
16
 
17
17
  // See LinkDOMProps in dom.d.ts.
18
18
  const linkPropNames = new Set([
19
- 'href',
20
- 'hrefLang',
21
- 'target',
22
- 'rel',
23
- 'download',
24
- 'ping',
25
- 'referrerPolicy',
19
+ "href",
20
+ "hrefLang",
21
+ "target",
22
+ "rel",
23
+ "download",
24
+ "ping",
25
+ "referrerPolicy",
26
26
  ]);
27
27
 
28
- const globalAttrs = new Set(['dir', 'lang', 'hidden', 'inert', 'translate']);
28
+ const globalAttrs = new Set(["dir", "lang", "hidden", "inert", "translate"]);
29
29
 
30
30
  const globalEvents = new Set([
31
- 'onClick',
32
- 'onAuxClick',
33
- 'onContextMenu',
34
- 'onDoubleClick',
35
- 'onMouseDown',
36
- 'onMouseEnter',
37
- 'onMouseLeave',
38
- 'onMouseMove',
39
- 'onMouseOut',
40
- 'onMouseOver',
41
- 'onMouseUp',
42
- 'onTouchCancel',
43
- 'onTouchEnd',
44
- 'onTouchMove',
45
- 'onTouchStart',
46
- 'onPointerDown',
47
- 'onPointerMove',
48
- 'onPointerUp',
49
- 'onPointerCancel',
50
- 'onPointerEnter',
51
- 'onPointerLeave',
52
- 'onPointerOver',
53
- 'onPointerOut',
54
- 'onGotPointerCapture',
55
- 'onLostPointerCapture',
56
- 'onScroll',
57
- 'onWheel',
58
- 'onAnimationStart',
59
- 'onAnimationEnd',
60
- 'onAnimationIteration',
61
- 'onTransitionCancel',
62
- 'onTransitionEnd',
63
- 'onTransitionRun',
64
- 'onTransitionStart',
31
+ "onClick",
32
+ "onAuxClick",
33
+ "onContextMenu",
34
+ "onDoubleClick",
35
+ "onMouseDown",
36
+ "onMouseEnter",
37
+ "onMouseLeave",
38
+ "onMouseMove",
39
+ "onMouseOut",
40
+ "onMouseOver",
41
+ "onMouseUp",
42
+ "onTouchCancel",
43
+ "onTouchEnd",
44
+ "onTouchMove",
45
+ "onTouchStart",
46
+ "onPointerDown",
47
+ "onPointerMove",
48
+ "onPointerUp",
49
+ "onPointerCancel",
50
+ "onPointerEnter",
51
+ "onPointerLeave",
52
+ "onPointerOver",
53
+ "onPointerOut",
54
+ "onGotPointerCapture",
55
+ "onLostPointerCapture",
56
+ "onScroll",
57
+ "onWheel",
58
+ "onAnimationStart",
59
+ "onAnimationEnd",
60
+ "onAnimationIteration",
61
+ "onTransitionCancel",
62
+ "onTransitionEnd",
63
+ "onTransitionRun",
64
+ "onTransitionStart",
65
65
  ]);
66
66
 
67
67
  const propRe = /^(data-.*)$/;
@@ -90,7 +90,7 @@ export interface FilterDOMPropsOptions {
90
90
  */
91
91
  export function filterDOMProps<T extends object>(
92
92
  props: T,
93
- opts: FilterDOMPropsOptions = {}
93
+ opts: FilterDOMPropsOptions = {},
94
94
  ): Partial<T> {
95
95
  const { labelable, isLink, global, events = global, propNames } = opts;
96
96
  const filteredProps: Partial<T> = {};
@@ -104,7 +104,7 @@ export function filterDOMProps<T extends object>(
104
104
  (global && globalAttrs.has(prop)) ||
105
105
  (events &&
106
106
  (globalEvents.has(prop) ||
107
- (prop.endsWith('Capture') && globalEvents.has(prop.slice(0, -7))))) ||
107
+ (prop.endsWith("Capture") && globalEvents.has(prop.slice(0, -7))))) ||
108
108
  propNames?.has(prop) ||
109
109
  propRe.test(prop))
110
110
  ) {