@commercetools/nimbus 0.0.7-rc11 → 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
@@ -9,15 +9,20 @@ import { AriaCheckboxProps } from 'react-aria';
9
9
  import { AriaLinkOptions } from 'react-aria';
10
10
  import { AriaToggleButtonGroupProps } from 'react-aria';
11
11
  import { AriaToggleButtonProps } from 'react-aria';
12
+ import { AutocompleteProps } from 'react-aria-components';
12
13
  import { Bleed } from '@chakra-ui/react';
13
14
  import { CardContentProps as CardContentProps_2 } from './card.slots';
14
15
  import { CardHeaderProps as CardHeaderProps_2 } from './card.slots';
15
16
  import { CardProps as CardProps_2 } from './card.types';
16
17
  import { Code } from '@chakra-ui/react';
17
- import { ConditionalValue } from '@chakra-ui/react';
18
+ import { ComboBoxOptionGroupProps as ComboBoxOptionGroupProps_2 } from './combobox.types';
19
+ import { ComboBoxOptionProps as ComboBoxOptionProps_2 } from './combobox.types';
20
+ import { ComboBoxProps } from 'react-aria-components';
21
+ import { ComboBoxRootProps as ComboBoxRootProps_2 } from './combobox.types';
18
22
  import { Context } from 'react';
23
+ import { default as default_2 } from 'react';
19
24
  import { DetailedHTMLProps } from 'react';
20
- import { Dialog } from '@chakra-ui/react';
25
+ import { Dialog as Dialog_2 } from '@chakra-ui/react';
21
26
  import { DisclosureGroupProps as DisclosureGroupProps_2 } from './accordion.types';
22
27
  import { DisclosureProps } from 'react-aria-components';
23
28
  import { Dispatch } from 'react';
@@ -35,14 +40,12 @@ import { HTMLAttributes } from 'react';
35
40
  import { HTMLChakraProps } from '@chakra-ui/react';
36
41
  import { ImageProps as ImageProps_2 } from '@chakra-ui/react';
37
42
  import { JSX } from 'react/jsx-runtime';
38
- import { JSX as JSX_2 } from 'react';
39
43
  import { JsxStyleProps } from '@chakra-ui/react';
40
44
  import { Kbd } from '@chakra-ui/react';
41
45
  import { List } from '@chakra-ui/react';
42
46
  import { ListBoxItemProps } from 'react-aria-components';
43
47
  import { ListBoxProps } from 'react-aria-components';
44
48
  import { ListBoxSectionProps } from 'react-aria-components';
45
- import { LoadingSpinnerRootProps } from './loading-spinner.slots';
46
49
  import { PatchHtmlProps } from '@chakra-ui/react';
47
50
  import { PolymorphicProps } from '@chakra-ui/react';
48
51
  import { PropsWithChildren } from 'react';
@@ -51,6 +54,7 @@ import { RecipeDefinition } from '@chakra-ui/react';
51
54
  import { RecipeProps } from '@chakra-ui/react';
52
55
  import { RecipeVariantProps } from '@chakra-ui/react';
53
56
  import { RecipeVariantRecord } from '@chakra-ui/react';
57
+ import { Ref } from 'react';
54
58
  import { RefAttributes } from 'react';
55
59
  import { RefObject } from 'react';
56
60
  import { SelectOptionGroupProps as SelectOptionGroupProps_2 } from './select.types';
@@ -194,12 +198,27 @@ export declare const Alert: {
194
198
  };
195
199
  };
196
200
 
201
+ export declare const _AlertActions: {
202
+ ({ children, ...props }: AlertActionsProps): null;
203
+ displayName: string;
204
+ };
205
+
197
206
  /** Base Chakra styling props for the `actions` slot (`div`). */
198
207
  export declare type AlertActionsProps = HTMLChakraProps<"div", RecipeProps<"div">>;
199
208
 
209
+ export declare const _AlertDescription: {
210
+ ({ children, ...props }: AlertDescriptionProps): null;
211
+ displayName: string;
212
+ };
213
+
200
214
  /** Props for the `Alert.Description` sub-component (inherits from Text). */
201
215
  export declare type AlertDescriptionProps = TextProps;
202
216
 
217
+ export declare const _AlertDismissButton: {
218
+ ({ children, ...props }: AlertDismissButtonProps): null;
219
+ displayName: string;
220
+ };
221
+
203
222
  /** Props for the `Alert.DismissButton` sub-component (inherits from Button). */
204
223
  export declare type AlertDismissButtonProps = ButtonProps;
205
224
 
@@ -209,6 +228,7 @@ export declare type AlertIconProps = HTMLChakraProps<"div", RecipeProps<"div">>;
209
228
  /** Final external props for the `<Alert>` component (variants + children + data-* attrs). */
210
229
  export declare type AlertProps = PropsWithChildren<AlertVariantProps> & {
211
230
  [key: `data-${string}`]: unknown;
231
+ ref?: React.Ref<HTMLDivElement>;
212
232
  };
213
233
 
214
234
  /**
@@ -252,19 +272,34 @@ borderRadius: "200";
252
272
  };
253
273
  }>;
254
274
 
255
- /** Type signature for the main `Alert` component (using `forwardRef`). */
256
- 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>;
257
284
 
258
285
  /** Base Chakra styling props for the root `div` slot. */
