@vygruppen/spor-react 13.4.5 → 13.5.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.d.cts CHANGED
@@ -924,7 +924,7 @@ declare const PressableCard: ({ ref, ...props }: PressableCardProps & {
924
924
  ref?: React.Ref<HTMLButtonElement>;
925
925
  }) => react_jsx_runtime.JSX.Element;
926
926
 
927
- declare const radioCardSlotRecipe: _chakra_ui_react.SlotRecipeDefinition<"root" | "item" | "itemContent" | "label" | "itemText" | "itemDescription" | "itemControl", {
927
+ declare const radioCardSlotRecipe: _chakra_ui_react.SlotRecipeDefinition<"root" | "item" | "itemContent" | "itemIndicator" | "label" | "itemText" | "itemDescription" | "itemControl", {
928
928
  variant: {
929
929
  core: {
930
930
  item: {
@@ -1006,8 +1006,9 @@ type RadioCardVariantProps$1 = RecipeVariantProps<typeof radioCardSlotRecipe>;
1006
1006
  type RadioCardItemProps$1 = Exclude<RadioCard$1.ItemProps, "colorPalette" | "indicator" | "variant" | "size" | "addon"> & RadioCardVariantProps$1 & {
1007
1007
  inputProps?: React__default.InputHTMLAttributes<HTMLInputElement>;
1008
1008
  ariaLabel?: string;
1009
+ showIndicator?: boolean;
1009
1010
  };
1010
- declare const RadioCard: ({ ref, ...props }: RadioCardItemProps$1 & {
1011
+ declare const RadioCard: ({ ref, showIndicator, ...props }: RadioCardItemProps$1 & {
1011
1012
  ref?: React__default.Ref<HTMLInputElement>;
1012
1013
  }) => react_jsx_runtime.JSX.Element;
1013
1014
  type RadioCardRootProps$1 = RadioCardVariantProps$1 & Exclude<RadioCard$1.RootProps, "variant"> & {
@@ -1272,10 +1273,25 @@ declare const datePickerSlotRecipe: _chakra_ui_react.SlotRecipeDefinition<"cell"
1272
1273
  };
1273
1274
  };
1274
1275
  };
1276
+ size: {
1277
+ sm: {
1278
+ wrapper: {
1279
+ fontSize: ("mobile.xs" | "desktop.xs")[];
1280
+ paddingX: number;
1281
+ gap: number;
1282
+ };
1283
+ };
1284
+ md: {
1285
+ wrapper: {
1286
+ fontSize: ("mobile.sm" | "desktop.sm")[];
1287
+ };
1288
+ };
1289
+ };
1275
1290
  }>;
1276
1291
 
1277
1292
  type CalendarVariants = {
1278
1293
  variant?: ConditionalValue<"core" | "floating" | "ghost">;
1294
+ size?: ConditionalValue<"sm" | "md">;
1279
1295
  };
1280
1296
 
1281
1297
  type DatePickerVariantProps = RecipeVariantProps<typeof datePickerSlotRecipe>;
@@ -1296,12 +1312,13 @@ type DatePickerProps = Omit<AriaDatePickerProps<DateValue>, "onChange"> & Pick<B
1296
1312
  * A date picker component.
1297
1313
  *
1298
1314
  * There are three different variants –`core`, `floating` and `ghost`.
1315
+ * There are two different sizes - `sm` and `md`
1299
1316
  *
1300
1317
  * ```tsx
1301
1318
  * <DatePicker label="Dato" variant="core" />
1302
1319
  * ```
1303
1320
  */
1304
- declare const DatePicker: ({ ref: externalRef, variant, errorText, minHeight, showYearNavigation, withPortal, width, invalid, helperText, positioning, css, ...props }: DatePickerProps & {
1321
+ declare const DatePicker: ({ ref: externalRef, variant, size, errorText, minHeight, showYearNavigation, withPortal, width, invalid, helperText, positioning, css, ...props }: DatePickerProps & {
1305
1322
  ref?: React__default.Ref<HTMLDivElement>;
1306
1323
  }) => react_jsx_runtime.JSX.Element;
1307
1324
 
@@ -1321,11 +1338,12 @@ type DateRangePickerProps = Omit<AriaDateRangePickerProps<DateValue>, "onChange"
1321
1338
  * A date range picker component.
1322
1339
  *
1323
1340
  * There are three variants to choose from – `core`, `floating` and `ghost`.
1341
+ * There are two different sizes - `sm` and `md`
1324
1342
  *
1325
1343
  * ```tsx
1326
1344
  * <DateRangePicker startLabel="From" startName="from" endLabel="To" endName="to" variant="core" />
1327
1345
  * ```
1328
- */ declare function DateRangePicker({ variant, minHeight, startName, endName, withPortal, errorText, helperText, invalid, positioning, ...props }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
1346
+ */ declare function DateRangePicker({ variant, size, minHeight, startName, endName, withPortal, errorText, helperText, invalid, positioning, ...props }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
1329
1347
 
1330
1348
  type RangeCalendarProps = RangeCalendarProps$1<DateValue$1> & CalendarVariants;
1331
1349
  declare function RangeCalendar(props: RangeCalendarProps): react_jsx_runtime.JSX.Element;
@@ -1364,6 +1382,11 @@ type TimePickerProps = Omit<BoxProps, "defaultValue" | "onChange"> & FieldBasePr
1364
1382
  * Defaults to "core".
1365
1383
  */
1366
1384
  variant?: "core" | "floating" | "ghost";
1385
+ /**
1386
+ * The size of the time picker.
1387
+ * Defaults to "md".
1388
+ */
1389
+ size?: "sm" | "md";
1367
1390
  };
1368
1391
  /** A time picker component.
1369
1392
  *
@@ -1822,7 +1845,7 @@ type CheckboxGroupProps = React__default.ComponentProps<typeof CheckboxGroup$1>
1822
1845
  */
1823
1846
  declare const CheckboxGroup: (props: CheckboxGroupProps) => react_jsx_runtime.JSX.Element;
1824
1847
 
1825
- declare const choiceChipSlotRecipe: _chakra_ui_react.SlotRecipeDefinition<"root" | "item" | "itemContent" | "label" | "itemText" | "itemDescription" | "itemControl", {
1848
+ declare const choiceChipSlotRecipe: _chakra_ui_react.SlotRecipeDefinition<"root" | "item" | "itemContent" | "itemIndicator" | "label" | "itemText" | "itemDescription" | "itemControl", {
1826
1849
  size: {
1827
1850
  xs: {
1828
1851
  item: {
@@ -4257,13 +4280,19 @@ declare enum Brand {
4257
4280
  }
4258
4281
 
4259
4282
  type Variant = "info" | "success" | "error";
4283
+ type ToastAction = {
4284
+ label: string;
4285
+ onClick: () => void;
4286
+ };
4260
4287
  type ToastProps = {
4261
4288
  duration?: number;
4262
4289
  text: string;
4263
4290
  variant: Variant;
4264
4291
  id?: string;
4292
+ action?: ToastAction;
4293
+ closable?: boolean;
4265
4294
  } & Pick<BoxProps, "width">;
4266
- declare const createToast: ({ text, variant, id, duration, width, }: ToastProps) => string;
4295
+ declare const createToast: ({ text, variant, id, duration, width, action, closable, }: ToastProps) => string;
4267
4296
 
4268
4297
  declare const Tooltip: React$1.FC<Tooltip$1.RootProps>;
4269
4298
  declare const TooltipTrigger: ({ ref, children, ...props }: Tooltip$1.TriggerProps & {
package/dist/index.d.ts CHANGED
@@ -924,7 +924,7 @@ declare const PressableCard: ({ ref, ...props }: PressableCardProps & {
924
924
  ref?: React.Ref<HTMLButtonElement>;
925
925
  }) => react_jsx_runtime.JSX.Element;
926
926
 
927
- declare const radioCardSlotRecipe: _chakra_ui_react.SlotRecipeDefinition<"root" | "item" | "itemContent" | "label" | "itemText" | "itemDescription" | "itemControl", {
927
+ declare const radioCardSlotRecipe: _chakra_ui_react.SlotRecipeDefinition<"root" | "item" | "itemContent" | "itemIndicator" | "label" | "itemText" | "itemDescription" | "itemControl", {
928
928
  variant: {
929
929
  core: {
930
930
  item: {
@@ -1006,8 +1006,9 @@ type RadioCardVariantProps$1 = RecipeVariantProps<typeof radioCardSlotRecipe>;
1006
1006
  type RadioCardItemProps$1 = Exclude<RadioCard$1.ItemProps, "colorPalette" | "indicator" | "variant" | "size" | "addon"> & RadioCardVariantProps$1 & {
1007
1007
  inputProps?: React__default.InputHTMLAttributes<HTMLInputElement>;
1008
1008
  ariaLabel?: string;
1009
+ showIndicator?: boolean;
1009
1010
  };
1010
- declare const RadioCard: ({ ref, ...props }: RadioCardItemProps$1 & {
1011
+ declare const RadioCard: ({ ref, showIndicator, ...props }: RadioCardItemProps$1 & {
1011
1012
  ref?: React__default.Ref<HTMLInputElement>;
1012
1013
  }) => react_jsx_runtime.JSX.Element;
1013
1014
  type RadioCardRootProps$1 = RadioCardVariantProps$1 & Exclude<RadioCard$1.RootProps, "variant"> & {
@@ -1272,10 +1273,25 @@ declare const datePickerSlotRecipe: _chakra_ui_react.SlotRecipeDefinition<"cell"
1272
1273
  };
1273
1274
  };
1274
1275
  };
1276
+ size: {
1277
+ sm: {
1278
+ wrapper: {
1279
+ fontSize: ("mobile.xs" | "desktop.xs")[];
1280
+ paddingX: number;
1281
+ gap: number;
1282
+ };
1283
+ };
1284
+ md: {
1285
+ wrapper: {
1286
+ fontSize: ("mobile.sm" | "desktop.sm")[];
1287
+ };
1288
+ };
1289
+ };
1275
1290
  }>;
1276
1291
 
1277
1292
  type CalendarVariants = {
1278
1293
  variant?: ConditionalValue<"core" | "floating" | "ghost">;
1294
+ size?: ConditionalValue<"sm" | "md">;
1279
1295
  };
1280
1296
 
1281
1297
  type DatePickerVariantProps = RecipeVariantProps<typeof datePickerSlotRecipe>;
@@ -1296,12 +1312,13 @@ type DatePickerProps = Omit<AriaDatePickerProps<DateValue>, "onChange"> & Pick<B
1296
1312
  * A date picker component.
1297
1313
  *
1298
1314
  * There are three different variants –`core`, `floating` and `ghost`.
1315
+ * There are two different sizes - `sm` and `md`
1299
1316
  *
1300
1317
  * ```tsx
1301
1318
  * <DatePicker label="Dato" variant="core" />
1302
1319
  * ```
1303
1320
  */
1304
- declare const DatePicker: ({ ref: externalRef, variant, errorText, minHeight, showYearNavigation, withPortal, width, invalid, helperText, positioning, css, ...props }: DatePickerProps & {
1321
+ declare const DatePicker: ({ ref: externalRef, variant, size, errorText, minHeight, showYearNavigation, withPortal, width, invalid, helperText, positioning, css, ...props }: DatePickerProps & {
1305
1322
  ref?: React__default.Ref<HTMLDivElement>;
1306
1323
  }) => react_jsx_runtime.JSX.Element;
1307
1324
 
@@ -1321,11 +1338,12 @@ type DateRangePickerProps = Omit<AriaDateRangePickerProps<DateValue>, "onChange"
1321
1338
  * A date range picker component.
1322
1339
  *
1323
1340
  * There are three variants to choose from – `core`, `floating` and `ghost`.
1341
+ * There are two different sizes - `sm` and `md`
1324
1342
  *
1325
1343
  * ```tsx
1326
1344
  * <DateRangePicker startLabel="From" startName="from" endLabel="To" endName="to" variant="core" />
1327
1345
  * ```
1328
- */ declare function DateRangePicker({ variant, minHeight, startName, endName, withPortal, errorText, helperText, invalid, positioning, ...props }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
1346
+ */ declare function DateRangePicker({ variant, size, minHeight, startName, endName, withPortal, errorText, helperText, invalid, positioning, ...props }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
1329
1347
 
1330
1348
  type RangeCalendarProps = RangeCalendarProps$1<DateValue$1> & CalendarVariants;
1331
1349
  declare function RangeCalendar(props: RangeCalendarProps): react_jsx_runtime.JSX.Element;
@@ -1364,6 +1382,11 @@ type TimePickerProps = Omit<BoxProps, "defaultValue" | "onChange"> & FieldBasePr
1364
1382
  * Defaults to "core".
1365
1383
  */
1366
1384
  variant?: "core" | "floating" | "ghost";
1385
+ /**
1386
+ * The size of the time picker.
1387
+ * Defaults to "md".
1388
+ */
1389
+ size?: "sm" | "md";
1367
1390
  };
1368
1391
  /** A time picker component.
1369
1392
  *
@@ -1822,7 +1845,7 @@ type CheckboxGroupProps = React__default.ComponentProps<typeof CheckboxGroup$1>
1822
1845
  */
1823
1846
  declare const CheckboxGroup: (props: CheckboxGroupProps) => react_jsx_runtime.JSX.Element;
1824
1847
 
1825
- declare const choiceChipSlotRecipe: _chakra_ui_react.SlotRecipeDefinition<"root" | "item" | "itemContent" | "label" | "itemText" | "itemDescription" | "itemControl", {
1848
+ declare const choiceChipSlotRecipe: _chakra_ui_react.SlotRecipeDefinition<"root" | "item" | "itemContent" | "itemIndicator" | "label" | "itemText" | "itemDescription" | "itemControl", {
1826
1849
  size: {
1827
1850
  xs: {
1828
1851
  item: {
@@ -4257,13 +4280,19 @@ declare enum Brand {
4257
4280
  }
4258
4281
 
4259
4282
  type Variant = "info" | "success" | "error";
4283
+ type ToastAction = {
4284
+ label: string;
4285
+ onClick: () => void;
4286
+ };
4260
4287
  type ToastProps = {
4261
4288
  duration?: number;
4262
4289
  text: string;
4263
4290
  variant: Variant;
4264
4291
  id?: string;
4292
+ action?: ToastAction;
4293
+ closable?: boolean;
4265
4294
  } & Pick<BoxProps, "width">;
4266
- declare const createToast: ({ text, variant, id, duration, width, }: ToastProps) => string;
4295
+ declare const createToast: ({ text, variant, id, duration, width, action, closable, }: ToastProps) => string;
4267
4296
 
4268
4297
  declare const Tooltip: React$1.FC<Tooltip$1.RootProps>;
4269
4298
  declare const TooltipTrigger: ({ ref, children, ...props }: Tooltip$1.TriggerProps & {
package/dist/index.mjs CHANGED
@@ -1553,6 +1553,7 @@ var PressableCard = ({
1553
1553
  };
1554
1554
  var RadioCard = ({
1555
1555
  ref,
1556
+ showIndicator = false,
1556
1557
  ...props
1557
1558
  }) => {
1558
1559
  const { inputProps, children } = props;
@@ -1568,7 +1569,10 @@ var RadioCard = ({
1568
1569
  ...inputProps
1569
1570
  }
1570
1571
  ),
1571
- /* @__PURE__ */ jsx(RadioCard$1.ItemControl, { id: itemControlId, "aria-hidden": true, children })
1572
+ /* @__PURE__ */ jsxs(RadioCard$1.ItemControl, { id: itemControlId, "aria-hidden": true, children: [
1573
+ showIndicator && /* @__PURE__ */ jsx(RadioCard$1.ItemIndicator, {}),
1574
+ children
1575
+ ] })
1572
1576
  ] });
1573
1577
  };
1574
1578
  var RadioCardGroup = ({
@@ -2486,7 +2490,6 @@ var DateTimeSegment = ({
2486
2490
  textAlign: "center",
2487
2491
  outline: "none",
2488
2492
  borderRadius: "xs",
2489
- fontSize: ["mobile.sm", "desktop.sm"],
2490
2493
  css: styles.dateTimeSegment,
2491
2494
  "aria-label": ariaLabel,
2492
2495
  "aria-labelledby": ariaLabelledby,
@@ -2609,6 +2612,7 @@ var StyledField = function StyledField2({
2609
2612
  isDisabled,
2610
2613
  isActive,
2611
2614
  overrideBorderColor,
2615
+ size,
2612
2616
  ...otherProps
2613
2617
  } = props;
2614
2618
  const { invalid } = useFieldContext() ?? {
@@ -2616,7 +2620,7 @@ var StyledField = function StyledField2({
2616
2620
  const recipe = useSlotRecipe({
2617
2621
  key: "datePicker"
2618
2622
  });
2619
- const styles = recipe({ variant });
2623
+ const styles = recipe({ variant, size });
2620
2624
  return /* @__PURE__ */ jsx(
2621
2625
  Box,
2622
2626
  {
@@ -2629,7 +2633,6 @@ var StyledField = function StyledField2({
2629
2633
  ref,
2630
2634
  "aria-invalid": invalid,
2631
2635
  "aria-disabled": isDisabled,
2632
- fontSize: ["mobile.md", "desktop.md"],
2633
2636
  children
2634
2637
  }
2635
2638
  );
@@ -2637,6 +2640,7 @@ var StyledField = function StyledField2({
2637
2640
  var DatePicker = ({
2638
2641
  ref: externalRef,
2639
2642
  variant,
2643
+ size,
2640
2644
  errorText,
2641
2645
  minHeight,
2642
2646
  showYearNavigation,
@@ -2701,12 +2705,13 @@ var DatePicker = ({
2701
2705
  invalid,
2702
2706
  helperText,
2703
2707
  required: props.required,
2708
+ size,
2704
2709
  children: /* @__PURE__ */ jsx(PopoverAnchor, { children: /* @__PURE__ */ jsxs(
2705
2710
  StyledField,
2706
2711
  {
2707
2712
  variant,
2713
+ size,
2708
2714
  onClick: onFieldClick,
2709
- paddingX: 3,
2710
2715
  minHeight,
2711
2716
  isDisabled: props.isDisabled,
2712
2717
  isActive: props.isActive,
@@ -2715,8 +2720,7 @@ var DatePicker = ({
2715
2720
  props.noCalendar ? /* @__PURE__ */ jsx(Box, { pr: 3, pl: 0.5, mr: 0.5, children: /* @__PURE__ */ jsx(CalendarOutline24Icon, {}) }) : /* @__PURE__ */ jsx(Popover$1.Trigger, { asChild: true, children: /* @__PURE__ */ jsx(
2716
2721
  CalendarTriggerButton,
2717
2722
  {
2718
- paddingLeft: 1,
2719
- paddingRight: 1,
2723
+ marginLeft: 1,
2720
2724
  variant,
2721
2725
  ref,
2722
2726
  ...buttonProps
@@ -2772,6 +2776,7 @@ function RangeCalendar(props) {
2772
2776
  }
2773
2777
  function DateRangePicker({
2774
2778
  variant = "core",
2779
+ size,
2775
2780
  minHeight,
2776
2781
  startName,
2777
2782
  endName,
@@ -2831,6 +2836,7 @@ function DateRangePicker({
2831
2836
  alignItems: "center",
2832
2837
  paddingX: 3,
2833
2838
  variant,
2839
+ size,
2834
2840
  onClick: onFieldClick,
2835
2841
  minHeight,
2836
2842
  children: [
@@ -2895,8 +2901,6 @@ var TimeField = ({ state, ...props }) => {
2895
2901
  color: "text.subtle",
2896
2902
  top: 0,
2897
2903
  cursor: "text",
2898
- left: "50%",
2899
- transform: "translateX(-50%)",
2900
2904
  position: "absolute",
2901
2905
  paddingTop: "2px",
2902
2906
  whiteSpace: "nowrap",
@@ -3032,10 +3036,8 @@ var TimePicker = ({
3032
3036
  StyledField,
3033
3037
  {
3034
3038
  width: "fit-content",
3035
- paddingX: 2,
3036
3039
  alignItems: "center",
3037
3040
  justifyContent: "space-between",
3038
- gap: 2,
3039
3041
  opacity: isDisabled ? 0.5 : 1,
3040
3042
  pointerEvents: isDisabled ? "none" : "auto",
3041
3043
  "aria-disabled": isDisabled,
@@ -6675,13 +6677,17 @@ var createToast = ({
6675
6677
  variant,
6676
6678
  id,
6677
6679
  duration = 6e3,
6678
- width = "sm"
6680
+ width = "sm",
6681
+ action,
6682
+ closable = false
6679
6683
  }) => toaster.create({
6680
6684
  description: text,
6681
6685
  type: variant,
6682
6686
  id: id ?? crypto.randomUUID(),
6683
6687
  duration,
6684
- meta: { width }
6688
+ action,
6689
+ meta: { width },
6690
+ closable
6685
6691
  });
6686
6692
  var Toaster = () => {
6687
6693
  return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(Toaster$1, { toaster, insetInline: { mdDown: "4" }, children: (toast) => {
@@ -6696,7 +6702,9 @@ var Toaster = () => {
6696
6702
  role: "alert",
6697
6703
  children: [
6698
6704
  /* @__PURE__ */ jsx(AlertIcon, { variant: toast.type }),
6699
- /* @__PURE__ */ jsx(Stack, { gap: "1", flex: "1", maxWidth: "100%", children: /* @__PURE__ */ jsx(Toast.Description, { children: toast.description }) })
6705
+ /* @__PURE__ */ jsx(Stack, { gap: "1", flex: "1", maxWidth: "100%", children: /* @__PURE__ */ jsx(Toast.Description, { children: toast.description }) }),
6706
+ toast.action && /* @__PURE__ */ jsx(Toast.ActionTrigger, { onClick: toast.action.onClick, children: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "xs", children: toast.action.label }) }),
6707
+ toast.closable && /* @__PURE__ */ jsx(Toast.CloseTrigger, { children: /* @__PURE__ */ jsx(CloseButton, { size: "xs" }) })
6700
6708
  ]
6701
6709
  }
6702
6710
  );
@@ -7945,7 +7953,8 @@ var radioCardAnatomy = createAnatomy("radio-card").parts(
7945
7953
  "itemText",
7946
7954
  "itemDescription",
7947
7955
  "itemContent",
7948
- "itemControl"
7956
+ "itemControl",
7957
+ "itemIndicator"
7949
7958
  );
7950
7959
  var radioAnatomy = createAnatomy("radio").parts(
7951
7960
  "root",
@@ -8970,6 +8979,8 @@ var datePickerSlotRecipe = defineSlotRecipe({
8970
8979
  display: "flex",
8971
8980
  flex: 1,
8972
8981
  paddingY: 0.5,
8982
+ paddingX: 2,
8983
+ gap: 1.5,
8973
8984
  alignItems: "center",
8974
8985
  _hover: {
8975
8986
  zIndex: "docked"
@@ -9185,10 +9196,25 @@ var datePickerSlotRecipe = defineSlotRecipe({
9185
9196
  }
9186
9197
  }
9187
9198
  }
9199
+ },
9200
+ size: {
9201
+ sm: {
9202
+ wrapper: {
9203
+ fontSize: ["mobile.xs", "desktop.xs"],
9204
+ paddingX: 1,
9205
+ gap: 1
9206
+ }
9207
+ },
9208
+ md: {
9209
+ wrapper: {
9210
+ fontSize: ["mobile.sm", "desktop.sm"]
9211
+ }
9212
+ }
9188
9213
  }
9189
9214
  },
9190
9215
  defaultVariants: {
9191
- variant: "core"
9216
+ variant: "core",
9217
+ size: "md"
9192
9218
  }
9193
9219
  });
9194
9220
  var dialogSlotRecipe = defineSlotRecipe({
@@ -11226,6 +11252,54 @@ var radioCardSlotRecipe = defineSlotRecipe({
11226
11252
  _disabled: { opacity: 0.4 },
11227
11253
  fontWeight: "bold",
11228
11254
  fontSize: "inherit"
11255
+ },
11256
+ itemControl: {
11257
+ display: "flex",
11258
+ alignItems: "flex-start",
11259
+ justifyContent: "flex-start"
11260
+ },
11261
+ itemIndicator: {
11262
+ display: "inline-flex",
11263
+ flexShrink: 0,
11264
+ alignItems: "center",
11265
+ justifyContent: "center",
11266
+ borderWidth: "2px",
11267
+ borderColor: "outline.core",
11268
+ borderRadius: "xl",
11269
+ width: 3,
11270
+ height: 3,
11271
+ marginRight: 2,
11272
+ marginTop: 0.5,
11273
+ _checked: {
11274
+ borderColor: "surface.brand"
11275
+ },
11276
+ _hover: {
11277
+ borderColor: "surface.brand.hover",
11278
+ "& .dot": {
11279
+ backgroundColor: "surface.brand.hover"
11280
+ }
11281
+ },
11282
+ _disabled: {
11283
+ pointerEvents: "none",
11284
+ backgroundColor: "surface.disabled",
11285
+ borderColor: "outline.disabled",
11286
+ "& .dot": {
11287
+ backgroundColor: "outline.disabled"
11288
+ }
11289
+ },
11290
+ _focusVisible: {
11291
+ outlineWidth: "2px",
11292
+ outlineColor: "outline.focus",
11293
+ outlineStyle: "solid",
11294
+ outlineOffset: "1px"
11295
+ },
11296
+ "& .dot": {
11297
+ height: "full",
11298
+ width: "full",
11299
+ borderRadius: "xl",
11300
+ backgroundColor: "surface.brand",
11301
+ scale: "0.5"
11302
+ }
11229
11303
  }
11230
11304
  },
11231
11305
  variants: {
@@ -11368,6 +11442,12 @@ var selectSlotRecipe = defineSlotRecipe({
11368
11442
  listStyle: "none",
11369
11443
  borderBottomRadius: "sm",
11370
11444
  marginTop: -1,
11445
+ "&[data-placement^='top']": {
11446
+ borderTopRadius: "sm",
11447
+ borderBottomRadius: 0,
11448
+ marginTop: 0,
11449
+ marginBottom: -1
11450
+ },
11371
11451
  _open: {
11372
11452
  animationStyle: "slide-fade-in",
11373
11453
  animationDuration: "fast",
@@ -11436,6 +11516,10 @@ var selectSlotRecipe = defineSlotRecipe({
11436
11516
  _open: {
11437
11517
  borderBottomRadius: 0
11438
11518
  },
11519
+ "&:has([data-placement^='top'][data-state='open'])": {
11520
+ borderTopRadius: 0,
11521
+ borderBottomRadius: "sm"
11522
+ },
11439
11523
  _invalid: {
11440
11524
  outline: "2px solid",
11441
11525
  outlineColor: "outline.error"