@proyecto-viviana/solidaria 0.3.0 → 0.4.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 (566) hide show
  1. package/dist/_chunk/actiongroup.js +207 -0
  2. package/dist/_chunk/actiongroup.js.map +1 -0
  3. package/dist/_chunk/actiongroup.jsx +207 -0
  4. package/dist/_chunk/actiongroup.jsx.map +1 -0
  5. package/dist/_chunk/ariaHideOutside.js +122 -0
  6. package/dist/_chunk/ariaHideOutside.js.map +1 -0
  7. package/dist/_chunk/ariaHideOutside.jsx +122 -0
  8. package/dist/_chunk/ariaHideOutside.jsx.map +1 -0
  9. package/dist/_chunk/autocomplete.js +196 -0
  10. package/dist/_chunk/autocomplete.js.map +1 -0
  11. package/dist/_chunk/autocomplete.jsx +196 -0
  12. package/dist/_chunk/autocomplete.jsx.map +1 -0
  13. package/dist/_chunk/breadcrumbs.js +119 -0
  14. package/dist/_chunk/breadcrumbs.js.map +1 -0
  15. package/dist/_chunk/breadcrumbs.jsx +119 -0
  16. package/dist/_chunk/breadcrumbs.jsx.map +1 -0
  17. package/dist/_chunk/button.js +276 -0
  18. package/dist/_chunk/button.js.map +1 -0
  19. package/dist/_chunk/button.jsx +276 -0
  20. package/dist/_chunk/button.jsx.map +1 -0
  21. package/dist/_chunk/calendar.js +1036 -0
  22. package/dist/_chunk/calendar.js.map +1 -0
  23. package/dist/_chunk/calendar.jsx +1036 -0
  24. package/dist/_chunk/calendar.jsx.map +1 -0
  25. package/dist/_chunk/checkbox.js +234 -0
  26. package/dist/_chunk/checkbox.js.map +1 -0
  27. package/dist/_chunk/checkbox.jsx +234 -0
  28. package/dist/_chunk/checkbox.jsx.map +1 -0
  29. package/dist/_chunk/color.js +1174 -0
  30. package/dist/_chunk/color.js.map +1 -0
  31. package/dist/_chunk/color.jsx +1174 -0
  32. package/dist/_chunk/color.jsx.map +1 -0
  33. package/dist/_chunk/combobox.js +436 -0
  34. package/dist/_chunk/combobox.js.map +1 -0
  35. package/dist/_chunk/combobox.jsx +436 -0
  36. package/dist/_chunk/combobox.jsx.map +1 -0
  37. package/dist/_chunk/createCollator.js +229 -0
  38. package/dist/_chunk/createCollator.js.map +1 -0
  39. package/dist/_chunk/createCollator.jsx +223 -0
  40. package/dist/_chunk/createCollator.jsx.map +1 -0
  41. package/dist/_chunk/createCollectionRowInteraction.js +133 -0
  42. package/dist/_chunk/createCollectionRowInteraction.js.map +1 -0
  43. package/dist/_chunk/createCollectionRowInteraction.jsx +133 -0
  44. package/dist/_chunk/createCollectionRowInteraction.jsx.map +1 -0
  45. package/dist/_chunk/createField.js +54 -0
  46. package/dist/_chunk/createField.js.map +1 -0
  47. package/dist/_chunk/createField.jsx +54 -0
  48. package/dist/_chunk/createField.jsx.map +1 -0
  49. package/dist/_chunk/createFocus.js +101 -0
  50. package/dist/_chunk/createFocus.js.map +1 -0
  51. package/dist/_chunk/createFocus.jsx +101 -0
  52. package/dist/_chunk/createFocus.jsx.map +1 -0
  53. package/dist/_chunk/createFocusRing.js +54 -0
  54. package/dist/_chunk/createFocusRing.js.map +1 -0
  55. package/dist/_chunk/createFocusRing.jsx +54 -0
  56. package/dist/_chunk/createFocusRing.jsx.map +1 -0
  57. package/dist/_chunk/createFocusWithin.js +121 -0
  58. package/dist/_chunk/createFocusWithin.js.map +1 -0
  59. package/dist/_chunk/createFocusWithin.jsx +121 -0
  60. package/dist/_chunk/createFocusWithin.jsx.map +1 -0
  61. package/dist/_chunk/createFocusable.js +131 -0
  62. package/dist/_chunk/createFocusable.js.map +1 -0
  63. package/dist/_chunk/createFocusable.jsx +131 -0
  64. package/dist/_chunk/createFocusable.jsx.map +1 -0
  65. package/dist/_chunk/createFormValidation.js +135 -0
  66. package/dist/_chunk/createFormValidation.js.map +1 -0
  67. package/dist/_chunk/createFormValidation.jsx +135 -0
  68. package/dist/_chunk/createFormValidation.jsx.map +1 -0
  69. package/dist/_chunk/createHover.js +130 -0
  70. package/dist/_chunk/createHover.js.map +1 -0
  71. package/dist/_chunk/createHover.jsx +130 -0
  72. package/dist/_chunk/createHover.jsx.map +1 -0
  73. package/dist/_chunk/createInteractionModality.js +269 -0
  74. package/dist/_chunk/createInteractionModality.js.map +1 -0
  75. package/dist/_chunk/createInteractionModality.jsx +269 -0
  76. package/dist/_chunk/createInteractionModality.jsx.map +1 -0
  77. package/dist/_chunk/createLabel.js +46 -0
  78. package/dist/_chunk/createLabel.js.map +1 -0
  79. package/dist/_chunk/createLabel.jsx +46 -0
  80. package/dist/_chunk/createLabel.jsx.map +1 -0
  81. package/dist/_chunk/createLabels.js +31 -0
  82. package/dist/_chunk/createLabels.js.map +1 -0
  83. package/dist/_chunk/createLabels.jsx +31 -0
  84. package/dist/_chunk/createLabels.jsx.map +1 -0
  85. package/dist/_chunk/createLandmark.js +198 -0
  86. package/dist/_chunk/createLandmark.js.map +1 -0
  87. package/dist/_chunk/createLandmark.jsx +198 -0
  88. package/dist/_chunk/createLandmark.jsx.map +1 -0
  89. package/dist/_chunk/createLongPress.js +91 -0
  90. package/dist/_chunk/createLongPress.js.map +1 -0
  91. package/dist/_chunk/createLongPress.jsx +91 -0
  92. package/dist/_chunk/createLongPress.jsx.map +1 -0
  93. package/dist/_chunk/createOverlay.js +327 -0
  94. package/dist/_chunk/createOverlay.js.map +1 -0
  95. package/dist/_chunk/createOverlay.jsx +327 -0
  96. package/dist/_chunk/createOverlay.jsx.map +1 -0
  97. package/dist/_chunk/createPress.js +526 -0
  98. package/dist/_chunk/createPress.js.map +1 -0
  99. package/dist/_chunk/createPress.jsx +526 -0
  100. package/dist/_chunk/createPress.jsx.map +1 -0
  101. package/dist/_chunk/createProgressBar.js +81 -0
  102. package/dist/_chunk/createProgressBar.js.map +1 -0
  103. package/dist/_chunk/createProgressBar.jsx +81 -0
  104. package/dist/_chunk/createProgressBar.jsx.map +1 -0
  105. package/dist/_chunk/createSelectableItem.js +298 -0
  106. package/dist/_chunk/createSelectableItem.js.map +1 -0
  107. package/dist/_chunk/createSelectableItem.jsx +298 -0
  108. package/dist/_chunk/createSelectableItem.jsx.map +1 -0
  109. package/dist/_chunk/createToggle.js +158 -0
  110. package/dist/_chunk/createToggle.js.map +1 -0
  111. package/dist/_chunk/createToggle.jsx +158 -0
  112. package/dist/_chunk/createToggle.jsx.map +1 -0
  113. package/dist/_chunk/createTypeSelect.js +125 -0
  114. package/dist/_chunk/createTypeSelect.js.map +1 -0
  115. package/dist/_chunk/createTypeSelect.jsx +125 -0
  116. package/dist/_chunk/createTypeSelect.jsx.map +1 -0
  117. package/dist/_chunk/datepicker.js +1393 -0
  118. package/dist/_chunk/datepicker.js.map +1 -0
  119. package/dist/_chunk/datepicker.jsx +1393 -0
  120. package/dist/_chunk/datepicker.jsx.map +1 -0
  121. package/dist/_chunk/dialog.js +62 -0
  122. package/dist/_chunk/dialog.js.map +1 -0
  123. package/dist/_chunk/dialog.jsx +62 -0
  124. package/dist/_chunk/dialog.jsx.map +1 -0
  125. package/dist/_chunk/disclosure.js +185 -0
  126. package/dist/_chunk/disclosure.js.map +1 -0
  127. package/dist/_chunk/disclosure.jsx +185 -0
  128. package/dist/_chunk/disclosure.jsx.map +1 -0
  129. package/dist/_chunk/dnd.js +1304 -0
  130. package/dist/_chunk/dnd.js.map +1 -0
  131. package/dist/_chunk/dnd.jsx +1304 -0
  132. package/dist/_chunk/dnd.jsx.map +1 -0
  133. package/dist/_chunk/env.js +105 -0
  134. package/dist/_chunk/env.js.map +1 -0
  135. package/dist/_chunk/env.jsx +105 -0
  136. package/dist/_chunk/env.jsx.map +1 -0
  137. package/dist/_chunk/filterDOMProps.js +82 -0
  138. package/dist/_chunk/filterDOMProps.js.map +1 -0
  139. package/dist/_chunk/filterDOMProps.jsx +82 -0
  140. package/dist/_chunk/filterDOMProps.jsx.map +1 -0
  141. package/dist/_chunk/focus.js +399 -0
  142. package/dist/_chunk/focus.js.map +1 -0
  143. package/dist/_chunk/focus.jsx +399 -0
  144. package/dist/_chunk/focus.jsx.map +1 -0
  145. package/dist/_chunk/focus2.js +895 -0
  146. package/dist/_chunk/focus2.js.map +1 -0
  147. package/dist/_chunk/focus2.jsx +870 -0
  148. package/dist/_chunk/focus2.jsx.map +1 -0
  149. package/dist/_chunk/form.js +39 -0
  150. package/dist/_chunk/form.js.map +1 -0
  151. package/dist/_chunk/form.jsx +39 -0
  152. package/dist/_chunk/form.jsx.map +1 -0
  153. package/dist/_chunk/grid.js +623 -0
  154. package/dist/_chunk/grid.js.map +1 -0
  155. package/dist/_chunk/grid.jsx +623 -0
  156. package/dist/_chunk/grid.jsx.map +1 -0
  157. package/dist/_chunk/gridlist.js +364 -0
  158. package/dist/_chunk/gridlist.js.map +1 -0
  159. package/dist/_chunk/gridlist.jsx +364 -0
  160. package/dist/_chunk/gridlist.jsx.map +1 -0
  161. package/dist/_chunk/i18n.js +254 -0
  162. package/dist/_chunk/i18n.js.map +1 -0
  163. package/dist/_chunk/i18n.jsx +254 -0
  164. package/dist/_chunk/i18n.jsx.map +1 -0
  165. package/dist/_chunk/interactions.js +241 -0
  166. package/dist/_chunk/interactions.js.map +1 -0
  167. package/dist/_chunk/interactions.jsx +237 -0
  168. package/dist/_chunk/interactions.jsx.map +1 -0
  169. package/dist/_chunk/link.js +96 -0
  170. package/dist/_chunk/link.js.map +1 -0
  171. package/dist/_chunk/link.jsx +96 -0
  172. package/dist/_chunk/link.jsx.map +1 -0
  173. package/dist/_chunk/listbox.js +324 -0
  174. package/dist/_chunk/listbox.js.map +1 -0
  175. package/dist/_chunk/listbox.jsx +324 -0
  176. package/dist/_chunk/listbox.jsx.map +1 -0
  177. package/dist/_chunk/live-announcer.js +207 -0
  178. package/dist/_chunk/live-announcer.js.map +1 -0
  179. package/dist/_chunk/live-announcer.jsx +207 -0
  180. package/dist/_chunk/live-announcer.jsx.map +1 -0
  181. package/dist/_chunk/menu.js +518 -0
  182. package/dist/_chunk/menu.js.map +1 -0
  183. package/dist/_chunk/menu.jsx +518 -0
  184. package/dist/_chunk/menu.jsx.map +1 -0
  185. package/dist/_chunk/meter.js +33 -0
  186. package/dist/_chunk/meter.js.map +1 -0
  187. package/dist/_chunk/meter.jsx +33 -0
  188. package/dist/_chunk/meter.jsx.map +1 -0
  189. package/dist/_chunk/numberfield.js +258 -0
  190. package/dist/_chunk/numberfield.js.map +1 -0
  191. package/dist/_chunk/numberfield.jsx +258 -0
  192. package/dist/_chunk/numberfield.jsx.map +1 -0
  193. package/dist/_chunk/overlays.js +186 -0
  194. package/dist/_chunk/overlays.js.map +1 -0
  195. package/dist/_chunk/overlays.jsx +162 -0
  196. package/dist/_chunk/overlays.jsx.map +1 -0
  197. package/dist/_chunk/popover.js +574 -0
  198. package/dist/_chunk/popover.js.map +1 -0
  199. package/dist/_chunk/popover.jsx +574 -0
  200. package/dist/_chunk/popover.jsx.map +1 -0
  201. package/dist/_chunk/radio.js +319 -0
  202. package/dist/_chunk/radio.js.map +1 -0
  203. package/dist/_chunk/radio.jsx +319 -0
  204. package/dist/_chunk/radio.jsx.map +1 -0
  205. package/dist/_chunk/searchfield.js +209 -0
  206. package/dist/_chunk/searchfield.js.map +1 -0
  207. package/dist/_chunk/searchfield.jsx +209 -0
  208. package/dist/_chunk/searchfield.jsx.map +1 -0
  209. package/dist/_chunk/select.js +403 -0
  210. package/dist/_chunk/select.js.map +1 -0
  211. package/dist/_chunk/select.jsx +394 -0
  212. package/dist/_chunk/select.jsx.map +1 -0
  213. package/dist/_chunk/selection.js +679 -0
  214. package/dist/_chunk/selection.js.map +1 -0
  215. package/dist/_chunk/selection.jsx +679 -0
  216. package/dist/_chunk/selection.jsx.map +1 -0
  217. package/dist/_chunk/separator.js +29 -0
  218. package/dist/_chunk/separator.js.map +1 -0
  219. package/dist/_chunk/separator.jsx +29 -0
  220. package/dist/_chunk/separator.jsx.map +1 -0
  221. package/dist/_chunk/slider.js +255 -0
  222. package/dist/_chunk/slider.js.map +1 -0
  223. package/dist/_chunk/slider.jsx +255 -0
  224. package/dist/_chunk/slider.jsx.map +1 -0
  225. package/dist/_chunk/steplist.js +66 -0
  226. package/dist/_chunk/steplist.js.map +1 -0
  227. package/dist/_chunk/steplist.jsx +66 -0
  228. package/dist/_chunk/steplist.jsx.map +1 -0
  229. package/dist/_chunk/switch.js +34 -0
  230. package/dist/_chunk/switch.js.map +1 -0
  231. package/dist/_chunk/switch.jsx +34 -0
  232. package/dist/_chunk/switch.jsx.map +1 -0
  233. package/dist/_chunk/table.js +1051 -0
  234. package/dist/_chunk/table.js.map +1 -0
  235. package/dist/_chunk/table.jsx +1051 -0
  236. package/dist/_chunk/table.jsx.map +1 -0
  237. package/dist/_chunk/tabs.js +260 -0
  238. package/dist/_chunk/tabs.js.map +1 -0
  239. package/dist/_chunk/tabs.jsx +260 -0
  240. package/dist/_chunk/tabs.jsx.map +1 -0
  241. package/dist/_chunk/tag.js +286 -0
  242. package/dist/_chunk/tag.js.map +1 -0
  243. package/dist/_chunk/tag.jsx +286 -0
  244. package/dist/_chunk/tag.jsx.map +1 -0
  245. package/dist/_chunk/textfield.js +109 -0
  246. package/dist/_chunk/textfield.js.map +1 -0
  247. package/dist/_chunk/textfield.jsx +109 -0
  248. package/dist/_chunk/textfield.jsx.map +1 -0
  249. package/dist/_chunk/toast.js +250 -0
  250. package/dist/_chunk/toast.js.map +1 -0
  251. package/dist/_chunk/toast.jsx +250 -0
  252. package/dist/_chunk/toast.jsx.map +1 -0
  253. package/dist/_chunk/toolbar.js +258 -0
  254. package/dist/_chunk/toolbar.js.map +1 -0
  255. package/dist/_chunk/toolbar.jsx +258 -0
  256. package/dist/_chunk/toolbar.jsx.map +1 -0
  257. package/dist/_chunk/tooltip.js +185 -0
  258. package/dist/_chunk/tooltip.js.map +1 -0
  259. package/dist/_chunk/tooltip.jsx +185 -0
  260. package/dist/_chunk/tooltip.jsx.map +1 -0
  261. package/dist/_chunk/tree.js +424 -0
  262. package/dist/_chunk/tree.js.map +1 -0
  263. package/dist/_chunk/tree.jsx +424 -0
  264. package/dist/_chunk/tree.jsx.map +1 -0
  265. package/dist/_chunk/utils.js +665 -0
  266. package/dist/_chunk/utils.js.map +1 -0
  267. package/dist/_chunk/utils.jsx +665 -0
  268. package/dist/_chunk/utils.jsx.map +1 -0
  269. package/dist/_chunk/visually-hidden.js +92 -0
  270. package/dist/_chunk/visually-hidden.js.map +1 -0
  271. package/dist/_chunk/visually-hidden.jsx +92 -0
  272. package/dist/_chunk/visually-hidden.jsx.map +1 -0
  273. package/dist/actiongroup/index.js +2 -0
  274. package/dist/actiongroup/index.jsx +2 -0
  275. package/dist/autocomplete/createAutocomplete.d.ts +2 -0
  276. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  277. package/dist/autocomplete/index.js +2 -0
  278. package/dist/autocomplete/index.jsx +2 -0
  279. package/dist/breadcrumbs/index.js +2 -0
  280. package/dist/breadcrumbs/index.jsx +2 -0
  281. package/dist/button/index.js +2 -0
  282. package/dist/button/index.jsx +2 -0
  283. package/dist/calendar/createCalendar.d.ts.map +1 -1
  284. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  285. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  286. package/dist/calendar/createCalendarMonthPicker.d.ts +41 -0
  287. package/dist/calendar/createCalendarMonthPicker.d.ts.map +1 -0
  288. package/dist/calendar/createCalendarYearPicker.d.ts +49 -0
  289. package/dist/calendar/createCalendarYearPicker.d.ts.map +1 -0
  290. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  291. package/dist/calendar/index.d.ts +2 -0
  292. package/dist/calendar/index.d.ts.map +1 -1
  293. package/dist/calendar/index.js +2 -0
  294. package/dist/calendar/index.jsx +2 -0
  295. package/dist/calendar/utils.d.ts +4 -0
  296. package/dist/calendar/utils.d.ts.map +1 -1
  297. package/dist/checkbox/createCheckbox.d.ts +4 -0
  298. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  299. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  300. package/dist/checkbox/index.js +2 -0
  301. package/dist/checkbox/index.jsx +2 -0
  302. package/dist/collections/index.js +160 -0
  303. package/dist/collections/index.js.map +1 -0
  304. package/dist/collections/index.jsx +160 -0
  305. package/dist/collections/index.jsx.map +1 -0
  306. package/dist/color/index.js +2 -0
  307. package/dist/color/index.jsx +2 -0
  308. package/dist/combobox/index.js +2 -0
  309. package/dist/combobox/index.jsx +2 -0
  310. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  311. package/dist/datepicker/index.js +2 -0
  312. package/dist/datepicker/index.jsx +2 -0
  313. package/dist/dialog/index.js +2 -0
  314. package/dist/dialog/index.jsx +2 -0
  315. package/dist/disclosure/index.js +2 -0
  316. package/dist/disclosure/index.jsx +2 -0
  317. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  318. package/dist/dnd/index.js +2 -0
  319. package/dist/dnd/index.jsx +2 -0
  320. package/dist/dnd/utils.d.ts +2 -2
  321. package/dist/dnd/utils.d.ts.map +1 -1
  322. package/dist/focus/FocusScope.d.ts.map +1 -1
  323. package/dist/focus/index.js +2 -0
  324. package/dist/focus/index.jsx +2 -0
  325. package/dist/form/createFormValidation.d.ts.map +1 -1
  326. package/dist/form/index.js +3 -0
  327. package/dist/form/index.jsx +3 -0
  328. package/dist/grid/index.js +2 -0
  329. package/dist/grid/index.jsx +2 -0
  330. package/dist/gridlist/createGridList.d.ts +7 -1
  331. package/dist/gridlist/createGridList.d.ts.map +1 -1
  332. package/dist/gridlist/createGridListItem.d.ts +1 -1
  333. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  334. package/dist/gridlist/createGridListSection.d.ts +15 -0
  335. package/dist/gridlist/createGridListSection.d.ts.map +1 -0
  336. package/dist/gridlist/index.d.ts +2 -1
  337. package/dist/gridlist/index.d.ts.map +1 -1
  338. package/dist/gridlist/index.js +2 -0
  339. package/dist/gridlist/index.jsx +2 -0
  340. package/dist/gridlist/types.d.ts +50 -0
  341. package/dist/gridlist/types.d.ts.map +1 -1
  342. package/dist/i18n/index.js +3 -0
  343. package/dist/i18n/index.jsx +3 -0
  344. package/dist/index.d.ts +7 -3
  345. package/dist/index.d.ts.map +1 -1
  346. package/dist/index.js +71 -18311
  347. package/dist/index.jsx +71 -18242
  348. package/dist/interactions/PressEvent.d.ts +11 -0
  349. package/dist/interactions/PressEvent.d.ts.map +1 -1
  350. package/dist/interactions/createInteractionModality.d.ts +0 -1
  351. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  352. package/dist/interactions/createKeyboard.d.ts.map +1 -1
  353. package/dist/interactions/createPress.d.ts.map +1 -1
  354. package/dist/interactions/index.js +10 -0
  355. package/dist/interactions/index.jsx +10 -0
  356. package/dist/label/index.js +4 -0
  357. package/dist/label/index.jsx +4 -0
  358. package/dist/landmark/index.js +2 -0
  359. package/dist/landmark/index.jsx +2 -0
  360. package/dist/link/index.js +2 -0
  361. package/dist/link/index.jsx +2 -0
  362. package/dist/listbox/createListBox.d.ts +37 -0
  363. package/dist/listbox/createListBox.d.ts.map +1 -1
  364. package/dist/listbox/createOption.d.ts +6 -0
  365. package/dist/listbox/createOption.d.ts.map +1 -1
  366. package/dist/listbox/index.js +2 -0
  367. package/dist/listbox/index.jsx +2 -0
  368. package/dist/live-announcer/index.js +2 -0
  369. package/dist/live-announcer/index.jsx +2 -0
  370. package/dist/menu/createMenu.d.ts +7 -4
  371. package/dist/menu/createMenu.d.ts.map +1 -1
  372. package/dist/menu/createMenuItem.d.ts +9 -1
  373. package/dist/menu/createMenuItem.d.ts.map +1 -1
  374. package/dist/menu/index.js +2 -0
  375. package/dist/menu/index.jsx +2 -0
  376. package/dist/meter/index.js +2 -0
  377. package/dist/meter/index.jsx +2 -0
  378. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  379. package/dist/numberfield/index.js +2 -0
  380. package/dist/numberfield/index.jsx +2 -0
  381. package/dist/overlays/index.js +4 -0
  382. package/dist/overlays/index.jsx +4 -0
  383. package/dist/popover/calculatePosition.d.ts +2 -0
  384. package/dist/popover/calculatePosition.d.ts.map +1 -1
  385. package/dist/popover/createOverlayPosition.d.ts +8 -0
  386. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  387. package/dist/popover/index.js +2 -0
  388. package/dist/popover/index.jsx +2 -0
  389. package/dist/progress/index.js +2 -0
  390. package/dist/progress/index.jsx +2 -0
  391. package/dist/radio/createRadio.d.ts +2 -0
  392. package/dist/radio/createRadio.d.ts.map +1 -1
  393. package/dist/radio/index.js +2 -0
  394. package/dist/radio/index.jsx +2 -0
  395. package/dist/searchfield/index.js +2 -0
  396. package/dist/searchfield/index.jsx +2 -0
  397. package/dist/select/createSelect.d.ts.map +1 -1
  398. package/dist/select/index.js +2 -0
  399. package/dist/select/index.jsx +2 -0
  400. package/dist/selection/DOMLayoutDelegate.d.ts +58 -0
  401. package/dist/selection/DOMLayoutDelegate.d.ts.map +1 -0
  402. package/dist/selection/ListKeyboardDelegate.d.ts +95 -0
  403. package/dist/selection/ListKeyboardDelegate.d.ts.map +1 -0
  404. package/dist/selection/constants.d.ts +15 -0
  405. package/dist/selection/constants.d.ts.map +1 -0
  406. package/dist/selection/createCollectionRowInteraction.d.ts +13 -0
  407. package/dist/selection/createCollectionRowInteraction.d.ts.map +1 -0
  408. package/dist/selection/createScrollIntoViewOnFocus.d.ts +31 -0
  409. package/dist/selection/createScrollIntoViewOnFocus.d.ts.map +1 -0
  410. package/dist/selection/createSelectableCollection.d.ts +69 -0
  411. package/dist/selection/createSelectableCollection.d.ts.map +1 -0
  412. package/dist/selection/createSelectableItem.d.ts +154 -0
  413. package/dist/selection/createSelectableItem.d.ts.map +1 -0
  414. package/dist/selection/createSelectableList.d.ts +43 -0
  415. package/dist/selection/createSelectableList.d.ts.map +1 -0
  416. package/dist/selection/createTypeSelect.d.ts.map +1 -1
  417. package/dist/selection/index.d.ts +9 -0
  418. package/dist/selection/index.d.ts.map +1 -1
  419. package/dist/selection/index.js +4 -0
  420. package/dist/selection/index.jsx +4 -0
  421. package/dist/selection/selectItem.d.ts +29 -0
  422. package/dist/selection/selectItem.d.ts.map +1 -0
  423. package/dist/selection/utils.d.ts +40 -0
  424. package/dist/selection/utils.d.ts.map +1 -0
  425. package/dist/separator/index.js +2 -0
  426. package/dist/separator/index.jsx +2 -0
  427. package/dist/slider/createSlider.d.ts.map +1 -1
  428. package/dist/slider/index.js +2 -0
  429. package/dist/slider/index.jsx +2 -0
  430. package/dist/ssr/index.d.ts +17 -0
  431. package/dist/ssr/index.d.ts.map +1 -1
  432. package/dist/ssr/index.js +299 -0
  433. package/dist/ssr/index.js.map +1 -0
  434. package/dist/ssr/index.jsx +292 -0
  435. package/dist/ssr/index.jsx.map +1 -0
  436. package/dist/steplist/index.js +2 -0
  437. package/dist/steplist/index.jsx +2 -0
  438. package/dist/switch/createSwitch.d.ts +4 -0
  439. package/dist/switch/createSwitch.d.ts.map +1 -1
  440. package/dist/switch/index.js +2 -0
  441. package/dist/switch/index.jsx +2 -0
  442. package/dist/table/createTable.d.ts.map +1 -1
  443. package/dist/table/createTableRow.d.ts +1 -1
  444. package/dist/table/createTableRow.d.ts.map +1 -1
  445. package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
  446. package/dist/table/index.js +2 -0
  447. package/dist/table/index.jsx +2 -0
  448. package/dist/table/types.d.ts +27 -1
  449. package/dist/table/types.d.ts.map +1 -1
  450. package/dist/tabs/createTabs.d.ts +4 -3
  451. package/dist/tabs/createTabs.d.ts.map +1 -1
  452. package/dist/tabs/index.js +2 -0
  453. package/dist/tabs/index.jsx +2 -0
  454. package/dist/tag/createTag.d.ts +2 -0
  455. package/dist/tag/createTag.d.ts.map +1 -1
  456. package/dist/tag/index.js +2 -0
  457. package/dist/tag/index.jsx +2 -0
  458. package/dist/textfield/index.js +2 -0
  459. package/dist/textfield/index.jsx +2 -0
  460. package/dist/toast/createToast.d.ts.map +1 -1
  461. package/dist/toast/index.js +2 -0
  462. package/dist/toast/index.jsx +2 -0
  463. package/dist/toggle/createToggle.d.ts +4 -0
  464. package/dist/toggle/createToggle.d.ts.map +1 -1
  465. package/dist/toggle/index.js +3 -0
  466. package/dist/toggle/index.jsx +3 -0
  467. package/dist/toolbar/createToolbar.d.ts +1 -1
  468. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  469. package/dist/toolbar/index.js +2 -0
  470. package/dist/toolbar/index.jsx +2 -0
  471. package/dist/tooltip/index.js +2 -0
  472. package/dist/tooltip/index.jsx +2 -0
  473. package/dist/tree/createTree.d.ts +5 -1
  474. package/dist/tree/createTree.d.ts.map +1 -1
  475. package/dist/tree/createTreeItem.d.ts +1 -1
  476. package/dist/tree/createTreeItem.d.ts.map +1 -1
  477. package/dist/tree/index.js +2 -0
  478. package/dist/tree/index.jsx +2 -0
  479. package/dist/tree/types.d.ts +10 -0
  480. package/dist/tree/types.d.ts.map +1 -1
  481. package/dist/utils/animation.d.ts +60 -0
  482. package/dist/utils/animation.d.ts.map +1 -0
  483. package/dist/utils/dom.d.ts +48 -2
  484. package/dist/utils/dom.d.ts.map +1 -1
  485. package/dist/utils/index.d.ts +4 -1
  486. package/dist/utils/index.d.ts.map +1 -1
  487. package/dist/utils/index.js +5 -0
  488. package/dist/utils/index.jsx +5 -0
  489. package/dist/utils/keyboard.d.ts +17 -0
  490. package/dist/utils/keyboard.d.ts.map +1 -0
  491. package/dist/utils/mergeProps.d.ts.map +1 -1
  492. package/dist/utils/scrollIntoView.d.ts +30 -0
  493. package/dist/utils/scrollIntoView.d.ts.map +1 -0
  494. package/dist/visually-hidden/index.js +2 -0
  495. package/dist/visually-hidden/index.jsx +2 -0
  496. package/package.json +304 -3
  497. package/src/autocomplete/createAutocomplete.ts +67 -21
  498. package/src/calendar/createCalendar.ts +2 -0
  499. package/src/calendar/createCalendarCell.ts +19 -2
  500. package/src/calendar/createCalendarGrid.ts +43 -9
  501. package/src/calendar/createCalendarMonthPicker.ts +105 -0
  502. package/src/calendar/createCalendarYearPicker.ts +144 -0
  503. package/src/calendar/createRangeCalendar.ts +2 -0
  504. package/src/calendar/index.ts +17 -0
  505. package/src/calendar/utils.ts +4 -0
  506. package/src/checkbox/createCheckbox.ts +10 -0
  507. package/src/checkbox/createCheckboxGroupItem.ts +12 -16
  508. package/src/datepicker/createDateSegment.ts +6 -1
  509. package/src/dnd/createDroppableCollection.ts +4 -1
  510. package/src/dnd/utils.ts +27 -3
  511. package/src/focus/FocusScope.tsx +152 -18
  512. package/src/form/createFormValidation.ts +8 -1
  513. package/src/gridlist/createGridList.ts +145 -42
  514. package/src/gridlist/createGridListItem.ts +87 -155
  515. package/src/gridlist/createGridListSection.ts +54 -0
  516. package/src/gridlist/index.ts +3 -0
  517. package/src/gridlist/types.ts +47 -0
  518. package/src/index.ts +40 -0
  519. package/src/interactions/PressEvent.ts +14 -0
  520. package/src/interactions/createInteractionModality.ts +21 -12
  521. package/src/interactions/createKeyboard.ts +10 -0
  522. package/src/interactions/createPress.ts +29 -6
  523. package/src/listbox/createListBox.ts +129 -8
  524. package/src/listbox/createOption.ts +68 -73
  525. package/src/menu/createMenu.ts +93 -16
  526. package/src/menu/createMenuItem.ts +253 -41
  527. package/src/numberfield/createNumberField.ts +82 -14
  528. package/src/popover/calculatePosition.ts +19 -7
  529. package/src/popover/createOverlayPosition.ts +9 -0
  530. package/src/radio/createRadio.ts +19 -2
  531. package/src/select/createSelect.ts +18 -2
  532. package/src/selection/DOMLayoutDelegate.ts +102 -0
  533. package/src/selection/ListKeyboardDelegate.ts +398 -0
  534. package/src/selection/constants.ts +16 -0
  535. package/src/selection/createCollectionRowInteraction.ts +209 -0
  536. package/src/selection/createScrollIntoViewOnFocus.ts +65 -0
  537. package/src/selection/createSelectableCollection.ts +645 -0
  538. package/src/selection/createSelectableItem.ts +498 -0
  539. package/src/selection/createSelectableList.ts +93 -0
  540. package/src/selection/createTypeSelect.ts +112 -51
  541. package/src/selection/index.ts +31 -0
  542. package/src/selection/selectItem.ts +80 -0
  543. package/src/selection/utils.ts +82 -0
  544. package/src/slider/createSlider.ts +48 -1
  545. package/src/ssr/index.tsx +31 -0
  546. package/src/switch/createSwitch.ts +10 -0
  547. package/src/table/createTable.ts +56 -26
  548. package/src/table/createTableRow.ts +198 -203
  549. package/src/table/createTableSelectAllCheckbox.ts +3 -4
  550. package/src/table/types.ts +29 -1
  551. package/src/tabs/createTabs.ts +50 -20
  552. package/src/tag/createTag.ts +9 -4
  553. package/src/toast/createToast.ts +1 -0
  554. package/src/toggle/createToggle.ts +20 -0
  555. package/src/toolbar/createToolbar.ts +43 -42
  556. package/src/tree/createTree.ts +100 -42
  557. package/src/tree/createTreeItem.ts +105 -120
  558. package/src/tree/types.ts +10 -0
  559. package/src/utils/animation.ts +151 -0
  560. package/src/utils/dom.ts +215 -25
  561. package/src/utils/index.ts +8 -0
  562. package/src/utils/keyboard.ts +25 -0
  563. package/src/utils/mergeProps.ts +8 -1
  564. package/src/utils/scrollIntoView.ts +181 -0
  565. package/dist/index.js.map +0 -1
  566. package/dist/index.jsx.map +0 -1
