@proyecto-viviana/solidaria-components 0.5.0 → 0.7.0-rc.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 (561) hide show
  1. package/LICENSE-APACHE-2.0 +201 -0
  2. package/NOTICE +91 -0
  3. package/README.md +4 -7
  4. package/dist/ActionBar.d.ts +2 -10
  5. package/dist/ActionBar.d.ts.map +1 -1
  6. package/dist/ActionBar.js +95 -59
  7. package/dist/ActionBar.js.map +1 -1
  8. package/dist/ActionBar.jsx +42 -15
  9. package/dist/ActionBar.jsx.map +1 -1
  10. package/dist/ActionGroup.d.ts +1 -12
  11. package/dist/ActionGroup.d.ts.map +1 -1
  12. package/dist/ActionGroup.js +66 -44
  13. package/dist/ActionGroup.js.map +1 -1
  14. package/dist/ActionGroup.jsx +25 -10
  15. package/dist/ActionGroup.jsx.map +1 -1
  16. package/dist/Alert.d.ts +4 -1
  17. package/dist/Alert.d.ts.map +1 -1
  18. package/dist/Alert.js +25 -17
  19. package/dist/Alert.js.map +1 -1
  20. package/dist/Alert.jsx +9 -5
  21. package/dist/Alert.jsx.map +1 -1
  22. package/dist/Autocomplete.d.ts +2 -9
  23. package/dist/Autocomplete.d.ts.map +1 -1
  24. package/dist/Autocomplete.js +18 -5
  25. package/dist/Autocomplete.js.map +1 -1
  26. package/dist/Autocomplete.jsx +20 -7
  27. package/dist/Autocomplete.jsx.map +1 -1
  28. package/dist/Breadcrumbs.d.ts +2 -7
  29. package/dist/Breadcrumbs.d.ts.map +1 -1
  30. package/dist/Breadcrumbs.js +71 -51
  31. package/dist/Breadcrumbs.js.map +1 -1
  32. package/dist/Breadcrumbs.jsx +25 -12
  33. package/dist/Breadcrumbs.jsx.map +1 -1
  34. package/dist/Button.d.ts +1 -7
  35. package/dist/Button.d.ts.map +1 -1
  36. package/dist/Button.js +125 -72
  37. package/dist/Button.js.map +1 -1
  38. package/dist/Button.jsx +105 -43
  39. package/dist/Button.jsx.map +1 -1
  40. package/dist/Calendar.d.ts +1 -7
  41. package/dist/Calendar.d.ts.map +1 -1
  42. package/dist/Calendar.js +297 -221
  43. package/dist/Calendar.js.map +1 -1
  44. package/dist/Calendar.jsx +52 -32
  45. package/dist/Calendar.jsx.map +1 -1
  46. package/dist/CalendarPicker.d.ts +1 -10
  47. package/dist/CalendarPicker.d.ts.map +1 -1
  48. package/dist/CalendarPicker.js +12 -0
  49. package/dist/CalendarPicker.js.map +1 -1
  50. package/dist/CalendarPicker.jsx +12 -0
  51. package/dist/CalendarPicker.jsx.map +1 -1
  52. package/dist/Checkbox.d.ts +2 -7
  53. package/dist/Checkbox.d.ts.map +1 -1
  54. package/dist/Checkbox.js +332 -270
  55. package/dist/Checkbox.js.map +1 -1
  56. package/dist/Checkbox.jsx +70 -77
  57. package/dist/Checkbox.jsx.map +1 -1
  58. package/dist/Collection.d.ts +33 -7
  59. package/dist/Collection.d.ts.map +1 -1
  60. package/dist/Collection.js +128 -74
  61. package/dist/Collection.js.map +1 -1
  62. package/dist/Collection.jsx +46 -7
  63. package/dist/Collection.jsx.map +1 -1
  64. package/dist/Color.d.ts +15 -20
  65. package/dist/Color.d.ts.map +1 -1
  66. package/dist/Color.js +572 -334
  67. package/dist/Color.js.map +1 -1
  68. package/dist/Color.jsx +205 -85
  69. package/dist/Color.jsx.map +1 -1
  70. package/dist/ColorEditor.d.ts +3 -1
  71. package/dist/ColorEditor.d.ts.map +1 -1
  72. package/dist/ColorEditor.js +147 -124
  73. package/dist/ColorEditor.js.map +1 -1
  74. package/dist/ColorEditor.jsx +4 -1
  75. package/dist/ColorEditor.jsx.map +1 -1
  76. package/dist/ComboBox.d.ts +31 -10
  77. package/dist/ComboBox.d.ts.map +1 -1
  78. package/dist/ComboBox.js +539 -274
  79. package/dist/ComboBox.js.map +1 -1
  80. package/dist/ComboBox.jsx +213 -70
  81. package/dist/ComboBox.jsx.map +1 -1
  82. package/dist/ContextualHelpTrigger.d.ts +1 -7
  83. package/dist/ContextualHelpTrigger.d.ts.map +1 -1
  84. package/dist/ContextualHelpTrigger.js +102 -72
  85. package/dist/ContextualHelpTrigger.js.map +1 -1
  86. package/dist/ContextualHelpTrigger.jsx +36 -16
  87. package/dist/ContextualHelpTrigger.jsx.map +1 -1
  88. package/dist/DateField.d.ts +2 -7
  89. package/dist/DateField.d.ts.map +1 -1
  90. package/dist/DateField.js +0 -2
  91. package/dist/DateField.jsx +0 -2
  92. package/dist/DateField2.js +194 -179
  93. package/dist/DateField2.js.map +1 -1
  94. package/dist/DateField2.jsx +58 -55
  95. package/dist/DateField2.jsx.map +1 -1
  96. package/dist/DatePicker.d.ts +7 -7
  97. package/dist/DatePicker.d.ts.map +1 -1
  98. package/dist/DatePicker.js +2 -2
  99. package/dist/DatePicker.jsx +2 -2
  100. package/dist/DatePicker2.js +357 -435
  101. package/dist/DatePicker2.js.map +1 -1
  102. package/dist/DatePicker2.jsx +109 -178
  103. package/dist/DatePicker2.jsx.map +1 -1
  104. package/dist/DateRangePickerContext.d.ts +7 -0
  105. package/dist/DateRangePickerContext.d.ts.map +1 -1
  106. package/dist/Dialog.d.ts +4 -9
  107. package/dist/Dialog.d.ts.map +1 -1
  108. package/dist/Dialog.js +168 -101
  109. package/dist/Dialog.js.map +1 -1
  110. package/dist/Dialog.jsx +75 -27
  111. package/dist/Dialog.jsx.map +1 -1
  112. package/dist/Disclosure.d.ts +1 -9
  113. package/dist/Disclosure.d.ts.map +1 -1
  114. package/dist/Disclosure.js +121 -79
  115. package/dist/Disclosure.js.map +1 -1
  116. package/dist/Disclosure.jsx +32 -19
  117. package/dist/Disclosure.jsx.map +1 -1
  118. package/dist/DragAndDrop.d.ts +9 -6
  119. package/dist/DragAndDrop.d.ts.map +1 -1
  120. package/dist/DragAndDrop.js +37 -22
  121. package/dist/DragAndDrop.js.map +1 -1
  122. package/dist/DragAndDrop.jsx +20 -4
  123. package/dist/DragAndDrop.jsx.map +1 -1
  124. package/dist/DragPreview.d.ts +1 -1
  125. package/dist/DragPreview.d.ts.map +1 -1
  126. package/dist/DropZone.d.ts +1 -7
  127. package/dist/DropZone.d.ts.map +1 -1
  128. package/dist/DropZone.js +74 -40
  129. package/dist/DropZone.js.map +1 -1
  130. package/dist/DropZone.jsx +24 -8
  131. package/dist/DropZone.jsx.map +1 -1
  132. package/dist/ElementTag.d.ts +9 -20
  133. package/dist/ElementTag.d.ts.map +1 -1
  134. package/dist/ElementTag.js +8 -210
  135. package/dist/ElementTag.js.map +1 -1
  136. package/dist/ElementTag.jsx +8 -57
  137. package/dist/ElementTag.jsx.map +1 -1
  138. package/dist/FieldError.d.ts +8 -7
  139. package/dist/FieldError.d.ts.map +1 -1
  140. package/dist/FieldError.js +33 -13
  141. package/dist/FieldError.js.map +1 -1
  142. package/dist/FieldError.jsx +20 -5
  143. package/dist/FieldError.jsx.map +1 -1
  144. package/dist/FileTrigger.d.ts +1 -7
  145. package/dist/FileTrigger.d.ts.map +1 -1
  146. package/dist/FileTrigger.js +30 -12
  147. package/dist/FileTrigger.js.map +1 -1
  148. package/dist/FileTrigger.jsx +15 -2
  149. package/dist/FileTrigger.jsx.map +1 -1
  150. package/dist/Focusable.d.ts +2 -8
  151. package/dist/Focusable.d.ts.map +1 -1
  152. package/dist/Focusable.js +23 -6
  153. package/dist/Focusable.js.map +1 -1
  154. package/dist/Focusable.jsx +22 -5
  155. package/dist/Focusable.jsx.map +1 -1
  156. package/dist/Form.d.ts +9 -8
  157. package/dist/Form.d.ts.map +1 -1
  158. package/dist/Form.js +66 -43
  159. package/dist/Form.js.map +1 -1
  160. package/dist/Form.jsx +36 -16
  161. package/dist/Form.jsx.map +1 -1
  162. package/dist/GridList.d.ts +5 -10
  163. package/dist/GridList.d.ts.map +1 -1
  164. package/dist/GridList.js +372 -243
  165. package/dist/GridList.js.map +1 -1
  166. package/dist/GridList.jsx +177 -99
  167. package/dist/GridList.jsx.map +1 -1
  168. package/dist/HiddenDateInput.d.ts +1 -7
  169. package/dist/HiddenDateInput.d.ts.map +1 -1
  170. package/dist/Icon.d.ts +4 -1
  171. package/dist/Icon.d.ts.map +1 -1
  172. package/dist/Icon.js +41 -37
  173. package/dist/Icon.js.map +1 -1
  174. package/dist/Icon.jsx +7 -3
  175. package/dist/Icon.jsx.map +1 -1
  176. package/dist/Keyboard.d.ts +1 -7
  177. package/dist/Keyboard.d.ts.map +1 -1
  178. package/dist/Keyboard.js +24 -11
  179. package/dist/Keyboard.js.map +1 -1
  180. package/dist/Keyboard.jsx +15 -2
  181. package/dist/Keyboard.jsx.map +1 -1
  182. package/dist/Label.d.ts +20 -0
  183. package/dist/Label.d.ts.map +1 -0
  184. package/dist/Label.js +60 -0
  185. package/dist/Label.js.map +1 -0
  186. package/dist/Label.jsx +47 -0
  187. package/dist/Label.jsx.map +1 -0
  188. package/dist/Landmark.d.ts +4 -1
  189. package/dist/Landmark.d.ts.map +1 -1
  190. package/dist/Landmark.js +10 -4
  191. package/dist/Landmark.js.map +1 -1
  192. package/dist/Landmark.jsx +5 -1
  193. package/dist/Landmark.jsx.map +1 -1
  194. package/dist/Link.d.ts +2 -7
  195. package/dist/Link.d.ts.map +1 -1
  196. package/dist/Link.js +56 -36
  197. package/dist/Link.js.map +1 -1
  198. package/dist/Link.jsx +52 -10
  199. package/dist/Link.jsx.map +1 -1
  200. package/dist/ListBox.d.ts +17 -13
  201. package/dist/ListBox.d.ts.map +1 -1
  202. package/dist/ListBox.js +647 -348
  203. package/dist/ListBox.js.map +1 -1
  204. package/dist/ListBox.jsx +339 -236
  205. package/dist/ListBox.jsx.map +1 -1
  206. package/dist/ListDropTargetDelegate.d.ts +3 -0
  207. package/dist/ListDropTargetDelegate.d.ts.map +1 -1
  208. package/dist/Menu.d.ts +39 -30
  209. package/dist/Menu.d.ts.map +1 -1
  210. package/dist/Menu.js +547 -368
  211. package/dist/Menu.js.map +1 -1
  212. package/dist/Menu.jsx +328 -230
  213. package/dist/Menu.jsx.map +1 -1
  214. package/dist/Meter.d.ts +6 -13
  215. package/dist/Meter.d.ts.map +1 -1
  216. package/dist/Meter.js +55 -18
  217. package/dist/Meter.js.map +1 -1
  218. package/dist/Meter.jsx +33 -8
  219. package/dist/Meter.jsx.map +1 -1
  220. package/dist/Modal.d.ts +1 -7
  221. package/dist/Modal.d.ts.map +1 -1
  222. package/dist/Modal.js +104 -56
  223. package/dist/Modal.js.map +1 -1
  224. package/dist/Modal.jsx +68 -38
  225. package/dist/Modal.jsx.map +1 -1
  226. package/dist/NumberField.d.ts +4 -7
  227. package/dist/NumberField.d.ts.map +1 -1
  228. package/dist/NumberField.js +243 -124
  229. package/dist/NumberField.js.map +1 -1
  230. package/dist/NumberField.jsx +115 -26
  231. package/dist/NumberField.jsx.map +1 -1
  232. package/dist/Popover.d.ts +15 -7
  233. package/dist/Popover.d.ts.map +1 -1
  234. package/dist/Popover.js +370 -181
  235. package/dist/Popover.js.map +1 -1
  236. package/dist/Popover.jsx +215 -82
  237. package/dist/Popover.jsx.map +1 -1
  238. package/dist/Pressable.d.ts +2 -8
  239. package/dist/Pressable.d.ts.map +1 -1
  240. package/dist/Pressable.js +23 -6
  241. package/dist/Pressable.js.map +1 -1
  242. package/dist/Pressable.jsx +22 -5
  243. package/dist/Pressable.jsx.map +1 -1
  244. package/dist/PreviewTrigger.d.ts +24 -0
  245. package/dist/PreviewTrigger.d.ts.map +1 -0
  246. package/dist/PreviewTrigger.js +128 -0
  247. package/dist/PreviewTrigger.js.map +1 -0
  248. package/dist/PreviewTrigger.jsx +117 -0
  249. package/dist/PreviewTrigger.jsx.map +1 -0
  250. package/dist/ProgressBar.d.ts +1 -7
  251. package/dist/ProgressBar.d.ts.map +1 -1
  252. package/dist/ProgressBar.js +34 -14
  253. package/dist/ProgressBar.js.map +1 -1
  254. package/dist/ProgressBar.jsx +17 -3
  255. package/dist/ProgressBar.jsx.map +1 -1
  256. package/dist/RadioGroup.d.ts +2 -7
  257. package/dist/RadioGroup.d.ts.map +1 -1
  258. package/dist/RadioGroup.js +388 -269
  259. package/dist/RadioGroup.js.map +1 -1
  260. package/dist/RadioGroup.jsx +110 -99
  261. package/dist/RadioGroup.jsx.map +1 -1
  262. package/dist/RangeCalendar.d.ts +3 -7
  263. package/dist/RangeCalendar.d.ts.map +1 -1
  264. package/dist/RangeCalendar.js +271 -202
  265. package/dist/RangeCalendar.js.map +1 -1
  266. package/dist/RangeCalendar.jsx +56 -37
  267. package/dist/RangeCalendar.jsx.map +1 -1
  268. package/dist/RouterProvider.d.ts +3 -9
  269. package/dist/RouterProvider.d.ts.map +1 -1
  270. package/dist/RouterProvider.js +15 -14
  271. package/dist/RouterProvider.js.map +1 -1
  272. package/dist/RouterProvider.jsx +14 -13
  273. package/dist/RouterProvider.jsx.map +1 -1
  274. package/dist/SearchField.d.ts +4 -7
  275. package/dist/SearchField.d.ts.map +1 -1
  276. package/dist/SearchField.js +191 -164
  277. package/dist/SearchField.js.map +1 -1
  278. package/dist/SearchField.jsx +69 -62
  279. package/dist/SearchField.jsx.map +1 -1
  280. package/dist/Select.d.ts +5 -10
  281. package/dist/Select.d.ts.map +1 -1
  282. package/dist/Select.js +565 -359
  283. package/dist/Select.js.map +1 -1
  284. package/dist/Select.jsx +281 -161
  285. package/dist/Select.jsx.map +1 -1
  286. package/dist/SelectionIndicator.d.ts +1 -4
  287. package/dist/SelectionIndicator.d.ts.map +1 -1
  288. package/dist/SelectionIndicator.js +29 -13
  289. package/dist/SelectionIndicator.js.map +1 -1
  290. package/dist/SelectionIndicator.jsx +18 -4
  291. package/dist/SelectionIndicator.jsx.map +1 -1
  292. package/dist/Separator.d.ts +1 -7
  293. package/dist/Separator.d.ts.map +1 -1
  294. package/dist/Separator.js +22 -6
  295. package/dist/Separator.js.map +1 -1
  296. package/dist/Separator.jsx +16 -3
  297. package/dist/Separator.jsx.map +1 -1
  298. package/dist/SharedElementTransition.d.ts +1 -10
  299. package/dist/SharedElementTransition.d.ts.map +1 -1
  300. package/dist/SharedElementTransition.js +68 -40
  301. package/dist/SharedElementTransition.js.map +1 -1
  302. package/dist/SharedElementTransition.jsx +49 -25
  303. package/dist/SharedElementTransition.jsx.map +1 -1
  304. package/dist/Slider.d.ts +2 -8
  305. package/dist/Slider.d.ts.map +1 -1
  306. package/dist/Slider.js +155 -97
  307. package/dist/Slider.js.map +1 -1
  308. package/dist/Slider.jsx +25 -12
  309. package/dist/Slider.jsx.map +1 -1
  310. package/dist/StepList.d.ts +1 -7
  311. package/dist/StepList.d.ts.map +1 -1
  312. package/dist/StepList.js +112 -68
  313. package/dist/StepList.js.map +1 -1
  314. package/dist/StepList.jsx +58 -20
  315. package/dist/StepList.jsx.map +1 -1
  316. package/dist/Switch.d.ts +2 -9
  317. package/dist/Switch.d.ts.map +1 -1
  318. package/dist/Switch.js +164 -114
  319. package/dist/Switch.js.map +1 -1
  320. package/dist/Switch.jsx +26 -13
  321. package/dist/Switch.jsx.map +1 -1
  322. package/dist/Table.d.ts +2 -1
  323. package/dist/Table.d.ts.map +1 -1
  324. package/dist/Table.js +689 -592
  325. package/dist/Table.js.map +1 -1
  326. package/dist/Table.jsx +317 -237
  327. package/dist/Table.jsx.map +1 -1
  328. package/dist/Tabs.d.ts +2 -7
  329. package/dist/Tabs.d.ts.map +1 -1
  330. package/dist/Tabs.js +278 -293
  331. package/dist/Tabs.js.map +1 -1
  332. package/dist/Tabs.jsx +68 -66
  333. package/dist/Tabs.jsx.map +1 -1
  334. package/dist/TagGroup.d.ts +4 -11
  335. package/dist/TagGroup.d.ts.map +1 -1
  336. package/dist/TagGroup.js +153 -115
  337. package/dist/TagGroup.js.map +1 -1
  338. package/dist/TagGroup.jsx +37 -24
  339. package/dist/TagGroup.jsx.map +1 -1
  340. package/dist/Text.d.ts +3 -3
  341. package/dist/Text.d.ts.map +1 -1
  342. package/dist/Text.js +24 -7
  343. package/dist/Text.js.map +1 -1
  344. package/dist/Text.jsx +17 -5
  345. package/dist/Text.jsx.map +1 -1
  346. package/dist/TextField.d.ts +3 -16
  347. package/dist/TextField.d.ts.map +1 -1
  348. package/dist/TextField.js +104 -129
  349. package/dist/TextField.js.map +1 -1
  350. package/dist/TextField.jsx +76 -102
  351. package/dist/TextField.jsx.map +1 -1
  352. package/dist/TimeField.d.ts +2 -15
  353. package/dist/TimeField.d.ts.map +1 -1
  354. package/dist/TimeField.js +86 -102
  355. package/dist/TimeField.js.map +1 -1
  356. package/dist/TimeField.jsx +32 -49
  357. package/dist/TimeField.jsx.map +1 -1
  358. package/dist/Toast.d.ts +10 -13
  359. package/dist/Toast.d.ts.map +1 -1
  360. package/dist/Toast.js +209 -108
  361. package/dist/Toast.js.map +1 -1
  362. package/dist/Toast.jsx +127 -22
  363. package/dist/Toast.jsx.map +1 -1
  364. package/dist/ToggleButton.d.ts +1 -7
  365. package/dist/ToggleButton.d.ts.map +1 -1
  366. package/dist/ToggleButton.js +57 -35
  367. package/dist/ToggleButton.js.map +1 -1
  368. package/dist/ToggleButton.jsx +26 -12
  369. package/dist/ToggleButton.jsx.map +1 -1
  370. package/dist/ToggleButtonGroup.d.ts +1 -7
  371. package/dist/ToggleButtonGroup.d.ts.map +1 -1
  372. package/dist/ToggleButtonGroup.js +59 -44
  373. package/dist/ToggleButtonGroup.js.map +1 -1
  374. package/dist/ToggleButtonGroup.jsx +25 -12
  375. package/dist/ToggleButtonGroup.jsx.map +1 -1
  376. package/dist/TokenField.d.ts +52 -0
  377. package/dist/TokenField.d.ts.map +1 -0
  378. package/dist/TokenField.js +301 -0
  379. package/dist/TokenField.js.map +1 -0
  380. package/dist/TokenField.jsx +197 -0
  381. package/dist/TokenField.jsx.map +1 -0
  382. package/dist/Toolbar.d.ts +2 -7
  383. package/dist/Toolbar.d.ts.map +1 -1
  384. package/dist/Toolbar.js +35 -16
  385. package/dist/Toolbar.js.map +1 -1
  386. package/dist/Toolbar.jsx +15 -2
  387. package/dist/Toolbar.jsx.map +1 -1
  388. package/dist/Tooltip.d.ts +2 -7
  389. package/dist/Tooltip.d.ts.map +1 -1
  390. package/dist/Tooltip.js +105 -68
  391. package/dist/Tooltip.js.map +1 -1
  392. package/dist/Tooltip.jsx +60 -36
  393. package/dist/Tooltip.jsx.map +1 -1
  394. package/dist/Tree.d.ts +8 -11
  395. package/dist/Tree.d.ts.map +1 -1
  396. package/dist/Tree.js +486 -339
  397. package/dist/Tree.js.map +1 -1
  398. package/dist/Tree.jsx +155 -107
  399. package/dist/Tree.jsx.map +1 -1
  400. package/dist/Virtualizer.d.ts +39 -9
  401. package/dist/Virtualizer.d.ts.map +1 -1
  402. package/dist/Virtualizer.js +2 -2
  403. package/dist/Virtualizer.jsx +2 -2
  404. package/dist/Virtualizer2.js +491 -136
  405. package/dist/Virtualizer2.js.map +1 -1
  406. package/dist/Virtualizer2.jsx +455 -122
  407. package/dist/Virtualizer2.jsx.map +1 -1
  408. package/dist/VirtualizerLayouts.d.ts +55 -2
  409. package/dist/VirtualizerLayouts.d.ts.map +1 -1
  410. package/dist/VisuallyHidden.d.ts +4 -3
  411. package/dist/VisuallyHidden.d.ts.map +1 -1
  412. package/dist/VisuallyHidden.js +18 -11
  413. package/dist/VisuallyHidden.js.map +1 -1
  414. package/dist/VisuallyHidden.jsx +15 -9
  415. package/dist/VisuallyHidden.jsx.map +1 -1
  416. package/dist/contexts.d.ts +25 -0
  417. package/dist/contexts.d.ts.map +1 -1
  418. package/dist/contexts.js +3 -0
  419. package/dist/contexts.js.map +1 -1
  420. package/dist/contexts.jsx +3 -0
  421. package/dist/contexts.jsx.map +1 -1
  422. package/dist/index.d.ts +11 -9
  423. package/dist/index.d.ts.map +1 -1
  424. package/dist/index.js +14 -11
  425. package/dist/index.jsx +14 -11
  426. package/dist/intl/index.d.ts +16 -0
  427. package/dist/intl/index.d.ts.map +1 -0
  428. package/dist/intl.js +212 -0
  429. package/dist/intl.js.map +1 -0
  430. package/dist/intl.jsx +212 -0
  431. package/dist/intl.jsx.map +1 -0
  432. package/dist/useDragAndDrop.d.ts +4 -2
  433. package/dist/useDragAndDrop.d.ts.map +1 -1
  434. package/dist/useDragAndDrop2.js +39 -21
  435. package/dist/useDragAndDrop2.js.map +1 -1
  436. package/dist/useDragAndDrop2.jsx +39 -21
  437. package/dist/useDragAndDrop2.jsx.map +1 -1
  438. package/dist/utils.d.ts +28 -9
  439. package/dist/utils.d.ts.map +1 -1
  440. package/dist/utils.js +96 -24
  441. package/dist/utils.js.map +1 -1
  442. package/dist/utils.jsx +81 -24
  443. package/dist/utils.jsx.map +1 -1
  444. package/dist/virtualizer/Layout.d.ts +9 -0
  445. package/dist/virtualizer/Layout.d.ts.map +1 -1
  446. package/dist/virtualizer/Layout.js +23 -2
  447. package/dist/virtualizer/Layout.js.map +1 -1
  448. package/dist/virtualizer/Layout.jsx +23 -2
  449. package/dist/virtualizer/Layout.jsx.map +1 -1
  450. package/package.json +29 -10
  451. package/src/ActionBar.tsx +50 -24
  452. package/src/ActionGroup.tsx +31 -19
  453. package/src/Alert.tsx +10 -4
  454. package/src/Autocomplete.tsx +24 -15
  455. package/src/Breadcrumbs.tsx +32 -16
  456. package/src/Button.tsx +182 -67
  457. package/src/Calendar.tsx +65 -47
  458. package/src/CalendarPicker.tsx +16 -1
  459. package/src/Checkbox.tsx +84 -116
  460. package/src/Collection.tsx +84 -3
  461. package/src/Color.tsx +282 -104
  462. package/src/ColorEditor.tsx +5 -1
  463. package/src/ComboBox.tsx +384 -109
  464. package/src/ContextualHelpTrigger.tsx +47 -41
  465. package/src/DateField.tsx +74 -106
  466. package/src/DatePicker.tsx +156 -352
  467. package/src/DateRangePickerContext.tsx +8 -0
  468. package/src/Dialog.tsx +105 -38
  469. package/src/Disclosure.tsx +29 -19
  470. package/src/DragAndDrop.tsx +43 -8
  471. package/src/DragPreview.tsx +20 -1
  472. package/src/DropZone.tsx +32 -18
  473. package/src/ElementTag.tsx +14 -104
  474. package/src/FieldError.tsx +39 -7
  475. package/src/FileTrigger.tsx +18 -3
  476. package/src/Focusable.tsx +27 -6
  477. package/src/Form.tsx +57 -11
  478. package/src/GridList.tsx +233 -141
  479. package/src/HiddenDateInput.tsx +19 -3
  480. package/src/Icon.tsx +8 -2
  481. package/src/Keyboard.tsx +18 -2
  482. package/src/Label.tsx +77 -0
  483. package/src/Landmark.tsx +6 -1
  484. package/src/Link.tsx +65 -19
  485. package/src/ListBox.tsx +645 -468
  486. package/src/ListDropTargetDelegate.ts +4 -0
  487. package/src/Menu.tsx +512 -349
  488. package/src/Meter.tsx +42 -8
  489. package/src/Modal.tsx +85 -42
  490. package/src/NumberField.tsx +161 -48
  491. package/src/Popover.tsx +424 -148
  492. package/src/Pressable.tsx +27 -6
  493. package/src/PreviewTrigger.tsx +171 -0
  494. package/src/ProgressBar.tsx +25 -3
  495. package/src/RadioGroup.tsx +230 -161
  496. package/src/RangeCalendar.tsx +75 -63
  497. package/src/RouterProvider.tsx +24 -14
  498. package/src/SearchField.tsx +118 -121
  499. package/src/Select.tsx +454 -274
  500. package/src/SelectionIndicator.tsx +21 -3
  501. package/src/Separator.tsx +17 -1
  502. package/src/SharedElementTransition.tsx +115 -97
  503. package/src/Slider.tsx +35 -17
  504. package/src/StepList.tsx +71 -32
  505. package/src/Switch.tsx +45 -29
  506. package/src/Table.tsx +446 -380
  507. package/src/Tabs.tsx +132 -155
  508. package/src/TagGroup.tsx +53 -40
  509. package/src/Text.tsx +23 -6
  510. package/src/TextField.tsx +118 -159
  511. package/src/TimeField.tsx +34 -95
  512. package/src/Toast.tsx +141 -67
  513. package/src/ToggleButton.tsx +33 -15
  514. package/src/ToggleButtonGroup.tsx +27 -9
  515. package/src/TokenField.tsx +379 -0
  516. package/src/Toolbar.tsx +19 -9
  517. package/src/Tooltip.tsx +126 -84
  518. package/src/Tree.tsx +233 -173
  519. package/src/Virtualizer.tsx +400 -138
  520. package/src/VirtualizerLayouts.ts +211 -26
  521. package/src/VisuallyHidden.tsx +22 -8
  522. package/src/contexts.ts +13 -0
  523. package/src/index.ts +32 -11
  524. package/src/intl/ar-AE.json +6 -0
  525. package/src/intl/bg-BG.json +6 -0
  526. package/src/intl/cs-CZ.json +6 -0
  527. package/src/intl/da-DK.json +6 -0
  528. package/src/intl/de-DE.json +6 -0
  529. package/src/intl/el-GR.json +6 -0
  530. package/src/intl/en-US.json +6 -0
  531. package/src/intl/es-ES.json +6 -0
  532. package/src/intl/et-EE.json +6 -0
  533. package/src/intl/fi-FI.json +6 -0
  534. package/src/intl/fr-FR.json +6 -0
  535. package/src/intl/he-IL.json +6 -0
  536. package/src/intl/hr-HR.json +6 -0
  537. package/src/intl/hu-HU.json +6 -0
  538. package/src/intl/index.ts +125 -0
  539. package/src/intl/it-IT.json +6 -0
  540. package/src/intl/ja-JP.json +6 -0
  541. package/src/intl/ko-KR.json +6 -0
  542. package/src/intl/lt-LT.json +6 -0
  543. package/src/intl/lv-LV.json +6 -0
  544. package/src/intl/nb-NO.json +6 -0
  545. package/src/intl/nl-NL.json +6 -0
  546. package/src/intl/pl-PL.json +6 -0
  547. package/src/intl/pt-BR.json +6 -0
  548. package/src/intl/pt-PT.json +6 -0
  549. package/src/intl/ro-RO.json +6 -0
  550. package/src/intl/ru-RU.json +6 -0
  551. package/src/intl/sk-SK.json +6 -0
  552. package/src/intl/sl-SI.json +6 -0
  553. package/src/intl/sr-SP.json +6 -0
  554. package/src/intl/sv-SE.json +6 -0
  555. package/src/intl/tr-TR.json +6 -0
  556. package/src/intl/uk-UA.json +6 -0
  557. package/src/intl/zh-CN.json +6 -0
  558. package/src/intl/zh-TW.json +6 -0
  559. package/src/useDragAndDrop.ts +30 -32
  560. package/src/utils.tsx +124 -68
  561. package/src/virtualizer/Layout.ts +29 -0
