@proyecto-viviana/ui 0.6.1 → 0.6.3

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 (301) hide show
  1. package/README.md +14 -16
  2. package/dist/_chunk/LinkButton.js +9 -9
  3. package/dist/_chunk/LinkButton.js.map +1 -1
  4. package/dist/_chunk/LinkButton.jsx +9 -9
  5. package/dist/_chunk/LinkButton.jsx.map +1 -1
  6. package/dist/_chunk/RangeCalendar.js +7 -7
  7. package/dist/_chunk/RangeCalendar.js.map +1 -1
  8. package/dist/_chunk/RangeCalendar.jsx +7 -7
  9. package/dist/_chunk/RangeCalendar.jsx.map +1 -1
  10. package/dist/_chunk/Tabs.js +2 -2
  11. package/dist/_chunk/Tabs.jsx +2 -2
  12. package/dist/_chunk/breadcrumbs.js +2 -2
  13. package/dist/_chunk/breadcrumbs.js.map +1 -1
  14. package/dist/_chunk/breadcrumbs.jsx +2 -2
  15. package/dist/_chunk/breadcrumbs.jsx.map +1 -1
  16. package/dist/_chunk/button.js +3 -3
  17. package/dist/_chunk/button.jsx +3 -3
  18. package/dist/_chunk/color.js +4 -4
  19. package/dist/_chunk/color.jsx +4 -4
  20. package/dist/_chunk/form.js +5 -7
  21. package/dist/_chunk/form.js.map +1 -1
  22. package/dist/_chunk/form.jsx +5 -8
  23. package/dist/_chunk/form.jsx.map +1 -1
  24. package/dist/_chunk/layout.js +5 -1
  25. package/dist/_chunk/layout.js.map +1 -1
  26. package/dist/_chunk/layout.jsx +5 -1
  27. package/dist/_chunk/layout.jsx.map +1 -1
  28. package/dist/_chunk/list.js +4 -4
  29. package/dist/_chunk/list.jsx +4 -4
  30. package/dist/_chunk/menu.js +1 -1
  31. package/dist/_chunk/menu.js.map +1 -1
  32. package/dist/_chunk/menu.jsx +1 -1
  33. package/dist/_chunk/menu.jsx.map +1 -1
  34. package/dist/_chunk/numberfield.js +2 -2
  35. package/dist/_chunk/numberfield.jsx +2 -2
  36. package/dist/_chunk/s2-action-button-styles.js +8 -8
  37. package/dist/_chunk/s2-action-button-styles.js.map +1 -1
  38. package/dist/_chunk/s2-action-button-styles.jsx +8 -8
  39. package/dist/_chunk/s2-action-button-styles.jsx.map +1 -1
  40. package/dist/_chunk/s2-menu-styles.js +1 -1
  41. package/dist/_chunk/s2-menu-styles.jsx +1 -1
  42. package/dist/_chunk/slider.js +6 -6
  43. package/dist/_chunk/slider.jsx +6 -6
  44. package/dist/_chunk/switch.js +2 -2
  45. package/dist/_chunk/switch.jsx +2 -2
  46. package/dist/_chunk/table.js +3 -3
  47. package/dist/_chunk/table.js.map +1 -1
  48. package/dist/_chunk/table.jsx +3 -3
  49. package/dist/_chunk/table.jsx.map +1 -1
  50. package/dist/_chunk/text.js +1 -1
  51. package/dist/_chunk/text.jsx +1 -1
  52. package/dist/_chunk/textfield.js +4 -4
  53. package/dist/_chunk/textfield.jsx +4 -4
  54. package/dist/_chunk/toast.js +3 -3
  55. package/dist/_chunk/toast.jsx +3 -3
  56. package/dist/actiongroup/index.js +2 -2
  57. package/dist/actiongroup/index.jsx +2 -2
  58. package/dist/badge/index.js +6 -6
  59. package/dist/badge/index.jsx +6 -6
  60. package/dist/breadcrumbs/index.d.ts.map +1 -1
  61. package/dist/calendar/DateField.d.ts.map +1 -1
  62. package/dist/calendar/DateField.js +2 -2
  63. package/dist/calendar/DateField.js.map +1 -1
  64. package/dist/calendar/DateField.jsx +2 -2
  65. package/dist/calendar/DateField.jsx.map +1 -1
  66. package/dist/calendar/DatePicker.d.ts.map +1 -1
  67. package/dist/calendar/DatePicker.js +2 -2
  68. package/dist/calendar/DatePicker.js.map +1 -1
  69. package/dist/calendar/DatePicker.jsx +2 -2
  70. package/dist/calendar/DatePicker.jsx.map +1 -1
  71. package/dist/calendar/DateRangePicker.js +2 -2
  72. package/dist/calendar/DateRangePicker.jsx +2 -2
  73. package/dist/calendar/RangeCalendar.d.ts.map +1 -1
  74. package/dist/calendar/TimeField.d.ts.map +1 -1
  75. package/dist/calendar/TimeField.js +2 -2
  76. package/dist/calendar/TimeField.js.map +1 -1
  77. package/dist/calendar/TimeField.jsx +2 -2
  78. package/dist/calendar/TimeField.jsx.map +1 -1
  79. package/dist/calendar/index.js +5 -5
  80. package/dist/calendar/index.js.map +1 -1
  81. package/dist/calendar/index.jsx +5 -5
  82. package/dist/calendar/index.jsx.map +1 -1
  83. package/dist/checkbox/index.js +3 -3
  84. package/dist/checkbox/index.jsx +3 -3
  85. package/dist/combobox/index.js +2 -2
  86. package/dist/combobox/index.jsx +2 -2
  87. package/dist/dropzone/index.js +1 -1
  88. package/dist/dropzone/index.jsx +1 -1
  89. package/dist/font-faces.css +13 -6
  90. package/dist/form/index.d.ts.map +1 -1
  91. package/dist/icon/pixel-icons/PixelChartIcon.d.ts.map +1 -1
  92. package/dist/icon/pixel-icons/PixelChartIcon.js.map +1 -1
  93. package/dist/icon/pixel-icons/PixelChartIcon.jsx.map +1 -1
  94. package/dist/icon/pixel-icons/PixelCheckIcon.d.ts.map +1 -1
  95. package/dist/icon/pixel-icons/PixelCheckIcon.js.map +1 -1
  96. package/dist/icon/pixel-icons/PixelCheckIcon.jsx.map +1 -1
  97. package/dist/icon/pixel-icons/PixelChevronDownIcon.d.ts.map +1 -1
  98. package/dist/icon/pixel-icons/PixelChevronDownIcon.js.map +1 -1
  99. package/dist/icon/pixel-icons/PixelChevronDownIcon.jsx.map +1 -1
  100. package/dist/icon/pixel-icons/PixelChevronRightIcon.d.ts.map +1 -1
  101. package/dist/icon/pixel-icons/PixelChevronRightIcon.js.map +1 -1
  102. package/dist/icon/pixel-icons/PixelChevronRightIcon.jsx.map +1 -1
  103. package/dist/icon/pixel-icons/PixelClockIcon.d.ts.map +1 -1
  104. package/dist/icon/pixel-icons/PixelClockIcon.js.map +1 -1
  105. package/dist/icon/pixel-icons/PixelClockIcon.jsx.map +1 -1
  106. package/dist/icon/pixel-icons/PixelCodeIcon.d.ts.map +1 -1
  107. package/dist/icon/pixel-icons/PixelCodeIcon.js.map +1 -1
  108. package/dist/icon/pixel-icons/PixelCodeIcon.jsx.map +1 -1
  109. package/dist/icon/pixel-icons/PixelCommunityIcon.d.ts.map +1 -1
  110. package/dist/icon/pixel-icons/PixelCommunityIcon.js.map +1 -1
  111. package/dist/icon/pixel-icons/PixelCommunityIcon.jsx.map +1 -1
  112. package/dist/icon/pixel-icons/PixelCubeIcon.d.ts.map +1 -1
  113. package/dist/icon/pixel-icons/PixelCubeIcon.js.map +1 -1
  114. package/dist/icon/pixel-icons/PixelCubeIcon.jsx.map +1 -1
  115. package/dist/icon/pixel-icons/PixelFlameIcon.d.ts.map +1 -1
  116. package/dist/icon/pixel-icons/PixelFlameIcon.js.map +1 -1
  117. package/dist/icon/pixel-icons/PixelFlameIcon.jsx.map +1 -1
  118. package/dist/icon/pixel-icons/PixelHomeIcon.d.ts.map +1 -1
  119. package/dist/icon/pixel-icons/PixelHomeIcon.js.map +1 -1
  120. package/dist/icon/pixel-icons/PixelHomeIcon.jsx.map +1 -1
  121. package/dist/icon/pixel-icons/PixelLayoutIcon.d.ts.map +1 -1
  122. package/dist/icon/pixel-icons/PixelLayoutIcon.js.map +1 -1
  123. package/dist/icon/pixel-icons/PixelLayoutIcon.jsx.map +1 -1
  124. package/dist/icon/pixel-icons/PixelMessageIcon.d.ts.map +1 -1
  125. package/dist/icon/pixel-icons/PixelMessageIcon.js.map +1 -1
  126. package/dist/icon/pixel-icons/PixelMessageIcon.jsx.map +1 -1
  127. package/dist/icon/pixel-icons/PixelNavCommunityIcon.d.ts.map +1 -1
  128. package/dist/icon/pixel-icons/PixelNavCommunityIcon.js.map +1 -1
  129. package/dist/icon/pixel-icons/PixelNavCommunityIcon.jsx.map +1 -1
  130. package/dist/icon/pixel-icons/PixelNavExploreIcon.d.ts.map +1 -1
  131. package/dist/icon/pixel-icons/PixelNavExploreIcon.js.map +1 -1
  132. package/dist/icon/pixel-icons/PixelNavExploreIcon.jsx.map +1 -1
  133. package/dist/icon/pixel-icons/PixelNavLiveIcon.d.ts.map +1 -1
  134. package/dist/icon/pixel-icons/PixelNavLiveIcon.js.map +1 -1
  135. package/dist/icon/pixel-icons/PixelNavLiveIcon.jsx.map +1 -1
  136. package/dist/icon/pixel-icons/PixelNavPathwaysIcon.d.ts.map +1 -1
  137. package/dist/icon/pixel-icons/PixelNavPathwaysIcon.js.map +1 -1
  138. package/dist/icon/pixel-icons/PixelNavPathwaysIcon.jsx.map +1 -1
  139. package/dist/icon/pixel-icons/PixelNavPlaygroundIcon.d.ts.map +1 -1
  140. package/dist/icon/pixel-icons/PixelNavPlaygroundIcon.js.map +1 -1
  141. package/dist/icon/pixel-icons/PixelNavPlaygroundIcon.jsx.map +1 -1
  142. package/dist/icon/pixel-icons/PixelNavProjectsIcon.d.ts.map +1 -1
  143. package/dist/icon/pixel-icons/PixelNavProjectsIcon.js.map +1 -1
  144. package/dist/icon/pixel-icons/PixelNavProjectsIcon.jsx.map +1 -1
  145. package/dist/icon/pixel-icons/PixelNavReferenceIcon.d.ts.map +1 -1
  146. package/dist/icon/pixel-icons/PixelNavReferenceIcon.js.map +1 -1
  147. package/dist/icon/pixel-icons/PixelNavReferenceIcon.jsx.map +1 -1
  148. package/dist/icon/pixel-icons/PixelNavSettingsIcon.d.ts.map +1 -1
  149. package/dist/icon/pixel-icons/PixelNavSettingsIcon.js.map +1 -1
  150. package/dist/icon/pixel-icons/PixelNavSettingsIcon.jsx.map +1 -1
  151. package/dist/icon/pixel-icons/PixelNavTopicsIcon.d.ts.map +1 -1
  152. package/dist/icon/pixel-icons/PixelNavTopicsIcon.js.map +1 -1
  153. package/dist/icon/pixel-icons/PixelNavTopicsIcon.jsx.map +1 -1
  154. package/dist/icon/pixel-icons/PixelNotificationIcon.d.ts.map +1 -1
  155. package/dist/icon/pixel-icons/PixelNotificationIcon.js.map +1 -1
  156. package/dist/icon/pixel-icons/PixelNotificationIcon.jsx.map +1 -1
  157. package/dist/icon/pixel-icons/PixelPathwaysIcon.d.ts.map +1 -1
  158. package/dist/icon/pixel-icons/PixelPathwaysIcon.js.map +1 -1
  159. package/dist/icon/pixel-icons/PixelPathwaysIcon.jsx.map +1 -1
  160. package/dist/icon/pixel-icons/PixelPlayIcon.d.ts.map +1 -1
  161. package/dist/icon/pixel-icons/PixelPlayIcon.js.map +1 -1
  162. package/dist/icon/pixel-icons/PixelPlayIcon.jsx.map +1 -1
  163. package/dist/icon/pixel-icons/PixelSearchIcon.d.ts.map +1 -1
  164. package/dist/icon/pixel-icons/PixelSearchIcon.js.map +1 -1
  165. package/dist/icon/pixel-icons/PixelSearchIcon.jsx.map +1 -1
  166. package/dist/icon/pixel-icons/PixelSettingsIcon.d.ts.map +1 -1
  167. package/dist/icon/pixel-icons/PixelSettingsIcon.js.map +1 -1
  168. package/dist/icon/pixel-icons/PixelSettingsIcon.jsx.map +1 -1
  169. package/dist/icon/pixel-icons/PixelSparkleIcon.d.ts.map +1 -1
  170. package/dist/icon/pixel-icons/PixelSparkleIcon.js.map +1 -1
  171. package/dist/icon/pixel-icons/PixelSparkleIcon.jsx.map +1 -1
  172. package/dist/icon/pixel-icons/PixelTopicsIcon.d.ts.map +1 -1
  173. package/dist/icon/pixel-icons/PixelTopicsIcon.js.map +1 -1
  174. package/dist/icon/pixel-icons/PixelTopicsIcon.jsx.map +1 -1
  175. package/dist/icon/pixel-icons/PixelUserIcon.d.ts.map +1 -1
  176. package/dist/icon/pixel-icons/PixelUserIcon.js.map +1 -1
  177. package/dist/icon/pixel-icons/PixelUserIcon.jsx.map +1 -1
  178. package/dist/icon/pixel-icons/PixelZapIcon.d.ts.map +1 -1
  179. package/dist/icon/pixel-icons/PixelZapIcon.js.map +1 -1
  180. package/dist/icon/pixel-icons/PixelZapIcon.jsx.map +1 -1
  181. package/dist/inlinealert/index.js +6 -6
  182. package/dist/inlinealert/index.jsx +6 -6
  183. package/dist/labeledvalue/index.js +1 -1
  184. package/dist/labeledvalue/index.jsx +1 -1
  185. package/dist/layout/Flex.d.ts +2 -0
  186. package/dist/layout/Flex.d.ts.map +1 -1
  187. package/dist/link/index.d.ts.map +1 -1
  188. package/dist/link/index.js +1 -4
  189. package/dist/link/index.js.map +1 -1
  190. package/dist/link/index.jsx +1 -4
  191. package/dist/link/index.jsx.map +1 -1
  192. package/dist/listbox/index.js +3 -3
  193. package/dist/listbox/index.jsx +4 -4
  194. package/dist/menu/index.d.ts.map +1 -1
  195. package/dist/meter/index.d.ts.map +1 -1
  196. package/dist/meter/index.js +2 -2
  197. package/dist/meter/index.js.map +1 -1
  198. package/dist/meter/index.jsx +2 -2
  199. package/dist/meter/index.jsx.map +1 -1
  200. package/dist/notificationbadge/index.js +1 -1
  201. package/dist/notificationbadge/index.jsx +1 -1
  202. package/dist/picker/index.js +3 -3
  203. package/dist/picker/index.jsx +3 -3
  204. package/dist/popover/index.js +1 -1
  205. package/dist/popover/index.jsx +1 -1
  206. package/dist/progress/ProgressCircle.js +2 -2
  207. package/dist/progress/ProgressCircle.js.map +1 -1
  208. package/dist/progress/ProgressCircle.jsx +2 -2
  209. package/dist/progress/ProgressCircle.jsx.map +1 -1
  210. package/dist/progress-bar/index.js +4 -4
  211. package/dist/progress-bar/index.jsx +4 -4
  212. package/dist/radio/index.js +2 -2
  213. package/dist/radio/index.jsx +2 -2
  214. package/dist/searchfield/index.js +2 -2
  215. package/dist/searchfield/index.jsx +2 -2
  216. package/dist/segmentedcontrol/index.js +2 -5
  217. package/dist/segmentedcontrol/index.js.map +1 -1
  218. package/dist/segmentedcontrol/index.jsx +2 -5
  219. package/dist/segmentedcontrol/index.jsx.map +1 -1
  220. package/dist/select/index.js +3 -3
  221. package/dist/select/index.jsx +3 -3
  222. package/dist/selectboxgroup/index.js +1 -1
  223. package/dist/selectboxgroup/index.jsx +1 -1
  224. package/dist/statuslight/index.js +1 -1
  225. package/dist/statuslight/index.jsx +1 -1
  226. package/dist/steplist/index.js +5 -5
  227. package/dist/steplist/index.jsx +5 -5
  228. package/dist/style/glasselated-ramps.d.ts.map +1 -1
  229. package/dist/style/index.js +18 -9
  230. package/dist/style/index.js.map +1 -1
  231. package/dist/style/spectrum-theme.d.ts +7 -7
  232. package/dist/style/spectrum-theme.d.ts.map +1 -1
  233. package/dist/styles.css +1 -1
  234. package/dist/table/index.d.ts.map +1 -1
  235. package/dist/tag-group/index.js +10 -10
  236. package/dist/tag-group/index.js.map +1 -1
  237. package/dist/tag-group/index.jsx +10 -10
  238. package/dist/tag-group/index.jsx.map +1 -1
  239. package/dist/toolbar/index.d.ts.map +1 -1
  240. package/dist/toolbar/index.js.map +1 -1
  241. package/dist/toolbar/index.jsx.map +1 -1
  242. package/dist/tree/index.d.ts.map +1 -1
  243. package/dist/tree/index.js +5 -5
  244. package/dist/tree/index.js.map +1 -1
  245. package/dist/tree/index.jsx +5 -5
  246. package/dist/tree/index.jsx.map +1 -1
  247. package/dist/viviana-tokens.css +39 -12
  248. package/package.json +18 -5
  249. package/src/breadcrumbs/index.tsx +14 -7
  250. package/src/button/s2-action-button-styles.ts +8 -8
  251. package/src/button/s2-button-styles.ts +8 -8
  252. package/src/calendar/DateField.tsx +2 -6
  253. package/src/calendar/DatePicker.tsx +8 -1
  254. package/src/calendar/RangeCalendar.tsx +13 -7
  255. package/src/calendar/TimeField.tsx +2 -6
  256. package/src/calendar/index.tsx +4 -4
  257. package/src/font-faces.css +13 -6
  258. package/src/form/index.tsx +5 -6
  259. package/src/icon/pixel-icons/PixelChartIcon.tsx +4 -1
  260. package/src/icon/pixel-icons/PixelCheckIcon.tsx +4 -1
  261. package/src/icon/pixel-icons/PixelChevronDownIcon.tsx +4 -1
  262. package/src/icon/pixel-icons/PixelChevronRightIcon.tsx +4 -1
  263. package/src/icon/pixel-icons/PixelClockIcon.tsx +4 -1
  264. package/src/icon/pixel-icons/PixelCodeIcon.tsx +4 -1
  265. package/src/icon/pixel-icons/PixelCommunityIcon.tsx +4 -1
  266. package/src/icon/pixel-icons/PixelCubeIcon.tsx +4 -1
  267. package/src/icon/pixel-icons/PixelFlameIcon.tsx +4 -1
  268. package/src/icon/pixel-icons/PixelHomeIcon.tsx +4 -1
  269. package/src/icon/pixel-icons/PixelLayoutIcon.tsx +4 -1
  270. package/src/icon/pixel-icons/PixelMessageIcon.tsx +4 -1
  271. package/src/icon/pixel-icons/PixelNavCommunityIcon.tsx +4 -1
  272. package/src/icon/pixel-icons/PixelNavExploreIcon.tsx +4 -1
  273. package/src/icon/pixel-icons/PixelNavLiveIcon.tsx +4 -1
  274. package/src/icon/pixel-icons/PixelNavPathwaysIcon.tsx +4 -1
  275. package/src/icon/pixel-icons/PixelNavPlaygroundIcon.tsx +4 -1
  276. package/src/icon/pixel-icons/PixelNavProjectsIcon.tsx +4 -1
  277. package/src/icon/pixel-icons/PixelNavReferenceIcon.tsx +4 -1
  278. package/src/icon/pixel-icons/PixelNavSettingsIcon.tsx +4 -1
  279. package/src/icon/pixel-icons/PixelNavTopicsIcon.tsx +4 -1
  280. package/src/icon/pixel-icons/PixelNotificationIcon.tsx +4 -1
  281. package/src/icon/pixel-icons/PixelPathwaysIcon.tsx +4 -1
  282. package/src/icon/pixel-icons/PixelPlayIcon.tsx +4 -1
  283. package/src/icon/pixel-icons/PixelSearchIcon.tsx +4 -1
  284. package/src/icon/pixel-icons/PixelSettingsIcon.tsx +4 -1
  285. package/src/icon/pixel-icons/PixelSparkleIcon.tsx +4 -1
  286. package/src/icon/pixel-icons/PixelTopicsIcon.tsx +4 -1
  287. package/src/icon/pixel-icons/PixelUserIcon.tsx +4 -1
  288. package/src/icon/pixel-icons/PixelZapIcon.tsx +4 -1
  289. package/src/layout/Flex.tsx +7 -0
  290. package/src/link/index.tsx +3 -1
  291. package/src/menu/index.tsx +1 -3
  292. package/src/meter/index.tsx +1 -3
  293. package/src/progress/ProgressCircle.tsx +1 -1
  294. package/src/segmentedcontrol/index.tsx +6 -6
  295. package/src/style/glasselated-ramps.ts +37 -33
  296. package/src/style/spectrum-theme.ts +22 -17
  297. package/src/table/index.tsx +1 -3
  298. package/src/tag-group/index.tsx +8 -8
  299. package/src/toolbar/index.tsx +4 -1
  300. package/src/tree/index.tsx +3 -11
  301. package/src/viviana-tokens.css +39 -12