259
286
  export declare type AlertRootProps = HTMLChakraProps<"div", RecipeProps<"div">>;
260
287
 
288
+ export declare const _AlertTitle: {
289
+ ({ children, ...props }: AlertTitleProps): null;
290
+ displayName: string;
291
+ };
292
+
261
293
  /** Props for the `Alert.Title` sub-component (inherits from Text). */
262
294
  export declare type AlertTitleProps = TextProps;
263
295
 
264
296
  /** Combined root props including Chakra styles and recipe variants. */
265
297
  declare type AlertVariantProps = AlertRootProps & RecipeVariantProps<typeof alertRecipe>;
266
298
 
267
- export declare const Avatar: ForwardRefExoticComponent<AvatarProps & RefAttributes<HTMLDivElement>>;
299
+ export declare const Avatar: {
300
+ (props: AvatarProps): JSX.Element;
301
+ displayName: string;
302
+ };
268
303
 
269
304
  export declare interface AvatarComponentProps extends HTMLAttributes<HTMLDivElement>, RecipeVariantProps<typeof avatarRecipe> {
270
305
  /**
@@ -291,6 +326,7 @@ export declare interface AvatarComponentProps extends HTMLAttributes<HTMLDivElem
291
326
 
292
327
  export declare interface AvatarProps extends FunctionalAvatarProps {
293
328
  children?: React.ReactNode;
329
+ ref?: React.Ref<HTMLDivElement>;
294
330
  }
295
331
 
296
332
  declare const avatarRecipe: RecipeDefinition< {
@@ -332,7 +368,10 @@ declare interface AvatarRootProps extends HTMLChakraProps<"div", AvatarRecipePro
332
368
  * - allows overriding styles by using style-props
333
369
  * - supports 'asChild' and 'as' to modify the underlying html-element (polymorphic)
334
370
  */
335
- export declare const Badge: ForwardRefExoticComponent<BadgeProps & RefAttributes<HTMLSpanElement>>;
371
+ export declare const Badge: {
372
+ (props: BadgeProps): JSX.Element;
373
+ displayName: string;
374
+ };
336
375
 
337
376
  /**
338
377
  * Main props interface for the Badge component.
@@ -341,6 +380,7 @@ export declare const Badge: ForwardRefExoticComponent<BadgeProps & RefAttributes
341
380
  */
342
381
  export declare interface BadgeProps extends BadgeVariantProps {
343
382
  children?: React.ReactNode;
383
+ ref?: React.Ref<HTMLSpanElement>;
344
384
  }
345
385
 
346
386
  /**
@@ -411,13 +451,20 @@ declare type BadgeVariantProps = BadgeRootProps & RecipeVariantProps<typeof badg
411
451
 
412
452
  export { Bleed }
413
453
 
414
- export declare const Box: ForwardRefExoticComponent<BoxProps & RefAttributes<HTMLDivElement>>;
454
+ export declare const Box: {
455
+ (props: BoxProps): JSX.Element;
456
+ displayName: string;
457
+ };
415
458
 
416
459
  export declare interface BoxProps extends HTMLChakraProps<"div"> {
417
460
  children?: React.ReactNode;
461
+ ref?: React.Ref<HTMLDivElement>;
418
462
  }
419
463
 
420
- export declare const Button: ForwardRefExoticComponent<ButtonProps & RefAttributes<HTMLButtonElement>>;
464
+ export declare const Button: {
465
+ (props: ButtonProps): JSX.Element;
466
+ displayName: string;
467
+ };
421
468
 
422
469
  /**
423
470
  * Recipe configuration for the ToggleButtonGroup component.
@@ -475,13 +522,14 @@ colorPalette: "neutral";
475
522
  }>;
476
523
 
477
524
  export declare interface ButtonProps extends FunctionalButtonProps {
525
+ ref?: React.Ref<HTMLButtonElement>;
478
526
  }
479
527
 
480
528
  /**
481
529
  * Base recipe props interface that combines Chakra UI's recipe props
482
530
  * with the unstyled prop option for the button element.
483
531
  */
484
- declare interface ButtonRecipeProps extends RecipeProps<"button">, UnstyledProp {
532
+ declare interface ButtonRecipeProps extends RecipeProps<"typeof buttonRecipe">, UnstyledProp {
485
533
  }
486
534
 
487
535
  /**
@@ -489,10 +537,14 @@ declare interface ButtonRecipeProps extends RecipeProps<"button">, UnstyledProp
489
537
  * This creates a complete set of props for the root element, combining
490
538
  * HTML attributes, Chakra's styling system, and our custom recipe props.
491
539
  */
492
- declare type ButtonRootProps = HTMLChakraProps<"button", ButtonRecipeProps>;
540
+ declare interface ButtonRootProps extends HTMLChakraProps<"button", ButtonRecipeProps> {
541
+ }
493
542
 
494
543
  export declare const Card: {
495
- Root: ForwardRefExoticComponent<CardProps_2 & RefAttributes<HTMLDivElement>>;
544
+ Root: {
545
+ ({ children, ref, ...props }: CardProps_2): JSX.Element;
546
+ displayName: string;
547
+ };
496
548
  Header: {
497
549
  ({ children, ...props }: CardHeaderProps_2): null;
498
550
  displayName: string;
@@ -526,6 +578,7 @@ declare interface CardHeaderProps extends HTMLChakraProps<"div", CardRecipeProps
526
578
  */
527
579
  export declare interface CardProps extends CardVariantProps {
528
580
  children?: React.ReactNode;
581
+ ref?: React.Ref<HTMLDivElement>;
529
582
  }
530
583
 
531
584
  /**
@@ -588,7 +641,10 @@ backgroundColor: "colorPalette.2";
588
641
  declare interface CardRecipeProps extends RecipeProps<"div">, UnstyledProp {
589
642
  }
590
643
 
591
- export declare const CardRoot: ForwardRefExoticComponent<CardProps & RefAttributes<HTMLDivElement>>;
644
+ export declare const CardRoot: {
645
+ ({ children, ref, ...props }: CardProps): JSX.Element;
646
+ displayName: string;
647
+ };
592
648
 
593
649
  /**
594
650
  * Root props interface that extends Chakra's HTML props with our recipe props.
@@ -620,7 +676,10 @@ declare type CardVariantProps = CardRootProps & RecipeVariantProps<typeof cardRe
620
676
  * - allows overriding styles by using style-props
621
677
  * - supports 'asChild' and 'as' to modify the underlying html-element (polymorphic)
622
678
  */
623
- export declare const Checkbox: ForwardRefExoticComponent<CheckboxProps & RefAttributes<HTMLInputElement>>;
679
+ export declare const Checkbox: {
680
+ (props: CheckboxProps): JSX.Element;
681
+ displayName: string;
682
+ };
624
683
 
625
684
  /**
626
685
  * Main props interface for the Checkbox component.
@@ -629,6 +688,7 @@ export declare const Checkbox: ForwardRefExoticComponent<CheckboxProps & RefAttr
629
688
  */
630
689
  export declare interface CheckboxProps extends CheckboxVariantProps {
631
690
  children?: React.ReactNode;
691
+ ref?: React.Ref<HTMLInputElement>;
632
692
  }
633
693
 
634
694
  declare interface CheckboxRootProps extends HTMLChakraProps<"label", RecipeVariantProps<typeof checkboxSlotRecipe>> {
@@ -676,33 +736,194 @@ export declare function ColorModeLabel(): "Light Theme" | "DarkTheme";
676
736
  declare interface ColorModeProviderProps extends ThemeProviderProps {
677
737
  }
678
738
 
679
- export declare const DialogActionTrigger: ForwardRefExoticComponent<Dialog.ActionTriggerProps & RefAttributes<HTMLButtonElement>>;
739
+ export declare const ComboBox: {
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
+ };
748
+ OptionGroup: {
749
+ <T extends object>({ children, label, items, ref, ...props }: ComboBoxOptionGroupProps_2<T> & RefAttributes<HTMLDivElement>): JSX.Element;
750
+ displayName: string;
751
+ };
752
+ Option: {
753
+ <T extends object>({ children, ref, ...props }: ComboBoxOptionProps_2<T>): JSX.Element;
754
+ displayName: string;
755
+ };
756
+ };
680
757
 
681
- export declare const DialogBackdrop: ForwardRefExoticComponent<Dialog.BackdropProps & RefAttributes<HTMLDivElement>>;
758
+ export declare type ComboBoxButtonGroupProps = {
759
+ selectedKeys?: ComboBoxMultiSelectRootProps<{}>["selectedKeys"];
760
+ onSelectionChange?: ComboBoxMultiSelectRootProps<{}>["onSelectionChange"];
761
+ onInputChange?: ComboBoxMultiSelectRootProps<{}>["onInputChange"];
762
+ };
682
763
 
683
- export declare const DialogBody: ForwardRefExoticComponent<Dialog.BodyProps & RefAttributes<HTMLDivElement>>;
764
+ declare interface ComboBoxMultiSelect<T extends object> extends Omit<AutocompleteProps, "children">, Omit<ListBoxProps<T>, "filter"> {
765
+ defaultFilter?: (textValue: string, inputValue: string) => boolean;
766
+ isLoading?: boolean;
767
+ isDisabled?: boolean;
768
+ isReadOnly?: boolean;
769
+ isRequired?: boolean;
770
+ isInvalid?: boolean;
771
+ itemID?: string;
772
+ itemValue?: string;
773
+ }
684
774
 
685
- export declare const DialogCloseTrigger: ForwardRefExoticComponent<Dialog.CloseTriggerProps & RefAttributes<HTMLButtonElement>>;
775
+ /** Combined props for the multi select root element (Chakra styles + Aria behavior + Recipe variants). */
776
+ export declare interface ComboBoxMultiSelectRootProps<T extends object> extends Omit<ComboBoxMultiSelectRootSlotProps<T>, "selectionMode">, ComboBoxMultiSelect<T> {
777
+ ref?: Ref<HTMLDivElement>;
778
+ }
686
779
 
687
- export declare const DialogContent: ForwardRefExoticComponent<DialogContentProps & RefAttributes<HTMLDivElement>>;
780
+ /** Base Chakra styling props for the root `div` slot when multi select*/
781
+ export declare interface ComboBoxMultiSelectRootSlotProps<T extends object> extends HTMLChakraProps<"div", RecipeVariantProps<typeof comboBoxSlotRecipe> & ComboBoxMultiSelect<T>> {
782
+ }
688
783
 
689
- declare interface DialogContentProps extends Dialog.ContentProps {
690
- portalled?: boolean;
691
- portalRef?: React.RefObject<HTMLElement>;
692
- backdrop?: boolean;
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
+
793
+ /** Combined props for the tag element (Chakra styles + Aria behavior + Recipe variants). */
794
+ export declare interface ComboBoxOptionGroupProps<T extends object> extends ListBoxSectionProps<T>, Omit<ComboBoxOptionGroupSlotProps, keyof ListBoxSectionProps<T>> {
795
+ label?: ReactNode;
796
+ }
797
+
798
+ /** Base Chakra styling props for the root `div` slot. */
799
+ declare type ComboBoxOptionGroupSlotProps = HTMLChakraProps<"div", RecipeProps<"div">>;
800
+
801
+ /** Combined props for the ListBoxItem element (Chakra styles + Aria behavior + Recipe variants). */
802
+ export declare interface ComboBoxOptionProps<T extends object> extends ListBoxItemProps<T>, Omit<ComboBoxOptionSlotProps, keyof ListBoxItemProps<T>> {
803
+ ref?: Ref<HTMLDivElement>;
804
+ }
805
+
806
+ /** Base Chakra styling props for the root `div` slot. */
807
+ declare type ComboBoxOptionSlotProps = HTMLChakraProps<"div", RecipeProps<"div">>;
808
+
809
+ /** Combined props for the ListBox element used in Single Select (Chakra styles + Aria behavior + Recipe variants) */
810
+ export declare interface ComboBoxOptionsProps<T extends object> extends ListBoxProps<T>, Omit<ComboBoxOptionsSlotProps, keyof ListBoxProps<T>> {
811
+ ref?: Ref<HTMLDivElement>;
693
812
  }
694
813
 
695
- export declare const DialogDescription: ForwardRefExoticComponent<Dialog.DescriptionProps & RefAttributes<HTMLDivElement>>;
814
+ /** Base Chakra styling props for the root `div` slot. */
815
+ export declare interface ComboBoxOptionsSlotProps extends HTMLChakraProps<"div", RecipeProps<"options">> {
816
+ }
817
+
818
+ export declare type ComboBoxRootProps<T extends object> = ComboBoxSingleSelectRootProps<T> | ComboBoxMultiSelectRootProps<T>;
696
819
 
697
- export declare const DialogFooter: ForwardRefExoticComponent<Dialog.FooterProps & RefAttributes<HTMLDivElement>>;
820
+ /** Combined props for the single select root element (Chakra styles + Aria behavior + Recipe variants). */
821
+ export declare interface ComboBoxSingleSelectRootProps<T extends object> extends ComboBoxSingleSelectRootSlotProps<T>, ComboBoxWithCustomChildren<T> {
822
+ ref?: Ref<HTMLDivElement>;
823
+ }
698
824
 
699
- export declare const DialogHeader: ForwardRefExoticComponent<Dialog.HeaderProps & RefAttributes<HTMLDivElement>>;
825
+ /** Base Chakra styling props for the root `div` slot when single select*/
826
+ export declare interface ComboBoxSingleSelectRootSlotProps<T extends object> extends HTMLChakraProps<"div", RecipeVariantProps<typeof comboBoxSlotRecipe> & ComboBoxWithCustomChildren<T>> {
827
+ }
828
+
829
+ /**
830
+ * Recipe configuration for the Combobox component.
831
+ * Defines the styling variants and base styles using Chakra UI's recipe system.
832
+ */
833
+ declare const comboBoxSlotRecipe: SlotRecipeDefinition<"option" | "value" | "root" | "options" | "optionGroup" | "buttonGroup", {
834
+ size: {
835
+ sm: {
836
+ value: {
837
+ paddingRight: "1600";
838
+ h?: "800" | undefined;
839
+ px?: "400" | undefined;
840
+ textStyle?: "sm" | undefined;
841
+ };
842
+ };
843
+ md: {
844
+ value: {
845
+ paddingRight: "1600";
846
+ h?: "1000" | undefined;
847
+ px?: "400" | undefined;
848
+ textStyle?: "md" | undefined;
849
+ };
850
+ };
851
+ };
852
+ variant: {
853
+ solid: {
854
+ root: {
855
+ bg?: "bg" | undefined;
856
+ "&:hover"?: {
857
+ bg: "primary.2";
858
+ } | undefined;
859
+ };
860
+ value: {
861
+ "--border-width"?: "sizes.25" | undefined;
862
+ "--border-color"?: "colors.neutral.7" | undefined;
863
+ };
864
+ };
865
+ ghost: {
866
+ root: {
867
+ bg?: "transparent" | undefined;
868
+ "&:hover"?: {
869
+ bg: "primaryAlpha.2";
870
+ } | undefined;
871
+ };
872
+ value: {
873
+ "--border-width"?: "sizes.25" | undefined;
874
+ "--border-color"?: "transparent" | undefined;
875
+ };
876
+ };
877
+ };
878
+ selectionMode: {
879
+ multiple: {
880
+ option: {
881
+ "--border-width": "sizes.25";
882
+ "--border-color": "colors.neutral.7";
883
+ '&[data-focused="true"], &:hover': {
884
+ boxShadow: "inset 0 0 0 var(--border-width) var(--border-color)";
885
+ };
886
+ '&[aria-selected="true"], &[data-focused="true"]': {
887
+ bg: "inherit";
888
+ };
889
+ };
890
+ };
891
+ single: {};
892
+ none: {};
893
+ };
894
+ }>;
700
895
 
701
- export declare const DialogRoot: FC<Dialog.RootProps>;
896
+ /** ComboBox with overridden children prop based on expected dom structure. */
897
+ declare type ComboBoxWithCustomChildren<T extends object> = Omit<ComboBoxProps<T>, "children"> & {
898
+ isLoading?: boolean;
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
+ }
702
918
 
703
- export declare const DialogTitle: ForwardRefExoticComponent<Dialog.TitleProps & RefAttributes<HTMLDivElement>>;
919
+ declare const DialogContent: (props: DialogContentProps) => JSX.Element;
704
920
 
705
- export declare const DialogTrigger: ForwardRefExoticComponent<Dialog.TriggerProps & RefAttributes<HTMLButtonElement>>;
921
+ declare interface DialogContentProps extends Dialog_2.ContentProps {
922
+ portalled?: boolean;
923
+ portalRef?: React.RefObject<HTMLElement>;
924
+ backdrop?: boolean;
925
+ ref?: React.Ref<HTMLDivElement>;
926
+ }
706
927
 
707
928
  export declare type DisclosureGroupProps = AccordionProps & {
708
929
  children: ReactNode;
@@ -724,6 +945,11 @@ export declare type DisclosureItemProps = AccordionItemProps & {
724
945
 
725
946
  export { Em }
726
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
+
727
953
  /**
728
954
  * For use in components that use the polymorphic `as` and `asChild` props
729
955
  * internally, but do not make them available to the consumer.
@@ -863,7 +1089,10 @@ declare type FunctionalButtonProps = AriaButtonProps & Omit<ButtonRootProps, key
863
1089
  [key: `data-${string}`]: unknown;
864
1090
  };
865
1091
 
866
- export declare const Grid: ForwardRefExoticComponent<GridProps & RefAttributes<HTMLDivElement>> & {
1092
+ export declare const Grid: {
1093
+ (props: GridProps): JSX.Element;
1094
+ displayName: string;
1095
+ } & {
867
1096
  Item: ForwardRefExoticComponent<GridItemProps & RefAttributes<HTMLDivElement>>;
868
1097
  };
869
1098
 
@@ -878,6 +1107,7 @@ export declare const Grid: ForwardRefExoticComponent<GridProps & RefAttributes<H
878
1107
  */
879
1108
  export declare interface GridProps extends GridProps_2 {
880
1109
  children?: React.ReactNode;
1110
+ ref?: React.Ref<HTMLDivElement>;
881
1111
  }
882
1112
 
883
1113
  export { Heading }
@@ -888,7 +1118,10 @@ export { Highlight_2 as Highlight }
888
1118
  * Icon
889
1119
  * displays icon components
890
1120
  */
891
- export declare const Icon: ForwardRefExoticComponent<IconProps & RefAttributes<SVGSVGElement>>;
1121
+ export declare const Icon: {
1122
+ (props: IconProps): JSX.Element;
1123
+ displayName: string;
1124
+ };
892
1125
 
893
1126
  /**
894
1127
  * IconButton
@@ -896,7 +1129,10 @@ export declare const Icon: ForwardRefExoticComponent<IconProps & RefAttributes<S
896
1129
  * displays a button with only an icon as child. It is based
897
1130
  * on the regular `Button` component, but with a few adjustments.
898
1131
  */
899
- export declare const IconButton: ForwardRefExoticComponent<IconButtonProps & RefAttributes<HTMLButtonElement>>;
1132
+ export declare const IconButton: {
1133
+ (props: IconButtonProps): JSX.Element;
1134
+ displayName: string;
1135
+ };
900
1136
 
901
1137
  /**
902
1138
  * Main props interface for the IconButton component.
@@ -904,6 +1140,7 @@ export declare const IconButton: ForwardRefExoticComponent<IconButtonProps & Ref
904
1140
  export declare interface IconButtonProps extends ButtonProps {
905
1141
  /** explains the intended action, required for accessibility */
906
1142
  "aria-label": string;
1143
+ ref?: React.Ref<HTMLButtonElement>;
907
1144
  }
908
1145
 
909
1146
  /**
@@ -925,6 +1162,10 @@ export declare interface IconProps extends IconVariantProps {
925
1162
  * Accepts a React component to be rendered as the icon .
926
1163
  */
927
1164
  as?: BoxProps["as"];
1165
+ /**
1166
+ * Ref to the icon element
1167
+ */
1168
+ ref?: React.Ref<SVGSVGElement>;
928
1169
  }
929
1170
 
930
1171
  /**
@@ -984,7 +1225,10 @@ declare type IconVariantProps = Omit<IconRootSlotProps, keyof React.SVGProps<SVG
984
1225
  *
985
1226
  * Use this component to display an image.
986
1227
  */
987
- declare const Image_2: ForwardRefExoticComponent<ImageProps & RefAttributes<HTMLImageElement>>;
1228
+ declare const Image_2: {
1229
+ (props: ImageProps): JSX.Element;
1230
+ displayName: string;
1231
+ };
988
1232
  export { Image_2 as Image }
989
1233
 
990
1234
  export declare interface ImageProps extends ImageProps_2 {
@@ -1005,7 +1249,10 @@ export { Kbd }
1005
1249
  * - allows overriding styles by using style-props
1006
1250
  * - supports 'asChild' and 'as' to modify the underlying html-element (polymorphic)
1007
1251
  */
1008
- export declare const Link: ForwardRefExoticComponent<LinkProps & RefAttributes<HTMLAnchorElement>>;
1252
+ export declare const Link: {
1253
+ (props: LinkProps): JSX.Element;
1254
+ displayName: string;
1255
+ };
1009
1256
 
1010
1257
  /**
1011
1258
  * Main props interface for the Link component.
@@ -1014,6 +1261,7 @@ export declare const Link: ForwardRefExoticComponent<LinkProps & RefAttributes<H
1014
1261
  */
1015
1262
  export declare interface LinkProps extends LinkVariantProps {
1016
1263
  children?: React.ReactNode;
1264
+ ref?: React.Ref<HTMLAnchorElement>;
1017
1265
  }
1018
1266
 
1019
1267
  /**
@@ -1067,7 +1315,7 @@ declare type LinkRootProps = HTMLChakraProps<"a", LinkRecipeProps>;
1067
1315
  * Differences between LinkRootProps and LinkVariantProps necessitate
1068
1316
  * the use of Omit and Pick to ensure the correct props are passed
1069
1317
  */
1070
- 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> & {
1071
1319
  [key: `data-${string}`]: string;
1072
1320
  };
1073
1321
 
@@ -1086,19 +1334,19 @@ export declare type ListRootType = React.ComponentProps<typeof List.Root>;
1086
1334
  * ============================================================
1087
1335
  * Indicates ongoing processes or loading states
1088
1336
  */
1089
- export declare const LoadingSpinner: ForwardRefExoticComponent<LoadingSpinnerRootProps & {
1090
- size?: ConditionalValue<"sm" | "md" | "lg" | "2xs" | "xs" | undefined>;
1091
- tone?: ConditionalValue<"white" | "primary" | undefined>;
1092
- } & {
1093
- [key: `data-${string}`]: string;
1094
- } & RefAttributes<HTMLDivElement>>;
1337
+ export declare const LoadingSpinner: {
1338
+ (props: LoadingSpinnerProps): JSX.Element;
1339
+ displayName: string;
1340
+ };
1095
1341
 
1096
1342
  /**
1097
1343
  * Main props interface for the LoadingSpinner component.
1098
1344
  * Extends LoadingSpinnerVariantProps to include both root props and variant props,
1099
1345
  * while adding support for React children.
1100
1346
  */
1101
- export declare type LoadingSpinnerProps = LoadingSpinnerVariantProps;
1347
+ export declare type LoadingSpinnerProps = LoadingSpinnerVariantProps & {
1348
+ ref?: React.Ref<HTMLDivElement>;
1349
+ };
1102
1350
 
1103
1351
  /**
1104
1352
  * Recipe configuration for the LoadingSpinner component.
@@ -1149,7 +1397,7 @@ declare interface LoadingSpinnerRecipeProps extends RecipeProps<"div">, Unstyled
1149
1397
  * This creates a complete set of props for the root element, combining
1150
1398
  * HTML attributes, Chakra's styling system, and our custom recipe props.
1151
1399
  */
1152
- declare type LoadingSpinnerRootProps_2 = Omit<HTMLChakraProps<"div", LoadingSpinnerRecipeProps>, "as" | "asChild">;
1400
+ declare type LoadingSpinnerRootProps = Omit<HTMLChakraProps<"div", LoadingSpinnerRecipeProps>, "as" | "asChild">;
1153
1401
 
1154
1402
  /**
1155
1403
  * Combines the root props with Chakra UI's recipe variant props and Aria's progress bar props.
@@ -1157,7 +1405,7 @@ declare type LoadingSpinnerRootProps_2 = Omit<HTMLChakraProps<"div", LoadingSpin
1157
1405
  * This allows the component to accept both structural props from Root
1158
1406
  * and styling variants from the recipe.
1159
1407
  */
1160
- declare type LoadingSpinnerVariantProps = LoadingSpinnerRootProps_2 & RecipeVariantProps<typeof loadingSpinnerRecipe> & {
1408
+ declare type LoadingSpinnerVariantProps = LoadingSpinnerRootProps & RecipeVariantProps<typeof loadingSpinnerRecipe> & {
1161
1409
  [key: `data-${string}`]: string;
1162
1410
  };
1163
1411
 
@@ -1187,16 +1435,63 @@ children?: ReactNode | undefined;
1187
1435
 
1188
1436
  export declare function NimbusProvider({ children, ...props }: ColorModeProviderProps): JSX.Element;
1189
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
+
1190
1460
  export declare const Select: {
1191
1461
  Root: ForwardRefExoticComponent<SelectRootProps_2 & RefAttributes<HTMLDivElement>>;
1192
- Options: <T extends object>(props: SelectOptionsProps_2<T> & RefAttributes<HTMLDivElement>) => JSX_2.Element;
1193
- Option: <T extends object>(props: SelectOptionProps_2<T> & RefAttributes<HTMLDivElement>) => JSX_2.Element;
1194
- 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
+ };
1195
1480
  };
1196
1481
 
1197
- 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
+ };
1198
1488
 
1199
- 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
+ };
1200
1495
 
1201
1496
  export declare interface SelectOptionGroupProps<T> extends ListBoxSectionProps<T>, Omit<SelectOptionGroupSlotProps, keyof ListBoxSectionProps<T>> {
1202
1497
  /** the label for the section */
@@ -1209,7 +1504,12 @@ declare interface SelectOptionGroupSlotProps extends HTMLChakraProps<"div"> {
1209
1504
  export declare interface SelectOptionProps<T> extends Omit<ListBoxItemProps<T>, keyof SelectOptionSlotProps>, SelectOptionSlotProps {
1210
1505
  }
1211
1506
 
1212
- 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
+ };
1213
1513
 
1214
1514
  declare interface SelectOptionSlotProps extends HTMLChakraProps<"div"> {
1215
1515
  }
@@ -1283,7 +1583,10 @@ trigger: {
1283
1583
  };
1284
1584
  }>;
1285
1585
 
1286
- export declare const SimpleGrid: ForwardRefExoticComponent<SimpleGridProps & RefAttributes<HTMLDivElement>> & {
1586
+ export declare const SimpleGrid: {
1587
+ (props: SimpleGridProps): JSX.Element;
1588
+ displayName: string;
1589
+ } & {
1287
1590
  Item: ForwardRefExoticComponent<GridItemProps & RefAttributes<HTMLDivElement>>;
1288
1591
  };
1289
1592
 
@@ -1298,53 +1601,85 @@ export declare const SimpleGrid: ForwardRefExoticComponent<SimpleGridProps & Ref
1298
1601
  */
1299
1602
  export declare interface SimpleGridProps extends SimpleGridProps_2 {
1300
1603
  children?: React.ReactNode;
1604
+ ref?: React.Ref<HTMLDivElement>;
1301
1605
  }
1302
1606
 
1303
- export declare const Stack: ForwardRefExoticComponent<StackProps & RefAttributes<HTMLDivElement>>;
1607
+ export declare const Stack: {
1608
+ (props: StackProps): JSX.Element;
1609
+ displayName: string;
1610
+ };
1304
1611
 
1305
1612
  export declare interface StackProps extends StackProps_2 {
1306
1613
  children?: React.ReactNode;
1614
+ ref?: React.Ref<HTMLDivElement>;
1307
1615
  }
1308
1616
 
1309
- export declare const system: SystemContext;
1310
-
1311
- export { Table }
1312
-
1313
- export declare const TableBody: (props: TableBodyProps) => JSX.Element;
1314
-
1315
- export declare type TableBodyProps = React.ComponentProps<typeof Table.Body>;
1316
-
1317
- export declare const TableCell: (props: TableCellProps) => JSX.Element;
1318
-
1319
- export declare type TableCellProps = React.ComponentProps<typeof Table.Cell>;
1320
-
1321
- export declare const TableColumn: (props: TableColumnProps) => JSX.Element;
1322
-
1323
- export declare const TableColumnGroup: (props: TableColumnGroupProps) => JSX.Element;
1324
-
1325
- export declare type TableColumnGroupProps = React.ComponentProps<typeof Table.ColumnGroup>;
1326
-
1327
- export declare const TableColumnHeader: (props: TableColumnHeaderProps) => JSX.Element;
1328
-
1329
- export declare type TableColumnHeaderProps = React.ComponentProps<typeof Table.ColumnHeader>;
1330
-
1331
- export declare type TableColumnProps = React.ComponentProps<typeof Table.Column>;
1332
-
1333
- export declare const TableFooter: (props: TableFooterProps) => JSX.Element;
1334
-
1335
- export declare type TableFooterProps = React.ComponentProps<typeof Table.Footer>;
1336
-
1337
- 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
+ };
1338
1626
 
1339
- 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
+ };
1340
1639
 
1341
- 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
+ }
1342
1646
 
1343
- 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
+ }>;
1344
1679
 
1345
- export declare const TableRow: (props: TableRowProps) => JSX.Element;
1680
+ export declare const system: SystemContext;
1346
1681
 
1347
- export declare type TableRowProps = React.ComponentProps<typeof Table.Row>;
1682
+ export { Table }
1348
1683
 
1349
1684
  /**
1350
1685
  * TagGroup
@@ -1362,10 +1697,12 @@ export declare const TagGroup: {
1362
1697
  };
1363
1698
 
1364
1699
  /** Final external props for the `<TagGroup>` component, including `children`. */
1365
- export declare type TagGroupProps = PropsWithChildren<TagGroupRootProps>;
1700
+ export declare type TagGroupProps = PropsWithChildren<TagGroupRootProps> & {
1701
+ ref?: React.Ref<typeof TagGroup_2>;
1702
+ };
1366
1703
 
1367
- /** Type signature for the main `TagGroup` component (using `forwardRef`). */
1368
- 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>;
1369
1706
 
1370
1707
  /** Combined props for the root element (Chakra styles + Aria behavior + Recipe variants). */
1371
1708
  declare type TagGroupRootProps = TagGroupRootSlotProps & TagGroupProps_2 & RecipeVariantProps<typeof tagGroupSlotRecipe>;
@@ -1403,20 +1740,24 @@ padding: "200";
1403
1740
  };
