@vygruppen/spor-react 9.11.3 → 9.12.0

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.
@@ -1,16 +1,16 @@
1
1
  import tokens11__default from '@vygruppen/spor-design-tokens';
2
2
  import * as tokens11 from '@vygruppen/spor-design-tokens';
3
3
  export { tokens11 as tokens };
4
- import { forwardRef, Divider as Divider$1, Stack as Stack$1, useMultiStyleConfig, Box, chakra, useStyleConfig, Accordion as Accordion$1, Flex, Checkbox as Checkbox$1, useCheckbox, FormControl as FormControl$1, FormLabel as FormLabel$1, useFormControlContext, InputGroup, InputLeftElement, Input as Input$1, InputRightElement, Select, useDisclosure, Button, useControllableState, Radio as Radio$1, RadioGroup as RadioGroup$1, IconButton as IconButton$1, Switch as Switch$1, Textarea as Textarea$1, Skeleton as Skeleton$1, useButtonGroup, Center, ButtonGroup as ButtonGroup$1, Badge as Badge$1, Code as Code$1, Text, PopoverAnchor, PopoverContent, PopoverArrow, PopoverBody, FocusLock, Popover as Popover$1, PopoverTrigger, Portal, Link, ModalHeader as ModalHeader$1, useModalContext, DrawerContent as DrawerContent$1, Tabs as Tabs$1, Table as Table$1, defineStyleConfig as defineStyleConfig$1, createMultiStyleConfigHelpers as createMultiStyleConfigHelpers$1, useRadioGroup, AccordionItem, AccordionButton, AccordionIcon, AccordionPanel, Heading, CheckboxGroup as CheckboxGroup$1, List, ListItem, useColorModeValue, useFormControlProps, useFormControl, useColorMode, SkeletonCircle as SkeletonCircle$1, SkeletonText as SkeletonText$1, Breadcrumb as Breadcrumb$1, BreadcrumbItem as BreadcrumbItem$1, BreadcrumbLink as BreadcrumbLink$1, Drawer as Drawer$1, DrawerOverlay, DrawerBody, DrawerHeader, useMediaQuery, DrawerCloseButton, DarkMode, PopoverCloseButton, usePopoverContext, UnorderedList, ChakraProvider, useToast as useToast$1, useInterval } from '@chakra-ui/react';
4
+ import { forwardRef, Divider as Divider$1, Stack as Stack$1, Box, useMultiStyleConfig, chakra, Flex, Checkbox as Checkbox$1, useCheckbox, FormControl as FormControl$1, FormLabel as FormLabel$1, useFormControlContext, InputGroup, InputLeftElement, Input as Input$1, InputRightElement, Select, useDisclosure, Button, useControllableState, Radio as Radio$1, RadioGroup as RadioGroup$1, IconButton as IconButton$1, Switch as Switch$1, Textarea as Textarea$1, useStyleConfig, Accordion as Accordion$1, Skeleton as Skeleton$1, useButtonGroup, Center, ButtonGroup as ButtonGroup$1, Badge as Badge$1, Code as Code$1, Text, PopoverAnchor, PopoverContent, PopoverArrow, PopoverBody, FocusLock, Popover as Popover$1, PopoverTrigger, Portal, Link, ModalHeader as ModalHeader$1, useModalContext, DrawerContent as DrawerContent$1, Tabs as Tabs$1, Table as Table$1, defineStyleConfig as defineStyleConfig$1, createMultiStyleConfigHelpers as createMultiStyleConfigHelpers$1, Heading, CheckboxGroup as CheckboxGroup$1, List, ListItem, useColorModeValue, useFormControlProps, useFormControl, AccordionItem, AccordionButton, AccordionIcon, AccordionPanel, useColorMode, SkeletonCircle as SkeletonCircle$1, SkeletonText as SkeletonText$1, Breadcrumb as Breadcrumb$1, BreadcrumbItem as BreadcrumbItem$1, BreadcrumbLink as BreadcrumbLink$1, Drawer as Drawer$1, DrawerOverlay, DrawerBody, DrawerHeader, useMediaQuery, DrawerCloseButton, DarkMode, PopoverCloseButton, usePopoverContext, UnorderedList, ChakraProvider, useToast as useToast$1, useInterval } from '@chakra-ui/react';
5
5
  export { AccordionButton, AccordionIcon, AccordionItem, AccordionPanel, Box, Center, Collapse, Container, DarkMode, DrawerBody, DrawerCloseButton, DrawerFooter, DrawerOverlay, Fade, Flex, FormHelperText, Grid, GridItem, HStack, Image, Img, InputGroup, LightMode, ListItem, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalOverlay, OrderedList, Portal, ScaleFade, SimpleGrid, Slide, SlideFade, Spacer, Tab, TabList, TabPanel, TabPanels, TableCaption, Tbody, Td, Tfoot, Th, Thead, Tr, UnorderedList, VStack, Wrap, WrapItem, defineStyleConfig, extendTheme, useBreakpointValue, useClipboard, useColorMode, useColorModePreference, useColorModeValue, useControllableProp, useDisclosure, useMediaQuery, useMergeRefs, useOutsideClick, usePrefersReducedMotion, useTheme, useToken } from '@chakra-ui/react';
6
6
  import * as React87 from 'react';
7
- import React87__default, { useId, createContext, forwardRef as forwardRef$1, useRef, useState, useEffect, Suspense, useContext, useCallback, useMemo, useLayoutEffect } from 'react';
7
+ import React87__default, { forwardRef as forwardRef$1, useRef, useState, useEffect, useId, Suspense, useContext, createContext, useCallback, useMemo, useLayoutEffect } from 'react';
8
8
  import { CloseOutline24Icon, SearchOutline24Icon, CloseFill30Icon, CloseFill24Icon, CloseFill18Icon, CalendarOutline24Icon, InformationFill24Icon, InformationFill18Icon, WarningFill24Icon, WarningFill18Icon, ErrorFill24Icon, ErrorFill18Icon, LinkOutOutline24Icon, DropdownDownFill18Icon, DropdownDownFill24Icon, DropdownUpFill24Icon, DropdownRightFill18Icon, DropdownLeftFill18Icon, Forward15MediaControllerFill30Icon, Backward15MediaControllerFill30Icon, PauseMediaControllerFill24Icon, PlayMediaControllerFill24Icon, NextMediaControllerFill30Icon, PreviousMediaControllerFill30Icon, ArrowRightFill18Icon, ArrowLeftFill24Icon, ArrowLeftOutline24Icon, ArrowRightOutline24Icon, ErrorOutline24Icon, AltTransportOutline24Icon, WarningOutline24Icon, SuccessOutline24Icon, InformationOutline24Icon, TrainFill18Icon, TrainFill24Icon, TrainFill30Icon, ExpressBusFill18Icon, ExpressBusFill24Icon, ExpressBusFill30Icon, BusFill18Icon, BusFill24Icon, BusFill30Icon, FerryFill18Icon, FerryFill24Icon, FerryFill30Icon, SubwayFill18Icon, SubwayFill24Icon, SubwayFill30Icon, TramFill18Icon, TramFill24Icon, TramFill30Icon, AltTransportFill18Icon, AltTransportFill24Icon, AltTransportFill30Icon, WalkFill18Icon, WalkFill24Icon, WalkFill30Icon } from '@vygruppen/spor-icon-react';
9
- import { inlineLoaderColorPrideData, inlineLoaderColorData, spinnerColorPrideData, spinnerColorData, contentLoaderPrideData, contentLoaderData, fullScreenLoaderWhiteData, inlineLoaderDarkData, vyLogoPrideData, fullScreenLoaderBlackData, inlineLoaderLightData, spinnerLightData, spinnerDarkData } from '@vygruppen/spor-loader';
10
- import { useLottie } from 'lottie-react';
11
9
  import { usePopover, DismissButton, Overlay, useOverlayTrigger, useButton, useDateSegment, useDateField, useDatePicker, I18nProvider, useDialog, useFilter, useComboBox, useListBox, useOption, useListBoxSection, useSelect, HiddenSelect, useProgressBar, useCalendar, useDateRangePicker, useCalendarGrid, useRangeCalendar, useTimeField, useCalendarCell } from 'react-aria';
