@bug-on/m3-expressive 1.2.7 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/buttons.d.mts +3 -3
  3. package/dist/buttons.d.ts +3 -3
  4. package/dist/buttons.js +10 -10
  5. package/dist/buttons.js.map +1 -1
  6. package/dist/buttons.mjs +10 -10
  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 +3 -3
  13. package/dist/core.js.map +1 -1
  14. package/dist/core.mjs +3 -3
  15. package/dist/core.mjs.map +1 -1
  16. package/dist/feedback.d.mts +8 -6
  17. package/dist/feedback.d.ts +8 -6
  18. package/dist/feedback.js +5 -5
  19. package/dist/feedback.js.map +1 -1
  20. package/dist/feedback.mjs +5 -5
  21. package/dist/feedback.mjs.map +1 -1
  22. package/dist/{icon-button-CSsDmuQC.d.mts → icon-button-CqdQBsRe.d.ts} +11 -5
  23. package/dist/{icon-button-CSsDmuQC.d.ts → icon-button-USJo7AqO.d.mts} +11 -5
  24. package/dist/index.d.mts +6 -6
  25. package/dist/index.d.ts +6 -6
  26. package/dist/index.js +291 -163
  27. package/dist/index.js.map +1 -1
  28. package/dist/index.mjs +291 -164
  29. package/dist/index.mjs.map +1 -1
  30. package/dist/layout.d.mts +1 -1
  31. package/dist/layout.d.ts +1 -1
  32. package/dist/layout.js +1 -33
  33. package/dist/layout.js.map +1 -1
  34. package/dist/layout.mjs +1 -33
  35. package/dist/layout.mjs.map +1 -1
  36. package/dist/{md3-Dty-Qcad.d.mts → md3-D0_Z7IXj.d.mts} +9 -1
  37. package/dist/{md3-Dty-Qcad.d.ts → md3-D0_Z7IXj.d.ts} +9 -1
  38. package/dist/navigation.d.mts +103 -33
  39. package/dist/navigation.d.ts +103 -33
  40. package/dist/navigation.js +287 -127
  41. package/dist/navigation.js.map +1 -1
  42. package/dist/navigation.mjs +288 -129
  43. package/dist/navigation.mjs.map +1 -1
  44. package/dist/overlays.js +3 -3
  45. package/dist/overlays.js.map +1 -1
  46. package/dist/overlays.mjs +3 -3
  47. package/dist/overlays.mjs.map +1 -1
  48. package/dist/pickers.js +3 -3
  49. package/dist/pickers.js.map +1 -1
  50. package/dist/pickers.mjs +3 -3
  51. package/dist/pickers.mjs.map +1 -1
  52. package/dist/{split-button-trailing-uncheckable-DPJL3bO6.d.mts → split-button-trailing-uncheckable-26qlZvKT.d.mts} +10 -7
  53. package/dist/{split-button-trailing-uncheckable--BhNTEJw.d.ts → split-button-trailing-uncheckable-CXUVrH64.d.ts} +10 -7
  54. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -5,8 +5,8 @@ import { hexFromArgb, Hct, SchemeExpressive, SchemeNeutral, SchemeMonochrome, Sc
5
5
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
6
  import { clsx } from 'clsx';
7
7
  import { twMerge } from 'tailwind-merge';
8
- import * as RxContextMenu from '@radix-ui/react-context-menu';
9
8
  import { AnimatePresence, m, LazyMotion, domMax, useReducedMotion, useAnimationFrame, useMotionValue, animate, useSpring, useTransform, LayoutGroup, useScroll, useMotionValueEvent } from 'motion/react';
9
+ import * as RxContextMenu from '@radix-ui/react-context-menu';
10
10
  import { cornerRadius } from '@bug-on/m3-tokens';
11
11
  import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
12
12
  import { Slot } from '@radix-ui/react-slot';
@@ -2830,6 +2830,52 @@ function interpolatePath(morph, progress, width, height) {
2830
2830
  function fmt(v) {
2831
2831
  return Number(v.toFixed(4)).toString();
2832
2832
  }
2833
+ function getMaskGradient(direction) {
2834
+ switch (direction) {
2835
+ case "bottom":
2836
+ 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%)";
2837
+ case "both":
2838
+ 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%)";
2839
+ default:
2840
+ 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%)";
2841
+ }
2842
+ }
2843
+ function FadingBlurMask({
2844
+ direction = "top",
2845
+ blurIntensity = 12,
2846
+ blurHeight = "100%",
2847
+ color = "var(--md-sys-color-surface)",
2848
+ className,
2849
+ style,
2850
+ children
2851
+ }) {
2852
+ const shouldReduceMotion = useReducedMotion();
2853
+ const activeBlur = shouldReduceMotion ? 0 : blurIntensity;
2854
+ const maskGradient = getMaskGradient(direction);
2855
+ const maskStyle = __spreadValues({
2856
+ position: "absolute",
2857
+ inset: 0,
2858
+ pointerEvents: "none",
2859
+ height: typeof blurHeight === "number" ? `${blurHeight}px` : blurHeight,
2860
+ backdropFilter: activeBlur > 0 ? `blur(${activeBlur}px)` : void 0,
2861
+ WebkitBackdropFilter: activeBlur > 0 ? `blur(${activeBlur}px)` : void 0,
2862
+ maskImage: maskGradient,
2863
+ WebkitMaskImage: maskGradient,
2864
+ backgroundColor: color
2865
+ }, style);
2866
+ return /* @__PURE__ */ jsx(
2867
+ "div",
2868
+ {
2869
+ "aria-hidden": "true",
2870
+ className: cn(
2871
+ "absolute inset-0 pointer-events-none z-0 rounded-[inherit]",
2872
+ className
2873
+ ),
2874
+ style: maskStyle,
2875
+ children
2876
+ }
2877
+ );
2878
+ }
2833
2879
 
2834
2880
  // src/ui/shared/motion-tokens.ts