1404
1741
  }>;
1405
1742
 
1406
- /** Type signature for the `TagGroup.Tag` sub-component (using `forwardRef`). */
1407
- 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>;
1408
1745
 
1409
- /** Type signature for the `TagGroup.TagList` sub-component (using `forwardRef`). */
1410
- 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>>;
1411
1748
 
1412
1749
  /** Combined props for the tagList element (Chakra styles + Aria behavior + Recipe variants). */
1413
- 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
+ };
1414
1753
 
1415
1754
  /** Base Chakra styling props for the root `div` slot. */
1416
1755
  declare type TagGroupTagListSlotProps = HTMLChakraProps<"div", RecipeProps<"div">>;
1417
1756
 
1418
1757
  /** Combined props for the tag element (Chakra styles + Aria behavior + Recipe variants). */
1419
- 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
+ };
1420
1761
 
1421
1762
  /** Base Chakra styling props for the root `div` slot. */
1422
1763
  declare type TagGroupTagSlotProps = HTMLChakraProps<"div", RecipeProps<"div">>;
@@ -1429,7 +1770,10 @@ declare type TagGroupTagSlotProps = HTMLChakraProps<"div", RecipeProps<"div">>;
1429
1770
  *
1430
1771
  * @see https://DOMAIN/components/typography/text
