@proyecto-viviana/solidaria 0.3.0 → 0.4.1

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 (743) hide show
  1. package/dist/_chunk/DragManager.js +627 -0
  2. package/dist/_chunk/DragManager.js.map +1 -0
  3. package/dist/_chunk/DragManager.jsx +627 -0
  4. package/dist/_chunk/DragManager.jsx.map +1 -0
  5. package/dist/_chunk/FocusScope.js +400 -0
  6. package/dist/_chunk/FocusScope.js.map +1 -0
  7. package/dist/_chunk/FocusScope.jsx +375 -0
  8. package/dist/_chunk/FocusScope.jsx.map +1 -0
  9. package/dist/_chunk/actiongroup.js +141 -0
  10. package/dist/_chunk/actiongroup.js.map +1 -0
  11. package/dist/_chunk/actiongroup.jsx +141 -0
  12. package/dist/_chunk/actiongroup.jsx.map +1 -0
  13. package/dist/_chunk/announce.js +207 -0
  14. package/dist/_chunk/announce.js.map +1 -0
  15. package/dist/_chunk/announce.jsx +207 -0
  16. package/dist/_chunk/announce.jsx.map +1 -0
  17. package/dist/_chunk/ariaHideOutside.js +122 -0
  18. package/dist/_chunk/ariaHideOutside.js.map +1 -0
  19. package/dist/_chunk/ariaHideOutside.jsx +122 -0
  20. package/dist/_chunk/ariaHideOutside.jsx.map +1 -0
  21. package/dist/_chunk/autocomplete.js +244 -0
  22. package/dist/_chunk/autocomplete.js.map +1 -0
  23. package/dist/_chunk/autocomplete.jsx +244 -0
  24. package/dist/_chunk/autocomplete.jsx.map +1 -0
  25. package/dist/_chunk/breadcrumbs.js +121 -0
  26. package/dist/_chunk/breadcrumbs.js.map +1 -0
  27. package/dist/_chunk/breadcrumbs.jsx +121 -0
  28. package/dist/_chunk/breadcrumbs.jsx.map +1 -0
  29. package/dist/_chunk/button.js +275 -0
  30. package/dist/_chunk/button.js.map +1 -0
  31. package/dist/_chunk/button.jsx +275 -0
  32. package/dist/_chunk/button.jsx.map +1 -0
  33. package/dist/_chunk/calendar.js +1037 -0
  34. package/dist/_chunk/calendar.js.map +1 -0
  35. package/dist/_chunk/calendar.jsx +1037 -0
  36. package/dist/_chunk/calendar.jsx.map +1 -0
  37. package/dist/_chunk/checkbox.js +235 -0
  38. package/dist/_chunk/checkbox.js.map +1 -0
  39. package/dist/_chunk/checkbox.jsx +235 -0
  40. package/dist/_chunk/checkbox.jsx.map +1 -0
  41. package/dist/_chunk/color.js +1458 -0
  42. package/dist/_chunk/color.js.map +1 -0
  43. package/dist/_chunk/color.jsx +1458 -0
  44. package/dist/_chunk/color.jsx.map +1 -0
  45. package/dist/_chunk/combobox.js +1062 -0
  46. package/dist/_chunk/combobox.js.map +1 -0
  47. package/dist/_chunk/combobox.jsx +1062 -0
  48. package/dist/_chunk/combobox.jsx.map +1 -0
  49. package/dist/_chunk/constants.js +19 -0
  50. package/dist/_chunk/constants.js.map +1 -0
  51. package/dist/_chunk/constants.jsx +19 -0
  52. package/dist/_chunk/constants.jsx.map +1 -0
  53. package/dist/_chunk/createCollator.js +61 -0
  54. package/dist/_chunk/createCollator.js.map +1 -0
  55. package/dist/_chunk/createCollator.jsx +61 -0
  56. package/dist/_chunk/createCollator.jsx.map +1 -0
  57. package/dist/_chunk/createCollectionRowInteraction.js +133 -0
  58. package/dist/_chunk/createCollectionRowInteraction.js.map +1 -0
  59. package/dist/_chunk/createCollectionRowInteraction.jsx +133 -0
  60. package/dist/_chunk/createCollectionRowInteraction.jsx.map +1 -0
  61. package/dist/_chunk/createField.js +55 -0
  62. package/dist/_chunk/createField.js.map +1 -0
  63. package/dist/_chunk/createField.jsx +55 -0
  64. package/dist/_chunk/createField.jsx.map +1 -0
  65. package/dist/_chunk/createFocus.js +105 -0
  66. package/dist/_chunk/createFocus.js.map +1 -0
  67. package/dist/_chunk/createFocus.jsx +105 -0
  68. package/dist/_chunk/createFocus.jsx.map +1 -0
  69. package/dist/_chunk/createFocusRing.js +54 -0
  70. package/dist/_chunk/createFocusRing.js.map +1 -0
  71. package/dist/_chunk/createFocusRing.jsx +54 -0
  72. package/dist/_chunk/createFocusRing.jsx.map +1 -0
  73. package/dist/_chunk/createFocusWithin.js +120 -0
  74. package/dist/_chunk/createFocusWithin.js.map +1 -0
  75. package/dist/_chunk/createFocusWithin.jsx +120 -0
  76. package/dist/_chunk/createFocusWithin.jsx.map +1 -0
  77. package/dist/_chunk/createFocusable.js +131 -0
  78. package/dist/_chunk/createFocusable.js.map +1 -0
  79. package/dist/_chunk/createFocusable.jsx +131 -0
  80. package/dist/_chunk/createFocusable.jsx.map +1 -0
  81. package/dist/_chunk/createFormReset.js +39 -0
  82. package/dist/_chunk/createFormReset.js.map +1 -0
  83. package/dist/_chunk/createFormReset.jsx +39 -0
  84. package/dist/_chunk/createFormReset.jsx.map +1 -0
  85. package/dist/_chunk/createFormValidation.js +135 -0
  86. package/dist/_chunk/createFormValidation.js.map +1 -0
  87. package/dist/_chunk/createFormValidation.jsx +135 -0
  88. package/dist/_chunk/createFormValidation.jsx.map +1 -0
  89. package/dist/_chunk/createHover.js +131 -0
  90. package/dist/_chunk/createHover.js.map +1 -0
  91. package/dist/_chunk/createHover.jsx +131 -0
  92. package/dist/_chunk/createHover.jsx.map +1 -0
  93. package/dist/_chunk/createInteractionModality.js +268 -0
  94. package/dist/_chunk/createInteractionModality.js.map +1 -0
  95. package/dist/_chunk/createInteractionModality.jsx +268 -0
  96. package/dist/_chunk/createInteractionModality.jsx.map +1 -0
  97. package/dist/_chunk/createLabel.js +47 -0
  98. package/dist/_chunk/createLabel.js.map +1 -0
  99. package/dist/_chunk/createLabel.jsx +47 -0
  100. package/dist/_chunk/createLabel.jsx.map +1 -0
  101. package/dist/_chunk/createLabels.js +32 -0
  102. package/dist/_chunk/createLabels.js.map +1 -0
  103. package/dist/_chunk/createLabels.jsx +32 -0
  104. package/dist/_chunk/createLabels.jsx.map +1 -0
  105. package/dist/_chunk/createLandmark.js +198 -0
  106. package/dist/_chunk/createLandmark.js.map +1 -0
  107. package/dist/_chunk/createLandmark.jsx +198 -0
  108. package/dist/_chunk/createLandmark.jsx.map +1 -0
  109. package/dist/_chunk/createOverlay.js +327 -0
  110. package/dist/_chunk/createOverlay.js.map +1 -0
  111. package/dist/_chunk/createOverlay.jsx +327 -0
  112. package/dist/_chunk/createOverlay.jsx.map +1 -0
  113. package/dist/_chunk/createPress.js +526 -0
  114. package/dist/_chunk/createPress.js.map +1 -0
  115. package/dist/_chunk/createPress.jsx +526 -0
  116. package/dist/_chunk/createPress.jsx.map +1 -0
  117. package/dist/_chunk/createProgressBar.js +82 -0
  118. package/dist/_chunk/createProgressBar.js.map +1 -0
  119. package/dist/_chunk/createProgressBar.jsx +82 -0
  120. package/dist/_chunk/createProgressBar.jsx.map +1 -0
  121. package/dist/_chunk/createSelectableItem.js +302 -0
  122. package/dist/_chunk/createSelectableItem.js.map +1 -0
  123. package/dist/_chunk/createSelectableItem.jsx +302 -0
  124. package/dist/_chunk/createSelectableItem.jsx.map +1 -0
  125. package/dist/_chunk/createStringFormatter.js +61 -0
  126. package/dist/_chunk/createStringFormatter.js.map +1 -0
  127. package/dist/_chunk/createStringFormatter.jsx +61 -0
  128. package/dist/_chunk/createStringFormatter.jsx.map +1 -0
  129. package/dist/_chunk/createToggle.js +159 -0
  130. package/dist/_chunk/createToggle.js.map +1 -0
  131. package/dist/_chunk/createToggle.jsx +159 -0
  132. package/dist/_chunk/createToggle.jsx.map +1 -0
  133. package/dist/_chunk/createTypeSelect.js +125 -0
  134. package/dist/_chunk/createTypeSelect.js.map +1 -0
  135. package/dist/_chunk/createTypeSelect.jsx +125 -0
  136. package/dist/_chunk/createTypeSelect.jsx.map +1 -0
  137. package/dist/_chunk/datepicker.js +1706 -0
  138. package/dist/_chunk/datepicker.js.map +1 -0
  139. package/dist/_chunk/datepicker.jsx +1706 -0
  140. package/dist/_chunk/datepicker.jsx.map +1 -0
  141. package/dist/_chunk/dialog.js +62 -0
  142. package/dist/_chunk/dialog.js.map +1 -0
  143. package/dist/_chunk/dialog.jsx +62 -0
  144. package/dist/_chunk/dialog.jsx.map +1 -0
  145. package/dist/_chunk/disclosure.js +185 -0
  146. package/dist/_chunk/disclosure.js.map +1 -0
  147. package/dist/_chunk/disclosure.jsx +185 -0
  148. package/dist/_chunk/disclosure.jsx.map +1 -0
  149. package/dist/_chunk/dnd.js +2395 -0
  150. package/dist/_chunk/dnd.js.map +1 -0
  151. package/dist/_chunk/dnd.jsx +2395 -0
  152. package/dist/_chunk/dnd.jsx.map +1 -0
  153. package/dist/_chunk/env.js +87 -0
  154. package/dist/_chunk/env.js.map +1 -0
  155. package/dist/_chunk/env.jsx +87 -0
  156. package/dist/_chunk/env.jsx.map +1 -0
  157. package/dist/_chunk/filterDOMProps.js +82 -0
  158. package/dist/_chunk/filterDOMProps.js.map +1 -0
  159. package/dist/_chunk/filterDOMProps.jsx +82 -0
  160. package/dist/_chunk/filterDOMProps.jsx.map +1 -0
  161. package/dist/_chunk/focus.js +399 -0
  162. package/dist/_chunk/focus.js.map +1 -0
  163. package/dist/_chunk/focus.jsx +399 -0
  164. package/dist/_chunk/focus.jsx.map +1 -0
  165. package/dist/_chunk/focus2.js +631 -0
  166. package/dist/_chunk/focus2.js.map +1 -0
  167. package/dist/_chunk/focus2.jsx +631 -0
  168. package/dist/_chunk/focus2.jsx.map +1 -0
  169. package/dist/_chunk/grid.js +623 -0
  170. package/dist/_chunk/grid.js.map +1 -0
  171. package/dist/_chunk/grid.jsx +623 -0
  172. package/dist/_chunk/grid.jsx.map +1 -0
  173. package/dist/_chunk/gridlist.js +369 -0
  174. package/dist/_chunk/gridlist.js.map +1 -0
  175. package/dist/_chunk/gridlist.jsx +369 -0
  176. package/dist/_chunk/gridlist.jsx.map +1 -0
  177. package/dist/_chunk/i18n.js +199 -0
  178. package/dist/_chunk/i18n.js.map +1 -0
  179. package/dist/_chunk/i18n.jsx +199 -0
  180. package/dist/_chunk/i18n.jsx.map +1 -0
  181. package/dist/_chunk/interactions.js +331 -0
  182. package/dist/_chunk/interactions.js.map +1 -0
  183. package/dist/_chunk/interactions.jsx +325 -0
  184. package/dist/_chunk/interactions.jsx.map +1 -0
  185. package/dist/_chunk/link.js +97 -0
  186. package/dist/_chunk/link.js.map +1 -0
  187. package/dist/_chunk/link.jsx +97 -0
  188. package/dist/_chunk/link.jsx.map +1 -0
  189. package/dist/_chunk/listbox.js +356 -0
  190. package/dist/_chunk/listbox.js.map +1 -0
  191. package/dist/_chunk/listbox.jsx +356 -0
  192. package/dist/_chunk/listbox.jsx.map +1 -0
  193. package/dist/_chunk/locale.js +173 -0
  194. package/dist/_chunk/locale.js.map +1 -0
  195. package/dist/_chunk/locale.jsx +167 -0
  196. package/dist/_chunk/locale.jsx.map +1 -0
  197. package/dist/_chunk/menu.js +519 -0
  198. package/dist/_chunk/menu.js.map +1 -0
  199. package/dist/_chunk/menu.jsx +519 -0
  200. package/dist/_chunk/menu.jsx.map +1 -0
  201. package/dist/_chunk/meter.js +33 -0
  202. package/dist/_chunk/meter.js.map +1 -0
  203. package/dist/_chunk/meter.jsx +33 -0
  204. package/dist/_chunk/meter.jsx.map +1 -0
  205. package/dist/_chunk/numberfield.js +259 -0
  206. package/dist/_chunk/numberfield.js.map +1 -0
  207. package/dist/_chunk/numberfield.jsx +259 -0
  208. package/dist/_chunk/numberfield.jsx.map +1 -0
  209. package/dist/_chunk/overlays.js +186 -0
  210. package/dist/_chunk/overlays.js.map +1 -0
  211. package/dist/_chunk/overlays.jsx +162 -0
  212. package/dist/_chunk/overlays.jsx.map +1 -0
  213. package/dist/_chunk/popover.js +574 -0
  214. package/dist/_chunk/popover.js.map +1 -0
  215. package/dist/_chunk/popover.jsx +574 -0
  216. package/dist/_chunk/popover.jsx.map +1 -0
  217. package/dist/_chunk/radio.js +320 -0
  218. package/dist/_chunk/radio.js.map +1 -0
  219. package/dist/_chunk/radio.jsx +320 -0
  220. package/dist/_chunk/radio.jsx.map +1 -0
  221. package/dist/_chunk/reactivity.js +21 -0
  222. package/dist/_chunk/reactivity.js.map +1 -0
  223. package/dist/_chunk/reactivity.jsx +21 -0
  224. package/dist/_chunk/reactivity.jsx.map +1 -0
  225. package/dist/_chunk/searchfield.js +210 -0
  226. package/dist/_chunk/searchfield.js.map +1 -0
  227. package/dist/_chunk/searchfield.jsx +210 -0
  228. package/dist/_chunk/searchfield.jsx.map +1 -0
  229. package/dist/_chunk/select.js +406 -0
  230. package/dist/_chunk/select.js.map +1 -0
  231. package/dist/_chunk/select.jsx +397 -0
  232. package/dist/_chunk/select.jsx.map +1 -0
  233. package/dist/_chunk/selection.js +666 -0
  234. package/dist/_chunk/selection.js.map +1 -0
  235. package/dist/_chunk/selection.jsx +666 -0
  236. package/dist/_chunk/selection.jsx.map +1 -0
  237. package/dist/_chunk/separator.js +29 -0
  238. package/dist/_chunk/separator.js.map +1 -0
  239. package/dist/_chunk/separator.jsx +29 -0
  240. package/dist/_chunk/separator.jsx.map +1 -0
  241. package/dist/_chunk/slider.js +256 -0
  242. package/dist/_chunk/slider.js.map +1 -0
  243. package/dist/_chunk/slider.jsx +256 -0
  244. package/dist/_chunk/slider.jsx.map +1 -0
  245. package/dist/_chunk/spinbutton.js +153 -0
  246. package/dist/_chunk/spinbutton.js.map +1 -0
  247. package/dist/_chunk/spinbutton.jsx +153 -0
  248. package/dist/_chunk/spinbutton.jsx.map +1 -0
  249. package/dist/_chunk/steplist.js +66 -0
  250. package/dist/_chunk/steplist.js.map +1 -0
  251. package/dist/_chunk/steplist.jsx +66 -0
  252. package/dist/_chunk/steplist.jsx.map +1 -0
  253. package/dist/_chunk/switch.js +34 -0
  254. package/dist/_chunk/switch.js.map +1 -0
  255. package/dist/_chunk/switch.jsx +34 -0
  256. package/dist/_chunk/switch.jsx.map +1 -0
  257. package/dist/_chunk/table.js +1088 -0
  258. package/dist/_chunk/table.js.map +1 -0
  259. package/dist/_chunk/table.jsx +1088 -0
  260. package/dist/_chunk/table.jsx.map +1 -0
  261. package/dist/_chunk/tabs.js +263 -0
  262. package/dist/_chunk/tabs.js.map +1 -0
  263. package/dist/_chunk/tabs.jsx +263 -0
  264. package/dist/_chunk/tabs.jsx.map +1 -0
  265. package/dist/_chunk/tag.js +322 -0
  266. package/dist/_chunk/tag.js.map +1 -0
  267. package/dist/_chunk/tag.jsx +322 -0
  268. package/dist/_chunk/tag.jsx.map +1 -0
  269. package/dist/_chunk/textfield.js +110 -0
  270. package/dist/_chunk/textfield.js.map +1 -0
  271. package/dist/_chunk/textfield.jsx +110 -0
  272. package/dist/_chunk/textfield.jsx.map +1 -0
  273. package/dist/_chunk/toast.js +250 -0
  274. package/dist/_chunk/toast.js.map +1 -0
  275. package/dist/_chunk/toast.jsx +250 -0
  276. package/dist/_chunk/toast.jsx.map +1 -0
  277. package/dist/_chunk/toolbar.js +226 -0
  278. package/dist/_chunk/toolbar.js.map +1 -0
  279. package/dist/_chunk/toolbar.jsx +226 -0
  280. package/dist/_chunk/toolbar.jsx.map +1 -0
  281. package/dist/_chunk/tooltip.js +185 -0
  282. package/dist/_chunk/tooltip.js.map +1 -0
  283. package/dist/_chunk/tooltip.jsx +185 -0
  284. package/dist/_chunk/tooltip.jsx.map +1 -0
  285. package/dist/_chunk/tree.js +452 -0
  286. package/dist/_chunk/tree.js.map +1 -0
  287. package/dist/_chunk/tree.jsx +452 -0
  288. package/dist/_chunk/tree.jsx.map +1 -0
  289. package/dist/_chunk/utils.js +705 -0
  290. package/dist/_chunk/utils.js.map +1 -0
  291. package/dist/_chunk/utils.jsx +705 -0
  292. package/dist/_chunk/utils.jsx.map +1 -0
  293. package/dist/_chunk/visually-hidden.js +93 -0
  294. package/dist/_chunk/visually-hidden.js.map +1 -0
  295. package/dist/_chunk/visually-hidden.jsx +93 -0
  296. package/dist/_chunk/visually-hidden.jsx.map +1 -0
  297. package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
  298. package/dist/actiongroup/index.js +2 -0
  299. package/dist/actiongroup/index.jsx +2 -0
  300. package/dist/autocomplete/createAutocomplete.d.ts +12 -7
  301. package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
  302. package/dist/autocomplete/index.js +2 -0
  303. package/dist/autocomplete/index.jsx +2 -0
  304. package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
  305. package/dist/breadcrumbs/index.js +2 -0
  306. package/dist/breadcrumbs/index.jsx +2 -0
  307. package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
  308. package/dist/button/index.js +2 -0
  309. package/dist/button/index.jsx +2 -0
  310. package/dist/calendar/createCalendar.d.ts.map +1 -1
  311. package/dist/calendar/createCalendarCell.d.ts.map +1 -1
  312. package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
  313. package/dist/calendar/createCalendarMonthPicker.d.ts +41 -0
  314. package/dist/calendar/createCalendarMonthPicker.d.ts.map +1 -0
  315. package/dist/calendar/createCalendarYearPicker.d.ts +49 -0
  316. package/dist/calendar/createCalendarYearPicker.d.ts.map +1 -0
  317. package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
  318. package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
  319. package/dist/calendar/index.d.ts +2 -0
  320. package/dist/calendar/index.d.ts.map +1 -1
  321. package/dist/calendar/index.js +2 -0
  322. package/dist/calendar/index.jsx +2 -0
  323. package/dist/calendar/intl/index.d.ts +1 -1
  324. package/dist/calendar/intl/index.d.ts.map +1 -1
  325. package/dist/calendar/utils.d.ts +4 -0
  326. package/dist/calendar/utils.d.ts.map +1 -1
  327. package/dist/checkbox/createCheckbox.d.ts +4 -0
  328. package/dist/checkbox/createCheckbox.d.ts.map +1 -1
  329. package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
  330. package/dist/checkbox/index.js +2 -0
  331. package/dist/checkbox/index.jsx +2 -0
  332. package/dist/collections/index.js +160 -0
  333. package/dist/collections/index.js.map +1 -0
  334. package/dist/collections/index.jsx +160 -0
  335. package/dist/collections/index.jsx.map +1 -0
  336. package/dist/color/createColorArea.d.ts.map +1 -1
  337. package/dist/color/createColorField.d.ts.map +1 -1
  338. package/dist/color/createColorSlider.d.ts.map +1 -1
  339. package/dist/color/createColorSwatch.d.ts.map +1 -1
  340. package/dist/color/createColorWheel.d.ts.map +1 -1
  341. package/dist/color/index.js +2 -0
  342. package/dist/color/index.jsx +2 -0
  343. package/dist/color/intl/index.d.ts +30 -0
  344. package/dist/color/intl/index.d.ts.map +1 -0
  345. package/dist/combobox/createComboBox.d.ts.map +1 -1
  346. package/dist/combobox/index.js +2 -0
  347. package/dist/combobox/index.jsx +2 -0
  348. package/dist/combobox/intl/generated-locales.d.ts +16 -0
  349. package/dist/combobox/intl/generated-locales.d.ts.map +1 -0
  350. package/dist/combobox/intl/index.d.ts +2 -2
  351. package/dist/combobox/intl/index.d.ts.map +1 -1
  352. package/dist/datepicker/createDateField.d.ts +45 -23
  353. package/dist/datepicker/createDateField.d.ts.map +1 -1
  354. package/dist/datepicker/createDatePicker.d.ts +34 -6
  355. package/dist/datepicker/createDatePicker.d.ts.map +1 -1
  356. package/dist/datepicker/createDatePickerGroup.d.ts +13 -13
  357. package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -1
  358. package/dist/datepicker/createDateRangePicker.d.ts +55 -7
  359. package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
  360. package/dist/datepicker/createDateSegment.d.ts +6 -15
  361. package/dist/datepicker/createDateSegment.d.ts.map +1 -1
  362. package/dist/datepicker/createDisplayNames.d.ts +17 -0
  363. package/dist/datepicker/createDisplayNames.d.ts.map +1 -0
  364. package/dist/datepicker/createTimeField.d.ts +12 -49
  365. package/dist/datepicker/createTimeField.d.ts.map +1 -1
  366. package/dist/datepicker/index.d.ts +3 -3
  367. package/dist/datepicker/index.d.ts.map +1 -1
  368. package/dist/datepicker/index.js +2 -0
  369. package/dist/datepicker/index.jsx +2 -0
  370. package/dist/datepicker/intl.d.ts +12 -0
  371. package/dist/datepicker/intl.d.ts.map +1 -0
  372. package/dist/dialog/index.js +2 -0
  373. package/dist/dialog/index.jsx +2 -0
  374. package/dist/disclosure/index.js +2 -0
  375. package/dist/disclosure/index.jsx +2 -0
  376. package/dist/dnd/DragManager.d.ts +86 -0
  377. package/dist/dnd/DragManager.d.ts.map +1 -0
  378. package/dist/dnd/DropTargetKeyboardNavigation.d.ts +42 -0
  379. package/dist/dnd/DropTargetKeyboardNavigation.d.ts.map +1 -0
  380. package/dist/dnd/createDrag.d.ts.map +1 -1
  381. package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
  382. package/dist/dnd/createDraggableItem.d.ts +12 -7
  383. package/dist/dnd/createDraggableItem.d.ts.map +1 -1
  384. package/dist/dnd/createDroppableCollection.d.ts +7 -15
  385. package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
  386. package/dist/dnd/index.d.ts +5 -1
  387. package/dist/dnd/index.d.ts.map +1 -1
  388. package/dist/dnd/index.js +3 -0
  389. package/dist/dnd/index.jsx +3 -0
  390. package/dist/dnd/intl/index.d.ts +39 -0
  391. package/dist/dnd/intl/index.d.ts.map +1 -0
  392. package/dist/dnd/utils.d.ts +7 -2
  393. package/dist/dnd/utils.d.ts.map +1 -1
  394. package/dist/focus/FocusScope.d.ts +7 -0
  395. package/dist/focus/FocusScope.d.ts.map +1 -1
  396. package/dist/focus/index.d.ts +2 -1
  397. package/dist/focus/index.d.ts.map +1 -1
  398. package/dist/focus/index.js +3 -0
  399. package/dist/focus/index.jsx +3 -0
  400. package/dist/focus/virtualFocus.d.ts +26 -0
  401. package/dist/focus/virtualFocus.d.ts.map +1 -0
  402. package/dist/form/createFormValidation.d.ts.map +1 -1
  403. package/dist/form/index.js +3 -0
  404. package/dist/form/index.jsx +3 -0
  405. package/dist/grid/index.js +2 -0
  406. package/dist/grid/index.jsx +2 -0
  407. package/dist/gridlist/createGridList.d.ts +7 -1
  408. package/dist/gridlist/createGridList.d.ts.map +1 -1
  409. package/dist/gridlist/createGridListItem.d.ts +1 -1
  410. package/dist/gridlist/createGridListItem.d.ts.map +1 -1
  411. package/dist/gridlist/createGridListSection.d.ts +15 -0
  412. package/dist/gridlist/createGridListSection.d.ts.map +1 -0
  413. package/dist/gridlist/index.d.ts +2 -1
  414. package/dist/gridlist/index.d.ts.map +1 -1
  415. package/dist/gridlist/index.js +2 -0
  416. package/dist/gridlist/index.jsx +2 -0
  417. package/dist/gridlist/types.d.ts +50 -0
  418. package/dist/gridlist/types.d.ts.map +1 -1
  419. package/dist/i18n/index.js +5 -0
  420. package/dist/i18n/index.jsx +5 -0
  421. package/dist/index.d.ts +10 -6
  422. package/dist/index.d.ts.map +1 -1
  423. package/dist/index.js +77 -18311
  424. package/dist/index.jsx +77 -18242
  425. package/dist/interactions/FocusableProvider.d.ts.map +1 -1
  426. package/dist/interactions/PressEvent.d.ts +11 -0
  427. package/dist/interactions/PressEvent.d.ts.map +1 -1
  428. package/dist/interactions/createFocus.d.ts.map +1 -1
  429. package/dist/interactions/createFocusWithin.d.ts.map +1 -1
  430. package/dist/interactions/createInteractionModality.d.ts +0 -1
  431. package/dist/interactions/createInteractionModality.d.ts.map +1 -1
  432. package/dist/interactions/createKeyboard.d.ts.map +1 -1
  433. package/dist/interactions/createPress.d.ts.map +1 -1
  434. package/dist/interactions/index.js +9 -0
  435. package/dist/interactions/index.jsx +9 -0
  436. package/dist/label/createLabels.d.ts.map +1 -1
  437. package/dist/label/index.js +4 -0
  438. package/dist/label/index.jsx +4 -0
  439. package/dist/landmark/index.js +2 -0
  440. package/dist/landmark/index.jsx +2 -0
  441. package/dist/link/index.js +2 -0
  442. package/dist/link/index.jsx +2 -0
  443. package/dist/listbox/createListBox.d.ts +37 -0
  444. package/dist/listbox/createListBox.d.ts.map +1 -1
  445. package/dist/listbox/createOption.d.ts +7 -1
  446. package/dist/listbox/createOption.d.ts.map +1 -1
  447. package/dist/listbox/index.js +2 -0
  448. package/dist/listbox/index.jsx +2 -0
  449. package/dist/live-announcer/index.js +2 -0
  450. package/dist/live-announcer/index.jsx +2 -0
  451. package/dist/menu/createMenu.d.ts +7 -4
  452. package/dist/menu/createMenu.d.ts.map +1 -1
  453. package/dist/menu/createMenuItem.d.ts +9 -1
  454. package/dist/menu/createMenuItem.d.ts.map +1 -1
  455. package/dist/menu/index.js +2 -0
  456. package/dist/menu/index.jsx +2 -0
  457. package/dist/meter/index.js +2 -0
  458. package/dist/meter/index.jsx +2 -0
  459. package/dist/numberfield/createNumberField.d.ts.map +1 -1
  460. package/dist/numberfield/index.js +2 -0
  461. package/dist/numberfield/index.jsx +2 -0
  462. package/dist/overlays/index.js +4 -0
  463. package/dist/overlays/index.jsx +4 -0
  464. package/dist/popover/calculatePosition.d.ts +2 -0
  465. package/dist/popover/calculatePosition.d.ts.map +1 -1
  466. package/dist/popover/createOverlayPosition.d.ts +8 -0
  467. package/dist/popover/createOverlayPosition.d.ts.map +1 -1
  468. package/dist/popover/index.js +2 -0
  469. package/dist/popover/index.jsx +2 -0
  470. package/dist/progress/index.js +2 -0
  471. package/dist/progress/index.jsx +2 -0
  472. package/dist/radio/createRadio.d.ts +2 -0
  473. package/dist/radio/createRadio.d.ts.map +1 -1
  474. package/dist/radio/index.js +2 -0
  475. package/dist/radio/index.jsx +2 -0
  476. package/dist/searchfield/index.js +2 -0
  477. package/dist/searchfield/index.jsx +2 -0
  478. package/dist/select/createSelect.d.ts +2 -0
  479. package/dist/select/createSelect.d.ts.map +1 -1
  480. package/dist/select/index.js +2 -0
  481. package/dist/select/index.jsx +2 -0
  482. package/dist/selection/DOMLayoutDelegate.d.ts +58 -0
  483. package/dist/selection/DOMLayoutDelegate.d.ts.map +1 -0
  484. package/dist/selection/ListKeyboardDelegate.d.ts +95 -0
  485. package/dist/selection/ListKeyboardDelegate.d.ts.map +1 -0
  486. package/dist/selection/constants.d.ts +15 -0
  487. package/dist/selection/constants.d.ts.map +1 -0
  488. package/dist/selection/createCollectionRowInteraction.d.ts +13 -0
  489. package/dist/selection/createCollectionRowInteraction.d.ts.map +1 -0
  490. package/dist/selection/createScrollIntoViewOnFocus.d.ts +31 -0
  491. package/dist/selection/createScrollIntoViewOnFocus.d.ts.map +1 -0
  492. package/dist/selection/createSelectableCollection.d.ts +69 -0
  493. package/dist/selection/createSelectableCollection.d.ts.map +1 -0
  494. package/dist/selection/createSelectableItem.d.ts +154 -0
  495. package/dist/selection/createSelectableItem.d.ts.map +1 -0
  496. package/dist/selection/createSelectableList.d.ts +43 -0
  497. package/dist/selection/createSelectableList.d.ts.map +1 -0
  498. package/dist/selection/createTypeSelect.d.ts.map +1 -1
  499. package/dist/selection/index.d.ts +9 -0
  500. package/dist/selection/index.d.ts.map +1 -1
  501. package/dist/selection/index.js +5 -0
  502. package/dist/selection/index.jsx +5 -0
  503. package/dist/selection/selectItem.d.ts +29 -0
  504. package/dist/selection/selectItem.d.ts.map +1 -0
  505. package/dist/selection/utils.d.ts +40 -0
  506. package/dist/selection/utils.d.ts.map +1 -0
  507. package/dist/separator/index.js +2 -0
  508. package/dist/separator/index.jsx +2 -0
  509. package/dist/slider/createSlider.d.ts.map +1 -1
  510. package/dist/slider/index.js +2 -0
  511. package/dist/slider/index.jsx +2 -0
  512. package/dist/spinbutton/createSpinButton.d.ts +41 -0
  513. package/dist/spinbutton/createSpinButton.d.ts.map +1 -0
  514. package/dist/spinbutton/index.d.ts +3 -0
  515. package/dist/spinbutton/index.d.ts.map +1 -0
  516. package/dist/spinbutton/index.js +2 -0
  517. package/dist/spinbutton/index.jsx +2 -0
  518. package/dist/spinbutton/intl.d.ts +5 -0
  519. package/dist/spinbutton/intl.d.ts.map +1 -0
  520. package/dist/ssr/index.d.ts +17 -0
  521. package/dist/ssr/index.d.ts.map +1 -1
  522. package/dist/ssr/index.js +299 -0
  523. package/dist/ssr/index.js.map +1 -0
  524. package/dist/ssr/index.jsx +292 -0
  525. package/dist/ssr/index.jsx.map +1 -0
  526. package/dist/steplist/index.js +2 -0
  527. package/dist/steplist/index.jsx +2 -0
  528. package/dist/switch/createSwitch.d.ts +4 -0
  529. package/dist/switch/createSwitch.d.ts.map +1 -1
  530. package/dist/switch/index.js +2 -0
  531. package/dist/switch/index.jsx +2 -0
  532. package/dist/table/createTable.d.ts.map +1 -1
  533. package/dist/table/createTableColumnHeader.d.ts.map +1 -1
  534. package/dist/table/createTableRow.d.ts +1 -1
  535. package/dist/table/createTableRow.d.ts.map +1 -1
  536. package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
  537. package/dist/table/createTableSelectionCheckbox.d.ts.map +1 -1
  538. package/dist/table/index.js +2 -0
  539. package/dist/table/index.jsx +2 -0
  540. package/dist/table/types.d.ts +35 -1
  541. package/dist/table/types.d.ts.map +1 -1
  542. package/dist/table/utils.d.ts +15 -0
  543. package/dist/table/utils.d.ts.map +1 -0
  544. package/dist/tabs/createTabs.d.ts +5 -3
  545. package/dist/tabs/createTabs.d.ts.map +1 -1
  546. package/dist/tabs/index.js +2 -0
  547. package/dist/tabs/index.jsx +2 -0
  548. package/dist/tag/createTag.d.ts +2 -0
  549. package/dist/tag/createTag.d.ts.map +1 -1
  550. package/dist/tag/createTagGroup.d.ts +7 -0
  551. package/dist/tag/createTagGroup.d.ts.map +1 -1
  552. package/dist/tag/index.js +2 -0
  553. package/dist/tag/index.jsx +2 -0
  554. package/dist/textfield/index.js +2 -0
  555. package/dist/textfield/index.jsx +2 -0
  556. package/dist/toast/createToast.d.ts.map +1 -1
  557. package/dist/toast/index.js +2 -0
  558. package/dist/toast/index.jsx +2 -0
  559. package/dist/toggle/createToggle.d.ts +4 -0
  560. package/dist/toggle/createToggle.d.ts.map +1 -1
  561. package/dist/toggle/index.js +3 -0
  562. package/dist/toggle/index.jsx +3 -0
  563. package/dist/toolbar/createToolbar.d.ts +1 -1
  564. package/dist/toolbar/createToolbar.d.ts.map +1 -1
  565. package/dist/toolbar/index.js +2 -0
  566. package/dist/toolbar/index.jsx +2 -0
  567. package/dist/tooltip/index.js +2 -0
  568. package/dist/tooltip/index.jsx +2 -0
  569. package/dist/tree/createTree.d.ts +5 -1
  570. package/dist/tree/createTree.d.ts.map +1 -1
  571. package/dist/tree/createTreeItem.d.ts +1 -1
  572. package/dist/tree/createTreeItem.d.ts.map +1 -1
  573. package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
  574. package/dist/tree/index.js +2 -0
  575. package/dist/tree/index.jsx +2 -0
  576. package/dist/tree/types.d.ts +10 -0
  577. package/dist/tree/types.d.ts.map +1 -1
  578. package/dist/utils/animation.d.ts +60 -0
  579. package/dist/utils/animation.d.ts.map +1 -0
  580. package/dist/utils/dom.d.ts +49 -2
  581. package/dist/utils/dom.d.ts.map +1 -1
  582. package/dist/utils/index.d.ts +4 -1
  583. package/dist/utils/index.d.ts.map +1 -1
  584. package/dist/utils/index.js +6 -0
  585. package/dist/utils/index.jsx +6 -0
  586. package/dist/utils/keyboard.d.ts +17 -0
  587. package/dist/utils/keyboard.d.ts.map +1 -0
  588. package/dist/utils/mergeProps.d.ts.map +1 -1
  589. package/dist/utils/scrollIntoView.d.ts +30 -0
  590. package/dist/utils/scrollIntoView.d.ts.map +1 -0
  591. package/dist/visually-hidden/index.js +2 -0
  592. package/dist/visually-hidden/index.jsx +2 -0
  593. package/package.json +304 -3
  594. package/src/actiongroup/createActionGroup.ts +26 -109
  595. package/src/autocomplete/createAutocomplete.ts +202 -35
  596. package/src/breadcrumbs/createBreadcrumbs.ts +12 -4
  597. package/src/button/createToggleButtonGroup.ts +19 -14
  598. package/src/calendar/createCalendar.ts +5 -4
  599. package/src/calendar/createCalendarCell.ts +36 -5
  600. package/src/calendar/createCalendarGrid.ts +47 -12
  601. package/src/calendar/createCalendarMonthPicker.ts +105 -0
  602. package/src/calendar/createCalendarYearPicker.ts +144 -0
  603. package/src/calendar/createRangeCalendar.ts +27 -15
  604. package/src/calendar/createRangeCalendarCell.ts +17 -3
  605. package/src/calendar/index.ts +17 -0
  606. package/src/calendar/intl/index.ts +8 -0
  607. package/src/calendar/utils.ts +4 -0
  608. package/src/checkbox/createCheckbox.ts +10 -0
  609. package/src/checkbox/createCheckboxGroupItem.ts +12 -16
  610. package/src/color/createColorArea.ts +17 -10
  611. package/src/color/createColorField.ts +8 -1
  612. package/src/color/createColorSlider.ts +1 -2
  613. package/src/color/createColorSwatch.ts +4 -2
  614. package/src/color/createColorWheel.ts +0 -6
  615. package/src/color/intl/index.ts +316 -0
  616. package/src/combobox/createComboBox.ts +35 -4
  617. package/src/combobox/intl/generated-locales.ts +635 -0
  618. package/src/combobox/intl/index.ts +8 -2
  619. package/src/datepicker/createDateField.ts +228 -213
  620. package/src/datepicker/createDatePicker.ts +157 -146
  621. package/src/datepicker/createDatePickerGroup.ts +88 -82
  622. package/src/datepicker/createDateRangePicker.ts +230 -179
  623. package/src/datepicker/createDateSegment.ts +386 -384
  624. package/src/datepicker/createDisplayNames.ts +45 -0
  625. package/src/datepicker/createTimeField.ts +36 -129
  626. package/src/datepicker/index.ts +13 -14
  627. package/src/datepicker/intl.ts +633 -0
  628. package/src/dnd/DragManager.ts +693 -0
  629. package/src/dnd/DropTargetKeyboardNavigation.ts +337 -0
  630. package/src/dnd/createDrag.ts +31 -5
  631. package/src/dnd/createDraggableCollection.ts +33 -15
  632. package/src/dnd/createDraggableItem.ts +92 -5
  633. package/src/dnd/createDroppableCollection.ts +488 -371
  634. package/src/dnd/index.ts +11 -0
  635. package/src/dnd/intl/ar-AE.json +29 -0
  636. package/src/dnd/intl/bg-BG.json +29 -0
  637. package/src/dnd/intl/cs-CZ.json +29 -0
  638. package/src/dnd/intl/da-DK.json +29 -0
  639. package/src/dnd/intl/de-DE.json +29 -0
  640. package/src/dnd/intl/el-GR.json +29 -0
  641. package/src/dnd/intl/en-US.json +29 -0
  642. package/src/dnd/intl/es-ES.json +29 -0
  643. package/src/dnd/intl/et-EE.json +29 -0
  644. package/src/dnd/intl/fi-FI.json +29 -0
  645. package/src/dnd/intl/fr-FR.json +29 -0
  646. package/src/dnd/intl/he-IL.json +29 -0
  647. package/src/dnd/intl/hr-HR.json +29 -0
  648. package/src/dnd/intl/hu-HU.json +29 -0
  649. package/src/dnd/intl/index.ts +139 -0
  650. package/src/dnd/intl/it-IT.json +29 -0
  651. package/src/dnd/intl/ja-JP.json +29 -0
  652. package/src/dnd/intl/ko-KR.json +29 -0
  653. package/src/dnd/intl/lt-LT.json +29 -0
  654. package/src/dnd/intl/lv-LV.json +29 -0
  655. package/src/dnd/intl/nb-NO.json +29 -0
  656. package/src/dnd/intl/nl-NL.json +29 -0
  657. package/src/dnd/intl/pl-PL.json +29 -0
  658. package/src/dnd/intl/pt-BR.json +29 -0
  659. package/src/dnd/intl/pt-PT.json +29 -0
  660. package/src/dnd/intl/ro-RO.json +29 -0
  661. package/src/dnd/intl/ru-RU.json +29 -0
  662. package/src/dnd/intl/sk-SK.json +29 -0
  663. package/src/dnd/intl/sl-SI.json +29 -0
  664. package/src/dnd/intl/sr-SP.json +29 -0
  665. package/src/dnd/intl/sv-SE.json +29 -0
  666. package/src/dnd/intl/tr-TR.json +29 -0
  667. package/src/dnd/intl/uk-UA.json +29 -0
  668. package/src/dnd/intl/zh-CN.json +29 -0
  669. package/src/dnd/intl/zh-TW.json +29 -0
  670. package/src/dnd/utils.ts +63 -3
  671. package/src/focus/FocusScope.tsx +266 -24
  672. package/src/focus/index.ts +8 -0
  673. package/src/focus/virtualFocus.ts +55 -0
  674. package/src/form/createFormValidation.ts +8 -1
  675. package/src/gridlist/createGridList.ts +187 -48
  676. package/src/gridlist/createGridListItem.ts +87 -155
  677. package/src/gridlist/createGridListSection.ts +54 -0
  678. package/src/gridlist/index.ts +3 -0
  679. package/src/gridlist/types.ts +47 -0
  680. package/src/index.ts +51 -3
  681. package/src/interactions/FocusableProvider.tsx +11 -6
  682. package/src/interactions/PressEvent.ts +14 -0
  683. package/src/interactions/createFocus.ts +26 -21
  684. package/src/interactions/createFocusWithin.ts +23 -24
  685. package/src/interactions/createInteractionModality.ts +26 -15
  686. package/src/interactions/createKeyboard.ts +10 -0
  687. package/src/interactions/createPress.ts +29 -6
  688. package/src/label/createLabels.ts +7 -4
  689. package/src/listbox/createListBox.ts +203 -10
  690. package/src/listbox/createOption.ts +84 -74
  691. package/src/menu/createMenu.ts +93 -16
  692. package/src/menu/createMenuItem.ts +253 -41
  693. package/src/numberfield/createNumberField.ts +82 -14
  694. package/src/popover/calculatePosition.ts +19 -7
  695. package/src/popover/createOverlayPosition.ts +9 -0
  696. package/src/radio/createRadio.ts +19 -2
  697. package/src/select/createSelect.ts +41 -4
  698. package/src/selection/DOMLayoutDelegate.ts +102 -0
  699. package/src/selection/ListKeyboardDelegate.ts +398 -0
  700. package/src/selection/constants.ts +16 -0
  701. package/src/selection/createCollectionRowInteraction.ts +209 -0
  702. package/src/selection/createScrollIntoViewOnFocus.ts +65 -0
  703. package/src/selection/createSelectableCollection.ts +645 -0
  704. package/src/selection/createSelectableItem.ts +512 -0
  705. package/src/selection/createSelectableList.ts +93 -0
  706. package/src/selection/createTypeSelect.ts +112 -51
  707. package/src/selection/index.ts +31 -0
  708. package/src/selection/selectItem.ts +80 -0
  709. package/src/selection/utils.ts +82 -0
  710. package/src/slider/createSlider.ts +48 -1
  711. package/src/spinbutton/createSpinButton.ts +163 -0
  712. package/src/spinbutton/index.ts +10 -0
  713. package/src/spinbutton/intl.ts +115 -0
  714. package/src/ssr/index.tsx +31 -0
  715. package/src/switch/createSwitch.ts +10 -0
  716. package/src/table/createTable.ts +82 -27
  717. package/src/table/createTableColumnHeader.ts +10 -0
  718. package/src/table/createTableRow.ts +208 -203
  719. package/src/table/createTableSelectAllCheckbox.ts +3 -4
  720. package/src/table/createTableSelectionCheckbox.ts +24 -1
  721. package/src/table/types.ts +37 -1
  722. package/src/table/utils.ts +41 -0
  723. package/src/tabs/createTabs.ts +95 -24
  724. package/src/tag/createTag.ts +30 -36
  725. package/src/tag/createTagGroup.ts +92 -0
  726. package/src/toast/createToast.ts +1 -0
  727. package/src/toggle/createToggle.ts +20 -0
  728. package/src/toolbar/createToolbar.ts +43 -94
  729. package/src/tree/createTree.ts +165 -52
  730. package/src/tree/createTreeItem.ts +105 -120
  731. package/src/tree/createTreeSelectionCheckbox.ts +14 -1
  732. package/src/tree/types.ts +10 -0
  733. package/src/utils/animation.ts +243 -0
  734. package/src/utils/dom.ts +216 -25
  735. package/src/utils/index.ts +10 -0
  736. package/src/utils/keyboard.ts +25 -0
  737. package/src/utils/mergeProps.ts +8 -1
  738. package/src/utils/scrollIntoView.ts +181 -0
  739. package/dist/datepicker/createTimeSegment.d.ts +0 -29
  740. package/dist/datepicker/createTimeSegment.d.ts.map +0 -1
  741. package/dist/index.js.map +0 -1
  742. package/dist/index.jsx.map +0 -1
  743. package/src/datepicker/createTimeSegment.ts +0 -352
