@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,30 +1,37 @@
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
+
13
+ // Ported to SolidJS for Proyecto Viviana; based on packages/react-aria-components/src/Calendar.tsx
14
+
1
15
  /**
2
16
  * RangeCalendar component for solidaria-components
3
17
  *
4
18
  * Pre-wired headless range calendar component that combines aria hooks.
5
- * Port of react-aria-components/src/RangeCalendar.tsx
19
+ * Solid adaptation of the pinned RangeCalendar implementation.
6
20
  */
7
21
 
8
- import {
9
- type JSX,
10
- type Accessor,
11
- createContext,
12
- createMemo,
13
- createSignal,
14
- splitProps,
15
- useContext,
16
- For,
17
- Index,
18
- Show,
19
- } from "solid-js";
22
+ import { createContext, createMemo, createSignal, useContext, For, Show } from "solid-js";
23
+ import type { Accessor } from "solid-js";
24
+ import type { JSX } from "@solidjs/web";
20
25
  import {
21
26
  createRangeCalendar,
22
27
  createCalendarGrid,
23
28
  createRangeCalendarCell,
24
29
  createHover,
30
+ mergeProps,
25
31
  type AriaRangeCalendarProps,
26
32
  type AriaCalendarGridProps,
27
33
  } from "@proyecto-viviana/solidaria";