1431
1772
  */
1432
- declare const Text_2: ForwardRefExoticComponent<TextProps & RefAttributes<HTMLParagraphElement>>;
1773
+ declare const Text_2: {
1774
+ (props: TextProps): JSX.Element;
1775
+ displayName: string;
1776
+ };
1433
1777
  export { Text_2 as Text }
1434
1778
 
1435
1779
  /**
@@ -1444,9 +1788,13 @@ export { Text_2 as Text }
1444
1788
  * - supports 'variants', 'sizes', etc. configured in the recipe
1445
1789
  * - allows overriding styles by using style-props
1446
1790
  */
1447
- export declare const TextInput: ForwardRefExoticComponent<TextInputProps & RefAttributes<HTMLInputElement>>;
1791
+ export declare const TextInput: {
1792
+ (props: TextInputProps): JSX.Element;
1793
+ displayName: string;
1794
+ };
1448
1795
 
1449
1796
  export declare interface TextInputProps extends TextFieldProps, Omit<TextInputRootSlotProps, keyof TextFieldProps | "as" | "asChild"> {
1797
+ ref?: React.Ref<HTMLInputElement>;
1450
1798
  }
1451
1799
 
1452
1800
  /**
@@ -1489,6 +1837,7 @@ declare interface TextInputRecipeProps extends RecipeVariantProps<typeof textInp
1489
1837
  declare type TextInputRootSlotProps = HTMLChakraProps<"input", TextInputRecipeProps>;
1490
1838
 
1491
1839
  export declare interface TextProps extends TextProps_2 {
1840
+ ref?: React.Ref<HTMLParagraphElement>;
1492
1841
  }
1493
1842
 
1494
1843
  /**
@@ -1503,22 +1852,26 @@ export declare const ToggleButtonGroup: {
1503
1852
 
1504
1853
  export declare const ToggleButtonGroupButton: ToggleButtonGroupButtonComponent;
1505
1854
 
1506
- /** Type signature for the `ToggleButtonGroup.Button` sub-component (using `forwardRef`). */
1507
- 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>;
1508
1857
 