@@ -0,0 +1,185 @@
1
+ import { t as createPress } from "./createPress.js";
2
+ import { i as mergeProps$1 } from "./env.js";
3
+ import { canUseDOM, createId } from "../ssr/index.js";
4
+ import { createEffect, onCleanup } from "solid-js";
5
+ //#region src/disclosure/createDisclosure.ts
6
+ /**
7
+ * createDisclosure hook for Solidaria
8
+ *
9
+ * Provides the behavior and accessibility implementation for a disclosure component.
10
+ *
11
+ * Port of @react-aria/disclosure useDisclosure.
12
+ */
13
+ function getDisclosurePanelHiddenAttribute(isExpanded, hasDOM = canUseDOM) {
14
+ return hasDOM ? void 0 : !isExpanded || void 0;
15
+ }
16
+ /**
17
+ * Provides the behavior and accessibility implementation for a disclosure component.
18
+ *
19
+ * A disclosure is a widget that can be toggled to show or hide content.
20
+ * It consists of a trigger button and a panel.
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * import { createDisclosure } from 'solidaria';
25
+ * import { createDisclosureState } from 'solid-stately';
26
+ *
27
+ * function Disclosure(props) {
28
+ * const state = createDisclosureState(props);
29
+ * let panelRef;
30
+ * const { buttonProps, panelProps } = createDisclosure(
31
+ * { get isDisabled() { return props.isDisabled; } },
32
+ * state,
33
+ * () => panelRef
34
+ * );
35
+ *
36
+ * return (
37
+ * <div>
38
+ * <button {...buttonProps}>Toggle</button>
39
+ * <div {...panelProps} ref={panelRef}>
40
+ * {props.children}
41
+ * </div>
42
+ * </div>
43
+ * );
44
+ * }
45
+ * ```
46
+ */
47
+ function createDisclosure(props, state, panelRef) {
48
+ const getProps = typeof props === "function" ? props : () => props;
49
+ const triggerId = createId();
50
+ const panelId = createId();
51
+ let raf = null;
52
+ let isExpandedRef = null;
53
+ const requestFrame = (callback) => {
54
+ if (typeof requestAnimationFrame === "function") return requestAnimationFrame(callback);
55
+ return window.setTimeout(() => callback(performance.now()), 16);
56
+ };
57
+ const cancelFrame = (id) => {
58
+ if (typeof cancelAnimationFrame === "function") cancelAnimationFrame(id);
59
+ else window.clearTimeout(id);
60
+ };
61
+ const cancelPendingRaf = () => {
62
+ if (raf != null && canUseDOM) {
63
+ cancelFrame(raf);
64
+ raf = null;
65
+ }
66
+ };
67
+ const setPanelSize = (panel, width, height) => {
68
+ panel.style.setProperty("--disclosure-panel-width", width);
69
+ panel.style.setProperty("--disclosure-panel-height", height);
70
+ };
71
+ const getPanelAnimations = (panel) => {
72
+ return typeof panel.getAnimations === "function" ? panel.getAnimations() : [];
73
+ };
74
+ createEffect(() => {
75
+ if (!canUseDOM) return;
76
+ const panel = panelRef();
77
+ if (!panel) return;
78
+ const handleBeforeMatch = () => {
79
+ cancelPendingRaf();
80
+ raf = requestFrame(() => {
81
+ if (panelRef() === panel) panel.setAttribute("hidden", "until-found");
82
+ raf = null;
83
+ });
84
+ state.toggle();
85
+ };
86
+ panel.addEventListener("beforematch", handleBeforeMatch);
87
+ onCleanup(() => {
88
+ panel.removeEventListener("beforematch", handleBeforeMatch);
89
+ });
90
+ });
91
+ createEffect(() => {
92
+ if (!canUseDOM) return;
93
+ const panel = panelRef();
94
+ if (!panel) return;
95
+ const isExpanded = state.isExpanded();
96
+ cancelPendingRaf();
97
+ if (isExpandedRef === null || typeof panel.getAnimations !== "function") if (isExpanded) {
98
+ panel.removeAttribute("hidden");
99
+ setPanelSize(panel, "auto", "auto");
100
+ } else {
101
+ panel.setAttribute("hidden", "until-found");
102
+ setPanelSize(panel, "0px", "0px");
103
+ }
104
+ else if (isExpanded !== isExpandedRef) if (isExpanded) {
105
+ panel.removeAttribute("hidden");
106
+ setPanelSize(panel, `${panel.scrollWidth}px`, `${panel.scrollHeight}px`);
107
+ Promise.all(getPanelAnimations(panel).map((animation) => animation.finished)).then(() => {
108
+ if (panelRef() === panel && state.isExpanded()) setPanelSize(panel, "auto", "auto");
109
+ }).catch(() => {});
110
+ } else {
111
+ setPanelSize(panel, `${panel.scrollWidth}px`, `${panel.scrollHeight}px`);
112
+ window.getComputedStyle(panel).height;
113
+ setPanelSize(panel, "0px", "0px");
114
+ Promise.all(getPanelAnimations(panel).map((animation) => animation.finished)).then(() => {
115
+ if (panelRef() === panel && !state.isExpanded()) panel.setAttribute("hidden", "until-found");
116
+ }).catch(() => {});
117
+ }
118
+ isExpandedRef = isExpanded;
119
+ });
120
+ onCleanup(cancelPendingRaf);
121
+ const { pressProps, isPressed } = createPress({
122
+ get isDisabled() {
123
+ return getProps().isDisabled;
124
+ },
125
+ onPressStart(event) {
126
+ if (event.pointerType === "keyboard") state.toggle();
127
+ },
128
+ onPress(event) {
129
+ if (event.pointerType !== "keyboard") state.toggle();
130
+ }
131
+ });
132
+ return {
133
+ isPressed,
134
+ get buttonProps() {
135
+ const p = getProps();
136
+ return mergeProps$1(pressProps, {
137
+ id: triggerId,
138
+ type: "button",
139
+ "aria-expanded": state.isExpanded(),
140
+ "aria-controls": panelId,
141
+ disabled: p.isDisabled
142
+ });
143
+ },
144
+ get panelProps() {
145
+ return {
146
+ id: panelId,
147
+ role: "group",
148
+ "aria-labelledby": triggerId,
149
+ "aria-hidden": !state.isExpanded(),
150
+ hidden: getDisclosurePanelHiddenAttribute(state.isExpanded())
151
+ };
152
+ }
153
+ };
154
+ }
155
+ //#endregion
156
+ //#region src/disclosure/createDisclosureGroup.ts
157
+ /**
158
+ * Provides accessibility implementation for a group of disclosures (accordion).
159
+ *
160
+ * @example
161
+ * ```tsx
162
+ * import { createDisclosureGroup } from 'solidaria';
163
+ * import { createDisclosureGroupState } from 'solid-stately';
164
+ *
165
+ * function Accordion(props) {
166
+ * const state = createDisclosureGroupState(props);
167
+ * const { groupProps } = createDisclosureGroup(props, state);
168
+ *
169
+ * return (
170
+ * <div {...groupProps}>
171
+ * {props.children}
172
+ * </div>
173
+ * );
174
+ * }
175
+ * ```
176
+ */
177
+ function createDisclosureGroup(_props, _state) {
178
+ return { get groupProps() {
179
+ return {};
180
+ } };
181
+ }
182
+ //#endregion
183
+ export { createDisclosure as n, createDisclosureGroup as t };
184
+
185
+ //# sourceMappingURL=disclosure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disclosure.js","names":["mergeProps"],"sources":["../../src/disclosure/createDisclosure.ts","../../src/disclosure/createDisclosureGroup.ts"],"sourcesContent":["/**\n * createDisclosure hook for Solidaria\n *\n * Provides the behavior and accessibility implementation for a disclosure component.\n *\n * Port of @react-aria/disclosure useDisclosure.\n */\n\nimport { type JSX, createEffect, onCleanup } from \"solid-js\";\nimport { type DisclosureState } from \"@proyecto-viviana/solid-stately\";\nimport { createId, canUseDOM } from \"../ssr\";\nimport { createPress } from \"../interactions/createPress\";\nimport { mergeProps } from \"../utils/mergeProps\";\n\nexport interface AriaDisclosureProps {\n /** Whether the disclosure is disabled. */\n isDisabled?: boolean;\n}\n\nexport interface DisclosureAria {\n /** Props for the disclosure trigger button. */\n buttonProps: JSX.ButtonHTMLAttributes<HTMLButtonElement>;\n /** Props for the disclosure panel. */\n panelProps: JSX.HTMLAttributes<HTMLElement>;\n /** Whether the disclosure trigger is currently pressed. */\n isPressed: () => boolean;\n}\n\nexport function getDisclosurePanelHiddenAttribute(\n isExpanded: boolean,\n hasDOM = canUseDOM,\n): true | undefined {\n return hasDOM ? undefined : !isExpanded || undefined;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a disclosure component.\n *\n * A disclosure is a widget that can be toggled to show or hide content.\n * It consists of a trigger button and a panel.\n *\n * @example\n * ```tsx\n * import { createDisclosure } from 'solidaria';\n * import { createDisclosureState } from 'solid-stately';\n *\n * function Disclosure(props) {\n * const state = createDisclosureState(props);\n * let panelRef;\n * const { buttonProps, panelProps } = createDisclosure(\n * { get isDisabled() { return props.isDisabled; } },\n * state,\n * () => panelRef\n * );\n *\n * return (\n * <div>\n * <button {...buttonProps}>Toggle</button>\n * <div {...panelProps} ref={panelRef}>\n * {props.children}\n * </div>\n * </div>\n * );\n * }\n * ```\n */\nexport function createDisclosure(\n props: AriaDisclosureProps | (() => AriaDisclosureProps),\n state: DisclosureState,\n panelRef: () => HTMLElement | null,\n): DisclosureAria {\n // Handle both plain object and accessor function patterns\n const getProps = typeof props === \"function\" ? props : () => props;\n\n const triggerId = createId();\n const panelId = createId();\n\n let raf: number | null = null;\n let isExpandedRef: boolean | null = null;\n\n const requestFrame = (callback: FrameRequestCallback): number => {\n if (typeof requestAnimationFrame === \"function\") {\n return requestAnimationFrame(callback);\n }\n\n return window.setTimeout(() => callback(performance.now()), 16);\n };\n\n const cancelFrame = (id: number) => {\n if (typeof cancelAnimationFrame === \"function\") {\n cancelAnimationFrame(id);\n } else {\n window.clearTimeout(id);\n }\n };\n\n const cancelPendingRaf = () => {\n if (raf != null && canUseDOM) {\n cancelFrame(raf);\n raf = null;\n }\n };\n\n const setPanelSize = (panel: HTMLElement, width: string, height: string) => {\n panel.style.setProperty(\"--disclosure-panel-width\", width);\n panel.style.setProperty(\"--disclosure-panel-height\", height);\n };\n\n const getPanelAnimations = (panel: HTMLElement): Animation[] => {\n return typeof panel.getAnimations === \"function\" ? panel.getAnimations() : [];\n };\n\n // Handle browser find-in-page reveal for collapsed panels.\n createEffect(() => {\n if (!canUseDOM) return;\n\n const panel = panelRef();\n if (!panel) return;\n\n const handleBeforeMatch = () => {\n cancelPendingRaf();\n raf = requestFrame(() => {\n if (panelRef() === panel) {\n panel.setAttribute(\"hidden\", \"until-found\");\n }\n raf = null;\n });\n\n state.toggle();\n };\n\n panel.addEventListener(\"beforematch\", handleBeforeMatch);\n onCleanup(() => {\n panel.removeEventListener(\"beforematch\", handleBeforeMatch);\n });\n });\n\n // Handle panel visibility and animation sizing.\n createEffect(() => {\n if (!canUseDOM) return;\n\n const panel = panelRef();\n if (!panel) return;\n\n const isExpanded = state.isExpanded();\n cancelPendingRaf();\n\n if (isExpandedRef === null || typeof panel.getAnimations !== \"function\") {\n if (isExpanded) {\n panel.removeAttribute(\"hidden\");\n setPanelSize(panel, \"auto\", \"auto\");\n } else {\n panel.setAttribute(\"hidden\", \"until-found\");\n setPanelSize(panel, \"0px\", \"0px\");\n }\n } else if (isExpanded !== isExpandedRef) {\n if (isExpanded) {\n panel.removeAttribute(\"hidden\");\n setPanelSize(panel, `${panel.scrollWidth}px`, `${panel.scrollHeight}px`);\n\n Promise.all(getPanelAnimations(panel).map((animation) => animation.finished))\n .then(() => {\n if (panelRef() === panel && state.isExpanded()) {\n setPanelSize(panel, \"auto\", \"auto\");\n }\n })\n .catch(() => {});\n } else {\n setPanelSize(panel, `${panel.scrollWidth}px`, `${panel.scrollHeight}px`);\n\n // Force style recalculation before animating to zero.\n window.getComputedStyle(panel).height;\n\n setPanelSize(panel, \"0px\", \"0px\");\n\n Promise.all(getPanelAnimations(panel).map((animation) => animation.finished))\n .then(() => {\n if (panelRef() === panel && !state.isExpanded()) {\n panel.setAttribute(\"hidden\", \"until-found\");\n }\n })\n .catch(() => {});\n }\n }\n\n isExpandedRef = isExpanded;\n });\n\n onCleanup(cancelPendingRaf);\n\n // Use createPress for proper interaction handling (matches Select/Menu pattern)\n const { pressProps, isPressed } = createPress({\n get isDisabled() {\n return getProps().isDisabled;\n },\n onPressStart(event) {\n if (event.pointerType === \"keyboard\") {\n state.toggle();\n }\n },\n onPress(event) {\n if (event.pointerType !== \"keyboard\") {\n state.toggle();\n }\n },\n });\n\n return {\n isPressed,\n // Button props - merge with pressProps for consistent interaction handling\n // Using getter (not createMemo) to match createSelect pattern\n get buttonProps(): JSX.ButtonHTMLAttributes<HTMLButtonElement> {\n const p = getProps();\n return mergeProps(\n pressProps as Record<string, unknown>,\n {\n id: triggerId,\n type: \"button\",\n \"aria-expanded\": state.isExpanded(),\n \"aria-controls\": panelId,\n disabled: p.isDisabled,\n } as Record<string, unknown>,\n ) as JSX.ButtonHTMLAttributes<HTMLButtonElement>;\n },\n // Panel props\n get panelProps(): JSX.HTMLAttributes<HTMLElement> {\n return {\n id: panelId,\n role: \"group\",\n \"aria-labelledby\": triggerId,\n \"aria-hidden\": !state.isExpanded(),\n hidden: getDisclosurePanelHiddenAttribute(state.isExpanded()),\n };\n },\n };\n}\n","/**\n * createDisclosureGroup hook for Solidaria\n *\n * Provides accessibility implementation for a group of disclosures (accordion).\n *\n * Port of @react-aria/disclosure.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { type DisclosureGroupState } from \"@proyecto-viviana/solid-stately\";\nimport { type MaybeAccessor } from \"../utils/reactivity\";\n\nexport interface AriaDisclosureGroupProps {\n /** Whether the disclosure group is disabled. */\n isDisabled?: boolean;\n}\n\nexport interface DisclosureGroupAria {\n /** Props for the disclosure group container. */\n groupProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\n/**\n * Provides accessibility implementation for a group of disclosures (accordion).\n *\n * @example\n * ```tsx\n * import { createDisclosureGroup } from 'solidaria';\n * import { createDisclosureGroupState } from 'solid-stately';\n *\n * function Accordion(props) {\n * const state = createDisclosureGroupState(props);\n * const { groupProps } = createDisclosureGroup(props, state);\n *\n * return (\n * <div {...groupProps}>\n * {props.children}\n * </div>\n * );\n * }\n * ```\n */\nexport function createDisclosureGroup(\n _props: MaybeAccessor<AriaDisclosureGroupProps>,\n _state: DisclosureGroupState,\n): DisclosureGroupAria {\n return {\n get groupProps() {\n return {};\n },\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,185 @@
1
+ import { t as createPress } from "./createPress.jsx";
2
+ import { i as mergeProps$1 } from "./env.jsx";
3
+ import { canUseDOM, createId } from "../ssr/index.jsx";
4
+ import { createEffect, onCleanup } from "solid-js";
5
+ //#region src/disclosure/createDisclosure.ts
6
+ /**
7
+ * createDisclosure hook for Solidaria
8
+ *
9
+ * Provides the behavior and accessibility implementation for a disclosure component.
10
+ *
11
+ * Port of @react-aria/disclosure useDisclosure.
12
+ */
13
+ function getDisclosurePanelHiddenAttribute(isExpanded, hasDOM = canUseDOM) {
14
+ return hasDOM ? void 0 : !isExpanded || void 0;
15
+ }
16
+ /**
17
+ * Provides the behavior and accessibility implementation for a disclosure component.
18
+ *
19
+ * A disclosure is a widget that can be toggled to show or hide content.
20
+ * It consists of a trigger button and a panel.
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * import { createDisclosure } from 'solidaria';
25
+ * import { createDisclosureState } from 'solid-stately';
26
+ *
27
+ * function Disclosure(props) {
28
+ * const state = createDisclosureState(props);
29
+ * let panelRef;
30
+ * const { buttonProps, panelProps } = createDisclosure(
31
+ * { get isDisabled() { return props.isDisabled; } },
32
+ * state,
33
+ * () => panelRef
34
+ * );
35
+ *
36
+ * return (
37
+ * <div>
38
+ * <button {...buttonProps}>Toggle</button>
39
+ * <div {...panelProps} ref={panelRef}>
40
+ * {props.children}
41
+ * </div>
42
+ * </div>
43
+ * );
44
+ * }
45
+ * ```
46
+ */
47
+ function createDisclosure(props, state, panelRef) {
48
+ const getProps = typeof props === "function" ? props : () => props;
49
+ const triggerId = createId();
50
+ const panelId = createId();
51
+ let raf = null;
52
+ let isExpandedRef = null;
53
+ const requestFrame = (callback) => {
54
+ if (typeof requestAnimationFrame === "function") return requestAnimationFrame(callback);
55
+ return window.setTimeout(() => callback(performance.now()), 16);
56
+ };
57
+ const cancelFrame = (id) => {
58
+ if (typeof cancelAnimationFrame === "function") cancelAnimationFrame(id);
59
+ else window.clearTimeout(id);
60
+ };
61
+ const cancelPendingRaf = () => {
62
+ if (raf != null && canUseDOM) {
63
+ cancelFrame(raf);
64
+ raf = null;
65
+ }
66
+ };
67
+ const setPanelSize = (panel, width, height) => {
68
+ panel.style.setProperty("--disclosure-panel-width", width);
69
+ panel.style.setProperty("--disclosure-panel-height", height);
70
+ };
71
+ const getPanelAnimations = (panel) => {
72
+ return typeof panel.getAnimations === "function" ? panel.getAnimations() : [];
73
+ };
74
+ createEffect(() => {
75
+ if (!canUseDOM) return;
76
+ const panel = panelRef();
77
+ if (!panel) return;
78
+ const handleBeforeMatch = () => {
79
+ cancelPendingRaf();
80
+ raf = requestFrame(() => {
81
+ if (panelRef() === panel) panel.setAttribute("hidden", "until-found");
82
+ raf = null;
83
+ });
84
+ state.toggle();
85
+ };
86
+ panel.addEventListener("beforematch", handleBeforeMatch);
87
+ onCleanup(() => {
88
+ panel.removeEventListener("beforematch", handleBeforeMatch);
89
+ });
90
+ });
91
+ createEffect(() => {
92
+ if (!canUseDOM) return;
93
+ const panel = panelRef();
94
+ if (!panel) return;
95
+ const isExpanded = state.isExpanded();
96
+ cancelPendingRaf();
97
+ if (isExpandedRef === null || typeof panel.getAnimations !== "function") if (isExpanded) {
98
+ panel.removeAttribute("hidden");
99
+ setPanelSize(panel, "auto", "auto");
100
+ } else {
101
+ panel.setAttribute("hidden", "until-found");
102
+ setPanelSize(panel, "0px", "0px");
103
+ }
104
+ else if (isExpanded !== isExpandedRef) if (isExpanded) {
105
+ panel.removeAttribute("hidden");
106
+ setPanelSize(panel, `${panel.scrollWidth}px`, `${panel.scrollHeight}px`);
107
+ Promise.all(getPanelAnimations(panel).map((animation) => animation.finished)).then(() => {
108
+ if (panelRef() === panel && state.isExpanded()) setPanelSize(panel, "auto", "auto");
109
+ }).catch(() => {});
110
+ } else {
111
+ setPanelSize(panel, `${panel.scrollWidth}px`, `${panel.scrollHeight}px`);
112
+ window.getComputedStyle(panel).height;
113
+ setPanelSize(panel, "0px", "0px");
114
+ Promise.all(getPanelAnimations(panel).map((animation) => animation.finished)).then(() => {
115
+ if (panelRef() === panel && !state.isExpanded()) panel.setAttribute("hidden", "until-found");
116
+ }).catch(() => {});
117
+ }
118
+ isExpandedRef = isExpanded;
119
+ });
120
+ onCleanup(cancelPendingRaf);
121
+ const { pressProps, isPressed } = createPress({
122
+ get isDisabled() {
123
+ return getProps().isDisabled;
124
+ },
125
+ onPressStart(event) {
126
+ if (event.pointerType === "keyboard") state.toggle();
127
+ },
128
+ onPress(event) {
129
+ if (event.pointerType !== "keyboard") state.toggle();
130
+ }
131
+ });
132
+ return {
133
+ isPressed,
134
+ get buttonProps() {
135
+ const p = getProps();
136
+ return mergeProps$1(pressProps, {
137
+ id: triggerId,
138
+ type: "button",
139
+ "aria-expanded": state.isExpanded(),
140
+ "aria-controls": panelId,
141
+ disabled: p.isDisabled
142
+ });
143
+ },
144
+ get panelProps() {
145
+ return {
146
+ id: panelId,
147
+ role: "group",
148
+ "aria-labelledby": triggerId,
149
+ "aria-hidden": !state.isExpanded(),
150
+ hidden: getDisclosurePanelHiddenAttribute(state.isExpanded())
151
+ };
152
+ }
153
+ };
154
+ }
155
+ //#endregion
156
+ //#region src/disclosure/createDisclosureGroup.ts
157
+ /**
158
+ * Provides accessibility implementation for a group of disclosures (accordion).
159
+ *
160
+ * @example
161
+ * ```tsx
162
+ * import { createDisclosureGroup } from 'solidaria';
163
+ * import { createDisclosureGroupState } from 'solid-stately';
164
+ *
165
+ * function Accordion(props) {
166
+ * const state = createDisclosureGroupState(props);
167
+ * const { groupProps } = createDisclosureGroup(props, state);
168
+ *
169
+ * return (
170
+ * <div {...groupProps}>
171
+ * {props.children}
172
+ * </div>
173
+ * );
174
+ * }
175
+ * ```
176
+ */
177
+ function createDisclosureGroup(_props, _state) {
178
+ return { get groupProps() {
179
+ return {};
180
+ } };
181
+ }
182
+ //#endregion
183
+ export { createDisclosure as n, createDisclosureGroup as t };
184
+
185
+ //# sourceMappingURL=disclosure.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disclosure.jsx","names":["mergeProps"],"sources":["../../src/disclosure/createDisclosure.ts","../../src/disclosure/createDisclosureGroup.ts"],"sourcesContent":["/**\n * createDisclosure hook for Solidaria\n *\n * Provides the behavior and accessibility implementation for a disclosure component.\n *\n * Port of @react-aria/disclosure useDisclosure.\n */\n\nimport { type JSX, createEffect, onCleanup } from \"solid-js\";\nimport { type DisclosureState } from \"@proyecto-viviana/solid-stately\";\nimport { createId, canUseDOM } from \"../ssr\";\nimport { createPress } from \"../interactions/createPress\";\nimport { mergeProps } from \"../utils/mergeProps\";\n\nexport interface AriaDisclosureProps {\n /** Whether the disclosure is disabled. */\n isDisabled?: boolean;\n}\n\nexport interface DisclosureAria {\n /** Props for the disclosure trigger button. */\n buttonProps: JSX.ButtonHTMLAttributes<HTMLButtonElement>;\n /** Props for the disclosure panel. */\n panelProps: JSX.HTMLAttributes<HTMLElement>;\n /** Whether the disclosure trigger is currently pressed. */\n isPressed: () => boolean;\n}\n\nexport function getDisclosurePanelHiddenAttribute(\n isExpanded: boolean,\n hasDOM = canUseDOM,\n): true | undefined {\n return hasDOM ? undefined : !isExpanded || undefined;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a disclosure component.\n *\n * A disclosure is a widget that can be toggled to show or hide content.\n * It consists of a trigger button and a panel.\n *\n * @example\n * ```tsx\n * import { createDisclosure } from 'solidaria';\n * import { createDisclosureState } from 'solid-stately';\n *\n * function Disclosure(props) {\n * const state = createDisclosureState(props);\n * let panelRef;\n * const { buttonProps, panelProps } = createDisclosure(\n * { get isDisabled() { return props.isDisabled; } },\n * state,\n * () => panelRef\n * );\n *\n * return (\n * <div>\n * <button {...buttonProps}>Toggle</button>\n * <div {...panelProps} ref={panelRef}>\n * {props.children}\n * </div>\n * </div>\n * );\n * }\n * ```\n */\nexport function createDisclosure(\n props: AriaDisclosureProps | (() => AriaDisclosureProps),\n state: DisclosureState,\n panelRef: () => HTMLElement | null,\n): DisclosureAria {\n // Handle both plain object and accessor function patterns\n const getProps = typeof props === \"function\" ? props : () => props;\n\n const triggerId = createId();\n const panelId = createId();\n\n let raf: number | null = null;\n let isExpandedRef: boolean | null = null;\n\n const requestFrame = (callback: FrameRequestCallback): number => {\n if (typeof requestAnimationFrame === \"function\") {\n return requestAnimationFrame(callback);\n }\n\n return window.setTimeout(() => callback(performance.now()), 16);\n };\n\n const cancelFrame = (id: number) => {\n if (typeof cancelAnimationFrame === \"function\") {\n cancelAnimationFrame(id);\n } else {\n window.clearTimeout(id);\n }\n };\n\n const cancelPendingRaf = () => {\n if (raf != null && canUseDOM) {\n cancelFrame(raf);\n raf = null;\n }\n };\n\n const setPanelSize = (panel: HTMLElement, width: string, height: string) => {\n panel.style.setProperty(\"--disclosure-panel-width\", width);\n panel.style.setProperty(\"--disclosure-panel-height\", height);\n };\n\n const getPanelAnimations = (panel: HTMLElement): Animation[] => {\n return typeof panel.getAnimations === \"function\" ? panel.getAnimations() : [];\n };\n\n // Handle browser find-in-page reveal for collapsed panels.\n createEffect(() => {\n if (!canUseDOM) return;\n\n const panel = panelRef();\n if (!panel) return;\n\n const handleBeforeMatch = () => {\n cancelPendingRaf();\n raf = requestFrame(() => {\n if (panelRef() === panel) {\n panel.setAttribute(\"hidden\", \"until-found\");\n }\n raf = null;\n });\n\n state.toggle();\n };\n\n panel.addEventListener(\"beforematch\", handleBeforeMatch);\n onCleanup(() => {\n panel.removeEventListener(\"beforematch\", handleBeforeMatch);\n });\n });\n\n // Handle panel visibility and animation sizing.\n createEffect(() => {\n if (!canUseDOM) return;\n\n const panel = panelRef();\n if (!panel) return;\n\n const isExpanded = state.isExpanded();\n cancelPendingRaf();\n\n if (isExpandedRef === null || typeof panel.getAnimations !== \"function\") {\n if (isExpanded) {\n panel.removeAttribute(\"hidden\");\n setPanelSize(panel, \"auto\", \"auto\");\n } else {\n panel.setAttribute(\"hidden\", \"until-found\");\n setPanelSize(panel, \"0px\", \"0px\");\n }\n } else if (isExpanded !== isExpandedRef) {\n if (isExpanded) {\n panel.removeAttribute(\"hidden\");\n setPanelSize(panel, `${panel.scrollWidth}px`, `${panel.scrollHeight}px`);\n\n Promise.all(getPanelAnimations(panel).map((animation) => animation.finished))\n .then(() => {\n if (panelRef() === panel && state.isExpanded()) {\n setPanelSize(panel, \"auto\", \"auto\");\n }\n })\n .catch(() => {});\n } else {\n setPanelSize(panel, `${panel.scrollWidth}px`, `${panel.scrollHeight}px`);\n\n // Force style recalculation before animating to zero.\n window.getComputedStyle(panel).height;\n\n setPanelSize(panel, \"0px\", \"0px\");\n\n Promise.all(getPanelAnimations(panel).map((animation) => animation.finished))\n .then(() => {\n if (panelRef() === panel && !state.isExpanded()) {\n panel.setAttribute(\"hidden\", \"until-found\");\n }\n })\n .catch(() => {});\n }\n }\n\n isExpandedRef = isExpanded;\n });\n\n onCleanup(cancelPendingRaf);\n\n // Use createPress for proper interaction handling (matches Select/Menu pattern)\n const { pressProps, isPressed } = createPress({\n get isDisabled() {\n return getProps().isDisabled;\n },\n onPressStart(event) {\n if (event.pointerType === \"keyboard\") {\n state.toggle();\n }\n },\n onPress(event) {\n if (event.pointerType !== \"keyboard\") {\n state.toggle();\n }\n },\n });\n\n return {\n isPressed,\n // Button props - merge with pressProps for consistent interaction handling\n // Using getter (not createMemo) to match createSelect pattern\n get buttonProps(): JSX.ButtonHTMLAttributes<HTMLButtonElement> {\n const p = getProps();\n return mergeProps(\n pressProps as Record<string, unknown>,\n {\n id: triggerId,\n type: \"button\",\n \"aria-expanded\": state.isExpanded(),\n \"aria-controls\": panelId,\n disabled: p.isDisabled,\n } as Record<string, unknown>,\n ) as JSX.ButtonHTMLAttributes<HTMLButtonElement>;\n },\n // Panel props\n get panelProps(): JSX.HTMLAttributes<HTMLElement> {\n return {\n id: panelId,\n role: \"group\",\n \"aria-labelledby\": triggerId,\n \"aria-hidden\": !state.isExpanded(),\n hidden: getDisclosurePanelHiddenAttribute(state.isExpanded()),\n };\n },\n };\n}\n","/**\n * createDisclosureGroup hook for Solidaria\n *\n * Provides accessibility implementation for a group of disclosures (accordion).\n *\n * Port of @react-aria/disclosure.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { type DisclosureGroupState } from \"@proyecto-viviana/solid-stately\";\nimport { type MaybeAccessor } from \"../utils/reactivity\";\n\nexport interface AriaDisclosureGroupProps {\n /** Whether the disclosure group is disabled. */\n isDisabled?: boolean;\n}\n\nexport interface DisclosureGroupAria {\n /** Props for the disclosure group container. */\n groupProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\n/**\n * Provides accessibility implementation for a group of disclosures (accordion).\n *\n * @example\n * ```tsx\n * import { createDisclosureGroup } from 'solidaria';\n * import { createDisclosureGroupState } from 'solid-stately';\n *\n * function Accordion(props) {\n * const state = createDisclosureGroupState(props);\n * const { groupProps } = createDisclosureGroup(props, state);\n *\n * return (\n * <div {...groupProps}>\n * {props.children}\n * </div>\n * );\n * }\n * ```\n */\nexport function createDisclosureGroup(\n _props: MaybeAccessor<AriaDisclosureGroupProps>,\n _state: DisclosureGroupState,\n): DisclosureGroupAria {\n return {\n get groupProps() {\n return {};\n },\n };\n}\n"],"mappings":"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"}