@commercetools/nimbus 0.0.7-rc12 → 0.0.7-rc13

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.ts CHANGED
@@ -19,10 +19,10 @@ import { ComboBoxOptionGroupProps as ComboBoxOptionGroupProps_2 } from './combob
19
19
  import { ComboBoxOptionProps as ComboBoxOptionProps_2 } from './combobox.types';
20
20
  import { ComboBoxProps } from 'react-aria-components';
21
21
  import { ComboBoxRootProps as ComboBoxRootProps_2 } from './combobox.types';
22
- import { ConditionalValue } from '@chakra-ui/react';
23
22
  import { Context } from 'react';
23
+ import { default as default_2 } from 'react';
24
24
  import { DetailedHTMLProps } from 'react';
25
- import { Dialog } from '@chakra-ui/react';
25
+ import { Dialog as Dialog_2 } from '@chakra-ui/react';
26
26
  import { DisclosureGroupProps as DisclosureGroupProps_2 } from './accordion.types';
27
27
  import { DisclosureProps } from 'react-aria-components';
28
28
  import { Dispatch } from 'react';
@@ -33,7 +33,6 @@ import { FocusableOptions } from 'react-aria';
33
33
  import { FormFieldProps as FormFieldProps_2 } from './form-field.types';
34
34
  import { ForwardRefExoticComponent } from 'react';
35
35
  import { GridItemProps } from '@chakra-ui/react';
36
- import { GridListProps } from 'react-aria-components';
37
36
  import { GridProps as GridProps_2 } from '@chakra-ui/react';
38
37
  import { Heading } from '@chakra-ui/react';
39
38
  import { Highlight as Highlight_2 } from '@chakra-ui/react';
@@ -41,14 +40,12 @@ import { HTMLAttributes } from 'react';
41
40
  import { HTMLChakraProps } from '@chakra-ui/react';
42
41
  import { ImageProps as ImageProps_2 } from '@chakra-ui/react';
43
42
  import { JSX } from 'react/jsx-runtime';
44
- import { JSX as JSX_2 } from 'react';
45
43
  import { JsxStyleProps } from '@chakra-ui/react';
46
44
  import { Kbd } from '@chakra-ui/react';
47
45
  import { List } from '@chakra-ui/react';
48
46
  import { ListBoxItemProps } from 'react-aria-components';
49
47
  import { ListBoxProps } from 'react-aria-components';
50
48
  import { ListBoxSectionProps } from 'react-aria-components';
51
- import { LoadingSpinnerRootProps } from './loading-spinner.slots';
52
49
  import { PatchHtmlProps } from '@chakra-ui/react';
53
50
  import { PolymorphicProps } from '@chakra-ui/react';
54
51
  import { PropsWithChildren } from 'react';
@@ -57,6 +54,7 @@ import { RecipeDefinition } from '@chakra-ui/react';
57
54
  import { RecipeProps } from '@chakra-ui/react';
58
55
  import { RecipeVariantProps } from '@chakra-ui/react';
59
56
  import { RecipeVariantRecord } from '@chakra-ui/react';
57
+ import { Ref } from 'react';
60
58
  import { RefAttributes } from 'react';
61
59
  import { RefObject } from 'react';
62
60
  import { SelectOptionGroupProps as SelectOptionGroupProps_2 } from './select.types';
@@ -200,12 +198,27 @@ export declare const Alert: {
200
198
  };
201
199
  };
202
200
 
201
+ export declare const _AlertActions: {
202
+ ({ children, ...props }: AlertActionsProps): null;
203
+ displayName: string;
204
+ };
205
+
203
206
  /** Base Chakra styling props for the `actions` slot (`div`). */
204
207
  export declare type AlertActionsProps = HTMLChakraProps<"div", RecipeProps<"div">>;
205
208
 
209
+ export declare const _AlertDescription: {
210
+ ({ children, ...props }: AlertDescriptionProps): null;
211
+ displayName: string;
212
+ };
213
+
206
214
  /** Props for the `Alert.Description` sub-component (inherits from Text). */
207
215
  export declare type AlertDescriptionProps = TextProps;
208
216
 
217
+ export declare const _AlertDismissButton: {
218
+ ({ children, ...props }: AlertDismissButtonProps): null;
219
+ displayName: string;
220
+ };
221
+
209
222
  /** Props for the `Alert.DismissButton` sub-component (inherits from Button). */
210
223
  export declare type AlertDismissButtonProps = ButtonProps;
211
224
 
@@ -215,6 +228,7 @@ export declare type AlertIconProps = HTMLChakraProps<"div", RecipeProps<"div">>;
215
228
  /** Final external props for the `<Alert>` component (variants + children + data-* attrs). */
216
229
  export declare type AlertProps = PropsWithChildren<AlertVariantProps> & {
217
230
  [key: `data-${string}`]: unknown;
231
+ ref?: React.Ref<HTMLDivElement>;
218
232
  };
219
233
 
220
234
  /**
@@ -258,19 +272,34 @@ borderRadius: "200";
258
272
  };
259
273
  }>;
260
274
 
261
- /** Type signature for the main `Alert` component (using `forwardRef`). */
262
- export declare type AlertRootComponent = ForwardRefExoticComponent<AlertProps & RefAttributes<HTMLDivElement>>;
275
+ /**
276
+ * Alert
277
+ * ============================================================
278
+ * Provides feedback to the user about the status of an action or system event
279
+ */
280
+ export declare const _AlertRoot: AlertRootComponent;
281
+
282
+ /** Type signature for the main `Alert` component. */
283
+ export declare type AlertRootComponent = React.FC<AlertProps>;
263
284
 
264
285
  /** Base Chakra styling props for the root `div` slot. */
265
286
  export declare type AlertRootProps = HTMLChakraProps<"div", RecipeProps<"div">>;
266
287
 
288
+ export declare const _AlertTitle: {
289
+ ({ children, ...props }: AlertTitleProps): null;
290
+ displayName: string;
291
+ };
292
+
267
293
  /** Props for the `Alert.Title` sub-component (inherits from Text). */
268
294
  export declare type AlertTitleProps = TextProps;
269
295
 
270
296
  /** Combined root props including Chakra styles and recipe variants. */
271
297
  declare type AlertVariantProps = AlertRootProps & RecipeVariantProps<typeof alertRecipe>;
272
298
 
273
- export declare const Avatar: ForwardRefExoticComponent<AvatarProps & RefAttributes<HTMLDivElement>>;
299
+ export declare const Avatar: {
300
+ (props: AvatarProps): JSX.Element;
301
+ displayName: string;
302
+ };
274
303
 
