@vygruppen/spor-react 13.3.1 → 13.4.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.
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Accordion as Accordion$1, defineRecipe, chakra, Code as Code$1, Clipboard as Clipboard$1, RadioCard as RadioCard$1, defineStyle, Field, Dialog, createContext as createContext$1, Drawer as Drawer$1, List as List$1, Combobox, Fieldset as Fieldset$1, createListCollection, Select as Select$1, Popover as Popover$1, createToaster, Tabs as Tabs$1, defineSemanticTokens, defineSlotRecipe, defineTokens, defineAnimationStyles, defineGlobalStyles, defineTextStyles, createSystem, defaultBaseConfig, Tooltip as Tooltip$1, IconButton as IconButton$1, defineConfig, Center, Box, ClientOnly, VisuallyHidden, useSlotRecipe, Stack, HStack, Progress, Text, useRecipe, Circle, Skeleton as Skeleton$1, Button as Button$1, Group, Badge as Badge$1, useDisclosure, Alert as Alert$1, Span, Flex, Breadcrumb as Breadcrumb$1, Separator as Separator$1, useFieldContext, PopoverAnchor, Portal, useDialogContext, Link, InputElement, Input as Input$1, useFilter, useListCollection, useCombobox, useComboboxContext, usePopoverContext, Checkbox as Checkbox$1, CheckboxGroup as CheckboxGroup$1, CheckboxCard, Tag, ListItem as ListItem$1, Menu as Menu$1, useMenuContext as useMenuContext$1, NativeSelect as NativeSelect$1, useControllableState, RadioGroup as RadioGroup$1, useSelectContext, Switch as Switch$1, Textarea as Textarea$1, PopoverCloseTrigger, Pagination as Pagination$1, usePaginationContext, ChakraProvider, Table as Table$1, Toaster as Toaster$1, Toast } from '@chakra-ui/react';
2
2
  export { AspectRatio, Box, BreadcrumbCurrentLink, BreadcrumbEllipsis, BreadcrumbLink, Center, ClientOnly, Collapsible, Container, Em, Flex, For, FormatByte, FormatNumber, Grid, GridItem, HStack, Icon, Image, Kbd, LocaleProvider, Portal, Show, SimpleGrid, Spacer, Span, Stack, TableCaption, TableCell, TableColumn, TableColumnGroup, TableFooter, TableHeader, TableRoot, TableRow, VStack, VisuallyHidden, Wrap, createIcon, createListCollection, createSystem, defineConfig, defineRecipe, defineSlotRecipe, defineStyle, mergeConfigs, chakra as spor, useBreakpointValue, useCheckbox, useClipboard, useControllableProp, useDisclosure, useMediaQuery, useRecipe, useSlotRecipe, useToken } from '@chakra-ui/react';
3
3
  import * as spor_icon_react_star from '@vygruppen/spor-icon-react';
4
- import { DropdownDownFill24Icon, CloseFill18Icon, CloseFill30Icon, CloseFill24Icon, DropdownDownFill18Icon, ServiceFill24Icon, WarningFill24Icon, DropdownRightFill18Icon, CalendarOutline24Icon, DropdownLeftFill18Icon, ArrowLeftFill24Icon, ErrorFill24Icon, ChangeDirectionOutline24Icon, CheckmarkFill18Icon, CloseOutline24Icon, SearchOutline24Icon, Forward15MediaControllerFill30Icon, Backward15MediaControllerFill30Icon, PauseMediaControllerFill24Icon, PlayMediaControllerFill24Icon, NextMediaControllerFill30Icon, PreviousMediaControllerFill30Icon, ArrowRightFill18Icon, DropdownLeftOutline18Icon, DropdownRightOutline18Icon, ArrowUpFill18Icon, ArrowDownFill18Icon, ChangeDirectionFill18Icon, CopyOutline18Icon, LinkOutOutline24Icon, LinkOutOutline18Icon, WalkFill30Icon, WalkFill24Icon, WalkFill18Icon, AltTransportFill30Icon, AltTransportFill24Icon, AltTransportFill18Icon, TramFill30Icon, TramFill24Icon, TramFill18Icon, SubwayFill30Icon, SubwayFill24Icon, SubwayFill18Icon, FerryFill30Icon, FerryFill24Icon, FerryFill18Icon, BusFill30Icon, BusFill24Icon, BusFill18Icon, ExpressBusFill30Icon, ExpressBusFill24Icon, ExpressBusFill18Icon, TrainFill30Icon, TrainFill24Icon, TrainFill18Icon, InformationFill24Icon, InformationFill18Icon, WarningFill18Icon, ErrorFill18Icon, QuestionFill24Icon, ErrorOutline24Icon, SuccessFill24Icon, ArrowLeftOutline24Icon, ArrowRightOutline24Icon } from '@vygruppen/spor-icon-react';
4
+ import { DropdownDownFill24Icon, CloseFill18Icon, CloseFill30Icon, CloseFill24Icon, DropdownDownFill18Icon, ServiceFill24Icon, WarningFill24Icon, DropdownRightFill18Icon, CalendarOutline24Icon, DropdownLeftFill18Icon, ArrowLeftFill24Icon, ErrorFill24Icon, ChangeDirectionOutline24Icon, CheckmarkFill18Icon, CloseOutline24Icon, CloseOutline18Icon, SearchOutline24Icon, SearchOutline18Icon, Forward15MediaControllerFill30Icon, Backward15MediaControllerFill30Icon, PauseMediaControllerFill24Icon, PlayMediaControllerFill24Icon, NextMediaControllerFill30Icon, PreviousMediaControllerFill30Icon, ArrowRightFill18Icon, DropdownLeftOutline18Icon, DropdownRightOutline18Icon, ArrowUpFill18Icon, ArrowDownFill18Icon, ChangeDirectionFill18Icon, CopyOutline18Icon, LinkOutOutline24Icon, LinkOutOutline18Icon, WalkFill30Icon, WalkFill24Icon, WalkFill18Icon, AltTransportFill30Icon, AltTransportFill24Icon, AltTransportFill18Icon, TramFill30Icon, TramFill24Icon, TramFill18Icon, SubwayFill30Icon, SubwayFill24Icon, SubwayFill18Icon, FerryFill30Icon, FerryFill24Icon, FerryFill18Icon, BusFill30Icon, BusFill24Icon, BusFill18Icon, ExpressBusFill30Icon, ExpressBusFill24Icon, ExpressBusFill18Icon, TrainFill30Icon, TrainFill24Icon, TrainFill18Icon, InformationFill24Icon, InformationFill18Icon, WarningFill18Icon, ErrorFill18Icon, QuestionFill24Icon, ErrorOutline24Icon, SuccessFill24Icon, ArrowLeftOutline24Icon, ArrowRightOutline24Icon } from '@vygruppen/spor-icon-react';
5
5
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
6
  import * as React14 from 'react';
