@proyecto-viviana/solidaria-components 0.3.2 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/dist/ActionBar.d.ts.map +1 -1
  2. package/dist/ActionBar.js +175 -0
  3. package/dist/ActionBar.js.map +1 -0
  4. package/dist/ActionBar.jsx +119 -0
  5. package/dist/ActionBar.jsx.map +1 -0
  6. package/dist/ActionGroup.d.ts.map +1 -1
  7. package/dist/ActionGroup.js +179 -0
  8. package/dist/ActionGroup.js.map +1 -0
  9. package/dist/ActionGroup.jsx +129 -0
  10. package/dist/ActionGroup.jsx.map +1 -0
  11. package/dist/Alert.js +111 -0
  12. package/dist/Alert.js.map +1 -0
  13. package/dist/Alert.jsx +82 -0
  14. package/dist/Alert.jsx.map +1 -0
  15. package/dist/Autocomplete.d.ts +2 -2
  16. package/dist/Autocomplete.d.ts.map +1 -1
  17. package/dist/Autocomplete.js +130 -0
  18. package/dist/Autocomplete.js.map +1 -0
  19. package/dist/Autocomplete.jsx +116 -0
  20. package/dist/Autocomplete.jsx.map +1 -0
  21. package/dist/Breadcrumbs.d.ts.map +1 -1
  22. package/dist/Breadcrumbs.js +333 -0
  23. package/dist/Breadcrumbs.js.map +1 -0
  24. package/dist/Breadcrumbs.jsx +261 -0
  25. package/dist/Breadcrumbs.jsx.map +1 -0
  26. package/dist/Button.d.ts.map +1 -1
  27. package/dist/Button.js +348 -0
  28. package/dist/Button.js.map +1 -0
  29. package/dist/Button.jsx +314 -0
  30. package/dist/Button.jsx.map +1 -0
  31. package/dist/Calendar.d.ts +4 -4
  32. package/dist/Calendar.d.ts.map +1 -1
  33. package/dist/Calendar.js +573 -0
  34. package/dist/Calendar.js.map +1 -0
  35. package/dist/Calendar.jsx +342 -0
  36. package/dist/Calendar.jsx.map +1 -0
  37. package/dist/CalendarPicker.d.ts +33 -0
  38. package/dist/CalendarPicker.d.ts.map +1 -0
  39. package/dist/CalendarPicker.js +44 -0
  40. package/dist/CalendarPicker.js.map +1 -0
  41. package/dist/CalendarPicker.jsx +44 -0
  42. package/dist/CalendarPicker.jsx.map +1 -0
  43. package/dist/Checkbox.d.ts +83 -4
  44. package/dist/Checkbox.d.ts.map +1 -1
  45. package/dist/Checkbox.js +923 -0
  46. package/dist/Checkbox.js.map +1 -0
  47. package/dist/Checkbox.jsx +707 -0
  48. package/dist/Checkbox.jsx.map +1 -0
  49. package/dist/Collection.d.ts.map +1 -1
  50. package/dist/Collection.js +202 -0
  51. package/dist/Collection.js.map +1 -0
  52. package/dist/Collection.jsx +152 -0
  53. package/dist/Collection.jsx.map +1 -0
  54. package/dist/Color.d.ts.map +1 -1
  55. package/dist/Color.js +1717 -0
  56. package/dist/Color.js.map +1 -0
  57. package/dist/Color.jsx +1340 -0
  58. package/dist/Color.jsx.map +1 -0
  59. package/dist/ColorEditor.js +208 -0
  60. package/dist/ColorEditor.js.map +1 -0
  61. package/dist/ColorEditor.jsx +120 -0
  62. package/dist/ColorEditor.jsx.map +1 -0
  63. package/dist/ComboBox.d.ts +8 -4
  64. package/dist/ComboBox.d.ts.map +1 -1
  65. package/dist/ComboBox.js +1000 -0
  66. package/dist/ComboBox.js.map +1 -0
  67. package/dist/ComboBox.jsx +724 -0
  68. package/dist/ComboBox.jsx.map +1 -0
  69. package/dist/ContextualHelpTrigger.js +146 -0
  70. package/dist/ContextualHelpTrigger.js.map +1 -0
  71. package/dist/ContextualHelpTrigger.jsx +109 -0
  72. package/dist/ContextualHelpTrigger.jsx.map +1 -0
  73. package/dist/DateField.d.ts +14 -5
  74. package/dist/DateField.d.ts.map +1 -1
  75. package/dist/DateField.js +4 -0
  76. package/dist/DateField.jsx +4 -0
  77. package/dist/DateField2.js +502 -0
  78. package/dist/DateField2.js.map +1 -0
  79. package/dist/DateField2.jsx +354 -0
  80. package/dist/DateField2.jsx.map +1 -0
  81. package/dist/DatePicker.d.ts +46 -7
  82. package/dist/DatePicker.d.ts.map +1 -1
  83. package/dist/DatePicker.js +7 -0
  84. package/dist/DatePicker.jsx +7 -0
  85. package/dist/DatePicker2.js +1171 -0
  86. package/dist/DatePicker2.js.map +1 -0
  87. package/dist/DatePicker2.jsx +820 -0
  88. package/dist/DatePicker2.jsx.map +1 -0
  89. package/dist/DateRangePickerContext.d.ts +2 -0
  90. package/dist/DateRangePickerContext.d.ts.map +1 -1
  91. package/dist/Dialog.d.ts.map +1 -1
  92. package/dist/Dialog.js +337 -0
  93. package/dist/Dialog.js.map +1 -0
  94. package/dist/Dialog.jsx +192 -0
  95. package/dist/Dialog.jsx.map +1 -0
  96. package/dist/Disclosure.d.ts.map +1 -1
  97. package/dist/Disclosure.js +331 -0
  98. package/dist/Disclosure.js.map +1 -0
  99. package/dist/Disclosure.jsx +230 -0
  100. package/dist/Disclosure.jsx.map +1 -0
  101. package/dist/DragAndDrop.d.ts.map +1 -1
  102. package/dist/DragAndDrop.js +176 -0
  103. package/dist/DragAndDrop.js.map +1 -0
  104. package/dist/DragAndDrop.jsx +160 -0
  105. package/dist/DragAndDrop.jsx.map +1 -0
  106. package/dist/DropZone.d.ts.map +1 -1
  107. package/dist/DropZone.js +189 -0
  108. package/dist/DropZone.js.map +1 -0
  109. package/dist/DropZone.jsx +144 -0
  110. package/dist/DropZone.jsx.map +1 -0
  111. package/dist/FieldError.js +66 -0
  112. package/dist/FieldError.js.map +1 -0
  113. package/dist/FieldError.jsx +47 -0
  114. package/dist/FieldError.jsx.map +1 -0
  115. package/dist/FileTrigger.js +79 -0
  116. package/dist/FileTrigger.js.map +1 -0
  117. package/dist/FileTrigger.jsx +49 -0
  118. package/dist/FileTrigger.jsx.map +1 -0
  119. package/dist/Focusable.js +70 -0
  120. package/dist/Focusable.js.map +1 -0
  121. package/dist/Focusable.jsx +69 -0
  122. package/dist/Focusable.jsx.map +1 -0
  123. package/dist/Form.js +99 -0
  124. package/dist/Form.js.map +1 -0
  125. package/dist/Form.jsx +73 -0
  126. package/dist/Form.jsx.map +1 -0
  127. package/dist/GridList.d.ts +34 -2
  128. package/dist/GridList.d.ts.map +1 -1
  129. package/dist/GridList.js +723 -0
  130. package/dist/GridList.js.map +1 -0
  131. package/dist/GridList.jsx +552 -0
  132. package/dist/GridList.jsx.map +1 -0
  133. package/dist/Icon.d.ts.map +1 -1
  134. package/dist/Icon.js +127 -0
  135. package/dist/Icon.js.map +1 -0
  136. package/dist/Icon.jsx +72 -0
  137. package/dist/Icon.jsx.map +1 -0
  138. package/dist/Keyboard.js +30 -0
  139. package/dist/Keyboard.js.map +1 -0
  140. package/dist/Keyboard.jsx +24 -0
  141. package/dist/Keyboard.jsx.map +1 -0
  142. package/dist/Landmark.js +134 -0
  143. package/dist/Landmark.js.map +1 -0
  144. package/dist/Landmark.jsx +118 -0
  145. package/dist/Landmark.jsx.map +1 -0
  146. package/dist/Link.d.ts.map +1 -1
  147. package/dist/Link.js +219 -0
  148. package/dist/Link.js.map +1 -0
  149. package/dist/Link.jsx +189 -0
  150. package/dist/Link.jsx.map +1 -0
  151. package/dist/ListBox.d.ts +2 -2
  152. package/dist/ListBox.d.ts.map +1 -1
  153. package/dist/ListBox.js +831 -0
  154. package/dist/ListBox.js.map +1 -0
  155. package/dist/ListBox.jsx +644 -0
  156. package/dist/ListBox.jsx.map +1 -0
  157. package/dist/Menu.d.ts +27 -9
  158. package/dist/Menu.d.ts.map +1 -1
  159. package/dist/Menu.js +1254 -0
  160. package/dist/Menu.js.map +1 -0
  161. package/dist/Menu.jsx +1042 -0
  162. package/dist/Menu.jsx.map +1 -0
  163. package/dist/Meter.d.ts.map +1 -1
  164. package/dist/Meter.js +123 -0
  165. package/dist/Meter.js.map +1 -0
  166. package/dist/Meter.jsx +107 -0
  167. package/dist/Meter.jsx.map +1 -0
  168. package/dist/Modal.d.ts.map +1 -1
  169. package/dist/Modal.js +382 -0
  170. package/dist/Modal.js.map +1 -0
  171. package/dist/Modal.jsx +314 -0
  172. package/dist/Modal.jsx.map +1 -0
  173. package/dist/NumberField.d.ts +3 -3
  174. package/dist/NumberField.d.ts.map +1 -1
  175. package/dist/NumberField.js +573 -0
  176. package/dist/NumberField.js.map +1 -0
  177. package/dist/NumberField.jsx +443 -0
  178. package/dist/NumberField.jsx.map +1 -0
  179. package/dist/Popover.d.ts +10 -2
  180. package/dist/Popover.d.ts.map +1 -1
  181. package/dist/Popover.js +471 -0
  182. package/dist/Popover.js.map +1 -0
  183. package/dist/Popover.jsx +354 -0
  184. package/dist/Popover.jsx.map +1 -0
  185. package/dist/Pressable.js +69 -0
  186. package/dist/Pressable.js.map +1 -0
  187. package/dist/Pressable.jsx +68 -0
  188. package/dist/Pressable.jsx.map +1 -0
  189. package/dist/ProgressBar.d.ts.map +1 -1
  190. package/dist/ProgressBar.js +130 -0
  191. package/dist/ProgressBar.js.map +1 -0
  192. package/dist/ProgressBar.jsx +114 -0
  193. package/dist/ProgressBar.jsx.map +1 -0
  194. package/dist/RadioGroup.d.ts +82 -4
  195. package/dist/RadioGroup.d.ts.map +1 -1
  196. package/dist/RadioGroup.js +931 -0
  197. package/dist/RadioGroup.js.map +1 -0
  198. package/dist/RadioGroup.jsx +681 -0
  199. package/dist/RadioGroup.jsx.map +1 -0
  200. package/dist/RangeCalendar.d.ts.map +1 -1
  201. package/dist/RangeCalendar.js +546 -0
  202. package/dist/RangeCalendar.js.map +1 -0
  203. package/dist/RangeCalendar.jsx +323 -0
  204. package/dist/RangeCalendar.jsx.map +1 -0
  205. package/dist/RouterProvider.js +118 -0
  206. package/dist/RouterProvider.js.map +1 -0
  207. package/dist/RouterProvider.jsx +112 -0
  208. package/dist/RouterProvider.jsx.map +1 -0
  209. package/dist/SearchField.d.ts +2 -2
  210. package/dist/SearchField.d.ts.map +1 -1
  211. package/dist/SearchField.js +667 -0
  212. package/dist/SearchField.js.map +1 -0
  213. package/dist/SearchField.jsx +550 -0
  214. package/dist/SearchField.jsx.map +1 -0
  215. package/dist/Select.d.ts +7 -0
  216. package/dist/Select.d.ts.map +1 -1
  217. package/dist/Select.js +1044 -0
  218. package/dist/Select.js.map +1 -0
  219. package/dist/Select.jsx +759 -0
  220. package/dist/Select.jsx.map +1 -0
  221. package/dist/SelectionIndicator.d.ts.map +1 -1
  222. package/dist/SelectionIndicator.js +86 -0
  223. package/dist/SelectionIndicator.js.map +1 -0
  224. package/dist/SelectionIndicator.jsx +50 -0
  225. package/dist/SelectionIndicator.jsx.map +1 -0
  226. package/dist/Separator.js +97 -0
  227. package/dist/Separator.js.map +1 -0
  228. package/dist/Separator.jsx +85 -0
  229. package/dist/Separator.jsx.map +1 -0
  230. package/dist/SharedElementTransition.d.ts.map +1 -1
  231. package/dist/SharedElementTransition.js +167 -0
  232. package/dist/SharedElementTransition.js.map +1 -0
  233. package/dist/SharedElementTransition.jsx +140 -0
  234. package/dist/SharedElementTransition.jsx.map +1 -0
  235. package/dist/Slider.d.ts +33 -1
  236. package/dist/Slider.d.ts.map +1 -1
  237. package/dist/Slider.js +515 -0
  238. package/dist/Slider.js.map +1 -0
  239. package/dist/Slider.jsx +403 -0
  240. package/dist/Slider.jsx.map +1 -0
  241. package/dist/StepList.d.ts.map +1 -1
  242. package/dist/StepList.js +191 -0
  243. package/dist/StepList.js.map +1 -0
  244. package/dist/StepList.jsx +136 -0
  245. package/dist/StepList.jsx.map +1 -0
  246. package/dist/Switch.d.ts +65 -2
  247. package/dist/Switch.d.ts.map +1 -1
  248. package/dist/Switch.js +534 -0
  249. package/dist/Switch.js.map +1 -0
  250. package/dist/Switch.jsx +393 -0
  251. package/dist/Switch.jsx.map +1 -0
  252. package/dist/Table.d.ts +50 -0
  253. package/dist/Table.d.ts.map +1 -1
  254. package/dist/Table.js +1766 -0
  255. package/dist/Table.js.map +1 -0
  256. package/dist/Table.jsx +1355 -0
  257. package/dist/Table.jsx.map +1 -0
  258. package/dist/Tabs.d.ts +0 -4
  259. package/dist/Tabs.d.ts.map +1 -1
  260. package/dist/Tabs.js +598 -0
  261. package/dist/Tabs.js.map +1 -0
  262. package/dist/Tabs.jsx +367 -0
  263. package/dist/Tabs.jsx.map +1 -0
  264. package/dist/TagGroup.d.ts +3 -1
  265. package/dist/TagGroup.d.ts.map +1 -1
  266. package/dist/TagGroup.js +382 -0
  267. package/dist/TagGroup.js.map +1 -0
  268. package/dist/TagGroup.jsx +273 -0
  269. package/dist/TagGroup.jsx.map +1 -0
  270. package/dist/Text.d.ts +18 -6
  271. package/dist/Text.d.ts.map +1 -1
  272. package/dist/Text.js +42 -0
  273. package/dist/Text.js.map +1 -0
  274. package/dist/Text.jsx +35 -0
  275. package/dist/Text.jsx.map +1 -0
  276. package/dist/TextField.d.ts +6 -6
  277. package/dist/TextField.d.ts.map +1 -1
  278. package/dist/TextField.js +439 -0
  279. package/dist/TextField.js.map +1 -0
  280. package/dist/TextField.jsx +406 -0
  281. package/dist/TextField.jsx.map +1 -0
  282. package/dist/TimeField.d.ts +17 -53
  283. package/dist/TimeField.d.ts.map +1 -1
  284. package/dist/TimeField.js +278 -0
  285. package/dist/TimeField.js.map +1 -0
  286. package/dist/TimeField.jsx +218 -0
  287. package/dist/TimeField.jsx.map +1 -0
  288. package/dist/Toast.d.ts +14 -0
  289. package/dist/Toast.d.ts.map +1 -1
  290. package/dist/Toast.js +551 -0
  291. package/dist/Toast.js.map +1 -0
  292. package/dist/Toast.jsx +361 -0
  293. package/dist/Toast.jsx.map +1 -0
  294. package/dist/ToggleButton.d.ts.map +1 -1
  295. package/dist/ToggleButton.js +123 -0
  296. package/dist/ToggleButton.js.map +1 -0
  297. package/dist/ToggleButton.jsx +88 -0
  298. package/dist/ToggleButton.jsx.map +1 -0
  299. package/dist/ToggleButtonGroup.d.ts.map +1 -1
  300. package/dist/ToggleButtonGroup.js +114 -0
  301. package/dist/ToggleButtonGroup.js.map +1 -0
  302. package/dist/ToggleButtonGroup.jsx +85 -0
  303. package/dist/ToggleButtonGroup.jsx.map +1 -0
  304. package/dist/Toolbar.js +112 -0
  305. package/dist/Toolbar.js.map +1 -0
  306. package/dist/Toolbar.jsx +92 -0
  307. package/dist/Toolbar.jsx.map +1 -0
  308. package/dist/Tooltip.d.ts.map +1 -1
  309. package/dist/Tooltip.js +539 -0
  310. package/dist/Tooltip.js.map +1 -0
  311. package/dist/Tooltip.jsx +465 -0
  312. package/dist/Tooltip.jsx.map +1 -0
  313. package/dist/Tree.d.ts +14 -2
  314. package/dist/Tree.d.ts.map +1 -1
  315. package/dist/Tree.js +1424 -0
  316. package/dist/Tree.js.map +1 -0
  317. package/dist/Tree.jsx +1172 -0
  318. package/dist/Tree.jsx.map +1 -0
  319. package/dist/Virtualizer.d.ts +16 -2
  320. package/dist/Virtualizer.d.ts.map +1 -1
  321. package/dist/Virtualizer.js +2 -0
  322. package/dist/Virtualizer.jsx +2 -0
  323. package/dist/Virtualizer2.js +751 -0
  324. package/dist/Virtualizer2.js.map +1 -0
  325. package/dist/Virtualizer2.jsx +730 -0
  326. package/dist/Virtualizer2.jsx.map +1 -0
  327. package/dist/VirtualizerLayouts.d.ts +18 -0
  328. package/dist/VirtualizerLayouts.d.ts.map +1 -1
  329. package/dist/VisuallyHidden.js +42 -0
  330. package/dist/VisuallyHidden.js.map +1 -0
  331. package/dist/VisuallyHidden.jsx +35 -0
  332. package/dist/VisuallyHidden.jsx.map +1 -0
  333. package/dist/contexts.js +33 -0
  334. package/dist/contexts.js.map +1 -0
  335. package/dist/contexts.jsx +33 -0
  336. package/dist/contexts.jsx.map +1 -0
  337. package/dist/index.d.ts +9 -9
  338. package/dist/index.d.ts.map +1 -1
  339. package/dist/index.js +69 -23932
  340. package/dist/index.jsx +69 -18337
  341. package/dist/useDragAndDrop.d.ts +0 -8
  342. package/dist/useDragAndDrop.d.ts.map +1 -1
  343. package/dist/useDragAndDrop.js +2 -0
  344. package/dist/useDragAndDrop.jsx +2 -0
  345. package/dist/useDragAndDrop2.js +399 -0
  346. package/dist/useDragAndDrop2.js.map +1 -0
  347. package/dist/useDragAndDrop2.jsx +399 -0
  348. package/dist/useDragAndDrop2.jsx.map +1 -0
  349. package/dist/utils.d.ts +84 -11
  350. package/dist/utils.d.ts.map +1 -1
  351. package/dist/utils.js +285 -0
  352. package/dist/utils.js.map +1 -0
  353. package/dist/utils.jsx +277 -0
  354. package/dist/utils.jsx.map +1 -0
  355. package/dist/virtualizer/Layout.js +144 -0
  356. package/dist/virtualizer/Layout.js.map +1 -0
  357. package/dist/virtualizer/Layout.jsx +144 -0
  358. package/dist/virtualizer/Layout.jsx.map +1 -0
  359. package/package.json +395 -4
  360. package/src/ActionBar.tsx +10 -12
  361. package/src/ActionGroup.tsx +5 -3
  362. package/src/Autocomplete.tsx +14 -9
  363. package/src/Breadcrumbs.tsx +58 -39
  364. package/src/Button.tsx +22 -2
  365. package/src/Calendar.tsx +57 -11
  366. package/src/CalendarPicker.tsx +73 -0
  367. package/src/Checkbox.tsx +539 -3
  368. package/src/Collection.tsx +9 -3
  369. package/src/Color.tsx +84 -41
  370. package/src/ComboBox.tsx +97 -21
  371. package/src/DateField.tsx +304 -53
  372. package/src/DatePicker.tsx +402 -62
  373. package/src/DateRangePickerContext.tsx +2 -0
  374. package/src/Dialog.tsx +13 -5
  375. package/src/Disclosure.tsx +7 -1
  376. package/src/DragAndDrop.tsx +3 -1
  377. package/src/DropZone.tsx +3 -1
  378. package/src/GridList.tsx +133 -26
  379. package/src/Icon.tsx +3 -1
  380. package/src/Link.tsx +3 -1
  381. package/src/ListBox.tsx +354 -25
  382. package/src/Menu.tsx +252 -128
  383. package/src/Meter.tsx +3 -1
  384. package/src/Modal.tsx +120 -56
  385. package/src/NumberField.tsx +51 -8
  386. package/src/Popover.tsx +68 -17
  387. package/src/ProgressBar.tsx +3 -1
  388. package/src/RadioGroup.tsx +468 -4
  389. package/src/RangeCalendar.tsx +123 -2
  390. package/src/SearchField.tsx +80 -4
  391. package/src/Select.tsx +122 -26
  392. package/src/SelectionIndicator.tsx +3 -1
  393. package/src/SharedElementTransition.tsx +95 -37
  394. package/src/Slider.tsx +159 -13
  395. package/src/StepList.tsx +0 -7
  396. package/src/Switch.tsx +395 -2
  397. package/src/Table.tsx +428 -99
  398. package/src/Tabs.tsx +17 -45
  399. package/src/TagGroup.tsx +29 -7
  400. package/src/Text.tsx +31 -10
  401. package/src/TextField.tsx +44 -6
  402. package/src/TimeField.tsx +127 -192
  403. package/src/Toast.tsx +79 -14
  404. package/src/ToggleButton.tsx +3 -1
  405. package/src/ToggleButtonGroup.tsx +3 -1
  406. package/src/Tooltip.tsx +3 -1
  407. package/src/Tree.tsx +91 -13
  408. package/src/Virtualizer.tsx +180 -31
  409. package/src/VirtualizerLayouts.ts +45 -10
  410. package/src/index.ts +51 -8
  411. package/src/useDragAndDrop.ts +8 -10
  412. package/src/utils.tsx +246 -30
  413. package/dist/HiddenTimeInput.d.ts +0 -25
  414. package/dist/HiddenTimeInput.d.ts.map +0 -1
  415. package/dist/index.js.map +0 -1
  416. package/dist/index.jsx.map +0 -1
  417. package/src/HiddenTimeInput.tsx +0 -133
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker2.js","names":["JSX","createEffect","createSignal","DateValue","FormValidationState","createFormValidation","MaybeAccessor","T","HiddenDateInputProps","name","form","value","autoComplete","isDisabled","isRequired","validationBehavior","validationState","focus","minValue","maxValue","granularity","accessValue","formatDateValue","String","dateValue","year","padStart","month","day","hasHour","hour","hasMinute","minute","second","HiddenDateInput","props","Element","hasValidationBehavior","usesNativeValidation","hasTimeZoneValue","Boolean","inputType","formattedValue","formattedMin","formattedMax","inputRef","setInputRef","HTMLInputElement","val","input","_el$","_$getNextElement","_tmpl$","_$addEventListener","undefined","_$use","el","_$effect","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","_v$7","_v$8","_v$9","_v$0","position","width","height","padding","margin","overflow","clip","CSSProperties","e","_$setAttribute","t","a","o","i","_$setProperty","n","s","h","r","d","_$style","JSX","Context","createContext","createEffect","createMemo","createSignal","onCleanup","splitProps","useContext","Show","Portal","createDatePicker","createDateField","createDateRangePicker","createEnterAnimation","createFocusRing","createHover","createPopover","mergeProps","FocusScope","useUNSAFE_PortalContext","AriaDatePickerProps","AriaDateRangePickerProps","DatePickerState","AriaDatePickerState","PlacementAxis","createDateFieldState","createCalendarState","createRangeCalendarState","createDatePickerState","access","DateFieldState","CalendarStateProps","CalendarState","RangeCalendarState","DateFieldStateProps","DatePickerStateOptions","CalendarDate","DateValue","RangeCalendarStateProps","RangeValue","RenderChildren","ClassNameOrFunction","StyleOrFunction","SlotProps","useRenderProps","dataAttr","useIsHydrated","Provider","TextContext","DateFieldContext","CalendarContext","RangeCalendarContext","HiddenDateInput","FormContext","FormProps","DateRangePickerContext","useDateRangePickerContext","DateRangePickerContextValue","DateRangePickerFieldContextValue","DatePickerRenderProps","isDisabled","isReadOnly","isRequired","isInvalid","isOpen","DateRangePickerRenderProps","Omit","DatePickerContextValue","fieldState","datePickerState","calendarState","overlayState","open","close","toggle","triggerRef","HTMLElement","setTriggerRef","element","pickerAria","ReturnType","DatePickerProps","T","children","Element","class","style","locale","shouldCloseOnSelect","defaultOpen","onOpenChange","name","form","visibleMonths","pageBehavior","selectionAlignment","isDateDisabled","date","DateRangePickerProps","granularity","hourCycle","hideTimeZone","placeholderValue","startName","endName","validationBehavior","DatePickerButtonRenderProps","isPressed","isHovered","isFocusVisible","DatePickerButtonProps","ref","HTMLButtonElement","DateRangePickerButtonProps","DatePickerContext","DatePickerStateContext","DateRangePickerStateContext","withFormValidationBehavior","props","P","formContext","Proxy","get","target","property","receiver","localValue","Reflect","undefined","has","ownKeys","keys","Set","add","Array","from","getOwnPropertyDescriptor","descriptor","enumerable","configurable","useDatePickerContext","context","Error","DatePicker","isHydrated","_$createComponent","when","fallback","_$getNextElement","_tmpl$","DatePickerInner","_$mergeProps","__formContext","DatePickerInnerProps","mergedProps","local","stateProps","rest","fieldRef","setFieldRef","HTMLDivElement","datePickerStateProps","value","defaultValue","onChange","minValue","maxValue","isDateUnavailable","validationState","setOpen","setValue","setDateValue","createCalendar","firstDayOfWeek","wasOpen","setFocused","Record","description","errorMessage","fieldAria","fieldProps","contextValue","current","isConnected","builtinValidation","Boolean","renderValues","renderProps","defaultClassName","state","aria","labelProps","inputProps","descriptionProps","errorMessageProps","_el$2","_tmpl$2","_$use","_$insert","values","slots","_$effect","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","_v$7","e","_$className","t","_$style","a","_$setAttribute","o","i","n","s","autoComplete","focus","querySelector","DateRangePicker","_tmpl$3","DateRangePickerInner","overlayProps","internalOpen","setInternalOpen","internalRangeValue","setInternalRangeValue","currentRangeValue","controlled","setCommittedRangeValue","start","end","wasRangeOpen","startFieldValue","setStartFieldValue","endFieldValue","setEndFieldValue","rangeGranularity","setRangeFieldValue","part","nextValue","nextStart","nextEnd","rangeFieldStateProps","Partial","startFieldState","endFieldState","startFieldAria","startFieldProps","endFieldAria","endFieldProps","startFieldContext","endFieldContext","_el$4","_v$8","_v$9","_v$0","_v$1","_v$10","_v$11","_v$12","DatePickerButton","isButtonDisabled","isFocused","focusProps","hoverProps","isButtonPressed","getChildren","renderChildren","buttonProps","_el$5","_tmpl$4","el","_$spread","disabled","data-disabled","data-open","_v$13","_v$14","_v$15","_v$16","_$runHydrationEvents","DateRangePickerButton","_el$6","_v$17","_v$18","_v$19","_v$20","DatePickerContentRenderProps","isEntering","isExiting","placement","DatePickerContentProps","CSSProperties","DateRangePickerContentProps","DatePickerLabelProps","DatePickerLabel","_el$7","_tmpl$5","DatePickerDescriptionProps","DatePickerDescription","_el$8","DatePickerErrorMessageProps","DatePickerErrorMessage","_el$9","DateRangePickerLabelProps","DateRangePickerLabel","_el$0","DateRangePickerDescriptionProps","DateRangePickerDescription","_el$1","DateRangePickerErrorMessageProps","DateRangePickerErrorMessage","_el$10","createEscapeDismissFallback","document","onKeyDown","event","KeyboardEvent","key","defaultPrevented","isComposing","addEventListener","removeEventListener","DatePickerContent","portalContext","contentRef","setContentRef","portalContainer","getContainer","popoverAria","parentElement","popoverRef","offset","isNonModal","isKeyboardDismissDisabled","resolvedClass","c","cleanPopoverProps","_style","_ref","popoverProps","mergedStyle","popoverStyle","mount","contain","restoreFocus","_el$11","_tmpl$6","_el$12","firstChild","data-placement","data-entering","dialogProps","DateRangePickerContent","_el$13","_el$14","HiddenDateInputProps"],"sources":["../src/HiddenDateInput.tsx","../src/DatePicker.tsx"],"sourcesContent":["/**\n * HiddenDateInput component for solidaria-components\n *\n * A hidden native date/datetime-local input for form submission.\n * Renders server-side with the initial value for SSR safety.\n */\nimport { type JSX, createEffect, createSignal } from \"solid-js\";\nimport { type DateValue, type FormValidationState } from \"@proyecto-viviana/solid-stately\";\nimport { createFormValidation } from \"@proyecto-viviana/solidaria\";\n\ntype MaybeAccessor<T> = T | (() => T);\n\nexport interface HiddenDateInputProps {\n name?: string;\n form?: string;\n value?: MaybeAccessor<DateValue | null | undefined>;\n autoComplete?: string;\n isDisabled?: boolean;\n isRequired?: boolean;\n validationBehavior?: \"aria\" | \"native\";\n validationState?: FormValidationState;\n focus?: () => void;\n minValue?: MaybeAccessor<DateValue | undefined>;\n maxValue?: MaybeAccessor<DateValue | undefined>;\n granularity?: \"day\" | \"hour\" | \"minute\" | \"second\";\n}\n\nfunction accessValue<T>(value: MaybeAccessor<T> | undefined): T | undefined {\n return typeof value === \"function\" ? (value as () => T)() : value;\n}\n\nfunction formatDateValue(\n value: DateValue | undefined | null,\n granularity: \"day\" | \"hour\" | \"minute\" | \"second\",\n): string {\n if (!value) return \"\";\n\n if (\"timeZone\" in value) {\n return String(value);\n }\n\n const dateValue = value;\n\n const year = String(dateValue.year).padStart(4, \"0\");\n const month = String(dateValue.month).padStart(2, \"0\");\n const day = String(dateValue.day).padStart(2, \"0\");\n\n if (granularity === \"day\") {\n return `${year}-${month}-${day}`;\n }\n\n const hasHour = \"hour\" in dateValue;\n const hour = hasHour ? String((dateValue as { hour: number }).hour).padStart(2, \"0\") : \"00\";\n const hasMinute = hasHour && \"minute\" in dateValue;\n const minute = hasMinute\n ? String((dateValue as { minute: number }).minute).padStart(2, \"0\")\n : \"00\";\n\n if (granularity === \"second\" && hasMinute && \"second\" in dateValue) {\n const second = String((dateValue as { second: number }).second).padStart(2, \"0\");\n return `${year}-${month}-${day}T${hour}:${minute}:${second}`;\n }\n\n return `${year}-${month}-${day}T${hour}:${minute}`;\n}\n\nexport function HiddenDateInput(props: HiddenDateInputProps): JSX.Element {\n const granularity = () => props.granularity ?? \"day\";\n const hasValidationBehavior = () => props.validationBehavior != null;\n const validationBehavior = () => props.validationBehavior;\n const usesNativeValidation = () => validationBehavior() === \"native\";\n const value = () => accessValue(props.value);\n const minValue = () => accessValue(props.minValue);\n const maxValue = () => accessValue(props.maxValue);\n const hasTimeZoneValue = () =>\n Boolean(\n (value() && \"timeZone\" in value()!) ||\n (minValue() && \"timeZone\" in minValue()!) ||\n (maxValue() && \"timeZone\" in maxValue()!),\n );\n const inputType = () =>\n usesNativeValidation()\n ? \"text\"\n : hasValidationBehavior()\n ? \"hidden\"\n : hasTimeZoneValue()\n ? \"hidden\"\n : granularity() === \"day\"\n ? \"date\"\n : \"datetime-local\";\n const formattedValue = () => formatDateValue(value(), granularity());\n const formattedMin = () => formatDateValue(minValue(), granularity());\n const formattedMax = () => formatDateValue(maxValue(), granularity());\n\n const [inputRef, setInputRef] = createSignal<HTMLInputElement>();\n\n if (props.validationState) {\n createFormValidation(\n {\n get validationBehavior() {\n return validationBehavior();\n },\n get focus() {\n return props.focus;\n },\n },\n props.validationState,\n inputRef,\n );\n }\n\n createEffect(() => {\n const val = formattedValue();\n const input = inputRef();\n if (input && input.value !== val) {\n input.value = val;\n }\n });\n\n return (\n <input\n ref={(el) => {\n setInputRef(el);\n }}\n type={inputType()}\n name={props.name}\n form={props.form}\n value={formattedValue()}\n autocomplete={props.autoComplete}\n disabled={props.isDisabled}\n required={usesNativeValidation() && props.isRequired ? true : undefined}\n hidden={usesNativeValidation() || undefined}\n min={hasValidationBehavior() ? undefined : formattedMin() || undefined}\n max={hasValidationBehavior() ? undefined : formattedMax() || undefined}\n onChange={usesNativeValidation() ? () => {} : undefined}\n tabIndex={-1}\n aria-hidden=\"true\"\n style={\n {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n padding: \"0\",\n margin: \"-1px\",\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n \"white-space\": \"nowrap\",\n \"border-width\": \"0\",\n } as JSX.CSSProperties\n }\n />\n );\n}\n","/**\n * DatePicker component for solidaria-components\n *\n * Pre-wired headless date picker component that combines a date field with a calendar popup.\n * Port of react-aria-components/src/DatePicker.tsx\n */\n\nimport {\n type JSX,\n type Context,\n createContext,\n createEffect,\n createMemo,\n createSignal,\n onCleanup,\n splitProps,\n useContext,\n Show,\n} from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport {\n createDatePicker,\n createDateField,\n createDateRangePicker,\n createEnterAnimation,\n createFocusRing,\n createHover,\n createPopover,\n mergeProps,\n FocusScope,\n useUNSAFE_PortalContext,\n type AriaDatePickerProps,\n type AriaDateRangePickerProps,\n type DatePickerState as AriaDatePickerState,\n type PlacementAxis,\n} from \"@proyecto-viviana/solidaria\";\nimport {\n createDateFieldState,\n createCalendarState,\n createRangeCalendarState,\n createDatePickerState,\n access,\n type DateFieldState,\n type DatePickerState,\n type CalendarStateProps,\n type CalendarState,\n type RangeCalendarState,\n type DateFieldStateProps,\n type DatePickerStateOptions,\n type CalendarDate,\n type DateValue,\n type RangeCalendarStateProps,\n type RangeValue,\n} from \"@proyecto-viviana/solid-stately\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n dataAttr,\n useIsHydrated,\n Provider,\n} from \"./utils\";\nimport { TextContext } from \"./Text\";\nimport { DateFieldContext } from \"./DateField\";\nimport { CalendarContext } from \"./Calendar\";\nimport { RangeCalendarContext } from \"./RangeCalendar\";\nimport { HiddenDateInput } from \"./HiddenDateInput\";\nimport { FormContext, type FormProps } from \"./Form\";\nimport {\n DateRangePickerContext,\n useDateRangePickerContext,\n type DateRangePickerContextValue,\n type DateRangePickerFieldContextValue,\n} from \"./DateRangePickerContext\";\n\nexport interface DatePickerRenderProps {\n /** Whether the picker is disabled. */\n isDisabled: boolean;\n /** Whether the picker is read-only. */\n isReadOnly: boolean;\n /** Whether the picker is required. */\n isRequired: boolean;\n /** Whether the picker is invalid. */\n isInvalid: boolean;\n /** Whether the calendar is open. */\n isOpen: boolean;\n}\n\nexport interface DateRangePickerRenderProps extends Omit<DatePickerRenderProps, \"isInvalid\"> {\n isInvalid: boolean;\n}\n\nexport interface DatePickerContextValue {\n fieldState: DateFieldState<DateValue>;\n datePickerState: DatePickerState<DateValue>;\n calendarState: CalendarState<DateValue>;\n overlayState: {\n isOpen: boolean;\n open: () => void;\n close: () => void;\n toggle: () => void;\n };\n triggerRef: () => HTMLElement | null;\n setTriggerRef: (element: HTMLElement | null) => void;\n pickerAria: ReturnType<typeof createDatePicker>;\n}\n\nexport type DatePickerProps<T extends DateValue = DateValue> = Omit<\n AriaDatePickerProps,\n \"id\" | \"isDisabled\" | \"isReadOnly\" | \"isRequired\" | \"minValue\" | \"maxValue\"\n> &\n Omit<DateFieldStateProps<T>, \"locale\"> &\n SlotProps & {\n /** The children of the component. */\n children?: JSX.Element;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<DatePickerRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<DatePickerRenderProps>;\n /** The locale to use for formatting. */\n locale?: string;\n /** Whether the calendar should close when a date is selected. */\n shouldCloseOnSelect?: boolean;\n /** Whether the overlay is open by default (uncontrolled). */\n defaultOpen?: boolean;\n /** Whether the overlay is open (controlled). */\n isOpen?: boolean;\n /** Callback when the overlay open state changes. */\n onOpenChange?: (isOpen: boolean) => void;\n /** The name for the hidden date input used in HTML form submission. */\n name?: string;\n /** The associated form id for the hidden date input. */\n form?: string;\n /** The number of months to display in the calendar popover. */\n visibleMonths?: number;\n /** Controls whether calendar paging advances by one month or by the visible month range. */\n pageBehavior?: CalendarStateProps<T>[\"pageBehavior\"];\n /** Determines how visible months align around the initial focused date. */\n selectionAlignment?: CalendarStateProps<T>[\"selectionAlignment\"];\n /** A function that determines whether a date is disabled. */\n isDateDisabled?: (date: DateValue) => boolean;\n };\n\nexport interface DateRangePickerProps<T extends DateValue = DateValue>\n extends\n Omit<AriaDateRangePickerProps, \"id\" | \"isDisabled\" | \"isReadOnly\">,\n Omit<RangeCalendarStateProps<T>, \"locale\">,\n SlotProps {\n children?: JSX.Element;\n class?: ClassNameOrFunction<DateRangePickerRenderProps>;\n style?: StyleOrFunction<DateRangePickerRenderProps>;\n locale?: string;\n shouldCloseOnSelect?: boolean;\n /** Whether the overlay is open by default (uncontrolled). */\n defaultOpen?: boolean;\n /** Whether the overlay is open (controlled). */\n isOpen?: boolean;\n /** Callback when the overlay open state changes. */\n onOpenChange?: (isOpen: boolean) => void;\n /** The granularity of the date/time fields. */\n granularity?: \"day\" | \"hour\" | \"minute\" | \"second\";\n /** Whether to show the hour in 12 or 24 hour format. */\n hourCycle?: 12 | 24;\n /** Whether to hide the time zone in date/time fields. */\n hideTimeZone?: boolean;\n /** The placeholder date used to determine segment structure. */\n placeholderValue?: DateValue;\n /** The name for the start date input used in HTML form submission. */\n startName?: string;\n /** The name for the end date input used in HTML form submission. */\n endName?: string;\n /** The associated form id for the hidden start/end date inputs. */\n form?: string;\n /** Controls whether native or ARIA validation should be used. */\n validationBehavior?: \"native\" | \"aria\";\n}\n\nexport interface DatePickerButtonRenderProps {\n /** Whether the button is disabled. */\n isDisabled: boolean;\n /** Whether the calendar is open. */\n isOpen: boolean;\n /**\n * Whether the button is currently pressed. Provided by the single\n * DatePicker (fed from `createDatePicker().isButtonPressed()`); the range\n * variant does not yet publish press state, so this is optional.\n */\n isPressed?: boolean;\n /**\n * Whether the button is hovered. Fed from the trigger's own `createHover`;\n * mirrors RAC `Button`'s `isHovered` renderProp so the styled S2\n * `baseColor(\"gray-100\")` hover-step background compiles into the className.\n */\n isHovered?: boolean;\n /**\n * Whether the button is keyboard-focused (focus-visible). Fed from\n * `createFocusRing`; mirrors RAC `Button`'s `isFocusVisible` so the styled\n * S2 `focusRing()` outline (a renderProps-gated class, not a CSS\n * `[data-focus-visible]` selector) compiles into the className.\n */\n isFocusVisible?: boolean;\n}\n\nexport interface DatePickerButtonProps extends SlotProps {\n /** The children of the component. */\n children?: RenderChildren<DatePickerButtonRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<DatePickerButtonRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<DatePickerButtonRenderProps>;\n /** Whether the button is disabled. */\n isDisabled?: boolean;\n /**\n * Ref callback for the underlying button element. Mirrors S2's CalendarButton,\n * whose `buttonRef` feeds `pressScale(buttonRef)`; the styled layer forwards a\n * setter here so it can size the press transform against the real element.\n */\n ref?: (element: HTMLButtonElement) => void;\n}\n\nexport interface DateRangePickerButtonProps extends DatePickerButtonProps {}\n\nexport const DatePickerContext = createContext<DatePickerContextValue | null>(null);\nexport const DatePickerStateContext = createContext<DateFieldState<DateValue> | null>(null);\nexport const DateRangePickerStateContext = createContext<RangeCalendarState<DateValue> | null>(\n null,\n);\nexport { DateRangePickerContext, useDateRangePickerContext } from \"./DateRangePickerContext\";\nexport type {\n DateRangePickerContextValue,\n DateRangePickerFieldContextValue,\n} from \"./DateRangePickerContext\";\n\nfunction withFormValidationBehavior<P extends object>(props: P, formContext: FormProps | null): P {\n if (!formContext?.validationBehavior) {\n return props;\n }\n\n return new Proxy(props, {\n get(target, property, receiver) {\n const localValue = Reflect.get(target, property, receiver);\n if (property === \"validationBehavior\" && localValue === undefined) {\n return formContext.validationBehavior;\n }\n\n return localValue;\n },\n has(target, property) {\n return (\n Reflect.has(target, property) ||\n (property === \"validationBehavior\" && formContext.validationBehavior !== undefined)\n );\n },\n ownKeys(target) {\n const keys = new Set(Reflect.ownKeys(target));\n if (formContext.validationBehavior !== undefined) {\n keys.add(\"validationBehavior\");\n }\n\n return Array.from(keys);\n },\n getOwnPropertyDescriptor(target, property) {\n const descriptor = Reflect.getOwnPropertyDescriptor(target, property);\n if (descriptor) {\n return descriptor;\n }\n\n if (property === \"validationBehavior\" && formContext.validationBehavior !== undefined) {\n return {\n enumerable: true,\n configurable: true,\n get: () => formContext.validationBehavior,\n };\n }\n\n return undefined;\n },\n });\n}\n\nexport function useDatePickerContext(): DatePickerContextValue {\n const context = useContext(DatePickerContext);\n if (!context) {\n throw new Error(\"DatePicker components must be used within a DatePicker\");\n }\n return context;\n}\n\n/**\n * A date picker combines a DateField and a Calendar popover.\n *\n * @example\n * ```tsx\n * <DatePicker label=\"Event date\">\n * <Label>Event date</Label>\n * <Group>\n * <DateInput>\n * {(segment) => <DateSegment segment={segment} />}\n * </DateInput>\n * <DatePickerButton>📅</DatePickerButton>\n * </Group>\n * <Popover>\n * <Dialog>\n * <Calendar>\n * <CalendarGrid>\n * {(date) => <CalendarCell date={date} />}\n * </CalendarGrid>\n * </Calendar>\n * </Dialog>\n * </Popover>\n * </DatePicker>\n * ```\n */\nexport function DatePicker<T extends DateValue = CalendarDate>(\n props: DatePickerProps<T>,\n): JSX.Element {\n // Use hydration-safe pattern for client-only rendering\n const isHydrated = useIsHydrated();\n const formContext = useContext(FormContext);\n\n return (\n <Show\n when={isHydrated()}\n fallback={\n <div class=\"solidaria-DatePicker solidaria-DatePicker--placeholder\" aria-hidden=\"true\" />\n }\n >\n <DatePickerInner {...props} __formContext={formContext} />\n </Show>\n );\n}\n\ntype DatePickerInnerProps<T extends DateValue = DateValue> = DatePickerProps<T> & {\n __formContext?: FormProps | null;\n};\n\n/**\n * Internal DatePicker component that renders after client mount.\n */\nfunction DatePickerInner<T extends DateValue = CalendarDate>(\n props: DatePickerInnerProps<T>,\n): JSX.Element {\n const formContext = props.__formContext ?? useContext(FormContext);\n const mergedProps = withFormValidationBehavior(props, formContext);\n const [local, stateProps, rest] = splitProps(\n mergedProps,\n [\"children\", \"class\", \"style\", \"slot\", \"shouldCloseOnSelect\", \"__formContext\"],\n [\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"isOpen\",\n \"defaultOpen\",\n \"onOpenChange\",\n \"minValue\",\n \"maxValue\",\n \"isInvalid\",\n \"isDisabled\",\n \"isReadOnly\",\n \"isRequired\",\n \"locale\",\n \"granularity\",\n \"hourCycle\",\n \"hideTimeZone\",\n \"placeholderValue\",\n \"shouldForceLeadingZeros\",\n \"createCalendar\",\n \"validationState\",\n \"validationBehavior\",\n \"validate\",\n \"description\",\n \"errorMessage\",\n \"isDateUnavailable\",\n \"firstDayOfWeek\",\n \"visibleMonths\",\n \"pageBehavior\",\n \"selectionAlignment\",\n \"isDateDisabled\",\n ],\n );\n\n const [triggerRef, setTriggerRef] = createSignal<HTMLElement | null>(null);\n const [fieldRef, setFieldRef] = createSignal<HTMLDivElement | null>(null);\n\n // Unified state using createDatePickerState as single source of truth.\n // Use getters here so controlled props keep tracking after splitProps.\n const datePickerStateProps = {\n get value() {\n return stateProps.value;\n },\n get defaultValue() {\n return stateProps.defaultValue;\n },\n get onChange() {\n return stateProps.onChange;\n },\n get minValue() {\n return stateProps.minValue;\n },\n get maxValue() {\n return stateProps.maxValue;\n },\n get isDisabled() {\n return stateProps.isDisabled;\n },\n get isReadOnly() {\n return stateProps.isReadOnly;\n },\n get isRequired() {\n return stateProps.isRequired;\n },\n get granularity() {\n return stateProps.granularity;\n },\n get hourCycle() {\n return stateProps.hourCycle;\n },\n get hideTimeZone() {\n return stateProps.hideTimeZone;\n },\n get placeholderValue() {\n return stateProps.placeholderValue;\n },\n get shouldCloseOnSelect() {\n return local.shouldCloseOnSelect;\n },\n get defaultOpen() {\n return stateProps.defaultOpen;\n },\n get isOpen() {\n return stateProps.isOpen;\n },\n get onOpenChange() {\n return stateProps.onOpenChange;\n },\n get isDateUnavailable() {\n return stateProps.isDateUnavailable;\n },\n get validationState() {\n return stateProps.validationState;\n },\n } satisfies DatePickerStateOptions<T>;\n const datePickerState = createDatePickerState<T>(datePickerStateProps);\n\n const overlayState = {\n get isOpen() {\n return datePickerState.isOpen();\n },\n open: datePickerState.open,\n close: datePickerState.close,\n toggle: () => datePickerState.setOpen(!datePickerState.isOpen()),\n };\n\n // Create field state synced through datePickerState\n const fieldState = createDateFieldState<T>({\n ...stateProps,\n value: () => datePickerState.value(),\n onChange: (value) => {\n datePickerState.setValue(value);\n },\n });\n\n // Create calendar state synced through datePickerState\n const calendarState = createCalendarState<T>({\n value: () => datePickerState.value(),\n onChange: (value) => {\n if (!value) {\n return;\n }\n datePickerState.setDateValue(value);\n },\n minValue: stateProps.minValue,\n maxValue: stateProps.maxValue,\n isDisabled: stateProps.isDisabled,\n isReadOnly: stateProps.isReadOnly,\n locale: stateProps.locale,\n createCalendar: stateProps.createCalendar as CalendarStateProps<T>[\"createCalendar\"],\n isDateUnavailable: stateProps.isDateUnavailable,\n firstDayOfWeek: stateProps.firstDayOfWeek as 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined,\n visibleMonths: stateProps.visibleMonths,\n pageBehavior: stateProps.pageBehavior,\n selectionAlignment: stateProps.selectionAlignment,\n isDateDisabled: stateProps.isDateDisabled,\n });\n\n // RAC's useDatePicker re-mounts a FRESH useCalendarState every popover open\n // and passes autoFocus:true, so useCalendarState seeds isFocused=true and the\n // focused cell auto-focuses (useCalendarState.mjs line 80:\n // `useState(props.autoFocus || false)`). The port SHARES one persistent\n // calendarState across opens, so isFocused would stay whatever it last was\n // (false after the first close). Mirror the fresh-mount behavior by flagging\n // the shared state focused on each false->true open transition; the\n // CalendarCell focus effect then pulls DOM focus to the value/today cell.\n let wasOpen = false;\n createEffect(() => {\n const open = datePickerState.isOpen();\n if (open && !wasOpen) {\n calendarState.setFocused(true);\n }\n wasOpen = open;\n });\n\n // Create date picker ARIA props\n const pickerAria = createDatePicker(\n () => ({\n ...(rest as Record<string, unknown>),\n description: stateProps.description,\n errorMessage: stateProps.errorMessage,\n }),\n fieldState as unknown as DateFieldState<DateValue>,\n overlayState as AriaDatePickerState,\n calendarState as unknown as CalendarState<DateValue>,\n () => fieldRef(),\n );\n\n // The composed picker's fieldProps (stamped role=\"presentation\") are fed\n // through createDateField — mirroring RAC's DateField consuming\n // useDatePicker().fieldProps. This is what actually names the segments and\n // publishes the value description through the shared hookData WeakMap; without\n // it the segments would be unnamed and carry no selected-date announcement.\n const fieldAria = createDateField(\n () => pickerAria.fieldProps,\n fieldState as unknown as DateFieldState<DateValue>,\n () => fieldRef(),\n );\n\n const contextValue: DatePickerContextValue = {\n fieldState: fieldState as unknown as DateFieldState<DateValue>,\n datePickerState: datePickerState as unknown as DatePickerState<DateValue>,\n calendarState: calendarState as unknown as CalendarState<DateValue>,\n overlayState,\n triggerRef,\n setTriggerRef: (element) => {\n if (!element) return;\n const current = triggerRef();\n if (!current || !current.isConnected) {\n setTriggerRef(() => element);\n }\n },\n pickerAria,\n };\n\n const isInvalid = createMemo(\n () =>\n fieldState.isInvalid() ||\n datePickerState.builtinValidation().isInvalid ||\n Boolean(stateProps.isInvalid),\n );\n\n const renderValues = createMemo<DatePickerRenderProps>(() => ({\n isDisabled: fieldState.isDisabled(),\n isReadOnly: fieldState.isReadOnly(),\n isRequired: fieldState.isRequired(),\n isInvalid: isInvalid(),\n isOpen: overlayState.isOpen,\n }));\n\n const renderProps = useRenderProps(\n {\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-DatePicker\",\n },\n renderValues,\n );\n\n const validationBehavior = () =>\n (stateProps as { validationBehavior?: \"aria\" | \"native\" }).validationBehavior ??\n formContext?.validationBehavior ??\n \"native\";\n\n return (\n <DatePickerStateContext.Provider value={fieldState as unknown as DateFieldState<DateValue>}>\n <DatePickerContext.Provider value={contextValue}>\n {/* Also provide DateFieldContext so DateInput/DateSegment work inside DatePicker */}\n <DateFieldContext.Provider\n value={{\n state: fieldState as unknown as DateFieldState<DateValue>,\n // Read through getters so the DateInput/DateSegment consumers see the\n // LIVE memo values (createDescription appends the value-description id\n // via a deferred effect; froze snapshots would miss it). inputProps are\n // the createDateField group props (role=\"presentation\" here), which name\n // the segments — NOT the raw pickerAria.fieldProps.\n aria: {\n get labelProps() {\n return pickerAria.labelProps;\n },\n get inputProps() {\n return fieldAria.fieldProps;\n },\n get descriptionProps() {\n return pickerAria.descriptionProps;\n },\n get errorMessageProps() {\n return pickerAria.errorMessageProps;\n },\n },\n }}\n >\n <CalendarContext.Provider value={calendarState as unknown as CalendarState<DateValue>}>\n {/* BARE ROLELESS root — mirrors RAC `DatePicker`'s outer `<div>`. The\n * presentation FieldGroup shell (rendered as a child via\n * `DatePickerFieldGroup`) is what carries `pickerAria.groupProps`\n * (role=\"presentation\" + label/describedby + arrow-nav/press). A\n * described node here would be a spurious AX entry the S2 oracle lacks. */}\n <div\n ref={setFieldRef}\n class={renderProps.class()}\n style={renderProps.style()}\n data-disabled={dataAttr(fieldState.isDisabled())}\n data-readonly={dataAttr(fieldState.isReadOnly())}\n data-required={dataAttr(fieldState.isRequired())}\n data-invalid={dataAttr(isInvalid())}\n data-open={dataAttr(overlayState.isOpen)}\n >\n <Provider\n values={\n [\n [\n TextContext,\n {\n slots: {\n get description() {\n return pickerAria.descriptionProps;\n },\n get errorMessage() {\n return pickerAria.errorMessageProps;\n },\n },\n },\n ],\n ] as Array<[Context<unknown>, unknown]>\n }\n >\n {props.children}\n </Provider>\n </div>\n <Show when={(rest as Record<string, unknown>).name}>\n <HiddenDateInput\n name={(rest as Record<string, unknown>).name as string | undefined}\n form={(rest as Record<string, unknown>).form as string | undefined}\n value={() => datePickerState.value()}\n autoComplete={(rest as Record<string, unknown>).autoComplete as string | undefined}\n isDisabled={fieldState.isDisabled()}\n isRequired={fieldState.isRequired()}\n validationBehavior={validationBehavior()}\n validationState={fieldState}\n focus={() => {\n fieldRef()?.querySelector<HTMLElement>('[role=\"spinbutton\"]')?.focus();\n }}\n minValue={() => access(stateProps.minValue) as DateValue | undefined}\n maxValue={() => access(stateProps.maxValue) as DateValue | undefined}\n granularity={datePickerState.granularity}\n />\n </Show>\n </CalendarContext.Provider>\n </DateFieldContext.Provider>\n </DatePickerContext.Provider>\n </DatePickerStateContext.Provider>\n );\n}\n\nexport function DateRangePicker<T extends DateValue = CalendarDate>(\n props: DateRangePickerProps<T>,\n): JSX.Element {\n const isHydrated = useIsHydrated();\n return (\n <Show\n when={isHydrated()}\n fallback={\n <div\n class=\"solidaria-DateRangePicker solidaria-DateRangePicker--placeholder\"\n aria-hidden=\"true\"\n />\n }\n >\n <DateRangePickerInner {...props} />\n </Show>\n );\n}\n\nfunction DateRangePickerInner<T extends DateValue = CalendarDate>(\n props: DateRangePickerProps<T>,\n): JSX.Element {\n const [local, overlayProps, stateProps, rest] = splitProps(\n props,\n [\"children\", \"class\", \"style\", \"slot\", \"shouldCloseOnSelect\"],\n [\"defaultOpen\", \"isOpen\", \"onOpenChange\"],\n [\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"minValue\",\n \"maxValue\",\n \"isDisabled\",\n \"isReadOnly\",\n \"focusedValue\",\n \"defaultFocusedValue\",\n \"onFocusChange\",\n \"locale\",\n \"granularity\",\n \"hourCycle\",\n \"hideTimeZone\",\n \"placeholderValue\",\n \"createCalendar\",\n \"isDateUnavailable\",\n \"visibleMonths\",\n \"isDateDisabled\",\n \"validationState\",\n \"allowsNonContiguousRanges\",\n \"firstDayOfWeek\",\n \"pageBehavior\",\n \"selectionAlignment\",\n ],\n );\n\n const [internalOpen, setInternalOpen] = createSignal(overlayProps.defaultOpen ?? false);\n const isOpen = () => access(overlayProps.isOpen) ?? internalOpen();\n const setOpen = (open: boolean) => {\n if (access(overlayProps.isOpen) === undefined) {\n setInternalOpen(open);\n }\n overlayProps.onOpenChange?.(open);\n };\n\n let triggerRef: HTMLElement | null = null;\n // The roleless root element — scopes the shared segment focus manager and the\n // outer arrow-navigation across BOTH fields, mirroring the single DatePicker's\n // `fieldRef`.\n const [fieldRef, setFieldRef] = createSignal<HTMLDivElement | null>(null);\n const overlayState = {\n get isOpen() {\n return isOpen();\n },\n open: () => setOpen(true),\n close: () => setOpen(false),\n toggle: () => setOpen(!isOpen()),\n };\n\n const [internalRangeValue, setInternalRangeValue] = createSignal<RangeValue<T> | null>(\n stateProps.defaultValue ?? null,\n );\n const currentRangeValue = createMemo<RangeValue<T> | null>(() => {\n const controlled = access(stateProps.value);\n return controlled !== undefined ? controlled : internalRangeValue();\n });\n const setCommittedRangeValue = (value: RangeValue<T> | null) => {\n if (access(stateProps.value) === undefined) {\n setInternalRangeValue(() => value);\n }\n stateProps.onChange?.(value);\n };\n\n const calendarState = createRangeCalendarState({\n ...stateProps,\n value: currentRangeValue,\n onChange: (value) => {\n setCommittedRangeValue(value);\n if (local.shouldCloseOnSelect !== false && value?.start && value?.end) {\n setOpen(false);\n }\n },\n });\n\n // Mirror the single DatePicker: RAC re-mounts a FRESH useRangeCalendarState\n // per popover open with autoFocus:true, so isFocused seeds true and the focused\n // cell auto-focuses AND publishes its range-selection prompt describedby\n // (\"Click to start selecting date range\"). The port shares one persistent\n // range state across opens, so flag it focused on each false->true open\n // transition to reproduce that behavior.\n let wasRangeOpen = false;\n createEffect(() => {\n const open = overlayState.isOpen;\n if (open && !wasRangeOpen) {\n calendarState.setFocused(true);\n }\n wasRangeOpen = open;\n });\n\n const isInvalid = createMemo(\n () =>\n Boolean((rest as { isInvalid?: boolean }).isInvalid) ||\n calendarState.validationState() === \"invalid\",\n );\n const isRequired = createMemo(() => Boolean((rest as { isRequired?: boolean }).isRequired));\n const [startFieldValue, setStartFieldValue] = createSignal<T | null>(\n currentRangeValue()?.start ?? null,\n );\n const [endFieldValue, setEndFieldValue] = createSignal<T | null>(\n currentRangeValue()?.end ?? null,\n );\n const rangeGranularity = createMemo<\"day\" | \"hour\" | \"minute\" | \"second\">(() => {\n if (stateProps.granularity) {\n return stateProps.granularity;\n }\n const value = currentRangeValue()?.start ?? currentRangeValue()?.end;\n if (value && \"hour\" in value) {\n return \"second\" in value ? \"second\" : \"minute\";\n }\n return \"day\";\n });\n\n createEffect(() => {\n const value = currentRangeValue();\n setStartFieldValue(() => value?.start ?? null);\n setEndFieldValue(() => value?.end ?? null);\n });\n\n const setRangeFieldValue = (part: \"start\" | \"end\", nextValue: T | null) => {\n if (part === \"start\") {\n setStartFieldValue(() => nextValue);\n } else {\n setEndFieldValue(() => nextValue);\n }\n\n const nextStart = part === \"start\" ? nextValue : startFieldValue();\n const nextEnd = part === \"end\" ? nextValue : endFieldValue();\n\n setCommittedRangeValue(\n nextStart && nextEnd ? ({ start: nextStart, end: nextEnd } as RangeValue<T>) : null,\n );\n };\n\n const rangeFieldStateProps = {\n minValue: stateProps.minValue,\n maxValue: stateProps.maxValue,\n isDisabled: stateProps.isDisabled,\n isReadOnly: stateProps.isReadOnly,\n isRequired,\n locale: access(stateProps.locale),\n granularity: rangeGranularity(),\n hourCycle: stateProps.hourCycle,\n hideTimeZone: stateProps.hideTimeZone,\n placeholderValue: stateProps.placeholderValue,\n validationState: () => (isInvalid() ? \"invalid\" : access(stateProps.validationState)),\n // The range picker's isDateUnavailable is anchor-aware (date, anchorDate),\n // but a text field has no range anchor, so adapt it to the field's 1-arg form\n // by always passing a null anchor (checks raw per-date availability).\n isDateUnavailable: stateProps.isDateUnavailable\n ? (date: DateValue) => stateProps.isDateUnavailable!(date, null)\n : undefined,\n } satisfies Partial<DateFieldStateProps<T>>;\n\n const startFieldState = createDateFieldState<T>({\n ...rangeFieldStateProps,\n value: startFieldValue,\n onChange: (value) => setRangeFieldValue(\"start\", value),\n });\n\n const endFieldState = createDateFieldState<T>({\n ...rangeFieldStateProps,\n value: endFieldValue,\n onChange: (value) => setRangeFieldValue(\"end\", value),\n });\n\n const pickerAria = createDateRangePicker(\n () => ({\n ...(rest as Record<string, unknown>),\n description: (props as { description?: string }).description,\n errorMessage: (props as { errorMessage?: string }).errorMessage,\n }),\n calendarState as unknown as RangeCalendarState<DateValue>,\n overlayState as AriaDatePickerState,\n () => fieldRef(),\n );\n\n // Each range field's presentation field props (stamped role=\"presentation\" +\n // the SHARED focus manager) are fed through createDateField — mirroring RAC's\n // two `<DateInput>`s consuming useDateRangePicker().start/endFieldProps. This\n // names the segments (\"month, Start Date\" / \"month, End Date\") and publishes\n // them through the shared hookData WeakMap; the shared focus manager makes arrow\n // keys and auto-advance walk across the start/end boundary.\n const startFieldAria = createDateField(\n () => pickerAria.startFieldProps,\n startFieldState as unknown as DateFieldState<DateValue>,\n () => fieldRef(),\n );\n const endFieldAria = createDateField(\n () => pickerAria.endFieldProps,\n endFieldState as unknown as DateFieldState<DateValue>,\n () => fieldRef(),\n );\n\n const startFieldContext: DateRangePickerFieldContextValue = {\n state: startFieldState as unknown as DateFieldState<DateValue>,\n aria: {\n labelProps: {},\n // The DateInput group carries createDateField's fieldProps (role=\"presentation\"\n // + arrow-nav bubbling + unicode-bidi isolate), mirroring the standalone\n // DateField's `inputProps ← fieldProps` mapping. NO hiddenInputProps — the\n // range owner renders its HiddenDateInput siblings below.\n get inputProps() {\n return startFieldAria.fieldProps;\n },\n get descriptionProps() {\n return pickerAria.descriptionProps;\n },\n get errorMessageProps() {\n return pickerAria.errorMessageProps;\n },\n },\n };\n\n const endFieldContext: DateRangePickerFieldContextValue = {\n state: endFieldState as unknown as DateFieldState<DateValue>,\n aria: {\n labelProps: {},\n get inputProps() {\n return endFieldAria.fieldProps;\n },\n get descriptionProps() {\n return pickerAria.descriptionProps;\n },\n get errorMessageProps() {\n return pickerAria.errorMessageProps;\n },\n },\n };\n\n const contextValue: DateRangePickerContextValue = {\n calendarState: calendarState as unknown as RangeCalendarState<DateValue>,\n startFieldState: startFieldState as unknown as DateFieldState<DateValue>,\n endFieldState: endFieldState as unknown as DateFieldState<DateValue>,\n startFieldContext,\n endFieldContext,\n overlayState,\n triggerRef: () => triggerRef,\n setTriggerRef: (element) => {\n if (!element) return;\n if (!triggerRef || !triggerRef.isConnected) triggerRef = element;\n },\n pickerAria,\n };\n\n const renderValues = createMemo<DateRangePickerRenderProps>(() => ({\n isDisabled: calendarState.isDisabled(),\n isReadOnly: calendarState.isReadOnly(),\n isRequired: isRequired(),\n isInvalid: isInvalid(),\n isOpen: overlayState.isOpen,\n }));\n\n const renderProps = useRenderProps(\n {\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-DateRangePicker\",\n },\n renderValues,\n );\n\n return (\n <DateRangePickerStateContext.Provider\n value={calendarState as unknown as RangeCalendarState<DateValue>}\n >\n <DateRangePickerContext.Provider value={contextValue}>\n <RangeCalendarContext.Provider\n value={calendarState as unknown as RangeCalendarState<DateValue>}\n >\n {/* BARE ROLELESS root — mirrors RAC `DateRangePicker`'s outer `<div>`.\n * The presentation FieldGroup shell (rendered as a child via the styled\n * DateRangeDisplay) is what carries `pickerAria.groupProps` (role=\n * \"presentation\" + label/describedby + outer arrow-nav/press). A described\n * or role=\"group\" node here would be a spurious AX entry the S2 oracle\n * lacks. The ref scopes the shared segment focus manager across both\n * fields (see createDateRangePicker). */}\n <div\n ref={setFieldRef}\n class={renderProps.class()}\n style={renderProps.style()}\n data-disabled={dataAttr(calendarState.isDisabled())}\n data-readonly={dataAttr(calendarState.isReadOnly())}\n data-required={dataAttr(isRequired())}\n data-invalid={dataAttr(isInvalid())}\n data-open={dataAttr(overlayState.isOpen)}\n >\n <Provider\n values={\n [\n [\n TextContext,\n {\n slots: {\n get description() {\n return pickerAria.descriptionProps;\n },\n get errorMessage() {\n return pickerAria.errorMessageProps;\n },\n },\n },\n ],\n ] as Array<[Context<unknown>, unknown]>\n }\n >\n {props.children}\n </Provider>\n </div>\n <Show when={(rest as Record<string, unknown>).startName}>\n <HiddenDateInput\n name={(rest as Record<string, unknown>).startName as string | undefined}\n form={(rest as Record<string, unknown>).form as string | undefined}\n value={() => currentRangeValue()?.start ?? null}\n isDisabled={access(stateProps.isDisabled) ?? false}\n minValue={() => access(stateProps.minValue) as DateValue | undefined}\n maxValue={() => access(stateProps.maxValue) as DateValue | undefined}\n granularity={rangeGranularity()}\n />\n </Show>\n <Show when={(rest as Record<string, unknown>).endName}>\n <HiddenDateInput\n name={(rest as Record<string, unknown>).endName as string | undefined}\n form={(rest as Record<string, unknown>).form as string | undefined}\n value={() => currentRangeValue()?.end ?? null}\n isDisabled={access(stateProps.isDisabled) ?? false}\n minValue={() => access(stateProps.minValue) as DateValue | undefined}\n maxValue={() => access(stateProps.maxValue) as DateValue | undefined}\n granularity={rangeGranularity()}\n />\n </Show>\n </RangeCalendarContext.Provider>\n </DateRangePickerContext.Provider>\n </DateRangePickerStateContext.Provider>\n );\n}\n\n/**\n * A button that opens the date picker calendar.\n */\nexport function DatePickerButton(props: DatePickerButtonProps): JSX.Element {\n const context = useDatePickerContext();\n\n // Mirror RAC's `buttonProps.isDisabled = props.isDisabled || props.isReadOnly`\n // (a read-only picker can't open its calendar) — `createDatePicker` computes\n // this as `isButtonDisabled()`. Reading `fieldState.isDisabled()` alone would\n // miss the read-only case (read-only ≠ disabled on the field), so the trigger\n // would paint enabled while the S2 oracle dims it.\n const isDisabled = () => context.pickerAria.isButtonDisabled() || (props.isDisabled ?? false);\n\n // Mirror RAC: the trigger is a `<Button>` whose own `useFocusRing`/`useHover`/\n // `usePress` drive its interaction paint state. The press signal is owned by\n // `createDatePicker` (`isButtonPressed`); focus-visible and hover are wired\n // here so the S2 `focusRing()`/`baseColor()` selectors (`data-focus-visible`,\n // `data-hovered`, `data-pressed`) resolve exactly as they do upstream.\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return isDisabled();\n },\n });\n\n const renderValues = createMemo<DatePickerButtonRenderProps>(() => ({\n isDisabled: isDisabled(),\n isOpen: context.overlayState.isOpen,\n isPressed: context.pickerAria.isButtonPressed(),\n isHovered: isHovered(),\n isFocusVisible: isFocusVisible(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: props.class,\n style: props.style,\n defaultClassName: \"solidaria-DatePickerButton\",\n },\n renderValues,\n );\n\n // Determine children content - avoid Show for SSR hydration compatibility\n const getChildren = () => {\n if (typeof props.children === \"function\") {\n return renderProps.renderChildren();\n }\n return props.children ?? \"📅\";\n };\n\n const buttonProps = createMemo(() =>\n mergeProps(\n context.pickerAria.buttonProps as Record<string, unknown>,\n focusProps as Record<string, unknown>,\n hoverProps as Record<string, unknown>,\n ),\n );\n\n return (\n <button\n ref={(el) => {\n context.setTriggerRef(el);\n props.ref?.(el);\n }}\n {...buttonProps()}\n class={renderProps.class()}\n style={renderProps.style()}\n disabled={isDisabled()}\n data-disabled={dataAttr(isDisabled())}\n data-open={dataAttr(context.overlayState.isOpen)}\n attr:data-hovered={isHovered() ? \"true\" : undefined}\n attr:data-focused={isFocused() ? \"true\" : undefined}\n attr:data-focus-visible={isFocusVisible() ? \"true\" : undefined}\n attr:data-pressed={context.pickerAria.isButtonPressed() ? \"true\" : undefined}\n >\n {getChildren()}\n </button>\n );\n}\n\nexport function DateRangePickerButton(props: DateRangePickerButtonProps): JSX.Element {\n const context = useDateRangePickerContext();\n\n // Mirror RAC's `buttonProps.isDisabled = props.isDisabled || props.isReadOnly`\n // (a read-only picker can't open its calendar) — `createDateRangePicker` computes\n // this as `isButtonDisabled()`. Reading `calendarState.isDisabled()` alone would\n // miss the read-only case, so the trigger would paint enabled while S2 dims it.\n const isDisabled = () => context.pickerAria.isButtonDisabled() || (props.isDisabled ?? false);\n\n // Mirror RAC: the trigger is a `<Button>` whose own `useFocusRing`/`useHover`/\n // `usePress` drive its interaction paint state. The press signal is owned by\n // `createDateRangePicker` (`isButtonPressed`); focus-visible and hover are wired\n // here so the S2 `focusRing()`/`baseColor()` selectors (`data-focus-visible`,\n // `data-hovered`, `data-pressed`) resolve exactly as they do upstream.\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return isDisabled();\n },\n });\n\n const renderValues = createMemo<DatePickerButtonRenderProps>(() => ({\n isDisabled: isDisabled(),\n isOpen: context.overlayState.isOpen,\n isPressed: context.pickerAria.isButtonPressed(),\n isHovered: isHovered(),\n isFocusVisible: isFocusVisible(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: props.class,\n style: props.style,\n defaultClassName: \"solidaria-DateRangePickerButton\",\n },\n renderValues,\n );\n\n const getChildren = () => {\n if (typeof props.children === \"function\") {\n return renderProps.renderChildren();\n }\n return props.children ?? \"📅\";\n };\n\n const buttonProps = createMemo(() =>\n mergeProps(\n context.pickerAria.buttonProps as Record<string, unknown>,\n focusProps as Record<string, unknown>,\n hoverProps as Record<string, unknown>,\n ),\n );\n\n return (\n <button\n ref={(el) => {\n context.setTriggerRef(el);\n props.ref?.(el);\n }}\n {...buttonProps()}\n class={renderProps.class()}\n style={renderProps.style()}\n disabled={isDisabled()}\n data-disabled={dataAttr(isDisabled())}\n data-open={dataAttr(context.overlayState.isOpen)}\n attr:data-hovered={isHovered() ? \"true\" : undefined}\n attr:data-focused={isFocused() ? \"true\" : undefined}\n attr:data-focus-visible={isFocusVisible() ? \"true\" : undefined}\n attr:data-pressed={context.pickerAria.isButtonPressed() ? \"true\" : undefined}\n >\n {getChildren()}\n </button>\n );\n}\n\n/**\n * Render props for the popover surface, mirroring RAC `Popover`'s\n * enter/exit/placement renderProps. The styled layer keys the S2\n * opacity/translate enter transition on these (a renderProps-gated class, not a\n * CSS `[data-entering]` selector).\n */\nexport interface DatePickerContentRenderProps {\n /** Whether the popover is playing its enter transition (`data-entering`). */\n isEntering: boolean;\n /** Whether the popover is playing its exit transition (`data-exiting`). */\n isExiting: boolean;\n /** The resolved placement axis, for the direction-dependent translate. */\n placement: PlacementAxis | null;\n}\n\nexport interface DatePickerContentProps extends SlotProps {\n /** The children of the component. */\n children?: JSX.Element;\n /** The CSS className for the element, or a function of the render props. */\n class?: string | ((renderProps: DatePickerContentRenderProps) => string);\n /** The inline style for the element. */\n style?: JSX.CSSProperties;\n}\n\nexport interface DateRangePickerContentProps extends DatePickerContentProps {}\n\nexport interface DatePickerLabelProps {\n children?: JSX.Element;\n class?: string;\n}\n\nexport function DatePickerLabel(props: DatePickerLabelProps): JSX.Element {\n const context = useDatePickerContext();\n return (\n <span {...context.pickerAria.labelProps} class={props.class}>\n {props.children}\n </span>\n );\n}\n\nexport interface DatePickerDescriptionProps {\n children?: JSX.Element;\n class?: string;\n}\n\nexport function DatePickerDescription(props: DatePickerDescriptionProps): JSX.Element {\n const context = useDatePickerContext();\n // Rendered as <span> (→ AX role \"text\"), mirroring S2's <Text slot=\"description\">\n // and the standalone DateFieldDescription — NOT a <p> (paragraph).\n return (\n <span {...context.pickerAria.descriptionProps} class={props.class}>\n {props.children}\n </span>\n );\n}\n\nexport interface DatePickerErrorMessageProps {\n children?: JSX.Element;\n class?: string;\n}\n\nexport function DatePickerErrorMessage(props: DatePickerErrorMessageProps): JSX.Element {\n const context = useDatePickerContext();\n // Rendered as <span> (→ AX role \"text\"), mirroring S2's <FieldError> and the\n // standalone DateFieldErrorMessage — NOT a <p> and NOT role=\"alert\".\n return (\n <span {...context.pickerAria.errorMessageProps} class={props.class}>\n {props.children}\n </span>\n );\n}\n\nexport interface DateRangePickerLabelProps {\n children?: JSX.Element;\n class?: string;\n}\n\nexport function DateRangePickerLabel(props: DateRangePickerLabelProps): JSX.Element {\n const context = useDateRangePickerContext();\n return (\n <span {...context.pickerAria.labelProps} class={props.class}>\n {props.children}\n </span>\n );\n}\n\nexport interface DateRangePickerDescriptionProps {\n children?: JSX.Element;\n class?: string;\n}\n\nexport function DateRangePickerDescription(props: DateRangePickerDescriptionProps): JSX.Element {\n const context = useDateRangePickerContext();\n // Rendered as <span> (→ AX role \"text\"), mirroring S2's <Text slot=\"description\">\n // and the single DatePickerDescription — NOT a <p> (paragraph).\n return (\n <span {...context.pickerAria.descriptionProps} class={props.class}>\n {props.children}\n </span>\n );\n}\n\nexport interface DateRangePickerErrorMessageProps {\n children?: JSX.Element;\n class?: string;\n}\n\nexport function DateRangePickerErrorMessage(props: DateRangePickerErrorMessageProps): JSX.Element {\n const context = useDateRangePickerContext();\n // Rendered as <span> (→ AX role \"text\"), mirroring S2's <FieldError> and the\n // single DatePickerErrorMessage — NOT a <p> and NOT role=\"alert\".\n return (\n <span {...context.pickerAria.errorMessageProps} class={props.class}>\n {props.children}\n </span>\n );\n}\n\nfunction createEscapeDismissFallback(isOpen: () => boolean, close: () => void): void {\n createEffect(() => {\n if (!isOpen() || typeof document === \"undefined\") return;\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\" || event.defaultPrevented || event.isComposing) return;\n close();\n };\n\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n}\n\n/**\n * The content area of the date picker (typically contains a Calendar).\n */\nexport function DatePickerContent(props: DatePickerContentProps): JSX.Element {\n const context = useDatePickerContext();\n const portalContext = useUNSAFE_PortalContext();\n // A signal (not a plain `let`) so the enter-animation effect re-runs when the\n // section mounts on open — `createEnterAnimation` reads this to know the\n // element exists before removing the initial `data-entering` styles.\n const [contentRef, setContentRef] = createSignal<HTMLElement>();\n const portalContainer = () => portalContext.getContainer?.() ?? undefined;\n\n const popoverAria = createPopover(\n {\n triggerRef: () => context.triggerRef()?.parentElement ?? context.triggerRef(),\n popoverRef: () => contentRef() ?? null,\n placement: \"bottom start\",\n offset: 8,\n isNonModal: false,\n isKeyboardDismissDisabled: false,\n },\n {\n isOpen: () => context.overlayState.isOpen,\n open: context.overlayState.open,\n close: context.overlayState.close,\n toggle: context.overlayState.toggle,\n },\n );\n\n createEscapeDismissFallback(() => context.overlayState.isOpen, context.overlayState.close);\n\n // Mirror S2's `<Popover>` enter transition (RAC `useEnterAnimation`): the\n // surface mounts carrying `data-entering` (opacity 0 + a small placement-ward\n // translate), which an effect removes on the next frame so the CSS transition\n // plays. The exit half is out of scope for this unit — the popover unmounts on\n // close (no `isOpen || isExiting` gate), so `isExiting` stays false; only the\n // enter motion is certified (D2).\n const isEntering = createEnterAnimation(contentRef, () => context.overlayState.isOpen);\n\n const renderProps = (): DatePickerContentRenderProps => ({\n isEntering: isEntering(),\n isExiting: false,\n // Seed the base placement so the ENTER frame already carries the\n // placement-ward `translate` (S2's popover motion is placement-gated:\n // `translateY: { placement: { bottom: { isEntering: -4 } } }`). RAC resolves\n // placement in a `useLayoutEffect` BEFORE the first paint, so no painted\n // frame is ever null-placement; the port's positioning `createEffect` lands\n // one frame later, so without this seed the entering frame drops `translateY`\n // and only `opacity` transitions (D2 caught the missing translate). The\n // desired placement is `bottom start` (see `createPopover` above), so the\n // base axis is always `bottom` until the measure refines it.\n placement: popoverAria.placement() ?? \"bottom\",\n });\n\n const resolvedClass = (): string => {\n const c = props.class;\n if (typeof c === \"function\") return c(renderProps());\n return c ?? \"solidaria-DatePickerContent\";\n };\n\n const cleanPopoverProps = () => {\n const {\n style: _style,\n ref: _ref,\n ...rest\n } = popoverAria.popoverProps as Record<string, unknown>;\n return rest;\n };\n\n const mergedStyle = (): JSX.CSSProperties => {\n const popoverStyle = (popoverAria.popoverProps as Record<string, unknown>).style as\n | JSX.CSSProperties\n | undefined;\n return {\n ...popoverStyle,\n ...props.style,\n };\n };\n\n // Close-focus restoration is delegated to the overlay's `FocusScope`\n // (`restoreFocus`) — exactly as RAC's DatePicker does, and as certified Select\n // and Menu do. The prior ad-hoc effect (`if (!open) triggerRef().focus()`)\n // fired once on mount with `open === false`, stealing focus to the trigger and\n // painting a phantom focus ring at rest.\n\n return (\n <Show when={context.overlayState.isOpen}>\n <Portal mount={portalContainer()}>\n <FocusScope contain restoreFocus>\n {/* Un-folded to mirror S2's `<Popover>` DOM. The OUTER role-null `<div>`\n * is the positioned surface that carries the enter motion + chrome —\n * this is the element RAC/S2 animate (`AriaPopover`'s div: role null, no\n * tabindex, accessible name computed from the calendar's textContent).\n * A nested `role=\"dialog\"` element (RAC's `Dialog`, which S2's\n * CalendarPopover wraps the Calendar in) carries the dialog semantics.\n * Folding both onto one `<section role=\"dialog\">` made D2 animate the\n * dialog node instead of the role-null div; the role-null wrapper is\n * pruned from the AX tree so D5/D6 are unaffected. */}\n <div\n ref={setContentRef}\n {...cleanPopoverProps()}\n class={resolvedClass()}\n style={mergedStyle()}\n data-placement={popoverAria.placement() ?? \"bottom\"}\n data-entering={dataAttr(isEntering())}\n >\n {/* RAC's `Dialog` renders a `<section role=\"dialog\">` by default — the\n * D5 roving trail records this element's tag, so it must be `section`\n * (a `<div>` here regressed the focus-trail tag match). */}\n <section {...context.pickerAria.dialogProps} tabIndex={-1}>\n {props.children}\n </section>\n </div>\n </FocusScope>\n </Portal>\n </Show>\n );\n}\n\nexport function DateRangePickerContent(props: DateRangePickerContentProps): JSX.Element {\n const context = useDateRangePickerContext();\n const portalContext = useUNSAFE_PortalContext();\n // A signal (not a plain `let`) so the enter-animation effect re-runs when the\n // surface mounts on open — `createEnterAnimation` reads this to know the\n // element exists before removing the initial `data-entering` styles.\n const [contentRef, setContentRef] = createSignal<HTMLElement>();\n const portalContainer = () => portalContext.getContainer?.() ?? undefined;\n\n const popoverAria = createPopover(\n {\n triggerRef: () => context.triggerRef()?.parentElement ?? context.triggerRef(),\n popoverRef: () => contentRef() ?? null,\n placement: \"bottom start\",\n offset: 8,\n isNonModal: false,\n isKeyboardDismissDisabled: false,\n },\n {\n isOpen: () => context.overlayState.isOpen,\n open: context.overlayState.open,\n close: context.overlayState.close,\n toggle: context.overlayState.toggle,\n },\n );\n\n createEscapeDismissFallback(() => context.overlayState.isOpen, context.overlayState.close);\n\n // Mirror S2's `<Popover>` enter transition (RAC `useEnterAnimation`): the\n // surface mounts carrying `data-entering` (opacity 0 + a small placement-ward\n // translate), which an effect removes on the next frame so the CSS transition\n // plays. Only the enter half is certified (D2) — the popover unmounts on close.\n const isEntering = createEnterAnimation(contentRef, () => context.overlayState.isOpen);\n\n const renderProps = (): DatePickerContentRenderProps => ({\n isEntering: isEntering(),\n isExiting: false,\n // Seed the base placement so the ENTER frame already carries the\n // placement-ward `translate` (see the single DatePickerContent note).\n placement: popoverAria.placement() ?? \"bottom\",\n });\n\n const resolvedClass = (): string => {\n const c = props.class;\n if (typeof c === \"function\") return c(renderProps());\n return c ?? \"solidaria-DateRangePickerContent\";\n };\n\n const cleanPopoverProps = () => {\n const {\n style: _style,\n ref: _ref,\n ...rest\n } = popoverAria.popoverProps as Record<string, unknown>;\n return rest;\n };\n\n const mergedStyle = (): JSX.CSSProperties => {\n const popoverStyle = (popoverAria.popoverProps as Record<string, unknown>).style as\n | JSX.CSSProperties\n | undefined;\n return {\n ...popoverStyle,\n ...props.style,\n };\n };\n\n // Close-focus restoration is delegated to the overlay's `FocusScope`\n // (`restoreFocus`) — see the single-value `DatePickerContent` note. The prior\n // ad-hoc effect fired on mount and painted a phantom focus ring at rest.\n\n return (\n <Show when={context.overlayState.isOpen}>\n <Portal mount={portalContainer()}>\n <FocusScope contain restoreFocus>\n {/* Un-folded to mirror S2's `<Popover>` DOM (see DatePickerContent).\n * OUTER role-null `<div>` = positioned surface carrying the enter\n * motion + chrome (the element RAC/S2 animate; pruned from the AX\n * tree). Nested `<section role=\"dialog\">` carries the dialog\n * semantics — the D5 roving trail records this tag, so it must be\n * `section`, not a folded `div`. */}\n <div\n ref={setContentRef}\n {...cleanPopoverProps()}\n class={resolvedClass()}\n style={mergedStyle()}\n data-placement={popoverAria.placement() ?? \"bottom\"}\n data-entering={dataAttr(isEntering())}\n >\n <section {...context.pickerAria.dialogProps} tabIndex={-1}>\n {props.children}\n </section>\n </div>\n </FocusScope>\n </Portal>\n </Show>\n );\n}\n\nexport { HiddenDateInput } from \"./HiddenDateInput\";\nexport type { HiddenDateInputProps } from \"./HiddenDateInput\";\n\n// DatePickerContextValue is already exported at declaration\n"],"mappings":"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"}