@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,341 +0,0 @@
1
- /**
2
- * createAutocomplete - Accessibility hook for autocomplete components
3
- *
4
- * Provides keyboard navigation, virtual focus via aria-activedescendant,
5
- * and filtering capabilities for autocomplete inputs.
6
- *
7
- * Based on @react-aria/autocomplete useAutocomplete.
8
- */
9
-
10
- import {
11
- createSignal,
12
- createEffect,
13
- onCleanup,
14
- type Accessor,
15
- } from 'solid-js'
16
- import { createId, getOwnerDocument } from '../ssr'
17
- import { type AutocompleteState } from '@proyecto-viviana/solid-stately'
18
-
19
- // ============================================
20
- // TYPES
21
- // ============================================
22
-
23
- export interface CollectionOptions {
24
- /** The id of the collection element. */
25
- id?: string
26
- /** Accessible label for the collection. */
27
- 'aria-label'?: string
28
- /** Whether the collection items should use virtual focus instead of being focused directly. */
29
- shouldUseVirtualFocus: boolean
30
- /** Whether typeahead is disabled. */
31
- disallowTypeAhead: boolean
32
- }
33
-
34
- export interface AutocompleteInputProps {
35
- /** Current input value. */
36
- value: Accessor<string>
37
- /** Handler for input value changes. */
38
- onChange: (value: string) => void
39
- /** Handler for key events. */
40
- onKeyDown: (e: KeyboardEvent) => void
41
- /** Handler for focus events. */
42
- onFocus: (e: FocusEvent) => void
43
- /** Handler for blur events. */
44
- onBlur: (e: FocusEvent) => void
45
- /** The id of the currently focused item for aria-activedescendant. */
46
- 'aria-activedescendant': Accessor<string | undefined>
47
- /** The id of the controlled collection. */
48
- 'aria-controls': string
49
- /** Autocomplete type. */
50
- 'aria-autocomplete': 'list' | 'none' | 'inline' | 'both'
51
- /** Enter key hint for mobile keyboards. */
52
- enterKeyHint: 'go'
53
- /** Disable autocorrect. */
54
- autoCorrect: 'off'
55
- /** Disable spell check. */
56
- spellCheck: 'false'
57
- /** Disable browser autocomplete. */
58
- autoComplete: 'off'
59
- }
60
-
61
- export interface AriaAutocompleteOptions<T = unknown> {
62
- /** Ref accessor for the input element. */
63
- inputRef: Accessor<HTMLInputElement | undefined>
64
- /** Ref accessor for the collection element. */
65
- collectionRef: Accessor<HTMLElement | undefined>
66
- /**
67
- * An optional filter function used to determine if an option should be included.
68
- * @param textValue - The text value of the item
69
- * @param inputValue - The current input value
70
- */
71
- filter?: (textValue: string, inputValue: string) => boolean
72
- /**
73
- * Whether to focus the first item after filtering.
74
- * @default false
75
- */
76
- disableAutoFocusFirst?: boolean
77
- /**
78
- * Whether to disable virtual focus (aria-activedescendant).
79
- * @default false
80
- */
81
- disableVirtualFocus?: boolean
82
- }
83
-
84
- export interface AutocompleteAria<T = unknown> {
85
- /** Props for the autocomplete input element. */
86
- inputProps: AutocompleteInputProps
87
- /** Props for the collection (ListBox/Menu). */
88
- collectionProps: CollectionOptions
89
- /** A filter function that returns if the item should be shown. */
90
- filter?: (textValue: string) => boolean
91
- }
92
-
93
- // ============================================
94
- // CONSTANTS
95
- // ============================================
96
-
97
- // Custom event names for collection communication
98
- export const AUTOCOMPLETE_FOCUS_EVENT = 'autocomplete:focus'
99
- export const AUTOCOMPLETE_CLEAR_FOCUS_EVENT = 'autocomplete:clearfocus'
100
-
101
- // ============================================
102
- // CREATE AUTOCOMPLETE HOOK
103
- // ============================================
104
-
105
- /**
106
- * Provides the behavior and accessibility implementation for an autocomplete component.
107
- * An autocomplete combines a text input with a collection, allowing users to filter
108
- * the collection's contents to match a query.
109
- *
110
- * @example
111
- * ```tsx
112
- * const state = createAutocompleteState({ defaultInputValue: '' });
113
- * let inputRef, collectionRef;
114
- *
115
- * const { inputProps, collectionProps, filter } = createAutocomplete({
116
- * inputRef: () => inputRef,
117
- * collectionRef: () => collectionRef,
118
- * filter: (textValue, inputValue) =>
119
- * textValue.toLowerCase().includes(inputValue.toLowerCase()),
120
- * }, state);
121
- *
122
- * return (
123
- * <div>
124
- * <input ref={inputRef} {...inputProps} />
125
- * <ul ref={collectionRef} {...collectionProps}>
126
- * {items.filter(item => filter?.(item.name) ?? true).map(item => (
127
- * <li key={item.id}>{item.name}</li>
128
- * ))}
129
- * </ul>
130
- * </div>
131
- * );
132
- * ```
133
- */
134
- export function createAutocomplete<T = unknown>(
135
- props: AriaAutocompleteOptions<T>,
136
- state: AutocompleteState
137
- ): AutocompleteAria<T> {
138
- const {
139
- inputRef,
140
- collectionRef,
141
- filter,
142
- disableAutoFocusFirst = false,
143
- disableVirtualFocus = false,
144
- } = props
145
-
146
- const collectionId = createId()
147
- const [shouldUseVirtualFocus] = createSignal(!disableVirtualFocus)
148
- let lastInputType = ''
149
-
150
- // Track the input type for determining focus behavior
151
- const handleInput = (e: Event) => {
152
- const inputEvent = e as InputEvent
153
- lastInputType = inputEvent.inputType || ''
154
- }
155
-
156
- // Set up input event listener
157
- createEffect(() => {
158
- const input = inputRef()
159
- if (input) {
160
- input.addEventListener('input', handleInput)
161
- onCleanup(() => {
162
- input.removeEventListener('input', handleInput)
163
- })
164
- }
165
- })
166
-
167
- // Focus first item in collection
168
- const focusFirstItem = () => {
169
- const collection = collectionRef()
170
- if (collection) {
171
- collection.dispatchEvent(
172
- new CustomEvent(AUTOCOMPLETE_FOCUS_EVENT, {
173
- cancelable: true,
174
- bubbles: true,
175
- detail: { focusStrategy: 'first' },
176
- })
177
- )
178
- }
179
- }
180
-
181
- // Clear virtual focus
182
- const clearVirtualFocus = (clearFocusKey = false) => {
183
- state.setFocusedNodeId(null)
184
- const collection = collectionRef()
185
- if (collection) {
186
- collection.dispatchEvent(
187
- new CustomEvent(AUTOCOMPLETE_CLEAR_FOCUS_EVENT, {
188
- cancelable: true,
189
- bubbles: true,
190
- detail: { clearFocusKey },
191
- })
192
- )
193
- }
194
- }
195
-
196
- // Handle input value changes
197
- const onChange = (value: string) => {
198
- // Focus first item when typing forward, clear when backspacing/pasting
199
- if (lastInputType === 'insertText' && !disableAutoFocusFirst) {
200
- focusFirstItem()
201
- } else if (
202
- lastInputType &&
203
- (lastInputType.includes('insert') ||
204
- lastInputType.includes('delete') ||
205
- lastInputType.includes('history'))
206
- ) {
207
- clearVirtualFocus(true)
208
- }
209
-
210
- state.setInputValue(value)
211
- }
212
-
213
- // Handle keyboard navigation
214
- const onKeyDown = (e: KeyboardEvent) => {
215
- if ((e as any).isComposing) {
216
- return
217
- }
218
-
219
- const focusedNodeId = state.focusedNodeId()
220
- const collection = collectionRef()
221
-
222
- switch (e.key) {
223
- case 'Escape':
224
- // Let the input handle Escape (e.g., clear value)
225
- if (e.defaultPrevented) {
226
- return
227
- }
228
- break
229
-
230
- case ' ':
231
- // Space shouldn't trigger item action
232
- return
233
-
234
- case 'Tab':
235
- // Let Tab propagate normally for focus management
236
- return
237
-
238
- case 'ArrowUp':
239
- case 'ArrowDown':
240
- case 'Home':
241
- case 'End':
242
- case 'PageUp':
243
- case 'PageDown': {
244
- // Prevent cursor movement in input
245
- e.preventDefault()
246
-
247
- // Dispatch focus event to collection
248
- if (collection) {
249
- collection.dispatchEvent(
250
- new CustomEvent(AUTOCOMPLETE_FOCUS_EVENT, {
251
- cancelable: true,
252
- bubbles: true,
253
- })
254
- )
255
- }
256
- break
257
- }
258
-
259
- case 'ArrowLeft':
260
- case 'ArrowRight':
261
- // Clear activedescendant so screen reader announces cursor movement
262
- clearVirtualFocus()
263
- return
264
-
265
- case 'Enter':
266
- // Trigger click on focused item
267
- if (focusedNodeId) {
268
- const item = document.getElementById(focusedNodeId)
269
- if (item) {
270
- item.click()
271
- e.preventDefault()
272
- }
273
- }
274
- return
275
- }
276
-
277
- // Forward keyboard events to collection/focused item
278
- if (!e.defaultPrevented && collection) {
279
- e.stopPropagation()
280
-
281
- if (focusedNodeId) {
282
- const item = document.getElementById(focusedNodeId)
283
- if (item) {
284
- item.dispatchEvent(new KeyboardEvent(e.type, e))
285
- }
286
- } else {
287
- collection.dispatchEvent(new KeyboardEvent(e.type, e))
288
- }
289
- }
290
- }
291
-
292
- // Handle focus events
293
- const onFocus = (e: FocusEvent) => {
294
- if (!e.isTrusted) return
295
-
296
- // Restore virtual focus when refocusing input
297
- const focusedNodeId = state.focusedNodeId()
298
- if (focusedNodeId) {
299
- const item = document.getElementById(focusedNodeId)
300
- if (item) {
301
- // Item still exists, keep focus on it
302
- }
303
- }
304
- }
305
-
306
- const onBlur = (e: FocusEvent) => {
307
- if (!e.isTrusted) return
308
- // Virtual focus blur handling would go here
309
- }
310
-
311
- // Create filter function
312
- const filterFn = filter
313
- ? (textValue: string) => filter(textValue, state.inputValue())
314
- : undefined
315
-
316
- return {
317
- inputProps: {
318
- value: state.inputValue,
319
- onChange,
320
- onKeyDown,
321
- onFocus,
322
- onBlur,
323
- get 'aria-activedescendant'() {
324
- return () => (shouldUseVirtualFocus() ? state.focusedNodeId() ?? undefined : undefined)
325
- },
326
- 'aria-controls': collectionId,
327
- 'aria-autocomplete': 'list',
328
- enterKeyHint: 'go',
329
- autoCorrect: 'off',
330
- spellCheck: 'false',
331
- autoComplete: 'off',
332
- },
333
- collectionProps: {
334
- id: collectionId,
335
- 'aria-label': 'Suggestions',
336
- shouldUseVirtualFocus: shouldUseVirtualFocus(),
337
- disallowTypeAhead: shouldUseVirtualFocus(),
338
- },
339
- filter: filterFn,
340
- }
341
- }
@@ -1,9 +0,0 @@
1
- export {
2
- createAutocomplete,
3
- AUTOCOMPLETE_FOCUS_EVENT,
4
- AUTOCOMPLETE_CLEAR_FOCUS_EVENT,
5
- type AriaAutocompleteOptions,
6
- type AutocompleteAria,
7
- type AutocompleteInputProps,
8
- type CollectionOptions,
9
- } from './createAutocomplete'
@@ -1,196 +0,0 @@
1
- /**
2
- * Breadcrumbs hooks for Solidaria
3
- *
4
- * Provides accessibility implementation for breadcrumb navigation.
5
- * Port of @react-aria/breadcrumbs.
6
- */
7
-
8
- import { createLink, type AriaLinkProps, type LinkAria } from '../link';
9
- import { filterDOMProps } from '../utils/filterDOMProps';
10
- import { mergeProps } from '../utils/mergeProps';
11
- import { type MaybeAccessor, access } from '../utils/reactivity';
12
-
13
- // ============================================
14
- // TYPES
15
- // ============================================
16
-
17
- export interface AriaBreadcrumbsProps {
18
- /** Provides a label for the breadcrumbs navigation. */
19
- 'aria-label'?: string;
20
- /** Identifies the element (or elements) that labels the breadcrumbs. */
21
- 'aria-labelledby'?: string;
22
- /** Identifies the element (or elements) that describes the breadcrumbs. */
23
- 'aria-describedby'?: string;
24
- /** Whether the breadcrumbs are disabled. */
25
- isDisabled?: boolean;
26
- }
27
-
28
- export interface BreadcrumbsAria {
29
- /** Props for the breadcrumbs nav element. */
30
- navProps: Record<string, unknown>;
31
- }
32
-
33
- export interface AriaBreadcrumbItemProps extends Omit<AriaLinkProps, 'aria-current'> {
34
- /** Whether this is the current/last item in the breadcrumb trail. */
35
- isCurrent?: boolean;
36
- /** The type of current location for aria-current. @default 'page' */
37
- 'aria-current'?: 'page' | 'step' | 'location' | 'date' | 'time' | boolean;
38
- /** The HTML element type. @default 'a' */
39
- elementType?: string;
40
- }
41
-
42
- export interface BreadcrumbItemAria extends LinkAria {
43
- /** Props for the breadcrumb item element. */
44
- itemProps: Record<string, unknown>;
45
- }
46
-
47
- // ============================================
48
- // IMPLEMENTATION
49
- // ============================================
50
-
51
- /**
52
- * Provides accessibility implementation for the breadcrumbs navigation container.
53
- */
54
- export function createBreadcrumbs(
55
- props: MaybeAccessor<AriaBreadcrumbsProps> = {}
56
- ): BreadcrumbsAria {
57
- const getProps = () => access(props);
58
-
59
- const getNavProps = (): Record<string, unknown> => {
60
- const p = getProps();
61
-
62
- // Default aria-label to "Breadcrumbs" if not provided
63
- const ariaLabel = p['aria-label'] ?? 'Breadcrumbs';
64
-
65
- return mergeProps(
66
- filterDOMProps(p as Record<string, unknown>, { labelable: true }),
67
- {
68
- 'aria-label': ariaLabel,
69
- }
70
- );
71
- };
72
-
73
- return {
74
- get navProps() {
75
- return getNavProps();
76
- },
77
- };
78
- }
79
-
80
- /**
81
- * Provides accessibility implementation for an individual breadcrumb item.
82
- */
83
- export function createBreadcrumbItem(
84
- props: MaybeAccessor<AriaBreadcrumbItemProps> = {}
85
- ): BreadcrumbItemAria {
86
- const getProps = () => access(props);
87
-
88
- const isCurrent = () => getProps().isCurrent ?? false;
89
- const isDisabled = () => getProps().isDisabled ?? false;
90
- const elementType = () => getProps().elementType ?? 'a';
91
-
92
- // Check if element is a heading
93
- const isHeading = () => /^h[1-6]$/.test(elementType());
94
-
95
- // Use createLink for base link behavior
96
- // Current items are treated as disabled (can't navigate to current page)
97
- const { linkProps, isPressed } = createLink({
98
- get isDisabled() {
99
- return isDisabled() || isCurrent();
100
- },
101
- get elementType() {
102
- return elementType();
103
- },
104
- get href() {
105
- return getProps().href;
106
- },
107
- get target() {
108
- return getProps().target;
109
- },
110
- get rel() {
111
- return getProps().rel;
112
- },
113
- get onPress() {
114
- return getProps().onPress;
115
- },
116
- get onPressStart() {
117
- return getProps().onPressStart;
118
- },
119
- get onPressEnd() {
120
- return getProps().onPressEnd;
121
- },
122
- get onClick() {
123
- return getProps().onClick;
124
- },
125
- get onFocus() {
126
- return getProps().onFocus;
127
- },
128
- get onBlur() {
129
- return getProps().onBlur;
130
- },
131
- get onFocusChange() {
132
- return getProps().onFocusChange;
133
- },
134
- get onKeyDown() {
135
- return getProps().onKeyDown;
136
- },
137
- get onKeyUp() {
138
- return getProps().onKeyUp;
139
- },
140
- get autoFocus() {
141
- return getProps().autoFocus;
142
- },
143
- get 'aria-label'() {
144
- return getProps()['aria-label'];
145
- },
146
- get 'aria-labelledby'() {
147
- return getProps()['aria-labelledby'];
148
- },
149
- get 'aria-describedby'() {
150
- return getProps()['aria-describedby'];
151
- },
152
- });
153
-
154
- const getItemProps = (): Record<string, unknown> => {
155
- const p = getProps();
156
- const current = isCurrent();
157
-
158
- // Start with link props (unless it's a heading)
159
- let baseProps: Record<string, unknown> = isHeading() ? {} : linkProps;
160
-
161
- // Add aria-current for current page
162
- if (current) {
163
- const ariaCurrent = p['aria-current'] ?? 'page';
164
- baseProps = mergeProps(baseProps, {
165
- 'aria-current': ariaCurrent,
166
- });
167
-
168
- // Adjust tabIndex for current item
169
- // If autoFocus is true, we want the item focusable
170
- if (p.autoFocus) {
171
- baseProps = mergeProps(baseProps, {
172
- tabIndex: -1,
173
- });
174
- }
175
- }
176
-
177
- // Add aria-disabled for disabled items
178
- if (isDisabled()) {
179
- baseProps = mergeProps(baseProps, {
180
- 'aria-disabled': true,
181
- });
182
- }
183
-
184
- return baseProps;
185
- };
186
-
187
- return {
188
- get itemProps() {
189
- return getItemProps();
190
- },
191
- get linkProps() {
192
- return linkProps;
193
- },
194
- isPressed,
195
- };
196
- }
@@ -1,8 +0,0 @@
1
- export {
2
- createBreadcrumbs,
3
- createBreadcrumbItem,
4
- type AriaBreadcrumbsProps,
5
- type BreadcrumbsAria,
6
- type AriaBreadcrumbItemProps,
7
- type BreadcrumbItemAria,
8
- } from './createBreadcrumbs';
@@ -1,142 +0,0 @@
1
- import { Accessor } from 'solid-js';
2
- import { createPress } from '../interactions';
3
- import { createFocusable } from '../interactions';
4
- import { mergeProps, filterDOMProps } from '../utils';
5
- import type { AriaButtonProps, ButtonAria } from './types';
6
-
7
- function isDisabledValue(isDisabled: Accessor<boolean> | boolean | undefined): boolean {
8
- if (typeof isDisabled === 'function') {
9
- return isDisabled();
10
- }
11
- return isDisabled ?? false;
12
- }
13
-
14
- /**
15
- * Provides the behavior and accessibility implementation for a button component.
16
- * Handles press interactions across mouse, touch, keyboard and screen readers.
17
- *
18
- * Based on react-aria's useButton but adapted for SolidJS.
19
- *
20
- * @example
21
- * ```tsx
22
- * import { createButton } from 'solidaria';
23
- *
24
- * function Button(props) {
25
- * let ref;
26
- * const { buttonProps, isPressed } = createButton(props);
27
- *
28
- * return (
29
- * <button
30
- * {...buttonProps}
31
- * ref={ref}
32
- * class={isPressed() ? 'pressed' : ''}
33
- * >
34
- * {props.children}
35
- * </button>
36
- * );
37
- * }
38
- * ```
39
- */
40
- export function createButton(props: AriaButtonProps = {}): ButtonAria {
41
- const elementType = props.elementType ?? 'button';
42
-
43
- const { pressProps, isPressed } = createPress({
44
- isDisabled: props.isDisabled,
45
- onPress: props.onPress,
46
- onPressStart: props.onPressStart,
47
- onPressEnd: props.onPressEnd,
48
- onPressUp: props.onPressUp,
49
- onPressChange: props.onPressChange,
50
- onClick: props.onClick,
51
- preventFocusOnPress: props.preventFocusOnPress,
52
- });
53
-
54
- const { focusableProps } = createFocusable({
55
- isDisabled: props.isDisabled,
56
- autoFocus: props.autoFocus,
57
- excludeFromTabOrder: props.excludeFromTabOrder,
58
- });
59
-
60
- const isNativeButton = elementType === 'button' || elementType === 'input';
61
- const isLink = elementType === 'a';
62
- const disabled = isDisabledValue(props.isDisabled);
63
-
64
- // Handle allowFocusWhenDisabled - set tabIndex to -1 when disabled but focusable
65
- // This allows tooltips to be shown on disabled buttons
66
- if (props.allowFocusWhenDisabled && disabled) {
67
- (focusableProps as Record<string, unknown>).tabIndex = -1;
68
- }
69
-
70
- // Build base props based on element type
71
- let additionalProps: Record<string, unknown> = {};
72
-
73
- if (isNativeButton) {
74
- additionalProps = {
75
- type: props.type ?? 'button',
76
- disabled: disabled,
77
- // Form-related attributes
78
- ...(props.form && { form: props.form }),
79
- ...(props.formAction && { formAction: props.formAction }),
80
- ...(props.formEncType && { formEncType: props.formEncType }),
81
- ...(props.formMethod && { formMethod: props.formMethod }),
82
- ...(props.formNoValidate && { formNoValidate: props.formNoValidate }),
83
- ...(props.formTarget && { formTarget: props.formTarget }),
84
- ...(props.name && { name: props.name }),
85
- ...(props.value && { value: props.value }),
86
- };
87
- } else {
88
- // Non-native buttons need role and tabIndex
89
- additionalProps = {
90
- role: 'button',
91
- tabIndex: disabled ? undefined : 0,
92
- 'aria-disabled': disabled ? true : undefined,
93
- };
94
-
95
- if (isLink) {
96
- additionalProps.href = props.href;
97
- additionalProps.target = props.target;
98
- additionalProps.rel = props.rel;
99
- }
100
- }
101
-
102
- // ARIA attributes
103
- const ariaProps: Record<string, unknown> = {};
104
-
105
- if (props['aria-pressed'] !== undefined) {
106
- ariaProps['aria-pressed'] = props['aria-pressed'];
107
- }
108
- if (props['aria-haspopup'] !== undefined) {
109
- ariaProps['aria-haspopup'] = props['aria-haspopup'];
110
- }
111
- if (props['aria-expanded'] !== undefined) {
112
- ariaProps['aria-expanded'] = props['aria-expanded'];
113
- }
114
- if (props['aria-label']) {
115
- ariaProps['aria-label'] = props['aria-label'];
116
- }
117
- if (props['aria-labelledby']) {
118
- ariaProps['aria-labelledby'] = props['aria-labelledby'];
119
- }
120
- if (props['aria-describedby']) {
121
- ariaProps['aria-describedby'] = props['aria-describedby'];
122
- }
123
- if (props['aria-controls']) {
124
- ariaProps['aria-controls'] = props['aria-controls'];
125
- }
126
- if (props['aria-current'] !== undefined) {
127
- ariaProps['aria-current'] = props['aria-current'];
128
- }
129
-
130
- const buttonProps = mergeProps(
131
- filterDOMProps(props as Record<string, unknown>, { labelable: true }),
132
- additionalProps,
133
- ariaProps,
134
- focusableProps as Record<string, unknown>,
135
- pressProps as Record<string, unknown>
136
- );
137
-
138
- return {
139
- buttonProps,
140
- isPressed,
141
- };
142
- }