@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,429 +0,0 @@
1
- /**
2
- * GridKeyboardDelegate - Handles keyboard navigation in a grid.
3
- * Based on @react-aria/grid/GridKeyboardDelegate.
4
- */
5
-
6
- import type { GridCollection, GridNode, Key } from '@proyecto-viviana/solid-stately';
7
- import type { KeyboardDelegate } from './types';
8
- import type { Accessor } from 'solid-js';
9
-
10
- export interface GridKeyboardDelegateOptions<T> {
11
- /** The grid collection. */
12
- collection: GridCollection<T>;
13
- /** Set of disabled keys. */
14
- disabledKeys: Set<Key>;
15
- /** Ref to the grid element. */
16
- ref: Accessor<HTMLElement | null>;
17
- /** Focus mode: row or cell. */
18
- focusMode: 'row' | 'cell';
19
- /** Text direction (ltr or rtl). */
20
- direction: 'ltr' | 'rtl';
21
- }
22
-
23
- /**
24
- * A keyboard delegate that handles navigation in a grid.
25
- */
26
- export class GridKeyboardDelegate<T> implements KeyboardDelegate {
27
- private collection: GridCollection<T>;
28
- private disabledKeys: Set<Key>;
29
- private ref: Accessor<HTMLElement | null>;
30
- private focusMode: 'row' | 'cell';
31
- private direction: 'ltr' | 'rtl';
32
-
33
- constructor(options: GridKeyboardDelegateOptions<T>) {
34
- this.collection = options.collection;
35
- this.disabledKeys = options.disabledKeys;
36
- this.ref = options.ref;
37
- this.focusMode = options.focusMode;
38
- this.direction = options.direction;
39
- }
40
-
41
- /**
42
- * Check if a key is disabled.
43
- */
44
- private isDisabled(key: Key): boolean {
45
- return this.disabledKeys.has(key);
46
- }
47
-
48
- /**
49
- * Get the parent row key for a cell.
50
- */
51
- private getRowKey(key: Key): Key | null {
52
- const item = this.collection.getItem(key);
53
- if (!item) return null;
54
-
55
- if (item.type === 'item') {
56
- return key;
57
- }
58
-
59
- if (item.type === 'cell' && item.parentKey != null) {
60
- return item.parentKey;
61
- }
62
-
63
- return null;
64
- }
65
-
66
- /**
67
- * Get all body rows (excluding header rows).
68
- */
69
- private getBodyRows(): GridNode<T>[] {
70
- return this.collection.rows.filter((row) => row.type === 'item');
71
- }
72
-
73
- /**
74
- * Get the first non-disabled key.
75
- */
76
- getFirstKey(fromKey?: Key, global?: boolean): Key | null {
77
- const rows = this.getBodyRows();
78
-
79
- if (this.focusMode === 'row' || global) {
80
- // Find first non-disabled row
81
- for (const row of rows) {
82
- if (!this.isDisabled(row.key)) {
83
- return row.key;
84
- }
85
- }
86
- return null;
87
- }
88
-
89
- // Cell focus mode - get first cell of current row or first row
90
- if (fromKey != null) {
91
- const rowKey = this.getRowKey(fromKey);
92
- if (rowKey != null) {
93
- const children = [...this.collection.getChildren(rowKey)];
94
- if (children.length > 0) {
95
- return children[0].key;
96
- }
97
- }
98
- }
99
-
100
- // Fall back to first cell of first row
101
- if (rows.length > 0) {
102
- const children = [...this.collection.getChildren(rows[0].key)];
103
- if (children.length > 0) {
104
- return children[0].key;
105
- }
106
- }
107
-
108
- return null;
109
- }
110
-
111
- /**
112
- * Get the last non-disabled key.
113
- */
114
- getLastKey(fromKey?: Key, global?: boolean): Key | null {
115
- const rows = this.getBodyRows();
116
-
117
- if (this.focusMode === 'row' || global) {
118
- // Find last non-disabled row
119
- for (let i = rows.length - 1; i >= 0; i--) {
120
- if (!this.isDisabled(rows[i].key)) {
121
- return rows[i].key;
122
- }
123
- }
124
- return null;
125
- }
126
-
127
- // Cell focus mode - get last cell of current row or last row
128
- if (fromKey != null) {
129
- const rowKey = this.getRowKey(fromKey);
130
- if (rowKey != null) {
131
- const children = [...this.collection.getChildren(rowKey)];
132
- if (children.length > 0) {
133
- return children[children.length - 1].key;
134
- }
135
- }
136
- }
137
-
138
- // Fall back to last cell of last row
139
- if (rows.length > 0) {
140
- const children = [...this.collection.getChildren(rows[rows.length - 1].key)];
141
- if (children.length > 0) {
142
- return children[children.length - 1].key;
143
- }
144
- }
145
-
146
- return null;
147
- }
148
-
149
- /**
150
- * Get the key above the current key.
151
- */
152
- getKeyAbove(key: Key): Key | null {
153
- const item = this.collection.getItem(key);
154
- if (!item) return null;
155
-
156
- const rows = this.getBodyRows();
157
-
158
- if (this.focusMode === 'row' || item.type === 'item') {
159
- // Find the row and get the previous one
160
- const rowKey = item.type === 'item' ? key : item.parentKey;
161
- const rowIndex = rows.findIndex((r) => r.key === rowKey);
162
-
163
- if (rowIndex > 0) {
164
- // Find previous non-disabled row
165
- for (let i = rowIndex - 1; i >= 0; i--) {
166
- if (!this.isDisabled(rows[i].key)) {
167
- return rows[i].key;
168
- }
169
- }
170
- }
171
- return null;
172
- }
173
-
174
- // Cell focus mode - get cell in same column of previous row
175
- if (item.type === 'cell' && item.parentKey != null) {
176
- const rowIndex = rows.findIndex((r) => r.key === item.parentKey);
177
- const colIndex = item.column ?? item.index;
178
-
179
- if (rowIndex > 0) {
180
- for (let i = rowIndex - 1; i >= 0; i--) {
181
- if (!this.isDisabled(rows[i].key)) {
182
- const children = [...this.collection.getChildren(rows[i].key)];
183
- const targetCol = Math.min(colIndex, children.length - 1);
184
- if (targetCol >= 0) {
185
- return children[targetCol].key;
186
- }
187
- }
188
- }
189
- }
190
- }
191
-
192
- return null;
193
- }
194
-
195
- /**
196
- * Get the key below the current key.
197
- */
198
- getKeyBelow(key: Key): Key | null {
199
- const item = this.collection.getItem(key);
200
- if (!item) return null;
201
-
202
- const rows = this.getBodyRows();
203
-
204
- if (this.focusMode === 'row' || item.type === 'item') {
205
- // Find the row and get the next one
206
- const rowKey = item.type === 'item' ? key : item.parentKey;
207
- const rowIndex = rows.findIndex((r) => r.key === rowKey);
208
-
209
- if (rowIndex >= 0 && rowIndex < rows.length - 1) {
210
- // Find next non-disabled row
211
- for (let i = rowIndex + 1; i < rows.length; i++) {
212
- if (!this.isDisabled(rows[i].key)) {
213
- return rows[i].key;
214
- }
215
- }
216
- }
217
- return null;
218
- }
219
-
220
- // Cell focus mode - get cell in same column of next row
221
- if (item.type === 'cell' && item.parentKey != null) {
222
- const rowIndex = rows.findIndex((r) => r.key === item.parentKey);
223
- const colIndex = item.column ?? item.index;
224
-
225
- if (rowIndex >= 0 && rowIndex < rows.length - 1) {
226
- for (let i = rowIndex + 1; i < rows.length; i++) {
227
- if (!this.isDisabled(rows[i].key)) {
228
- const children = [...this.collection.getChildren(rows[i].key)];
229
- const targetCol = Math.min(colIndex, children.length - 1);
230
- if (targetCol >= 0) {
231
- return children[targetCol].key;
232
- }
233
- }
234
- }
235
- }
236
- }
237
-
238
- return null;
239
- }
240
-
241
- /**
242
- * Get the key to the left of the current key.
243
- */
244
- getKeyLeftOf(key: Key): Key | null {
245
- const item = this.collection.getItem(key);
246
- if (!item) return null;
247
-
248
- // In row focus mode, left/right might not be meaningful
249
- if (this.focusMode === 'row') {
250
- return null;
251
- }
252
-
253
- if (item.type === 'cell' && item.parentKey != null) {
254
- const children = [...this.collection.getChildren(item.parentKey)];
255
- const colIndex = children.findIndex((c) => c.key === key);
256
-
257
- if (this.direction === 'rtl') {
258
- // RTL: left moves to higher index
259
- if (colIndex < children.length - 1) {
260
- return children[colIndex + 1].key;
261
- }
262
- } else {
263
- // LTR: left moves to lower index
264
- if (colIndex > 0) {
265
- return children[colIndex - 1].key;
266
- }
267
- }
268
- }
269
-
270
- return null;
271
- }
272
-
273
- /**
274
- * Get the key to the right of the current key.
275
- */
276
- getKeyRightOf(key: Key): Key | null {
277
- const item = this.collection.getItem(key);
278
- if (!item) return null;
279
-
280
- // In row focus mode, left/right might not be meaningful
281
- if (this.focusMode === 'row') {
282
- return null;
283
- }
284
-
285
- if (item.type === 'cell' && item.parentKey != null) {
286
- const children = [...this.collection.getChildren(item.parentKey)];
287
- const colIndex = children.findIndex((c) => c.key === key);
288
-
289
- if (this.direction === 'rtl') {
290
- // RTL: right moves to lower index
291
- if (colIndex > 0) {
292
- return children[colIndex - 1].key;
293
- }
294
- } else {
295
- // LTR: right moves to higher index
296
- if (colIndex < children.length - 1) {
297
- return children[colIndex + 1].key;
298
- }
299
- }
300
- }
301
-
302
- return null;
303
- }
304
-
305
- /**
306
- * Get the key for page up.
307
- */
308
- getKeyPageAbove(key: Key): Key | null {
309
- const el = this.ref();
310
- if (!el) return null;
311
-
312
- const item = this.collection.getItem(key);
313
- if (!item) return null;
314
-
315
- const rows = this.getBodyRows();
316
- const rowKey = this.getRowKey(key);
317
- const rowIndex = rows.findIndex((r) => r.key === rowKey);
318
-
319
- if (rowIndex < 0) return null;
320
-
321
- // Calculate how many rows fit in a page (rough estimate)
322
- const rowHeight = el.scrollHeight / rows.length;
323
- const pageSize = Math.max(1, Math.floor(el.clientHeight / rowHeight));
324
-
325
- const targetIndex = Math.max(0, rowIndex - pageSize);
326
-
327
- // Find first non-disabled row at or before target
328
- for (let i = targetIndex; i >= 0; i--) {
329
- if (!this.isDisabled(rows[i].key)) {
330
- if (this.focusMode === 'row' || item.type === 'item') {
331
- return rows[i].key;
332
- }
333
-
334
- // Cell focus mode - return cell at same column
335
- const colIndex = item.type === 'cell' ? (item.column ?? item.index) : 0;
336
- const children = [...this.collection.getChildren(rows[i].key)];
337
- const targetCol = Math.min(colIndex, children.length - 1);
338
- if (targetCol >= 0) {
339
- return children[targetCol].key;
340
- }
341
- }
342
- }
343
-
344
- return null;
345
- }
346
-
347
- /**
348
- * Get the key for page down.
349
- */
350
- getKeyPageBelow(key: Key): Key | null {
351
- const el = this.ref();
352
- if (!el) return null;
353
-
354
- const item = this.collection.getItem(key);
355
- if (!item) return null;
356
-
357
- const rows = this.getBodyRows();
358
- const rowKey = this.getRowKey(key);
359
- const rowIndex = rows.findIndex((r) => r.key === rowKey);
360
-
361
- if (rowIndex < 0) return null;
362
-
363
- // Calculate how many rows fit in a page (rough estimate)
364
- const rowHeight = el.scrollHeight / rows.length;
365
- const pageSize = Math.max(1, Math.floor(el.clientHeight / rowHeight));
366
-
367
- const targetIndex = Math.min(rows.length - 1, rowIndex + pageSize);
368
-
369
- // Find first non-disabled row at or after target
370
- for (let i = targetIndex; i < rows.length; i++) {
371
- if (!this.isDisabled(rows[i].key)) {
372
- if (this.focusMode === 'row' || item.type === 'item') {
373
- return rows[i].key;
374
- }
375
-
376
- // Cell focus mode - return cell at same column
377
- const colIndex = item.type === 'cell' ? (item.column ?? item.index) : 0;
378
- const children = [...this.collection.getChildren(rows[i].key)];
379
- const targetCol = Math.min(colIndex, children.length - 1);
380
- if (targetCol >= 0) {
381
- return children[targetCol].key;
382
- }
383
- }
384
- }
385
-
386
- return null;
387
- }
388
-
389
- /**
390
- * Get the key that matches the search string.
391
- */
392
- getKeyForSearch(search: string, fromKey?: Key): Key | null {
393
- const searchLower = search.toLowerCase();
394
- const rows = this.getBodyRows();
395
-
396
- let startIndex = 0;
397
- if (fromKey != null) {
398
- const rowKey = this.getRowKey(fromKey);
399
- const idx = rows.findIndex((r) => r.key === rowKey);
400
- if (idx >= 0) {
401
- startIndex = idx + 1;
402
- }
403
- }
404
-
405
- // Search from startIndex to end
406
- for (let i = startIndex; i < rows.length; i++) {
407
- const row = rows[i];
408
- if (!this.isDisabled(row.key)) {
409
- const textValue = row.textValue?.toLowerCase() ?? '';
410
- if (textValue.startsWith(searchLower)) {
411
- return row.key;
412
- }
413
- }
414
- }
415
-
416
- // Wrap around and search from beginning
417
- for (let i = 0; i < startIndex; i++) {
418
- const row = rows[i];
419
- if (!this.isDisabled(row.key)) {
420
- const textValue = row.textValue?.toLowerCase() ?? '';
421
- if (textValue.startsWith(searchLower)) {
422
- return row.key;
423
- }
424
- }
425
- }
426
-
427
- return null;
428
- }
429
- }
@@ -1,261 +0,0 @@
1
- /**
2
- * createGrid - Provides accessibility for a grid component.
3
- * Based on @react-aria/grid/useGrid.
4
- */
5
-
6
- import { createMemo, createSignal, type Accessor } from 'solid-js';
7
- import type { JSX } from 'solid-js';
8
- import { createId } from '@proyecto-viviana/solid-stately';
9
- import type { GridState, GridCollection, Key } from '@proyecto-viviana/solid-stately';
10
- import type { GridProps, GridAria, KeyboardDelegate } from './types';
11
- import { GridKeyboardDelegate } from './GridKeyboardDelegate';
12
-
13
- // Global map to store grid metadata for child components
14
- const gridMap = new WeakMap<
15
- object,
16
- {
17
- keyboardDelegate: KeyboardDelegate;
18
- actions: { onRowAction?: (key: Key) => void; onCellAction?: (key: Key) => void };
19
- shouldSelectOnPressUp?: boolean;
20
- }
21
- >();
22
-
23
- /**
24
- * Get the grid metadata for child components.
25
- */
26
- export function getGridData<T>(state: GridState<T, GridCollection<T>>) {
27
- return gridMap.get(state);
28
- }
29
-
30
- /**
31
- * Creates accessibility props for a grid component.
32
- * A grid displays data in rows and columns and enables navigation via arrow keys.
33
- */
34
- export function createGrid<T extends object>(
35
- props: Accessor<GridProps>,
36
- state: Accessor<GridState<T, GridCollection<T>>>,
37
- ref: Accessor<HTMLElement | null>
38
- ): GridAria {
39
- const id = createId(props().id);
40
-
41
- // Track focused state
42
- const [_isFocused, setIsFocused] = createSignal(false);
43
-
44
- // Create keyboard delegate
45
- const keyboardDelegate = createMemo(() => {
46
- const p = props();
47
- const s = state();
48
-
49
- if (p.keyboardDelegate) {
50
- return p.keyboardDelegate;
51
- }
52
-
53
- return new GridKeyboardDelegate({
54
- collection: s.collection,
55
- disabledKeys: s.disabledKeys,
56
- ref,
57
- focusMode: p.focusMode ?? 'row',
58
- direction: 'ltr', // TODO: get from locale
59
- });
60
- });
61
-
62
- // Store metadata for child components
63
- const storeGridData = () => {
64
- const s = state();
65
- const p = props();
66
- gridMap.set(s, {
67
- keyboardDelegate: keyboardDelegate(),
68
- actions: {
69
- onRowAction: p.onRowAction,
70
- onCellAction: p.onCellAction,
71
- },
72
- shouldSelectOnPressUp: p.shouldSelectOnPressUp,
73
- });
74
- };
75
-
76
- // Update grid data whenever state changes
77
- createMemo(() => {
78
- storeGridData();
79
- });
80
-
81
- // Keyboard navigation handler
82
- const onKeyDown = (e: KeyboardEvent) => {
83
- const s = state();
84
- const p = props();
85
- const delegate = keyboardDelegate();
86
-
87
- if (s.isKeyboardNavigationDisabled) {
88
- return;
89
- }
90
-
91
- const focusedKey = s.focusedKey;
92
- if (focusedKey == null) {
93
- // If nothing is focused, focus the first item
94
- if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Home' || e.key === 'End') {
95
- const firstKey = delegate.getFirstKey?.();
96
- if (firstKey != null) {
97
- e.preventDefault();
98
- s.setFocusedKey(firstKey);
99
- }
100
- }
101
- return;
102
- }
103
-
104
- let nextKey: Key | null = null;
105
-
106
- switch (e.key) {
107
- case 'ArrowDown':
108
- nextKey = delegate.getKeyBelow?.(focusedKey) ?? null;
109
- break;
110
- case 'ArrowUp':
111
- nextKey = delegate.getKeyAbove?.(focusedKey) ?? null;
112
- break;
113
- case 'ArrowLeft':
114
- nextKey = delegate.getKeyLeftOf?.(focusedKey) ?? null;
115
- break;
116
- case 'ArrowRight':
117
- nextKey = delegate.getKeyRightOf?.(focusedKey) ?? null;
118
- break;
119
- case 'Home':
120
- if (e.ctrlKey) {
121
- nextKey = delegate.getFirstKey?.() ?? null;
122
- } else {
123
- // Go to first cell in row - for now just use first key
124
- nextKey = delegate.getFirstKey?.(focusedKey) ?? null;
125
- }
126
- break;
127
- case 'End':
128
- if (e.ctrlKey) {
129
- nextKey = delegate.getLastKey?.() ?? null;
130
- } else {
131
- // Go to last cell in row - for now just use last key
132
- nextKey = delegate.getLastKey?.(focusedKey) ?? null;
133
- }
134
- break;
135
- case 'PageDown':
136
- nextKey = delegate.getKeyPageBelow?.(focusedKey) ?? null;
137
- break;
138
- case 'PageUp':
139
- nextKey = delegate.getKeyPageAbove?.(focusedKey) ?? null;
140
- break;
141
- case 'Escape':
142
- if (p.escapeKeyBehavior !== 'none') {
143
- s.clearSelection();
144
- }
145
- return;
146
- case 'a':
147
- if (e.ctrlKey || e.metaKey) {
148
- e.preventDefault();
149
- if (s.selectionMode === 'multiple') {
150
- s.selectAll();
151
- }
152
- }
153
- return;
154
- case ' ':
155
- case 'Enter':
156
- e.preventDefault();
157
- // Toggle selection or trigger action
158
- if (s.selectionMode !== 'none') {
159
- if (e.shiftKey && s.selectionMode === 'multiple') {
160
- s.extendSelection(focusedKey);
161
- } else {
162
- s.toggleSelection(focusedKey);
163
- }
164
- }
165
- return;
166
- default:
167
- // Type to select
168
- if (!p.disallowTypeAhead && e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey) {
169
- const key = delegate.getKeyForSearch?.(e.key, focusedKey);
170
- if (key != null) {
171
- e.preventDefault();
172
- s.setFocusedKey(key);
173
- }
174
- }
175
- return;
176
- }
177
-
178
- if (nextKey != null) {
179
- e.preventDefault();
180
- s.setFocusedKey(nextKey);
181
-
182
- // Handle shift+arrow for range selection
183
- if (e.shiftKey && s.selectionMode === 'multiple') {
184
- s.extendSelection(nextKey);
185
- }
186
- }
187
- };
188
-
189
- // Focus handling
190
- const onFocus = (e: FocusEvent) => {
191
- const s = state();
192
- const el = ref();
193
-
194
- if (!el?.contains(e.target as Element)) {
195
- return;
196
- }
197
-
198
- if (!s.isFocused) {
199
- s.setFocused(true);
200
- setIsFocused(true);
201
-
202
- // If no key is focused, focus the first one
203
- if (s.focusedKey == null) {
204
- const firstKey = keyboardDelegate().getFirstKey?.();
205
- if (firstKey != null) {
206
- s.setFocusedKey(firstKey);
207
- }
208
- }
209
- }
210
- };
211
-
212
- const onBlur = (e: FocusEvent) => {
213
- const s = state();
214
- const el = ref();
215
-
216
- // Only blur if focus is leaving the grid entirely
217
- if (el && !el.contains(e.relatedTarget as Element)) {
218
- s.setFocused(false);
219
- setIsFocused(false);
220
- }
221
- };
222
-
223
- // Warn if no label is provided
224
- createMemo(() => {
225
- const p = props();
226
- if (!p['aria-label'] && !p['aria-labelledby']) {
227
- console.warn('Grid: An aria-label or aria-labelledby prop is required for accessibility.');
228
- }
229
- });
230
-
231
- const gridProps = createMemo(() => {
232
- const p = props();
233
- const s = state();
234
-
235
- const baseProps: Record<string, unknown> = {
236
- role: 'grid',
237
- id,
238
- 'aria-label': p['aria-label'],
239
- 'aria-labelledby': p['aria-labelledby'],
240
- 'aria-describedby': p['aria-describedby'],
241
- 'aria-multiselectable': s.selectionMode === 'multiple' ? 'true' : undefined,
242
- tabIndex: s.collection.size === 0 ? 0 : -1,
243
- onKeyDown,
244
- onFocus,
245
- onBlur,
246
- };
247
-
248
- if (p.isVirtualized) {
249
- baseProps['aria-rowcount'] = s.collection.rowCount;
250
- baseProps['aria-colcount'] = s.collection.columnCount;
251
- }
252
-
253
- return baseProps as JSX.HTMLAttributes<HTMLElement>;
254
- });
255
-
256
- return {
257
- get gridProps() {
258
- return gridProps();
259
- },
260
- };
261
- }