@@ -1 +1 @@
1
- {"version":3,"file":"RangeCalendar.js","names":["JSX","createIcon","ChevronLeftIconSvg","props","SvgSVGAttributes","SVGSVGElement","Element","class","className","rest","_el$","_$getNextElement","_tmpl$","_$spread","_$mergeProps","_$runHydrationEvents","ChevronLeftIconProps","ChevronLeftIcon","JSX","createIcon","ChevronRightIconSvg","props","SvgSVGAttributes","SVGSVGElement","Element","class","className","rest","_el$","_$getNextElement","_tmpl$","_$spread","_$mergeProps","_$runHydrationEvents","ChevronRightIconProps","ChevronRightIcon"],"sources":["../../src/icon/s2wf-icons/ChevronLeftIcon.tsx","../../src/icon/s2wf-icons/ChevronRightIcon.tsx","../../src/calendar/RangeCalendar.tsx"],"sourcesContent":["/*\n * Auto-generated from vendored React Spectrum S2 icon sources.\n * Do not edit by hand.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { createIcon } from \"../spectrum-icon\";\n\nfunction ChevronLeftIconSvg(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element {\n const { class: className, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n {...rest}\n class={className}\n >\n <path\n d=\"M12.237 16.455c-.196 0-.393-.077-.54-.23L6.21 10.52c-.28-.29-.28-.749 0-1.039l5.5-5.716c.287-.3.763-.308 1.06-.02.298.286.308.76.02 1.059l-4.999 5.197 4.986 5.184c.288.297.279.772-.02 1.06-.145.14-.332.21-.52.21\"\n fill=\"var(--iconPrimary, #222)\"\n />\n </svg>\n );\n}\n\nexport type ChevronLeftIconProps = JSX.SvgSVGAttributes<SVGSVGElement>;\nexport const ChevronLeftIcon = createIcon(ChevronLeftIconSvg);\nexport default ChevronLeftIcon;\n","/*\n * Auto-generated from vendored React Spectrum S2 icon sources.\n * Do not edit by hand.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { createIcon } from \"../spectrum-icon\";\n\nfunction ChevronRightIconSvg(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element {\n const { class: className, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n {...rest}\n class={className}\n >\n <path\n d=\"M7.75 16.465c-.187 0-.374-.07-.52-.21-.298-.287-.308-.762-.02-1.06l4.999-5.197-4.986-5.184c-.288-.297-.279-.772.02-1.06.296-.286.774-.278 1.06.021L13.79 9.48c.28.29.28.749 0 1.039l-5.5 5.716c-.146.154-.344.23-.54.23\"\n fill=\"var(--iconPrimary, #222)\"\n />\n </svg>\n );\n}\n\nexport type ChevronRightIconProps = JSX.SvgSVGAttributes<SVGSVGElement>;\nexport const ChevronRightIcon = createIcon(ChevronRightIconSvg);\nexport default ChevronRightIcon;\n","// @ts-nocheck\nimport {\n type JSX,\n For,\n Show,\n createContext,\n createMemo,\n createSignal,\n createUniqueId,\n mergeProps,\n splitProps,\n useContext,\n} from \"solid-js\";\nimport {\n RangeCalendar as HeadlessRangeCalendar,\n RangeCalendarButton,\n RangeCalendarCell,\n RangeCalendarGrid,\n useRangeCalendarContext,\n type CalendarDate,\n type DateValue,\n type RangeCalendarCellRenderProps,\n type RangeValue,\n} from \"@proyecto-viviana/solidaria-components\";\nimport { useLocale } from \"@proyecto-viviana/solidaria\";\nimport { DateFormatter, type RangeCalendarStateProps } from \"@proyecto-viviana/solid-stately\";\nimport type { StyleString } from \"../style\";\nimport { baseColor, focusRing, lightDark, setColorScheme, style } from \"../style\" with { type: \"macro\" };\nimport ChevronLeftIcon from \"../icon/s2wf-icons/ChevronLeftIcon\";\nimport ChevronRightIcon from \"../icon/s2wf-icons/ChevronRightIcon\";\nimport { pressScale } from \"../pressScale\";\nimport { useProviderProps } from \"../provider\";\nimport type { UnsafeClassName } from \"../s2-internal/style-utils\";\nimport {\n getSlottedContextProps,\n mergeContextRefs,\n mergeContextStyles,\n mergeContextUnsafeStyle,\n type RefLike,\n type SpectrumContextValue,\n} from \"../button/spectrum-context\";\n\nexport type RangeCalendarSize = \"S\" | \"M\" | \"L\" | \"XL\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\ntype NormalizedRangeCalendarSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\nexport type RangeCalendarFirstDayOfWeek = \"sun\" | \"mon\" | \"tue\" | \"wed\" | \"thu\" | \"fri\" | \"sat\";\n\nexport interface RangeCalendarProps<T extends DateValue = DateValue> extends Omit<\n RangeCalendarStateProps<T>,\n \"locale\" | \"firstDayOfWeek\" | \"validationState\"\n> {\n /** The size of the calendar. @default 'md' */\n size?: RangeCalendarSize;\n /** Spectrum-defined generated classes. */\n styles?: StyleString | (() => StyleString | undefined);\n /** Additional CSS class name. Use only as a last resort. */\n UNSAFE_className?: UnsafeClassName | string;\n /** Additional inline styles. Use only as a last resort. */\n UNSAFE_style?: JSX.CSSProperties;\n /** Additional CSS class name. */\n class?: string;\n /** The locale to use for formatting. */\n locale?: string;\n /** The day that starts the week. */\n firstDayOfWeek?: RangeCalendarFirstDayOfWeek | 0 | 1 | 2 | 3 | 4 | 5 | 6;\n /** Whether the current selection is invalid according to application logic. */\n isInvalid?: boolean;\n /** Validation state for backward-compatible Solid Stately callers. */\n validationState?: RangeCalendarStateProps<T>[\"validationState\"];\n /** The error message to display when the range calendar is invalid. */\n errorMessage?: JSX.Element;\n /** Custom aria label. */\n \"aria-label\"?: string;\n slot?: string | null;\n ref?: RefLike<HTMLDivElement>;\n}\n\nexport const RangeCalendarContext =\n createContext<SpectrumContextValue<RangeCalendarProps<any>>>(null);\n\nconst sizeStyles: Record<\n NormalizedRangeCalendarSize,\n { cellMaxWidth: number; buttonSize: number }\n> = {\n sm: {\n cellMaxWidth: 32,\n buttonSize: 24,\n },\n md: {\n cellMaxWidth: 32,\n buttonSize: 32,\n },\n lg: {\n cellMaxWidth: 40,\n buttonSize: 40,\n },\n xl: {\n cellMaxWidth: 44,\n buttonSize: 44,\n },\n};\n\nfunction cellBoxStyle(size: NormalizedRangeCalendarSize): JSX.CSSProperties {\n const cellSize = `${sizeStyles[size].cellMaxWidth}px`;\n return {\n width: cellSize,\n height: cellSize,\n };\n}\n\nfunction normalizeRangeCalendarSize(\n size: RangeCalendarSize | undefined,\n): NormalizedRangeCalendarSize {\n switch (size) {\n case \"S\":\n case \"sm\":\n return \"sm\";\n case \"L\":\n case \"lg\":\n return \"lg\";\n case \"XL\":\n case \"xl\":\n return \"xl\";\n case \"M\":\n case \"md\":\n default:\n return \"md\";\n }\n}\n\nfunction normalizeFirstDayOfWeek(\n firstDayOfWeek: RangeCalendarFirstDayOfWeek | 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined,\n): 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined {\n switch (firstDayOfWeek) {\n case \"sun\":\n return 0;\n case \"mon\":\n return 1;\n case \"tue\":\n return 2;\n case \"wed\":\n return 3;\n case \"thu\":\n return 4;\n case \"fri\":\n return 5;\n case \"sat\":\n return 6;\n default:\n return firstDayOfWeek;\n }\n}\n\nfunction monthTitle(date: CalendarDate, locale: string | undefined, timeZone: string): string {\n const formattableMonth = date.calendar.getFormattableMonth?.(date) ?? date;\n return new DateFormatter(locale ?? \"en-US\", {\n month: \"long\",\n year: \"numeric\",\n calendar: date.calendar.identifier,\n }).format(formattableMonth.toDate(timeZone));\n}\n\nconst rangeCalendarRoot = style<{ isMultiMonth?: boolean }>({\n ...setColorScheme(),\n display: \"flex\",\n flexDirection: \"column\",\n gap: 24,\n disableTapHighlight: true,\n \"--cell-gap\": {\n type: \"paddingStart\",\n value: 4,\n },\n \"--cell-responsive-size\": \"--s2-calendar-cell-max-width\",\n width: \"fit\",\n});\n\n// Mirrors @react-spectrum/s2 Calendar headerStyles (shared with Calendar).\nconst rangeCalendarHeader = style({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n columnGap: 24,\n});\n\n// Mirrors @react-spectrum/s2 Calendar headingStyles: one per visible month,\n// laying out [prev button?, title, next button?] with the title flex-growing.\nconst rangeCalendarHeading = style({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n margin: 0,\n flexGrow: 1,\n width: \"full\",\n});\n\n// Mirrors @react-spectrum/s2 Calendar titleStyles.\nconst rangeCalendarTitle = style({\n font: \"title-lg\",\n textAlign: \"center\",\n flexGrow: 1,\n flexShrink: 0,\n marginY: 0,\n});\n\nconst rangeCalendarMonths = style<{ isMultiMonth?: boolean }>({\n display: \"flex\",\n flexDirection: \"row\",\n gap: {\n default: 0,\n isMultiMonth: 24,\n },\n alignItems: \"start\",\n width: \"[max-content]\",\n});\n\n// Mirrors @react-spectrum/s2 Calendar navButton (shared with Calendar). A bare\n// native <button> (via the headless RangeCalendarButton), so the disabled gray\n// keys off the `:disabled` pseudo — the button carries the `disabled` attribute\n// for both whole-calendar and range-boundary disable — rather than a runtime\n// render prop. The chevron icon inherits it via `--iconPrimary: currentColor`.\nconst rangeCalendarNavButton = style<{ buttonSize: number }>({\n ...focusRing(),\n font: \"ui\",\n fontWeight: \"medium\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"[var(--s2-calendar-button-size)]\",\n height: \"[var(--s2-calendar-button-size)]\",\n borderStyle: \"none\",\n borderRadius: \"full\",\n backgroundColor: {\n default: \"transparent\",\n isHovered: baseColor(\"gray-100\"),\n isPressed: baseColor(\"gray-200\"),\n },\n color: {\n default: baseColor(\"neutral\"),\n \":disabled\": \"disabled\",\n },\n cursor: \"default\",\n transition: \"default\",\n});\n\nconst rangeCalendarGrid = style({\n borderCollapse: \"collapse\",\n borderSpacing: 0,\n isolation: \"isolate\",\n tableLayout: \"fixed\",\n});\n\nconst rangeCalendarHeaderCell = style({\n boxSizing: \"border-box\",\n font: \"title-sm\",\n cursor: \"default\",\n textAlign: \"center\",\n width: \"--cell-responsive-size\",\n paddingStart: {\n default: 4,\n \":first-child\": 0,\n },\n paddingEnd: {\n default: 4,\n \":last-child\": 0,\n },\n paddingTop: 0,\n paddingBottom: 12,\n});\n\nconst rangeCalendarCellWrapper = style({\n outlineStyle: \"none\",\n boxSizing: \"border-box\",\n paddingStart: 0,\n paddingEnd: 0,\n paddingTop: 0,\n paddingBottom: 0,\n position: \"relative\",\n disableTapHighlight: true,\n width: \"--cell-responsive-size\",\n height: \"--cell-responsive-size\",\n});\n\nconst rangeCalendarCellOuter = style<{\n isOutsideMonth?: boolean;\n isFirstChild?: boolean;\n isLastChild?: boolean;\n isFirstWeek?: boolean;\n isLastWeek?: boolean;\n}>({\n outlineStyle: \"none\",\n boxSizing: \"border-box\",\n position: \"relative\",\n paddingStart: {\n default: 4,\n isFirstChild: 0,\n },\n paddingEnd: {\n default: 4,\n isLastChild: 0,\n },\n paddingTop: {\n default: 2,\n isFirstWeek: 0,\n },\n paddingBottom: {\n default: 2,\n isLastWeek: 0,\n },\n display: {\n default: \"flex\",\n isOutsideMonth: \"none\",\n },\n alignItems: \"center\",\n justifyContent: \"center\",\n disableTapHighlight: true,\n});\n\nconst rangeCalendarCellInnerFrame = style({\n position: \"relative\",\n width: \"full\",\n height: \"full\",\n});\n\nconst rangeCalendarCellInner = style<{\n selectionMode: \"range\";\n isSelected?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isDisabled?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isUnavailable?: boolean;\n isInvalid?: boolean;\n}>({\n ...focusRing(),\n transition: {\n default: \"default\",\n forcedColors: \"none\",\n },\n outlineOffset: {\n default: -2,\n isSelected: -2,\n isSelectionStart: 2,\n isSelectionEnd: 2,\n },\n position: \"relative\",\n font: \"body-sm\",\n cursor: \"default\",\n width: \"full\",\n height: \"full\",\n borderRadius: \"full\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n forcedColorAdjust: \"none\",\n backgroundColor: {\n default: \"transparent\",\n isHovered: {\n default: \"gray-100\",\n isUnavailable: \"transparent\",\n },\n isPressed: \"gray-100\",\n isDisabled: \"transparent\",\n isSelected: {\n isHovered: {\n default: \"blue-500\",\n isInvalid: {\n default: \"negative-300\",\n isUnavailable: \"transparent\",\n },\n },\n },\n isSelectionStart: {\n default: lightDark(\"accent-900\", \"accent-700\"),\n isHovered: lightDark(\"accent-1000\", \"accent-800\"),\n isPressed: lightDark(\"accent-1000\", \"accent-800\"),\n isDisabled: \"transparent\",\n isInvalid: {\n default: lightDark(\"negative-900\", \"negative-700\"),\n isHovered: {\n default: lightDark(\"negative-1000\", \"negative-600\"),\n isUnavailable: lightDark(\"negative-900\", \"negative-700\"),\n },\n isPressed: lightDark(\"negative-1000\", \"negative-600\"),\n },\n },\n isSelectionEnd: {\n default: lightDark(\"accent-900\", \"accent-700\"),\n isHovered: lightDark(\"accent-1000\", \"accent-800\"),\n isPressed: lightDark(\"accent-1000\", \"accent-800\"),\n isDisabled: \"transparent\",\n isInvalid: {\n default: lightDark(\"negative-900\", \"negative-700\"),\n isHovered: {\n default: lightDark(\"negative-1000\", \"negative-600\"),\n isUnavailable: lightDark(\"negative-900\", \"negative-700\"),\n },\n isPressed: lightDark(\"negative-1000\", \"negative-600\"),\n },\n },\n forcedColors: {\n default: \"transparent\",\n isHovered: \"Highlight\",\n isSelected: {\n isHovered: \"Highlight\",\n },\n isSelectionStart: \"Highlight\",\n isSelectionEnd: \"Highlight\",\n isUnavailable: \"transparent\",\n },\n },\n color: {\n default: \"neutral\",\n isSelected: \"neutral\",\n isSelectionStart: \"white\",\n isSelectionEnd: \"white\",\n isDisabled: \"disabled\",\n forcedColors: {\n default: \"ButtonText\",\n isSelected: \"HighlightText\",\n isSelectionStart: \"HighlightText\",\n isSelectionEnd: \"HighlightText\",\n isDisabled: \"GrayText\",\n },\n },\n});\n\nconst rangeCalendarTodayDot = style<{ isToday?: boolean }>({\n position: \"absolute\",\n bottom: \"12.5%\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: 4,\n height: 4,\n borderRadius: \"full\",\n backgroundColor: \"[currentColor]\",\n display: {\n default: \"none\",\n isToday: \"block\",\n },\n});\n\nconst rangeCalendarUnavailable = style({\n position: \"absolute\",\n top: \"[calc(50% - 1px)]\",\n left: \"[calc(25% - 1px)]\",\n right: \"[calc(25% - 1px)]\",\n height: 2,\n transform: \"rotate(-16deg)\",\n borderRadius: \"full\",\n backgroundColor: \"[currentColor]\",\n});\n\nconst rangeSelectionBackground = style<{\n isInvalid?: boolean;\n isFirstDayInWeek?: boolean;\n isLastDayInWeek?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isPreviousDayNotSelected?: boolean;\n isNextDayNotSelected?: boolean;\n}>({\n position: \"absolute\",\n zIndex: -1,\n top: 0,\n insetStart: {\n default: -4,\n isFirstDayInWeek: 0,\n isSelectionStart: 0,\n isPreviousDayNotSelected: 0,\n },\n insetEnd: {\n default: -4,\n isLastDayInWeek: 0,\n isSelectionEnd: 0,\n isNextDayNotSelected: 0,\n },\n bottom: 0,\n borderStartRadius: {\n default: \"none\",\n isFirstDayInWeek: \"full\",\n isSelectionStart: \"full\",\n isPreviousDayNotSelected: \"full\",\n },\n borderEndRadius: {\n default: \"none\",\n isLastDayInWeek: \"full\",\n isSelectionEnd: \"full\",\n isNextDayNotSelected: \"full\",\n },\n backgroundColor: {\n default: \"blue-subtle\",\n isInvalid: \"negative-100\",\n forcedColors: {\n default: \"Highlight\",\n },\n },\n forcedColorAdjust: \"none\",\n});\n\nconst rangeSelectionBorder = style<{\n isInvalid?: boolean;\n isFirstDayInWeek?: boolean;\n isLastDayInWeek?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isPreviousDayNotSelected?: boolean;\n isNextDayNotSelected?: boolean;\n}>({\n position: \"absolute\",\n zIndex: 1,\n top: 0,\n insetStart: {\n default: -4,\n isFirstDayInWeek: 0,\n isSelectionStart: 0,\n isPreviousDayNotSelected: 0,\n },\n insetEnd: {\n default: -4,\n isLastDayInWeek: 0,\n isSelectionEnd: 0,\n isNextDayNotSelected: 0,\n },\n bottom: 0,\n borderStartWidth: {\n default: 0,\n isFirstDayInWeek: 1,\n isSelectionStart: 1,\n isPreviousDayNotSelected: 1,\n },\n borderTopWidth: 1,\n borderEndWidth: {\n default: 0,\n isLastDayInWeek: 1,\n isSelectionEnd: 1,\n isNextDayNotSelected: 1,\n },\n borderBottomWidth: 1,\n borderStyle: \"solid\",\n borderColor: {\n default: \"blue-800\",\n isInvalid: \"negative-900\",\n forcedColors: {\n default: \"ButtonText\",\n },\n },\n borderStartRadius: {\n default: \"none\",\n isFirstDayInWeek: \"full\",\n isSelectionStart: \"full\",\n isPreviousDayNotSelected: \"full\",\n },\n borderEndRadius: {\n default: \"none\",\n isLastDayInWeek: \"full\",\n isSelectionEnd: \"full\",\n isNextDayNotSelected: \"full\",\n },\n});\n\nconst rangeCalendarNavIcon = style({\n \"--iconPrimary\": {\n type: \"fill\",\n value: \"currentColor\",\n },\n width: \"[1.4285714285714286em]\",\n height: \"[1.4285714285714286em]\",\n forcedColorAdjust: \"none\",\n});\n\n// Mirrors @react-spectrum/s2 Field helpTextStyles at size M (controlFont() → the\n// base `ui` font), shared with the certified Calendar. `--field-gap` is\n// undefined outside a Field, so paddingTop resolves to 0 here — matching S2's\n// standalone RangeCalendar.\nconst rangeCalendarHelpText = style<{ isInvalid?: boolean; isDisabled?: boolean }>({\n display: \"flex\",\n alignItems: \"baseline\",\n gap: \"text-to-visual\",\n font: \"ui\",\n color: {\n default: \"neutral-subdued\",\n isInvalid: {\n default: \"negative\",\n forcedColors: \"Mark\",\n },\n isDisabled: {\n default: \"disabled\",\n forcedColors: \"GrayText\",\n },\n },\n \"--iconPrimary\": {\n type: \"fill\",\n value: \"currentColor\",\n },\n contain: \"inline-size\",\n paddingTop: \"--field-gap\",\n cursor: {\n default: \"text\",\n isDisabled: \"default\",\n },\n});\n\nfunction RangeCalendarHeading(props: {\n visibleMonths: number;\n locale?: string;\n prevButton: JSX.Element;\n nextButton: JSX.Element;\n}): JSX.Element {\n const state = useRangeCalendarContext();\n const months = () =>\n Array.from({ length: props.visibleMonths }, (_, index) =>\n monthTitle(state.visibleRange().start.add({ months: index }), props.locale, state.timeZone),\n );\n\n return (\n // Mirror @react-spectrum/s2 CalendarHeader (shared with Calendar): one flex\n // row per visible month, laying out [prev button (first month only), title,\n // next button (last month only)]. When a single month is visible both\n // buttons share its row. The per-month title mirrors react-aria-components\n // CalendarHeading, whose HeadingContext marks it aria-hidden (the visible\n // range is already named on the application root + each grid) — so it stays\n // out of the AX tree.\n <For each={months()}>\n {(title, index) => (\n <div class={rangeCalendarHeading}>\n <Show when={index() === 0}>{props.prevButton}</Show>\n <h2 aria-hidden=\"true\" class={rangeCalendarTitle}>\n {title}\n </h2>\n <Show when={index() === props.visibleMonths - 1}>{props.nextButton}</Show>\n </div>\n )}\n </For>\n );\n}\n\nfunction RangeCalendarCellContent(props: {\n cell: RangeCalendarCellRenderProps;\n date: CalendarDate;\n}): JSX.Element {\n const state = useRangeCalendarContext();\n const [innerElement, setInnerElement] = createSignal<HTMLDivElement | null>(null);\n const isSelectionStart = () =>\n props.cell.isSelectionStart && (!props.cell.isUnavailable || props.cell.isInvalid);\n const isSelectionEnd = () =>\n props.cell.isSelectionEnd && (!props.cell.isUnavailable || props.cell.isInvalid);\n const isDateInRange = (date: CalendarDate) => {\n const highlightedRange = state.highlightedRange?.();\n\n if (!highlightedRange) {\n return state.isSelected(date);\n }\n\n if (props.cell.isInvalid) {\n return date.compare(highlightedRange.start) >= 0 && date.compare(highlightedRange.end) <= 0;\n }\n\n return state.isSelected(date);\n };\n const previousDay = () => props.date.subtract({ days: 1 });\n const nextDay = () => props.date.add({ days: 1 });\n const isPreviousDayNotSelected = () =>\n !isDateInRange(previousDay()) || previousDay().month !== props.date.month;\n const isNextDayNotSelected = () =>\n !isDateInRange(nextDay()) || nextDay().month !== props.date.month;\n const selectionStyleState = () => ({\n isInvalid: props.cell.isInvalid,\n isFirstDayInWeek: props.cell.isFirstChild,\n isLastDayInWeek: props.cell.isLastChild,\n isSelectionStart: isSelectionStart(),\n isSelectionEnd: isSelectionEnd(),\n isPreviousDayNotSelected: isPreviousDayNotSelected(),\n isNextDayNotSelected: isNextDayNotSelected(),\n });\n const isBackgroundStyleApplied = () =>\n props.cell.isSelected &&\n (props.cell.isInvalid || !props.cell.isUnavailable) &&\n (isDateInRange(previousDay()) ||\n (nextDay().month === props.date.month && isDateInRange(nextDay())));\n\n return (\n <div class={rangeCalendarCellInnerFrame}>\n <div\n ref={setInnerElement}\n style={pressScale(innerElement, {})(props.cell)}\n class={rangeCalendarCellInner({\n ...props.cell,\n isSelectionStart: isSelectionStart(),\n isSelectionEnd: isSelectionEnd(),\n selectionMode: \"range\",\n })}\n >\n <div class={rangeCalendarTodayDot({ isToday: props.cell.isToday })} role=\"presentation\" />\n <div>{props.cell.formattedDate}</div>\n <Show when={props.cell.isUnavailable}>\n <div class={rangeCalendarUnavailable} role=\"presentation\" />\n </Show>\n </div>\n <Show when={isBackgroundStyleApplied()}>\n <div class={rangeSelectionBackground(selectionStyleState())} role=\"presentation\" />\n </Show>\n <Show when={isBackgroundStyleApplied()}>\n <div class={rangeSelectionBorder(selectionStyleState())} role=\"presentation\" />\n </Show>\n </div>\n );\n}\n\n/**\n * A range calendar displays a grid of days and allows users to select a date range.\n */\nexport function RangeCalendar<T extends DateValue = CalendarDate>(\n props: RangeCalendarProps<T>,\n): JSX.Element {\n const providerProps = useProviderProps(props);\n const contextProps = getSlottedContextProps(useContext(RangeCalendarContext), props.slot);\n const mergedProps = mergeProps(providerProps, contextProps ?? {}, props);\n const providerLocale = useLocale();\n const [local, rest] = splitProps(mergedProps, [\n \"size\",\n \"styles\",\n \"UNSAFE_className\",\n \"UNSAFE_style\",\n \"class\",\n \"aria-label\",\n \"firstDayOfWeek\",\n \"isInvalid\",\n \"validationState\",\n \"errorMessage\",\n \"visibleMonths\",\n \"locale\",\n \"slot\",\n \"ref\",\n ]);\n\n const size = () => normalizeRangeCalendarSize(local.size);\n const sizeConfig = () => sizeStyles[size()];\n const visibleMonths = () => Math.max(1, Number(local.visibleMonths ?? 1));\n const locale = () => local.locale ?? providerLocale().locale;\n const validationState = () =>\n typeof local.validationState === \"function\" ? local.validationState() : local.validationState;\n const isInvalid = () => local.isInvalid || validationState() === \"invalid\";\n const errorMessageId = createUniqueId();\n const mergedStyles = () => mergeContextStyles(contextProps?.styles, props.styles);\n const mergedUnsafeStyle = () =>\n mergeContextUnsafeStyle(contextProps?.UNSAFE_style, props.UNSAFE_style);\n const assignRef = mergeContextRefs(\n (contextProps as { ref?: RefLike<HTMLDivElement> } | null)?.ref,\n props.ref,\n );\n const rootStyle = () => ({\n \"--cell-gap\": \"4px\",\n \"--cell-max-width\": `${sizeConfig().cellMaxWidth}px`,\n \"--cell-responsive-size\": \"var(--cell-max-width)\",\n \"--s2-calendar-cell-max-width\": `${sizeConfig().cellMaxWidth}px`,\n \"--s2-calendar-button-size\": `${sizeConfig().buttonSize}px`,\n \"--s2-calendar-visible-months\": visibleMonths(),\n \"--num-calendars\": visibleMonths(),\n width: \"fit-content\",\n \"max-width\": \"100%\",\n ...(mergedUnsafeStyle() ?? {}),\n });\n const monthOffsets = () => Array.from({ length: visibleMonths() }, (_, index) => index);\n\n return (\n <HeadlessRangeCalendar\n {...rest}\n ref={(element: HTMLDivElement) => assignRef(element)}\n aria-label={local[\"aria-label\"]}\n aria-describedby={rest[\"aria-describedby\"]}\n errorMessage={local.errorMessage}\n errorMessageId={errorMessageId}\n firstDayOfWeek={normalizeFirstDayOfWeek(local.firstDayOfWeek)}\n validationState={isInvalid() ? \"invalid\" : validationState()}\n visibleMonths={visibleMonths()}\n locale={locale()}\n class={[\n contextProps?.UNSAFE_className,\n local.UNSAFE_className,\n local.class,\n rangeCalendarRoot({ isMultiMonth: visibleMonths() > 1 }, mergedStyles()),\n ]\n .filter(Boolean)\n .join(\" \")}\n style={rootStyle()}\n >\n <header class={rangeCalendarHeader}>\n <RangeCalendarHeading\n visibleMonths={visibleMonths()}\n locale={locale()}\n prevButton={\n <RangeCalendarButton\n slot=\"previous\"\n class={rangeCalendarNavButton({ buttonSize: sizeConfig().buttonSize })}\n style={{\n width: `${sizeConfig().buttonSize}px`,\n height: `${sizeConfig().buttonSize}px`,\n }}\n >\n <ChevronLeftIcon styles={rangeCalendarNavIcon} />\n </RangeCalendarButton>\n }\n nextButton={\n <RangeCalendarButton\n slot=\"next\"\n class={rangeCalendarNavButton({ buttonSize: sizeConfig().buttonSize })}\n style={{\n width: `${sizeConfig().buttonSize}px`,\n height: `${sizeConfig().buttonSize}px`,\n }}\n >\n <ChevronRightIcon styles={rangeCalendarNavIcon} />\n </RangeCalendarButton>\n }\n />\n </header>\n\n <div class={rangeCalendarMonths({ isMultiMonth: visibleMonths() > 1 })}>\n <For each={monthOffsets()}>\n {(offset) => (\n <RangeCalendarGrid\n class={rangeCalendarGrid}\n style={{\n width: `${sizeConfig().cellMaxWidth * 7}px`,\n \"table-layout\": \"fixed\",\n }}\n weekdayStyle=\"narrow\"\n headerCellClass={rangeCalendarHeaderCell}\n offset={offset === 0 ? undefined : { months: offset }}\n >\n {(date) => (\n <RangeCalendarCell\n date={date}\n cellClass={rangeCalendarCellWrapper}\n cellStyle={() => cellBoxStyle(size())}\n style={() => cellBoxStyle(size())}\n class={rangeCalendarCellOuter}\n >\n {(cell) => <RangeCalendarCellContent cell={cell} date={date} />}\n </RangeCalendarCell>\n )}\n </RangeCalendarGrid>\n )}\n </For>\n </div>\n\n <Show when={isInvalid() && local.errorMessage}>\n <span\n id={errorMessageId}\n class={rangeCalendarHelpText({ isInvalid: true, isDisabled: Boolean(rest.isDisabled) })}\n >\n {local.errorMessage}\n </span>\n </Show>\n </HeadlessRangeCalendar>\n );\n}\n\nexport type { RangeValue };\n"],"mappings":"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"}
1
+ {"version":3,"file":"RangeCalendar.js","names":["JSX","createIcon","ChevronLeftIconSvg","props","SvgSVGAttributes","SVGSVGElement","Element","class","className","rest","_el$","_$getNextElement","_tmpl$","_$spread","_$mergeProps","_$runHydrationEvents","ChevronLeftIconProps","ChevronLeftIcon","JSX","createIcon","ChevronRightIconSvg","props","SvgSVGAttributes","SVGSVGElement","Element","class","className","rest","_el$","_$getNextElement","_tmpl$","_$spread","_$mergeProps","_$runHydrationEvents","ChevronRightIconProps","ChevronRightIcon"],"sources":["../../src/icon/s2wf-icons/ChevronLeftIcon.tsx","../../src/icon/s2wf-icons/ChevronRightIcon.tsx","../../src/calendar/RangeCalendar.tsx"],"sourcesContent":["/*\n * Auto-generated from vendored React Spectrum S2 icon sources.\n * Do not edit by hand.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { createIcon } from \"../spectrum-icon\";\n\nfunction ChevronLeftIconSvg(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element {\n const { class: className, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n {...rest}\n class={className}\n >\n <path\n d=\"M12.237 16.455c-.196 0-.393-.077-.54-.23L6.21 10.52c-.28-.29-.28-.749 0-1.039l5.5-5.716c.287-.3.763-.308 1.06-.02.298.286.308.76.02 1.059l-4.999 5.197 4.986 5.184c.288.297.279.772-.02 1.06-.145.14-.332.21-.52.21\"\n fill=\"var(--iconPrimary, #222)\"\n />\n </svg>\n );\n}\n\nexport type ChevronLeftIconProps = JSX.SvgSVGAttributes<SVGSVGElement>;\nexport const ChevronLeftIcon = createIcon(ChevronLeftIconSvg);\nexport default ChevronLeftIcon;\n","/*\n * Auto-generated from vendored React Spectrum S2 icon sources.\n * Do not edit by hand.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { createIcon } from \"../spectrum-icon\";\n\nfunction ChevronRightIconSvg(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element {\n const { class: className, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n {...rest}\n class={className}\n >\n <path\n d=\"M7.75 16.465c-.187 0-.374-.07-.52-.21-.298-.287-.308-.762-.02-1.06l4.999-5.197-4.986-5.184c-.288-.297-.279-.772.02-1.06.296-.286.774-.278 1.06.021L13.79 9.48c.28.29.28.749 0 1.039l-5.5 5.716c-.146.154-.344.23-.54.23\"\n fill=\"var(--iconPrimary, #222)\"\n />\n </svg>\n );\n}\n\nexport type ChevronRightIconProps = JSX.SvgSVGAttributes<SVGSVGElement>;\nexport const ChevronRightIcon = createIcon(ChevronRightIconSvg);\nexport default ChevronRightIcon;\n","// @ts-nocheck\nimport {\n type JSX,\n For,\n Show,\n createContext,\n createMemo,\n createSignal,\n createUniqueId,\n mergeProps,\n splitProps,\n useContext,\n} from \"solid-js\";\nimport {\n RangeCalendar as HeadlessRangeCalendar,\n RangeCalendarButton,\n RangeCalendarCell,\n RangeCalendarGrid,\n useRangeCalendarContext,\n type CalendarDate,\n type DateValue,\n type RangeCalendarCellRenderProps,\n type RangeValue,\n} from \"@proyecto-viviana/solidaria-components\";\nimport { useLocale } from \"@proyecto-viviana/solidaria\";\nimport { DateFormatter, type RangeCalendarStateProps } from \"@proyecto-viviana/solid-stately\";\nimport type { StyleString } from \"../style\";\nimport {\n baseColor,\n focusRing,\n lightDark,\n setColorScheme,\n style,\n} from \"../style\" with { type: \"macro\" };\nimport ChevronLeftIcon from \"../icon/s2wf-icons/ChevronLeftIcon\";\nimport ChevronRightIcon from \"../icon/s2wf-icons/ChevronRightIcon\";\nimport { pressScale } from \"../pressScale\";\nimport { useProviderProps } from \"../provider\";\nimport type { UnsafeClassName } from \"../s2-internal/style-utils\";\nimport {\n getSlottedContextProps,\n mergeContextRefs,\n mergeContextStyles,\n mergeContextUnsafeStyle,\n type RefLike,\n type SpectrumContextValue,\n} from \"../button/spectrum-context\";\n\nexport type RangeCalendarSize = \"S\" | \"M\" | \"L\" | \"XL\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\ntype NormalizedRangeCalendarSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\nexport type RangeCalendarFirstDayOfWeek = \"sun\" | \"mon\" | \"tue\" | \"wed\" | \"thu\" | \"fri\" | \"sat\";\n\nexport interface RangeCalendarProps<T extends DateValue = DateValue> extends Omit<\n RangeCalendarStateProps<T>,\n \"locale\" | \"firstDayOfWeek\" | \"validationState\"\n> {\n /** The size of the calendar. @default 'md' */\n size?: RangeCalendarSize;\n /** Spectrum-defined generated classes. */\n styles?: StyleString | (() => StyleString | undefined);\n /** Additional CSS class name. Use only as a last resort. */\n UNSAFE_className?: UnsafeClassName | string;\n /** Additional inline styles. Use only as a last resort. */\n UNSAFE_style?: JSX.CSSProperties;\n /** Additional CSS class name. */\n class?: string;\n /** The locale to use for formatting. */\n locale?: string;\n /** The day that starts the week. */\n firstDayOfWeek?: RangeCalendarFirstDayOfWeek | 0 | 1 | 2 | 3 | 4 | 5 | 6;\n /** Whether the current selection is invalid according to application logic. */\n isInvalid?: boolean;\n /** Validation state for backward-compatible Solid Stately callers. */\n validationState?: RangeCalendarStateProps<T>[\"validationState\"];\n /** The error message to display when the range calendar is invalid. */\n errorMessage?: JSX.Element;\n /** Custom aria label. */\n \"aria-label\"?: string;\n slot?: string | null;\n ref?: RefLike<HTMLDivElement>;\n}\n\nexport const RangeCalendarContext =\n createContext<SpectrumContextValue<RangeCalendarProps<any>>>(null);\n\nconst sizeStyles: Record<\n NormalizedRangeCalendarSize,\n { cellMaxWidth: number; buttonSize: number }\n> = {\n sm: {\n cellMaxWidth: 32,\n buttonSize: 24,\n },\n md: {\n cellMaxWidth: 32,\n buttonSize: 32,\n },\n lg: {\n cellMaxWidth: 40,\n buttonSize: 40,\n },\n xl: {\n cellMaxWidth: 44,\n buttonSize: 44,\n },\n};\n\nfunction cellBoxStyle(size: NormalizedRangeCalendarSize): JSX.CSSProperties {\n const cellSize = `${sizeStyles[size].cellMaxWidth}px`;\n return {\n width: cellSize,\n height: cellSize,\n };\n}\n\nfunction normalizeRangeCalendarSize(\n size: RangeCalendarSize | undefined,\n): NormalizedRangeCalendarSize {\n switch (size) {\n case \"S\":\n case \"sm\":\n return \"sm\";\n case \"L\":\n case \"lg\":\n return \"lg\";\n case \"XL\":\n case \"xl\":\n return \"xl\";\n case \"M\":\n case \"md\":\n default:\n return \"md\";\n }\n}\n\nfunction normalizeFirstDayOfWeek(\n firstDayOfWeek: RangeCalendarFirstDayOfWeek | 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined,\n): 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined {\n switch (firstDayOfWeek) {\n case \"sun\":\n return 0;\n case \"mon\":\n return 1;\n case \"tue\":\n return 2;\n case \"wed\":\n return 3;\n case \"thu\":\n return 4;\n case \"fri\":\n return 5;\n case \"sat\":\n return 6;\n default:\n return firstDayOfWeek;\n }\n}\n\nfunction monthTitle(date: CalendarDate, locale: string | undefined, timeZone: string): string {\n const formattableMonth = date.calendar.getFormattableMonth?.(date) ?? date;\n return new DateFormatter(locale ?? \"en-US\", {\n month: \"long\",\n year: \"numeric\",\n calendar: date.calendar.identifier,\n }).format(formattableMonth.toDate(timeZone));\n}\n\nconst rangeCalendarRoot = style<{ isMultiMonth?: boolean }>({\n ...setColorScheme(),\n display: \"flex\",\n flexDirection: \"column\",\n gap: 24,\n disableTapHighlight: true,\n \"--cell-gap\": {\n type: \"paddingStart\",\n value: 4,\n },\n \"--cell-responsive-size\": \"--s2-calendar-cell-max-width\",\n width: \"fit\",\n});\n\n// Mirrors @react-spectrum/s2 Calendar headerStyles (shared with Calendar).\nconst rangeCalendarHeader = style({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n columnGap: 24,\n});\n\n// Mirrors @react-spectrum/s2 Calendar headingStyles: one per visible month,\n// laying out [prev button?, title, next button?] with the title flex-growing.\nconst rangeCalendarHeading = style({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n margin: 0,\n flexGrow: 1,\n width: \"full\",\n});\n\n// Mirrors @react-spectrum/s2 Calendar titleStyles.\nconst rangeCalendarTitle = style({\n font: \"title-lg\",\n textAlign: \"center\",\n flexGrow: 1,\n flexShrink: 0,\n marginY: 0,\n});\n\nconst rangeCalendarMonths = style<{ isMultiMonth?: boolean }>({\n display: \"flex\",\n flexDirection: \"row\",\n gap: {\n default: 0,\n isMultiMonth: 24,\n },\n alignItems: \"start\",\n width: \"[max-content]\",\n});\n\n// Mirrors @react-spectrum/s2 Calendar navButton (shared with Calendar). A bare\n// native <button> (via the headless RangeCalendarButton), so the disabled gray\n// keys off the `:disabled` pseudo — the button carries the `disabled` attribute\n// for both whole-calendar and range-boundary disable — rather than a runtime\n// render prop. The chevron icon inherits it via `--iconPrimary: currentColor`.\nconst rangeCalendarNavButton = style<{ buttonSize: number }>({\n ...focusRing(),\n font: \"ui\",\n fontWeight: \"medium\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"[var(--s2-calendar-button-size)]\",\n height: \"[var(--s2-calendar-button-size)]\",\n borderStyle: \"none\",\n borderRadius: \"full\",\n backgroundColor: {\n default: \"transparent\",\n isHovered: baseColor(\"gray-100\"),\n isPressed: baseColor(\"gray-200\"),\n },\n color: {\n default: baseColor(\"neutral\"),\n \":disabled\": \"disabled\",\n },\n cursor: \"default\",\n transition: \"default\",\n});\n\nconst rangeCalendarGrid = style({\n borderCollapse: \"collapse\",\n borderSpacing: 0,\n isolation: \"isolate\",\n tableLayout: \"fixed\",\n});\n\nconst rangeCalendarHeaderCell = style({\n boxSizing: \"border-box\",\n font: \"title-sm\",\n cursor: \"default\",\n textAlign: \"center\",\n width: \"--cell-responsive-size\",\n paddingStart: {\n default: 4,\n \":first-child\": 0,\n },\n paddingEnd: {\n default: 4,\n \":last-child\": 0,\n },\n paddingTop: 0,\n paddingBottom: 12,\n});\n\nconst rangeCalendarCellWrapper = style({\n outlineStyle: \"none\",\n boxSizing: \"border-box\",\n paddingStart: 0,\n paddingEnd: 0,\n paddingTop: 0,\n paddingBottom: 0,\n position: \"relative\",\n disableTapHighlight: true,\n width: \"--cell-responsive-size\",\n height: \"--cell-responsive-size\",\n});\n\nconst rangeCalendarCellOuter = style<{\n isOutsideMonth?: boolean;\n isFirstChild?: boolean;\n isLastChild?: boolean;\n isFirstWeek?: boolean;\n isLastWeek?: boolean;\n}>({\n outlineStyle: \"none\",\n boxSizing: \"border-box\",\n position: \"relative\",\n paddingStart: {\n default: 4,\n isFirstChild: 0,\n },\n paddingEnd: {\n default: 4,\n isLastChild: 0,\n },\n paddingTop: {\n default: 2,\n isFirstWeek: 0,\n },\n paddingBottom: {\n default: 2,\n isLastWeek: 0,\n },\n display: {\n default: \"flex\",\n isOutsideMonth: \"none\",\n },\n alignItems: \"center\",\n justifyContent: \"center\",\n disableTapHighlight: true,\n});\n\nconst rangeCalendarCellInnerFrame = style({\n position: \"relative\",\n width: \"full\",\n height: \"full\",\n});\n\nconst rangeCalendarCellInner = style<{\n selectionMode: \"range\";\n isSelected?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isDisabled?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isUnavailable?: boolean;\n isInvalid?: boolean;\n}>({\n ...focusRing(),\n transition: {\n default: \"default\",\n forcedColors: \"none\",\n },\n outlineOffset: {\n default: -2,\n isSelected: -2,\n isSelectionStart: 2,\n isSelectionEnd: 2,\n },\n position: \"relative\",\n font: \"body-sm\",\n cursor: \"default\",\n width: \"full\",\n height: \"full\",\n borderRadius: \"full\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n forcedColorAdjust: \"none\",\n backgroundColor: {\n default: \"transparent\",\n isHovered: {\n default: \"gray-100\",\n isUnavailable: \"transparent\",\n },\n isPressed: \"gray-100\",\n isDisabled: \"transparent\",\n isSelected: {\n isHovered: {\n default: \"blue-500\",\n isInvalid: {\n default: \"negative-300\",\n isUnavailable: \"transparent\",\n },\n },\n },\n isSelectionStart: {\n default: \"interactive-fill\",\n isHovered: lightDark(\"accent-1000\", \"accent-600\"),\n isPressed: lightDark(\"accent-1000\", \"accent-600\"),\n isDisabled: \"transparent\",\n isInvalid: {\n default: lightDark(\"negative-900\", \"negative-700\"),\n isHovered: {\n default: lightDark(\"negative-1000\", \"negative-600\"),\n isUnavailable: lightDark(\"negative-900\", \"negative-700\"),\n },\n isPressed: lightDark(\"negative-1000\", \"negative-600\"),\n },\n },\n isSelectionEnd: {\n default: \"interactive-fill\",\n isHovered: lightDark(\"accent-1000\", \"accent-600\"),\n isPressed: lightDark(\"accent-1000\", \"accent-600\"),\n isDisabled: \"transparent\",\n isInvalid: {\n default: lightDark(\"negative-900\", \"negative-700\"),\n isHovered: {\n default: lightDark(\"negative-1000\", \"negative-600\"),\n isUnavailable: lightDark(\"negative-900\", \"negative-700\"),\n },\n isPressed: lightDark(\"negative-1000\", \"negative-600\"),\n },\n },\n forcedColors: {\n default: \"transparent\",\n isHovered: \"Highlight\",\n isSelected: {\n isHovered: \"Highlight\",\n },\n isSelectionStart: \"Highlight\",\n isSelectionEnd: \"Highlight\",\n isUnavailable: \"transparent\",\n },\n },\n color: {\n default: \"neutral\",\n isSelected: \"neutral\",\n isSelectionStart: \"white\",\n isSelectionEnd: \"white\",\n isDisabled: \"disabled\",\n forcedColors: {\n default: \"ButtonText\",\n isSelected: \"HighlightText\",\n isSelectionStart: \"HighlightText\",\n isSelectionEnd: \"HighlightText\",\n isDisabled: \"GrayText\",\n },\n },\n});\n\nconst rangeCalendarTodayDot = style<{ isToday?: boolean }>({\n position: \"absolute\",\n bottom: \"12.5%\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: 4,\n height: 4,\n borderRadius: \"full\",\n backgroundColor: \"[currentColor]\",\n display: {\n default: \"none\",\n isToday: \"block\",\n },\n});\n\nconst rangeCalendarUnavailable = style({\n position: \"absolute\",\n top: \"[calc(50% - 1px)]\",\n left: \"[calc(25% - 1px)]\",\n right: \"[calc(25% - 1px)]\",\n height: 2,\n transform: \"rotate(-16deg)\",\n borderRadius: \"full\",\n backgroundColor: \"[currentColor]\",\n});\n\nconst rangeSelectionBackground = style<{\n isInvalid?: boolean;\n isFirstDayInWeek?: boolean;\n isLastDayInWeek?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isPreviousDayNotSelected?: boolean;\n isNextDayNotSelected?: boolean;\n}>({\n position: \"absolute\",\n zIndex: -1,\n top: 0,\n insetStart: {\n default: -4,\n isFirstDayInWeek: 0,\n isSelectionStart: 0,\n isPreviousDayNotSelected: 0,\n },\n insetEnd: {\n default: -4,\n isLastDayInWeek: 0,\n isSelectionEnd: 0,\n isNextDayNotSelected: 0,\n },\n bottom: 0,\n borderStartRadius: {\n default: \"none\",\n isFirstDayInWeek: \"full\",\n isSelectionStart: \"full\",\n isPreviousDayNotSelected: \"full\",\n },\n borderEndRadius: {\n default: \"none\",\n isLastDayInWeek: \"full\",\n isSelectionEnd: \"full\",\n isNextDayNotSelected: \"full\",\n },\n backgroundColor: {\n default: \"blue-subtle\",\n isInvalid: \"negative-100\",\n forcedColors: {\n default: \"Highlight\",\n },\n },\n forcedColorAdjust: \"none\",\n});\n\nconst rangeSelectionBorder = style<{\n isInvalid?: boolean;\n isFirstDayInWeek?: boolean;\n isLastDayInWeek?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isPreviousDayNotSelected?: boolean;\n isNextDayNotSelected?: boolean;\n}>({\n position: \"absolute\",\n zIndex: 1,\n top: 0,\n insetStart: {\n default: -4,\n isFirstDayInWeek: 0,\n isSelectionStart: 0,\n isPreviousDayNotSelected: 0,\n },\n insetEnd: {\n default: -4,\n isLastDayInWeek: 0,\n isSelectionEnd: 0,\n isNextDayNotSelected: 0,\n },\n bottom: 0,\n borderStartWidth: {\n default: 0,\n isFirstDayInWeek: 1,\n isSelectionStart: 1,\n isPreviousDayNotSelected: 1,\n },\n borderTopWidth: 1,\n borderEndWidth: {\n default: 0,\n isLastDayInWeek: 1,\n isSelectionEnd: 1,\n isNextDayNotSelected: 1,\n },\n borderBottomWidth: 1,\n borderStyle: \"solid\",\n borderColor: {\n default: \"blue-800\",\n isInvalid: \"negative-900\",\n forcedColors: {\n default: \"ButtonText\",\n },\n },\n borderStartRadius: {\n default: \"none\",\n isFirstDayInWeek: \"full\",\n isSelectionStart: \"full\",\n isPreviousDayNotSelected: \"full\",\n },\n borderEndRadius: {\n default: \"none\",\n isLastDayInWeek: \"full\",\n isSelectionEnd: \"full\",\n isNextDayNotSelected: \"full\",\n },\n});\n\nconst rangeCalendarNavIcon = style({\n \"--iconPrimary\": {\n type: \"fill\",\n value: \"currentColor\",\n },\n width: \"[1.4285714285714286em]\",\n height: \"[1.4285714285714286em]\",\n forcedColorAdjust: \"none\",\n});\n\n// Mirrors @react-spectrum/s2 Field helpTextStyles at size M (controlFont() → the\n// base `ui` font), shared with the certified Calendar. `--field-gap` is\n// undefined outside a Field, so paddingTop resolves to 0 here — matching S2's\n// standalone RangeCalendar.\nconst rangeCalendarHelpText = style<{ isInvalid?: boolean; isDisabled?: boolean }>({\n display: \"flex\",\n alignItems: \"baseline\",\n gap: \"text-to-visual\",\n font: \"ui\",\n color: {\n default: \"neutral-subdued\",\n isInvalid: {\n default: \"negative\",\n forcedColors: \"Mark\",\n },\n isDisabled: {\n default: \"disabled\",\n forcedColors: \"GrayText\",\n },\n },\n \"--iconPrimary\": {\n type: \"fill\",\n value: \"currentColor\",\n },\n contain: \"inline-size\",\n paddingTop: \"--field-gap\",\n cursor: {\n default: \"text\",\n isDisabled: \"default\",\n },\n});\n\nfunction RangeCalendarHeading(props: {\n visibleMonths: number;\n locale?: string;\n prevButton: JSX.Element;\n nextButton: JSX.Element;\n}): JSX.Element {\n const state = useRangeCalendarContext();\n const months = () =>\n Array.from({ length: props.visibleMonths }, (_, index) =>\n monthTitle(state.visibleRange().start.add({ months: index }), props.locale, state.timeZone),\n );\n\n return (\n // Mirror @react-spectrum/s2 CalendarHeader (shared with Calendar): one flex\n // row per visible month, laying out [prev button (first month only), title,\n // next button (last month only)]. When a single month is visible both\n // buttons share its row. The per-month title mirrors react-aria-components\n // CalendarHeading, whose HeadingContext marks it aria-hidden (the visible\n // range is already named on the application root + each grid) — so it stays\n // out of the AX tree.\n <For each={months()}>\n {(title, index) => (\n <div class={rangeCalendarHeading}>\n <Show when={index() === 0}>{props.prevButton}</Show>\n <h2 aria-hidden=\"true\" class={rangeCalendarTitle}>\n {title}\n </h2>\n <Show when={index() === props.visibleMonths - 1}>{props.nextButton}</Show>\n </div>\n )}\n </For>\n );\n}\n\nfunction RangeCalendarCellContent(props: {\n cell: RangeCalendarCellRenderProps;\n date: CalendarDate;\n}): JSX.Element {\n const state = useRangeCalendarContext();\n const [innerElement, setInnerElement] = createSignal<HTMLDivElement | null>(null);\n const isSelectionStart = () =>\n props.cell.isSelectionStart && (!props.cell.isUnavailable || props.cell.isInvalid);\n const isSelectionEnd = () =>\n props.cell.isSelectionEnd && (!props.cell.isUnavailable || props.cell.isInvalid);\n const isDateInRange = (date: CalendarDate) => {\n const highlightedRange = state.highlightedRange?.();\n\n if (!highlightedRange) {\n return state.isSelected(date);\n }\n\n if (props.cell.isInvalid) {\n return date.compare(highlightedRange.start) >= 0 && date.compare(highlightedRange.end) <= 0;\n }\n\n return state.isSelected(date);\n };\n const previousDay = () => props.date.subtract({ days: 1 });\n const nextDay = () => props.date.add({ days: 1 });\n const isPreviousDayNotSelected = () =>\n !isDateInRange(previousDay()) || previousDay().month !== props.date.month;\n const isNextDayNotSelected = () =>\n !isDateInRange(nextDay()) || nextDay().month !== props.date.month;\n const selectionStyleState = () => ({\n isInvalid: props.cell.isInvalid,\n isFirstDayInWeek: props.cell.isFirstChild,\n isLastDayInWeek: props.cell.isLastChild,\n isSelectionStart: isSelectionStart(),\n isSelectionEnd: isSelectionEnd(),\n isPreviousDayNotSelected: isPreviousDayNotSelected(),\n isNextDayNotSelected: isNextDayNotSelected(),\n });\n const isBackgroundStyleApplied = () =>\n props.cell.isSelected &&\n (props.cell.isInvalid || !props.cell.isUnavailable) &&\n (isDateInRange(previousDay()) ||\n (nextDay().month === props.date.month && isDateInRange(nextDay())));\n\n return (\n <div class={rangeCalendarCellInnerFrame}>\n <div\n ref={setInnerElement}\n style={pressScale(innerElement, {})(props.cell)}\n class={rangeCalendarCellInner({\n ...props.cell,\n isSelectionStart: isSelectionStart(),\n isSelectionEnd: isSelectionEnd(),\n selectionMode: \"range\",\n })}\n >\n <div class={rangeCalendarTodayDot({ isToday: props.cell.isToday })} role=\"presentation\" />\n <div>{props.cell.formattedDate}</div>\n <Show when={props.cell.isUnavailable}>\n <div class={rangeCalendarUnavailable} role=\"presentation\" />\n </Show>\n </div>\n <Show when={isBackgroundStyleApplied()}>\n <div class={rangeSelectionBackground(selectionStyleState())} role=\"presentation\" />\n </Show>\n <Show when={isBackgroundStyleApplied()}>\n <div class={rangeSelectionBorder(selectionStyleState())} role=\"presentation\" />\n </Show>\n </div>\n );\n}\n\n/**\n * A range calendar displays a grid of days and allows users to select a date range.\n */\nexport function RangeCalendar<T extends DateValue = CalendarDate>(\n props: RangeCalendarProps<T>,\n): JSX.Element {\n const providerProps = useProviderProps(props);\n const contextProps = getSlottedContextProps(useContext(RangeCalendarContext), props.slot);\n const mergedProps = mergeProps(providerProps, contextProps ?? {}, props);\n const providerLocale = useLocale();\n const [local, rest] = splitProps(mergedProps, [\n \"size\",\n \"styles\",\n \"UNSAFE_className\",\n \"UNSAFE_style\",\n \"class\",\n \"aria-label\",\n \"firstDayOfWeek\",\n \"isInvalid\",\n \"validationState\",\n \"errorMessage\",\n \"visibleMonths\",\n \"locale\",\n \"slot\",\n \"ref\",\n ]);\n\n const size = () => normalizeRangeCalendarSize(local.size);\n const sizeConfig = () => sizeStyles[size()];\n const visibleMonths = () => Math.max(1, Number(local.visibleMonths ?? 1));\n const locale = () => local.locale ?? providerLocale().locale;\n const validationState = () =>\n typeof local.validationState === \"function\" ? local.validationState() : local.validationState;\n const isInvalid = () => local.isInvalid || validationState() === \"invalid\";\n const errorMessageId = createUniqueId();\n const mergedStyles = () => mergeContextStyles(contextProps?.styles, props.styles);\n const mergedUnsafeStyle = () =>\n mergeContextUnsafeStyle(contextProps?.UNSAFE_style, props.UNSAFE_style);\n const assignRef = mergeContextRefs(\n (contextProps as { ref?: RefLike<HTMLDivElement> } | null)?.ref,\n props.ref,\n );\n const rootStyle = () => ({\n \"--cell-gap\": \"4px\",\n \"--cell-max-width\": `${sizeConfig().cellMaxWidth}px`,\n \"--cell-responsive-size\": \"var(--cell-max-width)\",\n \"--s2-calendar-cell-max-width\": `${sizeConfig().cellMaxWidth}px`,\n \"--s2-calendar-button-size\": `${sizeConfig().buttonSize}px`,\n \"--s2-calendar-visible-months\": visibleMonths(),\n \"--num-calendars\": visibleMonths(),\n width: \"fit-content\",\n \"max-width\": \"100%\",\n ...(mergedUnsafeStyle() ?? {}),\n });\n const monthOffsets = () => Array.from({ length: visibleMonths() }, (_, index) => index);\n\n return (\n <HeadlessRangeCalendar\n {...rest}\n ref={(element: HTMLDivElement) => assignRef(element)}\n aria-label={local[\"aria-label\"]}\n aria-describedby={rest[\"aria-describedby\"]}\n errorMessage={local.errorMessage}\n errorMessageId={errorMessageId}\n firstDayOfWeek={normalizeFirstDayOfWeek(local.firstDayOfWeek)}\n validationState={isInvalid() ? \"invalid\" : validationState()}\n visibleMonths={visibleMonths()}\n locale={locale()}\n class={[\n contextProps?.UNSAFE_className,\n local.UNSAFE_className,\n local.class,\n rangeCalendarRoot({ isMultiMonth: visibleMonths() > 1 }, mergedStyles()),\n ]\n .filter(Boolean)\n .join(\" \")}\n style={rootStyle()}\n >\n <header class={rangeCalendarHeader}>\n <RangeCalendarHeading\n visibleMonths={visibleMonths()}\n locale={locale()}\n prevButton={\n <RangeCalendarButton\n slot=\"previous\"\n class={rangeCalendarNavButton({ buttonSize: sizeConfig().buttonSize })}\n style={{\n width: `${sizeConfig().buttonSize}px`,\n height: `${sizeConfig().buttonSize}px`,\n }}\n >\n <ChevronLeftIcon styles={rangeCalendarNavIcon} />\n </RangeCalendarButton>\n }\n nextButton={\n <RangeCalendarButton\n slot=\"next\"\n class={rangeCalendarNavButton({ buttonSize: sizeConfig().buttonSize })}\n style={{\n width: `${sizeConfig().buttonSize}px`,\n height: `${sizeConfig().buttonSize}px`,\n }}\n >\n <ChevronRightIcon styles={rangeCalendarNavIcon} />\n </RangeCalendarButton>\n }\n />\n </header>\n\n <div class={rangeCalendarMonths({ isMultiMonth: visibleMonths() > 1 })}>\n <For each={monthOffsets()}>\n {(offset) => (\n <RangeCalendarGrid\n class={rangeCalendarGrid}\n style={{\n width: `${sizeConfig().cellMaxWidth * 7}px`,\n \"table-layout\": \"fixed\",\n }}\n weekdayStyle=\"narrow\"\n headerCellClass={rangeCalendarHeaderCell}\n offset={offset === 0 ? undefined : { months: offset }}\n >\n {(date) => (\n <RangeCalendarCell\n date={date}\n cellClass={rangeCalendarCellWrapper}\n cellStyle={() => cellBoxStyle(size())}\n style={() => cellBoxStyle(size())}\n class={rangeCalendarCellOuter}\n >\n {(cell) => <RangeCalendarCellContent cell={cell} date={date} />}\n </RangeCalendarCell>\n )}\n </RangeCalendarGrid>\n )}\n </For>\n </div>\n\n <Show when={isInvalid() && local.errorMessage}>\n <span\n id={errorMessageId}\n class={rangeCalendarHelpText({ isInvalid: true, isDisabled: Boolean(rest.isDisabled) })}\n >\n {local.errorMessage}\n </span>\n </Show>\n </HeadlessRangeCalendar>\n );\n}\n\nexport type { RangeValue };\n"],"mappings":"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"}
@@ -251,17 +251,17 @@ const rangeCalendarCellInner = function anonymous(props) {
251
251
  else rules += " gtq3xC151";
252
252
  else rules += " g7xrik151";
253
253
  else if (props.isDisabled) rules += " g9151";
254
- else if (props.isPressed) rules += " gJLwrv151";
255
- else if (props.isHovered) rules += " gJLwrv151";
256
- else rules += " gI9Ko6c151";
254
+ else if (props.isPressed) rules += " gKDgA3151";
255
+ else if (props.isHovered) rules += " gKDgA3151";
256
+ else rules += " gnhAeB151";
257
257
  else if (props.isSelectionStart) if (props.isInvalid) if (props.isPressed) rules += " gtq3xC151";
258
258
  else if (props.isHovered) if (props.isUnavailable) rules += " g7xrik151";
259
259
  else rules += " gtq3xC151";
260
260
  else rules += " g7xrik151";
261
261
  else if (props.isDisabled) rules += " g9151";
262
- else if (props.isPressed) rules += " gJLwrv151";
263
- else if (props.isHovered) rules += " gJLwrv151";
264
- else rules += " gI9Ko6c151";
262
+ else if (props.isPressed) rules += " gKDgA3151";
263
+ else if (props.isHovered) rules += " gKDgA3151";
264
+ else rules += " gnhAeB151";
265
265
  else if (props.isSelected) {
266
266
  if (props.isHovered) if (props.isInvalid) if (props.isUnavailable) rules += " g9151";
267
267
  else rules += " g055REd151";
@@ -402,7 +402,7 @@ const rangeCalendarHelpText = function anonymous(props) {
402
402
  } else if (props.isInvalid) {
403
403
  rules += " pYjUhNc151";
404
404
  rules += " plQBRyrc151";
405
- } else rules += " pUUi0Fe151";
405
+ } else rules += " pWQ7V3d151";
406
406
  rules += " -_8sjo0b-t5ZbAob151";
407
407
  rules += " _qb151";
408
408
  rules += " TgOnRt151";
@@ -1 +1 @@
1
- {"version":3,"file":"RangeCalendar.jsx","names":[],"sources":["../../src/icon/s2wf-icons/ChevronLeftIcon.tsx","../../src/icon/s2wf-icons/ChevronRightIcon.tsx","../../src/calendar/RangeCalendar.tsx"],"sourcesContent":["/*\n * Auto-generated from vendored React Spectrum S2 icon sources.\n * Do not edit by hand.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { createIcon } from \"../spectrum-icon\";\n\nfunction ChevronLeftIconSvg(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element {\n const { class: className, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n {...rest}\n class={className}\n >\n <path\n d=\"M12.237 16.455c-.196 0-.393-.077-.54-.23L6.21 10.52c-.28-.29-.28-.749 0-1.039l5.5-5.716c.287-.3.763-.308 1.06-.02.298.286.308.76.02 1.059l-4.999 5.197 4.986 5.184c.288.297.279.772-.02 1.06-.145.14-.332.21-.52.21\"\n fill=\"var(--iconPrimary, #222)\"\n />\n </svg>\n );\n}\n\nexport type ChevronLeftIconProps = JSX.SvgSVGAttributes<SVGSVGElement>;\nexport const ChevronLeftIcon = createIcon(ChevronLeftIconSvg);\nexport default ChevronLeftIcon;\n","/*\n * Auto-generated from vendored React Spectrum S2 icon sources.\n * Do not edit by hand.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { createIcon } from \"../spectrum-icon\";\n\nfunction ChevronRightIconSvg(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element {\n const { class: className, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n {...rest}\n class={className}\n >\n <path\n d=\"M7.75 16.465c-.187 0-.374-.07-.52-.21-.298-.287-.308-.762-.02-1.06l4.999-5.197-4.986-5.184c-.288-.297-.279-.772.02-1.06.296-.286.774-.278 1.06.021L13.79 9.48c.28.29.28.749 0 1.039l-5.5 5.716c-.146.154-.344.23-.54.23\"\n fill=\"var(--iconPrimary, #222)\"\n />\n </svg>\n );\n}\n\nexport type ChevronRightIconProps = JSX.SvgSVGAttributes<SVGSVGElement>;\nexport const ChevronRightIcon = createIcon(ChevronRightIconSvg);\nexport default ChevronRightIcon;\n","// @ts-nocheck\nimport {\n type JSX,\n For,\n Show,\n createContext,\n createMemo,\n createSignal,\n createUniqueId,\n mergeProps,\n splitProps,\n useContext,\n} from \"solid-js\";\nimport {\n RangeCalendar as HeadlessRangeCalendar,\n RangeCalendarButton,\n RangeCalendarCell,\n RangeCalendarGrid,\n useRangeCalendarContext,\n type CalendarDate,\n type DateValue,\n type RangeCalendarCellRenderProps,\n type RangeValue,\n} from \"@proyecto-viviana/solidaria-components\";\nimport { useLocale } from \"@proyecto-viviana/solidaria\";\nimport { DateFormatter, type RangeCalendarStateProps } from \"@proyecto-viviana/solid-stately\";\nimport type { StyleString } from \"../style\";\nimport { baseColor, focusRing, lightDark, setColorScheme, style } from \"../style\" with { type: \"macro\" };\nimport ChevronLeftIcon from \"../icon/s2wf-icons/ChevronLeftIcon\";\nimport ChevronRightIcon from \"../icon/s2wf-icons/ChevronRightIcon\";\nimport { pressScale } from \"../pressScale\";\nimport { useProviderProps } from \"../provider\";\nimport type { UnsafeClassName } from \"../s2-internal/style-utils\";\nimport {\n getSlottedContextProps,\n mergeContextRefs,\n mergeContextStyles,\n mergeContextUnsafeStyle,\n type RefLike,\n type SpectrumContextValue,\n} from \"../button/spectrum-context\";\n\nexport type RangeCalendarSize = \"S\" | \"M\" | \"L\" | \"XL\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\ntype NormalizedRangeCalendarSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\nexport type RangeCalendarFirstDayOfWeek = \"sun\" | \"mon\" | \"tue\" | \"wed\" | \"thu\" | \"fri\" | \"sat\";\n\nexport interface RangeCalendarProps<T extends DateValue = DateValue> extends Omit<\n RangeCalendarStateProps<T>,\n \"locale\" | \"firstDayOfWeek\" | \"validationState\"\n> {\n /** The size of the calendar. @default 'md' */\n size?: RangeCalendarSize;\n /** Spectrum-defined generated classes. */\n styles?: StyleString | (() => StyleString | undefined);\n /** Additional CSS class name. Use only as a last resort. */\n UNSAFE_className?: UnsafeClassName | string;\n /** Additional inline styles. Use only as a last resort. */\n UNSAFE_style?: JSX.CSSProperties;\n /** Additional CSS class name. */\n class?: string;\n /** The locale to use for formatting. */\n locale?: string;\n /** The day that starts the week. */\n firstDayOfWeek?: RangeCalendarFirstDayOfWeek | 0 | 1 | 2 | 3 | 4 | 5 | 6;\n /** Whether the current selection is invalid according to application logic. */\n isInvalid?: boolean;\n /** Validation state for backward-compatible Solid Stately callers. */\n validationState?: RangeCalendarStateProps<T>[\"validationState\"];\n /** The error message to display when the range calendar is invalid. */\n errorMessage?: JSX.Element;\n /** Custom aria label. */\n \"aria-label\"?: string;\n slot?: string | null;\n ref?: RefLike<HTMLDivElement>;\n}\n\nexport const RangeCalendarContext =\n createContext<SpectrumContextValue<RangeCalendarProps<any>>>(null);\n\nconst sizeStyles: Record<\n NormalizedRangeCalendarSize,\n { cellMaxWidth: number; buttonSize: number }\n> = {\n sm: {\n cellMaxWidth: 32,\n buttonSize: 24,\n },\n md: {\n cellMaxWidth: 32,\n buttonSize: 32,\n },\n lg: {\n cellMaxWidth: 40,\n buttonSize: 40,\n },\n xl: {\n cellMaxWidth: 44,\n buttonSize: 44,\n },\n};\n\nfunction cellBoxStyle(size: NormalizedRangeCalendarSize): JSX.CSSProperties {\n const cellSize = `${sizeStyles[size].cellMaxWidth}px`;\n return {\n width: cellSize,\n height: cellSize,\n };\n}\n\nfunction normalizeRangeCalendarSize(\n size: RangeCalendarSize | undefined,\n): NormalizedRangeCalendarSize {\n switch (size) {\n case \"S\":\n case \"sm\":\n return \"sm\";\n case \"L\":\n case \"lg\":\n return \"lg\";\n case \"XL\":\n case \"xl\":\n return \"xl\";\n case \"M\":\n case \"md\":\n default:\n return \"md\";\n }\n}\n\nfunction normalizeFirstDayOfWeek(\n firstDayOfWeek: RangeCalendarFirstDayOfWeek | 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined,\n): 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined {\n switch (firstDayOfWeek) {\n case \"sun\":\n return 0;\n case \"mon\":\n return 1;\n case \"tue\":\n return 2;\n case \"wed\":\n return 3;\n case \"thu\":\n return 4;\n case \"fri\":\n return 5;\n case \"sat\":\n return 6;\n default:\n return firstDayOfWeek;\n }\n}\n\nfunction monthTitle(date: CalendarDate, locale: string | undefined, timeZone: string): string {\n const formattableMonth = date.calendar.getFormattableMonth?.(date) ?? date;\n return new DateFormatter(locale ?? \"en-US\", {\n month: \"long\",\n year: \"numeric\",\n calendar: date.calendar.identifier,\n }).format(formattableMonth.toDate(timeZone));\n}\n\nconst rangeCalendarRoot = style<{ isMultiMonth?: boolean }>({\n ...setColorScheme(),\n display: \"flex\",\n flexDirection: \"column\",\n gap: 24,\n disableTapHighlight: true,\n \"--cell-gap\": {\n type: \"paddingStart\",\n value: 4,\n },\n \"--cell-responsive-size\": \"--s2-calendar-cell-max-width\",\n width: \"fit\",\n});\n\n// Mirrors @react-spectrum/s2 Calendar headerStyles (shared with Calendar).\nconst rangeCalendarHeader = style({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n columnGap: 24,\n});\n\n// Mirrors @react-spectrum/s2 Calendar headingStyles: one per visible month,\n// laying out [prev button?, title, next button?] with the title flex-growing.\nconst rangeCalendarHeading = style({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n margin: 0,\n flexGrow: 1,\n width: \"full\",\n});\n\n// Mirrors @react-spectrum/s2 Calendar titleStyles.\nconst rangeCalendarTitle = style({\n font: \"title-lg\",\n textAlign: \"center\",\n flexGrow: 1,\n flexShrink: 0,\n marginY: 0,\n});\n\nconst rangeCalendarMonths = style<{ isMultiMonth?: boolean }>({\n display: \"flex\",\n flexDirection: \"row\",\n gap: {\n default: 0,\n isMultiMonth: 24,\n },\n alignItems: \"start\",\n width: \"[max-content]\",\n});\n\n// Mirrors @react-spectrum/s2 Calendar navButton (shared with Calendar). A bare\n// native <button> (via the headless RangeCalendarButton), so the disabled gray\n// keys off the `:disabled` pseudo — the button carries the `disabled` attribute\n// for both whole-calendar and range-boundary disable — rather than a runtime\n// render prop. The chevron icon inherits it via `--iconPrimary: currentColor`.\nconst rangeCalendarNavButton = style<{ buttonSize: number }>({\n ...focusRing(),\n font: \"ui\",\n fontWeight: \"medium\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"[var(--s2-calendar-button-size)]\",\n height: \"[var(--s2-calendar-button-size)]\",\n borderStyle: \"none\",\n borderRadius: \"full\",\n backgroundColor: {\n default: \"transparent\",\n isHovered: baseColor(\"gray-100\"),\n isPressed: baseColor(\"gray-200\"),\n },\n color: {\n default: baseColor(\"neutral\"),\n \":disabled\": \"disabled\",\n },\n cursor: \"default\",\n transition: \"default\",\n});\n\nconst rangeCalendarGrid = style({\n borderCollapse: \"collapse\",\n borderSpacing: 0,\n isolation: \"isolate\",\n tableLayout: \"fixed\",\n});\n\nconst rangeCalendarHeaderCell = style({\n boxSizing: \"border-box\",\n font: \"title-sm\",\n cursor: \"default\",\n textAlign: \"center\",\n width: \"--cell-responsive-size\",\n paddingStart: {\n default: 4,\n \":first-child\": 0,\n },\n paddingEnd: {\n default: 4,\n \":last-child\": 0,\n },\n paddingTop: 0,\n paddingBottom: 12,\n});\n\nconst rangeCalendarCellWrapper = style({\n outlineStyle: \"none\",\n boxSizing: \"border-box\",\n paddingStart: 0,\n paddingEnd: 0,\n paddingTop: 0,\n paddingBottom: 0,\n position: \"relative\",\n disableTapHighlight: true,\n width: \"--cell-responsive-size\",\n height: \"--cell-responsive-size\",\n});\n\nconst rangeCalendarCellOuter = style<{\n isOutsideMonth?: boolean;\n isFirstChild?: boolean;\n isLastChild?: boolean;\n isFirstWeek?: boolean;\n isLastWeek?: boolean;\n}>({\n outlineStyle: \"none\",\n boxSizing: \"border-box\",\n position: \"relative\",\n paddingStart: {\n default: 4,\n isFirstChild: 0,\n },\n paddingEnd: {\n default: 4,\n isLastChild: 0,\n },\n paddingTop: {\n default: 2,\n isFirstWeek: 0,\n },\n paddingBottom: {\n default: 2,\n isLastWeek: 0,\n },\n display: {\n default: \"flex\",\n isOutsideMonth: \"none\",\n },\n alignItems: \"center\",\n justifyContent: \"center\",\n disableTapHighlight: true,\n});\n\nconst rangeCalendarCellInnerFrame = style({\n position: \"relative\",\n width: \"full\",\n height: \"full\",\n});\n\nconst rangeCalendarCellInner = style<{\n selectionMode: \"range\";\n isSelected?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isDisabled?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isUnavailable?: boolean;\n isInvalid?: boolean;\n}>({\n ...focusRing(),\n transition: {\n default: \"default\",\n forcedColors: \"none\",\n },\n outlineOffset: {\n default: -2,\n isSelected: -2,\n isSelectionStart: 2,\n isSelectionEnd: 2,\n },\n position: \"relative\",\n font: \"body-sm\",\n cursor: \"default\",\n width: \"full\",\n height: \"full\",\n borderRadius: \"full\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n forcedColorAdjust: \"none\",\n backgroundColor: {\n default: \"transparent\",\n isHovered: {\n default: \"gray-100\",\n isUnavailable: \"transparent\",\n },\n isPressed: \"gray-100\",\n isDisabled: \"transparent\",\n isSelected: {\n isHovered: {\n default: \"blue-500\",\n isInvalid: {\n default: \"negative-300\",\n isUnavailable: \"transparent\",\n },\n },\n },\n isSelectionStart: {\n default: lightDark(\"accent-900\", \"accent-700\"),\n isHovered: lightDark(\"accent-1000\", \"accent-800\"),\n isPressed: lightDark(\"accent-1000\", \"accent-800\"),\n isDisabled: \"transparent\",\n isInvalid: {\n default: lightDark(\"negative-900\", \"negative-700\"),\n isHovered: {\n default: lightDark(\"negative-1000\", \"negative-600\"),\n isUnavailable: lightDark(\"negative-900\", \"negative-700\"),\n },\n isPressed: lightDark(\"negative-1000\", \"negative-600\"),\n },\n },\n isSelectionEnd: {\n default: lightDark(\"accent-900\", \"accent-700\"),\n isHovered: lightDark(\"accent-1000\", \"accent-800\"),\n isPressed: lightDark(\"accent-1000\", \"accent-800\"),\n isDisabled: \"transparent\",\n isInvalid: {\n default: lightDark(\"negative-900\", \"negative-700\"),\n isHovered: {\n default: lightDark(\"negative-1000\", \"negative-600\"),\n isUnavailable: lightDark(\"negative-900\", \"negative-700\"),\n },\n isPressed: lightDark(\"negative-1000\", \"negative-600\"),\n },\n },\n forcedColors: {\n default: \"transparent\",\n isHovered: \"Highlight\",\n isSelected: {\n isHovered: \"Highlight\",\n },\n isSelectionStart: \"Highlight\",\n isSelectionEnd: \"Highlight\",\n isUnavailable: \"transparent\",\n },\n },\n color: {\n default: \"neutral\",\n isSelected: \"neutral\",\n isSelectionStart: \"white\",\n isSelectionEnd: \"white\",\n isDisabled: \"disabled\",\n forcedColors: {\n default: \"ButtonText\",\n isSelected: \"HighlightText\",\n isSelectionStart: \"HighlightText\",\n isSelectionEnd: \"HighlightText\",\n isDisabled: \"GrayText\",\n },\n },\n});\n\nconst rangeCalendarTodayDot = style<{ isToday?: boolean }>({\n position: \"absolute\",\n bottom: \"12.5%\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: 4,\n height: 4,\n borderRadius: \"full\",\n backgroundColor: \"[currentColor]\",\n display: {\n default: \"none\",\n isToday: \"block\",\n },\n});\n\nconst rangeCalendarUnavailable = style({\n position: \"absolute\",\n top: \"[calc(50% - 1px)]\",\n left: \"[calc(25% - 1px)]\",\n right: \"[calc(25% - 1px)]\",\n height: 2,\n transform: \"rotate(-16deg)\",\n borderRadius: \"full\",\n backgroundColor: \"[currentColor]\",\n});\n\nconst rangeSelectionBackground = style<{\n isInvalid?: boolean;\n isFirstDayInWeek?: boolean;\n isLastDayInWeek?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isPreviousDayNotSelected?: boolean;\n isNextDayNotSelected?: boolean;\n}>({\n position: \"absolute\",\n zIndex: -1,\n top: 0,\n insetStart: {\n default: -4,\n isFirstDayInWeek: 0,\n isSelectionStart: 0,\n isPreviousDayNotSelected: 0,\n },\n insetEnd: {\n default: -4,\n isLastDayInWeek: 0,\n isSelectionEnd: 0,\n isNextDayNotSelected: 0,\n },\n bottom: 0,\n borderStartRadius: {\n default: \"none\",\n isFirstDayInWeek: \"full\",\n isSelectionStart: \"full\",\n isPreviousDayNotSelected: \"full\",\n },\n borderEndRadius: {\n default: \"none\",\n isLastDayInWeek: \"full\",\n isSelectionEnd: \"full\",\n isNextDayNotSelected: \"full\",\n },\n backgroundColor: {\n default: \"blue-subtle\",\n isInvalid: \"negative-100\",\n forcedColors: {\n default: \"Highlight\",\n },\n },\n forcedColorAdjust: \"none\",\n});\n\nconst rangeSelectionBorder = style<{\n isInvalid?: boolean;\n isFirstDayInWeek?: boolean;\n isLastDayInWeek?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isPreviousDayNotSelected?: boolean;\n isNextDayNotSelected?: boolean;\n}>({\n position: \"absolute\",\n zIndex: 1,\n top: 0,\n insetStart: {\n default: -4,\n isFirstDayInWeek: 0,\n isSelectionStart: 0,\n isPreviousDayNotSelected: 0,\n },\n insetEnd: {\n default: -4,\n isLastDayInWeek: 0,\n isSelectionEnd: 0,\n isNextDayNotSelected: 0,\n },\n bottom: 0,\n borderStartWidth: {\n default: 0,\n isFirstDayInWeek: 1,\n isSelectionStart: 1,\n isPreviousDayNotSelected: 1,\n },\n borderTopWidth: 1,\n borderEndWidth: {\n default: 0,\n isLastDayInWeek: 1,\n isSelectionEnd: 1,\n isNextDayNotSelected: 1,\n },\n borderBottomWidth: 1,\n borderStyle: \"solid\",\n borderColor: {\n default: \"blue-800\",\n isInvalid: \"negative-900\",\n forcedColors: {\n default: \"ButtonText\",\n },\n },\n borderStartRadius: {\n default: \"none\",\n isFirstDayInWeek: \"full\",\n isSelectionStart: \"full\",\n isPreviousDayNotSelected: \"full\",\n },\n borderEndRadius: {\n default: \"none\",\n isLastDayInWeek: \"full\",\n isSelectionEnd: \"full\",\n isNextDayNotSelected: \"full\",\n },\n});\n\nconst rangeCalendarNavIcon = style({\n \"--iconPrimary\": {\n type: \"fill\",\n value: \"currentColor\",\n },\n width: \"[1.4285714285714286em]\",\n height: \"[1.4285714285714286em]\",\n forcedColorAdjust: \"none\",\n});\n\n// Mirrors @react-spectrum/s2 Field helpTextStyles at size M (controlFont() → the\n// base `ui` font), shared with the certified Calendar. `--field-gap` is\n// undefined outside a Field, so paddingTop resolves to 0 here — matching S2's\n// standalone RangeCalendar.\nconst rangeCalendarHelpText = style<{ isInvalid?: boolean; isDisabled?: boolean }>({\n display: \"flex\",\n alignItems: \"baseline\",\n gap: \"text-to-visual\",\n font: \"ui\",\n color: {\n default: \"neutral-subdued\",\n isInvalid: {\n default: \"negative\",\n forcedColors: \"Mark\",\n },\n isDisabled: {\n default: \"disabled\",\n forcedColors: \"GrayText\",\n },\n },\n \"--iconPrimary\": {\n type: \"fill\",\n value: \"currentColor\",\n },\n contain: \"inline-size\",\n paddingTop: \"--field-gap\",\n cursor: {\n default: \"text\",\n isDisabled: \"default\",\n },\n});\n\nfunction RangeCalendarHeading(props: {\n visibleMonths: number;\n locale?: string;\n prevButton: JSX.Element;\n nextButton: JSX.Element;\n}): JSX.Element {\n const state = useRangeCalendarContext();\n const months = () =>\n Array.from({ length: props.visibleMonths }, (_, index) =>\n monthTitle(state.visibleRange().start.add({ months: index }), props.locale, state.timeZone),\n );\n\n return (\n // Mirror @react-spectrum/s2 CalendarHeader (shared with Calendar): one flex\n // row per visible month, laying out [prev button (first month only), title,\n // next button (last month only)]. When a single month is visible both\n // buttons share its row. The per-month title mirrors react-aria-components\n // CalendarHeading, whose HeadingContext marks it aria-hidden (the visible\n // range is already named on the application root + each grid) — so it stays\n // out of the AX tree.\n <For each={months()}>\n {(title, index) => (\n <div class={rangeCalendarHeading}>\n <Show when={index() === 0}>{props.prevButton}</Show>\n <h2 aria-hidden=\"true\" class={rangeCalendarTitle}>\n {title}\n </h2>\n <Show when={index() === props.visibleMonths - 1}>{props.nextButton}</Show>\n </div>\n )}\n </For>\n );\n}\n\nfunction RangeCalendarCellContent(props: {\n cell: RangeCalendarCellRenderProps;\n date: CalendarDate;\n}): JSX.Element {\n const state = useRangeCalendarContext();\n const [innerElement, setInnerElement] = createSignal<HTMLDivElement | null>(null);\n const isSelectionStart = () =>\n props.cell.isSelectionStart && (!props.cell.isUnavailable || props.cell.isInvalid);\n const isSelectionEnd = () =>\n props.cell.isSelectionEnd && (!props.cell.isUnavailable || props.cell.isInvalid);\n const isDateInRange = (date: CalendarDate) => {\n const highlightedRange = state.highlightedRange?.();\n\n if (!highlightedRange) {\n return state.isSelected(date);\n }\n\n if (props.cell.isInvalid) {\n return date.compare(highlightedRange.start) >= 0 && date.compare(highlightedRange.end) <= 0;\n }\n\n return state.isSelected(date);\n };\n const previousDay = () => props.date.subtract({ days: 1 });\n const nextDay = () => props.date.add({ days: 1 });\n const isPreviousDayNotSelected = () =>\n !isDateInRange(previousDay()) || previousDay().month !== props.date.month;\n const isNextDayNotSelected = () =>\n !isDateInRange(nextDay()) || nextDay().month !== props.date.month;\n const selectionStyleState = () => ({\n isInvalid: props.cell.isInvalid,\n isFirstDayInWeek: props.cell.isFirstChild,\n isLastDayInWeek: props.cell.isLastChild,\n isSelectionStart: isSelectionStart(),\n isSelectionEnd: isSelectionEnd(),\n isPreviousDayNotSelected: isPreviousDayNotSelected(),\n isNextDayNotSelected: isNextDayNotSelected(),\n });\n const isBackgroundStyleApplied = () =>\n props.cell.isSelected &&\n (props.cell.isInvalid || !props.cell.isUnavailable) &&\n (isDateInRange(previousDay()) ||\n (nextDay().month === props.date.month && isDateInRange(nextDay())));\n\n return (\n <div class={rangeCalendarCellInnerFrame}>\n <div\n ref={setInnerElement}\n style={pressScale(innerElement, {})(props.cell)}\n class={rangeCalendarCellInner({\n ...props.cell,\n isSelectionStart: isSelectionStart(),\n isSelectionEnd: isSelectionEnd(),\n selectionMode: \"range\",\n })}\n >\n <div class={rangeCalendarTodayDot({ isToday: props.cell.isToday })} role=\"presentation\" />\n <div>{props.cell.formattedDate}</div>\n <Show when={props.cell.isUnavailable}>\n <div class={rangeCalendarUnavailable} role=\"presentation\" />\n </Show>\n </div>\n <Show when={isBackgroundStyleApplied()}>\n <div class={rangeSelectionBackground(selectionStyleState())} role=\"presentation\" />\n </Show>\n <Show when={isBackgroundStyleApplied()}>\n <div class={rangeSelectionBorder(selectionStyleState())} role=\"presentation\" />\n </Show>\n </div>\n );\n}\n\n/**\n * A range calendar displays a grid of days and allows users to select a date range.\n */\nexport function RangeCalendar<T extends DateValue = CalendarDate>(\n props: RangeCalendarProps<T>,\n): JSX.Element {\n const providerProps = useProviderProps(props);\n const contextProps = getSlottedContextProps(useContext(RangeCalendarContext), props.slot);\n const mergedProps = mergeProps(providerProps, contextProps ?? {}, props);\n const providerLocale = useLocale();\n const [local, rest] = splitProps(mergedProps, [\n \"size\",\n \"styles\",\n \"UNSAFE_className\",\n \"UNSAFE_style\",\n \"class\",\n \"aria-label\",\n \"firstDayOfWeek\",\n \"isInvalid\",\n \"validationState\",\n \"errorMessage\",\n \"visibleMonths\",\n \"locale\",\n \"slot\",\n \"ref\",\n ]);\n\n const size = () => normalizeRangeCalendarSize(local.size);\n const sizeConfig = () => sizeStyles[size()];\n const visibleMonths = () => Math.max(1, Number(local.visibleMonths ?? 1));\n const locale = () => local.locale ?? providerLocale().locale;\n const validationState = () =>\n typeof local.validationState === \"function\" ? local.validationState() : local.validationState;\n const isInvalid = () => local.isInvalid || validationState() === \"invalid\";\n const errorMessageId = createUniqueId();\n const mergedStyles = () => mergeContextStyles(contextProps?.styles, props.styles);\n const mergedUnsafeStyle = () =>\n mergeContextUnsafeStyle(contextProps?.UNSAFE_style, props.UNSAFE_style);\n const assignRef = mergeContextRefs(\n (contextProps as { ref?: RefLike<HTMLDivElement> } | null)?.ref,\n props.ref,\n );\n const rootStyle = () => ({\n \"--cell-gap\": \"4px\",\n \"--cell-max-width\": `${sizeConfig().cellMaxWidth}px`,\n \"--cell-responsive-size\": \"var(--cell-max-width)\",\n \"--s2-calendar-cell-max-width\": `${sizeConfig().cellMaxWidth}px`,\n \"--s2-calendar-button-size\": `${sizeConfig().buttonSize}px`,\n \"--s2-calendar-visible-months\": visibleMonths(),\n \"--num-calendars\": visibleMonths(),\n width: \"fit-content\",\n \"max-width\": \"100%\",\n ...(mergedUnsafeStyle() ?? {}),\n });\n const monthOffsets = () => Array.from({ length: visibleMonths() }, (_, index) => index);\n\n return (\n <HeadlessRangeCalendar\n {...rest}\n ref={(element: HTMLDivElement) => assignRef(element)}\n aria-label={local[\"aria-label\"]}\n aria-describedby={rest[\"aria-describedby\"]}\n errorMessage={local.errorMessage}\n errorMessageId={errorMessageId}\n firstDayOfWeek={normalizeFirstDayOfWeek(local.firstDayOfWeek)}\n validationState={isInvalid() ? \"invalid\" : validationState()}\n visibleMonths={visibleMonths()}\n locale={locale()}\n class={[\n contextProps?.UNSAFE_className,\n local.UNSAFE_className,\n local.class,\n rangeCalendarRoot({ isMultiMonth: visibleMonths() > 1 }, mergedStyles()),\n ]\n .filter(Boolean)\n .join(\" \")}\n style={rootStyle()}\n >\n <header class={rangeCalendarHeader}>\n <RangeCalendarHeading\n visibleMonths={visibleMonths()}\n locale={locale()}\n prevButton={\n <RangeCalendarButton\n slot=\"previous\"\n class={rangeCalendarNavButton({ buttonSize: sizeConfig().buttonSize })}\n style={{\n width: `${sizeConfig().buttonSize}px`,\n height: `${sizeConfig().buttonSize}px`,\n }}\n >\n <ChevronLeftIcon styles={rangeCalendarNavIcon} />\n </RangeCalendarButton>\n }\n nextButton={\n <RangeCalendarButton\n slot=\"next\"\n class={rangeCalendarNavButton({ buttonSize: sizeConfig().buttonSize })}\n style={{\n width: `${sizeConfig().buttonSize}px`,\n height: `${sizeConfig().buttonSize}px`,\n }}\n >\n <ChevronRightIcon styles={rangeCalendarNavIcon} />\n </RangeCalendarButton>\n }\n />\n </header>\n\n <div class={rangeCalendarMonths({ isMultiMonth: visibleMonths() > 1 })}>\n <For each={monthOffsets()}>\n {(offset) => (\n <RangeCalendarGrid\n class={rangeCalendarGrid}\n style={{\n width: `${sizeConfig().cellMaxWidth * 7}px`,\n \"table-layout\": \"fixed\",\n }}\n weekdayStyle=\"narrow\"\n headerCellClass={rangeCalendarHeaderCell}\n offset={offset === 0 ? undefined : { months: offset }}\n >\n {(date) => (\n <RangeCalendarCell\n date={date}\n cellClass={rangeCalendarCellWrapper}\n cellStyle={() => cellBoxStyle(size())}\n style={() => cellBoxStyle(size())}\n class={rangeCalendarCellOuter}\n >\n {(cell) => <RangeCalendarCellContent cell={cell} date={date} />}\n </RangeCalendarCell>\n )}\n </RangeCalendarGrid>\n )}\n </For>\n </div>\n\n <Show when={isInvalid() && local.errorMessage}>\n <span\n id={errorMessageId}\n class={rangeCalendarHelpText({ isInvalid: true, isDisabled: Boolean(rest.isDisabled) })}\n >\n {local.errorMessage}\n </span>\n </Show>\n </HeadlessRangeCalendar>\n );\n}\n\nexport type { RangeValue };\n"],"mappings":"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"}
1
+ {"version":3,"file":"RangeCalendar.jsx","names":[],"sources":["../../src/icon/s2wf-icons/ChevronLeftIcon.tsx","../../src/icon/s2wf-icons/ChevronRightIcon.tsx","../../src/calendar/RangeCalendar.tsx"],"sourcesContent":["/*\n * Auto-generated from vendored React Spectrum S2 icon sources.\n * Do not edit by hand.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { createIcon } from \"../spectrum-icon\";\n\nfunction ChevronLeftIconSvg(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element {\n const { class: className, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n {...rest}\n class={className}\n >\n <path\n d=\"M12.237 16.455c-.196 0-.393-.077-.54-.23L6.21 10.52c-.28-.29-.28-.749 0-1.039l5.5-5.716c.287-.3.763-.308 1.06-.02.298.286.308.76.02 1.059l-4.999 5.197 4.986 5.184c.288.297.279.772-.02 1.06-.145.14-.332.21-.52.21\"\n fill=\"var(--iconPrimary, #222)\"\n />\n </svg>\n );\n}\n\nexport type ChevronLeftIconProps = JSX.SvgSVGAttributes<SVGSVGElement>;\nexport const ChevronLeftIcon = createIcon(ChevronLeftIconSvg);\nexport default ChevronLeftIcon;\n","/*\n * Auto-generated from vendored React Spectrum S2 icon sources.\n * Do not edit by hand.\n */\n\nimport { type JSX } from \"solid-js\";\nimport { createIcon } from \"../spectrum-icon\";\n\nfunction ChevronRightIconSvg(props: JSX.SvgSVGAttributes<SVGSVGElement>): JSX.Element {\n const { class: className, ...rest } = props;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n {...rest}\n class={className}\n >\n <path\n d=\"M7.75 16.465c-.187 0-.374-.07-.52-.21-.298-.287-.308-.762-.02-1.06l4.999-5.197-4.986-5.184c-.288-.297-.279-.772.02-1.06.296-.286.774-.278 1.06.021L13.79 9.48c.28.29.28.749 0 1.039l-5.5 5.716c-.146.154-.344.23-.54.23\"\n fill=\"var(--iconPrimary, #222)\"\n />\n </svg>\n );\n}\n\nexport type ChevronRightIconProps = JSX.SvgSVGAttributes<SVGSVGElement>;\nexport const ChevronRightIcon = createIcon(ChevronRightIconSvg);\nexport default ChevronRightIcon;\n","// @ts-nocheck\nimport {\n type JSX,\n For,\n Show,\n createContext,\n createMemo,\n createSignal,\n createUniqueId,\n mergeProps,\n splitProps,\n useContext,\n} from \"solid-js\";\nimport {\n RangeCalendar as HeadlessRangeCalendar,\n RangeCalendarButton,\n RangeCalendarCell,\n RangeCalendarGrid,\n useRangeCalendarContext,\n type CalendarDate,\n type DateValue,\n type RangeCalendarCellRenderProps,\n type RangeValue,\n} from \"@proyecto-viviana/solidaria-components\";\nimport { useLocale } from \"@proyecto-viviana/solidaria\";\nimport { DateFormatter, type RangeCalendarStateProps } from \"@proyecto-viviana/solid-stately\";\nimport type { StyleString } from \"../style\";\nimport {\n baseColor,\n focusRing,\n lightDark,\n setColorScheme,\n style,\n} from \"../style\" with { type: \"macro\" };\nimport ChevronLeftIcon from \"../icon/s2wf-icons/ChevronLeftIcon\";\nimport ChevronRightIcon from \"../icon/s2wf-icons/ChevronRightIcon\";\nimport { pressScale } from \"../pressScale\";\nimport { useProviderProps } from \"../provider\";\nimport type { UnsafeClassName } from \"../s2-internal/style-utils\";\nimport {\n getSlottedContextProps,\n mergeContextRefs,\n mergeContextStyles,\n mergeContextUnsafeStyle,\n type RefLike,\n type SpectrumContextValue,\n} from \"../button/spectrum-context\";\n\nexport type RangeCalendarSize = \"S\" | \"M\" | \"L\" | \"XL\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\ntype NormalizedRangeCalendarSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\nexport type RangeCalendarFirstDayOfWeek = \"sun\" | \"mon\" | \"tue\" | \"wed\" | \"thu\" | \"fri\" | \"sat\";\n\nexport interface RangeCalendarProps<T extends DateValue = DateValue> extends Omit<\n RangeCalendarStateProps<T>,\n \"locale\" | \"firstDayOfWeek\" | \"validationState\"\n> {\n /** The size of the calendar. @default 'md' */\n size?: RangeCalendarSize;\n /** Spectrum-defined generated classes. */\n styles?: StyleString | (() => StyleString | undefined);\n /** Additional CSS class name. Use only as a last resort. */\n UNSAFE_className?: UnsafeClassName | string;\n /** Additional inline styles. Use only as a last resort. */\n UNSAFE_style?: JSX.CSSProperties;\n /** Additional CSS class name. */\n class?: string;\n /** The locale to use for formatting. */\n locale?: string;\n /** The day that starts the week. */\n firstDayOfWeek?: RangeCalendarFirstDayOfWeek | 0 | 1 | 2 | 3 | 4 | 5 | 6;\n /** Whether the current selection is invalid according to application logic. */\n isInvalid?: boolean;\n /** Validation state for backward-compatible Solid Stately callers. */\n validationState?: RangeCalendarStateProps<T>[\"validationState\"];\n /** The error message to display when the range calendar is invalid. */\n errorMessage?: JSX.Element;\n /** Custom aria label. */\n \"aria-label\"?: string;\n slot?: string | null;\n ref?: RefLike<HTMLDivElement>;\n}\n\nexport const RangeCalendarContext =\n createContext<SpectrumContextValue<RangeCalendarProps<any>>>(null);\n\nconst sizeStyles: Record<\n NormalizedRangeCalendarSize,\n { cellMaxWidth: number; buttonSize: number }\n> = {\n sm: {\n cellMaxWidth: 32,\n buttonSize: 24,\n },\n md: {\n cellMaxWidth: 32,\n buttonSize: 32,\n },\n lg: {\n cellMaxWidth: 40,\n buttonSize: 40,\n },\n xl: {\n cellMaxWidth: 44,\n buttonSize: 44,\n },\n};\n\nfunction cellBoxStyle(size: NormalizedRangeCalendarSize): JSX.CSSProperties {\n const cellSize = `${sizeStyles[size].cellMaxWidth}px`;\n return {\n width: cellSize,\n height: cellSize,\n };\n}\n\nfunction normalizeRangeCalendarSize(\n size: RangeCalendarSize | undefined,\n): NormalizedRangeCalendarSize {\n switch (size) {\n case \"S\":\n case \"sm\":\n return \"sm\";\n case \"L\":\n case \"lg\":\n return \"lg\";\n case \"XL\":\n case \"xl\":\n return \"xl\";\n case \"M\":\n case \"md\":\n default:\n return \"md\";\n }\n}\n\nfunction normalizeFirstDayOfWeek(\n firstDayOfWeek: RangeCalendarFirstDayOfWeek | 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined,\n): 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined {\n switch (firstDayOfWeek) {\n case \"sun\":\n return 0;\n case \"mon\":\n return 1;\n case \"tue\":\n return 2;\n case \"wed\":\n return 3;\n case \"thu\":\n return 4;\n case \"fri\":\n return 5;\n case \"sat\":\n return 6;\n default:\n return firstDayOfWeek;\n }\n}\n\nfunction monthTitle(date: CalendarDate, locale: string | undefined, timeZone: string): string {\n const formattableMonth = date.calendar.getFormattableMonth?.(date) ?? date;\n return new DateFormatter(locale ?? \"en-US\", {\n month: \"long\",\n year: \"numeric\",\n calendar: date.calendar.identifier,\n }).format(formattableMonth.toDate(timeZone));\n}\n\nconst rangeCalendarRoot = style<{ isMultiMonth?: boolean }>({\n ...setColorScheme(),\n display: \"flex\",\n flexDirection: \"column\",\n gap: 24,\n disableTapHighlight: true,\n \"--cell-gap\": {\n type: \"paddingStart\",\n value: 4,\n },\n \"--cell-responsive-size\": \"--s2-calendar-cell-max-width\",\n width: \"fit\",\n});\n\n// Mirrors @react-spectrum/s2 Calendar headerStyles (shared with Calendar).\nconst rangeCalendarHeader = style({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n columnGap: 24,\n});\n\n// Mirrors @react-spectrum/s2 Calendar headingStyles: one per visible month,\n// laying out [prev button?, title, next button?] with the title flex-growing.\nconst rangeCalendarHeading = style({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n margin: 0,\n flexGrow: 1,\n width: \"full\",\n});\n\n// Mirrors @react-spectrum/s2 Calendar titleStyles.\nconst rangeCalendarTitle = style({\n font: \"title-lg\",\n textAlign: \"center\",\n flexGrow: 1,\n flexShrink: 0,\n marginY: 0,\n});\n\nconst rangeCalendarMonths = style<{ isMultiMonth?: boolean }>({\n display: \"flex\",\n flexDirection: \"row\",\n gap: {\n default: 0,\n isMultiMonth: 24,\n },\n alignItems: \"start\",\n width: \"[max-content]\",\n});\n\n// Mirrors @react-spectrum/s2 Calendar navButton (shared with Calendar). A bare\n// native <button> (via the headless RangeCalendarButton), so the disabled gray\n// keys off the `:disabled` pseudo — the button carries the `disabled` attribute\n// for both whole-calendar and range-boundary disable — rather than a runtime\n// render prop. The chevron icon inherits it via `--iconPrimary: currentColor`.\nconst rangeCalendarNavButton = style<{ buttonSize: number }>({\n ...focusRing(),\n font: \"ui\",\n fontWeight: \"medium\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"[var(--s2-calendar-button-size)]\",\n height: \"[var(--s2-calendar-button-size)]\",\n borderStyle: \"none\",\n borderRadius: \"full\",\n backgroundColor: {\n default: \"transparent\",\n isHovered: baseColor(\"gray-100\"),\n isPressed: baseColor(\"gray-200\"),\n },\n color: {\n default: baseColor(\"neutral\"),\n \":disabled\": \"disabled\",\n },\n cursor: \"default\",\n transition: \"default\",\n});\n\nconst rangeCalendarGrid = style({\n borderCollapse: \"collapse\",\n borderSpacing: 0,\n isolation: \"isolate\",\n tableLayout: \"fixed\",\n});\n\nconst rangeCalendarHeaderCell = style({\n boxSizing: \"border-box\",\n font: \"title-sm\",\n cursor: \"default\",\n textAlign: \"center\",\n width: \"--cell-responsive-size\",\n paddingStart: {\n default: 4,\n \":first-child\": 0,\n },\n paddingEnd: {\n default: 4,\n \":last-child\": 0,\n },\n paddingTop: 0,\n paddingBottom: 12,\n});\n\nconst rangeCalendarCellWrapper = style({\n outlineStyle: \"none\",\n boxSizing: \"border-box\",\n paddingStart: 0,\n paddingEnd: 0,\n paddingTop: 0,\n paddingBottom: 0,\n position: \"relative\",\n disableTapHighlight: true,\n width: \"--cell-responsive-size\",\n height: \"--cell-responsive-size\",\n});\n\nconst rangeCalendarCellOuter = style<{\n isOutsideMonth?: boolean;\n isFirstChild?: boolean;\n isLastChild?: boolean;\n isFirstWeek?: boolean;\n isLastWeek?: boolean;\n}>({\n outlineStyle: \"none\",\n boxSizing: \"border-box\",\n position: \"relative\",\n paddingStart: {\n default: 4,\n isFirstChild: 0,\n },\n paddingEnd: {\n default: 4,\n isLastChild: 0,\n },\n paddingTop: {\n default: 2,\n isFirstWeek: 0,\n },\n paddingBottom: {\n default: 2,\n isLastWeek: 0,\n },\n display: {\n default: \"flex\",\n isOutsideMonth: \"none\",\n },\n alignItems: \"center\",\n justifyContent: \"center\",\n disableTapHighlight: true,\n});\n\nconst rangeCalendarCellInnerFrame = style({\n position: \"relative\",\n width: \"full\",\n height: \"full\",\n});\n\nconst rangeCalendarCellInner = style<{\n selectionMode: \"range\";\n isSelected?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isDisabled?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isUnavailable?: boolean;\n isInvalid?: boolean;\n}>({\n ...focusRing(),\n transition: {\n default: \"default\",\n forcedColors: \"none\",\n },\n outlineOffset: {\n default: -2,\n isSelected: -2,\n isSelectionStart: 2,\n isSelectionEnd: 2,\n },\n position: \"relative\",\n font: \"body-sm\",\n cursor: \"default\",\n width: \"full\",\n height: \"full\",\n borderRadius: \"full\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n forcedColorAdjust: \"none\",\n backgroundColor: {\n default: \"transparent\",\n isHovered: {\n default: \"gray-100\",\n isUnavailable: \"transparent\",\n },\n isPressed: \"gray-100\",\n isDisabled: \"transparent\",\n isSelected: {\n isHovered: {\n default: \"blue-500\",\n isInvalid: {\n default: \"negative-300\",\n isUnavailable: \"transparent\",\n },\n },\n },\n isSelectionStart: {\n default: \"interactive-fill\",\n isHovered: lightDark(\"accent-1000\", \"accent-600\"),\n isPressed: lightDark(\"accent-1000\", \"accent-600\"),\n isDisabled: \"transparent\",\n isInvalid: {\n default: lightDark(\"negative-900\", \"negative-700\"),\n isHovered: {\n default: lightDark(\"negative-1000\", \"negative-600\"),\n isUnavailable: lightDark(\"negative-900\", \"negative-700\"),\n },\n isPressed: lightDark(\"negative-1000\", \"negative-600\"),\n },\n },\n isSelectionEnd: {\n default: \"interactive-fill\",\n isHovered: lightDark(\"accent-1000\", \"accent-600\"),\n isPressed: lightDark(\"accent-1000\", \"accent-600\"),\n isDisabled: \"transparent\",\n isInvalid: {\n default: lightDark(\"negative-900\", \"negative-700\"),\n isHovered: {\n default: lightDark(\"negative-1000\", \"negative-600\"),\n isUnavailable: lightDark(\"negative-900\", \"negative-700\"),\n },\n isPressed: lightDark(\"negative-1000\", \"negative-600\"),\n },\n },\n forcedColors: {\n default: \"transparent\",\n isHovered: \"Highlight\",\n isSelected: {\n isHovered: \"Highlight\",\n },\n isSelectionStart: \"Highlight\",\n isSelectionEnd: \"Highlight\",\n isUnavailable: \"transparent\",\n },\n },\n color: {\n default: \"neutral\",\n isSelected: \"neutral\",\n isSelectionStart: \"white\",\n isSelectionEnd: \"white\",\n isDisabled: \"disabled\",\n forcedColors: {\n default: \"ButtonText\",\n isSelected: \"HighlightText\",\n isSelectionStart: \"HighlightText\",\n isSelectionEnd: \"HighlightText\",\n isDisabled: \"GrayText\",\n },\n },\n});\n\nconst rangeCalendarTodayDot = style<{ isToday?: boolean }>({\n position: \"absolute\",\n bottom: \"12.5%\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: 4,\n height: 4,\n borderRadius: \"full\",\n backgroundColor: \"[currentColor]\",\n display: {\n default: \"none\",\n isToday: \"block\",\n },\n});\n\nconst rangeCalendarUnavailable = style({\n position: \"absolute\",\n top: \"[calc(50% - 1px)]\",\n left: \"[calc(25% - 1px)]\",\n right: \"[calc(25% - 1px)]\",\n height: 2,\n transform: \"rotate(-16deg)\",\n borderRadius: \"full\",\n backgroundColor: \"[currentColor]\",\n});\n\nconst rangeSelectionBackground = style<{\n isInvalid?: boolean;\n isFirstDayInWeek?: boolean;\n isLastDayInWeek?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isPreviousDayNotSelected?: boolean;\n isNextDayNotSelected?: boolean;\n}>({\n position: \"absolute\",\n zIndex: -1,\n top: 0,\n insetStart: {\n default: -4,\n isFirstDayInWeek: 0,\n isSelectionStart: 0,\n isPreviousDayNotSelected: 0,\n },\n insetEnd: {\n default: -4,\n isLastDayInWeek: 0,\n isSelectionEnd: 0,\n isNextDayNotSelected: 0,\n },\n bottom: 0,\n borderStartRadius: {\n default: \"none\",\n isFirstDayInWeek: \"full\",\n isSelectionStart: \"full\",\n isPreviousDayNotSelected: \"full\",\n },\n borderEndRadius: {\n default: \"none\",\n isLastDayInWeek: \"full\",\n isSelectionEnd: \"full\",\n isNextDayNotSelected: \"full\",\n },\n backgroundColor: {\n default: \"blue-subtle\",\n isInvalid: \"negative-100\",\n forcedColors: {\n default: \"Highlight\",\n },\n },\n forcedColorAdjust: \"none\",\n});\n\nconst rangeSelectionBorder = style<{\n isInvalid?: boolean;\n isFirstDayInWeek?: boolean;\n isLastDayInWeek?: boolean;\n isSelectionStart?: boolean;\n isSelectionEnd?: boolean;\n isPreviousDayNotSelected?: boolean;\n isNextDayNotSelected?: boolean;\n}>({\n position: \"absolute\",\n zIndex: 1,\n top: 0,\n insetStart: {\n default: -4,\n isFirstDayInWeek: 0,\n isSelectionStart: 0,\n isPreviousDayNotSelected: 0,\n },\n insetEnd: {\n default: -4,\n isLastDayInWeek: 0,\n isSelectionEnd: 0,\n isNextDayNotSelected: 0,\n },\n bottom: 0,\n borderStartWidth: {\n default: 0,\n isFirstDayInWeek: 1,\n isSelectionStart: 1,\n isPreviousDayNotSelected: 1,\n },\n borderTopWidth: 1,\n borderEndWidth: {\n default: 0,\n isLastDayInWeek: 1,\n isSelectionEnd: 1,\n isNextDayNotSelected: 1,\n },\n borderBottomWidth: 1,\n borderStyle: \"solid\",\n borderColor: {\n default: \"blue-800\",\n isInvalid: \"negative-900\",\n forcedColors: {\n default: \"ButtonText\",\n },\n },\n borderStartRadius: {\n default: \"none\",\n isFirstDayInWeek: \"full\",\n isSelectionStart: \"full\",\n isPreviousDayNotSelected: \"full\",\n },\n borderEndRadius: {\n default: \"none\",\n isLastDayInWeek: \"full\",\n isSelectionEnd: \"full\",\n isNextDayNotSelected: \"full\",\n },\n});\n\nconst rangeCalendarNavIcon = style({\n \"--iconPrimary\": {\n type: \"fill\",\n value: \"currentColor\",\n },\n width: \"[1.4285714285714286em]\",\n height: \"[1.4285714285714286em]\",\n forcedColorAdjust: \"none\",\n});\n\n// Mirrors @react-spectrum/s2 Field helpTextStyles at size M (controlFont() → the\n// base `ui` font), shared with the certified Calendar. `--field-gap` is\n// undefined outside a Field, so paddingTop resolves to 0 here — matching S2's\n// standalone RangeCalendar.\nconst rangeCalendarHelpText = style<{ isInvalid?: boolean; isDisabled?: boolean }>({\n display: \"flex\",\n alignItems: \"baseline\",\n gap: \"text-to-visual\",\n font: \"ui\",\n color: {\n default: \"neutral-subdued\",\n isInvalid: {\n default: \"negative\",\n forcedColors: \"Mark\",\n },\n isDisabled: {\n default: \"disabled\",\n forcedColors: \"GrayText\",\n },\n },\n \"--iconPrimary\": {\n type: \"fill\",\n value: \"currentColor\",\n },\n contain: \"inline-size\",\n paddingTop: \"--field-gap\",\n cursor: {\n default: \"text\",\n isDisabled: \"default\",\n },\n});\n\nfunction RangeCalendarHeading(props: {\n visibleMonths: number;\n locale?: string;\n prevButton: JSX.Element;\n nextButton: JSX.Element;\n}): JSX.Element {\n const state = useRangeCalendarContext();\n const months = () =>\n Array.from({ length: props.visibleMonths }, (_, index) =>\n monthTitle(state.visibleRange().start.add({ months: index }), props.locale, state.timeZone),\n );\n\n return (\n // Mirror @react-spectrum/s2 CalendarHeader (shared with Calendar): one flex\n // row per visible month, laying out [prev button (first month only), title,\n // next button (last month only)]. When a single month is visible both\n // buttons share its row. The per-month title mirrors react-aria-components\n // CalendarHeading, whose HeadingContext marks it aria-hidden (the visible\n // range is already named on the application root + each grid) — so it stays\n // out of the AX tree.\n <For each={months()}>\n {(title, index) => (\n <div class={rangeCalendarHeading}>\n <Show when={index() === 0}>{props.prevButton}</Show>\n <h2 aria-hidden=\"true\" class={rangeCalendarTitle}>\n {title}\n </h2>\n <Show when={index() === props.visibleMonths - 1}>{props.nextButton}</Show>\n </div>\n )}\n </For>\n );\n}\n\nfunction RangeCalendarCellContent(props: {\n cell: RangeCalendarCellRenderProps;\n date: CalendarDate;\n}): JSX.Element {\n const state = useRangeCalendarContext();\n const [innerElement, setInnerElement] = createSignal<HTMLDivElement | null>(null);\n const isSelectionStart = () =>\n props.cell.isSelectionStart && (!props.cell.isUnavailable || props.cell.isInvalid);\n const isSelectionEnd = () =>\n props.cell.isSelectionEnd && (!props.cell.isUnavailable || props.cell.isInvalid);\n const isDateInRange = (date: CalendarDate) => {\n const highlightedRange = state.highlightedRange?.();\n\n if (!highlightedRange) {\n return state.isSelected(date);\n }\n\n if (props.cell.isInvalid) {\n return date.compare(highlightedRange.start) >= 0 && date.compare(highlightedRange.end) <= 0;\n }\n\n return state.isSelected(date);\n };\n const previousDay = () => props.date.subtract({ days: 1 });\n const nextDay = () => props.date.add({ days: 1 });\n const isPreviousDayNotSelected = () =>\n !isDateInRange(previousDay()) || previousDay().month !== props.date.month;\n const isNextDayNotSelected = () =>\n !isDateInRange(nextDay()) || nextDay().month !== props.date.month;\n const selectionStyleState = () => ({\n isInvalid: props.cell.isInvalid,\n isFirstDayInWeek: props.cell.isFirstChild,\n isLastDayInWeek: props.cell.isLastChild,\n isSelectionStart: isSelectionStart(),\n isSelectionEnd: isSelectionEnd(),\n isPreviousDayNotSelected: isPreviousDayNotSelected(),\n isNextDayNotSelected: isNextDayNotSelected(),\n });\n const isBackgroundStyleApplied = () =>\n props.cell.isSelected &&\n (props.cell.isInvalid || !props.cell.isUnavailable) &&\n (isDateInRange(previousDay()) ||\n (nextDay().month === props.date.month && isDateInRange(nextDay())));\n\n return (\n <div class={rangeCalendarCellInnerFrame}>\n <div\n ref={setInnerElement}\n style={pressScale(innerElement, {})(props.cell)}\n class={rangeCalendarCellInner({\n ...props.cell,\n isSelectionStart: isSelectionStart(),\n isSelectionEnd: isSelectionEnd(),\n selectionMode: \"range\",\n })}\n >\n <div class={rangeCalendarTodayDot({ isToday: props.cell.isToday })} role=\"presentation\" />\n <div>{props.cell.formattedDate}</div>\n <Show when={props.cell.isUnavailable}>\n <div class={rangeCalendarUnavailable} role=\"presentation\" />\n </Show>\n </div>\n <Show when={isBackgroundStyleApplied()}>\n <div class={rangeSelectionBackground(selectionStyleState())} role=\"presentation\" />\n </Show>\n <Show when={isBackgroundStyleApplied()}>\n <div class={rangeSelectionBorder(selectionStyleState())} role=\"presentation\" />\n </Show>\n </div>\n );\n}\n\n/**\n * A range calendar displays a grid of days and allows users to select a date range.\n */\nexport function RangeCalendar<T extends DateValue = CalendarDate>(\n props: RangeCalendarProps<T>,\n): JSX.Element {\n const providerProps = useProviderProps(props);\n const contextProps = getSlottedContextProps(useContext(RangeCalendarContext), props.slot);\n const mergedProps = mergeProps(providerProps, contextProps ?? {}, props);\n const providerLocale = useLocale();\n const [local, rest] = splitProps(mergedProps, [\n \"size\",\n \"styles\",\n \"UNSAFE_className\",\n \"UNSAFE_style\",\n \"class\",\n \"aria-label\",\n \"firstDayOfWeek\",\n \"isInvalid\",\n \"validationState\",\n \"errorMessage\",\n \"visibleMonths\",\n \"locale\",\n \"slot\",\n \"ref\",\n ]);\n\n const size = () => normalizeRangeCalendarSize(local.size);\n const sizeConfig = () => sizeStyles[size()];\n const visibleMonths = () => Math.max(1, Number(local.visibleMonths ?? 1));\n const locale = () => local.locale ?? providerLocale().locale;\n const validationState = () =>\n typeof local.validationState === \"function\" ? local.validationState() : local.validationState;\n const isInvalid = () => local.isInvalid || validationState() === \"invalid\";\n const errorMessageId = createUniqueId();\n const mergedStyles = () => mergeContextStyles(contextProps?.styles, props.styles);\n const mergedUnsafeStyle = () =>\n mergeContextUnsafeStyle(contextProps?.UNSAFE_style, props.UNSAFE_style);\n const assignRef = mergeContextRefs(\n (contextProps as { ref?: RefLike<HTMLDivElement> } | null)?.ref,\n props.ref,\n );\n const rootStyle = () => ({\n \"--cell-gap\": \"4px\",\n \"--cell-max-width\": `${sizeConfig().cellMaxWidth}px`,\n \"--cell-responsive-size\": \"var(--cell-max-width)\",\n \"--s2-calendar-cell-max-width\": `${sizeConfig().cellMaxWidth}px`,\n \"--s2-calendar-button-size\": `${sizeConfig().buttonSize}px`,\n \"--s2-calendar-visible-months\": visibleMonths(),\n \"--num-calendars\": visibleMonths(),\n width: \"fit-content\",\n \"max-width\": \"100%\",\n ...(mergedUnsafeStyle() ?? {}),\n });\n const monthOffsets = () => Array.from({ length: visibleMonths() }, (_, index) => index);\n\n return (\n <HeadlessRangeCalendar\n {...rest}\n ref={(element: HTMLDivElement) => assignRef(element)}\n aria-label={local[\"aria-label\"]}\n aria-describedby={rest[\"aria-describedby\"]}\n errorMessage={local.errorMessage}\n errorMessageId={errorMessageId}\n firstDayOfWeek={normalizeFirstDayOfWeek(local.firstDayOfWeek)}\n validationState={isInvalid() ? \"invalid\" : validationState()}\n visibleMonths={visibleMonths()}\n locale={locale()}\n class={[\n contextProps?.UNSAFE_className,\n local.UNSAFE_className,\n local.class,\n rangeCalendarRoot({ isMultiMonth: visibleMonths() > 1 }, mergedStyles()),\n ]\n .filter(Boolean)\n .join(\" \")}\n style={rootStyle()}\n >\n <header class={rangeCalendarHeader}>\n <RangeCalendarHeading\n visibleMonths={visibleMonths()}\n locale={locale()}\n prevButton={\n <RangeCalendarButton\n slot=\"previous\"\n class={rangeCalendarNavButton({ buttonSize: sizeConfig().buttonSize })}\n style={{\n width: `${sizeConfig().buttonSize}px`,\n height: `${sizeConfig().buttonSize}px`,\n }}\n >\n <ChevronLeftIcon styles={rangeCalendarNavIcon} />\n </RangeCalendarButton>\n }\n nextButton={\n <RangeCalendarButton\n slot=\"next\"\n class={rangeCalendarNavButton({ buttonSize: sizeConfig().buttonSize })}\n style={{\n width: `${sizeConfig().buttonSize}px`,\n height: `${sizeConfig().buttonSize}px`,\n }}\n >\n <ChevronRightIcon styles={rangeCalendarNavIcon} />\n </RangeCalendarButton>\n }\n />\n </header>\n\n <div class={rangeCalendarMonths({ isMultiMonth: visibleMonths() > 1 })}>\n <For each={monthOffsets()}>\n {(offset) => (\n <RangeCalendarGrid\n class={rangeCalendarGrid}\n style={{\n width: `${sizeConfig().cellMaxWidth * 7}px`,\n \"table-layout\": \"fixed\",\n }}\n weekdayStyle=\"narrow\"\n headerCellClass={rangeCalendarHeaderCell}\n offset={offset === 0 ? undefined : { months: offset }}\n >\n {(date) => (\n <RangeCalendarCell\n date={date}\n cellClass={rangeCalendarCellWrapper}\n cellStyle={() => cellBoxStyle(size())}\n style={() => cellBoxStyle(size())}\n class={rangeCalendarCellOuter}\n >\n {(cell) => <RangeCalendarCellContent cell={cell} date={date} />}\n </RangeCalendarCell>\n )}\n </RangeCalendarGrid>\n )}\n </For>\n </div>\n\n <Show when={isInvalid() && local.errorMessage}>\n <span\n id={errorMessageId}\n class={rangeCalendarHelpText({ isInvalid: true, isDisabled: Boolean(rest.isDisabled) })}\n >\n {local.errorMessage}\n </span>\n </Show>\n </HeadlessRangeCalendar>\n );\n}\n\nexport type { RangeValue };\n"],"mappings":"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"}
@@ -563,7 +563,7 @@ const tab = function anonymous(props) {
563
563
  else if (props.isPressed) rules += " pQKeKoe151";
564
564
  else if (props.isFocusVisible) rules += " pQKeKoe151";
565
565
  else if (props.isHovered) rules += " pQKeKoe151";
566
- else rules += " pUUi0Fe151";
566
+ else rules += " pWQ7V3d151";
567
567
  if (props.isDisabled) rules += " plc151";
568
568
  else if (props.isSelected) rules += " pld151";
569
569
  rules += " ri151";
@@ -599,7 +599,7 @@ const tabIndicator = function anonymous(props) {
599
599
  rules += " _Pa151";
600
600
  rules += " _Ob151";
601
601
  if (props.isDisabled) rules += " gkDWoNd151";
602
- else rules += " gdeCgNc151";
602
+ else rules += " gnhAeB151";
603
603
  if (props.isDisabled) rules += " gld151";
604
604
  else rules += " gle151";
605
605
  rules += " og151";
@@ -467,7 +467,7 @@ const tab = function anonymous(props) {
467
467
  else if (props.isPressed) rules += " pQKeKoe151";
468
468
  else if (props.isFocusVisible) rules += " pQKeKoe151";
469
469
  else if (props.isHovered) rules += " pQKeKoe151";
470
- else rules += " pUUi0Fe151";
470
+ else rules += " pWQ7V3d151";
471
471
  if (props.isDisabled) rules += " plc151";
472
472
  else if (props.isSelected) rules += " pld151";
473
473
  rules += " ri151";
@@ -503,7 +503,7 @@ const tabIndicator = function anonymous(props) {
503
503
  rules += " _Pa151";
504
504
  rules += " _Ob151";
505
505
  if (props.isDisabled) rules += " gkDWoNd151";
506
- else rules += " gdeCgNc151";
506
+ else rules += " gnhAeB151";
507
507
  if (props.isDisabled) rules += " gld151";
508
508
  else rules += " gle151";
509
509
  rules += " og151";
@@ -165,11 +165,11 @@ const breadcrumbStyles = function anonymous(props) {
165
165
  else if (props.isDisabled) if (props.isPressed) rules += " pQKeKoe151";
166
166
  else if (props.isFocusVisible) rules += " pQKeKoe151";
167
167
  else if (props.isHovered) rules += " pQKeKoe151";
168
- else rules += " pUUi0Fe151";
168
+ else rules += " pWQ7V3d151";
169
169
  else if (props.isPressed) rules += " pQKeKoe151";
170
170
  else if (props.isFocusVisible) rules += " pQKeKoe151";
171
171
  else if (props.isHovered) rules += " pQKeKoe151";
172
- else rules += " pUUi0Fe151";
172
+ else rules += " pWQ7V3d151";
173
173
  if (props.isCurrent) rules += " plc151";
174
174
  else if (props.isDisabled) rules += " plc151";
175
175
  else rules += " plf151";