@bug-on/m3-expressive 1.2.7 → 1.3.1

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.
Files changed (62) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/buttons.d.mts +3 -3
  3. package/dist/buttons.d.ts +3 -3
  4. package/dist/buttons.js +195 -50
  5. package/dist/buttons.js.map +1 -1
  6. package/dist/buttons.mjs +196 -51
  7. package/dist/buttons.mjs.map +1 -1
  8. package/dist/{core-D4048_K5.d.mts → core-CAU8g2HY.d.mts} +1 -1
  9. package/dist/{core-Bc5Wj_pc.d.ts → core-DRrLnsnJ.d.ts} +1 -1
  10. package/dist/core.d.mts +2 -2
  11. package/dist/core.d.ts +2 -2
  12. package/dist/core.js +159 -28
  13. package/dist/core.js.map +1 -1
  14. package/dist/core.mjs +160 -29
  15. package/dist/core.mjs.map +1 -1
  16. package/dist/feedback.d.mts +28 -6
  17. package/dist/feedback.d.ts +28 -6
  18. package/dist/feedback.js +161 -30
  19. package/dist/feedback.js.map +1 -1
  20. package/dist/feedback.mjs +162 -31
  21. package/dist/feedback.mjs.map +1 -1
  22. package/dist/forms.d.mts +3 -2
  23. package/dist/forms.d.ts +3 -2
  24. package/dist/forms.js +88 -100
  25. package/dist/forms.js.map +1 -1
  26. package/dist/forms.mjs +88 -100
  27. package/dist/forms.mjs.map +1 -1
  28. package/dist/{icon-button-CSsDmuQC.d.mts → icon-button-CqdQBsRe.d.ts} +11 -5
  29. package/dist/{icon-button-CSsDmuQC.d.ts → icon-button-USJo7AqO.d.mts} +11 -5
  30. package/dist/index.d.mts +8 -8
  31. package/dist/index.d.ts +8 -8
  32. package/dist/index.js +570 -309
  33. package/dist/index.js.map +1 -1
  34. package/dist/index.mjs +570 -310
  35. package/dist/index.mjs.map +1 -1
  36. package/dist/layout.d.mts +1 -1
  37. package/dist/layout.d.ts +1 -1
  38. package/dist/layout.js +159 -60
  39. package/dist/layout.js.map +1 -1
  40. package/dist/layout.mjs +160 -61
  41. package/dist/layout.mjs.map +1 -1
  42. package/dist/{md3-Dty-Qcad.d.mts → md3-D0_Z7IXj.d.mts} +9 -1
  43. package/dist/{md3-Dty-Qcad.d.ts → md3-D0_Z7IXj.d.ts} +9 -1
  44. package/dist/navigation.d.mts +103 -33
  45. package/dist/navigation.d.ts +103 -33
  46. package/dist/navigation.js +443 -152
  47. package/dist/navigation.js.map +1 -1
  48. package/dist/navigation.mjs +444 -154
  49. package/dist/navigation.mjs.map +1 -1
  50. package/dist/overlays.js +159 -28
  51. package/dist/overlays.js.map +1 -1
  52. package/dist/overlays.mjs +160 -29
  53. package/dist/overlays.mjs.map +1 -1
  54. package/dist/pickers.js +159 -28
  55. package/dist/pickers.js.map +1 -1
  56. package/dist/pickers.mjs +160 -29
  57. package/dist/pickers.mjs.map +1 -1
  58. package/dist/{split-button-trailing-uncheckable-DPJL3bO6.d.mts → split-button-trailing-uncheckable-CIVEYgjY.d.mts} +12 -7
  59. package/dist/{split-button-trailing-uncheckable--BhNTEJw.d.ts → split-button-trailing-uncheckable-DTQJjzsB.d.ts} +12 -7
  60. package/dist/{text-field-DWC7qOvp.d.mts → text-field-CiOmDM_8.d.ts} +52 -51
  61. package/dist/{text-field-DWC7qOvp.d.ts → text-field-Ear3hCSq.d.mts} +52 -51
  62. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -6,8 +6,8 @@ var materialColorUtilities = require('@material/material-color-utilities');
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
  var clsx = require('clsx');
8
8
  var tailwindMerge = require('tailwind-merge');
9
- var RxContextMenu = require('@radix-ui/react-context-menu');
10
9
  var react = require('motion/react');
10
+ var RxContextMenu = require('@radix-ui/react-context-menu');
11
11
  var m3Tokens = require('@bug-on/m3-tokens');
12
12
  var DropdownMenu = require('@radix-ui/react-dropdown-menu');
13
13
  var reactSlot = require('@radix-ui/react-slot');
