@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
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import * as React37 from 'react';
3
- import { useRef, useEffect, useState } from 'react';
2
+ import { AnimatePresence, m, LazyMotion, domMax, useMotionValue, animate, useAnimationFrame, useReducedMotion, LayoutGroup, useScroll, useMotionValueEvent, useTransform } from 'motion/react';
4
3
  import { clsx } from 'clsx';
5
4
  import { twMerge } from 'tailwind-merge';
6
5
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
+ import * as React37 from 'react';
7
+ import { useRef, useEffect, useState } from 'react';
7
8
  import * as RxContextMenu from '@radix-ui/react-context-menu';
8
- import { AnimatePresence, m, LazyMotion, domMax, useAnimationFrame, useMotionValue, animate, useReducedMotion, LayoutGroup, useScroll, useMotionValueEvent, useTransform } from 'motion/react';
9
9
  import { cornerRadius } from '@bug-on/m3-tokens';
10
10
  import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
11
11
  import { Slot } from '@radix-ui/react-slot';
@@ -43,6 +43,55 @@ var __objRest = (source, exclude) => {
43
43
  }
44
44
  return target;
45
45
  };
46
+ function cn(...inputs) {
47
+ return twMerge(clsx(inputs));
48
+ }
49
+ function getMaskGradient(direction) {
50
+ switch (direction) {
51
+ case "bottom":
52
+ 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%)";
53
+ case "both":
54
+ 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%)";
55
+ default:
56
+ 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%)";
57
+ }
58
+ }
59
+ function FadingBlurMask({
60
+ direction = "top",
61
+ blurIntensity = 12,
62
+ blurHeight = "100%",
63
+ color = "var(--md-sys-color-surface)",
64
+ className,
65
+ style,
66
+ children
67
+ }) {
68
+ const shouldReduceMotion = useReducedMotion();
69
+ const activeBlur = shouldReduceMotion ? 0 : blurIntensity;
70
+ const maskGradient = getMaskGradient(direction);
71
+ const maskStyle = __spreadValues({
72
+ position: "absolute",
73
+ inset: 0,
74
+ pointerEvents: "none",
75
+ height: typeof blurHeight === "number" ? `${blurHeight}px` : blurHeight,
76
+ backdropFilter: activeBlur > 0 ? `blur(${activeBlur}px)` : void 0,
77
+ WebkitBackdropFilter: activeBlur > 0 ? `blur(${activeBlur}px)` : void 0,
78
+ maskImage: maskGradient,
79
+ WebkitMaskImage: maskGradient,
80
+ backgroundColor: color
81
+ }, style);
82
+ return /* @__PURE__ */ jsx(
83
+ "div",
84
+ {
85
+ "aria-hidden": "true",
86
+ className: cn(
87
+ "absolute inset-0 pointer-events-none z-0 rounded-[inherit]",
88
+ className
89
+ ),
90
+ style: maskStyle,
91
+ children
92
+ }
93
+ );
94
+ }
46
95
 
47
96
  // src/ui/shared/motion-tokens.ts