275
304
  export declare interface AvatarComponentProps extends HTMLAttributes<HTMLDivElement>, RecipeVariantProps<typeof avatarRecipe> {
276
305
  /**
@@ -297,6 +326,7 @@ export declare interface AvatarComponentProps extends HTMLAttributes<HTMLDivElem
297
326
 
298
327
  export declare interface AvatarProps extends FunctionalAvatarProps {
299
328
  children?: React.ReactNode;
329
+ ref?: React.Ref<HTMLDivElement>;
300
330
  }
301
331
 
302
332
  declare const avatarRecipe: RecipeDefinition< {
@@ -338,7 +368,10 @@ declare interface AvatarRootProps extends HTMLChakraProps<"div", AvatarRecipePro
338
368
  * - allows overriding styles by using style-props
339
369
  * - supports 'asChild' and 'as' to modify the underlying html-element (polymorphic)
340
370
  */
341
- export declare const Badge: ForwardRefExoticComponent<BadgeProps & RefAttributes<HTMLSpanElement>>;
371
+ export declare const Badge: {
372
+ (props: BadgeProps): JSX.Element;
373
+ displayName: string;
374
+ };
342
375
 
343
376
  /**
344
377
  * Main props interface for the Badge component.
@@ -347,6 +380,7 @@ export declare const Badge: ForwardRefExoticComponent<BadgeProps & RefAttributes
347
380
  */
348
381
  export declare interface BadgeProps extends BadgeVariantProps {
349
382
  children?: React.ReactNode;
383
+ ref?: React.Ref<HTMLSpanElement>;
350
384
  }
351
385
 
352
386
  /**
@@ -417,13 +451,20 @@ declare type BadgeVariantProps = BadgeRootProps & RecipeVariantProps<typeof badg
417
451
 
418
452
  export { Bleed }
419
453
 
420
- export declare const Box: ForwardRefExoticComponent<BoxProps & RefAttributes<HTMLDivElement>>;
454
+ export declare const Box: {
455
+ (props: BoxProps): JSX.Element;
456
+ displayName: string;
457
+ };
421
458
 
422
459
  export declare interface BoxProps extends HTMLChakraProps<"div"> {
423
460
  children?: React.ReactNode;
461
+ ref?: React.Ref<HTMLDivElement>;
424
462
  }
425
463
 
426
- export declare const Button: ForwardRefExoticComponent<ButtonProps & RefAttributes<HTMLButtonElement>>;
464
+ export declare const Button: {
465
+ (props: ButtonProps): JSX.Element;
466
+ displayName: string;
467
+ };
427
468
 
428
469
  /**
429
470
  * Recipe configuration for the ToggleButtonGroup component.
@@ -481,121 +522,14 @@ colorPalette: "neutral";
481
522
  }>;
482
523
 
483
524
  export declare interface ButtonProps extends FunctionalButtonProps {
525
+ ref?: React.Ref<HTMLButtonElement>;
484
526
  }
485
527
 
486
- declare const buttonRecipe: RecipeDefinition< {
487
- size: {
488
- "2xs": {
489
- h: "600";
490
- minW: "600";
491
- fontSize: "300";
492
- fontWeight: "500";
493
- lineHeight: "400";
494
- px: "200";
495
- gap: "100";
496
- _icon: {
497
- width: "400";
498
- height: "400";
499
- };
500
- };
501
- xs: {
502
- h: "800";
503
- minW: "800";
504
- fontSize: "350";
505
- fontWeight: "500";
506
- lineHeight: "400";
507
- px: "300";
508
- gap: "100";
509
- _icon: {
510
- width: "500";
511
- height: "500";
512
- };
513
- };
514
- md: {
515
- h: "1000";
516
- minW: "1000";
517
- fontSize: "400";
518
- lineHeight: "500";
519
- px: "400";
520
- gap: "200";
521
- _icon: {
522
- width: "600";
523
- height: "600";
524
- };
525
- };
526
- };
527
- variant: {
528
- solid: {
529
- bg: "colorPalette.9";
530
- color: "colorPalette.contrast";
531
- _hover: {
532
- bg: "colorPalette.10";
533
- };
534
- _expanded: {
535
- bg: "colorPalette.10";
536
- };
537
- };
538
- subtle: {
539
- bg: "colorPalette.3";
540
- color: "colorPalette.11";
541
- _hover: {
542
- bg: "colorPalette.4";
543
- };
544
- _expanded: {
545
- bg: "colorPalette.4";
546
- };
547
- };
548
- outline: {
549
- borderWidth: "1px";
550
- borderColor: "colorPalette.7";
551
- color: "colorPalette.11";
552
- transitionProperty: "background-color, border-color, color";
553
- transitionDuration: "moderate";
554
- _hover: {
555
- bg: "colorPalette.3";
556
- borderColor: "colorPalette.8";
557
- };
558
- _expanded: {
559
- bg: "colorPalette.subtle";
560
- };
561
- };
562
- ghost: {
563
- color: "colorPalette.11";
564
- _hover: {
565
- bg: "colorPalette.4";
566
- };
567
- _expanded: {
568
- bg: "colorPalette.4";
569
- };
570
- };
571
- link: {
572
- color: "colorPalette.11";
573
- _hover: {
574
- textDecoration: "underline";
575
- };
576
- };
577
- };
578
- tone: {
579
- primary: {
580
- colorPalette: "primary";
581
- };
582
- critical: {
583
- colorPalette: "critical";
584
- };
585
- neutral: {
586
- colorPalette: "neutral";
587
- };
588
- info: {
589
- colorPalette: "info";
590
- };
591
- };
592
- }>;
593
-
594
528
  /**
595
529
  * Base recipe props interface that combines Chakra UI's recipe props
596
530
  * with the unstyled prop option for the button element.
597
531
  */
598
- declare interface ButtonRecipeProps extends RecipeProps<typeof buttonRecipe>, UnstyledProp {
532
+ declare interface ButtonRecipeProps extends RecipeProps<"typeof buttonRecipe">, UnstyledProp {
599
533
  }
600
534
 
601
535
  /**
@@ -607,7 +541,10 @@ declare interface ButtonRootProps extends HTMLChakraProps<"button", ButtonRecipe
607
541
  }
608
542
 
609
543
  export declare const Card: {
610
- Root: ForwardRefExoticComponent<CardProps_2 & RefAttributes<HTMLDivElement>>;
544
+ Root: {
545
+ ({ children, ref, ...props }: CardProps_2): JSX.Element;
546
+ displayName: string;
547
+ };
611
548
  Header: {
612
549
  ({ children, ...props }: CardHeaderProps_2): null;
613
550
  displayName: string;
@@ -641,6 +578,7 @@ declare interface CardHeaderProps extends HTMLChakraProps<"div", CardRecipeProps
641
578
  */
642
579
  export declare interface CardProps extends CardVariantProps {
643
580
  children?: React.ReactNode;
581
+ ref?: React.Ref<HTMLDivElement>;
644
582
  }
645
583
 
646
584
  /**
@@ -703,7 +641,10 @@ backgroundColor: "colorPalette.2";
703
641
  declare interface CardRecipeProps extends RecipeProps<"div">, UnstyledProp {
704
642
  }
705
643
 
706
- export declare const CardRoot: ForwardRefExoticComponent<CardProps & RefAttributes<HTMLDivElement>>;
644
+ export declare const CardRoot: {
645
+ ({ children, ref, ...props }: CardProps): JSX.Element;
646
+ displayName: string;
647
+ };
707
648
 
708
649
  /**
709
650
  * Root props interface that extends Chakra's HTML props with our recipe props.
@@ -735,7 +676,10 @@ declare type CardVariantProps = CardRootProps & RecipeVariantProps<typeof cardRe
735
676
  * - allows overriding styles by using style-props
736
677
  * - supports 'asChild' and 'as' to modify the underlying html-element (polymorphic)
737
678
  */
738
- export declare const Checkbox: ForwardRefExoticComponent<CheckboxProps & RefAttributes<HTMLInputElement>>;
679
+ export declare const Checkbox: {
680
+ (props: CheckboxProps): JSX.Element;
681
+ displayName: string;
682
+ };
739
683
 
740
684
  /**
741
685
  * Main props interface for the Checkbox component.
@@ -744,6 +688,7 @@ export declare const Checkbox: ForwardRefExoticComponent<CheckboxProps & RefAttr
744
688
  */
745
689
  export declare interface CheckboxProps extends CheckboxVariantProps {
746
690
  children?: React.ReactNode;
691
+ ref?: React.Ref<HTMLInputElement>;
747
692
  }
748
693
 
749
694
  declare interface CheckboxRootProps extends HTMLChakraProps<"label", RecipeVariantProps<typeof checkboxSlotRecipe>> {
@@ -792,32 +737,59 @@ declare interface ColorModeProviderProps extends ThemeProviderProps {
792
737
  }
793
738
 
794
739
  export declare const ComboBox: {
795
- Root: <T extends object>(props: ComboBoxRootProps_2<T> & RefAttributes<HTMLDivElement>) => JSX_2.Element;
796
- Options: <T extends object>(props: ComboBoxOptionProps_2<T> & RefAttributes<HTMLDivElement>) => JSX_2.Element;
740
+ Root: {
741
+ <T extends object>({ children, ref, ...props }: ComboBoxRootProps_2<T>): JSX.Element;
742
+ displayName: string;
743
+ };
744
+ Options: {
745
+ <T extends object>({ children, ref, ...props }: ComboBoxOptionProps_2<T>): JSX.Element;
746
+ displayName: string;
747
+ };
797
748
  OptionGroup: {
798
749
  <T extends object>({ children, label, items, ref, ...props }: ComboBoxOptionGroupProps_2<T> & RefAttributes<HTMLDivElement>): JSX.Element;
799
750
  displayName: string;
800
751
  };
801
- Option: <T extends object>(props: ComboBoxOptionProps_2<T> & RefAttributes<HTMLDivElement>) => JSX_2.Element;
752
+ Option: {
753
+ <T extends object>({ children, ref, ...props }: ComboBoxOptionProps_2<T>): JSX.Element;
754
+ displayName: string;
755
+ };
802
756
  };
803
757
 
804
- declare interface ComboBoxMultiSelect<T extends object> extends Omit<AutocompleteProps, "children">, Omit<GridListProps<T>, "filter"> {
758
+ export declare type ComboBoxButtonGroupProps = {
759
+ selectedKeys?: ComboBoxMultiSelectRootProps<{}>["selectedKeys"];
760
+ onSelectionChange?: ComboBoxMultiSelectRootProps<{}>["onSelectionChange"];
761
+ onInputChange?: ComboBoxMultiSelectRootProps<{}>["onInputChange"];
762
+ };
763
+
764
+ declare interface ComboBoxMultiSelect<T extends object> extends Omit<AutocompleteProps, "children">, Omit<ListBoxProps<T>, "filter"> {
805
765
  defaultFilter?: (textValue: string, inputValue: string) => boolean;
806
766
  isLoading?: boolean;
807
767
  isDisabled?: boolean;
808
768
  isReadOnly?: boolean;
809
769
  isRequired?: boolean;
810
770
  isInvalid?: boolean;
771
+ itemID?: string;
772
+ itemValue?: string;
811
773
  }
812
774
 
813
775
  /** Combined props for the multi select root element (Chakra styles + Aria behavior + Recipe variants). */
814
776
  export declare interface ComboBoxMultiSelectRootProps<T extends object> extends Omit<ComboBoxMultiSelectRootSlotProps<T>, "selectionMode">, ComboBoxMultiSelect<T> {
777
+ ref?: Ref<HTMLDivElement>;
815
778
  }
816
779
 
817
780
  /** Base Chakra styling props for the root `div` slot when multi select*/
818
781
  export declare interface ComboBoxMultiSelectRootSlotProps<T extends object> extends HTMLChakraProps<"div", RecipeVariantProps<typeof comboBoxSlotRecipe> & ComboBoxMultiSelect<T>> {
819
782
  }
820
783
 
784
+ export declare type ComboBoxMultiSelectValueProps<T extends object> = {
785
+ items: ComboBoxMultiSelectRootProps<T>["items"];
786
+ itemID: ComboBoxMultiSelectRootProps<T>["itemID"];
787
+ itemValue: ComboBoxMultiSelectRootProps<T>["itemValue"];
788
+ selectedKeys: ComboBoxMultiSelectRootProps<T>["selectedKeys"];
789
+ onSelectionChange: ComboBoxMultiSelectRootProps<T>["onSelectionChange"];
790
+ ref?: Ref<HTMLDivElement>;
791
+ };
792
+
821
793
  /** Combined props for the tag element (Chakra styles + Aria behavior + Recipe variants). */
822
794
  export declare interface ComboBoxOptionGroupProps<T extends object> extends ListBoxSectionProps<T>, Omit<ComboBoxOptionGroupSlotProps, keyof ListBoxSectionProps<T>> {
823
795
  label?: ReactNode;
@@ -828,6 +800,7 @@ declare type ComboBoxOptionGroupSlotProps = HTMLChakraProps<"div", RecipeProps<"
828
800
 
829
801
  /** Combined props for the ListBoxItem element (Chakra styles + Aria behavior + Recipe variants). */
830
802
  export declare interface ComboBoxOptionProps<T extends object> extends ListBoxItemProps<T>, Omit<ComboBoxOptionSlotProps, keyof ListBoxItemProps<T>> {
803
+ ref?: Ref<HTMLDivElement>;
831
804
  }
832
805
 
833
806
  /** Base Chakra styling props for the root `div` slot. */
@@ -835,6 +808,7 @@ declare type ComboBoxOptionSlotProps = HTMLChakraProps<"div", RecipeProps<"div">
835
808
 
836
809
  /** Combined props for the ListBox element used in Single Select (Chakra styles + Aria behavior + Recipe variants) */
837
810
  export declare interface ComboBoxOptionsProps<T extends object> extends ListBoxProps<T>, Omit<ComboBoxOptionsSlotProps, keyof ListBoxProps<T>> {
811
+ ref?: Ref<HTMLDivElement>;
838
812
  }
839
813
 
840
814
  /** Base Chakra styling props for the root `div` slot. */
@@ -845,6 +819,7 @@ export declare type ComboBoxRootProps<T extends object> = ComboBoxSingleSelectRo
845
819
 
846
820
  /** Combined props for the single select root element (Chakra styles + Aria behavior + Recipe variants). */
847
821
  export declare interface ComboBoxSingleSelectRootProps<T extends object> extends ComboBoxSingleSelectRootSlotProps<T>, ComboBoxWithCustomChildren<T> {
822
+ ref?: Ref<HTMLDivElement>;
848
823
  }
849
824
 
850
825
  /** Base Chakra styling props for the root `div` slot when single select*/
@@ -921,37 +896,35 @@ none: {};
921
896
  /** ComboBox with overridden children prop based on expected dom structure. */
922
897
  declare type ComboBoxWithCustomChildren<T extends object> = Omit<ComboBoxProps<T>, "children"> & {
923
898
  isLoading?: boolean;
924
- children: ReactNode | ((item: T) => React.ReactNode);
925
- };
926
-
927
- export declare const DialogActionTrigger: ForwardRefExoticComponent<Dialog.ActionTriggerProps & RefAttributes<HTMLButtonElement>>;
928
-
929
- export declare const DialogBackdrop: ForwardRefExoticComponent<Dialog.BackdropProps & RefAttributes<HTMLDivElement>>;
930
-
931
- export declare const DialogBody: ForwardRefExoticComponent<Dialog.BodyProps & RefAttributes<HTMLDivElement>>;
932
-
933
- export declare const DialogCloseTrigger: ForwardRefExoticComponent<Dialog.CloseTriggerProps & RefAttributes<HTMLButtonElement>>;
899
+ children: ReactNode | ((item: T) => default_2.ReactNode);
900
+ };
901
+
902
+ export declare const Dialog: DialogComponents;
903
+
904
+ declare interface DialogComponents {
905
+ Root: typeof Dialog_2.Root;
906
+ Trigger: typeof Dialog_2.Trigger;
907
+ Content: typeof DialogContent;
908
+ Backdrop: typeof Dialog_2.Backdrop;
909
+ Positioner: typeof Dialog_2.Positioner;
910
+ Title: typeof Dialog_2.Title;
911
+ Description: typeof Dialog_2.Description;
912
+ Body: typeof Dialog_2.Body;
913
+ Footer: typeof Dialog_2.Footer;
914
+ Header: typeof Dialog_2.Header;
915
+ CloseTrigger: typeof Dialog_2.CloseTrigger;
916
+ ActionTrigger: typeof Dialog_2.ActionTrigger;
917
+ }
934
918
 
935
- export declare const DialogContent: ForwardRefExoticComponent<DialogContentProps & RefAttributes<HTMLDivElement>>;
919
+ declare const DialogContent: (props: DialogContentProps) => JSX.Element;
936
920
 
937
- declare interface DialogContentProps extends Dialog.ContentProps {
921
+ declare interface DialogContentProps extends Dialog_2.ContentProps {
938
922
  portalled?: boolean;
939
923
  portalRef?: React.RefObject<HTMLElement>;
940
924
  backdrop?: boolean;
925
+ ref?: React.Ref<HTMLDivElement>;
941
926
  }
942
927
 
943
- export declare const DialogDescription: ForwardRefExoticComponent<Dialog.DescriptionProps & RefAttributes<HTMLDivElement>>;
944
-
945
- export declare const DialogFooter: ForwardRefExoticComponent<Dialog.FooterProps & RefAttributes<HTMLDivElement>>;
946
-
947
- export declare const DialogHeader: ForwardRefExoticComponent<Dialog.HeaderProps & RefAttributes<HTMLDivElement>>;
948
-
949
- export declare const DialogRoot: FC<Dialog.RootProps>;
950
-
951
- export declare const DialogTitle: ForwardRefExoticComponent<Dialog.TitleProps & RefAttributes<HTMLDivElement>>;
952
-
953
- export declare const DialogTrigger: ForwardRefExoticComponent<Dialog.TriggerProps & RefAttributes<HTMLButtonElement>>;
954
-
955
928
  export declare type DisclosureGroupProps = AccordionProps & {
956
929
  children: ReactNode;
957
930
  ref?: RefAttributes<HTMLButtonElement>;
@@ -972,6 +945,11 @@ export declare type DisclosureItemProps = AccordionItemProps & {
972
945
 
973
946
  export { Em }
974
947
 
948
+ /**
949
+ * List of props that should be excluded from the root props when combining with ARIA props
950
+ */
951
+ declare type ExcludedSwitchProps = "asChild" | "isIndeterminate" | "colorScheme" | "validationState" | "validationBehavior" | "validate";
952
+
975
953
  /**
976
954
  * For use in components that use the polymorphic `as` and `asChild` props
977
955
  * internally, but do not make them available to the consumer.
@@ -1111,7 +1089,10 @@ declare type FunctionalButtonProps = AriaButtonProps & Omit<ButtonRootProps, key
1111
1089
  [key: `data-${string}`]: unknown;
1112
1090
  };
1113
1091
 
1114
- export declare const Grid: ForwardRefExoticComponent<GridProps & RefAttributes<HTMLDivElement>> & {
1092
+ export declare const Grid: {
1093
+ (props: GridProps): JSX.Element;
1094
+ displayName: string;
1095
+ } & {
1115
1096
  Item: ForwardRefExoticComponent<GridItemProps & RefAttributes<HTMLDivElement>>;
1116
1097
  };
1117
1098
 
@@ -1126,6 +1107,7 @@ export declare const Grid: ForwardRefExoticComponent<GridProps & RefAttributes<H
1126
1107
  */
1127
1108
  export declare interface GridProps extends GridProps_2 {
1128
1109
  children?: React.ReactNode;
1110
+ ref?: React.Ref<HTMLDivElement>;
1129
1111
  }
1130
1112
 
1131
1113
  export { Heading }
@@ -1136,7 +1118,10 @@ export { Highlight_2 as Highlight }
1136
1118
  * Icon
1137
1119
  * displays icon components
1138
1120
  */
1139
- export declare const Icon: ForwardRefExoticComponent<IconProps & RefAttributes<SVGSVGElement>>;
1121
+ export declare const Icon: {
1122
+ (props: IconProps): JSX.Element;
1123
+ displayName: string;
1124
+ };
1140
1125
 
1141
1126
  /**
1142
1127
  * IconButton
@@ -1144,7 +1129,10 @@ export declare const Icon: ForwardRefExoticComponent<IconProps & RefAttributes<S
1144
1129
  * displays a button with only an icon as child. It is based
1145
1130
  * on the regular `Button` component, but with a few adjustments.
1146
1131
  */
1147
- export declare const IconButton: ForwardRefExoticComponent<IconButtonProps & RefAttributes<HTMLButtonElement>>;
1132
+ export declare const IconButton: {
1133
+ (props: IconButtonProps): JSX.Element;
1134
+ displayName: string;
1135
+ };
1148
1136
 
1149
1137
  /**
1150
1138
  * Main props interface for the IconButton component.
@@ -1152,6 +1140,7 @@ export declare const IconButton: ForwardRefExoticComponent<IconButtonProps & Ref
1152
1140
  export declare interface IconButtonProps extends ButtonProps {
1153
1141
  /** explains the intended action, required for accessibility */
1154
1142
  "aria-label": string;
1143
+ ref?: React.Ref<HTMLButtonElement>;
1155
1144
  }
1156
1145
 
1157
1146
  /**
@@ -1173,6 +1162,10 @@ export declare interface IconProps extends IconVariantProps {
1173
1162
  * Accepts a React component to be rendered as the icon .
1174
1163
  */
1175
1164
  as?: BoxProps["as"];
1165
+ /**
1166
+ * Ref to the icon element
1167
+ */
1168
+ ref?: React.Ref<SVGSVGElement>;
1176
1169
  }
1177
1170
 
1178
1171
  /**
@@ -1232,7 +1225,10 @@ declare type IconVariantProps = Omit<IconRootSlotProps, keyof React.SVGProps<SVG
1232
1225
  *
1233
1226
  * Use this component to display an image.
1234
1227
  */
1235
- declare const Image_2: ForwardRefExoticComponent<ImageProps & RefAttributes<HTMLImageElement>>;
1228
+ declare const Image_2: {
1229
+ (props: ImageProps): JSX.Element;
1230
+ displayName: string;
1231
+ };
1236
1232
  export { Image_2 as Image }
1237
1233
 
1238
1234
  export declare interface ImageProps extends ImageProps_2 {
@@ -1253,7 +1249,10 @@ export { Kbd }
1253
1249
  * - allows overriding styles by using style-props
1254
1250
  * - supports 'asChild' and 'as' to modify the underlying html-element (polymorphic)
1255
1251
  */
1256
- export declare const Link: ForwardRefExoticComponent<LinkProps & RefAttributes<HTMLAnchorElement>>;
1252
+ export declare const Link: {
1253
+ (props: LinkProps): JSX.Element;
1254
+ displayName: string;
1255
+ };
1257
1256
 
1258
1257
  /**
1259
1258
  * Main props interface for the Link component.
@@ -1262,6 +1261,7 @@ export declare const Link: ForwardRefExoticComponent<LinkProps & RefAttributes<H
1262
1261
  */
1263
1262
  export declare interface LinkProps extends LinkVariantProps {
1264
1263
  children?: React.ReactNode;
1264
+ ref?: React.Ref<HTMLAnchorElement>;
1265
1265
  }
1266
1266
 
1267
1267
  /**
@@ -1315,7 +1315,7 @@ declare type LinkRootProps = HTMLChakraProps<"a", LinkRecipeProps>;
1315
1315
  * Differences between LinkRootProps and LinkVariantProps necessitate
1316
1316
  * the use of Omit and Pick to ensure the correct props are passed
1317
1317
  */
1318
- declare type LinkVariantProps = Omit<LinkRootProps, "onFocus" | "onBlur"> & Pick<AriaLinkOptions, "onFocus" | "onBlur"> & RecipeVariantProps<typeof linkRecipe> & {
1318
+ declare type LinkVariantProps = Omit<LinkRootProps, "onFocus" | "onBlur" | "onClick"> & Pick<AriaLinkOptions, "onFocus" | "onBlur" | "onClick"> & RecipeVariantProps<typeof linkRecipe> & {
1319
1319
  [key: `data-${string}`]: string;
1320
1320
  };
1321
1321
 
@@ -1334,19 +1334,19 @@ export declare type ListRootType = React.ComponentProps<typeof List.Root>;
1334
1334
  * ============================================================
1335
1335
  * Indicates ongoing processes or loading states
1336
1336
  */
1337
- export declare const LoadingSpinner: ForwardRefExoticComponent<LoadingSpinnerRootProps & {
1338
- size?: ConditionalValue<"sm" | "md" | "lg" | "2xs" | "xs" | undefined>;
1339
- tone?: ConditionalValue<"white" | "primary" | undefined>;
1340
- } & {
1341
- [key: `data-${string}`]: string;
1342
- } & RefAttributes<HTMLDivElement>>;
1337
+ export declare const LoadingSpinner: {
1338
+ (props: LoadingSpinnerProps): JSX.Element;
1339
+ displayName: string;
1340
+ };
1343
1341
 
1344
1342
  /**
1345
1343
  * Main props interface for the LoadingSpinner component.
1346
1344
  * Extends LoadingSpinnerVariantProps to include both root props and variant props,
1347
1345
  * while adding support for React children.
1348
1346
  */
1349
- export declare type LoadingSpinnerProps = LoadingSpinnerVariantProps;
1347
+ export declare type LoadingSpinnerProps = LoadingSpinnerVariantProps & {
1348
+ ref?: React.Ref<HTMLDivElement>;
1349
+ };
1350
1350
 
1351
1351
  /**
1352
1352
  * Recipe configuration for the LoadingSpinner component.
@@ -1397,7 +1397,7 @@ declare interface LoadingSpinnerRecipeProps extends RecipeProps<"div">, Unstyled
1397
1397
  * This creates a complete set of props for the root element, combining
1398
1398
  * HTML attributes, Chakra's styling system, and our custom recipe props.
1399
1399
  */
1400
- declare type LoadingSpinnerRootProps_2 = Omit<HTMLChakraProps<"div", LoadingSpinnerRecipeProps>, "as" | "asChild">;
1400
+ declare type LoadingSpinnerRootProps = Omit<HTMLChakraProps<"div", LoadingSpinnerRecipeProps>, "as" | "asChild">;
1401
1401
 
1402
1402
  /**
1403
1403
  * Combines the root props with Chakra UI's recipe variant props and Aria's progress bar props.
@@ -1405,7 +1405,7 @@ declare type LoadingSpinnerRootProps_2 = Omit<HTMLChakraProps<"div", LoadingSpin
1405
1405
  * This allows the component to accept both structural props from Root
1406
1406
  * and styling variants from the recipe.
1407
1407
  */
1408
- declare type LoadingSpinnerVariantProps = LoadingSpinnerRootProps_2 & RecipeVariantProps<typeof loadingSpinnerRecipe> & {
1408
+ declare type LoadingSpinnerVariantProps = LoadingSpinnerRootProps & RecipeVariantProps<typeof loadingSpinnerRecipe> & {
1409
1409
  [key: `data-${string}`]: string;
1410
1410
  };
1411
1411
 
@@ -1435,16 +1435,63 @@ children?: ReactNode | undefined;
1435
1435
 
1436
1436
  export declare function NimbusProvider({ children, ...props }: ColorModeProviderProps): JSX.Element;
1437
1437
 
1438
+ /**
1439
+ * PasswordInput
1440
+ * ============================================================
1441
+ * An input component that takes in password as input with toggleable visibility
1442
+ *
1443
+ * Features:
1444
+ *
1445
+ * - Based on TextInput with added password visibility toggle
1446
+ * - Allows toggling between type="password" and type="text"
1447
+ * - Positions the toggle button at the right edge of the input
1448
+ * - Inherits all TextInput features and props
1449
+ */
1450
+ export declare const PasswordInput: ForwardRefExoticComponent<Omit<PasswordInputProps, "ref"> & RefAttributes<HTMLInputElement>>;
1451
+
1452
+ /**
1453
+ * Interface for PasswordInput component props
1454
+ * Extends TextInputProps but omits the type prop since it's controlled internally
1455
+ * We want to keep this as an explicit interface to allow for future additions
1456
+ */
1457
+ export declare interface PasswordInputProps extends Omit<TextInputProps, "type"> {
1458
+ }
1459
+
1438
1460
  export declare const Select: {
1439
1461
  Root: ForwardRefExoticComponent<SelectRootProps_2 & RefAttributes<HTMLDivElement>>;
1440
- Options: <T extends object>(props: SelectOptionsProps_2<T> & RefAttributes<HTMLDivElement>) => JSX_2.Element;
1441
- Option: <T extends object>(props: SelectOptionProps_2<T> & RefAttributes<HTMLDivElement>) => JSX_2.Element;
1442
- OptionGroup: <T extends object>(props: SelectOptionGroupProps_2<T> & RefAttributes<HTMLDivElement>) => JSX_2.Element;
1462
+ Options: {
1463
+ <T extends object>(props: SelectOptionsProps_2<T> & {
1464
+ ref?: React.Ref<HTMLDivElement>;
1465
+ }): JSX.Element;
1466
+ displayName: string;
1467
+ };
1468
+ Option: {
1469
+ <T extends object>(props: SelectOptionProps_2<T> & {
1470
+ ref?: React.Ref<HTMLDivElement>;
1471
+ }): JSX.Element;
1472
+ displayName: string;
1473
+ };
1474
+ OptionGroup: {
1475
+ <T extends object>(props: SelectOptionGroupProps_2<T> & {
1476
+ ref?: React.Ref<HTMLDivElement>;
1477
+ }): JSX.Element;
1478
+ displayName: string;
1479
+ };
1443
1480
  };
1444
1481
 
1445
- export declare const _SelectOption: <T extends object>(props: SelectOptionProps<T> & RefAttributes<HTMLDivElement>) => JSX_2.Element;
1482
+ export declare const _SelectOption: {
1483
+ <T extends object>(props: SelectOptionProps<T> & {
1484
+ ref?: React.Ref<HTMLDivElement>;
1485
+ }): JSX.Element;
1486
+ displayName: string;
1487
+ };
1446
1488
 
1447
- export declare const _SelectOptionGroup: <T extends object>(props: SelectOptionGroupProps<T> & RefAttributes<HTMLDivElement>) => JSX_2.Element;
1489
+ export declare const _SelectOptionGroup: {
1490
+ <T extends object>(props: SelectOptionGroupProps<T> & {
1491
+ ref?: React.Ref<HTMLDivElement>;
1492
+ }): JSX.Element;
1493
+ displayName: string;
1494
+ };
1448
1495
 
1449
1496
  export declare interface SelectOptionGroupProps<T> extends ListBoxSectionProps<T>, Omit<SelectOptionGroupSlotProps, keyof ListBoxSectionProps<T>> {
1450
1497
  /** the label for the section */
@@ -1457,7 +1504,12 @@ declare interface SelectOptionGroupSlotProps extends HTMLChakraProps<"div"> {
1457
1504
  export declare interface SelectOptionProps<T> extends Omit<ListBoxItemProps<T>, keyof SelectOptionSlotProps>, SelectOptionSlotProps {
1458
1505
  }
1459
1506
 
1460
- export declare const _SelectOptions: <T extends object>(props: SelectOptionsProps<T> & RefAttributes<HTMLDivElement>) => JSX_2.Element;
1507
+ export declare const _SelectOptions: {
1508
+ <T extends object>(props: SelectOptionsProps<T> & {
1509
+ ref?: React.Ref<HTMLDivElement>;
1510
+ }): JSX.Element;
1511
+ displayName: string;
1512
+ };
1461
1513
 
1462
1514
  declare interface SelectOptionSlotProps extends HTMLChakraProps<"div"> {
1463
1515
  }
@@ -1531,7 +1583,10 @@ trigger: {
1531
1583
  };
1532
1584
  }>;
1533
1585
 
1534
- export declare const SimpleGrid: ForwardRefExoticComponent<SimpleGridProps & RefAttributes<HTMLDivElement>> & {
1586
+ export declare const SimpleGrid: {
1587
+ (props: SimpleGridProps): JSX.Element;
1588
+ displayName: string;
1589
+ } & {
1535
1590
  Item: ForwardRefExoticComponent<GridItemProps & RefAttributes<HTMLDivElement>>;
1536
1591
  };
1537
1592
 
@@ -1546,53 +1601,85 @@ export declare const SimpleGrid: ForwardRefExoticComponent<SimpleGridProps & Ref
1546
1601
  */
1547
1602
  export declare interface SimpleGridProps extends SimpleGridProps_2 {
1548
1603
  children?: React.ReactNode;
1604
+ ref?: React.Ref<HTMLDivElement>;
1549
1605
  }
1550
1606
 
1551
- export declare const Stack: ForwardRefExoticComponent<StackProps & RefAttributes<HTMLDivElement>>;
1607
+ export declare const Stack: {
1608
+ (props: StackProps): JSX.Element;
1609
+ displayName: string;
1610
+ };
1552
1611
 
1553
1612
  export declare interface StackProps extends StackProps_2 {
1554
1613
  children?: React.ReactNode;
1614
+ ref?: React.Ref<HTMLDivElement>;
1555
1615
  }
1556
1616
 
1557
- export declare const system: SystemContext;
1558
-
1559
- export { Table }
1560
-
1561
- export declare const TableBody: (props: TableBodyProps) => JSX.Element;
1562
-
1563
- export declare type TableBodyProps = React.ComponentProps<typeof Table.Body>;
1564
-
1565
- export declare const TableCell: (props: TableCellProps) => JSX.Element;
1566
-
1567
- export declare type TableCellProps = React.ComponentProps<typeof Table.Cell>;
1568
-
1569
- export declare const TableColumn: (props: TableColumnProps) => JSX.Element;
1570
-
1571
- export declare const TableColumnGroup: (props: TableColumnGroupProps) => JSX.Element;
1572
-
1573
- export declare type TableColumnGroupProps = React.ComponentProps<typeof Table.ColumnGroup>;
1574
-
1575
- export declare const TableColumnHeader: (props: TableColumnHeaderProps) => JSX.Element;
1576
-
1577
- export declare type TableColumnHeaderProps = React.ComponentProps<typeof Table.ColumnHeader>;
1578
-
1579
- export declare type TableColumnProps = React.ComponentProps<typeof Table.Column>;
1580
-
1581
- export declare const TableFooter: (props: TableFooterProps) => JSX.Element;
1582
-
1583
- export declare type TableFooterProps = React.ComponentProps<typeof Table.Footer>;
1584
-
1585
- export declare const TableHeader: (props: TableHeaderProps) => JSX.Element;
1617
+ /**
1618
+ * Switch
1619
+ * ============================================================
1620
+ * displays a switch toggle and optionally an associated label
1621
+ */
1622
+ export declare const Switch: {
1623
+ ({ ref: externalRef, ...props }: SwitchProps): JSX.Element;
1624
+ displayName: string;
1625
+ };
1586
1626
 
1587
- export declare type TableHeaderProps = React.ComponentProps<typeof Table.Header>;
1627
+ /**
1628
+ * Main props interface for the Switch component.
1629
+ * Combines root element props with ARIA toggle functionality props.
1630
+ */
1631
+ export declare type SwitchProps = Omit<SwitchRootProps, ExcludedSwitchProps | "onChange"> & Omit<AriaCheckboxProps, ExcludedSwitchProps> & {
1632
+ /**
1633
+ * The content to display next to the switch.
1634
+ * Can be a string or React node.
1635
+ */
1636
+ children?: React.ReactNode;
1637
+ ref?: React.Ref<HTMLInputElement>;
1638
+ };
1588
1639
 
1589
- export declare const TableRoot: (props: TableRootProps) => JSX.Element;
1640
+ /**
1641
+ * Props for the Switch component root element.
1642
+ * Includes all HTML props for the label element and recipe variant props.
1643
+ */
1644
+ declare interface SwitchRootProps extends HTMLChakraProps<"label", RecipeVariantProps<typeof switchSlotRecipe>> {
1645
+ }
1590
1646
 
1591
- export declare type TableRootProps = React.ComponentProps<typeof Table.Root>;
1647
+ /**
1648
+ * Recipe configuration for the Switch component.
1649
+ * Defines the styling variants and base styles using Chakra UI's recipe system.
1650
+ */
1651
+ declare const switchSlotRecipe: SlotRecipeDefinition<"label" | "track" | "root" | "thumb", {
1652
+ size: {
1653
+ sm: {
1654
+ track: {
1655
+ "--track-height": "sizes.400";
1656
+ "--track-width": "sizes.700";
1657
+ };
1658
+ thumb: {
1659
+ "--thumb-size": "sizes.400";
1660
+ };
1661
+ label: {
1662
+ "--label-font-size": "fontSizes.350";
1663
+ };
1664
+ };
1665
+ md: {
1666
+ track: {
1667
+ "--track-height": "sizes.600";
1668
+ "--track-width": "sizes.1100";
1669
+ };
1670
+ thumb: {
1671
+ "--thumb-size": "sizes.600";
1672
+ };
1673
+ label: {
1674
+ "--label-font-size": "fontSizes.400";
1675
+ };
1676
+ };
1677
+ };
1678
+ }>;
1592
1679
 
1593
- export declare const TableRow: (props: TableRowProps) => JSX.Element;
1680
+ export declare const system: SystemContext;
1594
1681
 
1595
- export declare type TableRowProps = React.ComponentProps<typeof Table.Row>;
1682
+ export { Table }
1596
1683
 
1597
1684
  /**
1598
1685
  * TagGroup
@@ -1610,10 +1697,12 @@ export declare const TagGroup: {
1610
1697
  };
1611
1698
 
1612
1699
  /** Final external props for the `<TagGroup>` component, including `children`. */
1613
- export declare type TagGroupProps = PropsWithChildren<TagGroupRootProps>;
1700
+ export declare type TagGroupProps = PropsWithChildren<TagGroupRootProps> & {
1701
+ ref?: React.Ref<typeof TagGroup_2>;
1702
+ };
1614
1703
 
1615
- /** Type signature for the main `TagGroup` component (using `forwardRef`). */
1616
- export declare type TagGroupRootComponent = FC<TagGroupRootProps & RefAttributes<typeof TagGroup_2>>;
1704
+ /** Type signature for the main `TagGroup` component. */
1705
+ export declare type TagGroupRootComponent = FC<TagGroupProps>;
1617
1706
 
1618
1707
  /** Combined props for the root element (Chakra styles + Aria behavior + Recipe variants). */
1619
1708
  declare type TagGroupRootProps = TagGroupRootSlotProps & TagGroupProps_2 & RecipeVariantProps<typeof tagGroupSlotRecipe>;
@@ -1651,20 +1740,24 @@ padding: "200";
1651
1740
  };
1652
1741
  }>;
1653
1742
 
1654
- /** Type signature for the `TagGroup.Tag` sub-component (using `forwardRef`). */
1655
- export declare type TagGroupTagComponent = FC<TagGroupTagProps & RefAttributes<typeof Tag>>;
1743
+ /** Type signature for the `TagGroup.Tag` sub-component. */
1744
+ export declare type TagGroupTagComponent = FC<TagGroupTagProps>;
1656
1745
 
1657
- /** Type signature for the `TagGroup.TagList` sub-component (using `forwardRef`). */
1658
- export declare type TagGroupTagListComponent<T extends object> = FC<TagGroupTagListProps<T> & RefAttributes<HTMLDivElement>>;
1746
+ /** Type signature for the `TagGroup.TagList` sub-component. */
1747
+ export declare type TagGroupTagListComponent<T extends object> = FC<TagGroupTagListProps<T>>;
1659
1748
 
1660
1749
  /** Combined props for the tagList element (Chakra styles + Aria behavior + Recipe variants). */
1661
- export declare type TagGroupTagListProps<T extends object> = TagListProps<T> & Omit<TagGroupTagListSlotProps, keyof TagListProps<T>>;
1750
+ export declare type TagGroupTagListProps<T extends object> = TagListProps<T> & Omit<TagGroupTagListSlotProps, keyof TagListProps<T>> & {
1751
+ ref?: React.Ref<HTMLDivElement>;
1752
+ };
1662
1753
 
1663
1754
  /** Base Chakra styling props for the root `div` slot. */
1664
1755
  declare type TagGroupTagListSlotProps = HTMLChakraProps<"div", RecipeProps<"div">>;
1665
1756
 
1666
1757
  /** Combined props for the tag element (Chakra styles + Aria behavior + Recipe variants). */
1667
- export declare type TagGroupTagProps = TagProps & Omit<TagGroupTagSlotProps, keyof TagProps>;
1758
+ export declare type TagGroupTagProps = TagProps & Omit<TagGroupTagSlotProps, keyof TagProps> & {
1759
+ ref?: React.Ref<typeof Tag>;
1760
+ };
1668
1761
 
1669
1762
  /** Base Chakra styling props for the root `div` slot. */
1670
1763
  declare type TagGroupTagSlotProps = HTMLChakraProps<"div", RecipeProps<"div">>;
@@ -1677,7 +1770,10 @@ declare type TagGroupTagSlotProps = HTMLChakraProps<"div", RecipeProps<"div">>;
1677
1770
  *
1678
1771
  * @see https://DOMAIN/components/typography/text
1679
1772
  */
1680
- declare const Text_2: ForwardRefExoticComponent<TextProps & RefAttributes<HTMLParagraphElement>>;
1773
+ declare const Text_2: {
1774
+ (props: TextProps): JSX.Element;
1775
+ displayName: string;
1776
+ };
1681
1777
  export { Text_2 as Text }
1682
1778
 
1683
1779
  /**
@@ -1692,9 +1788,13 @@ export { Text_2 as Text }
1692
1788
  * - supports 'variants', 'sizes', etc. configured in the recipe
1693
1789
  * - allows overriding styles by using style-props
1694
1790
  */
1695
- export declare const TextInput: ForwardRefExoticComponent<TextInputProps & RefAttributes<HTMLInputElement>>;
1791
+ export declare const TextInput: {
1792
+ (props: TextInputProps): JSX.Element;
1793
+ displayName: string;
1794
+ };
1696
1795
 
1697
1796
  export declare interface TextInputProps extends TextFieldProps, Omit<TextInputRootSlotProps, keyof TextFieldProps | "as" | "asChild"> {
1797
+ ref?: React.Ref<HTMLInputElement>;
1698
1798
  }
1699
1799
 
1700
1800
  /**
@@ -1737,6 +1837,7 @@ declare interface TextInputRecipeProps extends RecipeVariantProps<typeof textInp
1737
1837
  declare type TextInputRootSlotProps = HTMLChakraProps<"input", TextInputRecipeProps>;
1738
1838
 
1739
1839
  export declare interface TextProps extends TextProps_2 {
1840
+ ref?: React.Ref<HTMLParagraphElement>;
1740
1841
  }
1741
1842
 
1742
1843
  /**
@@ -1751,22 +1852,26 @@ export declare const ToggleButtonGroup: {
1751
1852
 
1752
1853
  export declare const ToggleButtonGroupButton: ToggleButtonGroupButtonComponent;
1753
1854
 
1754
- /** Type signature for the `ToggleButtonGroup.Button` sub-component (using `forwardRef`). */
1755
- export declare type ToggleButtonGroupButtonComponent = ForwardRefExoticComponent<ToggleButtonGroupButtonProps & RefAttributes<typeof ToggleButton>>;
1855
+ /** Type signature for the `ToggleButtonGroup.Button` sub-component. */
1856
+ export declare type ToggleButtonGroupButtonComponent = React.FC<ToggleButtonGroupButtonProps>;
1756
1857
 
1757
1858
  /** Combined props for the button element (Chakra styles + Aria behavior). */
1758
- export declare type ToggleButtonGroupButtonProps = ToggleButtonGroupButtonSlotProps & AriaToggleButtonProps;
1859
+ export declare type ToggleButtonGroupButtonProps = ToggleButtonGroupButtonSlotProps & AriaToggleButtonProps & {
1860
+ ref?: React.Ref<typeof ToggleButton>;
1861
+ };
1759
1862
 
1760
1863
  /** Base Chakra styling props for the `button` slot. */
1761
1864
  declare type ToggleButtonGroupButtonSlotProps = HTMLChakraProps<"button", RecipeProps<"button">>;
1762
1865
 
1763
1866
  /** Final external props for the `<ToggleButtonGroup>` component, including `children`. */
1764
- export declare type ToggleButtonGroupProps = PropsWithChildren<ToggleButtonGroupRootProps>;
1867
+ export declare type ToggleButtonGroupProps = PropsWithChildren<ToggleButtonGroupRootProps> & {
1868
+ ref?: React.Ref<typeof ToggleButtonGroup_2>;
1869
+ };
1765
1870
 
1766
1871
  export declare const ToggleButtonGroupRoot: ToggleButtonGroupRootComponent;
1767
1872
 
1768
- /** Type signature for the main `ToggleButtonGroup` component (using `forwardRef`). */
1769
- export declare type ToggleButtonGroupRootComponent = ForwardRefExoticComponent<ToggleButtonGroupProps & RefAttributes<typeof ToggleButtonGroup_2>>;
1873
+ /** Type signature for the main `ToggleButtonGroup` component. */
1874
+ export declare type ToggleButtonGroupRootComponent = React.FC<ToggleButtonGroupProps>;
1770
1875
 
1771
1876
  /** Combined props for the root element (Chakra styles + Aria behavior + Recipe variants). */
1772
1877
  declare type ToggleButtonGroupRootProps = ToggleButtonGroupRootSlotProps & AriaToggleButtonGroupProps & RecipeVariantProps<typeof buttonGroupRecipe>;