@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,368 +0,0 @@
1
- /**
2
- * createToolbar - Accessibility hook for toolbar elements
3
- *
4
- * Provides keyboard navigation between toolbar items using arrow keys.
5
- * Based on @react-aria/toolbar useToolbar.
6
- */
7
-
8
- import {
9
- createSignal,
10
- onMount,
11
- onCleanup,
12
- type Accessor,
13
- } from 'solid-js'
14
- import { type MaybeAccessor, access } from '../utils'
15
- import { useLocale } from '../i18n'
16
- import { getOwnerDocument, isFocusable } from '../utils'
17
- import { focusSafely } from '../utils/focus'
18
-
19
- // ============================================
20
- // TYPES
21
- // ============================================
22
-
23
- export type Orientation = 'horizontal' | 'vertical'
24
-
25
- export interface AriaToolbarProps {
26
- /** The orientation of the toolbar. @default 'horizontal' */
27
- orientation?: MaybeAccessor<Orientation>
28
- /** An accessibility label for the toolbar. */
29
- 'aria-label'?: MaybeAccessor<string>
30
- /** Identifies the element (or elements) that labels the toolbar. */
31
- 'aria-labelledby'?: MaybeAccessor<string>
32
- }
33
-
34
- export interface ToolbarAria {
35
- /** Props for the toolbar container element. */
36
- toolbarProps: {
37
- role: 'toolbar' | 'group'
38
- 'aria-orientation': Orientation
39
- 'aria-label'?: string
40
- 'aria-labelledby'?: string
41
- tabIndex?: number
42
- ref: (el: HTMLElement) => void
43
- }
44
- /** The orientation of the toolbar. */
45
- orientation: Accessor<Orientation>
46
- }
47
-
48
- // ============================================
49
- // FOCUS MANAGER FOR TOOLBAR
50
- // ============================================
51
-
52
- interface FocusManagerOptions {
53
- from?: Element
54
- tabbable?: boolean
55
- wrap?: boolean
56
- accept?: (node: Element) => boolean
57
- }
58
-
59
- interface FocusManager {
60
- focusNext(opts?: FocusManagerOptions): HTMLElement | null
61
- focusPrevious(opts?: FocusManagerOptions): HTMLElement | null
62
- focusFirst(opts?: FocusManagerOptions): HTMLElement | null
63
- focusLast(opts?: FocusManagerOptions): HTMLElement | null
64
- }
65
-
66
- function isTabbable(element: Element): boolean {
67
- if (!isFocusable(element)) {
68
- return false
69
- }
70
- const tabIndex = element.getAttribute('tabindex')
71
- if (tabIndex != null) {
72
- return parseInt(tabIndex, 10) >= 0
73
- }
74
- return true
75
- }
76
-
77
- function getFocusableElements(root: Element, tabbable = false): HTMLElement[] {
78
- const elements: HTMLElement[] = []
79
- const filter = tabbable ? isTabbable : isFocusable
80
-
81
- // Check the root element itself
82
- if (filter(root)) {
83
- elements.push(root as HTMLElement)
84
- }
85
-
86
- // Check all descendants
87
- const descendants = root.querySelectorAll('*')
88
- for (let i = 0; i < descendants.length; i++) {
89
- const el = descendants[i]
90
- if (filter(el)) {
91
- elements.push(el as HTMLElement)
92
- }
93
- }
94
-
95
- return elements
96
- }
97
-
98
- function getActiveElement(doc: Document): Element | null {
99
- let activeElement = doc.activeElement
100
- while (activeElement?.shadowRoot?.activeElement) {
101
- activeElement = activeElement.shadowRoot.activeElement
102
- }
103
- return activeElement
104
- }
105
-
106
- function createFocusManager(ref: Accessor<HTMLElement | undefined>): FocusManager {
107
- return {
108
- focusNext(opts: FocusManagerOptions = {}) {
109
- const root = ref()
110
- if (!root) return null
111
-
112
- const { from, tabbable = true, wrap = false, accept } = opts
113
- const doc = getOwnerDocument(root)
114
- const current = from || getActiveElement(doc)
115
-
116
- let elements = getFocusableElements(root, tabbable)
117
- if (accept) {
118
- elements = elements.filter(accept)
119
- }
120
-
121
- if (!current || elements.length === 0) return null
122
-
123
- const currentIndex = elements.indexOf(current as HTMLElement)
124
- let nextIndex = currentIndex + 1
125
-
126
- if (nextIndex >= elements.length) {
127
- if (wrap) {
128
- nextIndex = 0
129
- } else {
130
- return null
131
- }
132
- }
133
-
134
- const nextElement = elements[nextIndex]
135
- if (nextElement) {
136
- focusSafely(nextElement)
137
- return nextElement
138
- }
139
-
140
- return null
141
- },
142
-
143
- focusPrevious(opts: FocusManagerOptions = {}) {
144
- const root = ref()
145
- if (!root) return null
146
-
147
- const { from, tabbable = true, wrap = false, accept } = opts
148
- const doc = getOwnerDocument(root)
149
- const current = from || getActiveElement(doc)
150
-
151
- let elements = getFocusableElements(root, tabbable)
152
- if (accept) {
153
- elements = elements.filter(accept)
154
- }
155
-
156
- if (!current || elements.length === 0) return null
157
-
158
- const currentIndex = elements.indexOf(current as HTMLElement)
159
- let prevIndex = currentIndex - 1
160
-
161
- if (prevIndex < 0) {
162
- if (wrap) {
163
- prevIndex = elements.length - 1
164
- } else {
165
- return null
166
- }
167
- }
168
-
169
- const prevElement = elements[prevIndex]
170
- if (prevElement) {
171
- focusSafely(prevElement)
172
- return prevElement
173
- }
174
-
175
- return null
176
- },
177
-
178
- focusFirst(opts: FocusManagerOptions = {}) {
179
- const root = ref()
180
- if (!root) return null
181
-
182
- const { tabbable = true, accept } = opts
183
- let elements = getFocusableElements(root, tabbable)
184
- if (accept) {
185
- elements = elements.filter(accept)
186
- }
187
-
188
- if (elements.length > 0) {
189
- focusSafely(elements[0])
190
- return elements[0]
191
- }
192
-
193
- return null
194
- },
195
-
196
- focusLast(opts: FocusManagerOptions = {}) {
197
- const root = ref()
198
- if (!root) return null
199
-
200
- const { tabbable = true, accept } = opts
201
- let elements = getFocusableElements(root, tabbable)
202
- if (accept) {
203
- elements = elements.filter(accept)
204
- }
205
-
206
- if (elements.length > 0) {
207
- const lastElement = elements[elements.length - 1]
208
- focusSafely(lastElement)
209
- return lastElement
210
- }
211
-
212
- return null
213
- },
214
- }
215
- }
216
-
217
- // ============================================
218
- // CREATE TOOLBAR HOOK
219
- // ============================================
220
-
221
- /**
222
- * Provides the behavior and accessibility implementation for a toolbar.
223
- * A toolbar is a container for a set of interactive controls with arrow key navigation.
224
- *
225
- * @example
226
- * ```tsx
227
- * let ref;
228
- * const { toolbarProps } = createToolbar({ orientation: 'horizontal' });
229
- * return (
230
- * <div {...toolbarProps}>
231
- * <Button>Cut</Button>
232
- * <Button>Copy</Button>
233
- * <Button>Paste</Button>
234
- * </div>
235
- * );
236
- * ```
237
- */
238
- export function createToolbar(props: AriaToolbarProps = {}): ToolbarAria {
239
- let toolbarRef: HTMLElement | undefined
240
- const [isInToolbar, setIsInToolbar] = createSignal(false)
241
- let lastFocusedElement: Element | null = null
242
-
243
- const locale = useLocale()
244
- const orientation = () => access(props.orientation) ?? 'horizontal'
245
- const ariaLabel = () => access(props['aria-label'])
246
- const ariaLabelledby = () => access(props['aria-labelledby'])
247
-
248
- const focusManager = createFocusManager(() => toolbarRef)
249
-
250
- // Check if this toolbar is nested inside another toolbar
251
- onMount(() => {
252
- if (toolbarRef) {
253
- const parentToolbar = toolbarRef.parentElement?.closest('[role="toolbar"]')
254
- setIsInToolbar(!!parentToolbar)
255
- }
256
- })
257
-
258
- // Keyboard event handler
259
- const onKeyDown = (e: KeyboardEvent) => {
260
- // Don't handle if nested toolbar (parent handles navigation)
261
- if (isInToolbar()) return
262
-
263
- const dir = locale().direction
264
- const isRTL = dir === 'rtl'
265
- const isHorizontal = orientation() === 'horizontal'
266
-
267
- let handled = false
268
-
269
- switch (e.key) {
270
- case 'ArrowRight':
271
- if (isHorizontal) {
272
- if (isRTL) {
273
- focusManager.focusPrevious({ tabbable: true })
274
- } else {
275
- focusManager.focusNext({ tabbable: true })
276
- }
277
- handled = true
278
- }
279
- break
280
- case 'ArrowLeft':
281
- if (isHorizontal) {
282
- if (isRTL) {
283
- focusManager.focusNext({ tabbable: true })
284
- } else {
285
- focusManager.focusPrevious({ tabbable: true })
286
- }
287
- handled = true
288
- }
289
- break
290
- case 'ArrowDown':
291
- if (!isHorizontal) {
292
- focusManager.focusNext({ tabbable: true })
293
- handled = true
294
- }
295
- break
296
- case 'ArrowUp':
297
- if (!isHorizontal) {
298
- focusManager.focusPrevious({ tabbable: true })
299
- handled = true
300
- }
301
- break
302
- case 'Tab':
303
- // Store the last focused element for re-entry
304
- lastFocusedElement = e.target as Element
305
- break
306
- }
307
-
308
- if (handled) {
309
- e.preventDefault()
310
- e.stopPropagation()
311
- }
312
- }
313
-
314
- // Focus handler - restore last focused element when re-entering
315
- const onFocus = (e: FocusEvent) => {
316
- if (isInToolbar()) return
317
-
318
- // Only restore if focus is coming from outside the toolbar
319
- const root = toolbarRef
320
- if (!root) return
321
-
322
- const relatedTarget = e.relatedTarget as Element | null
323
-
324
- // If focus came from outside and we have a last focused element
325
- if (
326
- lastFocusedElement &&
327
- root.contains(lastFocusedElement) &&
328
- (!relatedTarget || !root.contains(relatedTarget))
329
- ) {
330
- // Restore focus to the last focused element
331
- focusSafely(lastFocusedElement as HTMLElement)
332
- }
333
- }
334
-
335
- // Set up capture event listeners
336
- const setRef = (el: HTMLElement) => {
337
- toolbarRef = el
338
-
339
- // Use capture phase for keyboard events
340
- el.addEventListener('keydown', onKeyDown, true)
341
- el.addEventListener('focus', onFocus, true)
342
-
343
- onCleanup(() => {
344
- el.removeEventListener('keydown', onKeyDown, true)
345
- el.removeEventListener('focus', onFocus, true)
346
- })
347
- }
348
-
349
- return {
350
- toolbarProps: {
351
- get role() {
352
- return isInToolbar() ? 'group' : 'toolbar'
353
- },
354
- get 'aria-orientation'() {
355
- return orientation()
356
- },
357
- get 'aria-label'() {
358
- return ariaLabel()
359
- },
360
- get 'aria-labelledby'() {
361
- // Only use aria-labelledby if no aria-label is provided
362
- return ariaLabel() ? undefined : ariaLabelledby()
363
- },
364
- ref: setRef,
365
- },
366
- orientation,
367
- }
368
- }
@@ -1,6 +0,0 @@
1
- export {
2
- createToolbar,
3
- type AriaToolbarProps,
4
- type ToolbarAria,
5
- type Orientation,
6
- } from './createToolbar'
@@ -1,79 +0,0 @@
1
- /**
2
- * createTooltip hook for Solidaria
3
- *
4
- * Provides the accessibility implementation for a Tooltip component.
5
- *
6
- * Port of @react-aria/tooltip useTooltip.
7
- */
8
-
9
- import { type JSX } from 'solid-js';
10
- import { type TooltipTriggerState } from '@proyecto-viviana/solid-stately';
11
- import { createHover } from '../interactions/createHover';
12
- import { filterDOMProps, mergeProps } from '../utils';
13
-
14
- // ============================================
15
- // TYPES
16
- // ============================================
17
-
18
- export interface TooltipProps {
19
- /** Whether the tooltip is disabled. */
20
- isDisabled?: boolean;
21
- /** Custom aria-label for the tooltip. */
22
- 'aria-label'?: string;
23
- /** ID of an element that labels the tooltip. */
24
- 'aria-labelledby'?: string;
25
- /** ID of an element that describes the tooltip. */
26
- 'aria-describedby'?: string;
27
- }
28
-
29
- export interface TooltipAria {
30
- /** Props to spread on the tooltip element. */
31
- tooltipProps: JSX.HTMLAttributes<HTMLElement>;
32
- }
33
-
34
- // ============================================
35
- // IMPLEMENTATION
36
- // ============================================
37
-
38
- /**
39
- * Provides the accessibility implementation for a Tooltip component.
40
- *
41
- * When hovering over the tooltip itself, it stays open. When the mouse leaves
42
- * the tooltip, it closes.
43
- *
44
- * @example
45
- * ```tsx
46
- * import { createTooltip } from 'solidaria';
47
- * import { createTooltipTriggerState } from 'solid-stately';
48
- *
49
- * function Tooltip(props) {
50
- * const state = props.state;
51
- * const { tooltipProps } = createTooltip(props, state);
52
- *
53
- * return (
54
- * <div {...tooltipProps} role="tooltip">
55
- * {props.children}
56
- * </div>
57
- * );
58
- * }
59
- * ```
60
- */
61
- export function createTooltip(
62
- props: TooltipProps = {},
63
- state?: TooltipTriggerState
64
- ): TooltipAria {
65
- const domProps = filterDOMProps(props, { labelable: true });
66
-
67
- const { hoverProps } = createHover({
68
- onHoverStart: () => state?.open(true),
69
- onHoverEnd: () => state?.close(),
70
- });
71
-
72
- return {
73
- tooltipProps: mergeProps<JSX.HTMLAttributes<HTMLElement>>(
74
- domProps,
75
- hoverProps,
76
- { role: 'tooltip' }
77
- ),
78
- };
79
- }
@@ -1,222 +0,0 @@
1
- /**
2
- * createTooltipTrigger hook for Solidaria
3
- *
4
- * Provides the behavior and accessibility implementation for a tooltip trigger,
5
- * e.g. a button that shows a description when focused or hovered.
6
- *
7
- * Port of @react-aria/tooltip useTooltipTrigger.
8
- */
9
-
10
- import { type JSX, createEffect, onCleanup } from 'solid-js';
11
- import { type TooltipTriggerState } from '@proyecto-viviana/solid-stately';
12
- import { createHover } from '../interactions/createHover';
13
- import { createFocusable } from '../interactions/createFocusable';
14
- import { mergeProps } from '../utils';
15
- import { createId } from '../ssr';
16
-
17
- // ============================================
18
- // TYPES
19
- // ============================================
20
-
21
- export interface TooltipTriggerProps {
22
- /** Whether the tooltip should be disabled. */
23
- isDisabled?: boolean;
24
- /**
25
- * The trigger mechanism for the tooltip.
26
- * @default 'focus'
27
- */
28
- trigger?: 'focus';
29
- /**
30
- * Whether the tooltip should close when the trigger is pressed.
31
- * @default true
32
- */
33
- shouldCloseOnPress?: boolean;
34
- }
35
-
36
- export interface TooltipTriggerAria {
37
- /** Props to spread on the trigger element. */
38
- triggerProps: JSX.HTMLAttributes<HTMLElement>;
39
- /** Props to spread on the tooltip element (id for accessibility). */
40
- tooltipProps: { id: string };
41
- }
42
-
43
- // ============================================
44
- // GLOBAL STATE
45
- // ============================================
46
-
47
- type Modality = 'keyboard' | 'pointer' | 'virtual';
48
- let currentModality: Modality | null = null;
49
-
50
- // Track interaction modality (pointer vs keyboard)
51
- if (typeof document !== 'undefined') {
52
- document.addEventListener('keydown', () => {
53
- currentModality = 'keyboard';
54
- }, true);
55
- document.addEventListener('pointerdown', () => {
56
- currentModality = 'pointer';
57
- }, true);
58
- document.addEventListener('pointermove', () => {
59
- currentModality = 'pointer';
60
- }, true);
61
- }
62
-
63
- function isFocusVisible(): boolean {
64
- return currentModality === 'keyboard';
65
- }
66
-
67
- // ============================================
68
- // IMPLEMENTATION
69
- // ============================================
70
-
71
- /**
72
- * Provides the behavior and accessibility implementation for a tooltip trigger.
73
- *
74
- * @example
75
- * ```tsx
76
- * import { createTooltipTrigger } from 'solidaria';
77
- * import { createTooltipTriggerState } from 'solid-stately';
78
- *
79
- * function TooltipButton(props) {
80
- * let ref;
81
- * const state = createTooltipTriggerState({ delay: 500 });
82
- * const { triggerProps, tooltipProps } = createTooltipTrigger(
83
- * { isDisabled: props.isDisabled },
84
- * state,
85
- * () => ref
86
- * );
87
- *
88
- * return (
89
- * <>
90
- * <button ref={ref} {...triggerProps}>
91
- * Hover me
92
- * </button>
93
- * <Show when={state.isOpen()}>
94
- * <div {...tooltipProps}>Tooltip content</div>
95
- * </Show>
96
- * </>
97
- * );
98
- * }
99
- * ```
100
- */
101
- export function createTooltipTrigger(
102
- props: TooltipTriggerProps,
103
- state: TooltipTriggerState,
104
- ref: () => HTMLElement | null | undefined
105
- ): TooltipTriggerAria {
106
- const {
107
- isDisabled = false,
108
- trigger,
109
- shouldCloseOnPress = true,
110
- } = props;
111
-
112
- const tooltipId = createId();
113
-
114
- // Track hover and focus state
115
- let isHovered = false;
116
- let isFocused = false;
117
-
118
- const handleShow = () => {
119
- if (isHovered || isFocused) {
120
- state.open(isFocused);
121
- }
122
- };
123
-
124
- const handleHide = (immediate?: boolean) => {
125
- if (!isHovered && !isFocused) {
126
- state.close(immediate);
127
- }
128
- };
129
-
130
- // Handle Escape key to dismiss tooltip
131
- createEffect(() => {
132
- if (!state.isOpen()) return;
133
-
134
- const onKeyDown = (e: KeyboardEvent) => {
135
- const element = ref();
136
- if (element) {
137
- if (e.key === 'Escape') {
138
- e.stopPropagation();
139
- state.close(true);
140
- }
141
- }
142
- };
143
-
144
- document.addEventListener('keydown', onKeyDown, true);
145
- onCleanup(() => {
146
- document.removeEventListener('keydown', onKeyDown, true);
147
- });
148
- });
149
-
150
- const onHoverStart = () => {
151
- if (trigger === 'focus') {
152
- return;
153
- }
154
- // Hover events (onPointerEnter) only fire from pointer interactions,
155
- // so we can always set isHovered to true here
156
- isHovered = true;
157
- handleShow();
158
- };
159
-
160
- const onHoverEnd = () => {
161
- if (trigger === 'focus') {
162
- return;
163
- }
164
- isFocused = false;
165
- isHovered = false;
166
- handleHide();
167
- };
168
-
169
- const onPressStart = () => {
170
- if (!shouldCloseOnPress) {
171
- return;
172
- }
173
- isFocused = false;
174
- isHovered = false;
175
- handleHide(true);
176
- };
177
-
178
- const onFocus = () => {
179
- const visible = isFocusVisible();
180
- if (visible) {
181
- isFocused = true;
182
- handleShow();
183
- }
184
- };
185
-
186
- const onBlur = () => {
187
- isFocused = false;
188
- isHovered = false;
189
- handleHide(true);
190
- };
191
-
192
- const { hoverProps } = createHover({
193
- isDisabled,
194
- onHoverStart,
195
- onHoverEnd,
196
- });
197
-
198
- const { focusableProps } = createFocusable({
199
- isDisabled,
200
- onFocus,
201
- onBlur,
202
- });
203
-
204
- const triggerProps = {
205
- ...focusableProps,
206
- ...hoverProps,
207
- get 'aria-describedby'() {
208
- return state.isOpen() ? tooltipId : undefined;
209
- },
210
- onPointerDown: onPressStart,
211
- onKeyDown: onPressStart,
212
- // Remove tabIndex set by focusableProps to avoid overriding
213
- tabIndex: undefined,
214
- };
215
-
216
- return {
217
- triggerProps: triggerProps as JSX.HTMLAttributes<HTMLElement>,
218
- tooltipProps: {
219
- id: tooltipId,
220
- },
221
- };
222
- }
@@ -1,6 +0,0 @@
1
- export { createTooltip, type TooltipProps, type TooltipAria } from './createTooltip';
2
- export {
3
- createTooltipTrigger,
4
- type TooltipTriggerProps,
5
- type TooltipTriggerAria,
6
- } from './createTooltipTrigger';