@proyecto-viviana/solidaria-components 0.5.1 → 0.7.0-rc.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 (655) hide show
  1. package/LICENSE-APACHE-2.0 +201 -0
  2. package/NOTICE +91 -0
  3. package/README.md +57 -34
  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 +20 -17
  19. package/dist/Alert.js.map +1 -1
  20. package/dist/Alert.jsx +10 -6
  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 +19 -6
  25. package/dist/Autocomplete.js.map +1 -1
  26. package/dist/Autocomplete.jsx +21 -8
  27. package/dist/Autocomplete.jsx.map +1 -1
  28. package/dist/Breadcrumbs.d.ts +2 -1
  29. package/dist/Breadcrumbs.d.ts.map +1 -1
  30. package/dist/Breadcrumbs.js +152 -59
  31. package/dist/Breadcrumbs.js.map +1 -1
  32. package/dist/Breadcrumbs.jsx +99 -19
  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 +144 -79
  37. package/dist/Button.js.map +1 -1
  38. package/dist/Button.jsx +124 -50
  39. package/dist/Button.jsx.map +1 -1
  40. package/dist/Calendar.d.ts +9 -7
  41. package/dist/Calendar.d.ts.map +1 -1
  42. package/dist/Calendar.js +321 -228
  43. package/dist/Calendar.js.map +1 -1
  44. package/dist/Calendar.jsx +74 -41
  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 +3 -19
  53. package/dist/Checkbox.d.ts.map +1 -1
  54. package/dist/Checkbox.js +422 -317
  55. package/dist/Checkbox.js.map +1 -1
  56. package/dist/Checkbox.jsx +150 -131
  57. package/dist/Checkbox.jsx.map +1 -1
  58. package/dist/Collection.d.ts +152 -6
  59. package/dist/Collection.d.ts.map +1 -1
  60. package/dist/Collection.js +245 -78
  61. package/dist/Collection.js.map +1 -1
  62. package/dist/Collection.jsx +150 -12
  63. package/dist/Collection.jsx.map +1 -1
  64. package/dist/Color.d.ts +8 -572
  65. package/dist/Color.d.ts.map +1 -1
  66. package/dist/Color.js +8 -1717
  67. package/dist/Color.jsx +8 -1340
  68. package/dist/ColorArea.d.ts +104 -0
  69. package/dist/ColorArea.d.ts.map +1 -0
  70. package/dist/ColorArea.js +382 -0
  71. package/dist/ColorArea.js.map +1 -0
  72. package/dist/ColorArea.jsx +286 -0
  73. package/dist/ColorArea.jsx.map +1 -0
  74. package/dist/ColorEditor.d.ts +3 -1
  75. package/dist/ColorEditor.d.ts.map +1 -1
  76. package/dist/ColorEditor.js +147 -125
  77. package/dist/ColorEditor.js.map +1 -1
  78. package/dist/ColorEditor.jsx +12 -6
  79. package/dist/ColorEditor.jsx.map +1 -1
  80. package/dist/ColorField.d.ts +89 -0
  81. package/dist/ColorField.d.ts.map +1 -0
  82. package/dist/ColorField.js +395 -0
  83. package/dist/ColorField.js.map +1 -0
  84. package/dist/ColorField.jsx +280 -0
  85. package/dist/ColorField.jsx.map +1 -0
  86. package/dist/ColorPicker.d.ts +33 -0
  87. package/dist/ColorPicker.d.ts.map +1 -0
  88. package/dist/ColorPicker.js +86 -0
  89. package/dist/ColorPicker.js.map +1 -0
  90. package/dist/ColorPicker.jsx +67 -0
  91. package/dist/ColorPicker.jsx.map +1 -0
  92. package/dist/ColorSlider.d.ts +145 -0
  93. package/dist/ColorSlider.d.ts.map +1 -0
  94. package/dist/ColorSlider.js +444 -0
  95. package/dist/ColorSlider.js.map +1 -0
  96. package/dist/ColorSlider.jsx +319 -0
  97. package/dist/ColorSlider.jsx.map +1 -0
  98. package/dist/ColorSwatch.d.ts +37 -0
  99. package/dist/ColorSwatch.d.ts.map +1 -0
  100. package/dist/ColorSwatch.js +101 -0
  101. package/dist/ColorSwatch.js.map +1 -0
  102. package/dist/ColorSwatch.jsx +84 -0
  103. package/dist/ColorSwatch.jsx.map +1 -0
  104. package/dist/ColorSwatchPicker.d.ts +82 -0
  105. package/dist/ColorSwatchPicker.d.ts.map +1 -0
  106. package/dist/ColorSwatchPicker.js +364 -0
  107. package/dist/ColorSwatchPicker.js.map +1 -0
  108. package/dist/ColorSwatchPicker.jsx +314 -0
  109. package/dist/ColorSwatchPicker.jsx.map +1 -0
  110. package/dist/ColorThumb.d.ts +16 -0
  111. package/dist/ColorThumb.d.ts.map +1 -0
  112. package/dist/ColorThumb.js +14 -0
  113. package/dist/ColorThumb.jsx +14 -0
  114. package/dist/ColorWheel.d.ts +103 -0
  115. package/dist/ColorWheel.d.ts.map +1 -0
  116. package/dist/ColorWheel.js +312 -0
  117. package/dist/ColorWheel.js.map +1 -0
  118. package/dist/ColorWheel.jsx +224 -0
  119. package/dist/ColorWheel.jsx.map +1 -0
  120. package/dist/ComboBox.d.ts +68 -32
  121. package/dist/ComboBox.d.ts.map +1 -1
  122. package/dist/ComboBox.js +564 -292
  123. package/dist/ComboBox.js.map +1 -1
  124. package/dist/ComboBox.jsx +235 -89
  125. package/dist/ComboBox.jsx.map +1 -1
  126. package/dist/ContextualHelpTrigger.d.ts +1 -7
  127. package/dist/ContextualHelpTrigger.d.ts.map +1 -1
  128. package/dist/ContextualHelpTrigger.js +104 -86
  129. package/dist/ContextualHelpTrigger.js.map +1 -1
  130. package/dist/ContextualHelpTrigger.jsx +38 -30
  131. package/dist/ContextualHelpTrigger.jsx.map +1 -1
  132. package/dist/DateField.d.ts +15 -9
  133. package/dist/DateField.d.ts.map +1 -1
  134. package/dist/DateField.js +0 -2
  135. package/dist/DateField.jsx +0 -2
  136. package/dist/DateField2.js +262 -196
  137. package/dist/DateField2.js.map +1 -1
  138. package/dist/DateField2.jsx +114 -74
  139. package/dist/DateField2.jsx.map +1 -1
  140. package/dist/DatePicker.d.ts +13 -34
  141. package/dist/DatePicker.d.ts.map +1 -1
  142. package/dist/DatePicker.js +3 -2
  143. package/dist/DatePicker.jsx +3 -2
  144. package/dist/DatePicker2.js +671 -512
  145. package/dist/DatePicker2.js.map +1 -1
  146. package/dist/DatePicker2.jsx +342 -222
  147. package/dist/DatePicker2.jsx.map +1 -1
  148. package/dist/DateRangePickerContext.d.ts +7 -0
  149. package/dist/DateRangePickerContext.d.ts.map +1 -1
  150. package/dist/Dialog.d.ts +6 -25
  151. package/dist/Dialog.d.ts.map +1 -1
  152. package/dist/Dialog.js +181 -232
  153. package/dist/Dialog.js.map +1 -1
  154. package/dist/Dialog.jsx +138 -98
  155. package/dist/Dialog.jsx.map +1 -1
  156. package/dist/Disclosure.d.ts +1 -9
  157. package/dist/Disclosure.d.ts.map +1 -1
  158. package/dist/Disclosure.js +167 -92
  159. package/dist/Disclosure.js.map +1 -1
  160. package/dist/Disclosure.jsx +62 -22
  161. package/dist/Disclosure.jsx.map +1 -1
  162. package/dist/DragAndDrop.d.ts +9 -6
  163. package/dist/DragAndDrop.d.ts.map +1 -1
  164. package/dist/DragAndDrop.js +40 -23
  165. package/dist/DragAndDrop.js.map +1 -1
  166. package/dist/DragAndDrop.jsx +23 -5
  167. package/dist/DragAndDrop.jsx.map +1 -1
  168. package/dist/DragPreview.d.ts +1 -1
  169. package/dist/DragPreview.d.ts.map +1 -1
  170. package/dist/DropZone.d.ts +4 -3
  171. package/dist/DropZone.d.ts.map +1 -1
  172. package/dist/DropZone.js +107 -57
  173. package/dist/DropZone.js.map +1 -1
  174. package/dist/DropZone.jsx +49 -13
  175. package/dist/DropZone.jsx.map +1 -1
  176. package/dist/ElementTag.d.ts +9 -20
  177. package/dist/ElementTag.d.ts.map +1 -1
  178. package/dist/ElementTag.js +8 -210
  179. package/dist/ElementTag.js.map +1 -1
  180. package/dist/ElementTag.jsx +8 -57
  181. package/dist/ElementTag.jsx.map +1 -1
  182. package/dist/FieldError.d.ts +8 -7
  183. package/dist/FieldError.d.ts.map +1 -1
  184. package/dist/FieldError.js +33 -13
  185. package/dist/FieldError.js.map +1 -1
  186. package/dist/FieldError.jsx +20 -5
  187. package/dist/FieldError.jsx.map +1 -1
  188. package/dist/FileTrigger.d.ts +1 -7
  189. package/dist/FileTrigger.d.ts.map +1 -1
  190. package/dist/FileTrigger.js +69 -17
  191. package/dist/FileTrigger.js.map +1 -1
  192. package/dist/FileTrigger.jsx +49 -3
  193. package/dist/FileTrigger.jsx.map +1 -1
  194. package/dist/Focusable.d.ts +2 -8
  195. package/dist/Focusable.d.ts.map +1 -1
  196. package/dist/Focusable.js +23 -6
  197. package/dist/Focusable.js.map +1 -1
  198. package/dist/Focusable.jsx +22 -5
  199. package/dist/Focusable.jsx.map +1 -1
  200. package/dist/Form.d.ts +9 -8
  201. package/dist/Form.d.ts.map +1 -1
  202. package/dist/Form.js +82 -42
  203. package/dist/Form.js.map +1 -1
  204. package/dist/Form.jsx +52 -17
  205. package/dist/Form.jsx.map +1 -1
  206. package/dist/GridList.d.ts +65 -37
  207. package/dist/GridList.d.ts.map +1 -1
  208. package/dist/GridList.js +512 -277
  209. package/dist/GridList.js.map +1 -1
  210. package/dist/GridList.jsx +307 -134
  211. package/dist/GridList.jsx.map +1 -1
  212. package/dist/Heading.d.ts +15 -0
  213. package/dist/Heading.d.ts.map +1 -0
  214. package/dist/Heading.js +55 -0
  215. package/dist/Heading.js.map +1 -0
  216. package/dist/Heading.jsx +40 -0
  217. package/dist/Heading.jsx.map +1 -0
  218. package/dist/HiddenDateInput.d.ts +1 -7
  219. package/dist/HiddenDateInput.d.ts.map +1 -1
  220. package/dist/Icon.d.ts +4 -1
  221. package/dist/Icon.d.ts.map +1 -1
  222. package/dist/Icon.js +55 -38
  223. package/dist/Icon.js.map +1 -1
  224. package/dist/Icon.jsx +12 -4
  225. package/dist/Icon.jsx.map +1 -1
  226. package/dist/Keyboard.d.ts +1 -7
  227. package/dist/Keyboard.d.ts.map +1 -1
  228. package/dist/Keyboard.js +24 -11
  229. package/dist/Keyboard.js.map +1 -1
  230. package/dist/Keyboard.jsx +15 -2
  231. package/dist/Keyboard.jsx.map +1 -1
  232. package/dist/Label.d.ts +20 -0
  233. package/dist/Label.d.ts.map +1 -0
  234. package/dist/Label.js +60 -0
  235. package/dist/Label.js.map +1 -0
  236. package/dist/Label.jsx +47 -0
  237. package/dist/Label.jsx.map +1 -0
  238. package/dist/Landmark.d.ts +4 -1
  239. package/dist/Landmark.d.ts.map +1 -1
  240. package/dist/Landmark.js +10 -4
  241. package/dist/Landmark.js.map +1 -1
  242. package/dist/Landmark.jsx +5 -1
  243. package/dist/Landmark.jsx.map +1 -1
  244. package/dist/Link.d.ts +4 -7
  245. package/dist/Link.d.ts.map +1 -1
  246. package/dist/Link.js +80 -47
  247. package/dist/Link.js.map +1 -1
  248. package/dist/Link.jsx +76 -21
  249. package/dist/Link.jsx.map +1 -1
  250. package/dist/ListBox.d.ts +62 -33
  251. package/dist/ListBox.d.ts.map +1 -1
  252. package/dist/ListBox.js +858 -411
  253. package/dist/ListBox.js.map +1 -1
  254. package/dist/ListBox.jsx +478 -268
  255. package/dist/ListBox.jsx.map +1 -1
  256. package/dist/ListDropTargetDelegate.d.ts +3 -0
  257. package/dist/ListDropTargetDelegate.d.ts.map +1 -1
  258. package/dist/Menu.d.ts +51 -34
  259. package/dist/Menu.d.ts.map +1 -1
  260. package/dist/Menu.js +808 -427
  261. package/dist/Menu.js.map +1 -1
  262. package/dist/Menu.jsx +570 -296
  263. package/dist/Menu.jsx.map +1 -1
  264. package/dist/Meter.d.ts +6 -13
  265. package/dist/Meter.d.ts.map +1 -1
  266. package/dist/Meter.js +55 -18
  267. package/dist/Meter.js.map +1 -1
  268. package/dist/Meter.jsx +33 -8
  269. package/dist/Meter.jsx.map +1 -1
  270. package/dist/Modal.d.ts +1 -7
  271. package/dist/Modal.d.ts.map +1 -1
  272. package/dist/Modal.js +106 -74
  273. package/dist/Modal.js.map +1 -1
  274. package/dist/Modal.jsx +68 -57
  275. package/dist/Modal.jsx.map +1 -1
  276. package/dist/NumberField.d.ts +6 -9
  277. package/dist/NumberField.d.ts.map +1 -1
  278. package/dist/NumberField.js +344 -136
  279. package/dist/NumberField.js.map +1 -1
  280. package/dist/NumberField.jsx +194 -38
  281. package/dist/NumberField.jsx.map +1 -1
  282. package/dist/Popover.d.ts +21 -7
  283. package/dist/Popover.d.ts.map +1 -1
  284. package/dist/Popover.js +392 -192
  285. package/dist/Popover.js.map +1 -1
  286. package/dist/Popover.jsx +237 -93
  287. package/dist/Popover.jsx.map +1 -1
  288. package/dist/Pressable.d.ts +2 -8
  289. package/dist/Pressable.d.ts.map +1 -1
  290. package/dist/Pressable.js +23 -6
  291. package/dist/Pressable.js.map +1 -1
  292. package/dist/Pressable.jsx +22 -5
  293. package/dist/Pressable.jsx.map +1 -1
  294. package/dist/PreviewTrigger.d.ts +24 -0
  295. package/dist/PreviewTrigger.d.ts.map +1 -0
  296. package/dist/PreviewTrigger.js +128 -0
  297. package/dist/PreviewTrigger.js.map +1 -0
  298. package/dist/PreviewTrigger.jsx +117 -0
  299. package/dist/PreviewTrigger.jsx.map +1 -0
  300. package/dist/ProgressBar.d.ts +1 -7
  301. package/dist/ProgressBar.d.ts.map +1 -1
  302. package/dist/ProgressBar.js +49 -16
  303. package/dist/ProgressBar.js.map +1 -1
  304. package/dist/ProgressBar.jsx +30 -6
  305. package/dist/ProgressBar.jsx.map +1 -1
  306. package/dist/RadioGroup.d.ts +4 -20
  307. package/dist/RadioGroup.d.ts.map +1 -1
  308. package/dist/RadioGroup.js +459 -338
  309. package/dist/RadioGroup.js.map +1 -1
  310. package/dist/RadioGroup.jsx +186 -153
  311. package/dist/RadioGroup.jsx.map +1 -1
  312. package/dist/RangeCalendar.d.ts +11 -7
  313. package/dist/RangeCalendar.d.ts.map +1 -1
  314. package/dist/RangeCalendar.js +299 -208
  315. package/dist/RangeCalendar.js.map +1 -1
  316. package/dist/RangeCalendar.jsx +79 -47
  317. package/dist/RangeCalendar.jsx.map +1 -1
  318. package/dist/RouterProvider.d.ts +17 -69
  319. package/dist/RouterProvider.d.ts.map +1 -1
  320. package/dist/RouterProvider.js +12 -116
  321. package/dist/RouterProvider.jsx +12 -110
  322. package/dist/SearchField.d.ts +5 -8
  323. package/dist/SearchField.d.ts.map +1 -1
  324. package/dist/SearchField.js +212 -181
  325. package/dist/SearchField.js.map +1 -1
  326. package/dist/SearchField.jsx +94 -78
  327. package/dist/SearchField.jsx.map +1 -1
  328. package/dist/Select.d.ts +73 -36
  329. package/dist/Select.d.ts.map +1 -1
  330. package/dist/Select.js +700 -453
  331. package/dist/Select.js.map +1 -1
  332. package/dist/Select.jsx +356 -237
  333. package/dist/Select.jsx.map +1 -1
  334. package/dist/SelectionIndicator.d.ts +1 -4
  335. package/dist/SelectionIndicator.d.ts.map +1 -1
  336. package/dist/SelectionIndicator.js +29 -13
  337. package/dist/SelectionIndicator.js.map +1 -1
  338. package/dist/SelectionIndicator.jsx +18 -4
  339. package/dist/SelectionIndicator.jsx.map +1 -1
  340. package/dist/Separator.d.ts +3 -9
  341. package/dist/Separator.d.ts.map +1 -1
  342. package/dist/Separator.js +24 -12
  343. package/dist/Separator.js.map +1 -1
  344. package/dist/Separator.jsx +18 -9
  345. package/dist/Separator.jsx.map +1 -1
  346. package/dist/SharedElementTransition.d.ts +1 -10
  347. package/dist/SharedElementTransition.d.ts.map +1 -1
  348. package/dist/SharedElementTransition.js +68 -40
  349. package/dist/SharedElementTransition.js.map +1 -1
  350. package/dist/SharedElementTransition.jsx +49 -25
  351. package/dist/SharedElementTransition.jsx.map +1 -1
  352. package/dist/Slider.d.ts +25 -26
  353. package/dist/Slider.d.ts.map +1 -1
  354. package/dist/Slider.js +324 -167
  355. package/dist/Slider.js.map +1 -1
  356. package/dist/Slider.jsx +195 -93
  357. package/dist/Slider.jsx.map +1 -1
  358. package/dist/StepList.d.ts +2 -8
  359. package/dist/StepList.d.ts.map +1 -1
  360. package/dist/StepList.js +121 -75
  361. package/dist/StepList.js.map +1 -1
  362. package/dist/StepList.jsx +67 -27
  363. package/dist/StepList.jsx.map +1 -1
  364. package/dist/Switch.d.ts +17 -11
  365. package/dist/Switch.d.ts.map +1 -1
  366. package/dist/Switch.js +213 -128
  367. package/dist/Switch.js.map +1 -1
  368. package/dist/Switch.jsx +68 -31
  369. package/dist/Switch.jsx.map +1 -1
  370. package/dist/Table.d.ts +21 -2
  371. package/dist/Table.d.ts.map +1 -1
  372. package/dist/Table.js +938 -638
  373. package/dist/Table.js.map +1 -1
  374. package/dist/Table.jsx +537 -259
  375. package/dist/Table.jsx.map +1 -1
  376. package/dist/Tabs.d.ts +2 -7
  377. package/dist/Tabs.d.ts.map +1 -1
  378. package/dist/Tabs.js +322 -300
  379. package/dist/Tabs.js.map +1 -1
  380. package/dist/Tabs.jsx +106 -67
  381. package/dist/Tabs.jsx.map +1 -1
  382. package/dist/TagGroup.d.ts +32 -22
  383. package/dist/TagGroup.d.ts.map +1 -1
  384. package/dist/TagGroup.js +377 -136
  385. package/dist/TagGroup.js.map +1 -1
  386. package/dist/TagGroup.jsx +220 -53
  387. package/dist/TagGroup.jsx.map +1 -1
  388. package/dist/Text.d.ts +3 -3
  389. package/dist/Text.d.ts.map +1 -1
  390. package/dist/Text.js +38 -8
  391. package/dist/Text.js.map +1 -1
  392. package/dist/Text.jsx +27 -5
  393. package/dist/Text.jsx.map +1 -1
  394. package/dist/TextField.d.ts +4 -17
  395. package/dist/TextField.d.ts.map +1 -1
  396. package/dist/TextField.js +116 -142
  397. package/dist/TextField.js.map +1 -1
  398. package/dist/TextField.jsx +88 -115
  399. package/dist/TextField.jsx.map +1 -1
  400. package/dist/TimeField.d.ts +3 -16
  401. package/dist/TimeField.d.ts.map +1 -1
  402. package/dist/TimeField.js +121 -107
  403. package/dist/TimeField.js.map +1 -1
  404. package/dist/TimeField.jsx +67 -54
  405. package/dist/TimeField.jsx.map +1 -1
  406. package/dist/Toast.d.ts +27 -14
  407. package/dist/Toast.d.ts.map +1 -1
  408. package/dist/Toast.js +273 -113
  409. package/dist/Toast.js.map +1 -1
  410. package/dist/Toast.jsx +182 -32
  411. package/dist/Toast.jsx.map +1 -1
  412. package/dist/ToggleButton.d.ts +1 -7
  413. package/dist/ToggleButton.d.ts.map +1 -1
  414. package/dist/ToggleButton.js +75 -35
  415. package/dist/ToggleButton.js.map +1 -1
  416. package/dist/ToggleButton.jsx +39 -13
  417. package/dist/ToggleButton.jsx.map +1 -1
  418. package/dist/ToggleButtonGroup.d.ts +1 -7
  419. package/dist/ToggleButtonGroup.d.ts.map +1 -1
  420. package/dist/ToggleButtonGroup.js +59 -44
  421. package/dist/ToggleButtonGroup.js.map +1 -1
  422. package/dist/ToggleButtonGroup.jsx +25 -12
  423. package/dist/ToggleButtonGroup.jsx.map +1 -1
  424. package/dist/TokenField.d.ts +54 -0
  425. package/dist/TokenField.d.ts.map +1 -0
  426. package/dist/TokenField.js +374 -0
  427. package/dist/TokenField.js.map +1 -0
  428. package/dist/TokenField.jsx +272 -0
  429. package/dist/TokenField.jsx.map +1 -0
  430. package/dist/Toolbar.d.ts +2 -7
  431. package/dist/Toolbar.d.ts.map +1 -1
  432. package/dist/Toolbar.js +37 -22
  433. package/dist/Toolbar.js.map +1 -1
  434. package/dist/Toolbar.jsx +17 -8
  435. package/dist/Toolbar.jsx.map +1 -1
  436. package/dist/Tooltip.d.ts +2 -7
  437. package/dist/Tooltip.d.ts.map +1 -1
  438. package/dist/Tooltip.js +128 -78
  439. package/dist/Tooltip.js.map +1 -1
  440. package/dist/Tooltip.jsx +83 -46
  441. package/dist/Tooltip.jsx.map +1 -1
  442. package/dist/Tree.d.ts +85 -39
  443. package/dist/Tree.d.ts.map +1 -1
  444. package/dist/Tree.js +926 -414
  445. package/dist/Tree.js.map +1 -1
  446. package/dist/Tree.jsx +450 -195
  447. package/dist/Tree.jsx.map +1 -1
  448. package/dist/Virtualizer.d.ts +41 -10
  449. package/dist/Virtualizer.d.ts.map +1 -1
  450. package/dist/Virtualizer.js +2 -2
  451. package/dist/Virtualizer.jsx +2 -2
  452. package/dist/Virtualizer2.js +554 -144
  453. package/dist/Virtualizer2.js.map +1 -1
  454. package/dist/Virtualizer2.jsx +516 -124
  455. package/dist/Virtualizer2.jsx.map +1 -1
  456. package/dist/VirtualizerLayouts.d.ts +55 -2
  457. package/dist/VirtualizerLayouts.d.ts.map +1 -1
  458. package/dist/VisuallyHidden.d.ts +4 -3
  459. package/dist/VisuallyHidden.d.ts.map +1 -1
  460. package/dist/VisuallyHidden.js +18 -11
  461. package/dist/VisuallyHidden.js.map +1 -1
  462. package/dist/VisuallyHidden.jsx +15 -9
  463. package/dist/VisuallyHidden.jsx.map +1 -1
  464. package/dist/calendarHeadingTitle.d.ts +14 -0
  465. package/dist/calendarHeadingTitle.d.ts.map +1 -0
  466. package/dist/calendarHeadingTitle.js +23 -0
  467. package/dist/calendarHeadingTitle.js.map +1 -0
  468. package/dist/calendarHeadingTitle.jsx +23 -0
  469. package/dist/calendarHeadingTitle.jsx.map +1 -0
  470. package/dist/contexts.d.ts +31 -1
  471. package/dist/contexts.d.ts.map +1 -1
  472. package/dist/contexts.js +9 -1
  473. package/dist/contexts.js.map +1 -1
  474. package/dist/contexts.jsx +9 -1
  475. package/dist/contexts.jsx.map +1 -1
  476. package/dist/fileTriggerContext.d.ts +5 -0
  477. package/dist/fileTriggerContext.d.ts.map +1 -0
  478. package/dist/fileTriggerContext.js +7 -0
  479. package/dist/fileTriggerContext.js.map +1 -0
  480. package/dist/fileTriggerContext.jsx +7 -0
  481. package/dist/fileTriggerContext.jsx.map +1 -0
  482. package/dist/index.d.ts +27 -15
  483. package/dist/index.d.ts.map +1 -1
  484. package/dist/index.js +30 -18
  485. package/dist/index.jsx +30 -18
  486. package/dist/intl/index.d.ts +16 -0
  487. package/dist/intl/index.d.ts.map +1 -0
  488. package/dist/intl.js +212 -0
  489. package/dist/intl.js.map +1 -0
  490. package/dist/intl.jsx +212 -0
  491. package/dist/intl.jsx.map +1 -0
  492. package/dist/loadMoreSentinel.d.ts +7 -0
  493. package/dist/loadMoreSentinel.d.ts.map +1 -0
  494. package/dist/loadMoreSentinel.js +30 -0
  495. package/dist/loadMoreSentinel.js.map +1 -0
  496. package/dist/loadMoreSentinel.jsx +30 -0
  497. package/dist/loadMoreSentinel.jsx.map +1 -0
  498. package/dist/slots.d.ts +35 -0
  499. package/dist/slots.d.ts.map +1 -0
  500. package/dist/slots.js +66 -0
  501. package/dist/slots.js.map +1 -0
  502. package/dist/slots.jsx +66 -0
  503. package/dist/slots.jsx.map +1 -0
  504. package/dist/staticSelectCollection.d.ts +2 -0
  505. package/dist/staticSelectCollection.d.ts.map +1 -0
  506. package/dist/staticSelectCollection.js +2 -0
  507. package/dist/staticSelectCollection.jsx +2 -0
  508. package/dist/useDragAndDrop.d.ts +6 -2
  509. package/dist/useDragAndDrop.d.ts.map +1 -1
  510. package/dist/useDragAndDrop2.js +39 -21
  511. package/dist/useDragAndDrop2.js.map +1 -1
  512. package/dist/useDragAndDrop2.jsx +39 -21
  513. package/dist/useDragAndDrop2.jsx.map +1 -1
  514. package/dist/utils.d.ts +49 -9
  515. package/dist/utils.d.ts.map +1 -1
  516. package/dist/utils.js +119 -24
  517. package/dist/utils.js.map +1 -1
  518. package/dist/utils.jsx +110 -24
  519. package/dist/utils.jsx.map +1 -1
  520. package/dist/virtualizer/Layout.d.ts +12 -2
  521. package/dist/virtualizer/Layout.d.ts.map +1 -1
  522. package/dist/virtualizer/Layout.js +23 -2
  523. package/dist/virtualizer/Layout.js.map +1 -1
  524. package/dist/virtualizer/Layout.jsx +23 -2
  525. package/dist/virtualizer/Layout.jsx.map +1 -1
  526. package/package.json +87 -10
  527. package/src/ActionBar.tsx +50 -24
  528. package/src/ActionGroup.tsx +30 -19
  529. package/src/Alert.tsx +12 -7
  530. package/src/Autocomplete.tsx +25 -16
  531. package/src/Breadcrumbs.tsx +139 -24
  532. package/src/Button.tsx +214 -76
  533. package/src/Calendar.tsx +120 -61
  534. package/src/CalendarPicker.tsx +16 -1
  535. package/src/Checkbox.tsx +205 -227
  536. package/src/Collection.tsx +334 -12
  537. package/src/Color.tsx +8 -2454
  538. package/src/ColorArea.tsx +479 -0
  539. package/src/ColorEditor.tsx +9 -9
  540. package/src/ColorField.tsx +471 -0
  541. package/src/ColorPicker.tsx +126 -0
  542. package/src/ColorSlider.tsx +562 -0
  543. package/src/ColorSwatch.tsx +129 -0
  544. package/src/ColorSwatchPicker.tsx +623 -0
  545. package/src/ColorThumb.tsx +19 -0
  546. package/src/ColorWheel.tsx +398 -0
  547. package/src/ComboBox.tsx +471 -173
  548. package/src/ContextualHelpTrigger.tsx +49 -65
  549. package/src/DateField.tsx +174 -131
  550. package/src/DatePicker.tsx +501 -376
  551. package/src/DateRangePickerContext.tsx +8 -0
  552. package/src/Dialog.tsx +224 -162
  553. package/src/Disclosure.tsx +85 -34
  554. package/src/DragAndDrop.tsx +51 -9
  555. package/src/DragPreview.tsx +20 -1
  556. package/src/DropZone.tsx +77 -42
  557. package/src/ElementTag.tsx +14 -104
  558. package/src/FieldError.tsx +39 -7
  559. package/src/FileTrigger.tsx +71 -4
  560. package/src/Focusable.tsx +27 -11
  561. package/src/Form.tsx +64 -15
  562. package/src/GridList.tsx +478 -214
  563. package/src/Heading.tsx +59 -0
  564. package/src/HiddenDateInput.tsx +19 -3
  565. package/src/Icon.tsx +19 -4
  566. package/src/Keyboard.tsx +18 -2
  567. package/src/Label.tsx +77 -0
  568. package/src/Landmark.tsx +6 -1
  569. package/src/Link.tsx +103 -30
  570. package/src/ListBox.tsx +924 -530
  571. package/src/ListDropTargetDelegate.ts +4 -0
  572. package/src/Menu.tsx +883 -465
  573. package/src/Meter.tsx +42 -8
  574. package/src/Modal.tsx +89 -80
  575. package/src/NumberField.tsx +267 -66
  576. package/src/Popover.tsx +454 -156
  577. package/src/Pressable.tsx +27 -11
  578. package/src/PreviewTrigger.tsx +171 -0
  579. package/src/ProgressBar.tsx +41 -5
  580. package/src/RadioGroup.tsx +358 -278
  581. package/src/RangeCalendar.tsx +130 -77
  582. package/src/RouterProvider.tsx +33 -215
  583. package/src/SearchField.tsx +157 -136
  584. package/src/Select.tsx +689 -453
  585. package/src/SelectionIndicator.tsx +21 -3
  586. package/src/Separator.tsx +22 -14
  587. package/src/SharedElementTransition.tsx +67 -46
  588. package/src/Slider.tsx +296 -120
  589. package/src/StepList.tsx +88 -38
  590. package/src/Switch.tsx +127 -51
  591. package/src/Table.tsx +842 -479
  592. package/src/Tabs.tsx +186 -156
  593. package/src/TagGroup.tsx +377 -90
  594. package/src/Text.tsx +39 -7
  595. package/src/TextField.tsx +136 -173
  596. package/src/TimeField.tsx +90 -93
  597. package/src/Toast.tsx +238 -82
  598. package/src/ToggleButton.tsx +60 -17
  599. package/src/ToggleButtonGroup.tsx +27 -9
  600. package/src/TokenField.tsx +502 -0
  601. package/src/Toolbar.tsx +21 -17
  602. package/src/Tooltip.tsx +157 -99
  603. package/src/Tree.tsx +888 -360
  604. package/src/Virtualizer.tsx +501 -148
  605. package/src/VirtualizerLayouts.ts +211 -26
  606. package/src/VisuallyHidden.tsx +22 -8
  607. package/src/calendarHeadingTitle.ts +37 -0
  608. package/src/contexts.ts +23 -1
  609. package/src/fileTriggerContext.ts +8 -0
  610. package/src/index.ts +98 -22
  611. package/src/intl/ar-AE.json +6 -0
  612. package/src/intl/bg-BG.json +6 -0
  613. package/src/intl/cs-CZ.json +6 -0
  614. package/src/intl/da-DK.json +6 -0
  615. package/src/intl/de-DE.json +6 -0
  616. package/src/intl/el-GR.json +6 -0
  617. package/src/intl/en-US.json +6 -0
  618. package/src/intl/es-ES.json +6 -0
  619. package/src/intl/et-EE.json +6 -0
  620. package/src/intl/fi-FI.json +6 -0
  621. package/src/intl/fr-FR.json +6 -0
  622. package/src/intl/he-IL.json +6 -0
  623. package/src/intl/hr-HR.json +6 -0
  624. package/src/intl/hu-HU.json +6 -0
  625. package/src/intl/index.ts +125 -0
  626. package/src/intl/it-IT.json +6 -0
  627. package/src/intl/ja-JP.json +6 -0
  628. package/src/intl/ko-KR.json +6 -0
  629. package/src/intl/lt-LT.json +6 -0
  630. package/src/intl/lv-LV.json +6 -0
  631. package/src/intl/nb-NO.json +6 -0
  632. package/src/intl/nl-NL.json +6 -0
  633. package/src/intl/pl-PL.json +6 -0
  634. package/src/intl/pt-BR.json +6 -0
  635. package/src/intl/pt-PT.json +6 -0
  636. package/src/intl/ro-RO.json +6 -0
  637. package/src/intl/ru-RU.json +6 -0
  638. package/src/intl/sk-SK.json +6 -0
  639. package/src/intl/sl-SI.json +6 -0
  640. package/src/intl/sr-SP.json +6 -0
  641. package/src/intl/sv-SE.json +6 -0
  642. package/src/intl/tr-TR.json +6 -0
  643. package/src/intl/uk-UA.json +6 -0
  644. package/src/intl/zh-CN.json +6 -0
  645. package/src/intl/zh-TW.json +6 -0
  646. package/src/loadMoreSentinel.ts +31 -0
  647. package/src/slots.tsx +103 -0
  648. package/src/staticSelectCollection.tsx +25 -0
  649. package/src/useDragAndDrop.ts +35 -33
  650. package/src/utils.tsx +178 -67
  651. package/src/virtualizer/Layout.ts +32 -2
  652. package/dist/Color.js.map +0 -1
  653. package/dist/Color.jsx.map +0 -1
  654. package/dist/RouterProvider.js.map +0 -1
  655. package/dist/RouterProvider.jsx.map +0 -1
