@proyecto-viviana/solidaria 0.1.3 → 0.2.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 (580) hide show
  1. package/dist/index.d.ts +6135 -50
  2. package/dist/index.js +485 -1120
  3. package/dist/{index.ssr.js → index.jsx} +89 -143
  4. package/package.json +7 -9
  5. package/dist/autocomplete/createAutocomplete.d.ts +0 -109
  6. package/dist/autocomplete/createAutocomplete.d.ts.map +0 -1
  7. package/dist/autocomplete/index.d.ts +0 -2
  8. package/dist/autocomplete/index.d.ts.map +0 -1
  9. package/dist/breadcrumbs/createBreadcrumbs.d.ts +0 -43
  10. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +0 -1
  11. package/dist/breadcrumbs/index.d.ts +0 -2
  12. package/dist/breadcrumbs/index.d.ts.map +0 -1
  13. package/dist/button/createButton.d.ts +0 -29
  14. package/dist/button/createButton.d.ts.map +0 -1
  15. package/dist/button/createToggleButton.d.ts +0 -41
  16. package/dist/button/createToggleButton.d.ts.map +0 -1
  17. package/dist/button/index.d.ts +0 -5
  18. package/dist/button/index.d.ts.map +0 -1
  19. package/dist/button/types.d.ts +0 -77
  20. package/dist/button/types.d.ts.map +0 -1
  21. package/dist/calendar/createCalendar.d.ts +0 -41
  22. package/dist/calendar/createCalendar.d.ts.map +0 -1
  23. package/dist/calendar/createCalendarCell.d.ts +0 -41
  24. package/dist/calendar/createCalendarCell.d.ts.map +0 -1
  25. package/dist/calendar/createCalendarGrid.d.ts +0 -29
  26. package/dist/calendar/createCalendarGrid.d.ts.map +0 -1
  27. package/dist/calendar/createRangeCalendar.d.ts +0 -39
  28. package/dist/calendar/createRangeCalendar.d.ts.map +0 -1
  29. package/dist/calendar/createRangeCalendarCell.d.ts +0 -45
  30. package/dist/calendar/createRangeCalendarCell.d.ts.map +0 -1
  31. package/dist/calendar/index.d.ts +0 -6
  32. package/dist/calendar/index.d.ts.map +0 -1
  33. package/dist/checkbox/createCheckbox.d.ts +0 -56
  34. package/dist/checkbox/createCheckbox.d.ts.map +0 -1
  35. package/dist/checkbox/createCheckboxGroup.d.ts +0 -53
  36. package/dist/checkbox/createCheckboxGroup.d.ts.map +0 -1
  37. package/dist/checkbox/createCheckboxGroupItem.d.ts +0 -25
  38. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +0 -1
  39. package/dist/checkbox/createCheckboxGroupState.d.ts +0 -71
  40. package/dist/checkbox/createCheckboxGroupState.d.ts.map +0 -1
  41. package/dist/checkbox/index.d.ts +0 -9
  42. package/dist/checkbox/index.d.ts.map +0 -1
  43. package/dist/color/createColorArea.d.ts +0 -13
  44. package/dist/color/createColorArea.d.ts.map +0 -1
  45. package/dist/color/createColorField.d.ts +0 -13
  46. package/dist/color/createColorField.d.ts.map +0 -1
  47. package/dist/color/createColorSlider.d.ts +0 -13
  48. package/dist/color/createColorSlider.d.ts.map +0 -1
  49. package/dist/color/createColorSwatch.d.ts +0 -12
  50. package/dist/color/createColorSwatch.d.ts.map +0 -1
  51. package/dist/color/createColorWheel.d.ts +0 -13
  52. package/dist/color/createColorWheel.d.ts.map +0 -1
  53. package/dist/color/index.d.ts +0 -10
  54. package/dist/color/index.d.ts.map +0 -1
  55. package/dist/color/types.d.ts +0 -106
  56. package/dist/color/types.d.ts.map +0 -1
  57. package/dist/combobox/createComboBox.d.ts +0 -77
  58. package/dist/combobox/createComboBox.d.ts.map +0 -1
  59. package/dist/combobox/index.d.ts +0 -2
  60. package/dist/combobox/index.d.ts.map +0 -1
  61. package/dist/combobox/intl/index.d.ts +0 -14
  62. package/dist/combobox/intl/index.d.ts.map +0 -1
  63. package/dist/datepicker/createDateField.d.ts +0 -51
  64. package/dist/datepicker/createDateField.d.ts.map +0 -1
  65. package/dist/datepicker/createDatePicker.d.ts +0 -65
  66. package/dist/datepicker/createDatePicker.d.ts.map +0 -1
  67. package/dist/datepicker/createDateSegment.d.ts +0 -29
  68. package/dist/datepicker/createDateSegment.d.ts.map +0 -1
  69. package/dist/datepicker/createTimeField.d.ts +0 -51
  70. package/dist/datepicker/createTimeField.d.ts.map +0 -1
  71. package/dist/datepicker/index.d.ts +0 -5
  72. package/dist/datepicker/index.d.ts.map +0 -1
  73. package/dist/dialog/createDialog.d.ts +0 -25
  74. package/dist/dialog/createDialog.d.ts.map +0 -1
  75. package/dist/dialog/index.d.ts +0 -3
  76. package/dist/dialog/index.d.ts.map +0 -1
  77. package/dist/dialog/types.d.ts +0 -18
  78. package/dist/dialog/types.d.ts.map +0 -1
  79. package/dist/disclosure/createDisclosure.d.ts +0 -52
  80. package/dist/disclosure/createDisclosure.d.ts.map +0 -1
  81. package/dist/disclosure/createDisclosureGroup.d.ts +0 -39
  82. package/dist/disclosure/createDisclosureGroup.d.ts.map +0 -1
  83. package/dist/disclosure/index.d.ts +0 -3
  84. package/dist/disclosure/index.d.ts.map +0 -1
  85. package/dist/dnd/createDrag.d.ts +0 -16
  86. package/dist/dnd/createDrag.d.ts.map +0 -1
  87. package/dist/dnd/createDraggableCollection.d.ts +0 -27
  88. package/dist/dnd/createDraggableCollection.d.ts.map +0 -1
  89. package/dist/dnd/createDraggableItem.d.ts +0 -37
  90. package/dist/dnd/createDraggableItem.d.ts.map +0 -1
  91. package/dist/dnd/createDrop.d.ts +0 -16
  92. package/dist/dnd/createDrop.d.ts.map +0 -1
  93. package/dist/dnd/createDroppableCollection.d.ts +0 -76
  94. package/dist/dnd/createDroppableCollection.d.ts.map +0 -1
  95. package/dist/dnd/createDroppableItem.d.ts +0 -31
  96. package/dist/dnd/createDroppableItem.d.ts.map +0 -1
  97. package/dist/dnd/index.d.ts +0 -18
  98. package/dist/dnd/index.d.ts.map +0 -1
  99. package/dist/dnd/types.d.ts +0 -66
  100. package/dist/dnd/types.d.ts.map +0 -1
  101. package/dist/dnd/utils.d.ts +0 -57
  102. package/dist/dnd/utils.d.ts.map +0 -1
  103. package/dist/focus/FocusScope.d.ts +0 -57
  104. package/dist/focus/FocusScope.d.ts.map +0 -1
  105. package/dist/focus/createAutoFocus.d.ts +0 -120
  106. package/dist/focus/createAutoFocus.d.ts.map +0 -1
  107. package/dist/focus/createFocusRestore.d.ts +0 -116
  108. package/dist/focus/createFocusRestore.d.ts.map +0 -1
  109. package/dist/focus/createVirtualFocus.d.ts +0 -170
  110. package/dist/focus/createVirtualFocus.d.ts.map +0 -1
  111. package/dist/focus/index.d.ts +0 -5
  112. package/dist/focus/index.d.ts.map +0 -1
  113. package/dist/form/createFormReset.d.ts +0 -27
  114. package/dist/form/createFormReset.d.ts.map +0 -1
  115. package/dist/form/createFormValidation.d.ts +0 -56
  116. package/dist/form/createFormValidation.d.ts.map +0 -1
  117. package/dist/form/index.d.ts +0 -3
  118. package/dist/form/index.d.ts.map +0 -1
  119. package/dist/grid/GridKeyboardDelegate.d.ts +0 -79
  120. package/dist/grid/GridKeyboardDelegate.d.ts.map +0 -1
  121. package/dist/grid/createGrid.d.ts +0 -24
  122. package/dist/grid/createGrid.d.ts.map +0 -1
  123. package/dist/grid/createGridCell.d.ts +0 -12
  124. package/dist/grid/createGridCell.d.ts.map +0 -1
  125. package/dist/grid/createGridRow.d.ts +0 -12
  126. package/dist/grid/createGridRow.d.ts.map +0 -1
  127. package/dist/grid/index.d.ts +0 -10
  128. package/dist/grid/index.d.ts.map +0 -1
  129. package/dist/grid/types.d.ts +0 -126
  130. package/dist/grid/types.d.ts.map +0 -1
  131. package/dist/gridlist/createGridList.d.ts +0 -28
  132. package/dist/gridlist/createGridList.d.ts.map +0 -1
  133. package/dist/gridlist/createGridListItem.d.ts +0 -12
  134. package/dist/gridlist/createGridListItem.d.ts.map +0 -1
  135. package/dist/gridlist/createGridListSelectionCheckbox.d.ts +0 -12
  136. package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +0 -1
  137. package/dist/gridlist/index.d.ts +0 -8
  138. package/dist/gridlist/index.d.ts.map +0 -1
  139. package/dist/gridlist/types.d.ts +0 -75
  140. package/dist/gridlist/types.d.ts.map +0 -1
  141. package/dist/i18n/NumberFormatter.d.ts +0 -43
  142. package/dist/i18n/NumberFormatter.d.ts.map +0 -1
  143. package/dist/i18n/createCollator.d.ts +0 -41
  144. package/dist/i18n/createCollator.d.ts.map +0 -1
  145. package/dist/i18n/createDateFormatter.d.ts +0 -45
  146. package/dist/i18n/createDateFormatter.d.ts.map +0 -1
  147. package/dist/i18n/createFilter.d.ts +0 -57
  148. package/dist/i18n/createFilter.d.ts.map +0 -1
  149. package/dist/i18n/createNumberFormatter.d.ts +0 -43
  150. package/dist/i18n/createNumberFormatter.d.ts.map +0 -1
  151. package/dist/i18n/createStringFormatter.d.ts +0 -42
  152. package/dist/i18n/createStringFormatter.d.ts.map +0 -1
  153. package/dist/i18n/index.d.ts +0 -9
  154. package/dist/i18n/index.d.ts.map +0 -1
  155. package/dist/i18n/locale.d.ts +0 -66
  156. package/dist/i18n/locale.d.ts.map +0 -1
  157. package/dist/i18n/utils.d.ts +0 -17
  158. package/dist/i18n/utils.d.ts.map +0 -1
  159. package/dist/index.d.ts.map +0 -1
  160. package/dist/index.js.map +0 -7
  161. package/dist/index.ssr.js.map +0 -7
  162. package/dist/interactions/FocusableProvider.d.ts +0 -26
  163. package/dist/interactions/FocusableProvider.d.ts.map +0 -1
  164. package/dist/interactions/PressEvent.d.ts +0 -73
  165. package/dist/interactions/PressEvent.d.ts.map +0 -1
  166. package/dist/interactions/createFocus.d.ts +0 -31
  167. package/dist/interactions/createFocus.d.ts.map +0 -1
  168. package/dist/interactions/createFocusRing.d.ts +0 -37
  169. package/dist/interactions/createFocusRing.d.ts.map +0 -1
  170. package/dist/interactions/createFocusWithin.d.ts +0 -27
  171. package/dist/interactions/createFocusWithin.d.ts.map +0 -1
  172. package/dist/interactions/createFocusable.d.ts +0 -65
  173. package/dist/interactions/createFocusable.d.ts.map +0 -1
  174. package/dist/interactions/createHover.d.ts +0 -43
  175. package/dist/interactions/createHover.d.ts.map +0 -1
  176. package/dist/interactions/createInteractionModality.d.ts +0 -73
  177. package/dist/interactions/createInteractionModality.d.ts.map +0 -1
  178. package/dist/interactions/createKeyboard.d.ts +0 -35
  179. package/dist/interactions/createKeyboard.d.ts.map +0 -1
  180. package/dist/interactions/createLongPress.d.ts +0 -63
  181. package/dist/interactions/createLongPress.d.ts.map +0 -1
  182. package/dist/interactions/createMove.d.ts +0 -40
  183. package/dist/interactions/createMove.d.ts.map +0 -1
  184. package/dist/interactions/createPress.d.ts +0 -55
  185. package/dist/interactions/createPress.d.ts.map +0 -1
  186. package/dist/interactions/index.d.ts +0 -13
  187. package/dist/interactions/index.d.ts.map +0 -1
  188. package/dist/label/createField.d.ts +0 -51
  189. package/dist/label/createField.d.ts.map +0 -1
  190. package/dist/label/createLabel.d.ts +0 -49
  191. package/dist/label/createLabel.d.ts.map +0 -1
  192. package/dist/label/createLabels.d.ts +0 -16
  193. package/dist/label/createLabels.d.ts.map +0 -1
  194. package/dist/label/index.d.ts +0 -6
  195. package/dist/label/index.d.ts.map +0 -1
  196. package/dist/landmark/createLandmark.d.ts +0 -79
  197. package/dist/landmark/createLandmark.d.ts.map +0 -1
  198. package/dist/landmark/index.d.ts +0 -2
  199. package/dist/landmark/index.d.ts.map +0 -1
  200. package/dist/link/createLink.d.ts +0 -65
  201. package/dist/link/createLink.d.ts.map +0 -1
  202. package/dist/link/index.d.ts +0 -2
  203. package/dist/link/index.d.ts.map +0 -1
  204. package/dist/listbox/createListBox.d.ts +0 -58
  205. package/dist/listbox/createListBox.d.ts.map +0 -1
  206. package/dist/listbox/createOption.d.ts +0 -42
  207. package/dist/listbox/createOption.d.ts.map +0 -1
  208. package/dist/listbox/index.d.ts +0 -3
  209. package/dist/listbox/index.d.ts.map +0 -1
  210. package/dist/live-announcer/announce.d.ts +0 -113
  211. package/dist/live-announcer/announce.d.ts.map +0 -1
  212. package/dist/live-announcer/index.d.ts +0 -2
  213. package/dist/live-announcer/index.d.ts.map +0 -1
  214. package/dist/menu/createMenu.d.ts +0 -57
  215. package/dist/menu/createMenu.d.ts.map +0 -1
  216. package/dist/menu/createMenuItem.d.ts +0 -42
  217. package/dist/menu/createMenuItem.d.ts.map +0 -1
  218. package/dist/menu/createMenuTrigger.d.ts +0 -29
  219. package/dist/menu/createMenuTrigger.d.ts.map +0 -1
  220. package/dist/menu/index.d.ts +0 -4
  221. package/dist/menu/index.d.ts.map +0 -1
  222. package/dist/meter/createMeter.d.ts +0 -44
  223. package/dist/meter/createMeter.d.ts.map +0 -1
  224. package/dist/meter/index.d.ts +0 -2
  225. package/dist/meter/index.d.ts.map +0 -1
  226. package/dist/numberfield/createNumberField.d.ts +0 -56
  227. package/dist/numberfield/createNumberField.d.ts.map +0 -1
  228. package/dist/numberfield/index.d.ts +0 -2
  229. package/dist/numberfield/index.d.ts.map +0 -1
  230. package/dist/overlays/ariaHideOutside.d.ts +0 -25
  231. package/dist/overlays/ariaHideOutside.d.ts.map +0 -1
  232. package/dist/overlays/createInteractOutside.d.ts +0 -20
  233. package/dist/overlays/createInteractOutside.d.ts.map +0 -1
  234. package/dist/overlays/createModal.d.ts +0 -70
  235. package/dist/overlays/createModal.d.ts.map +0 -1
  236. package/dist/overlays/createOverlay.d.ts +0 -43
  237. package/dist/overlays/createOverlay.d.ts.map +0 -1
  238. package/dist/overlays/createOverlayTrigger.d.ts +0 -30
  239. package/dist/overlays/createOverlayTrigger.d.ts.map +0 -1
  240. package/dist/overlays/createPreventScroll.d.ts +0 -15
  241. package/dist/overlays/createPreventScroll.d.ts.map +0 -1
  242. package/dist/overlays/index.d.ts +0 -7
  243. package/dist/overlays/index.d.ts.map +0 -1
  244. package/dist/popover/calculatePosition.d.ts +0 -67
  245. package/dist/popover/calculatePosition.d.ts.map +0 -1
  246. package/dist/popover/createOverlayPosition.d.ts +0 -109
  247. package/dist/popover/createOverlayPosition.d.ts.map +0 -1
  248. package/dist/popover/createPopover.d.ts +0 -88
  249. package/dist/popover/createPopover.d.ts.map +0 -1
  250. package/dist/popover/index.d.ts +0 -4
  251. package/dist/popover/index.d.ts.map +0 -1
  252. package/dist/progress/createProgressBar.d.ts +0 -47
  253. package/dist/progress/createProgressBar.d.ts.map +0 -1
  254. package/dist/progress/index.d.ts +0 -2
  255. package/dist/progress/index.d.ts.map +0 -1
  256. package/dist/radio/createRadio.d.ts +0 -68
  257. package/dist/radio/createRadio.d.ts.map +0 -1
  258. package/dist/radio/createRadioGroup.d.ts +0 -85
  259. package/dist/radio/createRadioGroup.d.ts.map +0 -1
  260. package/dist/radio/createRadioGroupState.d.ts +0 -77
  261. package/dist/radio/createRadioGroupState.d.ts.map +0 -1
  262. package/dist/radio/index.d.ts +0 -4
  263. package/dist/radio/index.d.ts.map +0 -1
  264. package/dist/searchfield/createSearchField.d.ts +0 -32
  265. package/dist/searchfield/createSearchField.d.ts.map +0 -1
  266. package/dist/searchfield/index.d.ts +0 -3
  267. package/dist/searchfield/index.d.ts.map +0 -1
  268. package/dist/select/createHiddenSelect.d.ts +0 -69
  269. package/dist/select/createHiddenSelect.d.ts.map +0 -1
  270. package/dist/select/createSelect.d.ts +0 -70
  271. package/dist/select/createSelect.d.ts.map +0 -1
  272. package/dist/select/index.d.ts +0 -3
  273. package/dist/select/index.d.ts.map +0 -1
  274. package/dist/selection/createTypeSelect.d.ts +0 -43
  275. package/dist/selection/createTypeSelect.d.ts.map +0 -1
  276. package/dist/selection/index.d.ts +0 -6
  277. package/dist/selection/index.d.ts.map +0 -1
  278. package/dist/separator/createSeparator.d.ts +0 -38
  279. package/dist/separator/createSeparator.d.ts.map +0 -1
  280. package/dist/separator/index.d.ts +0 -2
  281. package/dist/separator/index.d.ts.map +0 -1
  282. package/dist/slider/createSlider.d.ts +0 -43
  283. package/dist/slider/createSlider.d.ts.map +0 -1
  284. package/dist/slider/index.d.ts +0 -3
  285. package/dist/slider/index.d.ts.map +0 -1
  286. package/dist/ssr/index.d.ts +0 -221
  287. package/dist/ssr/index.d.ts.map +0 -1
  288. package/dist/switch/createSwitch.d.ts +0 -34
  289. package/dist/switch/createSwitch.d.ts.map +0 -1
  290. package/dist/switch/index.d.ts +0 -2
  291. package/dist/switch/index.d.ts.map +0 -1
  292. package/dist/table/createTable.d.ts +0 -24
  293. package/dist/table/createTable.d.ts.map +0 -1
  294. package/dist/table/createTableCell.d.ts +0 -12
  295. package/dist/table/createTableCell.d.ts.map +0 -1
  296. package/dist/table/createTableColumnHeader.d.ts +0 -12
  297. package/dist/table/createTableColumnHeader.d.ts.map +0 -1
  298. package/dist/table/createTableHeaderRow.d.ts +0 -12
  299. package/dist/table/createTableHeaderRow.d.ts.map +0 -1
  300. package/dist/table/createTableRow.d.ts +0 -12
  301. package/dist/table/createTableRow.d.ts.map +0 -1
  302. package/dist/table/createTableRowGroup.d.ts +0 -11
  303. package/dist/table/createTableRowGroup.d.ts.map +0 -1
  304. package/dist/table/createTableSelectAllCheckbox.d.ts +0 -12
  305. package/dist/table/createTableSelectAllCheckbox.d.ts.map +0 -1
  306. package/dist/table/createTableSelectionCheckbox.d.ts +0 -12
  307. package/dist/table/createTableSelectionCheckbox.d.ts.map +0 -1
  308. package/dist/table/index.d.ts +0 -14
  309. package/dist/table/index.d.ts.map +0 -1
  310. package/dist/table/types.d.ts +0 -150
  311. package/dist/table/types.d.ts.map +0 -1
  312. package/dist/tabs/createTabs.d.ts +0 -123
  313. package/dist/tabs/createTabs.d.ts.map +0 -1
  314. package/dist/tabs/index.d.ts +0 -2
  315. package/dist/tabs/index.d.ts.map +0 -1
  316. package/dist/tag/createTag.d.ts +0 -42
  317. package/dist/tag/createTag.d.ts.map +0 -1
  318. package/dist/tag/createTagGroup.d.ts +0 -54
  319. package/dist/tag/createTagGroup.d.ts.map +0 -1
  320. package/dist/tag/index.d.ts +0 -3
  321. package/dist/tag/index.d.ts.map +0 -1
  322. package/dist/textfield/createTextField.d.ts +0 -73
  323. package/dist/textfield/createTextField.d.ts.map +0 -1
  324. package/dist/textfield/index.d.ts +0 -2
  325. package/dist/textfield/index.d.ts.map +0 -1
  326. package/dist/toast/createToast.d.ts +0 -58
  327. package/dist/toast/createToast.d.ts.map +0 -1
  328. package/dist/toast/createToastRegion.d.ts +0 -49
  329. package/dist/toast/createToastRegion.d.ts.map +0 -1
  330. package/dist/toast/index.d.ts +0 -3
  331. package/dist/toast/index.d.ts.map +0 -1
  332. package/dist/toggle/createToggle.d.ts +0 -94
  333. package/dist/toggle/createToggle.d.ts.map +0 -1
  334. package/dist/toggle/createToggleState.d.ts +0 -34
  335. package/dist/toggle/createToggleState.d.ts.map +0 -1
  336. package/dist/toggle/index.d.ts +0 -5
  337. package/dist/toggle/index.d.ts.map +0 -1
  338. package/dist/toolbar/createToolbar.d.ts +0 -49
  339. package/dist/toolbar/createToolbar.d.ts.map +0 -1
  340. package/dist/toolbar/index.d.ts +0 -2
  341. package/dist/toolbar/index.d.ts.map +0 -1
  342. package/dist/tooltip/createTooltip.d.ts +0 -48
  343. package/dist/tooltip/createTooltip.d.ts.map +0 -1
  344. package/dist/tooltip/createTooltipTrigger.d.ts +0 -64
  345. package/dist/tooltip/createTooltipTrigger.d.ts.map +0 -1
  346. package/dist/tooltip/index.d.ts +0 -3
  347. package/dist/tooltip/index.d.ts.map +0 -1
  348. package/dist/tree/createTree.d.ts +0 -28
  349. package/dist/tree/createTree.d.ts.map +0 -1
  350. package/dist/tree/createTreeItem.d.ts +0 -12
  351. package/dist/tree/createTreeItem.d.ts.map +0 -1
  352. package/dist/tree/createTreeSelectionCheckbox.d.ts +0 -12
  353. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +0 -1
  354. package/dist/tree/index.d.ts +0 -8
  355. package/dist/tree/index.d.ts.map +0 -1
  356. package/dist/tree/types.d.ts +0 -81
  357. package/dist/tree/types.d.ts.map +0 -1
  358. package/dist/utils/createDescription.d.ts +0 -56
  359. package/dist/utils/createDescription.d.ts.map +0 -1
  360. package/dist/utils/dom.d.ts +0 -68
  361. package/dist/utils/dom.d.ts.map +0 -1
  362. package/dist/utils/env.d.ts +0 -18
  363. package/dist/utils/env.d.ts.map +0 -1
  364. package/dist/utils/events.d.ts +0 -29
  365. package/dist/utils/events.d.ts.map +0 -1
  366. package/dist/utils/filterDOMProps.d.ts +0 -29
  367. package/dist/utils/filterDOMProps.d.ts.map +0 -1
  368. package/dist/utils/focus.d.ts +0 -20
  369. package/dist/utils/focus.d.ts.map +0 -1
  370. package/dist/utils/geometry.d.ts +0 -40
  371. package/dist/utils/geometry.d.ts.map +0 -1
  372. package/dist/utils/globalListeners.d.ts +0 -36
  373. package/dist/utils/globalListeners.d.ts.map +0 -1
  374. package/dist/utils/index.d.ts +0 -13
  375. package/dist/utils/index.d.ts.map +0 -1
  376. package/dist/utils/mergeProps.d.ts +0 -11
  377. package/dist/utils/mergeProps.d.ts.map +0 -1
  378. package/dist/utils/platform.d.ts +0 -14
  379. package/dist/utils/platform.d.ts.map +0 -1
  380. package/dist/utils/reactivity.d.ts +0 -28
  381. package/dist/utils/reactivity.d.ts.map +0 -1
  382. package/dist/utils/textSelection.d.ts +0 -19
  383. package/dist/utils/textSelection.d.ts.map +0 -1
  384. package/dist/visually-hidden/createVisuallyHidden.d.ts +0 -60
  385. package/dist/visually-hidden/createVisuallyHidden.d.ts.map +0 -1
  386. package/dist/visually-hidden/index.d.ts +0 -2
  387. package/dist/visually-hidden/index.d.ts.map +0 -1
  388. package/src/autocomplete/createAutocomplete.ts +0 -341
  389. package/src/autocomplete/index.ts +0 -9
  390. package/src/breadcrumbs/createBreadcrumbs.ts +0 -196
  391. package/src/breadcrumbs/index.ts +0 -8
  392. package/src/button/createButton.ts +0 -142
  393. package/src/button/createToggleButton.ts +0 -101
  394. package/src/button/index.ts +0 -4
  395. package/src/button/types.ts +0 -78
  396. package/src/calendar/createCalendar.ts +0 -138
  397. package/src/calendar/createCalendarCell.ts +0 -187
  398. package/src/calendar/createCalendarGrid.ts +0 -140
  399. package/src/calendar/createRangeCalendar.ts +0 -136
  400. package/src/calendar/createRangeCalendarCell.ts +0 -186
  401. package/src/calendar/index.ts +0 -34
  402. package/src/checkbox/createCheckbox.ts +0 -135
  403. package/src/checkbox/createCheckboxGroup.ts +0 -137
  404. package/src/checkbox/createCheckboxGroupItem.ts +0 -117
  405. package/src/checkbox/createCheckboxGroupState.ts +0 -193
  406. package/src/checkbox/index.ts +0 -13
  407. package/src/color/createColorArea.ts +0 -314
  408. package/src/color/createColorField.ts +0 -137
  409. package/src/color/createColorSlider.ts +0 -197
  410. package/src/color/createColorSwatch.ts +0 -40
  411. package/src/color/createColorWheel.ts +0 -208
  412. package/src/color/index.ts +0 -24
  413. package/src/color/types.ts +0 -116
  414. package/src/combobox/createComboBox.ts +0 -647
  415. package/src/combobox/index.ts +0 -6
  416. package/src/combobox/intl/en-US.json +0 -7
  417. package/src/combobox/intl/es-ES.json +0 -7
  418. package/src/combobox/intl/index.ts +0 -23
  419. package/src/datepicker/createDateField.ts +0 -154
  420. package/src/datepicker/createDatePicker.ts +0 -206
  421. package/src/datepicker/createDateSegment.ts +0 -229
  422. package/src/datepicker/createTimeField.ts +0 -154
  423. package/src/datepicker/index.ts +0 -28
  424. package/src/dialog/createDialog.ts +0 -120
  425. package/src/dialog/index.ts +0 -2
  426. package/src/dialog/types.ts +0 -19
  427. package/src/disclosure/createDisclosure.ts +0 -131
  428. package/src/disclosure/createDisclosureGroup.ts +0 -62
  429. package/src/disclosure/index.ts +0 -11
  430. package/src/dnd/createDrag.ts +0 -209
  431. package/src/dnd/createDraggableCollection.ts +0 -63
  432. package/src/dnd/createDraggableItem.ts +0 -243
  433. package/src/dnd/createDrop.ts +0 -321
  434. package/src/dnd/createDroppableCollection.ts +0 -293
  435. package/src/dnd/createDroppableItem.ts +0 -213
  436. package/src/dnd/index.ts +0 -47
  437. package/src/dnd/types.ts +0 -89
  438. package/src/dnd/utils.ts +0 -294
  439. package/src/focus/FocusScope.tsx +0 -408
  440. package/src/focus/createAutoFocus.ts +0 -321
  441. package/src/focus/createFocusRestore.ts +0 -313
  442. package/src/focus/createVirtualFocus.ts +0 -396
  443. package/src/focus/index.ts +0 -35
  444. package/src/form/createFormReset.ts +0 -51
  445. package/src/form/createFormValidation.ts +0 -224
  446. package/src/form/index.ts +0 -11
  447. package/src/grid/GridKeyboardDelegate.ts +0 -429
  448. package/src/grid/createGrid.ts +0 -261
  449. package/src/grid/createGridCell.ts +0 -182
  450. package/src/grid/createGridRow.ts +0 -153
  451. package/src/grid/index.ts +0 -18
  452. package/src/grid/types.ts +0 -133
  453. package/src/gridlist/createGridList.ts +0 -185
  454. package/src/gridlist/createGridListItem.ts +0 -180
  455. package/src/gridlist/createGridListSelectionCheckbox.ts +0 -59
  456. package/src/gridlist/index.ts +0 -16
  457. package/src/gridlist/types.ts +0 -81
  458. package/src/i18n/NumberFormatter.ts +0 -266
  459. package/src/i18n/createCollator.ts +0 -79
  460. package/src/i18n/createDateFormatter.ts +0 -83
  461. package/src/i18n/createFilter.ts +0 -131
  462. package/src/i18n/createNumberFormatter.ts +0 -52
  463. package/src/i18n/createStringFormatter.ts +0 -87
  464. package/src/i18n/index.ts +0 -40
  465. package/src/i18n/locale.tsx +0 -188
  466. package/src/i18n/utils.ts +0 -99
  467. package/src/index.ts +0 -670
  468. package/src/interactions/FocusableProvider.tsx +0 -44
  469. package/src/interactions/PressEvent.ts +0 -124
  470. package/src/interactions/createFocus.ts +0 -163
  471. package/src/interactions/createFocusRing.ts +0 -89
  472. package/src/interactions/createFocusWithin.ts +0 -206
  473. package/src/interactions/createFocusable.ts +0 -168
  474. package/src/interactions/createHover.ts +0 -254
  475. package/src/interactions/createInteractionModality.ts +0 -424
  476. package/src/interactions/createKeyboard.ts +0 -82
  477. package/src/interactions/createLongPress.ts +0 -174
  478. package/src/interactions/createMove.ts +0 -289
  479. package/src/interactions/createPress.ts +0 -834
  480. package/src/interactions/index.ts +0 -78
  481. package/src/label/createField.ts +0 -145
  482. package/src/label/createLabel.ts +0 -117
  483. package/src/label/createLabels.ts +0 -50
  484. package/src/label/index.ts +0 -19
  485. package/src/landmark/createLandmark.ts +0 -377
  486. package/src/landmark/index.ts +0 -8
  487. package/src/link/createLink.ts +0 -182
  488. package/src/link/index.ts +0 -1
  489. package/src/listbox/createListBox.ts +0 -269
  490. package/src/listbox/createOption.ts +0 -151
  491. package/src/listbox/index.ts +0 -12
  492. package/src/live-announcer/announce.ts +0 -322
  493. package/src/live-announcer/index.ts +0 -9
  494. package/src/menu/createMenu.ts +0 -396
  495. package/src/menu/createMenuItem.ts +0 -149
  496. package/src/menu/createMenuTrigger.ts +0 -88
  497. package/src/menu/index.ts +0 -18
  498. package/src/meter/createMeter.ts +0 -75
  499. package/src/meter/index.ts +0 -1
  500. package/src/numberfield/createNumberField.ts +0 -268
  501. package/src/numberfield/index.ts +0 -5
  502. package/src/overlays/ariaHideOutside.ts +0 -219
  503. package/src/overlays/createInteractOutside.ts +0 -149
  504. package/src/overlays/createModal.tsx +0 -202
  505. package/src/overlays/createOverlay.ts +0 -155
  506. package/src/overlays/createOverlayTrigger.ts +0 -85
  507. package/src/overlays/createPreventScroll.ts +0 -266
  508. package/src/overlays/index.ts +0 -44
  509. package/src/popover/calculatePosition.ts +0 -766
  510. package/src/popover/createOverlayPosition.ts +0 -356
  511. package/src/popover/createPopover.ts +0 -170
  512. package/src/popover/index.ts +0 -24
  513. package/src/progress/createProgressBar.ts +0 -128
  514. package/src/progress/index.ts +0 -5
  515. package/src/radio/createRadio.ts +0 -287
  516. package/src/radio/createRadioGroup.ts +0 -189
  517. package/src/radio/createRadioGroupState.ts +0 -201
  518. package/src/radio/index.ts +0 -23
  519. package/src/searchfield/createSearchField.ts +0 -186
  520. package/src/searchfield/index.ts +0 -2
  521. package/src/select/createHiddenSelect.tsx +0 -236
  522. package/src/select/createSelect.ts +0 -395
  523. package/src/select/index.ts +0 -14
  524. package/src/selection/createTypeSelect.ts +0 -201
  525. package/src/selection/index.ts +0 -6
  526. package/src/separator/createSeparator.ts +0 -82
  527. package/src/separator/index.ts +0 -6
  528. package/src/slider/createSlider.ts +0 -349
  529. package/src/slider/index.ts +0 -2
  530. package/src/ssr/index.tsx +0 -370
  531. package/src/switch/createSwitch.ts +0 -70
  532. package/src/switch/index.ts +0 -1
  533. package/src/table/createTable.ts +0 -526
  534. package/src/table/createTableCell.ts +0 -147
  535. package/src/table/createTableColumnHeader.ts +0 -115
  536. package/src/table/createTableHeaderRow.ts +0 -40
  537. package/src/table/createTableRow.ts +0 -155
  538. package/src/table/createTableRowGroup.ts +0 -32
  539. package/src/table/createTableSelectAllCheckbox.ts +0 -73
  540. package/src/table/createTableSelectionCheckbox.ts +0 -59
  541. package/src/table/index.ts +0 -30
  542. package/src/table/types.ts +0 -165
  543. package/src/tabs/createTabs.ts +0 -472
  544. package/src/tabs/index.ts +0 -14
  545. package/src/tag/createTag.ts +0 -194
  546. package/src/tag/createTagGroup.ts +0 -154
  547. package/src/tag/index.ts +0 -12
  548. package/src/textfield/createTextField.ts +0 -198
  549. package/src/textfield/index.ts +0 -5
  550. package/src/toast/createToast.ts +0 -118
  551. package/src/toast/createToastRegion.ts +0 -100
  552. package/src/toast/index.ts +0 -11
  553. package/src/toggle/createToggle.ts +0 -223
  554. package/src/toggle/createToggleState.ts +0 -94
  555. package/src/toggle/index.ts +0 -7
  556. package/src/toolbar/createToolbar.ts +0 -368
  557. package/src/toolbar/index.ts +0 -6
  558. package/src/tooltip/createTooltip.ts +0 -79
  559. package/src/tooltip/createTooltipTrigger.ts +0 -222
  560. package/src/tooltip/index.ts +0 -6
  561. package/src/tree/createTree.ts +0 -246
  562. package/src/tree/createTreeItem.ts +0 -233
  563. package/src/tree/createTreeSelectionCheckbox.ts +0 -68
  564. package/src/tree/index.ts +0 -16
  565. package/src/tree/types.ts +0 -87
  566. package/src/utils/createDescription.ts +0 -137
  567. package/src/utils/dom.ts +0 -327
  568. package/src/utils/env.ts +0 -54
  569. package/src/utils/events.ts +0 -106
  570. package/src/utils/filterDOMProps.ts +0 -116
  571. package/src/utils/focus.ts +0 -151
  572. package/src/utils/geometry.ts +0 -115
  573. package/src/utils/globalListeners.ts +0 -142
  574. package/src/utils/index.ts +0 -80
  575. package/src/utils/mergeProps.ts +0 -52
  576. package/src/utils/platform.ts +0 -52
  577. package/src/utils/reactivity.ts +0 -36
  578. package/src/utils/textSelection.ts +0 -114
  579. package/src/visually-hidden/createVisuallyHidden.ts +0 -124
  580. package/src/visually-hidden/index.ts +0 -6
