@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.
- package/CHANGELOG.md +12 -0
- package/dist/buttons.d.mts +3 -3
- package/dist/buttons.d.ts +3 -3
- package/dist/buttons.js +195 -50
- package/dist/buttons.js.map +1 -1
- package/dist/buttons.mjs +196 -51
- package/dist/buttons.mjs.map +1 -1
- package/dist/{core-D4048_K5.d.mts → core-CAU8g2HY.d.mts} +1 -1
- package/dist/{core-Bc5Wj_pc.d.ts → core-DRrLnsnJ.d.ts} +1 -1
- package/dist/core.d.mts +2 -2
- package/dist/core.d.ts +2 -2
- package/dist/core.js +159 -28
- package/dist/core.js.map +1 -1
- package/dist/core.mjs +160 -29
- package/dist/core.mjs.map +1 -1
- package/dist/feedback.d.mts +28 -6
- package/dist/feedback.d.ts +28 -6
- package/dist/feedback.js +161 -30
- package/dist/feedback.js.map +1 -1
- package/dist/feedback.mjs +162 -31
- package/dist/feedback.mjs.map +1 -1
- package/dist/forms.d.mts +3 -2
- package/dist/forms.d.ts +3 -2
- package/dist/forms.js +88 -100
- package/dist/forms.js.map +1 -1
- package/dist/forms.mjs +88 -100
- package/dist/forms.mjs.map +1 -1
- package/dist/{icon-button-CSsDmuQC.d.mts → icon-button-CqdQBsRe.d.ts} +11 -5
- package/dist/{icon-button-CSsDmuQC.d.ts → icon-button-USJo7AqO.d.mts} +11 -5
- package/dist/index.d.mts +8 -8
- package/dist/index.d.ts +8 -8
- package/dist/index.js +570 -309
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +570 -310
- package/dist/index.mjs.map +1 -1
- package/dist/layout.d.mts +1 -1
- package/dist/layout.d.ts +1 -1
- package/dist/layout.js +159 -60
- package/dist/layout.js.map +1 -1
- package/dist/layout.mjs +160 -61
- package/dist/layout.mjs.map +1 -1
- package/dist/{md3-Dty-Qcad.d.mts → md3-D0_Z7IXj.d.mts} +9 -1
- package/dist/{md3-Dty-Qcad.d.ts → md3-D0_Z7IXj.d.ts} +9 -1
- package/dist/navigation.d.mts +103 -33
- package/dist/navigation.d.ts +103 -33
- package/dist/navigation.js +443 -152
- package/dist/navigation.js.map +1 -1
- package/dist/navigation.mjs +444 -154
- package/dist/navigation.mjs.map +1 -1
- package/dist/overlays.js +159 -28
- package/dist/overlays.js.map +1 -1
- package/dist/overlays.mjs +160 -29
- package/dist/overlays.mjs.map +1 -1
- package/dist/pickers.js +159 -28
- package/dist/pickers.js.map +1 -1
- package/dist/pickers.mjs +160 -29
- package/dist/pickers.mjs.map +1 -1
- package/dist/{split-button-trailing-uncheckable-DPJL3bO6.d.mts → split-button-trailing-uncheckable-CIVEYgjY.d.mts} +12 -7
- package/dist/{split-button-trailing-uncheckable--BhNTEJw.d.ts → split-button-trailing-uncheckable-DTQJjzsB.d.ts} +12 -7
- package/dist/{text-field-DWC7qOvp.d.mts → text-field-CiOmDM_8.d.ts} +52 -51
- package/dist/{text-field-DWC7qOvp.d.ts → text-field-Ear3hCSq.d.mts} +52 -51
- package/package.json +3 -3
package/dist/navigation.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var react = require('motion/react');
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
var React37 = require('react');
|
|
8
9
|
var RxContextMenu = require('@radix-ui/react-context-menu');
|
|
9
|
-
var react = require('motion/react');
|
|
10
10
|
var m3Tokens = require('@bug-on/m3-tokens');
|
|
11
11
|
var DropdownMenu = require('@radix-ui/react-dropdown-menu');
|
|
12
12
|
var reactSlot = require('@radix-ui/react-slot');
|
|
@@ -66,6 +66,55 @@ var __objRest = (source, exclude) => {
|
|
|
66
66
|
}
|
|
67
67
|
return target;
|
|
68
68
|
};
|
|
69
|
+
function cn(...inputs) {
|
|
70
|
+
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
71
|
+
}
|
|
72
|
+
function getMaskGradient(direction) {
|
|
73
|
+
switch (direction) {
|
|
74
|
+
case "bottom":
|
|
75
|
+
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%)";
|
|
76
|
+
case "both":
|
|
77
|
+
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%)";
|
|
78
|
+
default:
|
|
79
|
+
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%)";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function FadingBlurMask({
|
|
83
|
+
direction = "top",
|
|
84
|
+
blurIntensity = 12,
|
|
85
|
+
blurHeight = "100%",
|
|
86
|
+
color = "var(--md-sys-color-surface)",
|
|
87
|
+
className,
|
|
88
|
+
style,
|
|
89
|
+
children
|
|
90
|
+
}) {
|
|
91
|
+
const shouldReduceMotion = react.useReducedMotion();
|
|
92
|
+
const activeBlur = shouldReduceMotion ? 0 : blurIntensity;
|
|
93
|
+
const maskGradient = getMaskGradient(direction);
|
|
94
|
+
const maskStyle = __spreadValues({
|
|
95
|
+
position: "absolute",
|
|
96
|
+
inset: 0,
|
|
97
|
+
pointerEvents: "none",
|
|
98
|
+
height: typeof blurHeight === "number" ? `${blurHeight}px` : blurHeight,
|
|
99
|
+
backdropFilter: activeBlur > 0 ? `blur(${activeBlur}px)` : void 0,
|
|
100
|
+
WebkitBackdropFilter: activeBlur > 0 ? `blur(${activeBlur}px)` : void 0,
|
|
101
|
+
maskImage: maskGradient,
|
|
102
|
+
WebkitMaskImage: maskGradient,
|
|
103
|
+
backgroundColor: color
|
|
104
|
+
}, style);
|
|
105
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
106
|
+
"div",
|
|
107
|
+
{
|
|
108
|
+
"aria-hidden": "true",
|
|
109
|
+
className: cn(
|
|
110
|
+
"absolute inset-0 pointer-events-none z-0 rounded-[inherit]",
|
|
111
|
+
className
|
|
112
|
+
),
|
|
113
|
+
style: maskStyle,
|
|
114
|
+
children
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
}
|
|
69
118
|
|
|
70
119
|
// src/ui/shared/motion-tokens.ts
|
|
71
120
|
var FAST_SPATIAL_SPRING = {
|
|
@@ -220,9 +269,6 @@ var APP_BAR_TITLE_FADE = {
|
|
|
220
269
|
duration: 0.15,
|
|
221
270
|
ease: "easeInOut"
|
|
222
271
|
};
|
|
223
|
-
function cn(...inputs) {
|
|
224
|
-
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
225
|
-
}
|
|
226
272
|
function AppBarItemButton({ item }) {
|
|
227
273
|
const isDisabled = item.enabled === false;
|
|
228
274
|
if (item.type === "custom" && item.appBarContent) {
|
|
@@ -1749,7 +1795,10 @@ function BottomAppBar({
|
|
|
1749
1795
|
floatingActionButton,
|
|
1750
1796
|
scrollBehavior = "visible",
|
|
1751
1797
|
scrollElement,
|
|
1752
|
-
className
|
|
1798
|
+
className,
|
|
1799
|
+
enableFadingBlur,
|
|
1800
|
+
blurIntensity,
|
|
1801
|
+
blurHeight
|
|
1753
1802
|
}) {
|
|
1754
1803
|
const shouldReduceMotion = react.useReducedMotion();
|
|
1755
1804
|
const { isHidden } = useAppBarScroll({
|
|
@@ -1764,9 +1813,9 @@ function BottomAppBar({
|
|
|
1764
1813
|
role: "navigation",
|
|
1765
1814
|
"aria-label": "Bottom app bar",
|
|
1766
1815
|
className: cn(
|
|
1767
|
-
"fixed bottom-0 inset-x-0 z-50",
|
|
1816
|
+
"fixed bottom-0 inset-x-0 z-50 overflow-hidden rounded-[inherit]",
|
|
1768
1817
|
"flex items-center",
|
|
1769
|
-
"bg-m3-surface-container",
|
|
1818
|
+
!enableFadingBlur && "bg-m3-surface-container",
|
|
1770
1819
|
"px-2",
|
|
1771
1820
|
// minimal horizontal padding, icon buttons provide spacing
|
|
1772
1821
|
"elevation-2",
|
|
@@ -1779,8 +1828,19 @@ function BottomAppBar({
|
|
|
1779
1828
|
animate: { y: translateY },
|
|
1780
1829
|
transition: hideTransition,
|
|
1781
1830
|
children: [
|
|
1782
|
-
|
|
1783
|
-
|
|
1831
|
+
enableFadingBlur && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1832
|
+
FadingBlurMask,
|
|
1833
|
+
{
|
|
1834
|
+
direction: "bottom",
|
|
1835
|
+
blurIntensity,
|
|
1836
|
+
blurHeight,
|
|
1837
|
+
color: "var(--md-sys-color-surface-container)"
|
|
1838
|
+
}
|
|
1839
|
+
),
|
|
1840
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10 flex items-center w-full h-full", children: [
|
|
1841
|
+
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center flex-1", children: actions }),
|
|
1842
|
+
floatingActionButton && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 ml-auto mr-2", children: floatingActionButton })
|
|
1843
|
+
] })
|
|
1784
1844
|
]
|
|
1785
1845
|
}
|
|
1786
1846
|
);
|
|
@@ -1888,7 +1948,10 @@ function LargeFlexibleAppBar({
|
|
|
1888
1948
|
headerContent,
|
|
1889
1949
|
collapsedHeight = AppBarTokens.heights.flexibleCollapsed,
|
|
1890
1950
|
expandedHeight,
|
|
1891
|
-
className
|
|
1951
|
+
className,
|
|
1952
|
+
enableFadingBlur,
|
|
1953
|
+
blurIntensity,
|
|
1954
|
+
blurHeight
|
|
1892
1955
|
}) {
|
|
1893
1956
|
var _a, _b, _c;
|
|
1894
1957
|
const resolvedExpandedHeight = expandedHeight != null ? expandedHeight : subtitle ? AppBarTokens.heights.largeFlexWithSubtitleExpanded : AppBarTokens.heights.largeFlexExpanded;
|
|
@@ -1918,15 +1981,28 @@ function LargeFlexibleAppBar({
|
|
|
1918
1981
|
{
|
|
1919
1982
|
role: "banner",
|
|
1920
1983
|
className: cn(
|
|
1921
|
-
"fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden",
|
|
1984
|
+
"fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden rounded-[inherit]",
|
|
1922
1985
|
className
|
|
1923
1986
|
),
|
|
1924
|
-
style: {
|
|
1987
|
+
style: {
|
|
1988
|
+
height,
|
|
1989
|
+
backgroundColor: enableFadingBlur ? "transparent" : currentBg,
|
|
1990
|
+
transition: cssTransition
|
|
1991
|
+
},
|
|
1925
1992
|
children: [
|
|
1993
|
+
enableFadingBlur && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1994
|
+
FadingBlurMask,
|
|
1995
|
+
{
|
|
1996
|
+
direction: "top",
|
|
1997
|
+
blurIntensity,
|
|
1998
|
+
blurHeight,
|
|
1999
|
+
color: currentBg
|
|
2000
|
+
}
|
|
2001
|
+
),
|
|
1926
2002
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1927
2003
|
"div",
|
|
1928
2004
|
{
|
|
1929
|
-
className: "flex items-center px-1 shrink-0",
|
|
2005
|
+
className: "relative z-10 flex items-center px-1 shrink-0",
|
|
1930
2006
|
style: { height: collapsedHeight },
|
|
1931
2007
|
children: [
|
|
1932
2008
|
navigationIcon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1968,7 +2044,7 @@ function LargeFlexibleAppBar({
|
|
|
1968
2044
|
"div",
|
|
1969
2045
|
{
|
|
1970
2046
|
className: cn(
|
|
1971
|
-
"flex flex-col flex-1 px-4 pb-
|
|
2047
|
+
"relative z-10 flex flex-col flex-1 px-4 pb-3 justify-end",
|
|
1972
2048
|
isCentered ? "items-center" : "items-start"
|
|
1973
2049
|
),
|
|
1974
2050
|
children: [
|
|
@@ -2021,7 +2097,10 @@ function MediumFlexibleAppBar({
|
|
|
2021
2097
|
headerContent,
|
|
2022
2098
|
collapsedHeight = AppBarTokens.heights.flexibleCollapsed,
|
|
2023
2099
|
expandedHeight,
|
|
2024
|
-
className
|
|
2100
|
+
className,
|
|
2101
|
+
enableFadingBlur,
|
|
2102
|
+
blurIntensity,
|
|
2103
|
+
blurHeight
|
|
2025
2104
|
}) {
|
|
2026
2105
|
var _a, _b, _c;
|
|
2027
2106
|
const resolvedExpandedHeight = expandedHeight != null ? expandedHeight : subtitle ? AppBarTokens.heights.mediumFlexWithSubtitleExpanded : AppBarTokens.heights.mediumFlexExpanded;
|
|
@@ -2051,15 +2130,28 @@ function MediumFlexibleAppBar({
|
|
|
2051
2130
|
{
|
|
2052
2131
|
role: "banner",
|
|
2053
2132
|
className: cn(
|
|
2054
|
-
"fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden",
|
|
2133
|
+
"fixed top-0 inset-x-0 z-50 flex flex-col overflow-hidden rounded-[inherit]",
|
|
2055
2134
|
className
|
|
2056
2135
|
),
|
|
2057
|
-
style: {
|
|
2136
|
+
style: {
|
|
2137
|
+
height,
|
|
2138
|
+
backgroundColor: enableFadingBlur ? "transparent" : currentBg,
|
|
2139
|
+
transition: cssTransition
|
|
2140
|
+
},
|
|
2058
2141
|
children: [
|
|
2142
|
+
enableFadingBlur && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2143
|
+
FadingBlurMask,
|
|
2144
|
+
{
|
|
2145
|
+
direction: "top",
|
|
2146
|
+
blurIntensity,
|
|
2147
|
+
blurHeight,
|
|
2148
|
+
color: currentBg
|
|
2149
|
+
}
|
|
2150
|
+
),
|
|
2059
2151
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2060
2152
|
"div",
|
|
2061
2153
|
{
|
|
2062
|
-
className: "flex items-center px-1 shrink-0",
|
|
2154
|
+
className: "relative z-10 flex items-center px-1 shrink-0",
|
|
2063
2155
|
style: { height: collapsedHeight },
|
|
2064
2156
|
children: [
|
|
2065
2157
|
navigationIcon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2101,7 +2193,7 @@ function MediumFlexibleAppBar({
|
|
|
2101
2193
|
"div",
|
|
2102
2194
|
{
|
|
2103
2195
|
className: cn(
|
|
2104
|
-
"flex flex-col flex-1 px-4 pb-3 justify-end",
|
|
2196
|
+
"relative z-10 flex flex-col flex-1 px-4 pb-3 justify-end",
|
|
2105
2197
|
isCentered ? "items-center" : "items-start"
|
|
2106
2198
|
),
|
|
2107
2199
|
children: [
|
|
@@ -2148,7 +2240,7 @@ function SearchIcon({ className }) {
|
|
|
2148
2240
|
"span",
|
|
2149
2241
|
{
|
|
2150
2242
|
className: cn(
|
|
2151
|
-
"material-symbols-rounded text-[20px] leading-none select-none",
|
|
2243
|
+
"material-symbols-rounded text-[20px] leading-none select-none flex items-center justify-center",
|
|
2152
2244
|
className
|
|
2153
2245
|
),
|
|
2154
2246
|
"aria-hidden": "true",
|
|
@@ -2168,7 +2260,12 @@ function SearchAppBar({
|
|
|
2168
2260
|
scrollBehavior = "pinned",
|
|
2169
2261
|
scrollElement,
|
|
2170
2262
|
searchBarId = "search-bar",
|
|
2171
|
-
|
|
2263
|
+
searchBarVariant = "filled",
|
|
2264
|
+
searchBarHeight = 56,
|
|
2265
|
+
className,
|
|
2266
|
+
enableFadingBlur,
|
|
2267
|
+
blurIntensity,
|
|
2268
|
+
blurHeight
|
|
2172
2269
|
}) {
|
|
2173
2270
|
var _a, _b;
|
|
2174
2271
|
const shouldReduceMotion = react.useReducedMotion();
|
|
@@ -2191,65 +2288,92 @@ function SearchAppBar({
|
|
|
2191
2288
|
handleSearchClick();
|
|
2192
2289
|
}
|
|
2193
2290
|
};
|
|
2291
|
+
const searchBarBg = isScrolled ? "var(--md-sys-color-surface-container-highest)" : APP_BAR_COLORS.searchBarBg;
|
|
2292
|
+
const isOutlined = searchBarVariant === "outlined";
|
|
2194
2293
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2195
2294
|
react.m.header,
|
|
2196
2295
|
{
|
|
2197
2296
|
role: "banner",
|
|
2198
2297
|
className: cn(
|
|
2199
|
-
"fixed top-0 inset-x-0 z-50 flex items-center gap-2 px-4",
|
|
2298
|
+
"fixed top-0 inset-x-0 z-50 flex items-center gap-2 px-4 overflow-hidden rounded-[inherit]",
|
|
2200
2299
|
className
|
|
2201
2300
|
),
|
|
2202
2301
|
style: {
|
|
2203
2302
|
height: AppBarTokens.heights.small,
|
|
2204
|
-
backgroundColor: currentBg,
|
|
2303
|
+
backgroundColor: enableFadingBlur ? "transparent" : currentBg,
|
|
2205
2304
|
transition: cssTransition
|
|
2206
2305
|
},
|
|
2207
2306
|
children: [
|
|
2208
|
-
|
|
2209
|
-
|
|
2307
|
+
enableFadingBlur && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2308
|
+
FadingBlurMask,
|
|
2210
2309
|
{
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
},
|
|
2216
|
-
children: navigationIcon
|
|
2310
|
+
direction: "top",
|
|
2311
|
+
blurIntensity,
|
|
2312
|
+
blurHeight,
|
|
2313
|
+
color: currentBg
|
|
2217
2314
|
}
|
|
2218
2315
|
),
|
|
2219
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
"
|
|
2242
|
-
|
|
2243
|
-
className: "flex-1 text-[16px] leading-6 truncate select-none",
|
|
2244
|
-
style: { color: APP_BAR_COLORS.searchBarContent },
|
|
2245
|
-
children: searchValue != null ? searchValue : searchPlaceholder
|
|
2246
|
-
}
|
|
2316
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10 flex items-center gap-2 w-full h-full", children: [
|
|
2317
|
+
navigationIcon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2318
|
+
"div",
|
|
2319
|
+
{
|
|
2320
|
+
className: "shrink-0 flex items-center justify-center",
|
|
2321
|
+
style: {
|
|
2322
|
+
width: AppBarTokens.iconButtonTouchTarget,
|
|
2323
|
+
height: AppBarTokens.iconButtonTouchTarget
|
|
2324
|
+
},
|
|
2325
|
+
children: navigationIcon
|
|
2326
|
+
}
|
|
2327
|
+
),
|
|
2328
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2329
|
+
react.m.div,
|
|
2330
|
+
{
|
|
2331
|
+
layoutId: shouldReduceMotion ? void 0 : searchBarId,
|
|
2332
|
+
role: "search",
|
|
2333
|
+
"aria-label": searchPlaceholder,
|
|
2334
|
+
"aria-expanded": isSearchOpen,
|
|
2335
|
+
tabIndex: 0,
|
|
2336
|
+
className: cn(
|
|
2337
|
+
"relative flex flex-1 items-center gap-2 rounded-full cursor-text px-4",
|
|
2338
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
2339
|
+
isOutlined && "border border-(--md-sys-color-outline)"
|
|
2247
2340
|
),
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2341
|
+
style: { height: searchBarHeight },
|
|
2342
|
+
onClick: handleSearchClick,
|
|
2343
|
+
onKeyDown: handleKeyDown,
|
|
2344
|
+
children: [
|
|
2345
|
+
!isOutlined && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2346
|
+
"div",
|
|
2347
|
+
{
|
|
2348
|
+
className: "absolute inset-0 rounded-full -z-10 transition-colors",
|
|
2349
|
+
style: {
|
|
2350
|
+
backgroundColor: searchBarBg,
|
|
2351
|
+
transition: cssTransition
|
|
2352
|
+
}
|
|
2353
|
+
}
|
|
2354
|
+
),
|
|
2355
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2356
|
+
"span",
|
|
2357
|
+
{
|
|
2358
|
+
className: "shrink-0 flex items-center justify-center h-full",
|
|
2359
|
+
style: { color: APP_BAR_COLORS.searchBarContent },
|
|
2360
|
+
children: leadingSearchIcon != null ? leadingSearchIcon : /* @__PURE__ */ jsxRuntime.jsx(SearchIcon, {})
|
|
2361
|
+
}
|
|
2362
|
+
),
|
|
2363
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2364
|
+
"span",
|
|
2365
|
+
{
|
|
2366
|
+
className: "flex-1 text-[16px] leading-6 truncate select-none",
|
|
2367
|
+
style: { color: APP_BAR_COLORS.searchBarContent },
|
|
2368
|
+
children: searchValue != null ? searchValue : searchPlaceholder
|
|
2369
|
+
}
|
|
2370
|
+
),
|
|
2371
|
+
trailingSearchActions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center shrink-0", children: trailingSearchActions })
|
|
2372
|
+
]
|
|
2373
|
+
}
|
|
2374
|
+
),
|
|
2375
|
+
externalActions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center shrink-0", children: externalActions })
|
|
2376
|
+
] })
|
|
2253
2377
|
]
|
|
2254
2378
|
}
|
|
2255
2379
|
);
|
|
@@ -2422,9 +2546,11 @@ function SmallAppBarInner({
|
|
|
2422
2546
|
navigationIcon,
|
|
2423
2547
|
actions,
|
|
2424
2548
|
colors,
|
|
2425
|
-
className,
|
|
2426
2549
|
currentBg,
|
|
2427
|
-
cssTransition
|
|
2550
|
+
cssTransition,
|
|
2551
|
+
enableFadingBlur,
|
|
2552
|
+
blurIntensity,
|
|
2553
|
+
blurHeight
|
|
2428
2554
|
}) {
|
|
2429
2555
|
var _a, _b;
|
|
2430
2556
|
const isCentered = titleAlignment === "center";
|
|
@@ -2432,57 +2558,81 @@ function SmallAppBarInner({
|
|
|
2432
2558
|
react.m.header,
|
|
2433
2559
|
{
|
|
2434
2560
|
role: "banner",
|
|
2435
|
-
className:
|
|
2436
|
-
style: {
|
|
2561
|
+
className: "relative flex items-center px-1 h-full w-full overflow-hidden rounded-[inherit]",
|
|
2562
|
+
style: {
|
|
2563
|
+
backgroundColor: enableFadingBlur ? "transparent" : currentBg,
|
|
2564
|
+
transition: cssTransition
|
|
2565
|
+
},
|
|
2437
2566
|
children: [
|
|
2438
|
-
|
|
2439
|
-
|
|
2567
|
+
enableFadingBlur && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2568
|
+
FadingBlurMask,
|
|
2440
2569
|
{
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
},
|
|
2446
|
-
children: navigationIcon
|
|
2570
|
+
direction: "top",
|
|
2571
|
+
blurIntensity,
|
|
2572
|
+
blurHeight,
|
|
2573
|
+
color: currentBg
|
|
2447
2574
|
}
|
|
2448
2575
|
),
|
|
2449
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
"
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
}
|
|
2576
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10 flex items-center w-full h-full", children: [
|
|
2577
|
+
navigationIcon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2578
|
+
"div",
|
|
2579
|
+
{
|
|
2580
|
+
className: "shrink-0 flex items-center justify-center",
|
|
2581
|
+
style: {
|
|
2582
|
+
width: AppBarTokens.iconButtonTouchTarget,
|
|
2583
|
+
height: AppBarTokens.iconButtonTouchTarget
|
|
2584
|
+
},
|
|
2585
|
+
children: navigationIcon
|
|
2586
|
+
}
|
|
2587
|
+
),
|
|
2588
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2589
|
+
"div",
|
|
2590
|
+
{
|
|
2591
|
+
className: cn(
|
|
2592
|
+
"flex-1 flex flex-col justify-center min-w-0",
|
|
2593
|
+
isCentered ? "items-center" : "items-start",
|
|
2594
|
+
!navigationIcon && !isCentered && "pl-4"
|
|
2469
2595
|
),
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2596
|
+
children: [
|
|
2597
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2598
|
+
"span",
|
|
2599
|
+
{
|
|
2600
|
+
className: cn(
|
|
2601
|
+
appBarTypography.titleLarge,
|
|
2602
|
+
"truncate w-full",
|
|
2603
|
+
isCentered && "text-center"
|
|
2604
|
+
),
|
|
2605
|
+
style: { color: (_a = colors == null ? void 0 : colors.titleColor) != null ? _a : APP_BAR_COLORS.title },
|
|
2606
|
+
children: title
|
|
2607
|
+
}
|
|
2608
|
+
),
|
|
2609
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2610
|
+
"span",
|
|
2611
|
+
{
|
|
2612
|
+
className: cn(
|
|
2613
|
+
appBarTypography.labelMedium,
|
|
2614
|
+
"truncate w-full",
|
|
2615
|
+
isCentered && "text-center"
|
|
2616
|
+
),
|
|
2617
|
+
style: {
|
|
2618
|
+
color: (_b = colors == null ? void 0 : colors.subtitleColor) != null ? _b : APP_BAR_COLORS.subtitle
|
|
2619
|
+
},
|
|
2620
|
+
children: subtitle
|
|
2621
|
+
}
|
|
2622
|
+
)
|
|
2623
|
+
]
|
|
2624
|
+
}
|
|
2625
|
+
),
|
|
2626
|
+
isCentered && !actions && navigationIcon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2627
|
+
"div",
|
|
2628
|
+
{
|
|
2629
|
+
"aria-hidden": "true",
|
|
2630
|
+
style: { width: AppBarTokens.iconButtonTouchTarget },
|
|
2631
|
+
className: "shrink-0"
|
|
2632
|
+
}
|
|
2633
|
+
),
|
|
2634
|
+
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center shrink-0", children: actions })
|
|
2635
|
+
] })
|
|
2486
2636
|
]
|
|
2487
2637
|
}
|
|
2488
2638
|
);
|
|
@@ -2496,7 +2646,10 @@ function SmallAppBar({
|
|
|
2496
2646
|
colors,
|
|
2497
2647
|
scrollBehavior = "pinned",
|
|
2498
2648
|
scrollElement,
|
|
2499
|
-
className
|
|
2649
|
+
className,
|
|
2650
|
+
enableFadingBlur,
|
|
2651
|
+
blurIntensity,
|
|
2652
|
+
blurHeight
|
|
2500
2653
|
}) {
|
|
2501
2654
|
var _a, _b;
|
|
2502
2655
|
const shouldReduceMotion = react.useReducedMotion();
|
|
@@ -2516,14 +2669,17 @@ function SmallAppBar({
|
|
|
2516
2669
|
actions,
|
|
2517
2670
|
colors,
|
|
2518
2671
|
currentBg,
|
|
2519
|
-
cssTransition
|
|
2672
|
+
cssTransition,
|
|
2673
|
+
enableFadingBlur,
|
|
2674
|
+
blurIntensity,
|
|
2675
|
+
blurHeight
|
|
2520
2676
|
};
|
|
2521
2677
|
const barHeight = AppBarTokens.heights.small;
|
|
2522
2678
|
if (scrollBehavior !== "enterAlways") {
|
|
2523
2679
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2524
2680
|
"div",
|
|
2525
2681
|
{
|
|
2526
|
-
className: cn("fixed top-0 inset-x-0 z-50", className),
|
|
2682
|
+
className: cn("fixed top-0 inset-x-0 z-50 overflow-hidden", className),
|
|
2527
2683
|
style: { height: barHeight },
|
|
2528
2684
|
children: /* @__PURE__ */ jsxRuntime.jsx(SmallAppBarInner, __spreadValues({}, innerProps))
|
|
2529
2685
|
}
|
|
@@ -2536,7 +2692,10 @@ function SmallAppBar({
|
|
|
2536
2692
|
animate: { y: 0 },
|
|
2537
2693
|
exit: { y: "-100%" },
|
|
2538
2694
|
transition: shouldReduceMotion ? { duration: 0 } : APP_BAR_ENTER_ALWAYS_SPRING,
|
|
2539
|
-
className: cn(
|
|
2695
|
+
className: cn(
|
|
2696
|
+
"fixed top-0 inset-x-0 z-50 overflow-hidden",
|
|
2697
|
+
className
|
|
2698
|
+
),
|
|
2540
2699
|
style: { height: barHeight },
|
|
2541
2700
|
children: /* @__PURE__ */ jsxRuntime.jsx(SmallAppBarInner, __spreadValues({}, innerProps))
|
|
2542
2701
|
},
|
|
@@ -6311,7 +6470,7 @@ LoadingIndicator.displayName = "LoadingIndicator";
|
|
|
6311
6470
|
function easeInOutCubic(x) {
|
|
6312
6471
|
return x < 0.5 ? 4 * x * x * x : 1 - (-2 * x + 2) ** 3 / 2;
|
|
6313
6472
|
}
|
|
6314
|
-
function generateWavyCircularPath(center, radius, amplitude, wavelength) {
|
|
6473
|
+
function generateWavyCircularPath(center, radius, amplitude, wavelength, phase = 0) {
|
|
6315
6474
|
const circumference = 2 * Math.PI * radius;
|
|
6316
6475
|
const numWaves = Math.max(
|
|
6317
6476
|
3,
|
|
@@ -6319,8 +6478,8 @@ function generateWavyCircularPath(center, radius, amplitude, wavelength) {
|
|
|
6319
6478
|
);
|
|
6320
6479
|
const steps = numWaves * 4;
|
|
6321
6480
|
const dt = 2 * Math.PI / steps;
|
|
6322
|
-
const rAt = (t) => radius + amplitude * Math.sin(numWaves * t);
|
|
6323
|
-
const drAt = (t) => amplitude * numWaves * Math.cos(numWaves * t);
|
|
6481
|
+
const rAt = (t) => radius + amplitude * Math.sin(numWaves * t + phase);
|
|
6482
|
+
const drAt = (t) => amplitude * numWaves * Math.cos(numWaves * t + phase);
|
|
6324
6483
|
const xAt = (t) => center + rAt(t) * Math.cos(t);
|
|
6325
6484
|
const yAt = (t) => center + rAt(t) * Math.sin(t);
|
|
6326
6485
|
const dxAt = (t) => drAt(t) * Math.cos(t) - rAt(t) * Math.sin(t);
|
|
@@ -6385,15 +6544,18 @@ var CircularProgress = React37__namespace.forwardRef(
|
|
|
6385
6544
|
size = 48,
|
|
6386
6545
|
trackHeight = 4,
|
|
6387
6546
|
shape = "flat",
|
|
6547
|
+
trackShape = "flat",
|
|
6388
6548
|
amplitude,
|
|
6389
6549
|
wavelength,
|
|
6390
6550
|
gapSize = 4,
|
|
6551
|
+
waveSpeed = 1,
|
|
6391
6552
|
crawlerSpeed = 1,
|
|
6392
6553
|
color,
|
|
6393
6554
|
trackColor,
|
|
6394
6555
|
showTrack = "auto",
|
|
6395
6556
|
minProgress = DEFAULT_MIN_PROGRESS,
|
|
6396
6557
|
maxProgress = DEFAULT_MAX_PROGRESS,
|
|
6558
|
+
determinateAnimation = "md3",
|
|
6397
6559
|
amplitudeRange,
|
|
6398
6560
|
className,
|
|
6399
6561
|
"aria-label": ariaLabel
|
|
@@ -6402,15 +6564,18 @@ var CircularProgress = React37__namespace.forwardRef(
|
|
|
6402
6564
|
"size",
|
|
6403
6565
|
"trackHeight",
|
|
6404
6566
|
"shape",
|
|
6567
|
+
"trackShape",
|
|
6405
6568
|
"amplitude",
|
|
6406
6569
|
"wavelength",
|
|
6407
6570
|
"gapSize",
|
|
6571
|
+
"waveSpeed",
|
|
6408
6572
|
"crawlerSpeed",
|
|
6409
6573
|
"color",
|
|
6410
6574
|
"trackColor",
|
|
6411
6575
|
"showTrack",
|
|
6412
6576
|
"minProgress",
|
|
6413
6577
|
"maxProgress",
|
|
6578
|
+
"determinateAnimation",
|
|
6414
6579
|
"amplitudeRange",
|
|
6415
6580
|
"className",
|
|
6416
6581
|
"aria-label"
|
|
@@ -6423,6 +6588,7 @@ var CircularProgress = React37__namespace.forwardRef(
|
|
|
6423
6588
|
const bgTrackColor = trackColor || "var(--md-sys-color-indicator-track)";
|
|
6424
6589
|
const isWavy = shape === "wavy";
|
|
6425
6590
|
const shouldShowIndeterminateTrack = showTrack === "auto" ? isWavy : showTrack;
|
|
6591
|
+
const shouldShowDeterminateTrack = showTrack === "auto" ? true : showTrack;
|
|
6426
6592
|
const BASELINE_SIZE = 48;
|
|
6427
6593
|
const scaleFactor = size / BASELINE_SIZE;
|
|
6428
6594
|
const effectiveAmplitude = React37__namespace.useMemo(
|
|
@@ -6455,19 +6621,50 @@ var CircularProgress = React37__namespace.forwardRef(
|
|
|
6455
6621
|
const trackOffset = isDeterminate ? activeAngularFraction + gapForTrack : 0;
|
|
6456
6622
|
const trackLength = isDeterminate ? Math.max(1e-3, 1 - activeAngularFraction - 2 * gapForTrack) : 1;
|
|
6457
6623
|
const ActiveCircleElem = react.m.circle;
|
|
6458
|
-
const ActivePathElem = react.m.path;
|
|
6459
6624
|
const indeterminateSvgRef = React37__namespace.useRef(null);
|
|
6460
6625
|
const indeterminateTrackRef = React37__namespace.useRef(null);
|
|
6461
6626
|
const indeterminateActiveRef = React37__namespace.useRef(null);
|
|
6462
6627
|
const indeterminateWavyTrackPathRef = React37__namespace.useRef(null);
|
|
6463
6628
|
const indeterminateWavyActivePathRef = React37__namespace.useRef(null);
|
|
6629
|
+
const determinateWavyActivePathRef = React37__namespace.useRef(null);
|
|
6630
|
+
const determinateWavyTrackPathRef = React37__namespace.useRef(null);
|
|
6464
6631
|
const cachedPathLengthRef = React37__namespace.useRef(0);
|
|
6632
|
+
const fractionMV = react.useMotionValue(isDeterminate ? clampedValue / 100 : 0);
|
|
6633
|
+
const amplitudeMV = react.useMotionValue(isWavy ? effectiveAmplitude : 0);
|
|
6634
|
+
React37__namespace.useEffect(() => {
|
|
6635
|
+
if (isDeterminate) {
|
|
6636
|
+
react.animate(fractionMV, clampedValue / 100, {
|
|
6637
|
+
duration: 0.4,
|
|
6638
|
+
ease: [0.2, 0, 0, 1]
|
|
6639
|
+
});
|
|
6640
|
+
}
|
|
6641
|
+
}, [clampedValue, isDeterminate, fractionMV]);
|
|
6642
|
+
React37__namespace.useEffect(() => {
|
|
6643
|
+
if (!isDeterminate || !isWavy) return;
|
|
6644
|
+
const fraction = clampedValue / 100;
|
|
6645
|
+
let targetAmp = effectiveAmplitude;
|
|
6646
|
+
if (determinateAnimation === "md3") {
|
|
6647
|
+
targetAmp = fraction <= 0.1 || fraction >= 0.95 ? 0 : effectiveAmplitude;
|
|
6648
|
+
}
|
|
6649
|
+
react.animate(amplitudeMV, targetAmp, {
|
|
6650
|
+
type: "spring",
|
|
6651
|
+
bounce: 0,
|
|
6652
|
+
duration: 0.5
|
|
6653
|
+
});
|
|
6654
|
+
}, [
|
|
6655
|
+
clampedValue,
|
|
6656
|
+
isDeterminate,
|
|
6657
|
+
isWavy,
|
|
6658
|
+
effectiveAmplitude,
|
|
6659
|
+
amplitudeMV,
|
|
6660
|
+
determinateAnimation
|
|
6661
|
+
]);
|
|
6465
6662
|
React37__namespace.useLayoutEffect(() => {
|
|
6466
6663
|
if (!isWavy || !wavyActivePath) {
|
|
6467
6664
|
cachedPathLengthRef.current = circumference;
|
|
6468
6665
|
return;
|
|
6469
6666
|
}
|
|
6470
|
-
const el = indeterminateActiveRef.current;
|
|
6667
|
+
const el = indeterminateActiveRef.current || determinateWavyActivePathRef.current;
|
|
6471
6668
|
if (el && "getTotalLength" in el) {
|
|
6472
6669
|
try {
|
|
6473
6670
|
const len = el.getTotalLength();
|
|
@@ -6481,7 +6678,65 @@ var CircularProgress = React37__namespace.forwardRef(
|
|
|
6481
6678
|
cachedPathLengthRef.current = circumference;
|
|
6482
6679
|
}, [isWavy, circumference, wavyActivePath]);
|
|
6483
6680
|
react.useAnimationFrame((time) => {
|
|
6484
|
-
|
|
6681
|
+
const safeWaveSpeed = Math.max(0.1, waveSpeed);
|
|
6682
|
+
const wavePhase = time / 1e3 * safeWaveSpeed * 2 * Math.PI;
|
|
6683
|
+
if (isDeterminate) {
|
|
6684
|
+
if (isWavy) {
|
|
6685
|
+
const currentAmp = amplitudeMV.get();
|
|
6686
|
+
const dynamicPath = generateWavyCircularPath(
|
|
6687
|
+
center,
|
|
6688
|
+
radius,
|
|
6689
|
+
currentAmp,
|
|
6690
|
+
effectiveWavelength,
|
|
6691
|
+
wavePhase
|
|
6692
|
+
);
|
|
6693
|
+
if (determinateWavyActivePathRef.current) {
|
|
6694
|
+
determinateWavyActivePathRef.current.setAttribute("d", dynamicPath);
|
|
6695
|
+
}
|
|
6696
|
+
if (trackShape === "wavy" && determinateWavyTrackPathRef.current) {
|
|
6697
|
+
determinateWavyTrackPathRef.current.setAttribute("d", dynamicPath);
|
|
6698
|
+
}
|
|
6699
|
+
const pathEl = determinateWavyActivePathRef.current;
|
|
6700
|
+
let totalLen = cachedPathLengthRef.current || circumference;
|
|
6701
|
+
if (pathEl) {
|
|
6702
|
+
try {
|
|
6703
|
+
const len = pathEl.getTotalLength();
|
|
6704
|
+
if (len > 0) totalLen = len;
|
|
6705
|
+
} catch (e) {
|
|
6706
|
+
}
|
|
6707
|
+
}
|
|
6708
|
+
const activeFrac = Math.max(0, Math.min(1, fractionMV.get()));
|
|
6709
|
+
const activeLen = totalLen * activeFrac;
|
|
6710
|
+
if (determinateWavyActivePathRef.current) {
|
|
6711
|
+
determinateWavyActivePathRef.current.setAttribute(
|
|
6712
|
+
"stroke-dasharray",
|
|
6713
|
+
`${activeLen} ${totalLen}`
|
|
6714
|
+
);
|
|
6715
|
+
determinateWavyActivePathRef.current.setAttribute(
|
|
6716
|
+
"stroke-dashoffset",
|
|
6717
|
+
"0"
|
|
6718
|
+
);
|
|
6719
|
+
}
|
|
6720
|
+
if (shouldShowDeterminateTrack && trackShape === "wavy" && determinateWavyTrackPathRef.current) {
|
|
6721
|
+
const gapFrac = (gapSize + trackHeight) / totalLen;
|
|
6722
|
+
const trackStartFrac = activeFrac + gapFrac;
|
|
6723
|
+
const trackLen = Math.max(
|
|
6724
|
+
1e-3,
|
|
6725
|
+
totalLen * (1 - activeFrac - 2 * gapFrac)
|
|
6726
|
+
);
|
|
6727
|
+
const trackOff = -totalLen * trackStartFrac;
|
|
6728
|
+
determinateWavyTrackPathRef.current.setAttribute(
|
|
6729
|
+
"stroke-dasharray",
|
|
6730
|
+
`${trackLen} ${totalLen}`
|
|
6731
|
+
);
|
|
6732
|
+
determinateWavyTrackPathRef.current.setAttribute(
|
|
6733
|
+
"stroke-dashoffset",
|
|
6734
|
+
`${trackOff}`
|
|
6735
|
+
);
|
|
6736
|
+
}
|
|
6737
|
+
}
|
|
6738
|
+
return;
|
|
6739
|
+
}
|
|
6485
6740
|
const safeCrawlerSpeed = Math.max(0.1, crawlerSpeed);
|
|
6486
6741
|
const scaledTime = time * safeCrawlerSpeed;
|
|
6487
6742
|
const globalCycle = scaledTime % GLOBAL_ROTATION_DURATION;
|
|
@@ -6516,7 +6771,8 @@ var CircularProgress = React37__namespace.forwardRef(
|
|
|
6516
6771
|
center,
|
|
6517
6772
|
radius,
|
|
6518
6773
|
currentAmplitude,
|
|
6519
|
-
effectiveWavelength
|
|
6774
|
+
effectiveWavelength,
|
|
6775
|
+
wavePhase
|
|
6520
6776
|
);
|
|
6521
6777
|
if (indeterminateWavyActivePathRef.current) {
|
|
6522
6778
|
indeterminateWavyActivePathRef.current.setAttribute("d", dynamicPath);
|
|
@@ -6611,7 +6867,7 @@ var CircularProgress = React37__namespace.forwardRef(
|
|
|
6611
6867
|
style: { width: size, height: size }
|
|
6612
6868
|
}, restProps), {
|
|
6613
6869
|
children: /* @__PURE__ */ jsxRuntime.jsxs(react.LazyMotion, { features: react.domMax, strict: true, children: [
|
|
6614
|
-
/* @__PURE__ */ jsxRuntime.
|
|
6870
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6615
6871
|
"svg",
|
|
6616
6872
|
{
|
|
6617
6873
|
width: size,
|
|
@@ -6619,8 +6875,18 @@ var CircularProgress = React37__namespace.forwardRef(
|
|
|
6619
6875
|
viewBox: `0 0 ${size} ${size}`,
|
|
6620
6876
|
"aria-hidden": "true",
|
|
6621
6877
|
style: { transform: "rotate(-90deg)", overflow: "visible" },
|
|
6622
|
-
children: [
|
|
6623
|
-
|
|
6878
|
+
children: isDeterminate ? isWavy ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6879
|
+
shouldShowDeterminateTrack && (trackShape === "wavy" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6880
|
+
"path",
|
|
6881
|
+
{
|
|
6882
|
+
ref: determinateWavyTrackPathRef,
|
|
6883
|
+
d: wavyActivePath != null ? wavyActivePath : "",
|
|
6884
|
+
fill: "none",
|
|
6885
|
+
stroke: bgTrackColor,
|
|
6886
|
+
strokeWidth: trackHeight,
|
|
6887
|
+
strokeLinecap: "round"
|
|
6888
|
+
}
|
|
6889
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
6624
6890
|
react.m.circle,
|
|
6625
6891
|
{
|
|
6626
6892
|
cx: center,
|
|
@@ -6629,28 +6895,52 @@ var CircularProgress = React37__namespace.forwardRef(
|
|
|
6629
6895
|
fill: "none",
|
|
6630
6896
|
stroke: bgTrackColor,
|
|
6631
6897
|
strokeWidth: trackHeight,
|
|
6632
|
-
initial: {
|
|
6633
|
-
|
|
6898
|
+
initial: {
|
|
6899
|
+
pathLength: trackLength,
|
|
6900
|
+
pathOffset: trackOffset
|
|
6901
|
+
},
|
|
6902
|
+
animate: {
|
|
6903
|
+
pathLength: trackLength,
|
|
6904
|
+
pathOffset: trackOffset
|
|
6905
|
+
},
|
|
6634
6906
|
transition: { duration: 0.4, ease: [0.2, 0, 0, 1] },
|
|
6635
6907
|
strokeLinecap: "round"
|
|
6636
6908
|
}
|
|
6637
|
-
)
|
|
6638
|
-
|
|
6639
|
-
|
|
6909
|
+
)),
|
|
6910
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6911
|
+
"path",
|
|
6640
6912
|
{
|
|
6913
|
+
ref: determinateWavyActivePathRef,
|
|
6641
6914
|
d: wavyActivePath != null ? wavyActivePath : "",
|
|
6642
6915
|
fill: "none",
|
|
6643
6916
|
stroke: activeColor,
|
|
6644
6917
|
strokeWidth: trackHeight,
|
|
6645
|
-
strokeLinecap: "round"
|
|
6646
|
-
initial: { pathLength: 0 },
|
|
6647
|
-
animate: { pathLength: clampedValue / 100 },
|
|
6648
|
-
transition: {
|
|
6649
|
-
duration: 0.4,
|
|
6650
|
-
ease: [0.2, 0, 0, 1]
|
|
6651
|
-
}
|
|
6918
|
+
strokeLinecap: "round"
|
|
6652
6919
|
}
|
|
6653
|
-
)
|
|
6920
|
+
)
|
|
6921
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6922
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6923
|
+
react.m.circle,
|
|
6924
|
+
{
|
|
6925
|
+
cx: center,
|
|
6926
|
+
cy: center,
|
|
6927
|
+
r: radius,
|
|
6928
|
+
fill: "none",
|
|
6929
|
+
stroke: bgTrackColor,
|
|
6930
|
+
strokeWidth: trackHeight,
|
|
6931
|
+
initial: {
|
|
6932
|
+
pathLength: trackLength,
|
|
6933
|
+
pathOffset: trackOffset
|
|
6934
|
+
},
|
|
6935
|
+
animate: {
|
|
6936
|
+
pathLength: trackLength,
|
|
6937
|
+
pathOffset: trackOffset
|
|
6938
|
+
},
|
|
6939
|
+
transition: { duration: 0.4, ease: [0.2, 0, 0, 1] },
|
|
6940
|
+
strokeLinecap: "round"
|
|
6941
|
+
}
|
|
6942
|
+
),
|
|
6943
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6654
6944
|
ActiveCircleElem,
|
|
6655
6945
|
{
|
|
6656
6946
|
cx: center,
|
|
@@ -6667,8 +6957,8 @@ var CircularProgress = React37__namespace.forwardRef(
|
|
|
6667
6957
|
ease: [0.2, 0, 0, 1]
|
|
6668
6958
|
}
|
|
6669
6959
|
}
|
|
6670
|
-
)
|
|
6671
|
-
]
|
|
6960
|
+
)
|
|
6961
|
+
] }) : null
|
|
6672
6962
|
}
|
|
6673
6963
|
),
|
|
6674
6964
|
!isDeterminate && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -7351,7 +7641,7 @@ var IconButtonComponent = React37__namespace.forwardRef(
|
|
|
7351
7641
|
variant = "default",
|
|
7352
7642
|
colorStyle = "standard",
|
|
7353
7643
|
size = "sm",
|
|
7354
|
-
|
|
7644
|
+
width = "default",
|
|
7355
7645
|
shape = "round",
|
|
7356
7646
|
selected,
|
|
7357
7647
|
selectedIcon,
|
|
@@ -7369,7 +7659,7 @@ var IconButtonComponent = React37__namespace.forwardRef(
|
|
|
7369
7659
|
"variant",
|
|
7370
7660
|
"colorStyle",
|
|
7371
7661
|
"size",
|
|
7372
|
-
"
|
|
7662
|
+
"width",
|
|
7373
7663
|
"shape",
|
|
7374
7664
|
"selected",
|
|
7375
7665
|
"selectedIcon",
|
|
@@ -7414,7 +7704,7 @@ var IconButtonComponent = React37__namespace.forwardRef(
|
|
|
7414
7704
|
const iconPx = iconSize != null ? iconSize : defaultIconPx;
|
|
7415
7705
|
const isCustomSize = iconSize != null && iconSize !== "inherit";
|
|
7416
7706
|
const heightClass = (_c = SIZE_HEIGHT_STYLES[size]) != null ? _c : SIZE_HEIGHT_STYLES.sm;
|
|
7417
|
-
const widthClass = (_e = ((_d = WIDTH_SIZE_STYLES[size]) != null ? _d : WIDTH_SIZE_STYLES.sm)[
|
|
7707
|
+
const widthClass = (_e = ((_d = WIDTH_SIZE_STYLES[size]) != null ? _d : WIDTH_SIZE_STYLES.sm)[width]) != null ? _e : WIDTH_SIZE_STYLES.sm.default;
|
|
7418
7708
|
const needsTouchTarget = size === "xs" || size === "sm";
|
|
7419
7709
|
const { ripples, onPointerDown, removeRipple } = useRippleState({
|
|
7420
7710
|
disabled: loading
|
|
@@ -8037,9 +8327,9 @@ function BadgedBox({
|
|
|
8037
8327
|
badge,
|
|
8038
8328
|
children,
|
|
8039
8329
|
className,
|
|
8040
|
-
|
|
8330
|
+
size
|
|
8041
8331
|
}) {
|
|
8042
|
-
const isLarge =
|
|
8332
|
+
const isLarge = size ? size === "lg" : detectBadgeHasContent(badge);
|
|
8043
8333
|
const badgePositionClass = isLarge ? "translate-x-[35%] -translate-y-[35%]" : "translate-x-[50%] -translate-y-[50%]";
|
|
8044
8334
|
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("relative inline-flex", className), children: [
|
|
8045
8335
|
children,
|
|
@@ -9050,7 +9340,7 @@ var FloatingToolbarWithFabBase = React37__namespace.forwardRef(
|
|
|
9050
9340
|
fabPosition = orientation === "horizontal" ? "end" : "bottom",
|
|
9051
9341
|
animationDuration = 0.3,
|
|
9052
9342
|
scrollBehavior,
|
|
9053
|
-
fabSize = "
|
|
9343
|
+
fabSize = "sm",
|
|
9054
9344
|
className,
|
|
9055
9345
|
style
|
|
9056
9346
|
} = _b, props = __objRest(_b, [
|
|
@@ -9070,7 +9360,7 @@ var FloatingToolbarWithFabBase = React37__namespace.forwardRef(
|
|
|
9070
9360
|
const isHorizontal = orientation === "horizontal";
|
|
9071
9361
|
const effectiveExpanded = expanded && (!scrollBehavior || scrollBehavior.isExpanded);
|
|
9072
9362
|
const isFabBefore = fabPosition === "start" || fabPosition === "top";
|
|
9073
|
-
const resolvedFabSize = fabSize === "
|
|
9363
|
+
const resolvedFabSize = fabSize === "md" ? FabBaselineTokens.MediumContainerHeight : FabBaselineTokens.ContainerHeight;
|
|
9074
9364
|
const transitionSpec = __spreadProps(__spreadValues({}, SPRING_TRANSITION), {
|
|
9075
9365
|
duration: animationDuration
|
|
9076
9366
|
});
|
|
@@ -9209,7 +9499,7 @@ var ToolbarIconButton = React37__namespace.forwardRef(
|
|
|
9209
9499
|
(_a, ref) => {
|
|
9210
9500
|
var _b = _a, {
|
|
9211
9501
|
emphasis = "standard",
|
|
9212
|
-
|
|
9502
|
+
width = "default",
|
|
9213
9503
|
selected,
|
|
9214
9504
|
asChild,
|
|
9215
9505
|
className,
|
|
@@ -9217,7 +9507,7 @@ var ToolbarIconButton = React37__namespace.forwardRef(
|
|
|
9217
9507
|
whileTap
|
|
9218
9508
|
} = _b, props = __objRest(_b, [
|
|
9219
9509
|
"emphasis",
|
|
9220
|
-
"
|
|
9510
|
+
"width",
|
|
9221
9511
|
"selected",
|
|
9222
9512
|
"asChild",
|
|
9223
9513
|
"className",
|
|
@@ -9225,7 +9515,7 @@ var ToolbarIconButton = React37__namespace.forwardRef(
|
|
|
9225
9515
|
"whileTap"
|
|
9226
9516
|
]);
|
|
9227
9517
|
const context = useToolbarContext();
|
|
9228
|
-
const widthClass = TOOLBAR_ICON_BUTTON_WIDTH[
|
|
9518
|
+
const widthClass = TOOLBAR_ICON_BUTTON_WIDTH[width];
|
|
9229
9519
|
const colorStyle = VARIANT_TO_COLOR_STYLE[emphasis];
|
|
9230
9520
|
const iconButtonProps = selected !== void 0 ? {
|
|
9231
9521
|
variant: "toggle",
|
|
@@ -9580,6 +9870,7 @@ exports.DIVIDER_PADDING = DIVIDER_PADDING;
|
|
|
9580
9870
|
exports.DockedToolbar = DockedToolbar;
|
|
9581
9871
|
exports.FAST_EFFECTS_TRANSITION = FAST_EFFECTS_TRANSITION;
|
|
9582
9872
|
exports.FAST_SPATIAL_SPRING = FAST_SPATIAL_SPRING;
|
|
9873
|
+
exports.FadingBlurMask = FadingBlurMask;
|
|
9583
9874
|
exports.GROUP_SHAPES = GROUP_SHAPES;
|
|
9584
9875
|
exports.HorizontalFloatingToolbar = HorizontalFloatingToolbar;
|
|
9585
9876
|
exports.HorizontalFloatingToolbarWithFab = HorizontalFloatingToolbarWithFab;
|