@tinybigui/react 0.4.1 → 0.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.cjs +667 -390
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +330 -198
- package/dist/index.d.ts +330 -198
- package/dist/index.js +668 -393
- package/dist/index.js.map +1 -1
- package/dist/styles.css +2 -1
- package/dist/styles.css.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -733,22 +733,51 @@ declare const AppBar: React$1.ForwardRefExoticComponent<AppBarProps & React$1.Re
|
|
|
733
733
|
declare const AppBarHeadless: React$1.ForwardRefExoticComponent<AppBarHeadlessProps & React$1.RefAttributes<HTMLElement>>;
|
|
734
734
|
|
|
735
735
|
/**
|
|
736
|
-
* Material Design 3 Button Variants
|
|
737
|
-
*
|
|
738
|
-
*
|
|
739
|
-
*
|
|
736
|
+
* Material Design 3 Button Variants
|
|
737
|
+
*
|
|
738
|
+
* Architecture: Variants vs States
|
|
739
|
+
* - CVA holds design-time structure only (no disabled/loading state variants).
|
|
740
|
+
* - All interaction states are driven by data-* attributes on the root via
|
|
741
|
+
* group-data-[x]/button Tailwind selectors in each slot's base classes.
|
|
742
|
+
* - Content flags (data-with-icon, data-loading) are set explicitly by the component.
|
|
743
|
+
*
|
|
744
|
+
* Slot responsibilities:
|
|
745
|
+
* buttonVariants — root <button>; shape, color, elevation
|
|
746
|
+
* buttonStateLayerVariants — hover/focus/press opacity ring (absolute inset overlay)
|
|
747
|
+
* buttonFocusRingVariants — keyboard focus outline, MUST NOT be inside overflow-hidden
|
|
748
|
+
* buttonIconVariants — leading/trailing icon wrapper
|
|
749
|
+
* buttonLabelVariants — label text slot
|
|
750
|
+
*
|
|
751
|
+
* MD3 Spec:
|
|
752
|
+
* Shape: rounded-full (corner-full)
|
|
753
|
+
* Height: 32dp small | 40dp medium | 56dp large
|
|
754
|
+
* Padding: 16dp small | 24dp medium | 32dp large (12dp text variant)
|
|
755
|
+
* Icon size: 18px × 18px
|
|
756
|
+
* State-layer opacities: hover 8% | focus 10% | pressed 10%
|
|
757
|
+
* Disabled: container 12% opacity, content 38% opacity
|
|
758
|
+
*
|
|
759
|
+
* Elevation per state (MD3 comp tokens):
|
|
760
|
+
* Filled base=0 hover=1 focus=0 pressed=0
|
|
761
|
+
* Tonal base=0 hover=1 focus=0 pressed=0
|
|
762
|
+
* Elevated base=1 hover=2 focus=1 pressed=1
|
|
763
|
+
* Outlined base=0 hover=0 focus=0 pressed=0
|
|
764
|
+
* Text base=0 hover=0 focus=0 pressed=0
|
|
765
|
+
*/
|
|
766
|
+
/**
|
|
767
|
+
* Root <button> element.
|
|
768
|
+
*
|
|
769
|
+
* IMPORTANT — overflow is intentionally NOT on the root.
|
|
770
|
+
* Overflow clipping is delegated to the ripple container and state layer
|
|
771
|
+
* via `overflow-hidden rounded-[inherit]` on those children. This lets the
|
|
772
|
+
* focus ring span (`inset-[-3px]`) extend outside the button boundary and
|
|
773
|
+
* remain fully visible — if overflow-hidden were on the root it would be
|
|
774
|
+
* clipped to zero width.
|
|
740
775
|
*/
|
|
741
776
|
declare const buttonVariants: (props?: ({
|
|
742
777
|
variant?: "text" | "filled" | "outlined" | "tonal" | "elevated" | null | undefined;
|
|
743
|
-
color?: "primary" | "secondary" | "tertiary" | "error" | null | undefined;
|
|
744
778
|
size?: "small" | "large" | "medium" | null | undefined;
|
|
745
779
|
fullWidth?: boolean | null | undefined;
|
|
746
|
-
disabled?: boolean | null | undefined;
|
|
747
|
-
loading?: boolean | null | undefined;
|
|
748
780
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
749
|
-
/**
|
|
750
|
-
* Extract variant prop types from CVA
|
|
751
|
-
*/
|
|
752
781
|
type ButtonVariants = VariantProps<typeof buttonVariants>;
|
|
753
782
|
|
|
754
783
|
/**
|
|
@@ -756,68 +785,63 @@ type ButtonVariants = VariantProps<typeof buttonVariants>;
|
|
|
756
785
|
*/
|
|
757
786
|
type ButtonVariant = "filled" | "outlined" | "tonal" | "elevated" | "text";
|
|
758
787
|
/**
|
|
759
|
-
* Button
|
|
760
|
-
*/
|
|
761
|
-
type ButtonColor = "primary" | "secondary" | "tertiary" | "error";
|
|
762
|
-
/**
|
|
763
|
-
* Button sizes
|
|
788
|
+
* Button sizes (Material Design 3)
|
|
764
789
|
*/
|
|
765
790
|
type ButtonSize = "small" | "medium" | "large";
|
|
766
791
|
/**
|
|
767
792
|
* Material Design 3 Button Component Props
|
|
768
793
|
*
|
|
769
794
|
* Built on React Aria for world-class accessibility.
|
|
770
|
-
* Supports 5 variants: filled, outlined, tonal, elevated, text
|
|
771
|
-
*
|
|
795
|
+
* Supports 5 strict MD3 variants: filled, outlined, tonal, elevated, text.
|
|
796
|
+
* Each variant uses its spec-defined color roles — no color override prop.
|
|
797
|
+
*
|
|
798
|
+
* Interaction states (hover, focus, press, disabled) are managed via
|
|
799
|
+
* React Aria hooks and expressed as data-* attributes on the root element,
|
|
800
|
+
* consumed by slot classes via group-data-[x]/button selectors.
|
|
772
801
|
*
|
|
773
802
|
* @example
|
|
774
803
|
* ```tsx
|
|
775
|
-
* // Filled button (default)
|
|
776
|
-
* <Button variant="filled"
|
|
777
|
-
*
|
|
778
|
-
*
|
|
804
|
+
* // Filled button (default, highest emphasis)
|
|
805
|
+
* <Button variant="filled">Save</Button>
|
|
806
|
+
*
|
|
807
|
+
* // Outlined button (medium emphasis)
|
|
808
|
+
* <Button variant="outlined">Cancel</Button>
|
|
809
|
+
*
|
|
810
|
+
* // Tonal button (secondary emphasis)
|
|
811
|
+
* <Button variant="tonal">Learn more</Button>
|
|
779
812
|
*
|
|
780
|
-
* // With icon
|
|
781
|
-
* <Button variant="
|
|
813
|
+
* // With icon (MD3 spec: 18px × 18px)
|
|
814
|
+
* <Button variant="filled" icon={<IconAdd className="h-[18px] w-[18px]" />}>
|
|
782
815
|
* Add Item
|
|
783
816
|
* </Button>
|
|
784
817
|
*
|
|
785
818
|
* // Loading state
|
|
786
|
-
* <Button variant="elevated" loading>
|
|
787
|
-
* Saving...
|
|
788
|
-
* </Button>
|
|
819
|
+
* <Button variant="elevated" loading>Saving...</Button>
|
|
789
820
|
*
|
|
790
821
|
* // Disabled
|
|
791
|
-
* <Button variant="outlined" isDisabled>
|
|
792
|
-
* Disabled
|
|
793
|
-
* </Button>
|
|
822
|
+
* <Button variant="outlined" isDisabled>Disabled</Button>
|
|
794
823
|
*
|
|
795
824
|
* // Headless version (custom styling)
|
|
796
|
-
* <ButtonHeadless className="my-custom-styles">
|
|
797
|
-
* Click me
|
|
798
|
-
* </ButtonHeadless>
|
|
825
|
+
* <ButtonHeadless className="my-custom-styles">Click me</ButtonHeadless>
|
|
799
826
|
* ```
|
|
800
827
|
*/
|
|
801
828
|
interface ButtonProps extends AriaButtonProps, Omit<React__default.HTMLAttributes<HTMLButtonElement>, keyof AriaButtonProps | "children"> {
|
|
802
829
|
/**
|
|
803
|
-
* Button variant
|
|
830
|
+
* Button variant (MD3 specification).
|
|
831
|
+
* Determines visual emphasis and color roles.
|
|
804
832
|
* @default 'filled'
|
|
805
833
|
*/
|
|
806
834
|
variant?: ButtonVariant;
|
|
807
835
|
/**
|
|
808
|
-
*
|
|
809
|
-
*
|
|
810
|
-
*/
|
|
811
|
-
color?: ButtonColor;
|
|
812
|
-
/**
|
|
813
|
-
* Size variant
|
|
836
|
+
* Size variant.
|
|
837
|
+
* MD3 heights: small=32dp, medium=40dp, large=56dp
|
|
814
838
|
* @default 'medium'
|
|
815
839
|
*/
|
|
816
840
|
size?: ButtonSize;
|
|
817
841
|
/**
|
|
818
|
-
* Leading icon (before text)
|
|
842
|
+
* Leading icon (before label text).
|
|
819
843
|
*
|
|
820
|
-
* MD3 Specification: Icons
|
|
844
|
+
* MD3 Specification: Icons must be 18px × 18px.
|
|
821
845
|
*
|
|
822
846
|
* @example
|
|
823
847
|
* ```tsx
|
|
@@ -828,9 +852,9 @@ interface ButtonProps extends AriaButtonProps, Omit<React__default.HTMLAttribute
|
|
|
828
852
|
*/
|
|
829
853
|
icon?: React__default.ReactNode;
|
|
830
854
|
/**
|
|
831
|
-
* Trailing icon (after text)
|
|
855
|
+
* Trailing icon (after label text).
|
|
832
856
|
*
|
|
833
|
-
* MD3 Specification: Icons
|
|
857
|
+
* MD3 Specification: Icons must be 18px × 18px.
|
|
834
858
|
*
|
|
835
859
|
* @example
|
|
836
860
|
* ```tsx
|
|
@@ -841,35 +865,36 @@ interface ButtonProps extends AriaButtonProps, Omit<React__default.HTMLAttribute
|
|
|
841
865
|
*/
|
|
842
866
|
trailingIcon?: React__default.ReactNode;
|
|
843
867
|
/**
|
|
844
|
-
* Button content
|
|
868
|
+
* Button label content.
|
|
845
869
|
*/
|
|
846
870
|
children: React__default.ReactNode;
|
|
847
871
|
/**
|
|
848
|
-
* Full width button (spans container)
|
|
872
|
+
* Full width button (spans container width).
|
|
849
873
|
* @default false
|
|
850
874
|
*/
|
|
851
875
|
fullWidth?: boolean;
|
|
852
876
|
/**
|
|
853
|
-
* Loading state
|
|
877
|
+
* Loading state — shows spinner and disables interaction.
|
|
878
|
+
* The button remains in the DOM as disabled while loading.
|
|
854
879
|
* @default false
|
|
855
880
|
*/
|
|
856
881
|
loading?: boolean;
|
|
857
882
|
/**
|
|
858
|
-
* Disable ripple effect
|
|
883
|
+
* Disable the ripple effect on press.
|
|
859
884
|
* @default false
|
|
860
885
|
*/
|
|
861
886
|
disableRipple?: boolean;
|
|
862
887
|
/**
|
|
863
|
-
* Additional CSS classes
|
|
888
|
+
* Additional Tailwind CSS classes applied to the root element.
|
|
864
889
|
*/
|
|
865
890
|
className?: string;
|
|
866
891
|
/**
|
|
867
|
-
* Tab index for keyboard navigation
|
|
892
|
+
* Tab index for keyboard navigation.
|
|
868
893
|
* @default 0
|
|
869
894
|
*/
|
|
870
895
|
tabIndex?: number;
|
|
871
896
|
/**
|
|
872
|
-
* Button type attribute
|
|
897
|
+
* Button type attribute.
|
|
873
898
|
* @default 'button'
|
|
874
899
|
*/
|
|
875
900
|
type?: "button" | "submit" | "reset";
|
|
@@ -879,58 +904,51 @@ interface ButtonProps extends AriaButtonProps, Omit<React__default.HTMLAttribute
|
|
|
879
904
|
* Material Design 3 Button Component (Layer 3: Styled)
|
|
880
905
|
*
|
|
881
906
|
* Built on React Aria for world-class accessibility.
|
|
882
|
-
*
|
|
883
|
-
*
|
|
907
|
+
* Implements the Variants-vs-States architecture: all interaction states are
|
|
908
|
+
* expressed as data-* attributes on the root and consumed by each slot via
|
|
909
|
+
* group-data-[x]/button Tailwind selectors — no state variants in CVA.
|
|
884
910
|
*
|
|
885
911
|
* Features:
|
|
886
912
|
* - ✅ 5 MD3 variants: filled, outlined, tonal, elevated, text
|
|
887
|
-
* - ✅
|
|
888
|
-
* - ✅ 3 sizes: small, medium, large
|
|
913
|
+
* - ✅ 3 sizes: small (32dp), medium (40dp), large (56dp)
|
|
889
914
|
* - ✅ Loading state with spinner
|
|
890
915
|
* - ✅ Ripple effect (Material Design)
|
|
916
|
+
* - ✅ Proper MD3 state layer (hover 8%, focus 10%, pressed 10%)
|
|
891
917
|
* - ✅ Full keyboard accessibility (via React Aria)
|
|
892
918
|
* - ✅ Screen reader support (via React Aria)
|
|
893
919
|
* - ✅ Focus management (via React Aria)
|
|
894
920
|
* - ✅ ButtonGroup-aware: applies connected corner radii and min-width when inside a group
|
|
895
921
|
*
|
|
896
922
|
* MD3 Specifications:
|
|
897
|
-
* - Height: 40dp (medium), 32dp (small),
|
|
898
|
-
* - Typography: Label Large (
|
|
923
|
+
* - Height: 40dp (medium), 32dp (small), 56dp (large)
|
|
924
|
+
* - Typography: Label Large (medium), Label Medium (small), Title Medium (large)
|
|
899
925
|
* - Icon size: 18px × 18px (per MD3 spec)
|
|
900
|
-
* - State layers: 8% hover,
|
|
901
|
-
* - Elevation: Level 1 on hover (filled), Level 1→2 (elevated)
|
|
926
|
+
* - State layers: 8% hover, 10% focus/pressed
|
|
927
|
+
* - Elevation: Level 1 on hover (filled), Level 1 base → Level 2 hover (elevated)
|
|
902
928
|
*
|
|
903
929
|
* @example
|
|
904
930
|
* ```tsx
|
|
905
931
|
* // Basic usage
|
|
906
932
|
* <Button>Click me</Button>
|
|
907
933
|
*
|
|
908
|
-
* // With variant
|
|
909
|
-
* <Button variant="outlined"
|
|
910
|
-
* Secondary Action
|
|
911
|
-
* </Button>
|
|
934
|
+
* // With variant
|
|
935
|
+
* <Button variant="outlined">Secondary Action</Button>
|
|
912
936
|
*
|
|
913
|
-
* // With icon (MD3 spec: icons
|
|
937
|
+
* // With icon (MD3 spec: icons are 18px × 18px)
|
|
914
938
|
* <Button icon={<IconAdd className="h-[18px] w-[18px]" />}>
|
|
915
939
|
* Add Item
|
|
916
940
|
* </Button>
|
|
917
941
|
*
|
|
918
942
|
* // Loading state
|
|
919
|
-
* <Button loading>
|
|
920
|
-
* Saving...
|
|
921
|
-
* </Button>
|
|
943
|
+
* <Button loading>Saving...</Button>
|
|
922
944
|
*
|
|
923
945
|
* // Disabled
|
|
924
|
-
* <Button isDisabled>
|
|
925
|
-
* Disabled
|
|
926
|
-
* </Button>
|
|
946
|
+
* <Button isDisabled>Disabled</Button>
|
|
927
947
|
*
|
|
928
948
|
* // Full width
|
|
929
|
-
* <Button fullWidth>
|
|
930
|
-
* Full Width Button
|
|
931
|
-
* </Button>
|
|
949
|
+
* <Button fullWidth>Full Width Button</Button>
|
|
932
950
|
*
|
|
933
|
-
* // Inside a connected ButtonGroup
|
|
951
|
+
* // Inside a connected ButtonGroup
|
|
934
952
|
* <ButtonGroup variant="connected" selectionMode="required" defaultValue="md">
|
|
935
953
|
* <Button value="sm">S</Button>
|
|
936
954
|
* <Button value="md">M</Button>
|
|
@@ -938,7 +956,7 @@ interface ButtonProps extends AriaButtonProps, Omit<React__default.HTMLAttribute
|
|
|
938
956
|
* </ButtonGroup>
|
|
939
957
|
* ```
|
|
940
958
|
*/
|
|
941
|
-
declare const Button: React__default.ForwardRefExoticComponent<ButtonProps & Omit<ButtonVariants,
|
|
959
|
+
declare const Button: React__default.ForwardRefExoticComponent<ButtonProps & Omit<ButtonVariants, never> & React__default.RefAttributes<HTMLButtonElement>>;
|
|
942
960
|
|
|
943
961
|
/**
|
|
944
962
|
* ButtonGroup layout variant (Material Design 3)
|
|
@@ -999,6 +1017,13 @@ interface ButtonGroupContextValue {
|
|
|
999
1017
|
* The child passes its own `value` string.
|
|
1000
1018
|
*/
|
|
1001
1019
|
onSelectionChange: (value: string) => void;
|
|
1020
|
+
/**
|
|
1021
|
+
* Whether the entire group is disabled.
|
|
1022
|
+
* When `true`, all child buttons should be non-interactive.
|
|
1023
|
+
*
|
|
1024
|
+
* @default false
|
|
1025
|
+
*/
|
|
1026
|
+
isDisabled: boolean;
|
|
1002
1027
|
/**
|
|
1003
1028
|
* Tailwind class for the inner (adjacent) corner radius in the connected variant.
|
|
1004
1029
|
* Applied to all four corners of every button in a connected group.
|
|
@@ -1124,6 +1149,14 @@ interface ButtonGroupProps extends Omit<React__default.HTMLAttributes<HTMLDivEle
|
|
|
1124
1149
|
* @default new Set()
|
|
1125
1150
|
*/
|
|
1126
1151
|
defaultValue?: string | string[] | undefined;
|
|
1152
|
+
/**
|
|
1153
|
+
* Whether the entire group and all child buttons are disabled.
|
|
1154
|
+
* When `true`, the group container receives `data-disabled` and
|
|
1155
|
+
* all children inherit the disabled state via context.
|
|
1156
|
+
*
|
|
1157
|
+
* @default false
|
|
1158
|
+
*/
|
|
1159
|
+
isDisabled?: boolean;
|
|
1127
1160
|
/**
|
|
1128
1161
|
* Child buttons (Button, IconButton, or any element with a `value` prop).
|
|
1129
1162
|
*/
|
|
@@ -1137,10 +1170,21 @@ interface ButtonGroupProps extends Omit<React__default.HTMLAttributes<HTMLDivEle
|
|
|
1137
1170
|
/**
|
|
1138
1171
|
* Material Design 3 ButtonGroup Component (Layer 3: Styled)
|
|
1139
1172
|
*
|
|
1173
|
+
* Built on the Variants-vs-States architecture: interaction/selection states
|
|
1174
|
+
* are expressed as data-* attributes on the root and consumed by child slots
|
|
1175
|
+
* via group-data-[x]/button-group Tailwind selectors.
|
|
1176
|
+
*
|
|
1140
1177
|
* An invisible container that:
|
|
1141
|
-
* - Applies MD3-spec gap between child buttons
|
|
1178
|
+
* - Applies MD3-spec gap between child buttons with spatial spring transitions
|
|
1142
1179
|
* - Manages selection state (single / multi / required) across toggle buttons
|
|
1143
|
-
* - Passes shape, size, and
|
|
1180
|
+
* - Passes shape, size, variant, and disabled metadata to children via React Context
|
|
1181
|
+
* - Emits container-level state attributes for CSS targeting
|
|
1182
|
+
*
|
|
1183
|
+
* Container data attributes:
|
|
1184
|
+
* - `data-connected` — variant is "connected"
|
|
1185
|
+
* - `data-has-selection` — at least one child button is selected
|
|
1186
|
+
* - `data-selection-mode` — "single" | "required" | "multi"
|
|
1187
|
+
* - `data-disabled` — group is non-interactive (via getInteractionDataAttributes)
|
|
1144
1188
|
*
|
|
1145
1189
|
* Variants:
|
|
1146
1190
|
* - `standard`: Buttons float independently. Gap is larger for xs/sm to preserve
|
|
@@ -1153,6 +1197,11 @@ interface ButtonGroupProps extends Omit<React__default.HTMLAttributes<HTMLDivEle
|
|
|
1153
1197
|
* - `required`: Exactly one always selected; pressing the active button is a no-op.
|
|
1154
1198
|
* - `multi`: Any number of buttons selected simultaneously.
|
|
1155
1199
|
*
|
|
1200
|
+
* Motion:
|
|
1201
|
+
* - Gap transitions use spring-standard-fast-spatial (350ms) for smooth layout changes
|
|
1202
|
+
* - Border-radius morphing on child buttons uses expressive-fast-spatial (350ms, overshoot)
|
|
1203
|
+
* - Color/opacity effects on children use spring-standard-fast-effects (150ms, no overshoot)
|
|
1204
|
+
*
|
|
1156
1205
|
* @example
|
|
1157
1206
|
* ```tsx
|
|
1158
1207
|
* // Standard icon-button group (no selection management)
|
|
@@ -1173,16 +1222,10 @@ interface ButtonGroupProps extends Omit<React__default.HTMLAttributes<HTMLDivEle
|
|
|
1173
1222
|
* <Button value="16oz">16 oz</Button>
|
|
1174
1223
|
* </ButtonGroup>
|
|
1175
1224
|
*
|
|
1176
|
-
* //
|
|
1177
|
-
* <ButtonGroup
|
|
1178
|
-
*
|
|
1179
|
-
*
|
|
1180
|
-
* selectedValues={selected}
|
|
1181
|
-
* onSelectionChange={setSelected}
|
|
1182
|
-
* aria-label="Text formatting"
|
|
1183
|
-
* >
|
|
1184
|
-
* <Button value="bold">Bold</Button>
|
|
1185
|
-
* <Button value="italic">Italic</Button>
|
|
1225
|
+
* // Disabled group
|
|
1226
|
+
* <ButtonGroup variant="connected" isDisabled aria-label="Unavailable options">
|
|
1227
|
+
* <Button value="a">A</Button>
|
|
1228
|
+
* <Button value="b">B</Button>
|
|
1186
1229
|
* </ButtonGroup>
|
|
1187
1230
|
* ```
|
|
1188
1231
|
*/
|
|
@@ -1224,28 +1267,73 @@ declare const ButtonGroup: React__default.ForwardRefExoticComponent<ButtonGroupP
|
|
|
1224
1267
|
declare const ButtonGroupHeadless: React__default.ForwardRefExoticComponent<ButtonGroupProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1225
1268
|
|
|
1226
1269
|
/**
|
|
1227
|
-
* Material Design 3 ButtonGroup Variants
|
|
1270
|
+
* Material Design 3 ButtonGroup Variants
|
|
1271
|
+
*
|
|
1272
|
+
* Architecture: Variants vs States
|
|
1273
|
+
* - CVA holds design-time structure only (no interaction state variants).
|
|
1274
|
+
* - All interaction/selection states are driven by data-* attributes on the root
|
|
1275
|
+
* via group-data-[x]/button-group Tailwind selectors.
|
|
1276
|
+
* - Container-level state attributes:
|
|
1277
|
+
* data-connected — variant is "connected"
|
|
1278
|
+
* data-has-selection — at least one child button is selected
|
|
1279
|
+
* data-disabled — entire group is non-interactive
|
|
1280
|
+
* data-selection-mode — "single" | "required" | "multi" (when applicable)
|
|
1281
|
+
*
|
|
1282
|
+
* Slot responsibilities:
|
|
1283
|
+
* buttonGroupRootVariants — layout container; gap, alignment, motion, disabled state
|
|
1228
1284
|
*
|
|
1229
|
-
*
|
|
1230
|
-
*
|
|
1231
|
-
*
|
|
1285
|
+
* MD3 Spec (Inner Gap):
|
|
1286
|
+
* | Size | standard | connected |
|
|
1287
|
+
* |-------------|------------|-----------|
|
|
1288
|
+
* | extra-small | 18dp | 2dp |
|
|
1289
|
+
* | small | 12dp | 2dp |
|
|
1290
|
+
* | medium | 8dp | 2dp |
|
|
1291
|
+
* | large | 8dp | 2dp |
|
|
1292
|
+
* | extra-large | 8dp | 2dp |
|
|
1232
1293
|
*
|
|
1233
|
-
*
|
|
1234
|
-
*
|
|
1235
|
-
*
|
|
1236
|
-
*
|
|
1237
|
-
* | small | 12dp | 2dp |
|
|
1238
|
-
* | medium | 8dp | 2dp |
|
|
1239
|
-
* | large | 8dp | 2dp |
|
|
1240
|
-
* | extra-large | 8dp | 2dp |
|
|
1294
|
+
* Motion:
|
|
1295
|
+
* Gap is a spatial property — uses spring-standard-fast-spatial (350ms, no overshoot
|
|
1296
|
+
* for gap since CSS gap cannot visually overshoot). This ensures smooth transitions
|
|
1297
|
+
* when the size prop changes or buttons are added/removed.
|
|
1241
1298
|
*
|
|
1242
1299
|
* Note: xs/sm standard gaps are intentionally large to preserve 48dp touch targets.
|
|
1243
1300
|
* Connected gap is always 2dp (`gap-0.5`) regardless of size.
|
|
1244
1301
|
*/
|
|
1302
|
+
/**
|
|
1303
|
+
* Root container element — carries `group/button-group` scope via the styled layer.
|
|
1304
|
+
*
|
|
1305
|
+
* Handles:
|
|
1306
|
+
* - Flexbox layout (inline-flex or flex)
|
|
1307
|
+
* - Gap between child buttons (per variant × size)
|
|
1308
|
+
* - Spatial motion for gap transitions
|
|
1309
|
+
* - Disabled state (opacity + pointer-events)
|
|
1310
|
+
*/
|
|
1311
|
+
declare const buttonGroupRootVariants: (props?: ({
|
|
1312
|
+
variant?: "standard" | "connected" | null | undefined;
|
|
1313
|
+
size?: "small" | "large" | "medium" | "extra-small" | "extra-large" | null | undefined;
|
|
1314
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1315
|
+
/**
|
|
1316
|
+
* Focus ring overlay for the group container.
|
|
1317
|
+
*
|
|
1318
|
+
* Visible only when the group itself receives keyboard focus (rare — typically
|
|
1319
|
+
* focus goes to child buttons). Included for completeness and edge cases where
|
|
1320
|
+
* the group container might receive programmatic focus.
|
|
1321
|
+
*
|
|
1322
|
+
* Uses the same pattern as Switch/Button focus rings:
|
|
1323
|
+
* - Always in DOM (opacity-0)
|
|
1324
|
+
* - Transitions to opacity-100 on group-data-[focus-visible]
|
|
1325
|
+
*/
|
|
1326
|
+
declare const buttonGroupFocusRingVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
|
|
1327
|
+
/**
|
|
1328
|
+
* @deprecated Use `buttonGroupRootVariants` instead.
|
|
1329
|
+
* Kept for backward compatibility during migration.
|
|
1330
|
+
*/
|
|
1245
1331
|
declare const buttonGroupVariants: (props?: ({
|
|
1246
1332
|
variant?: "standard" | "connected" | null | undefined;
|
|
1247
1333
|
size?: "small" | "large" | "medium" | "extra-small" | "extra-large" | null | undefined;
|
|
1248
1334
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1335
|
+
type ButtonGroupRootVariants = VariantProps<typeof buttonGroupRootVariants>;
|
|
1336
|
+
type ButtonGroupFocusRingVariants = VariantProps<typeof buttonGroupFocusRingVariants>;
|
|
1249
1337
|
|
|
1250
1338
|
/**
|
|
1251
1339
|
* Context that provides ButtonGroup state to all child buttons.
|
|
@@ -1323,53 +1411,48 @@ declare function useOptionalButtonGroup(): ButtonGroupContextValue | null;
|
|
|
1323
1411
|
declare function getConnectedRadiusClasses(ctx: ButtonGroupContextValue, value?: string): readonly string[];
|
|
1324
1412
|
|
|
1325
1413
|
/**
|
|
1326
|
-
*
|
|
1327
|
-
*
|
|
1328
|
-
* Type-safe variant management for IconButton component.
|
|
1329
|
-
* Uses Tailwind CSS classes mapped to MD3 design tokens.
|
|
1330
|
-
*
|
|
1331
|
-
* Key differences from Button:
|
|
1332
|
-
* - Circular shape (not pill-shaped)
|
|
1333
|
-
* - Fixed square dimensions
|
|
1334
|
-
* - No text content support
|
|
1335
|
-
* - 'standard' variant instead of 'elevated'
|
|
1414
|
+
* IconButton variant types (MD3 specification)
|
|
1336
1415
|
*/
|
|
1337
|
-
|
|
1338
|
-
variant?: "filled" | "outlined" | "tonal" | "standard" | null | undefined;
|
|
1339
|
-
color?: "primary" | "secondary" | "tertiary" | "error" | null | undefined;
|
|
1340
|
-
size?: "small" | "large" | "medium" | null | undefined;
|
|
1341
|
-
selected?: boolean | null | undefined;
|
|
1342
|
-
isDisabled?: boolean | null | undefined;
|
|
1343
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1416
|
+
type IconButtonVariant = "standard" | "filled" | "tonal" | "outlined";
|
|
1344
1417
|
/**
|
|
1345
|
-
*
|
|
1418
|
+
* Color scheme (MD3 color roles)
|
|
1346
1419
|
*/
|
|
1347
|
-
type
|
|
1348
|
-
|
|
1420
|
+
type IconButtonColor = "primary" | "secondary" | "tertiary" | "error";
|
|
1349
1421
|
/**
|
|
1350
|
-
*
|
|
1422
|
+
* Icon button sizes — M3 Expressive 5-tier system.
|
|
1423
|
+
*
|
|
1424
|
+
* Container heights (dp → px):
|
|
1425
|
+
* - xsmall: 32dp
|
|
1426
|
+
* - small: 40dp
|
|
1427
|
+
* - medium: 56dp (default)
|
|
1428
|
+
* - large: 96dp
|
|
1429
|
+
* - xlarge: 136dp
|
|
1351
1430
|
*/
|
|
1352
|
-
type
|
|
1431
|
+
type IconButtonSize = "xsmall" | "small" | "medium" | "large" | "xlarge";
|
|
1353
1432
|
/**
|
|
1354
|
-
*
|
|
1433
|
+
* Width variant — adjusts container width relative to height.
|
|
1434
|
+
* - narrow: narrower than height
|
|
1435
|
+
* - default: same width as height (square container)
|
|
1436
|
+
* - wide: wider than height
|
|
1355
1437
|
*/
|
|
1356
|
-
type
|
|
1438
|
+
type IconButtonWidth = "narrow" | "default" | "wide";
|
|
1357
1439
|
/**
|
|
1358
|
-
*
|
|
1440
|
+
* Shape variant — controls corner rounding.
|
|
1441
|
+
* - round: fully circular (rounded-full)
|
|
1442
|
+
* - square: size-tiered corner radius (MD3 shape scale)
|
|
1359
1443
|
*/
|
|
1360
|
-
type
|
|
1444
|
+
type IconButtonShape = "round" | "square";
|
|
1361
1445
|
/**
|
|
1362
|
-
* Material Design 3 IconButton Component Props
|
|
1446
|
+
* Material Design 3 Expressive IconButton Component Props
|
|
1363
1447
|
*
|
|
1364
|
-
* Icon-only button component
|
|
1365
|
-
*
|
|
1366
|
-
*
|
|
1448
|
+
* Icon-only button component following the M3 Expressive spec with:
|
|
1449
|
+
* - 5 sizes: xsmall, small, medium (default), large, xlarge
|
|
1450
|
+
* - 3 width options: narrow, default, wide
|
|
1451
|
+
* - 2 shapes: round (circular), square (corner-radius scale)
|
|
1452
|
+
* - Press shape-morph: corners tighten on press when `shape="round"`
|
|
1453
|
+
* - Toggle support: `selected` + `selectedIcon`
|
|
1367
1454
|
* - 4 variants: standard, filled, tonal, outlined
|
|
1368
|
-
* - Icon only (no text content)
|
|
1369
|
-
* - Circular shape (MD3 specification)
|
|
1370
1455
|
* - Mandatory `aria-label` for accessibility
|
|
1371
|
-
* - Toggle support with `selected` prop
|
|
1372
|
-
* - 48×48px minimum touch target
|
|
1373
1456
|
*
|
|
1374
1457
|
* @example
|
|
1375
1458
|
* ```tsx
|
|
@@ -1383,13 +1466,19 @@ type IconButtonSize = "small" | "medium" | "large";
|
|
|
1383
1466
|
* <IconHeart />
|
|
1384
1467
|
* </IconButton>
|
|
1385
1468
|
*
|
|
1386
|
-
* // Toggle button
|
|
1469
|
+
* // Toggle button with selectedIcon
|
|
1387
1470
|
* <IconButton
|
|
1388
1471
|
* aria-label={isFavorite ? "Remove from favorites" : "Add to favorites"}
|
|
1389
1472
|
* selected={isFavorite}
|
|
1390
1473
|
* onPress={() => setIsFavorite(!isFavorite)}
|
|
1474
|
+
* selectedIcon={<IconStarFilled />}
|
|
1391
1475
|
* >
|
|
1392
|
-
*
|
|
1476
|
+
* <IconStarOutline />
|
|
1477
|
+
* </IconButton>
|
|
1478
|
+
*
|
|
1479
|
+
* // Large square shape
|
|
1480
|
+
* <IconButton aria-label="Settings" size="large" shape="square">
|
|
1481
|
+
* <IconSettings />
|
|
1393
1482
|
* </IconButton>
|
|
1394
1483
|
*
|
|
1395
1484
|
* // Disabled
|
|
@@ -1410,21 +1499,48 @@ interface IconButtonProps extends AriaButtonProps {
|
|
|
1410
1499
|
*/
|
|
1411
1500
|
color?: IconButtonColor;
|
|
1412
1501
|
/**
|
|
1413
|
-
* Size
|
|
1502
|
+
* Size tier (M3 Expressive 5-tier system)
|
|
1414
1503
|
* @default 'medium'
|
|
1415
1504
|
*/
|
|
1416
1505
|
size?: IconButtonSize;
|
|
1417
1506
|
/**
|
|
1418
|
-
*
|
|
1419
|
-
* -
|
|
1420
|
-
* -
|
|
1421
|
-
* -
|
|
1507
|
+
* Container width relative to height.
|
|
1508
|
+
* - `narrow`: slimmer than the container height
|
|
1509
|
+
* - `default`: square container (width = height)
|
|
1510
|
+
* - `wide`: wider than the container height
|
|
1511
|
+
*
|
|
1512
|
+
* @default 'default'
|
|
1513
|
+
*/
|
|
1514
|
+
width?: IconButtonWidth;
|
|
1515
|
+
/**
|
|
1516
|
+
* Corner shape.
|
|
1517
|
+
* - `round`: fully circular (pill-shaped)
|
|
1518
|
+
* - `square`: size-tiered corner radius from the MD3 shape scale
|
|
1519
|
+
*
|
|
1520
|
+
* Applies a press shape-morph (corners tighten on press, spring back on release).
|
|
1521
|
+
*
|
|
1522
|
+
* @default 'round'
|
|
1523
|
+
*/
|
|
1524
|
+
shape?: IconButtonShape;
|
|
1525
|
+
/**
|
|
1526
|
+
* Icon content. Recommended icon sizes per container size:
|
|
1527
|
+
* - xsmall: 20×20px
|
|
1528
|
+
* - small / medium: 24×24px
|
|
1529
|
+
* - large: 32×32px
|
|
1530
|
+
* - xlarge: 40×40px
|
|
1422
1531
|
*/
|
|
1423
1532
|
children: React__default.ReactNode;
|
|
1424
1533
|
/**
|
|
1425
|
-
*
|
|
1426
|
-
* When
|
|
1427
|
-
*
|
|
1534
|
+
* Icon to display when `selected` is `true`.
|
|
1535
|
+
* When provided with a `selected` prop the button becomes a toggle button.
|
|
1536
|
+
* If omitted, `children` is shown in both states.
|
|
1537
|
+
*/
|
|
1538
|
+
selectedIcon?: React__default.ReactNode;
|
|
1539
|
+
/**
|
|
1540
|
+
* Toggle state.
|
|
1541
|
+
* When defined (even as `false`) the button behaves as a toggle button and
|
|
1542
|
+
* `aria-pressed` is set.
|
|
1543
|
+
* @default undefined
|
|
1428
1544
|
*/
|
|
1429
1545
|
selected?: boolean;
|
|
1430
1546
|
/**
|
|
@@ -1443,8 +1559,8 @@ interface IconButtonProps extends AriaButtonProps {
|
|
|
1443
1559
|
*/
|
|
1444
1560
|
value?: string;
|
|
1445
1561
|
/**
|
|
1446
|
-
* HTML title attribute for tooltip
|
|
1447
|
-
* Recommended for better UX on desktop
|
|
1562
|
+
* HTML title attribute for tooltip.
|
|
1563
|
+
* Recommended for better UX on desktop.
|
|
1448
1564
|
*/
|
|
1449
1565
|
title?: string;
|
|
1450
1566
|
/**
|
|
@@ -1452,8 +1568,8 @@ interface IconButtonProps extends AriaButtonProps {
|
|
|
1452
1568
|
*/
|
|
1453
1569
|
onMouseDown?: (e: React__default.MouseEvent<HTMLButtonElement>) => void;
|
|
1454
1570
|
/**
|
|
1455
|
-
* REQUIRED: Accessible label for screen readers
|
|
1456
|
-
* Since IconButton has no visible text, this is mandatory
|
|
1571
|
+
* REQUIRED: Accessible label for screen readers.
|
|
1572
|
+
* Since IconButton has no visible text, this is mandatory.
|
|
1457
1573
|
*
|
|
1458
1574
|
* @example
|
|
1459
1575
|
* aria-label="Delete item"
|
|
@@ -1464,19 +1580,27 @@ interface IconButtonProps extends AriaButtonProps {
|
|
|
1464
1580
|
}
|
|
1465
1581
|
|
|
1466
1582
|
/**
|
|
1467
|
-
* Material Design 3 IconButton Component
|
|
1583
|
+
* Material Design 3 Expressive — IconButton Component (Layer 3: Styled)
|
|
1468
1584
|
*
|
|
1469
|
-
*
|
|
1470
|
-
*
|
|
1585
|
+
* Built on React Aria for world-class accessibility. Implements the
|
|
1586
|
+
* Variants-vs-States architecture: all interaction/selection states are
|
|
1587
|
+
* expressed as data-* attributes (emitted by IconButtonHeadless) and consumed
|
|
1588
|
+
* by each slot via group-data-[x]/icon-button Tailwind selectors — no state
|
|
1589
|
+
* variants in CVA.
|
|
1471
1590
|
*
|
|
1472
|
-
*
|
|
1473
|
-
* -
|
|
1474
|
-
* -
|
|
1475
|
-
* -
|
|
1476
|
-
* -
|
|
1477
|
-
* -
|
|
1478
|
-
* -
|
|
1479
|
-
* -
|
|
1591
|
+
* Features:
|
|
1592
|
+
* - ✅ M3 Expressive 5-tier sizes: xsmall, small, medium, large, xlarge
|
|
1593
|
+
* - ✅ 3 width options: narrow, default, wide
|
|
1594
|
+
* - ✅ 2 shapes: round (circular), square (MD3 corner scale)
|
|
1595
|
+
* - ✅ Press shape-morph (round shape springs into square corner on press)
|
|
1596
|
+
* - ✅ 4 variants: standard, filled, tonal, outlined
|
|
1597
|
+
* - ✅ 4 color roles: primary, secondary, tertiary, error
|
|
1598
|
+
* - ✅ Toggle support (selected + selectedIcon)
|
|
1599
|
+
* - ✅ MD3-correct state layer: per-variant color, opacity-8/10/10
|
|
1600
|
+
* - ✅ MD3-correct disabled: content opacity-38 + container on-surface/12
|
|
1601
|
+
* - ✅ Ripple effect on press
|
|
1602
|
+
* - ✅ ButtonGroup-aware: connected corner radii + min-width
|
|
1603
|
+
* - ✅ Mandatory aria-label for accessibility
|
|
1480
1604
|
*
|
|
1481
1605
|
* @example
|
|
1482
1606
|
* ```tsx
|
|
@@ -1485,86 +1609,94 @@ interface IconButtonProps extends AriaButtonProps {
|
|
|
1485
1609
|
* <IconDelete />
|
|
1486
1610
|
* </IconButton>
|
|
1487
1611
|
*
|
|
1488
|
-
* // Filled with color
|
|
1489
|
-
* <IconButton aria-label="Favorite" variant="filled" color="error">
|
|
1612
|
+
* // Filled with color, large
|
|
1613
|
+
* <IconButton aria-label="Favorite" variant="filled" color="error" size="large">
|
|
1490
1614
|
* <IconHeart />
|
|
1491
1615
|
* </IconButton>
|
|
1492
1616
|
*
|
|
1493
|
-
* // Toggle button
|
|
1617
|
+
* // Toggle button with selectedIcon
|
|
1494
1618
|
* <IconButton
|
|
1495
1619
|
* aria-label={selected ? "Remove favorite" : "Add favorite"}
|
|
1496
1620
|
* selected={selected}
|
|
1497
1621
|
* onPress={() => setSelected(!selected)}
|
|
1622
|
+
* selectedIcon={<IconStarFilled />}
|
|
1498
1623
|
* >
|
|
1499
|
-
*
|
|
1624
|
+
* <IconStarOutline />
|
|
1500
1625
|
* </IconButton>
|
|
1501
1626
|
*
|
|
1502
|
-
* //
|
|
1503
|
-
* <
|
|
1504
|
-
* <
|
|
1505
|
-
*
|
|
1506
|
-
* </ButtonGroup>
|
|
1627
|
+
* // Square shape, wide width
|
|
1628
|
+
* <IconButton aria-label="Menu" shape="square" width="wide" size="medium">
|
|
1629
|
+
* <IconMenu />
|
|
1630
|
+
* </IconButton>
|
|
1507
1631
|
* ```
|
|
1508
1632
|
*/
|
|
1509
|
-
declare const IconButton: React__default.ForwardRefExoticComponent<IconButtonProps &
|
|
1633
|
+
declare const IconButton: React__default.ForwardRefExoticComponent<IconButtonProps & React__default.RefAttributes<HTMLButtonElement>>;
|
|
1510
1634
|
|
|
1511
1635
|
/**
|
|
1512
1636
|
* Headless IconButton Component (Layer 2)
|
|
1513
1637
|
*
|
|
1514
1638
|
* Unstyled icon button primitive using React Aria for accessibility.
|
|
1515
|
-
* Provides behavior
|
|
1639
|
+
* Provides behavior AND emits MD3-compliant data-* interaction attributes
|
|
1640
|
+
* so the styled Layer 3 can drive all visual states through CSS alone.
|
|
1641
|
+
*
|
|
1642
|
+
* Emitted data attributes (via getInteractionDataAttributes):
|
|
1643
|
+
* - `data-hovered` — pointer is over the button
|
|
1644
|
+
* - `data-focus-visible` — keyboard/programmatic focus is visible
|
|
1645
|
+
* - `data-pressed` — button is being pressed
|
|
1646
|
+
* - `data-selected` — toggle button is in the ON state
|
|
1647
|
+
* - `data-disabled` — button is non-interactive
|
|
1648
|
+
*
|
|
1649
|
+
* Content flags (set explicitly):
|
|
1650
|
+
* - `data-toggle` — button is a toggle (selected prop is defined)
|
|
1516
1651
|
*
|
|
1517
1652
|
* Features:
|
|
1518
1653
|
* - Full keyboard navigation (Enter, Space)
|
|
1519
|
-
* - Screen reader support
|
|
1654
|
+
* - Screen reader support (aria-pressed for toggle buttons)
|
|
1520
1655
|
* - Touch/pointer event handling
|
|
1521
1656
|
* - Focus management
|
|
1657
|
+
* - Hover detection (useHover — pointer-only, not keyboard)
|
|
1522
1658
|
* - Disabled state handling
|
|
1523
|
-
* - Toggle button support (aria-pressed)
|
|
1524
1659
|
*
|
|
1525
1660
|
* @example
|
|
1526
1661
|
* ```tsx
|
|
1527
|
-
* //
|
|
1528
|
-
* <IconButtonHeadless
|
|
1662
|
+
* // Advanced custom styling
|
|
1663
|
+
* <IconButtonHeadless
|
|
1664
|
+
* aria-label="Delete"
|
|
1665
|
+
* className="group/icon-button my-custom-classes"
|
|
1666
|
+
* isSelected={false}
|
|
1667
|
+
* isToggle={false}
|
|
1668
|
+
* isDisabled={false}
|
|
1669
|
+
* >
|
|
1529
1670
|
* <IconDelete />
|
|
1530
1671
|
* </IconButtonHeadless>
|
|
1531
1672
|
* ```
|
|
1532
1673
|
*/
|
|
1533
1674
|
interface IconButtonHeadlessProps extends AriaButtonProps {
|
|
1534
|
-
/**
|
|
1535
|
-
* Additional CSS classes
|
|
1536
|
-
*/
|
|
1675
|
+
/** Additional CSS classes */
|
|
1537
1676
|
className?: string;
|
|
1538
|
-
/**
|
|
1539
|
-
* Icon content (React node)
|
|
1540
|
-
*/
|
|
1677
|
+
/** Icon content */
|
|
1541
1678
|
children: React.ReactNode;
|
|
1542
|
-
/**
|
|
1543
|
-
* Tab index for keyboard navigation
|
|
1544
|
-
* @default 0
|
|
1545
|
-
*/
|
|
1679
|
+
/** Tab index for keyboard navigation @default 0 */
|
|
1546
1680
|
tabIndex?: number;
|
|
1547
|
-
/**
|
|
1548
|
-
* Mouse down handler (for ripple effect)
|
|
1549
|
-
*/
|
|
1681
|
+
/** Mouse down handler (for ripple effect) */
|
|
1550
1682
|
onMouseDown?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
1551
|
-
/**
|
|
1552
|
-
* Button type attribute
|
|
1553
|
-
* @default 'button'
|
|
1554
|
-
*/
|
|
1683
|
+
/** Button type attribute @default 'button' */
|
|
1555
1684
|
type?: "button" | "submit" | "reset";
|
|
1556
1685
|
/**
|
|
1557
|
-
* Toggle state
|
|
1558
|
-
*
|
|
1686
|
+
* Toggle selected state.
|
|
1687
|
+
* When defined, sets aria-pressed and emits data-selected / data-toggle.
|
|
1559
1688
|
*/
|
|
1560
|
-
|
|
1689
|
+
isSelected?: boolean;
|
|
1561
1690
|
/**
|
|
1562
|
-
*
|
|
1691
|
+
* Whether this button behaves as a toggle (i.e. selected prop was passed).
|
|
1692
|
+
* Drives `data-toggle` attribute; determines whether aria-pressed is set.
|
|
1563
1693
|
*/
|
|
1694
|
+
isToggle?: boolean;
|
|
1695
|
+
/** Whether the button is disabled */
|
|
1696
|
+
isDisabled?: boolean;
|
|
1697
|
+
/** REQUIRED: Accessible label for screen readers */
|
|
1564
1698
|
"aria-label": string;
|
|
1565
|
-
/**
|
|
1566
|
-
* HTML title attribute for tooltip
|
|
1567
|
-
*/
|
|
1699
|
+
/** HTML title attribute for tooltip */
|
|
1568
1700
|
title?: string;
|
|
1569
1701
|
}
|
|
1570
1702
|
declare const IconButtonHeadless: React$1.ForwardRefExoticComponent<IconButtonHeadlessProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
@@ -10539,7 +10671,7 @@ type DatePickerContainerVariants = VariantProps<typeof datePickerContainerVarian
|
|
|
10539
10671
|
* MD3 spec: 48x48dp circle, various states and types.
|
|
10540
10672
|
*/
|
|
10541
10673
|
declare const calendarCellVariants: (props?: ({
|
|
10542
|
-
cellType?: "disabled" | "
|
|
10674
|
+
cellType?: "disabled" | "default" | "selected" | "today" | "selected-range-middle" | "outside-month" | null | undefined;
|
|
10543
10675
|
state?: "focused" | "enabled" | "hovered" | "pressed" | null | undefined;
|
|
10544
10676
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
10545
10677
|
type CalendarCellVariants = VariantProps<typeof calendarCellVariants>;
|
|
@@ -10617,4 +10749,4 @@ type DatePickerSupportingTextVariants = VariantProps<typeof datePickerSupporting
|
|
|
10617
10749
|
declare const datePickerScrimVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
|
|
10618
10750
|
type DatePickerScrimVariants = VariantProps<typeof datePickerScrimVariants>;
|
|
10619
10751
|
|
|
10620
|
-
export { AppBar, AppBarHeadless, type AppBarHeadlessProps, type AppBarProps, type AppBarVariant, Badge, type BadgeColor, BadgeContent, type BadgeContentProps, BadgeHeadless, type BadgeHeadlessProps, type BadgeProps, type BadgeVariants, BottomSheet, type BottomSheetAnimationState, type BottomSheetAnimationVariants, BottomSheetContext, type BottomSheetContextValue, BottomSheetHandle, type BottomSheetHandleProps, type BottomSheetHandleVariants, BottomSheetHeadless, type BottomSheetHeadlessProps, type BottomSheetProps, type BottomSheetScrimVariants, type BottomSheetVariant, type BottomSheetVariants, Button,
|
|
10752
|
+
export { AppBar, AppBarHeadless, type AppBarHeadlessProps, type AppBarProps, type AppBarVariant, Badge, type BadgeColor, BadgeContent, type BadgeContentProps, BadgeHeadless, type BadgeHeadlessProps, type BadgeProps, type BadgeVariants, BottomSheet, type BottomSheetAnimationState, type BottomSheetAnimationVariants, BottomSheetContext, type BottomSheetContextValue, BottomSheetHandle, type BottomSheetHandleProps, type BottomSheetHandleVariants, BottomSheetHeadless, type BottomSheetHeadlessProps, type BottomSheetProps, type BottomSheetScrimVariants, type BottomSheetVariant, type BottomSheetVariants, Button, ButtonGroup, ButtonGroupContext, type ButtonGroupContextValue, type ButtonGroupFocusRingVariants, ButtonGroupHeadless, type ButtonGroupProps, type ButtonGroupRootVariants, type ButtonGroupSelectionMode, type ButtonGroupShape, type ButtonGroupSize, type ButtonGroupVariant, type ButtonProps, type ButtonSize, type ButtonVariant, type CalendarCellProps, type CalendarCellType, type CalendarCellVariants, CalendarCore, type CalendarGridProps, type CalendarView, Card, CardActions, type CardActionsProps, CardContent, type CardContentProps, CardHeader, type CardHeaderProps, CardHeadless, type CardHeadlessProps, CardMedia, type CardMediaProps, type CardProps, type CardVariant, type CardVariants, Checkbox, type CheckboxProps, Chip, ChipHeadless, type ChipHeadlessProps, type ChipProps, ChipSet, type ChipSetProps, type ChipSurface, type ChipType, type ChipVariants, type ClockDialContainerVariants, type ClockDialNumberVariants, type ClockDialProps, type ClockHandCenterVariants, type ClockHandHandleVariants, type ClockHandProps, type ClockHandTrackVariants, type ClockSelectionMode, DateField, type DateFieldProps, type DateInputFieldProps, DatePicker, type DatePickerActionButtonVariants, type DatePickerActionVariants, type DatePickerActionsProps, type DatePickerContainerVariants, type DatePickerDividerVariants, DatePickerDocked, type DatePickerDockedProps, type DatePickerHeaderVariants, type DatePickerHeadlessProps, type DatePickerHeadlineVariants, DatePickerModal, type DatePickerModalHeaderProps, DatePickerModalInput, type DatePickerModalInputProps, type DatePickerModalProps, type DatePickerNavVariants, type DatePickerProps, type DatePickerRangeIndicatorVariants, type DatePickerRenderState, type DatePickerScrimVariants, type DatePickerSupportingTextVariants, type DatePickerVariant, type DatePickerWeekdayVariants, type DateSelectionMode, Dialog, DialogActions, type DialogActionsProps, type DialogAnimationState, DialogContent, type DialogContentProps, DialogContext, type DialogContextValue, DialogHeadless, type DialogHeadlessProps, DialogHeadline, type DialogHeadlineProps, type DialogProps, type DialogVariant, Divider, DividerHeadless, type DividerHeadlessProps, type DividerInset, type DividerOrientation, type DividerProps, type DividerVariants, Drawer, type DrawerContextValue, DrawerIconOnlyContext, DrawerItem, type DrawerItemBadgeConfig, type DrawerItemProps, type DrawerProps, DrawerSection, type DrawerSectionProps, type DrawerVariant, FAB, type FABColor, FABHeadless, type FABHeadlessProps, FABMenu, FABMenuContext, type FABMenuContextValue, type FABMenuDirection, FABMenuHeadless, type FABMenuHeadlessProps, FABMenuItem, type FABMenuItemProps, type FABMenuItemVariants, type FABMenuProps, type FABMenuVariants, type FABProps, type FABSize, HeadlessDrawer, HeadlessDrawerItem, type HeadlessDrawerItemProps, type HeadlessDrawerProps, HeadlessMenu, HeadlessMenuDivider, HeadlessMenuItem, type HeadlessMenuItemProps, type HeadlessMenuProps, HeadlessMenuSection, type HeadlessMenuSectionProps, HeadlessMenuTrigger, type HeadlessMenuTriggerProps, HeadlessNavigationBar, HeadlessNavigationBarItem, type HeadlessNavigationBarItemProps, type HeadlessNavigationBarProps, HeadlessTab, HeadlessTabList, HeadlessTabPanel, type HeadlessTabPanelProps, type HeadlessTabProps, IconButton, type IconButtonColor, IconButtonHeadless, type IconButtonHeadlessProps, type IconButtonProps, type IconButtonSize, type IconButtonVariant, List, type ListDensity, ListHeadless, type ListHeadlessProps, ListItem, ListItemHeadless, ListItemLeading, type ListItemLeadingProps, type ListItemProps, ListItemText, type ListItemTextProps, ListItemTrailing, type ListItemTrailingProps, type ListItemVariants, type ListLeadingType, type ListProps, type ListTrailingType, type ListVariants, type MD3ColorRole, type MD3TypographyScale, type MD3TypographySize, type MD3TypographyStyle, Menu, type MenuContainerVariants, MenuContext, type MenuContextValue, MenuDivider, type MenuDividerProps, MenuItem, type MenuItemProps, type MenuProps, MenuSection, type MenuSectionProps, MenuTrigger, type MenuTriggerProps, NavigationBar, type NavigationBarBadge, NavigationBarItem, type NavigationBarItemConfig, type NavigationBarItemProps, type NavigationBarItemRenderProps, type NavigationBarProps, type PeriodSelectorContainerVariants, type PeriodSelectorItemVariants, type PeriodSelectorProps, Progress, ProgressHeadless, type ProgressHeadlessProps, type ProgressProps, Radio, RadioGroup, RadioGroupHeadless, type RadioGroupHeadlessProps, type RadioGroupProps, RadioHeadless, type RadioHeadlessProps, type RadioProps, type RangeCalendarProps, RichTooltip, type RichTooltipProps, type RichTooltipVariants, STATE_LAYER_OPACITY, Search, SearchBar, SearchBarHeadless, type SearchBarHeadlessProps, type SearchBarProps, type SearchLayout, type SearchProps, type SearchStyle, SearchView, SearchViewHeadless, type SearchViewHeadlessProps, type SearchViewProps, Slider, SliderHeadless, type SliderHeadlessProps, type SliderOrientation, type SliderProps, type SliderRangeThumbLabels, type SliderRenderState, type SliderSize, type SliderThumbProps, type SliderThumbState, type SliderVariant, Snackbar, type SnackbarAction, SnackbarContext, type SnackbarContextValue, SnackbarHeadless, type SnackbarHeadlessProps, type SnackbarItem, type SnackbarProps, SnackbarProvider, type SnackbarProviderProps, type SnackbarSeverity, SplitButton, type SplitButtonContainerVariants, type SplitButtonDropdownVariants, SplitButtonHeadless, type SplitButtonHeadlessProps, type SplitButtonMenuItem, type SplitButtonPrimaryVariants, type SplitButtonProps, type SplitButtonSize, type SplitButtonVariant, Switch, type SwitchProps, TYPOGRAPHY_ELEMENT_MAP, TYPOGRAPHY_USAGE, Tab, type TabItem, type TabLayout, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, type TabVariant, Tabs, type TabsProps, TextField, type TextFieldProps, type TextFieldSize, type TextFieldVariant, type TimeFormat, type TimeInputFieldProps, type TimeInputFieldVariants, type TimePeriod, TimePicker, type TimePickerActionButtonVariants, type TimePickerActionRowVariants, type TimePickerContainerVariants, TimePickerDial, type TimePickerDialProps, type TimePickerHeadlessProps, type TimePickerHeadlineVariants, TimePickerInput, type TimePickerInputProps, type TimePickerModeToggleVariants, type TimePickerOrientation, type TimePickerProps, type TimePickerRenderState, type TimePickerVariant, type TimeSelectorContainerVariants, type TimeSelectorProps, type TimeSeparatorVariants, type TimeValue, Tooltip, type TooltipHeadlessProps, TooltipOverlayHeadless, type TooltipPlacement, type TooltipProps, TooltipTrigger, TooltipTriggerHeadless, type TooltipTriggerProps, type TooltipTriggerStyledProps, type TooltipVariant, type TooltipVariants, type TypographyProperty, type TypographyStyleObject, type UseBottomSheetDragOptions, type UseBottomSheetDragReturn, type YearItemVariants, applyStateLayer, badgeVariants, bottomSheetAnimationVariants, bottomSheetHandlePillVariants, bottomSheetHandleWrapperVariants, bottomSheetScrimVariants, bottomSheetVariants, buttonGroupFocusRingVariants, buttonGroupRootVariants, buttonGroupVariants, calendarCellVariants, cardVariants, chipVariants, clockDialContainerVariants, clockDialNumberVariants, clockHandCenterVariants, clockHandHandleVariants, clockHandTrackVariants, cn, datePickerActionButtonVariants, datePickerActionVariants, datePickerContainerVariants, datePickerDividerVariants, datePickerHeaderVariants, datePickerHeadlineVariants, datePickerNavVariants, datePickerRangeIndicatorVariants, datePickerScrimVariants, datePickerSupportingTextVariants, datePickerWeekdayVariants, dividerVariants, fabMenuItemVariants, fabMenuVariants, generateMD3Theme, getColorValue, getConnectedRadiusClasses, getFontFamily, getMD3Color, getResponsiveTypography, getTypographyClassName, getTypographyForElement, getTypographyStyle, getTypographyToken, hexToRgb, listItemVariants, listVariants, periodSelectorContainerVariants, periodSelectorItemVariants, pxToRem, remToPx, rgbToHex, richTooltipVariants, searchBarVariants, searchViewHeaderVariants, searchViewVariants, sliderActiveTrackVariants, sliderContainerVariants, sliderHandleStateLayerVariants, sliderHandleVariants, sliderInactiveTrackVariants, sliderTrackLayoutVariants, splitButtonContainerVariants, splitButtonDropdownVariants, splitButtonPrimaryVariants, splitButtonVariants, timeInputFieldVariants, timePickerActionButtonVariants, timePickerActionRowVariants, timePickerContainerVariants, timePickerHeadlineVariants, timePickerModeToggleVariants, timeSelectorContainerVariants, timeSeparatorVariants, tooltipVariants, truncateText, useBottomSheetContext, useBottomSheetDrag, useButtonGroup, useDialogContext, useFABMenuContext, useMenuContext, useOptionalButtonGroup, useSnackbar, withOpacity, yearItemVariants };
|