@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.
- package/CHANGELOG.md +6 -0
- package/dist/buttons.d.mts +3 -3
- package/dist/buttons.d.ts +3 -3
- package/dist/buttons.js +10 -10
- package/dist/buttons.js.map +1 -1
- package/dist/buttons.mjs +10 -10
- 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 +3 -3
- package/dist/core.js.map +1 -1
- package/dist/core.mjs +3 -3
- package/dist/core.mjs.map +1 -1
- package/dist/feedback.d.mts +8 -6
- package/dist/feedback.d.ts +8 -6
- package/dist/feedback.js +5 -5
- package/dist/feedback.js.map +1 -1
- package/dist/feedback.mjs +5 -5
- package/dist/feedback.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 +6 -6
- package/dist/index.d.ts +6 -6
- package/dist/index.js +291 -163
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +291 -164
- 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 +1 -33
- package/dist/layout.js.map +1 -1
- package/dist/layout.mjs +1 -33
- 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 +287 -127
- package/dist/navigation.js.map +1 -1
- package/dist/navigation.mjs +288 -129
- package/dist/navigation.mjs.map +1 -1
- package/dist/overlays.js +3 -3
- package/dist/overlays.js.map +1 -1
- package/dist/overlays.mjs +3 -3
- package/dist/overlays.mjs.map +1 -1
- package/dist/pickers.js +3 -3
- package/dist/pickers.js.map +1 -1
- package/dist/pickers.mjs +3 -3
- package/dist/pickers.mjs.map +1 -1
- package/dist/{split-button-trailing-uncheckable-DPJL3bO6.d.mts → split-button-trailing-uncheckable-26qlZvKT.d.mts} +10 -7
- package/dist/{split-button-trailing-uncheckable--BhNTEJw.d.ts → split-button-trailing-uncheckable-CXUVrH64.d.ts} +10 -7
- package/package.json +1 -1
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
|
},
|
|
@@ -7351,7 +7510,7 @@ var IconButtonComponent = React37__namespace.forwardRef(
|
|
|
7351
7510
|
variant = "default",
|
|
7352
7511
|
colorStyle = "standard",
|
|
7353
7512
|
size = "sm",
|
|
7354
|
-
|
|
7513
|
+
width = "default",
|
|
7355
7514
|
shape = "round",
|
|
7356
7515
|
selected,
|
|
7357
7516
|
selectedIcon,
|
|
@@ -7369,7 +7528,7 @@ var IconButtonComponent = React37__namespace.forwardRef(
|
|
|
7369
7528
|
"variant",
|
|
7370
7529
|
"colorStyle",
|
|
7371
7530
|
"size",
|
|
7372
|
-
"
|
|
7531
|
+
"width",
|
|
7373
7532
|
"shape",
|
|
7374
7533
|
"selected",
|
|
7375
7534
|
"selectedIcon",
|
|
@@ -7414,7 +7573,7 @@ var IconButtonComponent = React37__namespace.forwardRef(
|
|
|
7414
7573
|
const iconPx = iconSize != null ? iconSize : defaultIconPx;
|
|
7415
7574
|
const isCustomSize = iconSize != null && iconSize !== "inherit";
|
|
7416
7575
|
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)[
|
|
7576
|
+
const widthClass = (_e = ((_d = WIDTH_SIZE_STYLES[size]) != null ? _d : WIDTH_SIZE_STYLES.sm)[width]) != null ? _e : WIDTH_SIZE_STYLES.sm.default;
|
|
7418
7577
|
const needsTouchTarget = size === "xs" || size === "sm";
|
|
7419
7578
|
const { ripples, onPointerDown, removeRipple } = useRippleState({
|
|
7420
7579
|
disabled: loading
|
|
@@ -8037,9 +8196,9 @@ function BadgedBox({
|
|
|
8037
8196
|
badge,
|
|
8038
8197
|
children,
|
|
8039
8198
|
className,
|
|
8040
|
-
|
|
8199
|
+
size
|
|
8041
8200
|
}) {
|
|
8042
|
-
const isLarge =
|
|
8201
|
+
const isLarge = size ? size === "lg" : detectBadgeHasContent(badge);
|
|
8043
8202
|
const badgePositionClass = isLarge ? "translate-x-[35%] -translate-y-[35%]" : "translate-x-[50%] -translate-y-[50%]";
|
|
8044
8203
|
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("relative inline-flex", className), children: [
|
|
8045
8204
|
children,
|
|
@@ -9050,7 +9209,7 @@ var FloatingToolbarWithFabBase = React37__namespace.forwardRef(
|
|
|
9050
9209
|
fabPosition = orientation === "horizontal" ? "end" : "bottom",
|
|
9051
9210
|
animationDuration = 0.3,
|
|
9052
9211
|
scrollBehavior,
|
|
9053
|
-
fabSize = "
|
|
9212
|
+
fabSize = "sm",
|
|
9054
9213
|
className,
|
|
9055
9214
|
style
|
|
9056
9215
|
} = _b, props = __objRest(_b, [
|
|
@@ -9070,7 +9229,7 @@ var FloatingToolbarWithFabBase = React37__namespace.forwardRef(
|
|
|
9070
9229
|
const isHorizontal = orientation === "horizontal";
|
|
9071
9230
|
const effectiveExpanded = expanded && (!scrollBehavior || scrollBehavior.isExpanded);
|
|
9072
9231
|
const isFabBefore = fabPosition === "start" || fabPosition === "top";
|
|
9073
|
-
const resolvedFabSize = fabSize === "
|
|
9232
|
+
const resolvedFabSize = fabSize === "md" ? FabBaselineTokens.MediumContainerHeight : FabBaselineTokens.ContainerHeight;
|
|
9074
9233
|
const transitionSpec = __spreadProps(__spreadValues({}, SPRING_TRANSITION), {
|
|
9075
9234
|
duration: animationDuration
|
|
9076
9235
|
});
|
|
@@ -9209,7 +9368,7 @@ var ToolbarIconButton = React37__namespace.forwardRef(
|
|
|
9209
9368
|
(_a, ref) => {
|
|
9210
9369
|
var _b = _a, {
|
|
9211
9370
|
emphasis = "standard",
|
|
9212
|
-
|
|
9371
|
+
width = "default",
|
|
9213
9372
|
selected,
|
|
9214
9373
|
asChild,
|
|
9215
9374
|
className,
|
|
@@ -9217,7 +9376,7 @@ var ToolbarIconButton = React37__namespace.forwardRef(
|
|
|
9217
9376
|
whileTap
|
|
9218
9377
|
} = _b, props = __objRest(_b, [
|
|
9219
9378
|
"emphasis",
|
|
9220
|
-
"
|
|
9379
|
+
"width",
|
|
9221
9380
|
"selected",
|
|
9222
9381
|
"asChild",
|
|
9223
9382
|
"className",
|
|
@@ -9225,7 +9384,7 @@ var ToolbarIconButton = React37__namespace.forwardRef(
|
|
|
9225
9384
|
"whileTap"
|
|
9226
9385
|
]);
|
|
9227
9386
|
const context = useToolbarContext();
|
|
9228
|
-
const widthClass = TOOLBAR_ICON_BUTTON_WIDTH[
|
|
9387
|
+
const widthClass = TOOLBAR_ICON_BUTTON_WIDTH[width];
|
|
9229
9388
|
const colorStyle = VARIANT_TO_COLOR_STYLE[emphasis];
|
|
9230
9389
|
const iconButtonProps = selected !== void 0 ? {
|
|
9231
9390
|
variant: "toggle",
|
|
@@ -9580,6 +9739,7 @@ exports.DIVIDER_PADDING = DIVIDER_PADDING;
|
|
|
9580
9739
|
exports.DockedToolbar = DockedToolbar;
|
|
9581
9740
|
exports.FAST_EFFECTS_TRANSITION = FAST_EFFECTS_TRANSITION;
|
|
9582
9741
|
exports.FAST_SPATIAL_SPRING = FAST_SPATIAL_SPRING;
|
|
9742
|
+
exports.FadingBlurMask = FadingBlurMask;
|
|
9583
9743
|
exports.GROUP_SHAPES = GROUP_SHAPES;
|
|
9584
9744
|
exports.HorizontalFloatingToolbar = HorizontalFloatingToolbar;
|
|
9585
9745
|
exports.HorizontalFloatingToolbarWithFab = HorizontalFloatingToolbarWithFab;
|