@vygruppen/spor-react 7.2.2 → 8.0.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,8 +1,8 @@
1
1
  import tokens10__default from '@vygruppen/spor-design-tokens';
2
2
  import * as tokens10 from '@vygruppen/spor-design-tokens';
3
3
  export { tokens10 as tokens };
4
- import { forwardRef, Divider as Divider$1, Stack as Stack$1, Accordion as Accordion$1, Skeleton as Skeleton$1, useButtonGroup, useStyleConfig, Box, Center, Flex, ButtonGroup as ButtonGroup$1, IconButton as IconButton$1, useMultiStyleConfig, Badge as Badge$1, Code as Code$1, Text, PopoverAnchor, FormLabel, useFormControlContext, PopoverContent, PopoverArrow, PopoverBody, FocusLock, Popover, InputGroup, PopoverTrigger, Portal, chakra, Checkbox as Checkbox$1, useCheckbox, FormControl as FormControl$1, InputLeftElement, Input as Input$1, InputRightElement, Select, useDisclosure, Button as Button$1, useControllableState, Radio as Radio$1, RadioGroup as RadioGroup$1, Switch as Switch$1, Textarea as Textarea$1, 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, AccordionItem, AccordionButton, AccordionIcon, AccordionPanel, useColorMode, SkeletonCircle as SkeletonCircle$1, SkeletonText as SkeletonText$1, useColorModeValue, Breadcrumb as Breadcrumb$1, BreadcrumbItem as BreadcrumbItem$1, BreadcrumbLink as BreadcrumbLink$1, Heading as Heading$1, CheckboxGroup as CheckboxGroup$1, List, ListItem, useFormControlProps, useFormControl, Drawer as Drawer$1, DrawerOverlay, DrawerCloseButton, DrawerBody, usePopoverContext, DarkMode, PopoverCloseButton, ChakraProvider, useToast as useToast$1, useInterval } from '@chakra-ui/react';
5
- export { AccordionButton, AccordionIcon, AccordionItem, AccordionPanel, Box, Center, Container, DarkMode, DrawerBody, DrawerCloseButton, DrawerFooter, DrawerOverlay, Fade, Flex, FormHelperText, Grid, GridItem, HStack, Image, Img, InputGroup, LightMode, ListItem, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalOverlay, OrderedList, Popover, PopoverAnchor, PopoverArrow, PopoverBody, PopoverCloseButton, PopoverContent, PopoverFooter, PopoverHeader, PopoverTrigger, 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';
4
+ import { forwardRef, Divider as Divider$1, Stack as Stack$1, Accordion as Accordion$1, Skeleton as Skeleton$1, useButtonGroup, useStyleConfig, Box, Center, Flex, ButtonGroup as ButtonGroup$1, IconButton as IconButton$1, useMultiStyleConfig, Badge as Badge$1, Code as Code$1, Text, PopoverAnchor, FormLabel, useFormControlContext, PopoverContent, PopoverArrow, PopoverBody, FocusLock, Popover, InputGroup, PopoverTrigger, Portal, chakra, Checkbox as Checkbox$1, useCheckbox, FormControl as FormControl$1, InputLeftElement, Input as Input$1, InputRightElement, Select, useDisclosure, Button as Button$1, useControllableState, Radio as Radio$1, RadioGroup as RadioGroup$1, Switch as Switch$1, Textarea as Textarea$1, 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, AccordionItem, AccordionButton, AccordionIcon, AccordionPanel, useColorMode, SkeletonCircle as SkeletonCircle$1, SkeletonText as SkeletonText$1, useColorModeValue, Breadcrumb as Breadcrumb$1, BreadcrumbItem as BreadcrumbItem$1, BreadcrumbLink as BreadcrumbLink$1, Heading as Heading$1, CheckboxGroup as CheckboxGroup$1, List, ListItem, useFormControlProps, useFormControl, Drawer as Drawer$1, DrawerOverlay, DrawerCloseButton, DrawerBody, DarkMode, PopoverCloseButton, usePopoverContext, ChakraProvider, useToast as useToast$1, useInterval } from '@chakra-ui/react';
5
+ export { AccordionButton, AccordionIcon, AccordionItem, AccordionPanel, Box, Center, 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 React69 from 'react';
7
7
  import React69__default, { createContext, useEffect, forwardRef as forwardRef$1, useRef, useState, useId, Suspense, useContext, useCallback, useMemo, useLayoutEffect } from 'react';
8
8
  import { CloseFill30Icon, CloseFill24Icon, CloseFill18Icon, CalendarOutline24Icon, CloseOutline24Icon, SearchOutline24Icon, InformationFill24Icon, InformationFill18Icon, WarningFill24Icon, WarningFill18Icon, ErrorFill24Icon, ErrorFill18Icon, LinkOutOutline24Icon, DropdownRightFill18Icon, DropdownLeftFill18Icon, DropdownDownFill18Icon, DropdownDownFill24Icon, DropdownUpFill24Icon, 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';
@@ -900,8 +900,8 @@ function useTranslation() {
900
900
  };
901
901
  return { t: t2, language };
902
902
  }
903
- function createTexts(texts25) {
904
- return texts25;
903
+ function createTexts(texts26) {
904
+ return texts26;
905
905
  }
906
906
  var hydrating = true;
907
907
  function useHydrated() {
@@ -2100,7 +2100,8 @@ var DatePicker = forwardRef$1(
2100
2100
  ...dialogProps,
2101
2101
  isOpen: state2.isOpen,
2102
2102
  onOpen: state2.open,
2103
- onClose: state2.close
2103
+ onClose: state2.close,
2104
+ flip: false
2104
2105
  },
2105
2106
  /* @__PURE__ */ React69__default.createElement(InputGroup, { ...groupProps, display: "inline-flex" }, /* @__PURE__ */ React69__default.createElement(PopoverAnchor, null, /* @__PURE__ */ React69__default.createElement(
2106
2107
  StyledField,
@@ -2596,7 +2597,14 @@ var CheckboxGroup = ({
2596
2597
  // ../../node_modules/@chakra-ui/utils/dist/chunk-O3SWHQEE.mjs
2597
2598
  var dataAttr = (condition) => condition ? "" : void 0;
2598
2599
  var ChoiceChip = forwardRef((props, ref) => {
2599
- const { children, icon, size: size2 = "md", variant = "choice" } = props;
2600
+ const {
2601
+ children,
2602
+ icon,
2603
+ isDisabled,
2604
+ size: size2 = "md",
2605
+ chipType = "choice",
2606
+ variant = "base"
2607
+ } = props;
2600
2608
  const {
2601
2609
  state: state2,
2602
2610
  getInputProps,
@@ -2606,6 +2614,7 @@ var ChoiceChip = forwardRef((props, ref) => {
2606
2614
  } = useCheckbox(props);
2607
2615
  const styles3 = useMultiStyleConfig("ChoiceChip", {
2608
2616
  size: size2,
2617
+ chipType,
2609
2618
  variant,
2610
2619
  icon,
2611
2620
  hasLabel: Boolean(children)
@@ -2618,7 +2627,7 @@ var ChoiceChip = forwardRef((props, ref) => {
2618
2627
  ...getRootProps(),
2619
2628
  "aria-label": String(children)
2620
2629
  },
2621
- /* @__PURE__ */ React69__default.createElement(chakra.input, { ...getInputProps({}, ref), id }),
2630
+ /* @__PURE__ */ React69__default.createElement(chakra.input, { ...getInputProps({}, ref), id, disabled: isDisabled }),
2622
2631
  /* @__PURE__ */ React69__default.createElement(
2623
2632
  chakra.div,
2624
2633
  {
@@ -2631,8 +2640,8 @@ var ChoiceChip = forwardRef((props, ref) => {
2631
2640
  "data-disabled": dataAttr(state2.isDisabled)
2632
2641
  },
2633
2642
  icon && /* @__PURE__ */ React69__default.createElement(chakra.span, { __css: styles3.icon }, state2.isChecked ? icon.checked : icon.default),
2634
- /* @__PURE__ */ React69__default.createElement(chakra.span, { __css: styles3.label, ...getCheckboxProps() }, variant !== "icon" && children),
2635
- variant === "filter" && state2.isChecked && /* @__PURE__ */ React69__default.createElement(CloseOutline24Icon, { marginLeft: 1.5 })
2643
+ /* @__PURE__ */ React69__default.createElement(chakra.span, { __css: styles3.label, ...getCheckboxProps() }, chipType !== "icon" && children),
2644
+ chipType === "filter" && state2.isChecked && /* @__PURE__ */ React69__default.createElement(CloseOutline24Icon, { marginLeft: 1.5 })
2636
2645
  )
2637
2646
  );
2638
2647
  });
@@ -3420,7 +3429,7 @@ var texts14 = createTexts({
3420
3429
  sv: "Telefonnummer"
3421
3430
  }
3422
3431
  });
3423
- var LazyCountryCodeSelect = React69__default.lazy(() => import('./CountryCodeSelect-K45HQCJC.mjs'));
3432
+ var LazyCountryCodeSelect = React69__default.lazy(() => import('./CountryCodeSelect-NCM6JIBM.mjs'));
3424
3433
  var Radio = forwardRef((props, ref) => {
3425
3434
  return /* @__PURE__ */ React69__default.createElement(Radio$1, { ...props, ref });
3426
3435
  });
@@ -4086,58 +4095,97 @@ var SimpleDrawer = ({
4086
4095
  }) => {
4087
4096
  return /* @__PURE__ */ React69__default.createElement(Drawer, { placement, ...props }, /* @__PURE__ */ React69__default.createElement(DrawerOverlay, null), /* @__PURE__ */ React69__default.createElement(DrawerContent, null, /* @__PURE__ */ React69__default.createElement(DrawerCloseButton, null), title && /* @__PURE__ */ React69__default.createElement(ModalHeader, null, title), /* @__PURE__ */ React69__default.createElement(DrawerBody, null, children)));
4088
4097
  };
4089
- var PopoverWizardBody = ({ children }) => {
4090
- const [currentStep, setCurrentStep] = React69.useState(1);
4091
- const totalSteps = React69.Children.count(children);
4092
- const { isOpen } = usePopoverContext();
4093
- React69.useEffect(() => {
4094
- if (!isOpen && currentStep > 1) {
4095
- const id = setTimeout(() => setCurrentStep(1), 500);
4096
- return () => clearTimeout(id);
4097
- }
4098
- }, [isOpen, currentStep]);
4099
- return /* @__PURE__ */ React69.createElement(PopoverBody, null, /* @__PURE__ */ React69.createElement(Stack, { spacing: 1.5 }, /* @__PURE__ */ React69.createElement(Box, null, React69.Children.toArray(children)[currentStep - 1]), /* @__PURE__ */ React69.createElement(Flex, { gap: 3 }, /* @__PURE__ */ React69.createElement(StepIndicator, { totalSteps, currentStep }), /* @__PURE__ */ React69.createElement(
4100
- NextStepButton,
4101
- {
4102
- isLastStep: totalSteps === currentStep,
4103
- onNext: () => setCurrentStep((prev) => prev + 1)
4098
+ var EXPIRATION_DELAY = 1e3 * 60 * 60 * 24 * 30;
4099
+ var Nudge = ({
4100
+ introducedDate,
4101
+ name,
4102
+ children,
4103
+ content,
4104
+ actions,
4105
+ ...props
4106
+ }) => {
4107
+ const { t: t2 } = useTranslation();
4108
+ if (new Date(introducedDate).getTime() + EXPIRATION_DELAY < Date.now()) {
4109
+ if (process.env.NODE_ENV === "development") {
4110
+ console.warn(
4111
+ `The nudge ${name} has been used for longer than 30 days. Please remove it from the codebase.
4112
+
4113
+ This is a development only warning, and will not be shown in production.`
4114
+ );
4104
4115
  }
4105
- ))));
4106
- };
4107
- var StepIndicator = ({ totalSteps, currentStep }) => {
4108
- const steps = createRange(1, totalSteps);
4109
- return /* @__PURE__ */ React69.createElement(Flex, { gap: 1, alignItems: "center" }, steps.map((step) => /* @__PURE__ */ React69.createElement(
4110
- Box,
4116
+ return null;
4117
+ }
4118
+ return /* @__PURE__ */ React69__default.createElement(DarkMode, null, /* @__PURE__ */ React69__default.createElement(
4119
+ Popover,
4111
4120
  {
4112
- key: step,
4113
- width: 1,
4114
- height: 1,
4115
- borderRadius: "50%",
4116
- transition: "medium",
4117
- transitionProperty: "background-color",
4118
- backgroundColor: step === currentStep ? "seaMist" : "greenHaze"
4119
- }
4120
- )));
4121
+ arrowSize: 12,
4122
+ arrowShadowColor: "none",
4123
+ defaultIsOpen: true,
4124
+ ...props
4125
+ },
4126
+ /* @__PURE__ */ React69__default.createElement(PopoverAnchor, null, children),
4127
+ /* @__PURE__ */ React69__default.createElement(PopoverContent, { borderRadius: "sm" }, /* @__PURE__ */ React69__default.createElement(PopoverArrow, null), /* @__PURE__ */ React69__default.createElement(PopoverCloseButton, null), /* @__PURE__ */ React69__default.createElement(PopoverBody, { margin: 1 }, /* @__PURE__ */ React69__default.createElement(Box, { marginRight: 4 }, content), /* @__PURE__ */ React69__default.createElement(Box, { marginTop: 1.5 }, actions ?? /* @__PURE__ */ React69__default.createElement(ButtonGroup, null, /* @__PURE__ */ React69__default.createElement(Button, { variant: "tertiary", size: "xs" }, t2(texts20.close)), /* @__PURE__ */ React69__default.createElement(Button, { variant: "secondary", size: "xs", fontWeight: "bold" }, t2(texts20.showMe))))))
4128
+ ));
4121
4129
  };
4122
- var createRange = (start, end) => {
4123
- return new Array(end - start + 1).fill(null).map((_, i) => i + start);
4130
+ var texts20 = createTexts({
4131
+ close: {
4132
+ nb: "Lukk",
4133
+ nn: "Lukk",
4134
+ sv: "St\xE4ng",
4135
+ en: "Close"
4136
+ },
4137
+ showMe: {
4138
+ nb: "Vis meg",
4139
+ nn: "Vis meg",
4140
+ sv: "Visa mig",
4141
+ en: "Show me"
4142
+ }
4143
+ });
4144
+ var WizardNudge = ({
4145
+ children,
4146
+ name,
4147
+ onClose,
4148
+ content,
4149
+ ...props
4150
+ }) => {
4151
+ const [currentStep, setCurrentStep] = useState(1);
4152
+ const totalSteps = content.length;
4153
+ const isLastStep = totalSteps === currentStep;
4154
+ const onNext = () => setCurrentStep((prev) => prev + 1);
4155
+ return /* @__PURE__ */ React69__default.createElement(
4156
+ Nudge,
4157
+ {
4158
+ onClose,
4159
+ name,
4160
+ content: content[currentStep - 1],
4161
+ actions: /* @__PURE__ */ React69__default.createElement(Flex, { gap: 3, alignItems: "center" }, /* @__PURE__ */ React69__default.createElement(
4162
+ ProgressIndicator,
4163
+ {
4164
+ activeStep: currentStep,
4165
+ numberOfSteps: totalSteps
4166
+ }
4167
+ ), /* @__PURE__ */ React69__default.createElement(Box, null, /* @__PURE__ */ React69__default.createElement(NextOrCloseButton, { isLastStep, onNext }))),
4168
+ ...props
4169
+ },
4170
+ children
4171
+ );
4124
4172
  };
4125
- var NextStepButton = ({ isLastStep, onNext }) => {
4173
+ var NextOrCloseButton = ({ isLastStep, onNext }) => {
4126
4174
  const { onClose } = usePopoverContext();
4127
4175
  const { t: t2 } = useTranslation();
4128
- return /* @__PURE__ */ React69.createElement(
4176
+ return /* @__PURE__ */ React69__default.createElement(
4129
4177
  Button,
4130
4178
  {
4131
4179
  variant: "tertiary",
4132
- size: "sm",
4133
- color: "white",
4134
- leftIcon: isLastStep ? void 0 : /* @__PURE__ */ React69.createElement(ArrowRightFill18Icon, null),
4135
- onClick: isLastStep ? onClose : onNext
4180
+ size: "xs",
4181
+ leftIcon: isLastStep ? void 0 : /* @__PURE__ */ React69__default.createElement(ArrowRightFill18Icon, null),
4182
+ onClick: isLastStep ? onClose : onNext,
4183
+ width: "fit-content"
4136
4184
  },
4137
- t2(isLastStep ? texts20.finish : texts20.nextStep)
4185
+ t2(isLastStep ? texts21.finish : texts21.nextStep)
4138
4186
  );
4139
4187
  };
4140
- var texts20 = createTexts({
4188
+ var texts21 = createTexts({
4141
4189
  nextStep: {
4142
4190
  nb: "Neste",
4143
4191
  nn: "Neste",
@@ -4151,41 +4199,6 @@ var texts20 = createTexts({
4151
4199
  en: "Finish"
4152
4200
  }
4153
4201
  });
4154
- var SimplePopover = ({
4155
- children,
4156
- triggerElement,
4157
- onClose,
4158
- isOpen,
4159
- defaultIsOpen,
4160
- placement = "bottom",
4161
- size: size2 = "sm",
4162
- withCloseButton = false,
4163
- borderRadius,
4164
- ...props
4165
- }) => {
4166
- return /* @__PURE__ */ React69__default.createElement(DarkMode, null, /* @__PURE__ */ React69__default.createElement(
4167
- Popover,
4168
- {
4169
- onClose,
4170
- isOpen,
4171
- defaultIsOpen,
4172
- placement,
4173
- size: size2,
4174
- arrowSize: 12,
4175
- arrowShadowColor: "none",
4176
- ...props
4177
- },
4178
- triggerElement && /* @__PURE__ */ React69__default.createElement(PopoverTrigger, null, triggerElement),
4179
- /* @__PURE__ */ React69__default.createElement(PopoverContent, { borderRadius }, /* @__PURE__ */ React69__default.createElement(PopoverArrow, null), withCloseButton && /* @__PURE__ */ React69__default.createElement(PopoverCloseButton, null), /* @__PURE__ */ React69__default.createElement(PopoverBody, null, children))
4180
- ));
4181
- };
4182
- var WizardPopover = ({
4183
- children,
4184
- triggerElement,
4185
- withCloseButton = false
4186
- }) => {
4187
- return /* @__PURE__ */ React69.createElement(DarkMode, null, /* @__PURE__ */ React69.createElement(Popover, { size: "lg" }, /* @__PURE__ */ React69.createElement(PopoverTrigger, null, triggerElement), /* @__PURE__ */ React69.createElement(PopoverContent, null, /* @__PURE__ */ React69.createElement(PopoverArrow, null), withCloseButton && /* @__PURE__ */ React69.createElement(PopoverCloseButton, null), /* @__PURE__ */ React69.createElement(PopoverWizardBody, null, children))));
4188
- };
4189
4202
  var ProgressDot = ({ isActive }) => {
4190
4203
  const style = useMultiStyleConfig("ProgressIndicator");
4191
4204
  return /* @__PURE__ */ React69__default.createElement(
@@ -4217,12 +4230,19 @@ var ProgressIndicator = ({
4217
4230
  "aria-valuemin": 1,
4218
4231
  "aria-valuemax": numberOfSteps,
4219
4232
  "aria-valuenow": activeStep,
4220
- "aria-valuetext": t2(texts21.stepsOf(activeStep, numberOfSteps))
4233
+ "aria-valuetext": t2(texts22.stepsOf(activeStep, numberOfSteps))
4221
4234
  },
4222
- /* @__PURE__ */ React69__default.createElement(Box, { __css: style.container }, Array.from({ length: numberOfSteps }, (_, i) => /* @__PURE__ */ React69__default.createElement(ProgressDot, { "aria-value": i + 1, isActive: activeStep === i + 1 })))
4235
+ /* @__PURE__ */ React69__default.createElement(Box, { __css: style.container }, Array.from({ length: numberOfSteps }, (_, i) => /* @__PURE__ */ React69__default.createElement(
4236
+ ProgressDot,
4237
+ {
4238
+ key: i,
4239
+ "aria-value": i + 1,
4240
+ isActive: activeStep === i + 1
4241
+ }
4242
+ )))
4223
4243
  );
4224
4244
  };
4225
- var texts21 = createTexts({
4245
+ var texts22 = createTexts({
4226
4246
  stepsOf: (activeStep, numberOfSteps) => ({
4227
4247
  nb: `Steg ${activeStep} av ${numberOfSteps}`,
4228
4248
  nn: `Steg ${activeStep} av ${numberOfSteps}`,
@@ -4305,7 +4325,7 @@ var Stepper = ({
4305
4325
  /* @__PURE__ */ React69__default.createElement(
4306
4326
  IconButton,
4307
4327
  {
4308
- "aria-label": t2(texts22.back),
4328
+ "aria-label": t2(texts23.back),
4309
4329
  icon: /* @__PURE__ */ React69__default.createElement(ArrowLeftFill24Icon, null),
4310
4330
  variant: "ghost",
4311
4331
  size: "sm",
@@ -4320,7 +4340,7 @@ var Stepper = ({
4320
4340
  }
4321
4341
  ),
4322
4342
  shownHeading && /* @__PURE__ */ React69__default.createElement(Text4, { flex: 1, variant: "sm", as: headingLevel, sx: style.title }, shownHeading),
4323
- /* @__PURE__ */ React69__default.createElement(Box, { sx: style.stepCounter }, t2(texts22.stepsOf(activeStep, numberOfSteps)))
4343
+ /* @__PURE__ */ React69__default.createElement(Box, { sx: style.stepCounter }, t2(texts23.stepsOf(activeStep, numberOfSteps)))
4324
4344
  )), /* @__PURE__ */ React69__default.createElement(Flex, { justifyContent: "center", display: ["none", null, "flex"] }, steps.map((step, index) => /* @__PURE__ */ React69__default.createElement(
4325
4345
  StepperStep,
4326
4346
  {
@@ -4334,7 +4354,7 @@ var Stepper = ({
4334
4354
  ))))
4335
4355
  ));
4336
4356
  };
4337
- var texts22 = createTexts({
4357
+ var texts23 = createTexts({
4338
4358
  stepsOf: (activeStep, numberOfSteps) => ({
4339
4359
  nb: `Steg ${activeStep}/${numberOfSteps}`,
4340
4360
  nn: `Steg ${activeStep}/${numberOfSteps}`,
@@ -9763,166 +9783,454 @@ var styles2 = {
9763
9783
  }
9764
9784
  })
9765
9785
  };
9766
- var focusVisibleStyles = (props) => ({
9767
- _focusVisible: {
9768
- outlineWidth: "2px",
9769
- outlineColor: mode("greenHaze", "azure")(props),
9770
- outlineStyle: "solid",
9771
- outlineOffset: "1px"
9772
- }
9773
- });
9774
9786
 
9775
- // src/theme/components/accordion.ts
9776
- var helpers = createMultiStyleConfigHelpers(accordionAnatomy.keys);
9777
- var config3 = helpers.defineMultiStyleConfig({
9778
- baseStyle: (props) => ({
9779
- container: {
9780
- border: "none",
9781
- borderRadius: "sm"
9782
- },
9783
- button: {
9784
- transitionProperty: "background-color, color, border-radius, box-shadow, opacity",
9785
- transitionDuration: "normal",
9786
- border: "none",
9787
- borderRadius: "sm",
9788
- borderColor: "osloGrey",
9789
- display: "flex",
9790
- justifyContent: "space-between",
9791
- color: mode("darkGrey", "white")(props),
9792
- textAlign: "left",
9793
- fontFamily: "body",
9794
- fontWeight: "bold",
9795
- ...focusVisibleStyles(props),
9796
- _disabled: {
9797
- opacity: 0.4,
9798
- cursor: "not-allowed"
9799
- }
9800
- },
9801
- panel: {
9802
- paddingY: 2,
9803
- borderBottomRadius: "sm"
9804
- },
9805
- icon: {
9806
- fontSize: "1.25em"
9807
- }
9808
- }),
9809
- variants: {
9810
- list: (props) => ({
9811
- button: {
9812
- boxShadow: "none",
9813
- _hover: {
9814
- backgroundColor: mode("seaMist", "pine")(props)
9815
- },
9816
- _active: {
9817
- backgroundColor: mode("mint", "whiteAlpha.200")(props)
9818
- }
9819
- }
9820
- }),
9821
- outline: (props) => ({
9822
- container: {
9823
- boxShadow: getBoxShadowString({
9824
- borderColor: mode(
9825
- colors.blackAlpha["400"],
9826
- colors.whiteAlpha["400"]
9827
- )(props)
9828
- })
9829
- },
9830
- button: {
9831
- _expanded: {
9832
- borderBottomRadius: "none"
9833
- },
9834
- _hover: {
9835
- boxShadow: getBoxShadowString({
9836
- borderColor: mode("darkGrey", "white")(props),
9837
- borderWidth: 2
9838
- })
9839
- },
9840
- _active: {
9841
- backgroundColor: mode("mint", "whiteAlpha.100")(props),
9842
- boxShadow: getBoxShadowString({
9843
- borderColor: mode("darkGrey", colors.whiteAlpha[400])(props)
9844
- })
9845
- }
9846
- }
9847
- }),
9848
- card: (props) => ({
9849
- container: {
9850
- backgroundColor: mode("white", "whiteAlpha.100")(props),
9851
- boxShadow: getBoxShadowString({
9852
- baseShadow: mode("sm", "none")(props),
9853
- borderColor: mode("silver", "whiteAlpha.400")(props)
9854
- })
9855
- },
9856
- button: {
9857
- _expanded: {
9858
- borderBottomRadius: "none"
9859
- },
9860
- _hover: {
9861
- backgroundColor: mode("seaMist", "whiteAlpha.200")(props),
9862
- boxShadow: getBoxShadowString({
9863
- borderColor: mode("darkGrey", "white")(props),
9864
- borderWidth: 1
9865
- })
9866
- },
9867
- _active: {
9868
- backgroundColor: mode("mint", "inherit")(props),
9869
- boxShadow: getBoxShadowString({
9870
- baseShadow: "none",
9871
- borderWidth: 1,
9872
- borderColor: mode("darkGrey", "whiteAlpha.400")(props)
9873
- })
9874
- }
9875
- }
9876
- })
9877
- },
9878
- sizes: {
9879
- sm: {
9880
- button: {
9881
- fontSize: ["mobile.xs", null, "desktop.xs"],
9882
- paddingX: 2,
9883
- paddingY: 1,
9884
- minHeight: 6
9885
- },
9886
- panel: {
9887
- fontSize: ["mobile.xs", null, "desktop.xs"],
9888
- paddingX: 2
9889
- }
9890
- },
9891
- md: {
9892
- button: {
9893
- fontSize: ["mobile.sm", null, "desktop.sm"],
9894
- paddingX: 3,
9895
- paddingY: 1,
9896
- minHeight: 7
9897
- },
9898
- panel: {
9899
- fontSize: ["mobile.sm", null, "desktop.sm"],
9900
- paddingX: 3
9901
- }
9902
- },
9903
- lg: {
9904
- button: {
9905
- fontSize: ["mobile.sm", null, "desktop.sm"],
9906
- paddingX: 3,
9907
- paddingY: 2,
9908
- minHeight: 8
9909
- },
9910
- panel: {
9911
- fontSize: ["mobile.sm", null, "desktop.sm"],
9912
- paddingX: 3
9913
- }
9914
- }
9915
- },
9916
- defaultProps: {
9917
- variant: "list",
9918
- size: "sm"
9787
+ // src/theme/utils/background-utils.ts
9788
+ function baseBackground(state2, props) {
9789
+ switch (state2) {
9790
+ case "active":
9791
+ return {
9792
+ backgroundColor: mode("mint", "whiteAlpha.100")(props)
9793
+ };
9794
+ case "selected":
9795
+ return {
9796
+ backgroundColor: mode("pine", "coralGreen")(props)
9797
+ };
9798
+ case "disabled":
9799
+ return {
9800
+ backgroundColor: mode("silver", "whiteAlpha.100")(props)
9801
+ };
9802
+ case "hover":
9803
+ return {
9804
+ backgroundColor: "transparent"
9805
+ };
9806
+ default:
9807
+ return {
9808
+ backgroundColor: "transparent"
9809
+ };
9919
9810
  }
9920
- });
9921
- var accordion_default = config3;
9922
-
9923
- // src/theme/components/alert.ts
9924
- var parts = anatomy("alert").parts("container", "icon", "closeButton");
9925
- var helpers2 = createMultiStyleConfigHelpers(parts.keys);
9811
+ }
9812
+ function ghostBackground(state2, props) {
9813
+ switch (state2) {
9814
+ case "hover": {
9815
+ return {
9816
+ backgroundColor: mode("seaMist", "whiteAlpha.100")(props)
9817
+ };
9818
+ }
9819
+ case "active":
9820
+ return {
9821
+ backgroundColor: mode("mint", "whiteAlpha.200")(props)
9822
+ };
9823
+ case "focus":
9824
+ return {
9825
+ backgroundColor: "transparent"
9826
+ };
9827
+ case "selected": {
9828
+ return {
9829
+ backgroundColor: mode("mint", "whiteAlpha.200")(props)
9830
+ };
9831
+ }
9832
+ case "default":
9833
+ default:
9834
+ return {
9835
+ backgroundColor: "transparent"
9836
+ };
9837
+ }
9838
+ }
9839
+ function floatingBackground(state2, props) {
9840
+ switch (state2) {
9841
+ case "selected":
9842
+ return {
9843
+ backgroundColor: mode("mint", "pine")(props)
9844
+ };
9845
+ case "active":
9846
+ return {
9847
+ backgroundColor: mode(
9848
+ "mint",
9849
+ `color-mix(in srgb, ${props.theme.colors.accent}, ${colors.white} 30%)`
9850
+ )(props)
9851
+ };
9852
+ case "hover":
9853
+ return {
9854
+ backgroundColor: mode(
9855
+ "white",
9856
+ `color-mix(in srgb, ${props.theme.colors.accent}, ${colors.white} 20%)`
9857
+ )(props)
9858
+ };
9859
+ case "focus":
9860
+ return {
9861
+ backgroundColor: mode(
9862
+ "white",
9863
+ `color-mix(in srgb, ${props.theme.colors.accent}, ${colors.white} 40%)`
9864
+ )(props)
9865
+ };
9866
+ case "default":
9867
+ default:
9868
+ return {
9869
+ backgroundColor: mode(
9870
+ "white",
9871
+ `color-mix(in srgb, ${props.theme.colors.accent}, ${colors.white} 10%)`
9872
+ )(props)
9873
+ };
9874
+ }
9875
+ }
9876
+ function accentBackground(state2, props) {
9877
+ switch (state2) {
9878
+ case "selected":
9879
+ return {
9880
+ backgroundColor: mode("primaryGreen", "coralGreen")(props)
9881
+ };
9882
+ case "active":
9883
+ return {
9884
+ backgroundColor: mode("mint", "darkTeal")(props)
9885
+ };
9886
+ case "hover":
9887
+ return {
9888
+ backgroundColor: mode("coralGreen", "greenHaze")(props)
9889
+ };
9890
+ case "focus":
9891
+ return {
9892
+ backgroundColor: mode("greenHaze", "azure")(props)
9893
+ };
9894
+ case "default":
9895
+ default:
9896
+ return {
9897
+ backgroundColor: mode("seaMist", "pine")(props)
9898
+ };
9899
+ }
9900
+ }
9901
+ function brandBackground(state2, props) {
9902
+ switch (state2) {
9903
+ case "selected":
9904
+ case "active":
9905
+ return {
9906
+ backgroundColor: mode("greenHaze", "seaMist")(props)
9907
+ };
9908
+ case "hover":
9909
+ return {
9910
+ backgroundColor: mode("darkTeal", "blueGreen")(props)
9911
+ };
9912
+ case "focus":
9913
+ case "default":
9914
+ default:
9915
+ return {
9916
+ backgroundColor: mode("pine", "coralGreen")(props)
9917
+ };
9918
+ }
9919
+ }
9920
+ function baseBorder(state2, props) {
9921
+ switch (state2) {
9922
+ case "hover":
9923
+ return {
9924
+ boxShadow: getBoxShadowString({
9925
+ borderColor: mode("darkGrey", "white")(props),
9926
+ borderWidth: 2
9927
+ })
9928
+ };
9929
+ case "focus": {
9930
+ return {
9931
+ boxShadow: getBoxShadowString({
9932
+ borderColor: mode("greenHaze", "azure")(props),
9933
+ borderWidth: 2
9934
+ })
9935
+ };
9936
+ }
9937
+ case "disabled": {
9938
+ return {
9939
+ boxShadow: getBoxShadowString({
9940
+ borderColor: mode("platinum", "whiteAlpha.400")(props)
9941
+ })
9942
+ };
9943
+ }
9944
+ case "selected":
9945
+ return {
9946
+ boxShadow: getBoxShadowString({
9947
+ borderColor: mode("greenHaze", "azure")(props)
9948
+ })
9949
+ };
9950
+ case "invalid": {
9951
+ return {
9952
+ boxShadow: getBoxShadowString({
9953
+ borderColor: "brightRed",
9954
+ borderWidth: 2
9955
+ })
9956
+ };
9957
+ }
9958
+ case "default":
9959
+ default:
9960
+ return {
9961
+ boxShadow: getBoxShadowString({
9962
+ borderColor: mode("blackAlpha.400", "whiteAlpha.400")(props)
9963
+ })
9964
+ };
9965
+ }
9966
+ }
9967
+ function floatingBorder(state2, props) {
9968
+ switch (state2) {
9969
+ case "hover":
9970
+ return {
9971
+ boxShadow: getBoxShadowString({
9972
+ borderColor: mode("grey.300", "white")(props)
9973
+ })
9974
+ };
9975
+ case "selected":
9976
+ case "focus":
9977
+ return {
9978
+ boxShadow: getBoxShadowString({
9979
+ borderColor: mode("greenHaze", "azure")(props),
9980
+ borderWidth: 2
9981
+ })
9982
+ };
9983
+ case "active":
9984
+ case "default":
9985
+ default:
9986
+ return {
9987
+ boxShadow: getBoxShadowString({
9988
+ borderColor: mode("grey.200", "whiteAlpha.400")(props),
9989
+ baseShadow: "sm"
9990
+ })
9991
+ };
9992
+ }
9993
+ }
9994
+ function accentBorder(state2, props) {
9995
+ switch (state2) {
9996
+ case "selected":
9997
+ return {
9998
+ boxShadow: getBoxShadowString({
9999
+ borderColor: mode("primaryGreen", "coralGreen")(props),
10000
+ borderWidth: 2
10001
+ })
10002
+ };
10003
+ case "active":
10004
+ return {
10005
+ boxShadow: getBoxShadowString({
10006
+ borderColor: mode("mint", "darkTeal")(props),
10007
+ borderWidth: 2
10008
+ })
10009
+ };
10010
+ case "hover":
10011
+ return {
10012
+ boxShadow: getBoxShadowString({
10013
+ borderColor: mode("coralGreen", "greenHaze")(props),
10014
+ borderWidth: 2
10015
+ })
10016
+ };
10017
+ case "focus":
10018
+ return {
10019
+ boxShadow: getBoxShadowString({
10020
+ borderColor: mode("greenHaze", "azure")(props),
10021
+ borderWidth: 2
10022
+ })
10023
+ };
10024
+ case "default":
10025
+ default:
10026
+ return {
10027
+ boxShadow: getBoxShadowString({
10028
+ borderColor: mode("seaMist", "pine")(props),
10029
+ borderWidth: 2
10030
+ })
10031
+ };
10032
+ }
10033
+ }
10034
+ function brandBorder(state2, props) {
10035
+ switch (state2) {
10036
+ case "selected":
10037
+ case "active":
10038
+ return {
10039
+ boxShadow: getBoxShadowString({
10040
+ borderColor: mode("greenHaze", "seaMist")(props),
10041
+ borderWidth: 2
10042
+ })
10043
+ };
10044
+ case "hover":
10045
+ return {
10046
+ boxShadow: getBoxShadowString({
10047
+ borderColor: mode("darkTeal", "blueGreen")(props),
10048
+ borderWidth: 2
10049
+ })
10050
+ };
10051
+ case "focus":
10052
+ case "default":
10053
+ default:
10054
+ return {
10055
+ boxShadow: getBoxShadowString({
10056
+ borderColor: mode("pine", "coralGreen")(props),
10057
+ borderWidth: 2
10058
+ })
10059
+ };
10060
+ }
10061
+ }
10062
+ var focusVisibleStyles = (props) => ({
10063
+ _focusVisible: {
10064
+ outlineWidth: "2px",
10065
+ outlineColor: mode("greenHaze", "azure")(props),
10066
+ outlineStyle: "solid",
10067
+ outlineOffset: "1px"
10068
+ }
10069
+ });
10070
+ function baseText(state2, props) {
10071
+ switch (state2) {
10072
+ case "selected":
10073
+ return {
10074
+ color: mode("white", "darkTeal")(props)
10075
+ };
10076
+ case "disabled":
10077
+ return {
10078
+ color: mode(
10079
+ "white",
10080
+ `color-mix(in srgb, ${props.theme.colors.accent}, ${colors.white} 40%)`
10081
+ )(props)
10082
+ };
10083
+ default:
10084
+ return {
10085
+ color: mode("darkGrey", "white")(props)
10086
+ };
10087
+ }
10088
+ }
10089
+ function accentText(state2, props) {
10090
+ switch (state2) {
10091
+ case "selected":
10092
+ return {
10093
+ color: mode("white", "darkTeal")(props)
10094
+ };
10095
+ case "default":
10096
+ default:
10097
+ return {
10098
+ color: mode("darkTeal", "seaMist")(props)
10099
+ };
10100
+ }
10101
+ }
10102
+
10103
+ // src/theme/components/accordion.ts
10104
+ var helpers = createMultiStyleConfigHelpers(accordionAnatomy.keys);
10105
+ var config3 = helpers.defineMultiStyleConfig({
10106
+ baseStyle: (props) => ({
10107
+ container: {
10108
+ border: "none",
10109
+ borderRadius: "sm"
10110
+ },
10111
+ button: {
10112
+ transitionProperty: "background-color, color, border-radius, box-shadow, opacity",
10113
+ transitionDuration: "normal",
10114
+ border: "none",
10115
+ borderRadius: "sm",
10116
+ borderColor: "osloGrey",
10117
+ display: "flex",
10118
+ justifyContent: "space-between",
10119
+ ...baseText("default", props),
10120
+ textAlign: "left",
10121
+ fontFamily: "body",
10122
+ fontWeight: "bold",
10123
+ ...focusVisibleStyles(props),
10124
+ _disabled: {
10125
+ opacity: 0.4,
10126
+ cursor: "not-allowed"
10127
+ }
10128
+ },
10129
+ panel: {
10130
+ paddingY: 2,
10131
+ borderBottomRadius: "sm"
10132
+ },
10133
+ icon: {
10134
+ fontSize: "1.25em"
10135
+ }
10136
+ }),
10137
+ variants: {
10138
+ ghost: (props) => ({
10139
+ button: {
10140
+ boxShadow: "none",
10141
+ _hover: {
10142
+ ...ghostBackground("hover", props)
10143
+ },
10144
+ _active: {
10145
+ ...ghostBackground("active", props)
10146
+ }
10147
+ }
10148
+ }),
10149
+ base: (props) => ({
10150
+ container: {
10151
+ ...baseBorder("default", props)
10152
+ },
10153
+ button: {
10154
+ _expanded: {
10155
+ borderBottomRadius: "none"
10156
+ },
10157
+ _hover: {
10158
+ ...baseBorder("hover", props)
10159
+ },
10160
+ _active: {
10161
+ ...baseBackground("active", props),
10162
+ ...baseBorder("default", props)
10163
+ }
10164
+ }
10165
+ }),
10166
+ floating: (props) => ({
10167
+ container: {
10168
+ ...floatingBackground("default", props),
10169
+ ...floatingBorder("default", props)
10170
+ },
10171
+ button: {
10172
+ _expanded: {
10173
+ borderBottomRadius: "none"
10174
+ },
10175
+ _hover: {
10176
+ ...ghostBackground("hover", props),
10177
+ ...floatingBorder("default", props)
10178
+ },
10179
+ _active: {
10180
+ ...ghostBackground("active", props),
10181
+ ...floatingBorder("default", props)
10182
+ }
10183
+ }
10184
+ })
10185
+ },
10186
+ sizes: {
10187
+ sm: {
10188
+ button: {
10189
+ fontSize: ["mobile.xs", null, "desktop.xs"],
10190
+ paddingX: 2,
10191
+ paddingY: 1,
10192
+ minHeight: 6
10193
+ },
10194
+ panel: {
10195
+ fontSize: ["mobile.xs", null, "desktop.xs"],
10196
+ paddingX: 2
10197
+ }
10198
+ },
10199
+ md: {
10200
+ button: {
10201
+ fontSize: ["mobile.sm", null, "desktop.sm"],
10202
+ paddingX: 3,
10203
+ paddingY: 1,
10204
+ minHeight: 7
10205
+ },
10206
+ panel: {
10207
+ fontSize: ["mobile.sm", null, "desktop.sm"],
10208
+ paddingX: 3
10209
+ }
10210
+ },
10211
+ lg: {
10212
+ button: {
10213
+ fontSize: ["mobile.sm", null, "desktop.sm"],
10214
+ paddingX: 3,
10215
+ paddingY: 2,
10216
+ minHeight: 8
10217
+ },
10218
+ panel: {
10219
+ fontSize: ["mobile.sm", null, "desktop.sm"],
10220
+ paddingX: 3
10221
+ }
10222
+ }
10223
+ },
10224
+ defaultProps: {
10225
+ variant: "ghost",
10226
+ size: "sm"
10227
+ }
10228
+ });
10229
+ var accordion_default = config3;
10230
+
10231
+ // src/theme/components/alert.ts
10232
+ var parts = anatomy("alert").parts("container", "icon", "closeButton");
10233
+ var helpers2 = createMultiStyleConfigHelpers(parts.keys);
9926
10234
  var config4 = helpers2.defineMultiStyleConfig({
9927
10235
  baseStyle: {
9928
10236
  container: {
@@ -10237,7 +10545,6 @@ var config6 = defineStyleConfig$1({
10237
10545
  minHeight: 5,
10238
10546
  minWidth: 5,
10239
10547
  fontSize: "16px",
10240
- paddingX: 2,
10241
10548
  fontWeight: "normal"
10242
10549
  }
10243
10550
  },
@@ -10327,164 +10634,78 @@ function getColorSchemeClickableProps({ colorScheme, size: size2 }) {
10327
10634
  baseShadow,
10328
10635
  borderColor: "steel"
10329
10636
  })
10330
- };
10331
- default:
10332
- return {
10333
- backgroundColor: ((_a6 = colors[colorScheme]) == null ? void 0 : _a6[100]) ?? "platinum",
10334
- boxShadow: getBoxShadowString({
10335
- baseShadow,
10336
- borderColor: ((_b5 = colors[colorScheme]) == null ? void 0 : _b5[200]) ?? "silver"
10337
- })
10338
- };
10339
- }
10340
- }
10341
- var getColorSchemeHoverProps = (props) => {
10342
- var _a6, _b5;
10343
- const { colorScheme, size: size2 } = props;
10344
- const baseShadow = size2 === "lg" ? "lg" : "md";
10345
- switch (colorScheme) {
10346
- case "white":
10347
- return {
10348
- backgroundColor: mode("white", "whiteAlpha.200")(props),
10349
- boxShadow: getBoxShadowString({
10350
- baseShadow,
10351
- borderColor: colors.steel
10352
- })
10353
- };
10354
- case "grey":
10355
- return {
10356
- boxShadow: getBoxShadowString({
10357
- baseShadow,
10358
- borderColor: colors.osloGrey
10359
- })
10360
- };
10361
- default:
10362
- return {
10363
- backgroundColor: ((_a6 = colors[colorScheme]) == null ? void 0 : _a6[200]) ?? "silver",
10364
- boxShadow: getBoxShadowString({
10365
- baseShadow,
10366
- borderColor: ((_b5 = colors[colorScheme]) == null ? void 0 : _b5[400]) ?? colors.silver
10367
- })
10368
- };
10369
- }
10370
- };
10371
- var getColorSchemeActiveProps = (props) => {
10372
- var _a6, _b5;
10373
- const { colorScheme, size: size2 } = props;
10374
- const baseShadow = size2 === "lg" ? "sm" : "none";
10375
- switch (colorScheme) {
10376
- case "white":
10377
- return {
10378
- backgroundColor: mode("mint", "teal")(props),
10379
- boxShadow: getBoxShadowString({
10380
- baseShadow,
10381
- borderColor: colors.silver
10382
- })
10383
- };
10384
- case "grey":
10385
- return {
10386
- backgroundColor: "white",
10387
- boxShadow: getBoxShadowString({
10388
- baseShadow,
10389
- borderColor: colors.steel
10390
- })
10391
- };
10392
- default:
10393
- return {
10394
- backgroundColor: ((_a6 = colors[colorScheme]) == null ? void 0 : _a6[50]) ?? "lightGrey",
10395
- boxShadow: getBoxShadowString({
10396
- baseShadow,
10397
- borderColor: ((_b5 = colors[colorScheme]) == null ? void 0 : _b5[100]) ?? colors.silver
10398
- })
10399
- };
10400
- }
10401
- };
10402
- function baseBackground(state2, props) {
10403
- switch (state2) {
10404
- case "active":
10405
- return {
10406
- backgroundColor: mode("mint", "whiteAlpha.100")(props)
10407
- };
10408
- case "selected":
10409
- return {
10410
- backgroundColor: mode("pine", "coralGreen")(props)
10411
- };
10412
- case "disabled":
10413
- return {
10414
- backgroundColor: mode("silver", "whiteAlpha.100")(props)
10415
- };
10416
- default:
10417
- return {
10418
- backgroundColor: "transparent"
10419
- };
10420
- }
10421
- }
10422
- function ghostBackground(state2, props) {
10423
- switch (state2) {
10424
- case "hover": {
10425
- return {
10426
- backgroundColor: mode("seaMist", "whiteAlpha.100")(props)
10427
- };
10428
- }
10429
- case "active":
10430
- return {
10431
- backgroundColor: mode("seaMist", "whiteAlpha.200")(props)
10432
- };
10433
- case "focus":
10434
- return {
10435
- backgroundColor: "transparent"
10436
- };
10437
- case "selected": {
10438
- return {
10439
- backgroundColor: mode("mint", "whiteAlpha.200")(props)
10440
- };
10441
- }
10442
- case "default":
10637
+ };
10443
10638
  default:
10444
10639
  return {
10445
- backgroundColor: "transparent"
10640
+ backgroundColor: ((_a6 = colors[colorScheme]) == null ? void 0 : _a6[100]) ?? "platinum",
10641
+ boxShadow: getBoxShadowString({
10642
+ baseShadow,
10643
+ borderColor: ((_b5 = colors[colorScheme]) == null ? void 0 : _b5[200]) ?? "silver"
10644
+ })
10446
10645
  };
10447
10646
  }
10448
10647
  }
10449
- function floatingBackground(state2, props) {
10450
- switch (state2) {
10451
- case "selected":
10648
+ var getColorSchemeHoverProps = (props) => {
10649
+ var _a6, _b5;
10650
+ const { colorScheme, size: size2 } = props;
10651
+ const baseShadow = size2 === "lg" ? "lg" : "md";
10652
+ switch (colorScheme) {
10653
+ case "white":
10452
10654
  return {
10453
- backgroundColor: mode("mint", "pine")(props)
10655
+ backgroundColor: mode("white", "whiteAlpha.200")(props),
10656
+ boxShadow: getBoxShadowString({
10657
+ baseShadow,
10658
+ borderColor: colors.steel
10659
+ })
10454
10660
  };
10455
- case "active":
10661
+ case "grey":
10456
10662
  return {
10457
- backgroundColor: mode(
10458
- "mint",
10459
- `color-mix(in srgb, ${props.theme.colors.accent}, ${colors.white} 30%)`
10460
- )(props)
10663
+ boxShadow: getBoxShadowString({
10664
+ baseShadow,
10665
+ borderColor: colors.osloGrey
10666
+ })
10461
10667
  };
10462
- case "hover":
10668
+ default:
10463
10669
  return {
10464
- backgroundColor: mode(
10465
- "white",
10466
- `color-mix(in srgb, ${props.theme.colors.accent}, ${colors.white} 20%)`
10467
- )(props)
10670
+ backgroundColor: ((_a6 = colors[colorScheme]) == null ? void 0 : _a6[200]) ?? "silver",
10671
+ boxShadow: getBoxShadowString({
10672
+ baseShadow,
10673
+ borderColor: ((_b5 = colors[colorScheme]) == null ? void 0 : _b5[400]) ?? colors.silver
10674
+ })
10468
10675
  };
10469
- case "focus":
10676
+ }
10677
+ };
10678
+ var getColorSchemeActiveProps = (props) => {
10679
+ var _a6, _b5;
10680
+ const { colorScheme, size: size2 } = props;
10681
+ const baseShadow = size2 === "lg" ? "sm" : "none";
10682
+ switch (colorScheme) {
10683
+ case "white":
10470
10684
  return {
10471
- backgroundColor: mode(
10472
- "white",
10473
- `color-mix(in srgb, ${props.theme.colors.accent}, ${colors.white} 40%)`
10474
- )(props)
10685
+ backgroundColor: mode("mint", "teal")(props),
10686
+ boxShadow: getBoxShadowString({
10687
+ baseShadow,
10688
+ borderColor: colors.silver
10689
+ })
10690
+ };
10691
+ case "grey":
10692
+ return {
10693
+ backgroundColor: "white",
10694
+ boxShadow: getBoxShadowString({
10695
+ baseShadow,
10696
+ borderColor: colors.steel
10697
+ })
10475
10698
  };
10476
- case "default":
10477
10699
  default:
10478
10700
  return {
10479
- backgroundColor: mode(
10480
- "white",
10481
- `color-mix(in srgb, ${props.theme.colors.accent}, ${colors.white} 10%)`
10482
- )(props)
10701
+ backgroundColor: ((_a6 = colors[colorScheme]) == null ? void 0 : _a6[50]) ?? "lightGrey",
10702
+ boxShadow: getBoxShadowString({
10703
+ baseShadow,
10704
+ borderColor: ((_b5 = colors[colorScheme]) == null ? void 0 : _b5[100]) ?? colors.silver
10705
+ })
10483
10706
  };
10484
10707
  }
10485
- }
10486
-
10487
- // src/theme/components/card-select.ts
10708
+ };
10488
10709
  var parts2 = anatomy("card-select").parts("trigger", "card");
10489
10710
  var helpers3 = createMultiStyleConfigHelpers(parts2.keys);
10490
10711
  var config8 = helpers3.defineMultiStyleConfig({
@@ -10699,66 +10920,152 @@ var helpers5 = createMultiStyleConfigHelpers$1(parts3.keys);
10699
10920
  var config10 = helpers5.defineMultiStyleConfig({
10700
10921
  baseStyle: (props) => ({
10701
10922
  container: {
10702
- backgroundColor: mode("white", "transparent")(props),
10703
- boxShadow: getBoxShadowString({ borderColor: "celadon" }),
10704
- color: mode("darkTeal", "white")(props),
10705
10923
  display: "inline-flex",
10706
10924
  alignItems: "center",
10707
10925
  fontSize: "16px",
10708
10926
  px: 1,
10927
+ cursor: "pointer",
10709
10928
  _checked: {
10710
- color: "white",
10711
- background: "pine",
10712
- boxShadow: getBoxShadowString({ borderColor: "celadon" })
10929
+ ...accentText("selected", props),
10930
+ ...accentBackground("selected", props),
10931
+ ...accentBorder("selected", props),
10932
+ _hover: {
10933
+ ...brandBackground("hover", props),
10934
+ ...baseText("selected", props),
10935
+ ...brandBorder("hover", props)
10936
+ },
10937
+ _active: {
10938
+ ...baseText("selected", props),
10939
+ ...brandBackground("active", props),
10940
+ ...brandBorder("active", props)
10941
+ }
10713
10942
  },
10714
- "input:focus-visible + &": focusVisibleStyles(props)._focusVisible,
10715
- "@media (hover:hover)": {
10943
+ _disabled: {
10944
+ cursor: "not-allowed",
10945
+ boxShadow: "none",
10946
+ ...baseText("disabled", props),
10947
+ ...baseBackground("disabled", props),
10716
10948
  _hover: {
10717
- color: mode("darkTeal", "white")(props),
10718
- boxShadow: getBoxShadowString({
10719
- borderColor: "greenHaze",
10720
- borderWidth: 2
10721
- }),
10722
- background: mode("coralGreen", "whiteAlpha.200")(props),
10723
- cursor: "pointer"
10949
+ ...baseBackground("disabled", props),
10950
+ boxShadow: "none",
10951
+ ...baseText("disabled", props)
10952
+ },
10953
+ _checked: {
10954
+ cursor: "not-allowed",
10955
+ boxShadow: "none",
10956
+ ...baseText("disabled", props),
10957
+ ...baseBackground("disabled", props),
10958
+ _hover: {
10959
+ ...baseBackground("disabled", props),
10960
+ boxShadow: "none",
10961
+ ...baseText("disabled", props)
10962
+ }
10724
10963
  }
10725
10964
  },
10726
- _active: {
10727
- backgroundColor: mode("mint", "whiteAlpha.300")(props),
10728
- boxShadow: getBoxShadowString({
10729
- borderColor: "pine"
10730
- })
10731
- }
10965
+ "input:focus-visible + &": focusVisibleStyles(props)._focusVisible
10732
10966
  },
10733
10967
  icon: {
10734
10968
  mr: props.hasLabel ? 1 : 0
10735
10969
  }
10736
10970
  }),
10971
+ variants: {
10972
+ base: (props) => ({
10973
+ container: {
10974
+ ...baseBackground("default", props),
10975
+ ...baseBorder("default", props),
10976
+ ...baseText("default", props),
10977
+ "@media (hover:hover)": {
10978
+ _hover: {
10979
+ ...baseText("default", props),
10980
+ ...baseBorder("hover", props),
10981
+ ...baseBackground("hover", props)
10982
+ }
10983
+ },
10984
+ _active: {
10985
+ ...baseBackground("active", props),
10986
+ ...baseBorder("default", props)
10987
+ }
10988
+ }
10989
+ }),
10990
+ accent: (props) => ({
10991
+ container: {
10992
+ ...accentBackground("default", props),
10993
+ ...accentText("default", props),
10994
+ ...accentBorder("default", props),
10995
+ "@media (hover:hover)": {
10996
+ _hover: {
10997
+ ...accentBackground("hover", props),
10998
+ ...accentBorder("hover", props),
10999
+ ...accentText("default", props)
11000
+ }
11001
+ },
11002
+ _active: {
11003
+ ...accentText("default", props),
11004
+ ...accentBorder("active", props),
11005
+ ...accentBackground("active", props)
11006
+ }
11007
+ },
11008
+ _active: {
11009
+ ...accentText("default", props),
11010
+ ...accentBorder("active", props),
11011
+ ...accentBackground("active", props)
11012
+ }
11013
+ }),
11014
+ floating: (props) => ({
11015
+ container: {
11016
+ ...floatingBackground("default", props),
11017
+ ...baseText("default", props),
11018
+ ...floatingBorder("default", props),
11019
+ _hover: {
11020
+ ...floatingBackground("hover", props),
11021
+ ...floatingBorder("hover", props),
11022
+ ...baseText("default", props)
11023
+ },
11024
+ _active: {
11025
+ ...floatingBackground("active", props),
11026
+ ...floatingBorder("active", props),
11027
+ ...baseText("default", props)
11028
+ }
11029
+ }
11030
+ })
11031
+ },
10737
11032
  sizes: {
10738
11033
  sm: {
10739
11034
  container: {
10740
- borderRadius: "15px",
11035
+ borderRadius: "30px",
11036
+ _checked: {
11037
+ borderRadius: "9px"
11038
+ },
10741
11039
  height: "30px",
10742
11040
  px: 1.5
10743
11041
  }
10744
11042
  },
10745
11043
  md: {
10746
11044
  container: {
10747
- borderRadius: "18px",
11045
+ borderRadius: "30px",
11046
+ _checked: {
11047
+ borderRadius: "12px"
11048
+ },
10748
11049
  height: "36px",
10749
11050
  px: 2
10750
11051
  }
10751
11052
  },
10752
11053
  lg: {
10753
11054
  container: {
10754
- borderRadius: "21px",
11055
+ borderRadius: "30px",
11056
+ _checked: {
11057
+ borderRadius: "12px"
11058
+ },
10755
11059
  height: "42px",
10756
11060
  px: 2
10757
11061
  }
10758
11062
  },
10759
11063
  xl: {
10760
11064
  container: {
10761
- borderRadius: "27px",
11065
+ borderRadius: "30px",
11066
+ _checked: {
11067
+ borderRadius: "18px"
11068
+ },
10762
11069
  height: "54px",
10763
11070
  px: 3
10764
11071
  }
@@ -10874,10 +11181,6 @@ var config13 = helpers6.defineMultiStyleConfig({
10874
11181
  },
10875
11182
  calendarTriggerButton: {
10876
11183
  backgroundColor: mode("white", "night")(props),
10877
- boxShadow: getBoxShadowString({
10878
- borderColor: mode("darkGrey", "white")(props),
10879
- borderWidth: 1
10880
- }),
10881
11184
  width: 8,
10882
11185
  display: "flex",
10883
11186
  alignItems: "center",
@@ -11404,79 +11707,6 @@ var config17 = defineStyleConfig$1({
11404
11707
  }
11405
11708
  });
11406
11709
  var form_label_default = config17;
11407
- function baseBorder(state2, props) {
11408
- switch (state2) {
11409
- case "hover":
11410
- return {
11411
- boxShadow: getBoxShadowString({
11412
- borderColor: mode("darkGrey", "white")(props),
11413
- borderWidth: 2
11414
- })
11415
- };
11416
- case "focus": {
11417
- return {
11418
- boxShadow: getBoxShadowString({
11419
- borderColor: mode("greenHaze", "azure")(props),
11420
- borderWidth: 2
11421
- })
11422
- };
11423
- }
11424
- case "disabled": {
11425
- return {
11426
- boxShadow: getBoxShadowString({
11427
- borderColor: mode("platinum", "whiteAlpha.400")(props)
11428
- })
11429
- };
11430
- }
11431
- case "selected":
11432
- return {
11433
- boxShadow: getBoxShadowString({
11434
- borderColor: mode("greenHaze", "azure")(props)
11435
- })
11436
- };
11437
- case "invalid": {
11438
- return {
11439
- boxShadow: getBoxShadowString({
11440
- borderColor: "brightRed",
11441
- borderWidth: 2
11442
- })
11443
- };
11444
- }
11445
- case "default":
11446
- default:
11447
- return {
11448
- boxShadow: getBoxShadowString({
11449
- borderColor: mode("blackAlpha.400", "whiteAlpha.400")(props)
11450
- })
11451
- };
11452
- }
11453
- }
11454
- function floatingBorder(state2, props) {
11455
- switch (state2) {
11456
- case "hover":
11457
- return {
11458
- boxShadow: getBoxShadowString({
11459
- borderColor: mode("grey.300", "white")(props)
11460
- })
11461
- };
11462
- case "selected":
11463
- case "focus":
11464
- return {
11465
- boxShadow: getBoxShadowString({
11466
- borderColor: mode("greenHaze", "azure")(props),
11467
- borderWidth: 2
11468
- })
11469
- };
11470
- case "active":
11471
- case "default":
11472
- default:
11473
- return {
11474
- boxShadow: getBoxShadowString({
11475
- borderColor: mode("grey.200", "whiteAlpha.400")(props)
11476
- })
11477
- };
11478
- }
11479
- }
11480
11710
 
11481
11711
  // src/theme/utils/sr-utils.ts
11482
11712
  var srOnly2 = {
@@ -12381,7 +12611,7 @@ var config27 = helpers18.defineMultiStyleConfig({
12381
12611
  zIndex: "popover"
12382
12612
  },
12383
12613
  content: {
12384
- [$popperBg2.variable]: mode(`colors.darkTeal`, `colors.pine`)(props),
12614
+ [$popperBg2.variable]: `colors.darkTeal`,
12385
12615
  backgroundColor: $popperBg2.reference,
12386
12616
  [$arrowBg3.variable]: $popperBg2.reference,
12387
12617
  [$arrowShadowColor2.variable]: `colors.blackAlpha.300`,
@@ -12403,14 +12633,13 @@ var config27 = helpers18.defineMultiStyleConfig({
12403
12633
  closeButton: {
12404
12634
  position: "absolute",
12405
12635
  color: "white",
12406
- hover: "whiteAlpha.100",
12407
12636
  ...focusVisibleStyles(props),
12408
12637
  _active: {
12409
12638
  backgroundColor: "whiteAlpha.200"
12410
12639
  },
12411
- borderRadius: "xs",
12412
- top: 1,
12413
- insetEnd: 1,
12640
+ borderRadius: "sm",
12641
+ top: 2,
12642
+ right: 2,
12414
12643
  width: 2,
12415
12644
  height: 2,
12416
12645
  padding: 1
@@ -13453,7 +13682,7 @@ var ToastIcon = ({ variant }) => {
13453
13682
  Icon,
13454
13683
  {
13455
13684
  flexShrink: 0,
13456
- "aria-label": t2(texts23[variant]),
13685
+ "aria-label": t2(texts24[variant]),
13457
13686
  marginRight: 1,
13458
13687
  marginY: 1.5,
13459
13688
  color: "darkGrey"
@@ -13470,7 +13699,7 @@ var getIcon3 = (variant) => {
13470
13699
  return ErrorOutline24Icon;
13471
13700
  }
13472
13701
  };
13473
- var texts23 = createTexts({
13702
+ var texts24 = createTexts({
13474
13703
  info: {
13475
13704
  nb: "Informasjon",
13476
13705
  nn: "Informasjon",
@@ -13514,13 +13743,13 @@ var ClosableToast = ({
13514
13743
  {
13515
13744
  sx: styles3.dismissButton,
13516
13745
  variant: "ghost",
13517
- "aria-label": t2(texts24.dismiss),
13746
+ "aria-label": t2(texts25.dismiss),
13518
13747
  icon: /* @__PURE__ */ React69__default.createElement(CloseFill18Icon, null),
13519
13748
  onClick: onClose
13520
13749
  }
13521
13750
  ));
13522
13751
  };
13523
- var texts24 = createTexts({
13752
+ var texts25 = createTexts({
13524
13753
  dismiss: {
13525
13754
  nb: "Lukk",
13526
13755
  nn: "Lukk",
@@ -13572,6 +13801,33 @@ var getToastComponent = (opts) => {
13572
13801
  }
13573
13802
  return ({ id }) => /* @__PURE__ */ React69__default.createElement(BaseToast, { id, variant: opts.variant }, opts.text);
13574
13803
  };
13804
+ var Tooltip = ({
13805
+ children,
13806
+ content,
13807
+ onClose,
13808
+ isOpen,
13809
+ defaultIsOpen,
13810
+ placement = "bottom",
13811
+ size: size2 = "sm",
13812
+ withCloseButton = false,
13813
+ ...props
13814
+ }) => {
13815
+ return /* @__PURE__ */ React69__default.createElement(DarkMode, null, /* @__PURE__ */ React69__default.createElement(
13816
+ Popover,
13817
+ {
13818
+ onClose,
13819
+ isOpen,
13820
+ defaultIsOpen,
13821
+ placement,
13822
+ size: size2,
13823
+ arrowSize: 12,
13824
+ arrowShadowColor: "none",
13825
+ ...props
13826
+ },
13827
+ /* @__PURE__ */ React69__default.createElement(PopoverTrigger, null, children),
13828
+ /* @__PURE__ */ React69__default.createElement(PopoverContent, null, /* @__PURE__ */ React69__default.createElement(PopoverArrow, null), withCloseButton && /* @__PURE__ */ React69__default.createElement(PopoverCloseButton, null), /* @__PURE__ */ React69__default.createElement(PopoverBody, null, content))
13829
+ ));
13830
+ };
13575
13831
 
13576
13832
  // ../../node_modules/@zag-js/element-size/dist/track-size.mjs
13577
13833
  function trackElementSize(element, callback) {
@@ -13678,4 +13934,4 @@ function slugify(text, maxLength = 50) {
13678
13934
  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);
13679
13935
  }
13680
13936
 
13681
- export { Accordion, AttachedInputs, Badge, Brand, Breadcrumb, BreadcrumbItem, BreadcrumbLink, Button, ButtonGroup, 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, FormLabel3 as FormLabel, Heading, IconButton, InfoSelect, InfoTag, Input, InputLeftElement2 as InputLeftElement, InputRightElement2 as InputRightElement, ItemDescription, ItemLabel, JumpButton, Language, LanguageProvider, LightFullScreenLoader, LightInlineLoader, LightSpinner, LineIcon, ListBox, ModalHeader, NativeSelect, NumericStepper, PasswordInput, PhoneNumberInput, PlayPauseButton, PopoverWizardBody, ProgressBar, ProgressIndicator, ProgressLoader, Radio, RadioGroup, SearchInput, SimpleDrawer, SimplePopover, Skeleton, SkeletonCircle, SkeletonText, SkipButton, SporProvider, Stack, StaticAlert, Stepper, StepperStep, Switch, Table, Tabs, Text4 as Text, TextLink, Textarea, TimePicker, TravelTag, VyLogo, WizardPopover, brandTheme, createTexts, fontFaces, slugify, theme, useSize, useToast, useTranslation };
13937
+ export { Accordion, AttachedInputs, Badge, Brand, Breadcrumb, BreadcrumbItem, BreadcrumbLink, Button, ButtonGroup, 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, FormLabel3 as FormLabel, 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, PasswordInput, PhoneNumberInput, PlayPauseButton, ProgressBar, ProgressIndicator, ProgressLoader, Radio, RadioGroup, SearchInput, SimpleDrawer, Skeleton, SkeletonCircle, SkeletonText, SkipButton, SporProvider, Stack, StaticAlert, Stepper, StepperStep, Switch, Table, Tabs, Text4 as Text, TextLink, Textarea, TimePicker, Tooltip, TravelTag, VyLogo, WizardNudge, brandTheme, createTexts, fontFaces, slugify, theme, useSize, useToast, useTranslation };