34
+ import type { DateDuration } from "@internationalized/date";
28
35
  import {
29
36
  createRangeCalendarState,
30
37
  type RangeCalendarState,
@@ -35,6 +42,7 @@ import {
35
42
  endOfMonth,
36
43
  isSameMonth,
37
44
  } from "@proyecto-viviana/solid-stately";
45
+ import { calendarHeadingTitle, type CalendarHeadingFormatOptions } from "./calendarHeadingTitle";
38
46
  import {
39
47
  type RenderChildren,
40
48
  type ClassNameOrFunction,
@@ -42,9 +50,11 @@ import {
42
50
  type SlotProps,
43
51
  useRenderProps,
44
52
  dataAttr,
45
- useIsHydrated,
53
+ coerceDomRecord,
46
54
  } from "./utils";
55
+ import { TextContext } from "./Text";
47
56
  import { VisuallyHidden } from "./VisuallyHidden";
57
+ import { splitProps } from "@proyecto-viviana/solidaria/utils";
48
58
 
49
59
  type RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;
50
60
 
@@ -118,6 +128,8 @@ export interface RangeCalendarCellRenderProps {
118
128
  isSelectionEnd: boolean;
119
129
  /** Whether the cell is focused. */
120
130
  isFocused: boolean;
131
+ /** Whether the cell should display a keyboard focus ring. */
132
+ isFocusVisible: boolean;
121
133
  /** Whether the cell is disabled. */
122
134
  isDisabled: boolean;
123
135
  /** Whether the cell is unavailable. */
@@ -126,6 +138,8 @@ export interface RangeCalendarCellRenderProps {
126
138
  isInvalid: boolean;
127
139
  /** Whether the cell is outside the visible month. */
128
140
  isOutsideMonth: boolean;
141
+ /** Whether the cell is outside the visible range. */
142
+ isOutsideVisibleRange: boolean;
129
143
  /** Whether the cell represents today. */
130
144
  isToday: boolean;
131
145
  /** Whether the cell is pressed. */
@@ -203,25 +217,9 @@ export function RangeCalendar<T extends DateValue = CalendarDate>(
203
217
  // instance than the one this grid renders. Mirrors the single `Calendar`.
204
218
  const inheritedState = useContext(RangeCalendarContext);
205
219
 
206
- // Use hydration-safe pattern for client-only rendering
207
- const isHydrated = useIsHydrated();
208
-
209
220
  return (
210
- <Show
211
- when={isHydrated()}
212
- fallback={
213
- <div
214
- class="solidaria-RangeCalendar solidaria-RangeCalendar--placeholder"
215
- aria-hidden="true"
216
- />
217
- }
218
- >
219
- <Show when={inheritedState} fallback={<RangeCalendarInner {...props} />}>
220
- <RangeCalendarWithState
221
- state={inheritedState as RangeCalendarState<DateValue>}
222
- {...props}
223
- />
224
- </Show>
221
+ <Show when={inheritedState} fallback={<RangeCalendarInner {...props} />}>
222
+ <RangeCalendarWithState state={inheritedState as RangeCalendarState<DateValue>} {...props} />
225
223
  </Show>
226
224
  );
227
225
  }
@@ -262,8 +260,9 @@ function RangeCalendarWithState<T extends DateValue = CalendarDate>(
262
260
  );
263
261
 
264
262
  const state = () => props.state;
263
+ const [calendarEl, setCalendarEl] = createSignal<HTMLDivElement | null>(null);
265
264
 
266
- const calendarAria = createRangeCalendar(rest, state());
265
+ const calendarAria = createRangeCalendar(rest, state(), calendarEl);
267
266
 
268
267
  const renderValues = createMemo<RangeCalendarRenderProps>(() => ({
269
268
  isDisabled: state().isDisabled(),
@@ -282,11 +281,14 @@ function RangeCalendarWithState<T extends DateValue = CalendarDate>(
282
281
  );
283
282
 
284
283
  return (
285
- <RangeCalendarStateContext.Provider value={state()}>
286
- <RangeCalendarContext.Provider value={state()}>
284
+ <RangeCalendarStateContext value={state()}>
285
+ <RangeCalendarContext value={state()}>
287
286
  <div
288
287
  {...calendarAria.calendarProps}
289
- ref={(el) => assignRef(local.ref, el)}
288
+ ref={(el) => {
289
+ setCalendarEl(el ?? null);
290
+ assignRef(local.ref, el);
291
+ }}
290
292
  class={renderProps.class()}
291
293
  style={renderProps.style()}
292
294
  data-disabled={dataAttr(state().isDisabled())}
@@ -297,22 +299,32 @@ function RangeCalendarWithState<T extends DateValue = CalendarDate>(
297
299
  <VisuallyHidden>
298
300
  <h2>{String(calendarAria.calendarProps["aria-label"] ?? "")}</h2>
299
301
  </VisuallyHidden>
300
- {props.children}
302
+ <TextContext
303
+ value={{
304
+ slots: {
305
+ get errorMessage() {
306
+ return calendarAria.errorMessageProps;
307
+ },
308
+ },
309
+ }}
310
+ >
311
+ {props.children}
312
+ </TextContext>
301
313
  {/* For touch screen readers, a visually hidden next button after the
302
314
  * month grid so it's easy to navigate after reaching the end without
303
- * going all the way back to the start. Mirrors react-aria-components
315
+ * going all the way back to the start. Matches the upstream component
304
316
  * Calendar (and the headless Calendar). */}
305
317
  <VisuallyHidden>
306
318
  <button
307
319
  aria-label={String(calendarAria.nextButtonProps["aria-label"] ?? "")}
308
320
  disabled={Boolean(calendarAria.nextButtonProps.disabled)}
309
321
  onClick={() => state().focusNextPage()}
310
- tabIndex={-1}
322
+ tabindex={-1}
311
323
  />
312
324
  </VisuallyHidden>
313
325
  </div>
314
- </RangeCalendarContext.Provider>
315
- </RangeCalendarStateContext.Provider>
326
+ </RangeCalendarContext>
327
+ </RangeCalendarStateContext>
316
328
  );
317
329
  }
318
330
 
@@ -344,14 +356,20 @@ function RangeCalendarInner<T extends DateValue = CalendarDate>(
344
356
  "selectionAlignment",
345
357
  "isDateDisabled",
346
358
  "validationState",
359
+ "isInvalid",
347
360
  "allowsNonContiguousRanges",
348
361
  "firstDayOfWeek",
349
362
  ],
350
363
  );
351
364
 
352
365
  const state = createRangeCalendarState(stateProps);
366
+ const [calendarEl, setCalendarEl] = createSignal<HTMLDivElement | null>(null);
353
367
 
354
- const calendarAria = createRangeCalendar(rest, state as unknown as RangeCalendarState<DateValue>);
368
+ const calendarAria = createRangeCalendar(
369
+ rest,
370
+ state as unknown as RangeCalendarState<DateValue>,
371
+ calendarEl,
372
+ );
355
373
 
356
374
  const renderValues = createMemo<RangeCalendarRenderProps>(() => ({
357
375
  isDisabled: state.isDisabled(),
@@ -370,11 +388,14 @@ function RangeCalendarInner<T extends DateValue = CalendarDate>(
370
388
  );
371
389
 
372
390
  return (
373
- <RangeCalendarStateContext.Provider value={state as unknown as RangeCalendarState<DateValue>}>
374
- <RangeCalendarContext.Provider value={state as unknown as RangeCalendarState<DateValue>}>
391
+ <RangeCalendarStateContext value={state as unknown as RangeCalendarState<DateValue>}>
392
+ <RangeCalendarContext value={state as unknown as RangeCalendarState<DateValue>}>
375
393
  <div
376
394
  {...calendarAria.calendarProps}
377
- ref={(el) => assignRef(local.ref, el)}
395
+ ref={(el) => {
396
+ setCalendarEl(el ?? null);
397
+ assignRef(local.ref, el);
398
+ }}
378
399
  class={renderProps.class()}
379
400
  style={renderProps.style()}
380
401
  data-disabled={dataAttr(state.isDisabled())}
@@ -385,22 +406,32 @@ function RangeCalendarInner<T extends DateValue = CalendarDate>(
385
406
  <VisuallyHidden>
386
407
  <h2>{String(calendarAria.calendarProps["aria-label"] ?? "")}</h2>
387
408
  </VisuallyHidden>
388
- {props.children}
409
+ <TextContext
410
+ value={{
411
+ slots: {
412
+ get errorMessage() {
413
+ return calendarAria.errorMessageProps;
414
+ },
415
+ },
416
+ }}
417
+ >
418
+ {props.children}
419
+ </TextContext>
389
420
  {/* For touch screen readers, a visually hidden next button after the
390
421
  * month grid so it's easy to navigate after reaching the end without
391
- * going all the way back to the start. Mirrors react-aria-components
422
+ * going all the way back to the start. Matches the upstream component
392
423
  * Calendar (and the headless Calendar). */}
393
424
  <VisuallyHidden>
394
425
  <button
395
426
  aria-label={String(calendarAria.nextButtonProps["aria-label"] ?? "")}
396
427
  disabled={Boolean(calendarAria.nextButtonProps.disabled)}
397
428
  onClick={() => state.focusNextPage()}
398
- tabIndex={-1}
429
+ tabindex={-1}
399
430
  />
400
431
  </VisuallyHidden>
401
432
  </div>
402
- </RangeCalendarContext.Provider>
403
- </RangeCalendarStateContext.Provider>
433
+ </RangeCalendarContext>
434
+ </RangeCalendarStateContext>
404
435
  );
405
436
  }
406
437
 
@@ -409,6 +440,10 @@ export interface RangeCalendarHeadingProps extends SlotProps {
409
440
  class?: string;
410
441
  /** The inline style for the element. */
411
442
  style?: JSX.CSSProperties;
443
+ /** Duration added to the start of the visible range. */
444
+ offset?: DateDuration;
445
+ /** Overrides the default long month and numeric year. */
446
+ format?: CalendarHeadingFormatOptions;
412
447
  }
413
448
 
414
449
  /**
@@ -416,6 +451,15 @@ export interface RangeCalendarHeadingProps extends SlotProps {
416
451
  */
417
452
  export function RangeCalendarHeading(props: RangeCalendarHeadingProps): JSX.Element {
418
453
  const state = useRangeCalendarContext();
454
+ const headingTitle = createMemo(() =>
455
+ calendarHeadingTitle(
456
+ state.visibleRange().start,
457
+ props.offset,
458
+ props.format,
459
+ state.locale(),
460
+ state.timeZone,
461
+ ),
462
+ );
419
463
 
420
464
  return (
421
465
  <h2
@@ -423,7 +467,7 @@ export function RangeCalendarHeading(props: RangeCalendarHeadingProps): JSX.Elem
423
467
  style={props.style}
424
468
  aria-live="polite"
425
469
  >
426
- {state.title()}
470
+ {headingTitle()}
427
471
  </h2>
428
472
  );
429
473
  }
@@ -449,18 +493,21 @@ export function RangeCalendarButton(props: RangeCalendarButtonProps): JSX.Elemen
449
493
  const calendarAria = createRangeCalendar({}, state);
450
494
 
451
495
  const buttonProps = createMemo(() => {
452
- if (props.slot === "previous") {
453
- return calendarAria.prevButtonProps;
454
- }
455
- return calendarAria.nextButtonProps;
496
+ const source =
497
+ props.slot === "previous" ? calendarAria.prevButtonProps : calendarAria.nextButtonProps;
498
+ const { onFocusChange, ...domProps } = source;
499
+ return {
500
+ domProps,
501
+ onFocusChange: onFocusChange as ((focused: boolean) => void) | undefined,
502
+ };
456
503
  });
457
504
  const isDisabled = createMemo(
458
- () => props.isDisabled || Boolean(buttonProps().disabled) || state.isDisabled(),
505
+ () => props.isDisabled || Boolean(buttonProps().domProps.disabled) || state.isDisabled(),
459
506
  );
460
507
 
461
508
  return (
462
509
  <button
463
- {...buttonProps()}
510
+ {...buttonProps().domProps}
464
511
  class={props.class ?? "solidaria-RangeCalendarButton"}
465
512
  style={props.style}
466
513
  disabled={isDisabled()}
@@ -469,6 +516,8 @@ export function RangeCalendarButton(props: RangeCalendarButtonProps): JSX.Elemen
469
516
  // when disabled — so the prev/next buttons appear in the roving tab order
470
517
  // exactly as the S2 oracle does.
471
518
  tabindex={isDisabled() ? undefined : 0}
519
+ onFocus={() => buttonProps().onFocusChange?.(true)}
520
+ onBlur={() => buttonProps().onFocusChange?.(false)}
472
521
  >
473
522
  {props.children}
474
523
  </button>
@@ -524,14 +573,14 @@ export function RangeCalendarGrid(props: RangeCalendarGridProps): JSX.Element {
524
573
  });
525
574
 
526
575
  return (
527
- <RangeCalendarGridMonthContext.Provider value={startDate}>
576
+ <RangeCalendarGridMonthContext value={startDate}>
528
577
  <table
529
578
  ref={setGridRef}
530
- {...gridAria.gridProps}
579
+ {...coerceDomRecord(gridAria.gridProps as Record<string, unknown>)}
531
580
  class={renderProps.class()}
532
581
  style={renderProps.style()}
533
582
  >
534
- <thead {...gridAria.headerProps}>
583
+ <thead {...coerceDomRecord(gridAria.headerProps as Record<string, unknown>)}>
535
584
  <tr>
536
585
  <For each={gridAria.weekDays}>
537
586
  {(day) => (
@@ -547,13 +596,13 @@ export function RangeCalendarGrid(props: RangeCalendarGridProps): JSX.Element {
547
596
  </tr>
548
597
  </thead>
549
598
  <tbody>
550
- <Index each={allDates()}>
599
+ <For each={allDates()} keyed={false}>
551
600
  {(weekDates, weekIndex) => (
552
601
  <tr>
553
- <Index each={weekDates()}>
602
+ <For each={weekDates()} keyed={false}>
554
603
  {(date, dayIndex) => (
555
604
  <Show when={date()} fallback={<td />}>
556
- <RangeCalendarGridCellPositionContext.Provider
605
+ <RangeCalendarGridCellPositionContext
557
606
  value={() => ({
558
607
  weekIndex,
559
608
  dayIndex,
@@ -561,16 +610,16 @@ export function RangeCalendarGrid(props: RangeCalendarGridProps): JSX.Element {
561
610
  })}
562
611
  >
563
612
  {props.children?.(date()!)}
564
- </RangeCalendarGridCellPositionContext.Provider>
613
+ </RangeCalendarGridCellPositionContext>
565
614
  </Show>
566
615
  )}
567
- </Index>
616
+ </For>
568
617
  </tr>
569
618
  )}
570
- </Index>
619
+ </For>
571
620
  </tbody>
572
621
  </table>
573
- </RangeCalendarGridMonthContext.Provider>
622
+ </RangeCalendarGridMonthContext>
574
623
  );
575
624
  }
576
625
 
@@ -611,10 +660,12 @@ export function RangeCalendarCell(props: RangeCalendarCellProps): JSX.Element {
611
660
  isSelectionStart: cellAria.isSelectionStart,
612
661
  isSelectionEnd: cellAria.isSelectionEnd,
613
662
  isFocused: cellAria.isFocused,
663
+ isFocusVisible: cellAria.isFocusVisible,
614
664
  isDisabled: cellAria.isDisabled,
615
665
  isUnavailable: cellAria.isUnavailable,
616
666
  isInvalid: cellAria.isInvalid,
617
667
  isOutsideMonth: cellAria.isOutsideMonth,
668
+ isOutsideVisibleRange: cellAria.isOutsideVisibleRange,
618
669
  isToday: cellAria.isToday,
619
670
  isPressed: cellAria.isPressed,
620
671
  isHovered: isHovered(),
@@ -645,30 +696,32 @@ export function RangeCalendarCell(props: RangeCalendarCellProps): JSX.Element {
645
696
  renderValues,
646
697
  );
647
698
 
648
- // Determine children content - avoid Show for SSR hydration compatibility
649
- const getChildren = () => {
650
- if (typeof props.children === "function") {
651
- return renderProps.renderChildren();
652
- }
653
- return cellAria.formattedDate;
654
- };
699
+ // Determine children content - avoid Show for SSR hydration compatibility.
700
+ // `renderChildrenStable` keeps the inner fill node across isFocusVisible flips
701
+ // so Chromium interpolates selected-default → isFocusVisible (D2 open-enter).
702
+ const getChildren = () => renderProps.renderChildrenStable() ?? cellAria.formattedDate;
655
703
 
656
704
  return (
657
- <td {...cellAria.cellProps} class={cellRenderProps.class()} style={cellRenderProps.style()}>
705
+ <td
706
+ {...coerceDomRecord(cellAria.cellProps as Record<string, unknown>)}
707
+ class={cellRenderProps.class()}
708
+ style={cellRenderProps.style()}
709
+ >
658
710
  <div
659
711
  ref={setCellRef}
660
- {...cellAria.buttonProps}
661
- {...hoverProps}
712
+ {...mergeProps(cellAria.buttonProps, hoverProps)}
662
713
  class={renderProps.class()}
663
714
  style={renderProps.style()}
664
715
  data-selected={dataAttr(cellAria.isSelected)}
665
716
  data-selection-start={dataAttr(cellAria.isSelectionStart)}
666
717
  data-selection-end={dataAttr(cellAria.isSelectionEnd)}
667
718
  data-focused={dataAttr(cellAria.isFocused)}
719
+ data-focus-visible={dataAttr(cellAria.isFocusVisible)}
668
720
  data-disabled={dataAttr(cellAria.isDisabled)}
669
721
  data-unavailable={dataAttr(cellAria.isUnavailable)}
670
722
  data-invalid={dataAttr(cellAria.isInvalid)}
671
723
  data-outside-month={dataAttr(cellAria.isOutsideMonth)}
724
+ data-outside-visible-range={dataAttr(cellAria.isOutsideVisibleRange)}
672
725
  data-today={dataAttr(cellAria.isToday)}
673
726
  data-pressed={dataAttr(cellAria.isPressed)}
674
727
  data-hovered={dataAttr(isHovered())}