export { B as BUTTON_COLOR_TOKENS, a as BUTTON_SIZE_TOKENS, b as BaseButtonProps, c as Button, d as ButtonDistribute, e as ButtonDistributeProps, f as ButtonGroup, g as ButtonGroupOrientation, h as ButtonGroupProps, i as ButtonGroupVariant, j as ButtonProps, D as DistributeMode, E as ElevatedSplitButtonLeading, k as ElevatedSplitButtonTrailing, l as ElevatedSplitButtonTrailingUncheckable, m as ExtendedFAB, n as ExtendedFABProps, F as FAB, o as FABMenu, p as FABMenuItem, q as FABMenuItemData, r as FABMenuItemProps, s as FABMenuProps, t as FABPosition, u as FABPositionProps, v as FABProps, w as FilledSplitButtonLeading, x as FilledSplitButtonTrailing, y as FilledSplitButtonTrailingUncheckable, O as OutlinedSplitButtonLeading, z as OutlinedSplitButtonTrailing, A as OutlinedSplitButtonTrailingUncheckable, S as SplitButtonLayout, C as SplitButtonLayoutProps, G as SplitButtonLeading, H as SplitButtonLeadingProps, I as SplitButtonSize, V as SplitButtonSizeTokens, J as SplitButtonTrailing, K as SplitButtonTrailingProps, L as SplitButtonTrailingUncheckable, M as SplitButtonTrailingUncheckableProps, N as SplitButtonVariant, T as ToggleFAB, P as ToggleFABProps, Q as TonalSplitButtonLeading, R as TonalSplitButtonTrailing, U as TonalSplitButtonTrailingUncheckable } from './split-button-trailing-uncheckable-gAz6OAIi.mjs'; import { Transition } from 'motion/react'; import { b as MD3Size } from './md3-BQhRygSi.mjs'; export { B as BaseIconButtonProps, I as IconButton, a as IconButtonProps } from './icon-button-CxyJv7UV.mjs'; import * as class_variance_authority_types from 'class-variance-authority/types'; import 'react'; import 'react/jsx-runtime'; /** * Spring motion specification for ButtonDistribute. * Per spec: framer-motion spring config (stiffness: 300, damping: 30) or 300ms - 450ms cubic-bezier. */ declare const DISTRIBUTE_SPRING_TRANSITION: Transition; declare const DISTRIBUTE_EASING_BEZIER = "cubic-bezier(0.2, 0.0, 0.0, 1.0)"; declare const DISTRIBUTE_DURATION_MS = 350; /** Default expand ratio added to active weight in dynamic mode */ declare const DEFAULT_EXPAND_RATIO = 0.3; /** Default fixed size for leading/trailing buttons in mixed mode */ declare const DEFAULT_FIXED_SIZE = 48; /** Default gap between buttons */ declare const DEFAULT_GAP = "0.5rem"; /** * Circle / Pill radius values per MD3 size token for dynamic morphing. */ declare const DISTRIBUTE_RADIUS_TOKENS: Record; interface Corners { tl: number; tr: number; br: number; bl: number; } interface ShapeSet { default: Corners; pressed: Corners; checked: Corners; } declare const ButtonGroupDefaults: { connectedLeadingButtonShapes: (size: MD3Size) => ShapeSet; connectedMiddleButtonShapes: (size: MD3Size) => ShapeSet; connectedTrailingButtonShapes: (size: MD3Size) => ShapeSet; /** For orientation="vertical". */ connectedTopButtonShapes: (size: MD3Size) => ShapeSet; connectedBottomButtonShapes: (size: MD3Size) => ShapeSet; }; /** * MD3 Expressive Button Group Tokens * Ported from ButtonGroupSmallTokens.kt and ConnectedButtonGroupSmallTokens.kt */ declare const BUTTON_GROUP_TOKENS: { readonly standard: { readonly betweenSpace: 12; readonly containerHeight: 40; }; readonly connected: { readonly betweenSpace: 2; readonly containerHeight: 40; readonly containerShape: 9999; readonly innerCorner: 8; readonly pressedInnerCorner: 4; readonly selectedCornerPercent: 50; }; }; declare const SPLIT_BUTTON_CHEVRON_SPRING: Transition; declare const SPLIT_BUTTON_RADIUS_SPRING: Transition; /** * Split Button Tokens (Expressive) * Source: SplitButtonXSmallTokens.kt, SplitButtonSmallTokens.kt, * SplitButtonMediumTokens.kt, SplitButtonLargeTokens.kt, * SplitButtonXLargeTokens.kt (Android/Compose reference) */ declare const SPLIT_BUTTON_TOKENS: { readonly xs: { readonly containerHeight: 32; readonly betweenSpace: 2; readonly innerCorner: { readonly default: 4; readonly hovered: 8; readonly pressed: 8; }; readonly outerCornerPercent: 50; readonly leadingPadding: { readonly start: 12; readonly end: 10; }; readonly trailingPadding: { readonly start: 13; readonly end: 13; }; readonly trailingIconSize: 22; readonly opticalCenterOffset: -1; }; readonly sm: { readonly containerHeight: 40; readonly betweenSpace: 2; readonly innerCorner: { readonly default: 4; readonly hovered: 12; readonly pressed: 12; }; readonly outerCornerPercent: 50; readonly leadingPadding: { readonly start: 16; readonly end: 12; }; readonly trailingPadding: { readonly start: 13; readonly end: 13; }; readonly trailingIconSize: 22; readonly opticalCenterOffset: -1; }; readonly md: { readonly containerHeight: 56; readonly betweenSpace: 2; readonly innerCorner: { readonly default: 4; readonly hovered: 12; readonly pressed: 12; }; readonly outerCornerPercent: 50; readonly leadingPadding: { readonly start: 24; readonly end: 24; }; readonly trailingPadding: { readonly start: 15; readonly end: 15; }; readonly trailingIconSize: 26; readonly opticalCenterOffset: -2; }; readonly lg: { readonly containerHeight: 96; readonly betweenSpace: 2; readonly innerCorner: { readonly default: 8; readonly hovered: 28; readonly pressed: 28; }; readonly outerCornerPercent: 50; readonly leadingPadding: { readonly start: 48; readonly end: 48; }; readonly trailingPadding: { readonly start: 29; readonly end: 29; }; readonly trailingIconSize: 38; readonly opticalCenterOffset: -3; }; readonly xl: { readonly containerHeight: 136; readonly betweenSpace: 2; readonly innerCorner: { readonly default: 12; readonly hovered: 28; readonly pressed: 28; }; readonly outerCornerPercent: 50; readonly leadingPadding: { readonly start: 64; readonly end: 64; }; readonly trailingPadding: { readonly start: 43; readonly end: 43; }; readonly trailingIconSize: 50; readonly opticalCenterOffset: -6; }; }; /** * Leading icon size per size variant. * From Compose ButtonDefaults.iconSizeFor logic. */ declare const LEADING_ICON_SIZE_FOR_SIZE: { readonly xs: 18; readonly sm: 20; readonly md: 24; readonly lg: 32; readonly xl: 40; }; /** * Color variants for the Split Button components using CVA. */ declare const splitButtonVariants: (props?: ({ variant?: "outlined" | "elevated" | "filled" | "tonal" | null | undefined; size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined; disabled?: boolean | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string; export { BUTTON_GROUP_TOKENS, ButtonGroupDefaults, DEFAULT_EXPAND_RATIO, DEFAULT_FIXED_SIZE, DEFAULT_GAP, DISTRIBUTE_DURATION_MS, DISTRIBUTE_EASING_BEZIER, DISTRIBUTE_RADIUS_TOKENS, DISTRIBUTE_SPRING_TRANSITION, LEADING_ICON_SIZE_FOR_SIZE, SPLIT_BUTTON_CHEVRON_SPRING, SPLIT_BUTTON_RADIUS_SPRING, SPLIT_BUTTON_TOKENS, splitButtonVariants };