@@ -1,21 +1,52 @@
1
- import { Provider, dataAttr, useIsHydrated, useRenderProps } from "./utils.js";
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, useSlot } from "./utils.js";
26
+ import { n as LabelContext } from "./Label.js";
27
+ import { ButtonContext } from "./Button.js";
2
28
  import { TextContext } from "./Text.js";
3
- import { FormContext } from "./Form.js";
29
+ import { FieldErrorContext } from "./FieldError.js";
30
+ import { FormContext, resolveValidationBehavior } from "./Form.js";
31
+ import { Popover } from "./Popover.js";
32
+ import { Dialog } from "./Dialog.js";
4
33
  import { CalendarContext } from "./Calendar.js";
5
34
  import { RangeCalendarContext } from "./RangeCalendar.js";
6
35
  import { d as useDateRangePickerContext, n as DateFieldContext, u as DateRangePickerContext } from "./DateField2.js";
7
- import { Portal, addEventListener, className, createComponent, effect, getNextElement, insert, mergeProps, runHydrationEvents, setAttribute, setProperty, spread, style, template, use } from "solid-js/web";
8
- import { Show, createContext, createEffect, createMemo, createSignal, onCleanup, splitProps, useContext } from "solid-js";
9
- import { FocusScope, createDateField, createDatePicker, createDateRangePicker, createEnterAnimation, createFocusRing, createFormValidation, createHover, createPopover, mergeProps as mergeProps$2, useUNSAFE_PortalContext } from "@proyecto-viviana/solidaria";
10
- import { access, createCalendarState, createDateFieldState, createDatePickerState, createRangeCalendarState } from "@proyecto-viviana/solid-stately";
36
+ import { addEvent, createComponent, effect, getNextElement, insert, mergeProps, readShallow, ref, runHydrationEvents, scope, setAttribute, setProperty, spread, style, template } from "@solidjs/web";
37
+ import { Show, createContext, createMemo, createSignal, createTrackedEffect, useContext } from "solid-js";
38
+ import { createDateField, createDatePicker, createDateRangePicker, createFocusRing, createFormReset, createFormValidation, createHover, mergeProps as mergeProps$1 } from "@proyecto-viviana/solidaria";
39
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
40
+ import { TimeClass, access, createCalendarState, createDateFieldState, createDatePickerState, createRangeCalendarState, toCalendarDateTime, toZoned } from "@proyecto-viviana/solid-stately";
11
41
  //#region src/HiddenDateInput.tsx