@@ -1,12 +1,38 @@
1
- import { Provider, dataAttr, useIsHydrated, useRenderProps } from "./utils.jsx";
1
+ /*
2
+ * Copyright 2022 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/DatePicker.tsx
13
+ /*
14
+ * Copyright 2025 Adobe. All rights reserved.
15
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
16
+ * you may not use this file except in compliance with the License. You may obtain a copy
17
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
18
+ *
19
+ * Unless required by applicable law or agreed to in writing, software distributed under
20
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
21
+ * OF ANY KIND, either express or implied. See the License for the specific language
22
+ * governing permissions and limitations under the License.
23
+ */
24
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/HiddenDateInput.tsx
25
+ import { Provider, dataAttr, useRenderProps } from "./utils.jsx";
2
26
  import { TextContext } from "./Text.jsx";
3
- import { FormContext } from "./Form.jsx";
27
+ import { FormContext, resolveValidationBehavior } from "./Form.jsx";
28
+ import { Popover } from "./Popover.jsx";
29
+ import { Dialog } from "./Dialog.jsx";
4
30
  import { CalendarContext } from "./Calendar.jsx";
5
31
  import { RangeCalendarContext } from "./RangeCalendar.jsx";
6
32
  import { d as useDateRangePickerContext, n as DateFieldContext, u as DateRangePickerContext } from "./DateField2.jsx";