@@ -2855,6 +2855,52 @@ function interpolatePath(morph, progress, width, height) {
2855
2855
  function fmt(v) {
2856
2856
  return Number(v.toFixed(4)).toString();
2857
2857
  }
2858
+ function getMaskGradient(direction) {
2859
+ switch (direction) {
2860
+ case "bottom":
2861
+ return "linear-gradient(to top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 45%, rgba(0, 0, 0, 0.7) 75%, rgba(0, 0, 0, 0) 100%)";
2862
+ case "both":
2863
+ return "linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 20%, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 1) 60%, rgba(0, 0, 0, 0.7) 80%, rgba(0, 0, 0, 0) 100%)";
2864
+ default:
2865
+ return "linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 45%, rgba(0, 0, 0, 0.7) 75%, rgba(0, 0, 0, 0) 100%)";
2866
+ }
2867
+ }
2868
+ function FadingBlurMask({
2869
+ direction = "top",
2870
+ blurIntensity = 12,
2871
+ blurHeight = "100%",
2872
+ color = "var(--md-sys-color-surface)",
2873
+ className,
2874
+ style,
2875
+ children
2876
+ }) {
2877
+ const shouldReduceMotion = react.useReducedMotion();
2878
+ const activeBlur = shouldReduceMotion ? 0 : blurIntensity;
2879
+ const maskGradient = getMaskGradient(direction);
2880
+ const maskStyle = __spreadValues({
2881
+ position: "absolute",
2882
+ inset: 0,
2883
+ pointerEvents: "none",
2884
+ height: typeof blurHeight === "number" ? `${blurHeight}px` : blurHeight,
2885
+ backdropFilter: activeBlur > 0 ? `blur(${activeBlur}px)` : void 0,
2886
+ WebkitBackdropFilter: activeBlur > 0 ? `blur(${activeBlur}px)` : void 0,
2887
+ maskImage: maskGradient,
2888
+ WebkitMaskImage: maskGradient,
2889
+ backgroundColor: color
2890
+ }, style);
2891
+ return /* @__PURE__ */ jsxRuntime.jsx(
2892
+ "div",
2893
+ {
2894
+ "aria-hidden": "true",
2895
+ className: cn(
2896
+ "absolute inset-0 pointer-events-none z-0 rounded-[inherit]",
2897
+ className
2898
+ ),
2899
+ style: maskStyle,
2900
+ children
2901
+ }
2902
+ );
2903
+ }
2858
2904
 
2859
2905
  // src/ui/shared/motion-tokens.ts
2860
2906
  var FAST_SPATIAL_SPRING = {
@@ -4615,7 +4661,10 @@ function BottomAppBar({
4615
4661
  floatingActionButton,
4616
4662
  scrollBehavior = "visible",
4617
4663
  scrollElement,
4618
- className
4664
+ className,
4665
+ enableFadingBlur,
4666
+ blurIntensity,
4667
+ blurHeight
4619
4668
  }) {
4620
4669
  const shouldReduceMotion = react.useReducedMotion();
4621
4670
  const { isHidden } = useAppBarScroll({
@@ -4630,9 +4679,9 @@ function BottomAppBar({
4630
4679
  role: "navigation",
4631
4680
  "aria-label": "Bottom app bar",
4632
4681
  className: cn(
4633
- "fixed bottom-0 inset-x-0 z-50",
4682
+ "fixed bottom-0 inset-x-0 z-50 overflow-hidden rounded-[inherit]",
4634
4683
  "flex items-center",
4635
- "bg-m3-surface-container",
4684
+ !enableFadingBlur && "bg-m3-surface-container",
4636
4685
  "px-2",
4637
4686
  // minimal horizontal padding, icon buttons provide spacing
4638
4687
  "elevation-2",
@@ -4645,8 +4694,19 @@ function BottomAppBar({
4645
4694
  animate: { y: translateY },
4646
4695
  transition: hideTransition,
4647
4696
  children: [
4648
- actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center flex-1", children: actions }),
4649
- floatingActionButton && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 ml-auto mr-2", children: floatingActionButton })
4697
+ enableFadingBlur && /* @__PURE__ */ jsxRuntime.jsx(
4698
+ FadingBlurMask,
4699
+ {
4700
+ direction: "bottom",
4701
+ blurIntensity,
4702
+ blurHeight,
4703
+ color: "var(--md-sys-color-surface-container)"
4704
+ }
4705
+ ),
4706
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10 flex items-center w-full h-full", children: [
4707
+ actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center flex-1", children: actions }),
4708
+ floatingActionButton && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 ml-auto mr-2", children: floatingActionButton })
4709
+ ] })
4650
4710
  ]
4651
4711
  }
4652
4712
  );
@@ -4754,7 +4814,10 @@ function LargeFlexibleAppBar({
4754
4814
  headerContent,
4755
4815
  collapsedHeight = AppBarTokens.heights.flexibleCollapsed,
4756
4816
  expandedHeight,
4757
- className
4817
+ className,
4818
+ enableFadingBlur,
4819
+ blurIntensity,
4820
+ blurHeight
4758
4821
  }) {
4759
4822
  var _a, _b, _c;
4760
4823
  const resolvedExpandedHeight = expandedHeight != null ? expandedHeight : subtitle ? AppBarTokens.heights.largeFlexWithSubtitleExpanded : AppBarTokens.heights.largeFlexExpanded;
@@ -4784,15 +4847,28 @@ function LargeFlexibleAppBar({
4784
4847
  {
4785
4848
  role: "banner",
4786
4849
  className: cn(
4787
- "fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden",
4850
+ "fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden rounded-[inherit]",
4788
4851
  className
4789
4852
  ),
4790
- style: { height, backgroundColor: currentBg, transition: cssTransition },
4853
+ style: {
4854
+ height,
4855
+ backgroundColor: enableFadingBlur ? "transparent" : currentBg,
4856
+ transition: cssTransition
4857
+ },
4791
4858
  children: [
4859
+ enableFadingBlur && /* @__PURE__ */ jsxRuntime.jsx(
4860
+ FadingBlurMask,
4861
+ {
4862
+ direction: "top",
4863
+ blurIntensity,
4864
+ blurHeight,
4865
+ color: currentBg
4866
+ }
4867
+ ),
4792
4868
  /* @__PURE__ */ jsxRuntime.jsxs(
4793
4869
  "div",
4794
4870
  {
4795
- className: "flex items-center px-1 shrink-0",
4871
+ className: "relative z-10 flex items-center px-1 shrink-0",
4796
4872
  style: { height: collapsedHeight },
4797
4873
  children: [
4798
4874
  navigationIcon && /* @__PURE__ */ jsxRuntime.jsx(
@@ -4834,7 +4910,7 @@ function LargeFlexibleAppBar({
4834
4910
  "div",
4835
4911
  {
4836
4912
  className: cn(
4837
- "flex flex-col flex-1 px-4 pb-4 justify-end",
4913
+ "relative z-10 flex flex-col flex-1 px-4 pb-3 justify-end",
4838
4914
  isCentered ? "items-center" : "items-start"
4839
4915
  ),
4840
4916
  children: [
@@ -4887,7 +4963,10 @@ function MediumFlexibleAppBar({
4887
4963
  headerContent,
4888
4964
  collapsedHeight = AppBarTokens.heights.flexibleCollapsed,
4889
4965
  expandedHeight,
4890
- className
4966
+ className,
4967
+ enableFadingBlur,
4968
+ blurIntensity,
4969
+ blurHeight
4891
4970
  }) {
4892
4971
  var _a, _b, _c;
4893
4972
  const resolvedExpandedHeight = expandedHeight != null ? expandedHeight : subtitle ? AppBarTokens.heights.mediumFlexWithSubtitleExpanded : AppBarTokens.heights.mediumFlexExpanded;
@@ -4917,15 +4996,28 @@ function MediumFlexibleAppBar({
4917
4996
  {
4918
4997
  role: "banner",
4919
4998
  className: cn(
4920
- "fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden",
4999
+ "fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden rounded-[inherit]",
4921
5000
  className
4922
5001
  ),
4923
- style: { height, backgroundColor: currentBg, transition: cssTransition },
5002
+ style: {
5003
+ height,
5004
+ backgroundColor: enableFadingBlur ? "transparent" : currentBg,
5005
+ transition: cssTransition
5006
+ },
4924
5007
  children: [
5008
+ enableFadingBlur && /* @__PURE__ */ jsxRuntime.jsx(
5009
+ FadingBlurMask,
5010
+ {
5011
+ direction: "top",
5012
+ blurIntensity,
5013
+ blurHeight,
5014
+ color: currentBg
5015
+ }
5016
+ ),
4925
5017
  /* @__PURE__ */ jsxRuntime.jsxs(
4926
5018
  "div",
4927
5019
  {
4928
- className: "flex items-center px-1 shrink-0",
5020
+ className: "relative z-10 flex items-center px-1 shrink-0",
4929
5021
  style: { height: collapsedHeight },
4930
5022
  children: [
4931
5023
  navigationIcon && /* @__PURE__ */ jsxRuntime.jsx(
@@ -4967,7 +5059,7 @@ function MediumFlexibleAppBar({
4967
5059
  "div",
4968
5060
  {
4969
5061
  className: cn(
4970
- "flex flex-col flex-1 px-4 pb-3 justify-end",
5062
+ "relative z-10 flex flex-col flex-1 px-4 pb-3 justify-end",
4971
5063
  isCentered ? "items-center" : "items-start"
4972
5064
  ),
4973
5065
  children: [
@@ -5014,7 +5106,7 @@ function SearchIcon({ className }) {
5014
5106
  "span",
5015
5107
  {
5016
5108
  className: cn(
5017
- "material-symbols-rounded text-[20px] leading-none select-none",
5109
+ "material-symbols-rounded text-[20px] leading-none select-none flex items-center justify-center",
5018
5110
  className
5019
5111
  ),
5020
5112
  "aria-hidden": "true",
@@ -5034,7 +5126,12 @@ function SearchAppBar({
5034
5126
  scrollBehavior = "pinned",
5035
5127
  scrollElement,
5036
5128
  searchBarId = "search-bar",
5037
- className
5129
+ searchBarVariant = "filled",
5130
+ searchBarHeight = 56,
5131
+ className,
5132
+ enableFadingBlur,
5133
+ blurIntensity,
5134
+ blurHeight
5038
5135
  }) {
5039
5136
  var _a, _b;
5040
5137
  const shouldReduceMotion = react.useReducedMotion();
@@ -5057,65 +5154,92 @@ function SearchAppBar({
5057
5154
  handleSearchClick();
5058
5155
  }
5059
5156
  };
5157
+ const searchBarBg = isScrolled ? "var(--md-sys-color-surface-container-highest)" : APP_BAR_COLORS.searchBarBg;
5158
+ const isOutlined = searchBarVariant === "outlined";
5060
5159
  return /* @__PURE__ */ jsxRuntime.jsxs(
5061
5160
  react.m.header,
5062
5161
  {
5063
5162
  role: "banner",
5064
5163
  className: cn(
5065
- "fixed top-0 inset-x-0 z-50 flex items-center gap-2 px-4",
5164
+ "fixed top-0 inset-x-0 z-50 flex items-center gap-2 px-4 overflow-hidden rounded-[inherit]",
5066
5165
  className
5067
5166
  ),
5068
5167
  style: {
5069
5168
  height: AppBarTokens.heights.small,
5070
- backgroundColor: currentBg,
5169
+ backgroundColor: enableFadingBlur ? "transparent" : currentBg,
5071
5170
  transition: cssTransition
5072
5171
  },
5073
5172
  children: [
5074
- navigationIcon && /* @__PURE__ */ jsxRuntime.jsx(
5075
- "div",
5173
+ enableFadingBlur && /* @__PURE__ */ jsxRuntime.jsx(
5174
+ FadingBlurMask,
5076
5175
  {
5077
- className: "shrink-0 flex items-center justify-center",
5078
- style: {
5079
- width: AppBarTokens.iconButtonTouchTarget,
5080
- height: AppBarTokens.iconButtonTouchTarget
5081
- },
5082
- children: navigationIcon
5176
+ direction: "top",
5177
+ blurIntensity,
5178
+ blurHeight,
5179
+ color: currentBg
5083
5180
  }
5084
5181
  ),
5085
- /* @__PURE__ */ jsxRuntime.jsxs(
5086
- react.m.div,
5087
- {
5088
- layoutId: shouldReduceMotion ? void 0 : searchBarId,
5089
- role: "search",
5090
- "aria-label": searchPlaceholder,
5091
- "aria-expanded": isSearchOpen,
5092
- tabIndex: 0,
5093
- className: "relative flex flex-1 items-center gap-2 rounded-full cursor-text h-10 px-4 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
5094
- onClick: handleSearchClick,
5095
- onKeyDown: handleKeyDown,
5096
- children: [
5097
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 rounded-full bg-m3-surface-container-high -z-10" }),
5098
- /* @__PURE__ */ jsxRuntime.jsx(
5099
- "span",
5100
- {
5101
- className: "shrink-0",
5102
- style: { color: APP_BAR_COLORS.searchBarContent },
5103
- children: leadingSearchIcon != null ? leadingSearchIcon : /* @__PURE__ */ jsxRuntime.jsx(SearchIcon, {})
5104
- }
5105
- ),
5106
- /* @__PURE__ */ jsxRuntime.jsx(
5107
- "span",
5108
- {
5109
- className: "flex-1 text-[16px] leading-6 truncate select-none",
5110
- style: { color: APP_BAR_COLORS.searchBarContent },
5111
- children: searchValue != null ? searchValue : searchPlaceholder
5112
- }
5182
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10 flex items-center gap-2 w-full h-full", children: [
5183
+ navigationIcon && /* @__PURE__ */ jsxRuntime.jsx(
5184
+ "div",
5185
+ {
5186
+ className: "shrink-0 flex items-center justify-center",
5187
+ style: {
5188
+ width: AppBarTokens.iconButtonTouchTarget,
5189
+ height: AppBarTokens.iconButtonTouchTarget
5190
+ },
5191
+ children: navigationIcon
5192
+ }
5193
+ ),
5194
+ /* @__PURE__ */ jsxRuntime.jsxs(
5195
+ react.m.div,
5196
+ {
5197
+ layoutId: shouldReduceMotion ? void 0 : searchBarId,
5198
+ role: "search",
5199
+ "aria-label": searchPlaceholder,
5200
+ "aria-expanded": isSearchOpen,
5201
+ tabIndex: 0,
5202
+ className: cn(
5203
+ "relative flex flex-1 items-center gap-2 rounded-full cursor-text px-4",
5204
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
5205
+ isOutlined && "border border-(--md-sys-color-outline)"
5113
5206
  ),
5114
- trailingSearchActions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center shrink-0", children: trailingSearchActions })
5115
- ]
5116
- }
5117
- ),
5118
- externalActions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center shrink-0", children: externalActions })
5207
+ style: { height: searchBarHeight },
5208
+ onClick: handleSearchClick,
5209
+ onKeyDown: handleKeyDown,
5210
+ children: [
5211
+ !isOutlined && /* @__PURE__ */ jsxRuntime.jsx(
5212
+ "div",
5213
+ {
5214
+ className: "absolute inset-0 rounded-full -z-10 transition-colors",
5215
+ style: {
5216
+ backgroundColor: searchBarBg,
5217
+ transition: cssTransition
5218
+ }
5219
+ }
5220
+ ),
5221
+ /* @__PURE__ */ jsxRuntime.jsx(
5222
+ "span",
5223
+ {
5224
+ className: "shrink-0 flex items-center justify-center h-full",
5225
+ style: { color: APP_BAR_COLORS.searchBarContent },
5226
+ children: leadingSearchIcon != null ? leadingSearchIcon : /* @__PURE__ */ jsxRuntime.jsx(SearchIcon, {})
5227
+ }
5228
+ ),
5229
+ /* @__PURE__ */ jsxRuntime.jsx(
5230
+ "span",
5231
+ {
5232
+ className: "flex-1 text-[16px] leading-6 truncate select-none",
5233
+ style: { color: APP_BAR_COLORS.searchBarContent },
5234
+ children: searchValue != null ? searchValue : searchPlaceholder
5235
+ }
5236
+ ),
5237
+ trailingSearchActions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center shrink-0", children: trailingSearchActions })
5238
+ ]
5239
+ }
5240
+ ),
5241
+ externalActions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center shrink-0", children: externalActions })
5242
+ ] })
5119
5243
  ]
5120
5244
  }
5121
5245
  );
@@ -5288,9 +5412,11 @@ function SmallAppBarInner({
5288
5412
  navigationIcon,
5289
5413
  actions,
5290
5414
  colors,
5291
- className,
5292
5415
  currentBg,
5293
- cssTransition
5416
+ cssTransition,
5417
+ enableFadingBlur,
5418
+ blurIntensity,
5419
+ blurHeight
5294
5420
  }) {
5295
5421
  var _a, _b;
5296
5422
  const isCentered = titleAlignment === "center";
@@ -5298,57 +5424,81 @@ function SmallAppBarInner({
5298
5424
  react.m.header,
5299
5425
  {
5300
5426
  role: "banner",
5301
- className: cn("flex items-center px-1 h-full w-full", className),
5302
- style: { backgroundColor: currentBg, transition: cssTransition },
5427
+ className: "relative flex items-center px-1 h-full w-full overflow-hidden rounded-[inherit]",
5428
+ style: {
5429
+ backgroundColor: enableFadingBlur ? "transparent" : currentBg,
5430
+ transition: cssTransition
5431
+ },
5303
5432
  children: [
5304
- navigationIcon && /* @__PURE__ */ jsxRuntime.jsx(
5305
- "div",
5433
+ enableFadingBlur && /* @__PURE__ */ jsxRuntime.jsx(
5434
+ FadingBlurMask,
5306
5435
  {
5307
- className: "shrink-0 flex items-center justify-center",
5308
- style: {
5309
- width: AppBarTokens.iconButtonTouchTarget,
5310
- height: AppBarTokens.iconButtonTouchTarget
5311
- },
5312
- children: navigationIcon
5436
+ direction: "top",
5437
+ blurIntensity,
5438
+ blurHeight,
5439
+ color: currentBg
5313
5440
  }
5314
5441
  ),
5315
- /* @__PURE__ */ jsxRuntime.jsxs(
5316
- "div",
5317
- {
5318
- className: cn(
5319
- "flex-1 flex flex-col justify-center min-w-0",
5320
- isCentered ? "items-center" : "items-start",
5321
- !navigationIcon && "pl-4"
5322
- ),
5323
- children: [
5324
- /* @__PURE__ */ jsxRuntime.jsx(
5325
- "span",
5326
- {
5327
- className: cn(
5328
- appBarTypography.titleLarge,
5329
- "truncate w-full",
5330
- isCentered && "text-center"
5331
- ),
5332
- style: { color: (_a = colors == null ? void 0 : colors.titleColor) != null ? _a : APP_BAR_COLORS.title },
5333
- children: title
5334
- }
5442
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10 flex items-center w-full h-full", children: [
5443
+ navigationIcon && /* @__PURE__ */ jsxRuntime.jsx(
5444
+ "div",
5445
+ {
5446
+ className: "shrink-0 flex items-center justify-center",
5447
+ style: {
5448
+ width: AppBarTokens.iconButtonTouchTarget,
5449
+ height: AppBarTokens.iconButtonTouchTarget
5450
+ },
5451
+ children: navigationIcon
5452
+ }
5453
+ ),
5454
+ /* @__PURE__ */ jsxRuntime.jsxs(
5455
+ "div",
5456
+ {
5457
+ className: cn(
5458
+ "flex-1 flex flex-col justify-center min-w-0",
5459
+ isCentered ? "items-center" : "items-start",
5460
+ !navigationIcon && !isCentered && "pl-4"
5335
5461
  ),
5336
- subtitle && /* @__PURE__ */ jsxRuntime.jsx(
5337
- "span",
5338
- {
5339
- className: cn(
5340
- appBarTypography.labelMedium,
5341
- "truncate w-full",
5342
- isCentered && "text-center"
5343
- ),
5344
- style: { color: (_b = colors == null ? void 0 : colors.subtitleColor) != null ? _b : APP_BAR_COLORS.subtitle },
5345
- children: subtitle
5346
- }
5347
- )
5348
- ]
5349
- }
5350
- ),
5351
- actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center shrink-0", children: actions })
5462
+ children: [
5463
+ /* @__PURE__ */ jsxRuntime.jsx(
5464
+ "span",
5465
+ {
5466
+ className: cn(
5467
+ appBarTypography.titleLarge,
5468
+ "truncate w-full",
5469
+ isCentered && "text-center"
5470
+ ),
5471
+ style: { color: (_a = colors == null ? void 0 : colors.titleColor) != null ? _a : APP_BAR_COLORS.title },
5472
+ children: title
5473
+ }
5474
+ ),
5475
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx(
5476
+ "span",
5477
+ {
5478
+ className: cn(
5479
+ appBarTypography.labelMedium,
5480
+ "truncate w-full",
5481
+ isCentered && "text-center"
5482
+ ),
5483
+ style: {
5484
+ color: (_b = colors == null ? void 0 : colors.subtitleColor) != null ? _b : APP_BAR_COLORS.subtitle
5485
+ },
5486
+ children: subtitle
5487
+ }
5488
+ )
5489
+ ]
5490
+ }
5491
+ ),
5492
+ isCentered && !actions && navigationIcon && /* @__PURE__ */ jsxRuntime.jsx(
5493
+ "div",
5494
+ {
5495
+ "aria-hidden": "true",
5496
+ style: { width: AppBarTokens.iconButtonTouchTarget },
5497
+ className: "shrink-0"
5498
+ }
5499
+ ),
5500
+ actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center shrink-0", children: actions })
5501
+ ] })
5352
5502
  ]
5353
5503
  }
5354
5504
  );
@@ -5362,7 +5512,10 @@ function SmallAppBar({
5362
5512
  colors,
5363
5513
  scrollBehavior = "pinned",
5364
5514
  scrollElement,
5365
- className
5515
+ className,
5516
+ enableFadingBlur,
5517
+ blurIntensity,
5518
+ blurHeight
5366
5519
  }) {
5367
5520
  var _a, _b;
5368
5521
  const shouldReduceMotion = react.useReducedMotion();
@@ -5382,14 +5535,17 @@ function SmallAppBar({
5382
5535
  actions,
5383
5536
  colors,
5384
5537
  currentBg,
5385
- cssTransition
5538
+ cssTransition,
5539
+ enableFadingBlur,
5540
+ blurIntensity,
5541
+ blurHeight
5386
5542
  };
5387
5543
  const barHeight = AppBarTokens.heights.small;
5388
5544
  if (scrollBehavior !== "enterAlways") {
5389
5545
  return /* @__PURE__ */ jsxRuntime.jsx(
5390
5546
  "div",
5391
5547
  {
5392
- className: cn("fixed top-0 inset-x-0 z-50", className),
5548
+ className: cn("fixed top-0 inset-x-0 z-50 overflow-hidden", className),
5393
5549
  style: { height: barHeight },
5394
5550
  children: /* @__PURE__ */ jsxRuntime.jsx(SmallAppBarInner, __spreadValues({}, innerProps))
5395
5551
  }
@@ -5402,7 +5558,10 @@ function SmallAppBar({
5402
5558
  animate: { y: 0 },
5403
5559
  exit: { y: "-100%" },
5404
5560
  transition: shouldReduceMotion ? { duration: 0 } : APP_BAR_ENTER_ALWAYS_SPRING,
5405
- className: cn("fixed top-0 inset-x-0 z-50", className),
5561
+ className: cn(
5562
+ "fixed top-0 inset-x-0 z-50 overflow-hidden",
5563
+ className
5564
+ ),
5406
5565
  style: { height: barHeight },
5407
5566
  children: /* @__PURE__ */ jsxRuntime.jsx(SmallAppBarInner, __spreadValues({}, innerProps))
5408
5567
  },
@@ -5484,9 +5643,9 @@ function BadgedBox({
5484
5643
  badge,
5485
5644
  children,
5486
5645
  className,
5487
- badgeSize
5646
+ size
5488
5647
  }) {
5489
- const isLarge = badgeSize ? badgeSize === "large" : detectBadgeHasContent(badge);
5648
+ const isLarge = size ? size === "lg" : detectBadgeHasContent(badge);
5490
5649
  const badgePositionClass = isLarge ? "translate-x-[35%] -translate-y-[35%]" : "translate-x-[50%] -translate-y-[50%]";
5491
5650
  return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("relative inline-flex", className), children: [
5492
5651
  children,
@@ -5687,7 +5846,7 @@ LoadingIndicator.displayName = "LoadingIndicator";
5687
5846
  function easeInOutCubic(x) {
5688
5847
  return x < 0.5 ? 4 * x * x * x : 1 - (-2 * x + 2) ** 3 / 2;
5689
5848
  }
5690
- function generateWavyCircularPath(center, radius, amplitude, wavelength) {
5849
+ function generateWavyCircularPath(center, radius, amplitude, wavelength, phase = 0) {
5691
5850
  const circumference = 2 * Math.PI * radius;
5692
5851
  const numWaves = Math.max(
5693
5852
  3,
@@ -5695,8 +5854,8 @@ function generateWavyCircularPath(center, radius, amplitude, wavelength) {
5695
5854
  );
5696
5855
  const steps = numWaves * 4;
5697
5856
  const dt = 2 * Math.PI / steps;
5698
- const rAt = (t) => radius + amplitude * Math.sin(numWaves * t);
5699
- const drAt = (t) => amplitude * numWaves * Math.cos(numWaves * t);
5857
+ const rAt = (t) => radius + amplitude * Math.sin(numWaves * t + phase);
5858
+ const drAt = (t) => amplitude * numWaves * Math.cos(numWaves * t + phase);
5700
5859
  const xAt = (t) => center + rAt(t) * Math.cos(t);
5701
5860
  const yAt = (t) => center + rAt(t) * Math.sin(t);
5702
5861
  const dxAt = (t) => drAt(t) * Math.cos(t) - rAt(t) * Math.sin(t);
@@ -5761,15 +5920,18 @@ var CircularProgress = React62__namespace.forwardRef(
5761
5920
  size = 48,
5762
5921
  trackHeight = 4,
5763
5922
  shape = "flat",
5923
+ trackShape = "flat",
5764
5924
  amplitude,
5765
5925
  wavelength,
5766
5926
  gapSize = 4,
5927
+ waveSpeed = 1,
5767
5928
  crawlerSpeed = 1,
5768
5929
  color,
5769
5930
  trackColor,
5770
5931
  showTrack = "auto",
5771
5932
  minProgress = DEFAULT_MIN_PROGRESS,
5772
5933
  maxProgress = DEFAULT_MAX_PROGRESS,
5934
+ determinateAnimation = "md3",
5773
5935
  amplitudeRange,
5774
5936
  className,
5775
5937
  "aria-label": ariaLabel
@@ -5778,15 +5940,18 @@ var CircularProgress = React62__namespace.forwardRef(
5778
5940
  "size",
5779
5941
  "trackHeight",
5780
5942
  "shape",
5943
+ "trackShape",
5781
5944
  "amplitude",
5782
5945
  "wavelength",
5783
5946
  "gapSize",
5947
+ "waveSpeed",
5784
5948
  "crawlerSpeed",
5785
5949
  "color",
5786
5950
  "trackColor",
5787
5951
  "showTrack",
5788
5952
  "minProgress",
5789
5953
  "maxProgress",
5954
+ "determinateAnimation",
5790
5955
  "amplitudeRange",
5791
5956
  "className",
5792
5957
  "aria-label"
@@ -5799,6 +5964,7 @@ var CircularProgress = React62__namespace.forwardRef(
5799
5964
  const bgTrackColor = trackColor || "var(--md-sys-color-indicator-track)";
5800
5965
  const isWavy = shape === "wavy";
5801
5966
  const shouldShowIndeterminateTrack = showTrack === "auto" ? isWavy : showTrack;
5967
+ const shouldShowDeterminateTrack = showTrack === "auto" ? true : showTrack;
5802
5968
  const BASELINE_SIZE = 48;
5803
5969
  const scaleFactor = size / BASELINE_SIZE;
5804
5970
  const effectiveAmplitude = React62__namespace.useMemo(
@@ -5831,19 +5997,50 @@ var CircularProgress = React62__namespace.forwardRef(
5831
5997
  const trackOffset = isDeterminate ? activeAngularFraction + gapForTrack : 0;
5832
5998
  const trackLength = isDeterminate ? Math.max(1e-3, 1 - activeAngularFraction - 2 * gapForTrack) : 1;
5833
5999
  const ActiveCircleElem = react.m.circle;
5834
- const ActivePathElem = react.m.path;
5835
6000
  const indeterminateSvgRef = React62__namespace.useRef(null);
5836
6001
  const indeterminateTrackRef = React62__namespace.useRef(null);
5837
6002
  const indeterminateActiveRef = React62__namespace.useRef(null);
5838
6003
  const indeterminateWavyTrackPathRef = React62__namespace.useRef(null);
5839
6004
  const indeterminateWavyActivePathRef = React62__namespace.useRef(null);
6005
+ const determinateWavyActivePathRef = React62__namespace.useRef(null);
6006
+ const determinateWavyTrackPathRef = React62__namespace.useRef(null);
5840
6007
  const cachedPathLengthRef = React62__namespace.useRef(0);
6008
+ const fractionMV = react.useMotionValue(isDeterminate ? clampedValue / 100 : 0);
6009
+ const amplitudeMV = react.useMotionValue(isWavy ? effectiveAmplitude : 0);
6010
+ React62__namespace.useEffect(() => {
6011
+ if (isDeterminate) {
6012
+ react.animate(fractionMV, clampedValue / 100, {
6013
+ duration: 0.4,
6014
+ ease: [0.2, 0, 0, 1]
6015
+ });
6016
+ }
6017
+ }, [clampedValue, isDeterminate, fractionMV]);
6018
+ React62__namespace.useEffect(() => {
6019
+ if (!isDeterminate || !isWavy) return;
6020
+ const fraction = clampedValue / 100;
6021
+ let targetAmp = effectiveAmplitude;
6022
+ if (determinateAnimation === "md3") {
6023
+ targetAmp = fraction <= 0.1 || fraction >= 0.95 ? 0 : effectiveAmplitude;
6024
+ }
6025
+ react.animate(amplitudeMV, targetAmp, {
6026
+ type: "spring",
6027
+ bounce: 0,
6028
+ duration: 0.5
6029
+ });
6030
+ }, [
6031
+ clampedValue,
6032
+ isDeterminate,
6033
+ isWavy,
6034
+ effectiveAmplitude,
6035
+ amplitudeMV,
6036
+ determinateAnimation
6037
+ ]);
5841
6038
  React62__namespace.useLayoutEffect(() => {
5842
6039
  if (!isWavy || !wavyActivePath) {
5843
6040
  cachedPathLengthRef.current = circumference;
5844
6041
  return;
5845
6042
  }
5846
- const el = indeterminateActiveRef.current;
6043
+ const el = indeterminateActiveRef.current || determinateWavyActivePathRef.current;
5847
6044
  if (el && "getTotalLength" in el) {
5848
6045
  try {
5849
6046
  const len = el.getTotalLength();
@@ -5857,7 +6054,65 @@ var CircularProgress = React62__namespace.forwardRef(
5857
6054
  cachedPathLengthRef.current = circumference;
5858
6055
  }, [isWavy, circumference, wavyActivePath]);
5859
6056
  react.useAnimationFrame((time) => {
5860
- if (isDeterminate) return;
6057
+ const safeWaveSpeed = Math.max(0.1, waveSpeed);
6058
+ const wavePhase = time / 1e3 * safeWaveSpeed * 2 * Math.PI;
6059
+ if (isDeterminate) {
6060
+ if (isWavy) {
6061
+ const currentAmp = amplitudeMV.get();
6062
+ const dynamicPath = generateWavyCircularPath(
6063
+ center,
6064
+ radius,
6065
+ currentAmp,
6066
+ effectiveWavelength,
6067
+ wavePhase
6068
+ );
6069
+ if (determinateWavyActivePathRef.current) {
6070
+ determinateWavyActivePathRef.current.setAttribute("d", dynamicPath);
6071
+ }
6072
+ if (trackShape === "wavy" && determinateWavyTrackPathRef.current) {
6073
+ determinateWavyTrackPathRef.current.setAttribute("d", dynamicPath);
6074
+ }
6075
+ const pathEl = determinateWavyActivePathRef.current;
6076
+ let totalLen = cachedPathLengthRef.current || circumference;
6077
+ if (pathEl) {
6078
+ try {
6079
+ const len = pathEl.getTotalLength();
6080
+ if (len > 0) totalLen = len;
6081
+ } catch (e) {
6082
+ }
6083
+ }
6084
+ const activeFrac = Math.max(0, Math.min(1, fractionMV.get()));
6085
+ const activeLen = totalLen * activeFrac;
6086
+ if (determinateWavyActivePathRef.current) {
6087
+ determinateWavyActivePathRef.current.setAttribute(
6088
+ "stroke-dasharray",
6089
+ `${activeLen} ${totalLen}`
6090
+ );
6091
+ determinateWavyActivePathRef.current.setAttribute(
6092
+ "stroke-dashoffset",
6093
+ "0"
6094
+ );
6095
+ }
6096
+ if (shouldShowDeterminateTrack && trackShape === "wavy" && determinateWavyTrackPathRef.current) {
6097
+ const gapFrac = (gapSize + trackHeight) / totalLen;
6098
+ const trackStartFrac = activeFrac + gapFrac;
6099
+ const trackLen = Math.max(
6100
+ 1e-3,
6101
+ totalLen * (1 - activeFrac - 2 * gapFrac)
6102
+ );
6103
+ const trackOff = -totalLen * trackStartFrac;
6104
+ determinateWavyTrackPathRef.current.setAttribute(
6105
+ "stroke-dasharray",
6106
+ `${trackLen} ${totalLen}`
6107
+ );
6108
+ determinateWavyTrackPathRef.current.setAttribute(
6109
+ "stroke-dashoffset",
6110
+ `${trackOff}`
6111
+ );
6112
+ }
6113
+ }
6114
+ return;
6115
+ }
5861
6116
  const safeCrawlerSpeed = Math.max(0.1, crawlerSpeed);
5862
6117
  const scaledTime = time * safeCrawlerSpeed;
5863
6118
  const globalCycle = scaledTime % GLOBAL_ROTATION_DURATION;
@@ -5892,7 +6147,8 @@ var CircularProgress = React62__namespace.forwardRef(
5892
6147
  center,
5893
6148
  radius,
5894
6149
  currentAmplitude,
5895
- effectiveWavelength
6150
+ effectiveWavelength,
6151
+ wavePhase
5896
6152
  );
5897
6153
  if (indeterminateWavyActivePathRef.current) {
5898
6154
  indeterminateWavyActivePathRef.current.setAttribute("d", dynamicPath);
@@ -5987,7 +6243,7 @@ var CircularProgress = React62__namespace.forwardRef(
5987
6243
  style: { width: size, height: size }
5988
6244
  }, restProps), {
5989
6245
  children: /* @__PURE__ */ jsxRuntime.jsxs(react.LazyMotion, { features: react.domMax, strict: true, children: [
5990
- /* @__PURE__ */ jsxRuntime.jsxs(
6246
+ /* @__PURE__ */ jsxRuntime.jsx(
5991
6247
  "svg",
5992
6248
  {
5993
6249
  width: size,
@@ -5995,8 +6251,18 @@ var CircularProgress = React62__namespace.forwardRef(
5995
6251
  viewBox: `0 0 ${size} ${size}`,
5996
6252
  "aria-hidden": "true",
5997
6253
  style: { transform: "rotate(-90deg)", overflow: "visible" },
5998
- children: [
5999
- isDeterminate ? /* @__PURE__ */ jsxRuntime.jsx(
6254
+ children: isDeterminate ? isWavy ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6255
+ shouldShowDeterminateTrack && (trackShape === "wavy" ? /* @__PURE__ */ jsxRuntime.jsx(
6256
+ "path",
6257
+ {
6258
+ ref: determinateWavyTrackPathRef,
6259
+ d: wavyActivePath != null ? wavyActivePath : "",
6260
+ fill: "none",
6261
+ stroke: bgTrackColor,
6262
+ strokeWidth: trackHeight,
6263
+ strokeLinecap: "round"
6264
+ }
6265
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
6000
6266
  react.m.circle,
6001
6267
  {
6002
6268
  cx: center,
@@ -6005,28 +6271,52 @@ var CircularProgress = React62__namespace.forwardRef(
6005
6271
  fill: "none",
6006
6272
  stroke: bgTrackColor,
6007
6273
  strokeWidth: trackHeight,
6008
- initial: { pathLength: trackLength, pathOffset: trackOffset },
6009
- animate: { pathLength: trackLength, pathOffset: trackOffset },
6274
+ initial: {
6275
+ pathLength: trackLength,
6276
+ pathOffset: trackOffset
6277
+ },
6278
+ animate: {
6279
+ pathLength: trackLength,
6280
+ pathOffset: trackOffset
6281
+ },
6010
6282
  transition: { duration: 0.4, ease: [0.2, 0, 0, 1] },
6011
6283
  strokeLinecap: "round"
6012
6284
  }
6013
- ) : null,
6014
- isDeterminate && (isWavy ? /* @__PURE__ */ jsxRuntime.jsx(
6015
- ActivePathElem,
6285
+ )),
6286
+ /* @__PURE__ */ jsxRuntime.jsx(
6287
+ "path",
6016
6288
  {
6289
+ ref: determinateWavyActivePathRef,
6017
6290
  d: wavyActivePath != null ? wavyActivePath : "",
6018
6291
  fill: "none",
6019
6292
  stroke: activeColor,
6020
6293
  strokeWidth: trackHeight,
6021
- strokeLinecap: "round",
6022
- initial: { pathLength: 0 },
6023
- animate: { pathLength: clampedValue / 100 },
6024
- transition: {
6025
- duration: 0.4,
6026
- ease: [0.2, 0, 0, 1]
6027
- }
6294
+ strokeLinecap: "round"
6028
6295
  }
6029
- ) : /* @__PURE__ */ jsxRuntime.jsx(
6296
+ )
6297
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6298
+ /* @__PURE__ */ jsxRuntime.jsx(
6299
+ react.m.circle,
6300
+ {
6301
+ cx: center,
6302
+ cy: center,
6303
+ r: radius,
6304
+ fill: "none",
6305
+ stroke: bgTrackColor,
6306
+ strokeWidth: trackHeight,
6307
+ initial: {
6308
+ pathLength: trackLength,
6309
+ pathOffset: trackOffset
6310
+ },
6311
+ animate: {
6312
+ pathLength: trackLength,
6313
+ pathOffset: trackOffset
6314
+ },
6315
+ transition: { duration: 0.4, ease: [0.2, 0, 0, 1] },
6316
+ strokeLinecap: "round"
6317
+ }
6318
+ ),
6319
+ /* @__PURE__ */ jsxRuntime.jsx(
6030
6320
  ActiveCircleElem,
6031
6321
  {
6032
6322
  cx: center,
@@ -6043,8 +6333,8 @@ var CircularProgress = React62__namespace.forwardRef(
6043
6333
  ease: [0.2, 0, 0, 1]
6044
6334
  }
6045
6335
  }
6046
- ))
6047
- ]
6336
+ )
6337
+ ] }) : null
6048
6338
  }
6049
6339
  ),
6050
6340
  !isDeterminate && /* @__PURE__ */ jsxRuntime.jsx(
@@ -8412,9 +8702,9 @@ var TOGGLE_FAB_COLORS = {
8412
8702
  }
8413
8703
  };
8414
8704
  var TOGGLE_FAB_SIZES = {
8415
- baseline: { sizeClass: "h-14 w-14", initialRadius: 16, finalRadius: 28 },
8416
- medium: { sizeClass: "h-20 w-20", initialRadius: 20, finalRadius: 40 },
8417
- large: { sizeClass: "h-24 w-24", initialRadius: 28, finalRadius: 48 }
8705
+ sm: { sizeClass: "h-14 w-14", initialRadius: 16, finalRadius: 28 },
8706
+ md: { sizeClass: "h-20 w-20", initialRadius: 20, finalRadius: 40 },
8707
+ lg: { sizeClass: "h-24 w-24", initialRadius: 28, finalRadius: 48 }
8418
8708
  };
8419
8709
  var MENU_ITEM_STYLES = {
8420
8710
  padding: "ps-4 pe-6",
@@ -8501,7 +8791,7 @@ var ToggleFABComponent = React62__namespace.forwardRef(
8501
8791
  onToggle,
8502
8792
  icon,
8503
8793
  colorVariant = "primary",
8504
- fabSize = "baseline",
8794
+ size = "sm",
8505
8795
  className,
8506
8796
  id,
8507
8797
  "aria-label": ariaLabel,
@@ -8510,7 +8800,7 @@ var ToggleFABComponent = React62__namespace.forwardRef(
8510
8800
  var _a, _b;
8511
8801
  const prefersReduced = react.useReducedMotion();
8512
8802
  const colors = (_a = TOGGLE_FAB_COLORS[colorVariant]) != null ? _a : TOGGLE_FAB_COLORS.primary;
8513
- const sizeTokens = (_b = TOGGLE_FAB_SIZES[fabSize]) != null ? _b : TOGGLE_FAB_SIZES.baseline;
8803
+ const sizeTokens = (_b = TOGGLE_FAB_SIZES[size]) != null ? _b : TOGGLE_FAB_SIZES.sm;
8514
8804
  const springConfig = prefersReduced ? SPRING_REDUCED : SPRING_NORMAL;
8515
8805
  const checkedProgress = react.useSpring(expanded ? 1 : 0, springConfig);
8516
8806
  React62__namespace.useEffect(() => {
@@ -8680,7 +8970,7 @@ function FABMenu({
8680
8970
  onToggle,
8681
8971
  items,
8682
8972
  colorVariant = "primary",
8683
- fabSize = "baseline",
8973
+ size = "sm",
8684
8974
  alignment = "end",
8685
8975
  className,
8686
8976
  closeOnBackdropClick = true,
@@ -8831,7 +9121,7 @@ function FABMenu({
8831
9121
  expanded,
8832
9122
  onToggle,
8833
9123
  colorVariant,
8834
- fabSize,
9124
+ size,
8835
9125
  "aria-label": ariaLabel != null ? ariaLabel : expanded ? "Close actions menu" : "Open actions menu",
8836
9126
  "aria-controls": menuId,
8837
9127
  icon: defaultFabIcon
@@ -8975,7 +9265,7 @@ var IconButtonComponent = React62__namespace.forwardRef(
8975
9265
  variant = "default",
8976
9266
  colorStyle = "standard",
8977
9267
  size = "sm",
8978
- widthVariant = "default",
9268
+ width = "default",
8979
9269
  shape = "round",
8980
9270
  selected,
8981
9271
  selectedIcon,
@@ -8993,7 +9283,7 @@ var IconButtonComponent = React62__namespace.forwardRef(
8993
9283
  "variant",
8994
9284
  "colorStyle",
8995
9285
  "size",
8996
- "widthVariant",
9286
+ "width",
8997
9287
  "shape",
8998
9288
  "selected",
8999
9289
  "selectedIcon",
@@ -9038,7 +9328,7 @@ var IconButtonComponent = React62__namespace.forwardRef(
9038
9328
  const iconPx = iconSize != null ? iconSize : defaultIconPx;
9039
9329
  const isCustomSize = iconSize != null && iconSize !== "inherit";
9040
9330
  const heightClass = (_c = SIZE_HEIGHT_STYLES[size]) != null ? _c : SIZE_HEIGHT_STYLES.sm;
9041
- const widthClass = (_e = ((_d = WIDTH_SIZE_STYLES[size]) != null ? _d : WIDTH_SIZE_STYLES.sm)[widthVariant]) != null ? _e : WIDTH_SIZE_STYLES.sm.default;
9331
+ const widthClass = (_e = ((_d = WIDTH_SIZE_STYLES[size]) != null ? _d : WIDTH_SIZE_STYLES.sm)[width]) != null ? _e : WIDTH_SIZE_STYLES.sm.default;
9042
9332
  const needsTouchTarget = size === "xs" || size === "sm";
9043
9333
  const { ripples, onPointerDown, removeRipple } = useRippleState({
9044
9334
  disabled: loading
@@ -9207,11 +9497,12 @@ var SplitButtonLayoutComponent = React62__namespace.forwardRef(
9207
9497
  "div",
9208
9498
  __spreadProps(__spreadValues({
9209
9499
  ref,
9500
+ role: "group",
9210
9501
  className: cn(
9211
9502
  "inline-flex flex-row items-stretch justify-center w-fit shrink-0 relative",
9212
9503
  className
9213
9504
  ),
9214
- style: { gap: `${spacing}px` }
9505
+ style: __spreadValues({ gap: `${spacing}px` }, restProps.style)
9215
9506
  }, restProps), {
9216
9507
  children: [
9217
9508
  leadingButton,
@@ -9424,11 +9715,11 @@ var LEADING_ICON_SIZE_FOR_SIZE = {
9424
9715
  xl: 40
9425
9716
  };
9426
9717
  var splitButtonSizeVariants = {
9427
- xs: "min-h-[32px]",
9428
- sm: "min-h-[40px]",
9429
- md: "min-h-[56px]",
9430
- lg: "min-h-[96px]",
9431
- xl: "min-h-[136px]"
9718
+ xs: "h-[32px] min-h-[32px]",
9719
+ sm: "h-[40px] min-h-[40px]",
9720
+ md: "h-[56px] min-h-[56px]",
9721
+ lg: "h-[96px] min-h-[96px]",
9722
+ xl: "h-[136px] min-h-[136px]"
9432
9723
  };
9433
9724
  var splitButtonVariants = classVarianceAuthority.cva(
9434
9725
  "group relative w-fit shrink-0 inline-flex flex-row items-center justify-center whitespace-nowrap select-none cursor-pointer transition-[background-color,color,border-color,box-shadow,opacity,filter] duration-200 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-m3-primary z-10 overflow-hidden",
@@ -9612,7 +9903,7 @@ var SplitButtonLeadingComponent = React62__namespace.forwardRef(
9612
9903
  children: icon
9613
9904
  }
9614
9905
  ),
9615
- labelContent && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center h-full gap-[inherit]", children: labelContent })
9906
+ labelContent && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center justify-center gap-[inherit]", children: labelContent })
9616
9907
  ] });
9617
9908
  const containerClassName = cn(
9618
9909
  splitButtonVariants({
@@ -9620,19 +9911,20 @@ var SplitButtonLeadingComponent = React62__namespace.forwardRef(
9620
9911
  size: actualSize,
9621
9912
  disabled
9622
9913
  }),
9914
+ "gap-2",
9623
9915
  typographyClass,
9624
9916
  className
9625
9917
  );
9626
9918
  const mergedStyle = __spreadValues({
9627
9919
  paddingInlineStart: tokens.leadingPadding.start,
9628
9920
  paddingInlineEnd: tokens.leadingPadding.end,
9629
- gap: "8px",
9630
9921
  borderRadius
9631
9922
  }, style);
9632
9923
  return /* @__PURE__ */ jsxRuntime.jsx(react.LazyMotion, { features: react.domMax, strict: true, children: asChild ? /* @__PURE__ */ jsxRuntime.jsx(
9633
9924
  reactSlot.Slot,
9634
9925
  __spreadProps(__spreadValues({
9635
9926
  ref,
9927
+ "data-split-button-part": "leading",
9636
9928
  "aria-disabled": disabled || void 0,
9637
9929
  onClick: handleClick,
9638
9930
  onPointerDown: handlePointerDown,
@@ -9655,6 +9947,7 @@ var SplitButtonLeadingComponent = React62__namespace.forwardRef(
9655
9947
  __spreadProps(__spreadValues({
9656
9948
  ref,
9657
9949
  type: "button",
9950
+ "data-split-button-part": "leading",
9658
9951
  disabled,
9659
9952
  onClick: handleClick,
9660
9953
  onPointerDown: handlePointerDown,
@@ -9668,8 +9961,7 @@ var SplitButtonLeadingComponent = React62__namespace.forwardRef(
9668
9961
  transition: SPLIT_BUTTON_RADIUS_SPRING,
9669
9962
  style: __spreadValues({
9670
9963
  paddingInlineStart: tokens.leadingPadding.start,
9671
- paddingInlineEnd: tokens.leadingPadding.end,
9672
- gap: "8px"
9964
+ paddingInlineEnd: tokens.leadingPadding.end
9673
9965
  }, style),
9674
9966
  className: containerClassName
9675
9967
  }, restProps), {
@@ -9707,7 +9999,8 @@ var SplitButtonTrailingComponent = React62__namespace.forwardRef(
9707
9999
  onBlur,
9708
10000
  asChild = false,
9709
10001
  children,
9710
- "aria-label": ariaLabel
10002
+ "aria-label": ariaLabel,
10003
+ "aria-haspopup": ariaHaspopup = "menu"
9711
10004
  } = _b, restProps = __objRest(_b, [
9712
10005
  "className",
9713
10006
  "style",
@@ -9725,7 +10018,8 @@ var SplitButtonTrailingComponent = React62__namespace.forwardRef(
9725
10018
  "onBlur",
9726
10019
  "asChild",
9727
10020
  "children",
9728
- "aria-label"
10021
+ "aria-label",
10022
+ "aria-haspopup"
9729
10023
  ]);
9730
10024
  var _a2, _b2;
9731
10025
  const context = useSplitButtonContext();
@@ -9818,7 +10112,11 @@ var SplitButtonTrailingComponent = React62__namespace.forwardRef(
9818
10112
  x: checked ? 0 : tokens.opticalCenterOffset
9819
10113
  },
9820
10114
  transition: prefersReducedMotion2 ? { duration: 0 } : SPLIT_BUTTON_CHEVRON_SPRING,
9821
- className: "flex items-center justify-center shrink-0",
10115
+ className: "flex items-center justify-center shrink-0 [&>svg]:w-full [&>svg]:h-full",
10116
+ style: {
10117
+ width: tokens.trailingIconSize,
10118
+ height: tokens.trailingIconSize
10119
+ },
9822
10120
  children: icon != null ? icon : /* @__PURE__ */ jsxRuntime.jsx(
9823
10121
  Icon,
9824
10122
  {
@@ -9847,8 +10145,10 @@ var SplitButtonTrailingComponent = React62__namespace.forwardRef(
9847
10145
  reactSlot.Slot,
9848
10146
  __spreadProps(__spreadValues({
9849
10147
  ref,
10148
+ "data-split-button-part": "trailing",
9850
10149
  "aria-label": ariaLabel,
9851
10150
  "aria-expanded": checked,
10151
+ "aria-haspopup": ariaHaspopup,
9852
10152
  "aria-disabled": disabled,
9853
10153
  onClick: handleToggle,
9854
10154
  onPointerDown: handlePointerDown,
@@ -9871,8 +10171,10 @@ var SplitButtonTrailingComponent = React62__namespace.forwardRef(
9871
10171
  __spreadProps(__spreadValues({
9872
10172
  ref,
9873
10173
  type: "button",
10174
+ "data-split-button-part": "trailing",
9874
10175
  "aria-label": ariaLabel,
9875
10176
  "aria-expanded": checked,
10177
+ "aria-haspopup": ariaHaspopup,
9876
10178
  "aria-disabled": disabled,
9877
10179
  disabled,
9878
10180
  onClick: handleToggle,
@@ -9947,6 +10249,7 @@ var SplitButtonTrailingUncheckableComponent = React62__namespace.forwardRef(
9947
10249
  const [isFocused, setIsFocused] = React62__namespace.useState(false);
9948
10250
  const [isPressed, setIsPressed] = React62__namespace.useState(false);
9949
10251
  const tokens = SPLIT_BUTTON_TOKENS[actualSize];
10252
+ const prefersReducedMotion2 = react.useReducedMotion();
9950
10253
  const needsTouchTarget = actualSize === "xs" || actualSize === "sm";
9951
10254
  const {
9952
10255
  ripples,
@@ -10010,6 +10313,7 @@ var SplitButtonTrailingUncheckableComponent = React62__namespace.forwardRef(
10010
10313
  __spreadProps(__spreadValues({
10011
10314
  ref,
10012
10315
  type: "button",
10316
+ "data-split-button-part": "trailing",
10013
10317
  "aria-label": ariaLabel,
10014
10318
  disabled,
10015
10319
  onClick,
@@ -10021,7 +10325,7 @@ var SplitButtonTrailingUncheckableComponent = React62__namespace.forwardRef(
10021
10325
  onFocus: handleFocus,
10022
10326
  onBlur: handleBlur,
10023
10327
  animate: { borderRadius },
10024
- transition: SPLIT_BUTTON_RADIUS_SPRING,
10328
+ transition: prefersReducedMotion2 ? { duration: 0 } : SPLIT_BUTTON_RADIUS_SPRING,
10025
10329
  style: __spreadValues({
10026
10330
  paddingInlineStart: tokens.trailingPadding.start,
10027
10331
  paddingInlineEnd: tokens.trailingPadding.end
@@ -10050,7 +10354,7 @@ var SplitButtonTrailingUncheckableComponent = React62__namespace.forwardRef(
10050
10354
  react.m.div,
10051
10355
  {
10052
10356
  animate: { x: tokens.opticalCenterOffset },
10053
- transition: SPLIT_BUTTON_RADIUS_SPRING,
10357
+ transition: prefersReducedMotion2 ? { duration: 0 } : SPLIT_BUTTON_RADIUS_SPRING,
10054
10358
  className: "flex items-center justify-center shrink-0 [&>svg]:w-full [&>svg]:h-full",
10055
10359
  style: {
10056
10360
  width: tokens.trailingIconSize,
@@ -13967,7 +14271,7 @@ var DividerImpl = React62__namespace.forwardRef(
13967
14271
  insetStart = "standard",
13968
14272
  waveConfig,
13969
14273
  decorative = false,
13970
- animate: animate4 = true,
14274
+ animate: animate5 = true,
13971
14275
  className,
13972
14276
  style
13973
14277
  } = _b, props = __objRest(_b, [
@@ -13983,7 +14287,7 @@ var DividerImpl = React62__namespace.forwardRef(
13983
14287
  ]);
13984
14288
  var _a2, _b2, _c;
13985
14289
  const reducedMotion = react.useReducedMotion();
13986
- const shouldAnimate = animate4 && !reducedMotion;
14290
+ const shouldAnimate = animate5 && !reducedMotion;
13987
14291
  const effectiveShape = shape === "wavy" && orientation === "vertical" ? "flat" : shape;
13988
14292
  if (shape === "wavy" && orientation === "vertical") {
13989
14293
  console.warn(
@@ -19089,7 +19393,7 @@ function useShapeMorph({
19089
19393
  currentProgressRef.current = p;
19090
19394
  setClipPath(interpolatePath(morph, p, width, height));
19091
19395
  }, [scrollProgress, morphOn, morph, width, height]);
19092
- const animate4 = React62.useCallback(
19396
+ const animate5 = React62.useCallback(
19093
19397
  (timestamp) => {
19094
19398
  if (!morph) return;
19095
19399
  const elapsed = timestamp - startTimeRef.current;
@@ -19100,7 +19404,7 @@ function useShapeMorph({
19100
19404
  currentProgressRef.current = progress;
19101
19405
  setClipPath(interpolatePath(morph, progress, width, height));
19102
19406
  if (rawT < 1) {
19103
- animRef.current = requestAnimationFrame(animate4);
19407
+ animRef.current = requestAnimationFrame(animate5);
19104
19408
  } else {
19105
19409
  animRef.current = null;
19106
19410
  }
@@ -19119,9 +19423,9 @@ function useShapeMorph({
19119
19423
  startProgressRef.current = currentProgressRef.current;
19120
19424
  targetProgressRef.current = toProgress;
19121
19425
  startTimeRef.current = performance.now();
19122
- animRef.current = requestAnimationFrame(animate4);
19426
+ animRef.current = requestAnimationFrame(animate5);
19123
19427
  },
19124
- [morph, animate4, width, height]
19428
+ [morph, animate5, width, height]
19125
19429
  );
19126
19430
  React62.useEffect(() => {
19127
19431
  return () => {
@@ -20478,26 +20782,26 @@ var SliderTokens = {
20478
20782
  // ── Track sizes (height for horizontal, width for vertical) ────────────────
20479
20783
  trackSizes: {
20480
20784
  xs: 16,
20481
- s: 24,
20482
- m: 40,
20483
- l: 56,
20785
+ sm: 24,
20786
+ md: 40,
20787
+ lg: 56,
20484
20788
  xl: 96
20485
20789
  },
20486
20790
  // ── Track shapes (border radius) ──────────────────────────────────────────
20487
20791
  trackShapes: {
20488
20792
  xs: 8,
20489
- s: 8,
20490
- m: 12,
20491
- l: 16,
20793
+ sm: 8,
20794
+ md: 12,
20795
+ lg: 16,
20492
20796
  xl: 28
20493
20797
  },
20494
20798
  // ── Thumb (handle) ────────────────────────────────────────────────────────
20495
20799
  /** Thumb height grows with track size */
20496
20800
  thumbHeights: {
20497
20801
  xs: 44,
20498
- s: 44,
20499
- m: 52,
20500
- l: 68,
20802
+ sm: 44,
20803
+ md: 52,
20804
+ lg: 68,
20501
20805
  xl: 108
20502
20806
  },
20503
20807
  /**
@@ -20542,9 +20846,9 @@ var SliderTokens = {
20542
20846
  /** Standard icon size map for inset icons inside the track. */
20543
20847
  insetIconSizes: {
20544
20848
  xs: 0,
20545
- s: 0,
20546
- m: 24,
20547
- l: 24,
20849
+ sm: 0,
20850
+ md: 24,
20851
+ lg: 24,
20548
20852
  xl: 32
20549
20853
  },
20550
20854
  /**
@@ -20578,14 +20882,14 @@ var SliderColors = {
20578
20882
  // ── Ticks ────────────────────────────────────────────────────────────────
20579
20883
  /**
20580
20884
  * Tick on the INACTIVE portion of the track.
20581
- * Maps to TickMarkActiveContainerColor (in spec: primary color stands out).
20885
+ * Maps to TickMarkInactiveContainerColor (in spec: primary color stands out).
20582
20886
  */
20583
20887
  tickOnInactive: "var(--md-sys-color-primary)",
20584
20888
  /**
20585
20889
  * Tick on the ACTIVE portion of the track.
20586
- * Maps to TickMarkInactiveContainerColor (secondary-container blends in).
20890
+ * Maps to TickMarkActiveContainerColor (in spec: on-primary contrasts with filled track).
20587
20891
  */
20588
- tickOnActive: "var(--md-sys-color-secondary-container)",
20892
+ tickOnActive: "var(--md-sys-color-on-primary)",
20589
20893
  disabledTick: "var(--md-sys-color-on-surface)"
20590
20894
  };
20591
20895
  var SLIDER_THUMB_SPRING = {
@@ -20604,11 +20908,11 @@ var ValueIndicator = React62__namespace.memo(function ValueIndicator2({
20604
20908
  orientation,
20605
20909
  formatValue,
20606
20910
  prefersReduced,
20607
- trackSize
20911
+ size
20608
20912
  }) {
20609
20913
  const label = formatValue ? formatValue(value) : String(Math.round(value));
20610
20914
  const isHorizontal = orientation === "horizontal";
20611
- const thumbHeight = SliderTokens.thumbHeights[trackSize];
20915
+ const thumbHeight = SliderTokens.thumbHeights[size];
20612
20916
  const offsetFromCenter = thumbHeight / 2 + 8;
20613
20917
  return /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { children: visible && /* @__PURE__ */ jsxRuntime.jsx(
20614
20918
  react.m.div,
@@ -20659,7 +20963,7 @@ var SliderThumb = React62__namespace.memo(function SliderThumb2({
20659
20963
  onValueChangeEnd,
20660
20964
  formatValue,
20661
20965
  thumbId,
20662
- trackSize,
20966
+ size,
20663
20967
  variant,
20664
20968
  zIndex = 1,
20665
20969
  "aria-label": ariaLabel,
@@ -20668,10 +20972,7 @@ var SliderThumb = React62__namespace.memo(function SliderThumb2({
20668
20972
  var _a;
20669
20973
  const isHorizontal = orientation === "horizontal";
20670
20974
  const insetLimit = SliderTokens.thumbGap + SliderTokens.thumbWidthDefault / 2;
20671
- const trackInset = Math.min(
20672
- SliderTokens.trackSizes[trackSize] / 2,
20673
- insetLimit
20674
- );
20975
+ const trackInset = Math.min(SliderTokens.trackSizes[size] / 2, insetLimit);
20675
20976
  const posTarget = isHorizontal ? "left" : "bottom";
20676
20977
  const motionStyle = {
20677
20978
  [posTarget]: `calc(${trackInset}px + ${percent} * (100% - ${trackInset * 2}px))`
@@ -20704,7 +21005,7 @@ var SliderThumb = React62__namespace.memo(function SliderThumb2({
20704
21005
  const space = isHorizontal ? rect.width : rect.height;
20705
21006
  const insetLimit2 = SliderTokens.thumbGap + SliderTokens.thumbWidthDefault / 2;
20706
21007
  const trackInset2 = Math.min(
20707
- SliderTokens.trackSizes[trackSize] / 2,
21008
+ SliderTokens.trackSizes[size] / 2,
20708
21009
  insetLimit2
20709
21010
  );
20710
21011
  const safeSpace = space - trackInset2 * 2;
@@ -20721,7 +21022,7 @@ var SliderThumb = React62__namespace.memo(function SliderThumb2({
20721
21022
  const snapped = step > 0 ? Math.round((rawValue - min) / step) * step + min : rawValue;
20722
21023
  return Math.max(min, Math.min(max, snapped));
20723
21024
  },
20724
- [isHorizontal, max, min, percent, step, trackRef, trackSize]
21025
+ [isHorizontal, max, min, percent, step, trackRef, size]
20725
21026
  );
20726
21027
  const handlePointerDown = React62__namespace.useCallback(
20727
21028
  (e) => {
@@ -20807,7 +21108,7 @@ var SliderThumb = React62__namespace.memo(function SliderThumb2({
20807
21108
  orientation,
20808
21109
  formatValue,
20809
21110
  prefersReduced,
20810
- trackSize
21111
+ size
20811
21112
  }
20812
21113
  ),
20813
21114
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -20840,11 +21141,11 @@ var SliderThumb = React62__namespace.memo(function SliderThumb2({
20840
21141
  "focus-visible:outline-(--md-sys-color-secondary)"
20841
21142
  ),
20842
21143
  style: __spreadProps(__spreadValues({}, isHorizontal ? {
20843
- height: SliderTokens.thumbHeights[trackSize],
21144
+ height: SliderTokens.thumbHeights[size],
20844
21145
  width: SliderTokens.thumbWidthDefault,
20845
21146
  willChange: "width"
20846
21147
  } : {
20847
- width: SliderTokens.thumbHeights[trackSize],
21148
+ width: SliderTokens.thumbHeights[size],
20848
21149
  height: SliderTokens.thumbWidthDefault,
20849
21150
  willChange: "height"
20850
21151
  }), {
@@ -20859,7 +21160,7 @@ var SliderThumb = React62__namespace.memo(function SliderThumb2({
20859
21160
  var RangeTrack = React62__namespace.memo(function RangeTrack2({
20860
21161
  startPercent,
20861
21162
  endPercent,
20862
- trackSize,
21163
+ size,
20863
21164
  orientation,
20864
21165
  variant,
20865
21166
  disabled,
@@ -20871,22 +21172,22 @@ var RangeTrack = React62__namespace.memo(function RangeTrack2({
20871
21172
  onTrackPointerDown
20872
21173
  }) {
20873
21174
  const isHorizontal = orientation === "horizontal";
20874
- const size = SliderTokens.trackSizes[trackSize];
20875
- const thumbHeight = SliderTokens.thumbHeights[trackSize];
21175
+ const trackPixelSize = SliderTokens.trackSizes[size];
21176
+ const thumbHeight = SliderTokens.thumbHeights[size];
20876
21177
  const { thumbGap, thumbWidthDefault, tickSize } = SliderTokens;
20877
21178
  const thumbHalfWidth = thumbWidthDefault / 2;
20878
21179
  const activeTrack = disabled ? SliderColors.disabledActiveTrack : `var(--md-sys-color-${variant})`;
20879
21180
  const inactiveTrack = disabled ? SliderColors.disabledInactiveTrack : `var(--md-sys-color-${variant}-container)`;
20880
21181
  const innerR = SliderTokens.trackInnerRadius;
20881
- let outerR = size / 2;
21182
+ let outerR = trackPixelSize / 2;
20882
21183
  if (trackShape === "md3") {
20883
- outerR = Math.min(SliderTokens.trackShapes[trackSize], size / 2);
21184
+ outerR = Math.min(SliderTokens.trackShapes[size], trackPixelSize / 2);
20884
21185
  } else if (typeof trackShape === "number") {
20885
- outerR = Math.min(trackShape, size / 2);
21186
+ outerR = Math.min(trackShape, trackPixelSize / 2);
20886
21187
  }
20887
21188
  if (isHorizontal) {
20888
21189
  const insetLimit2 = thumbGap + thumbWidthDefault / 2;
20889
- const trackInset2 = Math.min(size / 2, insetLimit2);
21190
+ const trackInset2 = Math.min(trackPixelSize / 2, insetLimit2);
20890
21191
  const cxStart = `calc(${trackInset2}px + ${startPercent} * (100% - ${trackInset2 * 2}px))`;
20891
21192
  const cxEnd = `calc(${trackInset2}px + ${endPercent} * (100% - ${trackInset2 * 2}px))`;
20892
21193
  const gapWithThumbStr2 = `${thumbGap + thumbHalfWidth}px`;
@@ -20917,7 +21218,7 @@ var RangeTrack = React62__namespace.memo(function RangeTrack2({
20917
21218
  top: "50%",
20918
21219
  transform: "translateY(-50%)",
20919
21220
  width: leadingWidth,
20920
- height: size,
21221
+ height: trackPixelSize,
20921
21222
  backgroundColor: inactiveTrack,
20922
21223
  opacity: disabled ? 0.38 : 1,
20923
21224
  borderTopLeftRadius: outerR,
@@ -20937,7 +21238,7 @@ var RangeTrack = React62__namespace.memo(function RangeTrack2({
20937
21238
  top: "50%",
20938
21239
  transform: "translateY(-50%)",
20939
21240
  width: activeWidth,
20940
- height: size,
21241
+ height: trackPixelSize,
20941
21242
  backgroundColor: activeTrack,
20942
21243
  opacity: disabled ? 0.38 : 1,
20943
21244
  borderTopLeftRadius: startPercent <= 0 ? outerR : innerR,
@@ -20957,7 +21258,7 @@ var RangeTrack = React62__namespace.memo(function RangeTrack2({
20957
21258
  top: "50%",
20958
21259
  transform: "translateY(-50%)",
20959
21260
  width: trailingWidth,
20960
- height: size,
21261
+ height: trackPixelSize,
20961
21262
  backgroundColor: inactiveTrack,
20962
21263
  opacity: disabled ? 0.38 : 1,
20963
21264
  borderTopLeftRadius: innerR,
@@ -20979,7 +21280,7 @@ var RangeTrack = React62__namespace.memo(function RangeTrack2({
20979
21280
  width: tickSize,
20980
21281
  height: tickSize,
20981
21282
  borderRadius: "50%",
20982
- backgroundColor: disabled ? SliderColors.disabledTick : isActive ? `var(--md-sys-color-${variant}-container)` : `var(--md-sys-color-${variant})`,
21283
+ backgroundColor: disabled ? SliderColors.disabledTick : isActive ? `var(--md-sys-color-on-${variant})` : `var(--md-sys-color-${variant})`,
20983
21284
  opacity: disabled ? 0.38 : 1,
20984
21285
  left: `calc(${trackInset2}px + ${tickPct} * (100% - ${trackInset2 * 2}px) - ${tickSize / 2}px)`,
20985
21286
  top: "50%",
@@ -20994,7 +21295,7 @@ var RangeTrack = React62__namespace.memo(function RangeTrack2({
20994
21295
  );
20995
21296
  }
20996
21297
  const insetLimit = thumbGap + thumbWidthDefault / 2;
20997
- const trackInset = Math.min(size / 2, insetLimit);
21298
+ const trackInset = Math.min(trackPixelSize / 2, insetLimit);
20998
21299
  const cyStart = `calc(${trackInset}px + ${startPercent} * (100% - ${trackInset * 2}px))`;
20999
21300
  const cyEnd = `calc(${trackInset}px + ${endPercent} * (100% - ${trackInset * 2}px))`;
21000
21301
  const gapWithThumbStr = `${thumbGap + thumbHalfWidth}px`;
@@ -21025,7 +21326,7 @@ var RangeTrack = React62__namespace.memo(function RangeTrack2({
21025
21326
  left: "50%",
21026
21327
  transform: "translateX(-50%)",
21027
21328
  height: leadingHeight,
21028
- width: size,
21329
+ width: trackPixelSize,
21029
21330
  backgroundColor: inactiveTrack,
21030
21331
  opacity: disabled ? 0.38 : 1,
21031
21332
  borderBottomLeftRadius: outerR,
@@ -21045,7 +21346,7 @@ var RangeTrack = React62__namespace.memo(function RangeTrack2({
21045
21346
  left: "50%",
21046
21347
  transform: "translateX(-50%)",
21047
21348
  height: activeHeight,
21048
- width: size,
21349
+ width: trackPixelSize,
21049
21350
  backgroundColor: activeTrack,
21050
21351
  opacity: disabled ? 0.38 : 1,
21051
21352
  borderBottomLeftRadius: startPercent <= 0 ? outerR : innerR,
@@ -21065,7 +21366,7 @@ var RangeTrack = React62__namespace.memo(function RangeTrack2({
21065
21366
  left: "50%",
21066
21367
  transform: "translateX(-50%)",
21067
21368
  height: trailingHeight,
21068
- width: size,
21369
+ width: trackPixelSize,
21069
21370
  backgroundColor: inactiveTrack,
21070
21371
  opacity: disabled ? 0.38 : 1,
21071
21372
  borderTopLeftRadius: outerR,
@@ -21087,7 +21388,7 @@ var RangeTrack = React62__namespace.memo(function RangeTrack2({
21087
21388
  width: tickSize,
21088
21389
  height: tickSize,
21089
21390
  borderRadius: "50%",
21090
- backgroundColor: disabled ? SliderColors.disabledTick : isActive ? `var(--md-sys-color-${variant}-container)` : `var(--md-sys-color-${variant})`,
21391
+ backgroundColor: disabled ? SliderColors.disabledTick : isActive ? `var(--md-sys-color-on-${variant})` : `var(--md-sys-color-${variant})`,
21091
21392
  opacity: disabled ? 0.38 : 1,
21092
21393
  bottom: `calc(${trackInset}px + ${tickPct} * (100% - ${trackInset * 2}px) - ${tickSize / 2}px)`,
21093
21394
  left: "50%",
@@ -21111,7 +21412,7 @@ var RangeSliderComponent = React62__namespace.forwardRef(
21111
21412
  max = 100,
21112
21413
  step = 0,
21113
21414
  orientation = "horizontal",
21114
- trackSize = "m",
21415
+ size = "md",
21115
21416
  trackShape = "md3",
21116
21417
  variant = "primary",
21117
21418
  disabled = false,
@@ -21183,7 +21484,7 @@ var RangeSliderComponent = React62__namespace.forwardRef(
21183
21484
  let clickPercent;
21184
21485
  const insetLimit = SliderTokens.thumbGap + SliderTokens.thumbWidthDefault / 2;
21185
21486
  const trackInset = Math.min(
21186
- SliderTokens.trackSizes[trackSize] / 2,
21487
+ SliderTokens.trackSizes[size] / 2,
21187
21488
  insetLimit
21188
21489
  );
21189
21490
  if (isHorizontal) {
@@ -21215,7 +21516,7 @@ var RangeSliderComponent = React62__namespace.forwardRef(
21215
21516
  min,
21216
21517
  snap,
21217
21518
  startValue,
21218
- trackSize
21519
+ size
21219
21520
  ]
21220
21521
  );
21221
21522
  const id = React62__namespace.useId();
@@ -21236,7 +21537,7 @@ var RangeSliderComponent = React62__namespace.forwardRef(
21236
21537
  {
21237
21538
  startPercent,
21238
21539
  endPercent,
21239
- trackSize,
21540
+ size,
21240
21541
  trackShape,
21241
21542
  orientation,
21242
21543
  variant,
@@ -21258,7 +21559,7 @@ var RangeSliderComponent = React62__namespace.forwardRef(
21258
21559
  step,
21259
21560
  disabled,
21260
21561
  orientation,
21261
- trackSize,
21562
+ size,
21262
21563
  variant,
21263
21564
  showValueIndicator,
21264
21565
  trackRef,
@@ -21280,7 +21581,7 @@ var RangeSliderComponent = React62__namespace.forwardRef(
21280
21581
  step,
21281
21582
  disabled,
21282
21583
  orientation,
21283
- trackSize,
21584
+ size,
21284
21585
  variant,
21285
21586
  showValueIndicator,
21286
21587
  trackRef,
@@ -21343,13 +21644,13 @@ var InsetIcon = React62__namespace.memo(function InsetIcon2({
21343
21644
  position,
21344
21645
  orientation,
21345
21646
  trackSize,
21346
- trackSizeToken,
21647
+ sizeToken,
21347
21648
  disabled,
21348
21649
  variant,
21349
21650
  prefersReduced
21350
21651
  }) {
21351
21652
  const iconSize = Math.min(
21352
- SliderTokens.insetIconSizes[trackSizeToken],
21653
+ SliderTokens.insetIconSizes[sizeToken],
21353
21654
  Math.max(4, trackSize - SliderTokens.insetIconPadding * 2)
21354
21655
  );
21355
21656
  const activeColor = `var(--md-sys-color-on-${variant})`;
@@ -21410,7 +21711,7 @@ function Ticks({
21410
21711
  const thumbStart = percent - (thumbGap + thumbWidthDefault / 2) / 100;
21411
21712
  const thumbEnd = percent + (thumbGap + thumbWidthDefault / 2) / 100;
21412
21713
  if (tickPercent > thumbStart && tickPercent < thumbEnd) return null;
21413
- const color = disabled ? SliderColors.disabledTick : isOnActive ? `var(--md-sys-color-${variant}-container)` : `var(--md-sys-color-${variant})`;
21714
+ const color = disabled ? SliderColors.disabledTick : isOnActive ? `var(--md-sys-color-on-${variant})` : `var(--md-sys-color-${variant})`;
21414
21715
  const style = __spreadValues({
21415
21716
  position: "absolute",
21416
21717
  width: tickSize,
@@ -21433,7 +21734,7 @@ function Ticks({
21433
21734
  }
21434
21735
  var SliderTrack = React62__namespace.memo(function SliderTrack2({
21435
21736
  percent,
21436
- trackSize,
21737
+ size,
21437
21738
  orientation,
21438
21739
  variant,
21439
21740
  isCentered,
@@ -21452,15 +21753,15 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21452
21753
  }) {
21453
21754
  var _a;
21454
21755
  const isHorizontal = orientation === "horizontal";
21455
- const size = SliderTokens.trackSizes[trackSize];
21456
- const thumbHeight = SliderTokens.thumbHeights[trackSize];
21756
+ const trackPixelSize = SliderTokens.trackSizes[size];
21757
+ const thumbHeight = SliderTokens.thumbHeights[size];
21457
21758
  const { thumbGap, thumbWidthDefault, trackInnerRadius } = SliderTokens;
21458
21759
  const innerR = trackInnerRadius;
21459
- let outerR = size / 2;
21760
+ let outerR = trackPixelSize / 2;
21460
21761
  if (trackShape === "md3") {
21461
- outerR = Math.min(SliderTokens.trackShapes[trackSize], size / 2);
21762
+ outerR = Math.min(SliderTokens.trackShapes[size], trackPixelSize / 2);
21462
21763
  } else if (typeof trackShape === "number") {
21463
- outerR = Math.min(trackShape, size / 2);
21764
+ outerR = Math.min(trackShape, trackPixelSize / 2);
21464
21765
  }
21465
21766
  const thumbHalfWidth = thumbWidthDefault / 2;
21466
21767
  const gapWithThumbStr = `${thumbGap + thumbHalfWidth}px`;
@@ -21478,8 +21779,8 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21478
21779
  return () => ro.disconnect();
21479
21780
  }, [hasAnyInsetIcon, isHorizontal, trackRef]);
21480
21781
  const activeIconSize = Math.min(
21481
- SliderTokens.insetIconSizes[trackSize],
21482
- Math.max(4, size - SliderTokens.insetIconPadding * 2)
21782
+ SliderTokens.insetIconSizes[size],
21783
+ Math.max(4, trackPixelSize - SliderTokens.insetIconPadding * 2)
21483
21784
  );
21484
21785
  const iconTotalWidth = activeIconSize + SliderTokens.insetIconPadding * 2 + thumbGap + thumbHalfWidth;
21485
21786
  const iconThreshold = trackWidth > 0 ? iconTotalWidth / trackWidth : 0.15;
@@ -21514,7 +21815,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21514
21815
  const activeColor = disabled ? SliderColors.disabledActiveTrack : `var(--md-sys-color-${variant})`;
21515
21816
  const inactiveColor = disabled ? SliderColors.disabledInactiveTrack : `var(--md-sys-color-${variant}-container)`;
21516
21817
  const insetLimit = SliderTokens.thumbGap + SliderTokens.thumbWidthDefault / 2;
21517
- const trackInset = Math.min(size / 2, insetLimit);
21818
+ const trackInset = Math.min(trackPixelSize / 2, insetLimit);
21518
21819
  const gapTotal = thumbGap + thumbHalfWidth;
21519
21820
  const thumbCenter = `calc(${trackInset}px + ${percent} * (100% - ${trackInset * 2}px))`;
21520
21821
  const leadingActiveLeft = `${trackInset + SliderTokens.insetIconPadding}px`;
@@ -21539,7 +21840,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21539
21840
  top: "50%",
21540
21841
  transform: "translateY(-50%)",
21541
21842
  width: leftSegmentWidth,
21542
- height: size,
21843
+ height: trackPixelSize,
21543
21844
  backgroundColor: activeColor,
21544
21845
  opacity: disabled ? 0.38 : 1
21545
21846
  }, getHorizontalRadius(true, innerR, outerR))
@@ -21558,7 +21859,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21558
21859
  top: "50%",
21559
21860
  transform: "translateY(-50%)",
21560
21861
  width: rightSegmentWidth,
21561
- height: size,
21862
+ height: trackPixelSize,
21562
21863
  backgroundColor: inactiveColor,
21563
21864
  opacity: disabled ? 0.38 : 1
21564
21865
  }, getHorizontalRadius(false, innerR, outerR))
@@ -21581,7 +21882,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21581
21882
  top: "50%",
21582
21883
  transform: "translateY(-50%)",
21583
21884
  width: leftBaseWidth,
21584
- height: size,
21885
+ height: trackPixelSize,
21585
21886
  backgroundColor: inactiveColor,
21586
21887
  opacity: disabled ? 0.38 : 1
21587
21888
  }, getHorizontalRadius(true, innerR, outerR))
@@ -21602,7 +21903,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21602
21903
  top: "50%",
21603
21904
  transform: "translateY(-50%)",
21604
21905
  width: centerActiveWidth,
21605
- height: size,
21906
+ height: trackPixelSize,
21606
21907
  backgroundColor: activeColor,
21607
21908
  opacity: disabled ? 0.38 : 1
21608
21909
  }, allInnerRadius(innerR))
@@ -21623,7 +21924,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21623
21924
  top: "50%",
21624
21925
  transform: "translateY(-50%)",
21625
21926
  width: rightBaseWidth,
21626
- height: size,
21927
+ height: trackPixelSize,
21627
21928
  backgroundColor: inactiveColor,
21628
21929
  opacity: disabled ? 0.38 : 1
21629
21930
  }, getHorizontalRadius(false, innerR, outerR))
@@ -21644,7 +21945,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21644
21945
  top: "50%",
21645
21946
  transform: "translateY(-50%)",
21646
21947
  width: leftBaseWidth,
21647
- height: size,
21948
+ height: trackPixelSize,
21648
21949
  backgroundColor: inactiveColor,
21649
21950
  opacity: disabled ? 0.38 : 1
21650
21951
  }, getHorizontalRadius(true, innerR, outerR))
@@ -21665,7 +21966,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21665
21966
  top: "50%",
21666
21967
  transform: "translateY(-50%)",
21667
21968
  width: centerActiveWidth,
21668
- height: size,
21969
+ height: trackPixelSize,
21669
21970
  backgroundColor: activeColor,
21670
21971
  opacity: disabled ? 0.38 : 1
21671
21972
  }, allInnerRadius(innerR))
@@ -21686,7 +21987,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21686
21987
  top: "50%",
21687
21988
  transform: "translateY(-50%)",
21688
21989
  width: rightBaseWidth,
21689
- height: size,
21990
+ height: trackPixelSize,
21690
21991
  backgroundColor: inactiveColor,
21691
21992
  opacity: disabled ? 0.38 : 1
21692
21993
  }, getHorizontalRadius(false, innerR, outerR))
@@ -21730,8 +22031,8 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21730
22031
  isOnActiveSegment: leadingOnActive,
21731
22032
  position: leadingOnActive ? leadingActiveLeft : leadingInactiveLeft,
21732
22033
  orientation,
21733
- trackSize: size,
21734
- trackSizeToken: trackSize,
22034
+ trackSize: trackPixelSize,
22035
+ sizeToken: size,
21735
22036
  disabled,
21736
22037
  variant,
21737
22038
  prefersReduced
@@ -21745,8 +22046,8 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21745
22046
  isOnActiveSegment: trailingOnActive,
21746
22047
  position: trailingOnActive ? trailingActiveLeft : trailingInactiveLeft,
21747
22048
  orientation,
21748
- trackSize: size,
21749
- trackSizeToken: trackSize,
22049
+ trackSize: trackPixelSize,
22050
+ sizeToken: size,
21750
22051
  disabled,
21751
22052
  variant,
21752
22053
  prefersReduced
@@ -21774,7 +22075,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21774
22075
  left: "50%",
21775
22076
  transform: "translateX(-50%)",
21776
22077
  height: bottomSegmentHeight,
21777
- width: size,
22078
+ width: trackPixelSize,
21778
22079
  backgroundColor: activeColor,
21779
22080
  opacity: disabled ? 0.38 : 1
21780
22081
  }, getVerticalRadius(true, innerR, outerR))
@@ -21793,7 +22094,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21793
22094
  left: "50%",
21794
22095
  transform: "translateX(-50%)",
21795
22096
  height: topSegmentHeight,
21796
- width: size,
22097
+ width: trackPixelSize,
21797
22098
  backgroundColor: inactiveColor,
21798
22099
  opacity: disabled ? 0.38 : 1
21799
22100
  }, getVerticalRadius(false, innerR, outerR))
@@ -21816,7 +22117,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21816
22117
  left: "50%",
21817
22118
  transform: "translateX(-50%)",
21818
22119
  height: bottomBaseHeight,
21819
- width: size,
22120
+ width: trackPixelSize,
21820
22121
  backgroundColor: inactiveColor,
21821
22122
  opacity: disabled ? 0.38 : 1
21822
22123
  }, getVerticalRadius(true, innerR, outerR))
@@ -21837,7 +22138,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21837
22138
  left: "50%",
21838
22139
  transform: "translateX(-50%)",
21839
22140
  height: centerActiveHeight,
21840
- width: size,
22141
+ width: trackPixelSize,
21841
22142
  backgroundColor: activeColor,
21842
22143
  opacity: disabled ? 0.38 : 1
21843
22144
  }, allInnerRadius(innerR))
@@ -21858,7 +22159,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21858
22159
  left: "50%",
21859
22160
  transform: "translateX(-50%)",
21860
22161
  height: topBaseHeight,
21861
- width: size,
22162
+ width: trackPixelSize,
21862
22163
  backgroundColor: inactiveColor,
21863
22164
  opacity: disabled ? 0.38 : 1
21864
22165
  }, getVerticalRadius(false, innerR, outerR))
@@ -21879,7 +22180,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21879
22180
  left: "50%",
21880
22181
  transform: "translateX(-50%)",
21881
22182
  height: bottomBaseHeight,
21882
- width: size,
22183
+ width: trackPixelSize,
21883
22184
  backgroundColor: inactiveColor,
21884
22185
  opacity: disabled ? 0.38 : 1
21885
22186
  }, getVerticalRadius(true, innerR, outerR))
@@ -21900,7 +22201,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21900
22201
  left: "50%",
21901
22202
  transform: "translateX(-50%)",
21902
22203
  height: centerActiveHeight,
21903
- width: size,
22204
+ width: trackPixelSize,
21904
22205
  backgroundColor: activeColor,
21905
22206
  opacity: disabled ? 0.38 : 1
21906
22207
  }, allInnerRadius(innerR))
@@ -21921,7 +22222,7 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21921
22222
  left: "50%",
21922
22223
  transform: "translateX(-50%)",
21923
22224
  height: topBaseHeight,
21924
- width: size,
22225
+ width: trackPixelSize,
21925
22226
  backgroundColor: inactiveColor,
21926
22227
  opacity: disabled ? 0.38 : 1
21927
22228
  }, getVerticalRadius(false, innerR, outerR))
@@ -21965,8 +22266,8 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21965
22266
  isOnActiveSegment: leadingOnActive,
21966
22267
  position: leadingOnActive ? leadingActiveLeft : leadingInactiveLeft,
21967
22268
  orientation,
21968
- trackSize: size,
21969
- trackSizeToken: trackSize,
22269
+ trackSize: trackPixelSize,
22270
+ sizeToken: size,
21970
22271
  disabled,
21971
22272
  variant,
21972
22273
  prefersReduced
@@ -21980,8 +22281,8 @@ var SliderTrack = React62__namespace.memo(function SliderTrack2({
21980
22281
  isOnActiveSegment: trailingOnActive,
21981
22282
  position: trailingOnActive ? trailingActiveLeft : trailingInactiveLeft,
21982
22283
  orientation,
21983
- trackSize: size,
21984
- trackSizeToken: trackSize,
22284
+ trackSize: trackPixelSize,
22285
+ sizeToken: size,
21985
22286
  disabled,
21986
22287
  variant,
21987
22288
  prefersReduced
@@ -22002,7 +22303,7 @@ var SliderComponent = React62__namespace.forwardRef(
22002
22303
  max = 100,
22003
22304
  step = 0,
22004
22305
  orientation = "horizontal",
22005
- trackSize = "m",
22306
+ size = "md",
22006
22307
  trackShape = "md3",
22007
22308
  variant = "primary",
22008
22309
  isCentered = false,
@@ -22056,7 +22357,7 @@ var SliderComponent = React62__namespace.forwardRef(
22056
22357
  let clickPercent;
22057
22358
  const insetLimit = SliderTokens.thumbGap + SliderTokens.thumbWidthDefault / 2;
22058
22359
  const trackInset = Math.min(
22059
- SliderTokens.trackSizes[trackSize] / 2,
22360
+ SliderTokens.trackSizes[size] / 2,
22060
22361
  insetLimit
22061
22362
  );
22062
22363
  if (isHorizontal) {
@@ -22071,20 +22372,11 @@ var SliderComponent = React62__namespace.forwardRef(
22071
22372
  const newValue = snap(coerce(rawValue));
22072
22373
  handleValueChange(newValue);
22073
22374
  },
22074
- [
22075
- coerce,
22076
- disabled,
22077
- handleValueChange,
22078
- isHorizontal,
22079
- max,
22080
- min,
22081
- snap,
22082
- trackSize
22083
- ]
22375
+ [coerce, disabled, handleValueChange, isHorizontal, max, min, snap, size]
22084
22376
  );
22085
22377
  const id = React62__namespace.useId();
22086
22378
  const thumbId = `slider-thumb-${id}`;
22087
- const supportsInsetIcon = !isCentered && SliderTokens.trackSizes[trackSize] >= 40;
22379
+ const supportsInsetIcon = !isCentered && SliderTokens.trackSizes[size] >= 40;
22088
22380
  const hasAnyInsetIcon = !!(insetIcon || insetIconTrailing);
22089
22381
  if (hasAnyInsetIcon && !supportsInsetIcon) {
22090
22382
  console.warn(
@@ -22107,7 +22399,7 @@ var SliderComponent = React62__namespace.forwardRef(
22107
22399
  SliderTrack,
22108
22400
  {
22109
22401
  percent,
22110
- trackSize,
22402
+ size,
22111
22403
  trackShape,
22112
22404
  orientation,
22113
22405
  isCentered,
@@ -22135,7 +22427,7 @@ var SliderComponent = React62__namespace.forwardRef(
22135
22427
  step,
22136
22428
  disabled,
22137
22429
  orientation,
22138
- trackSize,
22430
+ size,
22139
22431
  variant,
22140
22432
  showValueIndicator,
22141
22433
  trackRef,
@@ -22924,39 +23216,7 @@ var typographyVariants = classVarianceAuthority.cva("m-0 p-0 text-m3-on-surface"
22924
23216
  "label-sm": "text-[11px] leading-[16px] font-medium tracking-[0.5px]",
22925
23217
  "body-lg": "text-[16px] leading-[24px] font-normal tracking-[0.5px]",
22926
23218
  "body-md": "text-[14px] leading-[20px] font-normal tracking-[0.25px]",
22927
- "body-sm": "text-[12px] leading-[16px] font-normal tracking-[0.4px]",
22928
- // Full hyphenated aliases
22929
- "display-large": "text-[57px] leading-[64px] font-normal tracking-[-0.25px]",
22930
- "display-medium": "text-[45px] leading-[52px] font-normal tracking-[0px]",
22931
- "display-small": "text-[36px] leading-[44px] font-normal tracking-[0px]",
22932
- "headline-large": "text-[32px] leading-[40px] font-normal tracking-[0px]",
22933
- "headline-medium": "text-[28px] leading-[36px] font-normal tracking-[0px]",
22934
- "headline-small": "text-[24px] leading-[32px] font-normal tracking-[0px]",
22935
- "title-large": "text-[22px] leading-[28px] font-normal tracking-[0px]",
22936
- "title-medium": "text-[16px] leading-[24px] font-medium tracking-[0.15px]",
22937
- "title-small": "text-[14px] leading-[20px] font-medium tracking-[0.1px]",
22938
- "label-large": "text-[14px] leading-[20px] font-medium tracking-[0.1px]",
22939
- "label-medium": "text-[12px] leading-[16px] font-medium tracking-[0.5px]",
22940
- "label-small": "text-[11px] leading-[16px] font-medium tracking-[0.5px]",
22941
- "body-large": "text-[16px] leading-[24px] font-normal tracking-[0.5px]",
22942
- "body-medium": "text-[14px] leading-[20px] font-normal tracking-[0.25px]",
22943
- "body-small": "text-[12px] leading-[16px] font-normal tracking-[0.4px]",
22944
- // CamelCase aliases
22945
- displayLarge: "text-[57px] leading-[64px] font-normal tracking-[-0.25px]",
22946
- displayMedium: "text-[45px] leading-[52px] font-normal tracking-[0px]",
22947
- displaySmall: "text-[36px] leading-[44px] font-normal tracking-[0px]",
22948
- headlineLarge: "text-[32px] leading-[40px] font-normal tracking-[0px]",
22949
- headlineMedium: "text-[28px] leading-[36px] font-normal tracking-[0px]",
22950
- headlineSmall: "text-[24px] leading-[32px] font-normal tracking-[0px]",
22951
- titleLarge: "text-[22px] leading-[28px] font-normal tracking-[0px]",
22952
- titleMedium: "text-[16px] leading-[24px] font-medium tracking-[0.15px]",
22953
- titleSmall: "text-[14px] leading-[20px] font-medium tracking-[0.1px]",
22954
- labelLarge: "text-[14px] leading-[20px] font-medium tracking-[0.1px]",
22955
- labelMedium: "text-[12px] leading-[16px] font-medium tracking-[0.5px]",
22956
- labelSmall: "text-[11px] leading-[16px] font-medium tracking-[0.5px]",
22957
- bodyLarge: "text-[16px] leading-[24px] font-normal tracking-[0.5px]",
22958
- bodyMedium: "text-[14px] leading-[20px] font-normal tracking-[0.25px]",
22959
- bodySmall: "text-[12px] leading-[16px] font-normal tracking-[0.4px]"
23219
+ "body-sm": "text-[12px] leading-[16px] font-normal tracking-[0.4px]"
22960
23220
  }
22961
23221
  },
22962
23222
  defaultVariants: {
@@ -24334,7 +24594,7 @@ var FloatingToolbarWithFabBase = React62__namespace.forwardRef(
24334
24594
  fabPosition = orientation === "horizontal" ? "end" : "bottom",
24335
24595
  animationDuration = 0.3,
24336
24596
  scrollBehavior,
24337
- fabSize = "default",
24597
+ fabSize = "sm",
24338
24598
  className,
24339
24599
  style
24340
24600
  } = _b, props = __objRest(_b, [
@@ -24354,7 +24614,7 @@ var FloatingToolbarWithFabBase = React62__namespace.forwardRef(
24354
24614
  const isHorizontal = orientation === "horizontal";
24355
24615
  const effectiveExpanded = expanded && (!scrollBehavior || scrollBehavior.isExpanded);
24356
24616
  const isFabBefore = fabPosition === "start" || fabPosition === "top";
24357
- const resolvedFabSize = fabSize === "medium" ? FabBaselineTokens.MediumContainerHeight : FabBaselineTokens.ContainerHeight;
24617
+ const resolvedFabSize = fabSize === "md" ? FabBaselineTokens.MediumContainerHeight : FabBaselineTokens.ContainerHeight;
24358
24618
  const transitionSpec = __spreadProps(__spreadValues({}, SPRING_TRANSITION), {
24359
24619
  duration: animationDuration
24360
24620
  });
@@ -24493,7 +24753,7 @@ var ToolbarIconButton = React62__namespace.forwardRef(
24493
24753
  (_a, ref) => {
24494
24754
  var _b = _a, {
24495
24755
  emphasis = "standard",
24496
- toolbarSize = "default",
24756
+ width = "default",
24497
24757
  selected,
24498
24758
  asChild,
24499
24759
  className,
@@ -24501,7 +24761,7 @@ var ToolbarIconButton = React62__namespace.forwardRef(
24501
24761
  whileTap
24502
24762
  } = _b, props = __objRest(_b, [
24503
24763
  "emphasis",
24504
- "toolbarSize",
24764
+ "width",
24505
24765
  "selected",
24506
24766
  "asChild",
24507
24767
  "className",
@@ -24509,7 +24769,7 @@ var ToolbarIconButton = React62__namespace.forwardRef(
24509
24769
  "whileTap"
24510
24770
  ]);
24511
24771
  const context = useToolbarContext();
24512
- const widthClass = TOOLBAR_ICON_BUTTON_WIDTH[toolbarSize];
24772
+ const widthClass = TOOLBAR_ICON_BUTTON_WIDTH[width];
24513
24773
  const colorStyle = VARIANT_TO_COLOR_STYLE[emphasis];
24514
24774
  const iconButtonProps = selected !== void 0 ? {
24515
24775
  variant: "toggle",
@@ -25495,6 +25755,7 @@ exports.FABPosition = FABPosition;
25495
25755
  exports.FAST_EFFECTS_TRANSITION = FAST_EFFECTS_TRANSITION;
25496
25756
  exports.FAST_SPATIAL_SPRING = FAST_SPATIAL_SPRING;
25497
25757
  exports.FLOAT_PI = FLOAT_PI;
25758
+ exports.FadingBlurMask = FadingBlurMask;
25498
25759
  exports.FilledSplitButtonLeading = FilledSplitButtonLeading;
25499
25760
  exports.FilledSplitButtonTrailing = FilledSplitButtonTrailing;
25500
25761
  exports.FilledSplitButtonTrailingUncheckable = FilledSplitButtonTrailingUncheckable;