12
42
  /**
13
43
  * HiddenDateInput component for solidaria-components
14
44
  *
15
45
  * A hidden native date/datetime-local input for form submission.
16
46
  * Renders server-side with the initial value for SSR safety.
47
+ * Based on packages/react-aria-components/src/HiddenDateInput.tsx.
17
48
  */
18
- var _tmpl$$1 = /*#__PURE__*/ template(`<input tabindex=-1 aria-hidden=true>`);
49
+ var _tmpl$$1 = /* @__PURE__ */ template(`<input tabindex=-1 aria-hidden=true>`);
19
50
  function accessValue(value) {
20
51
  return typeof value === "function" ? value() : value;
21
52
  }
@@ -56,19 +87,31 @@ function HiddenDateInput(props) {
56
87
  return props.focus;
57
88
  }
58
89
  }, props.validationState, inputRef);
59
- createEffect(() => {
90
+ createTrackedEffect(() => {
60
91
  const val = formattedValue();
61
92
  const input = inputRef();
62
93
  if (input && input.value !== val) input.value = val;
63
94
  });
64
- return (() => {
65
- var _el$ = getNextElement(_tmpl$$1);
66
- addEventListener(_el$, "change", usesNativeValidation() ? () => {} : void 0);
67
- use((el) => {
95
+ var _el$ = getNextElement(_tmpl$$1);
96
+ addEvent(_el$, "change", usesNativeValidation() ? () => {} : void 0);
97
+ ref(() => {
98
+ return (el) => {
68
99
  setInputRef(el);
69
- }, _el$);
70
- effect((_p$) => {
71
- var _v$ = inputType(), _v$2 = props.name, _v$3 = props.form, _v$4 = props.autoComplete, _v$5 = props.isDisabled, _v$6 = usesNativeValidation() && props.isRequired ? true : void 0, _v$7 = usesNativeValidation() || void 0, _v$8 = hasValidationBehavior() ? void 0 : formattedMin() || void 0, _v$9 = hasValidationBehavior() ? void 0 : formattedMax() || void 0, _v$0 = {
100
+ };
101
+ }, _el$);
102
+ effect(() => {
103
+ return {
104
+ e: inputType(),
105
+ t: props.name,
106
+ a: props.form,
107
+ o: formattedValue(),
108
+ i: props.autoComplete,
109
+ n: props.isDisabled,
110
+ s: usesNativeValidation() && props.isRequired ? true : void 0,
111
+ h: usesNativeValidation() || void 0,
112
+ r: hasValidationBehavior() ? void 0 : formattedMin() || void 0,
113
+ d: hasValidationBehavior() ? void 0 : formattedMax() || void 0,
114
+ l: readShallow({
72
115
  position: "absolute",
73
116
  width: "1px",
74
117
  height: "1px",
@@ -78,33 +121,22 @@ function HiddenDateInput(props) {
78
121
  clip: "rect(0, 0, 0, 0)",
79
122
  "white-space": "nowrap",
80
123
  "border-width": "0"
81
- };
82
- _v$ !== _p$.e && setAttribute(_el$, "type", _p$.e = _v$);
83
- _v$2 !== _p$.t && setAttribute(_el$, "name", _p$.t = _v$2);
84
- _v$3 !== _p$.a && setAttribute(_el$, "form", _p$.a = _v$3);
85
- _v$4 !== _p$.o && setAttribute(_el$, "autocomplete", _p$.o = _v$4);
86
- _v$5 !== _p$.i && setProperty(_el$, "disabled", _p$.i = _v$5);
87
- _v$6 !== _p$.n && setProperty(_el$, "required", _p$.n = _v$6);
88
- _v$7 !== _p$.s && setProperty(_el$, "hidden", _p$.s = _v$7);
89
- _v$8 !== _p$.h && setAttribute(_el$, "min", _p$.h = _v$8);
90
- _v$9 !== _p$.r && setAttribute(_el$, "max", _p$.r = _v$9);
91
- _p$.d = style(_el$, _v$0, _p$.d);
92
- return _p$;
93
- }, {
94
- e: void 0,
95
- t: void 0,
96
- a: void 0,
97
- o: void 0,
98
- i: void 0,
99
- n: void 0,
100
- s: void 0,
101
- h: void 0,
102
- r: void 0,
103
- d: void 0
104
- });
105
- effect(() => setProperty(_el$, "value", formattedValue()));
106
- return _el$;
107
- })();
124
+ })
125
+ };
126
+ }, ({ e, t, a, o, i, n, s, h, r, d, l }, _p$) => {
127
+ e !== _p$?.e && setAttribute(_el$, "type", e);
128
+ t !== _p$?.t && setAttribute(_el$, "name", t);
129
+ a !== _p$?.a && setAttribute(_el$, "form", a);
130
+ setProperty(_el$, "value", o);
131
+ i !== _p$?.i && setAttribute(_el$, "autocomplete", i);
132
+ n !== _p$?.n && setAttribute(_el$, "disabled", n);
133
+ s !== _p$?.s && setAttribute(_el$, "required", s);
134
+ h !== _p$?.h && setAttribute(_el$, "hidden", h);
135
+ r !== _p$?.r && setAttribute(_el$, "min", r);
136
+ d !== _p$?.d && setAttribute(_el$, "max", d);
137
+ style(_el$, l, _p$?.l);
138
+ });
139
+ return _el$;
108
140
  }
109
141
  //#endregion
110
142
  //#region src/DatePicker.tsx
@@ -114,37 +146,13 @@ function HiddenDateInput(props) {
114
146
  * Pre-wired headless date picker component that combines a date field with a calendar popup.
115
147
  * Port of react-aria-components/src/DatePicker.tsx
116
148
  */
117
- var _tmpl$ = /*#__PURE__*/ template(`<div class="solidaria-DatePicker solidaria-DatePicker--placeholder"aria-hidden=true>`), _tmpl$2 = /*#__PURE__*/ template(`<div>`), _tmpl$3 = /*#__PURE__*/ template(`<div class="solidaria-DateRangePicker solidaria-DateRangePicker--placeholder"aria-hidden=true>`), _tmpl$4 = /*#__PURE__*/ template(`<button>`), _tmpl$5 = /*#__PURE__*/ template(`<span>`), _tmpl$6 = /*#__PURE__*/ template(`<div><section>`);
149
+ var _tmpl$ = /* @__PURE__ */ template(`<div>`);
150
+ var _tmpl$2 = /* @__PURE__ */ template(`<input type=hidden tabindex=-1 aria-hidden=true>`);
151
+ var _tmpl$3 = /* @__PURE__ */ template(`<button>`);
152
+ var _tmpl$4 = /* @__PURE__ */ template(`<span>`);
118
153
  const DatePickerContext = createContext(null);
119
154
  const DatePickerStateContext = createContext(null);
120
155
  const DateRangePickerStateContext = createContext(null);
121
- function withFormValidationBehavior(props, formContext) {
122
- if (!formContext?.validationBehavior) return props;
123
- return new Proxy(props, {
124
- get(target, property, receiver) {
125
- const localValue = Reflect.get(target, property, receiver);
126
- if (property === "validationBehavior" && localValue === void 0) return formContext.validationBehavior;
127
- return localValue;
128
- },
129
- has(target, property) {
130
- return Reflect.has(target, property) || property === "validationBehavior" && formContext.validationBehavior !== void 0;
131
- },
132
- ownKeys(target) {
133
- const keys = new Set(Reflect.ownKeys(target));
134
- if (formContext.validationBehavior !== void 0) keys.add("validationBehavior");
135
- return Array.from(keys);
136
- },
137
- getOwnPropertyDescriptor(target, property) {
138
- const descriptor = Reflect.getOwnPropertyDescriptor(target, property);
139
- if (descriptor) return descriptor;
140
- if (property === "validationBehavior" && formContext.validationBehavior !== void 0) return {
141
- enumerable: true,
142
- configurable: true,
143
- get: () => formContext.validationBehavior
144
- };
145
- }
146
- });
147
- }
148
156
  function useDatePickerContext() {
149
157
  const context = useContext(DatePickerContext);
150
158
  if (!context) throw new Error("DatePicker components must be used within a DatePicker");
@@ -175,27 +183,23 @@ function useDatePickerContext() {
175
183
  * </DatePicker>
176
184
  * ```
177
185
  */
186
+ function focusWithinDomProps(focusProps) {
187
+ const { ref: _ref, onFocus, onBlur, ...rest } = focusProps;
188
+ return {
189
+ ...rest,
190
+ onFocusIn: onFocus,
191
+ onFocusOut: onBlur
192
+ };
193
+ }
178
194
  function DatePicker(props) {
179
- const isHydrated = useIsHydrated();
180
- const formContext = useContext(FormContext);
181
- return createComponent(Show, {
182
- get when() {
183
- return isHydrated();
184
- },
185
- get fallback() {
186
- return getNextElement(_tmpl$);
187
- },
188
- get children() {
189
- return createComponent(DatePickerInner, mergeProps(props, { __formContext: formContext }));
190
- }
191
- });
195
+ return createComponent(DatePickerInner, props);
192
196
  }
193
197
  /**
194
198
  * Internal DatePicker component that renders after client mount.
195
199
  */
196
200
  function DatePickerInner(props) {
197
201
  const formContext = props.__formContext ?? useContext(FormContext);
198
- const [local, stateProps, rest] = splitProps(withFormValidationBehavior(props, formContext), [
202
+ const [local, stateProps, rest] = splitProps(props, [
199
203
  "children",
200
204
  "class",
201
205
  "style",
@@ -225,8 +229,6 @@ function DatePickerInner(props) {
225
229
  "validationState",
226
230
  "validationBehavior",
227
231
  "validate",
228
- "description",
229
- "errorMessage",
230
232
  "isDateUnavailable",
231
233
  "firstDayOfWeek",
232
234
  "visibleMonths",
@@ -235,6 +237,7 @@ function DatePickerInner(props) {
235
237
  "isDateDisabled"
236
238
  ]);
237
239
  const [triggerRef, setTriggerRef] = createSignal(null);
240
+ const [groupRef, setGroupRefState] = createSignal(null);
238
241
  const [fieldRef, setFieldRef] = createSignal(null);
239
242
  const datePickerState = createDatePickerState({
240
243
  get value() {
@@ -302,13 +305,16 @@ function DatePickerInner(props) {
302
305
  };
303
306
  const fieldState = createDateFieldState({
304
307
  ...stateProps,
308
+ get locale() {
309
+ return access(stateProps.locale);
310
+ },
305
311
  value: () => datePickerState.value(),
306
312
  onChange: (value) => {
307
313
  datePickerState.setValue(value);
308
314
  }
309
315
  });
310
316
  const calendarState = createCalendarState({
311
- value: () => datePickerState.value(),
317
+ value: () => datePickerState.dateValue(),
312
318
  onChange: (value) => {
313
319
  if (!value) return;
314
320
  datePickerState.setDateValue(value);
@@ -317,7 +323,9 @@ function DatePickerInner(props) {
317
323
  maxValue: stateProps.maxValue,
318
324
  isDisabled: stateProps.isDisabled,
319
325
  isReadOnly: stateProps.isReadOnly,
320
- locale: stateProps.locale,
326
+ get locale() {
327
+ return access(stateProps.locale);
328
+ },
321
329
  createCalendar: stateProps.createCalendar,
322
330
  isDateUnavailable: stateProps.isDateUnavailable,
323
331
  firstDayOfWeek: stateProps.firstDayOfWeek,
@@ -327,17 +335,26 @@ function DatePickerInner(props) {
327
335
  isDateDisabled: stateProps.isDateDisabled
328
336
  });
329
337
  let wasOpen = false;
330
- createEffect(() => {
338
+ createTrackedEffect(() => {
331
339
  const open = datePickerState.isOpen();
332
340
  if (open && !wasOpen) calendarState.setFocused(true);
333
341
  wasOpen = open;
334
342
  });
343
+ const hasExplicitName = () => Boolean(rest["aria-label"] || rest["aria-labelledby"]);
344
+ const stringLabel = () => {
345
+ const label = rest.label;
346
+ return typeof label === "string" && label !== "" ? label : void 0;
347
+ };
348
+ const [labelRef, hasLabel] = useSlot(!hasExplicitName() && stringLabel() === void 0);
335
349
  const pickerAria = createDatePicker(() => ({
336
350
  ...rest,
337
- description: stateProps.description,
338
- errorMessage: stateProps.errorMessage
351
+ label: stringLabel() ?? (hasExplicitName() ? void 0 : hasLabel())
339
352
  }), fieldState, overlayState, calendarState, () => fieldRef());
340
353
  const fieldAria = createDateField(() => pickerAria.fieldProps, fieldState, () => fieldRef());
354
+ const [resetInput, setResetInput] = createSignal();
355
+ createFormReset(resetInput, fieldState.defaultValue, () => {
356
+ fieldState.setValue(fieldState.defaultValue ?? null);
357
+ });
341
358
  const contextValue = {
342
359
  fieldState,
343
360
  datePickerState,
@@ -349,10 +366,18 @@ function DatePickerInner(props) {
349
366
  const current = triggerRef();
350
367
  if (!current || !current.isConnected) setTriggerRef(() => element);
351
368
  },
369
+ groupRef,
370
+ setGroupRef: (element) => {
371
+ if (!element) return;
372
+ setGroupRefState(() => element);
373
+ },
352
374
  pickerAria
353
375
  };
354
376
  const isInvalid = createMemo(() => fieldState.isInvalid() || datePickerState.builtinValidation().isInvalid || Boolean(stateProps.isInvalid));
377
+ const { isFocused, isFocusVisible, focusProps } = createFocusRing({ within: true });
355
378
  const renderValues = createMemo(() => ({
379
+ isFocusWithin: isFocused(),
380
+ isFocusVisible: isFocusVisible(),
356
381
  isDisabled: fieldState.isDisabled(),
357
382
  isReadOnly: fieldState.isReadOnly(),
358
383
  isRequired: fieldState.isRequired(),
@@ -364,14 +389,62 @@ function DatePickerInner(props) {
364
389
  style: local.style,
365
390
  defaultClassName: "solidaria-DatePicker"
366
391
  }, renderValues);
367
- const validationBehavior = () => stateProps.validationBehavior ?? formContext?.validationBehavior ?? "native";
368
- return createComponent(DatePickerStateContext.Provider, {
392
+ const validationBehavior = () => resolveValidationBehavior(stateProps.validationBehavior, formContext);
393
+ const buttonContextValue = { slots: { default: {
394
+ get id() {
395
+ return pickerAria.buttonProps.id;
396
+ },
397
+ type: "button",
398
+ get "aria-label"() {
399
+ return pickerAria.buttonProps["aria-label"];
400
+ },
401
+ get "aria-labelledby"() {
402
+ return pickerAria.buttonProps["aria-labelledby"];
403
+ },
404
+ get "aria-describedby"() {
405
+ return pickerAria.buttonProps["aria-describedby"];
406
+ },
407
+ get "aria-haspopup"() {
408
+ return pickerAria.buttonProps["aria-haspopup"];
409
+ },
410
+ get "aria-expanded"() {
411
+ return pickerAria.buttonProps["aria-expanded"];
412
+ },
413
+ get isDisabled() {
414
+ return pickerAria.isButtonDisabled();
415
+ },
416
+ onPress() {
417
+ overlayState.open();
418
+ }
419
+ } } };
420
+ const labelContextValue = {
421
+ get id() {
422
+ if (hasExplicitName() || stringLabel() !== void 0 || !hasLabel()) return;
423
+ return pickerAria.labelProps.id;
424
+ },
425
+ ref: labelRef,
426
+ elementType: "span"
427
+ };
428
+ const fieldValidation = createMemo(() => ({
429
+ isInvalid: isInvalid(),
430
+ validationErrors: pickerAria.validationErrors,
431
+ validationDetails: pickerAria.validationDetails
432
+ }));
433
+ const fieldErrorContext = {
434
+ get validation() {
435
+ return fieldValidation();
436
+ },
437
+ get errorMessageProps() {
438
+ return pickerAria.errorMessageProps;
439
+ }
440
+ };
441
+ return createComponent(DatePickerStateContext, {
369
442
  value: fieldState,
370
443
  get children() {
371
- return createComponent(DatePickerContext.Provider, {
444
+ return createComponent(DatePickerContext, {
372
445
  value: contextValue,
373
446
  get children() {
374
- return createComponent(DateFieldContext.Provider, {
447
+ return createComponent(DateFieldContext, {
375
448
  value: {
376
449
  state: fieldState,
377
450
  aria: {
@@ -390,82 +463,112 @@ function DatePickerInner(props) {
390
463
  }
391
464
  },
392
465
  get children() {
393
- return createComponent(CalendarContext.Provider, {
466
+ return createComponent(CalendarContext, {
394
467
  value: calendarState,
395
468
  get children() {
396
- return [(() => {
397
- var _el$2 = getNextElement(_tmpl$2);
398
- use(setFieldRef, _el$2);
399
- insert(_el$2, createComponent(Provider, {
400
- values: [[TextContext, { slots: {
401
- get description() {
402
- return pickerAria.descriptionProps;
469
+ return [
470
+ (() => {
471
+ var _el$ = getNextElement(_tmpl$);
472
+ ref(() => {
473
+ return setFieldRef;
474
+ }, _el$);
475
+ spread(_el$, [() => {
476
+ return focusWithinDomProps(focusProps);
477
+ }, {
478
+ get "class"() {
479
+ return renderProps.class();
403
480
  },
404
- get errorMessage() {
405
- return pickerAria.errorMessageProps;
406
- }
407
- } }]],
408
- get children() {
409
- return props.children;
410
- }
411
- }));
412
- effect((_p$) => {
413
- var _v$ = renderProps.class(), _v$2 = renderProps.style(), _v$3 = dataAttr(fieldState.isDisabled()), _v$4 = dataAttr(fieldState.isReadOnly()), _v$5 = dataAttr(fieldState.isRequired()), _v$6 = dataAttr(isInvalid()), _v$7 = dataAttr(overlayState.isOpen);
414
- _v$ !== _p$.e && className(_el$2, _p$.e = _v$);
415
- _p$.t = style(_el$2, _v$2, _p$.t);
416
- _v$3 !== _p$.a && setAttribute(_el$2, "data-disabled", _p$.a = _v$3);
417
- _v$4 !== _p$.o && setAttribute(_el$2, "data-readonly", _p$.o = _v$4);
418
- _v$5 !== _p$.i && setAttribute(_el$2, "data-required", _p$.i = _v$5);
419
- _v$6 !== _p$.n && setAttribute(_el$2, "data-invalid", _p$.n = _v$6);
420
- _v$7 !== _p$.s && setAttribute(_el$2, "data-open", _p$.s = _v$7);
421
- return _p$;
422
- }, {
423
- e: void 0,
424
- t: void 0,
425
- a: void 0,
426
- o: void 0,
427
- i: void 0,
428
- n: void 0,
429
- s: void 0
430
- });
431
- return _el$2;
432
- })(), createComponent(Show, {
433
- get when() {
434
- return rest.name;
435
- },
436
- get children() {
437
- return createComponent(HiddenDateInput, {
438
- get name() {
439
- return rest.name;
481
+ get style() {
482
+ return renderProps.style();
440
483
  },
441
- get form() {
442
- return rest.form;
484
+ get "data-focus-within"() {
485
+ return dataAttr(isFocused());
443
486
  },
444
- value: () => datePickerState.value(),
445
- get autoComplete() {
446
- return rest.autoComplete;
487
+ get "data-focus-visible"() {
488
+ return dataAttr(isFocusVisible());
447
489
  },
448
- get isDisabled() {
449
- return fieldState.isDisabled();
490
+ get "data-disabled"() {
491
+ return dataAttr(fieldState.isDisabled());
450
492
  },
451
- get isRequired() {
452
- return fieldState.isRequired();
493
+ get "data-readonly"() {
494
+ return dataAttr(fieldState.isReadOnly());
453
495
  },
454
- get validationBehavior() {
455
- return validationBehavior();
496
+ get "data-required"() {
497
+ return dataAttr(fieldState.isRequired());
456
498
  },
457
- validationState: fieldState,
458
- focus: () => {
459
- fieldRef()?.querySelector("[role=\"spinbutton\"]")?.focus();
499
+ get "data-invalid"() {
500
+ return dataAttr(isInvalid());
460
501
  },
461
- minValue: () => access(stateProps.minValue),
462
- maxValue: () => access(stateProps.maxValue),
463
- get granularity() {
464
- return datePickerState.granularity;
502
+ get "data-open"() {
503
+ return dataAttr(overlayState.isOpen);
465
504
  }
466
- });
467
- }
468
- })];
505
+ }], true);
506
+ insert(_el$, createComponent(Provider, {
507
+ values: [
508
+ [TextContext, { slots: {
509
+ get description() {
510
+ return pickerAria.descriptionProps;
511
+ },
512
+ get errorMessage() {
513
+ return pickerAria.errorMessageProps;
514
+ }
515
+ } }],
516
+ [ButtonContext, buttonContextValue],
517
+ [FieldErrorContext, fieldErrorContext],
518
+ [LabelContext, labelContextValue]
519
+ ],
520
+ get children() {
521
+ return props.children;
522
+ }
523
+ }));
524
+ runHydrationEvents();
525
+ return _el$;
526
+ })(),
527
+ (() => {
528
+ var _el$2 = getNextElement(_tmpl$2);
529
+ ref(() => {
530
+ return setResetInput;
531
+ }, _el$2);
532
+ return _el$2;
533
+ })(),
534
+ createComponent(Show, {
535
+ get when() {
536
+ return rest.name;
537
+ },
538
+ get children() {
539
+ return createComponent(HiddenDateInput, {
540
+ get name() {
541
+ return rest.name;
542
+ },
543
+ get form() {
544
+ return rest.form;
545
+ },
546
+ value: () => datePickerState.value(),
547
+ get autoComplete() {
548
+ return rest.autoComplete;
549
+ },
550
+ get isDisabled() {
551
+ return fieldState.isDisabled();
552
+ },
553
+ get isRequired() {
554
+ return fieldState.isRequired();
555
+ },
556
+ get validationBehavior() {
557
+ return validationBehavior();
558
+ },
559
+ validationState: fieldState,
560
+ focus: () => {
561
+ fieldRef()?.querySelector("[role=\"spinbutton\"]")?.focus();
562
+ },
563
+ minValue: () => access(stateProps.minValue),
564
+ maxValue: () => access(stateProps.maxValue),
565
+ get granularity() {
566
+ return datePickerState.granularity;
567
+ }
568
+ });
569
+ }
570
+ })
571
+ ];
469
572
  }
470
573
  });
471
574
  }
@@ -475,19 +578,25 @@ function DatePickerInner(props) {
475
578
  }
476
579
  });
477
580
  }
581
+ function rangePlaceholderTime(placeholder) {
582
+ if (placeholder && "hour" in placeholder) return placeholder;
583
+ return new TimeClass();
584
+ }
585
+ function applyRangeEndpointTime(date, existing, placeholder) {
586
+ if ("hour" in date) return date;
587
+ const time = existing && "hour" in existing ? existing : rangePlaceholderTime(placeholder);
588
+ const combined = toCalendarDateTime(date, time);
589
+ if ("timeZone" in time) return toZoned(combined, time.timeZone);
590
+ return combined;
591
+ }
592
+ function applyRangeTime(range, committed, placeholder) {
593
+ return {
594
+ start: applyRangeEndpointTime(range.start, committed?.start, placeholder),
595
+ end: applyRangeEndpointTime(range.end, committed?.end, placeholder)
596
+ };
597
+ }
478
598
  function DateRangePicker(props) {
479
- const isHydrated = useIsHydrated();
480
- return createComponent(Show, {
481
- get when() {
482
- return isHydrated();
483
- },
484
- get fallback() {
485
- return getNextElement(_tmpl$3);
486
- },
487
- get children() {
488
- return createComponent(DateRangePickerInner, props);
489
- }
490
- });
599
+ return createComponent(DateRangePickerInner, props);
491
600
  }
492
601
  function DateRangePickerInner(props) {
493
602
  const [local, overlayProps, stateProps, rest] = splitProps(props, [
@@ -510,7 +619,6 @@ function DateRangePickerInner(props) {
510
619
  "isReadOnly",
511
620
  "focusedValue",
512
621
  "defaultFocusedValue",
513
- "onFocusChange",
514
622
  "locale",
515
623
  "granularity",
516
624
  "hourCycle",
@@ -528,11 +636,14 @@ function DateRangePickerInner(props) {
528
636
  ]);
529
637
  const [internalOpen, setInternalOpen] = createSignal(overlayProps.defaultOpen ?? false);
530
638
  const isOpen = () => access(overlayProps.isOpen) ?? internalOpen();
639
+ let commitPendingRange = () => {};
531
640
  const setOpen = (open) => {
641
+ if (!open) commitPendingRange();
532
642
  if (access(overlayProps.isOpen) === void 0) setInternalOpen(open);
533
643
  overlayProps.onOpenChange?.(open);
534
644
  };
535
645
  let triggerRef = null;
646
+ let groupRef = null;
536
647
  const [fieldRef, setFieldRef] = createSignal(null);
537
648
  const overlayState = {
538
649
  get isOpen() {
@@ -547,20 +658,55 @@ function DateRangePickerInner(props) {
547
658
  const controlled = access(stateProps.value);
548
659
  return controlled !== void 0 ? controlled : internalRangeValue();
549
660
  });
661
+ const [pendingDateRange, setPendingDateRange] = createSignal(null);
550
662
  const setCommittedRangeValue = (value) => {
663
+ setPendingDateRange(null);
551
664
  if (access(stateProps.value) === void 0) setInternalRangeValue(() => value);
552
665
  stateProps.onChange?.(value);
553
666
  };
667
+ const rangeGranularity = createMemo(() => {
668
+ if (stateProps.granularity) return stateProps.granularity;
669
+ const value = currentRangeValue()?.start ?? currentRangeValue()?.end;
670
+ if (value && "hour" in value) return "second" in value ? "second" : "minute";
671
+ const placeholder = stateProps.placeholderValue;
672
+ if (!value && placeholder && "minute" in placeholder) return "minute";
673
+ return "day";
674
+ });
675
+ const hasRangeTime = () => {
676
+ const granularity = rangeGranularity();
677
+ return granularity === "hour" || granularity === "minute" || granularity === "second";
678
+ };
679
+ const committedEndsHaveTime = () => {
680
+ const committed = currentRangeValue();
681
+ return Boolean(committed?.start && committed.end && "hour" in committed.start && "hour" in committed.end);
682
+ };
554
683
  const calendarState = createRangeCalendarState({
555
684
  ...stateProps,
556
- value: currentRangeValue,
685
+ get locale() {
686
+ return access(stateProps.locale);
687
+ },
688
+ value: () => {
689
+ const pending = pendingDateRange();
690
+ if (pending?.start && pending.end) return pending;
691
+ return currentRangeValue();
692
+ },
557
693
  onChange: (value) => {
558
- setCommittedRangeValue(value);
559
- if (local.shouldCloseOnSelect !== false && value?.start && value?.end) setOpen(false);
694
+ const shouldClose = local.shouldCloseOnSelect !== false;
695
+ if (!value?.start || !value.end || !hasRangeTime()) {
696
+ setCommittedRangeValue(value);
697
+ if (value?.start && value.end && shouldClose) setOpen(false);
698
+ return;
699
+ }
700
+ if (shouldClose || committedEndsHaveTime()) {
701
+ setCommittedRangeValue(applyRangeTime(value, currentRangeValue(), stateProps.placeholderValue));
702
+ if (shouldClose) setOpen(false);
703
+ return;
704
+ }
705
+ setPendingDateRange(value);
560
706
  }
561
707
  });
562
708
  let wasRangeOpen = false;
563
- createEffect(() => {
709
+ createTrackedEffect(() => {
564
710
  const open = overlayState.isOpen;
565
711
  if (open && !wasRangeOpen) calendarState.setFocused(true);
566
712
  wasRangeOpen = open;
@@ -569,13 +715,14 @@ function DateRangePickerInner(props) {
569
715
  const isRequired = createMemo(() => Boolean(rest.isRequired));
570
716
  const [startFieldValue, setStartFieldValue] = createSignal(currentRangeValue()?.start ?? null);
571
717
  const [endFieldValue, setEndFieldValue] = createSignal(currentRangeValue()?.end ?? null);
572
- const rangeGranularity = createMemo(() => {
573
- if (stateProps.granularity) return stateProps.granularity;
574
- const value = currentRangeValue()?.start ?? currentRangeValue()?.end;
575
- if (value && "hour" in value) return "second" in value ? "second" : "minute";
576
- return "day";
577
- });
578
- createEffect(() => {
718
+ commitPendingRange = () => {
719
+ const pending = pendingDateRange();
720
+ if (!pending?.start || !pending.end || !hasRangeTime()) return;
721
+ const committed = currentRangeValue();
722
+ if (committed?.start && committed.end) return;
723
+ setCommittedRangeValue(applyRangeTime(pending, committed, stateProps.placeholderValue));
724
+ };
725
+ createTrackedEffect(() => {
579
726
  const value = currentRangeValue();
580
727
  setStartFieldValue(() => value?.start ?? null);
581
728
  setEndFieldValue(() => value?.end ?? null);
@@ -596,7 +743,9 @@ function DateRangePickerInner(props) {
596
743
  isDisabled: stateProps.isDisabled,
597
744
  isReadOnly: stateProps.isReadOnly,
598
745
  isRequired,
599
- locale: access(stateProps.locale),
746
+ get locale() {
747
+ return access(stateProps.locale);
748
+ },
600
749
  granularity: rangeGranularity(),
601
750
  hourCycle: stateProps.hourCycle,
602
751
  hideTimeZone: stateProps.hideTimeZone,
@@ -606,18 +755,49 @@ function DateRangePickerInner(props) {
606
755
  };
607
756
  const startFieldState = createDateFieldState({
608
757
  ...rangeFieldStateProps,
758
+ get locale() {
759
+ return access(stateProps.locale);
760
+ },
609
761
  value: startFieldValue,
610
- onChange: (value) => setRangeFieldValue("start", value)
762
+ onChange: (value) => setRangeFieldValue("start", value),
763
+ defaultValue: stateProps.defaultValue?.start
611
764
  });
612
765
  const endFieldState = createDateFieldState({
613
766
  ...rangeFieldStateProps,
767
+ get locale() {
768
+ return access(stateProps.locale);
769
+ },
614
770
  value: endFieldValue,
615
- onChange: (value) => setRangeFieldValue("end", value)
771
+ onChange: (value) => setRangeFieldValue("end", value),
772
+ defaultValue: stateProps.defaultValue?.end
616
773
  });
774
+ const [startResetInput, setStartResetInput] = createSignal();
775
+ const [endResetInput, setEndResetInput] = createSignal();
776
+ const resetRangeToDefault = () => {
777
+ const start = startFieldState.defaultValue ?? null;
778
+ const end = endFieldState.defaultValue ?? null;
779
+ setStartFieldValue(() => start);
780
+ setEndFieldValue(() => end);
781
+ startFieldState.setValue(start);
782
+ endFieldState.setValue(end);
783
+ setCommittedRangeValue(start && end ? {
784
+ start,
785
+ end
786
+ } : null);
787
+ };
788
+ createFormReset(startResetInput, startFieldState.defaultValue, resetRangeToDefault);
789
+ createFormReset(endResetInput, endFieldState.defaultValue, resetRangeToDefault);
790
+ const hasExplicitName = () => Boolean(rest["aria-label"] || rest["aria-labelledby"]);
791
+ const stringLabel = () => {
792
+ const label = rest.label;
793
+ return typeof label === "string" && label !== "" ? label : void 0;
794
+ };
795
+ const [labelRef, hasLabel] = useSlot(!hasExplicitName() && stringLabel() === void 0);
617
796
  const pickerAria = createDateRangePicker(() => ({
618
797
  ...rest,
619
798
  description: props.description,
620
- errorMessage: props.errorMessage
799
+ errorMessage: props.errorMessage,
800
+ label: stringLabel() ?? (hasExplicitName() ? void 0 : hasLabel())
621
801
  }), calendarState, overlayState, () => fieldRef());
622
802
  const startFieldAria = createDateField(() => pickerAria.startFieldProps, startFieldState, () => fieldRef());
623
803
  const endFieldAria = createDateField(() => pickerAria.endFieldProps, endFieldState, () => fieldRef());
@@ -661,9 +841,17 @@ function DateRangePickerInner(props) {
661
841
  if (!element) return;
662
842
  if (!triggerRef || !triggerRef.isConnected) triggerRef = element;
663
843
  },
844
+ groupRef: () => groupRef,
845
+ setGroupRef: (element) => {
846
+ if (!element) return;
847
+ groupRef = element;
848
+ },
664
849
  pickerAria
665
850
  };
851
+ const { isFocused, isFocusVisible, focusProps } = createFocusRing({ within: true });
666
852
  const renderValues = createMemo(() => ({
853
+ isFocusWithin: isFocused(),
854
+ isFocusVisible: isFocusVisible(),
667
855
  isDisabled: calendarState.isDisabled(),
668
856
  isReadOnly: calendarState.isReadOnly(),
669
857
  isRequired: isRequired(),
@@ -675,53 +863,121 @@ function DateRangePickerInner(props) {
675
863
  style: local.style,
676
864
  defaultClassName: "solidaria-DateRangePicker"
677
865
  }, renderValues);
678
- return createComponent(DateRangePickerStateContext.Provider, {
866
+ const buttonContextValue = { slots: { default: {
867
+ get id() {
868
+ return pickerAria.buttonProps.id;
869
+ },
870
+ type: "button",
871
+ get "aria-label"() {
872
+ return pickerAria.buttonProps["aria-label"];
873
+ },
874
+ get "aria-labelledby"() {
875
+ return pickerAria.buttonProps["aria-labelledby"];
876
+ },
877
+ get "aria-describedby"() {
878
+ return pickerAria.buttonProps["aria-describedby"];
879
+ },
880
+ get "aria-haspopup"() {
881
+ return pickerAria.buttonProps["aria-haspopup"];
882
+ },
883
+ get "aria-expanded"() {
884
+ return pickerAria.buttonProps["aria-expanded"];
885
+ },
886
+ get isDisabled() {
887
+ return pickerAria.isButtonDisabled();
888
+ },
889
+ onPress() {
890
+ overlayState.open();
891
+ }
892
+ } } };
893
+ const labelContextValue = {
894
+ get id() {
895
+ if (hasExplicitName() || stringLabel() !== void 0 || !hasLabel()) return;
896
+ return pickerAria.labelProps.id;
897
+ },
898
+ ref: labelRef,
899
+ elementType: "span"
900
+ };
901
+ return createComponent(DateRangePickerStateContext, {
679
902
  value: calendarState,
680
903
  get children() {
681
- return createComponent(DateRangePickerContext.Provider, {
904
+ return createComponent(DateRangePickerContext, {
682
905
  value: contextValue,
683
906
  get children() {
684
- return createComponent(RangeCalendarContext.Provider, {
907
+ return createComponent(RangeCalendarContext, {
685
908
  value: calendarState,
686
909
  get children() {
687
910
  return [
688
911
  (() => {
689
- var _el$4 = getNextElement(_tmpl$2);
690
- use(setFieldRef, _el$4);
691
- insert(_el$4, createComponent(Provider, {
692
- values: [[TextContext, { slots: {
693
- get description() {
694
- return pickerAria.descriptionProps;
695
- },
696
- get errorMessage() {
697
- return pickerAria.errorMessageProps;
698
- }
699
- } }]],
912
+ var _el$3 = getNextElement(_tmpl$);
913
+ ref(() => {
914
+ return setFieldRef;
915
+ }, _el$3);
916
+ spread(_el$3, [() => {
917
+ return focusWithinDomProps(focusProps);
918
+ }, {
919
+ get "class"() {
920
+ return renderProps.class();
921
+ },
922
+ get style() {
923
+ return renderProps.style();
924
+ },
925
+ get "data-focus-within"() {
926
+ return dataAttr(isFocused());
927
+ },
928
+ get "data-focus-visible"() {
929
+ return dataAttr(isFocusVisible());
930
+ },
931
+ get "data-disabled"() {
932
+ return dataAttr(calendarState.isDisabled());
933
+ },
934
+ get "data-readonly"() {
935
+ return dataAttr(calendarState.isReadOnly());
936
+ },
937
+ get "data-required"() {
938
+ return dataAttr(isRequired());
939
+ },
940
+ get "data-invalid"() {
941
+ return dataAttr(isInvalid());
942
+ },
943
+ get "data-open"() {
944
+ return dataAttr(overlayState.isOpen);
945
+ }
946
+ }], true);
947
+ insert(_el$3, createComponent(Provider, {
948
+ values: [
949
+ [TextContext, { slots: {
950
+ get description() {
951
+ return pickerAria.descriptionProps;
952
+ },
953
+ get errorMessage() {
954
+ return pickerAria.errorMessageProps;
955
+ }
956
+ } }],
957
+ [ButtonContext, buttonContextValue],
958
+ [LabelContext, labelContextValue]
959
+ ],
700
960
  get children() {
701
961
  return props.children;
702
962
  }
703
963
  }));
704
- effect((_p$) => {
705
- var _v$8 = renderProps.class(), _v$9 = renderProps.style(), _v$0 = dataAttr(calendarState.isDisabled()), _v$1 = dataAttr(calendarState.isReadOnly()), _v$10 = dataAttr(isRequired()), _v$11 = dataAttr(isInvalid()), _v$12 = dataAttr(overlayState.isOpen);
706
- _v$8 !== _p$.e && className(_el$4, _p$.e = _v$8);
707
- _p$.t = style(_el$4, _v$9, _p$.t);
708
- _v$0 !== _p$.a && setAttribute(_el$4, "data-disabled", _p$.a = _v$0);
709
- _v$1 !== _p$.o && setAttribute(_el$4, "data-readonly", _p$.o = _v$1);
710
- _v$10 !== _p$.i && setAttribute(_el$4, "data-required", _p$.i = _v$10);
711
- _v$11 !== _p$.n && setAttribute(_el$4, "data-invalid", _p$.n = _v$11);
712
- _v$12 !== _p$.s && setAttribute(_el$4, "data-open", _p$.s = _v$12);
713
- return _p$;
714
- }, {
715
- e: void 0,
716
- t: void 0,
717
- a: void 0,
718
- o: void 0,
719
- i: void 0,
720
- n: void 0,
721
- s: void 0
722
- });
964
+ runHydrationEvents();
965
+ return _el$3;
966
+ })(),
967
+ (() => {
968
+ var _el$4 = getNextElement(_tmpl$2);
969
+ ref(() => {
970
+ return setStartResetInput;
971
+ }, _el$4);
723
972
  return _el$4;
724
973
  })(),
974
+ (() => {
975
+ var _el$5 = getNextElement(_tmpl$2);
976
+ ref(() => {
977
+ return setEndResetInput;
978
+ }, _el$5);
979
+ return _el$5;
980
+ })(),
725
981
  createComponent(Show, {
726
982
  get when() {
727
983
  return rest.startName;
@@ -803,51 +1059,49 @@ function DatePickerButton(props) {
803
1059
  style: props.style,
804
1060
  defaultClassName: "solidaria-DatePickerButton"
805
1061
  }, renderValues);
806
- const getChildren = () => {
807
- if (typeof props.children === "function") return renderProps.renderChildren();
808
- return props.children ?? "📅";
809
- };
810
- const buttonProps = createMemo(() => mergeProps$2(context.pickerAria.buttonProps, focusProps, hoverProps));
811
- return (() => {
812
- var _el$5 = getNextElement(_tmpl$4);
813
- use((el) => {
1062
+ const getChildren = () => renderProps.renderChildren() ?? "📅";
1063
+ const buttonProps = createMemo(() => mergeProps$1(context.pickerAria.buttonProps, focusProps, hoverProps));
1064
+ var _el$6 = getNextElement(_tmpl$3);
1065
+ ref(() => {
1066
+ return (el) => {
814
1067
  context.setTriggerRef(el);
815
1068
  props.ref?.(el);
816
- }, _el$5);
817
- spread(_el$5, mergeProps(buttonProps, {
818
- get ["class"]() {
819
- return renderProps.class();
820
- },
821
- get style() {
822
- return renderProps.style();
823
- },
824
- get disabled() {
825
- return isDisabled();
826
- },
827
- get ["data-disabled"]() {
828
- return dataAttr(isDisabled());
829
- },
830
- get ["data-open"]() {
831
- return dataAttr(context.overlayState.isOpen);
832
- }
833
- }), false, true);
834
- insert(_el$5, getChildren);
835
- effect((_p$) => {
836
- var _v$13 = isHovered() ? "true" : void 0, _v$14 = isFocused() ? "true" : void 0, _v$15 = isFocusVisible() ? "true" : void 0, _v$16 = context.pickerAria.isButtonPressed() ? "true" : void 0;
837
- _v$13 !== _p$.e && setAttribute(_el$5, "data-hovered", _p$.e = _v$13);
838
- _v$14 !== _p$.t && setAttribute(_el$5, "data-focused", _p$.t = _v$14);
839
- _v$15 !== _p$.a && setAttribute(_el$5, "data-focus-visible", _p$.a = _v$15);
840
- _v$16 !== _p$.o && setAttribute(_el$5, "data-pressed", _p$.o = _v$16);
841
- return _p$;
842
- }, {
843
- e: void 0,
844
- t: void 0,
845
- a: void 0,
846
- o: void 0
847
- });
848
- runHydrationEvents();
849
- return _el$5;
850
- })();
1069
+ };
1070
+ }, _el$6);
1071
+ spread(_el$6, [buttonProps, {
1072
+ get "class"() {
1073
+ return renderProps.class();
1074
+ },
1075
+ get style() {
1076
+ return renderProps.style();
1077
+ },
1078
+ get disabled() {
1079
+ return isDisabled();
1080
+ },
1081
+ get "data-disabled"() {
1082
+ return dataAttr(isDisabled());
1083
+ },
1084
+ get "data-open"() {
1085
+ return dataAttr(context.overlayState.isOpen);
1086
+ },
1087
+ get "data-hovered"() {
1088
+ return dataAttr(isHovered());
1089
+ },
1090
+ get "data-focused"() {
1091
+ return dataAttr(isFocused());
1092
+ },
1093
+ get "data-focus-visible"() {
1094
+ return dataAttr(isFocusVisible());
1095
+ },
1096
+ get "data-pressed"() {
1097
+ return dataAttr(context.pickerAria.isButtonPressed());
1098
+ }
1099
+ }], true);
1100
+ insert(_el$6, scope(() => {
1101
+ return getChildren();
1102
+ }));
1103
+ runHydrationEvents();
1104
+ return _el$6;
851
1105
  }
852
1106
  function DateRangePickerButton(props) {
853
1107
  const context = useDateRangePickerContext();
@@ -871,297 +1125,202 @@ function DateRangePickerButton(props) {
871
1125
  style: props.style,
872
1126
  defaultClassName: "solidaria-DateRangePickerButton"
873
1127
  }, renderValues);
874
- const getChildren = () => {
875
- if (typeof props.children === "function") return renderProps.renderChildren();
876
- return props.children ?? "📅";
877
- };
878
- const buttonProps = createMemo(() => mergeProps$2(context.pickerAria.buttonProps, focusProps, hoverProps));
879
- return (() => {
880
- var _el$6 = getNextElement(_tmpl$4);
881
- use((el) => {
1128
+ const getChildren = () => renderProps.renderChildren() ?? "📅";
1129
+ const buttonProps = createMemo(() => mergeProps$1(context.pickerAria.buttonProps, focusProps, hoverProps));
1130
+ var _el$7 = getNextElement(_tmpl$3);
1131
+ ref(() => {
1132
+ return (el) => {
882
1133
  context.setTriggerRef(el);
883
1134
  props.ref?.(el);
884
- }, _el$6);
885
- spread(_el$6, mergeProps(buttonProps, {
886
- get ["class"]() {
887
- return renderProps.class();
888
- },
889
- get style() {
890
- return renderProps.style();
891
- },
892
- get disabled() {
893
- return isDisabled();
894
- },
895
- get ["data-disabled"]() {
896
- return dataAttr(isDisabled());
897
- },
898
- get ["data-open"]() {
899
- return dataAttr(context.overlayState.isOpen);
900
- }
901
- }), false, true);
902
- insert(_el$6, getChildren);
903
- effect((_p$) => {
904
- var _v$17 = isHovered() ? "true" : void 0, _v$18 = isFocused() ? "true" : void 0, _v$19 = isFocusVisible() ? "true" : void 0, _v$20 = context.pickerAria.isButtonPressed() ? "true" : void 0;
905
- _v$17 !== _p$.e && setAttribute(_el$6, "data-hovered", _p$.e = _v$17);
906
- _v$18 !== _p$.t && setAttribute(_el$6, "data-focused", _p$.t = _v$18);
907
- _v$19 !== _p$.a && setAttribute(_el$6, "data-focus-visible", _p$.a = _v$19);
908
- _v$20 !== _p$.o && setAttribute(_el$6, "data-pressed", _p$.o = _v$20);
909
- return _p$;
910
- }, {
911
- e: void 0,
912
- t: void 0,
913
- a: void 0,
914
- o: void 0
915
- });
916
- runHydrationEvents();
917
- return _el$6;
918
- })();
1135
+ };
1136
+ }, _el$7);
1137
+ spread(_el$7, [buttonProps, {
1138
+ get "class"() {
1139
+ return renderProps.class();
1140
+ },
1141
+ get style() {
1142
+ return renderProps.style();
1143
+ },
1144
+ get disabled() {
1145
+ return isDisabled();
1146
+ },
1147
+ get "data-disabled"() {
1148
+ return dataAttr(isDisabled());
1149
+ },
1150
+ get "data-open"() {
1151
+ return dataAttr(context.overlayState.isOpen);
1152
+ },
1153
+ get "data-hovered"() {
1154
+ return dataAttr(isHovered());
1155
+ },
1156
+ get "data-focused"() {
1157
+ return dataAttr(isFocused());
1158
+ },
1159
+ get "data-focus-visible"() {
1160
+ return dataAttr(isFocusVisible());
1161
+ },
1162
+ get "data-pressed"() {
1163
+ return dataAttr(context.pickerAria.isButtonPressed());
1164
+ }
1165
+ }], true);
1166
+ insert(_el$7, scope(() => {
1167
+ return getChildren();
1168
+ }));
1169
+ runHydrationEvents();
1170
+ return _el$7;
919
1171
  }
920
1172
  function DatePickerLabel(props) {
921
1173
  const context = useDatePickerContext();
922
- return (() => {
923
- var _el$7 = getNextElement(_tmpl$5);
924
- spread(_el$7, mergeProps(() => context.pickerAria.labelProps, { get ["class"]() {
925
- return props.class;
926
- } }), false, true);
927
- insert(_el$7, () => props.children);
928
- runHydrationEvents();
929
- return _el$7;
930
- })();
1174
+ var _el$8 = getNextElement(_tmpl$4);
1175
+ spread(_el$8, [() => {
1176
+ return context.pickerAria.labelProps;
1177
+ }, { get "class"() {
1178
+ return props.class;
1179
+ } }], true);
1180
+ insert(_el$8, scope(() => {
1181
+ return props.children;
1182
+ }));
1183
+ runHydrationEvents();
1184
+ return _el$8;
931
1185
  }
932
1186
  function DatePickerDescription(props) {
933
1187
  const context = useDatePickerContext();
934
- return (() => {
935
- var _el$8 = getNextElement(_tmpl$5);
936
- spread(_el$8, mergeProps(() => context.pickerAria.descriptionProps, { get ["class"]() {
937
- return props.class;
938
- } }), false, true);
939
- insert(_el$8, () => props.children);
940
- runHydrationEvents();
941
- return _el$8;
942
- })();
1188
+ var _el$9 = getNextElement(_tmpl$4);
1189
+ spread(_el$9, [() => {
1190
+ return context.pickerAria.descriptionProps;
1191
+ }, { get "class"() {
1192
+ return props.class;
1193
+ } }], true);
1194
+ insert(_el$9, scope(() => {
1195
+ return props.children;
1196
+ }));
1197
+ runHydrationEvents();
1198
+ return _el$9;
943
1199
  }
944
1200
  function DatePickerErrorMessage(props) {
945
1201
  const context = useDatePickerContext();
946
- return (() => {
947
- var _el$9 = getNextElement(_tmpl$5);
948
- spread(_el$9, mergeProps(() => context.pickerAria.errorMessageProps, { get ["class"]() {
949
- return props.class;
950
- } }), false, true);
951
- insert(_el$9, () => props.children);
952
- runHydrationEvents();
953
- return _el$9;
954
- })();
1202
+ var _el$10 = getNextElement(_tmpl$4);
1203
+ spread(_el$10, [() => {
1204
+ return context.pickerAria.errorMessageProps;
1205
+ }, { get "class"() {
1206
+ return props.class;
1207
+ } }], true);
1208
+ insert(_el$10, scope(() => {
1209
+ return props.children;
1210
+ }));
1211
+ runHydrationEvents();
1212
+ return _el$10;
955
1213
  }
956
1214
  function DateRangePickerLabel(props) {
957
1215
  const context = useDateRangePickerContext();
958
- return (() => {
959
- var _el$0 = getNextElement(_tmpl$5);
960
- spread(_el$0, mergeProps(() => context.pickerAria.labelProps, { get ["class"]() {
961
- return props.class;
962
- } }), false, true);
963
- insert(_el$0, () => props.children);
964
- runHydrationEvents();
965
- return _el$0;
966
- })();
1216
+ var _el$11 = getNextElement(_tmpl$4);
1217
+ spread(_el$11, [() => {
1218
+ return context.pickerAria.labelProps;
1219
+ }, { get "class"() {
1220
+ return props.class;
1221
+ } }], true);
1222
+ insert(_el$11, scope(() => {
1223
+ return props.children;
1224
+ }));
1225
+ runHydrationEvents();
1226
+ return _el$11;
967
1227
  }
968
1228
  function DateRangePickerDescription(props) {
969
1229
  const context = useDateRangePickerContext();
970
- return (() => {
971
- var _el$1 = getNextElement(_tmpl$5);
972
- spread(_el$1, mergeProps(() => context.pickerAria.descriptionProps, { get ["class"]() {
973
- return props.class;
974
- } }), false, true);
975
- insert(_el$1, () => props.children);
976
- runHydrationEvents();
977
- return _el$1;
978
- })();
1230
+ var _el$12 = getNextElement(_tmpl$4);
1231
+ spread(_el$12, [() => {
1232
+ return context.pickerAria.descriptionProps;
1233
+ }, { get "class"() {
1234
+ return props.class;
1235
+ } }], true);
1236
+ insert(_el$12, scope(() => {
1237
+ return props.children;
1238
+ }));
1239
+ runHydrationEvents();
1240
+ return _el$12;
979
1241
  }
980
1242
  function DateRangePickerErrorMessage(props) {
981
1243
  const context = useDateRangePickerContext();
982
- return (() => {
983
- var _el$10 = getNextElement(_tmpl$5);
984
- spread(_el$10, mergeProps(() => context.pickerAria.errorMessageProps, { get ["class"]() {
985
- return props.class;
986
- } }), false, true);
987
- insert(_el$10, () => props.children);
988
- runHydrationEvents();
989
- return _el$10;
990
- })();
1244
+ var _el$13 = getNextElement(_tmpl$4);
1245
+ spread(_el$13, [() => {
1246
+ return context.pickerAria.errorMessageProps;
1247
+ }, { get "class"() {
1248
+ return props.class;
1249
+ } }], true);
1250
+ insert(_el$13, scope(() => {
1251
+ return props.children;
1252
+ }));
1253
+ runHydrationEvents();
1254
+ return _el$13;
991
1255
  }
992
- function createEscapeDismissFallback(isOpen, close) {
993
- createEffect(() => {
994
- if (!isOpen() || typeof document === "undefined") return;
995
- const onKeyDown = (event) => {
996
- if (event.key !== "Escape" || event.defaultPrevented || event.isComposing) return;
997
- close();
998
- };
999
- document.addEventListener("keydown", onKeyDown);
1000
- onCleanup(() => document.removeEventListener("keydown", onKeyDown));
1256
+ function datePickerContentClass(className, defaultClassName) {
1257
+ if (typeof className === "function") return (renderProps) => className({
1258
+ isEntering: renderProps.isEntering,
1259
+ isExiting: renderProps.isExiting,
1260
+ placement: renderProps.placement
1001
1261
  });
1262
+ return className ?? defaultClassName;
1002
1263
  }
1003
1264
  /**
1004
1265
  * The content area of the date picker (typically contains a Calendar).
1266
+ * Overlay enter/exit is owned by Popover, matching RAC DatePicker which renders
1267
+ * a Popover + Dialog and has no private animation machine.
1005
1268
  */
1006
1269
  function DatePickerContent(props) {
1007
1270
  const context = useDatePickerContext();
1008
- const portalContext = useUNSAFE_PortalContext();
1009
- const [contentRef, setContentRef] = createSignal();
1010
- const portalContainer = () => portalContext.getContainer?.() ?? void 0;
1011
- const popoverAria = createPopover({
1012
- triggerRef: () => context.triggerRef()?.parentElement ?? context.triggerRef(),
1013
- popoverRef: () => contentRef() ?? null,
1271
+ return createComponent(Popover, {
1272
+ trigger: "DatePicker",
1273
+ triggerRef: () => context.groupRef() ?? context.triggerRef(),
1014
1274
  placement: "bottom start",
1015
1275
  offset: 8,
1016
- isNonModal: false,
1017
- isKeyboardDismissDisabled: false
1018
- }, {
1019
- isOpen: () => context.overlayState.isOpen,
1020
- open: context.overlayState.open,
1021
- close: context.overlayState.close,
1022
- toggle: context.overlayState.toggle
1023
- });
1024
- createEscapeDismissFallback(() => context.overlayState.isOpen, context.overlayState.close);
1025
- const isEntering = createEnterAnimation(contentRef, () => context.overlayState.isOpen);
1026
- const renderProps = () => ({
1027
- isEntering: isEntering(),
1028
- isExiting: false,
1029
- placement: popoverAria.placement() ?? "bottom"
1030
- });
1031
- const resolvedClass = () => {
1032
- const c = props.class;
1033
- if (typeof c === "function") return c(renderProps());
1034
- return c ?? "solidaria-DatePickerContent";
1035
- };
1036
- const cleanPopoverProps = () => {
1037
- const { style: _style, ref: _ref, ...rest } = popoverAria.popoverProps;
1038
- return rest;
1039
- };
1040
- const mergedStyle = () => {
1041
- return {
1042
- ...popoverAria.popoverProps.style,
1043
- ...props.style
1044
- };
1045
- };
1046
- return createComponent(Show, {
1047
- get when() {
1276
+ get isOpen() {
1048
1277
  return context.overlayState.isOpen;
1049
1278
  },
1279
+ onOpenChange: (open) => {
1280
+ if (open) context.overlayState.open();
1281
+ else context.overlayState.close();
1282
+ },
1283
+ get "class"() {
1284
+ return datePickerContentClass(props.class, "solidaria-DatePickerContent");
1285
+ },
1286
+ get style() {
1287
+ return props.style;
1288
+ },
1050
1289
  get children() {
1051
- return createComponent(Portal, {
1052
- get mount() {
1053
- return portalContainer();
1054
- },
1055
- get children() {
1056
- return createComponent(FocusScope, {
1057
- contain: true,
1058
- restoreFocus: true,
1059
- get children() {
1060
- var _el$11 = getNextElement(_tmpl$6), _el$12 = _el$11.firstChild;
1061
- use(setContentRef, _el$11);
1062
- spread(_el$11, mergeProps(cleanPopoverProps, {
1063
- get ["class"]() {
1064
- return resolvedClass();
1065
- },
1066
- get style() {
1067
- return mergedStyle();
1068
- },
1069
- get ["data-placement"]() {
1070
- return popoverAria.placement() ?? "bottom";
1071
- },
1072
- get ["data-entering"]() {
1073
- return dataAttr(isEntering());
1074
- }
1075
- }), false, true);
1076
- spread(_el$12, mergeProps(() => context.pickerAria.dialogProps, { "tabIndex": -1 }), false, true);
1077
- insert(_el$12, () => props.children);
1078
- runHydrationEvents();
1079
- return _el$11;
1080
- }
1081
- });
1082
- }
1083
- });
1290
+ return createComponent(Dialog, mergeProps(() => {
1291
+ return context.pickerAria.dialogProps;
1292
+ }, { get children() {
1293
+ return props.children;
1294
+ } }));
1084
1295
  }
1085
1296
  });
1086
1297
  }
1087
1298
  function DateRangePickerContent(props) {
1088
1299
  const context = useDateRangePickerContext();
1089
- const portalContext = useUNSAFE_PortalContext();
1090
- const [contentRef, setContentRef] = createSignal();
1091
- const portalContainer = () => portalContext.getContainer?.() ?? void 0;
1092
- const popoverAria = createPopover({
1093
- triggerRef: () => context.triggerRef()?.parentElement ?? context.triggerRef(),
1094
- popoverRef: () => contentRef() ?? null,
1300
+ return createComponent(Popover, {
1301
+ trigger: "DateRangePicker",
1302
+ triggerRef: () => context.groupRef() ?? context.triggerRef(),
1095
1303
  placement: "bottom start",
1096
1304
  offset: 8,
1097
- isNonModal: false,
1098
- isKeyboardDismissDisabled: false
1099
- }, {
1100
- isOpen: () => context.overlayState.isOpen,
1101
- open: context.overlayState.open,
1102
- close: context.overlayState.close,
1103
- toggle: context.overlayState.toggle
1104
- });
1105
- createEscapeDismissFallback(() => context.overlayState.isOpen, context.overlayState.close);
1106
- const isEntering = createEnterAnimation(contentRef, () => context.overlayState.isOpen);
1107
- const renderProps = () => ({
1108
- isEntering: isEntering(),
1109
- isExiting: false,
1110
- placement: popoverAria.placement() ?? "bottom"
1111
- });
1112
- const resolvedClass = () => {
1113
- const c = props.class;
1114
- if (typeof c === "function") return c(renderProps());
1115
- return c ?? "solidaria-DateRangePickerContent";
1116
- };
1117
- const cleanPopoverProps = () => {
1118
- const { style: _style, ref: _ref, ...rest } = popoverAria.popoverProps;
1119
- return rest;
1120
- };
1121
- const mergedStyle = () => {
1122
- return {
1123
- ...popoverAria.popoverProps.style,
1124
- ...props.style
1125
- };
1126
- };
1127
- return createComponent(Show, {
1128
- get when() {
1305
+ get isOpen() {
1129
1306
  return context.overlayState.isOpen;
1130
1307
  },
1308
+ onOpenChange: (open) => {
1309
+ if (open) context.overlayState.open();
1310
+ else context.overlayState.close();
1311
+ },
1312
+ get "class"() {
1313
+ return datePickerContentClass(props.class, "solidaria-DateRangePickerContent");
1314
+ },
1315
+ get style() {
1316
+ return props.style;
1317
+ },
1131
1318
  get children() {
1132
- return createComponent(Portal, {
1133
- get mount() {
1134
- return portalContainer();
1135
- },
1136
- get children() {
1137
- return createComponent(FocusScope, {
1138
- contain: true,
1139
- restoreFocus: true,
1140
- get children() {
1141
- var _el$13 = getNextElement(_tmpl$6), _el$14 = _el$13.firstChild;
1142
- use(setContentRef, _el$13);
1143
- spread(_el$13, mergeProps(cleanPopoverProps, {
1144
- get ["class"]() {
1145
- return resolvedClass();
1146
- },
1147
- get style() {
1148
- return mergedStyle();
1149
- },
1150
- get ["data-placement"]() {
1151
- return popoverAria.placement() ?? "bottom";
1152
- },
1153
- get ["data-entering"]() {
1154
- return dataAttr(isEntering());
1155
- }
1156
- }), false, true);
1157
- spread(_el$14, mergeProps(() => context.pickerAria.dialogProps, { "tabIndex": -1 }), false, true);
1158
- insert(_el$14, () => props.children);
1159
- runHydrationEvents();
1160
- return _el$13;
1161
- }
1162
- });
1163
- }
1164
- });
1319
+ return createComponent(Dialog, mergeProps(() => {
1320
+ return context.pickerAria.dialogProps;
1321
+ }, { get children() {
1322
+ return props.children;
1323
+ } }));
1165
1324
  }
1166
1325
  });
1167
1326
  }