@tinybigui/react 0.20.0 → 0.21.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.js CHANGED
@@ -9627,105 +9627,354 @@ var Badge = forwardRef(
9627
9627
  }
9628
9628
  );
9629
9629
  Badge.displayName = "Badge";
9630
- var splitButtonContainerVariants = cva(
9631
- ["inline-flex items-center rounded-full overflow-hidden"],
9630
+ var splitButtonContainerVariants = cva([
9631
+ "relative inline-flex items-stretch",
9632
+ "gap-0.5"
9633
+ // MD3 2dp gap between segments
9634
+ ]);
9635
+ var splitButtonLeadingVariants = cva(
9636
+ [
9637
+ // Layout
9638
+ "group/sb-leading relative inline-flex items-center justify-center",
9639
+ "cursor-pointer select-none",
9640
+ // Shape — asymmetric corners via CSS variable
9641
+ "rounded-tl-full rounded-bl-full",
9642
+ "rounded-tr-[var(--sb-inner-radius,var(--radius-xs))]",
9643
+ "rounded-br-[var(--sb-inner-radius,var(--radius-xs))]",
9644
+ // Inner-corner morph — xs/sm/md defaults; lg/xl override in size variants below.
9645
+ // Specificity ladder: rest (0,0,0) < hover (0,1,0) < focus (0,2,0) < pressed (0,3,0)
9646
+ "[--sb-inner-radius:var(--radius-xs)]",
9647
+ "data-[hovered]:[--sb-inner-radius:var(--radius-sm)]",
9648
+ "data-[focus-visible]:data-[focus-visible]:[--sb-inner-radius:var(--radius-sm)]",
9649
+ // Pressed morphs stronger than hover/focus — tripled selector → (0,3,0)
9650
+ "data-[pressed]:data-[pressed]:data-[pressed]:[--sb-inner-radius:var(--radius-lg)]",
9651
+ // Spatial transition for border-radius morphing
9652
+ "transition-[border-radius]",
9653
+ "duration-expressive-fast-spatial ease-expressive-fast-spatial",
9654
+ // Disabled — self-targeting
9655
+ "data-[disabled]:cursor-not-allowed data-[disabled]:pointer-events-none"
9656
+ ],
9632
9657
  {
9633
9658
  variants: {
9659
+ /**
9660
+ * Visual variant — controls container color, text color, and elevation.
9661
+ * State layer color is handled in splitButtonStateLayerVariants.
9662
+ */
9634
9663
  variant: {
9635
- filled: "bg-primary shadow-elevation-0 hover:shadow-elevation-1",
9636
- tonal: "bg-secondary-container",
9637
- outlined: "border border-outline bg-transparent"
9664
+ /**
9665
+ * Filled — highest emphasis.
9666
+ * container=primary, label=on-primary
9667
+ * Elevation: 0 base → 1 hover → 0 focus/pressed
9668
+ */
9669
+ filled: [
9670
+ "bg-primary text-on-primary shadow-none",
9671
+ "group-data-[hovered]/sb-leading:shadow-elevation-1",
9672
+ "group-data-[focus-visible]/sb-leading:shadow-none",
9673
+ "group-data-[pressed]/sb-leading:group-data-[pressed]/sb-leading:shadow-none",
9674
+ // Disabled
9675
+ "data-[disabled]:bg-on-surface/12 data-[disabled]:text-on-surface/38 data-[disabled]:shadow-none"
9676
+ ],
9677
+ /**
9678
+ * Tonal — secondary emphasis.
9679
+ * container=secondary-container, label=on-secondary-container
9680
+ * Elevation: 0 base → 1 hover → 0 focus/pressed
9681
+ */
9682
+ tonal: [
9683
+ "bg-secondary-container text-on-secondary-container shadow-none",
9684
+ "group-data-[hovered]/sb-leading:shadow-elevation-1",
9685
+ "group-data-[focus-visible]/sb-leading:shadow-none",
9686
+ "group-data-[pressed]/sb-leading:group-data-[pressed]/sb-leading:shadow-none",
9687
+ // Disabled
9688
+ "data-[disabled]:bg-on-surface/12 data-[disabled]:text-on-surface/38 data-[disabled]:shadow-none"
9689
+ ],
9690
+ /**
9691
+ * Outlined — medium emphasis. Transparent with border.
9692
+ * container=transparent, border=outline, label=primary
9693
+ * Elevation: always 0
9694
+ */
9695
+ outlined: [
9696
+ "bg-transparent border border-outline text-primary",
9697
+ // Disabled
9698
+ "data-[disabled]:border-on-surface/12 data-[disabled]:text-on-surface/38"
9699
+ ],
9700
+ /**
9701
+ * Elevated — uses surface-container-low with a level-1 shadow base.
9702
+ * container=surface-container-low, label=primary
9703
+ * Elevation: 1 base → 2 hover → 1 focus/pressed
9704
+ */
9705
+ elevated: [
9706
+ "bg-surface-container-low text-primary shadow-elevation-1",
9707
+ "group-data-[hovered]/sb-leading:shadow-elevation-2",
9708
+ "group-data-[focus-visible]/sb-leading:shadow-elevation-1",
9709
+ "group-data-[pressed]/sb-leading:group-data-[pressed]/sb-leading:shadow-elevation-1",
9710
+ // Disabled
9711
+ "data-[disabled]:bg-on-surface/12 data-[disabled]:text-on-surface/38 data-[disabled]:shadow-none"
9712
+ ]
9638
9713
  },
9714
+ /**
9715
+ * Size — governs height, horizontal padding, typography, and inner-corner rest/morph values.
9716
+ * lg/xl need larger rest radii so their morph steps differ from xs/sm/md.
9717
+ */
9639
9718
  size: {
9640
- small: "h-8",
9641
- medium: "h-10",
9642
- large: "h-12"
9643
- },
9644
- isDisabled: {
9645
- true: "opacity-38 pointer-events-none",
9646
- false: ""
9719
+ xs: "h-8 pl-4 pr-3 text-label-large",
9720
+ sm: "h-10 pl-6 pr-4 text-label-large",
9721
+ md: "h-14 pl-8 pr-6 text-title-medium",
9722
+ lg: [
9723
+ "h-24 pl-10 pr-8 text-headline-small",
9724
+ // lg rest=sm, hover/focus→lg, pressed→xl
9725
+ "[--sb-inner-radius:var(--radius-sm)]",
9726
+ "data-[hovered]:[--sb-inner-radius:var(--radius-lg)]",
9727
+ "data-[focus-visible]:data-[focus-visible]:[--sb-inner-radius:var(--radius-lg)]",
9728
+ "data-[pressed]:data-[pressed]:data-[pressed]:[--sb-inner-radius:var(--radius-xl)]"
9729
+ ],
9730
+ xl: [
9731
+ "h-[8.5rem] pl-12 pr-10 text-headline-large",
9732
+ // xl rest=md, hover/focus→lg, pressed→xl
9733
+ "[--sb-inner-radius:var(--radius-md)]",
9734
+ "data-[hovered]:[--sb-inner-radius:var(--radius-lg)]",
9735
+ "data-[focus-visible]:data-[focus-visible]:[--sb-inner-radius:var(--radius-lg)]",
9736
+ "data-[pressed]:data-[pressed]:data-[pressed]:[--sb-inner-radius:var(--radius-xl)]"
9737
+ ]
9647
9738
  }
9648
9739
  },
9649
9740
  defaultVariants: {
9650
9741
  variant: "filled",
9651
- size: "medium",
9652
- isDisabled: false
9742
+ size: "sm"
9653
9743
  }
9654
9744
  }
9655
9745
  );
9656
- var splitButtonPrimaryVariants = cva(
9746
+ var splitButtonTrailingVariants = cva(
9657
9747
  [
9658
- "group/primary relative inline-flex items-center justify-center cursor-pointer",
9659
- "h-full font-medium tracking-[0.1px]",
9660
- "focus-visible:outline-primary focus-visible:outline-2 focus-visible:outline-offset-2"
9748
+ // Layout square so that selected (rounded-full on all corners) = perfect circle
9749
+ "group/sb-trailing relative inline-flex items-center justify-center shrink-0",
9750
+ "cursor-pointer select-none",
9751
+ // Shape — asymmetric corners, inner on the left side
9752
+ "rounded-tr-full rounded-br-full",
9753
+ "rounded-tl-[var(--sb-inner-radius,var(--radius-xs))]",
9754
+ "rounded-bl-[var(--sb-inner-radius,var(--radius-xs))]",
9755
+ // Inner-corner morph — xs/sm/md defaults; lg/xl override in size variants below.
9756
+ // Specificity ladder: rest (0,0,0) < hover (0,1,0) < focus (0,2,0) < pressed (0,3,0) < selected (0,4,0)
9757
+ "[--sb-inner-radius:var(--radius-xs)]",
9758
+ "data-[hovered]:[--sb-inner-radius:var(--radius-sm)]",
9759
+ "data-[focus-visible]:data-[focus-visible]:[--sb-inner-radius:var(--radius-sm)]",
9760
+ // Pressed morphs stronger than hover/focus — tripled → (0,3,0)
9761
+ "data-[pressed]:data-[pressed]:data-[pressed]:[--sb-inner-radius:var(--radius-lg)]",
9762
+ // Selected (menu open) → full circle; quadrupled → (0,4,0) always wins
9763
+ "data-[selected]:data-[selected]:data-[selected]:data-[selected]:[--sb-inner-radius:var(--radius-full)]",
9764
+ // Spatial transition for border-radius morphing
9765
+ "transition-[border-radius]",
9766
+ "duration-expressive-fast-spatial ease-expressive-fast-spatial",
9767
+ // Disabled — self-targeting
9768
+ "data-[disabled]:cursor-not-allowed data-[disabled]:pointer-events-none"
9661
9769
  ],
9662
9770
  {
9663
9771
  variants: {
9664
9772
  variant: {
9665
- filled: "text-on-primary",
9666
- tonal: "text-on-secondary-container",
9667
- outlined: "text-primary"
9773
+ filled: [
9774
+ "bg-primary text-on-primary shadow-none",
9775
+ "group-data-[hovered]/sb-trailing:shadow-elevation-1",
9776
+ "group-data-[focus-visible]/sb-trailing:shadow-none",
9777
+ "group-data-[pressed]/sb-trailing:group-data-[pressed]/sb-trailing:shadow-none",
9778
+ "data-[disabled]:bg-on-surface/12 data-[disabled]:text-on-surface/38 data-[disabled]:shadow-none"
9779
+ ],
9780
+ tonal: [
9781
+ "bg-secondary-container text-on-secondary-container shadow-none",
9782
+ "group-data-[hovered]/sb-trailing:shadow-elevation-1",
9783
+ "group-data-[focus-visible]/sb-trailing:shadow-none",
9784
+ "group-data-[pressed]/sb-trailing:group-data-[pressed]/sb-trailing:shadow-none",
9785
+ "data-[disabled]:bg-on-surface/12 data-[disabled]:text-on-surface/38 data-[disabled]:shadow-none"
9786
+ ],
9787
+ outlined: [
9788
+ "bg-transparent border border-outline text-primary",
9789
+ "data-[disabled]:border-on-surface/12 data-[disabled]:text-on-surface/38"
9790
+ ],
9791
+ elevated: [
9792
+ "bg-surface-container-low text-primary shadow-elevation-1",
9793
+ "group-data-[hovered]/sb-trailing:shadow-elevation-2",
9794
+ "group-data-[focus-visible]/sb-trailing:shadow-elevation-1",
9795
+ "group-data-[pressed]/sb-trailing:group-data-[pressed]/sb-trailing:shadow-elevation-1",
9796
+ "data-[disabled]:bg-on-surface/12 data-[disabled]:text-on-surface/38 data-[disabled]:shadow-none"
9797
+ ]
9668
9798
  },
9669
9799
  size: {
9670
- small: "pl-4 pr-3 text-xs",
9671
- medium: "pl-6 pr-4 text-sm",
9672
- large: "pl-8 pr-5 text-base"
9800
+ // Square dimensions (width = height) so selected state = perfect circle.
9801
+ // Per-size inner-radius rest/morph values mirror the leading segment.
9802
+ xs: "h-8 w-8",
9803
+ sm: "h-10 w-10",
9804
+ md: "h-14 w-14",
9805
+ lg: [
9806
+ "h-24 w-24",
9807
+ // lg rest=sm, hover/focus→lg, pressed→xl; selected→full handled in base classes
9808
+ "[--sb-inner-radius:var(--radius-sm)]",
9809
+ "data-[hovered]:[--sb-inner-radius:var(--radius-lg)]",
9810
+ "data-[focus-visible]:data-[focus-visible]:[--sb-inner-radius:var(--radius-lg)]",
9811
+ "data-[pressed]:data-[pressed]:data-[pressed]:[--sb-inner-radius:var(--radius-xl)]"
9812
+ ],
9813
+ xl: [
9814
+ "h-[8.5rem] w-[8.5rem]",
9815
+ // xl rest=md, hover/focus→lg, pressed→xl; selected→full handled in base classes
9816
+ "[--sb-inner-radius:var(--radius-md)]",
9817
+ "data-[hovered]:[--sb-inner-radius:var(--radius-lg)]",
9818
+ "data-[focus-visible]:data-[focus-visible]:[--sb-inner-radius:var(--radius-lg)]",
9819
+ "data-[pressed]:data-[pressed]:data-[pressed]:[--sb-inner-radius:var(--radius-xl)]"
9820
+ ]
9673
9821
  }
9674
9822
  },
9675
9823
  defaultVariants: {
9676
9824
  variant: "filled",
9677
- size: "medium"
9825
+ size: "sm"
9678
9826
  }
9679
9827
  }
9680
9828
  );
9681
- var splitButtonDropdownVariants = cva(
9829
+ var splitButtonStateLayerVariants = cva(
9682
9830
  [
9683
- "group/dropdown relative inline-flex items-center justify-center cursor-pointer",
9684
- "h-full",
9685
- "focus-visible:outline-primary focus-visible:outline-2 focus-visible:outline-offset-2"
9831
+ "absolute inset-0 rounded-[inherit] overflow-hidden pointer-events-none opacity-0",
9832
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects"
9686
9833
  ],
9687
9834
  {
9688
9835
  variants: {
9689
9836
  variant: {
9690
- filled: "text-on-primary border-l border-on-primary/38",
9691
- tonal: "text-on-secondary-container border-l border-on-secondary-container/38",
9692
- outlined: "text-primary border-l border-outline"
9837
+ filled: "bg-on-primary",
9838
+ tonal: "bg-on-secondary-container",
9839
+ outlined: "bg-primary",
9840
+ elevated: "bg-primary"
9693
9841
  },
9694
- size: {
9695
- small: "px-1.5",
9696
- medium: "px-2",
9697
- large: "px-3"
9842
+ /**
9843
+ * groupScope identifies which segment this state layer belongs to so it
9844
+ * reads from the correct group-data-[x]/<scope> selectors.
9845
+ */
9846
+ groupScope: {
9847
+ leading: [
9848
+ "group-data-[hovered]/sb-leading:opacity-8",
9849
+ "group-data-[focus-visible]/sb-leading:opacity-10",
9850
+ "group-data-[pressed]/sb-leading:group-data-[pressed]/sb-leading:opacity-10",
9851
+ "group-data-[disabled]/sb-leading:hidden"
9852
+ ],
9853
+ trailing: [
9854
+ "group-data-[hovered]/sb-trailing:opacity-8",
9855
+ "group-data-[focus-visible]/sb-trailing:opacity-10",
9856
+ "group-data-[pressed]/sb-trailing:group-data-[pressed]/sb-trailing:opacity-10",
9857
+ "group-data-[disabled]/sb-trailing:hidden"
9858
+ ]
9698
9859
  }
9699
9860
  },
9700
9861
  defaultVariants: {
9701
9862
  variant: "filled",
9702
- size: "medium"
9863
+ groupScope: "leading"
9703
9864
  }
9704
9865
  }
9705
9866
  );
9867
+ var splitButtonFocusRingVariants = cva(
9868
+ [
9869
+ "pointer-events-none absolute inset-[-3px]",
9870
+ "outline outline-2 outline-offset-0 outline-secondary",
9871
+ "transition-opacity duration-spring-standard-fast-effects ease-spring-standard-fast-effects",
9872
+ "opacity-0"
9873
+ ],
9874
+ {
9875
+ variants: {
9876
+ /**
9877
+ * Corner shape must match the segment it wraps.
9878
+ * Leading: full-left, inner-right follows --sb-inner-radius.
9879
+ * Trailing: full-right, inner-left follows --sb-inner-radius.
9880
+ */
9881
+ groupScope: {
9882
+ leading: [
9883
+ "rounded-tl-full rounded-bl-full",
9884
+ "rounded-tr-[calc(var(--sb-inner-radius,var(--radius-xs))+3px)]",
9885
+ "rounded-br-[calc(var(--sb-inner-radius,var(--radius-xs))+3px)]",
9886
+ "group-data-[focus-visible]/sb-leading:opacity-100"
9887
+ ],
9888
+ trailing: [
9889
+ "rounded-tr-full rounded-br-full",
9890
+ "rounded-tl-[calc(var(--sb-inner-radius,var(--radius-xs))+3px)]",
9891
+ "rounded-bl-[calc(var(--sb-inner-radius,var(--radius-xs))+3px)]",
9892
+ "group-data-[focus-visible]/sb-trailing:opacity-100"
9893
+ ]
9894
+ }
9895
+ },
9896
+ defaultVariants: { groupScope: "leading" }
9897
+ }
9898
+ );
9899
+ var splitButtonLabelVariants = cva(["relative z-10 inline-flex items-center"]);
9900
+ var splitButtonIconVariants = cva(
9901
+ [
9902
+ "relative z-10 inline-flex shrink-0 items-center justify-center",
9903
+ // Spatial spring motion for the optical-offset translate
9904
+ "transition-transform duration-spring-standard-fast-spatial ease-spring-standard-fast-spatial",
9905
+ // Reset offset when the trailing segment is in selected state (menu open)
9906
+ "group-data-[selected]/sb-trailing:translate-x-0"
9907
+ ],
9908
+ {
9909
+ variants: {
9910
+ size: {
9911
+ // Include per-size icon dimension + unselected optical offset
9912
+ xs: ["size-5", "-translate-x-px"],
9913
+ sm: ["size-5", "-translate-x-px"],
9914
+ md: ["size-6", "-translate-x-0.5"],
9915
+ lg: ["size-8", "-translate-x-[3px]"],
9916
+ xl: ["size-10", "-translate-x-[6px]"]
9917
+ }
9918
+ },
9919
+ defaultVariants: { size: "sm" }
9920
+ }
9921
+ );
9922
+ var splitButtonMenuVariants = cva([
9923
+ "absolute top-full right-0 z-50 mt-1 min-w-40",
9924
+ "bg-surface-container rounded-md py-2",
9925
+ "shadow-elevation-2",
9926
+ "animate-md-scale-in"
9927
+ ]);
9928
+ var splitButtonMenuItemVariants = cva(
9929
+ [
9930
+ "text-body-large text-on-surface cursor-pointer px-4 py-2",
9931
+ "hover:bg-on-surface/8",
9932
+ "focus:bg-on-surface/10 focus:outline-none"
9933
+ ],
9934
+ {
9935
+ variants: {
9936
+ isDisabled: {
9937
+ true: "text-on-surface/38 pointer-events-none cursor-not-allowed",
9938
+ false: ""
9939
+ }
9940
+ },
9941
+ defaultVariants: { isDisabled: false }
9942
+ }
9943
+ );
9706
9944
  var splitButtonVariants = {
9707
9945
  container: splitButtonContainerVariants,
9708
- primary: splitButtonPrimaryVariants,
9709
- dropdown: splitButtonDropdownVariants
9946
+ leading: splitButtonLeadingVariants,
9947
+ trailing: splitButtonTrailingVariants,
9948
+ stateLayer: splitButtonStateLayerVariants,
9949
+ focusRing: splitButtonFocusRingVariants,
9950
+ label: splitButtonLabelVariants,
9951
+ icon: splitButtonIconVariants,
9952
+ menu: splitButtonMenuVariants,
9953
+ menuItem: splitButtonMenuItemVariants
9710
9954
  };
9711
- var ChevronIcon = ({ isOpen }) => /* @__PURE__ */ jsx(
9955
+ var ChevronIcon = ({
9956
+ isOpen,
9957
+ reducedMotion
9958
+ }) => /* @__PURE__ */ jsx(
9712
9959
  "svg",
9713
9960
  {
9714
9961
  "aria-hidden": "true",
9715
9962
  "data-testid": "split-button-chevron",
9716
- width: "18",
9717
- height: "18",
9718
9963
  viewBox: "0 0 24 24",
9719
9964
  fill: "none",
9720
9965
  xmlns: "http://www.w3.org/2000/svg",
9721
- className: cn("duration-short4 ease-standard transition-transform", isOpen && "rotate-180"),
9966
+ className: cn(
9967
+ "size-full",
9968
+ !reducedMotion && "duration-expressive-fast-spatial ease-expressive-fast-spatial transition-transform",
9969
+ isOpen && "rotate-180"
9970
+ ),
9722
9971
  children: /* @__PURE__ */ jsx("path", { d: "M7 10l5 5 5-5H7z", fill: "currentColor" })
9723
9972
  }
9724
9973
  );
9725
9974
  var SplitButton = forwardRef(
9726
9975
  ({
9727
9976
  variant = "filled",
9728
- size = "medium",
9977
+ size = "sm",
9729
9978
  primaryLabel,
9730
9979
  onPrimaryAction,
9731
9980
  items,
@@ -9733,32 +9982,73 @@ var SplitButton = forwardRef(
9733
9982
  "aria-label": ariaLabel,
9734
9983
  className
9735
9984
  }, forwardedRef) => {
9736
- const primaryRef = useRef(null);
9737
- const dropdownRef = useRef(null);
9985
+ const leadingRef = useRef(null);
9986
+ const trailingRef = useRef(null);
9738
9987
  const menuRef = useRef(null);
9988
+ const reducedMotion = useReducedMotion();
9739
9989
  const menuState = useMenuTriggerState({});
9740
- const { buttonProps: primaryButtonProps } = useButton(
9990
+ const [isLeadingPressed, setIsLeadingPressed] = useState(false);
9991
+ const handleLeadingPressStart = useCallback(() => setIsLeadingPressed(true), []);
9992
+ const handleLeadingPressEnd = useCallback(() => setIsLeadingPressed(false), []);
9993
+ const { isHovered: isLeadingHovered, hoverProps: leadingHoverProps } = useHover({
9994
+ isDisabled
9995
+ });
9996
+ const { isFocusVisible: isLeadingFocusVisible, focusProps: leadingFocusProps } = useFocusRing();
9997
+ const { buttonProps: leadingButtonProps } = useButton(
9741
9998
  {
9742
9999
  isDisabled,
9743
10000
  onPress: onPrimaryAction,
10001
+ onPressStart: handleLeadingPressStart,
10002
+ onPressEnd: handleLeadingPressEnd,
9744
10003
  elementType: "button"
9745
10004
  },
9746
- primaryRef
10005
+ leadingRef
9747
10006
  );
9748
- const handleDropdownPress = useCallback(() => {
10007
+ const [isTrailingPressed, setIsTrailingPressed] = useState(false);
10008
+ const handleTrailingPressStart = useCallback(() => setIsTrailingPressed(true), []);
10009
+ const handleTrailingPressEnd = useCallback(() => setIsTrailingPressed(false), []);
10010
+ const { isHovered: isTrailingHovered, hoverProps: trailingHoverProps } = useHover({
10011
+ isDisabled
10012
+ });
10013
+ const { isFocusVisible: isTrailingFocusVisible, focusProps: trailingFocusProps } = useFocusRing();
10014
+ const handleTrailingPress = useCallback(() => {
9749
10015
  if (menuState.isOpen) {
9750
10016
  menuState.close();
9751
10017
  } else {
9752
10018
  menuState.open();
9753
10019
  }
9754
10020
  }, [menuState]);
9755
- const { buttonProps: dropdownButtonProps } = useButton(
10021
+ const { buttonProps: trailingButtonProps } = useButton(
9756
10022
  {
9757
10023
  isDisabled,
9758
- onPress: handleDropdownPress,
10024
+ onPress: handleTrailingPress,
10025
+ onPressStart: handleTrailingPressStart,
10026
+ onPressEnd: handleTrailingPressEnd,
9759
10027
  elementType: "button"
9760
10028
  },
9761
- dropdownRef
10029
+ trailingRef
10030
+ );
10031
+ const { onMouseDown: handleLeadingRipple, ripples: leadingRipples } = useRipple({
10032
+ disabled: isDisabled
10033
+ });
10034
+ const { onMouseDown: handleTrailingRipple, ripples: trailingRipples } = useRipple({
10035
+ disabled: isDisabled
10036
+ });
10037
+ const onLeadingMouseDown = useCallback(
10038
+ (e) => {
10039
+ const ariaHandler = leadingButtonProps.onMouseDown;
10040
+ ariaHandler?.(e);
10041
+ handleLeadingRipple(e);
10042
+ },
10043
+ [leadingButtonProps, handleLeadingRipple]
10044
+ );
10045
+ const onTrailingMouseDown = useCallback(
10046
+ (e) => {
10047
+ const ariaHandler = trailingButtonProps.onMouseDown;
10048
+ ariaHandler?.(e);
10049
+ handleTrailingRipple(e);
10050
+ },
10051
+ [trailingButtonProps, handleTrailingRipple]
9762
10052
  );
9763
10053
  const handleMenuItemSelect = useCallback(
9764
10054
  (item) => {
@@ -9774,13 +10064,11 @@ var SplitButton = forwardRef(
9774
10064
  const handleGlobalKeyDown = (e) => {
9775
10065
  if (e.key === "Escape") {
9776
10066
  menuState.close();
9777
- dropdownRef.current?.focus();
10067
+ trailingRef.current?.focus();
9778
10068
  }
9779
10069
  };
9780
10070
  document.addEventListener("keydown", handleGlobalKeyDown);
9781
- return () => {
9782
- document.removeEventListener("keydown", handleGlobalKeyDown);
9783
- };
10071
+ return () => document.removeEventListener("keydown", handleGlobalKeyDown);
9784
10072
  }, [menuState, menuState.isOpen]);
9785
10073
  const handleMenuKeyDown = useCallback(
9786
10074
  (e) => {
@@ -9813,7 +10101,7 @@ var SplitButton = forwardRef(
9813
10101
  }
9814
10102
  case "Escape": {
9815
10103
  menuState.close();
9816
- dropdownRef.current?.focus();
10104
+ trailingRef.current?.focus();
9817
10105
  break;
9818
10106
  }
9819
10107
  }
@@ -9838,28 +10126,6 @@ var SplitButton = forwardRef(
9838
10126
  },
9839
10127
  [menuState]
9840
10128
  );
9841
- const { onMouseDown: handlePrimaryRipple, ripples: primaryRipples } = useRipple({
9842
- disabled: isDisabled
9843
- });
9844
- const { onMouseDown: handleDropdownRipple, ripples: dropdownRipples } = useRipple({
9845
- disabled: isDisabled
9846
- });
9847
- const onPrimaryMouseDown = useCallback(
9848
- (e) => {
9849
- const ariaHandler = primaryButtonProps.onMouseDown;
9850
- ariaHandler?.(e);
9851
- handlePrimaryRipple(e);
9852
- },
9853
- [primaryButtonProps, handlePrimaryRipple]
9854
- );
9855
- const onDropdownMouseDown = useCallback(
9856
- (e) => {
9857
- const ariaHandler = dropdownButtonProps.onMouseDown;
9858
- ariaHandler?.(e);
9859
- handleDropdownRipple(e);
9860
- },
9861
- [dropdownButtonProps, handleDropdownRipple]
9862
- );
9863
10129
  return /* @__PURE__ */ jsxs("div", { className: "relative inline-flex", children: [
9864
10130
  /* @__PURE__ */ jsxs(
9865
10131
  "div",
@@ -9867,63 +10133,81 @@ var SplitButton = forwardRef(
9867
10133
  ref: forwardedRef,
9868
10134
  role: "group",
9869
10135
  "aria-label": ariaLabel ?? `${primaryLabel} split button`,
9870
- className: cn(splitButtonContainerVariants({ variant, size, isDisabled }), className),
10136
+ className: cn(splitButtonContainerVariants(), className),
9871
10137
  children: [
9872
10138
  /* @__PURE__ */ jsxs(
9873
10139
  "button",
9874
10140
  {
9875
- ...primaryButtonProps,
9876
- ref: primaryRef,
10141
+ ...mergeProps$1(leadingButtonProps, leadingHoverProps, leadingFocusProps),
10142
+ ref: leadingRef,
9877
10143
  type: "button",
9878
10144
  tabIndex: isDisabled ? -1 : 0,
9879
- onMouseDown: onPrimaryMouseDown,
9880
- className: splitButtonPrimaryVariants({ variant, size }),
10145
+ onMouseDown: onLeadingMouseDown,
10146
+ ...getInteractionDataAttributes({
10147
+ isHovered: isLeadingHovered,
10148
+ isFocusVisible: isLeadingFocusVisible,
10149
+ isPressed: isLeadingPressed,
10150
+ isDisabled
10151
+ }),
10152
+ className: splitButtonLeadingVariants({ variant, size }),
9881
10153
  children: [
9882
10154
  /* @__PURE__ */ jsx(
9883
10155
  "span",
9884
10156
  {
9885
10157
  "data-testid": "primary-state-layer",
9886
10158
  "aria-hidden": "true",
9887
- className: cn(
9888
- "pointer-events-none absolute inset-0 bg-current opacity-0",
9889
- "duration-spring-standard-fast-effects ease-spring-standard-fast-effects transition-opacity",
9890
- "group-hover/primary:opacity-8"
9891
- )
10159
+ className: splitButtonStateLayerVariants({ variant, groupScope: "leading" })
9892
10160
  }
9893
10161
  ),
9894
- primaryRipples,
9895
- /* @__PURE__ */ jsx("span", { className: "relative z-10", children: primaryLabel })
10162
+ leadingRipples,
10163
+ /* @__PURE__ */ jsx(
10164
+ "span",
10165
+ {
10166
+ "aria-hidden": "true",
10167
+ className: splitButtonFocusRingVariants({ groupScope: "leading" })
10168
+ }
10169
+ ),
10170
+ /* @__PURE__ */ jsx("span", { className: splitButtonLabelVariants(), children: primaryLabel })
9896
10171
  ]
9897
10172
  }
9898
10173
  ),
9899
- /* @__PURE__ */ jsx("span", { "data-testid": "split-button-divider", "aria-hidden": "true" }),
9900
10174
  /* @__PURE__ */ jsxs(
9901
10175
  "button",
9902
10176
  {
9903
- ...dropdownButtonProps,
9904
- ref: dropdownRef,
10177
+ ...mergeProps$1(trailingButtonProps, trailingHoverProps, trailingFocusProps),
10178
+ ref: trailingRef,
9905
10179
  type: "button",
9906
10180
  tabIndex: isDisabled ? -1 : 0,
9907
10181
  "aria-haspopup": "menu",
9908
10182
  "aria-expanded": menuState.isOpen,
9909
10183
  "aria-label": `${primaryLabel} options, expand`,
9910
- onMouseDown: onDropdownMouseDown,
9911
- className: splitButtonDropdownVariants({ variant, size }),
10184
+ onMouseDown: onTrailingMouseDown,
10185
+ ...getInteractionDataAttributes({
10186
+ isHovered: isTrailingHovered,
10187
+ isFocusVisible: isTrailingFocusVisible,
10188
+ isPressed: isTrailingPressed,
10189
+ isSelected: menuState.isOpen,
10190
+ isDisabled
10191
+ }),
10192
+ className: splitButtonTrailingVariants({ variant, size }),
9912
10193
  children: [
9913
10194
  /* @__PURE__ */ jsx(
9914
10195
  "span",
9915
10196
  {
9916
10197
  "data-testid": "dropdown-state-layer",
9917
10198
  "aria-hidden": "true",
9918
- className: cn(
9919
- "pointer-events-none absolute inset-0 bg-current opacity-0",
9920
- "duration-spring-standard-fast-effects ease-spring-standard-fast-effects transition-opacity",
9921
- "group-hover/dropdown:opacity-8"
9922
- )
10199
+ className: splitButtonStateLayerVariants({ variant, groupScope: "trailing" })
10200
+ }
10201
+ ),
10202
+ trailingRipples,
10203
+ /* @__PURE__ */ jsx(
10204
+ "span",
10205
+ {
10206
+ "aria-hidden": "true",
10207
+ className: splitButtonFocusRingVariants({ groupScope: "trailing" })
9923
10208
  }
9924
10209
  ),
9925
- dropdownRipples,
9926
- /* @__PURE__ */ jsx("span", { className: "relative z-10", children: /* @__PURE__ */ jsx(ChevronIcon, { isOpen: menuState.isOpen }) })
10210
+ /* @__PURE__ */ jsx("span", { className: splitButtonIconVariants({ size }), children: /* @__PURE__ */ jsx(ChevronIcon, { isOpen: menuState.isOpen, reducedMotion }) })
9927
10211
  ]
9928
10212
  }
9929
10213
  )
@@ -9937,10 +10221,7 @@ var SplitButton = forwardRef(
9937
10221
  role: "menu",
9938
10222
  "aria-label": `${primaryLabel} options`,
9939
10223
  onKeyDown: handleMenuKeyDown,
9940
- className: cn(
9941
- "bg-surface-container absolute top-full right-0 z-50 mt-1 min-w-40 rounded-md py-2",
9942
- "shadow-elevation-2"
9943
- ),
10224
+ className: splitButtonMenuVariants(),
9944
10225
  children: items.map((item) => /* @__PURE__ */ jsx(
9945
10226
  "li",
9946
10227
  {
@@ -9949,11 +10230,7 @@ var SplitButton = forwardRef(
9949
10230
  "aria-disabled": item.isDisabled ?? void 0,
9950
10231
  onClick: () => handleMenuItemSelect(item),
9951
10232
  onKeyDown: (e) => handleMenuItemKeyDown(e, item),
9952
- className: cn(
9953
- "text-body-large text-on-surface cursor-pointer px-4 py-2",
9954
- "hover:bg-on-surface/8",
9955
- item.isDisabled && "text-on-surface/38 pointer-events-none"
9956
- ),
10233
+ className: splitButtonMenuItemVariants({ isDisabled: item.isDisabled ?? false }),
9957
10234
  children: item.label
9958
10235
  },
9959
10236
  item.label
@@ -9973,32 +10250,32 @@ var SplitButtonHeadless = forwardRef(
9973
10250
  "aria-label": ariaLabel,
9974
10251
  className
9975
10252
  }, forwardedRef) => {
9976
- const primaryRef = useRef(null);
9977
- const dropdownRef = useRef(null);
10253
+ const leadingRef = useRef(null);
10254
+ const trailingRef = useRef(null);
9978
10255
  const menuRef = useRef(null);
9979
10256
  const menuState = useMenuTriggerState({});
9980
- const { buttonProps: primaryButtonProps } = useButton(
10257
+ const { buttonProps: leadingButtonProps } = useButton(
9981
10258
  {
9982
10259
  isDisabled,
9983
10260
  onPress: onPrimaryAction,
9984
10261
  elementType: "button"
9985
10262
  },
9986
- primaryRef
10263
+ leadingRef
9987
10264
  );
9988
- const handleDropdownPress = useCallback(() => {
10265
+ const handleTrailingPress = useCallback(() => {
9989
10266
  if (menuState.isOpen) {
9990
10267
  menuState.close();
9991
10268
  } else {
9992
10269
  menuState.open();
9993
10270
  }
9994
10271
  }, [menuState]);
9995
- const { buttonProps: dropdownButtonProps } = useButton(
10272
+ const { buttonProps: trailingButtonProps } = useButton(
9996
10273
  {
9997
10274
  isDisabled,
9998
- onPress: handleDropdownPress,
10275
+ onPress: handleTrailingPress,
9999
10276
  elementType: "button"
10000
10277
  },
10001
- dropdownRef
10278
+ trailingRef
10002
10279
  );
10003
10280
  const handleMenuItemSelect = useCallback(
10004
10281
  (item) => {
@@ -10014,13 +10291,11 @@ var SplitButtonHeadless = forwardRef(
10014
10291
  const handleGlobalKeyDown = (e) => {
10015
10292
  if (e.key === "Escape") {
10016
10293
  menuState.close();
10017
- dropdownRef.current?.focus();
10294
+ trailingRef.current?.focus();
10018
10295
  }
10019
10296
  };
10020
10297
  document.addEventListener("keydown", handleGlobalKeyDown);
10021
- return () => {
10022
- document.removeEventListener("keydown", handleGlobalKeyDown);
10023
- };
10298
+ return () => document.removeEventListener("keydown", handleGlobalKeyDown);
10024
10299
  }, [menuState, menuState.isOpen]);
10025
10300
  const handleMenuKeyDown = useCallback(
10026
10301
  (e) => {
@@ -10053,7 +10328,7 @@ var SplitButtonHeadless = forwardRef(
10053
10328
  }
10054
10329
  case "Escape": {
10055
10330
  menuState.close();
10056
- dropdownRef.current?.focus();
10331
+ trailingRef.current?.focus();
10057
10332
  break;
10058
10333
  }
10059
10334
  }
@@ -10089,19 +10364,18 @@ var SplitButtonHeadless = forwardRef(
10089
10364
  /* @__PURE__ */ jsx(
10090
10365
  "button",
10091
10366
  {
10092
- ...primaryButtonProps,
10093
- ref: primaryRef,
10367
+ ...leadingButtonProps,
10368
+ ref: leadingRef,
10094
10369
  type: "button",
10095
10370
  tabIndex: isDisabled ? -1 : 0,
10096
10371
  children: primaryLabel
10097
10372
  }
10098
10373
  ),
10099
- /* @__PURE__ */ jsx("span", { "aria-hidden": "true" }),
10100
10374
  /* @__PURE__ */ jsx(
10101
10375
  "button",
10102
10376
  {
10103
- ...dropdownButtonProps,
10104
- ref: dropdownRef,
10377
+ ...trailingButtonProps,
10378
+ ref: trailingRef,
10105
10379
  type: "button",
10106
10380
  tabIndex: isDisabled ? -1 : 0,
10107
10381
  "aria-haspopup": "menu",
@@ -16142,6 +16416,6 @@ var DateField = forwardRef((props, forwardedRef) => {
16142
16416
  });
16143
16417
  DateField.displayName = "DateField";
16144
16418
 
16145
- export { AppBar, AppBarHeadless, Badge, BadgeContent, BadgeHeadless, BottomSheet, BottomSheetContext, BottomSheetHandle, BottomSheetHeadless, Button, ButtonGroup, ButtonGroupContext, ButtonGroupHeadless, CalendarCore, Card, CardActions, CardContent, CardHeader, CardHeadless, CardMedia, Checkbox, Chip, ChipHeadless, ChipSet, DateField, DatePicker, DatePickerDocked, DatePickerModal, DatePickerModalInput, Dialog, DialogActions, DialogContent, DialogContext, DialogHeadless, DialogHeadline, Divider, DividerHeadless, Drawer, DrawerIconOnlyContext, DrawerItem, DrawerSection, FAB, FABHeadless, FABMenu, FABMenuContext, FABMenuHeadless, FABMenuItem, HeadlessDrawer, HeadlessDrawerItem, HeadlessMenu, HeadlessMenuDivider, HeadlessMenuItem, HeadlessMenuSection, HeadlessMenuTrigger, HeadlessNavigationBar, HeadlessNavigationBarItem, HeadlessTab, HeadlessTabList, HeadlessTabPanel, IconButton, IconButtonHeadless, List, ListHeadless, ListItem, ListItemHeadless, ListItemLeading, ListItemText, ListItemTrailing, Menu, MenuContext, MenuDivider, MenuItem, MenuSection, MenuTrigger, NavigationBar, NavigationBarItem, Progress, ProgressHeadless, Radio, RadioGroup, RadioGroupHeadless, RadioHeadless, RichTooltip, STATE_LAYER_OPACITY, Search, SearchBar, SearchBarHeadless, SearchView, SearchViewHeadless, Slider, SliderHeadless, Snackbar, SnackbarContext, SnackbarHeadless, SnackbarProvider, SplitButton, SplitButtonHeadless, StyledActionButton, StyledCalendarCell, StyledCalendarTitle, StyledNavButton, StyledWeekday, StyledYearItem, Switch, TYPOGRAPHY_ELEMENT_MAP, TYPOGRAPHY_USAGE, Tab, TabList, TabPanel, Tabs, TextField, TimePicker, TimePickerDial, TimePickerInput, Tooltip, TooltipOverlayHeadless, TooltipTrigger, TooltipTriggerHeadless, actionButtonFocusRingVariants, actionButtonStateLayerVariants, actionButtonVariants, actionRowVariants, applyStateLayer, badgeVariants2 as badgeVariants, bottomSheetAnimationVariants, bottomSheetHandlePillVariants, bottomSheetHandleWrapperVariants, bottomSheetScrimVariants, bottomSheetVariants, buttonGroupFocusRingVariants, buttonGroupRootVariants, buttonGroupVariants, calendarCellFocusRingVariants, calendarCellStateLayerVariants, calendarCellVariants, calendarDividerVariants, calendarHeaderVariants, calendarTitleIconVariants, calendarTitleStateLayerVariants, calendarTitleTextVariants, calendarTitleVariants, cardVariants, chipVariants, clockDialContainerVariants, clockDialNumberVariants, clockHandCenterVariants, clockHandHandleVariants, clockHandTrackVariants, cn, dateFieldVariants, dateInputErrorVariants, dateInputFieldGroupVariants, dateInputFieldVariants, dateInputLabelVariants, datePickerContainerVariants, dateSegmentPlaceholderVariants, dividerVariants, dockedFieldGroupVariants, dockedLabelVariants, dockedTriggerStateLayerVariants, dockedTriggerVariants, fabMenuItemFocusRingVariants, fabMenuItemIconVariants, fabMenuItemLabelVariants, fabMenuItemStateLayerVariants, fabMenuItemVariants, fabMenuListVariants, fabMenuVariants, generateMD3Theme, getColorValue, getConnectedRadiusClasses, getFontFamily, getMD3Color, getResponsiveTypography, getTypographyClassName, getTypographyForElement, getTypographyStyle, getTypographyToken, headlineVariants, hexToRgb, listItemVariants, listVariants, modalDialogVariants, modalHeaderVariants, modeToggleStateLayerVariants, modeToggleVariants, navButtonFocusRingVariants, navButtonStateLayerVariants, navButtonVariants, periodSelectorContainerVariants, periodSelectorItemVariants, popoverVariants, pxToRem, remToPx, rgbToHex, richTooltipVariants, scrimVariants2 as scrimVariants, searchBarAvatarVariants, searchBarFocusRingVariants, searchBarInputVariants, searchBarLeadingIconVariants, searchBarRootVariants, searchBarStateLayerVariants, searchBarTrailingActionVariants, searchBarTrailingActionsVariants, searchViewBackButtonVariants, searchViewClearButtonVariants, searchViewContentVariants, searchViewDividerVariants, searchViewHeaderVariants, searchViewInputVariants, searchViewTrailingActionVariants, searchViewTrailingActionsVariants, searchViewVariants, sliderActiveTrackVariants, sliderContainerVariants, sliderHandleStateLayerVariants, sliderHandleVariants, sliderInactiveTrackVariants, sliderTrackLayoutVariants, splitButtonContainerVariants, splitButtonDropdownVariants, splitButtonPrimaryVariants, splitButtonVariants, supportingTextVariants, timeInputFieldVariants, timePickerActionButtonVariants, timePickerActionRowVariants, timePickerContainerVariants, timePickerHeadlineVariants, timePickerModeToggleVariants, timeSelectorContainerVariants, timeSeparatorVariants, tooltipVariants, truncateText, useBottomSheetContext, useBottomSheetDrag, useButtonGroup, useDialogContext, useFABMenuContext, useMenuContext, useOptionalButtonGroup, useSnackbar, weekdayVariants, withOpacity, yearGridVariants, yearItemFocusRingVariants, yearItemStateLayerVariants, yearItemVariants };
16419
+ export { AppBar, AppBarHeadless, Badge, BadgeContent, BadgeHeadless, BottomSheet, BottomSheetContext, BottomSheetHandle, BottomSheetHeadless, Button, ButtonGroup, ButtonGroupContext, ButtonGroupHeadless, CalendarCore, Card, CardActions, CardContent, CardHeader, CardHeadless, CardMedia, Checkbox, Chip, ChipHeadless, ChipSet, DateField, DatePicker, DatePickerDocked, DatePickerModal, DatePickerModalInput, Dialog, DialogActions, DialogContent, DialogContext, DialogHeadless, DialogHeadline, Divider, DividerHeadless, Drawer, DrawerIconOnlyContext, DrawerItem, DrawerSection, FAB, FABHeadless, FABMenu, FABMenuContext, FABMenuHeadless, FABMenuItem, HeadlessDrawer, HeadlessDrawerItem, HeadlessMenu, HeadlessMenuDivider, HeadlessMenuItem, HeadlessMenuSection, HeadlessMenuTrigger, HeadlessNavigationBar, HeadlessNavigationBarItem, HeadlessTab, HeadlessTabList, HeadlessTabPanel, IconButton, IconButtonHeadless, List, ListHeadless, ListItem, ListItemHeadless, ListItemLeading, ListItemText, ListItemTrailing, Menu, MenuContext, MenuDivider, MenuItem, MenuSection, MenuTrigger, NavigationBar, NavigationBarItem, Progress, ProgressHeadless, Radio, RadioGroup, RadioGroupHeadless, RadioHeadless, RichTooltip, STATE_LAYER_OPACITY, Search, SearchBar, SearchBarHeadless, SearchView, SearchViewHeadless, Slider, SliderHeadless, Snackbar, SnackbarContext, SnackbarHeadless, SnackbarProvider, SplitButton, SplitButtonHeadless, StyledActionButton, StyledCalendarCell, StyledCalendarTitle, StyledNavButton, StyledWeekday, StyledYearItem, Switch, TYPOGRAPHY_ELEMENT_MAP, TYPOGRAPHY_USAGE, Tab, TabList, TabPanel, Tabs, TextField, TimePicker, TimePickerDial, TimePickerInput, Tooltip, TooltipOverlayHeadless, TooltipTrigger, TooltipTriggerHeadless, actionButtonFocusRingVariants, actionButtonStateLayerVariants, actionButtonVariants, actionRowVariants, applyStateLayer, badgeVariants2 as badgeVariants, bottomSheetAnimationVariants, bottomSheetHandlePillVariants, bottomSheetHandleWrapperVariants, bottomSheetScrimVariants, bottomSheetVariants, buttonGroupFocusRingVariants, buttonGroupRootVariants, buttonGroupVariants, calendarCellFocusRingVariants, calendarCellStateLayerVariants, calendarCellVariants, calendarDividerVariants, calendarHeaderVariants, calendarTitleIconVariants, calendarTitleStateLayerVariants, calendarTitleTextVariants, calendarTitleVariants, cardVariants, chipVariants, clockDialContainerVariants, clockDialNumberVariants, clockHandCenterVariants, clockHandHandleVariants, clockHandTrackVariants, cn, dateFieldVariants, dateInputErrorVariants, dateInputFieldGroupVariants, dateInputFieldVariants, dateInputLabelVariants, datePickerContainerVariants, dateSegmentPlaceholderVariants, dividerVariants, dockedFieldGroupVariants, dockedLabelVariants, dockedTriggerStateLayerVariants, dockedTriggerVariants, fabMenuItemFocusRingVariants, fabMenuItemIconVariants, fabMenuItemLabelVariants, fabMenuItemStateLayerVariants, fabMenuItemVariants, fabMenuListVariants, fabMenuVariants, generateMD3Theme, getColorValue, getConnectedRadiusClasses, getFontFamily, getMD3Color, getResponsiveTypography, getTypographyClassName, getTypographyForElement, getTypographyStyle, getTypographyToken, headlineVariants, hexToRgb, listItemVariants, listVariants, modalDialogVariants, modalHeaderVariants, modeToggleStateLayerVariants, modeToggleVariants, navButtonFocusRingVariants, navButtonStateLayerVariants, navButtonVariants, periodSelectorContainerVariants, periodSelectorItemVariants, popoverVariants, pxToRem, remToPx, rgbToHex, richTooltipVariants, scrimVariants2 as scrimVariants, searchBarAvatarVariants, searchBarFocusRingVariants, searchBarInputVariants, searchBarLeadingIconVariants, searchBarRootVariants, searchBarStateLayerVariants, searchBarTrailingActionVariants, searchBarTrailingActionsVariants, searchViewBackButtonVariants, searchViewClearButtonVariants, searchViewContentVariants, searchViewDividerVariants, searchViewHeaderVariants, searchViewInputVariants, searchViewTrailingActionVariants, searchViewTrailingActionsVariants, searchViewVariants, sliderActiveTrackVariants, sliderContainerVariants, sliderHandleStateLayerVariants, sliderHandleVariants, sliderInactiveTrackVariants, sliderTrackLayoutVariants, splitButtonContainerVariants, splitButtonFocusRingVariants, splitButtonIconVariants, splitButtonLabelVariants, splitButtonLeadingVariants, splitButtonMenuItemVariants, splitButtonMenuVariants, splitButtonStateLayerVariants, splitButtonTrailingVariants, splitButtonVariants, supportingTextVariants, timeInputFieldVariants, timePickerActionButtonVariants, timePickerActionRowVariants, timePickerContainerVariants, timePickerHeadlineVariants, timePickerModeToggleVariants, timeSelectorContainerVariants, timeSeparatorVariants, tooltipVariants, truncateText, useBottomSheetContext, useBottomSheetDrag, useButtonGroup, useDialogContext, useFABMenuContext, useMenuContext, useOptionalButtonGroup, useSnackbar, weekdayVariants, withOpacity, yearGridVariants, yearItemFocusRingVariants, yearItemStateLayerVariants, yearItemVariants };
16146
16420
  //# sourceMappingURL=index.js.map
16147
16421
  //# sourceMappingURL=index.js.map