7
- import { Show, createContext, createEffect, createMemo, createSignal, onCleanup, splitProps, useContext } from "solid-js";
8
- import { Portal } from "solid-js/web";
9
- import { FocusScope, createDateField, createDatePicker, createDateRangePicker, createEnterAnimation, createFocusRing, createFormValidation, createHover, createPopover, mergeProps as mergeProps$1, useUNSAFE_PortalContext } from "@proyecto-viviana/solidaria";
33
+ import { Show, createContext, createMemo, createSignal, createTrackedEffect, useContext } from "solid-js";
34
+ import { createDateField, createDatePicker, createDateRangePicker, createFocusRing, createFormValidation, createHover, mergeProps } from "@proyecto-viviana/solidaria";
35
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
10
36
  import { access, createCalendarState, createDateFieldState, createDatePickerState, createRangeCalendarState } from "@proyecto-viviana/solid-stately";
11
37
  //#region src/HiddenDateInput.tsx
12
38
  /**
@@ -14,6 +40,7 @@ import { access, createCalendarState, createDateFieldState, createDatePickerStat
14
40
  *
15
41
  * A hidden native date/datetime-local input for form submission.
16
42
  * Renders server-side with the initial value for SSR safety.
43
+ * Based on packages/react-aria-components/src/HiddenDateInput.tsx.
17
44
  */
