@vygruppen/spor-react 12.2.0 → 12.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
- import { useSlotRecipe, Accordion as Accordion$1, Stack, Box, HStack, Progress, defineRecipe, chakra, Text, useRecipe, Circle, Skeleton as Skeleton$1, Button as Button$1, Group as Group$1, Badge as Badge$1, Code as Code$1, Clipboard as Clipboard$1, IconButton as IconButton$1, useDisclosure, Alert as Alert$1, Span, Flex, Breadcrumb as Breadcrumb$1, ClientOnly as ClientOnly$1, Field as Field$1, defineSlotRecipe, PopoverAnchor, useFieldContext, Popover as Popover$1, Portal, Dialog, createContext as createContext$1, Drawer as Drawer$1, Grid, GridItem, usePopoverContext, Checkbox as Checkbox$1, CheckboxGroup as CheckboxGroup$1, Fieldset as Fieldset$1, InputElement, Input as Input$1, List as List$1, ListItem, NativeSelect as NativeSelect$1, useControllableState, createListCollection, RadioGroup as RadioGroup$1, Select as Select$1, Switch as Switch$1, Textarea as Textarea$1, FieldLabel as FieldLabel$1, RadioCard as RadioCard$1, Separator as Separator$1, Link, Center, Pagination as Pagination$1, usePaginationContext, createToaster, Tabs as Tabs$1, Table as Table$1, defineSemanticTokens, defineTokens, defineAnimationStyles, defineGlobalStyles, defineTextStyles, createSystem, defaultBaseConfig, VisuallyHidden, defineConfig, useCheckbox, ChakraProvider, Toaster as Toaster$1, Toast, Icon } from '@chakra-ui/react';
1
+ import { useSlotRecipe, Accordion as Accordion$1, Stack, Box, HStack, Progress, defineRecipe, chakra, Text, useRecipe, Circle, Skeleton as Skeleton$1, Button as Button$1, Group as Group$1, Badge as Badge$1, Code as Code$1, Clipboard as Clipboard$1, IconButton as IconButton$1, useDisclosure, Alert as Alert$1, Span, Flex, Breadcrumb as Breadcrumb$1, ClientOnly as ClientOnly$1, Field as Field$1, defineSlotRecipe, PopoverAnchor, useFieldContext, Popover as Popover$1, Portal, Dialog, createContext as createContext$1, Drawer as Drawer$1, Grid, GridItem, usePopoverContext, Checkbox as Checkbox$1, CheckboxGroup as CheckboxGroup$1, CheckboxCard, Fieldset as Fieldset$1, InputElement, Input as Input$1, List as List$1, ListItem, NativeSelect as NativeSelect$1, useControllableState, createListCollection, RadioGroup as RadioGroup$1, Select as Select$1, Switch as Switch$1, Textarea as Textarea$1, FieldLabel as FieldLabel$1, RadioCard as RadioCard$1, Separator as Separator$1, Link, Center, Pagination as Pagination$1, usePaginationContext, createToaster, Tabs as Tabs$1, Table as Table$1, defineSemanticTokens, defineTokens, defineAnimationStyles, defineGlobalStyles, defineTextStyles, createSystem, defaultBaseConfig, VisuallyHidden, defineConfig, ChakraProvider, Toaster as Toaster$1, Toast, Icon } from '@chakra-ui/react';
2
2
  export { Box, BreadcrumbCurrentLink, BreadcrumbEllipsis, BreadcrumbLink, Center, Collapsible, Container, Em, Flex, For, FormatByte, FormatNumber, Grid, GridItem, HStack, Image, Kbd, LocaleProvider, Portal, Show, SimpleGrid, Spacer, Span, Stack, TableBody, TableCaption, TableCell, TableColumn, TableColumnHeader, TableFooter, TableHeader, TableRoot, TableRow, VStack, VisuallyHidden, createListCollection, createSystem, defineConfig, defineRecipe, defineStyle, useBreakpointValue, useCheckbox, useClipboard, useControllableProp, useDisclosure, useMediaQuery, useToken } from '@chakra-ui/react';
3
3
  import { DropdownDownFill24Icon, CopyOutline18Icon, CheckmarkFill18Icon, CloseFill30Icon, CloseFill24Icon, CloseFill18Icon, DropdownDownFill18Icon, ServiceFill24Icon, WarningFill24Icon, DropdownRightFill18Icon, CalendarOutline24Icon, ArrowLeftFill24Icon, CloseOutline24Icon, SearchOutline24Icon, InformationFill24Icon, InformationFill18Icon, WarningFill18Icon, ErrorFill24Icon, ErrorFill18Icon, Forward15MediaControllerFill30Icon, Backward15MediaControllerFill30Icon, PauseMediaControllerFill24Icon, PlayMediaControllerFill24Icon, NextMediaControllerFill30Icon, PreviousMediaControllerFill30Icon, ArrowRightFill18Icon, DropdownLeftOutline18Icon, DropdownRightOutline18Icon, WalkFill30Icon, WalkFill24Icon, WalkFill18Icon, AltTransportFill30Icon, AltTransportFill24Icon, AltTransportFill18Icon, TramFill30Icon, TramFill24Icon, TramFill18Icon, SubwayFill30Icon, SubwayFill24Icon, SubwayFill18Icon, FerryFill30Icon, FerryFill24Icon, FerryFill18Icon, BusFill30Icon, BusFill24Icon, BusFill18Icon, ExpressBusFill30Icon, ExpressBusFill24Icon, ExpressBusFill18Icon, TrainFill30Icon, TrainFill24Icon, TrainFill18Icon, LinkOutOutline24Icon, QuestionFill24Icon, ErrorOutline24Icon, SuccessFill24Icon, ArrowLeftOutline24Icon, ArrowRightOutline24Icon, DropdownLeftFill18Icon, SuccessFill18Icon } from '@vygruppen/spor-icon-react';
