@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.d.cts 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 (CVA)
737
- *
738
- * Type-safe variant management for Button component.
739
- * Uses Tailwind CSS classes mapped to MD3 design tokens.
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 color schemes (Material Design 3 color roles)
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
- * Implementation uses CVA + Tailwind CSS classes mapped to MD3 tokens.
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" color="primary">
777
- * Click me
778
- * </Button>
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="tonal" icon={<IconAdd />}>
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
- * Color scheme
809
- * @default 'primary'
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 should be 18px × 18px
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 should be 18px × 18px
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 (text)
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 - shows spinner, disables interaction
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 (Tailwind)
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
- * Uses CVA for type-safe variant management.
883
- * Styled with Tailwind CSS using MD3 design tokens.
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
- * - ✅ 4 color schemes: primary, secondary, tertiary, error
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), 48dp (large)
898
- * - Typography: Label Large (14px, 500 weight, +0.1px letter-spacing)
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, 12% focus/pressed
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 and color
909
- * <Button variant="outlined" color="secondary">
910
- * Secondary Action
911
- * </Button>
934
+ * // With variant
935
+ * <Button variant="outlined">Secondary Action</Button>
912
936
  *
913
- * // With icon (MD3 spec: icons should be 18px × 18px)
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 (corner radii applied automatically)
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, "disabled"> & React__default.RefAttributes<HTMLButtonElement>>;
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 variant metadata to children via React Context
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
- * // Controlled multi-select
1177
- * <ButtonGroup
1178
- * variant="connected"
1179
- * selectionMode="multi"
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 (CVA)
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
- * Type-safe variant management for the ButtonGroup container.
1230
- * The container has no colour of its own — it only controls layout
1231
- * (display, width) and the inner gap between child buttons.
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
- * MD3 Inner Gap Spec:
1234
- * | Size | standard | connected |
1235
- * |-------------|------------|-----------|
1236
- * | extra-small | 18dp | 2dp |
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
- * Material Design 3 IconButton Variants (CVA)
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
- declare const iconButtonVariants: (props?: ({
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
- * Extract variant prop types from CVA
1418
+ * Color scheme (MD3 color roles)
1346
1419
  */
1347
- type IconButtonVariants = VariantProps<typeof iconButtonVariants>;
1348
-
1420
+ type IconButtonColor = "primary" | "secondary" | "tertiary" | "error";
1349
1421
  /**
1350
- * IconButton variant types (MD3 specification)
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 IconButtonVariant = "standard" | "filled" | "tonal" | "outlined";
1431
+ type IconButtonSize = "xsmall" | "small" | "medium" | "large" | "xlarge";
1353
1432
  /**
1354
- * Color scheme
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 IconButtonColor = "primary" | "secondary" | "tertiary" | "error";
1438
+ type IconButtonWidth = "narrow" | "default" | "wide";
1357
1439
  /**
1358
- * IconButton sizes (square dimensions)
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 IconButtonSize = "small" | "medium" | "large";
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 with 4 variants and mandatory accessibility.
1365
- *
1366
- * **Key Features:**
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
- * {isFavorite ? <IconStarFilled /> : <IconStarOutline />}
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 variant
1502
+ * Size tier (M3 Expressive 5-tier system)
1414
1503
  * @default 'medium'
1415
1504
  */
1416
1505
  size?: IconButtonSize;
1417
1506
  /**
1418
- * Icon content (React node). Recommended size:
1419
- * - small: 20×20px
1420
- * - medium: 24×24px
1421
- * - large: 28×28px
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
- * Toggle state (for toggle buttons)
1426
- * When true, button shows selected state
1427
- * @default false
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
- * Icon-only button component following MD3 specifications.
1470
- * Supports 4 variants, toggle mode, and enforces accessibility.
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
- * **Key Features:**
1473
- * - 4 variants: standard, filled, tonal, outlined
1474
- * - Circular shape (MD3 specification)
1475
- * - Mandatory `aria-label` for accessibility
1476
- * - Toggle support with `selected` prop
1477
- * - Ripple effect on interaction
1478
- * - 48×48px minimum touch target
1479
- * - ButtonGroup-aware: applies connected corner radii and min-width when inside a group
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
- * {selected ? <IconStarFilled /> : <IconStarOutline />}
1624
+ * <IconStarOutline />
1500
1625
  * </IconButton>
1501
1626
  *
1502
- * // Inside a connected ButtonGroup (corner radii applied automatically)
1503
- * <ButtonGroup variant="connected" selectionMode="multi" aria-label="Quick settings">
1504
- * <IconButton aria-label="Bluetooth"><BluetoothIcon /></IconButton>
1505
- * <IconButton aria-label="Wi-Fi"><WifiIcon /></IconButton>
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 & Omit<IconButtonVariants, "isDisabled" | "selected"> & React__default.RefAttributes<HTMLButtonElement>>;
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 only - bring your own styles.
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
- * // Use for custom styling
1528
- * <IconButtonHeadless className="custom-icon-button-class" aria-label="Delete">
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 (for toggle buttons)
1558
- * Sets aria-pressed attribute
1686
+ * Toggle selected state.
1687
+ * When defined, sets aria-pressed and emits data-selected / data-toggle.
1559
1688
  */
1560
- selected?: boolean;
1689
+ isSelected?: boolean;
1561
1690
  /**
1562
- * REQUIRED: Accessible label for screen readers
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" | "selected" | "default" | "today" | "selected-range-middle" | "outside-month" | null | undefined;
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, type ButtonColor, ButtonGroup, ButtonGroupContext, type ButtonGroupContextValue, ButtonGroupHeadless, type ButtonGroupProps, 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, 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 };
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 };