18
45
  function accessValue(value) {
19
46
  return typeof value === "function" ? value() : value;
@@ -55,14 +82,14 @@ function HiddenDateInput(props) {
55
82
  return props.focus;
56
83
  }
57
84
  }, props.validationState, inputRef);
58
- createEffect(() => {
85
+ createTrackedEffect(() => {
59
86
  const val = formattedValue();
60
87
  const input = inputRef();
61
88
  if (input && input.value !== val) input.value = val;
62
89
  });
63
90
  return <input ref={(el) => {
64
91
  setInputRef(el);
65
- }} type={inputType()} name={props.name} form={props.form} value={formattedValue()} autocomplete={props.autoComplete} disabled={props.isDisabled} required={usesNativeValidation() && props.isRequired ? true : void 0} hidden={usesNativeValidation() || void 0} min={hasValidationBehavior() ? void 0 : formattedMin() || void 0} max={hasValidationBehavior() ? void 0 : formattedMax() || void 0} onChange={usesNativeValidation() ? () => {} : void 0} tabIndex={-1} aria-hidden="true" style={{
92
+ }} type={inputType()} name={props.name} form={props.form} value={formattedValue()} autocomplete={props.autoComplete} disabled={props.isDisabled} required={usesNativeValidation() && props.isRequired ? true : void 0} hidden={usesNativeValidation() || void 0} min={hasValidationBehavior() ? void 0 : formattedMin() || void 0} max={hasValidationBehavior() ? void 0 : formattedMax() || void 0} onChange={usesNativeValidation() ? () => {} : void 0} tabindex={-1} aria-hidden="true" style={{
66
93
  position: "absolute",
67
94
  width: "1px",
68
95
  height: "1px",
@@ -85,33 +112,6 @@ function HiddenDateInput(props) {
85
112
  const DatePickerContext = createContext(null);
86
113
  const DatePickerStateContext = createContext(null);
87
114
  const DateRangePickerStateContext = createContext(null);
88
- function withFormValidationBehavior(props, formContext) {
89
- if (!formContext?.validationBehavior) return props;
90
- return new Proxy(props, {
91
- get(target, property, receiver) {
92
- const localValue = Reflect.get(target, property, receiver);
93
- if (property === "validationBehavior" && localValue === void 0) return formContext.validationBehavior;
94
- return localValue;
95
- },
96
- has(target, property) {
97
- return Reflect.has(target, property) || property === "validationBehavior" && formContext.validationBehavior !== void 0;
98
- },
99
- ownKeys(target) {
100
- const keys = new Set(Reflect.ownKeys(target));
101
- if (formContext.validationBehavior !== void 0) keys.add("validationBehavior");
102
- return Array.from(keys);
103
- },
104
- getOwnPropertyDescriptor(target, property) {
105
- const descriptor = Reflect.getOwnPropertyDescriptor(target, property);
106
- if (descriptor) return descriptor;
107
- if (property === "validationBehavior" && formContext.validationBehavior !== void 0) return {
108
- enumerable: true,
109
- configurable: true,
110
- get: () => formContext.validationBehavior
111
- };
112
- }
113
- });
114
- }
115
115
  function useDatePickerContext() {
116
116
  const context = useContext(DatePickerContext);
117
117
  if (!context) throw new Error("DatePicker components must be used within a DatePicker");
@@ -143,18 +143,14 @@ function useDatePickerContext() {
143
143
  * ```
144
144
  */
145
145
  function DatePicker(props) {
146
- const isHydrated = useIsHydrated();
147
- const formContext = useContext(FormContext);
148
- return <Show when={isHydrated()} fallback={<div class="solidaria-DatePicker solidaria-DatePicker--placeholder" aria-hidden="true" />}>
149
- <DatePickerInner {...props} __formContext={formContext} />
150
- </Show>;
146
+ return <DatePickerInner {...props} />;
151
147
  }
152
148
  /**
153
149
  * Internal DatePicker component that renders after client mount.
154
150
  */
155
151
  function DatePickerInner(props) {
156
152
  const formContext = props.__formContext ?? useContext(FormContext);
157
- const [local, stateProps, rest] = splitProps(withFormValidationBehavior(props, formContext), [
153
+ const [local, stateProps, rest] = splitProps(props, [
158
154
  "children",
159
155
  "class",
160
156
  "style",
@@ -194,6 +190,7 @@ function DatePickerInner(props) {
194
190
  "isDateDisabled"
195
191
  ]);
196
192
  const [triggerRef, setTriggerRef] = createSignal(null);
193
+ const [groupRef, setGroupRefState] = createSignal(null);
197
194
  const [fieldRef, setFieldRef] = createSignal(null);
198
195
  const datePickerState = createDatePickerState({
199
196
  get value() {
@@ -261,6 +258,9 @@ function DatePickerInner(props) {
261
258
  };
262
259
  const fieldState = createDateFieldState({
263
260
  ...stateProps,
261
+ get locale() {
262
+ return access(stateProps.locale);
263
+ },
264
264
  value: () => datePickerState.value(),
265
265
  onChange: (value) => {
266
266
  datePickerState.setValue(value);
@@ -276,7 +276,9 @@ function DatePickerInner(props) {
276
276
  maxValue: stateProps.maxValue,
277
277
  isDisabled: stateProps.isDisabled,
278
278
  isReadOnly: stateProps.isReadOnly,
279
- locale: stateProps.locale,
279
+ get locale() {
280
+ return access(stateProps.locale);
281
+ },
280
282
  createCalendar: stateProps.createCalendar,
281
283
  isDateUnavailable: stateProps.isDateUnavailable,
282
284
  firstDayOfWeek: stateProps.firstDayOfWeek,
@@ -286,7 +288,7 @@ function DatePickerInner(props) {
286
288
  isDateDisabled: stateProps.isDateDisabled
287
289
  });
288
290
  let wasOpen = false;
289
- createEffect(() => {
291
+ createTrackedEffect(() => {
290
292
  const open = datePickerState.isOpen();
291
293
  if (open && !wasOpen) calendarState.setFocused(true);
292
294
  wasOpen = open;
@@ -308,6 +310,11 @@ function DatePickerInner(props) {
308
310
  const current = triggerRef();
309
311
  if (!current || !current.isConnected) setTriggerRef(() => element);
310
312
  },
313
+ groupRef,
314
+ setGroupRef: (element) => {
315
+ if (!element) return;
316
+ setGroupRefState(() => element);
317
+ },
311
318
  pickerAria
312
319
  };
313
320
  const isInvalid = createMemo(() => fieldState.isInvalid() || datePickerState.builtinValidation().isInvalid || Boolean(stateProps.isInvalid));
@@ -323,11 +330,11 @@ function DatePickerInner(props) {
323
330
  style: local.style,
324
331
  defaultClassName: "solidaria-DatePicker"
325
332
  }, renderValues);
326
- const validationBehavior = () => stateProps.validationBehavior ?? formContext?.validationBehavior ?? "native";
327
- return <DatePickerStateContext.Provider value={fieldState}>
328
- <DatePickerContext.Provider value={contextValue}>
333
+ const validationBehavior = () => resolveValidationBehavior(stateProps.validationBehavior, formContext);
334
+ return <DatePickerStateContext value={fieldState}>
335
+ <DatePickerContext value={contextValue}>
329
336
  {}
330
- <DateFieldContext.Provider value={{
337
+ <DateFieldContext value={{
331
338
  state: fieldState,
332
339
  aria: {
333
340
  get labelProps() {
@@ -344,7 +351,7 @@ function DatePickerInner(props) {
344
351
  }
345
352
  }
346
353
  }}>
347
- <CalendarContext.Provider value={calendarState}>
354
+ <CalendarContext value={calendarState}>
348
355
  {}
349
356
  <div ref={setFieldRef} class={renderProps.class()} style={renderProps.style()} data-disabled={dataAttr(fieldState.isDisabled())} data-readonly={dataAttr(fieldState.isReadOnly())} data-required={dataAttr(fieldState.isRequired())} data-invalid={dataAttr(isInvalid())} data-open={dataAttr(overlayState.isOpen)}>
350
357
  <Provider values={[[TextContext, { slots: {
@@ -363,16 +370,13 @@ function DatePickerInner(props) {
363
370
  fieldRef()?.querySelector("[role=\"spinbutton\"]")?.focus();
364
371
  }} minValue={() => access(stateProps.minValue)} maxValue={() => access(stateProps.maxValue)} granularity={datePickerState.granularity} />
365
372
  </Show>
366
- </CalendarContext.Provider>
367
- </DateFieldContext.Provider>
368
- </DatePickerContext.Provider>
369
- </DatePickerStateContext.Provider>;
373
+ </CalendarContext>
374
+ </DateFieldContext>
375
+ </DatePickerContext>
376
+ </DatePickerStateContext>;
370
377
  }
371
378
  function DateRangePicker(props) {
372
- const isHydrated = useIsHydrated();
373
- return <Show when={isHydrated()} fallback={<div class="solidaria-DateRangePicker solidaria-DateRangePicker--placeholder" aria-hidden="true" />}>
374
- <DateRangePickerInner {...props} />
375
- </Show>;
379
+ return <DateRangePickerInner {...props} />;
376
380
  }
377
381
  function DateRangePickerInner(props) {
378
382
  const [local, overlayProps, stateProps, rest] = splitProps(props, [
@@ -418,6 +422,7 @@ function DateRangePickerInner(props) {
418
422
  overlayProps.onOpenChange?.(open);
419
423
  };
420
424
  let triggerRef = null;
425
+ let groupRef = null;
421
426
  const [fieldRef, setFieldRef] = createSignal(null);
422
427
  const overlayState = {
423
428
  get isOpen() {
@@ -438,6 +443,9 @@ function DateRangePickerInner(props) {
438
443
  };
439
444
  const calendarState = createRangeCalendarState({
440
445
  ...stateProps,
446
+ get locale() {
447
+ return access(stateProps.locale);
448
+ },
441
449
  value: currentRangeValue,
442
450
  onChange: (value) => {
443
451
  setCommittedRangeValue(value);
@@ -445,7 +453,7 @@ function DateRangePickerInner(props) {
445
453
  }
446
454
  });
447
455
  let wasRangeOpen = false;
448
- createEffect(() => {
456
+ createTrackedEffect(() => {
449
457
  const open = overlayState.isOpen;
450
458
  if (open && !wasRangeOpen) calendarState.setFocused(true);
451
459
  wasRangeOpen = open;
@@ -460,7 +468,7 @@ function DateRangePickerInner(props) {
460
468
  if (value && "hour" in value) return "second" in value ? "second" : "minute";
461
469
  return "day";
462
470
  });
463
- createEffect(() => {
471
+ createTrackedEffect(() => {
464
472
  const value = currentRangeValue();
465
473
  setStartFieldValue(() => value?.start ?? null);
466
474
  setEndFieldValue(() => value?.end ?? null);
@@ -481,7 +489,9 @@ function DateRangePickerInner(props) {
481
489
  isDisabled: stateProps.isDisabled,
482
490
  isReadOnly: stateProps.isReadOnly,
483
491
  isRequired,
484
- locale: access(stateProps.locale),
492
+ get locale() {
493
+ return access(stateProps.locale);
494
+ },
485
495
  granularity: rangeGranularity(),
486
496
  hourCycle: stateProps.hourCycle,
487
497
  hideTimeZone: stateProps.hideTimeZone,
@@ -491,11 +501,17 @@ function DateRangePickerInner(props) {
491
501
  };
492
502
  const startFieldState = createDateFieldState({
493
503
  ...rangeFieldStateProps,
504
+ get locale() {
505
+ return access(stateProps.locale);
506
+ },
494
507
  value: startFieldValue,
495
508
  onChange: (value) => setRangeFieldValue("start", value)
496
509
  });
497
510
  const endFieldState = createDateFieldState({
498
511
  ...rangeFieldStateProps,
512
+ get locale() {
513
+ return access(stateProps.locale);
514
+ },
499
515
  value: endFieldValue,
500
516
  onChange: (value) => setRangeFieldValue("end", value)
501
517
  });
@@ -546,6 +562,11 @@ function DateRangePickerInner(props) {
546
562
  if (!element) return;
547
563
  if (!triggerRef || !triggerRef.isConnected) triggerRef = element;
548
564
  },
565
+ groupRef: () => groupRef,
566
+ setGroupRef: (element) => {
567
+ if (!element) return;
568
+ groupRef = element;
569
+ },
549
570
  pickerAria
550
571
  };
551
572
  const renderValues = createMemo(() => ({
@@ -560,9 +581,9 @@ function DateRangePickerInner(props) {
560
581
  style: local.style,
561
582
  defaultClassName: "solidaria-DateRangePicker"
562
583
  }, renderValues);
563
- return <DateRangePickerStateContext.Provider value={calendarState}>
564
- <DateRangePickerContext.Provider value={contextValue}>
565
- <RangeCalendarContext.Provider value={calendarState}>
584
+ return <DateRangePickerStateContext value={calendarState}>
585
+ <DateRangePickerContext value={contextValue}>
586
+ <RangeCalendarContext value={calendarState}>
566
587
  {}
567
588
  <div ref={setFieldRef} class={renderProps.class()} style={renderProps.style()} data-disabled={dataAttr(calendarState.isDisabled())} data-readonly={dataAttr(calendarState.isReadOnly())} data-required={dataAttr(isRequired())} data-invalid={dataAttr(isInvalid())} data-open={dataAttr(overlayState.isOpen)}>
568
589
  <Provider values={[[TextContext, { slots: {
@@ -582,9 +603,9 @@ function DateRangePickerInner(props) {
582
603
  <Show when={rest.endName}>
583
604
  <HiddenDateInput name={rest.endName} form={rest.form} value={() => currentRangeValue()?.end ?? null} isDisabled={access(stateProps.isDisabled) ?? false} minValue={() => access(stateProps.minValue)} maxValue={() => access(stateProps.maxValue)} granularity={rangeGranularity()} />
584
605
  </Show>
585
- </RangeCalendarContext.Provider>
586
- </DateRangePickerContext.Provider>
587
- </DateRangePickerStateContext.Provider>;
606
+ </RangeCalendarContext>
607
+ </DateRangePickerContext>
608
+ </DateRangePickerStateContext>;
588
609
  }
589
610
  /**
590
611
  * A button that opens the date picker calendar.
@@ -615,11 +636,11 @@ function DatePickerButton(props) {
615
636
  if (typeof props.children === "function") return renderProps.renderChildren();
616
637
  return props.children ?? "📅";
617
638
  };
618
- const buttonProps = createMemo(() => mergeProps$1(context.pickerAria.buttonProps, focusProps, hoverProps));
639
+ const buttonProps = createMemo(() => mergeProps(context.pickerAria.buttonProps, focusProps, hoverProps));
619
640
  return <button ref={(el) => {
620
641
  context.setTriggerRef(el);
621
642
  props.ref?.(el);
622
- }} {...buttonProps()} class={renderProps.class()} style={renderProps.style()} disabled={isDisabled()} data-disabled={dataAttr(isDisabled())} data-open={dataAttr(context.overlayState.isOpen)} attr:data-hovered={isHovered() ? "true" : void 0} attr:data-focused={isFocused() ? "true" : void 0} attr:data-focus-visible={isFocusVisible() ? "true" : void 0} attr:data-pressed={context.pickerAria.isButtonPressed() ? "true" : void 0}>
643
+ }} {...buttonProps()} class={renderProps.class()} style={renderProps.style()} disabled={isDisabled()} data-disabled={dataAttr(isDisabled())} data-open={dataAttr(context.overlayState.isOpen)} data-hovered={dataAttr(isHovered())} data-focused={dataAttr(isFocused())} data-focus-visible={dataAttr(isFocusVisible())} data-pressed={dataAttr(context.pickerAria.isButtonPressed())}>
623
644
  {getChildren()}
624
645
  </button>;
625
646
  }
@@ -649,11 +670,11 @@ function DateRangePickerButton(props) {
649
670
  if (typeof props.children === "function") return renderProps.renderChildren();
650
671
  return props.children ?? "📅";
651
672
  };
652
- const buttonProps = createMemo(() => mergeProps$1(context.pickerAria.buttonProps, focusProps, hoverProps));
673
+ const buttonProps = createMemo(() => mergeProps(context.pickerAria.buttonProps, focusProps, hoverProps));
653
674
  return <button ref={(el) => {
654
675
  context.setTriggerRef(el);
655
676
  props.ref?.(el);
656
- }} {...buttonProps()} class={renderProps.class()} style={renderProps.style()} disabled={isDisabled()} data-disabled={dataAttr(isDisabled())} data-open={dataAttr(context.overlayState.isOpen)} attr:data-hovered={isHovered() ? "true" : void 0} attr:data-focused={isFocused() ? "true" : void 0} attr:data-focus-visible={isFocusVisible() ? "true" : void 0} attr:data-pressed={context.pickerAria.isButtonPressed() ? "true" : void 0}>
677
+ }} {...buttonProps()} class={renderProps.class()} style={renderProps.style()} disabled={isDisabled()} data-disabled={dataAttr(isDisabled())} data-open={dataAttr(context.overlayState.isOpen)} data-hovered={dataAttr(isHovered())} data-focused={dataAttr(isFocused())} data-focus-visible={dataAttr(isFocusVisible())} data-pressed={dataAttr(context.pickerAria.isButtonPressed())}>
657
678
  {getChildren()}
658
679
  </button>;
659
680
  }
@@ -693,126 +714,36 @@ function DateRangePickerErrorMessage(props) {
693
714
  {props.children}
694
715
  </span>;
695
716
  }
696
- function createEscapeDismissFallback(isOpen, close) {
697
- createEffect(() => {
698
- if (!isOpen() || typeof document === "undefined") return;
699
- const onKeyDown = (event) => {
700
- if (event.key !== "Escape" || event.defaultPrevented || event.isComposing) return;
701
- close();
702
- };
703
- document.addEventListener("keydown", onKeyDown);
704
- onCleanup(() => document.removeEventListener("keydown", onKeyDown));
717
+ function datePickerContentClass(className, defaultClassName) {
718
+ if (typeof className === "function") return (renderProps) => className({
719
+ isEntering: renderProps.isEntering,
720
+ isExiting: renderProps.isExiting,
721
+ placement: renderProps.placement
705
722
  });
723
+ return className ?? defaultClassName;
706
724
  }
707
725
  /**
708
726
  * The content area of the date picker (typically contains a Calendar).
727
+ * Overlay enter/exit is owned by Popover, matching RAC DatePicker which renders
728
+ * a Popover + Dialog and has no private animation machine.
709
729
  */
710
730
  function DatePickerContent(props) {
711
731
  const context = useDatePickerContext();
712
- const portalContext = useUNSAFE_PortalContext();
713
- const [contentRef, setContentRef] = createSignal();
714
- const portalContainer = () => portalContext.getContainer?.() ?? void 0;
715
- const popoverAria = createPopover({
716
- triggerRef: () => context.triggerRef()?.parentElement ?? context.triggerRef(),
717
- popoverRef: () => contentRef() ?? null,
718
- placement: "bottom start",
719
- offset: 8,
720
- isNonModal: false,
721
- isKeyboardDismissDisabled: false
722
- }, {
723
- isOpen: () => context.overlayState.isOpen,
724
- open: context.overlayState.open,
725
- close: context.overlayState.close,
726
- toggle: context.overlayState.toggle
727
- });
728
- createEscapeDismissFallback(() => context.overlayState.isOpen, context.overlayState.close);
729
- const isEntering = createEnterAnimation(contentRef, () => context.overlayState.isOpen);
730
- const renderProps = () => ({
731
- isEntering: isEntering(),
732
- isExiting: false,
733
- placement: popoverAria.placement() ?? "bottom"
734
- });
735
- const resolvedClass = () => {
736
- const c = props.class;
737
- if (typeof c === "function") return c(renderProps());
738
- return c ?? "solidaria-DatePickerContent";
739
- };
740
- const cleanPopoverProps = () => {
741
- const { style: _style, ref: _ref, ...rest } = popoverAria.popoverProps;
742
- return rest;
743
- };
744
- const mergedStyle = () => {
745
- return {
746
- ...popoverAria.popoverProps.style,
747
- ...props.style
748
- };
749
- };
750
- return <Show when={context.overlayState.isOpen}>
751
- <Portal mount={portalContainer()}>
752
- <FocusScope contain restoreFocus>
753
- {}
754
- <div ref={setContentRef} {...cleanPopoverProps()} class={resolvedClass()} style={mergedStyle()} data-placement={popoverAria.placement() ?? "bottom"} data-entering={dataAttr(isEntering())}>
755
- {}
756
- <section {...context.pickerAria.dialogProps} tabIndex={-1}>
757
- {props.children}
758
- </section>
759
- </div>
760
- </FocusScope>
761
- </Portal>
762
- </Show>;
732
+ return <Popover trigger="DatePicker" triggerRef={() => context.groupRef() ?? context.triggerRef()} placement="bottom start" offset={8} isOpen={context.overlayState.isOpen} onOpenChange={(open) => {
733
+ if (open) context.overlayState.open();
734
+ else context.overlayState.close();
735
+ }} class={datePickerContentClass(props.class, "solidaria-DatePickerContent")} style={props.style}>
736
+ <Dialog {...context.pickerAria.dialogProps}>{props.children}</Dialog>
737
+ </Popover>;
763
738
  }
764
739
  function DateRangePickerContent(props) {
765
740
  const context = useDateRangePickerContext();
766
- const portalContext = useUNSAFE_PortalContext();
767
- const [contentRef, setContentRef] = createSignal();
768
- const portalContainer = () => portalContext.getContainer?.() ?? void 0;
769
- const popoverAria = createPopover({
770
- triggerRef: () => context.triggerRef()?.parentElement ?? context.triggerRef(),
771
- popoverRef: () => contentRef() ?? null,
772
- placement: "bottom start",
773
- offset: 8,
774
- isNonModal: false,
775
- isKeyboardDismissDisabled: false
776
- }, {
777
- isOpen: () => context.overlayState.isOpen,
778
- open: context.overlayState.open,
779
- close: context.overlayState.close,
780
- toggle: context.overlayState.toggle
781
- });
782
- createEscapeDismissFallback(() => context.overlayState.isOpen, context.overlayState.close);
783
- const isEntering = createEnterAnimation(contentRef, () => context.overlayState.isOpen);
784
- const renderProps = () => ({
785
- isEntering: isEntering(),
786
- isExiting: false,
787
- placement: popoverAria.placement() ?? "bottom"
788
- });
789
- const resolvedClass = () => {
790
- const c = props.class;
791
- if (typeof c === "function") return c(renderProps());
792
- return c ?? "solidaria-DateRangePickerContent";
793
- };
794
- const cleanPopoverProps = () => {
795
- const { style: _style, ref: _ref, ...rest } = popoverAria.popoverProps;
796
- return rest;
797
- };
798
- const mergedStyle = () => {
799
- return {
800
- ...popoverAria.popoverProps.style,
801
- ...props.style
802
- };
803
- };
804
- return <Show when={context.overlayState.isOpen}>
805
- <Portal mount={portalContainer()}>
806
- <FocusScope contain restoreFocus>
807
- {}
808
- <div ref={setContentRef} {...cleanPopoverProps()} class={resolvedClass()} style={mergedStyle()} data-placement={popoverAria.placement() ?? "bottom"} data-entering={dataAttr(isEntering())}>
809
- <section {...context.pickerAria.dialogProps} tabIndex={-1}>
810
- {props.children}
811
- </section>
812
- </div>
813
- </FocusScope>
814
- </Portal>
815
- </Show>;
741
+ return <Popover trigger="DateRangePicker" triggerRef={() => context.groupRef() ?? context.triggerRef()} placement="bottom start" offset={8} isOpen={context.overlayState.isOpen} onOpenChange={(open) => {
742
+ if (open) context.overlayState.open();
743
+ else context.overlayState.close();
744
+ }} class={datePickerContentClass(props.class, "solidaria-DateRangePickerContent")} style={props.style}>
745
+ <Dialog {...context.pickerAria.dialogProps}>{props.children}</Dialog>
746
+ </Popover>;
816
747
  }
817
748
  //#endregion
818
749
  export { HiddenDateInput as _, DatePickerDescription as a, DatePickerStateContext as c, DateRangePickerContent as d, DateRangePickerDescription as f, useDatePickerContext as g, DateRangePickerStateContext as h, DatePickerContext as i, DateRangePicker as l, DateRangePickerLabel as m, DatePickerButton as n, DatePickerErrorMessage as o, DateRangePickerErrorMessage as p, DatePickerContent as r, DatePickerLabel as s, DatePicker as t, DateRangePickerButton as u };