@bug-on/m3-expressive 1.2.0 → 1.2.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 +6 -0
- package/dist/buttons.d.mts +2 -2
- package/dist/buttons.d.ts +2 -2
- package/dist/buttons.js +678 -605
- package/dist/buttons.js.map +1 -1
- package/dist/buttons.mjs +677 -604
- package/dist/buttons.mjs.map +1 -1
- package/dist/core.js +86 -61
- package/dist/core.js.map +1 -1
- package/dist/core.mjs +86 -61
- package/dist/core.mjs.map +1 -1
- package/dist/feedback.js +85 -61
- package/dist/feedback.js.map +1 -1
- package/dist/feedback.mjs +85 -61
- package/dist/feedback.mjs.map +1 -1
- package/dist/forms.d.mts +2 -2
- package/dist/forms.d.ts +2 -2
- package/dist/forms.js +70 -8
- package/dist/forms.js.map +1 -1
- package/dist/forms.mjs +70 -8
- package/dist/forms.mjs.map +1 -1
- package/dist/{icon-button-D-gs0gfj.d.mts → icon-button-sSt6PPLg.d.mts} +6 -0
- package/dist/{icon-button-D-gs0gfj.d.ts → icon-button-sSt6PPLg.d.ts} +6 -0
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +973 -496
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +967 -497
- package/dist/index.mjs.map +1 -1
- package/dist/layout.d.mts +18 -1
- package/dist/layout.d.ts +18 -1
- package/dist/layout.js +65 -8
- package/dist/layout.js.map +1 -1
- package/dist/layout.mjs +65 -8
- package/dist/layout.mjs.map +1 -1
- package/dist/navigation.d.mts +134 -9
- package/dist/navigation.d.ts +134 -9
- package/dist/navigation.js +403 -93
- package/dist/navigation.js.map +1 -1
- package/dist/navigation.mjs +397 -94
- package/dist/navigation.mjs.map +1 -1
- package/dist/overlays.js +214 -189
- package/dist/overlays.js.map +1 -1
- package/dist/overlays.mjs +176 -151
- package/dist/overlays.mjs.map +1 -1
- package/dist/pickers.js +222 -197
- package/dist/pickers.js.map +1 -1
- package/dist/pickers.mjs +189 -164
- package/dist/pickers.mjs.map +1 -1
- package/dist/{split-button-trailing-uncheckable-BkPbiBo3.d.ts → split-button-trailing-uncheckable-BcPD_7uK.d.ts} +44 -6
- package/dist/{split-button-trailing-uncheckable-D_PLPb-u.d.mts → split-button-trailing-uncheckable-DtFJkTFr.d.mts} +44 -6
- package/dist/{text-field-eAIpz9z1.d.mts → text-field-T4Rg-9Bw.d.mts} +7 -0
- package/dist/{text-field-eAIpz9z1.d.ts → text-field-T4Rg-9Bw.d.ts} +7 -0
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -228,7 +228,7 @@ function applyTheme(sourceColorHex, mode = "light", root = document.documentElem
|
|
|
228
228
|
const resolved = resolveMode(mode);
|
|
229
229
|
const colors = generateM3Theme(sourceColorHex, resolved, options);
|
|
230
230
|
for (const [key, value] of Object.entries(colors)) {
|
|
231
|
-
const kebabKey = key.replace(/[A-Z]/g, (
|
|
231
|
+
const kebabKey = key.replace(/[A-Z]/g, (m68) => `-${m68.toLowerCase()}`);
|
|
232
232
|
root.style.setProperty(`--md-sys-color-${kebabKey}`, value);
|
|
233
233
|
root.style.setProperty(`--color-m3-${kebabKey}`, value);
|
|
234
234
|
}
|
|
@@ -250,7 +250,7 @@ function createMd3ExpressiveTheme(options) {
|
|
|
250
250
|
function schemeToCssVariables(scheme) {
|
|
251
251
|
const result = {};
|
|
252
252
|
for (const [key, value] of Object.entries(scheme)) {
|
|
253
|
-
const kebabKey = key.replace(/[A-Z]/g, (
|
|
253
|
+
const kebabKey = key.replace(/[A-Z]/g, (m68) => `-${m68.toLowerCase()}`);
|
|
254
254
|
result[`--md-sys-color-${kebabKey}`] = value;
|
|
255
255
|
}
|
|
256
256
|
return result;
|
|
@@ -1087,8 +1087,8 @@ var RoundedPolygon = class _RoundedPolygon {
|
|
|
1087
1087
|
);
|
|
1088
1088
|
const mid = c.pointOnCurve(0.5);
|
|
1089
1089
|
const md = distanceSquared(mid.x - this.centerX, mid.y - this.centerY);
|
|
1090
|
-
const
|
|
1091
|
-
if (
|
|
1090
|
+
const m68 = Math.max(ad, md);
|
|
1091
|
+
if (m68 > maxDistSq) maxDistSq = m68;
|
|
1092
1092
|
}
|
|
1093
1093
|
const d = Math.sqrt(maxDistSq);
|
|
1094
1094
|
return [
|
|
@@ -7044,12 +7044,6 @@ var WIDTH_MORPH_SPRING = {
|
|
|
7044
7044
|
damping: 38,
|
|
7045
7045
|
mass: 0.85
|
|
7046
7046
|
};
|
|
7047
|
-
var NAVBAR_EXPRESSIVE_SPRING = {
|
|
7048
|
-
type: "spring",
|
|
7049
|
-
stiffness: 430,
|
|
7050
|
-
damping: 38,
|
|
7051
|
-
mass: 0.8
|
|
7052
|
-
};
|
|
7053
7047
|
var AnimatedCheckLabel = React59.memo(function AnimatedCheckLabel2({
|
|
7054
7048
|
selected,
|
|
7055
7049
|
size,
|
|
@@ -7087,23 +7081,6 @@ var AnimatedCheckLabel = React59.memo(function AnimatedCheckLabel2({
|
|
|
7087
7081
|
}
|
|
7088
7082
|
);
|
|
7089
7083
|
});
|
|
7090
|
-
var AnimatedNavbarLabel = React59.memo(function AnimatedNavbarLabel2({
|
|
7091
|
-
show,
|
|
7092
|
-
children
|
|
7093
|
-
}) {
|
|
7094
|
-
return /* @__PURE__ */ jsx(AnimatePresence, { initial: false, mode: "popLayout", children: show && /* @__PURE__ */ jsx(
|
|
7095
|
-
m.span,
|
|
7096
|
-
{
|
|
7097
|
-
initial: { width: 0, opacity: 0, scale: 0.8 },
|
|
7098
|
-
animate: { width: "auto", opacity: 1, scale: 1 },
|
|
7099
|
-
exit: { width: 0, opacity: 0, scale: 0.8 },
|
|
7100
|
-
transition: NAVBAR_EXPRESSIVE_SPRING,
|
|
7101
|
-
className: "overflow-hidden whitespace-nowrap text-sm font-semibold tracking-[0.01em] ml-1.5",
|
|
7102
|
-
children
|
|
7103
|
-
},
|
|
7104
|
-
"navbar-label"
|
|
7105
|
-
) });
|
|
7106
|
-
});
|
|
7107
7084
|
function resolveConnectedShapes(variant, orientation, isFirst, isLast, itemSize) {
|
|
7108
7085
|
const defaults = ButtonGroupDefaults.connectedLeadingButtonShapes(itemSize);
|
|
7109
7086
|
if (variant !== "connected") return defaults;
|
|
@@ -7124,7 +7101,7 @@ function resolveConnectedShapes(variant, orientation, isFirst, isLast, itemSize)
|
|
|
7124
7101
|
}
|
|
7125
7102
|
return defaults;
|
|
7126
7103
|
}
|
|
7127
|
-
function resolveIconAndLabel(element, isSelected, itemSize,
|
|
7104
|
+
function resolveIconAndLabel(element, isSelected, itemSize, showCheck, iconBehavior, labelBehavior) {
|
|
7128
7105
|
let icon = element.props.icon;
|
|
7129
7106
|
let label = element.props.children;
|
|
7130
7107
|
const animateCheckInLabel = showCheck && iconBehavior !== "none" && iconBehavior !== "selected" && label !== void 0;
|
|
@@ -7140,9 +7117,6 @@ function resolveIconAndLabel(element, isSelected, itemSize, variant, showCheck,
|
|
|
7140
7117
|
}
|
|
7141
7118
|
if (animateCheckInLabel && label !== void 0) {
|
|
7142
7119
|
label = /* @__PURE__ */ jsx(AnimatedCheckLabel, { selected: isSelected, size: itemSize, children: label });
|
|
7143
|
-
} else if (variant === "navbar" && label !== void 0) {
|
|
7144
|
-
const showLabel = !labelBehavior || labelBehavior === "all" || labelBehavior === "selected" && isSelected;
|
|
7145
|
-
label = /* @__PURE__ */ jsx(AnimatedNavbarLabel, { show: showLabel, children: label });
|
|
7146
7120
|
}
|
|
7147
7121
|
return { icon, label };
|
|
7148
7122
|
}
|
|
@@ -7177,13 +7151,11 @@ function resolveFlexTargets(variant, orientation, isSelected, isPressed, hasSele
|
|
|
7177
7151
|
function buildMotionProps(variant, isSelected, isPressed, itemSize, shapes, flex, existingAnimate, existingWhileTap) {
|
|
7178
7152
|
var _a, _b;
|
|
7179
7153
|
const props = { animate: __spreadValues({}, existingAnimate) };
|
|
7180
|
-
if (
|
|
7181
|
-
|
|
7182
|
-
|
|
7183
|
-
|
|
7184
|
-
|
|
7185
|
-
props.animate.paddingInline = flex.paddingInline;
|
|
7186
|
-
}
|
|
7154
|
+
if (flex.flexGrow !== void 0) {
|
|
7155
|
+
props.animate.flexGrow = flex.flexGrow;
|
|
7156
|
+
}
|
|
7157
|
+
if (flex.paddingInline !== void 0) {
|
|
7158
|
+
props.animate.paddingInline = flex.paddingInline;
|
|
7187
7159
|
}
|
|
7188
7160
|
if (variant === "standard") {
|
|
7189
7161
|
const pressedRadius = (_a = PRESSED_RADIUS_MAP[itemSize]) != null ? _a : PRESSED_RADIUS_MAP.sm;
|
|
@@ -7234,13 +7206,6 @@ function buildMotionProps(variant, isSelected, isPressed, itemSize, shapes, flex
|
|
|
7234
7206
|
});
|
|
7235
7207
|
props.layout = true;
|
|
7236
7208
|
}
|
|
7237
|
-
if (variant === "navbar") {
|
|
7238
|
-
props.layout = true;
|
|
7239
|
-
props.transition = {
|
|
7240
|
-
layout: WIDTH_MORPH_SPRING,
|
|
7241
|
-
default: BUTTON_SHAPE_MORPH_SPRING
|
|
7242
|
-
};
|
|
7243
|
-
}
|
|
7244
7209
|
return props;
|
|
7245
7210
|
}
|
|
7246
7211
|
var ButtonGroupComponent = React59.forwardRef(
|
|
@@ -7280,7 +7245,6 @@ var ButtonGroupComponent = React59.forwardRef(
|
|
|
7280
7245
|
const [lockedGroupSize, setLockedGroupSize] = React59.useState(
|
|
7281
7246
|
null
|
|
7282
7247
|
);
|
|
7283
|
-
const layoutIdGroup = React59.useId();
|
|
7284
7248
|
const rootRef = React59.useRef(null);
|
|
7285
7249
|
const setRootRef = React59.useCallback(
|
|
7286
7250
|
(node) => {
|
|
@@ -7363,7 +7327,7 @@ var ButtonGroupComponent = React59.forwardRef(
|
|
|
7363
7327
|
className: cn(
|
|
7364
7328
|
"inline-flex p-0 m-0 border-none max-w-full [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
|
|
7365
7329
|
orientation === "vertical" ? "flex-col items-stretch overflow-y-auto overflow-x-hidden" : "flex-row overflow-x-auto overflow-y-hidden",
|
|
7366
|
-
variant === "standard" ? "gap-3" :
|
|
7330
|
+
variant === "standard" ? "gap-3" : "gap-0.5",
|
|
7367
7331
|
fullWidth && "w-full",
|
|
7368
7332
|
fullWidth && orientation === "vertical" && "h-full",
|
|
7369
7333
|
className
|
|
@@ -7373,7 +7337,7 @@ var ButtonGroupComponent = React59.forwardRef(
|
|
|
7373
7337
|
onPointerUp: handlePointerLeaveAndUp
|
|
7374
7338
|
}, props), {
|
|
7375
7339
|
children: childrenArray.map((child, index) => {
|
|
7376
|
-
var _a2, _b2
|
|
7340
|
+
var _a2, _b2;
|
|
7377
7341
|
const element = child;
|
|
7378
7342
|
const isSelected = element.props.selected === true;
|
|
7379
7343
|
const isFirst = index === 0;
|
|
@@ -7385,7 +7349,6 @@ var ButtonGroupComponent = React59.forwardRef(
|
|
|
7385
7349
|
element,
|
|
7386
7350
|
isSelected,
|
|
7387
7351
|
itemSize,
|
|
7388
|
-
variant,
|
|
7389
7352
|
showCheck,
|
|
7390
7353
|
iconBehavior,
|
|
7391
7354
|
labelBehavior
|
|
@@ -7411,7 +7374,7 @@ var ButtonGroupComponent = React59.forwardRef(
|
|
|
7411
7374
|
basePx
|
|
7412
7375
|
);
|
|
7413
7376
|
const dynamicStyle = __spreadValues({}, element.props.style);
|
|
7414
|
-
if (
|
|
7377
|
+
if (flex.flexGrow !== void 0 && fullWidth) {
|
|
7415
7378
|
dynamicStyle.flexBasis = 0;
|
|
7416
7379
|
dynamicStyle.flexShrink = 1;
|
|
7417
7380
|
dynamicStyle.minWidth = 0;
|
|
@@ -7429,13 +7392,7 @@ var ButtonGroupComponent = React59.forwardRef(
|
|
|
7429
7392
|
existingWhileTap
|
|
7430
7393
|
);
|
|
7431
7394
|
const connectedClasses = variant === "connected" && isSelected ? "z-20" : "";
|
|
7432
|
-
const
|
|
7433
|
-
flexBasis: fullWidth && labelBehavior !== "selected" ? 0 : "auto",
|
|
7434
|
-
flexShrink: fullWidth ? 1 : 0,
|
|
7435
|
-
flexGrow: flex.flexGrow,
|
|
7436
|
-
minWidth: labelBehavior !== "selected" ? 0 : "fit-content"
|
|
7437
|
-
} : {};
|
|
7438
|
-
const clonedElement = React59.cloneElement(element, __spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues({
|
|
7395
|
+
const clonedElement = React59.cloneElement(element, __spreadValues(__spreadProps(__spreadValues({
|
|
7439
7396
|
key: (_b2 = element.key) != null ? _b2 : index,
|
|
7440
7397
|
tabIndex: isFirst ? 0 : -1,
|
|
7441
7398
|
size: size || element.props.size,
|
|
@@ -7444,71 +7401,20 @@ var ButtonGroupComponent = React59.forwardRef(
|
|
|
7444
7401
|
}, variant === "connected" && {
|
|
7445
7402
|
colorStyle: element.props.colorStyle || "tonal",
|
|
7446
7403
|
selectedColorStyle: element.props.selectedColorStyle || "filled"
|
|
7447
|
-
}),
|
|
7448
|
-
colorStyle: "text",
|
|
7449
|
-
selectedColorStyle: "text",
|
|
7450
|
-
className: cn(
|
|
7451
|
-
element.props.className,
|
|
7452
|
-
"w-full! h-full! px-3! min-w-0! relative z-20 flex items-center justify-center",
|
|
7453
|
-
isSelected ? "text-m3-on-secondary-container! hover:bg-transparent! active:bg-transparent!" : "text-m3-on-surface-variant! hover:bg-transparent! active:bg-transparent!",
|
|
7454
|
-
itemClassName
|
|
7455
|
-
)
|
|
7456
|
-
}), variant !== "navbar" && {
|
|
7404
|
+
}), {
|
|
7457
7405
|
className: cn(
|
|
7458
7406
|
element.props.className,
|
|
7459
7407
|
connectedClasses,
|
|
7460
7408
|
"focus-visible:z-10 hover:z-10 relative min-w-0",
|
|
7461
7409
|
orientation === "vertical" && "w-full",
|
|
7462
7410
|
itemClassName
|
|
7463
|
-
)
|
|
7464
|
-
|
|
7465
|
-
style: variant === "navbar" ? __spreadProps(__spreadValues({}, dynamicStyle), { minWidth: 0 }) : dynamicStyle,
|
|
7411
|
+
),
|
|
7412
|
+
style: dynamicStyle,
|
|
7466
7413
|
onPointerDown: (e) => {
|
|
7467
7414
|
setPressedIndex(index);
|
|
7468
7415
|
if (element.props.onPointerDown) element.props.onPointerDown(e);
|
|
7469
7416
|
}
|
|
7470
7417
|
}), motionProps));
|
|
7471
|
-
if (variant === "navbar") {
|
|
7472
|
-
return /* @__PURE__ */ jsxs(
|
|
7473
|
-
m.div,
|
|
7474
|
-
{
|
|
7475
|
-
layout: true,
|
|
7476
|
-
whileTap: { scale: 0.96 },
|
|
7477
|
-
transition: NAVBAR_EXPRESSIVE_SPRING,
|
|
7478
|
-
className: "group relative h-full flex items-center justify-center min-w-0",
|
|
7479
|
-
style: navbarFlexStyle,
|
|
7480
|
-
children: [
|
|
7481
|
-
/* @__PURE__ */ jsxs(
|
|
7482
|
-
"div",
|
|
7483
|
-
{
|
|
7484
|
-
className: "absolute inset-x-1 inset-y-0 m-auto flex items-center justify-center pointer-events-none",
|
|
7485
|
-
style: { zIndex: 1 },
|
|
7486
|
-
children: [
|
|
7487
|
-
/* @__PURE__ */ jsx(
|
|
7488
|
-
"div",
|
|
7489
|
-
{
|
|
7490
|
-
className: "w-full h-[40px] bg-m3-on-surface-variant/8 opacity-0 group-hover:opacity-100 transition-opacity duration-200",
|
|
7491
|
-
style: { borderRadius: PILL_BORDER_RADIUS }
|
|
7492
|
-
}
|
|
7493
|
-
),
|
|
7494
|
-
/* @__PURE__ */ jsx(AnimatePresence, { children: isSelected && /* @__PURE__ */ jsx(
|
|
7495
|
-
m.div,
|
|
7496
|
-
{
|
|
7497
|
-
layoutId: `navbar-active-indicator-${layoutIdGroup}`,
|
|
7498
|
-
className: "absolute inset-0 m-auto w-full h-[40px] bg-m3-secondary-container",
|
|
7499
|
-
style: { borderRadius: PILL_BORDER_RADIUS },
|
|
7500
|
-
transition: NAVBAR_EXPRESSIVE_SPRING
|
|
7501
|
-
}
|
|
7502
|
-
) })
|
|
7503
|
-
]
|
|
7504
|
-
}
|
|
7505
|
-
),
|
|
7506
|
-
clonedElement
|
|
7507
|
-
]
|
|
7508
|
-
},
|
|
7509
|
-
(_c = element.key) != null ? _c : index
|
|
7510
|
-
);
|
|
7511
|
-
}
|
|
7512
7418
|
return clonedElement;
|
|
7513
7419
|
})
|
|
7514
7420
|
})
|
|
@@ -7613,6 +7519,8 @@ var ExtendedFABComponent = React59.forwardRef(
|
|
|
7613
7519
|
scrollThreshold = 50,
|
|
7614
7520
|
collapsed,
|
|
7615
7521
|
onCollapsedChange,
|
|
7522
|
+
asChild = false,
|
|
7523
|
+
children,
|
|
7616
7524
|
onClick,
|
|
7617
7525
|
onKeyDown,
|
|
7618
7526
|
layoutId,
|
|
@@ -7632,6 +7540,8 @@ var ExtendedFABComponent = React59.forwardRef(
|
|
|
7632
7540
|
"scrollThreshold",
|
|
7633
7541
|
"collapsed",
|
|
7634
7542
|
"onCollapsedChange",
|
|
7543
|
+
"asChild",
|
|
7544
|
+
"children",
|
|
7635
7545
|
"onClick",
|
|
7636
7546
|
"onKeyDown",
|
|
7637
7547
|
"layoutId",
|
|
@@ -7683,7 +7593,109 @@ var ExtendedFABComponent = React59.forwardRef(
|
|
|
7683
7593
|
},
|
|
7684
7594
|
[loading, onClick, onKeyDown]
|
|
7685
7595
|
);
|
|
7686
|
-
|
|
7596
|
+
const containerClassName = cn(
|
|
7597
|
+
"relative shrink-0 inline-flex items-center select-none cursor-pointer overflow-hidden",
|
|
7598
|
+
"transition-[box-shadow,filter] duration-200",
|
|
7599
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-m3-primary focus-visible:ring-offset-2",
|
|
7600
|
+
"disabled:pointer-events-none disabled:opacity-[0.38] disabled:shadow-none",
|
|
7601
|
+
colors.bg,
|
|
7602
|
+
colors.text,
|
|
7603
|
+
lowered ? "shadow-sm" : "shadow-md",
|
|
7604
|
+
(_d = SIZE_HEIGHT[size]) != null ? _d : "h-14",
|
|
7605
|
+
SIZE_TEXT[size],
|
|
7606
|
+
isCollapsed ? cn("px-0 justify-center", SIZE_WIDTH_COLLAPSED[size]) : cn(
|
|
7607
|
+
hasIcon ? "justify-start" : "justify-center",
|
|
7608
|
+
SIZE_PADDING[size],
|
|
7609
|
+
hasIcon && SIZE_GAP[size]
|
|
7610
|
+
),
|
|
7611
|
+
dir === "rtl" || restProps.dir === "rtl" ? "flex-row-reverse" : "flex-row",
|
|
7612
|
+
loading && "pointer-events-none opacity-75 cursor-not-allowed",
|
|
7613
|
+
className
|
|
7614
|
+
);
|
|
7615
|
+
const innerContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
7616
|
+
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
7617
|
+
hasIcon && /* @__PURE__ */ jsx(
|
|
7618
|
+
m.span,
|
|
7619
|
+
{
|
|
7620
|
+
layout: "position",
|
|
7621
|
+
className: cn(
|
|
7622
|
+
"flex items-center justify-center shrink-0",
|
|
7623
|
+
sizeIcon.cls
|
|
7624
|
+
),
|
|
7625
|
+
children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", initial: false, children: loading ? /* @__PURE__ */ jsx(
|
|
7626
|
+
m.span,
|
|
7627
|
+
__spreadProps(__spreadValues({}, ICON_SPAN_VARIANTS), {
|
|
7628
|
+
transition: SPRING_TRANSITION,
|
|
7629
|
+
className: "flex items-center justify-center shrink-0 w-full h-full",
|
|
7630
|
+
children: loadingVariant === "loading-indicator" ? /* @__PURE__ */ jsx(
|
|
7631
|
+
LoadingIndicator,
|
|
7632
|
+
{
|
|
7633
|
+
size: sizeIcon.px,
|
|
7634
|
+
color: "currentColor",
|
|
7635
|
+
"aria-label": "Loading"
|
|
7636
|
+
}
|
|
7637
|
+
) : /* @__PURE__ */ jsx(
|
|
7638
|
+
ProgressIndicator,
|
|
7639
|
+
{
|
|
7640
|
+
variant: "circular",
|
|
7641
|
+
size: sizeIcon.px,
|
|
7642
|
+
color: "currentColor",
|
|
7643
|
+
trackColor: "transparent",
|
|
7644
|
+
"aria-label": "Loading"
|
|
7645
|
+
}
|
|
7646
|
+
)
|
|
7647
|
+
}),
|
|
7648
|
+
"loading"
|
|
7649
|
+
) : icon && /* @__PURE__ */ jsx(
|
|
7650
|
+
m.span,
|
|
7651
|
+
__spreadProps(__spreadValues({}, ICON_SPAN_VARIANTS), {
|
|
7652
|
+
transition: SPRING_TRANSITION,
|
|
7653
|
+
"aria-hidden": "true",
|
|
7654
|
+
className: "flex items-center justify-center shrink-0 w-full h-full [&>svg]:w-full [&>svg]:h-full",
|
|
7655
|
+
children: icon
|
|
7656
|
+
}),
|
|
7657
|
+
"icon"
|
|
7658
|
+
) })
|
|
7659
|
+
}
|
|
7660
|
+
),
|
|
7661
|
+
/* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: !isCollapsed && /* @__PURE__ */ jsx(
|
|
7662
|
+
m.span,
|
|
7663
|
+
{
|
|
7664
|
+
layout: "position",
|
|
7665
|
+
initial: { opacity: 0, width: 0 },
|
|
7666
|
+
animate: { opacity: 1, width: "auto" },
|
|
7667
|
+
exit: { opacity: 0, width: 0 },
|
|
7668
|
+
transition: {
|
|
7669
|
+
opacity: { duration: 0.15, ease: "linear" },
|
|
7670
|
+
width: SPRING_TRANSITION
|
|
7671
|
+
},
|
|
7672
|
+
className: "overflow-hidden whitespace-nowrap",
|
|
7673
|
+
children: label
|
|
7674
|
+
},
|
|
7675
|
+
"label"
|
|
7676
|
+
) })
|
|
7677
|
+
] });
|
|
7678
|
+
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsx(AnimatePresence, { children: visible && !(isCollapsed && !hasIcon) && (asChild ? /* @__PURE__ */ jsx(
|
|
7679
|
+
Slot,
|
|
7680
|
+
__spreadProps(__spreadValues({
|
|
7681
|
+
ref: localRef,
|
|
7682
|
+
"aria-label": ariaLabel || label,
|
|
7683
|
+
"aria-busy": loading || void 0,
|
|
7684
|
+
"aria-disabled": loading || restProps.disabled,
|
|
7685
|
+
onClick: handleClick,
|
|
7686
|
+
onPointerDown,
|
|
7687
|
+
onKeyDown: handleKeyDown,
|
|
7688
|
+
style: __spreadProps(__spreadValues({}, style), {
|
|
7689
|
+
borderRadius: `${radiusConfig.default}px`
|
|
7690
|
+
}),
|
|
7691
|
+
className: containerClassName
|
|
7692
|
+
}, restProps), {
|
|
7693
|
+
children: React59.cloneElement(
|
|
7694
|
+
React59.Children.only(children),
|
|
7695
|
+
{ children: innerContent }
|
|
7696
|
+
)
|
|
7697
|
+
})
|
|
7698
|
+
) : /* @__PURE__ */ jsx(
|
|
7687
7699
|
m.button,
|
|
7688
7700
|
__spreadProps(__spreadValues({
|
|
7689
7701
|
ref: localRef,
|
|
@@ -7715,91 +7727,11 @@ var ExtendedFABComponent = React59.forwardRef(
|
|
|
7715
7727
|
opacity: { duration: 0.2, ease: "linear" },
|
|
7716
7728
|
layout: SPRING_TRANSITION
|
|
7717
7729
|
},
|
|
7718
|
-
className:
|
|
7719
|
-
"relative shrink-0 inline-flex items-center select-none cursor-pointer overflow-hidden",
|
|
7720
|
-
"transition-[box-shadow,filter] duration-200",
|
|
7721
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-m3-primary focus-visible:ring-offset-2",
|
|
7722
|
-
"disabled:pointer-events-none disabled:opacity-[0.38] disabled:shadow-none",
|
|
7723
|
-
colors.bg,
|
|
7724
|
-
colors.text,
|
|
7725
|
-
lowered ? "shadow-sm" : "shadow-md",
|
|
7726
|
-
(_d = SIZE_HEIGHT[size]) != null ? _d : "h-14",
|
|
7727
|
-
SIZE_TEXT[size],
|
|
7728
|
-
isCollapsed ? cn("px-0 justify-center", SIZE_WIDTH_COLLAPSED[size]) : cn(
|
|
7729
|
-
hasIcon ? "justify-start" : "justify-center",
|
|
7730
|
-
SIZE_PADDING[size],
|
|
7731
|
-
hasIcon && SIZE_GAP[size]
|
|
7732
|
-
),
|
|
7733
|
-
dir === "rtl" || restProps.dir === "rtl" ? "flex-row-reverse" : "flex-row",
|
|
7734
|
-
loading && "pointer-events-none opacity-75 cursor-not-allowed",
|
|
7735
|
-
className
|
|
7736
|
-
)
|
|
7730
|
+
className: containerClassName
|
|
7737
7731
|
}, restProps), {
|
|
7738
|
-
children:
|
|
7739
|
-
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
7740
|
-
hasIcon && /* @__PURE__ */ jsx(
|
|
7741
|
-
m.span,
|
|
7742
|
-
{
|
|
7743
|
-
layout: "position",
|
|
7744
|
-
className: cn(
|
|
7745
|
-
"flex items-center justify-center shrink-0",
|
|
7746
|
-
sizeIcon.cls
|
|
7747
|
-
),
|
|
7748
|
-
children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", initial: false, children: loading ? /* @__PURE__ */ jsx(
|
|
7749
|
-
m.span,
|
|
7750
|
-
__spreadProps(__spreadValues({}, ICON_SPAN_VARIANTS), {
|
|
7751
|
-
transition: SPRING_TRANSITION,
|
|
7752
|
-
className: "flex items-center justify-center shrink-0 w-full h-full",
|
|
7753
|
-
children: loadingVariant === "loading-indicator" ? /* @__PURE__ */ jsx(
|
|
7754
|
-
LoadingIndicator,
|
|
7755
|
-
{
|
|
7756
|
-
size: sizeIcon.px,
|
|
7757
|
-
color: "currentColor",
|
|
7758
|
-
"aria-label": "Loading"
|
|
7759
|
-
}
|
|
7760
|
-
) : /* @__PURE__ */ jsx(
|
|
7761
|
-
ProgressIndicator,
|
|
7762
|
-
{
|
|
7763
|
-
variant: "circular",
|
|
7764
|
-
size: sizeIcon.px,
|
|
7765
|
-
color: "currentColor",
|
|
7766
|
-
trackColor: "transparent",
|
|
7767
|
-
"aria-label": "Loading"
|
|
7768
|
-
}
|
|
7769
|
-
)
|
|
7770
|
-
}),
|
|
7771
|
-
"loading"
|
|
7772
|
-
) : icon && /* @__PURE__ */ jsx(
|
|
7773
|
-
m.span,
|
|
7774
|
-
__spreadProps(__spreadValues({}, ICON_SPAN_VARIANTS), {
|
|
7775
|
-
transition: SPRING_TRANSITION,
|
|
7776
|
-
"aria-hidden": "true",
|
|
7777
|
-
className: "flex items-center justify-center shrink-0 w-full h-full [&>svg]:w-full [&>svg]:h-full",
|
|
7778
|
-
children: icon
|
|
7779
|
-
}),
|
|
7780
|
-
"icon"
|
|
7781
|
-
) })
|
|
7782
|
-
}
|
|
7783
|
-
),
|
|
7784
|
-
/* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: !isCollapsed && /* @__PURE__ */ jsx(
|
|
7785
|
-
m.span,
|
|
7786
|
-
{
|
|
7787
|
-
layout: "position",
|
|
7788
|
-
initial: { opacity: 0, width: 0 },
|
|
7789
|
-
animate: { opacity: 1, width: "auto" },
|
|
7790
|
-
exit: { opacity: 0, width: 0 },
|
|
7791
|
-
transition: {
|
|
7792
|
-
opacity: { duration: 0.15, ease: "linear" },
|
|
7793
|
-
width: SPRING_TRANSITION
|
|
7794
|
-
},
|
|
7795
|
-
className: "overflow-hidden whitespace-nowrap",
|
|
7796
|
-
children: label
|
|
7797
|
-
},
|
|
7798
|
-
"label"
|
|
7799
|
-
) })
|
|
7800
|
-
]
|
|
7732
|
+
children: innerContent
|
|
7801
7733
|
})
|
|
7802
|
-
) }) });
|
|
7734
|
+
)) }) });
|
|
7803
7735
|
}
|
|
7804
7736
|
);
|
|
7805
7737
|
ExtendedFABComponent.displayName = "ExtendedFAB";
|
|
@@ -7888,6 +7820,7 @@ var FABComponent = React59.forwardRef(
|
|
|
7888
7820
|
loading = false,
|
|
7889
7821
|
loadingVariant = "loading-indicator",
|
|
7890
7822
|
visible = true,
|
|
7823
|
+
asChild = false,
|
|
7891
7824
|
onClick,
|
|
7892
7825
|
onKeyDown,
|
|
7893
7826
|
"aria-label": ariaLabel
|
|
@@ -7903,6 +7836,7 @@ var FABComponent = React59.forwardRef(
|
|
|
7903
7836
|
"loading",
|
|
7904
7837
|
"loadingVariant",
|
|
7905
7838
|
"visible",
|
|
7839
|
+
"asChild",
|
|
7906
7840
|
"onClick",
|
|
7907
7841
|
"onKeyDown",
|
|
7908
7842
|
"aria-label"
|
|
@@ -7940,19 +7874,116 @@ var FABComponent = React59.forwardRef(
|
|
|
7940
7874
|
},
|
|
7941
7875
|
[loading, onClick, onKeyDown]
|
|
7942
7876
|
);
|
|
7943
|
-
|
|
7877
|
+
const labelContent = asChild ? React59.Children.only(children).props.children : children;
|
|
7878
|
+
const innerContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
7879
|
+
needsTouchTarget && /* @__PURE__ */ jsx(TouchTarget, {}),
|
|
7880
|
+
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
7881
|
+
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", initial: false, children: loading ? /* @__PURE__ */ jsx(
|
|
7882
|
+
m.span,
|
|
7883
|
+
__spreadProps(__spreadValues({}, ICON_SPAN_VARIANTS), {
|
|
7884
|
+
transition: SPRING_TRANSITION,
|
|
7885
|
+
className: cn(
|
|
7886
|
+
"flex items-center justify-center shrink-0",
|
|
7887
|
+
iconClass
|
|
7888
|
+
),
|
|
7889
|
+
children: loadingVariant === "loading-indicator" ? /* @__PURE__ */ jsx(
|
|
7890
|
+
LoadingIndicator,
|
|
7891
|
+
{
|
|
7892
|
+
size: iconPx,
|
|
7893
|
+
color: "currentColor",
|
|
7894
|
+
"aria-label": "Loading"
|
|
7895
|
+
}
|
|
7896
|
+
) : /* @__PURE__ */ jsx(
|
|
7897
|
+
ProgressIndicator,
|
|
7898
|
+
{
|
|
7899
|
+
variant: "circular",
|
|
7900
|
+
size: iconPx,
|
|
7901
|
+
color: "currentColor",
|
|
7902
|
+
trackColor: "transparent",
|
|
7903
|
+
"aria-label": "Loading"
|
|
7904
|
+
}
|
|
7905
|
+
)
|
|
7906
|
+
}),
|
|
7907
|
+
"loading"
|
|
7908
|
+
) : /* @__PURE__ */ jsx(
|
|
7909
|
+
m.span,
|
|
7910
|
+
__spreadProps(__spreadValues({}, ICON_SPAN_VARIANTS), {
|
|
7911
|
+
transition: SPRING_TRANSITION,
|
|
7912
|
+
"aria-hidden": "true",
|
|
7913
|
+
className: cn(
|
|
7914
|
+
"flex items-center justify-center shrink-0 [&>svg]:w-full [&>svg]:h-full",
|
|
7915
|
+
iconClass
|
|
7916
|
+
),
|
|
7917
|
+
children: icon
|
|
7918
|
+
}),
|
|
7919
|
+
"icon"
|
|
7920
|
+
) }),
|
|
7921
|
+
/* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: extended && labelContent && /* @__PURE__ */ jsx(
|
|
7922
|
+
m.span,
|
|
7923
|
+
{
|
|
7924
|
+
initial: { width: 0, opacity: 0 },
|
|
7925
|
+
animate: { width: "auto", opacity: 1 },
|
|
7926
|
+
exit: { width: 0, opacity: 0 },
|
|
7927
|
+
transition: SPRING_TRANSITION,
|
|
7928
|
+
className: "overflow-hidden whitespace-nowrap ml-3",
|
|
7929
|
+
children: labelContent
|
|
7930
|
+
},
|
|
7931
|
+
"label"
|
|
7932
|
+
) })
|
|
7933
|
+
] });
|
|
7934
|
+
const containerClassName = cn(
|
|
7935
|
+
"relative shrink-0 inline-flex items-center justify-center",
|
|
7936
|
+
"select-none cursor-pointer overflow-hidden",
|
|
7937
|
+
"transition-[box-shadow,opacity,filter] duration-200",
|
|
7938
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-m3-primary focus-visible:ring-offset-2",
|
|
7939
|
+
"disabled:pointer-events-none disabled:opacity-[0.38] disabled:shadow-none",
|
|
7940
|
+
colors.bg,
|
|
7941
|
+
colors.text,
|
|
7942
|
+
lowered ? "shadow-sm" : colors.shadow,
|
|
7943
|
+
(_d = SIZE_STYLES[size]) != null ? _d : "h-14 w-14",
|
|
7944
|
+
extended && "w-auto px-6",
|
|
7945
|
+
SIZE_TEXT_CLASS[size],
|
|
7946
|
+
loading && "pointer-events-none opacity-75 cursor-not-allowed",
|
|
7947
|
+
className
|
|
7948
|
+
);
|
|
7949
|
+
const computedAriaLabel = ariaLabel || (typeof children === "string" ? children : void 0);
|
|
7950
|
+
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsx(AnimatePresence, { children: visible && (asChild ? /* @__PURE__ */ jsx(
|
|
7951
|
+
Slot,
|
|
7952
|
+
__spreadProps(__spreadValues({
|
|
7953
|
+
ref,
|
|
7954
|
+
"aria-label": computedAriaLabel,
|
|
7955
|
+
"aria-busy": loading || void 0,
|
|
7956
|
+
"aria-disabled": loading || restProps.disabled,
|
|
7957
|
+
onClick: handleClick,
|
|
7958
|
+
onPointerDown,
|
|
7959
|
+
onKeyDown: handleKeyDown,
|
|
7960
|
+
style: __spreadProps(__spreadValues({}, style), {
|
|
7961
|
+
borderRadius: `${animateRadius}px`
|
|
7962
|
+
}),
|
|
7963
|
+
className: containerClassName
|
|
7964
|
+
}, restProps), {
|
|
7965
|
+
children: React59.cloneElement(
|
|
7966
|
+
React59.Children.only(children),
|
|
7967
|
+
{ children: innerContent }
|
|
7968
|
+
)
|
|
7969
|
+
})
|
|
7970
|
+
) : /* @__PURE__ */ jsx(
|
|
7944
7971
|
m.button,
|
|
7945
7972
|
__spreadProps(__spreadValues({
|
|
7946
7973
|
ref,
|
|
7947
7974
|
type: "button",
|
|
7948
|
-
"aria-label":
|
|
7975
|
+
"aria-label": computedAriaLabel,
|
|
7949
7976
|
"aria-busy": loading || void 0,
|
|
7950
7977
|
"aria-disabled": loading || restProps.disabled,
|
|
7951
7978
|
onClick: handleClick,
|
|
7952
7979
|
onPointerDown,
|
|
7953
7980
|
onKeyDown: handleKeyDown,
|
|
7954
7981
|
style,
|
|
7955
|
-
initial: {
|
|
7982
|
+
initial: {
|
|
7983
|
+
scale: 0.5,
|
|
7984
|
+
opacity: 0,
|
|
7985
|
+
borderRadius: animateRadius
|
|
7986
|
+
},
|
|
7956
7987
|
animate: { scale: 1, opacity: 1, borderRadius: animateRadius },
|
|
7957
7988
|
exit: { scale: 0.5, opacity: 0 },
|
|
7958
7989
|
whileTap: { borderRadius: pressedRadius },
|
|
@@ -7961,80 +7992,11 @@ var FABComponent = React59.forwardRef(
|
|
|
7961
7992
|
scale: SPRING_TRANSITION,
|
|
7962
7993
|
opacity: { duration: 0.25, ease: "easeOut" }
|
|
7963
7994
|
},
|
|
7964
|
-
className:
|
|
7965
|
-
"relative shrink-0 inline-flex items-center justify-center",
|
|
7966
|
-
"select-none cursor-pointer overflow-hidden",
|
|
7967
|
-
"transition-[box-shadow,opacity,filter] duration-200",
|
|
7968
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-m3-primary focus-visible:ring-offset-2",
|
|
7969
|
-
"disabled:pointer-events-none disabled:opacity-[0.38] disabled:shadow-none",
|
|
7970
|
-
colors.bg,
|
|
7971
|
-
colors.text,
|
|
7972
|
-
lowered ? "shadow-sm" : colors.shadow,
|
|
7973
|
-
(_d = SIZE_STYLES[size]) != null ? _d : "h-14 w-14",
|
|
7974
|
-
extended && "w-auto px-6",
|
|
7975
|
-
SIZE_TEXT_CLASS[size],
|
|
7976
|
-
loading && "pointer-events-none opacity-75 cursor-not-allowed",
|
|
7977
|
-
className
|
|
7978
|
-
)
|
|
7995
|
+
className: containerClassName
|
|
7979
7996
|
}, restProps), {
|
|
7980
|
-
children:
|
|
7981
|
-
needsTouchTarget && /* @__PURE__ */ jsx(TouchTarget, {}),
|
|
7982
|
-
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
7983
|
-
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", initial: false, children: loading ? /* @__PURE__ */ jsx(
|
|
7984
|
-
m.span,
|
|
7985
|
-
__spreadProps(__spreadValues({}, ICON_SPAN_VARIANTS), {
|
|
7986
|
-
transition: SPRING_TRANSITION,
|
|
7987
|
-
className: cn(
|
|
7988
|
-
"flex items-center justify-center shrink-0",
|
|
7989
|
-
iconClass
|
|
7990
|
-
),
|
|
7991
|
-
children: loadingVariant === "loading-indicator" ? /* @__PURE__ */ jsx(
|
|
7992
|
-
LoadingIndicator,
|
|
7993
|
-
{
|
|
7994
|
-
size: iconPx,
|
|
7995
|
-
color: "currentColor",
|
|
7996
|
-
"aria-label": "Loading"
|
|
7997
|
-
}
|
|
7998
|
-
) : /* @__PURE__ */ jsx(
|
|
7999
|
-
ProgressIndicator,
|
|
8000
|
-
{
|
|
8001
|
-
variant: "circular",
|
|
8002
|
-
size: iconPx,
|
|
8003
|
-
color: "currentColor",
|
|
8004
|
-
trackColor: "transparent",
|
|
8005
|
-
"aria-label": "Loading"
|
|
8006
|
-
}
|
|
8007
|
-
)
|
|
8008
|
-
}),
|
|
8009
|
-
"loading"
|
|
8010
|
-
) : /* @__PURE__ */ jsx(
|
|
8011
|
-
m.span,
|
|
8012
|
-
__spreadProps(__spreadValues({}, ICON_SPAN_VARIANTS), {
|
|
8013
|
-
transition: SPRING_TRANSITION,
|
|
8014
|
-
"aria-hidden": "true",
|
|
8015
|
-
className: cn(
|
|
8016
|
-
"flex items-center justify-center shrink-0 [&>svg]:w-full [&>svg]:h-full",
|
|
8017
|
-
iconClass
|
|
8018
|
-
),
|
|
8019
|
-
children: icon
|
|
8020
|
-
}),
|
|
8021
|
-
"icon"
|
|
8022
|
-
) }),
|
|
8023
|
-
/* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: extended && children && /* @__PURE__ */ jsx(
|
|
8024
|
-
m.span,
|
|
8025
|
-
{
|
|
8026
|
-
initial: { width: 0, opacity: 0 },
|
|
8027
|
-
animate: { width: "auto", opacity: 1 },
|
|
8028
|
-
exit: { width: 0, opacity: 0 },
|
|
8029
|
-
transition: SPRING_TRANSITION,
|
|
8030
|
-
className: "overflow-hidden whitespace-nowrap ml-3",
|
|
8031
|
-
children
|
|
8032
|
-
},
|
|
8033
|
-
"label"
|
|
8034
|
-
) })
|
|
8035
|
-
]
|
|
7997
|
+
children: innerContent
|
|
8036
7998
|
})
|
|
8037
|
-
) }) });
|
|
7999
|
+
)) }) });
|
|
8038
8000
|
}
|
|
8039
8001
|
);
|
|
8040
8002
|
FABComponent.displayName = "FAB";
|
|
@@ -8234,7 +8196,9 @@ function FABMenuItem({
|
|
|
8234
8196
|
disabled = false,
|
|
8235
8197
|
colorVariant = "primary",
|
|
8236
8198
|
className,
|
|
8237
|
-
tabIndex = 0
|
|
8199
|
+
tabIndex = 0,
|
|
8200
|
+
asChild = false,
|
|
8201
|
+
children
|
|
8238
8202
|
}) {
|
|
8239
8203
|
var _a;
|
|
8240
8204
|
const colors = (_a = MENU_ITEM_COLORS[colorVariant]) != null ? _a : MENU_ITEM_COLORS.primary;
|
|
@@ -8259,7 +8223,55 @@ function FABMenuItem({
|
|
|
8259
8223
|
},
|
|
8260
8224
|
[disabled, onClick]
|
|
8261
8225
|
);
|
|
8262
|
-
|
|
8226
|
+
const innerContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
8227
|
+
/* @__PURE__ */ jsx(TouchTarget, {}),
|
|
8228
|
+
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
8229
|
+
/* @__PURE__ */ jsx(
|
|
8230
|
+
"span",
|
|
8231
|
+
{
|
|
8232
|
+
"aria-hidden": "true",
|
|
8233
|
+
className: "relative z-10 flex items-center justify-center size-6 shrink-0 [&>svg]:w-full [&>svg]:h-full pointer-events-none",
|
|
8234
|
+
children: icon
|
|
8235
|
+
}
|
|
8236
|
+
),
|
|
8237
|
+
label && /* @__PURE__ */ jsx("span", { className: "relative z-10 text-base font-medium leading-none pointer-events-none", children: label })
|
|
8238
|
+
] });
|
|
8239
|
+
const containerClassName = cn(
|
|
8240
|
+
"relative inline-flex flex-row items-center",
|
|
8241
|
+
"select-none cursor-pointer overflow-hidden",
|
|
8242
|
+
"whitespace-nowrap",
|
|
8243
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-m3-primary focus-visible:ring-offset-1",
|
|
8244
|
+
MENU_ITEM_STYLES.size,
|
|
8245
|
+
MENU_ITEM_STYLES.gap,
|
|
8246
|
+
label ? MENU_ITEM_STYLES.padding : "px-4",
|
|
8247
|
+
!label && "justify-center",
|
|
8248
|
+
colors.bg,
|
|
8249
|
+
colors.text,
|
|
8250
|
+
disabled && "opacity-[0.38] pointer-events-none",
|
|
8251
|
+
className
|
|
8252
|
+
);
|
|
8253
|
+
const containerStyle = {
|
|
8254
|
+
transformOrigin: "right",
|
|
8255
|
+
borderRadius: `${MENU_ITEM_STYLES.cornerRadius}px`
|
|
8256
|
+
};
|
|
8257
|
+
if (asChild) {
|
|
8258
|
+
const child = React59.Children.only(children);
|
|
8259
|
+
return /* @__PURE__ */ jsx(m.div, { variants: MENU_ITEM_VARIANTS, style: containerStyle, children: /* @__PURE__ */ jsx(
|
|
8260
|
+
Slot,
|
|
8261
|
+
{
|
|
8262
|
+
role: "menuitem",
|
|
8263
|
+
tabIndex,
|
|
8264
|
+
"aria-disabled": disabled ? "true" : void 0,
|
|
8265
|
+
"data-disabled": disabled ? "true" : void 0,
|
|
8266
|
+
onClick: handleClick,
|
|
8267
|
+
onPointerDown,
|
|
8268
|
+
onKeyDown: handleKeyDown,
|
|
8269
|
+
className: containerClassName,
|
|
8270
|
+
children: React59.cloneElement(child, { children: innerContent })
|
|
8271
|
+
}
|
|
8272
|
+
) });
|
|
8273
|
+
}
|
|
8274
|
+
return /* @__PURE__ */ jsx(
|
|
8263
8275
|
m.div,
|
|
8264
8276
|
{
|
|
8265
8277
|
role: "menuitem",
|
|
@@ -8270,37 +8282,9 @@ function FABMenuItem({
|
|
|
8270
8282
|
onPointerDown,
|
|
8271
8283
|
onKeyDown: handleKeyDown,
|
|
8272
8284
|
variants: MENU_ITEM_VARIANTS,
|
|
8273
|
-
style:
|
|
8274
|
-
|
|
8275
|
-
|
|
8276
|
-
},
|
|
8277
|
-
className: cn(
|
|
8278
|
-
"relative inline-flex flex-row items-center",
|
|
8279
|
-
"select-none cursor-pointer overflow-hidden",
|
|
8280
|
-
"whitespace-nowrap",
|
|
8281
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-m3-primary focus-visible:ring-offset-1",
|
|
8282
|
-
MENU_ITEM_STYLES.size,
|
|
8283
|
-
MENU_ITEM_STYLES.gap,
|
|
8284
|
-
label ? MENU_ITEM_STYLES.padding : "px-4",
|
|
8285
|
-
!label && "justify-center",
|
|
8286
|
-
colors.bg,
|
|
8287
|
-
colors.text,
|
|
8288
|
-
disabled && "opacity-[0.38] pointer-events-none",
|
|
8289
|
-
className
|
|
8290
|
-
),
|
|
8291
|
-
children: [
|
|
8292
|
-
/* @__PURE__ */ jsx(TouchTarget, {}),
|
|
8293
|
-
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
8294
|
-
/* @__PURE__ */ jsx(
|
|
8295
|
-
"span",
|
|
8296
|
-
{
|
|
8297
|
-
"aria-hidden": "true",
|
|
8298
|
-
className: "relative z-10 flex items-center justify-center size-6 shrink-0 [&>svg]:w-full [&>svg]:h-full pointer-events-none",
|
|
8299
|
-
children: icon
|
|
8300
|
-
}
|
|
8301
|
-
),
|
|
8302
|
-
label && /* @__PURE__ */ jsx("span", { className: "relative z-10 text-base font-medium leading-none pointer-events-none", children: label })
|
|
8303
|
-
]
|
|
8285
|
+
style: containerStyle,
|
|
8286
|
+
className: containerClassName,
|
|
8287
|
+
children: innerContent
|
|
8304
8288
|
}
|
|
8305
8289
|
);
|
|
8306
8290
|
}
|
|
@@ -8582,6 +8566,7 @@ var IconButtonComponent = React59.forwardRef(
|
|
|
8582
8566
|
loading = false,
|
|
8583
8567
|
loadingVariant = "loading-indicator",
|
|
8584
8568
|
iconSize,
|
|
8569
|
+
asChild = false,
|
|
8585
8570
|
children,
|
|
8586
8571
|
onClick,
|
|
8587
8572
|
onKeyDown,
|
|
@@ -8597,6 +8582,7 @@ var IconButtonComponent = React59.forwardRef(
|
|
|
8597
8582
|
"loading",
|
|
8598
8583
|
"loadingVariant",
|
|
8599
8584
|
"iconSize",
|
|
8585
|
+
"asChild",
|
|
8600
8586
|
"children",
|
|
8601
8587
|
"onClick",
|
|
8602
8588
|
"onKeyDown",
|
|
@@ -8658,7 +8644,87 @@ var IconButtonComponent = React59.forwardRef(
|
|
|
8658
8644
|
},
|
|
8659
8645
|
[loading, onClick, onKeyDown]
|
|
8660
8646
|
);
|
|
8661
|
-
|
|
8647
|
+
const innerContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
8648
|
+
needsTouchTarget && /* @__PURE__ */ jsx(TouchTarget, {}),
|
|
8649
|
+
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
8650
|
+
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", initial: false, children: loading ? /* @__PURE__ */ jsx(
|
|
8651
|
+
m.span,
|
|
8652
|
+
__spreadProps(__spreadValues({}, ICON_SPAN_VARIANTS), {
|
|
8653
|
+
transition: SPRING_TRANSITION,
|
|
8654
|
+
className: cn(
|
|
8655
|
+
"flex items-center justify-center shrink-0",
|
|
8656
|
+
iconSize != null ? void 0 : iconClass
|
|
8657
|
+
),
|
|
8658
|
+
style: isCustomSize ? { width: `${iconSize}px`, height: `${iconSize}px` } : void 0,
|
|
8659
|
+
children: loadingVariant === "loading-indicator" ? /* @__PURE__ */ jsx(
|
|
8660
|
+
LoadingIndicator,
|
|
8661
|
+
{
|
|
8662
|
+
size: typeof iconPx === "number" ? iconPx : defaultIconPx,
|
|
8663
|
+
color: "currentColor",
|
|
8664
|
+
"aria-label": "Loading"
|
|
8665
|
+
}
|
|
8666
|
+
) : /* @__PURE__ */ jsx(
|
|
8667
|
+
ProgressIndicator,
|
|
8668
|
+
{
|
|
8669
|
+
variant: "circular",
|
|
8670
|
+
size: typeof iconPx === "number" ? iconPx : defaultIconPx,
|
|
8671
|
+
color: "currentColor",
|
|
8672
|
+
trackColor: "transparent",
|
|
8673
|
+
"aria-label": "Loading"
|
|
8674
|
+
}
|
|
8675
|
+
)
|
|
8676
|
+
}),
|
|
8677
|
+
"loading"
|
|
8678
|
+
) : /* @__PURE__ */ jsx(
|
|
8679
|
+
m.span,
|
|
8680
|
+
__spreadProps(__spreadValues({}, ICON_SPAN_VARIANTS), {
|
|
8681
|
+
transition: SPRING_TRANSITION,
|
|
8682
|
+
"aria-hidden": "true",
|
|
8683
|
+
className: cn(
|
|
8684
|
+
"flex items-center justify-center shrink-0 [&_svg]:w-full [&_svg]:h-full [&_.md-icon]:text-[length:inherit]!",
|
|
8685
|
+
iconSize != null ? void 0 : iconClass
|
|
8686
|
+
),
|
|
8687
|
+
style: {
|
|
8688
|
+
fontSize: typeof iconPx === "number" ? `${iconPx}px` : iconPx,
|
|
8689
|
+
width: isCustomSize ? `${iconSize}px` : void 0,
|
|
8690
|
+
height: isCustomSize ? `${iconSize}px` : void 0
|
|
8691
|
+
},
|
|
8692
|
+
children: asChild ? React59.Children.only(children).props.children : children
|
|
8693
|
+
}),
|
|
8694
|
+
"content"
|
|
8695
|
+
) })
|
|
8696
|
+
] });
|
|
8697
|
+
const containerClassName = cn(
|
|
8698
|
+
baseIconButtonClasses,
|
|
8699
|
+
resolvedColorClass,
|
|
8700
|
+
outlineWidthClass,
|
|
8701
|
+
disabledBgClass,
|
|
8702
|
+
"overflow-hidden",
|
|
8703
|
+
SIZE_STYLES2[size],
|
|
8704
|
+
loading && "pointer-events-none opacity-75 cursor-not-allowed",
|
|
8705
|
+
className
|
|
8706
|
+
);
|
|
8707
|
+
if (asChild) {
|
|
8708
|
+
const child = React59.Children.only(children);
|
|
8709
|
+
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsx(
|
|
8710
|
+
Slot,
|
|
8711
|
+
__spreadProps(__spreadValues({
|
|
8712
|
+
ref,
|
|
8713
|
+
"aria-pressed": isToggle ? isSelected : void 0,
|
|
8714
|
+
"aria-label": ariaLabel,
|
|
8715
|
+
"aria-busy": loading || void 0,
|
|
8716
|
+
"aria-disabled": loading || restProps.disabled,
|
|
8717
|
+
onClick: handleClick,
|
|
8718
|
+
onPointerDown,
|
|
8719
|
+
onKeyDown: handleKeyDown,
|
|
8720
|
+
style: __spreadProps(__spreadValues({}, style), { borderRadius: `${animateRadius}px` }),
|
|
8721
|
+
className: containerClassName
|
|
8722
|
+
}, restProps), {
|
|
8723
|
+
children: React59.cloneElement(child, { children: innerContent })
|
|
8724
|
+
})
|
|
8725
|
+
) });
|
|
8726
|
+
}
|
|
8727
|
+
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsx(
|
|
8662
8728
|
m.button,
|
|
8663
8729
|
__spreadProps(__spreadValues({
|
|
8664
8730
|
ref,
|
|
@@ -8674,67 +8740,9 @@ var IconButtonComponent = React59.forwardRef(
|
|
|
8674
8740
|
animate: { borderRadius: animateRadius },
|
|
8675
8741
|
whileTap: { borderRadius: pressedRadius },
|
|
8676
8742
|
transition: { borderRadius: SPRING_TRANSITION_FAST },
|
|
8677
|
-
className:
|
|
8678
|
-
baseIconButtonClasses,
|
|
8679
|
-
resolvedColorClass,
|
|
8680
|
-
outlineWidthClass,
|
|
8681
|
-
disabledBgClass,
|
|
8682
|
-
"overflow-hidden",
|
|
8683
|
-
SIZE_STYLES2[size],
|
|
8684
|
-
loading && "pointer-events-none opacity-75 cursor-not-allowed",
|
|
8685
|
-
className
|
|
8686
|
-
)
|
|
8743
|
+
className: containerClassName
|
|
8687
8744
|
}, restProps), {
|
|
8688
|
-
children:
|
|
8689
|
-
needsTouchTarget && /* @__PURE__ */ jsx(TouchTarget, {}),
|
|
8690
|
-
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
8691
|
-
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", initial: false, children: loading ? /* @__PURE__ */ jsx(
|
|
8692
|
-
m.span,
|
|
8693
|
-
__spreadProps(__spreadValues({}, ICON_SPAN_VARIANTS), {
|
|
8694
|
-
transition: SPRING_TRANSITION,
|
|
8695
|
-
className: cn(
|
|
8696
|
-
"flex items-center justify-center shrink-0",
|
|
8697
|
-
iconSize != null ? void 0 : iconClass
|
|
8698
|
-
),
|
|
8699
|
-
style: isCustomSize ? { width: `${iconSize}px`, height: `${iconSize}px` } : void 0,
|
|
8700
|
-
children: loadingVariant === "loading-indicator" ? /* @__PURE__ */ jsx(
|
|
8701
|
-
LoadingIndicator,
|
|
8702
|
-
{
|
|
8703
|
-
size: typeof iconPx === "number" ? iconPx : defaultIconPx,
|
|
8704
|
-
color: "currentColor",
|
|
8705
|
-
"aria-label": "Loading"
|
|
8706
|
-
}
|
|
8707
|
-
) : /* @__PURE__ */ jsx(
|
|
8708
|
-
ProgressIndicator,
|
|
8709
|
-
{
|
|
8710
|
-
variant: "circular",
|
|
8711
|
-
size: typeof iconPx === "number" ? iconPx : defaultIconPx,
|
|
8712
|
-
color: "currentColor",
|
|
8713
|
-
trackColor: "transparent",
|
|
8714
|
-
"aria-label": "Loading"
|
|
8715
|
-
}
|
|
8716
|
-
)
|
|
8717
|
-
}),
|
|
8718
|
-
"loading"
|
|
8719
|
-
) : /* @__PURE__ */ jsx(
|
|
8720
|
-
m.span,
|
|
8721
|
-
__spreadProps(__spreadValues({}, ICON_SPAN_VARIANTS), {
|
|
8722
|
-
transition: SPRING_TRANSITION,
|
|
8723
|
-
"aria-hidden": "true",
|
|
8724
|
-
className: cn(
|
|
8725
|
-
"flex items-center justify-center shrink-0 [&_svg]:w-full [&_svg]:h-full [&_.md-icon]:text-[length:inherit]!",
|
|
8726
|
-
iconSize != null ? void 0 : iconClass
|
|
8727
|
-
),
|
|
8728
|
-
style: {
|
|
8729
|
-
fontSize: typeof iconPx === "number" ? `${iconPx}px` : iconPx,
|
|
8730
|
-
width: isCustomSize ? `${iconSize}px` : void 0,
|
|
8731
|
-
height: isCustomSize ? `${iconSize}px` : void 0
|
|
8732
|
-
},
|
|
8733
|
-
children
|
|
8734
|
-
}),
|
|
8735
|
-
"content"
|
|
8736
|
-
) })
|
|
8737
|
-
]
|
|
8745
|
+
children: innerContent
|
|
8738
8746
|
})
|
|
8739
8747
|
) });
|
|
8740
8748
|
}
|
|
@@ -9054,6 +9062,7 @@ var SplitButtonLeadingComponent = React59.forwardRef(
|
|
|
9054
9062
|
icon,
|
|
9055
9063
|
children,
|
|
9056
9064
|
disabled,
|
|
9065
|
+
asChild = false,
|
|
9057
9066
|
onClick,
|
|
9058
9067
|
onPointerDown,
|
|
9059
9068
|
onPointerUp,
|
|
@@ -9069,6 +9078,7 @@ var SplitButtonLeadingComponent = React59.forwardRef(
|
|
|
9069
9078
|
"icon",
|
|
9070
9079
|
"children",
|
|
9071
9080
|
"disabled",
|
|
9081
|
+
"asChild",
|
|
9072
9082
|
"onClick",
|
|
9073
9083
|
"onPointerDown",
|
|
9074
9084
|
"onPointerUp",
|
|
@@ -9155,12 +9165,73 @@ var SplitButtonLeadingComponent = React59.forwardRef(
|
|
|
9155
9165
|
[onBlur]
|
|
9156
9166
|
);
|
|
9157
9167
|
const leadingIconSize = LEADING_ICON_SIZE_FOR_SIZE[actualSize];
|
|
9158
|
-
|
|
9168
|
+
const labelContent = asChild ? React59.Children.only(children).props.children : children;
|
|
9169
|
+
const innerContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
9170
|
+
needsTouchTarget && /* @__PURE__ */ jsx(TouchTarget, {}),
|
|
9171
|
+
/* @__PURE__ */ jsx(
|
|
9172
|
+
StateLayer,
|
|
9173
|
+
{
|
|
9174
|
+
hovered: isHovered,
|
|
9175
|
+
focused: isFocused,
|
|
9176
|
+
pressed: isPressed
|
|
9177
|
+
}
|
|
9178
|
+
),
|
|
9179
|
+
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
9180
|
+
icon && /* @__PURE__ */ jsx(
|
|
9181
|
+
"span",
|
|
9182
|
+
{
|
|
9183
|
+
className: "flex items-center justify-center shrink-0 [&>svg]:w-full [&>svg]:h-full overflow-hidden [&_.md-icon]:text-[length:inherit]!",
|
|
9184
|
+
style: {
|
|
9185
|
+
fontSize: leadingIconSize,
|
|
9186
|
+
width: leadingIconSize,
|
|
9187
|
+
height: leadingIconSize
|
|
9188
|
+
},
|
|
9189
|
+
children: icon
|
|
9190
|
+
}
|
|
9191
|
+
),
|
|
9192
|
+
labelContent && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center h-full gap-[inherit]", children: labelContent })
|
|
9193
|
+
] });
|
|
9194
|
+
const containerClassName = cn(
|
|
9195
|
+
splitButtonVariants({
|
|
9196
|
+
variant: actualVariant,
|
|
9197
|
+
size: actualSize,
|
|
9198
|
+
disabled
|
|
9199
|
+
}),
|
|
9200
|
+
typographyClass,
|
|
9201
|
+
className
|
|
9202
|
+
);
|
|
9203
|
+
const mergedStyle = __spreadValues({
|
|
9204
|
+
paddingInlineStart: tokens.leadingPadding.start,
|
|
9205
|
+
paddingInlineEnd: tokens.leadingPadding.end,
|
|
9206
|
+
gap: "8px",
|
|
9207
|
+
borderRadius
|
|
9208
|
+
}, style);
|
|
9209
|
+
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: asChild ? /* @__PURE__ */ jsx(
|
|
9210
|
+
Slot,
|
|
9211
|
+
__spreadProps(__spreadValues({
|
|
9212
|
+
ref,
|
|
9213
|
+
"aria-disabled": disabled || void 0,
|
|
9214
|
+
onClick: handleClick,
|
|
9215
|
+
onPointerDown: handlePointerDown,
|
|
9216
|
+
onPointerUp: handlePointerUp,
|
|
9217
|
+
onPointerEnter: handlePointerEnter,
|
|
9218
|
+
onPointerLeave: handlePointerLeave,
|
|
9219
|
+
onPointerCancel: handlePointerCancel,
|
|
9220
|
+
onFocus: handleFocus,
|
|
9221
|
+
onBlur: handleBlur,
|
|
9222
|
+
style: mergedStyle,
|
|
9223
|
+
className: containerClassName
|
|
9224
|
+
}, restProps), {
|
|
9225
|
+
children: React59.cloneElement(
|
|
9226
|
+
React59.Children.only(children),
|
|
9227
|
+
{ children: innerContent }
|
|
9228
|
+
)
|
|
9229
|
+
})
|
|
9230
|
+
) : /* @__PURE__ */ jsx(
|
|
9159
9231
|
m.button,
|
|
9160
9232
|
__spreadProps(__spreadValues({
|
|
9161
9233
|
ref,
|
|
9162
9234
|
type: "button",
|
|
9163
|
-
"aria-disabled": disabled,
|
|
9164
9235
|
disabled,
|
|
9165
9236
|
onClick: handleClick,
|
|
9166
9237
|
onPointerDown: handlePointerDown,
|
|
@@ -9177,41 +9248,9 @@ var SplitButtonLeadingComponent = React59.forwardRef(
|
|
|
9177
9248
|
paddingInlineEnd: tokens.leadingPadding.end,
|
|
9178
9249
|
gap: "8px"
|
|
9179
9250
|
}, style),
|
|
9180
|
-
className:
|
|
9181
|
-
splitButtonVariants({
|
|
9182
|
-
variant: actualVariant,
|
|
9183
|
-
size: actualSize,
|
|
9184
|
-
disabled
|
|
9185
|
-
}),
|
|
9186
|
-
typographyClass,
|
|
9187
|
-
className
|
|
9188
|
-
)
|
|
9251
|
+
className: containerClassName
|
|
9189
9252
|
}, restProps), {
|
|
9190
|
-
children:
|
|
9191
|
-
needsTouchTarget && /* @__PURE__ */ jsx(TouchTarget, {}),
|
|
9192
|
-
/* @__PURE__ */ jsx(
|
|
9193
|
-
StateLayer,
|
|
9194
|
-
{
|
|
9195
|
-
hovered: isHovered,
|
|
9196
|
-
focused: isFocused,
|
|
9197
|
-
pressed: isPressed
|
|
9198
|
-
}
|
|
9199
|
-
),
|
|
9200
|
-
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
9201
|
-
icon && /* @__PURE__ */ jsx(
|
|
9202
|
-
"span",
|
|
9203
|
-
{
|
|
9204
|
-
className: "flex items-center justify-center shrink-0 [&>svg]:w-full [&>svg]:h-full overflow-hidden [&_.md-icon]:text-[length:inherit]!",
|
|
9205
|
-
style: {
|
|
9206
|
-
fontSize: leadingIconSize,
|
|
9207
|
-
width: leadingIconSize,
|
|
9208
|
-
height: leadingIconSize
|
|
9209
|
-
},
|
|
9210
|
-
children: icon
|
|
9211
|
-
}
|
|
9212
|
-
),
|
|
9213
|
-
children && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center h-full gap-[inherit]", children })
|
|
9214
|
-
]
|
|
9253
|
+
children: innerContent
|
|
9215
9254
|
})
|
|
9216
9255
|
) });
|
|
9217
9256
|
}
|
|
@@ -9243,6 +9282,8 @@ var SplitButtonTrailingComponent = React59.forwardRef(
|
|
|
9243
9282
|
onPointerCancel,
|
|
9244
9283
|
onFocus,
|
|
9245
9284
|
onBlur,
|
|
9285
|
+
asChild = false,
|
|
9286
|
+
children,
|
|
9246
9287
|
"aria-label": ariaLabel
|
|
9247
9288
|
} = _b, restProps = __objRest(_b, [
|
|
9248
9289
|
"className",
|
|
@@ -9259,6 +9300,8 @@ var SplitButtonTrailingComponent = React59.forwardRef(
|
|
|
9259
9300
|
"onPointerCancel",
|
|
9260
9301
|
"onFocus",
|
|
9261
9302
|
"onBlur",
|
|
9303
|
+
"asChild",
|
|
9304
|
+
"children",
|
|
9262
9305
|
"aria-label"
|
|
9263
9306
|
]);
|
|
9264
9307
|
var _a2, _b2;
|
|
@@ -9333,14 +9376,81 @@ var SplitButtonTrailingComponent = React59.forwardRef(
|
|
|
9333
9376
|
},
|
|
9334
9377
|
[onBlur]
|
|
9335
9378
|
);
|
|
9336
|
-
|
|
9379
|
+
const innerContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
9380
|
+
needsTouchTarget && /* @__PURE__ */ jsx(TouchTarget, {}),
|
|
9381
|
+
/* @__PURE__ */ jsx(
|
|
9382
|
+
StateLayer,
|
|
9383
|
+
{
|
|
9384
|
+
hovered: isHovered,
|
|
9385
|
+
focused: isFocused,
|
|
9386
|
+
pressed: isPressed
|
|
9387
|
+
}
|
|
9388
|
+
),
|
|
9389
|
+
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
9390
|
+
/* @__PURE__ */ jsx(
|
|
9391
|
+
m.div,
|
|
9392
|
+
{
|
|
9393
|
+
animate: {
|
|
9394
|
+
rotate: checked ? 180 : 0,
|
|
9395
|
+
x: checked ? 0 : tokens.opticalCenterOffset
|
|
9396
|
+
},
|
|
9397
|
+
transition: prefersReducedMotion2 ? { duration: 0 } : SPLIT_BUTTON_CHEVRON_SPRING,
|
|
9398
|
+
className: "flex items-center justify-center shrink-0",
|
|
9399
|
+
children: icon != null ? icon : /* @__PURE__ */ jsx(
|
|
9400
|
+
Icon,
|
|
9401
|
+
{
|
|
9402
|
+
name: "arrow_drop_down",
|
|
9403
|
+
size: tokens.trailingIconSize,
|
|
9404
|
+
opticalSize: 24
|
|
9405
|
+
}
|
|
9406
|
+
)
|
|
9407
|
+
}
|
|
9408
|
+
)
|
|
9409
|
+
] });
|
|
9410
|
+
const containerClassName = cn(
|
|
9411
|
+
splitButtonVariants({
|
|
9412
|
+
variant: actualVariant,
|
|
9413
|
+
size: actualSize,
|
|
9414
|
+
disabled
|
|
9415
|
+
}),
|
|
9416
|
+
className
|
|
9417
|
+
);
|
|
9418
|
+
const mergedStyle = __spreadValues({
|
|
9419
|
+
paddingInlineStart: tokens.trailingPadding.start,
|
|
9420
|
+
paddingInlineEnd: tokens.trailingPadding.end,
|
|
9421
|
+
borderRadius
|
|
9422
|
+
}, style);
|
|
9423
|
+
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: asChild ? /* @__PURE__ */ jsx(
|
|
9424
|
+
Slot,
|
|
9425
|
+
__spreadProps(__spreadValues({
|
|
9426
|
+
ref,
|
|
9427
|
+
"aria-label": ariaLabel,
|
|
9428
|
+
"aria-expanded": checked,
|
|
9429
|
+
"aria-disabled": disabled,
|
|
9430
|
+
onClick: handleToggle,
|
|
9431
|
+
onPointerDown: handlePointerDown,
|
|
9432
|
+
onPointerUp: handlePointerUp,
|
|
9433
|
+
onPointerEnter: handlePointerEnter,
|
|
9434
|
+
onPointerLeave: handlePointerLeave,
|
|
9435
|
+
onPointerCancel: handlePointerCancel,
|
|
9436
|
+
onFocus: handleFocus,
|
|
9437
|
+
onBlur: handleBlur,
|
|
9438
|
+
style: mergedStyle,
|
|
9439
|
+
className: containerClassName
|
|
9440
|
+
}, restProps), {
|
|
9441
|
+
children: React59.cloneElement(
|
|
9442
|
+
React59.Children.only(children),
|
|
9443
|
+
{ children: innerContent }
|
|
9444
|
+
)
|
|
9445
|
+
})
|
|
9446
|
+
) : /* @__PURE__ */ jsx(
|
|
9337
9447
|
m.button,
|
|
9338
9448
|
__spreadProps(__spreadValues({
|
|
9339
9449
|
ref,
|
|
9340
9450
|
type: "button",
|
|
9341
|
-
"aria-pressed": checked,
|
|
9342
|
-
"aria-expanded": checked,
|
|
9343
9451
|
"aria-label": ariaLabel,
|
|
9452
|
+
"aria-expanded": checked,
|
|
9453
|
+
"aria-disabled": disabled,
|
|
9344
9454
|
disabled,
|
|
9345
9455
|
onClick: handleToggle,
|
|
9346
9456
|
onPointerDown: handlePointerDown,
|
|
@@ -9356,46 +9466,9 @@ var SplitButtonTrailingComponent = React59.forwardRef(
|
|
|
9356
9466
|
paddingInlineStart: tokens.trailingPadding.start,
|
|
9357
9467
|
paddingInlineEnd: tokens.trailingPadding.end
|
|
9358
9468
|
}, style),
|
|
9359
|
-
className:
|
|
9360
|
-
splitButtonVariants({
|
|
9361
|
-
variant: actualVariant,
|
|
9362
|
-
size: actualSize,
|
|
9363
|
-
disabled
|
|
9364
|
-
}),
|
|
9365
|
-
className
|
|
9366
|
-
)
|
|
9469
|
+
className: containerClassName
|
|
9367
9470
|
}, restProps), {
|
|
9368
|
-
children:
|
|
9369
|
-
needsTouchTarget && /* @__PURE__ */ jsx(TouchTarget, {}),
|
|
9370
|
-
/* @__PURE__ */ jsx(
|
|
9371
|
-
StateLayer,
|
|
9372
|
-
{
|
|
9373
|
-
hovered: isHovered,
|
|
9374
|
-
focused: isFocused,
|
|
9375
|
-
pressed: isPressed
|
|
9376
|
-
}
|
|
9377
|
-
),
|
|
9378
|
-
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
9379
|
-
/* @__PURE__ */ jsx(
|
|
9380
|
-
m.div,
|
|
9381
|
-
{
|
|
9382
|
-
animate: {
|
|
9383
|
-
rotate: checked ? 180 : 0,
|
|
9384
|
-
x: checked ? 0 : tokens.opticalCenterOffset
|
|
9385
|
-
},
|
|
9386
|
-
transition: prefersReducedMotion2 ? { duration: 0 } : SPLIT_BUTTON_CHEVRON_SPRING,
|
|
9387
|
-
className: "flex items-center justify-center shrink-0",
|
|
9388
|
-
children: icon != null ? icon : /* @__PURE__ */ jsx(
|
|
9389
|
-
Icon,
|
|
9390
|
-
{
|
|
9391
|
-
name: "arrow_drop_down",
|
|
9392
|
-
size: tokens.trailingIconSize,
|
|
9393
|
-
opticalSize: 24
|
|
9394
|
-
}
|
|
9395
|
-
)
|
|
9396
|
-
}
|
|
9397
|
-
)
|
|
9398
|
-
]
|
|
9471
|
+
children: innerContent
|
|
9399
9472
|
})
|
|
9400
9473
|
) });
|
|
9401
9474
|
}
|
|
@@ -9649,6 +9722,7 @@ var CardImpl = React59.forwardRef(
|
|
|
9649
9722
|
target,
|
|
9650
9723
|
rel: relProp,
|
|
9651
9724
|
onClick,
|
|
9725
|
+
asChild = false,
|
|
9652
9726
|
children
|
|
9653
9727
|
} = _b, props = __objRest(_b, [
|
|
9654
9728
|
"className",
|
|
@@ -9659,10 +9733,11 @@ var CardImpl = React59.forwardRef(
|
|
|
9659
9733
|
"target",
|
|
9660
9734
|
"rel",
|
|
9661
9735
|
"onClick",
|
|
9736
|
+
"asChild",
|
|
9662
9737
|
"children"
|
|
9663
9738
|
]);
|
|
9664
9739
|
const safeVariant = variant;
|
|
9665
|
-
const isInteractive = !!onClick || !!href || interactive;
|
|
9740
|
+
const isInteractive = !!onClick || !!href || interactive || asChild;
|
|
9666
9741
|
const elevationProps = useCardElevation(safeVariant, disabled);
|
|
9667
9742
|
const { ripples, onPointerDown, removeRipple } = useRippleState();
|
|
9668
9743
|
const baseClass = cn(
|
|
@@ -9683,6 +9758,26 @@ var CardImpl = React59.forwardRef(
|
|
|
9683
9758
|
// Outlined interactive card: change border color to m3-outline on focus/press/hover
|
|
9684
9759
|
variant === "outlined" && "hover:border-m3-outline focus-visible:border-m3-outline active:border-m3-outline"
|
|
9685
9760
|
);
|
|
9761
|
+
if (asChild) {
|
|
9762
|
+
const child = React59.Children.only(children);
|
|
9763
|
+
const innerContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
9764
|
+
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
9765
|
+
child.props.children
|
|
9766
|
+
] });
|
|
9767
|
+
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsx(
|
|
9768
|
+
Slot,
|
|
9769
|
+
__spreadProps(__spreadValues({
|
|
9770
|
+
ref,
|
|
9771
|
+
className: cn(baseClass, interactiveClass),
|
|
9772
|
+
"aria-disabled": disabled ? true : void 0,
|
|
9773
|
+
tabIndex: disabled ? -1 : 0,
|
|
9774
|
+
onPointerDown,
|
|
9775
|
+
onClick
|
|
9776
|
+
}, props), {
|
|
9777
|
+
children: React59.cloneElement(child, { children: innerContent })
|
|
9778
|
+
})
|
|
9779
|
+
) });
|
|
9780
|
+
}
|
|
9686
9781
|
if (!isInteractive) {
|
|
9687
9782
|
return /* @__PURE__ */ jsx(
|
|
9688
9783
|
"div",
|
|
@@ -10149,7 +10244,9 @@ var ChipImpl = React59.forwardRef(
|
|
|
10149
10244
|
avatar,
|
|
10150
10245
|
onRemove,
|
|
10151
10246
|
className,
|
|
10152
|
-
onClick
|
|
10247
|
+
onClick,
|
|
10248
|
+
asChild = false,
|
|
10249
|
+
children
|
|
10153
10250
|
} = _b, props = __objRest(_b, [
|
|
10154
10251
|
"variant",
|
|
10155
10252
|
"elevated",
|
|
@@ -10161,7 +10258,9 @@ var ChipImpl = React59.forwardRef(
|
|
|
10161
10258
|
"avatar",
|
|
10162
10259
|
"onRemove",
|
|
10163
10260
|
"className",
|
|
10164
|
-
"onClick"
|
|
10261
|
+
"onClick",
|
|
10262
|
+
"asChild",
|
|
10263
|
+
"children"
|
|
10165
10264
|
]);
|
|
10166
10265
|
const { ripples, onPointerDown, removeRipple } = useRippleState({
|
|
10167
10266
|
disabled
|
|
@@ -10276,6 +10375,63 @@ var ChipImpl = React59.forwardRef(
|
|
|
10276
10375
|
) : null }),
|
|
10277
10376
|
/* @__PURE__ */ jsx("span", { className: "whitespace-nowrap", children: label })
|
|
10278
10377
|
] });
|
|
10378
|
+
if (asChild) {
|
|
10379
|
+
const child = React59.Children.only(children);
|
|
10380
|
+
const innerContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
10381
|
+
/* @__PURE__ */ jsx(Ripple, { ripples, onRippleDone: removeRipple }),
|
|
10382
|
+
mainContent,
|
|
10383
|
+
hasTrailingContent && /* @__PURE__ */ jsx("span", { className: "flex items-center justify-center shrink-0", children: onRemove ? /* @__PURE__ */ jsx(
|
|
10384
|
+
"button",
|
|
10385
|
+
{
|
|
10386
|
+
type: "button",
|
|
10387
|
+
tabIndex: disabled ? -1 : 0,
|
|
10388
|
+
"aria-label": typeof label === "string" ? `Remove ${label}` : "Remove",
|
|
10389
|
+
onClick: (e) => {
|
|
10390
|
+
e.stopPropagation();
|
|
10391
|
+
onRemove(e);
|
|
10392
|
+
},
|
|
10393
|
+
onPointerDown: (e) => e.stopPropagation(),
|
|
10394
|
+
className: cn(
|
|
10395
|
+
"flex items-center justify-center w-8.5 h-full",
|
|
10396
|
+
"cursor-pointer focus-visible:outline-none",
|
|
10397
|
+
"transition-all duration-150",
|
|
10398
|
+
"relative overflow-hidden rounded-r-[7px] rounded-l-none",
|
|
10399
|
+
"before:absolute before:-inset-px before:pointer-events-none before:bg-current",
|
|
10400
|
+
"before:transition-opacity before:duration-200 before:opacity-0 before:rounded-r-[7px]",
|
|
10401
|
+
"hover:before:opacity-[0.08] active:before:opacity-[0.12]",
|
|
10402
|
+
selected ? "text-m3-on-secondary-container" : "text-m3-on-surface-variant"
|
|
10403
|
+
),
|
|
10404
|
+
children: /* @__PURE__ */ jsx(CloseIcon3, {})
|
|
10405
|
+
}
|
|
10406
|
+
) : trailingIcon ? /* @__PURE__ */ jsx(
|
|
10407
|
+
"span",
|
|
10408
|
+
{
|
|
10409
|
+
className: cn(
|
|
10410
|
+
"flex items-center justify-center w-4.5 h-4.5 [&_.md-icon]:text-[length:inherit]!",
|
|
10411
|
+
selected ? "text-m3-on-secondary-container" : "text-m3-on-surface-variant"
|
|
10412
|
+
),
|
|
10413
|
+
style: { fontSize: 18 },
|
|
10414
|
+
"aria-hidden": "true",
|
|
10415
|
+
children: trailingIcon
|
|
10416
|
+
}
|
|
10417
|
+
) : null })
|
|
10418
|
+
] });
|
|
10419
|
+
const strippedProps = __spreadValues({}, props);
|
|
10420
|
+
delete strippedProps.children;
|
|
10421
|
+
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsx(
|
|
10422
|
+
Slot,
|
|
10423
|
+
__spreadProps(__spreadValues({
|
|
10424
|
+
ref,
|
|
10425
|
+
"aria-disabled": disabled || void 0,
|
|
10426
|
+
tabIndex: disabled ? -1 : 0,
|
|
10427
|
+
onClick,
|
|
10428
|
+
onPointerDown,
|
|
10429
|
+
className: containerClass
|
|
10430
|
+
}, strippedProps), {
|
|
10431
|
+
children: React59.cloneElement(child, { children: innerContent })
|
|
10432
|
+
})
|
|
10433
|
+
) });
|
|
10434
|
+
}
|
|
10279
10435
|
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsxs(
|
|
10280
10436
|
Root8,
|
|
10281
10437
|
__spreadProps(__spreadValues(__spreadProps(__spreadValues({
|
|
@@ -13217,7 +13373,7 @@ var TimePickerDialog = ({
|
|
|
13217
13373
|
TimePickerDialog.displayName = "TimePickerDialog";
|
|
13218
13374
|
var clamp = (value, min, max) => Math.max(min, Math.min(max, value));
|
|
13219
13375
|
var isValidHourInput = (h, is24hour) => is24hour ? h >= 0 && h <= 23 : h >= 1 && h <= 12;
|
|
13220
|
-
var isValidMinuteInput = (
|
|
13376
|
+
var isValidMinuteInput = (m68) => m68 >= 0 && m68 <= 59;
|
|
13221
13377
|
var to24Hour = (hour12, isPm) => {
|
|
13222
13378
|
if (isPm) {
|
|
13223
13379
|
return hour12 === 12 ? 12 : hour12 + 12;
|
|
@@ -13253,8 +13409,8 @@ var useTimePickerState = (options) => {
|
|
|
13253
13409
|
},
|
|
13254
13410
|
[is24hour]
|
|
13255
13411
|
);
|
|
13256
|
-
const setMinute = useCallback((
|
|
13257
|
-
const clamped = clamp(
|
|
13412
|
+
const setMinute = useCallback((m68) => {
|
|
13413
|
+
const clamped = clamp(m68, 0, 59);
|
|
13258
13414
|
setMinuteState(clamped);
|
|
13259
13415
|
setMinuteInputState(clamped);
|
|
13260
13416
|
}, []);
|
|
@@ -13268,10 +13424,10 @@ var useTimePickerState = (options) => {
|
|
|
13268
13424
|
},
|
|
13269
13425
|
[is24hour, isPm]
|
|
13270
13426
|
);
|
|
13271
|
-
const setMinuteInput = useCallback((
|
|
13272
|
-
setMinuteInputState(
|
|
13273
|
-
if (isValidMinuteInput(
|
|
13274
|
-
setMinuteState(
|
|
13427
|
+
const setMinuteInput = useCallback((m68) => {
|
|
13428
|
+
setMinuteInputState(m68);
|
|
13429
|
+
if (isValidMinuteInput(m68)) {
|
|
13430
|
+
setMinuteState(m68);
|
|
13275
13431
|
}
|
|
13276
13432
|
}, []);
|
|
13277
13433
|
const setSelection = useCallback((mode) => {
|
|
@@ -15411,7 +15567,7 @@ var NavigationBarItemComponent = React59.forwardRef(
|
|
|
15411
15567
|
className,
|
|
15412
15568
|
"aria-label": ariaLabelProp
|
|
15413
15569
|
}, ref) => {
|
|
15414
|
-
const { variant, itemLayout } = React59.useContext(NavigationBarContext);
|
|
15570
|
+
const { variant, itemLayout, itemClassName: contextItemClassName } = React59.useContext(NavigationBarContext);
|
|
15415
15571
|
const isForcedHorizontal = itemLayout === "horizontal";
|
|
15416
15572
|
const isResponsiveHorizontal = (variant === "flexible" || variant === "xr") && itemLayout === void 0;
|
|
15417
15573
|
const { ripples, onPointerDown, removeRipple } = useRippleState({
|
|
@@ -15446,9 +15602,10 @@ var NavigationBarItemComponent = React59.forwardRef(
|
|
|
15446
15602
|
onClick: handleClick,
|
|
15447
15603
|
onPointerDown,
|
|
15448
15604
|
className: cn(
|
|
15449
|
-
"group relative flex
|
|
15450
|
-
variant === "xr" ? "
|
|
15605
|
+
"group relative flex cursor-pointer transition-colors duration-200 outline-none select-none h-full items-center justify-center min-w-0",
|
|
15606
|
+
variant === "xr" ? isResponsiveHorizontal ? "flex-1 min-[600px]:flex-initial min-[600px]:w-auto" : isForcedHorizontal ? "flex-initial w-auto" : "flex-1" : isForcedHorizontal ? "flex-initial w-auto" : "flex-1",
|
|
15451
15607
|
disabled && "pointer-events-none opacity-[0.38]",
|
|
15608
|
+
contextItemClassName,
|
|
15452
15609
|
className
|
|
15453
15610
|
),
|
|
15454
15611
|
children: [
|
|
@@ -15456,9 +15613,9 @@ var NavigationBarItemComponent = React59.forwardRef(
|
|
|
15456
15613
|
"div",
|
|
15457
15614
|
{
|
|
15458
15615
|
className: cn(
|
|
15459
|
-
"relative flex items-center justify-center flex-col gap-y-1 w-full",
|
|
15460
|
-
isResponsiveHorizontal && "min-[600px]:flex-row min-[600px]:gap-y-0 min-[600px]:gap-x-1 min-[600px]:h-10 min-[600px]:px-4 min-[600px]:
|
|
15461
|
-
isForcedHorizontal && "flex-row gap-y-0 gap-x-1 h-10 px-4 rounded-full w-auto
|
|
15616
|
+
"relative flex items-center justify-center flex-col gap-y-1 w-full px-1 py-1.5",
|
|
15617
|
+
isResponsiveHorizontal && "min-[600px]:flex-row min-[600px]:gap-y-0 min-[600px]:gap-x-1.5 min-[600px]:h-10 min-[600px]:px-4 min-[600px]:py-0 min-[600px]:rounded-full min-[600px]:w-auto",
|
|
15618
|
+
isForcedHorizontal && "flex-row gap-y-0 gap-x-1.5 h-10 px-4 py-0 rounded-full w-auto"
|
|
15462
15619
|
),
|
|
15463
15620
|
children: [
|
|
15464
15621
|
/* @__PURE__ */ jsxs(
|
|
@@ -15535,7 +15692,7 @@ var navContainerVariants = cva(
|
|
|
15535
15692
|
variant: {
|
|
15536
15693
|
flexible: "bottom-0 left-0 right-0 w-full h-16 pb-safe",
|
|
15537
15694
|
baseline: "bottom-0 left-0 right-0 w-full h-20 pb-safe",
|
|
15538
|
-
xr: "bottom-6 left-1/2 -translate-x-1/2 w-auto max-w-fit h-20 min-[600px]:h-16 rounded-[48px] px-2"
|
|
15695
|
+
xr: "bottom-6 left-1/2 -translate-x-1/2 w-auto max-w-[calc(100%-2rem)] min-[600px]:max-w-fit h-20 min-[600px]:h-16 rounded-[48px] px-2"
|
|
15539
15696
|
},
|
|
15540
15697
|
position: {
|
|
15541
15698
|
fixed: "fixed",
|
|
@@ -15563,6 +15720,7 @@ var NavigationBarComponent = React59.forwardRef(
|
|
|
15563
15720
|
scrollContainerRef,
|
|
15564
15721
|
activeIndicatorTransition,
|
|
15565
15722
|
children,
|
|
15723
|
+
itemClassName,
|
|
15566
15724
|
className,
|
|
15567
15725
|
style
|
|
15568
15726
|
}, ref) => {
|
|
@@ -15613,7 +15771,7 @@ var NavigationBarComponent = React59.forwardRef(
|
|
|
15613
15771
|
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsx(
|
|
15614
15772
|
NavigationBarContext.Provider,
|
|
15615
15773
|
{
|
|
15616
|
-
value: { variant, itemLayout, activeIndicatorTransition },
|
|
15774
|
+
value: { variant, itemLayout, activeIndicatorTransition, itemClassName },
|
|
15617
15775
|
children: /* @__PURE__ */ jsx(
|
|
15618
15776
|
m.nav,
|
|
15619
15777
|
{
|
|
@@ -15634,7 +15792,7 @@ var NavigationBarComponent = React59.forwardRef(
|
|
|
15634
15792
|
"aria-orientation": "horizontal",
|
|
15635
15793
|
className: cn(
|
|
15636
15794
|
"flex w-full h-full mx-auto",
|
|
15637
|
-
variant === "xr" ? "gap-0 min-[600px]:gap-1.5" : "max-w-7xl gap-1.5"
|
|
15795
|
+
variant === "xr" ? "gap-0 min-[600px]:gap-1.5 items-center justify-center px-1" : "max-w-7xl gap-1.5"
|
|
15638
15796
|
),
|
|
15639
15797
|
children
|
|
15640
15798
|
}
|
|
@@ -20730,6 +20888,7 @@ var TabsList = React59.memo(TabsListComponent);
|
|
|
20730
20888
|
var typographyVariants = cva("m-0 p-0 text-m3-on-surface", {
|
|
20731
20889
|
variants: {
|
|
20732
20890
|
variant: {
|
|
20891
|
+
// Short hyphenated
|
|
20733
20892
|
"display-lg": "text-[57px] leading-[64px] font-normal tracking-[-0.25px]",
|
|
20734
20893
|
"display-md": "text-[45px] leading-[52px] font-normal tracking-[0px]",
|
|
20735
20894
|
"display-sm": "text-[36px] leading-[44px] font-normal tracking-[0px]",
|
|
@@ -20744,7 +20903,39 @@ var typographyVariants = cva("m-0 p-0 text-m3-on-surface", {
|
|
|
20744
20903
|
"label-sm": "text-[11px] leading-[16px] font-medium tracking-[0.5px]",
|
|
20745
20904
|
"body-lg": "text-[16px] leading-[24px] font-normal tracking-[0.5px]",
|
|
20746
20905
|
"body-md": "text-[14px] leading-[20px] font-normal tracking-[0.25px]",
|
|
20747
|
-
"body-sm": "text-[12px] leading-[16px] font-normal tracking-[0.4px]"
|
|
20906
|
+
"body-sm": "text-[12px] leading-[16px] font-normal tracking-[0.4px]",
|
|
20907
|
+
// Full hyphenated aliases
|
|
20908
|
+
"display-large": "text-[57px] leading-[64px] font-normal tracking-[-0.25px]",
|
|
20909
|
+
"display-medium": "text-[45px] leading-[52px] font-normal tracking-[0px]",
|
|
20910
|
+
"display-small": "text-[36px] leading-[44px] font-normal tracking-[0px]",
|
|
20911
|
+
"headline-large": "text-[32px] leading-[40px] font-normal tracking-[0px]",
|
|
20912
|
+
"headline-medium": "text-[28px] leading-[36px] font-normal tracking-[0px]",
|
|
20913
|
+
"headline-small": "text-[24px] leading-[32px] font-normal tracking-[0px]",
|
|
20914
|
+
"title-large": "text-[22px] leading-[28px] font-normal tracking-[0px]",
|
|
20915
|
+
"title-medium": "text-[16px] leading-[24px] font-medium tracking-[0.15px]",
|
|
20916
|
+
"title-small": "text-[14px] leading-[20px] font-medium tracking-[0.1px]",
|
|
20917
|
+
"label-large": "text-[14px] leading-[20px] font-medium tracking-[0.1px]",
|
|
20918
|
+
"label-medium": "text-[12px] leading-[16px] font-medium tracking-[0.5px]",
|
|
20919
|
+
"label-small": "text-[11px] leading-[16px] font-medium tracking-[0.5px]",
|
|
20920
|
+
"body-large": "text-[16px] leading-[24px] font-normal tracking-[0.5px]",
|
|
20921
|
+
"body-medium": "text-[14px] leading-[20px] font-normal tracking-[0.25px]",
|
|
20922
|
+
"body-small": "text-[12px] leading-[16px] font-normal tracking-[0.4px]",
|
|
20923
|
+
// CamelCase aliases
|
|
20924
|
+
displayLarge: "text-[57px] leading-[64px] font-normal tracking-[-0.25px]",
|
|
20925
|
+
displayMedium: "text-[45px] leading-[52px] font-normal tracking-[0px]",
|
|
20926
|
+
displaySmall: "text-[36px] leading-[44px] font-normal tracking-[0px]",
|
|
20927
|
+
headlineLarge: "text-[32px] leading-[40px] font-normal tracking-[0px]",
|
|
20928
|
+
headlineMedium: "text-[28px] leading-[36px] font-normal tracking-[0px]",
|
|
20929
|
+
headlineSmall: "text-[24px] leading-[32px] font-normal tracking-[0px]",
|
|
20930
|
+
titleLarge: "text-[22px] leading-[28px] font-normal tracking-[0px]",
|
|
20931
|
+
titleMedium: "text-[16px] leading-[24px] font-medium tracking-[0.15px]",
|
|
20932
|
+
titleSmall: "text-[14px] leading-[20px] font-medium tracking-[0.1px]",
|
|
20933
|
+
labelLarge: "text-[14px] leading-[20px] font-medium tracking-[0.1px]",
|
|
20934
|
+
labelMedium: "text-[12px] leading-[16px] font-medium tracking-[0.5px]",
|
|
20935
|
+
labelSmall: "text-[11px] leading-[16px] font-medium tracking-[0.5px]",
|
|
20936
|
+
bodyLarge: "text-[16px] leading-[24px] font-normal tracking-[0.5px]",
|
|
20937
|
+
bodyMedium: "text-[14px] leading-[20px] font-normal tracking-[0.25px]",
|
|
20938
|
+
bodySmall: "text-[12px] leading-[16px] font-normal tracking-[0.4px]"
|
|
20748
20939
|
}
|
|
20749
20940
|
},
|
|
20750
20941
|
defaultVariants: {
|
|
@@ -20753,19 +20944,21 @@ var typographyVariants = cva("m-0 p-0 text-m3-on-surface", {
|
|
|
20753
20944
|
});
|
|
20754
20945
|
var Text = React59.forwardRef(
|
|
20755
20946
|
(_a, ref) => {
|
|
20756
|
-
var _b = _a, { className, variant, as: Component } = _b, props = __objRest(_b, ["className", "variant", "as"]);
|
|
20947
|
+
var _b = _a, { className, variant, as: Component, color, weight, style } = _b, props = __objRest(_b, ["className", "variant", "as", "color", "weight", "style"]);
|
|
20757
20948
|
const defaultComponent = React59.useMemo(() => {
|
|
20758
|
-
|
|
20759
|
-
|
|
20760
|
-
if (
|
|
20949
|
+
const v = variant ? String(variant).toLowerCase() : "";
|
|
20950
|
+
if (v.startsWith("display") || v.startsWith("headline")) return "h1";
|
|
20951
|
+
if (v.startsWith("title")) return "h2";
|
|
20761
20952
|
return "p";
|
|
20762
20953
|
}, [variant]);
|
|
20763
20954
|
const Tag = Component || defaultComponent;
|
|
20955
|
+
const customStyle = __spreadValues(__spreadValues(__spreadValues({}, style), color ? { color } : {}), weight ? { fontWeight: weight } : {});
|
|
20764
20956
|
return /* @__PURE__ */ jsx(
|
|
20765
20957
|
Tag,
|
|
20766
20958
|
__spreadValues({
|
|
20767
20959
|
ref,
|
|
20768
|
-
className: cn(typographyVariants({ variant, className }))
|
|
20960
|
+
className: cn(typographyVariants({ variant, className })),
|
|
20961
|
+
style: customStyle
|
|
20769
20962
|
}, props)
|
|
20770
20963
|
);
|
|
20771
20964
|
}
|
|
@@ -20890,7 +21083,6 @@ var FloatingLabel = React59.memo(function FloatingLabel2({
|
|
|
20890
21083
|
"absolute pointer-events-none select-none origin-[left_center] leading-6 text-base whitespace-nowrap",
|
|
20891
21084
|
"px-1 -mx-1",
|
|
20892
21085
|
// Clear the notch gap and keep text aligned
|
|
20893
|
-
variant === "outlined" && isFloated && "bg-m3-surface",
|
|
20894
21086
|
"left-4",
|
|
20895
21087
|
isDisabled && "opacity-[0.38]"
|
|
20896
21088
|
),
|
|
@@ -20966,7 +21158,8 @@ var OutlineContainer = React59.memo(function OutlineContainer2({
|
|
|
20966
21158
|
);
|
|
20967
21159
|
const borderWidth = isFocused || isError ? TF_SIZE.outlineThick : TF_SIZE.outlineThin;
|
|
20968
21160
|
const leftSegmentWidth = TF_SIZE.paddingStart;
|
|
20969
|
-
const
|
|
21161
|
+
const isNotched = isFloated && labelWidth > 0;
|
|
21162
|
+
const notchWidth = isNotched ? labelWidth * TF_TYPOGRAPHY.labelScaleRatio + TF_SIZE.notchPadding * 2 : 0;
|
|
20970
21163
|
const borderTransition = { duration: colorDuration, ease };
|
|
20971
21164
|
const notchTransition = { duration: notchDuration, ease };
|
|
20972
21165
|
return /* @__PURE__ */ jsxs(
|
|
@@ -21004,7 +21197,7 @@ var OutlineContainer = React59.memo(function OutlineContainer2({
|
|
|
21004
21197
|
style: { height: borderWidth },
|
|
21005
21198
|
animate: {
|
|
21006
21199
|
borderTopColor: borderColor,
|
|
21007
|
-
opacity:
|
|
21200
|
+
opacity: isNotched ? 0 : 1,
|
|
21008
21201
|
borderTopWidth: borderWidth,
|
|
21009
21202
|
borderTopStyle: "solid"
|
|
21010
21203
|
},
|
|
@@ -21456,7 +21649,7 @@ var TextFieldComponent = React59.forwardRef(
|
|
|
21456
21649
|
const computedDescribedby = [hasSupporting ? supportingId : "", ariaDescribedby != null ? ariaDescribedby : ""].filter(Boolean).join(" ") || void 0;
|
|
21457
21650
|
const inputClass = cn(
|
|
21458
21651
|
"bg-transparent outline-none w-full",
|
|
21459
|
-
isInToolbar ? "self-center" : "self-end",
|
|
21652
|
+
!resolvedLabel || isInToolbar ? "self-center" : "self-end",
|
|
21460
21653
|
"text-base leading-6 text-m3-on-surface",
|
|
21461
21654
|
"caret-[var(--color-m3-primary)]",
|
|
21462
21655
|
"placeholder:text-m3-on-surface-variant/60",
|
|
@@ -21467,7 +21660,7 @@ var TextFieldComponent = React59.forwardRef(
|
|
|
21467
21660
|
id: inputId,
|
|
21468
21661
|
name,
|
|
21469
21662
|
value: currentValue,
|
|
21470
|
-
placeholder: isFloated ? placeholder != null ? placeholder : "" : "",
|
|
21663
|
+
placeholder: !resolvedLabel || isFloated ? placeholder != null ? placeholder : "" : "",
|
|
21471
21664
|
disabled,
|
|
21472
21665
|
readOnly,
|
|
21473
21666
|
required,
|
|
@@ -21499,7 +21692,7 @@ var TextFieldComponent = React59.forwardRef(
|
|
|
21499
21692
|
"relative flex flex-col flex-1 min-w-0 h-full",
|
|
21500
21693
|
paddingStart,
|
|
21501
21694
|
paddingEnd,
|
|
21502
|
-
isInToolbar ? "justify-center" : variant === "filled" ? resolvedDense ? "pt-5 pb-2" : "pt-6 pb-2" : resolvedDense ? "py-3" : "py-4"
|
|
21695
|
+
isInToolbar || !resolvedLabel ? "justify-center" : variant === "filled" ? resolvedDense ? "pt-5 pb-2" : "pt-6 pb-2" : resolvedDense ? "py-3" : "py-4"
|
|
21503
21696
|
);
|
|
21504
21697
|
const wrapperClass = cn(
|
|
21505
21698
|
"group/tf inline-flex flex-col",
|
|
@@ -22583,6 +22776,47 @@ var vibrantFloatingToolbarColors = {
|
|
|
22583
22776
|
fabContainerColor: "var(--md-sys-color-tertiary-container)",
|
|
22584
22777
|
fabContentColor: "var(--md-sys-color-on-tertiary-container)"
|
|
22585
22778
|
};
|
|
22779
|
+
var surfaceContainerHighFloatingToolbarColors = {
|
|
22780
|
+
toolbarContainerColor: "var(--md-sys-color-surface-container-high)",
|
|
22781
|
+
toolbarContentColor: "var(--md-sys-color-on-surface)",
|
|
22782
|
+
fabContainerColor: "var(--md-sys-color-secondary-container)",
|
|
22783
|
+
fabContentColor: "var(--md-sys-color-on-secondary-container)"
|
|
22784
|
+
};
|
|
22785
|
+
var surfaceContainerHighestFloatingToolbarColors = {
|
|
22786
|
+
toolbarContainerColor: "var(--md-sys-color-surface-container-highest)",
|
|
22787
|
+
toolbarContentColor: "var(--md-sys-color-on-surface)",
|
|
22788
|
+
fabContainerColor: "var(--md-sys-color-secondary-container)",
|
|
22789
|
+
fabContentColor: "var(--md-sys-color-on-secondary-container)"
|
|
22790
|
+
};
|
|
22791
|
+
var tertiaryContainerFloatingToolbarColors = {
|
|
22792
|
+
toolbarContainerColor: "var(--md-sys-color-tertiary-container)",
|
|
22793
|
+
toolbarContentColor: "var(--md-sys-color-on-tertiary-container)",
|
|
22794
|
+
fabContainerColor: "var(--md-sys-color-primary-container)",
|
|
22795
|
+
fabContentColor: "var(--md-sys-color-on-primary-container)"
|
|
22796
|
+
};
|
|
22797
|
+
var xrFloatingToolbarColors = {
|
|
22798
|
+
toolbarContainerColor: "color-mix(in srgb, var(--md-sys-color-surface-container-high) 80%, transparent)",
|
|
22799
|
+
toolbarContentColor: "var(--md-sys-color-on-surface)",
|
|
22800
|
+
fabContainerColor: "color-mix(in srgb, var(--md-sys-color-secondary-container) 85%, transparent)",
|
|
22801
|
+
fabContentColor: "var(--md-sys-color-on-secondary-container)"
|
|
22802
|
+
};
|
|
22803
|
+
function getToolbarColors(variant = "standard", customColors) {
|
|
22804
|
+
if (customColors) return customColors;
|
|
22805
|
+
switch (variant) {
|
|
22806
|
+
case "vibrant":
|
|
22807
|
+
return vibrantFloatingToolbarColors;
|
|
22808
|
+
case "surface-high":
|
|
22809
|
+
return surfaceContainerHighFloatingToolbarColors;
|
|
22810
|
+
case "surface-highest":
|
|
22811
|
+
return surfaceContainerHighestFloatingToolbarColors;
|
|
22812
|
+
case "tertiary":
|
|
22813
|
+
return tertiaryContainerFloatingToolbarColors;
|
|
22814
|
+
case "xr":
|
|
22815
|
+
return xrFloatingToolbarColors;
|
|
22816
|
+
default:
|
|
22817
|
+
return standardFloatingToolbarColors;
|
|
22818
|
+
}
|
|
22819
|
+
}
|
|
22586
22820
|
var BottomDockedToolbar = React59.forwardRef(
|
|
22587
22821
|
(_a, ref) => {
|
|
22588
22822
|
var _b = _a, {
|
|
@@ -22612,7 +22846,7 @@ var BottomDockedToolbar = React59.forwardRef(
|
|
|
22612
22846
|
"className",
|
|
22613
22847
|
"aria-label"
|
|
22614
22848
|
]);
|
|
22615
|
-
const colors =
|
|
22849
|
+
const colors = getToolbarColors(variant, customColors);
|
|
22616
22850
|
const { scrollY } = useScroll(
|
|
22617
22851
|
scrollContainerRef ? { container: scrollContainerRef } : void 0
|
|
22618
22852
|
);
|
|
@@ -22641,6 +22875,7 @@ var BottomDockedToolbar = React59.forwardRef(
|
|
|
22641
22875
|
full: "rounded-full"
|
|
22642
22876
|
};
|
|
22643
22877
|
const justifyClass = justify === "center" ? "justify-center gap-4" : "justify-between";
|
|
22878
|
+
const isXr = variant === "xr";
|
|
22644
22879
|
return /* @__PURE__ */ jsx(ToolbarContext.Provider, { value: { orientation: "horizontal" }, children: /* @__PURE__ */ jsxs(
|
|
22645
22880
|
m.div,
|
|
22646
22881
|
__spreadProps(__spreadValues({
|
|
@@ -22661,11 +22896,12 @@ var BottomDockedToolbar = React59.forwardRef(
|
|
|
22661
22896
|
paddingRight: paddingX
|
|
22662
22897
|
}),
|
|
22663
22898
|
className: cn(
|
|
22664
|
-
"fixed bottom-0 left-0 right-0 w-full z-40",
|
|
22899
|
+
"fixed bottom-0 left-0 right-0 w-full z-40 text-(--toolbar-color) [&_.text-m3-on-surface-variant]:text-current",
|
|
22665
22900
|
"flex items-center h-16",
|
|
22666
22901
|
justifyClass,
|
|
22667
22902
|
SHAPE_CLASSES[shape],
|
|
22668
|
-
"shadow-[0_-1px_3px_rgba(0,0,0,0.1)]
|
|
22903
|
+
isXr ? "backdrop-blur-md border-t border-white/10 shadow-lg" : "shadow-[0_-1px_3px_rgba(0,0,0,0.1)]",
|
|
22904
|
+
"pointer-events-auto",
|
|
22669
22905
|
className
|
|
22670
22906
|
)
|
|
22671
22907
|
}, props), {
|
|
@@ -22712,6 +22948,13 @@ var ToolbarIconButtonTokens = {
|
|
|
22712
22948
|
/** Icon size in dp — larger than standard 24dp to fill the 48dp button properly */
|
|
22713
22949
|
IconSize: 28
|
|
22714
22950
|
};
|
|
22951
|
+
var ToolbarToggleButtonTokens = {
|
|
22952
|
+
Height: 48,
|
|
22953
|
+
MinWidth: 95,
|
|
22954
|
+
IconSize: 24,
|
|
22955
|
+
PaddingX: 16,
|
|
22956
|
+
Gap: 8
|
|
22957
|
+
};
|
|
22715
22958
|
var ALIGNMENT_CLASS = {
|
|
22716
22959
|
start: "justify-start",
|
|
22717
22960
|
center: "justify-center",
|
|
@@ -22770,7 +23013,8 @@ var FloatingToolbarBase = React59.forwardRef(
|
|
|
22770
23013
|
var _b = _a, {
|
|
22771
23014
|
expanded,
|
|
22772
23015
|
orientation = "horizontal",
|
|
22773
|
-
|
|
23016
|
+
variant = "standard",
|
|
23017
|
+
colors: customColors,
|
|
22774
23018
|
shape = "full",
|
|
22775
23019
|
contentPadding,
|
|
22776
23020
|
scrollBehavior,
|
|
@@ -22788,6 +23032,7 @@ var FloatingToolbarBase = React59.forwardRef(
|
|
|
22788
23032
|
} = _b, props = __objRest(_b, [
|
|
22789
23033
|
"expanded",
|
|
22790
23034
|
"orientation",
|
|
23035
|
+
"variant",
|
|
22791
23036
|
"colors",
|
|
22792
23037
|
"shape",
|
|
22793
23038
|
"contentPadding",
|
|
@@ -22804,6 +23049,7 @@ var FloatingToolbarBase = React59.forwardRef(
|
|
|
22804
23049
|
"style",
|
|
22805
23050
|
"aria-label"
|
|
22806
23051
|
]);
|
|
23052
|
+
const colors = getToolbarColors(variant, customColors);
|
|
22807
23053
|
const isHorizontal = orientation === "horizontal";
|
|
22808
23054
|
const isStringPadding = typeof contentPadding === "string";
|
|
22809
23055
|
const cssVars = __spreadValues(__spreadValues({
|
|
@@ -22812,7 +23058,8 @@ var FloatingToolbarBase = React59.forwardRef(
|
|
|
22812
23058
|
"--toolbar-size": `${FloatingToolbarTokens.ContainerHeight}px`
|
|
22813
23059
|
}, isStringPadding ? {} : contentPadding), style);
|
|
22814
23060
|
const isScrolledOff = scrollBehavior && scrollBehavior.offset < 0;
|
|
22815
|
-
const
|
|
23061
|
+
const isXr = variant === "xr";
|
|
23062
|
+
const shadowClass = isXr ? "shadow-lg border border-white/10 backdrop-blur-md" : expanded ? "shadow-md" : "shadow-sm";
|
|
22816
23063
|
const containerShapeClass = shape === "full" ? "rounded-full" : "rounded-2xl";
|
|
22817
23064
|
const leadingVariants = buildSlotVariants(
|
|
22818
23065
|
isHorizontal ? "-100%" : 0,
|
|
@@ -22829,7 +23076,7 @@ var FloatingToolbarBase = React59.forwardRef(
|
|
|
22829
23076
|
scrollBehavior,
|
|
22830
23077
|
disableScrollTranslation
|
|
22831
23078
|
);
|
|
22832
|
-
return /* @__PURE__ */ jsx(ToolbarContext.Provider, { value: { orientation }, children: /* @__PURE__ */ jsx(
|
|
23079
|
+
return /* @__PURE__ */ jsx(ToolbarContext.Provider, { value: { orientation, itemClassName }, children: /* @__PURE__ */ jsx(
|
|
22833
23080
|
m.div,
|
|
22834
23081
|
{
|
|
22835
23082
|
ref,
|
|
@@ -22851,8 +23098,8 @@ var FloatingToolbarBase = React59.forwardRef(
|
|
|
22851
23098
|
color: "var(--toolbar-color)"
|
|
22852
23099
|
}),
|
|
22853
23100
|
className: cn(
|
|
22854
|
-
"flex pointer-events-auto relative",
|
|
22855
|
-
isHorizontal ? "max-w-[90vw] h-(--toolbar-size)" : "max-h-[90vh] w-(--toolbar-size) h-fit",
|
|
23101
|
+
"flex pointer-events-auto relative text-(--toolbar-color) [&_.text-m3-on-surface-variant]:text-current",
|
|
23102
|
+
isHorizontal ? "max-w-[min(90vw,100%)] h-(--toolbar-size)" : "max-h-[min(90vh,100%)] w-(--toolbar-size) h-fit",
|
|
22856
23103
|
containerShapeClass,
|
|
22857
23104
|
shadowClass,
|
|
22858
23105
|
className
|
|
@@ -22869,11 +23116,11 @@ var FloatingToolbarBase = React59.forwardRef(
|
|
|
22869
23116
|
"div",
|
|
22870
23117
|
{
|
|
22871
23118
|
className: cn(
|
|
22872
|
-
"flex items-center
|
|
23119
|
+
"flex items-center min-w-0 min-h-0",
|
|
22873
23120
|
isHorizontal ? "flex-row h-full" : "flex-col w-full",
|
|
22874
|
-
isStringPadding ? contentPadding : isHorizontal ? "px-
|
|
23121
|
+
isStringPadding ? contentPadding : isHorizontal ? "px-2" : "py-2"
|
|
22875
23122
|
),
|
|
22876
|
-
style: isStringPadding ?
|
|
23123
|
+
style: __spreadValues({ gap: itemGap }, isStringPadding ? {} : contentPadding),
|
|
22877
23124
|
children: [
|
|
22878
23125
|
/* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: expanded && startContent && /* @__PURE__ */ jsx(
|
|
22879
23126
|
m.div,
|
|
@@ -22883,9 +23130,10 @@ var FloatingToolbarBase = React59.forwardRef(
|
|
|
22883
23130
|
animate: "visible",
|
|
22884
23131
|
exit: "hidden",
|
|
22885
23132
|
className: cn(
|
|
22886
|
-
"flex shrink-0 overflow-hidden",
|
|
23133
|
+
"flex shrink-0 items-center overflow-hidden",
|
|
22887
23134
|
isHorizontal ? "flex-row" : "flex-col"
|
|
22888
23135
|
),
|
|
23136
|
+
style: { gap: itemGap },
|
|
22889
23137
|
children: processNodes(startContent)
|
|
22890
23138
|
},
|
|
22891
23139
|
"start"
|
|
@@ -22910,9 +23158,10 @@ var FloatingToolbarBase = React59.forwardRef(
|
|
|
22910
23158
|
animate: "visible",
|
|
22911
23159
|
exit: "hidden",
|
|
22912
23160
|
className: cn(
|
|
22913
|
-
"flex shrink-0 overflow-hidden",
|
|
23161
|
+
"flex shrink-0 items-center overflow-hidden",
|
|
22914
23162
|
isHorizontal ? "flex-row" : "flex-col"
|
|
22915
23163
|
),
|
|
23164
|
+
style: { gap: itemGap },
|
|
22916
23165
|
children: processNodes(endContent)
|
|
22917
23166
|
},
|
|
22918
23167
|
"end"
|
|
@@ -22938,7 +23187,8 @@ var FloatingToolbarWithFabBase = React59.forwardRef(
|
|
|
22938
23187
|
var _b = _a, {
|
|
22939
23188
|
expanded,
|
|
22940
23189
|
orientation = "horizontal",
|
|
22941
|
-
|
|
23190
|
+
variant = "standard",
|
|
23191
|
+
colors: customColors,
|
|
22942
23192
|
floatingActionButton,
|
|
22943
23193
|
fabPosition = orientation === "horizontal" ? "end" : "bottom",
|
|
22944
23194
|
animationDuration = 0.3,
|
|
@@ -22949,6 +23199,7 @@ var FloatingToolbarWithFabBase = React59.forwardRef(
|
|
|
22949
23199
|
} = _b, props = __objRest(_b, [
|
|
22950
23200
|
"expanded",
|
|
22951
23201
|
"orientation",
|
|
23202
|
+
"variant",
|
|
22952
23203
|
"colors",
|
|
22953
23204
|
"floatingActionButton",
|
|
22954
23205
|
"fabPosition",
|
|
@@ -22958,6 +23209,7 @@ var FloatingToolbarWithFabBase = React59.forwardRef(
|
|
|
22958
23209
|
"className",
|
|
22959
23210
|
"style"
|
|
22960
23211
|
]);
|
|
23212
|
+
const colors = getToolbarColors(variant, customColors);
|
|
22961
23213
|
const isHorizontal = orientation === "horizontal";
|
|
22962
23214
|
const effectiveExpanded = expanded && (!scrollBehavior || scrollBehavior.isExpanded);
|
|
22963
23215
|
const isFabBefore = fabPosition === "start" || fabPosition === "top";
|
|
@@ -23035,7 +23287,8 @@ var FloatingToolbarWithFabBase = React59.forwardRef(
|
|
|
23035
23287
|
expanded,
|
|
23036
23288
|
colors,
|
|
23037
23289
|
disableScrollTranslation: true,
|
|
23038
|
-
disableLayoutAnimation: true
|
|
23290
|
+
disableLayoutAnimation: true,
|
|
23291
|
+
className: className ? cn("h-full", className) : void 0
|
|
23039
23292
|
}, props)
|
|
23040
23293
|
) : /* @__PURE__ */ jsx(
|
|
23041
23294
|
VerticalFloatingToolbar,
|
|
@@ -23043,7 +23296,8 @@ var FloatingToolbarWithFabBase = React59.forwardRef(
|
|
|
23043
23296
|
expanded,
|
|
23044
23297
|
colors,
|
|
23045
23298
|
disableScrollTranslation: true,
|
|
23046
|
-
disableLayoutAnimation: true
|
|
23299
|
+
disableLayoutAnimation: true,
|
|
23300
|
+
className: className ? cn("w-full", className) : void 0
|
|
23047
23301
|
}, props)
|
|
23048
23302
|
)
|
|
23049
23303
|
},
|
|
@@ -23073,7 +23327,7 @@ var ToolbarDivider = ({
|
|
|
23073
23327
|
"aria-orientation": isHorizontalToolbar ? "vertical" : "horizontal",
|
|
23074
23328
|
className: cn(
|
|
23075
23329
|
"shrink-0 bg-current opacity-30 border-none",
|
|
23076
|
-
isHorizontalToolbar ? "w-px h-8 self-center mx-
|
|
23330
|
+
isHorizontalToolbar ? "w-px h-8 self-center mx-1" : "h-px w-8 self-center my-1",
|
|
23077
23331
|
className
|
|
23078
23332
|
),
|
|
23079
23333
|
style: {
|
|
@@ -23096,20 +23350,47 @@ var VARIANT_TO_COLOR_STYLE = {
|
|
|
23096
23350
|
};
|
|
23097
23351
|
var ToolbarIconButton = React59.forwardRef(
|
|
23098
23352
|
(_a, ref) => {
|
|
23099
|
-
var _b = _a, {
|
|
23353
|
+
var _b = _a, {
|
|
23354
|
+
emphasis = "standard",
|
|
23355
|
+
toolbarSize = "default",
|
|
23356
|
+
selected,
|
|
23357
|
+
asChild,
|
|
23358
|
+
className
|
|
23359
|
+
} = _b, props = __objRest(_b, [
|
|
23360
|
+
"emphasis",
|
|
23361
|
+
"toolbarSize",
|
|
23362
|
+
"selected",
|
|
23363
|
+
"asChild",
|
|
23364
|
+
"className"
|
|
23365
|
+
]);
|
|
23366
|
+
const context = useToolbarContext();
|
|
23100
23367
|
const widthClass = TOOLBAR_ICON_BUTTON_WIDTH[toolbarSize];
|
|
23101
23368
|
const colorStyle = VARIANT_TO_COLOR_STYLE[emphasis];
|
|
23369
|
+
const iconButtonProps = selected !== void 0 ? {
|
|
23370
|
+
variant: "toggle",
|
|
23371
|
+
selected: Boolean(selected)
|
|
23372
|
+
} : {
|
|
23373
|
+
variant: "default"
|
|
23374
|
+
};
|
|
23102
23375
|
return /* @__PURE__ */ jsx(
|
|
23103
23376
|
IconButton,
|
|
23104
|
-
__spreadValues({
|
|
23377
|
+
__spreadValues(__spreadProps(__spreadValues({
|
|
23105
23378
|
ref,
|
|
23106
|
-
|
|
23379
|
+
asChild,
|
|
23107
23380
|
colorStyle,
|
|
23108
23381
|
size: "md",
|
|
23109
23382
|
shape: "round",
|
|
23110
|
-
iconSize: ToolbarIconButtonTokens.IconSize
|
|
23111
|
-
|
|
23112
|
-
|
|
23383
|
+
iconSize: ToolbarIconButtonTokens.IconSize
|
|
23384
|
+
}, iconButtonProps), {
|
|
23385
|
+
className: cn(
|
|
23386
|
+
"h-[48px]",
|
|
23387
|
+
widthClass,
|
|
23388
|
+
emphasis === "standard" && !selected && "text-current hover:bg-current/8 active:bg-current/12",
|
|
23389
|
+
emphasis === "standard" && selected && "bg-current/16 text-current hover:bg-current/20 active:bg-current/24",
|
|
23390
|
+
context == null ? void 0 : context.itemClassName,
|
|
23391
|
+
className
|
|
23392
|
+
)
|
|
23393
|
+
}), props)
|
|
23113
23394
|
);
|
|
23114
23395
|
}
|
|
23115
23396
|
);
|
|
@@ -23180,6 +23461,195 @@ function useFloatingToolbarScrollBehavior(options = {}) {
|
|
|
23180
23461
|
exitDirection
|
|
23181
23462
|
};
|
|
23182
23463
|
}
|
|
23464
|
+
var MOTION_PROP_KEYS2 = [
|
|
23465
|
+
"animate",
|
|
23466
|
+
"exit",
|
|
23467
|
+
"initial",
|
|
23468
|
+
"transition",
|
|
23469
|
+
"variants",
|
|
23470
|
+
"whileHover",
|
|
23471
|
+
"whileTap",
|
|
23472
|
+
"whileFocus",
|
|
23473
|
+
"whileDrag",
|
|
23474
|
+
"whileInView",
|
|
23475
|
+
"onAnimationStart",
|
|
23476
|
+
"onAnimationComplete",
|
|
23477
|
+
"onUpdate",
|
|
23478
|
+
"onDragStart",
|
|
23479
|
+
"onDragEnd",
|
|
23480
|
+
"onDrag",
|
|
23481
|
+
"onDirectionLock",
|
|
23482
|
+
"onDragTransitionEnd",
|
|
23483
|
+
"layout",
|
|
23484
|
+
"layoutId",
|
|
23485
|
+
"onLayoutAnimationComplete"
|
|
23486
|
+
];
|
|
23487
|
+
var ToolbarToggleButton = React59.forwardRef(
|
|
23488
|
+
(_a, ref) => {
|
|
23489
|
+
var _b = _a, {
|
|
23490
|
+
emphasis = "standard",
|
|
23491
|
+
selected = false,
|
|
23492
|
+
icon,
|
|
23493
|
+
children,
|
|
23494
|
+
pressScale = 0.95,
|
|
23495
|
+
pressBounceOffset = 6,
|
|
23496
|
+
ripple = true,
|
|
23497
|
+
asChild = false,
|
|
23498
|
+
className,
|
|
23499
|
+
type = "button",
|
|
23500
|
+
disabled,
|
|
23501
|
+
onPointerDown: onPointerDownProp
|
|
23502
|
+
} = _b, props = __objRest(_b, [
|
|
23503
|
+
"emphasis",
|
|
23504
|
+
"selected",
|
|
23505
|
+
"icon",
|
|
23506
|
+
"children",
|
|
23507
|
+
"pressScale",
|
|
23508
|
+
"pressBounceOffset",
|
|
23509
|
+
"ripple",
|
|
23510
|
+
"asChild",
|
|
23511
|
+
"className",
|
|
23512
|
+
"type",
|
|
23513
|
+
"disabled",
|
|
23514
|
+
"onPointerDown"
|
|
23515
|
+
]);
|
|
23516
|
+
const context = useToolbarContext();
|
|
23517
|
+
const {
|
|
23518
|
+
ripples,
|
|
23519
|
+
onPointerDown: handleRipplePointerDown,
|
|
23520
|
+
removeRipple
|
|
23521
|
+
} = useRippleState({
|
|
23522
|
+
disabled: Boolean(disabled) || !ripple
|
|
23523
|
+
});
|
|
23524
|
+
const handlePointerDown = React59.useCallback(
|
|
23525
|
+
(e) => {
|
|
23526
|
+
if (!disabled && ripple) {
|
|
23527
|
+
handleRipplePointerDown(e);
|
|
23528
|
+
}
|
|
23529
|
+
onPointerDownProp == null ? void 0 : onPointerDownProp(e);
|
|
23530
|
+
},
|
|
23531
|
+
[disabled, ripple, handleRipplePointerDown, onPointerDownProp]
|
|
23532
|
+
);
|
|
23533
|
+
const baseClasses = "relative overflow-hidden inline-flex items-center justify-center min-w-[95px] h-[48px] px-4 rounded-full text-sm font-medium transition-colors select-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-current/40 disabled:pointer-events-none disabled:opacity-38";
|
|
23534
|
+
const variantClasses = {
|
|
23535
|
+
standard: selected ? "bg-current/16 text-current hover:bg-current/20 active:bg-current/24" : "bg-transparent text-current hover:bg-current/8 active:bg-current/12",
|
|
23536
|
+
tonal: selected ? "bg-m3-secondary-container text-m3-on-secondary-container hover:shadow-sm" : "bg-m3-surface-container-high text-m3-on-surface hover:bg-m3-surface-container-highest",
|
|
23537
|
+
filled: selected ? "bg-m3-primary text-m3-on-primary hover:shadow-sm" : "bg-m3-surface-container-highest text-m3-on-surface hover:bg-m3-surface-container-high"
|
|
23538
|
+
};
|
|
23539
|
+
const combinedClassName = cn(
|
|
23540
|
+
baseClasses,
|
|
23541
|
+
variantClasses[emphasis],
|
|
23542
|
+
context == null ? void 0 : context.itemClassName,
|
|
23543
|
+
className
|
|
23544
|
+
);
|
|
23545
|
+
const whileTapConfig = React59.useMemo(
|
|
23546
|
+
() => ({
|
|
23547
|
+
scale: pressScale,
|
|
23548
|
+
x: pressBounceOffset ? [
|
|
23549
|
+
0,
|
|
23550
|
+
-pressBounceOffset,
|
|
23551
|
+
pressBounceOffset,
|
|
23552
|
+
-pressBounceOffset / 2,
|
|
23553
|
+
pressBounceOffset / 2,
|
|
23554
|
+
0
|
|
23555
|
+
] : 0
|
|
23556
|
+
}),
|
|
23557
|
+
[pressScale, pressBounceOffset]
|
|
23558
|
+
);
|
|
23559
|
+
const transitionConfig = React59.useMemo(
|
|
23560
|
+
() => ({
|
|
23561
|
+
scale: FAST_SPATIAL_SPRING,
|
|
23562
|
+
x: {
|
|
23563
|
+
duration: 0.35,
|
|
23564
|
+
ease: "easeInOut"
|
|
23565
|
+
}
|
|
23566
|
+
}),
|
|
23567
|
+
[]
|
|
23568
|
+
);
|
|
23569
|
+
const mainContent = /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center justify-center h-full gap-2", children: [
|
|
23570
|
+
icon && /* @__PURE__ */ jsx(
|
|
23571
|
+
"span",
|
|
23572
|
+
{
|
|
23573
|
+
className: "shrink-0 inline-flex items-center justify-center",
|
|
23574
|
+
style: {
|
|
23575
|
+
width: ToolbarToggleButtonTokens.IconSize,
|
|
23576
|
+
height: ToolbarToggleButtonTokens.IconSize
|
|
23577
|
+
},
|
|
23578
|
+
children: icon
|
|
23579
|
+
}
|
|
23580
|
+
),
|
|
23581
|
+
children && (typeof children === "string" || typeof children === "number" ? /* @__PURE__ */ jsx("span", { children }) : children)
|
|
23582
|
+
] });
|
|
23583
|
+
if (asChild) {
|
|
23584
|
+
const child = React59.Children.only(children);
|
|
23585
|
+
const childContent = child.props.children;
|
|
23586
|
+
const innerChildContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
23587
|
+
ripple && /* @__PURE__ */ jsx(
|
|
23588
|
+
Ripple,
|
|
23589
|
+
{
|
|
23590
|
+
ripples,
|
|
23591
|
+
onRippleDone: removeRipple,
|
|
23592
|
+
disabled
|
|
23593
|
+
}
|
|
23594
|
+
),
|
|
23595
|
+
/* @__PURE__ */ jsx("span", { className: "inline-flex items-center justify-center h-full gap-2", children: icon ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
23596
|
+
/* @__PURE__ */ jsx(
|
|
23597
|
+
"span",
|
|
23598
|
+
{
|
|
23599
|
+
className: "shrink-0 inline-flex items-center justify-center",
|
|
23600
|
+
style: {
|
|
23601
|
+
width: ToolbarToggleButtonTokens.IconSize,
|
|
23602
|
+
height: ToolbarToggleButtonTokens.IconSize
|
|
23603
|
+
},
|
|
23604
|
+
children: icon
|
|
23605
|
+
}
|
|
23606
|
+
),
|
|
23607
|
+
typeof childContent === "string" || typeof childContent === "number" ? /* @__PURE__ */ jsx("span", { children: childContent }) : childContent
|
|
23608
|
+
] }) : childContent })
|
|
23609
|
+
] });
|
|
23610
|
+
const strippedProps = __spreadValues({}, props);
|
|
23611
|
+
for (const key of MOTION_PROP_KEYS2) delete strippedProps[key];
|
|
23612
|
+
delete strippedProps.children;
|
|
23613
|
+
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsx(
|
|
23614
|
+
Slot,
|
|
23615
|
+
__spreadProps(__spreadValues({
|
|
23616
|
+
ref,
|
|
23617
|
+
"aria-pressed": selected,
|
|
23618
|
+
className: combinedClassName,
|
|
23619
|
+
onPointerDown: handlePointerDown
|
|
23620
|
+
}, strippedProps), {
|
|
23621
|
+
children: React59.cloneElement(child, { children: innerChildContent })
|
|
23622
|
+
})
|
|
23623
|
+
) });
|
|
23624
|
+
}
|
|
23625
|
+
return /* @__PURE__ */ jsx(LazyMotion, { features: domMax, strict: true, children: /* @__PURE__ */ jsxs(
|
|
23626
|
+
m.button,
|
|
23627
|
+
__spreadProps(__spreadValues({
|
|
23628
|
+
ref,
|
|
23629
|
+
type,
|
|
23630
|
+
"aria-pressed": selected,
|
|
23631
|
+
disabled,
|
|
23632
|
+
whileTap: whileTapConfig,
|
|
23633
|
+
transition: transitionConfig,
|
|
23634
|
+
onPointerDown: handlePointerDown,
|
|
23635
|
+
className: combinedClassName
|
|
23636
|
+
}, props), {
|
|
23637
|
+
children: [
|
|
23638
|
+
ripple && /* @__PURE__ */ jsx(
|
|
23639
|
+
Ripple,
|
|
23640
|
+
{
|
|
23641
|
+
ripples,
|
|
23642
|
+
onRippleDone: removeRipple,
|
|
23643
|
+
disabled
|
|
23644
|
+
}
|
|
23645
|
+
),
|
|
23646
|
+
mainContent
|
|
23647
|
+
]
|
|
23648
|
+
})
|
|
23649
|
+
) });
|
|
23650
|
+
}
|
|
23651
|
+
);
|
|
23652
|
+
ToolbarToggleButton.displayName = "ToolbarToggleButton";
|
|
23183
23653
|
|
|
23184
23654
|
// src/ui/tooltip/tooltip.tokens.ts
|
|
23185
23655
|
var TooltipTokens = {
|
|
@@ -23782,6 +24252,6 @@ function TooltipBox({
|
|
|
23782
24252
|
] });
|
|
23783
24253
|
}
|
|
23784
24254
|
|
|
23785
|
-
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, 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, 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, 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, interpolate, interpolatePath, lerpPoint, pill, pillStar, point, positiveModulo, radialToCartesian, rectangle, resolveMode, rotate90, scalePoint, shouldTopAlign, square, standardFloatingToolbarColors, star, subtractPoints, 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 };
|
|
24255
|
+
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, 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, 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 };
|
|
23786
24256
|
//# sourceMappingURL=index.mjs.map
|
|
23787
24257
|
//# sourceMappingURL=index.mjs.map
|