@@ -0,0 +1,424 @@
1
+ import { o as mergeProps } from "./env.jsx";
2
+ import { S as scrollIntoViewport } from "./utils.jsx";
3
+ import { o as getInteractionModality } from "./createInteractionModality.jsx";
4
+ import { n as createSelectableItem } from "./createSelectableItem.jsx";
5
+ import { t as mergeCollectionRowInteractionProps } from "./createCollectionRowInteraction.jsx";
6
+ import { createEffect, createMemo } from "solid-js";
7
+ import { createId } from "@proyecto-viviana/solid-stately";
8
+ //#region src/tree/createTree.ts
9
+ /**
10
+ * createTree - Provides accessibility for a tree component.
11
+ * Based on @react-aria/tree/useTree.
12
+ */
13
+ /**
14
+ * WeakMap to store tree data for child components to access.
15
+ */
16
+ const treeDataMap = /* @__PURE__ */ new WeakMap();
17
+ /**
18
+ * Gets the tree data for a given state.
19
+ */
20
+ function getTreeData(state) {
21
+ return treeDataMap.get(state);
22
+ }
23
+ /**
24
+ * Whether a key should be skipped during keyboard navigation. Disabled keys only
25
+ * block navigation under `disabledBehavior: "all"` (the default); under
26
+ * `"selection"` they remain focusable (selection is still blocked elsewhere).
27
+ * Mirrors `ListKeyboardDelegate.isDisabled` in React Aria.
28
+ */
29
+ function isNavigationDisabled(state, key) {
30
+ return state.isDisabled(key) && state.disabledBehavior === "all";
31
+ }
32
+ /**
33
+ * Walks from `startKey` via `step` until reaching a key that is navigable (not
34
+ * disabled for navigation), mirroring React Aria's
35
+ * `ListKeyboardDelegate.findNextNonDisabled`. `getFirstKey`/`getLastKey` and the
36
+ * next/previous lookups all funnel through this so arrow keys, Home and End land
37
+ * on enabled rows only.
38
+ */
39
+ function findNextNavigableKey(state, startKey, step) {
40
+ let key = startKey;
41
+ while (key != null && isNavigationDisabled(state, key)) key = step(key);
42
+ return key;
43
+ }
44
+ /**
45
+ * Creates accessibility props for a tree.
46
+ */
47
+ function createTree(props, state, ref) {
48
+ const treeId = props().id ?? createId();
49
+ const treeData = {
50
+ treeId,
51
+ get keyboardNavigationBehavior() {
52
+ return props().keyboardNavigationBehavior ?? "arrow";
53
+ },
54
+ get direction() {
55
+ return props().direction ?? "ltr";
56
+ },
57
+ actions: { get onAction() {
58
+ return props().onAction;
59
+ } }
60
+ };
61
+ treeDataMap.set(state(), treeData);
62
+ const onKeyDown = (e) => {
63
+ const s = state();
64
+ const p = props();
65
+ const collection = s.collection;
66
+ const focusedKey = s.focusedKey;
67
+ const direction = p.direction ?? "ltr";
68
+ const expandKey = direction === "rtl" ? "ArrowLeft" : "ArrowRight";
69
+ const collapseKey = direction === "rtl" ? "ArrowRight" : "ArrowLeft";
70
+ if (p.isDisabled) return;
71
+ switch (e.key) {
72
+ case "ArrowDown": {
73
+ e.preventDefault();
74
+ const nextKey = focusedKey != null ? findNextNavigableKey(s, collection.getKeyAfter(focusedKey), (k) => collection.getKeyAfter(k)) : findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k));
75
+ if (nextKey != null) s.setFocusedKey(nextKey);
76
+ break;
77
+ }
78
+ case "ArrowUp": {
79
+ e.preventDefault();
80
+ const prevKey = focusedKey != null ? findNextNavigableKey(s, collection.getKeyBefore(focusedKey), (k) => collection.getKeyBefore(k)) : findNextNavigableKey(s, collection.getLastKey(), (k) => collection.getKeyBefore(k));
81
+ if (prevKey != null) s.setFocusedKey(prevKey);
82
+ break;
83
+ }
84
+ case "ArrowRight":
85
+ case "ArrowLeft":
86
+ e.preventDefault();
87
+ if (focusedKey != null) {
88
+ const node = collection.getItem(focusedKey);
89
+ if (e.key === expandKey) {
90
+ if (node?.isExpandable) if (!s.isExpanded(focusedKey)) s.expandKey(focusedKey);
91
+ else {
92
+ const children = [...collection.getChildren(focusedKey)];
93
+ if (children.length > 0) s.setFocusedKey(children[0].key);
94
+ }
95
+ } else if (e.key === collapseKey) {
96
+ if (node?.isExpandable && s.isExpanded(focusedKey)) s.collapseKey(focusedKey);
97
+ else if (node?.parentKey != null) s.setFocusedKey(node.parentKey);
98
+ }
99
+ }
100
+ break;
101
+ case "Home": {
102
+ e.preventDefault();
103
+ const firstKey = findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k));
104
+ if (firstKey != null) s.setFocusedKey(firstKey);
105
+ break;
106
+ }
107
+ case "End": {
108
+ e.preventDefault();
109
+ const lastKey = findNextNavigableKey(s, collection.getLastKey(), (k) => collection.getKeyBefore(k));
110
+ if (lastKey != null) s.setFocusedKey(lastKey);
111
+ break;
112
+ }
113
+ case "a":
114
+ case "A":
115
+ if ((e.ctrlKey || e.metaKey) && s.selectionMode === "multiple") {
116
+ e.preventDefault();
117
+ s.selectAll();
118
+ }
119
+ break;
120
+ case "Escape":
121
+ if (s.selectionMode !== "none") {
122
+ e.preventDefault();
123
+ s.clearSelection();
124
+ }
125
+ break;
126
+ case "*":
127
+ e.preventDefault();
128
+ if (focusedKey != null) {
129
+ const node = collection.getItem(focusedKey);
130
+ if (node) {
131
+ const parentKey = node.parentKey;
132
+ let siblings;
133
+ if (parentKey != null) siblings = [...collection.getChildren(parentKey)].map((n) => n.key);
134
+ else siblings = collection.rows.filter((n) => n.level === 0).map((n) => n.key);
135
+ for (const siblingKey of siblings) if (collection.getItem(siblingKey)?.isExpandable && !s.isExpanded(siblingKey)) s.expandKey(siblingKey);
136
+ }
137
+ }
138
+ break;
139
+ }
140
+ };
141
+ const onFocus = () => {
142
+ const s = state();
143
+ s.setFocused(true);
144
+ if (s.focusedKey == null) {
145
+ const firstKey = findNextNavigableKey(s, s.collection.getFirstKey(), (k) => s.collection.getKeyAfter(k));
146
+ if (firstKey != null) s.setFocusedKey(firstKey);
147
+ }
148
+ };
149
+ const onBlur = () => {
150
+ state().setFocused(false);
151
+ };
152
+ createEffect(() => {
153
+ const key = state().focusedKey;
154
+ const el = ref();
155
+ if (!el || key == null) return;
156
+ const active = document.activeElement;
157
+ if (!active || active !== el && !el.contains(active)) return;
158
+ const target = el.querySelector(`[data-key="${key}"]`);
159
+ if (target && target !== active) {
160
+ target.focus();
161
+ if (getInteractionModality() !== "pointer") scrollIntoViewport(target, { containingElement: el });
162
+ }
163
+ });
164
+ const treeProps = createMemo(() => {
165
+ const p = props();
166
+ const s = state();
167
+ const baseProps = {
168
+ role: "treegrid",
169
+ id: treeId,
170
+ "aria-label": p["aria-label"],
171
+ "aria-labelledby": p["aria-labelledby"],
172
+ "aria-describedby": p["aria-describedby"],
173
+ "aria-multiselectable": s.selectionMode === "multiple" ? true : void 0,
174
+ "aria-disabled": p.isDisabled || void 0,
175
+ tabIndex: p.isDisabled ? void 0 : 0,
176
+ onKeyDown,
177
+ onFocus,
178
+ onBlur
179
+ };
180
+ if (p.isVirtualized) baseProps["aria-rowcount"] = s.collection.rowCount;
181
+ return baseProps;
182
+ });
183
+ return { get treeProps() {
184
+ return treeProps();
185
+ } };
186
+ }
187
+ //#endregion
188
+ //#region src/tree/createTreeItem.ts
189
+ /**
190
+ * createTreeItem - Provides accessibility for a tree item.
191
+ * Based on @react-aria/tree/useTreeItem.
192
+ */
193
+ /**
194
+ * Creates accessibility props for a tree item.
195
+ */
196
+ function createTreeItem(props, state, ref) {
197
+ const fallbackRowId = createId();
198
+ const expandButtonId = createId();
199
+ const rowId = createMemo(() => {
200
+ const treeData = getTreeData(state());
201
+ return treeData ? `${treeData.treeId}-row-${String(props().node.key)}` : fallbackRowId;
202
+ });
203
+ const isSelected = createMemo(() => {
204
+ const s = state();
205
+ const p = props();
206
+ return s.isSelected(p.node.key);
207
+ });
208
+ const isExpanded = createMemo(() => {
209
+ const s = state();
210
+ const p = props();
211
+ return s.isExpanded(p.node.key);
212
+ });
213
+ const isExpandable = createMemo(() => {
214
+ return props().node.isExpandable ?? false;
215
+ });
216
+ const level = createMemo(() => {
217
+ return props().node.level;
218
+ });
219
+ const selectableState = {
220
+ collection: () => state().collection,
221
+ isFocused: () => state().isFocused,
222
+ setFocused: (focused) => state().setFocused(focused),
223
+ focusedKey: () => state().focusedKey,
224
+ childFocusStrategy: () => state().childFocusStrategy,
225
+ setFocusedKey: (key, strategy) => state().setFocusedKey(key, strategy),
226
+ selectionMode: () => state().selectionMode,
227
+ selectionBehavior: () => props().selectionBehavior ?? state().selectionBehavior,
228
+ disallowEmptySelection: () => state().disallowEmptySelection,
229
+ selectedKeys: () => state().selectedKeys,
230
+ disabledKeys: () => state().disabledKeys,
231
+ disabledBehavior: () => state().disabledBehavior,
232
+ isEmpty: () => {
233
+ const keys = state().selectedKeys;
234
+ return keys !== "all" && keys.size === 0;
235
+ },
236
+ isSelectAll: () => state().selectedKeys === "all",
237
+ isSelected: (key) => state().isSelected(key),
238
+ isDisabled: (key) => {
239
+ const s = state();
240
+ const item = s.collection.getItem(key);
241
+ return s.disabledBehavior === "all" && s.isDisabled(key) && item?.props?.disabledBehavior !== "selection";
242
+ },
243
+ canSelectItem: (key) => {
244
+ const s = state();
245
+ return s.selectionMode !== "none" && !s.isDisabled(key);
246
+ },
247
+ setSelectionBehavior: (behavior) => state().setSelectionBehavior(behavior),
248
+ toggleSelection: (key) => state().toggleSelection(key),
249
+ replaceSelection: (key) => state().replaceSelection(key),
250
+ setSelectedKeys: (keys) => state().setSelectedKeys(keys),
251
+ selectAll: () => state().selectAll(),
252
+ clearSelection: () => state().clearSelection(),
253
+ toggleSelectAll: () => state().toggleSelectAll(),
254
+ extendSelection: (toKey, _collection) => state().extendSelection(toKey)
255
+ };
256
+ const selectableItem = createSelectableItem(() => {
257
+ const s = state();
258
+ const p = props();
259
+ const treeAction = getTreeData(s)?.actions.onAction;
260
+ const shouldToggleOnAction = !treeAction && !p.onAction && s.selectionMode === "none" && isExpandable();
261
+ return {
262
+ key: p.node.key,
263
+ id: rowId(),
264
+ isVirtualized: p.isVirtualized,
265
+ isDisabled: p.isDisabled,
266
+ onAction: treeAction || p.onAction || shouldToggleOnAction ? () => {
267
+ p.onAction?.();
268
+ treeAction?.(p.node.key);
269
+ if (shouldToggleOnAction) s.toggleKey(p.node.key);
270
+ } : void 0
271
+ };
272
+ }, selectableState, ref);
273
+ const siblingInfo = createMemo(() => {
274
+ const s = state();
275
+ const node = props().node;
276
+ const parentKey = node.parentKey;
277
+ if (parentKey != null) {
278
+ const parentNode = s.collection.getItem(parentKey);
279
+ if (parentNode) return {
280
+ posinset: node.index + 1,
281
+ setsize: parentNode.childNodes.length
282
+ };
283
+ }
284
+ const rootNodes = s.collection.rows.filter((n) => n.level === 0);
285
+ const rootIndex = rootNodes.findIndex((n) => n.key === node.key);
286
+ return {
287
+ posinset: rootIndex >= 0 ? rootIndex + 1 : node.index + 1,
288
+ setsize: rootNodes.length
289
+ };
290
+ });
291
+ const rowProps = createMemo(() => {
292
+ const p = props();
293
+ const node = p.node;
294
+ const { posinset, setsize } = siblingInfo();
295
+ const baseProps = {
296
+ role: "row",
297
+ "aria-label": (p.textValue ?? node.textValue) || void 0,
298
+ "aria-selected": selectableState.canSelectItem?.(node.key) ? isSelected() : void 0,
299
+ "aria-disabled": selectableItem.isDisabled() || void 0,
300
+ "aria-expanded": isExpandable() ? isExpanded() : void 0,
301
+ "aria-level": node.level + 1,
302
+ "aria-posinset": posinset,
303
+ "aria-setsize": setsize
304
+ };
305
+ if (p.isVirtualized && node.rowIndex != null) baseProps["aria-rowindex"] = node.rowIndex + 1;
306
+ const treeData = getTreeData(state());
307
+ return mergeCollectionRowInteractionProps(mergeProps(selectableItem.itemProps, baseProps), {
308
+ ref,
309
+ keyboardNavigationBehavior: () => treeData?.keyboardNavigationBehavior ?? "arrow",
310
+ direction: () => treeData?.direction ?? "ltr"
311
+ });
312
+ });
313
+ const gridCellProps = createMemo(() => {
314
+ return {
315
+ role: "gridcell",
316
+ "aria-colindex": 1
317
+ };
318
+ });
319
+ const onExpandClick = (e) => {
320
+ e.stopPropagation();
321
+ const s = state();
322
+ const p = props();
323
+ if (selectableItem.isDisabled()) return;
324
+ s.toggleKey(p.node.key);
325
+ };
326
+ const stopPointerPropagation = (e) => {
327
+ e.stopPropagation();
328
+ };
329
+ const expandButtonProps = createMemo(() => {
330
+ return {
331
+ type: "button",
332
+ id: expandButtonId,
333
+ "aria-label": isExpanded() ? "Collapse" : "Expand",
334
+ "aria-labelledby": isExpandable() ? `${expandButtonId} ${rowId()}` : void 0,
335
+ "data-react-aria-prevent-focus": true,
336
+ onClick: onExpandClick,
337
+ onPointerDown: stopPointerPropagation,
338
+ onPointerUp: stopPointerPropagation,
339
+ onMouseDown: stopPointerPropagation,
340
+ onMouseUp: stopPointerPropagation,
341
+ tabIndex: -1,
342
+ "aria-hidden": !isExpandable() ? true : void 0
343
+ };
344
+ });
345
+ return {
346
+ get rowProps() {
347
+ return rowProps();
348
+ },
349
+ get gridCellProps() {
350
+ return gridCellProps();
351
+ },
352
+ get expandButtonProps() {
353
+ return expandButtonProps();
354
+ },
355
+ get isSelected() {
356
+ return isSelected();
357
+ },
358
+ get isDisabled() {
359
+ return selectableItem.isDisabled();
360
+ },
361
+ get isPressed() {
362
+ return selectableItem.isPressed();
363
+ },
364
+ get isExpanded() {
365
+ return isExpanded();
366
+ },
367
+ get isExpandable() {
368
+ return isExpandable();
369
+ },
370
+ get level() {
371
+ return level();
372
+ }
373
+ };
374
+ }
375
+ //#endregion
376
+ //#region src/tree/createTreeSelectionCheckbox.ts
377
+ /**
378
+ * createTreeSelectionCheckbox - Provides accessibility for a tree item's selection checkbox.
379
+ * Based on @react-aria/gridlist/useGridListSelectionCheckbox.
380
+ */
381
+ /**
382
+ * Creates accessibility props for a tree selection checkbox.
383
+ */
384
+ function createTreeSelectionCheckbox(props, state) {
385
+ const isSelected = createMemo(() => {
386
+ const s = state();
387
+ const p = props();
388
+ return s.isSelected(p.key);
389
+ });
390
+ const isDisabled = createMemo(() => {
391
+ const s = state();
392
+ const p = props();
393
+ return s.isDisabled(p.key);
394
+ });
395
+ const onChange = (e) => {
396
+ const s = state();
397
+ const p = props();
398
+ const target = e.target;
399
+ if (isDisabled()) return;
400
+ if (target.checked) s.toggleSelection(p.key);
401
+ else s.toggleSelection(p.key);
402
+ };
403
+ const onClick = (e) => {
404
+ e.stopPropagation();
405
+ };
406
+ const checkboxProps = createMemo(() => {
407
+ return {
408
+ type: "checkbox",
409
+ "aria-label": "Select",
410
+ checked: isSelected(),
411
+ disabled: isDisabled(),
412
+ onChange,
413
+ onClick,
414
+ tabIndex: -1
415
+ };
416
+ });
417
+ return { get checkboxProps() {
418
+ return checkboxProps();
419
+ } };
420
+ }
421
+ //#endregion
422
+ export { getTreeData as i, createTreeItem as n, createTree as r, createTreeSelectionCheckbox as t };
423
+
424
+ //# sourceMappingURL=tree.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.jsx","names":[],"sources":["../../src/tree/createTree.ts","../../src/tree/createTreeItem.ts","../../src/tree/createTreeSelectionCheckbox.ts"],"sourcesContent":["/**\n * createTree - Provides accessibility for a tree component.\n * Based on @react-aria/tree/useTree.\n */\n\nimport { createEffect, createMemo, type Accessor } from \"solid-js\";\nimport type { JSX } from \"solid-js\";\nimport { createId } from \"@proyecto-viviana/solid-stately\";\nimport type { TreeState, TreeCollection, Key } from \"@proyecto-viviana/solid-stately\";\nimport type { AriaTreeProps, TreeAria } from \"./types\";\nimport { scrollIntoViewport } from \"../utils\";\nimport { getInteractionModality } from \"../interactions/createInteractionModality\";\n\n/**\n * Metadata stored for a tree instance.\n */\ninterface TreeData {\n /** The generated ID for the tree. */\n treeId: string;\n /** How keyboard navigation behaves within row children. */\n keyboardNavigationBehavior: \"arrow\" | \"tab\";\n /** Text direction for row-child arrow navigation and tree expansion keys. */\n direction: \"ltr\" | \"rtl\";\n /** Actions registered for the tree. */\n actions: {\n onAction?: (key: Key) => void;\n };\n}\n\n/**\n * WeakMap to store tree data for child components to access.\n */\nconst treeDataMap = new WeakMap<object, TreeData>();\n\n/**\n * Gets the tree data for a given state.\n */\nexport function getTreeData<T extends object, C extends TreeCollection<T>>(\n state: TreeState<T, C>,\n): TreeData | undefined {\n return treeDataMap.get(state);\n}\n\n/**\n * Whether a key should be skipped during keyboard navigation. Disabled keys only\n * block navigation under `disabledBehavior: \"all\"` (the default); under\n * `\"selection\"` they remain focusable (selection is still blocked elsewhere).\n * Mirrors `ListKeyboardDelegate.isDisabled` in React Aria.\n */\nfunction isNavigationDisabled<T extends object, C extends TreeCollection<T>>(\n state: TreeState<T, C>,\n key: Key,\n): boolean {\n return state.isDisabled(key) && state.disabledBehavior === \"all\";\n}\n\n/**\n * Walks from `startKey` via `step` until reaching a key that is navigable (not\n * disabled for navigation), mirroring React Aria's\n * `ListKeyboardDelegate.findNextNonDisabled`. `getFirstKey`/`getLastKey` and the\n * next/previous lookups all funnel through this so arrow keys, Home and End land\n * on enabled rows only.\n */\nfunction findNextNavigableKey<T extends object, C extends TreeCollection<T>>(\n state: TreeState<T, C>,\n startKey: Key | null,\n step: (key: Key) => Key | null,\n): Key | null {\n let key = startKey;\n while (key != null && isNavigationDisabled(state, key)) {\n key = step(key);\n }\n return key;\n}\n\n/**\n * Creates accessibility props for a tree.\n */\nexport function createTree<T extends object, C extends TreeCollection<T> = TreeCollection<T>>(\n props: Accessor<AriaTreeProps>,\n state: Accessor<TreeState<T, C>>,\n ref: Accessor<HTMLDivElement | null>,\n): TreeAria {\n // Generate a unique ID for the tree\n const treeId = props().id ?? createId();\n\n // Store tree data for child components\n const treeData: TreeData = {\n treeId,\n get keyboardNavigationBehavior() {\n return props().keyboardNavigationBehavior ?? \"arrow\";\n },\n get direction() {\n return props().direction ?? \"ltr\";\n },\n actions: {\n get onAction() {\n return props().onAction;\n },\n },\n };\n\n // Store in WeakMap using the state as key\n treeDataMap.set(state(), treeData);\n\n // Handle keyboard navigation\n const onKeyDown = (e: KeyboardEvent) => {\n const s = state();\n const p = props();\n const collection = s.collection;\n const focusedKey = s.focusedKey;\n const direction = p.direction ?? \"ltr\";\n // In RTL, ArrowLeft expands and ArrowRight collapses (opposite of LTR)\n const expandKey = direction === \"rtl\" ? \"ArrowLeft\" : \"ArrowRight\";\n const collapseKey = direction === \"rtl\" ? \"ArrowRight\" : \"ArrowLeft\";\n\n if (p.isDisabled) return;\n\n switch (e.key) {\n case \"ArrowDown\": {\n e.preventDefault();\n const nextKey =\n focusedKey != null\n ? findNextNavigableKey(s, collection.getKeyAfter(focusedKey), (k) =>\n collection.getKeyAfter(k),\n )\n : findNextNavigableKey(s, collection.getFirstKey(), (k) => collection.getKeyAfter(k));\n if (nextKey != null) {\n s.setFocusedKey(nextKey);\n }\n break;\n }\n case \"ArrowUp\": {\n e.preventDefault();\n const prevKey =\n focusedKey != null\n ? findNextNavigableKey(s, collection.getKeyBefore(focusedKey), (k) =>\n collection.getKeyBefore(k),\n )\n : findNextNavigableKey(s, collection.getLastKey(), (k) => collection.getKeyBefore(k));\n if (prevKey != null) {\n s.setFocusedKey(prevKey);\n }\n break;\n }\n case \"ArrowRight\":\n case \"ArrowLeft\": {\n e.preventDefault();\n if (focusedKey != null) {\n const node = collection.getItem(focusedKey);\n if (e.key === expandKey) {\n // Expand or move to first child\n if (node?.isExpandable) {\n if (!s.isExpanded(focusedKey)) {\n s.expandKey(focusedKey);\n } else {\n const children = [...collection.getChildren(focusedKey)];\n if (children.length > 0) {\n s.setFocusedKey(children[0].key);\n }\n }\n }\n } else if (e.key === collapseKey) {\n // Collapse or move to parent\n if (node?.isExpandable && s.isExpanded(focusedKey)) {\n s.collapseKey(focusedKey);\n } else if (node?.parentKey != null) {\n s.setFocusedKey(node.parentKey);\n }\n }\n }\n break;\n }\n case \"Home\": {\n e.preventDefault();\n const firstKey = findNextNavigableKey(s, collection.getFirstKey(), (k) =>\n collection.getKeyAfter(k),\n );\n if (firstKey != null) {\n s.setFocusedKey(firstKey);\n }\n break;\n }\n case \"End\": {\n e.preventDefault();\n const lastKey = findNextNavigableKey(s, collection.getLastKey(), (k) =>\n collection.getKeyBefore(k),\n );\n if (lastKey != null) {\n s.setFocusedKey(lastKey);\n }\n break;\n }\n case \"a\":\n case \"A\": {\n if ((e.ctrlKey || e.metaKey) && s.selectionMode === \"multiple\") {\n e.preventDefault();\n s.selectAll();\n }\n break;\n }\n // Space (selection) and Enter (action) are intentionally absent here.\n // Upstream's useSelectableCollection leaves activation to useSelectableItem.\n // The focus effect below moves DOM focus onto the focused row, so the row's\n // own createSelectableItem handlers receive those keys without duplicating\n // work in the bubbling tree handler.\n case \"Escape\": {\n if (s.selectionMode !== \"none\") {\n e.preventDefault();\n s.clearSelection();\n }\n break;\n }\n case \"*\": {\n // Expand all siblings at current level\n e.preventDefault();\n if (focusedKey != null) {\n const node = collection.getItem(focusedKey);\n if (node) {\n // Find all siblings at the same level\n const parentKey = node.parentKey;\n let siblings: Key[];\n if (parentKey != null) {\n siblings = [...collection.getChildren(parentKey)].map((n) => n.key);\n } else {\n // Root level siblings\n siblings = collection.rows.filter((n) => n.level === 0).map((n) => n.key);\n }\n // Expand all expandable siblings\n for (const siblingKey of siblings) {\n const sibling = collection.getItem(siblingKey);\n if (sibling?.isExpandable && !s.isExpanded(siblingKey)) {\n s.expandKey(siblingKey);\n }\n }\n }\n }\n break;\n }\n }\n };\n\n const onFocus = () => {\n const s = state();\n s.setFocused(true);\n\n // If nothing is focused, focus the first navigable item\n if (s.focusedKey == null) {\n const firstKey = findNextNavigableKey(s, s.collection.getFirstKey(), (k) =>\n s.collection.getKeyAfter(k),\n );\n if (firstKey != null) {\n s.setFocusedKey(firstKey);\n }\n }\n };\n\n const onBlur = () => {\n const s = state();\n s.setFocused(false);\n };\n\n createEffect(() => {\n const s = state();\n const key = s.focusedKey;\n const el = ref();\n if (!el || key == null) {\n return;\n }\n\n const active = document.activeElement;\n if (!active || (active !== el && !el.contains(active))) {\n return;\n }\n\n const target = el.querySelector<HTMLElement>(`[data-key=\"${key}\"]`);\n if (target && target !== active) {\n target.focus();\n\n if (getInteractionModality() !== \"pointer\") {\n scrollIntoViewport(target, { containingElement: el });\n }\n }\n });\n\n const treeProps = createMemo(() => {\n const p = props();\n const s = state();\n\n const baseProps: Record<string, unknown> = {\n role: \"treegrid\",\n id: treeId,\n \"aria-label\": p[\"aria-label\"],\n \"aria-labelledby\": p[\"aria-labelledby\"],\n \"aria-describedby\": p[\"aria-describedby\"],\n \"aria-multiselectable\": s.selectionMode === \"multiple\" ? true : undefined,\n \"aria-disabled\": p.isDisabled || undefined,\n tabIndex: p.isDisabled ? undefined : 0,\n onKeyDown,\n onFocus,\n onBlur,\n };\n\n // Add row count for virtualized trees\n if (p.isVirtualized) {\n baseProps[\"aria-rowcount\"] = s.collection.rowCount;\n }\n\n return baseProps as JSX.HTMLAttributes<HTMLDivElement>;\n });\n\n return {\n get treeProps() {\n return treeProps();\n },\n };\n}\n","/**\n * createTreeItem - Provides accessibility for a tree item.\n * Based on @react-aria/tree/useTreeItem.\n */\n\nimport { createMemo, type Accessor } from \"solid-js\";\nimport type { JSX } from \"solid-js\";\nimport { createId } from \"@proyecto-viviana/solid-stately\";\nimport type {\n Collection,\n Key,\n Selection,\n TreeState,\n TreeCollection,\n} from \"@proyecto-viviana/solid-stately\";\nimport type { AriaTreeItemProps, TreeItemAria } from \"./types\";\nimport { getTreeData } from \"./createTree\";\nimport { createSelectableItem, type SelectableItemState } from \"../selection/createSelectableItem\";\nimport { mergeCollectionRowInteractionProps } from \"../selection/createCollectionRowInteraction\";\nimport { mergeProps } from \"../utils/mergeProps\";\n\n/**\n * Creates accessibility props for a tree item.\n */\nexport function createTreeItem<T extends object, C extends TreeCollection<T> = TreeCollection<T>>(\n props: Accessor<AriaTreeItemProps<T>>,\n state: Accessor<TreeState<T, C>>,\n ref: Accessor<HTMLElement | null>,\n): TreeItemAria {\n const fallbackRowId = createId();\n const expandButtonId = createId();\n\n const rowId = createMemo(() => {\n const treeData = getTreeData(state());\n return treeData ? `${treeData.treeId}-row-${String(props().node.key)}` : fallbackRowId;\n });\n\n const isSelected = createMemo(() => {\n const s = state();\n const p = props();\n return s.isSelected(p.node.key);\n });\n\n const isExpanded = createMemo(() => {\n const s = state();\n const p = props();\n return s.isExpanded(p.node.key);\n });\n\n const isExpandable = createMemo(() => {\n const p = props();\n return p.node.isExpandable ?? false;\n });\n\n const level = createMemo(() => {\n const p = props();\n return p.node.level;\n });\n\n const selectableState: SelectableItemState<T> = {\n collection: () => state().collection as unknown as Collection<T>,\n isFocused: () => state().isFocused,\n setFocused: (focused: boolean) => state().setFocused(focused),\n focusedKey: () => state().focusedKey,\n childFocusStrategy: () => state().childFocusStrategy,\n setFocusedKey: (key: Key | null, strategy) => state().setFocusedKey(key, strategy),\n selectionMode: () => state().selectionMode,\n selectionBehavior: () => props().selectionBehavior ?? state().selectionBehavior,\n disallowEmptySelection: () => state().disallowEmptySelection,\n selectedKeys: () => state().selectedKeys as Selection,\n disabledKeys: () => state().disabledKeys,\n disabledBehavior: () => state().disabledBehavior,\n isEmpty: () => {\n const keys = state().selectedKeys;\n return keys !== \"all\" && keys.size === 0;\n },\n isSelectAll: () => state().selectedKeys === \"all\",\n isSelected: (key: Key) => state().isSelected(key),\n isDisabled: (key: Key) => {\n const s = state();\n const item = s.collection.getItem(key);\n return (\n s.disabledBehavior === \"all\" &&\n s.isDisabled(key) &&\n item?.props?.disabledBehavior !== \"selection\"\n );\n },\n canSelectItem: (key: Key) => {\n const s = state();\n return s.selectionMode !== \"none\" && !s.isDisabled(key);\n },\n setSelectionBehavior: (behavior) => state().setSelectionBehavior(behavior),\n toggleSelection: (key: Key) => state().toggleSelection(key),\n replaceSelection: (key: Key) => state().replaceSelection(key),\n setSelectedKeys: (keys: Iterable<Key>) => state().setSelectedKeys(keys),\n selectAll: () => state().selectAll(),\n clearSelection: () => state().clearSelection(),\n toggleSelectAll: () => state().toggleSelectAll(),\n extendSelection: (toKey: Key, _collection: Collection<T>) => state().extendSelection(toKey),\n };\n\n const selectableItem = createSelectableItem<T>(\n () => {\n const s = state();\n const p = props();\n const treeData = getTreeData(s);\n const treeAction = treeData?.actions.onAction;\n const shouldToggleOnAction =\n !treeAction && !p.onAction && s.selectionMode === \"none\" && isExpandable();\n\n return {\n key: p.node.key,\n id: rowId(),\n isVirtualized: p.isVirtualized,\n isDisabled: p.isDisabled,\n onAction:\n treeAction || p.onAction || shouldToggleOnAction\n ? () => {\n p.onAction?.();\n treeAction?.(p.node.key);\n if (shouldToggleOnAction) {\n s.toggleKey(p.node.key);\n }\n }\n : undefined,\n };\n },\n selectableState,\n ref,\n );\n\n // Compute sibling position (aria-posinset/aria-setsize)\n const siblingInfo = createMemo(() => {\n const s = state();\n const p = props();\n const node = p.node;\n const parentKey = node.parentKey;\n\n if (parentKey != null) {\n const parentNode = s.collection.getItem(parentKey);\n if (parentNode) {\n return {\n posinset: node.index + 1, // 1-based\n setsize: parentNode.childNodes.length,\n };\n }\n }\n\n // Root-level: count root nodes\n const rootNodes = s.collection.rows.filter((n) => n.level === 0);\n const rootIndex = rootNodes.findIndex((n) => n.key === node.key);\n return {\n posinset: rootIndex >= 0 ? rootIndex + 1 : node.index + 1,\n setsize: rootNodes.length,\n };\n });\n\n const rowProps = createMemo(() => {\n const p = props();\n const node = p.node;\n const { posinset, setsize } = siblingInfo();\n\n // Use textValue for aria-label (if available), or explicit textValue prop\n const textValue = p.textValue ?? node.textValue;\n\n const baseProps: Record<string, unknown> = {\n role: \"row\",\n \"aria-label\": textValue || undefined,\n \"aria-selected\": selectableState.canSelectItem?.(node.key) ? isSelected() : undefined,\n \"aria-disabled\": selectableItem.isDisabled() || undefined,\n \"aria-expanded\": isExpandable() ? isExpanded() : undefined,\n \"aria-level\": node.level + 1, // 1-based for ARIA\n \"aria-posinset\": posinset,\n \"aria-setsize\": setsize,\n };\n\n // Add aria-rowindex for virtualized trees\n if (p.isVirtualized && node.rowIndex != null) {\n baseProps[\"aria-rowindex\"] = node.rowIndex + 1; // 1-based\n }\n\n const treeData = getTreeData(state());\n const mergedProps = mergeProps<JSX.HTMLAttributes<HTMLDivElement>>(\n selectableItem.itemProps,\n baseProps,\n );\n\n return mergeCollectionRowInteractionProps(mergedProps, {\n ref,\n keyboardNavigationBehavior: () => treeData?.keyboardNavigationBehavior ?? \"arrow\",\n direction: () => treeData?.direction ?? \"ltr\",\n });\n });\n\n const gridCellProps = createMemo(() => {\n return {\n role: \"gridcell\",\n \"aria-colindex\": 1,\n } as JSX.HTMLAttributes<HTMLDivElement>;\n });\n\n // Expand button handler\n const onExpandClick = (e: MouseEvent) => {\n e.stopPropagation(); // Don't trigger row click\n const s = state();\n const p = props();\n\n if (selectableItem.isDisabled()) return;\n\n s.toggleKey(p.node.key);\n };\n\n const stopPointerPropagation = (e: Event) => {\n // Prevent row pointer handlers from flipping pressed state and re-rendering\n // before the button click handler can run.\n e.stopPropagation();\n };\n\n const expandButtonProps = createMemo(() => {\n const baseProps: Record<string, unknown> = {\n type: \"button\",\n id: expandButtonId,\n \"aria-label\": isExpanded() ? \"Collapse\" : \"Expand\",\n \"aria-labelledby\": isExpandable() ? `${expandButtonId} ${rowId()}` : undefined,\n \"data-react-aria-prevent-focus\": true,\n onClick: onExpandClick,\n onPointerDown: stopPointerPropagation,\n onPointerUp: stopPointerPropagation,\n onMouseDown: stopPointerPropagation,\n onMouseUp: stopPointerPropagation,\n tabIndex: -1, // Not in tab order, use arrow keys\n \"aria-hidden\": !isExpandable() ? true : undefined,\n };\n\n return baseProps as JSX.ButtonHTMLAttributes<HTMLButtonElement>;\n });\n\n return {\n get rowProps() {\n return rowProps();\n },\n get gridCellProps() {\n return gridCellProps();\n },\n get expandButtonProps() {\n return expandButtonProps();\n },\n get isSelected() {\n return isSelected();\n },\n get isDisabled() {\n return selectableItem.isDisabled();\n },\n get isPressed() {\n return selectableItem.isPressed();\n },\n get isExpanded() {\n return isExpanded();\n },\n get isExpandable() {\n return isExpandable();\n },\n get level() {\n return level();\n },\n };\n}\n","/**\n * createTreeSelectionCheckbox - Provides accessibility for a tree item's selection checkbox.\n * Based on @react-aria/gridlist/useGridListSelectionCheckbox.\n */\n\nimport { createMemo, type Accessor } from \"solid-js\";\nimport type { JSX } from \"solid-js\";\nimport type { TreeState, TreeCollection } from \"@proyecto-viviana/solid-stately\";\nimport type { AriaTreeSelectionCheckboxProps, TreeSelectionCheckboxAria } from \"./types\";\n\n/**\n * Creates accessibility props for a tree selection checkbox.\n */\nexport function createTreeSelectionCheckbox<\n T extends object,\n C extends TreeCollection<T> = TreeCollection<T>,\n>(\n props: Accessor<AriaTreeSelectionCheckboxProps>,\n state: Accessor<TreeState<T, C>>,\n): TreeSelectionCheckboxAria {\n const isSelected = createMemo(() => {\n const s = state();\n const p = props();\n return s.isSelected(p.key);\n });\n\n const isDisabled = createMemo(() => {\n const s = state();\n const p = props();\n return s.isDisabled(p.key);\n });\n\n const onChange = (e: Event) => {\n const s = state();\n const p = props();\n const target = e.target as HTMLInputElement;\n\n if (isDisabled()) return;\n\n if (target.checked) {\n s.toggleSelection(p.key);\n } else {\n s.toggleSelection(p.key);\n }\n };\n\n const onClick = (e: MouseEvent) => {\n // Stop propagation to prevent row click from also firing\n e.stopPropagation();\n };\n\n const checkboxProps = createMemo(() => {\n const baseProps: Record<string, unknown> = {\n type: \"checkbox\",\n \"aria-label\": \"Select\",\n checked: isSelected(),\n disabled: isDisabled(),\n onChange,\n onClick,\n tabIndex: -1, // Use arrow keys to navigate, not tab\n };\n\n return baseProps as JSX.InputHTMLAttributes<HTMLInputElement>;\n });\n\n return {\n get checkboxProps() {\n return checkboxProps();\n },\n };\n}\n"],"mappings":"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"}