48
97
  var FAST_SPATIAL_SPRING = {
@@ -197,9 +246,6 @@ var APP_BAR_TITLE_FADE = {
197
246
  duration: 0.15,
198
247
  ease: "easeInOut"
199
248
  };
200
- function cn(...inputs) {
201
- return twMerge(clsx(inputs));
202
- }
203
249
  function AppBarItemButton({ item }) {
204
250
  const isDisabled = item.enabled === false;
205
251
  if (item.type === "custom" && item.appBarContent) {
@@ -1726,7 +1772,10 @@ function BottomAppBar({
1726
1772
  floatingActionButton,
1727
1773
  scrollBehavior = "visible",
1728
1774
  scrollElement,
1729
- className
1775
+ className,
1776
+ enableFadingBlur,
1777
+ blurIntensity,
1778
+ blurHeight
1730
1779
  }) {
1731
1780
  const shouldReduceMotion = useReducedMotion();
1732
1781
  const { isHidden } = useAppBarScroll({
@@ -1741,9 +1790,9 @@ function BottomAppBar({
1741
1790
  role: "navigation",
1742
1791
  "aria-label": "Bottom app bar",
1743
1792
  className: cn(
1744
- "fixed bottom-0 inset-x-0 z-50",
1793
+ "fixed bottom-0 inset-x-0 z-50 overflow-hidden rounded-[inherit]",
1745
1794
  "flex items-center",
1746
- "bg-m3-surface-container",
1795
+ !enableFadingBlur && "bg-m3-surface-container",
1747
1796
  "px-2",
1748
1797
  // minimal horizontal padding, icon buttons provide spacing
1749
1798
  "elevation-2",
@@ -1756,8 +1805,19 @@ function BottomAppBar({
1756
1805
  animate: { y: translateY },
1757
1806
  transition: hideTransition,
1758
1807
  children: [
1759
- actions && /* @__PURE__ */ jsx("div", { className: "flex items-center flex-1", children: actions }),
1760
- floatingActionButton && /* @__PURE__ */ jsx("div", { className: "shrink-0 ml-auto mr-2", children: floatingActionButton })
1808
+ enableFadingBlur && /* @__PURE__ */ jsx(
1809
+ FadingBlurMask,
1810
+ {
1811
+ direction: "bottom",
1812
+ blurIntensity,
1813
+ blurHeight,
1814
+ color: "var(--md-sys-color-surface-container)"
1815
+ }
1816
+ ),
1817
+ /* @__PURE__ */ jsxs("div", { className: "relative z-10 flex items-center w-full h-full", children: [
1818
+ actions && /* @__PURE__ */ jsx("div", { className: "flex items-center flex-1", children: actions }),
1819
+ floatingActionButton && /* @__PURE__ */ jsx("div", { className: "shrink-0 ml-auto mr-2", children: floatingActionButton })
1820
+ ] })
1761
1821
  ]
1762
1822
  }
1763
1823
  );
@@ -1865,7 +1925,10 @@ function LargeFlexibleAppBar({
1865
1925
  headerContent,
1866
1926
  collapsedHeight = AppBarTokens.heights.flexibleCollapsed,
1867
1927
  expandedHeight,
1868
- className
1928
+ className,
1929
+ enableFadingBlur,
1930
+ blurIntensity,
1931
+ blurHeight
1869
1932
  }) {
1870
1933
  var _a, _b, _c;
1871
1934
  const resolvedExpandedHeight = expandedHeight != null ? expandedHeight : subtitle ? AppBarTokens.heights.largeFlexWithSubtitleExpanded : AppBarTokens.heights.largeFlexExpanded;
@@ -1895,15 +1958,28 @@ function LargeFlexibleAppBar({
1895
1958
  {
1896
1959
  role: "banner",
1897
1960
  className: cn(
1898
- "fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden",
1961
+ "fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden rounded-[inherit]",
1899
1962
  className
1900
1963
  ),
1901
- style: { height, backgroundColor: currentBg, transition: cssTransition },
1964
+ style: {
1965
+ height,
1966
+ backgroundColor: enableFadingBlur ? "transparent" : currentBg,
1967
+ transition: cssTransition
1968
+ },
1902
1969
  children: [
1970
+ enableFadingBlur && /* @__PURE__ */ jsx(
1971
+ FadingBlurMask,
1972
+ {
1973
+ direction: "top",
1974
+ blurIntensity,
1975
+ blurHeight,
1976
+ color: currentBg
1977
+ }
1978
+ ),
1903
1979
  /* @__PURE__ */ jsxs(
1904
1980
  "div",
1905
1981
  {
1906
- className: "flex items-center px-1 shrink-0",
1982
+ className: "relative z-10 flex items-center px-1 shrink-0",
1907
1983
  style: { height: collapsedHeight },
1908
1984
  children: [
1909
1985
  navigationIcon && /* @__PURE__ */ jsx(
@@ -1945,7 +2021,7 @@ function LargeFlexibleAppBar({
1945
2021
  "div",
1946
2022
  {
1947
2023
  className: cn(
1948
- "flex flex-col flex-1 px-4 pb-4 justify-end",
2024
+ "relative z-10 flex flex-col flex-1 px-4 pb-3 justify-end",
1949
2025
  isCentered ? "items-center" : "items-start"
1950
2026
  ),
1951
2027
  children: [
@@ -1998,7 +2074,10 @@ function MediumFlexibleAppBar({
1998
2074
  headerContent,
1999
2075
  collapsedHeight = AppBarTokens.heights.flexibleCollapsed,
2000
2076
  expandedHeight,
2001
- className
2077
+ className,
2078
+ enableFadingBlur,
2079
+ blurIntensity,
2080
+ blurHeight
2002
2081
  }) {
2003
2082
  var _a, _b, _c;
2004
2083
  const resolvedExpandedHeight = expandedHeight != null ? expandedHeight : subtitle ? AppBarTokens.heights.mediumFlexWithSubtitleExpanded : AppBarTokens.heights.mediumFlexExpanded;
@@ -2028,15 +2107,28 @@ function MediumFlexibleAppBar({
2028
2107
  {
2029
2108
  role: "banner",
2030
2109
  className: cn(
2031
- "fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden",
2110
+ "fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden rounded-[inherit]",
2032
2111
  className
2033
2112
  ),
2034
- style: { height, backgroundColor: currentBg, transition: cssTransition },
2113
+ style: {
2114
+ height,
2115
+ backgroundColor: enableFadingBlur ? "transparent" : currentBg,
2116
+ transition: cssTransition
2117
+ },
2035
2118
  children: [
2119
+ enableFadingBlur && /* @__PURE__ */ jsx(
2120
+ FadingBlurMask,
2121
+ {
2122
+ direction: "top",
2123
+ blurIntensity,
2124
+ blurHeight,
2125
+ color: currentBg
2126
+ }
2127
+ ),
2036
2128
  /* @__PURE__ */ jsxs(
2037
2129
  "div",
2038
2130
  {
2039
- className: "flex items-center px-1 shrink-0",
2131
+ className: "relative z-10 flex items-center px-1 shrink-0",
2040
2132
  style: { height: collapsedHeight },
2041
2133
  children: [
2042
2134
  navigationIcon && /* @__PURE__ */ jsx(
@@ -2078,7 +2170,7 @@ function MediumFlexibleAppBar({
2078
2170
  "div",
2079
2171
  {
2080
2172
  className: cn(
2081
- "flex flex-col flex-1 px-4 pb-3 justify-end",
2173
+ "relative z-10 flex flex-col flex-1 px-4 pb-3 justify-end",
2082
2174
  isCentered ? "items-center" : "items-start"
2083
2175
  ),
2084
2176
  children: [
@@ -2125,7 +2217,7 @@ function SearchIcon({ className }) {
2125
2217
  "span",
2126
2218
  {
2127
2219
  className: cn(
2128
- "material-symbols-rounded text-[20px] leading-none select-none",
2220
+ "material-symbols-rounded text-[20px] leading-none select-none flex items-center justify-center",
2129
2221
  className
2130
2222
  ),
2131
2223
  "aria-hidden": "true",
@@ -2145,7 +2237,12 @@ function SearchAppBar({
2145
2237
  scrollBehavior = "pinned",
2146
2238
  scrollElement,
2147
2239
  searchBarId = "search-bar",
2148
- className
2240
+ searchBarVariant = "filled",
2241
+ searchBarHeight = 56,
2242
+ className,
2243
+ enableFadingBlur,
2244
+ blurIntensity,
2245
+ blurHeight
2149
2246
  }) {
2150
2247
  var _a, _b;
2151
2248
  const shouldReduceMotion = useReducedMotion();
@@ -2168,65 +2265,92 @@ function SearchAppBar({
2168
2265
  handleSearchClick();
2169
2266
  }
2170
2267
  };
2268
+ const searchBarBg = isScrolled ? "var(--md-sys-color-surface-container-highest)" : APP_BAR_COLORS.searchBarBg;
2269
+ const isOutlined = searchBarVariant === "outlined";
2171
2270
  return /* @__PURE__ */ jsxs(
2172
2271
  m.header,
2173
2272
  {
2174
2273
  role: "banner",
2175
2274
  className: cn(
2176
- "fixed top-0 inset-x-0 z-50 flex items-center gap-2 px-4",
2275
+ "fixed top-0 inset-x-0 z-50 flex items-center gap-2 px-4 overflow-hidden rounded-[inherit]",
2177
2276
  className
2178
2277
  ),
2179
2278
  style: {
2180
2279
  height: AppBarTokens.heights.small,
2181
- backgroundColor: currentBg,
2280
+ backgroundColor: enableFadingBlur ? "transparent" : currentBg,
2182
2281
  transition: cssTransition
2183
2282
  },
2184
2283
  children: [
2185
- navigationIcon && /* @__PURE__ */ jsx(
2186
- "div",
2284
+ enableFadingBlur && /* @__PURE__ */ jsx(
2285
+ FadingBlurMask,
2187
2286
  {
2188
- className: "shrink-0 flex items-center justify-center",
2189
- style: {
2190
- width: AppBarTokens.iconButtonTouchTarget,
2191
- height: AppBarTokens.iconButtonTouchTarget
2192
- },
2193
- children: navigationIcon
2287
+ direction: "top",
2288
+ blurIntensity,
2289
+ blurHeight,
2290
+ color: currentBg
2194
2291
  }
2195
2292
  ),
2196
- /* @__PURE__ */ jsxs(
2197
- m.div,
2198
- {
2199
- layoutId: shouldReduceMotion ? void 0 : searchBarId,
2200
- role: "search",
2201
- "aria-label": searchPlaceholder,
2202
- "aria-expanded": isSearchOpen,
2203
- tabIndex: 0,
2204
- 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",
2205
- onClick: handleSearchClick,
2206
- onKeyDown: handleKeyDown,
2207
- children: [
2208
- /* @__PURE__ */ jsx("div", { className: "absolute inset-0 rounded-full bg-m3-surface-container-high -z-10" }),
2209
- /* @__PURE__ */ jsx(
2210
- "span",
2211
- {
2212
- className: "shrink-0",
2213
- style: { color: APP_BAR_COLORS.searchBarContent },
2214
- children: leadingSearchIcon != null ? leadingSearchIcon : /* @__PURE__ */ jsx(SearchIcon, {})
2215
- }
2216
- ),
2217
- /* @__PURE__ */ jsx(
2218
- "span",
2219
- {
2220
- className: "flex-1 text-[16px] leading-6 truncate select-none",
2221
- style: { color: APP_BAR_COLORS.searchBarContent },
2222
- children: searchValue != null ? searchValue : searchPlaceholder
2223
- }
2293
+ /* @__PURE__ */ jsxs("div", { className: "relative z-10 flex items-center gap-2 w-full h-full", children: [
2294
+ navigationIcon && /* @__PURE__ */ jsx(
2295
+ "div",
2296
+ {
2297
+ className: "shrink-0 flex items-center justify-center",
2298
+ style: {
2299
+ width: AppBarTokens.iconButtonTouchTarget,
2300
+ height: AppBarTokens.iconButtonTouchTarget
2301
+ },
2302
+ children: navigationIcon
2303
+ }
2304
+ ),
2305
+ /* @__PURE__ */ jsxs(
2306
+ m.div,
2307
+ {
2308
+ layoutId: shouldReduceMotion ? void 0 : searchBarId,
2309
+ role: "search",
2310
+ "aria-label": searchPlaceholder,
2311
+ "aria-expanded": isSearchOpen,
2312
+ tabIndex: 0,
2313
+ className: cn(
2314
+ "relative flex flex-1 items-center gap-2 rounded-full cursor-text px-4",
2315
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
2316
+ isOutlined && "border border-(--md-sys-color-outline)"
2224
2317
  ),
2225
- trailingSearchActions && /* @__PURE__ */ jsx("div", { className: "flex items-center shrink-0", children: trailingSearchActions })
2226
- ]
2227
- }
2228
- ),
2229
- externalActions && /* @__PURE__ */ jsx("div", { className: "flex items-center shrink-0", children: externalActions })
2318
+ style: { height: searchBarHeight },
2319
+ onClick: handleSearchClick,
2320
+ onKeyDown: handleKeyDown,
2321
+ children: [
2322
+ !isOutlined && /* @__PURE__ */ jsx(
2323
+ "div",
2324
+ {
2325
+ className: "absolute inset-0 rounded-full -z-10 transition-colors",
2326
+ style: {
2327
+ backgroundColor: searchBarBg,
2328
+ transition: cssTransition
2329
+ }
2330
+ }
2331
+ ),
2332
+ /* @__PURE__ */ jsx(
2333
+ "span",
2334
+ {
2335
+ className: "shrink-0 flex items-center justify-center h-full",
2336
+ style: { color: APP_BAR_COLORS.searchBarContent },
2337
+ children: leadingSearchIcon != null ? leadingSearchIcon : /* @__PURE__ */ jsx(SearchIcon, {})
2338
+ }
2339
+ ),
2340
+ /* @__PURE__ */ jsx(
2341
+ "span",
2342
+ {
2343
+ className: "flex-1 text-[16px] leading-6 truncate select-none",
2344
+ style: { color: APP_BAR_COLORS.searchBarContent },
2345
+ children: searchValue != null ? searchValue : searchPlaceholder
2346
+ }
2347
+ ),
2348
+ trailingSearchActions && /* @__PURE__ */ jsx("div", { className: "flex items-center shrink-0", children: trailingSearchActions })
2349
+ ]
2350
+ }
2351
+ ),
2352
+ externalActions && /* @__PURE__ */ jsx("div", { className: "flex items-center shrink-0", children: externalActions })
2353
+ ] })
2230
2354
  ]
2231
2355
  }
2232
2356
  );
@@ -2399,9 +2523,11 @@ function SmallAppBarInner({
2399
2523
  navigationIcon,
2400
2524
  actions,
2401
2525
  colors,
2402
- className,
2403
2526
  currentBg,
2404
- cssTransition
2527
+ cssTransition,
2528
+ enableFadingBlur,
2529
+ blurIntensity,
2530
+ blurHeight
2405
2531
  }) {
2406
2532
  var _a, _b;
2407
2533
  const isCentered = titleAlignment === "center";
@@ -2409,57 +2535,81 @@ function SmallAppBarInner({
2409
2535
  m.header,
2410
2536
  {
2411
2537
  role: "banner",
2412
- className: cn("flex items-center px-1 h-full w-full", className),
2413
- style: { backgroundColor: currentBg, transition: cssTransition },
2538
+ className: "relative flex items-center px-1 h-full w-full overflow-hidden rounded-[inherit]",
2539
+ style: {
2540
+ backgroundColor: enableFadingBlur ? "transparent" : currentBg,
2541
+ transition: cssTransition
2542
+ },
2414
2543
  children: [
2415
- navigationIcon && /* @__PURE__ */ jsx(
2416
- "div",
2544
+ enableFadingBlur && /* @__PURE__ */ jsx(
2545
+ FadingBlurMask,
2417
2546
  {
2418
- className: "shrink-0 flex items-center justify-center",
2419
- style: {
2420
- width: AppBarTokens.iconButtonTouchTarget,
2421
- height: AppBarTokens.iconButtonTouchTarget
2422
- },
2423
- children: navigationIcon
2547
+ direction: "top",
2548
+ blurIntensity,
2549
+ blurHeight,
2550
+ color: currentBg
2424
2551
  }
2425
2552
  ),
2426
- /* @__PURE__ */ jsxs(
2427
- "div",
2428
- {
2429
- className: cn(
2430
- "flex-1 flex flex-col justify-center min-w-0",
2431
- isCentered ? "items-center" : "items-start",
2432
- !navigationIcon && "pl-4"
2433
- ),
2434
- children: [
2435
- /* @__PURE__ */ jsx(
2436
- "span",
2437
- {
2438
- className: cn(
2439
- appBarTypography.titleLarge,
2440
- "truncate w-full",
2441
- isCentered && "text-center"
2442
- ),
2443
- style: { color: (_a = colors == null ? void 0 : colors.titleColor) != null ? _a : APP_BAR_COLORS.title },
2444
- children: title
2445
- }
2553
+ /* @__PURE__ */ jsxs("div", { className: "relative z-10 flex items-center w-full h-full", children: [
2554
+ navigationIcon && /* @__PURE__ */ jsx(
2555
+ "div",
2556
+ {
2557
+ className: "shrink-0 flex items-center justify-center",
2558
+ style: {
2559
+ width: AppBarTokens.iconButtonTouchTarget,
2560
+ height: AppBarTokens.iconButtonTouchTarget
2561
+ },
2562
+ children: navigationIcon
2563
+ }
2564
+ ),
2565
+ /* @__PURE__ */ jsxs(
2566
+ "div",
2567
+ {
2568
+ className: cn(
2569
+ "flex-1 flex flex-col justify-center min-w-0",
2570
+ isCentered ? "items-center" : "items-start",
2571
+ !navigationIcon && !isCentered && "pl-4"
2446
2572
  ),
2447
- subtitle && /* @__PURE__ */ jsx(
2448
- "span",
2449
- {
2450
- className: cn(
2451
- appBarTypography.labelMedium,
2452
- "truncate w-full",
2453
- isCentered && "text-center"
2454
- ),
2455
- style: { color: (_b = colors == null ? void 0 : colors.subtitleColor) != null ? _b : APP_BAR_COLORS.subtitle },
2456
- children: subtitle
2457
- }
2458
- )
2459
- ]
2460
- }
2461
- ),
2462
- actions && /* @__PURE__ */ jsx("div", { className: "flex items-center shrink-0", children: actions })
2573
+ children: [
2574
+ /* @__PURE__ */ jsx(
2575
+ "span",
2576
+ {
2577
+ className: cn(
2578
+ appBarTypography.titleLarge,
2579
+ "truncate w-full",
2580
+ isCentered && "text-center"
2581
+ ),
2582
+ style: { color: (_a = colors == null ? void 0 : colors.titleColor) != null ? _a : APP_BAR_COLORS.title },
2583
+ children: title
2584
+ }
2585
+ ),
2586
+ subtitle && /* @__PURE__ */ jsx(
2587
+ "span",
2588
+ {
2589
+ className: cn(
2590
+ appBarTypography.labelMedium,
2591
+ "truncate w-full",
2592
+ isCentered && "text-center"
2593
+ ),
2594
+ style: {
2595
+ color: (_b = colors == null ? void 0 : colors.subtitleColor) != null ? _b : APP_BAR_COLORS.subtitle
2596
+ },
2597
+ children: subtitle
2598
+ }
2599
+ )
2600
+ ]
2601
+ }
2602
+ ),
2603
+ isCentered && !actions && navigationIcon && /* @__PURE__ */ jsx(
2604
+ "div",
2605
+ {
2606
+ "aria-hidden": "true",
2607
+ style: { width: AppBarTokens.iconButtonTouchTarget },
2608
+ className: "shrink-0"
2609
+ }
2610
+ ),
2611
+ actions && /* @__PURE__ */ jsx("div", { className: "flex items-center shrink-0", children: actions })
2612
+ ] })
2463
2613
  ]
2464
2614
  }
2465
2615
  );
@@ -2473,7 +2623,10 @@ function SmallAppBar({
2473
2623
  colors,
2474
2624
  scrollBehavior = "pinned",
2475
2625
  scrollElement,
2476
- className
2626
+ className,
2627
+ enableFadingBlur,
2628
+ blurIntensity,
2629
+ blurHeight
2477
2630
  }) {
2478
2631
  var _a, _b;
2479
2632
  const shouldReduceMotion = useReducedMotion();
@@ -2493,14 +2646,17 @@ function SmallAppBar({
2493
2646
  actions,
2494
2647
  colors,
2495
2648
  currentBg,
2496
- cssTransition
2649
+ cssTransition,
2650
+ enableFadingBlur,
2651
+ blurIntensity,
2652
+ blurHeight
2497
2653
  };
2498
2654
  const barHeight = AppBarTokens.heights.small;
2499
2655
  if (scrollBehavior !== "enterAlways") {
2500
2656
  return /* @__PURE__ */ jsx(
2501
2657
  "div",
2502
2658
  {
2503
- className: cn("fixed top-0 inset-x-0 z-50", className),
2659
+ className: cn("fixed top-0 inset-x-0 z-50 overflow-hidden", className),
2504
2660
  style: { height: barHeight },
2505
2661
  children: /* @__PURE__ */ jsx(SmallAppBarInner, __spreadValues({}, innerProps))
2506
2662
  }
@@ -2513,7 +2669,10 @@ function SmallAppBar({
2513
2669
  animate: { y: 0 },
2514
2670
  exit: { y: "-100%" },
2515
2671
  transition: shouldReduceMotion ? { duration: 0 } : APP_BAR_ENTER_ALWAYS_SPRING,
2516
- className: cn("fixed top-0 inset-x-0 z-50", className),
2672
+ className: cn(
2673
+ "fixed top-0 inset-x-0 z-50 overflow-hidden",
2674
+ className
2675
+ ),
2517
2676
  style: { height: barHeight },
2518
2677
  children: /* @__PURE__ */ jsx(SmallAppBarInner, __spreadValues({}, innerProps))
2519
2678
  },
@@ -6288,7 +6447,7 @@ LoadingIndicator.displayName = "LoadingIndicator";
6288
6447
  function easeInOutCubic(x) {
6289
6448
  return x < 0.5 ? 4 * x * x * x : 1 - (-2 * x + 2) ** 3 / 2;
6290
6449
  }
6291
- function generateWavyCircularPath(center, radius, amplitude, wavelength) {
6450
+ function generateWavyCircularPath(center, radius, amplitude, wavelength, phase = 0) {
6292
6451
  const circumference = 2 * Math.PI * radius;
6293
6452
  const numWaves = Math.max(
6294
6453
  3,
@@ -6296,8 +6455,8 @@ function generateWavyCircularPath(center, radius, amplitude, wavelength) {
6296
6455
  );
6297
6456
  const steps = numWaves * 4;
6298
6457
  const dt = 2 * Math.PI / steps;
6299
- const rAt = (t) => radius + amplitude * Math.sin(numWaves * t);
6300
- const drAt = (t) => amplitude * numWaves * Math.cos(numWaves * t);
6458
+ const rAt = (t) => radius + amplitude * Math.sin(numWaves * t + phase);
6459
+ const drAt = (t) => amplitude * numWaves * Math.cos(numWaves * t + phase);
6301
6460
  const xAt = (t) => center + rAt(t) * Math.cos(t);
6302
6461
  const yAt = (t) => center + rAt(t) * Math.sin(t);
6303
6462
  const dxAt = (t) => drAt(t) * Math.cos(t) - rAt(t) * Math.sin(t);
@@ -6362,15 +6521,18 @@ var CircularProgress = React37.forwardRef(
6362
6521
  size = 48,
6363
6522
  trackHeight = 4,
6364
6523
  shape = "flat",
6524
+ trackShape = "flat",
6365
6525
  amplitude,
6366
6526
  wavelength,
6367
6527
  gapSize = 4,
6528
+ waveSpeed = 1,
6368
6529
  crawlerSpeed = 1,
6369
6530
  color,
6370
6531
  trackColor,
6371
6532
  showTrack = "auto",
6372
6533
  minProgress = DEFAULT_MIN_PROGRESS,
6373
6534
  maxProgress = DEFAULT_MAX_PROGRESS,
6535
+ determinateAnimation = "md3",
6374
6536
  amplitudeRange,
6375
6537
  className,
6376
6538
  "aria-label": ariaLabel
@@ -6379,15 +6541,18 @@ var CircularProgress = React37.forwardRef(
6379
6541
  "size",
6380
6542
  "trackHeight",
6381
6543
  "shape",
6544
+ "trackShape",
6382
6545
  "amplitude",
6383
6546
  "wavelength",
6384
6547
  "gapSize",
6548
+ "waveSpeed",
6385
6549
  "crawlerSpeed",
6386
6550
  "color",
6387
6551
  "trackColor",
6388
6552
  "showTrack",
6389
6553
  "minProgress",
6390
6554
  "maxProgress",
6555
+ "determinateAnimation",
6391
6556
  "amplitudeRange",
6392
6557
  "className",
6393
6558
  "aria-label"
@@ -6400,6 +6565,7 @@ var CircularProgress = React37.forwardRef(
6400
6565
  const bgTrackColor = trackColor || "var(--md-sys-color-indicator-track)";
6401
6566
  const isWavy = shape === "wavy";
6402
6567
  const shouldShowIndeterminateTrack = showTrack === "auto" ? isWavy : showTrack;
6568
+ const shouldShowDeterminateTrack = showTrack === "auto" ? true : showTrack;
6403
6569
  const BASELINE_SIZE = 48;
6404
6570
  const scaleFactor = size / BASELINE_SIZE;
6405
6571
  const effectiveAmplitude = React37.useMemo(
@@ -6432,19 +6598,50 @@ var CircularProgress = React37.forwardRef(
6432
6598
  const trackOffset = isDeterminate ? activeAngularFraction + gapForTrack : 0;
6433
6599
  const trackLength = isDeterminate ? Math.max(1e-3, 1 - activeAngularFraction - 2 * gapForTrack) : 1;
6434
6600
  const ActiveCircleElem = m.circle;
6435
- const ActivePathElem = m.path;
6436
6601
  const indeterminateSvgRef = React37.useRef(null);
6437
6602
  const indeterminateTrackRef = React37.useRef(null);
6438
6603
  const indeterminateActiveRef = React37.useRef(null);
6439
6604
  const indeterminateWavyTrackPathRef = React37.useRef(null);
6440
6605
  const indeterminateWavyActivePathRef = React37.useRef(null);
6606
+ const determinateWavyActivePathRef = React37.useRef(null);
6607
+ const determinateWavyTrackPathRef = React37.useRef(null);
6441
6608
  const cachedPathLengthRef = React37.useRef(0);
6609
+ const fractionMV = useMotionValue(isDeterminate ? clampedValue / 100 : 0);
6610
+ const amplitudeMV = useMotionValue(isWavy ? effectiveAmplitude : 0);
6611
+ React37.useEffect(() => {
6612
+ if (isDeterminate) {
6613
+ animate(fractionMV, clampedValue / 100, {
6614
+ duration: 0.4,
6615
+ ease: [0.2, 0, 0, 1]
6616
+ });
6617
+ }
6618
+ }, [clampedValue, isDeterminate, fractionMV]);
6619
+ React37.useEffect(() => {
6620
+ if (!isDeterminate || !isWavy) return;
6621
+ const fraction = clampedValue / 100;
6622
+ let targetAmp = effectiveAmplitude;
6623
+ if (determinateAnimation === "md3") {
6624
+ targetAmp = fraction <= 0.1 || fraction >= 0.95 ? 0 : effectiveAmplitude;
6625
+ }
6626
+ animate(amplitudeMV, targetAmp, {
6627
+ type: "spring",
6628
+ bounce: 0,
6629
+ duration: 0.5
6630
+ });
6631
+ }, [
6632
+ clampedValue,
6633
+ isDeterminate,
6634
+ isWavy,
6635
+ effectiveAmplitude,
6636
+ amplitudeMV,
6637
+ determinateAnimation
6638
+ ]);
6442
6639
  React37.useLayoutEffect(() => {
6443
6640
  if (!isWavy || !wavyActivePath) {
6444
6641
  cachedPathLengthRef.current = circumference;
6445
6642
  return;
6446
6643
  }
6447
- const el = indeterminateActiveRef.current;
6644
+ const el = indeterminateActiveRef.current || determinateWavyActivePathRef.current;
6448
6645
  if (el && "getTotalLength" in el) {
6449
6646
  try {
6450
6647
  const len = el.getTotalLength();
@@ -6458,7 +6655,65 @@ var CircularProgress = React37.forwardRef(
6458
6655
  cachedPathLengthRef.current = circumference;
6459
6656
  }, [isWavy, circumference, wavyActivePath]);
6460
6657
  useAnimationFrame((time) => {
6461
- if (isDeterminate) return;
6658
+ const safeWaveSpeed = Math.max(0.1, waveSpeed);
6659
+ const wavePhase = time / 1e3 * safeWaveSpeed * 2 * Math.PI;
6660
+ if (isDeterminate) {
6661
+ if (isWavy) {
6662
+ const currentAmp = amplitudeMV.get();
6663
+ const dynamicPath = generateWavyCircularPath(
6664
+ center,
6665
+ radius,
6666
+ currentAmp,
6667
+ effectiveWavelength,
6668
+ wavePhase
6669
+ );
6670
+ if (determinateWavyActivePathRef.current) {
6671
+ determinateWavyActivePathRef.current.setAttribute("d", dynamicPath);
6672
+ }
6673
+ if (trackShape === "wavy" && determinateWavyTrackPathRef.current) {
6674
+ determinateWavyTrackPathRef.current.setAttribute("d", dynamicPath);
6675
+ }
6676
+ const pathEl = determinateWavyActivePathRef.current;
6677
+ let totalLen = cachedPathLengthRef.current || circumference;
6678
+ if (pathEl) {
6679
+ try {
6680
+ const len = pathEl.getTotalLength();
6681
+ if (len > 0) totalLen = len;
6682
+ } catch (e) {
6683
+ }
6684
+ }
6685
+ const activeFrac = Math.max(0, Math.min(1, fractionMV.get()));
6686
+ const activeLen = totalLen * activeFrac;
6687
+ if (determinateWavyActivePathRef.current) {
6688
+ determinateWavyActivePathRef.current.setAttribute(
6689
+ "stroke-dasharray",
6690
+ `${activeLen} ${totalLen}`
6691
+ );
6692
+ determinateWavyActivePathRef.current.setAttribute(
6693
+ "stroke-dashoffset",
6694
+ "0"
6695
+ );
6696
+ }
6697
+ if (shouldShowDeterminateTrack && trackShape === "wavy" && determinateWavyTrackPathRef.current) {
6698
+ const gapFrac = (gapSize + trackHeight) / totalLen;
6699
+ const trackStartFrac = activeFrac + gapFrac;
6700
+ const trackLen = Math.max(
6701
+ 1e-3,
6702
+ totalLen * (1 - activeFrac - 2 * gapFrac)
6703
+ );
6704
+ const trackOff = -totalLen * trackStartFrac;
6705
+ determinateWavyTrackPathRef.current.setAttribute(
6706
+ "stroke-dasharray",
6707
+ `${trackLen} ${totalLen}`
6708
+ );
6709
+ determinateWavyTrackPathRef.current.setAttribute(
6710
+ "stroke-dashoffset",
6711
+ `${trackOff}`
6712
+ );
6713
+ }
6714
+ }
6715
+ return;
6716
+ }
6462
6717
  const safeCrawlerSpeed = Math.max(0.1, crawlerSpeed);
6463
6718
  const scaledTime = time * safeCrawlerSpeed;
6464
6719
  const globalCycle = scaledTime % GLOBAL_ROTATION_DURATION;
@@ -6493,7 +6748,8 @@ var CircularProgress = React37.forwardRef(
6493
6748
  center,
6494
6749
  radius,
6495
6750
  currentAmplitude,
6496
- effectiveWavelength
6751
+ effectiveWavelength,
6752
+ wavePhase
6497
6753
  );
6498
6754
  if (indeterminateWavyActivePathRef.current) {
6499
6755
  indeterminateWavyActivePathRef.current.setAttribute("d", dynamicPath);
@@ -6588,7 +6844,7 @@ var CircularProgress = React37.forwardRef(
6588
6844
  style: { width: size, height: size }
6589
6845
  }, restProps), {
6590
6846
  children: /* @__PURE__ */ jsxs(LazyMotion, { features: domMax, strict: true, children: [
6591
- /* @__PURE__ */ jsxs(
6847
+ /* @__PURE__ */ jsx(
6592
6848
  "svg",
6593
6849
  {
6594
6850
  width: size,
@@ -6596,8 +6852,18 @@ var CircularProgress = React37.forwardRef(
6596
6852
  viewBox: `0 0 ${size} ${size}`,
6597
6853
  "aria-hidden": "true",
6598
6854
  style: { transform: "rotate(-90deg)", overflow: "visible" },
6599
- children: [
6600
- isDeterminate ? /* @__PURE__ */ jsx(
6855
+ children: isDeterminate ? isWavy ? /* @__PURE__ */ jsxs(Fragment, { children: [
6856
+ shouldShowDeterminateTrack && (trackShape === "wavy" ? /* @__PURE__ */ jsx(
6857
+ "path",
6858
+ {
6859
+ ref: determinateWavyTrackPathRef,
6860
+ d: wavyActivePath != null ? wavyActivePath : "",
6861
+ fill: "none",
6862
+ stroke: bgTrackColor,
6863
+ strokeWidth: trackHeight,
6864
+ strokeLinecap: "round"
6865
+ }
6866
+ ) : /* @__PURE__ */ jsx(
6601
6867
  m.circle,
6602
6868
  {
6603
6869
  cx: center,
@@ -6606,28 +6872,52 @@ var CircularProgress = React37.forwardRef(
6606
6872
  fill: "none",
6607
6873
  stroke: bgTrackColor,
6608
6874
  strokeWidth: trackHeight,
6609
- initial: { pathLength: trackLength, pathOffset: trackOffset },
6610
- animate: { pathLength: trackLength, pathOffset: trackOffset },
6875
+ initial: {
6876
+ pathLength: trackLength,
6877
+ pathOffset: trackOffset
6878
+ },
6879
+ animate: {
6880
+ pathLength: trackLength,
6881
+ pathOffset: trackOffset
6882
+ },
6611
6883
  transition: { duration: 0.4, ease: [0.2, 0, 0, 1] },
6612
6884
  strokeLinecap: "round"
6613
6885
  }
6614
- ) : null,
6615
- isDeterminate && (isWavy ? /* @__PURE__ */ jsx(
6616
- ActivePathElem,
6886
+ )),
6887
+ /* @__PURE__ */ jsx(
6888
+ "path",
6617
6889
  {
6890
+ ref: determinateWavyActivePathRef,
6618
6891
  d: wavyActivePath != null ? wavyActivePath : "",
6619
6892
  fill: "none",
6620
6893
  stroke: activeColor,
6621
6894
  strokeWidth: trackHeight,
6622
- strokeLinecap: "round",
6623
- initial: { pathLength: 0 },
6624
- animate: { pathLength: clampedValue / 100 },
6625
- transition: {
6626
- duration: 0.4,
6627
- ease: [0.2, 0, 0, 1]
6628
- }
6895
+ strokeLinecap: "round"
6629
6896
  }
6630
- ) : /* @__PURE__ */ jsx(
6897
+ )
6898
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
6899
+ /* @__PURE__ */ jsx(
6900
+ m.circle,
6901
+ {
6902
+ cx: center,
6903
+ cy: center,
6904
+ r: radius,
6905
+ fill: "none",
6906
+ stroke: bgTrackColor,
6907
+ strokeWidth: trackHeight,
6908
+ initial: {
6909
+ pathLength: trackLength,
6910
+ pathOffset: trackOffset
6911
+ },
6912
+ animate: {
6913
+ pathLength: trackLength,
6914
+ pathOffset: trackOffset
6915
+ },
6916
+ transition: { duration: 0.4, ease: [0.2, 0, 0, 1] },
6917
+ strokeLinecap: "round"
6918
+ }
6919
+ ),
6920
+ /* @__PURE__ */ jsx(
6631
6921
  ActiveCircleElem,
6632
6922
  {
6633
6923
  cx: center,
@@ -6644,8 +6934,8 @@ var CircularProgress = React37.forwardRef(
6644
6934
  ease: [0.2, 0, 0, 1]
6645
6935
  }
6646
6936
  }
6647
- ))
6648
- ]
6937
+ )
6938
+ ] }) : null
6649
6939
  }
6650
6940
  ),
6651
6941
  !isDeterminate && /* @__PURE__ */ jsx(
@@ -7328,7 +7618,7 @@ var IconButtonComponent = React37.forwardRef(
7328
7618
  variant = "default",
7329
7619
  colorStyle = "standard",
7330
7620
  size = "sm",
7331
- widthVariant = "default",
7621
+ width = "default",
7332
7622
  shape = "round",
7333
7623
  selected,
7334
7624
  selectedIcon,
@@ -7346,7 +7636,7 @@ var IconButtonComponent = React37.forwardRef(
7346
7636
  "variant",
7347
7637
  "colorStyle",
7348
7638
  "size",
7349
- "widthVariant",
7639
+ "width",
7350
7640
  "shape",
7351
7641
  "selected",
7352
7642
  "selectedIcon",
@@ -7391,7 +7681,7 @@ var IconButtonComponent = React37.forwardRef(
7391
7681
  const iconPx = iconSize != null ? iconSize : defaultIconPx;
7392
7682
  const isCustomSize = iconSize != null && iconSize !== "inherit";
7393
7683
  const heightClass = (_c = SIZE_HEIGHT_STYLES[size]) != null ? _c : SIZE_HEIGHT_STYLES.sm;
7394
- const widthClass = (_e = ((_d = WIDTH_SIZE_STYLES[size]) != null ? _d : WIDTH_SIZE_STYLES.sm)[widthVariant]) != null ? _e : WIDTH_SIZE_STYLES.sm.default;
7684
+ const widthClass = (_e = ((_d = WIDTH_SIZE_STYLES[size]) != null ? _d : WIDTH_SIZE_STYLES.sm)[width]) != null ? _e : WIDTH_SIZE_STYLES.sm.default;
7395
7685
  const needsTouchTarget = size === "xs" || size === "sm";
7396
7686
  const { ripples, onPointerDown, removeRipple } = useRippleState({
7397
7687
  disabled: loading
@@ -8014,9 +8304,9 @@ function BadgedBox({
8014
8304
  badge,
8015
8305
  children,
8016
8306
  className,
8017
- badgeSize
8307
+ size
8018
8308
  }) {
8019
- const isLarge = badgeSize ? badgeSize === "large" : detectBadgeHasContent(badge);
8309
+ const isLarge = size ? size === "lg" : detectBadgeHasContent(badge);
8020
8310
  const badgePositionClass = isLarge ? "translate-x-[35%] -translate-y-[35%]" : "translate-x-[50%] -translate-y-[50%]";
8021
8311
  return /* @__PURE__ */ jsxs("span", { className: cn("relative inline-flex", className), children: [
8022
8312
  children,
@@ -9027,7 +9317,7 @@ var FloatingToolbarWithFabBase = React37.forwardRef(
9027
9317
  fabPosition = orientation === "horizontal" ? "end" : "bottom",
9028
9318
  animationDuration = 0.3,
9029
9319
  scrollBehavior,
9030
- fabSize = "default",
9320
+ fabSize = "sm",
9031
9321
  className,
9032
9322
  style
9033
9323
  } = _b, props = __objRest(_b, [
@@ -9047,7 +9337,7 @@ var FloatingToolbarWithFabBase = React37.forwardRef(
9047
9337
  const isHorizontal = orientation === "horizontal";
9048
9338
  const effectiveExpanded = expanded && (!scrollBehavior || scrollBehavior.isExpanded);
9049
9339
  const isFabBefore = fabPosition === "start" || fabPosition === "top";
9050
- const resolvedFabSize = fabSize === "medium" ? FabBaselineTokens.MediumContainerHeight : FabBaselineTokens.ContainerHeight;
9340
+ const resolvedFabSize = fabSize === "md" ? FabBaselineTokens.MediumContainerHeight : FabBaselineTokens.ContainerHeight;
9051
9341
  const transitionSpec = __spreadProps(__spreadValues({}, SPRING_TRANSITION), {
9052
9342
  duration: animationDuration
9053
9343
  });
@@ -9186,7 +9476,7 @@ var ToolbarIconButton = React37.forwardRef(
9186
9476
  (_a, ref) => {
9187
9477
  var _b = _a, {
9188
9478
  emphasis = "standard",
9189
- toolbarSize = "default",
9479
+ width = "default",
9190
9480
  selected,
9191
9481
  asChild,
9192
9482
  className,
@@ -9194,7 +9484,7 @@ var ToolbarIconButton = React37.forwardRef(
9194
9484
  whileTap
9195
9485
  } = _b, props = __objRest(_b, [
9196
9486
  "emphasis",
9197
- "toolbarSize",
9487
+ "width",
9198
9488
  "selected",
9199
9489
  "asChild",
9200
9490
  "className",
@@ -9202,7 +9492,7 @@ var ToolbarIconButton = React37.forwardRef(
9202
9492
  "whileTap"
9203
9493
  ]);
9204
9494
  const context = useToolbarContext();
9205
- const widthClass = TOOLBAR_ICON_BUTTON_WIDTH[toolbarSize];
9495
+ const widthClass = TOOLBAR_ICON_BUTTON_WIDTH[width];
9206
9496
  const colorStyle = VARIANT_TO_COLOR_STYLE[emphasis];
9207
9497
  const iconButtonProps = selected !== void 0 ? {
9208
9498
  variant: "toggle",
@@ -9537,6 +9827,6 @@ var ToolbarToggleButton = React37.forwardRef(
9537
9827
  );
9538
9828
  ToolbarToggleButton.displayName = "ToolbarToggleButton";
9539
9829
 
9540
- export { APP_BAR_BOTTOM_SPRING, APP_BAR_COLORS, APP_BAR_COLOR_TRANSITION, APP_BAR_ENTER_ALWAYS_SPRING, APP_BAR_TITLE_FADE, AppBarColumn, AppBarOverflowIndicator, AppBarRow, AppBarTokens, BottomAppBar, BottomDockedToolbar, CHECK_ICON_VARIANTS, ContextMenu, ContextMenuContent, ContextMenuTrigger, DIVIDER_COLOR, DIVIDER_PADDING, DockedToolbar, FAST_EFFECTS_TRANSITION, FAST_SPATIAL_SPRING, GROUP_SHAPES, HorizontalFloatingToolbar, HorizontalFloatingToolbarWithFab, ITEM_SHAPE_CLASSES, LargeFlexibleAppBar, MENU_CHECK_ICON_SIZE, MENU_CONTAINER_VARIANTS, MENU_GROUP_GAP, MENU_ICON_SIZE, MENU_ITEM_MIN_HEIGHT, MENU_MAX_WIDTH, MENU_MIN_WIDTH, MediumFlexibleAppBar, Menu, MenuContent, MenuDivider, MenuGroup, MenuItem, MenuProvider, MenuTrigger, NavigationBar, NavigationBarComponent, NavigationBarItem, NavigationRail, NavigationRailItem, SEARCH_BAR_EXIT_SPRING, SEARCH_BAR_EXPAND_SPRING, SEARCH_COLORS, SEARCH_DOCKED_REVEAL_SPRING, SEARCH_FULLSCREEN_SPRING, SEARCH_TYPOGRAPHY, SEARCH_VIEW_SPRING, STANDARD_COLORS, SUBMENU_CONTAINER_VARIANTS, Search, SearchAppBar, SearchBar, SearchTokens, SearchView, SearchViewContainer, SearchViewDocked, SearchViewFullScreen, SmallAppBar, SubMenu, Tab, Tabs, TabsColors, TabsContent, TabsList, TabsTokens, ToolbarDivider, ToolbarDividerTokens, ToolbarIconButton, ToolbarIconButtonTokens, ToolbarToggleButton, ToolbarToggleButtonTokens, VIBRANT_COLORS, VerticalFloatingToolbar, VerticalFloatingToolbarWithFab, VerticalMenu, VerticalMenuContent, VerticalMenuDivider, VerticalMenuGroup, appBarTypography, getNavigationShapeStyle, getToolbarColors, isSquareShape, standardFloatingToolbarColors, surfaceContainerHighFloatingToolbarColors, surfaceContainerHighestFloatingToolbarColors, tertiaryContainerFloatingToolbarColors, useAppBarScroll, useFloatingToolbarScrollBehavior, useMenuContext, useSearch, useSearchKeyboard, vibrantFloatingToolbarColors, xrFloatingToolbarColors };
9830
+ export { APP_BAR_BOTTOM_SPRING, APP_BAR_COLORS, APP_BAR_COLOR_TRANSITION, APP_BAR_ENTER_ALWAYS_SPRING, APP_BAR_TITLE_FADE, AppBarColumn, AppBarOverflowIndicator, AppBarRow, AppBarTokens, BottomAppBar, BottomDockedToolbar, CHECK_ICON_VARIANTS, ContextMenu, ContextMenuContent, ContextMenuTrigger, DIVIDER_COLOR, DIVIDER_PADDING, DockedToolbar, FAST_EFFECTS_TRANSITION, FAST_SPATIAL_SPRING, FadingBlurMask, GROUP_SHAPES, HorizontalFloatingToolbar, HorizontalFloatingToolbarWithFab, ITEM_SHAPE_CLASSES, LargeFlexibleAppBar, MENU_CHECK_ICON_SIZE, MENU_CONTAINER_VARIANTS, MENU_GROUP_GAP, MENU_ICON_SIZE, MENU_ITEM_MIN_HEIGHT, MENU_MAX_WIDTH, MENU_MIN_WIDTH, MediumFlexibleAppBar, Menu, MenuContent, MenuDivider, MenuGroup, MenuItem, MenuProvider, MenuTrigger, NavigationBar, NavigationBarComponent, NavigationBarItem, NavigationRail, NavigationRailItem, SEARCH_BAR_EXIT_SPRING, SEARCH_BAR_EXPAND_SPRING, SEARCH_COLORS, SEARCH_DOCKED_REVEAL_SPRING, SEARCH_FULLSCREEN_SPRING, SEARCH_TYPOGRAPHY, SEARCH_VIEW_SPRING, STANDARD_COLORS, SUBMENU_CONTAINER_VARIANTS, Search, SearchAppBar, SearchBar, SearchTokens, SearchView, SearchViewContainer, SearchViewDocked, SearchViewFullScreen, SmallAppBar, SubMenu, Tab, Tabs, TabsColors, TabsContent, TabsList, TabsTokens, ToolbarDivider, ToolbarDividerTokens, ToolbarIconButton, ToolbarIconButtonTokens, ToolbarToggleButton, ToolbarToggleButtonTokens, VIBRANT_COLORS, VerticalFloatingToolbar, VerticalFloatingToolbarWithFab, VerticalMenu, VerticalMenuContent, VerticalMenuDivider, VerticalMenuGroup, appBarTypography, getNavigationShapeStyle, getToolbarColors, isSquareShape, standardFloatingToolbarColors, surfaceContainerHighFloatingToolbarColors, surfaceContainerHighestFloatingToolbarColors, tertiaryContainerFloatingToolbarColors, useAppBarScroll, useFloatingToolbarScrollBehavior, useMenuContext, useSearch, useSearchKeyboard, vibrantFloatingToolbarColors, xrFloatingToolbarColors };
9541
9831
  //# sourceMappingURL=navigation.mjs.map
9542
9832
  //# sourceMappingURL=navigation.mjs.map