4
- import * as React28 from 'react';
5
- import React28__default, { forwardRef, createContext, useId, cloneElement, useEffect, useRef, useState, isValidElement, useMemo, useLayoutEffect, useContext } from 'react';
4
+ import * as React29 from 'react';
5
+ import React29__default, { forwardRef, createContext, useId, cloneElement, useEffect, useRef, useState, isValidElement, useMemo, useLayoutEffect, useContext } from 'react';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
7
  import { spinnerColorData, inlineLoaderColorData, contentLoaderData, fullScreenLoaderWhiteData, inlineLoaderDarkData, spinnerLightData, spinnerDarkData, fullScreenLoaderBlackData, inlineLoaderLightData } from '@vygruppen/spor-loader';
8
8
  import ReactLottie from 'lottie-react';
@@ -540,7 +540,7 @@ var skeletonRecipe = defineRecipe({
540
540
  }
541
541
  }
542
542
  });
543
- var SkeletonCircle = React28.forwardRef(function SkeletonCircle2(props, ref) {
543
+ var SkeletonCircle = React29.forwardRef(function SkeletonCircle2(props, ref) {
544
544
  const recipe = useRecipe({ recipe: skeletonRecipe });
545
545
  const [recipeProps, restProps] = recipe.splitVariantProps({
546
546
  loading: true,
@@ -816,7 +816,7 @@ var codeRecipie = defineRecipe({
816
816
  }
817
817
  });
818
818
  var StyledCode = chakra(Code$1, codeRecipie);
819
- var Code = React28__default.forwardRef(
819
+ var Code = React29__default.forwardRef(
820
820
  function Code2(props, ref) {
821
821
  return /* @__PURE__ */ jsx(StyledCode, { ...props, ref });
822
822
  }
@@ -850,7 +850,7 @@ var Text3 = forwardRef(
850
850
  return /* @__PURE__ */ jsx(Text, { ...rest, textStyle: variant, ref });
851
851
  }
852
852
  );
853
- var ClipboardIcon = React28.forwardRef((props, ref) => {
853
+ var ClipboardIcon = React29.forwardRef((props, ref) => {
854
854
  return /* @__PURE__ */ jsx(
855
855
  Clipboard$1.Indicator,
856
856
  {
@@ -862,7 +862,7 @@ var ClipboardIcon = React28.forwardRef((props, ref) => {
862
862
  );
863
863
  });
864
864
  ClipboardIcon.displayName = "ClipboardIcon";
865
- var ClipboardCopyText = React28.forwardRef((props, ref) => {
865
+ var ClipboardCopyText = React29.forwardRef((props, ref) => {
866
866
  const { t } = useTranslation();
867
867
  return /* @__PURE__ */ jsx(
868
868
  Clipboard$1.Indicator,
@@ -875,7 +875,7 @@ var ClipboardCopyText = React28.forwardRef((props, ref) => {
875
875
  );
876
876
  });
877
877
  ClipboardCopyText.displayName = "ClipboardCopyText";
878
- var ClipboardButton = React28.forwardRef((props, ref) => {
878
+ var ClipboardButton = React29.forwardRef((props, ref) => {
879
879
  return /* @__PURE__ */ jsx(Clipboard$1.Trigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { ref, size: "xs", leftIcon: /* @__PURE__ */ jsx(ClipboardIcon, {}), ...props, children: /* @__PURE__ */ jsx(ClipboardCopyText, {}) }) });
880
880
  });
881
881
  ClipboardButton.displayName = "ClipboardButton";
@@ -959,7 +959,7 @@ var FloatingActionButton = forwardRef(
959
959
  placement = "bottom right",
960
960
  ...props
961
961
  }, ref) => {
962
- const [isTextVisible, setIsTextVisible] = React28__default.useState(
962
+ const [isTextVisible, setIsTextVisible] = React29__default.useState(
963
963
  externalIsTextVisible === void 0 ? false : externalIsTextVisible
964
964
  );
965
965
  const scrollDirection = useScrollDirection();
@@ -1000,11 +1000,11 @@ var FloatingActionButton = forwardRef(
1000
1000
  );
1001
1001
  FloatingActionButton.displayName = "FloatingActionButton";
1002
1002
  var useScrollDirection = () => {
1003
- const [scrollDirection, setScrollDirection] = React28__default.useState(null);
1004
- const lastScrollPosition = React28__default.useRef(
1003
+ const [scrollDirection, setScrollDirection] = React29__default.useState(null);
1004
+ const lastScrollPosition = React29__default.useRef(
1005
1005
  globalThis.window === void 0 ? 0 : window.scrollY
1006
1006
  );
1007
- React28__default.useEffect(() => {
1007
+ React29__default.useEffect(() => {
1008
1008
  const onScroll = () => {
1009
1009
  const delta = window.scrollY - lastScrollPosition.current;
1010
1010
  if (delta === 0) {
@@ -1322,12 +1322,12 @@ var texts6 = createTexts({
1322
1322
  });
1323
1323
  var Breadcrumb = forwardRef(
1324
1324
  ({ children, ...props }, ref) => {
1325
- const validChildren = React28__default.Children.toArray(children).filter(
1326
- (element) => React28__default.isValidElement(element)
1325
+ const validChildren = React29__default.Children.toArray(children).filter(
1326
+ (element) => React29__default.isValidElement(element)
1327
1327
  );
1328
1328
  return /* @__PURE__ */ jsx(Breadcrumb$1.Root, { ref, ...props, children: /* @__PURE__ */ jsx(Breadcrumb$1.List, { children: validChildren.map((child, index) => {
1329
1329
  const isLast = index === validChildren.length - 1;
1330
- return /* @__PURE__ */ jsxs(React28__default.Fragment, { children: [
1330
+ return /* @__PURE__ */ jsxs(React29__default.Fragment, { children: [
1331
1331
  /* @__PURE__ */ jsx(Breadcrumb$1.Item, { children: child }),
1332
1332
  !isLast && /* @__PURE__ */ jsx(Breadcrumb$1.Separator, { "aria-hidden": "true", children: /* @__PURE__ */ jsx(DropdownRightFill18Icon, {}) })
1333
1333
  ] }, index);
@@ -1357,7 +1357,7 @@ function ColorModeIcon() {
1357
1357
  const { colorMode } = useColorMode();
1358
1358
  return colorMode === "dark" ? /* @__PURE__ */ jsx(LuMoon, {}) : /* @__PURE__ */ jsx(LuSun, {});
1359
1359
  }
1360
- var ColorModeButton = React28.forwardRef(function ColorModeButton2(props, ref) {
1360
+ var ColorModeButton = React29.forwardRef(function ColorModeButton2(props, ref) {
1361
1361
  const { toggleColorMode } = useColorMode();
1362
1362
  return /* @__PURE__ */ jsx(ClientOnly$1, { fallback: /* @__PURE__ */ jsx(Skeleton$1, { boxSize: "8" }), children: /* @__PURE__ */ jsx(
1363
1363
  IconButton$1,
@@ -1378,7 +1378,7 @@ var ColorModeButton = React28.forwardRef(function ColorModeButton2(props, ref) {
1378
1378
  }
1379
1379
  ) });
1380
1380
  });
1381
- var Field = React28.forwardRef(
1381
+ var Field = React29.forwardRef(
1382
1382
  (props, ref) => {
1383
1383
  const { label, children, helperText, errorText, ...rest } = props;
1384
1384
  const recipe = useSlotRecipe({ key: "field" });
@@ -1392,7 +1392,7 @@ var Field = React28.forwardRef(
1392
1392
  }
1393
1393
  );
1394
1394
  Field.displayName = "Field";
1395
- var FieldErrorText = React28.forwardRef((props, ref) => {
1395
+ var FieldErrorText = React29.forwardRef((props, ref) => {
1396
1396
  return /* @__PURE__ */ jsx(Field$1.ErrorText, { ref, children: props.children });
1397
1397
  });
1398
1398
  FieldErrorText.displayName = "FieldErrorText";
@@ -1637,6 +1637,15 @@ var datepickerAnatomy = createAnatomy("datepicker").parts(
1637
1637
  "box",
1638
1638
  "rangeCalendarPopover"
1639
1639
  );
1640
+ var checkboxCardAnatomy = createAnatomy("checkbox-card", [
1641
+ "root",
1642
+ "control",
1643
+ "label",
1644
+ "description",
1645
+ "addon",
1646
+ "indicator",
1647
+ "content"
1648
+ ]);
1640
1649
 
1641
1650
  // src/theme/slot-recipes/datepicker.ts
1642
1651
  var datePickerSlotRecipe = defineSlotRecipe({
@@ -2740,7 +2749,7 @@ var texts11 = createTexts({
2740
2749
  function useFieldContext4() {
2741
2750
  throw new Error("Function not implemented.");
2742
2751
  }
2743
- var DialogContent = React28.forwardRef((props, ref) => {
2752
+ var DialogContent = React29.forwardRef((props, ref) => {
2744
2753
  const {
2745
2754
  children,
2746
2755
  portalled = true,
@@ -2754,7 +2763,7 @@ var DialogContent = React28.forwardRef((props, ref) => {
2754
2763
  ] });
2755
2764
  });
2756
2765
  DialogContent.displayName = "DialogContent";
2757
- var DialogCloseTrigger = React28.forwardRef(function DialogCloseTrigger2(props, ref) {
2766
+ var DialogCloseTrigger = React29.forwardRef(function DialogCloseTrigger2(props, ref) {
2758
2767
  return /* @__PURE__ */ jsx(Dialog.CloseTrigger, { ref, ...props, asChild: true, children: /* @__PURE__ */ jsx(CloseButton, { size: "md" }) });
2759
2768
  });
2760
2769
  var DialogRoot = Dialog.Root;
@@ -2953,7 +2962,7 @@ var CardSelectTrigger = forwardRef(
2953
2962
  }
2954
2963
  );
2955
2964
  CardSelectTrigger.displayName = "CardSelectTrigger";
2956
- var Checkbox = React28.forwardRef(
2965
+ var Checkbox = React29.forwardRef(
2957
2966
  (props, ref) => {
2958
2967
  const { children, inputProps, rootRef, ...rest } = props;
2959
2968
  return /* @__PURE__ */ jsxs(Checkbox$1.Root, { ref: rootRef, ...rest, children: [
@@ -2971,184 +2980,19 @@ var CheckboxGroup = forwardRef(
2971
2980
  }
2972
2981
  );
2973
2982
  CheckboxGroup.displayName = "CheckboxGroup";
2974
- var choiceChipRecipe = defineRecipe({
2975
- base: {
2976
- display: "inline-flex",
2977
- alignItems: "center",
2978
- boxAlign: "center",
2979
- fontSize: "xs",
2980
- cursor: "pointer",
2981
- transitionProperty: "all",
2982
- borderRadius: "xl",
2983
- transitionDuration: "fast",
2984
- height: 6,
2985
- paddingInlineStart: "2",
2986
- paddingInlineEnd: "2",
2987
- outline: "1px solid",
2988
- outlineColor: "base.outline",
2989
- _checked: {
2990
- backgroundColor: "brand.surface",
2991
- borderRadius: "sm",
2992
- outline: "none",
2993
- color: "brand.text",
2994
- _hover: {
2995
- backgroundColor: "brand.surface.hover",
2996
- _active: {
2997
- backgroundColor: "brand.surface.active"
2998
- }
2999
- }
3000
- },
3001
- _focusVisible: {
3002
- outline: "2px solid",
3003
- outlineColor: "outline.focus",
3004
- outlineOffset: "1px"
3005
- },
3006
- _disabled: {
3007
- pointerEvents: "none",
3008
- boxShadow: "none",
3009
- backgroundColor: "surface.disabled",
3010
- color: "text.disabled",
3011
- outline: "none",
3012
- _hover: {
3013
- backgroundColor: "core.surface.disabled",
3014
- boxShadow: "none",
3015
- color: "core.text.disabled"
3016
- },
3017
- _checked: {
3018
- cursor: "not-allowed",
3019
- boxShadow: "none",
3020
- color: "core.text.disabled",
3021
- backgroundColor: "core.surface.disabled",
3022
- _hover: {
3023
- backgroundColor: "core.surface.disabled",
3024
- boxShadow: "none",
3025
- color: "core.text.disabled"
3026
- }
3027
- }
3028
- }
3029
- },
3030
- variants: {
3031
- variant: {
3032
- core: {
3033
- color: "core.text",
3034
- outlineColor: "core.outline",
3035
- _hover: {
3036
- outline: "2px solid",
3037
- outlineColor: "core.outline.hover",
3038
- _active: {
3039
- outline: "1px solid",
3040
- outlineColor: "core.outline",
3041
- backgroundColor: "core.surface.active"
3042
- }
3043
- }
3044
- },
3045
- accent: {
3046
- backgroundColor: "accent.surface",
3047
- color: "accent.text",
3048
- outline: "none",
3049
- _hover: {
3050
- backgroundColor: "accent.surface.hover",
3051
- _active: {
3052
- backgroundColor: "accent.surface.active"
3053
- }
3054
- }
3055
- },
3056
- floating: {
3057
- backgroundColor: "floating.surface",
3058
- outline: "1px solid",
3059
- outlineColor: "floating.outline",
3060
- color: "floating.text",
3061
- boxShadow: "sm",
3062
- _hover: {
3063
- backgroundColor: "floating.surface.hover",
3064
- outline: "1px solid",
3065
- outlineColor: "floating.outline.hover",
3066
- _active: {
3067
- backgroundColor: "floating.surface.active",
3068
- outline: "1px solid",
3069
- outlineColor: "floating.outline"
3070
- }
3071
- }
3072
- }
3073
- },
3074
- size: {
3075
- xs: {
3076
- _checked: {
3077
- borderRadius: "0.563rem"
3078
- },
3079
- height: 5,
3080
- paddingX: 1.5
3081
- },
3082
- sm: {
3083
- _checked: {
3084
- borderRadius: "sm"
3085
- },
3086
- height: 6,
3087
- paddingX: 2
3088
- },
3089
- md: {
3090
- _checked: {
3091
- borderRadius: "sm"
3092
- },
3093
- height: 7,
3094
- paddingX: 2
3095
- },
3096
- lg: {
3097
- _checked: {
3098
- borderRadius: "md"
3099
- },
3100
- height: 8,
3101
- paddingX: 3
3102
- }
3103
- }
2983
+ var ChoiceChip = forwardRef(
2984
+ ({ children, icon, ...rootProps }, ref) => {
2985
+ return /* @__PURE__ */ jsx(CheckboxCard.Root, { ...rootProps, children: /* @__PURE__ */ jsx(CheckboxCard.Context, { children: ({ checked }) => /* @__PURE__ */ jsxs(Fragment, { children: [
2986
+ /* @__PURE__ */ jsx(CheckboxCard.HiddenInput, { ref }),
2987
+ /* @__PURE__ */ jsx(CheckboxCard.Control, { children: /* @__PURE__ */ jsx(CheckboxCard.Content, { children: /* @__PURE__ */ jsxs(CheckboxCard.Label, { children: [
2988
+ icon && /* @__PURE__ */ jsx(Span, { width: "24px", children: checked ? icon.checked : icon.default }),
2989
+ rootProps.chipType !== "icon" && children,
2990
+ rootProps.chipType === "filter" && checked && /* @__PURE__ */ jsx(CloseOutline24Icon, {})
2991
+ ] }) }) })
2992
+ ] }) }) });
3104
2993
  }
3105
- });
3106
- var ChoiceChipStyledDiv = chakra("div", choiceChipRecipe);
3107
- var ChoiceChip = ({
3108
- children,
3109
- icon,
3110
- size = "sm",
3111
- chipType = "choice",
3112
- variant = "core",
3113
- ...props
3114
- }) => {
3115
- const {
3116
- getControlProps,
3117
- disabled,
3118
- getLabelProps,
3119
- getHiddenInputProps,
3120
- setChecked,
3121
- checked
3122
- } = useCheckbox(props);
3123
- return /* @__PURE__ */ jsxs(
3124
- chakra.label,
3125
- {
3126
- ...getLabelProps(),
3127
- "aria-label": props["aria-label"] ?? String(children),
3128
- children: [
3129
- /* @__PURE__ */ jsx(
3130
- chakra.input,
3131
- {
3132
- ...getHiddenInputProps(),
3133
- disabled,
3134
- defaultChecked: checked,
3135
- value: checked ? "on" : "off",
3136
- type: "checkbox",
3137
- "aria-checked": checked,
3138
- onClick: () => {
3139
- setChecked(!checked);
3140
- }
3141
- }
3142
- ),
3143
- /* @__PURE__ */ jsxs(ChoiceChipStyledDiv, { ...getControlProps(), size, variant, children: [
3144
- icon && /* @__PURE__ */ jsx(Span, { children: checked ? icon.checked : icon.default }),
3145
- chipType !== "icon" && /* @__PURE__ */ jsx(Span, { children }),
3146
- chipType === "filter" && checked && /* @__PURE__ */ jsx(CloseOutline24Icon, { marginLeft: 1.5 })
3147
- ] })
3148
- ]
3149
- }
3150
- );
3151
- };
2994
+ );
2995
+ ChoiceChip.displayName = "ChoiceChip";
3152
2996
  var Popover = forwardRef(
3153
2997
  ({
3154
2998
  children,
@@ -3453,7 +3297,7 @@ var inputRecipe = defineRecipe({
3453
3297
  variant: "core"
3454
3298
  }
3455
3299
  });
3456
- var InputGroup = React28.forwardRef(
3300
+ var InputGroup = React29.forwardRef(
3457
3301
  (props, ref) => {
3458
3302
  const {
3459
3303
  startElement,
@@ -3474,7 +3318,7 @@ var InputGroup = React28.forwardRef(
3474
3318
  children: startElement
3475
3319
  }
3476
3320
  ),
3477
- React28.cloneElement(children, {
3321
+ React29.cloneElement(children, {
3478
3322
  ...children.props
3479
3323
  }),
3480
3324
  label && /* @__PURE__ */ jsx(FieldLabel, { left: startElement ? 4 : "0", right: endElement ? 4 : 0, children: label }),
@@ -3594,7 +3438,7 @@ function Option({ item, state }) {
3594
3438
  }, []);
3595
3439
  return /* @__PURE__ */ jsx(OptionContext.Provider, { value: { labelProps, descriptionProps }, children: /* @__PURE__ */ jsx(ListItem, { ...optionProps, ...dataFields, ref, css: styles.item, children: item.rendered }) });
3596
3440
  }
3597
- var OptionContext = React28__default.createContext({
3441
+ var OptionContext = React29__default.createContext({
3598
3442
  labelProps: {},
3599
3443
  descriptionProps: {}
3600
3444
  });
@@ -3814,7 +3658,7 @@ var nativeSelectSlotRecipe = defineSlotRecipe({
3814
3658
  }
3815
3659
  }
3816
3660
  });
3817
- var NativeSelect = React28.forwardRef(function NativeSelect2(props, ref) {
3661
+ var NativeSelect = React29.forwardRef(function NativeSelect2(props, ref) {
3818
3662
  const {
3819
3663
  children,
3820
3664
  variant = "core",
@@ -3904,7 +3748,7 @@ var numericStepperRecipe = defineSlotRecipe({
3904
3748
  }
3905
3749
  }
3906
3750
  });
3907
- var NumericStepper = React28__default.forwardRef(
3751
+ var NumericStepper = React29__default.forwardRef(
3908
3752
  ({
3909
3753
  name: nameProp,
3910
3754
  id: idProp,
@@ -4011,7 +3855,7 @@ var NumericStepper = React28__default.forwardRef(
4011
3855
  }
4012
3856
  );
4013
3857
  NumericStepper.displayName = "NumericStepper";
4014
- var VerySmallButton = React28__default.forwardRef((props, ref) => {
3858
+ var VerySmallButton = React29__default.forwardRef((props, ref) => {
4015
3859
  const recipe = useSlotRecipe({ recipe: numericStepperRecipe });
4016
3860
  const styles = recipe({ colorPalette: "default" });
4017
3861
  return /* @__PURE__ */ jsx(
@@ -4139,7 +3983,7 @@ var PasswordInput = forwardRef(
4139
3983
  }
4140
3984
  );
4141
3985
  PasswordInput.displayName = "PasswordInput";
4142
- var VisibilityTrigger = React28__default.forwardRef(
3986
+ var VisibilityTrigger = React29__default.forwardRef(
4143
3987
  (props, ref) => {
4144
3988
  return /* @__PURE__ */ jsx(
4145
3989
  Button$1,
@@ -4373,7 +4217,7 @@ var texts17 = createTexts({
4373
4217
  en: "Reset search field"
4374
4218
  }
4375
4219
  });
4376
- var Select = React28.forwardRef(
4220
+ var Select = React29.forwardRef(
4377
4221
  (props, ref) => {
4378
4222
  const { variant = "core", children, positioning, label, ...rest } = props;
4379
4223
  const recipe = useSlotRecipe({ key: "select" });
@@ -4397,7 +4241,7 @@ var Select = React28.forwardRef(
4397
4241
  }
4398
4242
  );
4399
4243
  Select.displayName = "Select";
4400
- var SelectItem = React28.forwardRef(
4244
+ var SelectItem = React29.forwardRef(
4401
4245
  (props, ref) => {
4402
4246
  const { item, children, description, ...rest } = props;
4403
4247
  const recipe = useSlotRecipe({ key: "select" });
@@ -4412,14 +4256,14 @@ var SelectItem = React28.forwardRef(
4412
4256
  }
4413
4257
  );
4414
4258
  SelectItem.displayName = "SelectItem";
4415
- var SelectItemGroup = React28.forwardRef(function SelectItemGroup2(props, ref) {
4259
+ var SelectItemGroup = React29.forwardRef(function SelectItemGroup2(props, ref) {
4416
4260
  const { children, label, ...rest } = props;
4417
4261
  return /* @__PURE__ */ jsxs(Select$1.ItemGroup, { ...rest, ref, children: [
4418
4262
  /* @__PURE__ */ jsx(Select$1.ItemGroupLabel, { children: label }),
4419
4263
  children
4420
4264
  ] });
4421
4265
  });
4422
- var SelectTrigger = React28.forwardRef(function SelectTrigger2(props, ref) {
4266
+ var SelectTrigger = React29.forwardRef(function SelectTrigger2(props, ref) {
4423
4267
  const { children, clearable, ...rest } = props;
4424
4268
  const recipe = useSlotRecipe({ key: "select" });
4425
4269
  const styles = recipe();
@@ -4431,7 +4275,7 @@ var SelectTrigger = React28.forwardRef(function SelectTrigger2(props, ref) {
4431
4275
  ] })
4432
4276
  ] });
4433
4277
  });
4434
- var SelectClearTrigger = React28.forwardRef(function SelectClearTrigger2(props, ref) {
4278
+ var SelectClearTrigger = React29.forwardRef(function SelectClearTrigger2(props, ref) {
4435
4279
  return /* @__PURE__ */ jsx(Select$1.ClearTrigger, { asChild: true, ...props, ref, children: /* @__PURE__ */ jsx(
4436
4280
  CloseButton,
4437
4281
  {
@@ -4442,11 +4286,11 @@ var SelectClearTrigger = React28.forwardRef(function SelectClearTrigger2(props,
4442
4286
  }
4443
4287
  ) });
4444
4288
  });
4445
- var SelectContent = React28.forwardRef(function SelectContent2(props, ref) {
4289
+ var SelectContent = React29.forwardRef(function SelectContent2(props, ref) {
4446
4290
  const { portalled = true, portalRef, ...rest } = props;
4447
4291
  return /* @__PURE__ */ jsx(Portal, { disabled: !portalled, container: portalRef, children: /* @__PURE__ */ jsx(Select$1.Positioner, { children: /* @__PURE__ */ jsx(Select$1.Content, { ...rest, ref }) }) });
4448
4292
  });
4449
- var SelectValueText = React28.forwardRef(function SelectValueText2(props, ref) {
4293
+ var SelectValueText = React29.forwardRef(function SelectValueText2(props, ref) {
4450
4294
  const { children, withPlaceholder, placeholder, ...rest } = props;
4451
4295
  return /* @__PURE__ */ jsx(
4452
4296
  Select$1.ValueText,
@@ -5669,16 +5513,16 @@ NudgeTrigger.displayName = "NudgeTrigger";
5669
5513
  var NudgeContent = forwardRef(
5670
5514
  ({ showCloseButton = true, children, ...props }, ref) => {
5671
5515
  const [currentStep, setCurrentStep] = useState(1);
5672
- const childrenArray = React28__default.Children.toArray(children);
5516
+ const childrenArray = React29__default.Children.toArray(children);
5673
5517
  const { open } = usePopoverContext$1();
5674
5518
  useEffect(() => {
5675
5519
  setCurrentStep(1);
5676
5520
  }, [children, open]);
5677
5521
  const wizardPages = childrenArray.filter(
5678
- (child) => React28__default.isValidElement(child) && child.type.displayName === "NudgeWizardStep"
5522
+ (child) => React29__default.isValidElement(child) && child.type.displayName === "NudgeWizardStep"
5679
5523
  );
5680
5524
  const restChildren = childrenArray.filter(
5681
- (child) => !React28__default.isValidElement(child) || child.type.displayName !== "NudgeWizardStep"
5525
+ (child) => !React29__default.isValidElement(child) || child.type.displayName !== "NudgeWizardStep"
5682
5526
  );
5683
5527
  const totalSteps = wizardPages.length;
5684
5528
  const isLastStep = totalSteps === currentStep;
@@ -5767,7 +5611,7 @@ NudgeCloseTrigger.displayName = "NudgeCloseTrigger";
5767
5611
  var [RootPropsProvider, useRootProps] = createContext$1({
5768
5612
  name: "RootPropsProvider"
5769
5613
  });
5770
- var Pagination = React28.forwardRef(
5614
+ var Pagination = React29.forwardRef(
5771
5615
  (props, ref) => {
5772
5616
  const { getHref, children, ...rest } = props;
5773
5617
  const recipe = useSlotRecipe({ key: "pagination" });
@@ -5792,11 +5636,11 @@ var Pagination = React28.forwardRef(
5792
5636
  }
5793
5637
  );
5794
5638
  Pagination.displayName = "Pagination";
5795
- var PaginationEllipsis = React28.forwardRef((props, ref) => {
5639
+ var PaginationEllipsis = React29.forwardRef((props, ref) => {
5796
5640
  return /* @__PURE__ */ jsx(ListItem2, { children: /* @__PURE__ */ jsx(Pagination$1.Ellipsis, { ref, ...props, asChild: true, children: /* @__PURE__ */ jsx(Box, { cursor: "default", children: "..." }) }) });
5797
5641
  });
5798
5642
  PaginationEllipsis.displayName = "PaginationEllipsis";
5799
- var PaginationItem = React28.forwardRef((props, ref) => {
5643
+ var PaginationItem = React29.forwardRef((props, ref) => {
5800
5644
  const rootProps = useRootProps();
5801
5645
  const { t } = useTranslation();
5802
5646
  const { page, totalPages } = usePaginationContext();
@@ -5829,7 +5673,7 @@ var PaginationItem = React28.forwardRef((props, ref) => {
5829
5673
  ) });
5830
5674
  });
5831
5675
  PaginationItem.displayName = "PaginationItem";
5832
- var PaginationPrevTrigger = React28.forwardRef((props, ref) => {
5676
+ var PaginationPrevTrigger = React29.forwardRef((props, ref) => {
5833
5677
  const { page } = usePaginationContext();
5834
5678
  const recipe = useSlotRecipe({ key: "pagination" });
5835
5679
  const styles = recipe();
@@ -5869,7 +5713,7 @@ var PaginationPrevTrigger = React28.forwardRef((props, ref) => {
5869
5713
  ) });
5870
5714
  });
5871
5715
  PaginationPrevTrigger.displayName = "PaginationPrevTrigger";
5872
- var PaginationNextTrigger = React28.forwardRef((props, ref) => {
5716
+ var PaginationNextTrigger = React29.forwardRef((props, ref) => {
5873
5717
  const { page, totalPages } = usePaginationContext();
5874
5718
  const recipe = useSlotRecipe({ key: "pagination" });
5875
5719
  const styles = recipe();
@@ -5957,7 +5801,7 @@ PopoverTrigger.displayName = "PopoverTrigger";
5957
5801
  var PopoverContent = forwardRef(
5958
5802
  ({ children, showCloseButton = false, ...props }, ref) => {
5959
5803
  const { colorMode } = useColorMode();
5960
- const closeButtonRef = React28__default.useRef(null);
5804
+ const closeButtonRef = React29__default.useRef(null);
5961
5805
  const { open } = usePopoverContext();
5962
5806
  useEffect(() => {
5963
5807
  if (showCloseButton && open && closeButtonRef.current) {
@@ -6167,7 +6011,7 @@ var SporProvider = ({
6167
6011
  children
6168
6012
  ] }) }) });
6169
6013
  };
6170
- var StepperContext = React28__default.createContext(null);
6014
+ var StepperContext = React29__default.createContext(null);
6171
6015
  var StepperProvider = ({
6172
6016
  activeStep,
6173
6017
  children,
@@ -6184,7 +6028,7 @@ var StepperProvider = ({
6184
6028
  );
6185
6029
  };
6186
6030
  var useStepper = () => {
6187
- const context = React28__default.useContext(StepperContext);
6031
+ const context = React29__default.useContext(StepperContext);
6188
6032
  if (!context) {
6189
6033
  throw new Error(
6190
6034
  "useStepper must be used within a StepperProvider. Most likely, you forgot to wrap your StepperStep in a Stepper component"
@@ -7497,6 +7341,170 @@ var checkboxSlotRecipe = defineSlotRecipe({
7497
7341
  }
7498
7342
  }
7499
7343
  });
7344
+ var choiceChipSlotRecipe = defineSlotRecipe({
7345
+ slots: checkboxCardAnatomy.keys(),
7346
+ className: "chakra-checkbox-card",
7347
+ base: {
7348
+ root: {
7349
+ display: "inline-flex",
7350
+ alignItems: "center",
7351
+ boxAlign: "center",
7352
+ fontSize: "xs",
7353
+ cursor: "pointer",
7354
+ transitionProperty: "all",
7355
+ borderRadius: "xl",
7356
+ transitionDuration: "fast",
7357
+ paddingInlineStart: "2",
7358
+ paddingInlineEnd: "2",
7359
+ outline: "1px solid",
7360
+ outlineColor: "base.outline",
7361
+ _checked: {
7362
+ backgroundColor: "brand.surface",
7363
+ borderRadius: "sm",
7364
+ outline: "none",
7365
+ color: "brand.text",
7366
+ _hover: {
7367
+ backgroundColor: "brand.surface.hover",
7368
+ _active: {
7369
+ backgroundColor: "brand.surface.active"
7370
+ }
7371
+ }
7372
+ },
7373
+ _focusVisible: {
7374
+ outline: "2px solid",
7375
+ outlineColor: "outline.focus",
7376
+ outlineOffset: "1px"
7377
+ },
7378
+ _disabled: {
7379
+ pointerEvents: "none",
7380
+ boxShadow: "none",
7381
+ backgroundColor: "surface.disabled",
7382
+ color: "text.disabled",
7383
+ outline: "none",
7384
+ _hover: {
7385
+ backgroundColor: "core.surface.disabled",
7386
+ boxShadow: "none",
7387
+ color: "core.text.disabled"
7388
+ },
7389
+ _checked: {
7390
+ cursor: "not-allowed",
7391
+ boxShadow: "none",
7392
+ color: "core.text.disabled",
7393
+ backgroundColor: "core.surface.disabled",
7394
+ _hover: {
7395
+ backgroundColor: "core.surface.disabled",
7396
+ boxShadow: "none",
7397
+ color: "core.text.disabled"
7398
+ }
7399
+ }
7400
+ }
7401
+ },
7402
+ label: {
7403
+ display: "flex",
7404
+ alignItems: "center",
7405
+ fontSize: "xs"
7406
+ }
7407
+ },
7408
+ variants: {
7409
+ size: {
7410
+ xs: {
7411
+ root: {
7412
+ _checked: {
7413
+ borderRadius: "0.563rem"
7414
+ },
7415
+ height: 5,
7416
+ paddingX: 1.5
7417
+ }
7418
+ },
7419
+ sm: {
7420
+ root: {
7421
+ _checked: {
7422
+ borderRadius: "sm"
7423
+ },
7424
+ height: 6,
7425
+ paddingX: 2
7426
+ }
7427
+ },
7428
+ md: {
7429
+ root: {
7430
+ _checked: {
7431
+ borderRadius: "sm"
7432
+ },
7433
+ height: 7,
7434
+ paddingX: 2
7435
+ }
7436
+ },
7437
+ lg: {
7438
+ root: {
7439
+ _checked: {
7440
+ borderRadius: "md"
7441
+ },
7442
+ height: 8,
7443
+ paddingX: 3
7444
+ }
7445
+ }
7446
+ },
7447
+ variant: {
7448
+ core: {
7449
+ root: {
7450
+ color: "core.text",
7451
+ outlineColor: "core.outline",
7452
+ _hover: {
7453
+ outline: "2px solid",
7454
+ outlineColor: "core.outline.hover",
7455
+ _active: {
7456
+ outline: "1px solid",
7457
+ outlineColor: "core.outline",
7458
+ backgroundColor: "core.surface.active"
7459
+ }
7460
+ }
7461
+ }
7462
+ },
7463
+ accent: {
7464
+ root: {
7465
+ backgroundColor: "accent.surface",
7466
+ color: "accent.text",
7467
+ outline: "none",
7468
+ _hover: {
7469
+ backgroundColor: "accent.surface.hover",
7470
+ _active: {
7471
+ backgroundColor: "accent.surface.active"
7472
+ }
7473
+ }
7474
+ }
7475
+ },
7476
+ floating: {
7477
+ root: {
7478
+ backgroundColor: "floating.surface",
7479
+ outline: "1px solid",
7480
+ outlineColor: "floating.outline",
7481
+ color: "floating.text",
7482
+ boxShadow: "sm",
7483
+ _hover: {
7484
+ backgroundColor: "floating.surface.hover",
7485
+ outline: "1px solid",
7486
+ outlineColor: "floating.outline.hover",
7487
+ _active: {
7488
+ backgroundColor: "floating.surface.active",
7489
+ outline: "1px solid",
7490
+ outlineColor: "floating.outline"
7491
+ }
7492
+ }
7493
+ }
7494
+ }
7495
+ },
7496
+ chipType: {
7497
+ icon: {},
7498
+ choice: {},
7499
+ filter: {}
7500
+ }
7501
+ },
7502
+ defaultVariants: {
7503
+ size: "md",
7504
+ variant: "core",
7505
+ chipType: "choice"
7506
+ }
7507
+ });
7500
7508
  var dialogSlotRecipe = defineSlotRecipe({
7501
7509
  slots: dialogAnatomy.keys(),
7502
7510
  className: "spor-dialog",
@@ -9819,7 +9827,8 @@ var slotRecipes = {
9819
9827
  table: tableSlotRecipe,
9820
9828
  tabs: tabsSlotRecipe,
9821
9829
  travelTag: travelTagSlotRecipe,
9822
- toast: toastSlotRecipe
9830
+ toast: toastSlotRecipe,
9831
+ checkboxCard: choiceChipSlotRecipe
9823
9832
  };
9824
9833
  var animations = defineTokens.animations({
9825
9834
  spin: {