1509
1858
  /** Combined props for the button element (Chakra styles + Aria behavior). */
1510
- export declare type ToggleButtonGroupButtonProps = ToggleButtonGroupButtonSlotProps & AriaToggleButtonProps;
1859
+ export declare type ToggleButtonGroupButtonProps = ToggleButtonGroupButtonSlotProps & AriaToggleButtonProps & {
1860
+ ref?: React.Ref<typeof ToggleButton>;
1861
+ };
1511
1862
 
1512
1863
  /** Base Chakra styling props for the `button` slot. */
1513
1864
  declare type ToggleButtonGroupButtonSlotProps = HTMLChakraProps<"button", RecipeProps<"button">>;
1514
1865
 
1515
1866
  /** Final external props for the `<ToggleButtonGroup>` component, including `children`. */
1516
- export declare type ToggleButtonGroupProps = PropsWithChildren<ToggleButtonGroupRootProps>;
1867
+ export declare type ToggleButtonGroupProps = PropsWithChildren<ToggleButtonGroupRootProps> & {
1868
+ ref?: React.Ref<typeof ToggleButtonGroup_2>;
1869
+ };
1517
1870
 
1518
1871
  export declare const ToggleButtonGroupRoot: ToggleButtonGroupRootComponent;
1519
1872
 
1520
- /** Type signature for the main `ToggleButtonGroup` component (using `forwardRef`). */
1521
- 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>;
1522
1875
 
1523
1876
  /** Combined props for the root element (Chakra styles + Aria behavior + Recipe variants). */
1524
1877
  declare type ToggleButtonGroupRootProps = ToggleButtonGroupRootSlotProps & AriaToggleButtonGroupProps & RecipeVariantProps<typeof buttonGroupRecipe>;