@proyecto-viviana/ui 0.6.2 → 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.
- package/dist/_chunk/LinkButton.js +9 -9
- package/dist/_chunk/LinkButton.js.map +1 -1
- package/dist/_chunk/LinkButton.jsx +9 -9
- package/dist/_chunk/LinkButton.jsx.map +1 -1
- package/dist/_chunk/RangeCalendar.js +7 -7
- package/dist/_chunk/RangeCalendar.js.map +1 -1
- package/dist/_chunk/RangeCalendar.jsx +7 -7
- package/dist/_chunk/RangeCalendar.jsx.map +1 -1
- package/dist/_chunk/Tabs.js +2 -2
- package/dist/_chunk/Tabs.jsx +2 -2
- package/dist/_chunk/breadcrumbs.js +2 -2
- package/dist/_chunk/breadcrumbs.js.map +1 -1
- package/dist/_chunk/breadcrumbs.jsx +2 -2
- package/dist/_chunk/breadcrumbs.jsx.map +1 -1
- package/dist/_chunk/button.js +3 -3
- package/dist/_chunk/button.jsx +3 -3
- package/dist/_chunk/color.js +4 -4
- package/dist/_chunk/color.jsx +4 -4
- package/dist/_chunk/form.js +5 -7
- package/dist/_chunk/form.js.map +1 -1
- package/dist/_chunk/form.jsx +5 -8
- package/dist/_chunk/form.jsx.map +1 -1
- package/dist/_chunk/layout.js +5 -1
- package/dist/_chunk/layout.js.map +1 -1
- package/dist/_chunk/layout.jsx +5 -1
- package/dist/_chunk/layout.jsx.map +1 -1
- package/dist/_chunk/list.js +4 -4
- package/dist/_chunk/list.jsx +4 -4
- package/dist/_chunk/menu.js +1 -1
- package/dist/_chunk/menu.js.map +1 -1
- package/dist/_chunk/menu.jsx +1 -1
- package/dist/_chunk/menu.jsx.map +1 -1
- package/dist/_chunk/numberfield.js +2 -2
- package/dist/_chunk/numberfield.jsx +2 -2
- package/dist/_chunk/s2-action-button-styles.js +8 -8
- package/dist/_chunk/s2-action-button-styles.js.map +1 -1
- package/dist/_chunk/s2-action-button-styles.jsx +8 -8
- package/dist/_chunk/s2-action-button-styles.jsx.map +1 -1
- package/dist/_chunk/s2-menu-styles.js +1 -1
- package/dist/_chunk/s2-menu-styles.jsx +1 -1
- package/dist/_chunk/slider.js +6 -6
- package/dist/_chunk/slider.jsx +6 -6
- package/dist/_chunk/switch.js +2 -2
- package/dist/_chunk/switch.jsx +2 -2
- package/dist/_chunk/table.js +3 -3
- package/dist/_chunk/table.js.map +1 -1
- package/dist/_chunk/table.jsx +3 -3
- package/dist/_chunk/table.jsx.map +1 -1
- package/dist/_chunk/text.js +1 -1
- package/dist/_chunk/text.jsx +1 -1
- package/dist/_chunk/textfield.js +4 -4
- package/dist/_chunk/textfield.jsx +4 -4
- package/dist/_chunk/toast.js +3 -3
- package/dist/_chunk/toast.jsx +3 -3
- package/dist/actiongroup/index.js +2 -2
- package/dist/actiongroup/index.jsx +2 -2
- package/dist/badge/index.js +6 -6
- package/dist/badge/index.jsx +6 -6
- package/dist/breadcrumbs/index.d.ts.map +1 -1
- package/dist/calendar/DateField.d.ts.map +1 -1
- package/dist/calendar/DateField.js +2 -2
- package/dist/calendar/DateField.js.map +1 -1
- package/dist/calendar/DateField.jsx +2 -2
- package/dist/calendar/DateField.jsx.map +1 -1
- package/dist/calendar/DatePicker.d.ts.map +1 -1
- package/dist/calendar/DatePicker.js +2 -2
- package/dist/calendar/DatePicker.js.map +1 -1
- package/dist/calendar/DatePicker.jsx +2 -2
- package/dist/calendar/DatePicker.jsx.map +1 -1
- package/dist/calendar/DateRangePicker.js +2 -2
- package/dist/calendar/DateRangePicker.jsx +2 -2
- package/dist/calendar/RangeCalendar.d.ts.map +1 -1
- package/dist/calendar/TimeField.d.ts.map +1 -1
- package/dist/calendar/TimeField.js +2 -2
- package/dist/calendar/TimeField.js.map +1 -1
- package/dist/calendar/TimeField.jsx +2 -2
- package/dist/calendar/TimeField.jsx.map +1 -1
- package/dist/calendar/index.js +5 -5
- package/dist/calendar/index.js.map +1 -1
- package/dist/calendar/index.jsx +5 -5
- package/dist/calendar/index.jsx.map +1 -1
- package/dist/checkbox/index.js +3 -3
- package/dist/checkbox/index.jsx +3 -3
- package/dist/combobox/index.js +2 -2
- package/dist/combobox/index.jsx +2 -2
- package/dist/dropzone/index.js +1 -1
- package/dist/dropzone/index.jsx +1 -1
- package/dist/form/index.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelChartIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelChartIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelChartIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelCheckIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelCheckIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelCheckIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelChevronDownIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelChevronDownIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelChevronDownIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelChevronRightIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelChevronRightIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelChevronRightIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelClockIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelClockIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelClockIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelCodeIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelCodeIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelCodeIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelCommunityIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelCommunityIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelCommunityIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelCubeIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelCubeIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelCubeIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelFlameIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelFlameIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelFlameIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelHomeIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelHomeIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelHomeIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelLayoutIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelLayoutIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelLayoutIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelMessageIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelMessageIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelMessageIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavCommunityIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavCommunityIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavCommunityIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavExploreIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavExploreIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavExploreIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavLiveIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavLiveIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavLiveIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavPathwaysIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavPathwaysIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavPathwaysIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavPlaygroundIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavPlaygroundIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavPlaygroundIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavProjectsIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavProjectsIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavProjectsIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavReferenceIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavReferenceIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavReferenceIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavSettingsIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavSettingsIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavSettingsIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNavTopicsIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNavTopicsIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNavTopicsIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelNotificationIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelNotificationIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelNotificationIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelPathwaysIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelPathwaysIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelPathwaysIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelPlayIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelPlayIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelPlayIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelSearchIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelSearchIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelSearchIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelSettingsIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelSettingsIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelSettingsIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelSparkleIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelSparkleIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelSparkleIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelTopicsIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelTopicsIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelTopicsIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelUserIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelUserIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelUserIcon.jsx.map +1 -1
- package/dist/icon/pixel-icons/PixelZapIcon.d.ts.map +1 -1
- package/dist/icon/pixel-icons/PixelZapIcon.js.map +1 -1
- package/dist/icon/pixel-icons/PixelZapIcon.jsx.map +1 -1
- package/dist/inlinealert/index.js +6 -6
- package/dist/inlinealert/index.jsx +6 -6
- package/dist/labeledvalue/index.js +1 -1
- package/dist/labeledvalue/index.jsx +1 -1
- package/dist/layout/Flex.d.ts +2 -0
- package/dist/layout/Flex.d.ts.map +1 -1
- package/dist/link/index.d.ts.map +1 -1
- package/dist/link/index.js +1 -4
- package/dist/link/index.js.map +1 -1
- package/dist/link/index.jsx +1 -4
- package/dist/link/index.jsx.map +1 -1
- package/dist/listbox/index.js +3 -3
- package/dist/listbox/index.jsx +4 -4
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/meter/index.d.ts.map +1 -1
- package/dist/meter/index.js +2 -2
- package/dist/meter/index.js.map +1 -1
- package/dist/meter/index.jsx +2 -2
- package/dist/meter/index.jsx.map +1 -1
- package/dist/notificationbadge/index.js +1 -1
- package/dist/notificationbadge/index.jsx +1 -1
- package/dist/picker/index.js +3 -3
- package/dist/picker/index.jsx +3 -3
- package/dist/popover/index.js +1 -1
- package/dist/popover/index.jsx +1 -1
- package/dist/progress/ProgressCircle.js +2 -2
- package/dist/progress/ProgressCircle.js.map +1 -1
- package/dist/progress/ProgressCircle.jsx +2 -2
- package/dist/progress/ProgressCircle.jsx.map +1 -1
- package/dist/progress-bar/index.js +4 -4
- package/dist/progress-bar/index.jsx +4 -4
- package/dist/radio/index.js +2 -2
- package/dist/radio/index.jsx +2 -2
- package/dist/searchfield/index.js +2 -2
- package/dist/searchfield/index.jsx +2 -2
- package/dist/segmentedcontrol/index.js +2 -5
- package/dist/segmentedcontrol/index.js.map +1 -1
- package/dist/segmentedcontrol/index.jsx +2 -5
- package/dist/segmentedcontrol/index.jsx.map +1 -1
- package/dist/select/index.js +3 -3
- package/dist/select/index.jsx +3 -3
- package/dist/selectboxgroup/index.js +1 -1
- package/dist/selectboxgroup/index.jsx +1 -1
- package/dist/statuslight/index.js +1 -1
- package/dist/statuslight/index.jsx +1 -1
- package/dist/steplist/index.js +5 -5
- package/dist/steplist/index.jsx +5 -5
- package/dist/style/glasselated-ramps.d.ts.map +1 -1
- package/dist/style/index.js +18 -9
- package/dist/style/index.js.map +1 -1
- package/dist/style/spectrum-theme.d.ts +7 -7
- package/dist/style/spectrum-theme.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/table/index.d.ts.map +1 -1
- package/dist/tag-group/index.js +10 -10
- package/dist/tag-group/index.js.map +1 -1
- package/dist/tag-group/index.jsx +10 -10
- package/dist/tag-group/index.jsx.map +1 -1
- package/dist/toolbar/index.d.ts.map +1 -1
- package/dist/toolbar/index.js.map +1 -1
- package/dist/toolbar/index.jsx.map +1 -1
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +5 -5
- package/dist/tree/index.js.map +1 -1
- package/dist/tree/index.jsx +5 -5
- package/dist/tree/index.jsx.map +1 -1
- package/dist/viviana-tokens.css +39 -12
- package/package.json +18 -5
- package/src/breadcrumbs/index.tsx +14 -7
- package/src/button/s2-action-button-styles.ts +8 -8
- package/src/button/s2-button-styles.ts +8 -8
- package/src/calendar/DateField.tsx +2 -6
- package/src/calendar/DatePicker.tsx +8 -1
- package/src/calendar/RangeCalendar.tsx +13 -7
- package/src/calendar/TimeField.tsx +2 -6
- package/src/calendar/index.tsx +4 -4
- package/src/form/index.tsx +5 -6
- package/src/icon/pixel-icons/PixelChartIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelCheckIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelChevronDownIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelChevronRightIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelClockIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelCodeIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelCommunityIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelCubeIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelFlameIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelHomeIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelLayoutIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelMessageIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavCommunityIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavExploreIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavLiveIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavPathwaysIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavPlaygroundIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavProjectsIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavReferenceIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavSettingsIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNavTopicsIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelNotificationIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelPathwaysIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelPlayIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelSearchIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelSettingsIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelSparkleIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelTopicsIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelUserIcon.tsx +4 -1
- package/src/icon/pixel-icons/PixelZapIcon.tsx +4 -1
- package/src/layout/Flex.tsx +7 -0
- package/src/link/index.tsx +3 -1
- package/src/menu/index.tsx +1 -3
- package/src/meter/index.tsx +1 -3
- package/src/progress/ProgressCircle.tsx +1 -1
- package/src/segmentedcontrol/index.tsx +6 -6
- package/src/style/glasselated-ramps.ts +37 -33
- package/src/style/spectrum-theme.ts +22 -17
- package/src/table/index.tsx +1 -3
- package/src/tag-group/index.tsx +8 -8
- package/src/toolbar/index.tsx +4 -1
- package/src/tree/index.tsx +3 -11
- 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 += "
|
|
255
|
-
else if (props.isHovered) rules += "
|
|
256
|
-
else rules += "
|
|
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 += "
|
|
263
|
-
else if (props.isHovered) rules += "
|
|
264
|
-
else rules += "
|
|
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 += "
|
|
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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"}
|
package/dist/_chunk/Tabs.js
CHANGED
|
@@ -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 += "
|
|
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 += "
|
|
602
|
+
else rules += " gnhAeB151";
|
|
603
603
|
if (props.isDisabled) rules += " gld151";
|
|
604
604
|
else rules += " gle151";
|
|
605
605
|
rules += " og151";
|
package/dist/_chunk/Tabs.jsx
CHANGED
|
@@ -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 += "
|
|
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 += "
|
|
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 += "
|
|
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 += "
|
|
172
|
+
else rules += " pWQ7V3d151";
|
|
173
173
|
if (props.isCurrent) rules += " plc151";
|
|
174
174
|
else if (props.isDisabled) rules += " plc151";
|
|
175
175
|
else rules += " plf151";
|