2835
2881
  var FAST_SPATIAL_SPRING = {
@@ -4590,7 +4636,10 @@ function BottomAppBar({
4590
4636
  floatingActionButton,
4591
4637
  scrollBehavior = "visible",
4592
4638
  scrollElement,
4593
- className
4639
+ className,
4640
+ enableFadingBlur,
4641
+ blurIntensity,
4642
+ blurHeight
4594
4643
  }) {
4595
4644
  const shouldReduceMotion = useReducedMotion();
4596
4645
  const { isHidden } = useAppBarScroll({
@@ -4605,9 +4654,9 @@ function BottomAppBar({
4605
4654
  role: "navigation",
4606
4655
  "aria-label": "Bottom app bar",
4607
4656
  className: cn(
4608
- "fixed bottom-0 inset-x-0 z-50",
4657
+ "fixed bottom-0 inset-x-0 z-50 overflow-hidden rounded-[inherit]",
4609
4658
  "flex items-center",
4610
- "bg-m3-surface-container",
4659
+ !enableFadingBlur && "bg-m3-surface-container",
4611
4660
  "px-2",
4612
4661
  // minimal horizontal padding, icon buttons provide spacing
4613
4662
  "elevation-2",
@@ -4620,8 +4669,19 @@ function BottomAppBar({
4620
4669
  animate: { y: translateY },
4621
4670
  transition: hideTransition,
4622
4671
  children: [
4623
- actions && /* @__PURE__ */ jsx("div", { className: "flex items-center flex-1", children: actions }),
4624
- floatingActionButton && /* @__PURE__ */ jsx("div", { className: "shrink-0 ml-auto mr-2", children: floatingActionButton })
4672
+ enableFadingBlur && /* @__PURE__ */ jsx(
4673
+ FadingBlurMask,
4674
+ {
4675
+ direction: "bottom",
4676
+ blurIntensity,
4677
+ blurHeight,
4678
+ color: "var(--md-sys-color-surface-container)"
4679
+ }
4680
+ ),
4681
+ /* @__PURE__ */ jsxs("div", { className: "relative z-10 flex items-center w-full h-full", children: [
4682
+ actions && /* @__PURE__ */ jsx("div", { className: "flex items-center flex-1", children: actions }),
4683
+ floatingActionButton && /* @__PURE__ */ jsx("div", { className: "shrink-0 ml-auto mr-2", children: floatingActionButton })
4684
+ ] })
4625
4685
  ]
4626
4686
  }
4627
4687
  );
@@ -4729,7 +4789,10 @@ function LargeFlexibleAppBar({
4729
4789
  headerContent,
4730
4790
  collapsedHeight = AppBarTokens.heights.flexibleCollapsed,
4731
4791
  expandedHeight,
4732
- className
4792
+ className,
4793
+ enableFadingBlur,
4794
+ blurIntensity,
4795
+ blurHeight
4733
4796
  }) {
4734
4797
  var _a, _b, _c;
4735
4798
  const resolvedExpandedHeight = expandedHeight != null ? expandedHeight : subtitle ? AppBarTokens.heights.largeFlexWithSubtitleExpanded : AppBarTokens.heights.largeFlexExpanded;
@@ -4759,15 +4822,28 @@ function LargeFlexibleAppBar({
4759
4822
  {
4760
4823
  role: "banner",
4761
4824
  className: cn(
4762
- "fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden",
4825
+ "fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden rounded-[inherit]",
4763
4826
  className
4764
4827
  ),
4765
- style: { height, backgroundColor: currentBg, transition: cssTransition },
4828
+ style: {
4829
+ height,
4830
+ backgroundColor: enableFadingBlur ? "transparent" : currentBg,
4831
+ transition: cssTransition
4832
+ },
4766
4833
  children: [
4834
+ enableFadingBlur && /* @__PURE__ */ jsx(
4835
+ FadingBlurMask,
4836
+ {
4837
+ direction: "top",
4838
+ blurIntensity,
4839
+ blurHeight,
4840
+ color: currentBg
4841
+ }
4842
+ ),
4767
4843
  /* @__PURE__ */ jsxs(
4768
4844
  "div",
4769
4845
  {
4770
- className: "flex items-center px-1 shrink-0",
4846
+ className: "relative z-10 flex items-center px-1 shrink-0",
4771
4847
  style: { height: collapsedHeight },
4772
4848
  children: [
4773
4849
  navigationIcon && /* @__PURE__ */ jsx(
@@ -4809,7 +4885,7 @@ function LargeFlexibleAppBar({
4809
4885
  "div",
4810
4886
  {
4811
4887
  className: cn(
4812
- "flex flex-col flex-1 px-4 pb-4 justify-end",
4888
+ "relative z-10 flex flex-col flex-1 px-4 pb-3 justify-end",
4813
4889
  isCentered ? "items-center" : "items-start"
4814
4890
  ),
4815
4891
  children: [
@@ -4862,7 +4938,10 @@ function MediumFlexibleAppBar({
4862
4938
  headerContent,
4863
4939
  collapsedHeight = AppBarTokens.heights.flexibleCollapsed,
4864
4940
  expandedHeight,
4865
- className
4941
+ className,
4942
+ enableFadingBlur,
4943
+ blurIntensity,
4944
+ blurHeight
4866
4945
  }) {
4867
4946
  var _a, _b, _c;
4868
4947
  const resolvedExpandedHeight = expandedHeight != null ? expandedHeight : subtitle ? AppBarTokens.heights.mediumFlexWithSubtitleExpanded : AppBarTokens.heights.mediumFlexExpanded;
@@ -4892,15 +4971,28 @@ function MediumFlexibleAppBar({
4892
4971
  {
4893
4972
  role: "banner",
4894
4973
  className: cn(
4895
- "fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden",
4974
+ "fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden rounded-[inherit]",
4896
4975
  className
4897
4976
  ),
4898
- style: { height, backgroundColor: currentBg, transition: cssTransition },
4977
+ style: {
4978
+ height,
4979
+ backgroundColor: enableFadingBlur ? "transparent" : currentBg,
4980
+ transition: cssTransition
4981
+ },
4899
4982
  children: [
4983
+ enableFadingBlur && /* @__PURE__ */ jsx(
4984
+ FadingBlurMask,
4985
+ {
4986
+ direction: "top",
4987
+ blurIntensity,
4988
+ blurHeight,
4989
+ color: currentBg
4990
+ }
4991
+ ),
4900
4992
  /* @__PURE__ */ jsxs(
4901
4993
  "div",
4902
4994
  {
4903
- className: "flex items-center px-1 shrink-0",
4995
+ className: "relative z-10 flex items-center px-1 shrink-0",
4904
4996
  style: { height: collapsedHeight },
4905
4997
  children: [
4906
4998
  navigationIcon && /* @__PURE__ */ jsx(
@@ -4942,7 +5034,7 @@ function MediumFlexibleAppBar({
4942
5034
  "div",
4943
5035
  {
4944
5036
  className: cn(
4945
- "flex flex-col flex-1 px-4 pb-3 justify-end",
5037
+ "relative z-10 flex flex-col flex-1 px-4 pb-3 justify-end",
4946
5038
  isCentered ? "items-center" : "items-start"
4947
5039
  ),
4948
5040
  children: [
@@ -4989,7 +5081,7 @@ function SearchIcon({ className }) {
4989
5081
  "span",
4990
5082
  {
4991
5083
  className: cn(
4992
- "material-symbols-rounded text-[20px] leading-none select-none",
5084
+ "material-symbols-rounded text-[20px] leading-none select-none flex items-center justify-center",
4993
5085
  className
4994
5086
  ),
4995
5087
  "aria-hidden": "true",
@@ -5009,7 +5101,12 @@ function SearchAppBar({
5009
5101
  scrollBehavior = "pinned",
5010
5102
  scrollElement,
5011
5103
  searchBarId = "search-bar",
5012
- className
5104
+ searchBarVariant = "filled",
5105
+ searchBarHeight = 56,
5106
+ className,
5107
+ enableFadingBlur,
5108
+ blurIntensity,
5109
+ blurHeight
5013
5110
  }) {
5014
5111
  var _a, _b;
5015
5112
  const shouldReduceMotion = useReducedMotion();
@@ -5032,65 +5129,92 @@ function SearchAppBar({
5032
5129
  handleSearchClick();
5033
5130
  }
5034
5131
  };
5132
+ const searchBarBg = isScrolled ? "var(--md-sys-color-surface-container-highest)" : APP_BAR_COLORS.searchBarBg;
5133
+ const isOutlined = searchBarVariant === "outlined";
5035
5134
  return /* @__PURE__ */ jsxs(
5036
5135
  m.header,
5037
5136
  {
5038
5137
  role: "banner",
5039
5138
  className: cn(
5040
- "fixed top-0 inset-x-0 z-50 flex items-center gap-2 px-4",
5139
+ "fixed top-0 inset-x-0 z-50 flex items-center gap-2 px-4 overflow-hidden rounded-[inherit]",
5041
5140
  className
5042
5141
  ),
5043
5142
  style: {
5044
5143
  height: AppBarTokens.heights.small,
5045
- backgroundColor: currentBg,
5144
+ backgroundColor: enableFadingBlur ? "transparent" : currentBg,
5046
5145
  transition: cssTransition
5047
5146
  },
5048
5147
  children: [
5049
- navigationIcon && /* @__PURE__ */ jsx(
5050
- "div",
5148
+ enableFadingBlur && /* @__PURE__ */ jsx(
5149
+ FadingBlurMask,
5051
5150
  {
5052
- className: "shrink-0 flex items-center justify-center",
5053
- style: {
5054
- width: AppBarTokens.iconButtonTouchTarget,
5055
- height: AppBarTokens.iconButtonTouchTarget
5056
- },
5057
- children: navigationIcon
5151
+ direction: "top",
5152
+ blurIntensity,
5153
+ blurHeight,
5154
+ color: currentBg
5058
5155
  }
5059
5156
  ),
5060
- /* @__PURE__ */ jsxs(
5061
- m.div,
5062
- {
5063
- layoutId: shouldReduceMotion ? void 0 : searchBarId,
5064
- role: "search",
5065
- "aria-label": searchPlaceholder,
5066
- "aria-expanded": isSearchOpen,
5067
- tabIndex: 0,
5068
- 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",
5069
- onClick: handleSearchClick,
5070
- onKeyDown: handleKeyDown,
5071
- children: [
5072
- /* @__PURE__ */ jsx("div", { className: "absolute inset-0 rounded-full bg-m3-surface-container-high -z-10" }),
5073
- /* @__PURE__ */ jsx(
5074
- "span",
5075
- {
5076
- className: "shrink-0",
5077
- style: { color: APP_BAR_COLORS.searchBarContent },
5078
- children: leadingSearchIcon != null ? leadingSearchIcon : /* @__PURE__ */ jsx(SearchIcon, {})
5079
- }
5080
- ),
5081
- /* @__PURE__ */ jsx(
5082
- "span",
5083
- {
5084
- className: "flex-1 text-[16px] leading-6 truncate select-none",
5085
- style: { color: APP_BAR_COLORS.searchBarContent },
5086
- children: searchValue != null ? searchValue : searchPlaceholder
5087
- }
5157
+ /* @__PURE__ */ jsxs("div", { className: "relative z-10 flex items-center gap-2 w-full h-full", children: [
5158
+ navigationIcon && /* @__PURE__ */ jsx(
5159
+ "div",
5160
+ {
5161
+ className: "shrink-0 flex items-center justify-center",
5162
+ style: {
5163
+ width: AppBarTokens.iconButtonTouchTarget,
5164
+ height: AppBarTokens.iconButtonTouchTarget
5165
+ },
5166
+ children: navigationIcon
5167
+ }
5168
+ ),
5169
+ /* @__PURE__ */ jsxs(
5170
+ m.div,
5171
+ {
5172
+ layoutId: shouldReduceMotion ? void 0 : searchBarId,
5173
+ role: "search",
5174
+ "aria-label": searchPlaceholder,
5175
+ "aria-expanded": isSearchOpen,
5176
+ tabIndex: 0,
5177
+ className: cn(
5178
+ "relative flex flex-1 items-center gap-2 rounded-full cursor-text px-4",
5179
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
5180
+ isOutlined && "border border-(--md-sys-color-outline)"
5088
5181
  ),
5089
- trailingSearchActions && /* @__PURE__ */ jsx("div", { className: "flex items-center shrink-0", children: trailingSearchActions })
5090
- ]
5091
- }
5092
- ),
5093
- externalActions && /* @__PURE__ */ jsx("div", { className: "flex items-center shrink-0", children: externalActions })
5182
+ style: { height: searchBarHeight },
5183
+ onClick: handleSearchClick,
5184
+ onKeyDown: handleKeyDown,
5185
+ children: [
5186
+ !isOutlined && /* @__PURE__ */ jsx(
5187
+ "div",
5188
+ {
5189
+ className: "absolute inset-0 rounded-full -z-10 transition-colors",
5190
+ style: {
5191
+ backgroundColor: searchBarBg,
5192
+ transition: cssTransition
5193
+ }
5194
+ }
5195
+ ),
5196
+ /* @__PURE__ */ jsx(
5197
+ "span",
5198
+ {
5199
+ className: "shrink-0 flex items-center justify-center h-full",
5200
+ style: { color: APP_BAR_COLORS.searchBarContent },
5201
+ children: leadingSearchIcon != null ? leadingSearchIcon : /* @__PURE__ */ jsx(SearchIcon, {})
5202
+ }
5203
+ ),
5204
+ /* @__PURE__ */ jsx(
5205
+ "span",
5206
+ {
5207
+ className: "flex-1 text-[16px] leading-6 truncate select-none",
5208
+ style: { color: APP_BAR_COLORS.searchBarContent },
5209
+ children: searchValue != null ? searchValue : searchPlaceholder
5210
+ }
5211
+ ),
5212
+ trailingSearchActions && /* @__PURE__ */ jsx("div", { className: "flex items-center shrink-0", children: trailingSearchActions })
5213
+ ]
5214
+ }
5215
+ ),
5216
+ externalActions && /* @__PURE__ */ jsx("div", { className: "flex items-center shrink-0", children: externalActions })
5217
+ ] })
5094
5218
  ]
5095
5219
  }
5096
5220
  );
@@ -5263,9 +5387,11 @@ function SmallAppBarInner({
5263
5387
  navigationIcon,
5264
5388
  actions,
5265
5389
  colors,
5266
- className,
5267
5390
  currentBg,
5268
- cssTransition
5391
+ cssTransition,
5392
+ enableFadingBlur,
5393
+ blurIntensity,
5394
+ blurHeight
5269
5395
  }) {
5270
5396
  var _a, _b;
5271
5397
  const isCentered = titleAlignment === "center";
@@ -5273,57 +5399,81 @@ function SmallAppBarInner({
5273
5399
  m.header,
5274
5400
  {
5275
5401
  role: "banner",
5276
- className: cn("flex items-center px-1 h-full w-full", className),
5277
- style: { backgroundColor: currentBg, transition: cssTransition },
5402
+ className: "relative flex items-center px-1 h-full w-full overflow-hidden rounded-[inherit]",
5403
+ style: {
5404
+ backgroundColor: enableFadingBlur ? "transparent" : currentBg,
5405
+ transition: cssTransition
5406
+ },
5278
5407
  children: [
5279
- navigationIcon && /* @__PURE__ */ jsx(
5280
- "div",
5408
+ enableFadingBlur && /* @__PURE__ */ jsx(
5409
+ FadingBlurMask,
5281
5410
  {
5282
- className: "shrink-0 flex items-center justify-center",
5283
- style: {
5284
- width: AppBarTokens.iconButtonTouchTarget,
5285
- height: AppBarTokens.iconButtonTouchTarget
5286
- },
5287
- children: navigationIcon
5411
+ direction: "top",
5412
+ blurIntensity,
5413
+ blurHeight,
5414
+ color: currentBg
5288
5415
  }
5289
5416
  ),
5290
- /* @__PURE__ */ jsxs(
5291
- "div",
5292
- {
5293
- className: cn(
5294
- "flex-1 flex flex-col justify-center min-w-0",
5295
- isCentered ? "items-center" : "items-start",
5296
- !navigationIcon && "pl-4"
5297
- ),
5298
- children: [
5299
- /* @__PURE__ */ jsx(
5300
- "span",
5301
- {
5302
- className: cn(
5303
- appBarTypography.titleLarge,
5304
- "truncate w-full",
5305
- isCentered && "text-center"
5306
- ),
5307
- style: { color: (_a = colors == null ? void 0 : colors.titleColor) != null ? _a : APP_BAR_COLORS.title },
5308
- children: title
5309
- }
5417
+ /* @__PURE__ */ jsxs("div", { className: "relative z-10 flex items-center w-full h-full", children: [
5418
+ navigationIcon && /* @__PURE__ */ jsx(
5419
+ "div",
5420
+ {
5421
+ className: "shrink-0 flex items-center justify-center",
5422
+ style: {
5423
+ width: AppBarTokens.iconButtonTouchTarget,
5424
+ height: AppBarTokens.iconButtonTouchTarget
5425
+ },
5426
+ children: navigationIcon
5427
+ }
5428
+ ),
5429
+ /* @__PURE__ */ jsxs(
5430
+ "div",
5431
+ {
5432
+ className: cn(
5433
+ "flex-1 flex flex-col justify-center min-w-0",
5434
+ isCentered ? "items-center" : "items-start",
5435
+ !navigationIcon && !isCentered && "pl-4"
5310
5436
  ),
5311
- subtitle && /* @__PURE__ */ jsx(
5312
- "span",
5313
- {
5314
- className: cn(
5315
- appBarTypography.labelMedium,
5316
- "truncate w-full",
5317
- isCentered && "text-center"
5318
- ),
5319
- style: { color: (_b = colors == null ? void 0 : colors.subtitleColor) != null ? _b : APP_BAR_COLORS.subtitle },
5320
- children: subtitle
5321
- }
5322
- )
5323
- ]
5324
- }
5325
- ),
5326
- actions && /* @__PURE__ */ jsx("div", { className: "flex items-center shrink-0", children: actions })
5437
+ children: [
5438
+ /* @__PURE__ */ jsx(
5439
+ "span",
5440
+ {
5441
+ className: cn(
5442
+ appBarTypography.titleLarge,
5443
+ "truncate w-full",
5444
+ isCentered && "text-center"
5445
+ ),
5446
+ style: { color: (_a = colors == null ? void 0 : colors.titleColor) != null ? _a : APP_BAR_COLORS.title },
5447
+ children: title
5448
+ }
5449
+ ),
5450
+ subtitle && /* @__PURE__ */ jsx(
5451
+ "span",
5452
+ {
5453
+ className: cn(
5454
+ appBarTypography.labelMedium,
5455
+ "truncate w-full",
5456
+ isCentered && "text-center"
5457
+ ),
5458
+ style: {
5459
+ color: (_b = colors == null ? void 0 : colors.subtitleColor) != null ? _b : APP_BAR_COLORS.subtitle
5460
+ },
5461
+ children: subtitle
5462
+ }
5463
+ )
5464
+ ]
5465
+ }
5466
+ ),
5467
+ isCentered && !actions && navigationIcon && /* @__PURE__ */ jsx(
5468
+ "div",
5469
+ {
5470
+ "aria-hidden": "true",
5471
+ style: { width: AppBarTokens.iconButtonTouchTarget },
5472
+ className: "shrink-0"
5473
+ }
5474
+ ),
5475
+ actions && /* @__PURE__ */ jsx("div", { className: "flex items-center shrink-0", children: actions })
5476
+ ] })
5327
5477
  ]
5328
5478
  }
5329
5479
  );
@@ -5337,7 +5487,10 @@ function SmallAppBar({
5337
5487
  colors,
5338
5488
  scrollBehavior = "pinned",
5339
5489
  scrollElement,
5340
- className
5490
+ className,
5491
+ enableFadingBlur,
5492
+ blurIntensity,
5493
+ blurHeight
5341
5494
  }) {
5342
5495
  var _a, _b;
5343
5496
  const shouldReduceMotion = useReducedMotion();
@@ -5357,14 +5510,17 @@ function SmallAppBar({
5357
5510
  actions,
5358
5511
  colors,
5359
5512
  currentBg,
5360
- cssTransition
5513
+ cssTransition,
5514
+ enableFadingBlur,
5515
+ blurIntensity,
5516
+ blurHeight
5361
5517
  };
5362
5518
  const barHeight = AppBarTokens.heights.small;
5363
5519
  if (scrollBehavior !== "enterAlways") {
5364
5520
  return /* @__PURE__ */ jsx(
5365
5521
  "div",
5366
5522
  {
5367
- className: cn("fixed top-0 inset-x-0 z-50", className),
5523
+ className: cn("fixed top-0 inset-x-0 z-50 overflow-hidden", className),
5368
5524
  style: { height: barHeight },
5369
5525
  children: /* @__PURE__ */ jsx(SmallAppBarInner, __spreadValues({}, innerProps))
5370
5526
  }
@@ -5377,7 +5533,10 @@ function SmallAppBar({
5377
5533
  animate: { y: 0 },
5378
5534
  exit: { y: "-100%" },
5379
5535
  transition: shouldReduceMotion ? { duration: 0 } : APP_BAR_ENTER_ALWAYS_SPRING,
5380
- className: cn("fixed top-0 inset-x-0 z-50", className),
5536
+ className: cn(
5537
+ "fixed top-0 inset-x-0 z-50 overflow-hidden",
5538
+ className
5539
+ ),
5381
5540
  style: { height: barHeight },
5382
5541
  children: /* @__PURE__ */ jsx(SmallAppBarInner, __spreadValues({}, innerProps))
5383
5542
  },
@@ -5459,9 +5618,9 @@ function BadgedBox({
5459
5618
  badge,
5460
5619
  children,
5461
5620
  className,
5462
- badgeSize
5621
+ size
5463
5622
  }) {
5464
- const isLarge = badgeSize ? badgeSize === "large" : detectBadgeHasContent(badge);
5623
+ const isLarge = size ? size === "lg" : detectBadgeHasContent(badge);
5465
5624
  const badgePositionClass = isLarge ? "translate-x-[35%] -translate-y-[35%]" : "translate-x-[50%] -translate-y-[50%]";
5466
5625
  return /* @__PURE__ */ jsxs("span", { className: cn("relative inline-flex", className), children: [
5467
5626
  children,
@@ -8387,9 +8546,9 @@ var TOGGLE_FAB_COLORS = {
8387
8546
  }
8388
8547
  };
8389
8548
  var TOGGLE_FAB_SIZES = {
8390
- baseline: { sizeClass: "h-14 w-14", initialRadius: 16, finalRadius: 28 },
8391
- medium: { sizeClass: "h-20 w-20", initialRadius: 20, finalRadius: 40 },
8392
- large: { sizeClass: "h-24 w-24", initialRadius: 28, finalRadius: 48 }
8549
+ sm: { sizeClass: "h-14 w-14", initialRadius: 16, finalRadius: 28 },
8550
+ md: { sizeClass: "h-20 w-20", initialRadius: 20, finalRadius: 40 },
8551
+ lg: { sizeClass: "h-24 w-24", initialRadius: 28, finalRadius: 48 }
8393
8552
  };
8394
8553
  var MENU_ITEM_STYLES = {
8395
8554
  padding: "ps-4 pe-6",
@@ -8476,7 +8635,7 @@ var ToggleFABComponent = React62.forwardRef(
8476
8635
  onToggle,
8477
8636
  icon,
8478
8637
  colorVariant = "primary",
8479
- fabSize = "baseline",
8638
+ size = "sm",
8480
8639
  className,
8481
8640
  id,
8482
8641
  "aria-label": ariaLabel,
@@ -8485,7 +8644,7 @@ var ToggleFABComponent = React62.forwardRef(
8485
8644
  var _a, _b;
8486
8645
  const prefersReduced = useReducedMotion();
8487
8646
  const colors = (_a = TOGGLE_FAB_COLORS[colorVariant]) != null ? _a : TOGGLE_FAB_COLORS.primary;
8488
- const sizeTokens = (_b = TOGGLE_FAB_SIZES[fabSize]) != null ? _b : TOGGLE_FAB_SIZES.baseline;
8647
+ const sizeTokens = (_b = TOGGLE_FAB_SIZES[size]) != null ? _b : TOGGLE_FAB_SIZES.sm;
8489
8648
  const springConfig = prefersReduced ? SPRING_REDUCED : SPRING_NORMAL;
8490
8649
  const checkedProgress = useSpring(expanded ? 1 : 0, springConfig);
8491
8650
  React62.useEffect(() => {
@@ -8655,7 +8814,7 @@ function FABMenu({
8655
8814
  onToggle,
8656
8815
  items,
8657
8816
  colorVariant = "primary",
8658
- fabSize = "baseline",
8817
+ size = "sm",
8659
8818
  alignment = "end",
8660
8819
  className,
8661
8820
  closeOnBackdropClick = true,
@@ -8806,7 +8965,7 @@ function FABMenu({
8806
8965
  expanded,
8807
8966
  onToggle,
8808
8967
  colorVariant,
8809
- fabSize,
8968
+ size,
8810
8969
  "aria-label": ariaLabel != null ? ariaLabel : expanded ? "Close actions menu" : "Open actions menu",
8811
8970
  "aria-controls": menuId,
8812
8971
  icon: defaultFabIcon
@@ -8950,7 +9109,7 @@ var IconButtonComponent = React62.forwardRef(
8950
9109
  variant = "default",
8951
9110
  colorStyle = "standard",
8952
9111
  size = "sm",
8953
- widthVariant = "default",
9112
+ width = "default",
8954
9113
  shape = "round",
8955
9114
  selected,
8956
9115
  selectedIcon,
@@ -8968,7 +9127,7 @@ var IconButtonComponent = React62.forwardRef(
8968
9127
  "variant",
8969
9128
  "colorStyle",
8970
9129
  "size",
8971
- "widthVariant",
9130
+ "width",
8972
9131
  "shape",
8973
9132
  "selected",
8974
9133
  "selectedIcon",
@@ -9013,7 +9172,7 @@ var IconButtonComponent = React62.forwardRef(
9013
9172
  const iconPx = iconSize != null ? iconSize : defaultIconPx;
9014
9173
  const isCustomSize = iconSize != null && iconSize !== "inherit";
9015
9174
  const heightClass = (_c = SIZE_HEIGHT_STYLES[size]) != null ? _c : SIZE_HEIGHT_STYLES.sm;
9016
- const widthClass = (_e = ((_d = WIDTH_SIZE_STYLES[size]) != null ? _d : WIDTH_SIZE_STYLES.sm)[widthVariant]) != null ? _e : WIDTH_SIZE_STYLES.sm.default;
9175
+ const widthClass = (_e = ((_d = WIDTH_SIZE_STYLES[size]) != null ? _d : WIDTH_SIZE_STYLES.sm)[width]) != null ? _e : WIDTH_SIZE_STYLES.sm.default;
9017
9176
  const needsTouchTarget = size === "xs" || size === "sm";
9018
9177
  const { ripples, onPointerDown, removeRipple } = useRippleState({
9019
9178
  disabled: loading
@@ -22899,39 +23058,7 @@ var typographyVariants = cva("m-0 p-0 text-m3-on-surface", {
22899
23058
  "label-sm": "text-[11px] leading-[16px] font-medium tracking-[0.5px]",
22900
23059
  "body-lg": "text-[16px] leading-[24px] font-normal tracking-[0.5px]",
22901
23060
  "body-md": "text-[14px] leading-[20px] font-normal tracking-[0.25px]",
22902
- "body-sm": "text-[12px] leading-[16px] font-normal tracking-[0.4px]",
22903
- // Full hyphenated aliases
22904
- "display-large": "text-[57px] leading-[64px] font-normal tracking-[-0.25px]",
22905
- "display-medium": "text-[45px] leading-[52px] font-normal tracking-[0px]",
22906
- "display-small": "text-[36px] leading-[44px] font-normal tracking-[0px]",
22907
- "headline-large": "text-[32px] leading-[40px] font-normal tracking-[0px]",
22908
- "headline-medium": "text-[28px] leading-[36px] font-normal tracking-[0px]",
22909
- "headline-small": "text-[24px] leading-[32px] font-normal tracking-[0px]",
22910
- "title-large": "text-[22px] leading-[28px] font-normal tracking-[0px]",
22911
- "title-medium": "text-[16px] leading-[24px] font-medium tracking-[0.15px]",
22912
- "title-small": "text-[14px] leading-[20px] font-medium tracking-[0.1px]",
22913
- "label-large": "text-[14px] leading-[20px] font-medium tracking-[0.1px]",
22914
- "label-medium": "text-[12px] leading-[16px] font-medium tracking-[0.5px]",
22915
- "label-small": "text-[11px] leading-[16px] font-medium tracking-[0.5px]",
22916
- "body-large": "text-[16px] leading-[24px] font-normal tracking-[0.5px]",
22917
- "body-medium": "text-[14px] leading-[20px] font-normal tracking-[0.25px]",
22918
- "body-small": "text-[12px] leading-[16px] font-normal tracking-[0.4px]",
22919
- // CamelCase aliases
22920
- displayLarge: "text-[57px] leading-[64px] font-normal tracking-[-0.25px]",
22921
- displayMedium: "text-[45px] leading-[52px] font-normal tracking-[0px]",
22922
- displaySmall: "text-[36px] leading-[44px] font-normal tracking-[0px]",
22923
- headlineLarge: "text-[32px] leading-[40px] font-normal tracking-[0px]",
22924
- headlineMedium: "text-[28px] leading-[36px] font-normal tracking-[0px]",
22925
- headlineSmall: "text-[24px] leading-[32px] font-normal tracking-[0px]",
22926
- titleLarge: "text-[22px] leading-[28px] font-normal tracking-[0px]",
22927
- titleMedium: "text-[16px] leading-[24px] font-medium tracking-[0.15px]",
22928
- titleSmall: "text-[14px] leading-[20px] font-medium tracking-[0.1px]",
22929
- labelLarge: "text-[14px] leading-[20px] font-medium tracking-[0.1px]",
22930
- labelMedium: "text-[12px] leading-[16px] font-medium tracking-[0.5px]",
22931
- labelSmall: "text-[11px] leading-[16px] font-medium tracking-[0.5px]",
22932
- bodyLarge: "text-[16px] leading-[24px] font-normal tracking-[0.5px]",
22933
- bodyMedium: "text-[14px] leading-[20px] font-normal tracking-[0.25px]",
22934
- bodySmall: "text-[12px] leading-[16px] font-normal tracking-[0.4px]"
23061
+ "body-sm": "text-[12px] leading-[16px] font-normal tracking-[0.4px]"
22935
23062
  }
22936
23063
  },
22937
23064
  defaultVariants: {
@@ -24309,7 +24436,7 @@ var FloatingToolbarWithFabBase = React62.forwardRef(
24309
24436
  fabPosition = orientation === "horizontal" ? "end" : "bottom",
24310
24437
  animationDuration = 0.3,
24311
24438
  scrollBehavior,
24312
- fabSize = "default",
24439
+ fabSize = "sm",
24313
24440
  className,
24314
24441
  style
24315
24442
  } = _b, props = __objRest(_b, [
@@ -24329,7 +24456,7 @@ var FloatingToolbarWithFabBase = React62.forwardRef(
24329
24456
  const isHorizontal = orientation === "horizontal";
24330
24457
  const effectiveExpanded = expanded && (!scrollBehavior || scrollBehavior.isExpanded);
24331
24458
  const isFabBefore = fabPosition === "start" || fabPosition === "top";
24332
- const resolvedFabSize = fabSize === "medium" ? FabBaselineTokens.MediumContainerHeight : FabBaselineTokens.ContainerHeight;
24459
+ const resolvedFabSize = fabSize === "md" ? FabBaselineTokens.MediumContainerHeight : FabBaselineTokens.ContainerHeight;
24333
24460
  const transitionSpec = __spreadProps(__spreadValues({}, SPRING_TRANSITION), {
24334
24461
  duration: animationDuration
24335
24462
  });
@@ -24468,7 +24595,7 @@ var ToolbarIconButton = React62.forwardRef(
24468
24595
  (_a, ref) => {
24469
24596
  var _b = _a, {
24470
24597
  emphasis = "standard",
24471
- toolbarSize = "default",
24598
+ width = "default",
24472
24599
  selected,
24473
24600
  asChild,
24474
24601
  className,
@@ -24476,7 +24603,7 @@ var ToolbarIconButton = React62.forwardRef(
24476
24603
  whileTap
24477
24604
  } = _b, props = __objRest(_b, [
24478
24605
  "emphasis",
24479
- "toolbarSize",
24606
+ "width",
24480
24607
  "selected",
24481
24608
  "asChild",
24482
24609
  "className",
@@ -24484,7 +24611,7 @@ var ToolbarIconButton = React62.forwardRef(
24484
24611
  "whileTap"
24485
24612
  ]);
24486
24613
  const context = useToolbarContext();
24487
- const widthClass = TOOLBAR_ICON_BUTTON_WIDTH[toolbarSize];
24614
+ const widthClass = TOOLBAR_ICON_BUTTON_WIDTH[width];
24488
24615
  const colorStyle = VARIANT_TO_COLOR_STYLE[emphasis];
24489
24616
  const iconButtonProps = selected !== void 0 ? {
24490
24617
  variant: "toggle",
@@ -25392,6 +25519,6 @@ function TooltipBox({
25392
25519
  ] });
25393
25520
  }
25394
25521
 
25395
- export { ANGLE_EPSILON, APP_BAR_BOTTOM_SPRING, APP_BAR_COLORS, APP_BAR_COLOR_TRANSITION, APP_BAR_ENTER_ALWAYS_SPRING, APP_BAR_TITLE_FADE, AppBarColumn, AppBarOverflowIndicator, AppBarRow, AppBarTokens, BUTTON_COLOR_TOKENS, BUTTON_SIZE_TOKENS, Badge, BadgedBox, BottomAppBar, BottomDockedToolbar, BottomSheet, BottomSheetModal, Button, ButtonDistribute, ButtonGroup, CHECK_ICON_VARIANTS, Card, Checkbox, Chip, CodeBlock, ContextMenu, ContextMenuContent, ContextMenuTrigger, Cubic, DISTANCE_EPSILON, DIVIDER_COLOR, DIVIDER_PADDING, DP_CLASSES, DP_COLORS, DP_SHAPE, DP_SIZE, DatePicker, DatePickerDialog, DatePickerInput, DateRangePicker, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogFullScreenContent, DialogHeader, DialogIcon, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Divider, DockedToolbar, DragHandle, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, ElevatedSplitButtonLeading, ElevatedSplitButtonTrailing, ElevatedSplitButtonTrailingUncheckable, ExtendedFAB, FAB, FABMenu, FABMenuItem, FABPosition, FAST_EFFECTS_TRANSITION, FAST_SPATIAL_SPRING, FLOAT_PI, FilledSplitButtonLeading, FilledSplitButtonTrailing, FilledSplitButtonTrailingUncheckable, GROUP_SHAPES, HorizontalFloatingToolbar, HorizontalFloatingToolbarWithFab, ITEM_SHAPE_CLASSES, Icon, IconButton, LIST_TOKENS, LargeFlexibleAppBar, List, ListContext, ListDivider, ListItem, LoadingIndicator, MD3CornerRadius, MD3Shapes, MD3ThemeProvider, MD3_EXPRESSIVE_FONT_VARIATION, MENU_CHECK_ICON_SIZE, MENU_CONTAINER_VARIANTS, MENU_GROUP_GAP, MENU_ICON_SIZE, MENU_ITEM_MIN_HEIGHT, MENU_MAX_WIDTH, MENU_MIN_WIDTH, MaterialSymbolsPreconnect, MeasuredPolygon, MediumFlexibleAppBar, Menu, MenuContent, MenuDivider, MenuGroup, MenuItem, MenuProvider, MenuTrigger, Morph, MutableCubic, NavigationBar, NavigationBarItem, NavigationRail, NavigationRailItem, OutlinedSplitButtonLeading, OutlinedSplitButtonTrailing, OutlinedSplitButtonTrailingUncheckable, PlainTooltip, ProgressIndicator, RadioButton, RadioGroup, RangeSlider, RichTooltip, Ripple, RoundedPolygon, SEARCH_BAR_EXPAND_SPRING, SEARCH_COLORS, SEARCH_DOCKED_REVEAL_SPRING, SEARCH_FULLSCREEN_SPRING, SEARCH_TYPOGRAPHY, SEARCH_VIEW_SPRING, STANDARD_COLORS, SUBMENU_CONTAINER_VARIANTS, Scrim, ScrollArea, ScrollAreaScrollbar, Search, SearchAppBar, SearchBar, SearchTokens, SearchView, SearchViewContainer, SearchViewDocked, SearchViewFullScreen, Select, ShapeIcon, ShapeMedia, ShapeMediaServer, ShapeSvg, SideSheet, SideSheetModal, Slider, SliderColors, SliderTokens, SmallAppBar, Snackbar, SnackbarHost, SnackbarProvider, SplitButtonLayout, SplitButtonLeading, SplitButtonTrailing, SplitButtonTrailingUncheckable, SubMenu, Switch, SwitchColors, SwitchTokens, TP_CLASSES, TP_COLORS, TP_SHAPE, TP_SIZE, Tab, TableOfContents, Tabs, TabsColors, TabsContent, TabsList, TabsTokens, Text, TextField, TimeInput, TimePicker, TimePickerDialog, ToggleFAB, TonalSplitButtonLeading, TonalSplitButtonTrailing, TonalSplitButtonTrailingUncheckable, ToolbarDivider, ToolbarDividerTokens, ToolbarIconButton, ToolbarIconButtonTokens, ToolbarToggleButton, ToolbarToggleButtonTokens, TooltipBox, TooltipCaretShape, TooltipTokens, TriStateCheckbox, TypeScaleTokens, Typography, TypographyContext, TypographyKeyTokens, TypographyProvider, TypographyTokens, UNROUNDED, VIBRANT_COLORS, VerticalFloatingToolbar, VerticalFloatingToolbarWithFab, VerticalMenu, VerticalMenuContent, VerticalMenuDivider, VerticalMenuGroup, addPoints, appBarTypography, applyTheme, buildWavePath, circle, clockwise, cn, convex, cornerFeature, cornerRounding, createDoubleMapper, createMd3ExpressiveTheme, directionVector, distance, distanceSquared, dividePoint, dotProduct, edgeFeature, featureMapper, generateM3Theme, getDirection, getDistance, getDistanceSquared, getExpressiveShape, getListItemHeight, getToolbarColors, interpolate, interpolatePath, lerpPoint, pill, pillStar, point, positiveModulo, radialToCartesian, rectangle, resolveMode, rotate90, scalePoint, shouldTopAlign, square, standardFloatingToolbarColors, star, subtractPoints, surfaceContainerHighFloatingToolbarColors, surfaceContainerHighestFloatingToolbarColors, tertiaryContainerFloatingToolbarColors, toClipPath, toSvgPath, transformFeature, transformPoint, useAppBarScroll, useBottomSheet, useRipple as useDOMRipple, useDatePickerState, useDateRangePickerState, useFloatingToolbarScrollBehavior, useListContext, useMediaQuery, useMenuContext, useRipple2 as useRipple, useRippleState, useSearchKeyboard, useShapeMorph, useSnackbar, useSnackbarState, useTheme, useThemeMode, useTimePickerState, useTooltipPosition, useTooltipState, useTypography, vibrantFloatingToolbarColors, xrFloatingToolbarColors };
25522
+ export { ANGLE_EPSILON, APP_BAR_BOTTOM_SPRING, APP_BAR_COLORS, APP_BAR_COLOR_TRANSITION, APP_BAR_ENTER_ALWAYS_SPRING, APP_BAR_TITLE_FADE, AppBarColumn, AppBarOverflowIndicator, AppBarRow, AppBarTokens, BUTTON_COLOR_TOKENS, BUTTON_SIZE_TOKENS, Badge, BadgedBox, BottomAppBar, BottomDockedToolbar, BottomSheet, BottomSheetModal, Button, ButtonDistribute, ButtonGroup, CHECK_ICON_VARIANTS, Card, Checkbox, Chip, CodeBlock, ContextMenu, ContextMenuContent, ContextMenuTrigger, Cubic, DISTANCE_EPSILON, DIVIDER_COLOR, DIVIDER_PADDING, DP_CLASSES, DP_COLORS, DP_SHAPE, DP_SIZE, DatePicker, DatePickerDialog, DatePickerInput, DateRangePicker, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogFullScreenContent, DialogHeader, DialogIcon, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Divider, DockedToolbar, DragHandle, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, ElevatedSplitButtonLeading, ElevatedSplitButtonTrailing, ElevatedSplitButtonTrailingUncheckable, ExtendedFAB, FAB, FABMenu, FABMenuItem, FABPosition, FAST_EFFECTS_TRANSITION, FAST_SPATIAL_SPRING, FLOAT_PI, FadingBlurMask, FilledSplitButtonLeading, FilledSplitButtonTrailing, FilledSplitButtonTrailingUncheckable, GROUP_SHAPES, HorizontalFloatingToolbar, HorizontalFloatingToolbarWithFab, ITEM_SHAPE_CLASSES, Icon, IconButton, LIST_TOKENS, LargeFlexibleAppBar, List, ListContext, ListDivider, ListItem, LoadingIndicator, MD3CornerRadius, MD3Shapes, MD3ThemeProvider, MD3_EXPRESSIVE_FONT_VARIATION, MENU_CHECK_ICON_SIZE, MENU_CONTAINER_VARIANTS, MENU_GROUP_GAP, MENU_ICON_SIZE, MENU_ITEM_MIN_HEIGHT, MENU_MAX_WIDTH, MENU_MIN_WIDTH, MaterialSymbolsPreconnect, MeasuredPolygon, MediumFlexibleAppBar, Menu, MenuContent, MenuDivider, MenuGroup, MenuItem, MenuProvider, MenuTrigger, Morph, MutableCubic, NavigationBar, NavigationBarItem, NavigationRail, NavigationRailItem, OutlinedSplitButtonLeading, OutlinedSplitButtonTrailing, OutlinedSplitButtonTrailingUncheckable, PlainTooltip, ProgressIndicator, RadioButton, RadioGroup, RangeSlider, RichTooltip, Ripple, RoundedPolygon, SEARCH_BAR_EXPAND_SPRING, SEARCH_COLORS, SEARCH_DOCKED_REVEAL_SPRING, SEARCH_FULLSCREEN_SPRING, SEARCH_TYPOGRAPHY, SEARCH_VIEW_SPRING, STANDARD_COLORS, SUBMENU_CONTAINER_VARIANTS, Scrim, ScrollArea, ScrollAreaScrollbar, Search, SearchAppBar, SearchBar, SearchTokens, SearchView, SearchViewContainer, SearchViewDocked, SearchViewFullScreen, Select, ShapeIcon, ShapeMedia, ShapeMediaServer, ShapeSvg, SideSheet, SideSheetModal, Slider, SliderColors, SliderTokens, SmallAppBar, Snackbar, SnackbarHost, SnackbarProvider, SplitButtonLayout, SplitButtonLeading, SplitButtonTrailing, SplitButtonTrailingUncheckable, SubMenu, Switch, SwitchColors, SwitchTokens, TP_CLASSES, TP_COLORS, TP_SHAPE, TP_SIZE, Tab, TableOfContents, Tabs, TabsColors, TabsContent, TabsList, TabsTokens, Text, TextField, TimeInput, TimePicker, TimePickerDialog, ToggleFAB, TonalSplitButtonLeading, TonalSplitButtonTrailing, TonalSplitButtonTrailingUncheckable, ToolbarDivider, ToolbarDividerTokens, ToolbarIconButton, ToolbarIconButtonTokens, ToolbarToggleButton, ToolbarToggleButtonTokens, TooltipBox, TooltipCaretShape, TooltipTokens, TriStateCheckbox, TypeScaleTokens, Typography, TypographyContext, TypographyKeyTokens, TypographyProvider, TypographyTokens, UNROUNDED, VIBRANT_COLORS, VerticalFloatingToolbar, VerticalFloatingToolbarWithFab, VerticalMenu, VerticalMenuContent, VerticalMenuDivider, VerticalMenuGroup, addPoints, appBarTypography, applyTheme, buildWavePath, circle, clockwise, cn, convex, cornerFeature, cornerRounding, createDoubleMapper, createMd3ExpressiveTheme, directionVector, distance, distanceSquared, dividePoint, dotProduct, edgeFeature, featureMapper, generateM3Theme, getDirection, getDistance, getDistanceSquared, getExpressiveShape, getListItemHeight, getToolbarColors, interpolate, interpolatePath, lerpPoint, pill, pillStar, point, positiveModulo, radialToCartesian, rectangle, resolveMode, rotate90, scalePoint, shouldTopAlign, square, standardFloatingToolbarColors, star, subtractPoints, surfaceContainerHighFloatingToolbarColors, surfaceContainerHighestFloatingToolbarColors, tertiaryContainerFloatingToolbarColors, toClipPath, toSvgPath, transformFeature, transformPoint, useAppBarScroll, useBottomSheet, useRipple as useDOMRipple, useDatePickerState, useDateRangePickerState, useFloatingToolbarScrollBehavior, useListContext, useMediaQuery, useMenuContext, useRipple2 as useRipple, useRippleState, useSearchKeyboard, useShapeMorph, useSnackbar, useSnackbarState, useTheme, useThemeMode, useTimePickerState, useTooltipPosition, useTooltipState, useTypography, vibrantFloatingToolbarColors, xrFloatingToolbarColors };
25396
25523
  //# sourceMappingURL=index.mjs.map
25397
25524
  //# sourceMappingURL=index.mjs.map