@@ -1,124 +0,0 @@
1
- /**
2
- * PressEvent class that matches React-Aria's PressEvent interface.
3
- * Wraps native events with press-specific data.
4
- */
5
-
6
- export type PointerType = 'mouse' | 'pen' | 'touch' | 'keyboard' | 'virtual';
7
- export type PressEventType = 'pressstart' | 'pressend' | 'pressup' | 'press';
8
-
9
- /** Base event properties needed for press event creation */
10
- export interface BaseEventForPress {
11
- currentTarget: EventTarget | null;
12
- shiftKey: boolean;
13
- ctrlKey: boolean;
14
- metaKey: boolean;
15
- altKey: boolean;
16
- clientX?: number;
17
- clientY?: number;
18
- }
19
-
20
- export interface IPressEvent {
21
- /** The type of press event being fired. */
22
- type: PressEventType;
23
- /** The pointer type that triggered the press event. */
24
- pointerType: PointerType;
25
- /** The target element of the press event. */
26
- target: Element;
27
- /** Whether the shift keyboard modifier was held during the press event. */
28
- shiftKey: boolean;
29
- /** Whether the ctrl keyboard modifier was held during the press event. */
30
- ctrlKey: boolean;
31
- /** Whether the meta keyboard modifier was held during the press event. */
32
- metaKey: boolean;
33
- /** Whether the alt keyboard modifier was held during the press event. */
34
- altKey: boolean;
35
- /** X position of the press relative to the target element. */
36
- x: number;
37
- /** Y position of the press relative to the target element. */
38
- y: number;
39
- /**
40
- * By default, press events stop propagation to parent elements.
41
- * Call continuePropagation() to allow the event to bubble up.
42
- */
43
- continuePropagation(): void;
44
- }
45
-
46
- /**
47
- * PressEvent class that provides all press event data.
48
- * Based on React-Aria's PressEvent implementation.
49
- */
50
- export class PressEvent implements IPressEvent {
51
- type: PressEventType;
52
- pointerType: PointerType;
53
- target: Element;
54
- shiftKey: boolean;
55
- ctrlKey: boolean;
56
- metaKey: boolean;
57
- altKey: boolean;
58
- x: number;
59
- y: number;
60
-
61
- #shouldStopPropagation = true;
62
-
63
- constructor(
64
- type: PressEventType,
65
- pointerType: PointerType,
66
- originalEvent: Event | null,
67
- target: Element | null
68
- ) {
69
- this.type = type;
70
- this.pointerType = pointerType;
71
- const eventTarget = target ?? ((originalEvent as any)?.currentTarget as Element | undefined);
72
- this.target = eventTarget as Element;
73
-
74
- // Extract modifier keys from the original event
75
- const e = originalEvent as MouseEvent | KeyboardEvent | null;
76
- this.shiftKey = e?.shiftKey ?? false;
77
- this.ctrlKey = e?.ctrlKey ?? false;
78
- this.metaKey = e?.metaKey ?? false;
79
- this.altKey = e?.altKey ?? false;
80
-
81
- // Calculate position relative to target
82
- this.x = 0;
83
- this.y = 0;
84
-
85
- if (originalEvent && 'clientX' in originalEvent && eventTarget) {
86
- const rect = eventTarget.getBoundingClientRect();
87
- this.x = (originalEvent as MouseEvent).clientX - rect.left;
88
- this.y = (originalEvent as MouseEvent).clientY - rect.top;
89
- } else if (eventTarget) {
90
- // For keyboard events, use center of element
91
- const rect = eventTarget.getBoundingClientRect();
92
- this.x = rect.width / 2;
93
- this.y = rect.height / 2;
94
- }
95
- }
96
-
97
- /**
98
- * Call this to allow the press event to propagate to parent elements.
99
- * By default, press events stop propagation.
100
- */
101
- continuePropagation(): void {
102
- this.#shouldStopPropagation = false;
103
- }
104
-
105
- /**
106
- * Whether the event should stop propagation.
107
- * Used internally by the press handler.
108
- */
109
- get shouldStopPropagation(): boolean {
110
- return this.#shouldStopPropagation;
111
- }
112
- }
113
-
114
- /**
115
- * Creates a PressEvent from a native event.
116
- */
117
- export function createPressEvent(
118
- type: PressEventType,
119
- pointerType: PointerType,
120
- originalEvent: BaseEventForPress | Event | null,
121
- target: Element | null
122
- ): PressEvent {
123
- return new PressEvent(type, pointerType, originalEvent as Event | null, target);
124
- }
@@ -1,163 +0,0 @@
1
- /**
2
- * createFocus - Handles focus events for the immediate target.
3
- *
4
- * This is a 1-1 port of React-Aria's useFocus hook adapted for SolidJS.
5
- * Focus events on child elements will be ignored.
6
- */
7
-
8
- import { JSX, onCleanup } from 'solid-js';
9
- import { getOwnerDocument, getEventTarget } from '../utils';
10
- function getActiveElement(doc: Document): Element | null {
11
- let activeElement = doc.activeElement;
12
- while (activeElement && (activeElement as Element).shadowRoot?.activeElement) {
13
- activeElement = (activeElement as Element).shadowRoot?.activeElement ?? null;
14
- }
15
- return activeElement;
16
- }
17
-
18
- export interface FocusEvents {
19
- /** Handler that is called when the element receives focus. */
20
- onFocus?: (e: FocusEvent) => void;
21
- /** Handler that is called when the element loses focus. */
22
- onBlur?: (e: FocusEvent) => void;
23
- /** Handler that is called when the element's focus status changes. */
24
- onFocusChange?: (isFocused: boolean) => void;
25
- }
26
-
27
- export interface CreateFocusProps extends FocusEvents {
28
- /** Whether the focus events should be disabled. */
29
- isDisabled?: boolean;
30
- }
31
-
32
- export interface FocusResult {
33
- /** Props to spread onto the target element. */
34
- focusProps: JSX.HTMLAttributes<HTMLElement>;
35
- }
36
-
37
- /**
38
- * Synthetic blur event handler for Firefox bug workaround.
39
- * React (and we) don't fire onBlur when an element is disabled.
40
- * Most browsers fire a native focusout event in this case, except for Firefox.
41
- * We use a MutationObserver to watch for the disabled attribute.
42
- */
43
- function createSyntheticBlurHandler(
44
- _onBlur: ((e: FocusEvent) => void) | undefined
45
- ): (_e: FocusEvent, target: Element) => (() => void) | undefined {
46
- let isFocused = false;
47
- let observer: MutationObserver | null = null;
48
-
49
- return (_e: FocusEvent, target: Element) => {
50
- if (
51
- target instanceof HTMLButtonElement ||
52
- target instanceof HTMLInputElement ||
53
- target instanceof HTMLTextAreaElement ||
54
- target instanceof HTMLSelectElement
55
- ) {
56
- isFocused = true;
57
-
58
- const onBlurHandler = (_blurEvent: Event) => {
59
- isFocused = false;
60
-
61
- if (observer) {
62
- observer.disconnect();
63
- observer = null;
64
- }
65
- };
66
-
67
- target.addEventListener('focusout', onBlurHandler, { once: true });
68
-
69
- observer = new MutationObserver(() => {
70
- if (isFocused && (target as HTMLButtonElement).disabled) {
71
- observer?.disconnect();
72
- const relatedTarget = target === document.activeElement ? null : document.activeElement;
73
- target.dispatchEvent(new FocusEvent('blur', { relatedTarget }));
74
- target.dispatchEvent(new FocusEvent('focusout', { bubbles: true, relatedTarget }));
75
- }
76
- });
77
-
78
- observer.observe(target, { attributes: true, attributeFilter: ['disabled'] });
79
-
80
- // Return cleanup function
81
- return () => {
82
- if (observer) {
83
- observer.disconnect();
84
- observer = null;
85
- }
86
- };
87
- }
88
-
89
- return undefined;
90
- };
91
- }
92
-
93
- /**
94
- * Handles focus events for the immediate target.
95
- * Focus events on child elements will be ignored.
96
- *
97
- * Based on react-aria's useFocus but adapted for SolidJS.
98
- */
99
- export function createFocus(props: CreateFocusProps = {}): FocusResult {
100
- const { isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange } = props;
101
-
102
- let cleanupRef: (() => void) | undefined;
103
- const syntheticBlurHandler = createSyntheticBlurHandler(onBlurProp);
104
-
105
- // Cleanup on unmount
106
- onCleanup(() => {
107
- if (cleanupRef) {
108
- cleanupRef();
109
- }
110
- });
111
-
112
- const onBlur: JSX.EventHandler<HTMLElement, FocusEvent> = (e) => {
113
- // Only handle if target is the currentTarget (not bubbled from children)
114
- if (e.target === e.currentTarget) {
115
- if (onBlurProp) {
116
- onBlurProp(e);
117
- }
118
-
119
- if (onFocusChange) {
120
- onFocusChange(false);
121
- }
122
-
123
- cleanupRef?.();
124
- cleanupRef = undefined;
125
- }
126
- };
127
-
128
- const onFocus: JSX.EventHandler<HTMLElement, FocusEvent> = (e) => {
129
- // Double check that document.activeElement actually matches e.target
130
- // in case a previously chained focus handler already moved focus somewhere else.
131
- const ownerDocument = getOwnerDocument(e.target);
132
- const activeElement = ownerDocument ? getActiveElement(ownerDocument) : null;
133
-
134
- if (e.target === e.currentTarget && activeElement === getEventTarget(e)) {
135
- if (onFocusProp) {
136
- onFocusProp(e);
137
- }
138
-
139
- if (onFocusChange) {
140
- onFocusChange(true);
141
- }
142
-
143
- // Set up synthetic blur handler for Firefox bug
144
- cleanupRef = syntheticBlurHandler(e, e.target);
145
- }
146
- };
147
-
148
- // If disabled or no handlers, return empty props
149
- if (isDisabled) {
150
- return {
151
- focusProps: {},
152
- };
153
- }
154
-
155
- const hasHandlers = onFocusProp || onFocusChange || onBlurProp;
156
-
157
- return {
158
- focusProps: {
159
- onFocus: hasHandlers ? onFocus : undefined,
160
- onBlur: onBlurProp || onFocusChange ? onBlur : undefined,
161
- },
162
- };
163
- }
@@ -1,89 +0,0 @@
1
- /**
2
- * createFocusRing hook for Solidaria
3
- *
4
- * Determines whether a focus ring should be visible for a given element.
5
- * Focus rings are visible when the user navigates with keyboard, but hidden
6
- * when using mouse/touch.
7
- *
8
- * Port of @react-aria/focus useFocusRing.
9
- */
10
-
11
- import { type JSX, type Accessor, createSignal, createEffect, onCleanup, createMemo } from 'solid-js';
12
- import { createFocus } from './createFocus';
13
- import { createFocusWithin } from './createFocusWithin';
14
- import {
15
- createFocusVisibleListener,
16
- isFocusVisible as isGlobalFocusVisible,
17
- } from './createInteractionModality';
18
-
19
- // ============================================
20
- // TYPES
21
- // ============================================
22
-
23
- export interface FocusRingProps {
24
- /** Whether the element is a text input. */
25
- isTextInput?: boolean;
26
- /** Whether the element will be auto focused. */
27
- autoFocus?: boolean;
28
- /** Whether focus should be tracked within the element. */
29
- within?: boolean;
30
- }
31
-
32
- export interface FocusRingResult {
33
- /** Whether the element is currently focused. */
34
- isFocused: Accessor<boolean>;
35
- /** Whether the focus ring should be visible. */
36
- isFocusVisible: Accessor<boolean>;
37
- /** Props to spread on the element to track focus. */
38
- focusProps: JSX.HTMLAttributes<HTMLElement>;
39
- }
40
-
41
- // ============================================
42
- // IMPLEMENTATION
43
- // ============================================
44
-
45
- /**
46
- * Determines whether a focus ring should be visible for a given element.
47
- *
48
- * Focus rings are visible when:
49
- * - The element is focused AND
50
- * - The user is navigating with keyboard (not mouse/touch)
51
- *
52
- * For text inputs, focus rings are always visible when focused.
53
- */
54
- export function createFocusRing(props: FocusRingProps = {}): FocusRingResult {
55
- const { isTextInput = false, autoFocus = false, within = false } = props;
56
-
57
- const [isFocused, setIsFocused] = createSignal(false);
58
- const [focusVisibleFlag, setFocusVisibleFlag] = createSignal(
59
- autoFocus || isGlobalFocusVisible()
60
- );
61
- const isFocusVisible = createMemo(() => isFocused() && focusVisibleFlag());
62
-
63
- createEffect(() => {
64
- const cleanup = createFocusVisibleListener((visible) => {
65
- setFocusVisibleFlag(visible);
66
- }, { isTextInput });
67
- onCleanup(cleanup);
68
- });
69
-
70
- const onFocusChange = (focused: boolean) => {
71
- setIsFocused(focused);
72
- };
73
-
74
- const focusResult = createFocus({
75
- isDisabled: within,
76
- onFocusChange,
77
- });
78
-
79
- const focusWithinResult = createFocusWithin({
80
- isDisabled: !within,
81
- onFocusWithinChange: onFocusChange,
82
- });
83
-
84
- return {
85
- isFocused,
86
- isFocusVisible,
87
- focusProps: (within ? focusWithinResult.focusWithinProps : focusResult.focusProps) as JSX.HTMLAttributes<HTMLElement>,
88
- };
89
- }
@@ -1,206 +0,0 @@
1
- /**
2
- * createFocusWithin - Handles focus events for the target and its descendants.
3
- *
4
- * This is a 1-1 port of React-Aria's useFocusWithin hook adapted for SolidJS.
5
- */
6
-
7
- import { JSX, onCleanup } from 'solid-js';
8
- import { getOwnerDocument, getEventTarget, nodeContains, createGlobalListeners } from '../utils';
9
- import { setEventTarget } from '../utils/events';
10
-
11
- export interface FocusWithinProps {
12
- /** Whether the focus within events should be disabled. */
13
- isDisabled?: boolean;
14
- /** Handler that is called when the target element or a descendant receives focus. */
15
- onFocusWithin?: (e: FocusEvent) => void;
16
- /** Handler that is called when the target element and all descendants lose focus. */
17
- onBlurWithin?: (e: FocusEvent) => void;
18
- /** Handler that is called when the focus within state changes. */
19
- onFocusWithinChange?: (isFocusWithin: boolean) => void;
20
- }
21
-
22
- export interface FocusWithinResult {
23
- /** Props to spread onto the target element. */
24
- focusWithinProps: JSX.HTMLAttributes<HTMLElement>;
25
- }
26
-
27
- function getActiveElement(doc: Document): Element | null {
28
- let activeElement = doc.activeElement;
29
- while (activeElement && (activeElement as Element).shadowRoot?.activeElement) {
30
- activeElement = (activeElement as Element).shadowRoot?.activeElement ?? null;
31
- }
32
- return activeElement;
33
- }
34
-
35
- function createSyntheticBlurHandler(
36
- _onBlurWithin: ((e: FocusEvent) => void) | undefined
37
- ): (_e: FocusEvent, target: Element) => (() => void) | undefined {
38
- let isFocused = false;
39
- let observer: MutationObserver | null = null;
40
-
41
- return (_e: FocusEvent, target: Element) => {
42
- if (
43
- target instanceof HTMLButtonElement ||
44
- target instanceof HTMLInputElement ||
45
- target instanceof HTMLTextAreaElement ||
46
- target instanceof HTMLSelectElement
47
- ) {
48
- isFocused = true;
49
-
50
- const onBlurHandler = () => {
51
- isFocused = false;
52
-
53
- if (observer) {
54
- observer.disconnect();
55
- observer = null;
56
- }
57
- };
58
-
59
- target.addEventListener('focusout', onBlurHandler, { once: true });
60
-
61
- observer = new MutationObserver(() => {
62
- if (isFocused && (target as HTMLButtonElement).disabled) {
63
- observer?.disconnect();
64
- const relatedTarget = target === document.activeElement ? null : document.activeElement;
65
- target.dispatchEvent(new FocusEvent('blur', { relatedTarget }));
66
- target.dispatchEvent(new FocusEvent('focusout', { bubbles: true, relatedTarget }));
67
- }
68
- });
69
-
70
- observer.observe(target, { attributes: true, attributeFilter: ['disabled'] });
71
-
72
- return () => {
73
- if (observer) {
74
- observer.disconnect();
75
- observer = null;
76
- }
77
- };
78
- }
79
-
80
- return undefined;
81
- };
82
- }
83
-
84
- /**
85
- * Handles focus events for the target and its descendants.
86
- *
87
- * Based on react-aria's useFocusWithin but adapted for SolidJS.
88
- */
89
- export function createFocusWithin(props: FocusWithinProps = {}): FocusWithinResult {
90
- const { isDisabled, onBlurWithin, onFocusWithin, onFocusWithinChange } = props;
91
-
92
- // State tracking
93
- let isFocusWithin = false;
94
-
95
- // Global listeners manager
96
- const { addGlobalListener, removeAllGlobalListeners } = createGlobalListeners();
97
- const syntheticBlurHandler = createSyntheticBlurHandler(onBlurWithin);
98
- let cleanupRef: (() => void) | undefined;
99
-
100
- // Cleanup on unmount
101
- onCleanup(() => {
102
- cleanupRef?.();
103
- removeAllGlobalListeners();
104
- });
105
-
106
- const onBlur: JSX.EventHandler<HTMLElement, FocusEvent> = (e) => {
107
- // Ignore events bubbling through portals
108
- if (!e.currentTarget.contains(e.target as Node)) {
109
- return;
110
- }
111
-
112
- // We don't want to trigger onBlurWithin and then immediately onFocusWithin again
113
- // when moving focus inside the element. Only trigger if the currentTarget doesn't
114
- // include the relatedTarget (where focus is moving).
115
- if (isFocusWithin && !e.currentTarget.contains(e.relatedTarget as Node)) {
116
- isFocusWithin = false;
117
- removeAllGlobalListeners();
118
- cleanupRef?.();
119
- cleanupRef = undefined;
120
-
121
- if (onBlurWithin) {
122
- onBlurWithin(e);
123
- }
124
-
125
- if (onFocusWithinChange) {
126
- onFocusWithinChange(false);
127
- }
128
- }
129
- };
130
-
131
- const onFocus: JSX.EventHandler<HTMLElement, FocusEvent> = (e) => {
132
- // Ignore events bubbling through portals
133
- if (!e.currentTarget.contains(e.target as Node)) {
134
- return;
135
- }
136
-
137
- // Double check that document.activeElement actually matches e.target
138
- // in case a previously chained focus handler already moved focus somewhere else.
139
- const ownerDocument = getOwnerDocument(e.target);
140
- const activeElement = ownerDocument ? getActiveElement(ownerDocument) : null;
141
-
142
- if (!isFocusWithin && activeElement === getEventTarget(e)) {
143
- if (onFocusWithin) {
144
- onFocusWithin(e);
145
- }
146
-
147
- if (onFocusWithinChange) {
148
- onFocusWithinChange(true);
149
- }
150
-
151
- isFocusWithin = true;
152
- cleanupRef = syntheticBlurHandler(e, e.target);
153
-
154
- // Browsers don't fire blur events when elements are removed from the DOM.
155
- // However, if a focus event occurs outside the element we're tracking, we
156
- // can manually fire onBlur.
157
- const currentTarget = e.currentTarget;
158
-
159
- addGlobalListener(
160
- 'focus',
161
- (focusEvent: Event) => {
162
- if (isFocusWithin && !nodeContains(currentTarget, (focusEvent as FocusEvent).target as Element)) {
163
- // Create a synthetic blur event
164
- const window = ownerDocument?.defaultView;
165
- if (window) {
166
- const nativeEvent = new window.FocusEvent('blur', {
167
- relatedTarget: (focusEvent as FocusEvent).target as Element,
168
- });
169
- setEventTarget(nativeEvent, currentTarget);
170
-
171
- isFocusWithin = false;
172
- removeAllGlobalListeners();
173
-
174
- if (onBlurWithin) {
175
- onBlurWithin(nativeEvent);
176
- }
177
-
178
- if (onFocusWithinChange) {
179
- onFocusWithinChange(false);
180
- }
181
- cleanupRef?.();
182
- cleanupRef = undefined;
183
- }
184
- }
185
- },
186
- { capture: true }
187
- );
188
- }
189
- };
190
-
191
- if (isDisabled) {
192
- return {
193
- focusWithinProps: {
194
- onFocus: undefined,
195
- onBlur: undefined,
196
- },
197
- };
198
- }
199
-
200
- return {
201
- focusWithinProps: {
202
- onFocus,
203
- onBlur,
204
- },
205
- };
206
- }