12
10
  import { useOverlayTriggerState, Item, useDateFieldState, useDatePickerState, useComboBoxState, useSelectState, useCalendarState, useDateRangePickerState, useTimeFieldState, useRangeCalendarState } from 'react-stately';
13
11
  export { Item, Section } from 'react-stately';
12
+ import { inlineLoaderColorPrideData, inlineLoaderColorData, spinnerColorPrideData, spinnerColorData, contentLoaderPrideData, contentLoaderData, fullScreenLoaderWhiteData, inlineLoaderDarkData, vyLogoPrideData, fullScreenLoaderBlackData, inlineLoaderLightData, spinnerLightData, spinnerDarkData } from '@vygruppen/spor-loader';
13
+ import { useLottie } from 'lottie-react';
14
14
  import { motion } from 'framer-motion';
15
15
  import { createCalendar, GregorianCalendar, parseTime, endOfMonth, getWeeksInMonth, getLocalTimeZone, isSameMonth, isToday } from '@internationalized/date';
16
16
  export { Time } from '@internationalized/date';
@@ -778,295 +778,6 @@ var Stack = forwardRef(
778
778
  return /* @__PURE__ */ React87__default.createElement(Stack$1, { ...props, direction: flexDirection, ref });
779
779
  }
780
780
  );