7
7
  import React14__default, { createContext, useContext, useId, cloneElement, isValidElement, useRef, useEffect, useImperativeHandle, useState, useLayoutEffect, useMemo } from 'react';
@@ -680,74 +680,52 @@ var badgeRecipie = defineRecipe({
680
680
  neutral: {
681
681
  backgroundColor: "surface",
682
682
  color: "text",
683
- "& svg": {
684
- color: "icon"
685
- }
683
+ "& svg": { color: "icon" }
686
684
  },
687
685
  grey: {
688
686
  backgroundColor: "surface.neutral",
689
687
  color: "text.neutral",
690
- "& svg": {
691
- color: "icon.neutral"
692
- }
688
+ "& svg": { color: "icon.neutral" }
693
689
  },
694
690
  green: {
695
691
  backgroundColor: "surface.success",
696
692
  color: "text.success",
697
- "& svg": {
698
- color: "icon.success"
699
- }
693
+ "& svg": { color: "icon.success" }
700
694
  },
701
695
  blue: {
702
696
  backgroundColor: "surface.info",
703
697
  color: "text.info",
704
- "& svg": {
705
- color: "icon.info"
706
- }
698
+ "& svg": { color: "icon.info" }
707
699
  },
708
700
  cream: {
709
701
  backgroundColor: "surface.warning",
710
702
  color: "text.warning",
711
- "& svg": {
712
- color: "icon.warning"
713
- }
703
+ "& svg": { color: "icon.warning" }
714
704
  },
715
705
  yellow: {
716
706
  backgroundColor: "surface.notice",
717
707
  color: "text.notice",
718
- "& svg": {
719
- color: "icon.notice"
720
- }
708
+ "& svg": { color: "icon.notice" }
721
709
  },
722
710
  orange: {
723
711
  backgroundColor: "surface.caution",
724
712
  color: "text.caution",
725
- "& svg": {
726
- color: "icon.caution"
727
- }
713
+ "& svg": { color: "icon.caution" }
728
714
  },
729
715
  red: {
730
716
  backgroundColor: "surface.critical",
731
717
  color: "text.critical",
732
- "& svg": {
733
- color: "icon.critical"
734
- }
718
+ "& svg": { color: "icon.critical" }
735
719
  },
736
720
  brightRed: {
737
- backgroundColor: {
738
- _light: "brightRed",
739
- _dark: "brightRed"
740
- },
741
- color: {
742
- _light: "pink",
743
- _dark: "pink"
744
- },
745
- "& svg": {
746
- color: {
747
- _light: "pink",
748
- _dark: "pink"
749
- }
750
- }
721
+ backgroundColor: { _light: "brightRed", _dark: "brightRed" },
722
+ color: { _light: "pink", _dark: "pink" },
723
+ "& svg": { color: { _light: "pink", _dark: "pink" } }
724
+ },
725
+ disabled: {
726
+ backgroundColor: "surface.disabled",
727
+ color: "text.disabled",
728
+ "& svg": { color: "icon.disabled" }
751
729
  }
752
730
  },
753
731
  size: {
@@ -773,11 +751,7 @@ var badgeRecipie = defineRecipe({
773
751
  borderRadius: "xs"
774
752
  }
775
753
  },
776
- attached: {
777
- true: {
778
- borderBottomRadius: "none"
779
- }
780
- },
754
+ attached: { true: { borderBottomRadius: "none" } },
781
755
  inverted: { true: {} }
782
756
  },
783
757
  defaultVariants: {
@@ -791,60 +765,27 @@ var badgeRecipie = defineRecipe({
791
765
  colorPalette: "blue",
792
766
  inverted: true,
793
767
  css: {
794
- backgroundColor: {
795
- _light: "darkBlue",
796
- _dark: "lightBlue"
797
- },
798
- color: {
799
- _light: "icyBlue",
800
- _dark: "royal"
801
- },
802
- "& svg": {
803
- color: {
804
- _light: "royal",
805
- _dark: "icyBlue"
806
- }
807
- }
768
+ backgroundColor: { _light: "darkBlue", _dark: "lightBlue" },
769
+ color: { _light: "icyBlue", _dark: "royal" },
770
+ "& svg": { color: { _light: "royal", _dark: "icyBlue" } }
808
771
  }
809
772
  },
810
773
  {
811
774
  colorPalette: "green",
812
775
  inverted: true,
813
776
  css: {
814
- backgroundColor: {
815
- _light: "darkTeal",
816
- _dark: "seaMist"
817
- },
818
- color: {
819
- _light: "mint",
820
- _dark: "jungle"
821
- },
822
- "& svg": {
823
- color: {
824
- _light: "mint",
825
- _dark: "jungle"
826
- }
827
- }
777
+ backgroundColor: { _light: "darkTeal", _dark: "seaMist" },
778
+ color: { _light: "mint", _dark: "jungle" },
779
+ "& svg": { color: { _light: "mint", _dark: "jungle" } }
828
780
  }
829
781
  },
830
782
  {
831
783
  colorPalette: "grey",
832
784
  inverted: true,
833
785
  css: {
834
- backgroundColor: {
835
- _light: "carbon",
836
- _dark: "platinum"
837
- },
838
- color: {
839
- _light: "white",
840
- _dark: "darkGrey"
841
- },
842
- "& svg": {
843
- color: {
844
- _light: "white",
845
- _dark: "darkGrey"
846
- }
847
- }
786
+ backgroundColor: { _light: "carbon", _dark: "platinum" },
787
+ color: { _light: "white", _dark: "darkGrey" },
788
+ "& svg": { color: { _light: "white", _dark: "darkGrey" } }
848
789
  }
849
790
  },
850
791
  {
@@ -852,80 +793,36 @@ var badgeRecipie = defineRecipe({
852
793
  colorPalette: "cream",
853
794
  inverted: true,
854
795
  css: {
855
- backgroundColor: {
856
- _light: "coffee",
857
- _dark: "blonde"
858
- },
859
- color: {
860
- _light: "cornsilk",
861
- _dark: "coffee"
862
- },
863
- "& svg": {
864
- color: {
865
- _light: "cornsilk",
866
- _dark: "coffee"
867
- }
868
- }
796
+ backgroundColor: { _light: "coffee", _dark: "blonde" },
797
+ color: { _light: "cornsilk", _dark: "coffee" },
798
+ "& svg": { color: { _light: "cornsilk", _dark: "coffee" } }
869
799
  }
870
800
  },
871
801
  {
872
802
  colorPalette: "yellow",
873
803
  inverted: true,
874
804
  css: {
875
- backgroundColor: {
876
- _light: "bronze",
877
- _dark: "banana"
878
- },
879
- color: {
880
- _light: "cornsilk",
881
- _dark: "coffee"
882
- },
883
- "& svg": {
884
- color: {
885
- _light: "cornsilk",
886
- _dark: "coffee"
887
- }
888
- }
805
+ backgroundColor: { _light: "bronze", _dark: "banana" },
806
+ color: { _light: "cornsilk", _dark: "coffee" },
807
+ "& svg": { color: { _light: "cornsilk", _dark: "coffee" } }
889
808
  }
890
809
  },
891
810
  {
892
811
  colorPalette: "orange",
893
812
  inverted: true,
894
813
  css: {
895
- backgroundColor: {
896
- _light: "wood",
897
- _dark: "champagne"
898
- },
899
- color: {
900
- _light: "bisque",
901
- _dark: "wood"
902
- },
903
- "& svg": {
904
- color: {
905
- _light: "bisque",
906
- _dark: "wood"
907
- }
908
- }
814
+ backgroundColor: { _light: "wood", _dark: "champagne" },
815
+ color: { _light: "bisque", _dark: "wood" },
816
+ "& svg": { color: { _light: "bisque", _dark: "wood" } }
909
817
  }
910
818
  },
911
819
  {
912
820
  colorPalette: "red",
913
821
  inverted: true,
914
822
  css: {
915
- backgroundColor: {
916
- _light: "burgundy",
917
- _dark: "lightRed"
918
- },
919
- color: {
920
- _light: "pink",
921
- _dark: "maroon"
922
- },
923
- "& svg": {
924
- color: {
925
- _light: "pink",
926
- _dark: "maroon"
927
- }
928
- }
823
+ backgroundColor: { _light: "burgundy", _dark: "lightRed" },
824
+ color: { _light: "pink", _dark: "maroon" },
825
+ "& svg": { color: { _light: "pink", _dark: "maroon" } }
929
826
  }
930
827
  },
931
828
  {
@@ -933,20 +830,9 @@ var badgeRecipie = defineRecipe({
933
830
  colorPalette: "neutral",
934
831
  inverted: true,
935
832
  css: {
936
- backgroundColor: {
937
- _light: "ink",
938
- _dark: "white"
939
- },
940
- color: {
941
- _light: "white",
942
- _dark: "darkGrey"
943
- },
944
- "& svg": {
945
- color: {
946
- _light: "white",
947
- _dark: "darkGrey"
948
- }
949
- }
833
+ backgroundColor: { _light: "ink", _dark: "white" },
834
+ color: { _light: "white", _dark: "darkGrey" },
835
+ "& svg": { color: { _light: "white", _dark: "darkGrey" } }
950
836
  }
951
837
  }
952
838
  ]
@@ -2129,10 +2015,10 @@ var ColorModeButton = function ColorModeButton2({
2129
2015
  };
2130
2016
  var FloatingLabel = ({
2131
2017
  ref,
2018
+ css,
2132
2019
  ...props
2133
- }) => /* @__PURE__ */ jsx(Field.Label, { ref, ...props, css: floatingLabelStyles });
2020
+ }) => /* @__PURE__ */ jsx(Field.Label, { ref, ...props, css: [floatingLabelStyles, css] });
2134
2021
  var floatingLabelStyles = defineStyle({
2135
- paddingX: 3,
2136
2022
  fontWeight: "normal",
2137
2023
  pointerEvents: "none",
2138
2024
  zIndex: "docked",
@@ -2140,22 +2026,13 @@ var floatingLabelStyles = defineStyle({
2140
2026
  opacity: 0.4
2141
2027
  },
2142
2028
  pos: "absolute",
2143
- transition: "top 160ms ease, font-size 160ms ease",
2144
- top: "0.9rem",
2145
- color: "text",
2146
- fontSize: ["mobile.sm", "desktop.sm"],
2147
- "&[data-float]": {
2148
- fontSize: ["mobile.2xs", "desktop.2xs"],
2149
- color: "text",
2150
- top: "0.3rem"
2151
- }
2029
+ transition: "top 160ms ease, font-size 160ms ease"
2152
2030
  });
2153
- var Label = (props) => /* @__PURE__ */ jsx(Field.Label, { ...props, css: labelStyles });
2031
+ var Label = ({ css, ...props }) => /* @__PURE__ */ jsx(Field.Label, { ...props, css: [labelStyles, css] });
2154
2032
  var labelStyles = defineStyle({
2155
2033
  fontWeight: "normal",
2156
2034
  paddingBottom: 1,
2157
2035
  paddingX: 1,
2158
- fontSize: ["mobile.xs", "desktop.xs"],
2159
2036
  color: "text",
2160
2037
  pointerEvents: "none",
2161
2038
  zIndex: "docked",
@@ -2198,10 +2075,11 @@ var Field3 = ({
2198
2075
  shouldFloat,
2199
2076
  labelAsChild,
2200
2077
  gap,
2078
+ size = "md",
2201
2079
  ...rest
2202
2080
  } = props;
2203
2081
  const recipe = useSlotRecipe({ key: "field" });
2204
- const styles = recipe();
2082
+ const styles = recipe({ size });
2205
2083
  return /* @__PURE__ */ jsxs(Stack, { ref, width: "100%", ...rest, children: [
2206
2084
  /* @__PURE__ */ jsxs(
2207
2085
  Field.Root,
@@ -2215,7 +2093,7 @@ var Field3 = ({
2215
2093
  id,
2216
2094
  gap,
2217
2095
  children: [
2218
- label && !floatingLabel && /* @__PURE__ */ jsx(Label, { asChild: labelAsChild, "aria-hidden": true, children: renderLabelWithIndicator(label, labelAsChild) }),
2096
+ label && !floatingLabel && /* @__PURE__ */ jsx(Label, { asChild: labelAsChild, "aria-hidden": true, css: styles.label, children: renderLabelWithIndicator(label, labelAsChild) }),
2219
2097
  children,
2220
2098
  label && floatingLabel && /* @__PURE__ */ jsx(
2221
2099
  FloatingLabel,
@@ -2223,6 +2101,7 @@ var Field3 = ({
2223
2101
  "data-float": shouldFloat ? true : void 0,
2224
2102
  asChild: labelAsChild,
2225
2103
  "aria-hidden": true,
2104
+ css: styles.label,
2226
2105
  children: renderLabelWithIndicator(label, labelAsChild)
2227
2106
  }
2228
2107
  ),
@@ -2230,7 +2109,7 @@ var Field3 = ({
2230
2109
  ]
2231
2110
  }
2232
2111
  ),
2233
- helperText && /* @__PURE__ */ jsx(Text3, { variant: "sm", color: "text.subtle", children: helperText })
2112
+ helperText && /* @__PURE__ */ jsx(Text, { "data-part": "helperText", css: styles.helperText, children: helperText })
2234
2113
  ] });
2235
2114
  };
2236
2115
  var FieldErrorText = ({
@@ -3608,10 +3487,11 @@ var Input = ({
3608
3487
  hidden,
3609
3488
  fontSize,
3610
3489
  labelAsChild,
3490
+ size = "md",
3611
3491
  ...props
3612
3492
  }) => {
3613
3493
  const recipe = useRecipe({ key: "input" });
3614
- const [recipeProps, restProps] = recipe.splitVariantProps(props);
3494
+ const [recipeProps, restProps] = recipe.splitVariantProps({ size, ...props });
3615
3495
  const styles = recipe(recipeProps);
3616
3496
  const labelId = useId();
3617
3497
  const inputRef = useRef(null);
@@ -3624,6 +3504,17 @@ var Input = ({
3624
3504
  onChange: props.onChange,
3625
3505
  inputRef
3626
3506
  });
3507
+ const fontSizeBySize = {
3508
+ sm: "xs",
3509
+ md: "mobile.md"
3510
+ };
3511
+ const elementPaddingBySize = {
3512
+ sm: "2.3rem",
3513
+ md: "2.6rem"
3514
+ };
3515
+ const elementPadding = elementPaddingBySize[size] ?? "2.6rem";
3516
+ const paddingLeft = elementPadding;
3517
+ const paddingRight = elementPadding;
3627
3518
  return /* @__PURE__ */ jsxs(
3628
3519
  Field3,
3629
3520
  {
@@ -3634,21 +3525,28 @@ var Input = ({
3634
3525
  errorText,
3635
3526
  id: props.id,
3636
3527
  labelAsChild,
3637
- label: /* @__PURE__ */ jsxs(Flex, { id: labelId, children: [
3638
- /* @__PURE__ */ jsx(Box, { visibility: "hidden", children: startElement }),
3639
- label
3640
- ] }),
3528
+ label: /* @__PURE__ */ jsxs(
3529
+ Flex,
3530
+ {
3531
+ id: labelId,
3532
+ paddingX: startElement && size === "sm" ? 1 : void 0,
3533
+ children: [
3534
+ /* @__PURE__ */ jsx(Box, { visibility: "hidden", children: startElement }),
3535
+ label
3536
+ ]
3537
+ }
3538
+ ),
3641
3539
  floatingLabel: true,
3642
3540
  shouldFloat,
3541
+ size,
3643
3542
  children: [
3644
3543
  startElement && /* @__PURE__ */ jsx(
3645
3544
  InputElement,
3646
3545
  {
3647
- pointerEvents: "none",
3648
- paddingX: 2,
3649
3546
  "aria-hidden": "true",
3650
- fontSize: fontSize ?? "mobile.md",
3651
3547
  "aria-labelledby": labelId,
3548
+ paddingX: 2,
3549
+ fontSize: fontSize ?? fontSizeBySize[size],
3652
3550
  children: startElement
3653
3551
  }
3654
3552
  ),
@@ -3659,25 +3557,25 @@ var Input = ({
3659
3557
  ref: inputRef,
3660
3558
  focusVisibleRing: "outside",
3661
3559
  overflow: "hidden",
3662
- paddingLeft: startElement ? "2.6rem" : void 0,
3663
- paddingRight: endElement ? "2.6rem" : void 0,
3664
3560
  ...restProps,
3561
+ css: styles,
3562
+ paddingLeft: startElement ? paddingLeft : void 0,
3563
+ paddingRight: endElement ? paddingRight : void 0,
3665
3564
  className: `peer ${props.className || ""}`,
3666
3565
  value: isControlled ? props.value : void 0,
3667
3566
  onFocus: handleFocus,
3668
3567
  onBlur: handleBlur,
3669
3568
  onChange: handleChange,
3670
3569
  placeholder: "",
3671
- css: styles,
3672
- fontSize: fontSize ?? "mobile.md"
3570
+ fontSize
3673
3571
  }
3674
3572
  ),
3675
3573
  endElement && /* @__PURE__ */ jsx(
3676
3574
  InputElement,
3677
3575
  {
3678
- placement: "end",
3679
3576
  paddingX: 2,
3680
- fontSize: fontSize ?? "mobile.md",
3577
+ placement: "end",
3578
+ fontSize: fontSize ?? fontSizeBySize[size],
3681
3579
  children: endElement
3682
3580
  }
3683
3581
  )
@@ -4163,7 +4061,8 @@ var Combobox2 = (props) => {
4163
4061
  }
4164
4062
  ) : rightIcon,
4165
4063
  placeholder: "",
4166
- "data-attachable": true
4064
+ "data-attachable": true,
4065
+ size: "md"
4167
4066
  }
4168
4067
  ),
4169
4068
  /* @__PURE__ */ jsx("span", { "aria-hidden": "true", "data-trigger": "multiselect" }),
@@ -4811,6 +4710,7 @@ var PasswordInput = ({
4811
4710
  onVisibleChange,
4812
4711
  label,
4813
4712
  startElement,
4713
+ size = "md",
4814
4714
  ...rest
4815
4715
  } = props;
4816
4716
  const [visible, setVisible] = useControllableState({
@@ -4839,9 +4739,11 @@ var PasswordInput = ({
4839
4739
  event.preventDefault();
4840
4740
  setVisible(!visible);
4841
4741
  },
4742
+ size,
4842
4743
  children: visible ? t(texts17.hidePassword) : t(texts17.showPassword)
4843
4744
  }
4844
4745
  ),
4746
+ size,
4845
4747
  ...rest
4846
4748
  }
4847
4749
  );
@@ -4856,7 +4758,6 @@ var VisibilityTrigger = ({
4856
4758
  ref,
4857
4759
  type: "button",
4858
4760
  fontWeight: "normal",
4859
- size: "sm",
4860
4761
  borderRadius: "sm",
4861
4762
  marginRight: 1,
4862
4763
  ...props,
@@ -4918,6 +4819,7 @@ var CountryCodeSelect = ({
4918
4819
  lazyMount: true,
4919
4820
  "aria-label": t(texts18.countryCode),
4920
4821
  sideRadiusVariant: "rightSideSquare",
4822
+ size: props.size,
4921
4823
  role: "combobox",
4922
4824
  children: filteredCallingCodes.items.map((code) => /* @__PURE__ */ jsx(SelectItem, { item: code, children: code.label }, code.label))
4923
4825
  }
@@ -4943,7 +4845,8 @@ var PhoneNumberInput = ({
4943
4845
  optional,
4944
4846
  allowedCountryCodes,
4945
4847
  invalid,
4946
- errorText
4848
+ errorText,
4849
+ size = "md"
4947
4850
  } = props;
4948
4851
  const { t } = useTranslation();
4949
4852
  const label = externalLabel ?? (optional ? t(texts19.phoneNumberOptional) : t(texts19.phoneNumber));
@@ -4974,7 +4877,7 @@ var PhoneNumberInput = ({
4974
4877
  variant,
4975
4878
  allowedCountryCodes,
4976
4879
  "data-state": "on",
4977
- invalid
4880
+ size
4978
4881
  }
4979
4882
  ),
4980
4883
  /* @__PURE__ */ jsx(
@@ -4982,6 +4885,7 @@ var PhoneNumberInput = ({
4982
4885
  {
4983
4886
  ref,
4984
4887
  type: "tel",
4888
+ size,
4985
4889
  ...props,
4986
4890
  value: value.nationalNumber,
4987
4891
  invalid,
@@ -5037,7 +4941,7 @@ var SearchInput = ({
5037
4941
  ...props
5038
4942
  }) => {
5039
4943
  const { t } = useTranslation();
5040
- const { variant = "core", onReset, label, value } = props;
4944
+ const { variant = "core", onReset, label, value, size = "md" } = props;
5041
4945
  const clearButton = onReset && value;
5042
4946
  return /* @__PURE__ */ jsx(
5043
4947
  Input,
@@ -5045,8 +4949,9 @@ var SearchInput = ({
5045
4949
  ref,
5046
4950
  type: "search",
5047
4951
  variant,
4952
+ size,
5048
4953
  ...props,
5049
- startElement: /* @__PURE__ */ jsx(SearchOutline24Icon, { color: "icon" }),
4954
+ startElement: size == "md" ? /* @__PURE__ */ jsx(SearchOutline24Icon, { color: "icon" }) : /* @__PURE__ */ jsx(SearchOutline18Icon, { color: "icon" }),
5050
4955
  endElement: clearButton && /* @__PURE__ */ jsx(
5051
4956
  IconButton,
5052
4957
  {
@@ -5054,7 +4959,7 @@ var SearchInput = ({
5054
4959
  type: "button",
5055
4960
  size: "sm",
5056
4961
  "aria-label": t(texts20.reset),
5057
- icon: /* @__PURE__ */ jsx(CloseOutline24Icon, {}),
4962
+ icon: size == "md" ? /* @__PURE__ */ jsx(CloseOutline24Icon, {}) : /* @__PURE__ */ jsx(CloseOutline18Icon, {}),
5058
4963
  onClick: onReset
5059
4964
  }
5060
4965
  ),
@@ -5082,6 +4987,7 @@ var Select = ({
5082
4987
  }) => {
5083
4988
  const {
5084
4989
  variant = "core",
4990
+ size = "md",
5085
4991
  children,
5086
4992
  positioning,
5087
4993
  label,
@@ -5091,8 +4997,6 @@ var Select = ({
5091
4997
  css,
5092
4998
  ...rest
5093
4999
  } = props;
5094
- const recipe = useSlotRecipe({ key: "select" });
5095
- const styles = recipe({ variant });
5096
5000
  return /* @__PURE__ */ jsx(
5097
5001
  Field3,
5098
5002
  {
@@ -5109,12 +5013,12 @@ var Select = ({
5109
5013
  ref,
5110
5014
  positioning: { sameWidth: true, ...positioning },
5111
5015
  variant,
5112
- css: styles.root,
5016
+ size,
5113
5017
  position: "relative",
5114
5018
  children: [
5115
- /* @__PURE__ */ jsx(SelectTrigger, { "data-attachable": true, children: /* @__PURE__ */ jsx(SelectValueText, { withPlaceholder: !!label }) }),
5116
- label && /* @__PURE__ */ jsx(SelectLabel, { css: styles.label, children: label }),
5117
- /* @__PURE__ */ jsx(SelectContent, { css: styles.selectContent, baseStyle: css, children })
5019
+ /* @__PURE__ */ jsx(SelectTrigger, { "data-attachable": true, size, children: /* @__PURE__ */ jsx(SelectValueText, { withPlaceholder: !!label }) }),
5020
+ label && /* @__PURE__ */ jsx(SelectLabel, { children: label }),
5021
+ /* @__PURE__ */ jsx(SelectContent, { baseStyle: css, children })
5118
5022
  ]
5119
5023
  }
5120
5024
  )
@@ -5136,16 +5040,14 @@ var SelectItem = ({
5136
5040
  ...props
5137
5041
  }) => {
5138
5042
  const { item, children, description, ...rest } = props;
5139
- const recipe = useSlotRecipe({ key: "select" });
5140
- const styles = recipe();
5141
5043
  const selectContext = useSelectContext();
5142
5044
  const multiple = selectContext.multiple;
5143
5045
  const isSelected = selectContext.value.includes(item.value);
5144
- return /* @__PURE__ */ jsxs(Select$1.Item, { item, ...rest, ref, css: styles.item, children: [
5046
+ return /* @__PURE__ */ jsxs(Select$1.Item, { item, ...rest, ref, children: [
5145
5047
  multiple && /* @__PURE__ */ jsx(Checkbox$1.Root, { checked: isSelected, pointerEvents: "none", children: /* @__PURE__ */ jsx(Checkbox$1.Control, { children: /* @__PURE__ */ jsx(Checkbox$1.Indicator, {}) }) }),
5146
5048
  /* @__PURE__ */ jsxs(Box, { width: "100%", children: [
5147
5049
  /* @__PURE__ */ jsx(Select$1.ItemText, { display: "flex", children }),
5148
- description && /* @__PURE__ */ jsx(Box, { "data-part": "item-description", css: styles.itemDescription, children: description })
5050
+ description && /* @__PURE__ */ jsx(Box, { "data-part": "item-description", children: description })
5149
5051
  ] }),
5150
5052
  !multiple && /* @__PURE__ */ jsx(Select$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckmarkFill18Icon, {}) })
5151
5053
  ] });
@@ -5163,24 +5065,16 @@ var SelectItemGroup = function SelectItemGroup2({
5163
5065
  };
5164
5066
  var SelectTrigger = function SelectTrigger2({
5165
5067
  ref,
5068
+ size = "md",
5166
5069
  ...props
5167
5070
  }) {
5168
5071
  const { children, clearable, ...rest } = props;
5169
- const recipe = useSlotRecipe({ key: "select" });
5170
- const styles = recipe();
5171
- return /* @__PURE__ */ jsxs(Select$1.Control, { ...rest, css: styles.control, children: [
5172
- /* @__PURE__ */ jsx(Select$1.Trigger, { ref, css: styles.trigger, children }),
5173
- /* @__PURE__ */ jsxs(
5174
- Select$1.IndicatorGroup,
5175
- {
5176
- css: styles.indicatorGroup,
5177
- "data-part": "indicator-group",
5178
- children: [
5179
- clearable && /* @__PURE__ */ jsx(SelectClearTrigger, {}),
5180
- /* @__PURE__ */ jsx(Box, { css: styles.indicator, "data-part": "indicator", children: /* @__PURE__ */ jsx(DropdownDownFill24Icon, {}) })
5181
- ]
5182
- }
5183
- )
5072
+ return /* @__PURE__ */ jsxs(Select$1.Control, { ...rest, children: [
5073
+ /* @__PURE__ */ jsx(Select$1.Trigger, { ref, children }),
5074
+ /* @__PURE__ */ jsxs(Select$1.IndicatorGroup, { "data-part": "indicator-group", children: [
5075
+ clearable && /* @__PURE__ */ jsx(SelectClearTrigger, {}),
5076
+ /* @__PURE__ */ jsx(Box, { "data-part": "indicator", children: size == "md" ? /* @__PURE__ */ jsx(DropdownDownFill24Icon, {}) : /* @__PURE__ */ jsx(DropdownDownFill18Icon, {}) })
5077
+ ] })
5184
5078
  ] });
5185
5079
  };
5186
5080
  var SelectClearTrigger = function SelectClearTrigger2({
@@ -5217,7 +5111,7 @@ var SelectValueText = function SelectValueText2({
5217
5111
  ...rest,
5218
5112
  ref,
5219
5113
  placeholder,
5220
- paddingTop: withPlaceholder ? "4" : "0",
5114
+ "data-with-placeholder": withPlaceholder || void 0,
5221
5115
  children: /* @__PURE__ */ jsx(Select$1.Context, { children: (select) => {
5222
5116
  const items = select.selectedItems;
5223
5117
  if (items.length === 0)
@@ -5225,7 +5119,7 @@ var SelectValueText = function SelectValueText2({
5225
5119
  if (children)
5226
5120
  return children(items);
5227
5121
  if (multiple) {
5228
- return /* @__PURE__ */ jsx(Flex, { gap: 0.5, marginBottom: 1, children: items.map((item) => /* @__PURE__ */ jsx(
5122
+ return /* @__PURE__ */ jsx(Flex, { gap: 0.5, children: items.map((item) => /* @__PURE__ */ jsx(
5229
5123
  Badge,
5230
5124
  {
5231
5125
  size: "sm",
@@ -7384,10 +7278,6 @@ var inputRecipe = defineRecipe({
7384
7278
  transitionDuration: "fast",
7385
7279
  color: "text",
7386
7280
  position: "relative",
7387
- paddingX: 3,
7388
- paddingTop: 3,
7389
- height: 8,
7390
- fontSize: "mobile.md",
7391
7281
  _disabled: {
7392
7282
  backgroundColor: "surface.disabled",
7393
7283
  outline: "1px solid",
@@ -7450,10 +7340,25 @@ var inputRecipe = defineRecipe({
7450
7340
  outlineColor: "outline.focus"
7451
7341
  }
7452
7342
  }
7343
+ },
7344
+ size: {
7345
+ sm: {
7346
+ paddingTop: 2,
7347
+ height: 7,
7348
+ fontSize: "xs",
7349
+ paddingX: 2
7350
+ },
7351
+ md: {
7352
+ paddingX: 3,
7353
+ paddingTop: 3,
7354
+ height: 8,
7355
+ fontSize: "mobile.md"
7356
+ }
7453
7357
  }
7454
7358
  },
7455
7359
  defaultVariants: {
7456
- variant: "core"
7360
+ variant: "core",
7361
+ size: "md"
7457
7362
  }
7458
7363
  });
7459
7364
  var linkRecipe = defineRecipe({
@@ -8027,12 +7932,10 @@ var selectAnatomy = createAnatomy("select").parts(
8027
7932
  "root",
8028
7933
  "trigger",
8029
7934
  "indicatorGroup",
8030
- "indicator",
8031
- "selectContent",
7935
+ "content",
8032
7936
  "item",
8033
7937
  "control",
8034
7938
  "itemText",
8035
- "itemDescription",
8036
7939
  "itemGroup",
8037
7940
  "itemGroupLabel",
8038
7941
  "label",
@@ -8660,7 +8563,6 @@ var breadcrumbSlotRecipe = defineSlotRecipe({
8660
8563
  },
8661
8564
  link: {
8662
8565
  cursor: "pointer",
8663
- padding: 0.5,
8664
8566
  borderRadius: "xs"
8665
8567
  },
8666
8568
  currentLink: {
@@ -9699,17 +9601,15 @@ var fieldSlotRecipe = defineSlotRecipe({
9699
9601
  },
9700
9602
  requiredIndicator: {
9701
9603
  marginStart: 1,
9702
- // eslint-disable-next-line spor/use-semantic-tokens
9703
- color: "brightRed"
9604
+ color: "outline.error"
9704
9605
  },
9705
9606
  label: {
9706
9607
  display: "flex"
9707
9608
  },
9708
9609
  helperText: {
9709
- marginTop: 2,
9710
9610
  color: "text.subtle",
9711
9611
  lineHeight: "normal",
9712
- fontSize: "sm"
9612
+ fontSize: ["mobile.sm", "desktop.sm"]
9713
9613
  },
9714
9614
  errorText: {
9715
9615
  borderRadius: "xs",
@@ -9736,6 +9636,41 @@ var fieldSlotRecipe = defineSlotRecipe({
9736
9636
  pointerEvents: "none"
9737
9637
  }
9738
9638
  }
9639
+ },
9640
+ variants: {
9641
+ size: {
9642
+ sm: {
9643
+ label: {
9644
+ fontSize: ["mobile.xs", "desktop.xs"],
9645
+ paddingX: 2,
9646
+ "&[data-float]": {
9647
+ fontSize: ["mobile.2xs", "desktop.2xs"],
9648
+ top: 0
9649
+ },
9650
+ top: "0.5rem"
9651
+ },
9652
+ helperText: {
9653
+ color: "text.subtle",
9654
+ lineHeight: "normal",
9655
+ fontSize: ["mobile.xs", "desktop.xs"]
9656
+ }
9657
+ },
9658
+ md: {
9659
+ label: {
9660
+ paddingX: 3,
9661
+ fontSize: ["mobile.sm", "desktop.sm"],
9662
+ "&[data-float]": {
9663
+ fontSize: ["mobile.2xs", "desktop.2xs"],
9664
+ color: "text.subtle",
9665
+ top: "0.3rem"
9666
+ },
9667
+ top: "0.9rem"
9668
+ }
9669
+ }
9670
+ }
9671
+ },
9672
+ defaultVariants: {
9673
+ size: "md"
9739
9674
  }
9740
9675
  });
9741
9676
  var filterChipSlotRecipe = defineSlotRecipe({
@@ -10870,7 +10805,7 @@ var menuSlotRecipe = defineSlotRecipe({
10870
10805
  variant: "core"
10871
10806
  }
10872
10807
  });
10873
- var _a5, _b4;
10808
+ var _a5, _b4, _c2, _d2, _e, _f;
10874
10809
  var nativeSelectSlotRecipe = defineSlotRecipe({
10875
10810
  slots: NativeSelectAnatomy.keys(),
10876
10811
  className: "spor-nativeSelect",
@@ -10922,7 +10857,22 @@ var nativeSelectSlotRecipe = defineSlotRecipe({
10922
10857
  ...(_b4 = inputRecipe.variants) == null ? void 0 : _b4.variant.floating
10923
10858
  }
10924
10859
  }
10860
+ },
10861
+ size: {
10862
+ sm: {
10863
+ field: {
10864
+ ...(_d2 = (_c2 = inputRecipe.variants) == null ? void 0 : _c2.size) == null ? void 0 : _d2.sm
10865
+ }
10866
+ },
10867
+ md: {
10868
+ field: {
10869
+ ...(_f = (_e = inputRecipe.variants) == null ? void 0 : _e.size) == null ? void 0 : _f.md
10870
+ }
10871
+ }
10925
10872
  }
10873
+ },
10874
+ defaultVariants: {
10875
+ size: "md"
10926
10876
  }
10927
10877
  });
10928
10878
  var numericStepperRecipe = defineSlotRecipe({
@@ -11352,14 +11302,9 @@ var selectSlotRecipe = defineSlotRecipe({
11352
11302
  label: {
11353
11303
  fontSize: ["mobile.sm", "desktop.sm"],
11354
11304
  top: 0,
11355
- left: 3,
11356
11305
  zIndex: 0,
11357
11306
  position: "absolute",
11358
11307
  color: "text",
11359
- marginY: 2,
11360
- _selected: {
11361
- transform: ["scale(0.825) translateY(-10px)"]
11362
- },
11363
11308
  transitionProperty: "transform",
11364
11309
  transitionDuration: "fast",
11365
11310
  transformOrigin: "top left",
@@ -11370,47 +11315,46 @@ var selectSlotRecipe = defineSlotRecipe({
11370
11315
  display: "flex",
11371
11316
  appearance: "none",
11372
11317
  width: "100%",
11373
- height: 8,
11374
11318
  color: "text",
11375
- paddingY: 1.5,
11376
- paddingX: 3,
11377
11319
  justifyContent: "space-between",
11378
11320
  alignItems: "center",
11379
- fontSize: "mobile.md",
11380
11321
  borderRadius: "sm",
11381
11322
  cursor: "pointer",
11382
11323
  _open: {
11383
11324
  "& + div": {
11384
11325
  transform: "rotate(180deg)"
11385
11326
  }
11327
+ },
11328
+ _active: {
11329
+ backgroundColor: "surface"
11386
11330
  }
11387
11331
  },
11388
11332
  indicatorGroup: {
11389
11333
  display: "flex",
11390
11334
  alignItems: "center",
11391
- gap: "1",
11335
+ gap: "0.5",
11392
11336
  position: "absolute",
11393
11337
  right: "0",
11394
11338
  top: "0",
11395
11339
  bottom: "0",
11396
11340
  paddingX: 2,
11397
- pointerEvents: "none"
11398
- },
11399
- indicator: {
11400
- display: "flex",
11401
- alignItems: "center",
11402
- justifyContent: "center",
11403
- color: {
11404
- base: "text",
11405
- _disabled: "text.disabled",
11406
- _invalid: "text.highlight"
11407
- },
11408
- _icon: {
11409
- width: 3,
11410
- height: 3
11341
+ pointerEvents: "none",
11342
+ "& [data-part='indicator']": {
11343
+ display: "flex",
11344
+ alignItems: "center",
11345
+ justifyContent: "center",
11346
+ color: {
11347
+ base: "text",
11348
+ _disabled: "text.disabled",
11349
+ _invalid: "text.highlight"
11350
+ },
11351
+ _icon: {
11352
+ width: 3,
11353
+ height: 3
11354
+ }
11411
11355
  }
11412
11356
  },
11413
- selectContent: {
11357
+ content: {
11414
11358
  backgroundColor: "surface",
11415
11359
  boxShadow: "sm",
11416
11360
  overflowY: "auto",
@@ -11463,9 +11407,7 @@ var selectSlotRecipe = defineSlotRecipe({
11463
11407
  }
11464
11408
  },
11465
11409
  _hover: {
11466
- backgroundColor: "surface.accent.hover",
11467
- outline: "2px solid core.outline",
11468
- outlineOffset: "2px"
11410
+ backgroundColor: "surface.accent.hover"
11469
11411
  },
11470
11412
  _selected: {
11471
11413
  backgroundColor: "surface.accent"
@@ -11473,6 +11415,10 @@ var selectSlotRecipe = defineSlotRecipe({
11473
11415
  _icon: {
11474
11416
  width: 3,
11475
11417
  height: 3
11418
+ },
11419
+ "& [data-part='item-description']": {
11420
+ fontSize: ["mobile.xs", "desktop.xs"],
11421
+ color: "text.ghost"
11476
11422
  }
11477
11423
  },
11478
11424
  control: {
@@ -11491,7 +11437,8 @@ var selectSlotRecipe = defineSlotRecipe({
11491
11437
  }
11492
11438
  },
11493
11439
  itemText: {
11494
- flex: "1"
11440
+ flex: "1",
11441
+ alignItems: "center"
11495
11442
  },
11496
11443
  itemGroup: {
11497
11444
  _first: { mt: "0" }
@@ -11499,14 +11446,6 @@ var selectSlotRecipe = defineSlotRecipe({
11499
11446
  itemGroupLabel: {
11500
11447
  py: "1",
11501
11448
  fontWeight: "medium"
11502
- },
11503
- valueText: {},
11504
- itemDescription: {
11505
- fontSize: ["mobile.xs", "desktop.xs"],
11506
- color: "text.ghost",
11507
- "[aria-selected='true'] &": {
11508
- color: "text.ghost"
11509
- }
11510
11449
  }
11511
11450
  },
11512
11451
  variants: {
@@ -11527,6 +11466,10 @@ var selectSlotRecipe = defineSlotRecipe({
11527
11466
  color: "text.disabled",
11528
11467
  backgroundColor: "surface.disabled"
11529
11468
  }
11469
+ },
11470
+ content: {
11471
+ outline: "2px solid",
11472
+ outlineColor: "outline.core"
11530
11473
  }
11531
11474
  },
11532
11475
  floating: {
@@ -11571,7 +11514,68 @@ var selectSlotRecipe = defineSlotRecipe({
11571
11514
  }
11572
11515
  }
11573
11516
  }
11517
+ },
11518
+ size: {
11519
+ sm: {
11520
+ trigger: {
11521
+ height: 7,
11522
+ paddingY: 1.5,
11523
+ fontSize: "xs",
11524
+ paddingX: 2
11525
+ },
11526
+ label: {
11527
+ fontSize: ["mobile.xs", "desktop.xs"],
11528
+ left: 2,
11529
+ marginY: 1.5,
11530
+ _selected: {
11531
+ transform: ["scale(0.85) translateY(-9px)"],
11532
+ fontSize: "desktop.2xs",
11533
+ color: "text.subtle"
11534
+ }
11535
+ },
11536
+ item: {
11537
+ paddingX: 2,
11538
+ paddingY: 1,
11539
+ fontSize: "xs",
11540
+ "& [data-part='item-description']": {
11541
+ fontSize: ["mobile.2xs", "desktop.2xs"]
11542
+ }
11543
+ },
11544
+ itemGroupLabel: {
11545
+ py: 0.5,
11546
+ fontSize: "xs"
11547
+ },
11548
+ valueText: {
11549
+ paddingTop: 0,
11550
+ "&[data-with-placeholder]": {
11551
+ paddingTop: "1.5"
11552
+ }
11553
+ }
11554
+ },
11555
+ md: {
11556
+ trigger: {
11557
+ height: 8,
11558
+ paddingY: 1.5,
11559
+ paddingX: 3,
11560
+ fontSize: "sm"
11561
+ },
11562
+ label: {
11563
+ left: 3,
11564
+ marginY: 2,
11565
+ _selected: {
11566
+ transform: ["scale(0.825) translateY(-10px)"]
11567
+ }
11568
+ },
11569
+ valueText: {
11570
+ "&[data-with-placeholder]": {
11571
+ paddingTop: "4"
11572
+ }
11573
+ }
11574
+ }
11574
11575
  }
11576
+ },
11577
+ defaultVariants: {
11578
+ size: "md"
11575
11579
  }
11576
11580
  });
11577
11581
  var stepperSlotRecipe = defineSlotRecipe({