@vygruppen/spor-react 13.3.2 → 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.cjs CHANGED
@@ -2034,10 +2034,10 @@ var ColorModeButton = function ColorModeButton2({
2034
2034
  };
2035
2035
  var FloatingLabel = ({
2036
2036
  ref,
2037
+ css,
2037
2038
  ...props
2038
- }) => /* @__PURE__ */ jsxRuntime.jsx(react.Field.Label, { ref, ...props, css: floatingLabelStyles });
2039
+ }) => /* @__PURE__ */ jsxRuntime.jsx(react.Field.Label, { ref, ...props, css: [floatingLabelStyles, css] });
2039
2040
  var floatingLabelStyles = react.defineStyle({
2040
- paddingX: 3,
2041
2041
  fontWeight: "normal",
2042
2042
  pointerEvents: "none",
2043
2043
  zIndex: "docked",
@@ -2045,22 +2045,13 @@ var floatingLabelStyles = react.defineStyle({
2045
2045
  opacity: 0.4
2046
2046
  },
2047
2047
  pos: "absolute",
2048
- transition: "top 160ms ease, font-size 160ms ease",
2049
- top: "0.9rem",
2050
- color: "text",
2051
- fontSize: ["mobile.sm", "desktop.sm"],
2052
- "&[data-float]": {
2053
- fontSize: ["mobile.2xs", "desktop.2xs"],
2054
- color: "text",
2055
- top: "0.3rem"
2056
- }
2048
+ transition: "top 160ms ease, font-size 160ms ease"
2057
2049
  });
2058
- var Label = (props) => /* @__PURE__ */ jsxRuntime.jsx(react.Field.Label, { ...props, css: labelStyles });
2050
+ var Label = ({ css, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(react.Field.Label, { ...props, css: [labelStyles, css] });
2059
2051
  var labelStyles = react.defineStyle({
2060
2052
  fontWeight: "normal",
2061
2053
  paddingBottom: 1,
2062
2054
  paddingX: 1,
2063
- fontSize: ["mobile.xs", "desktop.xs"],
2064
2055
  color: "text",
2065
2056
  pointerEvents: "none",
2066
2057
  zIndex: "docked",
@@ -2103,10 +2094,11 @@ var Field3 = ({
2103
2094
  shouldFloat,
2104
2095
  labelAsChild,
2105
2096
  gap,
2097
+ size = "md",
2106
2098
  ...rest
2107
2099
  } = props;
2108
2100
  const recipe = react.useSlotRecipe({ key: "field" });
2109
- const styles = recipe();
2101
+ const styles = recipe({ size });
2110
2102
  return /* @__PURE__ */ jsxRuntime.jsxs(react.Stack, { ref, width: "100%", ...rest, children: [
2111
2103
  /* @__PURE__ */ jsxRuntime.jsxs(
2112
2104
  react.Field.Root,
@@ -2120,7 +2112,7 @@ var Field3 = ({
2120
2112
  id,
2121
2113
  gap,
2122
2114
  children: [
2123
- label && !floatingLabel && /* @__PURE__ */ jsxRuntime.jsx(Label, { asChild: labelAsChild, "aria-hidden": true, children: renderLabelWithIndicator(label, labelAsChild) }),
2115
+ label && !floatingLabel && /* @__PURE__ */ jsxRuntime.jsx(Label, { asChild: labelAsChild, "aria-hidden": true, css: styles.label, children: renderLabelWithIndicator(label, labelAsChild) }),
2124
2116
  children,
2125
2117
  label && floatingLabel && /* @__PURE__ */ jsxRuntime.jsx(
2126
2118
  FloatingLabel,
@@ -2128,6 +2120,7 @@ var Field3 = ({
2128
2120
  "data-float": shouldFloat ? true : void 0,
2129
2121
  asChild: labelAsChild,
2130
2122
  "aria-hidden": true,
2123
+ css: styles.label,
2131
2124
  children: renderLabelWithIndicator(label, labelAsChild)
2132
2125
  }
2133
2126
  ),
@@ -2135,7 +2128,7 @@ var Field3 = ({
2135
2128
  ]
2136
2129
  }
2137
2130
  ),
2138
- helperText && /* @__PURE__ */ jsxRuntime.jsx(Text3, { variant: "sm", color: "text.subtle", children: helperText })
2131
+ helperText && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { "data-part": "helperText", css: styles.helperText, children: helperText })
2139
2132
  ] });
2140
2133
  };
2141
2134
  var FieldErrorText = ({
@@ -3513,10 +3506,11 @@ var Input = ({
3513
3506
  hidden,
3514
3507
  fontSize,
3515
3508
  labelAsChild,
3509
+ size = "md",
3516
3510
  ...props
3517
3511
  }) => {
3518
3512
  const recipe = react.useRecipe({ key: "input" });
3519
- const [recipeProps, restProps] = recipe.splitVariantProps(props);
3513
+ const [recipeProps, restProps] = recipe.splitVariantProps({ size, ...props });
3520
3514
  const styles = recipe(recipeProps);
3521
3515
  const labelId = React14.useId();
3522
3516
  const inputRef = React14.useRef(null);
@@ -3529,6 +3523,17 @@ var Input = ({
3529
3523
  onChange: props.onChange,
3530
3524
  inputRef
3531
3525
  });
3526
+ const fontSizeBySize = {
3527
+ sm: "xs",
3528
+ md: "mobile.md"
3529
+ };
3530
+ const elementPaddingBySize = {
3531
+ sm: "2.3rem",
3532
+ md: "2.6rem"
3533
+ };
3534
+ const elementPadding = elementPaddingBySize[size] ?? "2.6rem";
3535
+ const paddingLeft = elementPadding;
3536
+ const paddingRight = elementPadding;
3532
3537
  return /* @__PURE__ */ jsxRuntime.jsxs(
3533
3538
  Field3,
3534
3539
  {
@@ -3539,21 +3544,28 @@ var Input = ({
3539
3544
  errorText,
3540
3545
  id: props.id,
3541
3546
  labelAsChild,
3542
- label: /* @__PURE__ */ jsxRuntime.jsxs(react.Flex, { id: labelId, children: [
3543
- /* @__PURE__ */ jsxRuntime.jsx(react.Box, { visibility: "hidden", children: startElement }),
3544
- label
3545
- ] }),
3547
+ label: /* @__PURE__ */ jsxRuntime.jsxs(
3548
+ react.Flex,
3549
+ {
3550
+ id: labelId,
3551
+ paddingX: startElement && size === "sm" ? 1 : void 0,
3552
+ children: [
3553
+ /* @__PURE__ */ jsxRuntime.jsx(react.Box, { visibility: "hidden", children: startElement }),
3554
+ label
3555
+ ]
3556
+ }
3557
+ ),
3546
3558
  floatingLabel: true,
3547
3559
  shouldFloat,
3560
+ size,
3548
3561
  children: [
3549
3562
  startElement && /* @__PURE__ */ jsxRuntime.jsx(
3550
3563
  react.InputElement,
3551
3564
  {
3552
- pointerEvents: "none",
3553
- paddingX: 2,
3554
3565
  "aria-hidden": "true",
3555
- fontSize: fontSize ?? "mobile.md",
3556
3566
  "aria-labelledby": labelId,
3567
+ paddingX: 2,
3568
+ fontSize: fontSize ?? fontSizeBySize[size],
3557
3569
  children: startElement
3558
3570
  }
3559
3571
  ),
@@ -3564,25 +3576,25 @@ var Input = ({
3564
3576
  ref: inputRef,
3565
3577
  focusVisibleRing: "outside",
3566
3578
  overflow: "hidden",
3567
- paddingLeft: startElement ? "2.6rem" : void 0,
3568
- paddingRight: endElement ? "2.6rem" : void 0,
3569
3579
  ...restProps,
3580
+ css: styles,
3581
+ paddingLeft: startElement ? paddingLeft : void 0,
3582
+ paddingRight: endElement ? paddingRight : void 0,
3570
3583
  className: `peer ${props.className || ""}`,
3571
3584
  value: isControlled ? props.value : void 0,
3572
3585
  onFocus: handleFocus,
3573
3586
  onBlur: handleBlur,
3574
3587
  onChange: handleChange,
3575
3588
  placeholder: "",
3576
- css: styles,
3577
- fontSize: fontSize ?? "mobile.md"
3589
+ fontSize
3578
3590
  }
3579
3591
  ),
3580
3592
  endElement && /* @__PURE__ */ jsxRuntime.jsx(
3581
3593
  react.InputElement,
3582
3594
  {
3583
- placement: "end",
3584
3595
  paddingX: 2,
3585
- fontSize: fontSize ?? "mobile.md",
3596
+ placement: "end",
3597
+ fontSize: fontSize ?? fontSizeBySize[size],
3586
3598
  children: endElement
3587
3599
  }
3588
3600
  )
@@ -4068,7 +4080,8 @@ var Combobox2 = (props) => {
4068
4080
  }
4069
4081
  ) : rightIcon,
4070
4082
  placeholder: "",
4071
- "data-attachable": true
4083
+ "data-attachable": true,
4084
+ size: "md"
4072
4085
  }
4073
4086
  ),
4074
4087
  /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", "data-trigger": "multiselect" }),
@@ -4716,6 +4729,7 @@ var PasswordInput = ({
4716
4729
  onVisibleChange,
4717
4730
  label,
4718
4731
  startElement,
4732
+ size = "md",
4719
4733
  ...rest
4720
4734
  } = props;
4721
4735
  const [visible, setVisible] = react.useControllableState({
@@ -4744,9 +4758,11 @@ var PasswordInput = ({
4744
4758
  event.preventDefault();
4745
4759
  setVisible(!visible);
4746
4760
  },
4761
+ size,
4747
4762
  children: visible ? t(texts17.hidePassword) : t(texts17.showPassword)
4748
4763
  }
4749
4764
  ),
4765
+ size,
4750
4766
  ...rest
4751
4767
  }
4752
4768
  );
@@ -4761,7 +4777,6 @@ var VisibilityTrigger = ({
4761
4777
  ref,
4762
4778
  type: "button",
4763
4779
  fontWeight: "normal",
4764
- size: "sm",
4765
4780
  borderRadius: "sm",
4766
4781
  marginRight: 1,
4767
4782
  ...props,
@@ -4823,6 +4838,7 @@ var CountryCodeSelect = ({
4823
4838
  lazyMount: true,
4824
4839
  "aria-label": t(texts18.countryCode),
4825
4840
  sideRadiusVariant: "rightSideSquare",
4841
+ size: props.size,
4826
4842
  role: "combobox",
4827
4843
  children: filteredCallingCodes.items.map((code) => /* @__PURE__ */ jsxRuntime.jsx(SelectItem, { item: code, children: code.label }, code.label))
4828
4844
  }
@@ -4848,7 +4864,8 @@ var PhoneNumberInput = ({
4848
4864
  optional,
4849
4865
  allowedCountryCodes,
4850
4866
  invalid,
4851
- errorText
4867
+ errorText,
4868
+ size = "md"
4852
4869
  } = props;
4853
4870
  const { t } = useTranslation();
4854
4871
  const label = externalLabel ?? (optional ? t(texts19.phoneNumberOptional) : t(texts19.phoneNumber));
@@ -4879,7 +4896,7 @@ var PhoneNumberInput = ({
4879
4896
  variant,
4880
4897
  allowedCountryCodes,
4881
4898
  "data-state": "on",
4882
- invalid
4899
+ size
4883
4900
  }
4884
4901
  ),
4885
4902
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -4887,6 +4904,7 @@ var PhoneNumberInput = ({
4887
4904
  {
4888
4905
  ref,
4889
4906
  type: "tel",
4907
+ size,
4890
4908
  ...props,
4891
4909
  value: value.nationalNumber,
4892
4910
  invalid,
@@ -4942,7 +4960,7 @@ var SearchInput = ({
4942
4960
  ...props
4943
4961
  }) => {
4944
4962
  const { t } = useTranslation();
4945
- const { variant = "core", onReset, label, value } = props;
4963
+ const { variant = "core", onReset, label, value, size = "md" } = props;
4946
4964
  const clearButton = onReset && value;
4947
4965
  return /* @__PURE__ */ jsxRuntime.jsx(
4948
4966
  Input,
@@ -4950,8 +4968,9 @@ var SearchInput = ({
4950
4968
  ref,
4951
4969
  type: "search",
4952
4970
  variant,
4971
+ size,
4953
4972
  ...props,
4954
- startElement: /* @__PURE__ */ jsxRuntime.jsx(spor_icon_react_star.SearchOutline24Icon, { color: "icon" }),
4973
+ startElement: size == "md" ? /* @__PURE__ */ jsxRuntime.jsx(spor_icon_react_star.SearchOutline24Icon, { color: "icon" }) : /* @__PURE__ */ jsxRuntime.jsx(spor_icon_react_star.SearchOutline18Icon, { color: "icon" }),
4955
4974
  endElement: clearButton && /* @__PURE__ */ jsxRuntime.jsx(
4956
4975
  IconButton,
4957
4976
  {
@@ -4959,7 +4978,7 @@ var SearchInput = ({
4959
4978
  type: "button",
4960
4979
  size: "sm",
4961
4980
  "aria-label": t(texts20.reset),
4962
- icon: /* @__PURE__ */ jsxRuntime.jsx(spor_icon_react_star.CloseOutline24Icon, {}),
4981
+ icon: size == "md" ? /* @__PURE__ */ jsxRuntime.jsx(spor_icon_react_star.CloseOutline24Icon, {}) : /* @__PURE__ */ jsxRuntime.jsx(spor_icon_react_star.CloseOutline18Icon, {}),
4963
4982
  onClick: onReset
4964
4983
  }
4965
4984
  ),
@@ -4987,6 +5006,7 @@ var Select = ({
4987
5006
  }) => {
4988
5007
  const {
4989
5008
  variant = "core",
5009
+ size = "md",
4990
5010
  children,
4991
5011
  positioning,
4992
5012
  label,
@@ -4996,8 +5016,6 @@ var Select = ({
4996
5016
  css,
4997
5017
  ...rest
4998
5018
  } = props;
4999
- const recipe = react.useSlotRecipe({ key: "select" });
5000
- const styles = recipe({ variant });
5001
5019
  return /* @__PURE__ */ jsxRuntime.jsx(
5002
5020
  Field3,
5003
5021
  {
@@ -5014,12 +5032,12 @@ var Select = ({
5014
5032
  ref,
5015
5033
  positioning: { sameWidth: true, ...positioning },
5016
5034
  variant,
5017
- css: styles.root,
5035
+ size,
5018
5036
  position: "relative",
5019
5037
  children: [
5020
- /* @__PURE__ */ jsxRuntime.jsx(SelectTrigger, { "data-attachable": true, children: /* @__PURE__ */ jsxRuntime.jsx(SelectValueText, { withPlaceholder: !!label }) }),
5021
- label && /* @__PURE__ */ jsxRuntime.jsx(SelectLabel, { css: styles.label, children: label }),
5022
- /* @__PURE__ */ jsxRuntime.jsx(SelectContent, { css: styles.selectContent, baseStyle: css, children })
5038
+ /* @__PURE__ */ jsxRuntime.jsx(SelectTrigger, { "data-attachable": true, size, children: /* @__PURE__ */ jsxRuntime.jsx(SelectValueText, { withPlaceholder: !!label }) }),
5039
+ label && /* @__PURE__ */ jsxRuntime.jsx(SelectLabel, { children: label }),
5040
+ /* @__PURE__ */ jsxRuntime.jsx(SelectContent, { baseStyle: css, children })
5023
5041
  ]
5024
5042
  }
5025
5043
  )
@@ -5041,16 +5059,14 @@ var SelectItem = ({
5041
5059
  ...props
5042
5060
  }) => {
5043
5061
  const { item, children, description, ...rest } = props;
5044
- const recipe = react.useSlotRecipe({ key: "select" });
5045
- const styles = recipe();
5046
5062
  const selectContext = react.useSelectContext();
5047
5063
  const multiple = selectContext.multiple;
5048
5064
  const isSelected = selectContext.value.includes(item.value);
5049
- return /* @__PURE__ */ jsxRuntime.jsxs(react.Select.Item, { item, ...rest, ref, css: styles.item, children: [
5065
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Select.Item, { item, ...rest, ref, children: [
5050
5066
  multiple && /* @__PURE__ */ jsxRuntime.jsx(react.Checkbox.Root, { checked: isSelected, pointerEvents: "none", children: /* @__PURE__ */ jsxRuntime.jsx(react.Checkbox.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(react.Checkbox.Indicator, {}) }) }),
5051
5067
  /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { width: "100%", children: [
5052
5068
  /* @__PURE__ */ jsxRuntime.jsx(react.Select.ItemText, { display: "flex", children }),
5053
- description && /* @__PURE__ */ jsxRuntime.jsx(react.Box, { "data-part": "item-description", css: styles.itemDescription, children: description })
5069
+ description && /* @__PURE__ */ jsxRuntime.jsx(react.Box, { "data-part": "item-description", children: description })
5054
5070
  ] }),
5055
5071
  !multiple && /* @__PURE__ */ jsxRuntime.jsx(react.Select.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(spor_icon_react_star.CheckmarkFill18Icon, {}) })
5056
5072
  ] });
@@ -5068,24 +5084,16 @@ var SelectItemGroup = function SelectItemGroup2({
5068
5084
  };
5069
5085
  var SelectTrigger = function SelectTrigger2({
5070
5086
  ref,
5087
+ size = "md",
5071
5088
  ...props
5072
5089
  }) {
5073
5090
  const { children, clearable, ...rest } = props;
5074
- const recipe = react.useSlotRecipe({ key: "select" });
5075
- const styles = recipe();
5076
- return /* @__PURE__ */ jsxRuntime.jsxs(react.Select.Control, { ...rest, css: styles.control, children: [
5077
- /* @__PURE__ */ jsxRuntime.jsx(react.Select.Trigger, { ref, css: styles.trigger, children }),
5078
- /* @__PURE__ */ jsxRuntime.jsxs(
5079
- react.Select.IndicatorGroup,
5080
- {
5081
- css: styles.indicatorGroup,
5082
- "data-part": "indicator-group",
5083
- children: [
5084
- clearable && /* @__PURE__ */ jsxRuntime.jsx(SelectClearTrigger, {}),
5085
- /* @__PURE__ */ jsxRuntime.jsx(react.Box, { css: styles.indicator, "data-part": "indicator", children: /* @__PURE__ */ jsxRuntime.jsx(spor_icon_react_star.DropdownDownFill24Icon, {}) })
5086
- ]
5087
- }
5088
- )
5091
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Select.Control, { ...rest, children: [
5092
+ /* @__PURE__ */ jsxRuntime.jsx(react.Select.Trigger, { ref, children }),
5093
+ /* @__PURE__ */ jsxRuntime.jsxs(react.Select.IndicatorGroup, { "data-part": "indicator-group", children: [
5094
+ clearable && /* @__PURE__ */ jsxRuntime.jsx(SelectClearTrigger, {}),
5095
+ /* @__PURE__ */ jsxRuntime.jsx(react.Box, { "data-part": "indicator", children: size == "md" ? /* @__PURE__ */ jsxRuntime.jsx(spor_icon_react_star.DropdownDownFill24Icon, {}) : /* @__PURE__ */ jsxRuntime.jsx(spor_icon_react_star.DropdownDownFill18Icon, {}) })
5096
+ ] })
5089
5097
  ] });
5090
5098
  };
5091
5099
  var SelectClearTrigger = function SelectClearTrigger2({
@@ -5122,7 +5130,7 @@ var SelectValueText = function SelectValueText2({
5122
5130
  ...rest,
5123
5131
  ref,
5124
5132
  placeholder,
5125
- paddingTop: withPlaceholder ? "4" : "0",
5133
+ "data-with-placeholder": withPlaceholder || void 0,
5126
5134
  children: /* @__PURE__ */ jsxRuntime.jsx(react.Select.Context, { children: (select) => {
5127
5135
  const items = select.selectedItems;
5128
5136
  if (items.length === 0)
@@ -5130,7 +5138,7 @@ var SelectValueText = function SelectValueText2({
5130
5138
  if (children)
5131
5139
  return children(items);
5132
5140
  if (multiple) {
5133
- return /* @__PURE__ */ jsxRuntime.jsx(react.Flex, { gap: 0.5, marginBottom: 1, children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
5141
+ return /* @__PURE__ */ jsxRuntime.jsx(react.Flex, { gap: 0.5, children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
5134
5142
  Badge,
5135
5143
  {
5136
5144
  size: "sm",
@@ -7289,10 +7297,6 @@ var inputRecipe = react.defineRecipe({
7289
7297
  transitionDuration: "fast",
7290
7298
  color: "text",
7291
7299
  position: "relative",
7292
- paddingX: 3,
7293
- paddingTop: 3,
7294
- height: 8,
7295
- fontSize: "mobile.md",
7296
7300
  _disabled: {
7297
7301
  backgroundColor: "surface.disabled",
7298
7302
  outline: "1px solid",
@@ -7355,10 +7359,25 @@ var inputRecipe = react.defineRecipe({
7355
7359
  outlineColor: "outline.focus"
7356
7360
  }
7357
7361
  }
7362
+ },
7363
+ size: {
7364
+ sm: {
7365
+ paddingTop: 2,
7366
+ height: 7,
7367
+ fontSize: "xs",
7368
+ paddingX: 2
7369
+ },
7370
+ md: {
7371
+ paddingX: 3,
7372
+ paddingTop: 3,
7373
+ height: 8,
7374
+ fontSize: "mobile.md"
7375
+ }
7358
7376
  }
7359
7377
  },
7360
7378
  defaultVariants: {
7361
- variant: "core"
7379
+ variant: "core",
7380
+ size: "md"
7362
7381
  }
7363
7382
  });
7364
7383
  var linkRecipe = react.defineRecipe({
@@ -7932,12 +7951,10 @@ var selectAnatomy = anatomy.createAnatomy("select").parts(
7932
7951
  "root",
7933
7952
  "trigger",
7934
7953
  "indicatorGroup",
7935
- "indicator",
7936
- "selectContent",
7954
+ "content",
7937
7955
  "item",
7938
7956
  "control",
7939
7957
  "itemText",
7940
- "itemDescription",
7941
7958
  "itemGroup",
7942
7959
  "itemGroupLabel",
7943
7960
  "label",
@@ -8565,7 +8582,6 @@ var breadcrumbSlotRecipe = react.defineSlotRecipe({
8565
8582
  },
8566
8583
  link: {
8567
8584
  cursor: "pointer",
8568
- padding: 0.5,
8569
8585
  borderRadius: "xs"
8570
8586
  },
8571
8587
  currentLink: {
@@ -9604,17 +9620,15 @@ var fieldSlotRecipe = react.defineSlotRecipe({
9604
9620
  },
9605
9621
  requiredIndicator: {
9606
9622
  marginStart: 1,
9607
- // eslint-disable-next-line spor/use-semantic-tokens
9608
- color: "brightRed"
9623
+ color: "outline.error"
9609
9624
  },
9610
9625
  label: {
9611
9626
  display: "flex"
9612
9627
  },
9613
9628
  helperText: {
9614
- marginTop: 2,
9615
9629
  color: "text.subtle",
9616
9630
  lineHeight: "normal",
9617
- fontSize: "sm"
9631
+ fontSize: ["mobile.sm", "desktop.sm"]
9618
9632
  },
9619
9633
  errorText: {
9620
9634
  borderRadius: "xs",
@@ -9641,6 +9655,41 @@ var fieldSlotRecipe = react.defineSlotRecipe({
9641
9655
  pointerEvents: "none"
9642
9656
  }
9643
9657
  }
9658
+ },
9659
+ variants: {
9660
+ size: {
9661
+ sm: {
9662
+ label: {
9663
+ fontSize: ["mobile.xs", "desktop.xs"],
9664
+ paddingX: 2,
9665
+ "&[data-float]": {
9666
+ fontSize: ["mobile.2xs", "desktop.2xs"],
9667
+ top: 0
9668
+ },
9669
+ top: "0.5rem"
9670
+ },
9671
+ helperText: {
9672
+ color: "text.subtle",
9673
+ lineHeight: "normal",
9674
+ fontSize: ["mobile.xs", "desktop.xs"]
9675
+ }
9676
+ },
9677
+ md: {
9678
+ label: {
9679
+ paddingX: 3,
9680
+ fontSize: ["mobile.sm", "desktop.sm"],
9681
+ "&[data-float]": {
9682
+ fontSize: ["mobile.2xs", "desktop.2xs"],
9683
+ color: "text.subtle",
9684
+ top: "0.3rem"
9685
+ },
9686
+ top: "0.9rem"
9687
+ }
9688
+ }
9689
+ }
9690
+ },
9691
+ defaultVariants: {
9692
+ size: "md"
9644
9693
  }
9645
9694
  });
9646
9695
  var filterChipSlotRecipe = react.defineSlotRecipe({
@@ -10775,7 +10824,7 @@ var menuSlotRecipe = react.defineSlotRecipe({
10775
10824
  variant: "core"
10776
10825
  }
10777
10826
  });
10778
- var _a5, _b4;
10827
+ var _a5, _b4, _c2, _d2, _e, _f;
10779
10828
  var nativeSelectSlotRecipe = react.defineSlotRecipe({
10780
10829
  slots: NativeSelectAnatomy.keys(),
10781
10830
  className: "spor-nativeSelect",
@@ -10827,7 +10876,22 @@ var nativeSelectSlotRecipe = react.defineSlotRecipe({
10827
10876
  ...(_b4 = inputRecipe.variants) == null ? void 0 : _b4.variant.floating
10828
10877
  }
10829
10878
  }
10879
+ },
10880
+ size: {
10881
+ sm: {
10882
+ field: {
10883
+ ...(_d2 = (_c2 = inputRecipe.variants) == null ? void 0 : _c2.size) == null ? void 0 : _d2.sm
10884
+ }
10885
+ },
10886
+ md: {
10887
+ field: {
10888
+ ...(_f = (_e = inputRecipe.variants) == null ? void 0 : _e.size) == null ? void 0 : _f.md
10889
+ }
10890
+ }
10830
10891
  }
10892
+ },
10893
+ defaultVariants: {
10894
+ size: "md"
10831
10895
  }
10832
10896
  });
10833
10897
  var numericStepperRecipe = react.defineSlotRecipe({
@@ -11257,14 +11321,9 @@ var selectSlotRecipe = react.defineSlotRecipe({
11257
11321
  label: {
11258
11322
  fontSize: ["mobile.sm", "desktop.sm"],
11259
11323
  top: 0,
11260
- left: 3,
11261
11324
  zIndex: 0,
11262
11325
  position: "absolute",
11263
11326
  color: "text",
11264
- marginY: 2,
11265
- _selected: {
11266
- transform: ["scale(0.825) translateY(-10px)"]
11267
- },
11268
11327
  transitionProperty: "transform",
11269
11328
  transitionDuration: "fast",
11270
11329
  transformOrigin: "top left",
@@ -11275,47 +11334,46 @@ var selectSlotRecipe = react.defineSlotRecipe({
11275
11334
  display: "flex",
11276
11335
  appearance: "none",
11277
11336
  width: "100%",
11278
- height: 8,
11279
11337
  color: "text",
11280
- paddingY: 1.5,
11281
- paddingX: 3,
11282
11338
  justifyContent: "space-between",
11283
11339
  alignItems: "center",
11284
- fontSize: "mobile.md",
11285
11340
  borderRadius: "sm",
11286
11341
  cursor: "pointer",
11287
11342
  _open: {
11288
11343
  "& + div": {
11289
11344
  transform: "rotate(180deg)"
11290
11345
  }
11346
+ },
11347
+ _active: {
11348
+ backgroundColor: "surface"
11291
11349
  }
11292
11350
  },
11293
11351
  indicatorGroup: {
11294
11352
  display: "flex",
11295
11353
  alignItems: "center",
11296
- gap: "1",
11354
+ gap: "0.5",
11297
11355
  position: "absolute",
11298
11356
  right: "0",
11299
11357
  top: "0",
11300
11358
  bottom: "0",
11301
11359
  paddingX: 2,
11302
- pointerEvents: "none"
11303
- },
11304
- indicator: {
11305
- display: "flex",
11306
- alignItems: "center",
11307
- justifyContent: "center",
11308
- color: {
11309
- base: "text",
11310
- _disabled: "text.disabled",
11311
- _invalid: "text.highlight"
11312
- },
11313
- _icon: {
11314
- width: 3,
11315
- height: 3
11360
+ pointerEvents: "none",
11361
+ "& [data-part='indicator']": {
11362
+ display: "flex",
11363
+ alignItems: "center",
11364
+ justifyContent: "center",
11365
+ color: {
11366
+ base: "text",
11367
+ _disabled: "text.disabled",
11368
+ _invalid: "text.highlight"
11369
+ },
11370
+ _icon: {
11371
+ width: 3,
11372
+ height: 3
11373
+ }
11316
11374
  }
11317
11375
  },
11318
- selectContent: {
11376
+ content: {
11319
11377
  backgroundColor: "surface",
11320
11378
  boxShadow: "sm",
11321
11379
  overflowY: "auto",
@@ -11368,9 +11426,7 @@ var selectSlotRecipe = react.defineSlotRecipe({
11368
11426
  }
11369
11427
  },
11370
11428
  _hover: {
11371
- backgroundColor: "surface.accent.hover",
11372
- outline: "2px solid core.outline",
11373
- outlineOffset: "2px"
11429
+ backgroundColor: "surface.accent.hover"
11374
11430
  },
11375
11431
  _selected: {
11376
11432
  backgroundColor: "surface.accent"
@@ -11378,6 +11434,10 @@ var selectSlotRecipe = react.defineSlotRecipe({
11378
11434
  _icon: {
11379
11435
  width: 3,
11380
11436
  height: 3
11437
+ },
11438
+ "& [data-part='item-description']": {
11439
+ fontSize: ["mobile.xs", "desktop.xs"],
11440
+ color: "text.ghost"
11381
11441
  }
11382
11442
  },
11383
11443
  control: {
@@ -11396,7 +11456,8 @@ var selectSlotRecipe = react.defineSlotRecipe({
11396
11456
  }
11397
11457
  },
11398
11458
  itemText: {
11399
- flex: "1"
11459
+ flex: "1",
11460
+ alignItems: "center"
11400
11461
  },
11401
11462
  itemGroup: {
11402
11463
  _first: { mt: "0" }
@@ -11404,14 +11465,6 @@ var selectSlotRecipe = react.defineSlotRecipe({
11404
11465
  itemGroupLabel: {
11405
11466
  py: "1",
11406
11467
  fontWeight: "medium"
11407
- },
11408
- valueText: {},
11409
- itemDescription: {
11410
- fontSize: ["mobile.xs", "desktop.xs"],
11411
- color: "text.ghost",
11412
- "[aria-selected='true'] &": {
11413
- color: "text.ghost"
11414
- }
11415
11468
  }
11416
11469
  },
11417
11470
  variants: {
@@ -11432,6 +11485,10 @@ var selectSlotRecipe = react.defineSlotRecipe({
11432
11485
  color: "text.disabled",
11433
11486
  backgroundColor: "surface.disabled"
11434
11487
  }
11488
+ },
11489
+ content: {
11490
+ outline: "2px solid",
11491
+ outlineColor: "outline.core"
11435
11492
  }
11436
11493
  },
11437
11494
  floating: {
@@ -11476,7 +11533,68 @@ var selectSlotRecipe = react.defineSlotRecipe({
11476
11533
  }
11477
11534
  }
11478
11535
  }
11536
+ },
11537
+ size: {
11538
+ sm: {
11539
+ trigger: {
11540
+ height: 7,
11541
+ paddingY: 1.5,
11542
+ fontSize: "xs",
11543
+ paddingX: 2
11544
+ },
11545
+ label: {
11546
+ fontSize: ["mobile.xs", "desktop.xs"],
11547
+ left: 2,
11548
+ marginY: 1.5,
11549
+ _selected: {
11550
+ transform: ["scale(0.85) translateY(-9px)"],
11551
+ fontSize: "desktop.2xs",
11552
+ color: "text.subtle"
11553
+ }
11554
+ },
11555
+ item: {
11556
+ paddingX: 2,
11557
+ paddingY: 1,
11558
+ fontSize: "xs",
11559
+ "& [data-part='item-description']": {
11560
+ fontSize: ["mobile.2xs", "desktop.2xs"]
11561
+ }
11562
+ },
11563
+ itemGroupLabel: {
11564
+ py: 0.5,
11565
+ fontSize: "xs"
11566
+ },
11567
+ valueText: {
11568
+ paddingTop: 0,
11569
+ "&[data-with-placeholder]": {
11570
+ paddingTop: "1.5"
11571
+ }
11572
+ }
11573
+ },
11574
+ md: {
11575
+ trigger: {
11576
+ height: 8,
11577
+ paddingY: 1.5,
11578
+ paddingX: 3,
11579
+ fontSize: "sm"
11580
+ },
11581
+ label: {
11582
+ left: 3,
11583
+ marginY: 2,
11584
+ _selected: {
11585
+ transform: ["scale(0.825) translateY(-10px)"]
11586
+ }
11587
+ },
11588
+ valueText: {
11589
+ "&[data-with-placeholder]": {
11590
+ paddingTop: "4"
11591
+ }
11592
+ }
11593
+ }
11479
11594
  }
11595
+ },
11596
+ defaultVariants: {
11597
+ size: "md"
11480
11598
  }
11481
11599
  });
11482
11600
  var stepperSlotRecipe = react.defineSlotRecipe({