781
- var RadioCard = forwardRef(
782
- ({ children, variant = "base", isChecked, onChange, ...props }, ref) => {
783
- const styles3 = useMultiStyleConfig("RadioCard", { variant });
784
- const id = `radio-card-${useId()}`;
785
- const handleChange = (event) => {
786
- onChange && onChange(event);
787
- };
788
- return /* @__PURE__ */ React87__default.createElement(Box, { as: "label", htmlFor: id, "aria-label": String(children), ref }, /* @__PURE__ */ React87__default.createElement(
789
- chakra.input,
790
- {
791
- type: "radio",
792
- id,
793
- checked: isChecked,
794
- onChange: handleChange,
795
- ...props,
796
- sx: styles3.radioInput
797
- }
798
- ), /* @__PURE__ */ React87__default.createElement(
799
- Box,
800
- {
801
- ...props,
802
- __css: {
803
- ...styles3.container,
804
- ...isChecked && styles3.checked
805
- }
806
- },
807
- children
808
- ));
809
- }
810
- );
811
- var RadioCardGroup = ({
812
- children,
813
- name,
814
- direction: direction2 = "row",
815
- onChange,
816
- defaultValue,
817
- variant = "base",
818
- ...props
819
- }) => {
820
- const { getRootProps, getRadioProps } = useRadioGroup({
821
- defaultValue,
822
- name,
823
- onChange,
824
- ...props
825
- });
826
- const rootProps = getRootProps();
827
- return /* @__PURE__ */ React87__default.createElement(Stack$1, { direction: direction2, ...rootProps }, recursiveMap(children, (child) => {
828
- if (child.type === RadioCard) {
829
- const radioProps = getRadioProps({ value: child.props.value });
830
- const variantValue = variant;
831
- return React87__default.cloneElement(
832
- child,
833
- {
834
- ...radioProps,
835
- variant: variantValue,
836
- ...props
837
- }
838
- );
839
- }
840
- return child;
841
- }));
842
- };
843
- function recursiveMap(children, fn) {
844
- return React87__default.Children.map(children, (child) => {
845
- if (React87__default.isValidElement(child) && child.props.children) {
846
- child = React87__default.cloneElement(child, {
847
- children: recursiveMap(child.props.children, fn)
848
- });
849
- }
850
- if (React87__default.isValidElement(child)) {
851
- return fn(child);
852
- }
853
- return child;
854
- });
855
- }
856
- var StaticCard = forwardRef(
857
- ({ colorScheme = "white", children, ...props }, ref) => {
858
- const styles3 = useStyleConfig("StaticCard", {
859
- colorScheme
860
- });
861
- return /* @__PURE__ */ React87__default.createElement(Box, { __css: styles3, ...props, ref }, children);
862
- }
863
- );
864
- var PressableCard = forwardRef(
865
- ({ children, variant = "floating", ...props }, ref) => {
866
- const styles3 = useStyleConfig("PressableCard", {
867
- variant
868
- });
869
- return /* @__PURE__ */ React87__default.createElement(Box, { __css: styles3, ...props, ref }, children);
870
- }
871
- );
872
- var AccordionContext = React87__default.createContext(null);
873
- var AccordionProvider = ({
874
- size: size2,
875
- ...props
876
- }) => {
877
- return /* @__PURE__ */ React87__default.createElement(AccordionContext.Provider, { value: { size: size2 }, ...props });
878
- };
879
- var useAccordionContext = () => {
880
- const context = React87__default.useContext(AccordionContext);
881
- if (context === null) {
882
- throw new Error(
883
- "useAccordionContext must be used within AccordionProvider"
884
- );
885
- }
886
- return context;
887
- };
888
- var Accordion = forwardRef(
889
- ({ children, spacing: spacing3 = 2, ...props }, ref) => {
890
- const defaultIndex = typeof props.defaultIndex === "number" && props.allowMultiple ? [props.defaultIndex] : props.defaultIndex;
891
- return /* @__PURE__ */ React87__default.createElement(AccordionProvider, { size: props.size }, /* @__PURE__ */ React87__default.createElement(
892
- Accordion$1,
893
- {
894
- ...props,
895
- ref,
896
- defaultIndex
897
- },
898
- /* @__PURE__ */ React87__default.createElement(Stack, { spacing: spacing3 }, children)
899
- ));
900
- }
901
- );
902
- var Expandable = ({
903
- children,
904
- headingLevel,
905
- title,
906
- leftIcon,
907
- size: size2 = "md",
908
- defaultOpen,
909
- isOpen,
910
- onChange = () => {
911
- },
912
- ...rest
913
- }) => {
914
- return /* @__PURE__ */ React87__default.createElement(
915
- Accordion,
916
- {
917
- ...rest,
918
- index: isOpen ? 0 : void 0,
919
- defaultIndex: defaultOpen ? 0 : void 0,
920
- allowMultiple: true,
921
- size: size2,
922
- onChange: (expandedIndex) => onChange(expandedIndex === 0)
923
- },
924
- /* @__PURE__ */ React87__default.createElement(
925
- ExpandableItem,
926
- {
927
- headingLevel,
928
- title,
929
- leftIcon
930
- },
931
- children
932
- )
933
- );
934
- };
935
- var ExpandableItem = ({
936
- children,
937
- title,
938
- headingLevel = "h3",
939
- leftIcon,
940
- ...rest
941
- }) => {
942
- const { size: size2 } = useAccordionContext();
943
- warnAboutMismatchingIcon({ icon: leftIcon, size: size2 });
944
- return /* @__PURE__ */ React87__default.createElement(AccordionItem, { ...rest }, /* @__PURE__ */ React87__default.createElement(Box, { as: headingLevel }, /* @__PURE__ */ React87__default.createElement(AccordionButton, null, /* @__PURE__ */ React87__default.createElement(Flex, { alignItems: "center" }, leftIcon && /* @__PURE__ */ React87__default.createElement(Box, { marginRight: 1 }, leftIcon), title), /* @__PURE__ */ React87__default.createElement(AccordionIcon, null))), /* @__PURE__ */ React87__default.createElement(AccordionPanel, null, children));
945
- };
946
- var warnAboutMismatchingIcon = ({ icon, size: size2 }) => {
947
- var _a6, _b5;
948
- if (process.env.NODE_ENV !== "production") {
949
- const displayName = (_b5 = (_a6 = icon == null ? void 0 : icon.type) == null ? void 0 : _a6.render) == null ? void 0 : _b5.displayName;
950
- if (!displayName) {
951
- return;
952
- }
953
- if (displayName.includes("Fill")) {
954
- console.warn(
955
- `You passed a filled icon. This component requires outlined icons. You passed ${displayName}, replace it with ${displayName.replace(
956
- "Fill",
957
- "Outline"
958
- )}.`
959
- );
960
- return;
961
- }
962
- if (size2 === "lg" && !displayName.includes("30Icon")) {
963
- console.warn(
964
- `The icon you passed was of the wrong size for the lg size. You passed ${displayName}, replace it with ${displayName.replace(
965
- /(\d{2})Icon/,
966
- "30Icon"
967
- )}.`
968
- );
969
- return;
970
- }
971
- if (["md"].includes(size2) && !displayName.includes("24Icon")) {
972
- console.warn(
973
- `The icon you passed was of the wrong size for the ${size2} size. You passed ${displayName}, replace it with ${displayName.replace(
974
- /(\d{2})Icon/,
975
- "24Icon"
976
- )}.`
977
- );
978
- }
979
- }
980
- };
981
- var Language = /* @__PURE__ */ ((Language3) => {
982
- Language3["NorwegianBokmal"] = "nb";
983
- Language3["NorwegianNynorsk"] = "nn";
984
- Language3["Swedish"] = "sv";
985
- Language3["English"] = "en";
986
- return Language3;
987
- })(Language || {});
988
- var LanguageContext = createContext(void 0);
989
- function LanguageProvider({
990
- language,
991
- children
992
- }) {
993
- return /* @__PURE__ */ React87__default.createElement(LanguageContext.Provider, { value: language }, children);
994
- }
995
- function useLanguage() {
996
- const language = useContext(LanguageContext);
997
- if (!language) {
998
- throw new Error("Please wrap your application in a LanguageProvider");
999
- }
1000
- return language;
1001
- }
1002
- function useTranslation() {
1003
- const language = useLanguage();
1004
- const t2 = (text) => {
1005
- return text[language];
1006
- };
1007
- return { t: t2, language };
1008
- }
1009
- function createTexts(texts28) {
1010
- return texts28;
1011
- }
1012
- var hydrating = true;
1013
- function useHydrated() {
1014
- let [hydrated, setHydrated] = useState(() => !hydrating);
1015
- useEffect(function hydrate() {
1016
- hydrating = false;
1017
- setHydrated(true);
1018
- }, []);
1019
- return hydrated;
1020
- }
1021
-
1022
- // src/loader/ClientOnly.tsx
1023
- var ClientOnly = ({ children, fallback = null }) => {
1024
- const isHydrated = useHydrated();
1025
- return /* @__PURE__ */ React87__default.createElement(React87__default.Fragment, null, isHydrated ? children() : fallback);
1026
- };
1027
- function Lottie({ animationData }) {
1028
- const { View } = useLottie({ animationData, loop: true });
1029
- return /* @__PURE__ */ React87__default.createElement(React87__default.Fragment, null, View);
1030
- }
1031
- var PrideContext = createContext(void 0);
1032
- var PrideProvider = ({
1033
- children
1034
- }) => {
1035
- const isBrowser2 = typeof window !== "undefined";
1036
- const key = "spor__isPride";
1037
- const [isPride, setIsPride] = useState(() => {
1038
- if (isBrowser2) {
1039
- const savedState = localStorage.getItem(key);
1040
- return savedState ? JSON.parse(savedState) : true;
1041
- }
1042
- return true;
1043
- });
1044
- const togglePride = () => {
1045
- setIsPride((prev) => {
1046
- const newState = !prev;
1047
- if (isBrowser2) {
1048
- localStorage.setItem(key, JSON.stringify(newState));
1049
- }
1050
- return newState;
1051
- });
1052
- };
1053
- useEffect(() => {
1054
- if (isBrowser2) {
1055
- const savedState = localStorage.getItem(key);
1056
- if (savedState) {
1057
- setIsPride(JSON.parse(savedState));
1058
- }
1059
- }
1060
- }, [isBrowser2]);
1061
- return /* @__PURE__ */ React87__default.createElement(PrideContext.Provider, { value: { isPride, togglePride } }, children);
1062
- };
1063
- var usePride = () => {
1064
- const context = useContext(PrideContext);
1065
- if (context === void 0) {
1066
- throw new Error("usePride must be used within a PrideProvider");
1067
- }
1068
- return context;
1069
- };
1070
781
  var AttachedInputs = ({
1071
782
  flexDirection = "row",
1072
783
  ...rest
@@ -2041,7 +1752,7 @@ var texts4 = createTexts({
2041
1752
  sv: "Telefonnummer"
2042
1753
  }
2043
1754
  });
2044
- var LazyCountryCodeSelect = React87__default.lazy(() => import('./CountryCodeSelect-KU4HQMG3.mjs'));
1755
+ var LazyCountryCodeSelect = React87__default.lazy(() => import('./CountryCodeSelect-Q33DXFQF.mjs'));
2045
1756
  var Radio = forwardRef((props, ref) => {
2046
1757
  return /* @__PURE__ */ React87__default.createElement(Radio$1, { ...props, ref });
2047
1758
  });
@@ -2101,82 +1812,396 @@ var texts5 = createTexts({
2101
1812
  sv: "Rensa s\xF6krutan",
2102
1813
  en: "Reset search field"
2103
1814
  }
2104
- });
2105
- var Switch = forwardRef(
2106
- ({ size: size2 = "md", ...props }, ref) => {
2107
- return /* @__PURE__ */ React87__default.createElement(Switch$1, { size: size2, ...props, ref });
1815
+ });
1816
+ var Switch = forwardRef(
1817
+ ({ size: size2 = "md", ...props }, ref) => {
1818
+ return /* @__PURE__ */ React87__default.createElement(Switch$1, { size: size2, ...props, ref });
1819
+ }
1820
+ );
1821
+ var Textarea = forwardRef((props, ref) => {
1822
+ const {
1823
+ spacingProps,
1824
+ remainingProps: { label, ...rest }
1825
+ } = getSpacingProps(props);
1826
+ const formControlProps = useFormControlContext();
1827
+ const fallbackId = `textarea-${useId()}`;
1828
+ const inputId = props.id ?? (formControlProps == null ? void 0 : formControlProps.id) ?? fallbackId;
1829
+ return /* @__PURE__ */ React87__default.createElement(InputGroup, { position: "relative", ...spacingProps }, /* @__PURE__ */ React87__default.createElement(Textarea$1, { ...rest, id: inputId, ref, placeholder: " " }), label && /* @__PURE__ */ React87__default.createElement(FormLabel$1, { htmlFor: inputId, id: `${inputId}-label` }, label));
1830
+ });
1831
+ function getSpacingProps(props) {
1832
+ const {
1833
+ mt,
1834
+ mr,
1835
+ mb,
1836
+ ml,
1837
+ mx,
1838
+ my,
1839
+ marginTop,
1840
+ marginRight,
1841
+ marginBottom,
1842
+ marginLeft,
1843
+ marginX,
1844
+ marginY,
1845
+ pt,
1846
+ pr,
1847
+ pb,
1848
+ pl,
1849
+ px,
1850
+ py,
1851
+ paddingTop,
1852
+ paddingRight,
1853
+ paddingBottom,
1854
+ paddingLeft,
1855
+ paddingX,
1856
+ paddingY,
1857
+ ...remainingProps
1858
+ } = props;
1859
+ return {
1860
+ spacingProps: {
1861
+ mt,
1862
+ mr,
1863
+ mb,
1864
+ ml,
1865
+ mx,
1866
+ my,
1867
+ marginTop,
1868
+ marginRight,
1869
+ marginBottom,
1870
+ marginLeft,
1871
+ marginX,
1872
+ marginY,
1873
+ pt,
1874
+ pr,
1875
+ pb,
1876
+ pl,
1877
+ px,
1878
+ py,
1879
+ paddingTop,
1880
+ paddingRight,
1881
+ paddingBottom,
1882
+ paddingLeft,
1883
+ paddingX,
1884
+ paddingY
1885
+ },
1886
+ remainingProps
1887
+ };
1888
+ }
1889
+
1890
+ // src/layout/RadioCardGroup.tsx
1891
+ var RadioCardGroupContext = React87__default.createContext(null);
1892
+ var RadioCardGroup = ({
1893
+ children,
1894
+ name,
1895
+ variant = "base",
1896
+ direction: direction2 = "row",
1897
+ groupLabel,
1898
+ defaultValue,
1899
+ ...props
1900
+ }) => {
1901
+ const [selectedValue, setSelectedValue] = useState(
1902
+ defaultValue || ""
1903
+ );
1904
+ const handleChange = (value) => {
1905
+ setSelectedValue(value);
1906
+ };
1907
+ return /* @__PURE__ */ React87__default.createElement(
1908
+ RadioCardGroupContext.Provider,
1909
+ {
1910
+ value: {
1911
+ name,
1912
+ selectedValue,
1913
+ onChange: handleChange,
1914
+ variant,
1915
+ defaultValue: defaultValue || ""
1916
+ }
1917
+ },
1918
+ /* @__PURE__ */ React87__default.createElement(
1919
+ Stack$1,
1920
+ {
1921
+ as: "fieldset",
1922
+ direction: direction2,
1923
+ "aria-labelledby": groupLabel || name,
1924
+ role: "radiogroup",
1925
+ tabIndex: 0,
1926
+ ...props
1927
+ },
1928
+ groupLabel && /* @__PURE__ */ React87__default.createElement(FormLabel, { as: "legend", id: groupLabel }, groupLabel),
1929
+ children
1930
+ )
1931
+ );
1932
+ };
1933
+
1934
+ // src/layout/RadioCard.tsx
1935
+ var RadioCard = forwardRef(
1936
+ ({ children, value = "base", isDisabled, ...props }, ref) => {
1937
+ const context = useContext(RadioCardGroupContext);
1938
+ if (!context) {
1939
+ throw new Error(
1940
+ "RadioCard components must be wrapped in a RadioCardGroup component"
1941
+ );
1942
+ }
1943
+ const { name, selectedValue, onChange, variant } = context;
1944
+ const styles3 = useMultiStyleConfig("RadioCard", { variant });
1945
+ const isChecked = selectedValue === value;
1946
+ const radioCardId = `radio-card-${useId()}`;
1947
+ useEffect(() => {
1948
+ if (isChecked && typeof ref !== "function" && (ref == null ? void 0 : ref.current)) {
1949
+ ref.current.focus();
1950
+ }
1951
+ }, [isChecked]);
1952
+ const handleKeyDown = (event) => {
1953
+ if (event.key === "Enter" || event.key === " ") {
1954
+ onChange(value);
1955
+ }
1956
+ if (event.key === "ArrowRight" || event.key === "ArrowDown" || event.key === "ArrowLeft" || event.key === "ArrowUp") {
1957
+ const nextRadioCard = event.currentTarget.nextElementSibling;
1958
+ nextRadioCard.focus();
1959
+ }
1960
+ };
1961
+ return /* @__PURE__ */ React87__default.createElement(Box, { as: "label", "aria-label": String(children), onKeyDown: handleKeyDown }, /* @__PURE__ */ React87__default.createElement(
1962
+ chakra.input,
1963
+ {
1964
+ type: "radio",
1965
+ id: radioCardId,
1966
+ ref,
1967
+ value,
1968
+ name,
1969
+ checked: isChecked,
1970
+ onChange: () => onChange(value),
1971
+ disabled: isDisabled,
1972
+ __css: styles3.radioInput
1973
+ }
1974
+ ), /* @__PURE__ */ React87__default.createElement(
1975
+ Box,
1976
+ {
1977
+ ...props,
1978
+ tabIndex: 0,
1979
+ ref,
1980
+ role: "radio",
1981
+ "aria-checked": isChecked,
1982
+ "aria-labelledby": radioCardId,
1983
+ __css: { ...styles3.container, ...isChecked && styles3.checked },
1984
+ "data-checked": isChecked,
1985
+ "data-disabled": isDisabled
1986
+ },
1987
+ children
1988
+ ));
1989
+ }
1990
+ );
1991
+ var StaticCard = forwardRef(
1992
+ ({ colorScheme = "white", children, ...props }, ref) => {
1993
+ const styles3 = useStyleConfig("StaticCard", {
1994
+ colorScheme
1995
+ });
1996
+ return /* @__PURE__ */ React87__default.createElement(Box, { __css: styles3, ...props, ref }, children);
1997
+ }
1998
+ );
1999
+ var PressableCard = forwardRef(
2000
+ ({ children, variant = "floating", ...props }, ref) => {
2001
+ const styles3 = useStyleConfig("PressableCard", {
2002
+ variant
2003
+ });
2004
+ return /* @__PURE__ */ React87__default.createElement(Box, { __css: styles3, ...props, ref }, children);
2005
+ }
2006
+ );
2007
+ var AccordionContext = React87__default.createContext(null);
2008
+ var AccordionProvider = ({
2009
+ size: size2,
2010
+ ...props
2011
+ }) => {
2012
+ return /* @__PURE__ */ React87__default.createElement(AccordionContext.Provider, { value: { size: size2 }, ...props });
2013
+ };
2014
+ var useAccordionContext = () => {
2015
+ const context = React87__default.useContext(AccordionContext);
2016
+ if (context === null) {
2017
+ throw new Error(
2018
+ "useAccordionContext must be used within AccordionProvider"
2019
+ );
2020
+ }
2021
+ return context;
2022
+ };
2023
+ var Accordion = forwardRef(
2024
+ ({ children, spacing: spacing3 = 2, ...props }, ref) => {
2025
+ const defaultIndex = typeof props.defaultIndex === "number" && props.allowMultiple ? [props.defaultIndex] : props.defaultIndex;
2026
+ return /* @__PURE__ */ React87__default.createElement(AccordionProvider, { size: props.size }, /* @__PURE__ */ React87__default.createElement(
2027
+ Accordion$1,
2028
+ {
2029
+ ...props,
2030
+ ref,
2031
+ defaultIndex
2032
+ },
2033
+ /* @__PURE__ */ React87__default.createElement(Stack, { spacing: spacing3 }, children)
2034
+ ));
2035
+ }
2036
+ );
2037
+ var Expandable = ({
2038
+ children,
2039
+ headingLevel,
2040
+ title,
2041
+ leftIcon,
2042
+ size: size2 = "md",
2043
+ defaultOpen,
2044
+ isOpen,
2045
+ onChange = () => {
2046
+ },
2047
+ ...rest
2048
+ }) => {
2049
+ return /* @__PURE__ */ React87__default.createElement(
2050
+ Accordion,
2051
+ {
2052
+ ...rest,
2053
+ index: isOpen ? 0 : void 0,
2054
+ defaultIndex: defaultOpen ? 0 : void 0,
2055
+ allowMultiple: true,
2056
+ size: size2,
2057
+ onChange: (expandedIndex) => onChange(expandedIndex === 0)
2058
+ },
2059
+ /* @__PURE__ */ React87__default.createElement(
2060
+ ExpandableItem,
2061
+ {
2062
+ headingLevel,
2063
+ title,
2064
+ leftIcon
2065
+ },
2066
+ children
2067
+ )
2068
+ );
2069
+ };
2070
+ var ExpandableItem = ({
2071
+ children,
2072
+ title,
2073
+ headingLevel = "h3",
2074
+ leftIcon,
2075
+ ...rest
2076
+ }) => {
2077
+ const { size: size2 } = useAccordionContext();
2078
+ warnAboutMismatchingIcon({ icon: leftIcon, size: size2 });
2079
+ return /* @__PURE__ */ React87__default.createElement(AccordionItem, { ...rest }, /* @__PURE__ */ React87__default.createElement(Box, { as: headingLevel }, /* @__PURE__ */ React87__default.createElement(AccordionButton, null, /* @__PURE__ */ React87__default.createElement(Flex, { alignItems: "center" }, leftIcon && /* @__PURE__ */ React87__default.createElement(Box, { marginRight: 1 }, leftIcon), title), /* @__PURE__ */ React87__default.createElement(AccordionIcon, null))), /* @__PURE__ */ React87__default.createElement(AccordionPanel, null, children));
2080
+ };
2081
+ var warnAboutMismatchingIcon = ({ icon, size: size2 }) => {
2082
+ var _a6, _b5;
2083
+ if (process.env.NODE_ENV !== "production") {
2084
+ const displayName = (_b5 = (_a6 = icon == null ? void 0 : icon.type) == null ? void 0 : _a6.render) == null ? void 0 : _b5.displayName;
2085
+ if (!displayName) {
2086
+ return;
2087
+ }
2088
+ if (displayName.includes("Fill")) {
2089
+ console.warn(
2090
+ `You passed a filled icon. This component requires outlined icons. You passed ${displayName}, replace it with ${displayName.replace(
2091
+ "Fill",
2092
+ "Outline"
2093
+ )}.`
2094
+ );
2095
+ return;
2096
+ }
2097
+ if (size2 === "lg" && !displayName.includes("30Icon")) {
2098
+ console.warn(
2099
+ `The icon you passed was of the wrong size for the lg size. You passed ${displayName}, replace it with ${displayName.replace(
2100
+ /(\d{2})Icon/,
2101
+ "30Icon"
2102
+ )}.`
2103
+ );
2104
+ return;
2105
+ }
2106
+ if (["md"].includes(size2) && !displayName.includes("24Icon")) {
2107
+ console.warn(
2108
+ `The icon you passed was of the wrong size for the ${size2} size. You passed ${displayName}, replace it with ${displayName.replace(
2109
+ /(\d{2})Icon/,
2110
+ "24Icon"
2111
+ )}.`
2112
+ );
2113
+ }
2114
+ }
2115
+ };
2116
+ var Language = /* @__PURE__ */ ((Language3) => {
2117
+ Language3["NorwegianBokmal"] = "nb";
2118
+ Language3["NorwegianNynorsk"] = "nn";
2119
+ Language3["Swedish"] = "sv";
2120
+ Language3["English"] = "en";
2121
+ return Language3;
2122
+ })(Language || {});
2123
+ var LanguageContext = createContext(void 0);
2124
+ function LanguageProvider({
2125
+ language,
2126
+ children
2127
+ }) {
2128
+ return /* @__PURE__ */ React87__default.createElement(LanguageContext.Provider, { value: language }, children);
2129
+ }
2130
+ function useLanguage() {
2131
+ const language = useContext(LanguageContext);
2132
+ if (!language) {
2133
+ throw new Error("Please wrap your application in a LanguageProvider");
2108
2134
  }
2109
- );
2110
- var Textarea = forwardRef((props, ref) => {
2111
- const {
2112
- spacingProps,
2113
- remainingProps: { label, ...rest }
2114
- } = getSpacingProps(props);
2115
- const formControlProps = useFormControlContext();
2116
- const fallbackId = `textarea-${useId()}`;
2117
- const inputId = props.id ?? (formControlProps == null ? void 0 : formControlProps.id) ?? fallbackId;
2118
- return /* @__PURE__ */ React87__default.createElement(InputGroup, { position: "relative", ...spacingProps }, /* @__PURE__ */ React87__default.createElement(Textarea$1, { ...rest, id: inputId, ref, placeholder: " " }), label && /* @__PURE__ */ React87__default.createElement(FormLabel$1, { htmlFor: inputId, id: `${inputId}-label` }, label));
2119
- });
2120
- function getSpacingProps(props) {
2121
- const {
2122
- mt,
2123
- mr,
2124
- mb,
2125
- ml,
2126
- mx,
2127
- my,
2128
- marginTop,
2129
- marginRight,
2130
- marginBottom,
2131
- marginLeft,
2132
- marginX,
2133
- marginY,
2134
- pt,
2135
- pr,
2136
- pb,
2137
- pl,
2138
- px,
2139
- py,
2140
- paddingTop,
2141
- paddingRight,
2142
- paddingBottom,
2143
- paddingLeft,
2144
- paddingX,
2145
- paddingY,
2146
- ...remainingProps
2147
- } = props;
2148
- return {
2149
- spacingProps: {
2150
- mt,
2151
- mr,
2152
- mb,
2153
- ml,
2154
- mx,
2155
- my,
2156
- marginTop,
2157
- marginRight,
2158
- marginBottom,
2159
- marginLeft,
2160
- marginX,
2161
- marginY,
2162
- pt,
2163
- pr,
2164
- pb,
2165
- pl,
2166
- px,
2167
- py,
2168
- paddingTop,
2169
- paddingRight,
2170
- paddingBottom,
2171
- paddingLeft,
2172
- paddingX,
2173
- paddingY
2174
- },
2175
- remainingProps
2135
+ return language;
2136
+ }
2137
+ function useTranslation() {
2138
+ const language = useLanguage();
2139
+ const t2 = (text) => {
2140
+ return text[language];
2176
2141
  };
2142
+ return { t: t2, language };
2143
+ }
2144
+ function createTexts(texts28) {
2145
+ return texts28;
2146
+ }
2147
+ var hydrating = true;
2148
+ function useHydrated() {
2149
+ let [hydrated, setHydrated] = useState(() => !hydrating);
2150
+ useEffect(function hydrate() {
2151
+ hydrating = false;
2152
+ setHydrated(true);
2153
+ }, []);
2154
+ return hydrated;
2177
2155
  }
2178
2156
 
2179
- // src/pride/TogglePride.tsx
2157
+ // src/loader/ClientOnly.tsx
2158
+ var ClientOnly = ({ children, fallback = null }) => {
2159
+ const isHydrated = useHydrated();
2160
+ return /* @__PURE__ */ React87__default.createElement(React87__default.Fragment, null, isHydrated ? children() : fallback);
2161
+ };
2162
+ function Lottie({ animationData }) {
2163
+ const { View } = useLottie({ animationData, loop: true });
2164
+ return /* @__PURE__ */ React87__default.createElement(React87__default.Fragment, null, View);
2165
+ }
2166
+ var PrideContext = createContext(void 0);
2167
+ var PrideProvider = ({
2168
+ children
2169
+ }) => {
2170
+ const isBrowser2 = typeof window !== "undefined";
2171
+ const key = "spor__isPride";
2172
+ const [isPride, setIsPride] = useState(() => {
2173
+ if (isBrowser2) {
2174
+ const savedState = localStorage.getItem(key);
2175
+ return savedState ? JSON.parse(savedState) : true;
2176
+ }
2177
+ return true;
2178
+ });
2179
+ const togglePride = () => {
2180
+ setIsPride((prev) => {
2181
+ const newState = !prev;
2182
+ if (isBrowser2) {
2183
+ localStorage.setItem(key, JSON.stringify(newState));
2184
+ }
2185
+ return newState;
2186
+ });
2187
+ };
2188
+ useEffect(() => {
2189
+ if (isBrowser2) {
2190
+ const savedState = localStorage.getItem(key);
2191
+ if (savedState) {
2192
+ setIsPride(JSON.parse(savedState));
2193
+ }
2194
+ }
2195
+ }, [isBrowser2]);
2196
+ return /* @__PURE__ */ React87__default.createElement(PrideContext.Provider, { value: { isPride, togglePride } }, children);
2197
+ };
2198
+ var usePride = () => {
2199
+ const context = useContext(PrideContext);
2200
+ if (context === void 0) {
2201
+ throw new Error("usePride must be used within a PrideProvider");
2202
+ }
2203
+ return context;
2204
+ };
2180
2205
  var TogglePride = ({ label }) => {
2181
2206
  const { isPride, togglePride } = usePride();
2182
2207
  return /* @__PURE__ */ React87__default.createElement(FormControl, { display: "flex", alignItems: "center", gap: 3 }, /* @__PURE__ */ React87__default.createElement(FormLabel, { margin: "0" }, label), /* @__PURE__ */ React87__default.createElement(
@@ -2924,44 +2949,20 @@ function CalendarCell({
2924
2949
  { passive: false, once: true }
2925
2950
  );
2926
2951
  }, []);
2927
- return /* @__PURE__ */ React87__default.createElement(
2952
+ return /* @__PURE__ */ React87__default.createElement(Box, { as: "td", ...cellProps, textAlign: "center", sx: styles3.cell }, /* @__PURE__ */ React87__default.createElement(
2928
2953
  Box,
2929
2954
  {
2930
- as: "td",
2931
- ...cellProps,
2932
- textAlign: "center",
2933
- sx: {
2934
- '&[aria-selected="true"] + [aria-selected="true"] > button': {
2935
- "&::before": {
2936
- content: '""',
2937
- display: "block",
2938
- width: "100%",
2939
- height: "100%",
2940
- backgroundColor: "darkTeal",
2941
- position: "absolute",
2942
- left: "-50%",
2943
- top: 0,
2944
- bottom: 0,
2945
- zIndex: -1
2946
- }
2947
- }
2948
- }
2955
+ as: "button",
2956
+ type: "button",
2957
+ ...buttonProps,
2958
+ ...stateProps,
2959
+ ref,
2960
+ sx: styles3.dateCell,
2961
+ hidden: isOutsideVisibleRange,
2962
+ width: "100%"
2949
2963
  },
2950
- /* @__PURE__ */ React87__default.createElement(
2951
- Box,
2952
- {
2953
- as: "button",
2954
- type: "button",
2955
- ...buttonProps,
2956
- ...stateProps,
2957
- ref,
2958
- sx: styles3.dateCell,
2959
- hidden: isOutsideVisibleRange,
2960
- width: "100%"
2961
- },
2962
- date.day
2963
- )
2964
- );
2964
+ date.day
2965
+ ));
2965
2966
  }
2966
2967
  var useCurrentLocale = () => {
2967
2968
  const { language } = useTranslation();
@@ -3116,11 +3117,10 @@ var CalendarNavigator = ({
3116
3117
  "aria-label": `${t2(texts12.previous)} ${t2(texts12[unit])}`
3117
3118
  }
3118
3119
  ), /* @__PURE__ */ React87__default.createElement(
3119
- Heading2,
3120
+ Box,
3120
3121
  {
3121
- as: "div",
3122
3122
  role: "heading",
3123
- variant: "sm",
3123
+ fontSize: "sm",
3124
3124
  fontWeight: "bold",
3125
3125
  flex: "1",
3126
3126
  textAlign: "center"
@@ -3249,11 +3249,7 @@ var DateTimeSegment = forwardRef$1(
3249
3249
  outline: "none",
3250
3250
  borderRadius: "xs",
3251
3251
  fontSize: ["mobile.sm", "desktop.sm"],
3252
- sx: styles3.dateTimeSegment,
3253
- _focus: {
3254
- backgroundColor: "darkTeal",
3255
- color: "white"
3256
- }
3252
+ sx: styles3.dateTimeSegment
3257
3253
  },
3258
3254
  isPaddable(segment.type) ? segment.text.padStart(2, "0") : segment.text
3259
3255
  );
@@ -10650,34 +10646,9 @@ var colorCombinations = {
10650
10646
  color: "darkGrey"
10651
10647
  }
10652
10648
  };
10649
+
10650
+ // src/theme/components/breadcrumb.ts
10653
10651
  var { defineMultiStyleConfig: defineMultiStyleConfig27, definePartsStyle: definePartsStyle27 } = createMultiStyleConfigHelpers(breadcrumbAnatomy.keys);
10654
- var baseStyleLink2 = defineStyle((props) => ({
10655
- transitionProperty: "common",
10656
- transitionDuration: "fast",
10657
- transitionTimingFunction: "ease-out",
10658
- color: "inherit",
10659
- textDecoration: "none",
10660
- textStyle: "xs",
10661
- paddingX: 0.5,
10662
- borderRadius: "xs",
10663
- "&:not([aria-current=page])": {
10664
- cursor: "pointer",
10665
- _hover: {
10666
- ...baseBackground("hover", props)
10667
- },
10668
- _active: {
10669
- ...baseBackground("active", props)
10670
- },
10671
- ...focusVisibleStyles(props)
10672
- }
10673
- }));
10674
- definePartsStyle27((props) => ({
10675
- link: baseStyleLink2(props),
10676
- list: {
10677
- flexWrap: "wrap",
10678
- alignItems: "flex-start"
10679
- }
10680
- }));
10681
10652
  var breadcrumb_default = defineMultiStyleConfig27({
10682
10653
  baseStyle: definePartsStyle27((props) => ({
10683
10654
  link: {
@@ -10716,16 +10687,10 @@ var breadcrumb_default = defineMultiStyleConfig27({
10716
10687
  link: {
10717
10688
  "&:not([aria-current=page])": {
10718
10689
  _hover: {
10719
- backgroundColor: mode(
10720
- "ghost.surface.hover.light",
10721
- "ghost.surface.hover.dark"
10722
- )(props)
10690
+ ...ghostBackground("hover", props)
10723
10691
  },
10724
10692
  _active: {
10725
- backgroundColor: mode(
10726
- "ghost.surface.active.light",
10727
- "ghost.surface.active.dark"
10728
- )(props)
10693
+ ...ghostBackground("active", props)
10729
10694
  }
10730
10695
  }
10731
10696
  }
@@ -10862,26 +10827,26 @@ var config6 = defineStyleConfig$1({
10862
10827
  lg: {
10863
10828
  minHeight: 8,
10864
10829
  minWidth: 8,
10865
- fontSize: "18px",
10830
+ fontSize: "sm",
10866
10831
  fontWeight: "bold"
10867
10832
  },
10868
10833
  md: {
10869
10834
  minHeight: 7,
10870
10835
  minWidth: 7,
10871
- fontSize: "18px",
10836
+ fontSize: "sm",
10872
10837
  fontWeight: "bold"
10873
10838
  },
10874
10839
  sm: {
10875
10840
  minHeight: 6,
10876
10841
  minWidth: 6,
10877
- fontSize: "16px",
10842
+ fontSize: "xs",
10878
10843
  fontWeight: "normal"
10879
10844
  },
10880
10845
  xs: {
10881
10846
  minHeight: 5,
10882
10847
  minWidth: 5,
10883
10848
  paddingY: 0.5,
10884
- fontSize: "16px",
10849
+ fontSize: "xs",
10885
10850
  fontWeight: "normal"
10886
10851
  }
10887
10852
  },
@@ -11470,9 +11435,10 @@ var config11 = helpers6.defineMultiStyleConfig({
11470
11435
  container: {
11471
11436
  display: "inline-flex",
11472
11437
  alignItems: "center",
11473
- fontSize: "16px",
11438
+ fontSize: "xs",
11474
11439
  cursor: "pointer",
11475
11440
  transitionProperty: "all",
11441
+ borderRadius: "xl",
11476
11442
  transitionDuration: "fast",
11477
11443
  _checked: {
11478
11444
  outlineColor: "transparent",
@@ -11572,42 +11538,38 @@ var config11 = helpers6.defineMultiStyleConfig({
11572
11538
  sizes: {
11573
11539
  xs: {
11574
11540
  container: {
11575
- borderRadius: "30px",
11576
11541
  _checked: {
11577
- borderRadius: "9px"
11542
+ borderRadius: "0.563rem"
11578
11543
  },
11579
- height: "30px",
11544
+ height: 5,
11580
11545
  paddingX: 1.5
11581
11546
  }
11582
11547
  },
11583
11548
  sm: {
11584
11549
  container: {
11585
- borderRadius: "30px",
11586
11550
  _checked: {
11587
- borderRadius: "12px"
11551
+ borderRadius: "sm"
11588
11552
  },
11589
- height: "36px",
11553
+ height: 6,
11590
11554
  paddingX: 2
11591
11555
  }
11592
11556
  },
11593
11557
  md: {
11594
11558
  container: {
11595
- borderRadius: "30px",
11596
11559
  _checked: {
11597
- borderRadius: "12px"
11560
+ borderRadius: "sm"
11598
11561
  },
11599
- height: "42px",
11562
+ height: 7,
11600
11563
  paddingX: 2
11601
11564
  }
11602
11565
  },
11603
11566
  lg: {
11604
11567
  container: {
11605
- borderRadius: "30px",
11606
11568
  _checked: {
11607
- borderRadius: "18px"
11569
+ borderRadius: "md"
11608
11570
  },
11609
- height: "54px",
11610
- px: 3
11571
+ height: 8,
11572
+ paddingX: 3
11611
11573
  }
11612
11574
  }
11613
11575
  },
@@ -11629,27 +11591,27 @@ var config12 = defineStyleConfig$1({
11629
11591
  fontWeight: "normal",
11630
11592
  ...focusVisibleStyles(props),
11631
11593
  _hover: {
11632
- backgroundColor: mode("seaMist", "whiteAlpha.100")(props),
11594
+ ...ghostBackground("hover", props),
11633
11595
  _disabled: {
11634
11596
  color: "dimGrey"
11635
11597
  }
11636
11598
  },
11637
11599
  _active: {
11638
- backgroundColor: mode("mint", "whiteAlpha.200")(props)
11600
+ ...ghostBackground("active", props)
11639
11601
  }
11640
11602
  }),
11641
11603
  sizes: {
11642
11604
  lg: {
11643
11605
  [$size6.variable]: "40px",
11644
- fontSize: "16px"
11606
+ fontSize: "xs"
11645
11607
  },
11646
11608
  md: {
11647
11609
  [$size6.variable]: "32px",
11648
- fontSize: "12px"
11610
+ fontSize: "0.75rem"
11649
11611
  },
11650
11612
  sm: {
11651
11613
  [$size6.variable]: "24px",
11652
- fontSize: "10px"
11614
+ fontSize: "0.625rem"
11653
11615
  }
11654
11616
  },
11655
11617
  defaultProps: {
@@ -11679,7 +11641,8 @@ var parts5 = anatomy$1("datepicker").parts(
11679
11641
  "weekend",
11680
11642
  "dateCell",
11681
11643
  "inputLabel",
11682
- "dateTimeSegment"
11644
+ "dateTimeSegment",
11645
+ "cell"
11683
11646
  );
11684
11647
  var $arrowBackground = cssVar$1("popper-arrow-bg");
11685
11648
  var helpers7 = createMultiStyleConfigHelpers$1(parts5.keys);
@@ -11714,7 +11677,11 @@ var config14 = helpers7.defineMultiStyleConfig({
11714
11677
  color: mode(
11715
11678
  "darkGrey",
11716
11679
  props.isPlaceholder ? "whiteAlpha.400" : "white"
11717
- )(props)
11680
+ )(props),
11681
+ _focus: {
11682
+ ...brandBackground("hover", props),
11683
+ color: "white"
11684
+ }
11718
11685
  },
11719
11686
  calendarTriggerButton: {
11720
11687
  width: 8,
@@ -11755,6 +11722,22 @@ var config14 = helpers7.defineMultiStyleConfig({
11755
11722
  weekend: {
11756
11723
  ...accentText("default", props)
11757
11724
  },
11725
+ cell: {
11726
+ '&[aria-selected="true"] + [aria-selected="true"] > button': {
11727
+ "&::before": {
11728
+ content: '""',
11729
+ display: "block",
11730
+ width: "100%",
11731
+ height: "100%",
11732
+ position: "absolute",
11733
+ left: "-50%",
11734
+ top: 0,
11735
+ bottom: 0,
11736
+ zIndex: -1,
11737
+ ...brandBackground("default", props)
11738
+ }
11739
+ }
11740
+ },
11758
11741
  dateCell: {
11759
11742
  ...ghostBackground("default", props),
11760
11743
  ...baseText("default", props),
@@ -11841,7 +11824,7 @@ var config14 = helpers7.defineMultiStyleConfig({
11841
11824
  }
11842
11825
  });
11843
11826
  var datepicker_default = config14;
11844
- var baseStyle44 = defineStyle((props) => ({
11827
+ var baseStyle43 = defineStyle((props) => ({
11845
11828
  borderColor: mode("blackAlpha.300", "whiteAlpha.300")(props)
11846
11829
  }));
11847
11830
  var variantSolid5 = defineStyle({
@@ -11869,7 +11852,7 @@ var sizes25 = {
11869
11852
  }
11870
11853
  };
11871
11854
  var divider_default = defineStyleConfig({
11872
- baseStyle: baseStyle44,
11855
+ baseStyle: baseStyle43,
11873
11856
  variants: variants14,
11874
11857
  sizes: sizes25,
11875
11858
  defaultProps: {
@@ -12150,7 +12133,7 @@ var config19 = helpers11.defineMultiStyleConfig({
12150
12133
  display: "flex",
12151
12134
  appearance: "none",
12152
12135
  width: "100%",
12153
- height: "54px",
12136
+ height: 8,
12154
12137
  borderTopRadius: "sm",
12155
12138
  borderBottomRadius: props.isOpen ? 0 : "sm",
12156
12139
  paddingY: 1.5,
@@ -12518,7 +12501,7 @@ var config22 = helpers14.defineMultiStyleConfig({
12518
12501
  transitionDuration: "fast",
12519
12502
  position: "relative",
12520
12503
  paddingX: 3,
12521
- height: "54px",
12504
+ height: 8,
12522
12505
  fontSize: "mobile.md",
12523
12506
  ...baseBackground("default", props),
12524
12507
  ...baseBorder("default", props),
@@ -12556,7 +12539,7 @@ var config22 = helpers14.defineMultiStyleConfig({
12556
12539
  cursor: "text"
12557
12540
  },
12558
12541
  "&:not(:placeholder-shown)": {
12559
- paddingTop: "16px",
12542
+ paddingTop: "1rem",
12560
12543
  "& + label": {
12561
12544
  transform: "scale(0.825) translateY(-10px)"
12562
12545
  }
@@ -12765,7 +12748,7 @@ var link_default = config24;
12765
12748
 
12766
12749
  // src/theme/components/list.ts
12767
12750
  var { defineMultiStyleConfig: defineMultiStyleConfig28, definePartsStyle: definePartsStyle28 } = createMultiStyleConfigHelpers(listAnatomy.keys);
12768
- var baseStyle45 = definePartsStyle28({
12751
+ var baseStyle44 = definePartsStyle28({
12769
12752
  container: {
12770
12753
  fontSize: ["mobile.sm", "desktop.sm"]
12771
12754
  },
@@ -12779,7 +12762,7 @@ var baseStyle45 = definePartsStyle28({
12779
12762
  }
12780
12763
  });
12781
12764
  var list_default = defineMultiStyleConfig28({
12782
- baseStyle: baseStyle45
12765
+ baseStyle: baseStyle44
12783
12766
  });
12784
12767
  var parts11 = anatomy("ListBox").parts(
12785
12768
  "container",
@@ -13193,8 +13176,10 @@ var config31 = helpers22.defineMultiStyleConfig({
13193
13176
  },
13194
13177
  background: {
13195
13178
  display: "flex",
13196
- backgroundColor: mode("coralGreen", "pine")(props),
13197
- // TODO: Replace with semantic tokens
13179
+ backgroundColor: mode(
13180
+ "brand.surface.default.dark",
13181
+ "brand.surface.default.light"
13182
+ )(props),
13198
13183
  borderRadius: "sm",
13199
13184
  justifyContent: "flex-start",
13200
13185
  marginX: "auto"
@@ -13281,7 +13266,6 @@ var helpers24 = createMultiStyleConfigHelpers$1(parts17.keys);
13281
13266
  var config33 = helpers24.defineMultiStyleConfig({
13282
13267
  baseStyle: (props) => ({
13283
13268
  container: {
13284
- appearance: "none",
13285
13269
  border: "none",
13286
13270
  overflow: "hidden",
13287
13271
  fontSize: "inherit",
@@ -13323,6 +13307,9 @@ var config33 = helpers24.defineMultiStyleConfig({
13323
13307
  _active: {
13324
13308
  ...baseBackground("active", props),
13325
13309
  ...baseBorder("active", props)
13310
+ },
13311
+ _focus: {
13312
+ ...outlineBorder("focus", props)
13326
13313
  }
13327
13314
  },
13328
13315
  checked: {
@@ -13332,13 +13319,17 @@ var config33 = helpers24.defineMultiStyleConfig({
13332
13319
  _active: {
13333
13320
  ...baseBackground("active", props),
13334
13321
  ...baseBorder("active", props)
13322
+ },
13323
+ _focus: {
13324
+ outline: "4px solid",
13325
+ outlineStyle: "double",
13326
+ ...outlineBorder("focus", props),
13327
+ outlineOffset: "-1px"
13335
13328
  }
13336
13329
  }
13337
13330
  }),
13338
13331
  floating: (props) => ({
13339
13332
  container: {
13340
- ...baseText("default", props),
13341
- ...baseBackground("default", props),
13342
13333
  ...floatingBackground("default", props),
13343
13334
  ...floatingBorder("default", props),
13344
13335
  boxShadow: "sm",
@@ -13350,16 +13341,25 @@ var config33 = helpers24.defineMultiStyleConfig({
13350
13341
  _active: {
13351
13342
  ...floatingBackground("active", props),
13352
13343
  ...floatingBorder("active", props)
13344
+ },
13345
+ _focus: {
13346
+ ...outlineBorder("focus", props)
13353
13347
  }
13354
13348
  },
13355
13349
  checked: {
13356
- cursor: "normal",
13357
13350
  _hover: {
13358
- ...floatingBorder("hover", props)
13351
+ ...floatingBorder("hover", props),
13352
+ boxShadow: "md"
13359
13353
  },
13360
13354
  _active: {
13361
13355
  ...floatingBackground("active", props),
13362
13356
  ...floatingBorder("active", props)
13357
+ },
13358
+ _focus: {
13359
+ outline: "4px solid",
13360
+ outlineStyle: "double",
13361
+ ...outlineBorder("focus", props),
13362
+ outlineOffset: "-1px"
13363
13363
  }
13364
13364
  }
13365
13365
  })
@@ -13399,7 +13399,10 @@ var config34 = helpers25.defineMultiStyleConfig({
13399
13399
  ...baseText("disabled", props)
13400
13400
  },
13401
13401
  _checked: {
13402
- color: mode("pine", "coralGreen")(props),
13402
+ color: mode(
13403
+ "brand.surface.default.light",
13404
+ "brand.surface.default.dark"
13405
+ )(props),
13403
13406
  borderColor: "currentColor",
13404
13407
  _before: {
13405
13408
  content: `""`,
@@ -13446,17 +13449,17 @@ var config35 = helpers26.defineMultiStyleConfig({
13446
13449
  field: {
13447
13450
  ...input_default.baseStyle(props).field,
13448
13451
  appearance: "none",
13449
- paddingTop: "16px",
13452
+ paddingTop: "1rem",
13450
13453
  "option, optgroup": {}
13451
13454
  },
13452
13455
  icon: {
13453
- width: "30px",
13454
- height: "30px",
13456
+ width: 5,
13457
+ height: 5,
13455
13458
  insetEnd: "0.5rem",
13456
13459
  position: "relative",
13457
13460
  color: "currentColor",
13458
13461
  strokeLinecap: "round",
13459
- fontSize: "1.125rem",
13462
+ fontSize: "sm",
13460
13463
  _disabled: {
13461
13464
  ...baseText("disabled", props)
13462
13465
  }
@@ -13911,7 +13914,7 @@ var config40 = helpers30.defineMultiStyleConfig({
13911
13914
  sizes: {
13912
13915
  xs: {
13913
13916
  tablist: {
13914
- height: "30px",
13917
+ height: 5,
13915
13918
  padding: "2px"
13916
13919
  },
13917
13920
  tab: {
@@ -13921,7 +13924,7 @@ var config40 = helpers30.defineMultiStyleConfig({
13921
13924
  },
13922
13925
  sm: {
13923
13926
  tablist: {
13924
- height: "36px",
13927
+ height: 6,
13925
13928
  padding: 0.5
13926
13929
  },
13927
13930
  tab: {
@@ -13930,7 +13933,7 @@ var config40 = helpers30.defineMultiStyleConfig({
13930
13933
  },
13931
13934
  md: {
13932
13935
  tablist: {
13933
- height: "42px",
13936
+ height: 7,
13934
13937
  padding: 0.5
13935
13938
  },
13936
13939
  tab: {
@@ -13940,7 +13943,7 @@ var config40 = helpers30.defineMultiStyleConfig({
13940
13943
  },
13941
13944
  lg: {
13942
13945
  tablist: {
13943
- height: "54px",
13946
+ height: 8,
13944
13947
  padding: "4px"
13945
13948
  },
13946
13949
  tab: {
@@ -14092,6 +14095,7 @@ var config44 = defineStyleConfig$1({
14092
14095
  }
14093
14096
  }),
14094
14097
  accent: (props) => ({
14098
+ ...accentText("default", props),
14095
14099
  ...accentBackground("default", props),
14096
14100
  boxShadow: "sm",
14097
14101
  _hover: {
@@ -14483,4 +14487,4 @@ function slugify(text, maxLength = 50) {
14483
14487
  return text.normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[\u00C6\u00E6]/g, "ae").replace(/[\u00D8\u00F8]/g, "oe").replace(/[\u00C5\u00E5]/g, "aa").toLowerCase().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "").substring(0, maxLength);
14484
14488
  }
14485
14489
 
14486
- export { Accordion, AttachedInputs, Badge, Brand, Breadcrumb, BreadcrumbItem, BreadcrumbLink, Button2 as Button, ButtonGroup, Card2 as Card, CardSelect, Checkbox, CheckboxGroup, ChoiceChip, ClosableAlert, CloseButton, Code, ColorInlineLoader, ColorSpinner, Combobox, ContentLoader, DarkFullScreenLoader, DarkInlineLoader, DarkSpinner, DatePicker, DateRangePicker, Divider, Drawer, DrawerContent, Expandable, ExpandableAlert, ExpandableItem, FloatingActionButton, FormControl, FormErrorMessage, FormLabel, FullScreenDrawer, Heading2 as Heading, IconButton, InfoSelect, InfoTag, Input, InputLeftElement2 as InputLeftElement, InputRightElement2 as InputRightElement, ItemDescription, ItemLabel, JumpButton, Language, LanguageProvider, LightFullScreenLoader, LightInlineLoader, LightSpinner, LineIcon, ListBox, ModalHeader, NativeSelect, Nudge, NumericStepper, Pagination, PasswordInput, PhoneNumberInput, PlayPauseButton, PressableCard, PrideProvider, ProgressBar, ProgressIndicator, ProgressLoader, Radio, RadioCard, RadioCardGroup, RadioGroup, SearchInput, SimpleDrawer, Skeleton, SkeletonCircle, SkeletonText, SkipButton, SporProvider, Stack, StaticAlert, StaticCard, Stepper, StepperStep, Switch, Table, Tabs, Text4 as Text, TextLink, Textarea, TimePicker, TogglePride, Tooltip, TravelTag, VyLogo, VyLogoDefault, VyLogoPride, WizardNudge, brandTheme, createTexts, fontFaces, slugify, theme, usePride, useSize, useToast, useTranslation };
14490
+ export { Accordion, AttachedInputs, Badge, Brand, Breadcrumb, BreadcrumbItem, BreadcrumbLink, Button2 as Button, ButtonGroup, Card2 as Card, CardSelect, Checkbox, CheckboxGroup, ChoiceChip, ClosableAlert, CloseButton, Code, ColorInlineLoader, ColorSpinner, Combobox, ContentLoader, DarkFullScreenLoader, DarkInlineLoader, DarkSpinner, DatePicker, DateRangePicker, Divider, Drawer, DrawerContent, Expandable, ExpandableAlert, ExpandableItem, FloatingActionButton, FormControl, FormErrorMessage, FormLabel, FullScreenDrawer, Heading2 as Heading, IconButton, InfoSelect, InfoTag, Input, InputLeftElement2 as InputLeftElement, InputRightElement2 as InputRightElement, ItemDescription, ItemLabel, JumpButton, Language, LanguageProvider, LightFullScreenLoader, LightInlineLoader, LightSpinner, LineIcon, ListBox, ModalHeader, NativeSelect, Nudge, NumericStepper, Pagination, PasswordInput, PhoneNumberInput, PlayPauseButton, PressableCard, PrideProvider, ProgressBar, ProgressIndicator, ProgressLoader, Radio, RadioCard, RadioCardGroup, RadioCardGroupContext, RadioGroup, SearchInput, SimpleDrawer, Skeleton, SkeletonCircle, SkeletonText, SkipButton, SporProvider, Stack, StaticAlert, StaticCard, Stepper, StepperStep, Switch, Table, Tabs, Text4 as Text, TextLink, Textarea, TimePicker, TogglePride, Tooltip, TravelTag, VyLogo, VyLogoDefault, VyLogoPride, WizardNudge, brandTheme, createTexts, fontFaces, slugify, theme, usePride, useSize, useToast, useTranslation };