@bug-on/md3-react 3.0.1 → 3.0.2
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/.turbo/turbo-build.log +41 -42
- package/CHANGELOG.md +10 -0
- package/dist/index.d.mts +54 -3
- package/dist/index.d.ts +54 -3
- package/dist/index.js +764 -473
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +710 -421
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +8 -0
- package/src/ui/navigation-bar.test.tsx +111 -0
- package/src/ui/navigation-bar.tsx +448 -0
- package/src/ui/navigation-rail.test.tsx +5 -4
- package/src/ui/navigation-rail.tsx +20 -21
- package/src/ui/scroll-area.tsx +4 -0
- package/src/ui/shared/constants.ts +1 -1
- package/test_output.txt +0 -164
- package/test_output_v2.txt +0 -5
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var React39 = require('react');
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var materialColorUtilities = require('@material/material-color-utilities');
|
|
7
7
|
var clsx = require('clsx');
|
|
@@ -33,7 +33,7 @@ function _interopNamespace(e) {
|
|
|
33
33
|
return Object.freeze(n);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var React39__namespace = /*#__PURE__*/_interopNamespace(React39);
|
|
37
37
|
var RxContextMenu__namespace = /*#__PURE__*/_interopNamespace(RxContextMenu);
|
|
38
38
|
var DropdownMenu__namespace = /*#__PURE__*/_interopNamespace(DropdownMenu);
|
|
39
39
|
var RadixScrollArea__namespace = /*#__PURE__*/_interopNamespace(RadixScrollArea);
|
|
@@ -79,8 +79,8 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
79
79
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
80
80
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
81
81
|
function useMediaQuery(query) {
|
|
82
|
-
const [matches, setMatches] =
|
|
83
|
-
|
|
82
|
+
const [matches, setMatches] = React39.useState(false);
|
|
83
|
+
React39.useEffect(() => {
|
|
84
84
|
const mql = window.matchMedia(query);
|
|
85
85
|
const handler = (e) => setMatches(e.matches);
|
|
86
86
|
setMatches(mql.matches);
|
|
@@ -96,8 +96,8 @@ function useRipple(options = {}) {
|
|
|
96
96
|
opacity = 0.12,
|
|
97
97
|
disabled = false
|
|
98
98
|
} = options;
|
|
99
|
-
const ref =
|
|
100
|
-
const onPointerDown =
|
|
99
|
+
const ref = React39.useRef(null);
|
|
100
|
+
const onPointerDown = React39.useCallback(
|
|
101
101
|
(event) => {
|
|
102
102
|
if (disabled || !ref.current) return;
|
|
103
103
|
const el = ref.current;
|
|
@@ -244,7 +244,7 @@ function applyTheme(sourceColorHex, mode = "light", root = document.documentElem
|
|
|
244
244
|
const resolved = resolveMode(mode);
|
|
245
245
|
const colors = generateM3Theme(sourceColorHex, resolved);
|
|
246
246
|
for (const [key, value] of Object.entries(colors)) {
|
|
247
|
-
const kebabKey = key.replace(/[A-Z]/g, (
|
|
247
|
+
const kebabKey = key.replace(/[A-Z]/g, (m48) => `-${m48.toLowerCase()}`);
|
|
248
248
|
root.style.setProperty(`--md-sys-color-${kebabKey}`, value);
|
|
249
249
|
root.style.setProperty(`--color-m3-${kebabKey}`, value);
|
|
250
250
|
}
|
|
@@ -505,7 +505,7 @@ var SUBMENU_CONTAINER_VARIANTS = {
|
|
|
505
505
|
transition: FAST_EFFECTS_TRANSITION
|
|
506
506
|
}
|
|
507
507
|
};
|
|
508
|
-
var MenuContext =
|
|
508
|
+
var MenuContext = React39__namespace.createContext({
|
|
509
509
|
variant: "baseline",
|
|
510
510
|
colorVariant: "standard",
|
|
511
511
|
menuPrimitive: "dropdown",
|
|
@@ -521,15 +521,15 @@ function MenuProvider({
|
|
|
521
521
|
onOpenChange,
|
|
522
522
|
children
|
|
523
523
|
}) {
|
|
524
|
-
const value =
|
|
524
|
+
const value = React39__namespace.useMemo(
|
|
525
525
|
() => ({ variant, colorVariant, menuPrimitive, open, onOpenChange }),
|
|
526
526
|
[variant, colorVariant, menuPrimitive, open, onOpenChange]
|
|
527
527
|
);
|
|
528
528
|
return /* @__PURE__ */ jsxRuntime.jsx(MenuContext.Provider, { value, children });
|
|
529
529
|
}
|
|
530
530
|
function useMenuContext() {
|
|
531
|
-
const ctx =
|
|
532
|
-
return
|
|
531
|
+
const ctx = React39__namespace.useContext(MenuContext);
|
|
532
|
+
return React39__namespace.useMemo(
|
|
533
533
|
() => __spreadProps(__spreadValues({}, ctx), {
|
|
534
534
|
isStatic: ctx.menuPrimitive === "static",
|
|
535
535
|
menuVariant: ctx.variant
|
|
@@ -646,7 +646,7 @@ function ContextMenu({
|
|
|
646
646
|
variant = "baseline",
|
|
647
647
|
colorVariant = "standard"
|
|
648
648
|
}) {
|
|
649
|
-
const [open, setOpen] =
|
|
649
|
+
const [open, setOpen] = React39__namespace.useState(false);
|
|
650
650
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
651
651
|
MenuProvider,
|
|
652
652
|
{
|
|
@@ -660,12 +660,12 @@ function ContextMenu({
|
|
|
660
660
|
);
|
|
661
661
|
}
|
|
662
662
|
ContextMenu.displayName = "ContextMenu";
|
|
663
|
-
var ContextMenuTrigger =
|
|
663
|
+
var ContextMenuTrigger = React39__namespace.forwardRef((_a, ref) => {
|
|
664
664
|
var _b = _a, { children, asChild = true } = _b, props = __objRest(_b, ["children", "asChild"]);
|
|
665
665
|
return /* @__PURE__ */ jsxRuntime.jsx(RxContextMenu__namespace.Trigger, __spreadProps(__spreadValues({ ref, asChild }, props), { children }));
|
|
666
666
|
});
|
|
667
667
|
ContextMenuTrigger.displayName = "ContextMenuTrigger";
|
|
668
|
-
var ContextMenuContent =
|
|
668
|
+
var ContextMenuContent = React39__namespace.forwardRef(
|
|
669
669
|
(_a, ref) => {
|
|
670
670
|
var _b = _a, {
|
|
671
671
|
children,
|
|
@@ -713,10 +713,10 @@ var ContextMenuContent = React38__namespace.forwardRef(
|
|
|
713
713
|
className
|
|
714
714
|
);
|
|
715
715
|
const flattenChildren = (nodes) => {
|
|
716
|
-
return
|
|
716
|
+
return React39__namespace.Children.toArray(nodes).reduce(
|
|
717
717
|
(acc, child) => {
|
|
718
|
-
if (
|
|
719
|
-
if (child.type ===
|
|
718
|
+
if (React39__namespace.isValidElement(child)) {
|
|
719
|
+
if (child.type === React39__namespace.Fragment) {
|
|
720
720
|
return acc.concat(
|
|
721
721
|
flattenChildren(
|
|
722
722
|
child.props.children
|
|
@@ -735,7 +735,7 @@ var ContextMenuContent = React38__namespace.forwardRef(
|
|
|
735
735
|
const validChildren = flattenChildren(children);
|
|
736
736
|
const groupCount = validChildren.length;
|
|
737
737
|
const enhancedChildren = validChildren.map(
|
|
738
|
-
(child, i) =>
|
|
738
|
+
(child, i) => React39__namespace.cloneElement(
|
|
739
739
|
child,
|
|
740
740
|
{
|
|
741
741
|
index: i,
|
|
@@ -799,12 +799,12 @@ function Menu(_a) {
|
|
|
799
799
|
]);
|
|
800
800
|
var _a2;
|
|
801
801
|
const resolvedVariant = (_a2 = variant != null ? variant : menuVariant) != null ? _a2 : "baseline";
|
|
802
|
-
const [internalOpen, setInternalOpen] =
|
|
802
|
+
const [internalOpen, setInternalOpen] = React39__namespace.useState(
|
|
803
803
|
() => defaultOpen != null ? defaultOpen : false
|
|
804
804
|
);
|
|
805
805
|
const isControlled = controlledOpen !== void 0;
|
|
806
806
|
const open = isControlled ? controlledOpen : internalOpen;
|
|
807
|
-
const handleOpenChange =
|
|
807
|
+
const handleOpenChange = React39__namespace.useCallback(
|
|
808
808
|
(next) => {
|
|
809
809
|
if (!isControlled) setInternalOpen(next);
|
|
810
810
|
controlledOnOpenChange == null ? void 0 : controlledOnOpenChange(next);
|
|
@@ -831,12 +831,12 @@ function Menu(_a) {
|
|
|
831
831
|
);
|
|
832
832
|
}
|
|
833
833
|
Menu.displayName = "Menu";
|
|
834
|
-
var MenuTrigger =
|
|
834
|
+
var MenuTrigger = React39__namespace.forwardRef((_a, ref) => {
|
|
835
835
|
var _b = _a, { children, asChild = true } = _b, props = __objRest(_b, ["children", "asChild"]);
|
|
836
836
|
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenu__namespace.Trigger, __spreadProps(__spreadValues({ ref, asChild }, props), { children }));
|
|
837
837
|
});
|
|
838
838
|
MenuTrigger.displayName = "MenuTrigger";
|
|
839
|
-
var MenuContent =
|
|
839
|
+
var MenuContent = React39__namespace.forwardRef(
|
|
840
840
|
(_a, ref) => {
|
|
841
841
|
var _b = _a, {
|
|
842
842
|
children,
|
|
@@ -890,10 +890,10 @@ var MenuContent = React38__namespace.forwardRef(
|
|
|
890
890
|
className
|
|
891
891
|
);
|
|
892
892
|
const flattenChildren = (nodes) => {
|
|
893
|
-
return
|
|
893
|
+
return React39__namespace.Children.toArray(nodes).reduce(
|
|
894
894
|
(acc, child) => {
|
|
895
|
-
if (
|
|
896
|
-
if (child.type ===
|
|
895
|
+
if (React39__namespace.isValidElement(child)) {
|
|
896
|
+
if (child.type === React39__namespace.Fragment) {
|
|
897
897
|
return acc.concat(
|
|
898
898
|
flattenChildren(
|
|
899
899
|
child.props.children
|
|
@@ -912,7 +912,7 @@ var MenuContent = React38__namespace.forwardRef(
|
|
|
912
912
|
const validChildren = flattenChildren(children);
|
|
913
913
|
const groupCount = validChildren.length;
|
|
914
914
|
const enhancedChildren = validChildren.map(
|
|
915
|
-
(child, i) =>
|
|
915
|
+
(child, i) => React39__namespace.cloneElement(child, {
|
|
916
916
|
index: i,
|
|
917
917
|
count: groupCount,
|
|
918
918
|
isGapVariant: isExpressiveGap
|
|
@@ -967,7 +967,7 @@ var MenuContent = React38__namespace.forwardRef(
|
|
|
967
967
|
}
|
|
968
968
|
);
|
|
969
969
|
MenuContent.displayName = "MenuContent";
|
|
970
|
-
var MenuDivider =
|
|
970
|
+
var MenuDivider = React39__namespace.forwardRef(
|
|
971
971
|
(_a, ref) => {
|
|
972
972
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
973
973
|
const { menuVariant } = useMenuContext();
|
|
@@ -998,7 +998,7 @@ function getGroupPosition(index, count) {
|
|
|
998
998
|
function getGroupActiveShape(position) {
|
|
999
999
|
return GROUP_SHAPES[`${position}Active`];
|
|
1000
1000
|
}
|
|
1001
|
-
var MenuGroup =
|
|
1001
|
+
var MenuGroup = React39__namespace.forwardRef(
|
|
1002
1002
|
(_a, ref) => {
|
|
1003
1003
|
var _b = _a, {
|
|
1004
1004
|
children,
|
|
@@ -1028,15 +1028,15 @@ var MenuGroup = React38__namespace.forwardRef(
|
|
|
1028
1028
|
const colors = menuVariant === "baseline" ? BASELINE_COLORS : colorVariant === "vibrant" ? VIBRANT_COLORS : STANDARD_COLORS;
|
|
1029
1029
|
const position = getGroupPosition(index, count);
|
|
1030
1030
|
const activeShape = getGroupActiveShape(position);
|
|
1031
|
-
const [isHovered, setIsHovered] =
|
|
1031
|
+
const [isHovered, setIsHovered] = React39__namespace.useState(false);
|
|
1032
1032
|
const currentShape = isStatic || isHovered ? activeShape : GROUP_SHAPES.inactive;
|
|
1033
|
-
const handlePointerEnter =
|
|
1034
|
-
const handlePointerLeave =
|
|
1033
|
+
const handlePointerEnter = React39__namespace.useCallback(() => setIsHovered(true), []);
|
|
1034
|
+
const handlePointerLeave = React39__namespace.useCallback(() => setIsHovered(false), []);
|
|
1035
1035
|
const flattenChildren = (children2) => {
|
|
1036
|
-
return
|
|
1036
|
+
return React39__namespace.Children.toArray(children2).reduce(
|
|
1037
1037
|
(acc, child) => {
|
|
1038
|
-
if (
|
|
1039
|
-
if (child.type ===
|
|
1038
|
+
if (React39__namespace.isValidElement(child)) {
|
|
1039
|
+
if (child.type === React39__namespace.Fragment) {
|
|
1040
1040
|
return acc.concat(
|
|
1041
1041
|
flattenChildren(
|
|
1042
1042
|
child.props.children
|
|
@@ -1054,7 +1054,7 @@ var MenuGroup = React38__namespace.forwardRef(
|
|
|
1054
1054
|
const itemCount = validChildren.length;
|
|
1055
1055
|
const enhancedChildren = validChildren.map((child, i) => {
|
|
1056
1056
|
const itemPosition2 = itemCount === 1 ? "standalone" : i === 0 ? "leading" : i === itemCount - 1 ? "trailing" : "middle";
|
|
1057
|
-
return
|
|
1057
|
+
return React39__namespace.cloneElement(child, {
|
|
1058
1058
|
itemPosition: itemPosition2,
|
|
1059
1059
|
colorVariant
|
|
1060
1060
|
});
|
|
@@ -1119,7 +1119,7 @@ var SPRING_TRANSITION = {
|
|
|
1119
1119
|
};
|
|
1120
1120
|
var SPRING_TRANSITION_EXPRESSIVE = {
|
|
1121
1121
|
type: "spring",
|
|
1122
|
-
bounce: 0.
|
|
1122
|
+
bounce: 0.45,
|
|
1123
1123
|
duration: 0.4
|
|
1124
1124
|
};
|
|
1125
1125
|
var ICON_SPAN_VARIANTS = {
|
|
@@ -1142,7 +1142,7 @@ var VARIANT_FONT = {
|
|
|
1142
1142
|
rounded: "'Material Symbols Rounded'",
|
|
1143
1143
|
sharp: "'Material Symbols Sharp'"
|
|
1144
1144
|
};
|
|
1145
|
-
var IconComponent =
|
|
1145
|
+
var IconComponent = React39__namespace.forwardRef(
|
|
1146
1146
|
(_a, ref) => {
|
|
1147
1147
|
var _b = _a, {
|
|
1148
1148
|
name,
|
|
@@ -1208,14 +1208,14 @@ var IconComponent = React38__namespace.forwardRef(
|
|
|
1208
1208
|
}
|
|
1209
1209
|
);
|
|
1210
1210
|
IconComponent.displayName = "Icon";
|
|
1211
|
-
var Icon =
|
|
1211
|
+
var Icon = React39__namespace.memo(IconComponent);
|
|
1212
1212
|
function getItemShapeClass(position, selected, isStatic = false, menuVariant = "expressive") {
|
|
1213
1213
|
if (menuVariant === "baseline") return BASELINE_ITEM_SHAPE;
|
|
1214
1214
|
if (selected) return ITEM_SHAPE_CLASSES.selected;
|
|
1215
1215
|
if (isStatic && position === "standalone") return "rounded-[12px]";
|
|
1216
1216
|
return ITEM_SHAPE_CLASSES[position];
|
|
1217
1217
|
}
|
|
1218
|
-
var MenuItem =
|
|
1218
|
+
var MenuItem = React39__namespace.forwardRef(
|
|
1219
1219
|
(_a, ref) => {
|
|
1220
1220
|
var _b = _a, {
|
|
1221
1221
|
children,
|
|
@@ -1417,31 +1417,31 @@ function SubMenu({
|
|
|
1417
1417
|
}) {
|
|
1418
1418
|
const { colorVariant: contextColorVariant, menuPrimitive } = useMenuContext();
|
|
1419
1419
|
const colorVariant = propColorVariant != null ? propColorVariant : contextColorVariant;
|
|
1420
|
-
const [open, setOpen] =
|
|
1421
|
-
const openTimerRef =
|
|
1422
|
-
const closeTimerRef =
|
|
1420
|
+
const [open, setOpen] = React39__namespace.useState(false);
|
|
1421
|
+
const openTimerRef = React39__namespace.useRef(null);
|
|
1422
|
+
const closeTimerRef = React39__namespace.useRef(
|
|
1423
1423
|
null
|
|
1424
1424
|
);
|
|
1425
|
-
const clearTimers =
|
|
1425
|
+
const clearTimers = React39__namespace.useCallback(() => {
|
|
1426
1426
|
if (openTimerRef.current) clearTimeout(openTimerRef.current);
|
|
1427
1427
|
if (closeTimerRef.current) clearTimeout(closeTimerRef.current);
|
|
1428
1428
|
}, []);
|
|
1429
|
-
const handleTriggerPointerEnter =
|
|
1429
|
+
const handleTriggerPointerEnter = React39__namespace.useCallback(() => {
|
|
1430
1430
|
clearTimers();
|
|
1431
1431
|
openTimerRef.current = setTimeout(() => setOpen(true), hoverOpenDelay);
|
|
1432
1432
|
}, [hoverOpenDelay, clearTimers]);
|
|
1433
|
-
const handleTriggerPointerLeave =
|
|
1433
|
+
const handleTriggerPointerLeave = React39__namespace.useCallback(() => {
|
|
1434
1434
|
clearTimers();
|
|
1435
1435
|
closeTimerRef.current = setTimeout(() => setOpen(false), hoverCloseDelay);
|
|
1436
1436
|
}, [hoverCloseDelay, clearTimers]);
|
|
1437
|
-
const handleContentPointerEnter =
|
|
1437
|
+
const handleContentPointerEnter = React39__namespace.useCallback(() => {
|
|
1438
1438
|
clearTimers();
|
|
1439
1439
|
}, [clearTimers]);
|
|
1440
|
-
const handleContentPointerLeave =
|
|
1440
|
+
const handleContentPointerLeave = React39__namespace.useCallback(() => {
|
|
1441
1441
|
clearTimers();
|
|
1442
1442
|
closeTimerRef.current = setTimeout(() => setOpen(false), hoverCloseDelay);
|
|
1443
1443
|
}, [hoverCloseDelay, clearTimers]);
|
|
1444
|
-
|
|
1444
|
+
React39__namespace.useEffect(() => () => clearTimers(), [clearTimers]);
|
|
1445
1445
|
const Sub3 = menuPrimitive === "context" ? RxContextMenu__namespace.Sub : DropdownMenu__namespace.Sub;
|
|
1446
1446
|
const SubTrigger3 = menuPrimitive === "context" ? RxContextMenu__namespace.SubTrigger : DropdownMenu__namespace.SubTrigger;
|
|
1447
1447
|
const SubContent3 = menuPrimitive === "context" ? RxContextMenu__namespace.SubContent : DropdownMenu__namespace.SubContent;
|
|
@@ -1453,7 +1453,7 @@ function SubMenu({
|
|
|
1453
1453
|
className: "w-full outline-none",
|
|
1454
1454
|
onPointerEnter: handleTriggerPointerEnter,
|
|
1455
1455
|
onPointerLeave: handleTriggerPointerLeave,
|
|
1456
|
-
children:
|
|
1456
|
+
children: React39__namespace.isValidElement(trigger) ? React39__namespace.cloneElement(trigger, {
|
|
1457
1457
|
isSubTrigger: true,
|
|
1458
1458
|
// Auto-add chevron if missing
|
|
1459
1459
|
trailingIcon: trigger.props.trailingIcon || /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "chevron_right", size: 20 })
|
|
@@ -1530,7 +1530,7 @@ function SubMenuContent({
|
|
|
1530
1530
|
);
|
|
1531
1531
|
}
|
|
1532
1532
|
SubMenuContent.displayName = "SubMenuContent";
|
|
1533
|
-
var VerticalMenuDivider =
|
|
1533
|
+
var VerticalMenuDivider = React39__namespace.forwardRef((_a, ref) => {
|
|
1534
1534
|
var _b = _a, { className, index, count, isGapVariant } = _b, props = __objRest(_b, ["className", "index", "count", "isGapVariant"]);
|
|
1535
1535
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1536
1536
|
"hr",
|
|
@@ -1550,7 +1550,7 @@ var VerticalMenuDivider = React38__namespace.forwardRef((_a, ref) => {
|
|
|
1550
1550
|
});
|
|
1551
1551
|
VerticalMenuDivider.displayName = "VerticalMenuDivider";
|
|
1552
1552
|
var VerticalMenuGroup = MenuGroup;
|
|
1553
|
-
var VerticalMenuContent =
|
|
1553
|
+
var VerticalMenuContent = React39__namespace.forwardRef(
|
|
1554
1554
|
(_a, ref) => {
|
|
1555
1555
|
var _b = _a, {
|
|
1556
1556
|
children,
|
|
@@ -1567,10 +1567,10 @@ var VerticalMenuContent = React38__namespace.forwardRef(
|
|
|
1567
1567
|
const colorVariant = propColorVariant != null ? propColorVariant : contextColorVariant;
|
|
1568
1568
|
const colors = colorVariant === "vibrant" ? VIBRANT_COLORS : STANDARD_COLORS;
|
|
1569
1569
|
const flattenChildren = (children2) => {
|
|
1570
|
-
return
|
|
1570
|
+
return React39__namespace.Children.toArray(children2).reduce(
|
|
1571
1571
|
(acc, child) => {
|
|
1572
|
-
if (
|
|
1573
|
-
if (child.type ===
|
|
1572
|
+
if (React39__namespace.isValidElement(child)) {
|
|
1573
|
+
if (child.type === React39__namespace.Fragment) {
|
|
1574
1574
|
return acc.concat(
|
|
1575
1575
|
flattenChildren(
|
|
1576
1576
|
child.props.children
|
|
@@ -1587,7 +1587,7 @@ var VerticalMenuContent = React38__namespace.forwardRef(
|
|
|
1587
1587
|
const validChildren = flattenChildren(children);
|
|
1588
1588
|
const groupCount = validChildren.length;
|
|
1589
1589
|
const enhancedChildren = validChildren.map(
|
|
1590
|
-
(child, i) =>
|
|
1590
|
+
(child, i) => React39__namespace.cloneElement(child, {
|
|
1591
1591
|
index: i,
|
|
1592
1592
|
count: groupCount,
|
|
1593
1593
|
isGapVariant: separatorStyle === "gap"
|
|
@@ -1624,13 +1624,13 @@ var VerticalMenuContent = React38__namespace.forwardRef(
|
|
|
1624
1624
|
}
|
|
1625
1625
|
);
|
|
1626
1626
|
VerticalMenuContent.displayName = "VerticalMenuContent";
|
|
1627
|
-
var VerticalMenu =
|
|
1627
|
+
var VerticalMenu = React39__namespace.forwardRef((_a, ref) => {
|
|
1628
1628
|
var _b = _a, { children, colorVariant = "standard", className } = _b, props = __objRest(_b, ["children", "colorVariant", "className"]);
|
|
1629
|
-
const noop =
|
|
1629
|
+
const noop = React39__namespace.useCallback(() => {
|
|
1630
1630
|
}, []);
|
|
1631
1631
|
const colors = colorVariant === "vibrant" ? VIBRANT_COLORS : STANDARD_COLORS;
|
|
1632
|
-
const containerRef =
|
|
1633
|
-
const mergedRef =
|
|
1632
|
+
const containerRef = React39__namespace.useRef(null);
|
|
1633
|
+
const mergedRef = React39__namespace.useCallback(
|
|
1634
1634
|
(node) => {
|
|
1635
1635
|
containerRef.current = node;
|
|
1636
1636
|
if (typeof ref === "function") ref(node);
|
|
@@ -1639,7 +1639,7 @@ var VerticalMenu = React38__namespace.forwardRef((_a, ref) => {
|
|
|
1639
1639
|
},
|
|
1640
1640
|
[ref]
|
|
1641
1641
|
);
|
|
1642
|
-
const handleKeyDown =
|
|
1642
|
+
const handleKeyDown = React39__namespace.useCallback(
|
|
1643
1643
|
(e) => {
|
|
1644
1644
|
var _a2;
|
|
1645
1645
|
if (!containerRef.current) return;
|
|
@@ -1722,7 +1722,7 @@ var VerticalMenu = React38__namespace.forwardRef((_a, ref) => {
|
|
|
1722
1722
|
});
|
|
1723
1723
|
VerticalMenu.displayName = "VerticalMenu";
|
|
1724
1724
|
function detectSeparatorStyle(children) {
|
|
1725
|
-
const child =
|
|
1725
|
+
const child = React39__namespace.Children.toArray(children).find(React39__namespace.isValidElement);
|
|
1726
1726
|
if (child) {
|
|
1727
1727
|
const style = child.props.separatorStyle;
|
|
1728
1728
|
if (style) return style;
|
|
@@ -1803,11 +1803,11 @@ function AppBarColumn({
|
|
|
1803
1803
|
maxItemCount,
|
|
1804
1804
|
className
|
|
1805
1805
|
}) {
|
|
1806
|
-
const containerRef =
|
|
1807
|
-
const [visibleCount, setVisibleCount] =
|
|
1806
|
+
const containerRef = React39__namespace.useRef(null);
|
|
1807
|
+
const [visibleCount, setVisibleCount] = React39__namespace.useState(
|
|
1808
1808
|
maxItemCount != null ? maxItemCount : items.length
|
|
1809
1809
|
);
|
|
1810
|
-
|
|
1810
|
+
React39__namespace.useEffect(() => {
|
|
1811
1811
|
if (maxItemCount !== void 0) {
|
|
1812
1812
|
setVisibleCount(Math.min(maxItemCount, items.length));
|
|
1813
1813
|
return;
|
|
@@ -1855,11 +1855,11 @@ function AppBarColumn({
|
|
|
1855
1855
|
);
|
|
1856
1856
|
}
|
|
1857
1857
|
function AppBarRow({ items, maxItemCount, className }) {
|
|
1858
|
-
const containerRef =
|
|
1859
|
-
const [visibleCount, setVisibleCount] =
|
|
1858
|
+
const containerRef = React39__namespace.useRef(null);
|
|
1859
|
+
const [visibleCount, setVisibleCount] = React39__namespace.useState(
|
|
1860
1860
|
maxItemCount != null ? maxItemCount : items.length
|
|
1861
1861
|
);
|
|
1862
|
-
|
|
1862
|
+
React39__namespace.useEffect(() => {
|
|
1863
1863
|
if (maxItemCount !== void 0) {
|
|
1864
1864
|
setVisibleCount(Math.min(maxItemCount, items.length));
|
|
1865
1865
|
return;
|
|
@@ -1913,12 +1913,12 @@ function useAppBarScroll({
|
|
|
1913
1913
|
collapsedHeight = 64,
|
|
1914
1914
|
expandedHeight = 112
|
|
1915
1915
|
} = {}) {
|
|
1916
|
-
const [isScrolled, setIsScrolled] =
|
|
1917
|
-
const [collapsedFraction, setCollapsedFraction] =
|
|
1918
|
-
const [isHidden, setIsHidden] =
|
|
1919
|
-
const prevScrollYRef =
|
|
1916
|
+
const [isScrolled, setIsScrolled] = React39__namespace.useState(false);
|
|
1917
|
+
const [collapsedFraction, setCollapsedFraction] = React39__namespace.useState(0);
|
|
1918
|
+
const [isHidden, setIsHidden] = React39__namespace.useState(false);
|
|
1919
|
+
const prevScrollYRef = React39__namespace.useRef(0);
|
|
1920
1920
|
const hideThreshold = 64;
|
|
1921
|
-
|
|
1921
|
+
React39__namespace.useEffect(() => {
|
|
1922
1922
|
var _a;
|
|
1923
1923
|
const scrollDistance = expandedHeight - collapsedHeight;
|
|
1924
1924
|
const getScrollY = () => {
|
|
@@ -2039,7 +2039,7 @@ function useFlexibleAppBar({
|
|
|
2039
2039
|
expandedHeight
|
|
2040
2040
|
});
|
|
2041
2041
|
const scrollProgress = react.useMotionValue(0);
|
|
2042
|
-
|
|
2042
|
+
React39__namespace.useEffect(() => {
|
|
2043
2043
|
scrollProgress.set(
|
|
2044
2044
|
shouldReduceMotion ? collapsedFraction > 0.5 ? 1 : 0 : collapsedFraction
|
|
2045
2045
|
);
|
|
@@ -2380,7 +2380,7 @@ function SearchAppBar({
|
|
|
2380
2380
|
}) {
|
|
2381
2381
|
var _a, _b;
|
|
2382
2382
|
const shouldReduceMotion = react.useReducedMotion();
|
|
2383
|
-
const [isSearchOpen, setIsSearchOpen] =
|
|
2383
|
+
const [isSearchOpen, setIsSearchOpen] = React39__namespace.useState(false);
|
|
2384
2384
|
const { isScrolled } = useAppBarScroll({
|
|
2385
2385
|
scrollElement,
|
|
2386
2386
|
behavior: scrollBehavior === "exitUntilCollapsed" ? "pinned" : scrollBehavior
|
|
@@ -2494,8 +2494,8 @@ function SearchView({
|
|
|
2494
2494
|
className
|
|
2495
2495
|
}) {
|
|
2496
2496
|
const shouldReduceMotion = react.useReducedMotion();
|
|
2497
|
-
const inputRef =
|
|
2498
|
-
|
|
2497
|
+
const inputRef = React39__namespace.useRef(null);
|
|
2498
|
+
React39__namespace.useEffect(() => {
|
|
2499
2499
|
const timer = window.setTimeout(() => {
|
|
2500
2500
|
var _a;
|
|
2501
2501
|
(_a = inputRef.current) == null ? void 0 : _a.focus();
|
|
@@ -2765,9 +2765,9 @@ function formatBadgeLabel(children, max) {
|
|
|
2765
2765
|
return "";
|
|
2766
2766
|
}
|
|
2767
2767
|
function detectBadgeHasContent(badge) {
|
|
2768
|
-
return
|
|
2768
|
+
return React39__namespace.isValidElement(badge) && badge.props.children != null;
|
|
2769
2769
|
}
|
|
2770
|
-
var BadgeImpl =
|
|
2770
|
+
var BadgeImpl = React39__namespace.forwardRef(
|
|
2771
2771
|
(_a, ref) => {
|
|
2772
2772
|
var _b = _a, {
|
|
2773
2773
|
children,
|
|
@@ -2821,7 +2821,7 @@ var BadgeImpl = React38__namespace.forwardRef(
|
|
|
2821
2821
|
}
|
|
2822
2822
|
);
|
|
2823
2823
|
BadgeImpl.displayName = "Badge";
|
|
2824
|
-
var Badge =
|
|
2824
|
+
var Badge = React39__namespace.memo(BadgeImpl);
|
|
2825
2825
|
function BadgedBox({
|
|
2826
2826
|
badge,
|
|
2827
2827
|
children,
|
|
@@ -2887,11 +2887,11 @@ var ROTATE_KEY_SPLINES = [
|
|
|
2887
2887
|
var ROTATE_VALUES = "0 24 24; 154 24 24; 309 24 24; 463 24 24; 617 24 24; 771 24 24; 926 24 24; 1080 24 24";
|
|
2888
2888
|
var DETERMINATE_CIRCLE = "M24 7 C34.49 7 41 13.51 41 24 C41 34.49 34.49 41 24 41 C13.51 41 7 34.49 7 24 C7 13.51 13.51 7 24 7 Z";
|
|
2889
2889
|
var DETERMINATE_SOFT_BURST = "M20.9 10.4 21.4 9.5 21.9 8.7 22.5 7.8 23.2 7.2 24.2 7 25.1 7.4 25.7 8.1 26.2 9 26.8 9.8 27.3 10.6 28.1 11.2 29 11.3 30 11 30.9 10.6 31.8 10.3 32.8 9.9 33.7 10 34.5 10.6 34.9 11.5 34.8 12.5 34.8 13.5 34.7 14.5 34.7 15.5 35.2 16.3 36 16.8 37 17.1 37.9 17.3 38.9 17.5 39.8 17.9 40.4 18.7 40.5 19.7 40 20.5 39.4 21.3 38.7 22 38.1 22.8 37.6 23.7 37.7 24.6 38.3 25.5 38.9 26.2 39.6 27 40.2 27.7 40.5 28.7 40.3 29.6 39.5 30.3 38.6 30.6 37.6 30.8 36.7 31 35.7 31.3 35 31.9 34.6 32.8 34.7 33.8 34.8 34.8 34.9 35.8 34.8 36.8 34.3 37.6 33.4 38.1 32.4 38 31.5 37.6 30.6 37.2 29.7 36.9 28.7 36.6 27.8 36.9 27.1 37.6 26.6 38.5 26.1 39.3 25.5 40.2 24.8 40.8 23.8 41 22.9 40.6 22.3 39.9 21.8 39 21.2 38.2 20.7 37.4 19.9 36.8 19 36.7 18 37 17.1 37.4 16.2 37.7 15.2 38.1 14.3 38 13.5 37.4 13.1 36.5 13.2 35.5 13.2 34.5 13.3 33.5 13.3 32.5 12.8 31.7 12 31.2 11 31 10.1 30.7 9.1 30.5 8.2 30.1 7.6 29.3 7.5 28.3 8 27.5 8.7 26.7 9.3 26 9.9 25.2 10.4 24.3 10.3 23.4 9.7 22.5 9.1 21.8 8.4 21 7.8 20.3 7.5 19.3 7.7 18.4 8.5 17.7 9.4 17.4 10.4 17.2 11.3 17 12.3 16.7 13 16.1 13.4 15.2 13.3 14.2 13.2 13.2 13.1 12.2 13.2 11.2 13.7 10.4 14.6 9.9 15.6 10 16.5 10.4 17.4 10.8 18.3 11.1 19.3 11.4 20.2 11.1Z";
|
|
2890
|
-
var IndeterminateSvg =
|
|
2890
|
+
var IndeterminateSvg = React39__namespace.memo(function IndeterminateSvg2({
|
|
2891
2891
|
size
|
|
2892
2892
|
}) {
|
|
2893
|
-
const [ready, setReady] =
|
|
2894
|
-
|
|
2893
|
+
const [ready, setReady] = React39__namespace.useState(false);
|
|
2894
|
+
React39__namespace.useEffect(() => {
|
|
2895
2895
|
const raf = requestAnimationFrame(() => setReady(true));
|
|
2896
2896
|
return () => cancelAnimationFrame(raf);
|
|
2897
2897
|
}, []);
|
|
@@ -2936,7 +2936,7 @@ var IndeterminateSvg = React38__namespace.memo(function IndeterminateSvg2({
|
|
|
2936
2936
|
}
|
|
2937
2937
|
);
|
|
2938
2938
|
});
|
|
2939
|
-
var DeterminateSvg =
|
|
2939
|
+
var DeterminateSvg = React39__namespace.memo(function DeterminateSvg2({
|
|
2940
2940
|
size,
|
|
2941
2941
|
progress
|
|
2942
2942
|
}) {
|
|
@@ -2961,7 +2961,7 @@ var DeterminateSvg = React38__namespace.memo(function DeterminateSvg2({
|
|
|
2961
2961
|
}
|
|
2962
2962
|
);
|
|
2963
2963
|
});
|
|
2964
|
-
var LoadingIndicator =
|
|
2964
|
+
var LoadingIndicator = React39__namespace.forwardRef(
|
|
2965
2965
|
(_a, ref) => {
|
|
2966
2966
|
var _b = _a, {
|
|
2967
2967
|
variant = "uncontained",
|
|
@@ -3076,7 +3076,7 @@ function getSinePath(startX, endX, phase, wl, amp) {
|
|
|
3076
3076
|
d += ` L ${endX.toFixed(2)} ${yEnd.toFixed(2)}`;
|
|
3077
3077
|
return d;
|
|
3078
3078
|
}
|
|
3079
|
-
var CircularProgress =
|
|
3079
|
+
var CircularProgress = React39__namespace.forwardRef(
|
|
3080
3080
|
(_a, ref) => {
|
|
3081
3081
|
var _b = _a, {
|
|
3082
3082
|
value,
|
|
@@ -3114,15 +3114,15 @@ var CircularProgress = React38__namespace.forwardRef(
|
|
|
3114
3114
|
const isWavy = shape === "wavy";
|
|
3115
3115
|
const BASELINE_SIZE = 48;
|
|
3116
3116
|
const scaleFactor = size / BASELINE_SIZE;
|
|
3117
|
-
const effectiveAmplitude =
|
|
3117
|
+
const effectiveAmplitude = React39__namespace.useMemo(
|
|
3118
3118
|
() => amplitude != null ? amplitude : 1.6 * scaleFactor,
|
|
3119
3119
|
[amplitude, scaleFactor]
|
|
3120
3120
|
);
|
|
3121
|
-
const effectiveWavelength =
|
|
3121
|
+
const effectiveWavelength = React39__namespace.useMemo(
|
|
3122
3122
|
() => wavelength != null ? wavelength : 15 * scaleFactor,
|
|
3123
3123
|
[wavelength, scaleFactor]
|
|
3124
3124
|
);
|
|
3125
|
-
const wavyActivePath =
|
|
3125
|
+
const wavyActivePath = React39__namespace.useMemo(
|
|
3126
3126
|
() => isWavy ? generateWavyCircularPath(
|
|
3127
3127
|
center,
|
|
3128
3128
|
radius,
|
|
@@ -3131,8 +3131,8 @@ var CircularProgress = React38__namespace.forwardRef(
|
|
|
3131
3131
|
) : null,
|
|
3132
3132
|
[isWavy, center, radius, effectiveAmplitude, effectiveWavelength]
|
|
3133
3133
|
);
|
|
3134
|
-
const circumference =
|
|
3135
|
-
const gapForTrack =
|
|
3134
|
+
const circumference = React39__namespace.useMemo(() => 2 * Math.PI * radius, [radius]);
|
|
3135
|
+
const gapForTrack = React39__namespace.useMemo(
|
|
3136
3136
|
() => (gapSize + trackHeight) / circumference,
|
|
3137
3137
|
[gapSize, trackHeight, circumference]
|
|
3138
3138
|
);
|
|
@@ -3321,9 +3321,9 @@ var CircularProgress = React38__namespace.forwardRef(
|
|
|
3321
3321
|
);
|
|
3322
3322
|
CircularProgress.displayName = "CircularProgress";
|
|
3323
3323
|
function useContainerWidth() {
|
|
3324
|
-
const [width, setWidth] =
|
|
3325
|
-
const observerRef =
|
|
3326
|
-
const ref =
|
|
3324
|
+
const [width, setWidth] = React39__namespace.useState(0);
|
|
3325
|
+
const observerRef = React39__namespace.useRef(null);
|
|
3326
|
+
const ref = React39__namespace.useCallback((node) => {
|
|
3327
3327
|
if (observerRef.current) {
|
|
3328
3328
|
observerRef.current.disconnect();
|
|
3329
3329
|
observerRef.current = null;
|
|
@@ -3337,7 +3337,7 @@ function useContainerWidth() {
|
|
|
3337
3337
|
observerRef.current = obs;
|
|
3338
3338
|
}
|
|
3339
3339
|
}, []);
|
|
3340
|
-
|
|
3340
|
+
React39__namespace.useEffect(() => {
|
|
3341
3341
|
return () => {
|
|
3342
3342
|
if (observerRef.current) {
|
|
3343
3343
|
observerRef.current.disconnect();
|
|
@@ -3347,7 +3347,7 @@ function useContainerWidth() {
|
|
|
3347
3347
|
return [ref, width];
|
|
3348
3348
|
}
|
|
3349
3349
|
function useMergedRef(...refs) {
|
|
3350
|
-
return
|
|
3350
|
+
return React39__namespace.useCallback(
|
|
3351
3351
|
(node) => {
|
|
3352
3352
|
for (const ref of refs) {
|
|
3353
3353
|
if (typeof ref === "function") {
|
|
@@ -3361,7 +3361,7 @@ function useMergedRef(...refs) {
|
|
|
3361
3361
|
[refs]
|
|
3362
3362
|
);
|
|
3363
3363
|
}
|
|
3364
|
-
var FlatLinearTrack =
|
|
3364
|
+
var FlatLinearTrack = React39__namespace.memo(function FlatLinearTrack2({
|
|
3365
3365
|
trackHeight,
|
|
3366
3366
|
activeColor,
|
|
3367
3367
|
trackColor,
|
|
@@ -3437,7 +3437,7 @@ var FlatLinearTrack = React38__namespace.memo(function FlatLinearTrack2({
|
|
|
3437
3437
|
}
|
|
3438
3438
|
);
|
|
3439
3439
|
});
|
|
3440
|
-
var WavyLinearTrack =
|
|
3440
|
+
var WavyLinearTrack = React39__namespace.memo(function WavyLinearTrack2({
|
|
3441
3441
|
trackHeight,
|
|
3442
3442
|
svgHeight,
|
|
3443
3443
|
amplitude,
|
|
@@ -3456,13 +3456,13 @@ var WavyLinearTrack = React38__namespace.memo(function WavyLinearTrack2({
|
|
|
3456
3456
|
}) {
|
|
3457
3457
|
const isDeterminate = typeof value === "number";
|
|
3458
3458
|
const clampedValue = isDeterminate ? Math.max(0, Math.min(100, value)) : 100;
|
|
3459
|
-
const titleId =
|
|
3459
|
+
const titleId = React39__namespace.useId();
|
|
3460
3460
|
const [containerRef, width] = useContainerWidth();
|
|
3461
|
-
const activePathRef =
|
|
3462
|
-
const trackPathRef =
|
|
3461
|
+
const activePathRef = React39__namespace.useRef(null);
|
|
3462
|
+
const trackPathRef = React39__namespace.useRef(null);
|
|
3463
3463
|
const amplitudeMV = react.useMotionValue(amplitude);
|
|
3464
3464
|
const fractionMV = react.useMotionValue(isDeterminate ? clampedValue / 100 : 1);
|
|
3465
|
-
|
|
3465
|
+
React39__namespace.useEffect(() => {
|
|
3466
3466
|
if (isDeterminate) {
|
|
3467
3467
|
const fraction = clampedValue / 100;
|
|
3468
3468
|
let targetAmp = amplitude;
|
|
@@ -3633,7 +3633,7 @@ var WavyLinearTrack = React38__namespace.memo(function WavyLinearTrack2({
|
|
|
3633
3633
|
}
|
|
3634
3634
|
);
|
|
3635
3635
|
});
|
|
3636
|
-
var LinearProgress =
|
|
3636
|
+
var LinearProgress = React39__namespace.forwardRef(
|
|
3637
3637
|
(_a, ref) => {
|
|
3638
3638
|
var _b = _a, {
|
|
3639
3639
|
value,
|
|
@@ -3674,10 +3674,10 @@ var LinearProgress = React38__namespace.forwardRef(
|
|
|
3674
3674
|
]);
|
|
3675
3675
|
const isDeterminate = value !== void 0;
|
|
3676
3676
|
const clampedValue = isDeterminate ? Math.min(100, Math.max(0, value)) : 0;
|
|
3677
|
-
const containerRef =
|
|
3677
|
+
const containerRef = React39__namespace.useRef(null);
|
|
3678
3678
|
const mergedRef = useMergedRef(ref, containerRef);
|
|
3679
|
-
const [isRtl, setIsRtl] =
|
|
3680
|
-
|
|
3679
|
+
const [isRtl, setIsRtl] = React39__namespace.useState(false);
|
|
3680
|
+
React39__namespace.useEffect(() => {
|
|
3681
3681
|
if (containerRef.current) {
|
|
3682
3682
|
const dir = getComputedStyle(containerRef.current).direction;
|
|
3683
3683
|
setIsRtl(dir === "rtl");
|
|
@@ -3685,16 +3685,16 @@ var LinearProgress = React38__namespace.forwardRef(
|
|
|
3685
3685
|
}, []);
|
|
3686
3686
|
const isWavy = shape === "wavy";
|
|
3687
3687
|
const resolvedTrackShape = trackShape != null ? trackShape : shape;
|
|
3688
|
-
const effectiveAmplitude =
|
|
3689
|
-
const svgHeight =
|
|
3688
|
+
const effectiveAmplitude = React39__namespace.useMemo(() => amplitude != null ? amplitude : 3, [amplitude]);
|
|
3689
|
+
const svgHeight = React39__namespace.useMemo(
|
|
3690
3690
|
() => isWavy ? trackHeight + effectiveAmplitude * 2 : trackHeight,
|
|
3691
3691
|
[isWavy, trackHeight, effectiveAmplitude]
|
|
3692
3692
|
);
|
|
3693
|
-
const shouldShowStop =
|
|
3693
|
+
const shouldShowStop = React39__namespace.useMemo(
|
|
3694
3694
|
() => isDeterminate && resolvedTrackShape === "flat" && (showStopIndicator === true || showStopIndicator === "auto" && isDeterminate),
|
|
3695
3695
|
[isDeterminate, resolvedTrackShape, showStopIndicator]
|
|
3696
3696
|
);
|
|
3697
|
-
const stopSize =
|
|
3697
|
+
const stopSize = React39__namespace.useMemo(
|
|
3698
3698
|
() => Math.max(2, trackHeight > 4 ? 4 : trackHeight / 2),
|
|
3699
3699
|
[trackHeight]
|
|
3700
3700
|
);
|
|
@@ -3767,14 +3767,14 @@ var LinearProgress = React38__namespace.forwardRef(
|
|
|
3767
3767
|
}
|
|
3768
3768
|
);
|
|
3769
3769
|
LinearProgress.displayName = "LinearProgress";
|
|
3770
|
-
var ProgressIndicator =
|
|
3770
|
+
var ProgressIndicator = React39__namespace.forwardRef((props, ref) => {
|
|
3771
3771
|
if (props.variant === "circular") {
|
|
3772
3772
|
return /* @__PURE__ */ jsxRuntime.jsx(CircularProgress, __spreadValues({ ref }, props));
|
|
3773
3773
|
}
|
|
3774
3774
|
return /* @__PURE__ */ jsxRuntime.jsx(LinearProgress, __spreadValues({ ref }, props));
|
|
3775
3775
|
});
|
|
3776
3776
|
ProgressIndicator.displayName = "ProgressIndicator";
|
|
3777
|
-
var RippleItem =
|
|
3777
|
+
var RippleItem = React39__namespace.memo(function RippleItem2({
|
|
3778
3778
|
ripple,
|
|
3779
3779
|
onDone
|
|
3780
3780
|
}) {
|
|
@@ -3818,8 +3818,8 @@ function Ripple({
|
|
|
3818
3818
|
}
|
|
3819
3819
|
function useRippleState(options = {}) {
|
|
3820
3820
|
const { disabled = false } = options;
|
|
3821
|
-
const [ripples, setRipples] =
|
|
3822
|
-
const onPointerDown =
|
|
3821
|
+
const [ripples, setRipples] = React39__namespace.useState([]);
|
|
3822
|
+
const onPointerDown = React39__namespace.useCallback(
|
|
3823
3823
|
(e) => {
|
|
3824
3824
|
if (disabled) return;
|
|
3825
3825
|
const rect = e.currentTarget.getBoundingClientRect();
|
|
@@ -3833,7 +3833,7 @@ function useRippleState(options = {}) {
|
|
|
3833
3833
|
},
|
|
3834
3834
|
[disabled]
|
|
3835
3835
|
);
|
|
3836
|
-
const removeRipple =
|
|
3836
|
+
const removeRipple = React39__namespace.useCallback((id) => {
|
|
3837
3837
|
setRipples((prev) => prev.filter((r) => r.id !== id));
|
|
3838
3838
|
}, []);
|
|
3839
3839
|
return { ripples, onPointerDown, removeRipple };
|
|
@@ -3964,7 +3964,7 @@ var buttonColorVariants = classVarianceAuthority.cva(
|
|
|
3964
3964
|
);
|
|
3965
3965
|
function resolveLabel(children, asChild) {
|
|
3966
3966
|
if (asChild) {
|
|
3967
|
-
const child =
|
|
3967
|
+
const child = React39__namespace.Children.only(children);
|
|
3968
3968
|
return child.props.children;
|
|
3969
3969
|
}
|
|
3970
3970
|
return children;
|
|
@@ -4036,7 +4036,7 @@ function AnimatedIconSlot({
|
|
|
4036
4036
|
}
|
|
4037
4037
|
);
|
|
4038
4038
|
}
|
|
4039
|
-
var ButtonComponent =
|
|
4039
|
+
var ButtonComponent = React39__namespace.forwardRef(
|
|
4040
4040
|
(_a, ref) => {
|
|
4041
4041
|
var _b = _a, {
|
|
4042
4042
|
className,
|
|
@@ -4085,15 +4085,15 @@ var ButtonComponent = React38__namespace.forwardRef(
|
|
|
4085
4085
|
const { pressed: pressedRadius } = (_b2 = radiusMap[size]) != null ? _b2 : radiusMap.sm;
|
|
4086
4086
|
const iconClass = (_c = SIZE_ICON_CLASS[size]) != null ? _c : "size-5";
|
|
4087
4087
|
const mergedStyle = __spreadValues(__spreadValues({}, SIZE_STYLES[size]), style);
|
|
4088
|
-
const labelText =
|
|
4088
|
+
const labelText = React39__namespace.useMemo(
|
|
4089
4089
|
() => resolveLabel(children, asChild),
|
|
4090
4090
|
[children, asChild]
|
|
4091
4091
|
);
|
|
4092
4092
|
const computedAriaLabel = ariaLabelProp || (typeof children === "string" ? children : void 0);
|
|
4093
4093
|
const needsTouchTarget = size === "xs" || size === "sm";
|
|
4094
4094
|
const motionRadius = react.useMotionValue(animateRadius);
|
|
4095
|
-
const asChildRef =
|
|
4096
|
-
const mergedRef =
|
|
4095
|
+
const asChildRef = React39__namespace.useRef(null);
|
|
4096
|
+
const mergedRef = React39__namespace.useCallback(
|
|
4097
4097
|
(node) => {
|
|
4098
4098
|
asChildRef.current = node;
|
|
4099
4099
|
if (typeof ref === "function") ref(node);
|
|
@@ -4102,27 +4102,27 @@ var ButtonComponent = React38__namespace.forwardRef(
|
|
|
4102
4102
|
},
|
|
4103
4103
|
[ref]
|
|
4104
4104
|
);
|
|
4105
|
-
|
|
4105
|
+
React39__namespace.useEffect(
|
|
4106
4106
|
() => motionRadius.on("change", (v) => {
|
|
4107
4107
|
if (asChildRef.current)
|
|
4108
4108
|
asChildRef.current.style.borderRadius = `${v}px`;
|
|
4109
4109
|
}),
|
|
4110
4110
|
[motionRadius]
|
|
4111
4111
|
);
|
|
4112
|
-
|
|
4112
|
+
React39__namespace.useEffect(() => {
|
|
4113
4113
|
springAnimate(motionRadius, animateRadius);
|
|
4114
4114
|
}, [animateRadius, motionRadius]);
|
|
4115
4115
|
const { ripples, onPointerDown, removeRipple } = useRippleState({
|
|
4116
4116
|
disabled: loading
|
|
4117
4117
|
});
|
|
4118
|
-
const handleClick =
|
|
4118
|
+
const handleClick = React39__namespace.useCallback(
|
|
4119
4119
|
(e) => {
|
|
4120
4120
|
if (loading) return e.preventDefault();
|
|
4121
4121
|
onClick == null ? void 0 : onClick(e);
|
|
4122
4122
|
},
|
|
4123
4123
|
[loading, onClick]
|
|
4124
4124
|
);
|
|
4125
|
-
const handleKeyDown =
|
|
4125
|
+
const handleKeyDown = React39__namespace.useCallback(
|
|
4126
4126
|
(e) => {
|
|
4127
4127
|
if (loading) return;
|
|
4128
4128
|
if (onClick && (e.key === "Enter" || e.key === " ")) {
|
|
@@ -4165,7 +4165,7 @@ var ButtonComponent = React38__namespace.forwardRef(
|
|
|
4165
4165
|
] });
|
|
4166
4166
|
if (asChild) {
|
|
4167
4167
|
const htmlProps = stripMotionProps(restProps);
|
|
4168
|
-
const child =
|
|
4168
|
+
const child = React39__namespace.Children.only(children);
|
|
4169
4169
|
const handleAsChildPointerDown = (e) => {
|
|
4170
4170
|
springAnimate(motionRadius, pressedRadius);
|
|
4171
4171
|
onPointerDown == null ? void 0 : onPointerDown(e);
|
|
@@ -4189,7 +4189,7 @@ var ButtonComponent = React38__namespace.forwardRef(
|
|
|
4189
4189
|
}),
|
|
4190
4190
|
className: buttonClassName
|
|
4191
4191
|
}, htmlProps), {
|
|
4192
|
-
children:
|
|
4192
|
+
children: React39__namespace.cloneElement(child, { children: innerContent })
|
|
4193
4193
|
})
|
|
4194
4194
|
) });
|
|
4195
4195
|
}
|
|
@@ -4217,7 +4217,7 @@ var ButtonComponent = React38__namespace.forwardRef(
|
|
|
4217
4217
|
}
|
|
4218
4218
|
);
|
|
4219
4219
|
ButtonComponent.displayName = "Button";
|
|
4220
|
-
var Button =
|
|
4220
|
+
var Button = React39__namespace.memo(ButtonComponent);
|
|
4221
4221
|
var SIZE_PADDING_MAP = {
|
|
4222
4222
|
xs: "0.75rem",
|
|
4223
4223
|
sm: "1rem",
|
|
@@ -4246,7 +4246,7 @@ var PRESSED_RADIUS_MAP = {
|
|
|
4246
4246
|
lg: 28,
|
|
4247
4247
|
xl: 40
|
|
4248
4248
|
};
|
|
4249
|
-
var ButtonGroupComponent =
|
|
4249
|
+
var ButtonGroupComponent = React39__namespace.forwardRef(
|
|
4250
4250
|
(_a, ref) => {
|
|
4251
4251
|
var _b = _a, {
|
|
4252
4252
|
className,
|
|
@@ -4267,13 +4267,13 @@ var ButtonGroupComponent = React38__namespace.forwardRef(
|
|
|
4267
4267
|
"showCheck",
|
|
4268
4268
|
"children"
|
|
4269
4269
|
]);
|
|
4270
|
-
const [pressedIndex, setPressedIndex] =
|
|
4271
|
-
const childrenArray =
|
|
4272
|
-
() =>
|
|
4270
|
+
const [pressedIndex, setPressedIndex] = React39__namespace.useState(null);
|
|
4271
|
+
const childrenArray = React39__namespace.useMemo(
|
|
4272
|
+
() => React39__namespace.Children.toArray(children).filter(React39__namespace.isValidElement),
|
|
4273
4273
|
[children]
|
|
4274
4274
|
);
|
|
4275
4275
|
const count = childrenArray.length;
|
|
4276
|
-
const handlePointerLeaveAndUp =
|
|
4276
|
+
const handlePointerLeaveAndUp = React39__namespace.useCallback(() => {
|
|
4277
4277
|
setPressedIndex(null);
|
|
4278
4278
|
}, []);
|
|
4279
4279
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4412,7 +4412,7 @@ var ButtonGroupComponent = React38__namespace.forwardRef(
|
|
|
4412
4412
|
duration: 0.2
|
|
4413
4413
|
};
|
|
4414
4414
|
}
|
|
4415
|
-
return
|
|
4415
|
+
return React39__namespace.cloneElement(element, __spreadValues(__spreadProps(__spreadValues({
|
|
4416
4416
|
key: (_a2 = element.key) != null ? _a2 : index,
|
|
4417
4417
|
tabIndex: isFirst ? 0 : -1,
|
|
4418
4418
|
size: size || element.props.size,
|
|
@@ -4441,7 +4441,7 @@ var ButtonGroupComponent = React38__namespace.forwardRef(
|
|
|
4441
4441
|
}
|
|
4442
4442
|
);
|
|
4443
4443
|
ButtonGroupComponent.displayName = "ButtonGroup";
|
|
4444
|
-
var ButtonGroup =
|
|
4444
|
+
var ButtonGroup = React39__namespace.memo(ButtonGroupComponent);
|
|
4445
4445
|
var SHADOW = {
|
|
4446
4446
|
level0: "none",
|
|
4447
4447
|
level1: "0px 1px 2px 0px rgba(0,0,0,.3), 0px 1px 3px 1px rgba(0,0,0,.15)",
|
|
@@ -4500,7 +4500,7 @@ function useCardElevation(variant, disabled) {
|
|
|
4500
4500
|
}
|
|
4501
4501
|
};
|
|
4502
4502
|
}
|
|
4503
|
-
var CardImpl =
|
|
4503
|
+
var CardImpl = React39__namespace.forwardRef(
|
|
4504
4504
|
(_a, ref) => {
|
|
4505
4505
|
var _b = _a, {
|
|
4506
4506
|
className,
|
|
@@ -4598,7 +4598,7 @@ var CardImpl = React38__namespace.forwardRef(
|
|
|
4598
4598
|
}
|
|
4599
4599
|
);
|
|
4600
4600
|
CardImpl.displayName = "Card";
|
|
4601
|
-
var Card =
|
|
4601
|
+
var Card = React39__namespace.memo(CardImpl);
|
|
4602
4602
|
var MD3_STANDARD = [0.2, 0, 0, 1];
|
|
4603
4603
|
var MD3_FAST_EFFECTS = [0.3, 0, 1, 1];
|
|
4604
4604
|
var CHECKMARK_PATH = "M 4.5 9.5 L 7.5 12.5 L 13.5 5.5";
|
|
@@ -4612,7 +4612,7 @@ var NEXT_STATE = {
|
|
|
4612
4612
|
checked: "indeterminate",
|
|
4613
4613
|
indeterminate: "unchecked"
|
|
4614
4614
|
};
|
|
4615
|
-
var CheckboxVisual =
|
|
4615
|
+
var CheckboxVisual = React39__namespace.memo(function CheckboxVisual2({
|
|
4616
4616
|
isSelected,
|
|
4617
4617
|
isIndeterminate,
|
|
4618
4618
|
containerBg,
|
|
@@ -4683,7 +4683,7 @@ var CheckboxVisual = React38__namespace.memo(function CheckboxVisual2({
|
|
|
4683
4683
|
);
|
|
4684
4684
|
});
|
|
4685
4685
|
function useMergedRef2(externalRef, internalRef) {
|
|
4686
|
-
return
|
|
4686
|
+
return React39__namespace.useCallback(
|
|
4687
4687
|
(node) => {
|
|
4688
4688
|
internalRef.current = node;
|
|
4689
4689
|
if (!externalRef) return;
|
|
@@ -4696,7 +4696,7 @@ function useMergedRef2(externalRef, internalRef) {
|
|
|
4696
4696
|
[externalRef, internalRef]
|
|
4697
4697
|
);
|
|
4698
4698
|
}
|
|
4699
|
-
var CheckboxComponent =
|
|
4699
|
+
var CheckboxComponent = React39__namespace.forwardRef(
|
|
4700
4700
|
({
|
|
4701
4701
|
checked,
|
|
4702
4702
|
defaultChecked = false,
|
|
@@ -4718,20 +4718,20 @@ var CheckboxComponent = React38__namespace.forwardRef(
|
|
|
4718
4718
|
}, ref) => {
|
|
4719
4719
|
var _a;
|
|
4720
4720
|
const prefersReduced = (_a = react.useReducedMotion()) != null ? _a : false;
|
|
4721
|
-
const generatedId =
|
|
4721
|
+
const generatedId = React39__namespace.useId();
|
|
4722
4722
|
const inputId = idProp != null ? idProp : label ? `checkbox-${generatedId}` : void 0;
|
|
4723
|
-
const [internalState, setInternalState] =
|
|
4723
|
+
const [internalState, setInternalState] = React39__namespace.useState(
|
|
4724
4724
|
() => defaultChecked ? "checked" : "unchecked"
|
|
4725
4725
|
);
|
|
4726
4726
|
const isControlled = stateProp !== void 0 || checked !== void 0;
|
|
4727
4727
|
const baseState = isControlled ? resolveState(checked, false, stateProp) : internalState;
|
|
4728
4728
|
const effectiveState = indeterminate ? "indeterminate" : baseState;
|
|
4729
|
-
const [ripples, setRipples] =
|
|
4730
|
-
const removeRipple =
|
|
4729
|
+
const [ripples, setRipples] = React39__namespace.useState([]);
|
|
4730
|
+
const removeRipple = React39__namespace.useCallback(
|
|
4731
4731
|
(id) => setRipples((prev) => prev.filter((r) => r.id !== id)),
|
|
4732
4732
|
[]
|
|
4733
4733
|
);
|
|
4734
|
-
const onPointerDown =
|
|
4734
|
+
const onPointerDown = React39__namespace.useCallback(
|
|
4735
4735
|
(e) => {
|
|
4736
4736
|
if (disabled) return;
|
|
4737
4737
|
const rect = e.currentTarget.getBoundingClientRect();
|
|
@@ -4745,7 +4745,7 @@ var CheckboxComponent = React38__namespace.forwardRef(
|
|
|
4745
4745
|
},
|
|
4746
4746
|
[disabled]
|
|
4747
4747
|
);
|
|
4748
|
-
const handleChange =
|
|
4748
|
+
const handleChange = React39__namespace.useCallback(
|
|
4749
4749
|
(e) => {
|
|
4750
4750
|
if (disabled) return;
|
|
4751
4751
|
if (stateProp !== void 0) {
|
|
@@ -4771,9 +4771,9 @@ var CheckboxComponent = React38__namespace.forwardRef(
|
|
|
4771
4771
|
onCheckedChange
|
|
4772
4772
|
]
|
|
4773
4773
|
);
|
|
4774
|
-
const inputRef =
|
|
4774
|
+
const inputRef = React39__namespace.useRef(null);
|
|
4775
4775
|
const mergedRef = useMergedRef2(ref, inputRef);
|
|
4776
|
-
|
|
4776
|
+
React39__namespace.useEffect(() => {
|
|
4777
4777
|
if (inputRef.current) {
|
|
4778
4778
|
inputRef.current.indeterminate = effectiveState === "indeterminate";
|
|
4779
4779
|
}
|
|
@@ -4898,13 +4898,13 @@ var CheckboxComponent = React38__namespace.forwardRef(
|
|
|
4898
4898
|
}
|
|
4899
4899
|
);
|
|
4900
4900
|
CheckboxComponent.displayName = "Checkbox";
|
|
4901
|
-
var Checkbox =
|
|
4902
|
-
var TriStateCheckboxComponent =
|
|
4901
|
+
var Checkbox = React39__namespace.memo(CheckboxComponent);
|
|
4902
|
+
var TriStateCheckboxComponent = React39__namespace.forwardRef((_a, ref) => {
|
|
4903
4903
|
var _b = _a, { state, onStateChange } = _b, rest = __objRest(_b, ["state", "onStateChange"]);
|
|
4904
4904
|
return /* @__PURE__ */ jsxRuntime.jsx(Checkbox, __spreadValues({ ref, state, onStateChange }, rest));
|
|
4905
4905
|
});
|
|
4906
4906
|
TriStateCheckboxComponent.displayName = "TriStateCheckbox";
|
|
4907
|
-
var TriStateCheckbox =
|
|
4907
|
+
var TriStateCheckbox = React39__namespace.memo(TriStateCheckboxComponent);
|
|
4908
4908
|
function CheckIcon({ className }) {
|
|
4909
4909
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4910
4910
|
"svg",
|
|
@@ -4998,7 +4998,7 @@ var chipVariants = classVarianceAuthority.cva(
|
|
|
4998
4998
|
defaultVariants: { variant: "assist" }
|
|
4999
4999
|
}
|
|
5000
5000
|
);
|
|
5001
|
-
var ChipImpl =
|
|
5001
|
+
var ChipImpl = React39__namespace.forwardRef(
|
|
5002
5002
|
(_a, ref) => {
|
|
5003
5003
|
var _b = _a, {
|
|
5004
5004
|
variant = "assist",
|
|
@@ -5034,7 +5034,7 @@ var ChipImpl = React38__namespace.forwardRef(
|
|
|
5034
5034
|
const showCheckmark = isFilter && selected;
|
|
5035
5035
|
const hasTrailingContent = !!trailingIcon || !!onRemove;
|
|
5036
5036
|
const hasLeadingContent = isFilter || !!resolvedLeadingIcon;
|
|
5037
|
-
const paddingClass =
|
|
5037
|
+
const paddingClass = React39__namespace.useMemo(
|
|
5038
5038
|
() => cn(
|
|
5039
5039
|
!isInput && !hasLeadingContent && !hasTrailingContent && "px-4",
|
|
5040
5040
|
!isInput && hasLeadingContent && !hasTrailingContent && "pl-2 pr-4",
|
|
@@ -5047,7 +5047,7 @@ var ChipImpl = React38__namespace.forwardRef(
|
|
|
5047
5047
|
),
|
|
5048
5048
|
[isInput, hasLeadingContent, hasTrailingContent]
|
|
5049
5049
|
);
|
|
5050
|
-
const stateClass =
|
|
5050
|
+
const stateClass = React39__namespace.useMemo(
|
|
5051
5051
|
() => cn(
|
|
5052
5052
|
(isFilter || isInput) && selected && "bg-m3-secondary-container text-m3-on-secondary-container border-none before:bg-m3-on-secondary-container",
|
|
5053
5053
|
elevated && !selected && "bg-m3-surface-container-low border-none elevation-1",
|
|
@@ -5058,7 +5058,7 @@ var ChipImpl = React38__namespace.forwardRef(
|
|
|
5058
5058
|
),
|
|
5059
5059
|
[isFilter, isInput, selected, elevated, disabled]
|
|
5060
5060
|
);
|
|
5061
|
-
const leadingIconColorClass =
|
|
5061
|
+
const leadingIconColorClass = React39__namespace.useMemo(
|
|
5062
5062
|
() => cn(
|
|
5063
5063
|
(variant === "assist" || variant === "suggestion") && "text-m3-primary",
|
|
5064
5064
|
isFilter && !selected && "text-m3-primary",
|
|
@@ -5230,8 +5230,8 @@ var ChipImpl = React38__namespace.forwardRef(
|
|
|
5230
5230
|
}
|
|
5231
5231
|
);
|
|
5232
5232
|
ChipImpl.displayName = "Chip";
|
|
5233
|
-
var Chip =
|
|
5234
|
-
var ScrollArea =
|
|
5233
|
+
var Chip = React39__namespace.memo(ChipImpl);
|
|
5234
|
+
var ScrollArea = React39__namespace.forwardRef(
|
|
5235
5235
|
(_a, ref) => {
|
|
5236
5236
|
var _b = _a, {
|
|
5237
5237
|
className,
|
|
@@ -5239,14 +5239,16 @@ var ScrollArea = React38__namespace.forwardRef(
|
|
|
5239
5239
|
children,
|
|
5240
5240
|
type = "hover",
|
|
5241
5241
|
orientation = "vertical",
|
|
5242
|
-
scrollHideDelay = 600
|
|
5242
|
+
scrollHideDelay = 600,
|
|
5243
|
+
viewportRef
|
|
5243
5244
|
} = _b, props = __objRest(_b, [
|
|
5244
5245
|
"className",
|
|
5245
5246
|
"viewportClassName",
|
|
5246
5247
|
"children",
|
|
5247
5248
|
"type",
|
|
5248
5249
|
"orientation",
|
|
5249
|
-
"scrollHideDelay"
|
|
5250
|
+
"scrollHideDelay",
|
|
5251
|
+
"viewportRef"
|
|
5250
5252
|
]);
|
|
5251
5253
|
const radixType = type === "none" ? "always" : type;
|
|
5252
5254
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -5261,6 +5263,7 @@ var ScrollArea = React38__namespace.forwardRef(
|
|
|
5261
5263
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5262
5264
|
RadixScrollArea__namespace.Viewport,
|
|
5263
5265
|
{
|
|
5266
|
+
ref: viewportRef,
|
|
5264
5267
|
className: cn(
|
|
5265
5268
|
"h-full w-full flex-1 min-h-0 min-w-0 rounded-[inherit]",
|
|
5266
5269
|
"outline-none focus-visible:ring-2 focus-visible:ring-m3-primary focus-visible:ring-offset-1",
|
|
@@ -5290,7 +5293,7 @@ var ScrollArea = React38__namespace.forwardRef(
|
|
|
5290
5293
|
}
|
|
5291
5294
|
);
|
|
5292
5295
|
ScrollArea.displayName = "ScrollArea";
|
|
5293
|
-
var ScrollAreaScrollbar =
|
|
5296
|
+
var ScrollAreaScrollbar = React39__namespace.forwardRef((_a, ref) => {
|
|
5294
5297
|
var _b = _a, { className, orientation = "vertical" } = _b, props = __objRest(_b, ["className", "orientation"]);
|
|
5295
5298
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5296
5299
|
RadixScrollArea__namespace.Scrollbar,
|
|
@@ -5320,7 +5323,7 @@ var ScrollAreaScrollbar = React38__namespace.forwardRef((_a, ref) => {
|
|
|
5320
5323
|
);
|
|
5321
5324
|
});
|
|
5322
5325
|
ScrollAreaScrollbar.displayName = RadixScrollArea__namespace.Scrollbar.displayName;
|
|
5323
|
-
var ScrollAreaCorner =
|
|
5326
|
+
var ScrollAreaCorner = React39__namespace.forwardRef((_a, ref) => {
|
|
5324
5327
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5325
5328
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5326
5329
|
RadixScrollArea__namespace.Corner,
|
|
@@ -5415,7 +5418,7 @@ function mapDomToReact(node, key) {
|
|
|
5415
5418
|
props[propName] = attr.value;
|
|
5416
5419
|
}
|
|
5417
5420
|
}
|
|
5418
|
-
return
|
|
5421
|
+
return React39.createElement(
|
|
5419
5422
|
tagName,
|
|
5420
5423
|
props,
|
|
5421
5424
|
Array.from(el.childNodes).map((child, i) => mapDomToReact(child, i))
|
|
@@ -5424,8 +5427,8 @@ function mapDomToReact(node, key) {
|
|
|
5424
5427
|
return null;
|
|
5425
5428
|
}
|
|
5426
5429
|
function CodeContent({ html, code }) {
|
|
5427
|
-
const [parsedContent, setParsedContent] =
|
|
5428
|
-
|
|
5430
|
+
const [parsedContent, setParsedContent] = React39.useState(null);
|
|
5431
|
+
React39.useEffect(() => {
|
|
5429
5432
|
if (html) {
|
|
5430
5433
|
const parser = new DOMParser();
|
|
5431
5434
|
const doc = parser.parseFromString(html, "text/html");
|
|
@@ -5455,8 +5458,8 @@ function CodeBlock({
|
|
|
5455
5458
|
className,
|
|
5456
5459
|
html
|
|
5457
5460
|
}) {
|
|
5458
|
-
const [copied, setCopied] =
|
|
5459
|
-
const handleCopy =
|
|
5461
|
+
const [copied, setCopied] = React39.useState(false);
|
|
5462
|
+
const handleCopy = React39.useCallback(async () => {
|
|
5460
5463
|
try {
|
|
5461
5464
|
await navigator.clipboard.writeText(code);
|
|
5462
5465
|
setCopied(true);
|
|
@@ -5597,7 +5600,7 @@ function resolveDisabledBgClass(colorStyle) {
|
|
|
5597
5600
|
}
|
|
5598
5601
|
return "disabled:text-m3-on-surface/[0.38]";
|
|
5599
5602
|
}
|
|
5600
|
-
var IconButtonComponent =
|
|
5603
|
+
var IconButtonComponent = React39__namespace.forwardRef(
|
|
5601
5604
|
(_a, ref) => {
|
|
5602
5605
|
var _b = _a, {
|
|
5603
5606
|
className,
|
|
@@ -5631,18 +5634,18 @@ var IconButtonComponent = React38__namespace.forwardRef(
|
|
|
5631
5634
|
var _a2, _b2;
|
|
5632
5635
|
const isToggle = variant === "toggle";
|
|
5633
5636
|
const isSelected = isToggle && !!selected;
|
|
5634
|
-
const resolvedColorClass =
|
|
5637
|
+
const resolvedColorClass = React39__namespace.useMemo(
|
|
5635
5638
|
() => isSelected ? colorStyles[colorStyle].selected : colorStyles[colorStyle].default,
|
|
5636
5639
|
[isSelected, colorStyle]
|
|
5637
5640
|
);
|
|
5638
|
-
const outlineWidthClass =
|
|
5641
|
+
const outlineWidthClass = React39__namespace.useMemo(
|
|
5639
5642
|
() => {
|
|
5640
5643
|
var _a3;
|
|
5641
5644
|
return colorStyle === "outlined" && !isSelected ? (_a3 = SIZE_OUTLINE_WIDTH[size]) != null ? _a3 : "border" : "";
|
|
5642
5645
|
},
|
|
5643
5646
|
[colorStyle, isSelected, size]
|
|
5644
5647
|
);
|
|
5645
|
-
const disabledBgClass =
|
|
5648
|
+
const disabledBgClass = React39__namespace.useMemo(
|
|
5646
5649
|
() => resolveDisabledBgClass(colorStyle),
|
|
5647
5650
|
[colorStyle]
|
|
5648
5651
|
);
|
|
@@ -5661,7 +5664,7 @@ var IconButtonComponent = React38__namespace.forwardRef(
|
|
|
5661
5664
|
const { ripples, onPointerDown, removeRipple } = useRippleState({
|
|
5662
5665
|
disabled: loading
|
|
5663
5666
|
});
|
|
5664
|
-
const handleClick =
|
|
5667
|
+
const handleClick = React39__namespace.useCallback(
|
|
5665
5668
|
(e) => {
|
|
5666
5669
|
if (loading) {
|
|
5667
5670
|
e.preventDefault();
|
|
@@ -5671,7 +5674,7 @@ var IconButtonComponent = React38__namespace.forwardRef(
|
|
|
5671
5674
|
},
|
|
5672
5675
|
[loading, onClick]
|
|
5673
5676
|
);
|
|
5674
|
-
const handleKeyDown =
|
|
5677
|
+
const handleKeyDown = React39__namespace.useCallback(
|
|
5675
5678
|
(e) => {
|
|
5676
5679
|
if (loading) return;
|
|
5677
5680
|
if ((e.key === "Enter" || e.key === " ") && onClick) {
|
|
@@ -5759,7 +5762,7 @@ var IconButtonComponent = React38__namespace.forwardRef(
|
|
|
5759
5762
|
}
|
|
5760
5763
|
);
|
|
5761
5764
|
IconButtonComponent.displayName = "IconButton";
|
|
5762
|
-
var IconButton =
|
|
5765
|
+
var IconButton = React39__namespace.memo(IconButtonComponent);
|
|
5763
5766
|
var MD3_SPRING = {
|
|
5764
5767
|
type: "spring",
|
|
5765
5768
|
stiffness: 400,
|
|
@@ -5796,9 +5799,9 @@ DialogTrigger.displayName = "DialogTrigger";
|
|
|
5796
5799
|
var DialogPortal = ({
|
|
5797
5800
|
open,
|
|
5798
5801
|
children
|
|
5799
|
-
}) => /* @__PURE__ */ jsxRuntime.jsx(RadixDialog__namespace.Portal, { forceMount: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { children: open ?
|
|
5802
|
+
}) => /* @__PURE__ */ jsxRuntime.jsx(RadixDialog__namespace.Portal, { forceMount: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { children: open ? React39__namespace.Children.toArray(children) : null }) });
|
|
5800
5803
|
DialogPortal.displayName = "DialogPortal";
|
|
5801
|
-
var DialogOverlay =
|
|
5804
|
+
var DialogOverlay = React39__namespace.forwardRef((_a, ref) => {
|
|
5802
5805
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5803
5806
|
return /* @__PURE__ */ jsxRuntime.jsx(RadixDialog__namespace.Overlay, __spreadProps(__spreadValues({ ref, asChild: true }, props), { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5804
5807
|
react.m.div,
|
|
@@ -5809,7 +5812,7 @@ var DialogOverlay = React38__namespace.forwardRef((_a, ref) => {
|
|
|
5809
5812
|
) }));
|
|
5810
5813
|
});
|
|
5811
5814
|
DialogOverlay.displayName = "DialogOverlay";
|
|
5812
|
-
var DialogContent =
|
|
5815
|
+
var DialogContent = React39__namespace.forwardRef((_a, ref) => {
|
|
5813
5816
|
var _b = _a, { className, children, hideCloseButton = false } = _b, props = __objRest(_b, ["className", "children", "hideCloseButton"]);
|
|
5814
5817
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5815
5818
|
RadixDialog__namespace.Content,
|
|
@@ -5849,7 +5852,7 @@ var DialogContent = React38__namespace.forwardRef((_a, ref) => {
|
|
|
5849
5852
|
);
|
|
5850
5853
|
});
|
|
5851
5854
|
DialogContent.displayName = "DialogContent";
|
|
5852
|
-
var DialogIcon =
|
|
5855
|
+
var DialogIcon = React39__namespace.forwardRef((_a, ref) => {
|
|
5853
5856
|
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
5854
5857
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5855
5858
|
"div",
|
|
@@ -5872,7 +5875,7 @@ var DialogHeader = (_a) => {
|
|
|
5872
5875
|
return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadValues({ className: cn("flex flex-col gap-2 mb-4", className) }, props));
|
|
5873
5876
|
};
|
|
5874
5877
|
DialogHeader.displayName = "DialogHeader";
|
|
5875
|
-
var DialogTitle =
|
|
5878
|
+
var DialogTitle = React39__namespace.forwardRef((_a, ref) => {
|
|
5876
5879
|
var _b = _a, { className, asChild } = _b, props = __objRest(_b, ["className", "asChild"]);
|
|
5877
5880
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5878
5881
|
RadixDialog__namespace.Title,
|
|
@@ -5887,7 +5890,7 @@ var DialogTitle = React38__namespace.forwardRef((_a, ref) => {
|
|
|
5887
5890
|
);
|
|
5888
5891
|
});
|
|
5889
5892
|
DialogTitle.displayName = "DialogTitle";
|
|
5890
|
-
var DialogDescription =
|
|
5893
|
+
var DialogDescription = React39__namespace.forwardRef((_a, ref) => {
|
|
5891
5894
|
var _b = _a, { className, asChild } = _b, props = __objRest(_b, ["className", "asChild"]);
|
|
5892
5895
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5893
5896
|
RadixDialog__namespace.Description,
|
|
@@ -5899,7 +5902,7 @@ var DialogDescription = React38__namespace.forwardRef((_a, ref) => {
|
|
|
5899
5902
|
);
|
|
5900
5903
|
});
|
|
5901
5904
|
DialogDescription.displayName = "DialogDescription";
|
|
5902
|
-
var DialogBody =
|
|
5905
|
+
var DialogBody = React39__namespace.forwardRef((_a, ref) => {
|
|
5903
5906
|
var _b = _a, { className, children, dir } = _b, props = __objRest(_b, ["className", "children", "dir"]);
|
|
5904
5907
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5905
5908
|
ScrollArea,
|
|
@@ -5930,7 +5933,7 @@ var DialogFooter = (_a) => {
|
|
|
5930
5933
|
};
|
|
5931
5934
|
DialogFooter.displayName = "DialogFooter";
|
|
5932
5935
|
var DialogClose = RadixDialog__namespace.Close;
|
|
5933
|
-
var DialogFullScreenContent =
|
|
5936
|
+
var DialogFullScreenContent = React39__namespace.forwardRef(
|
|
5934
5937
|
(_a, ref) => {
|
|
5935
5938
|
var _b = _a, {
|
|
5936
5939
|
className,
|
|
@@ -6013,7 +6016,7 @@ function buildWavePath(startX, endX, amplitude = 2, wavelength = 32, yCenter = 4
|
|
|
6013
6016
|
}
|
|
6014
6017
|
return d;
|
|
6015
6018
|
}
|
|
6016
|
-
var DividerImpl =
|
|
6019
|
+
var DividerImpl = React39__namespace.forwardRef(
|
|
6017
6020
|
(_a, ref) => {
|
|
6018
6021
|
var _b = _a, {
|
|
6019
6022
|
variant = "full-bleed",
|
|
@@ -6133,7 +6136,7 @@ var DividerImpl = React38__namespace.forwardRef(
|
|
|
6133
6136
|
}
|
|
6134
6137
|
);
|
|
6135
6138
|
DividerImpl.displayName = "Divider";
|
|
6136
|
-
var Divider =
|
|
6139
|
+
var Divider = React39__namespace.memo(DividerImpl);
|
|
6137
6140
|
var MD3_DRAWER_SPRING = {
|
|
6138
6141
|
type: "spring",
|
|
6139
6142
|
stiffness: 350,
|
|
@@ -6170,7 +6173,7 @@ var DrawerPortal = ({
|
|
|
6170
6173
|
open,
|
|
6171
6174
|
children
|
|
6172
6175
|
}) => /* @__PURE__ */ jsxRuntime.jsx(RadixDialog__namespace.Portal, { forceMount: true, children: /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { mode: "wait", children: open && children }) });
|
|
6173
|
-
var DrawerOverlay =
|
|
6176
|
+
var DrawerOverlay = React39__namespace.forwardRef((_a, ref) => {
|
|
6174
6177
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6175
6178
|
return /* @__PURE__ */ jsxRuntime.jsx(RadixDialog__namespace.Overlay, __spreadProps(__spreadValues({ ref, asChild: true }, props), { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6176
6179
|
react.m.div,
|
|
@@ -6181,7 +6184,7 @@ var DrawerOverlay = React38__namespace.forwardRef((_a, ref) => {
|
|
|
6181
6184
|
) }));
|
|
6182
6185
|
});
|
|
6183
6186
|
DrawerOverlay.displayName = "DrawerOverlay";
|
|
6184
|
-
var DrawerContent =
|
|
6187
|
+
var DrawerContent = React39__namespace.forwardRef(
|
|
6185
6188
|
(_a, ref) => {
|
|
6186
6189
|
var _b = _a, {
|
|
6187
6190
|
className,
|
|
@@ -6260,7 +6263,7 @@ var DrawerFooter = (_a) => {
|
|
|
6260
6263
|
return /* @__PURE__ */ jsxRuntime.jsx("div", __spreadValues({ className: cn("flex flex-col gap-2 mt-4", className) }, props));
|
|
6261
6264
|
};
|
|
6262
6265
|
DrawerFooter.displayName = "DrawerFooter";
|
|
6263
|
-
var DrawerTitle =
|
|
6266
|
+
var DrawerTitle = React39__namespace.forwardRef((_a, ref) => {
|
|
6264
6267
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6265
6268
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6266
6269
|
RadixDialog__namespace.Title,
|
|
@@ -6274,7 +6277,7 @@ var DrawerTitle = React38__namespace.forwardRef((_a, ref) => {
|
|
|
6274
6277
|
);
|
|
6275
6278
|
});
|
|
6276
6279
|
DrawerTitle.displayName = "DrawerTitle";
|
|
6277
|
-
var DrawerDescription =
|
|
6280
|
+
var DrawerDescription = React39__namespace.forwardRef((_a, ref) => {
|
|
6278
6281
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6279
6282
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6280
6283
|
RadixDialog__namespace.Description,
|
|
@@ -6355,7 +6358,7 @@ function FABPosition({
|
|
|
6355
6358
|
}
|
|
6356
6359
|
);
|
|
6357
6360
|
}
|
|
6358
|
-
var FABComponent =
|
|
6361
|
+
var FABComponent = React39__namespace.forwardRef(
|
|
6359
6362
|
(_a, ref) => {
|
|
6360
6363
|
var _b = _a, {
|
|
6361
6364
|
className,
|
|
@@ -6400,7 +6403,7 @@ var FABComponent = React38__namespace.forwardRef(
|
|
|
6400
6403
|
const { ripples, onPointerDown, removeRipple } = useRippleState({
|
|
6401
6404
|
disabled: loading
|
|
6402
6405
|
});
|
|
6403
|
-
const handleClick =
|
|
6406
|
+
const handleClick = React39__namespace.useCallback(
|
|
6404
6407
|
(e) => {
|
|
6405
6408
|
if (loading) {
|
|
6406
6409
|
e.preventDefault();
|
|
@@ -6410,7 +6413,7 @@ var FABComponent = React38__namespace.forwardRef(
|
|
|
6410
6413
|
},
|
|
6411
6414
|
[loading, onClick]
|
|
6412
6415
|
);
|
|
6413
|
-
const handleKeyDown =
|
|
6416
|
+
const handleKeyDown = React39__namespace.useCallback(
|
|
6414
6417
|
(e) => {
|
|
6415
6418
|
if (loading) return;
|
|
6416
6419
|
if ((e.key === "Enter" || e.key === " ") && onClick) {
|
|
@@ -6519,7 +6522,7 @@ var FABComponent = React38__namespace.forwardRef(
|
|
|
6519
6522
|
}
|
|
6520
6523
|
);
|
|
6521
6524
|
FABComponent.displayName = "FAB";
|
|
6522
|
-
var FAB =
|
|
6525
|
+
var FAB = React39__namespace.memo(FABComponent);
|
|
6523
6526
|
var SPRING_NORMAL = { stiffness: 700, damping: 40 };
|
|
6524
6527
|
var SPRING_REDUCED = { stiffness: 1e4, damping: 100 };
|
|
6525
6528
|
var FOCUS_DELAY_MS = 50;
|
|
@@ -6627,7 +6630,7 @@ function CloseIcon3() {
|
|
|
6627
6630
|
function defaultFabIcon(progress) {
|
|
6628
6631
|
return progress > 0.5 ? /* @__PURE__ */ jsxRuntime.jsx(CloseIcon3, {}) : /* @__PURE__ */ jsxRuntime.jsx(AddIcon, {});
|
|
6629
6632
|
}
|
|
6630
|
-
var ToggleFABComponent =
|
|
6633
|
+
var ToggleFABComponent = React39__namespace.forwardRef(
|
|
6631
6634
|
({
|
|
6632
6635
|
expanded,
|
|
6633
6636
|
onToggle,
|
|
@@ -6645,7 +6648,7 @@ var ToggleFABComponent = React38__namespace.forwardRef(
|
|
|
6645
6648
|
const sizeTokens = (_b = TOGGLE_FAB_SIZES[fabSize]) != null ? _b : TOGGLE_FAB_SIZES.baseline;
|
|
6646
6649
|
const springConfig = prefersReduced ? SPRING_REDUCED : SPRING_NORMAL;
|
|
6647
6650
|
const checkedProgress = react.useSpring(expanded ? 1 : 0, springConfig);
|
|
6648
|
-
|
|
6651
|
+
React39__namespace.useEffect(() => {
|
|
6649
6652
|
checkedProgress.set(expanded ? 1 : 0);
|
|
6650
6653
|
}, [expanded, checkedProgress]);
|
|
6651
6654
|
const borderRadius = react.useTransform(
|
|
@@ -6653,12 +6656,12 @@ var ToggleFABComponent = React38__namespace.forwardRef(
|
|
|
6653
6656
|
[0, 1],
|
|
6654
6657
|
[`${sizeTokens.initialRadius}px`, `${sizeTokens.finalRadius}px`]
|
|
6655
6658
|
);
|
|
6656
|
-
const [iconProgress, setIconProgress] =
|
|
6657
|
-
|
|
6659
|
+
const [iconProgress, setIconProgress] = React39__namespace.useState(expanded ? 1 : 0);
|
|
6660
|
+
React39__namespace.useEffect(() => {
|
|
6658
6661
|
return checkedProgress.on("change", setIconProgress);
|
|
6659
6662
|
}, [checkedProgress]);
|
|
6660
6663
|
const { ripples, onPointerDown, removeRipple } = useRippleState();
|
|
6661
|
-
const handleClick =
|
|
6664
|
+
const handleClick = React39__namespace.useCallback(() => {
|
|
6662
6665
|
onToggle(!expanded);
|
|
6663
6666
|
}, [expanded, onToggle]);
|
|
6664
6667
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -6707,7 +6710,7 @@ var ToggleFABComponent = React38__namespace.forwardRef(
|
|
|
6707
6710
|
}
|
|
6708
6711
|
);
|
|
6709
6712
|
ToggleFABComponent.displayName = "ToggleFAB";
|
|
6710
|
-
var ToggleFAB =
|
|
6713
|
+
var ToggleFAB = React39__namespace.memo(ToggleFABComponent);
|
|
6711
6714
|
function FABMenuItem({
|
|
6712
6715
|
icon,
|
|
6713
6716
|
label,
|
|
@@ -6720,7 +6723,7 @@ function FABMenuItem({
|
|
|
6720
6723
|
var _a;
|
|
6721
6724
|
const colors = (_a = MENU_ITEM_COLORS[colorVariant]) != null ? _a : MENU_ITEM_COLORS.primary;
|
|
6722
6725
|
const { ripples, onPointerDown, removeRipple } = useRippleState({ disabled });
|
|
6723
|
-
const handleClick =
|
|
6726
|
+
const handleClick = React39__namespace.useCallback(
|
|
6724
6727
|
(e) => {
|
|
6725
6728
|
if (disabled) {
|
|
6726
6729
|
e.preventDefault();
|
|
@@ -6730,7 +6733,7 @@ function FABMenuItem({
|
|
|
6730
6733
|
},
|
|
6731
6734
|
[disabled, onClick]
|
|
6732
6735
|
);
|
|
6733
|
-
const handleKeyDown =
|
|
6736
|
+
const handleKeyDown = React39__namespace.useCallback(
|
|
6734
6737
|
(e) => {
|
|
6735
6738
|
if (disabled) return;
|
|
6736
6739
|
if (e.key === "Enter" || e.key === " ") {
|
|
@@ -6797,13 +6800,13 @@ function FABMenu({
|
|
|
6797
6800
|
focusLast = true,
|
|
6798
6801
|
"aria-label": ariaLabel
|
|
6799
6802
|
}) {
|
|
6800
|
-
const fabId =
|
|
6801
|
-
const menuId =
|
|
6802
|
-
const toggleRef =
|
|
6803
|
-
const itemRefs =
|
|
6804
|
-
const [focusedIndex, setFocusedIndex] =
|
|
6805
|
-
const reversedItems =
|
|
6806
|
-
const focusItem =
|
|
6803
|
+
const fabId = React39__namespace.useId();
|
|
6804
|
+
const menuId = React39__namespace.useId();
|
|
6805
|
+
const toggleRef = React39__namespace.useRef(null);
|
|
6806
|
+
const itemRefs = React39__namespace.useRef([]);
|
|
6807
|
+
const [focusedIndex, setFocusedIndex] = React39__namespace.useState(-1);
|
|
6808
|
+
const reversedItems = React39__namespace.useMemo(() => [...items].reverse(), [items]);
|
|
6809
|
+
const focusItem = React39__namespace.useCallback((index) => {
|
|
6807
6810
|
var _a;
|
|
6808
6811
|
const clampedIndex = Math.max(
|
|
6809
6812
|
0,
|
|
@@ -6812,8 +6815,8 @@ function FABMenu({
|
|
|
6812
6815
|
setFocusedIndex(clampedIndex);
|
|
6813
6816
|
(_a = itemRefs.current[clampedIndex]) == null ? void 0 : _a.focus();
|
|
6814
6817
|
}, []);
|
|
6815
|
-
const wasExpandedRef =
|
|
6816
|
-
|
|
6818
|
+
const wasExpandedRef = React39__namespace.useRef(false);
|
|
6819
|
+
React39__namespace.useEffect(() => {
|
|
6817
6820
|
var _a;
|
|
6818
6821
|
if (expanded) {
|
|
6819
6822
|
wasExpandedRef.current = true;
|
|
@@ -6828,7 +6831,7 @@ function FABMenu({
|
|
|
6828
6831
|
wasExpandedRef.current = false;
|
|
6829
6832
|
setFocusedIndex(-1);
|
|
6830
6833
|
}, [expanded, focusLast, items.length, focusItem]);
|
|
6831
|
-
const handleMenuKeyDown =
|
|
6834
|
+
const handleMenuKeyDown = React39__namespace.useCallback(
|
|
6832
6835
|
(e) => {
|
|
6833
6836
|
if (!expanded) return;
|
|
6834
6837
|
const lastIndex = items.length - 1;
|
|
@@ -6952,7 +6955,296 @@ function FABMenu({
|
|
|
6952
6955
|
)
|
|
6953
6956
|
] });
|
|
6954
6957
|
}
|
|
6955
|
-
var
|
|
6958
|
+
var NavigationBarContext = React39__namespace.createContext({ variant: "flexible" });
|
|
6959
|
+
function cloneIconWithFill(icon, selected) {
|
|
6960
|
+
if (!React39__namespace.isValidElement(icon)) return icon;
|
|
6961
|
+
if (icon.type === Icon) {
|
|
6962
|
+
return React39__namespace.cloneElement(
|
|
6963
|
+
icon,
|
|
6964
|
+
{ fill: selected ? 1 : 0, animateFill: true }
|
|
6965
|
+
);
|
|
6966
|
+
}
|
|
6967
|
+
return icon;
|
|
6968
|
+
}
|
|
6969
|
+
function ActivePill() {
|
|
6970
|
+
const { activeIndicatorTransition } = React39__namespace.useContext(NavigationBarContext);
|
|
6971
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6972
|
+
react.m.div,
|
|
6973
|
+
{
|
|
6974
|
+
className: "absolute inset-0 bg-m3-secondary-container pointer-events-none",
|
|
6975
|
+
style: {
|
|
6976
|
+
borderRadius: 9999,
|
|
6977
|
+
zIndex: 0
|
|
6978
|
+
},
|
|
6979
|
+
initial: { opacity: 0, scale: 0.5 },
|
|
6980
|
+
animate: { opacity: 1, scale: 1 },
|
|
6981
|
+
exit: { opacity: 0, scale: 0.5 },
|
|
6982
|
+
transition: activeIndicatorTransition || SPRING_TRANSITION_EXPRESSIVE
|
|
6983
|
+
}
|
|
6984
|
+
);
|
|
6985
|
+
}
|
|
6986
|
+
function HoverStateLayer() {
|
|
6987
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 rounded-full bg-m3-on-surface opacity-0 group-hover:opacity-[0.08] group-focus-visible:opacity-[0.10] active:opacity-[0.10] transition-opacity duration-200 pointer-events-none z-0" });
|
|
6988
|
+
}
|
|
6989
|
+
function RippleLayer({ ripples, onRippleDone }) {
|
|
6990
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 rounded-full overflow-hidden pointer-events-none z-0", children: /* @__PURE__ */ jsxRuntime.jsx(Ripple, { ripples, onRippleDone }) });
|
|
6991
|
+
}
|
|
6992
|
+
function IconContainer({ selected, badge, children }) {
|
|
6993
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6994
|
+
"div",
|
|
6995
|
+
{
|
|
6996
|
+
"aria-hidden": "true",
|
|
6997
|
+
className: cn(
|
|
6998
|
+
"relative flex items-center justify-center size-6 transition-colors duration-200 shrink-0",
|
|
6999
|
+
selected ? "text-m3-on-secondary-container" : "text-m3-on-surface-variant"
|
|
7000
|
+
),
|
|
7001
|
+
children: [
|
|
7002
|
+
children,
|
|
7003
|
+
badge && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-1 -right-1 flex min-w-3 h-3 items-center justify-center rounded-full bg-m3-error px-1 text-[10px] font-medium leading-none tracking-normal text-m3-on-error ring-[1.5px] ring-m3-surface", children: badge })
|
|
7004
|
+
]
|
|
7005
|
+
}
|
|
7006
|
+
);
|
|
7007
|
+
}
|
|
7008
|
+
var NavigationBarItemComponent = React39__namespace.forwardRef(
|
|
7009
|
+
({
|
|
7010
|
+
selected,
|
|
7011
|
+
icon,
|
|
7012
|
+
label,
|
|
7013
|
+
onClick,
|
|
7014
|
+
disabled = false,
|
|
7015
|
+
badge,
|
|
7016
|
+
className,
|
|
7017
|
+
"aria-label": ariaLabelProp
|
|
7018
|
+
}, ref) => {
|
|
7019
|
+
const { variant, itemLayout } = React39__namespace.useContext(NavigationBarContext);
|
|
7020
|
+
const isForcedHorizontal = itemLayout === "horizontal";
|
|
7021
|
+
const isResponsiveHorizontal = (variant === "flexible" || variant === "xr") && itemLayout === void 0;
|
|
7022
|
+
const { ripples, onPointerDown, removeRipple } = useRippleState({
|
|
7023
|
+
disabled
|
|
7024
|
+
});
|
|
7025
|
+
const handleClick = React39__namespace.useCallback(
|
|
7026
|
+
(e) => {
|
|
7027
|
+
if (disabled) {
|
|
7028
|
+
e.preventDefault();
|
|
7029
|
+
return;
|
|
7030
|
+
}
|
|
7031
|
+
if (selected) {
|
|
7032
|
+
if (typeof window !== "undefined" && window.scrollY > 0) {
|
|
7033
|
+
window.scrollTo({ top: 0, behavior: "smooth" });
|
|
7034
|
+
}
|
|
7035
|
+
return;
|
|
7036
|
+
}
|
|
7037
|
+
onClick == null ? void 0 : onClick();
|
|
7038
|
+
},
|
|
7039
|
+
[disabled, selected, onClick]
|
|
7040
|
+
);
|
|
7041
|
+
const filledIcon = cloneIconWithFill(icon, selected);
|
|
7042
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7043
|
+
react.m.button,
|
|
7044
|
+
{
|
|
7045
|
+
ref,
|
|
7046
|
+
type: "button",
|
|
7047
|
+
role: "menuitem",
|
|
7048
|
+
"aria-current": selected ? "page" : void 0,
|
|
7049
|
+
"aria-disabled": disabled ? true : void 0,
|
|
7050
|
+
"aria-label": ariaLabelProp || (typeof label === "string" ? label : void 0),
|
|
7051
|
+
onClick: handleClick,
|
|
7052
|
+
onPointerDown,
|
|
7053
|
+
className: cn(
|
|
7054
|
+
"group relative flex flex-1 cursor-pointer transition-colors duration-200 outline-none select-none h-full",
|
|
7055
|
+
variant === "xr" ? "items-center justify-center max-[599px]:min-w-28 max-[599px]:max-w-28 max-[599px]:items-start max-[599px]:pt-3 max-[599px]:pb-4" : "items-center justify-center",
|
|
7056
|
+
disabled && "pointer-events-none opacity-[0.38]",
|
|
7057
|
+
className
|
|
7058
|
+
),
|
|
7059
|
+
children: [
|
|
7060
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7061
|
+
"div",
|
|
7062
|
+
{
|
|
7063
|
+
className: cn(
|
|
7064
|
+
"relative flex items-center justify-center flex-col gap-y-1 w-full",
|
|
7065
|
+
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]:rounded-full min-[600px]:w-auto min-[600px]:max-w-42",
|
|
7066
|
+
isForcedHorizontal && "flex-row gap-y-0 gap-x-1 h-10 px-4 rounded-full w-auto max-w-42"
|
|
7067
|
+
),
|
|
7068
|
+
children: [
|
|
7069
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7070
|
+
"div",
|
|
7071
|
+
{
|
|
7072
|
+
className: cn(
|
|
7073
|
+
"absolute inset-0 z-0 hidden",
|
|
7074
|
+
isResponsiveHorizontal && "min-[600px]:block",
|
|
7075
|
+
isForcedHorizontal && "block!"
|
|
7076
|
+
),
|
|
7077
|
+
children: [
|
|
7078
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: selected && /* @__PURE__ */ jsxRuntime.jsx(ActivePill, {}) }),
|
|
7079
|
+
/* @__PURE__ */ jsxRuntime.jsx(HoverStateLayer, {}),
|
|
7080
|
+
/* @__PURE__ */ jsxRuntime.jsx(RippleLayer, { ripples, onRippleDone: removeRipple })
|
|
7081
|
+
]
|
|
7082
|
+
}
|
|
7083
|
+
),
|
|
7084
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7085
|
+
"div",
|
|
7086
|
+
{
|
|
7087
|
+
className: cn(
|
|
7088
|
+
"relative flex items-center justify-center shrink-0 z-10",
|
|
7089
|
+
"h-8 w-16 mx-auto rounded-full",
|
|
7090
|
+
isResponsiveHorizontal && "min-[600px]:size-6 min-[600px]:w-auto min-[600px]:h-auto",
|
|
7091
|
+
isForcedHorizontal && "size-6 w-auto h-auto"
|
|
7092
|
+
),
|
|
7093
|
+
children: [
|
|
7094
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7095
|
+
"div",
|
|
7096
|
+
{
|
|
7097
|
+
className: cn(
|
|
7098
|
+
"absolute inset-0 z-0",
|
|
7099
|
+
isResponsiveHorizontal && "min-[600px]:hidden",
|
|
7100
|
+
isForcedHorizontal && "hidden"
|
|
7101
|
+
),
|
|
7102
|
+
children: [
|
|
7103
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: selected && /* @__PURE__ */ jsxRuntime.jsx(ActivePill, {}) }),
|
|
7104
|
+
/* @__PURE__ */ jsxRuntime.jsx(HoverStateLayer, {}),
|
|
7105
|
+
/* @__PURE__ */ jsxRuntime.jsx(RippleLayer, { ripples, onRippleDone: removeRipple })
|
|
7106
|
+
]
|
|
7107
|
+
}
|
|
7108
|
+
),
|
|
7109
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10 flex size-6 items-center justify-center text-current", children: /* @__PURE__ */ jsxRuntime.jsx(IconContainer, { selected, badge, children: filledIcon }) })
|
|
7110
|
+
]
|
|
7111
|
+
}
|
|
7112
|
+
),
|
|
7113
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { mode: "popLayout", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7114
|
+
"span",
|
|
7115
|
+
{
|
|
7116
|
+
className: cn(
|
|
7117
|
+
"z-10 transition-all duration-200 truncate px-1",
|
|
7118
|
+
selected ? "text-m3-on-surface" : "text-m3-on-surface-variant",
|
|
7119
|
+
"font-medium text-[12px] leading-4 tracking-[0.5px]"
|
|
7120
|
+
),
|
|
7121
|
+
children: label
|
|
7122
|
+
},
|
|
7123
|
+
"nav-label"
|
|
7124
|
+
) })
|
|
7125
|
+
]
|
|
7126
|
+
}
|
|
7127
|
+
),
|
|
7128
|
+
/* @__PURE__ */ jsxRuntime.jsx(TouchTarget, {})
|
|
7129
|
+
]
|
|
7130
|
+
}
|
|
7131
|
+
);
|
|
7132
|
+
}
|
|
7133
|
+
);
|
|
7134
|
+
NavigationBarItemComponent.displayName = "NavigationBarItem";
|
|
7135
|
+
var NavigationBarItem = React39__namespace.memo(NavigationBarItemComponent);
|
|
7136
|
+
var navContainerVariants = classVarianceAuthority.cva(
|
|
7137
|
+
"flex items-center justify-center select-none transition-transform duration-300 z-50",
|
|
7138
|
+
{
|
|
7139
|
+
variants: {
|
|
7140
|
+
variant: {
|
|
7141
|
+
flexible: "bottom-0 left-0 right-0 w-full h-16 pb-safe",
|
|
7142
|
+
baseline: "bottom-0 left-0 right-0 w-full h-20 pb-safe",
|
|
7143
|
+
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"
|
|
7144
|
+
},
|
|
7145
|
+
position: {
|
|
7146
|
+
fixed: "fixed",
|
|
7147
|
+
absolute: "absolute"
|
|
7148
|
+
},
|
|
7149
|
+
elevated: {
|
|
7150
|
+
true: "shadow-[0_-1px_3px_rgba(0,0,0,0.1)]",
|
|
7151
|
+
false: "shadow-none"
|
|
7152
|
+
}
|
|
7153
|
+
},
|
|
7154
|
+
defaultVariants: {
|
|
7155
|
+
variant: "flexible",
|
|
7156
|
+
position: "fixed",
|
|
7157
|
+
elevated: false
|
|
7158
|
+
}
|
|
7159
|
+
}
|
|
7160
|
+
);
|
|
7161
|
+
var NavigationBarComponent = React39__namespace.forwardRef(
|
|
7162
|
+
({
|
|
7163
|
+
variant = "flexible",
|
|
7164
|
+
itemLayout,
|
|
7165
|
+
hideOnScroll = false,
|
|
7166
|
+
elevated = false,
|
|
7167
|
+
fixed = true,
|
|
7168
|
+
scrollContainerRef,
|
|
7169
|
+
activeIndicatorTransition,
|
|
7170
|
+
children,
|
|
7171
|
+
className,
|
|
7172
|
+
style
|
|
7173
|
+
}, ref) => {
|
|
7174
|
+
const [isVisible, setIsVisible] = React39__namespace.useState(true);
|
|
7175
|
+
const lastScrollY = React39__namespace.useRef(
|
|
7176
|
+
typeof window !== "undefined" ? window.scrollY : 0
|
|
7177
|
+
);
|
|
7178
|
+
React39__namespace.useEffect(() => {
|
|
7179
|
+
if (typeof window === "undefined" || !hideOnScroll) {
|
|
7180
|
+
setIsVisible(true);
|
|
7181
|
+
return;
|
|
7182
|
+
}
|
|
7183
|
+
const prefersReducedMotion = window.matchMedia(
|
|
7184
|
+
"(prefers-reduced-motion: reduce)"
|
|
7185
|
+
).matches;
|
|
7186
|
+
if (prefersReducedMotion) {
|
|
7187
|
+
setIsVisible(true);
|
|
7188
|
+
return;
|
|
7189
|
+
}
|
|
7190
|
+
let ticking = false;
|
|
7191
|
+
const handleScroll = () => {
|
|
7192
|
+
if (ticking) return;
|
|
7193
|
+
ticking = true;
|
|
7194
|
+
window.requestAnimationFrame(() => {
|
|
7195
|
+
const currentScrollY = (scrollContainerRef == null ? void 0 : scrollContainerRef.current) ? scrollContainerRef.current.scrollTop : window.scrollY;
|
|
7196
|
+
if (currentScrollY <= 0 || currentScrollY < lastScrollY.current) {
|
|
7197
|
+
setIsVisible(true);
|
|
7198
|
+
} else if (currentScrollY > lastScrollY.current) {
|
|
7199
|
+
setIsVisible(false);
|
|
7200
|
+
}
|
|
7201
|
+
lastScrollY.current = currentScrollY;
|
|
7202
|
+
ticking = false;
|
|
7203
|
+
});
|
|
7204
|
+
};
|
|
7205
|
+
const target = (scrollContainerRef == null ? void 0 : scrollContainerRef.current) || window;
|
|
7206
|
+
target.addEventListener("scroll", handleScroll, { passive: true });
|
|
7207
|
+
return () => target.removeEventListener("scroll", handleScroll);
|
|
7208
|
+
}, [hideOnScroll, scrollContainerRef]);
|
|
7209
|
+
const navBaseClasses = cn(
|
|
7210
|
+
navContainerVariants({
|
|
7211
|
+
variant,
|
|
7212
|
+
elevated,
|
|
7213
|
+
position: fixed ? "fixed" : "absolute"
|
|
7214
|
+
}),
|
|
7215
|
+
variant === "xr" ? "bg-m3-surface border border-white/5 shadow-xl" : "bg-m3-surface-container",
|
|
7216
|
+
className
|
|
7217
|
+
);
|
|
7218
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.LazyMotion, { features: react.domMax, strict: true, children: /* @__PURE__ */ jsxRuntime.jsx(NavigationBarContext.Provider, { value: { variant, itemLayout, activeIndicatorTransition }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7219
|
+
react.m.nav,
|
|
7220
|
+
{
|
|
7221
|
+
ref,
|
|
7222
|
+
role: "navigation",
|
|
7223
|
+
"aria-label": "Main navigation",
|
|
7224
|
+
className: navBaseClasses,
|
|
7225
|
+
style,
|
|
7226
|
+
initial: false,
|
|
7227
|
+
animate: { y: isVisible ? "0%" : "100%" },
|
|
7228
|
+
transition: { type: "tween", duration: 0.3, ease: "easeInOut" },
|
|
7229
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7230
|
+
"div",
|
|
7231
|
+
{
|
|
7232
|
+
role: "menubar",
|
|
7233
|
+
"aria-orientation": "horizontal",
|
|
7234
|
+
className: cn(
|
|
7235
|
+
"flex w-full h-full mx-auto",
|
|
7236
|
+
variant === "xr" ? "gap-0 min-[600px]:gap-1.5" : "max-w-7xl gap-1.5"
|
|
7237
|
+
),
|
|
7238
|
+
children
|
|
7239
|
+
}
|
|
7240
|
+
)
|
|
7241
|
+
}
|
|
7242
|
+
) }) });
|
|
7243
|
+
}
|
|
7244
|
+
);
|
|
7245
|
+
NavigationBarComponent.displayName = "NavigationBar";
|
|
7246
|
+
var NavigationBar = React39__namespace.memo(NavigationBarComponent);
|
|
7247
|
+
var NavigationRailContext = React39__namespace.createContext({ variant: "collapsed", labelVisibility: "labeled" });
|
|
6956
7248
|
var MD3_MODAL_TRANSITION = {
|
|
6957
7249
|
type: "tween",
|
|
6958
7250
|
ease: [0.05, 0.7, 0.1, 1],
|
|
@@ -6963,17 +7255,14 @@ var railContainerVariants = classVarianceAuthority.cva(
|
|
|
6963
7255
|
{
|
|
6964
7256
|
variants: {
|
|
6965
7257
|
variant: {
|
|
6966
|
-
collapsed: "items-center",
|
|
6967
|
-
expanded: "items-start",
|
|
6968
|
-
modal: "bg-m3-surface shadow-lg rounded-r-[var(--m3-shape-corner-large)]"
|
|
7258
|
+
collapsed: "items-center h-full pt-11 pb-4 shadow-none bg-m3-surface rounded-none",
|
|
7259
|
+
expanded: "items-start h-full pt-11 pb-4 shadow-none bg-m3-surface rounded-none",
|
|
7260
|
+
modal: "bg-m3-surface shadow-lg rounded-r-[var(--m3-shape-corner-large)] h-full pt-11 pb-4",
|
|
7261
|
+
xr: "h-fit py-5 rounded-[48px] shadow-xl bg-m3-surface border border-white/5"
|
|
6969
7262
|
},
|
|
6970
7263
|
narrow: {
|
|
6971
7264
|
true: "w-20",
|
|
6972
7265
|
false: "w-24"
|
|
6973
|
-
},
|
|
6974
|
-
xr: {
|
|
6975
|
-
true: "h-fit py-5 rounded-[48px] shadow-xl bg-m3-surface border border-white/5",
|
|
6976
|
-
false: "h-full pt-11 pb-4 shadow-none bg-m3-surface rounded-none"
|
|
6977
7266
|
}
|
|
6978
7267
|
},
|
|
6979
7268
|
compoundVariants: [
|
|
@@ -6982,15 +7271,14 @@ var railContainerVariants = classVarianceAuthority.cva(
|
|
|
6982
7271
|
],
|
|
6983
7272
|
defaultVariants: {
|
|
6984
7273
|
variant: "collapsed",
|
|
6985
|
-
narrow: false
|
|
6986
|
-
xr: false
|
|
7274
|
+
narrow: false
|
|
6987
7275
|
}
|
|
6988
7276
|
}
|
|
6989
7277
|
);
|
|
6990
|
-
function
|
|
6991
|
-
if (!
|
|
7278
|
+
function cloneIconWithFill2(icon, selected) {
|
|
7279
|
+
if (!React39__namespace.isValidElement(icon)) return icon;
|
|
6992
7280
|
if (icon.type === Icon) {
|
|
6993
|
-
return
|
|
7281
|
+
return React39__namespace.cloneElement(
|
|
6994
7282
|
icon,
|
|
6995
7283
|
{ fill: selected ? 1 : 0, animateFill: true }
|
|
6996
7284
|
);
|
|
@@ -7012,7 +7300,8 @@ function setFocusedItem(items, index) {
|
|
|
7012
7300
|
target.focus();
|
|
7013
7301
|
}
|
|
7014
7302
|
}
|
|
7015
|
-
function
|
|
7303
|
+
function ActivePill2({ layoutId, disableInitial = false }) {
|
|
7304
|
+
const { activeIndicatorTransition } = React39__namespace.useContext(NavigationRailContext);
|
|
7016
7305
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7017
7306
|
react.m.div,
|
|
7018
7307
|
{
|
|
@@ -7022,17 +7311,17 @@ function ActivePill({ layoutId, disableInitial = false }) {
|
|
|
7022
7311
|
initial: disableInitial ? false : { opacity: 0, scale: 0.5 },
|
|
7023
7312
|
animate: { opacity: 1, scale: 1 },
|
|
7024
7313
|
exit: { opacity: 0, scale: 0.5, transition: { duration: 0.15 } },
|
|
7025
|
-
transition: SPRING_TRANSITION_EXPRESSIVE
|
|
7314
|
+
transition: activeIndicatorTransition || SPRING_TRANSITION_EXPRESSIVE
|
|
7026
7315
|
}
|
|
7027
7316
|
);
|
|
7028
7317
|
}
|
|
7029
|
-
function
|
|
7318
|
+
function HoverStateLayer2() {
|
|
7030
7319
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 rounded-full bg-m3-on-surface opacity-0 group-hover:opacity-[0.08] transition-opacity duration-200 pointer-events-none z-0" });
|
|
7031
7320
|
}
|
|
7032
|
-
function
|
|
7321
|
+
function RippleLayer2({ ripples, onRippleDone }) {
|
|
7033
7322
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 rounded-full overflow-hidden pointer-events-none z-0", children: /* @__PURE__ */ jsxRuntime.jsx(Ripple, { ripples, onRippleDone }) });
|
|
7034
7323
|
}
|
|
7035
|
-
function
|
|
7324
|
+
function IconContainer2({ selected, badge, children }) {
|
|
7036
7325
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7037
7326
|
"div",
|
|
7038
7327
|
{
|
|
@@ -7048,7 +7337,7 @@ function IconContainer({ selected, badge, children }) {
|
|
|
7048
7337
|
}
|
|
7049
7338
|
);
|
|
7050
7339
|
}
|
|
7051
|
-
var NavigationRailItemComponent =
|
|
7340
|
+
var NavigationRailItemComponent = React39__namespace.forwardRef(
|
|
7052
7341
|
({
|
|
7053
7342
|
selected,
|
|
7054
7343
|
icon,
|
|
@@ -7059,18 +7348,18 @@ var NavigationRailItemComponent = React38__namespace.forwardRef(
|
|
|
7059
7348
|
className,
|
|
7060
7349
|
"aria-label": ariaLabelProp
|
|
7061
7350
|
}, ref) => {
|
|
7062
|
-
const { variant, labelVisibility } =
|
|
7351
|
+
const { variant, labelVisibility } = React39__namespace.useContext(
|
|
7063
7352
|
NavigationRailContext
|
|
7064
7353
|
);
|
|
7065
7354
|
const isExpanded = variant === "expanded" || variant === "modal";
|
|
7066
7355
|
const isModal = variant === "modal";
|
|
7067
7356
|
const enableLayout = !isModal;
|
|
7068
|
-
const activePillId = `rail-pill-${
|
|
7357
|
+
const activePillId = `rail-pill-${React39__namespace.useId()}`;
|
|
7069
7358
|
const { ripples, onPointerDown, removeRipple } = useRippleState({
|
|
7070
7359
|
disabled
|
|
7071
7360
|
});
|
|
7072
7361
|
const showLabel = isExpanded || labelVisibility === "labeled" || labelVisibility === "auto" && selected;
|
|
7073
|
-
const handleClick =
|
|
7362
|
+
const handleClick = React39__namespace.useCallback(
|
|
7074
7363
|
(e) => {
|
|
7075
7364
|
if (disabled) {
|
|
7076
7365
|
e.preventDefault();
|
|
@@ -7080,7 +7369,7 @@ var NavigationRailItemComponent = React38__namespace.forwardRef(
|
|
|
7080
7369
|
},
|
|
7081
7370
|
[disabled, onClick]
|
|
7082
7371
|
);
|
|
7083
|
-
const filledIcon =
|
|
7372
|
+
const filledIcon = cloneIconWithFill2(icon, selected);
|
|
7084
7373
|
const labelInitial = isModal ? false : { opacity: 0, x: isExpanded ? -12 : 0, y: isExpanded ? 0 : -8 };
|
|
7085
7374
|
return /* @__PURE__ */ jsxRuntime.jsx(react.LazyMotion, { features: react.domMax, strict: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7086
7375
|
react.m.button,
|
|
@@ -7113,14 +7402,14 @@ var NavigationRailItemComponent = React38__namespace.forwardRef(
|
|
|
7113
7402
|
),
|
|
7114
7403
|
children: [
|
|
7115
7404
|
isExpanded && /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: selected && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7116
|
-
|
|
7405
|
+
ActivePill2,
|
|
7117
7406
|
{
|
|
7118
7407
|
layoutId: activePillId,
|
|
7119
7408
|
disableInitial: isModal
|
|
7120
7409
|
}
|
|
7121
7410
|
) }),
|
|
7122
|
-
isExpanded && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7123
|
-
isExpanded && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7411
|
+
isExpanded && /* @__PURE__ */ jsxRuntime.jsx(HoverStateLayer2, {}),
|
|
7412
|
+
isExpanded && /* @__PURE__ */ jsxRuntime.jsx(RippleLayer2, { ripples, onRippleDone: removeRipple }),
|
|
7124
7413
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
7125
7414
|
react.m.div,
|
|
7126
7415
|
{
|
|
@@ -7131,15 +7420,15 @@ var NavigationRailItemComponent = React38__namespace.forwardRef(
|
|
|
7131
7420
|
),
|
|
7132
7421
|
style: { borderRadius: 9999 },
|
|
7133
7422
|
children: [
|
|
7134
|
-
!isExpanded && /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: selected && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7135
|
-
!isExpanded && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7136
|
-
!isExpanded && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7423
|
+
!isExpanded && /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: selected && /* @__PURE__ */ jsxRuntime.jsx(ActivePill2, { layoutId: activePillId }) }),
|
|
7424
|
+
!isExpanded && /* @__PURE__ */ jsxRuntime.jsx(HoverStateLayer2, {}),
|
|
7425
|
+
!isExpanded && /* @__PURE__ */ jsxRuntime.jsx(RippleLayer2, { ripples, onRippleDone: removeRipple }),
|
|
7137
7426
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7138
7427
|
react.m.div,
|
|
7139
7428
|
{
|
|
7140
7429
|
layout: enableLayout ? "position" : false,
|
|
7141
7430
|
className: "relative z-10 flex size-6 items-center justify-center text-current",
|
|
7142
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7431
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(IconContainer2, { selected, badge, children: filledIcon })
|
|
7143
7432
|
}
|
|
7144
7433
|
)
|
|
7145
7434
|
]
|
|
@@ -7172,9 +7461,9 @@ var NavigationRailItemComponent = React38__namespace.forwardRef(
|
|
|
7172
7461
|
}
|
|
7173
7462
|
);
|
|
7174
7463
|
NavigationRailItemComponent.displayName = "NavigationRailItem";
|
|
7175
|
-
var NavigationRailItem =
|
|
7464
|
+
var NavigationRailItem = React39__namespace.memo(NavigationRailItemComponent);
|
|
7176
7465
|
function useRoving(navRef) {
|
|
7177
|
-
|
|
7466
|
+
React39__namespace.useEffect(() => {
|
|
7178
7467
|
if (!navRef.current) return;
|
|
7179
7468
|
const items = getMenuItems(navRef.current);
|
|
7180
7469
|
const selected = items.find(
|
|
@@ -7184,7 +7473,7 @@ function useRoving(navRef) {
|
|
|
7184
7473
|
const firstFocusable = selected != null ? selected : items[0];
|
|
7185
7474
|
if (firstFocusable) firstFocusable.tabIndex = 0;
|
|
7186
7475
|
}, [navRef]);
|
|
7187
|
-
return
|
|
7476
|
+
return React39__namespace.useCallback(
|
|
7188
7477
|
(e) => {
|
|
7189
7478
|
if (!navRef.current) return;
|
|
7190
7479
|
const items = getMenuItems(navRef.current);
|
|
@@ -7212,29 +7501,29 @@ function useRoving(navRef) {
|
|
|
7212
7501
|
[navRef]
|
|
7213
7502
|
);
|
|
7214
7503
|
}
|
|
7215
|
-
var NavigationRailComponent =
|
|
7504
|
+
var NavigationRailComponent = React39__namespace.forwardRef(
|
|
7216
7505
|
({
|
|
7217
7506
|
variant = "collapsed",
|
|
7218
7507
|
labelVisibility = "labeled",
|
|
7219
7508
|
header,
|
|
7220
7509
|
fab,
|
|
7510
|
+
fabPlacement = "contained",
|
|
7221
7511
|
footer,
|
|
7222
7512
|
narrow = false,
|
|
7223
7513
|
open = false,
|
|
7224
|
-
xr = false,
|
|
7225
7514
|
onClose,
|
|
7515
|
+
activeIndicatorTransition,
|
|
7226
7516
|
children,
|
|
7227
7517
|
className,
|
|
7228
7518
|
style
|
|
7229
7519
|
}, ref) => {
|
|
7230
7520
|
const isModal = variant === "modal";
|
|
7231
|
-
const isXr =
|
|
7232
|
-
const
|
|
7233
|
-
const isSpatial = isXr && xrMode === "spatialized";
|
|
7521
|
+
const isXr = variant === "xr";
|
|
7522
|
+
const isSpatial = isXr && fabPlacement === "spatialized";
|
|
7234
7523
|
const applyAnimation = !isXr || !isSpatial;
|
|
7235
|
-
const navRef =
|
|
7524
|
+
const navRef = React39__namespace.useRef(null);
|
|
7236
7525
|
const handleKeyDown = useRoving(navRef);
|
|
7237
|
-
const setRefs =
|
|
7526
|
+
const setRefs = React39__namespace.useCallback(
|
|
7238
7527
|
(node) => {
|
|
7239
7528
|
navRef.current = node;
|
|
7240
7529
|
if (typeof ref === "function") ref(node);
|
|
@@ -7243,12 +7532,12 @@ var NavigationRailComponent = React38__namespace.forwardRef(
|
|
|
7243
7532
|
[ref]
|
|
7244
7533
|
);
|
|
7245
7534
|
const navBaseClasses = cn(
|
|
7246
|
-
railContainerVariants({ variant, narrow
|
|
7535
|
+
railContainerVariants({ variant, narrow })
|
|
7247
7536
|
);
|
|
7248
7537
|
const modalPositioning = isModal ? "fixed left-0 top-0 z-[100]" : "";
|
|
7249
7538
|
const navHeaderSpacing = (() => {
|
|
7250
7539
|
if (!isXr) return "mb-6 min-h-10";
|
|
7251
|
-
if (
|
|
7540
|
+
if (fabPlacement === "contained") return fab ? "mb-10" : "mb-5";
|
|
7252
7541
|
return "mb-5";
|
|
7253
7542
|
})();
|
|
7254
7543
|
const navElement = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -7327,7 +7616,7 @@ var NavigationRailComponent = React38__namespace.forwardRef(
|
|
|
7327
7616
|
children: fab
|
|
7328
7617
|
}
|
|
7329
7618
|
),
|
|
7330
|
-
|
|
7619
|
+
React39__namespace.cloneElement(
|
|
7331
7620
|
navElement,
|
|
7332
7621
|
{
|
|
7333
7622
|
className: cn(navBaseClasses, "pointer-events-auto")
|
|
@@ -7338,7 +7627,7 @@ var NavigationRailComponent = React38__namespace.forwardRef(
|
|
|
7338
7627
|
"md3-nav-wrapper"
|
|
7339
7628
|
);
|
|
7340
7629
|
const finalNavElement = isSpatial ? spatialWrapper : navElement;
|
|
7341
|
-
const contextValue = { variant, labelVisibility,
|
|
7630
|
+
const contextValue = { variant, labelVisibility, activeIndicatorTransition };
|
|
7342
7631
|
if (isModal) {
|
|
7343
7632
|
if (typeof document === "undefined") return null;
|
|
7344
7633
|
return reactDom.createPortal(
|
|
@@ -7365,13 +7654,13 @@ var NavigationRailComponent = React38__namespace.forwardRef(
|
|
|
7365
7654
|
}
|
|
7366
7655
|
);
|
|
7367
7656
|
NavigationRailComponent.displayName = "NavigationRail";
|
|
7368
|
-
var NavigationRail =
|
|
7657
|
+
var NavigationRail = React39__namespace.memo(NavigationRailComponent);
|
|
7369
7658
|
var MD3_FAST_EFFECTS2 = [0.3, 0, 1, 1];
|
|
7370
|
-
var RadioGroupContext =
|
|
7659
|
+
var RadioGroupContext = React39__namespace.createContext(
|
|
7371
7660
|
null
|
|
7372
7661
|
);
|
|
7373
7662
|
function useMergedRef3(externalRef, internalRef) {
|
|
7374
|
-
return
|
|
7663
|
+
return React39__namespace.useCallback(
|
|
7375
7664
|
(node) => {
|
|
7376
7665
|
internalRef.current = node;
|
|
7377
7666
|
if (!externalRef) return;
|
|
@@ -7384,7 +7673,7 @@ function useMergedRef3(externalRef, internalRef) {
|
|
|
7384
7673
|
[externalRef, internalRef]
|
|
7385
7674
|
);
|
|
7386
7675
|
}
|
|
7387
|
-
var RadioVisual =
|
|
7676
|
+
var RadioVisual = React39__namespace.memo(function RadioVisual2({
|
|
7388
7677
|
isSelected,
|
|
7389
7678
|
disabled,
|
|
7390
7679
|
error,
|
|
@@ -7437,7 +7726,7 @@ var RadioVisual = React38__namespace.memo(function RadioVisual2({
|
|
|
7437
7726
|
}
|
|
7438
7727
|
);
|
|
7439
7728
|
});
|
|
7440
|
-
var RadioButtonComponent =
|
|
7729
|
+
var RadioButtonComponent = React39__namespace.forwardRef(
|
|
7441
7730
|
({
|
|
7442
7731
|
selected,
|
|
7443
7732
|
defaultSelected = false,
|
|
@@ -7456,23 +7745,23 @@ var RadioButtonComponent = React38__namespace.forwardRef(
|
|
|
7456
7745
|
required: requiredProp
|
|
7457
7746
|
}, ref) => {
|
|
7458
7747
|
var _a, _b;
|
|
7459
|
-
const group =
|
|
7748
|
+
const group = React39__namespace.useContext(RadioGroupContext);
|
|
7460
7749
|
const prefersReduced = (_a = react.useReducedMotion()) != null ? _a : false;
|
|
7461
|
-
const generatedId =
|
|
7750
|
+
const generatedId = React39__namespace.useId();
|
|
7462
7751
|
const inputId = idProp != null ? idProp : label ? `radio-${generatedId}` : void 0;
|
|
7463
7752
|
const name = (_b = group == null ? void 0 : group.name) != null ? _b : nameProp;
|
|
7464
7753
|
const disabled = (group == null ? void 0 : group.disabled) || disabledProp;
|
|
7465
7754
|
const error = (group == null ? void 0 : group.error) || errorProp || color === "error";
|
|
7466
7755
|
const required = (group == null ? void 0 : group.required) || requiredProp;
|
|
7467
|
-
const [internalSelected, setInternalSelected] =
|
|
7756
|
+
const [internalSelected, setInternalSelected] = React39__namespace.useState(defaultSelected);
|
|
7468
7757
|
const isControlled = selected !== void 0;
|
|
7469
7758
|
const isSelected = group ? group.selectedValue === value : isControlled ? selected != null ? selected : false : internalSelected;
|
|
7470
|
-
const [ripples, setRipples] =
|
|
7471
|
-
const removeRipple =
|
|
7759
|
+
const [ripples, setRipples] = React39__namespace.useState([]);
|
|
7760
|
+
const removeRipple = React39__namespace.useCallback(
|
|
7472
7761
|
(id) => setRipples((prev) => prev.filter((r) => r.id !== id)),
|
|
7473
7762
|
[]
|
|
7474
7763
|
);
|
|
7475
|
-
const onPointerDown =
|
|
7764
|
+
const onPointerDown = React39__namespace.useCallback(
|
|
7476
7765
|
(e) => {
|
|
7477
7766
|
if (disabled) return;
|
|
7478
7767
|
const rect = e.currentTarget.getBoundingClientRect();
|
|
@@ -7486,12 +7775,12 @@ var RadioButtonComponent = React38__namespace.forwardRef(
|
|
|
7486
7775
|
},
|
|
7487
7776
|
[disabled]
|
|
7488
7777
|
);
|
|
7489
|
-
const [isHovered, setIsHovered] =
|
|
7490
|
-
const onPointerEnter =
|
|
7778
|
+
const [isHovered, setIsHovered] = React39__namespace.useState(false);
|
|
7779
|
+
const onPointerEnter = React39__namespace.useCallback(() => {
|
|
7491
7780
|
if (!disabled) setIsHovered(true);
|
|
7492
7781
|
}, [disabled]);
|
|
7493
|
-
const onPointerLeave =
|
|
7494
|
-
const handleChange =
|
|
7782
|
+
const onPointerLeave = React39__namespace.useCallback(() => setIsHovered(false), []);
|
|
7783
|
+
const handleChange = React39__namespace.useCallback(
|
|
7495
7784
|
(_e) => {
|
|
7496
7785
|
if (disabled || onClick === null) return;
|
|
7497
7786
|
if (group) {
|
|
@@ -7505,7 +7794,7 @@ var RadioButtonComponent = React38__namespace.forwardRef(
|
|
|
7505
7794
|
},
|
|
7506
7795
|
[disabled, onClick, group, value, isControlled]
|
|
7507
7796
|
);
|
|
7508
|
-
const inputRef =
|
|
7797
|
+
const inputRef = React39__namespace.useRef(null);
|
|
7509
7798
|
const mergedRef = useMergedRef3(ref, inputRef);
|
|
7510
7799
|
const stateLayerBg = error ? "before:bg-m3-error" : "before:bg-m3-primary";
|
|
7511
7800
|
const stateLayerClass = cn(
|
|
@@ -7616,8 +7905,8 @@ var RadioButtonComponent = React38__namespace.forwardRef(
|
|
|
7616
7905
|
}
|
|
7617
7906
|
);
|
|
7618
7907
|
RadioButtonComponent.displayName = "RadioButton";
|
|
7619
|
-
var RadioButton =
|
|
7620
|
-
var RadioGroupComponent =
|
|
7908
|
+
var RadioButton = React39__namespace.memo(RadioButtonComponent);
|
|
7909
|
+
var RadioGroupComponent = React39__namespace.forwardRef(
|
|
7621
7910
|
({
|
|
7622
7911
|
name,
|
|
7623
7912
|
value: valueProp,
|
|
@@ -7632,19 +7921,19 @@ var RadioGroupComponent = React38__namespace.forwardRef(
|
|
|
7632
7921
|
children,
|
|
7633
7922
|
className
|
|
7634
7923
|
}, ref) => {
|
|
7635
|
-
const [internalValue, setInternalValue] =
|
|
7924
|
+
const [internalValue, setInternalValue] = React39__namespace.useState(defaultValue);
|
|
7636
7925
|
const isControlled = valueProp !== void 0;
|
|
7637
7926
|
const selectedValue = isControlled ? valueProp : internalValue;
|
|
7638
|
-
const handleValueChange =
|
|
7927
|
+
const handleValueChange = React39__namespace.useCallback(
|
|
7639
7928
|
(val) => {
|
|
7640
7929
|
if (!isControlled) setInternalValue(val);
|
|
7641
7930
|
onValueChange == null ? void 0 : onValueChange(val);
|
|
7642
7931
|
},
|
|
7643
7932
|
[isControlled, onValueChange]
|
|
7644
7933
|
);
|
|
7645
|
-
const groupRef =
|
|
7934
|
+
const groupRef = React39__namespace.useRef(null);
|
|
7646
7935
|
const mergedRef = useMergedRef3(ref, groupRef);
|
|
7647
|
-
const onKeyDown =
|
|
7936
|
+
const onKeyDown = React39__namespace.useCallback(
|
|
7648
7937
|
(e) => {
|
|
7649
7938
|
var _a, _b;
|
|
7650
7939
|
if (disabled) return;
|
|
@@ -7668,7 +7957,7 @@ var RadioGroupComponent = React38__namespace.forwardRef(
|
|
|
7668
7957
|
},
|
|
7669
7958
|
[disabled, handleValueChange]
|
|
7670
7959
|
);
|
|
7671
|
-
const contextValue =
|
|
7960
|
+
const contextValue = React39__namespace.useMemo(
|
|
7672
7961
|
() => ({
|
|
7673
7962
|
name,
|
|
7674
7963
|
selectedValue,
|
|
@@ -7703,7 +7992,7 @@ var RadioGroupComponent = React38__namespace.forwardRef(
|
|
|
7703
7992
|
}
|
|
7704
7993
|
);
|
|
7705
7994
|
RadioGroupComponent.displayName = "RadioGroup";
|
|
7706
|
-
var RadioGroup =
|
|
7995
|
+
var RadioGroup = React39__namespace.memo(RadioGroupComponent);
|
|
7707
7996
|
function useSearchKeyboard({
|
|
7708
7997
|
active,
|
|
7709
7998
|
onActiveChange,
|
|
@@ -7712,14 +8001,14 @@ function useSearchKeyboard({
|
|
|
7712
8001
|
itemCount,
|
|
7713
8002
|
onSelectSuggestion
|
|
7714
8003
|
}) {
|
|
7715
|
-
const [activeIndex, setActiveIndex] =
|
|
7716
|
-
const resetKeyRef =
|
|
8004
|
+
const [activeIndex, setActiveIndex] = React39__namespace.useState(-1);
|
|
8005
|
+
const resetKeyRef = React39__namespace.useRef(`${active}:${query}`);
|
|
7717
8006
|
const currentKey = `${active}:${query}`;
|
|
7718
8007
|
if (resetKeyRef.current !== currentKey) {
|
|
7719
8008
|
resetKeyRef.current = currentKey;
|
|
7720
8009
|
setActiveIndex(-1);
|
|
7721
8010
|
}
|
|
7722
|
-
const handleKeyDown =
|
|
8011
|
+
const handleKeyDown = React39__namespace.useCallback(
|
|
7723
8012
|
(e) => {
|
|
7724
8013
|
if (!active) return;
|
|
7725
8014
|
switch (e.key) {
|
|
@@ -7759,7 +8048,7 @@ function useSearchKeyboard({
|
|
|
7759
8048
|
query
|
|
7760
8049
|
]
|
|
7761
8050
|
);
|
|
7762
|
-
const resetActiveIndex =
|
|
8051
|
+
const resetActiveIndex = React39__namespace.useCallback(() => {
|
|
7763
8052
|
setActiveIndex(-1);
|
|
7764
8053
|
}, []);
|
|
7765
8054
|
return { activeIndex, handleKeyDown, resetActiveIndex };
|
|
@@ -7847,10 +8136,10 @@ function AnimatedPlaceholder({
|
|
|
7847
8136
|
className
|
|
7848
8137
|
}) {
|
|
7849
8138
|
const shouldReduceMotion = react.useReducedMotion();
|
|
7850
|
-
const containerRef =
|
|
7851
|
-
const spanRef =
|
|
7852
|
-
const [xOffset, setXOffset] =
|
|
7853
|
-
const recalculate =
|
|
8139
|
+
const containerRef = React39__namespace.useRef(null);
|
|
8140
|
+
const spanRef = React39__namespace.useRef(null);
|
|
8141
|
+
const [xOffset, setXOffset] = React39__namespace.useState(0);
|
|
8142
|
+
const recalculate = React39__namespace.useCallback(() => {
|
|
7854
8143
|
const container = containerRef.current;
|
|
7855
8144
|
const span = spanRef.current;
|
|
7856
8145
|
if (!container || !span || textAlign === "left") {
|
|
@@ -7865,10 +8154,10 @@ function AnimatedPlaceholder({
|
|
|
7865
8154
|
setXOffset(Math.max(0, containerWidth - textWidth));
|
|
7866
8155
|
}
|
|
7867
8156
|
}, [textAlign]);
|
|
7868
|
-
|
|
8157
|
+
React39__namespace.useLayoutEffect(() => {
|
|
7869
8158
|
recalculate();
|
|
7870
8159
|
}, [recalculate]);
|
|
7871
|
-
|
|
8160
|
+
React39__namespace.useEffect(() => {
|
|
7872
8161
|
const container = containerRef.current;
|
|
7873
8162
|
if (!container) return;
|
|
7874
8163
|
const observer = new ResizeObserver(recalculate);
|
|
@@ -7937,10 +8226,10 @@ function SearchBar({
|
|
|
7937
8226
|
activeIndex
|
|
7938
8227
|
}) {
|
|
7939
8228
|
const shouldReduceMotion = react.useReducedMotion();
|
|
7940
|
-
const inputRef =
|
|
7941
|
-
const prevActiveRef =
|
|
7942
|
-
const isRestoringFocusRef =
|
|
7943
|
-
|
|
8229
|
+
const inputRef = React39__namespace.useRef(null);
|
|
8230
|
+
const prevActiveRef = React39__namespace.useRef(active);
|
|
8231
|
+
const isRestoringFocusRef = React39__namespace.useRef(false);
|
|
8232
|
+
React39__namespace.useEffect(() => {
|
|
7944
8233
|
var _a;
|
|
7945
8234
|
let rafId;
|
|
7946
8235
|
if (prevActiveRef.current === true && active === false) {
|
|
@@ -8059,7 +8348,7 @@ function SearchBar({
|
|
|
8059
8348
|
) })
|
|
8060
8349
|
);
|
|
8061
8350
|
}
|
|
8062
|
-
var SearchContext =
|
|
8351
|
+
var SearchContext = React39__namespace.createContext(null);
|
|
8063
8352
|
function SearchProvider({
|
|
8064
8353
|
children,
|
|
8065
8354
|
value
|
|
@@ -8067,15 +8356,15 @@ function SearchProvider({
|
|
|
8067
8356
|
return /* @__PURE__ */ jsxRuntime.jsx(SearchContext.Provider, { value, children });
|
|
8068
8357
|
}
|
|
8069
8358
|
function useSearch() {
|
|
8070
|
-
const context =
|
|
8359
|
+
const context = React39__namespace.useContext(SearchContext);
|
|
8071
8360
|
if (!context) {
|
|
8072
8361
|
return { listboxId: "", activeIndex: -1 };
|
|
8073
8362
|
}
|
|
8074
8363
|
return context;
|
|
8075
8364
|
}
|
|
8076
8365
|
function useClickOutside(handler, enabled = true) {
|
|
8077
|
-
const ref =
|
|
8078
|
-
|
|
8366
|
+
const ref = React39.useRef(null);
|
|
8367
|
+
React39.useEffect(() => {
|
|
8079
8368
|
if (!enabled) return;
|
|
8080
8369
|
const listener = (event) => {
|
|
8081
8370
|
const el = ref.current;
|
|
@@ -8094,7 +8383,7 @@ function useClickOutside(handler, enabled = true) {
|
|
|
8094
8383
|
return ref;
|
|
8095
8384
|
}
|
|
8096
8385
|
function useSearchViewFocus(inputRef, active) {
|
|
8097
|
-
|
|
8386
|
+
React39__namespace.useEffect(() => {
|
|
8098
8387
|
if (!active) return;
|
|
8099
8388
|
let raf2;
|
|
8100
8389
|
const raf1 = requestAnimationFrame(() => {
|
|
@@ -8168,7 +8457,7 @@ function SearchViewDocked({
|
|
|
8168
8457
|
activeIndex
|
|
8169
8458
|
}) {
|
|
8170
8459
|
const shouldReduceMotion = react.useReducedMotion();
|
|
8171
|
-
const inputRef =
|
|
8460
|
+
const inputRef = React39__namespace.useRef(null);
|
|
8172
8461
|
useSearchViewFocus(inputRef, active);
|
|
8173
8462
|
const dropdownRef = useClickOutside(() => {
|
|
8174
8463
|
onActiveChange(false);
|
|
@@ -8314,10 +8603,10 @@ function SearchViewFullScreen({
|
|
|
8314
8603
|
activeIndex
|
|
8315
8604
|
}) {
|
|
8316
8605
|
const shouldReduceMotion = react.useReducedMotion();
|
|
8317
|
-
const inputRef =
|
|
8606
|
+
const inputRef = React39__namespace.useRef(null);
|
|
8318
8607
|
useSearchViewFocus(inputRef, active);
|
|
8319
|
-
const [mounted, setMounted] =
|
|
8320
|
-
|
|
8608
|
+
const [mounted, setMounted] = React39__namespace.useState(false);
|
|
8609
|
+
React39__namespace.useEffect(() => {
|
|
8321
8610
|
setMounted(true);
|
|
8322
8611
|
}, []);
|
|
8323
8612
|
const handleFormSubmit = (e) => {
|
|
@@ -8475,10 +8764,10 @@ function SearchComponent({
|
|
|
8475
8764
|
className,
|
|
8476
8765
|
viewClassName
|
|
8477
8766
|
}) {
|
|
8478
|
-
const generatedId =
|
|
8767
|
+
const generatedId = React39__namespace.useId();
|
|
8479
8768
|
const searchId = id != null ? id : generatedId;
|
|
8480
8769
|
const listboxId = `${searchId}-listbox`;
|
|
8481
|
-
const itemCount =
|
|
8770
|
+
const itemCount = React39__namespace.Children.count(children);
|
|
8482
8771
|
const { activeIndex, handleKeyDown } = useSearchKeyboard({
|
|
8483
8772
|
active,
|
|
8484
8773
|
onActiveChange,
|
|
@@ -8576,7 +8865,7 @@ function useSliderMath({
|
|
|
8576
8865
|
max,
|
|
8577
8866
|
step
|
|
8578
8867
|
}) {
|
|
8579
|
-
return
|
|
8868
|
+
return React39.useMemo(
|
|
8580
8869
|
() => ({
|
|
8581
8870
|
coerce: (v) => coerceValue(v, min, max),
|
|
8582
8871
|
snap: (v) => snapToStep(v, min, step),
|
|
@@ -8714,7 +9003,7 @@ var SLIDER_INDICATOR_TRANSITION = {
|
|
|
8714
9003
|
stiffness: 450,
|
|
8715
9004
|
damping: 32
|
|
8716
9005
|
};
|
|
8717
|
-
var ValueIndicator =
|
|
9006
|
+
var ValueIndicator = React39__namespace.memo(function ValueIndicator2({
|
|
8718
9007
|
value,
|
|
8719
9008
|
visible,
|
|
8720
9009
|
orientation,
|
|
@@ -8761,7 +9050,7 @@ var ValueIndicator = React38__namespace.memo(function ValueIndicator2({
|
|
|
8761
9050
|
"value-indicator"
|
|
8762
9051
|
) });
|
|
8763
9052
|
});
|
|
8764
|
-
var SliderThumb =
|
|
9053
|
+
var SliderThumb = React39__namespace.memo(function SliderThumb2({
|
|
8765
9054
|
value,
|
|
8766
9055
|
percent,
|
|
8767
9056
|
min,
|
|
@@ -8793,11 +9082,11 @@ var SliderThumb = React38__namespace.memo(function SliderThumb2({
|
|
|
8793
9082
|
[posTarget]: `calc(${trackInset}px + ${percent} * (100% - ${trackInset * 2}px))`
|
|
8794
9083
|
};
|
|
8795
9084
|
const prefersReduced = (_a = react.useReducedMotion()) != null ? _a : false;
|
|
8796
|
-
const [isDragging, setIsDragging] =
|
|
8797
|
-
const [isHovered, setIsHovered] =
|
|
8798
|
-
const [isFocused, setIsFocused] =
|
|
8799
|
-
const pointerIdRef =
|
|
8800
|
-
const thumbRef =
|
|
9085
|
+
const [isDragging, setIsDragging] = React39__namespace.useState(false);
|
|
9086
|
+
const [isHovered, setIsHovered] = React39__namespace.useState(false);
|
|
9087
|
+
const [isFocused, setIsFocused] = React39__namespace.useState(false);
|
|
9088
|
+
const pointerIdRef = React39__namespace.useRef(null);
|
|
9089
|
+
const thumbRef = React39__namespace.useRef(null);
|
|
8801
9090
|
const showIndicator = showValueIndicator && (isDragging || isHovered || isFocused);
|
|
8802
9091
|
const positionStyle = isHorizontal ? __spreadProps(__spreadValues({
|
|
8803
9092
|
position: "absolute"
|
|
@@ -8812,7 +9101,7 @@ var SliderThumb = React38__namespace.memo(function SliderThumb2({
|
|
|
8812
9101
|
transform: "translate(-50%, 50%)",
|
|
8813
9102
|
zIndex
|
|
8814
9103
|
});
|
|
8815
|
-
const getDeltaFromPointer =
|
|
9104
|
+
const getDeltaFromPointer = React39__namespace.useCallback(
|
|
8816
9105
|
(e) => {
|
|
8817
9106
|
const trackEl = trackRef.current;
|
|
8818
9107
|
if (!trackEl) return percent;
|
|
@@ -8839,7 +9128,7 @@ var SliderThumb = React38__namespace.memo(function SliderThumb2({
|
|
|
8839
9128
|
},
|
|
8840
9129
|
[isHorizontal, max, min, percent, step, trackRef, trackSize]
|
|
8841
9130
|
);
|
|
8842
|
-
const handlePointerDown =
|
|
9131
|
+
const handlePointerDown = React39__namespace.useCallback(
|
|
8843
9132
|
(e) => {
|
|
8844
9133
|
if (disabled) return;
|
|
8845
9134
|
e.preventDefault();
|
|
@@ -8850,7 +9139,7 @@ var SliderThumb = React38__namespace.memo(function SliderThumb2({
|
|
|
8850
9139
|
},
|
|
8851
9140
|
[disabled]
|
|
8852
9141
|
);
|
|
8853
|
-
const handlePointerMove =
|
|
9142
|
+
const handlePointerMove = React39__namespace.useCallback(
|
|
8854
9143
|
(e) => {
|
|
8855
9144
|
if (!isDragging || e.pointerId !== pointerIdRef.current) return;
|
|
8856
9145
|
const newValue = getDeltaFromPointer(e.nativeEvent);
|
|
@@ -8858,7 +9147,7 @@ var SliderThumb = React38__namespace.memo(function SliderThumb2({
|
|
|
8858
9147
|
},
|
|
8859
9148
|
[isDragging, getDeltaFromPointer, onValueChange]
|
|
8860
9149
|
);
|
|
8861
|
-
const handlePointerUp =
|
|
9150
|
+
const handlePointerUp = React39__namespace.useCallback(
|
|
8862
9151
|
(e) => {
|
|
8863
9152
|
if (e.pointerId !== pointerIdRef.current) return;
|
|
8864
9153
|
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
@@ -8868,7 +9157,7 @@ var SliderThumb = React38__namespace.memo(function SliderThumb2({
|
|
|
8868
9157
|
},
|
|
8869
9158
|
[onValueChangeEnd, value]
|
|
8870
9159
|
);
|
|
8871
|
-
const handleKeyDown =
|
|
9160
|
+
const handleKeyDown = React39__namespace.useCallback(
|
|
8872
9161
|
(e) => {
|
|
8873
9162
|
if (disabled) return;
|
|
8874
9163
|
if (e.key === "Home") {
|
|
@@ -8972,7 +9261,7 @@ var SliderThumb = React38__namespace.memo(function SliderThumb2({
|
|
|
8972
9261
|
}
|
|
8973
9262
|
);
|
|
8974
9263
|
});
|
|
8975
|
-
var RangeTrack =
|
|
9264
|
+
var RangeTrack = React39__namespace.memo(function RangeTrack2({
|
|
8976
9265
|
startPercent,
|
|
8977
9266
|
endPercent,
|
|
8978
9267
|
trackSize,
|
|
@@ -9217,7 +9506,7 @@ var RangeTrack = React38__namespace.memo(function RangeTrack2({
|
|
|
9217
9506
|
}
|
|
9218
9507
|
);
|
|
9219
9508
|
});
|
|
9220
|
-
var RangeSliderComponent =
|
|
9509
|
+
var RangeSliderComponent = React39__namespace.forwardRef(
|
|
9221
9510
|
({
|
|
9222
9511
|
value: controlledValue,
|
|
9223
9512
|
defaultValue,
|
|
@@ -9241,7 +9530,7 @@ var RangeSliderComponent = React38__namespace.forwardRef(
|
|
|
9241
9530
|
const isHorizontal = orientation === "horizontal";
|
|
9242
9531
|
const defaultStart = (_a = defaultValue == null ? void 0 : defaultValue[0]) != null ? _a : min;
|
|
9243
9532
|
const defaultEnd = (_b = defaultValue == null ? void 0 : defaultValue[1]) != null ? _b : max;
|
|
9244
|
-
const [internalValue, setInternalValue] =
|
|
9533
|
+
const [internalValue, setInternalValue] = React39__namespace.useState([
|
|
9245
9534
|
defaultStart,
|
|
9246
9535
|
defaultEnd
|
|
9247
9536
|
]);
|
|
@@ -9255,10 +9544,10 @@ var RangeSliderComponent = React38__namespace.forwardRef(
|
|
|
9255
9544
|
const endValue = snap(coerce(resolvedValue[1]));
|
|
9256
9545
|
const startPercent = toPercent(startValue);
|
|
9257
9546
|
const endPercent = toPercent(endValue);
|
|
9258
|
-
const [topThumb, setTopThumb] =
|
|
9259
|
-
const trackRef =
|
|
9547
|
+
const [topThumb, setTopThumb] = React39__namespace.useState("end");
|
|
9548
|
+
const trackRef = React39__namespace.useRef(null);
|
|
9260
9549
|
const minGap = step > 0 ? step : (max - min) / 1e3;
|
|
9261
|
-
const handleStartChange =
|
|
9550
|
+
const handleStartChange = React39__namespace.useCallback(
|
|
9262
9551
|
(newStart) => {
|
|
9263
9552
|
setTopThumb("start");
|
|
9264
9553
|
const clamped = Math.min(newStart, endValue - minGap);
|
|
@@ -9270,7 +9559,7 @@ var RangeSliderComponent = React38__namespace.forwardRef(
|
|
|
9270
9559
|
},
|
|
9271
9560
|
[controlledValue, coerce, endValue, minGap, onValueChange, snap]
|
|
9272
9561
|
);
|
|
9273
|
-
const handleEndChange =
|
|
9562
|
+
const handleEndChange = React39__namespace.useCallback(
|
|
9274
9563
|
(newEnd) => {
|
|
9275
9564
|
setTopThumb("end");
|
|
9276
9565
|
const clamped = Math.max(newEnd, startValue + minGap);
|
|
@@ -9282,15 +9571,15 @@ var RangeSliderComponent = React38__namespace.forwardRef(
|
|
|
9282
9571
|
},
|
|
9283
9572
|
[controlledValue, coerce, minGap, onValueChange, snap, startValue]
|
|
9284
9573
|
);
|
|
9285
|
-
const handleStartChangeEnd =
|
|
9574
|
+
const handleStartChangeEnd = React39__namespace.useCallback(
|
|
9286
9575
|
(v) => onValueChangeEnd == null ? void 0 : onValueChangeEnd([v, endValue]),
|
|
9287
9576
|
[endValue, onValueChangeEnd]
|
|
9288
9577
|
);
|
|
9289
|
-
const handleEndChangeEnd =
|
|
9578
|
+
const handleEndChangeEnd = React39__namespace.useCallback(
|
|
9290
9579
|
(v) => onValueChangeEnd == null ? void 0 : onValueChangeEnd([startValue, v]),
|
|
9291
9580
|
[onValueChangeEnd, startValue]
|
|
9292
9581
|
);
|
|
9293
|
-
const handleTrackPointerDown =
|
|
9582
|
+
const handleTrackPointerDown = React39__namespace.useCallback(
|
|
9294
9583
|
(e) => {
|
|
9295
9584
|
if (disabled) return;
|
|
9296
9585
|
const trackEl = trackRef.current;
|
|
@@ -9334,7 +9623,7 @@ var RangeSliderComponent = React38__namespace.forwardRef(
|
|
|
9334
9623
|
trackSize
|
|
9335
9624
|
]
|
|
9336
9625
|
);
|
|
9337
|
-
const id =
|
|
9626
|
+
const id = React39__namespace.useId();
|
|
9338
9627
|
return /* @__PURE__ */ jsxRuntime.jsx(react.LazyMotion, { features: react.domMax, strict: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9339
9628
|
"div",
|
|
9340
9629
|
{
|
|
@@ -9414,7 +9703,7 @@ var RangeSliderComponent = React38__namespace.forwardRef(
|
|
|
9414
9703
|
}
|
|
9415
9704
|
);
|
|
9416
9705
|
RangeSliderComponent.displayName = "RangeSlider";
|
|
9417
|
-
var RangeSlider =
|
|
9706
|
+
var RangeSlider = React39__namespace.memo(RangeSliderComponent);
|
|
9418
9707
|
function getHorizontalRadius(isLeading, innerR, outerR) {
|
|
9419
9708
|
if (isLeading) {
|
|
9420
9709
|
return {
|
|
@@ -9453,7 +9742,7 @@ var allInnerRadius = (innerR) => ({
|
|
|
9453
9742
|
borderTopRightRadius: innerR,
|
|
9454
9743
|
borderBottomRightRadius: innerR
|
|
9455
9744
|
});
|
|
9456
|
-
var InsetIcon =
|
|
9745
|
+
var InsetIcon = React39__namespace.memo(function InsetIcon2({
|
|
9457
9746
|
icon,
|
|
9458
9747
|
isOnActiveSegment,
|
|
9459
9748
|
position,
|
|
@@ -9547,7 +9836,7 @@ function Ticks({
|
|
|
9547
9836
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { style, "aria-hidden": "true" }, tick);
|
|
9548
9837
|
}) });
|
|
9549
9838
|
}
|
|
9550
|
-
var SliderTrack =
|
|
9839
|
+
var SliderTrack = React39__namespace.memo(function SliderTrack2({
|
|
9551
9840
|
percent,
|
|
9552
9841
|
trackSize,
|
|
9553
9842
|
orientation,
|
|
@@ -9582,8 +9871,8 @@ var SliderTrack = React38__namespace.memo(function SliderTrack2({
|
|
|
9582
9871
|
const gapWithThumbStr = `${thumbGap + thumbHalfWidth}px`;
|
|
9583
9872
|
const hasAnyInsetIcon = Boolean(insetIcon || insetIconTrailing);
|
|
9584
9873
|
const prefersReduced = (_a = react.useReducedMotion()) != null ? _a : false;
|
|
9585
|
-
const [trackWidth, setTrackWidth] =
|
|
9586
|
-
|
|
9874
|
+
const [trackWidth, setTrackWidth] = React39__namespace.useState(0);
|
|
9875
|
+
React39__namespace.useLayoutEffect(() => {
|
|
9587
9876
|
const el = trackRef.current;
|
|
9588
9877
|
if (!el || !hasAnyInsetIcon) return;
|
|
9589
9878
|
setTrackWidth(isHorizontal ? el.clientWidth : el.clientHeight);
|
|
@@ -9600,8 +9889,8 @@ var SliderTrack = React38__namespace.memo(function SliderTrack2({
|
|
|
9600
9889
|
const iconTotalWidth = activeIconSize + SliderTokens.insetIconPadding * 2 + thumbGap + thumbHalfWidth;
|
|
9601
9890
|
const iconThreshold = trackWidth > 0 ? iconTotalWidth / trackWidth : 0.15;
|
|
9602
9891
|
const HYSTERESIS_GAP = 0.04;
|
|
9603
|
-
const trailingActiveRef =
|
|
9604
|
-
const leadingActiveRef =
|
|
9892
|
+
const trailingActiveRef = React39__namespace.useRef(1 - percent <= iconThreshold);
|
|
9893
|
+
const leadingActiveRef = React39__namespace.useRef(percent > iconThreshold);
|
|
9605
9894
|
const trailingPercent = 1 - percent;
|
|
9606
9895
|
if (trailingActiveRef.current) {
|
|
9607
9896
|
if (trailingPercent > iconThreshold + HYSTERESIS_GAP) {
|
|
@@ -10108,7 +10397,7 @@ var SliderTrack = React38__namespace.memo(function SliderTrack2({
|
|
|
10108
10397
|
}
|
|
10109
10398
|
);
|
|
10110
10399
|
});
|
|
10111
|
-
var SliderComponent =
|
|
10400
|
+
var SliderComponent = React39__namespace.forwardRef(
|
|
10112
10401
|
({
|
|
10113
10402
|
value: controlledValue,
|
|
10114
10403
|
defaultValue,
|
|
@@ -10137,7 +10426,7 @@ var SliderComponent = React38__namespace.forwardRef(
|
|
|
10137
10426
|
const isHorizontal = orientation === "horizontal";
|
|
10138
10427
|
const midpoint = min + (max - min) / 2;
|
|
10139
10428
|
const initialValue = defaultValue != null ? defaultValue : midpoint;
|
|
10140
|
-
const [internalValue, setInternalValue] =
|
|
10429
|
+
const [internalValue, setInternalValue] = React39__namespace.useState(initialValue);
|
|
10141
10430
|
const resolvedValue = controlledValue !== void 0 ? controlledValue : internalValue;
|
|
10142
10431
|
const { coerce, snap, toPercent, ticks } = useSliderMath({
|
|
10143
10432
|
min,
|
|
@@ -10146,8 +10435,8 @@ var SliderComponent = React38__namespace.forwardRef(
|
|
|
10146
10435
|
});
|
|
10147
10436
|
const safeValue = snap(coerce(resolvedValue));
|
|
10148
10437
|
const percent = toPercent(safeValue);
|
|
10149
|
-
const trackRef =
|
|
10150
|
-
const handleValueChange =
|
|
10438
|
+
const trackRef = React39__namespace.useRef(null);
|
|
10439
|
+
const handleValueChange = React39__namespace.useCallback(
|
|
10151
10440
|
(newValue) => {
|
|
10152
10441
|
const clamped = snap(coerce(newValue));
|
|
10153
10442
|
if (controlledValue === void 0) {
|
|
@@ -10157,13 +10446,13 @@ var SliderComponent = React38__namespace.forwardRef(
|
|
|
10157
10446
|
},
|
|
10158
10447
|
[coerce, controlledValue, onValueChange, snap]
|
|
10159
10448
|
);
|
|
10160
|
-
const handleValueChangeEnd =
|
|
10449
|
+
const handleValueChangeEnd = React39__namespace.useCallback(
|
|
10161
10450
|
(newValue) => {
|
|
10162
10451
|
onValueChangeEnd == null ? void 0 : onValueChangeEnd(snap(coerce(newValue)));
|
|
10163
10452
|
},
|
|
10164
10453
|
[coerce, onValueChangeEnd, snap]
|
|
10165
10454
|
);
|
|
10166
|
-
const handleTrackPointerDown =
|
|
10455
|
+
const handleTrackPointerDown = React39__namespace.useCallback(
|
|
10167
10456
|
(e) => {
|
|
10168
10457
|
if (disabled) return;
|
|
10169
10458
|
const trackEl = trackRef.current;
|
|
@@ -10198,7 +10487,7 @@ var SliderComponent = React38__namespace.forwardRef(
|
|
|
10198
10487
|
trackSize
|
|
10199
10488
|
]
|
|
10200
10489
|
);
|
|
10201
|
-
const id =
|
|
10490
|
+
const id = React39__namespace.useId();
|
|
10202
10491
|
const thumbId = `slider-thumb-${id}`;
|
|
10203
10492
|
const supportsInsetIcon = !isCentered && SliderTokens.trackSizes[trackSize] >= 40;
|
|
10204
10493
|
const hasAnyInsetIcon = !!(insetIcon || insetIconTrailing);
|
|
@@ -10270,7 +10559,7 @@ var SliderComponent = React38__namespace.forwardRef(
|
|
|
10270
10559
|
}
|
|
10271
10560
|
);
|
|
10272
10561
|
SliderComponent.displayName = "Slider";
|
|
10273
|
-
var Slider =
|
|
10562
|
+
var Slider = React39__namespace.memo(SliderComponent);
|
|
10274
10563
|
var DURATION_MAP = {
|
|
10275
10564
|
short: 4e3,
|
|
10276
10565
|
long: 7e3
|
|
@@ -10316,9 +10605,9 @@ function toSnackbarData(item) {
|
|
|
10316
10605
|
return { id: generateId(), visuals: item.visuals, resolve: item.resolve };
|
|
10317
10606
|
}
|
|
10318
10607
|
function useSnackbarState() {
|
|
10319
|
-
const [current, setCurrent] =
|
|
10320
|
-
const queueRef =
|
|
10321
|
-
const showSnackbar =
|
|
10608
|
+
const [current, setCurrent] = React39__namespace.useState(null);
|
|
10609
|
+
const queueRef = React39__namespace.useRef([]);
|
|
10610
|
+
const showSnackbar = React39__namespace.useCallback(
|
|
10322
10611
|
(visuals) => {
|
|
10323
10612
|
return new Promise((resolve) => {
|
|
10324
10613
|
const item = { visuals, resolve };
|
|
@@ -10331,14 +10620,14 @@ function useSnackbarState() {
|
|
|
10331
10620
|
},
|
|
10332
10621
|
[]
|
|
10333
10622
|
);
|
|
10334
|
-
const _dismiss =
|
|
10623
|
+
const _dismiss = React39__namespace.useCallback((result) => {
|
|
10335
10624
|
setCurrent((prev) => {
|
|
10336
10625
|
if (prev) prev.resolve(result);
|
|
10337
10626
|
const next = queueRef.current.shift();
|
|
10338
10627
|
return next ? toSnackbarData(next) : null;
|
|
10339
10628
|
});
|
|
10340
10629
|
}, []);
|
|
10341
|
-
|
|
10630
|
+
React39__namespace.useEffect(() => {
|
|
10342
10631
|
return () => {
|
|
10343
10632
|
for (const item of queueRef.current) {
|
|
10344
10633
|
item.resolve(RESULT.DISMISSED);
|
|
@@ -10348,7 +10637,7 @@ function useSnackbarState() {
|
|
|
10348
10637
|
}, []);
|
|
10349
10638
|
return { current, showSnackbar, _dismiss };
|
|
10350
10639
|
}
|
|
10351
|
-
var Snackbar =
|
|
10640
|
+
var Snackbar = React39__namespace.memo(function Snackbar2({
|
|
10352
10641
|
data,
|
|
10353
10642
|
className
|
|
10354
10643
|
}) {
|
|
@@ -10362,15 +10651,15 @@ var Snackbar = React38__namespace.memo(function Snackbar2({
|
|
|
10362
10651
|
} = visuals;
|
|
10363
10652
|
const reducedMotion = react.useReducedMotion();
|
|
10364
10653
|
const durationMs = resolveDuration(duration);
|
|
10365
|
-
|
|
10654
|
+
React39__namespace.useEffect(() => {
|
|
10366
10655
|
const timer = setTimeout(() => resolve(RESULT.DISMISSED), durationMs);
|
|
10367
10656
|
return () => clearTimeout(timer);
|
|
10368
10657
|
}, [resolve, durationMs]);
|
|
10369
|
-
const handleAction =
|
|
10658
|
+
const handleAction = React39__namespace.useCallback(
|
|
10370
10659
|
() => resolve(RESULT.ACTION),
|
|
10371
10660
|
[resolve]
|
|
10372
10661
|
);
|
|
10373
|
-
const handleDismiss =
|
|
10662
|
+
const handleDismiss = React39__namespace.useCallback(
|
|
10374
10663
|
() => resolve(RESULT.DISMISSED),
|
|
10375
10664
|
[resolve]
|
|
10376
10665
|
);
|
|
@@ -10438,7 +10727,7 @@ var Snackbar = React38__namespace.memo(function Snackbar2({
|
|
|
10438
10727
|
Snackbar.displayName = "Snackbar";
|
|
10439
10728
|
function SnackbarHost({ state, className }) {
|
|
10440
10729
|
const { current, _dismiss } = state;
|
|
10441
|
-
const wrappedData =
|
|
10730
|
+
const wrappedData = React39__namespace.useMemo(() => {
|
|
10442
10731
|
if (!current) return null;
|
|
10443
10732
|
return __spreadProps(__spreadValues({}, current), { resolve: _dismiss });
|
|
10444
10733
|
}, [current, _dismiss]);
|
|
@@ -10456,12 +10745,12 @@ function SnackbarHost({ state, className }) {
|
|
|
10456
10745
|
) });
|
|
10457
10746
|
}
|
|
10458
10747
|
SnackbarHost.displayName = "SnackbarHost";
|
|
10459
|
-
var SnackbarContext =
|
|
10748
|
+
var SnackbarContext = React39__namespace.createContext(
|
|
10460
10749
|
null
|
|
10461
10750
|
);
|
|
10462
10751
|
function SnackbarProvider({ children }) {
|
|
10463
10752
|
const state = useSnackbarState();
|
|
10464
|
-
const contextValue =
|
|
10753
|
+
const contextValue = React39__namespace.useMemo(
|
|
10465
10754
|
() => ({ showSnackbar: state.showSnackbar }),
|
|
10466
10755
|
[state.showSnackbar]
|
|
10467
10756
|
);
|
|
@@ -10472,7 +10761,7 @@ function SnackbarProvider({ children }) {
|
|
|
10472
10761
|
}
|
|
10473
10762
|
SnackbarProvider.displayName = "SnackbarProvider";
|
|
10474
10763
|
function useSnackbar() {
|
|
10475
|
-
const ctx =
|
|
10764
|
+
const ctx = React39__namespace.useContext(SnackbarContext);
|
|
10476
10765
|
if (!ctx) {
|
|
10477
10766
|
throw new Error("useSnackbar must be used within a <SnackbarProvider>.");
|
|
10478
10767
|
}
|
|
@@ -10576,7 +10865,7 @@ function isIconVisible(thumbContent, icons, showOnlySelectedIcon, checked) {
|
|
|
10576
10865
|
if (icons) return true;
|
|
10577
10866
|
return showOnlySelectedIcon && checked;
|
|
10578
10867
|
}
|
|
10579
|
-
var SwitchVisual =
|
|
10868
|
+
var SwitchVisual = React39__namespace.memo(function SwitchVisual2({
|
|
10580
10869
|
checked,
|
|
10581
10870
|
disabled,
|
|
10582
10871
|
isPressed,
|
|
@@ -10696,7 +10985,7 @@ var SwitchVisual = React38__namespace.memo(function SwitchVisual2({
|
|
|
10696
10985
|
}
|
|
10697
10986
|
);
|
|
10698
10987
|
});
|
|
10699
|
-
var SwitchComponent =
|
|
10988
|
+
var SwitchComponent = React39__namespace.forwardRef(
|
|
10700
10989
|
({
|
|
10701
10990
|
checked,
|
|
10702
10991
|
onCheckedChange,
|
|
@@ -10714,16 +11003,16 @@ var SwitchComponent = React38__namespace.forwardRef(
|
|
|
10714
11003
|
}, ref) => {
|
|
10715
11004
|
var _a;
|
|
10716
11005
|
const prefersReduced = (_a = react.useReducedMotion()) != null ? _a : false;
|
|
10717
|
-
const [isPressed, setIsPressed] =
|
|
10718
|
-
const [isHovered, setIsHovered] =
|
|
10719
|
-
const [isFocused, setIsFocused] =
|
|
10720
|
-
const [ripples, setRipples] =
|
|
10721
|
-
const generatedId =
|
|
11006
|
+
const [isPressed, setIsPressed] = React39__namespace.useState(false);
|
|
11007
|
+
const [isHovered, setIsHovered] = React39__namespace.useState(false);
|
|
11008
|
+
const [isFocused, setIsFocused] = React39__namespace.useState(false);
|
|
11009
|
+
const [ripples, setRipples] = React39__namespace.useState([]);
|
|
11010
|
+
const generatedId = React39__namespace.useId();
|
|
10722
11011
|
const switchId = label ? `switch-${generatedId}` : void 0;
|
|
10723
|
-
const handleClick =
|
|
11012
|
+
const handleClick = React39__namespace.useCallback(() => {
|
|
10724
11013
|
if (!disabled) onCheckedChange(!checked);
|
|
10725
11014
|
}, [disabled, checked, onCheckedChange]);
|
|
10726
|
-
const handleKeyDown =
|
|
11015
|
+
const handleKeyDown = React39__namespace.useCallback(
|
|
10727
11016
|
(e) => {
|
|
10728
11017
|
if (disabled) return;
|
|
10729
11018
|
if (e.key === " " || e.key === "Enter") {
|
|
@@ -10733,7 +11022,7 @@ var SwitchComponent = React38__namespace.forwardRef(
|
|
|
10733
11022
|
},
|
|
10734
11023
|
[disabled, checked, onCheckedChange]
|
|
10735
11024
|
);
|
|
10736
|
-
const handlePointerDown =
|
|
11025
|
+
const handlePointerDown = React39__namespace.useCallback(
|
|
10737
11026
|
(e) => {
|
|
10738
11027
|
if (disabled) return;
|
|
10739
11028
|
setIsPressed(true);
|
|
@@ -10748,19 +11037,19 @@ var SwitchComponent = React38__namespace.forwardRef(
|
|
|
10748
11037
|
},
|
|
10749
11038
|
[disabled]
|
|
10750
11039
|
);
|
|
10751
|
-
const handlePointerUp =
|
|
11040
|
+
const handlePointerUp = React39__namespace.useCallback(() => {
|
|
10752
11041
|
setIsPressed(false);
|
|
10753
11042
|
}, []);
|
|
10754
|
-
const handlePointerEnter =
|
|
11043
|
+
const handlePointerEnter = React39__namespace.useCallback(() => {
|
|
10755
11044
|
if (!disabled) setIsHovered(true);
|
|
10756
11045
|
}, [disabled]);
|
|
10757
|
-
const handlePointerLeave =
|
|
11046
|
+
const handlePointerLeave = React39__namespace.useCallback(() => {
|
|
10758
11047
|
setIsHovered(false);
|
|
10759
11048
|
setIsPressed(false);
|
|
10760
11049
|
}, []);
|
|
10761
|
-
const handleFocus =
|
|
10762
|
-
const handleBlur =
|
|
10763
|
-
const removeRipple =
|
|
11050
|
+
const handleFocus = React39__namespace.useCallback(() => setIsFocused(true), []);
|
|
11051
|
+
const handleBlur = React39__namespace.useCallback(() => setIsFocused(false), []);
|
|
11052
|
+
const removeRipple = React39__namespace.useCallback(
|
|
10764
11053
|
(id) => setRipples((prev) => prev.filter((r) => r.id !== id)),
|
|
10765
11054
|
[]
|
|
10766
11055
|
);
|
|
@@ -10845,7 +11134,7 @@ var SwitchComponent = React38__namespace.forwardRef(
|
|
|
10845
11134
|
}
|
|
10846
11135
|
);
|
|
10847
11136
|
SwitchComponent.displayName = "Switch";
|
|
10848
|
-
var Switch =
|
|
11137
|
+
var Switch = React39__namespace.memo(SwitchComponent);
|
|
10849
11138
|
var typographyVariants = classVarianceAuthority.cva("m-0 p-0 text-m3-on-surface", {
|
|
10850
11139
|
variants: {
|
|
10851
11140
|
variant: {
|
|
@@ -10870,10 +11159,10 @@ var typographyVariants = classVarianceAuthority.cva("m-0 p-0 text-m3-on-surface"
|
|
|
10870
11159
|
variant: "body-md"
|
|
10871
11160
|
}
|
|
10872
11161
|
});
|
|
10873
|
-
var Text =
|
|
11162
|
+
var Text = React39__namespace.forwardRef(
|
|
10874
11163
|
(_a, ref) => {
|
|
10875
11164
|
var _b = _a, { className, variant, as: Component } = _b, props = __objRest(_b, ["className", "variant", "as"]);
|
|
10876
|
-
const defaultComponent =
|
|
11165
|
+
const defaultComponent = React39__namespace.useMemo(() => {
|
|
10877
11166
|
if ((variant == null ? void 0 : variant.startsWith("display")) || (variant == null ? void 0 : variant.startsWith("headline")))
|
|
10878
11167
|
return "h1";
|
|
10879
11168
|
if (variant == null ? void 0 : variant.startsWith("title")) return "h2";
|
|
@@ -10890,9 +11179,9 @@ var Text = React38__namespace.forwardRef(
|
|
|
10890
11179
|
}
|
|
10891
11180
|
);
|
|
10892
11181
|
Text.displayName = "Text";
|
|
10893
|
-
var TabsContext =
|
|
11182
|
+
var TabsContext = React39__namespace.createContext(null);
|
|
10894
11183
|
function useTabsContext() {
|
|
10895
|
-
const ctx =
|
|
11184
|
+
const ctx = React39__namespace.useContext(TabsContext);
|
|
10896
11185
|
if (!ctx) {
|
|
10897
11186
|
throw new Error(
|
|
10898
11187
|
"[MD3 Tabs] Component must be used within a <Tabs> root. Ensure <TabsList>, <Tab>, and <TabsContent> are descendants of <Tabs>."
|
|
@@ -10900,7 +11189,7 @@ function useTabsContext() {
|
|
|
10900
11189
|
}
|
|
10901
11190
|
return ctx;
|
|
10902
11191
|
}
|
|
10903
|
-
var TabsComponent =
|
|
11192
|
+
var TabsComponent = React39__namespace.forwardRef(
|
|
10904
11193
|
({
|
|
10905
11194
|
value: controlledValue,
|
|
10906
11195
|
defaultValue = "",
|
|
@@ -10909,35 +11198,35 @@ var TabsComponent = React38__namespace.forwardRef(
|
|
|
10909
11198
|
children,
|
|
10910
11199
|
className
|
|
10911
11200
|
}, ref) => {
|
|
10912
|
-
const [internalValue, setInternalValue] =
|
|
11201
|
+
const [internalValue, setInternalValue] = React39__namespace.useState(defaultValue);
|
|
10913
11202
|
const isControlled = controlledValue !== void 0;
|
|
10914
11203
|
const value = isControlled ? controlledValue : internalValue;
|
|
10915
|
-
const handleValueChange =
|
|
11204
|
+
const handleValueChange = React39__namespace.useCallback(
|
|
10916
11205
|
(newValue) => {
|
|
10917
11206
|
if (!isControlled) setInternalValue(newValue);
|
|
10918
11207
|
onValueChange == null ? void 0 : onValueChange(newValue);
|
|
10919
11208
|
},
|
|
10920
11209
|
[isControlled, onValueChange]
|
|
10921
11210
|
);
|
|
10922
|
-
const [focusedValue, setFocusedValue] =
|
|
10923
|
-
|
|
11211
|
+
const [focusedValue, setFocusedValue] = React39__namespace.useState(value);
|
|
11212
|
+
React39__namespace.useEffect(() => {
|
|
10924
11213
|
setFocusedValue(value);
|
|
10925
11214
|
}, [value]);
|
|
10926
|
-
const [tabValues, setTabValues] =
|
|
10927
|
-
const registerTab =
|
|
11215
|
+
const [tabValues, setTabValues] = React39__namespace.useState([]);
|
|
11216
|
+
const registerTab = React39__namespace.useCallback((tabValue) => {
|
|
10928
11217
|
setTabValues((prev) => {
|
|
10929
11218
|
if (prev.includes(tabValue)) return prev;
|
|
10930
11219
|
return [...prev, tabValue];
|
|
10931
11220
|
});
|
|
10932
11221
|
}, []);
|
|
10933
|
-
const unregisterTab =
|
|
11222
|
+
const unregisterTab = React39__namespace.useCallback((tabValue) => {
|
|
10934
11223
|
setTabValues((prev) => prev.filter((v) => v !== tabValue));
|
|
10935
11224
|
}, []);
|
|
10936
|
-
const hasAutoSelected =
|
|
10937
|
-
const [disabledValues, setDisabledValues] =
|
|
11225
|
+
const hasAutoSelected = React39__namespace.useRef(false);
|
|
11226
|
+
const [disabledValues, setDisabledValues] = React39__namespace.useState(
|
|
10938
11227
|
/* @__PURE__ */ new Set()
|
|
10939
11228
|
);
|
|
10940
|
-
const markTabDisabled =
|
|
11229
|
+
const markTabDisabled = React39__namespace.useCallback(
|
|
10941
11230
|
(tabValue, disabled) => {
|
|
10942
11231
|
setDisabledValues((prev) => {
|
|
10943
11232
|
const next = new Set(prev);
|
|
@@ -10951,7 +11240,7 @@ var TabsComponent = React38__namespace.forwardRef(
|
|
|
10951
11240
|
},
|
|
10952
11241
|
[]
|
|
10953
11242
|
);
|
|
10954
|
-
|
|
11243
|
+
React39__namespace.useEffect(() => {
|
|
10955
11244
|
if (isControlled || hasAutoSelected.current || tabValues.length === 0) {
|
|
10956
11245
|
return;
|
|
10957
11246
|
}
|
|
@@ -10966,9 +11255,9 @@ var TabsComponent = React38__namespace.forwardRef(
|
|
|
10966
11255
|
setFocusedValue(firstEnabled);
|
|
10967
11256
|
}
|
|
10968
11257
|
}, [tabValues, disabledValues, isControlled, value]);
|
|
10969
|
-
const id =
|
|
11258
|
+
const id = React39__namespace.useId();
|
|
10970
11259
|
const layoutGroupId = `tabs-${id}`;
|
|
10971
|
-
const contextValue =
|
|
11260
|
+
const contextValue = React39__namespace.useMemo(
|
|
10972
11261
|
() => ({
|
|
10973
11262
|
value,
|
|
10974
11263
|
onValueChange: handleValueChange,
|
|
@@ -10999,12 +11288,12 @@ var TabsComponent = React38__namespace.forwardRef(
|
|
|
10999
11288
|
}
|
|
11000
11289
|
);
|
|
11001
11290
|
TabsComponent.displayName = "Tabs";
|
|
11002
|
-
var Tabs =
|
|
11003
|
-
var TabsListContext =
|
|
11291
|
+
var Tabs = React39__namespace.memo(TabsComponent);
|
|
11292
|
+
var TabsListContext = React39__namespace.createContext(
|
|
11004
11293
|
null
|
|
11005
11294
|
);
|
|
11006
11295
|
function useTabsListContext() {
|
|
11007
|
-
const ctx =
|
|
11296
|
+
const ctx = React39__namespace.useContext(TabsListContext);
|
|
11008
11297
|
return ctx != null ? ctx : { variant: "primary", scrollable: false };
|
|
11009
11298
|
}
|
|
11010
11299
|
|
|
@@ -11088,7 +11377,7 @@ var TABS_CONTENT_TRANSITION = {
|
|
|
11088
11377
|
ease: "easeInOut"
|
|
11089
11378
|
};
|
|
11090
11379
|
var INDICATOR_MIN_WIDTH = 24;
|
|
11091
|
-
var TabComponent =
|
|
11380
|
+
var TabComponent = React39__namespace.forwardRef(
|
|
11092
11381
|
({
|
|
11093
11382
|
value,
|
|
11094
11383
|
icon,
|
|
@@ -11118,9 +11407,9 @@ var TabComponent = React38__namespace.forwardRef(
|
|
|
11118
11407
|
const isFocused = focusedValue === value;
|
|
11119
11408
|
const hasIcon = icon != null;
|
|
11120
11409
|
const isStackedIcon = hasIcon && !inlineIcon;
|
|
11121
|
-
const buttonRef =
|
|
11122
|
-
const isFirstMount =
|
|
11123
|
-
const mergedRef =
|
|
11410
|
+
const buttonRef = React39__namespace.useRef(null);
|
|
11411
|
+
const isFirstMount = React39__namespace.useRef(true);
|
|
11412
|
+
const mergedRef = React39__namespace.useCallback(
|
|
11124
11413
|
(node) => {
|
|
11125
11414
|
buttonRef.current = node;
|
|
11126
11415
|
if (typeof ref === "function") ref(node);
|
|
@@ -11128,15 +11417,15 @@ var TabComponent = React38__namespace.forwardRef(
|
|
|
11128
11417
|
},
|
|
11129
11418
|
[ref]
|
|
11130
11419
|
);
|
|
11131
|
-
|
|
11420
|
+
React39__namespace.useEffect(() => {
|
|
11132
11421
|
registerTab(value);
|
|
11133
11422
|
return () => unregisterTab(value);
|
|
11134
11423
|
}, [value, registerTab, unregisterTab]);
|
|
11135
|
-
|
|
11424
|
+
React39__namespace.useEffect(() => {
|
|
11136
11425
|
markTabDisabled(value, disabled);
|
|
11137
11426
|
return () => markTabDisabled(value, false);
|
|
11138
11427
|
}, [value, disabled, markTabDisabled]);
|
|
11139
|
-
const handleKeyDown =
|
|
11428
|
+
const handleKeyDown = React39__namespace.useCallback(
|
|
11140
11429
|
(e) => {
|
|
11141
11430
|
const isRtl = buttonRef.current ? getComputedStyle(buttonRef.current).direction === "rtl" : false;
|
|
11142
11431
|
const enabledValues = tabValues.filter((v) => !disabledValues.has(v));
|
|
@@ -11190,7 +11479,7 @@ var TabComponent = React38__namespace.forwardRef(
|
|
|
11190
11479
|
autoActivate
|
|
11191
11480
|
]
|
|
11192
11481
|
);
|
|
11193
|
-
|
|
11482
|
+
React39__namespace.useEffect(() => {
|
|
11194
11483
|
if (isFirstMount.current) {
|
|
11195
11484
|
isFirstMount.current = false;
|
|
11196
11485
|
return;
|
|
@@ -11199,7 +11488,7 @@ var TabComponent = React38__namespace.forwardRef(
|
|
|
11199
11488
|
buttonRef.current.focus({ preventScroll: true });
|
|
11200
11489
|
}
|
|
11201
11490
|
}, [isFocused]);
|
|
11202
|
-
|
|
11491
|
+
React39__namespace.useEffect(() => {
|
|
11203
11492
|
if (!isActive || !scrollable || !buttonRef.current) return;
|
|
11204
11493
|
const btn = buttonRef.current;
|
|
11205
11494
|
let container = btn.parentElement;
|
|
@@ -11336,8 +11625,8 @@ var TabComponent = React38__namespace.forwardRef(
|
|
|
11336
11625
|
}
|
|
11337
11626
|
);
|
|
11338
11627
|
TabComponent.displayName = "Tab";
|
|
11339
|
-
var Tab =
|
|
11340
|
-
var TabsContentComponent =
|
|
11628
|
+
var Tab = React39__namespace.memo(TabComponent);
|
|
11629
|
+
var TabsContentComponent = React39__namespace.forwardRef(
|
|
11341
11630
|
({ value, className, children }, ref) => {
|
|
11342
11631
|
var _a;
|
|
11343
11632
|
const { value: selectedValue, layoutGroupId } = useTabsContext();
|
|
@@ -11371,8 +11660,8 @@ var TabsContentComponent = React38__namespace.forwardRef(
|
|
|
11371
11660
|
}
|
|
11372
11661
|
);
|
|
11373
11662
|
TabsContentComponent.displayName = "TabsContent";
|
|
11374
|
-
var TabsContent =
|
|
11375
|
-
var TabsListComponent =
|
|
11663
|
+
var TabsContent = React39__namespace.memo(TabsContentComponent);
|
|
11664
|
+
var TabsListComponent = React39__namespace.forwardRef(
|
|
11376
11665
|
({
|
|
11377
11666
|
variant,
|
|
11378
11667
|
scrollable = false,
|
|
@@ -11383,12 +11672,12 @@ var TabsListComponent = React38__namespace.forwardRef(
|
|
|
11383
11672
|
}, ref) => {
|
|
11384
11673
|
const { layoutGroupId, value, setFocusedValue } = useTabsContext();
|
|
11385
11674
|
const listLayoutId = `${layoutGroupId}-list`;
|
|
11386
|
-
const listContextValue =
|
|
11675
|
+
const listContextValue = React39__namespace.useMemo(
|
|
11387
11676
|
() => ({ variant, scrollable }),
|
|
11388
11677
|
[variant, scrollable]
|
|
11389
11678
|
);
|
|
11390
11679
|
const bgColor = backgroundColor != null ? backgroundColor : "var(--md-sys-color-surface)";
|
|
11391
|
-
const handleBlur =
|
|
11680
|
+
const handleBlur = React39__namespace.useCallback(
|
|
11392
11681
|
(e) => {
|
|
11393
11682
|
const listEl = e.currentTarget;
|
|
11394
11683
|
if (listEl.contains(e.relatedTarget)) return;
|
|
@@ -11437,7 +11726,7 @@ var TabsListComponent = React38__namespace.forwardRef(
|
|
|
11437
11726
|
}
|
|
11438
11727
|
);
|
|
11439
11728
|
TabsListComponent.displayName = "TabsList";
|
|
11440
|
-
var TabsList =
|
|
11729
|
+
var TabsList = React39__namespace.memo(TabsListComponent);
|
|
11441
11730
|
|
|
11442
11731
|
// src/ui/text-field/text-field.tokens.ts
|
|
11443
11732
|
var TF_COLORS = {
|
|
@@ -11476,7 +11765,7 @@ var TF_TYPOGRAPHY = {
|
|
|
11476
11765
|
var TF_CLASSES = {
|
|
11477
11766
|
// Prefix / Suffix
|
|
11478
11767
|
prefixSuffix: "text-base text-[var(--color-m3-on-surface-variant)] select-none shrink-0"};
|
|
11479
|
-
var ActiveIndicator =
|
|
11768
|
+
var ActiveIndicator = React39__namespace.memo(function ActiveIndicator2({
|
|
11480
11769
|
isFocused,
|
|
11481
11770
|
isError,
|
|
11482
11771
|
isDisabled,
|
|
@@ -11523,7 +11812,7 @@ function getLabelColor(isFloated, isFocused, isError, isDisabled) {
|
|
|
11523
11812
|
if (isFloated && isFocused) return TF_COLORS.primary;
|
|
11524
11813
|
return TF_COLORS.onSurfaceVariant;
|
|
11525
11814
|
}
|
|
11526
|
-
var FloatingLabel =
|
|
11815
|
+
var FloatingLabel = React39__namespace.memo(function FloatingLabel2({
|
|
11527
11816
|
text,
|
|
11528
11817
|
isFloated,
|
|
11529
11818
|
isFocused,
|
|
@@ -11583,7 +11872,7 @@ var FloatingLabel = React38__namespace.memo(function FloatingLabel2({
|
|
|
11583
11872
|
);
|
|
11584
11873
|
});
|
|
11585
11874
|
FloatingLabel.displayName = "FloatingLabel";
|
|
11586
|
-
var LeadingIcon =
|
|
11875
|
+
var LeadingIcon = React39__namespace.memo(function LeadingIcon2({
|
|
11587
11876
|
children,
|
|
11588
11877
|
isError,
|
|
11589
11878
|
isDisabled
|
|
@@ -11607,7 +11896,7 @@ function getOutlineColor(isFocused, isError, isHovered, isDisabled) {
|
|
|
11607
11896
|
if (isHovered) return TF_COLORS.inputText;
|
|
11608
11897
|
return TF_COLORS.outline;
|
|
11609
11898
|
}
|
|
11610
|
-
var OutlineContainer =
|
|
11899
|
+
var OutlineContainer = React39__namespace.memo(function OutlineContainer2({
|
|
11611
11900
|
isFloated,
|
|
11612
11901
|
isFocused,
|
|
11613
11902
|
isError,
|
|
@@ -11705,7 +11994,7 @@ var OutlineContainer = React38__namespace.memo(function OutlineContainer2({
|
|
|
11705
11994
|
);
|
|
11706
11995
|
});
|
|
11707
11996
|
OutlineContainer.displayName = "OutlineContainer";
|
|
11708
|
-
var PrefixSuffix =
|
|
11997
|
+
var PrefixSuffix = React39__namespace.memo(function PrefixSuffix2({
|
|
11709
11998
|
text,
|
|
11710
11999
|
type,
|
|
11711
12000
|
visible,
|
|
@@ -11747,7 +12036,7 @@ function AnimatedText({
|
|
|
11747
12036
|
motionKey
|
|
11748
12037
|
);
|
|
11749
12038
|
}
|
|
11750
|
-
var SupportingText =
|
|
12039
|
+
var SupportingText = React39__namespace.memo(function SupportingText2({
|
|
11751
12040
|
supportingText,
|
|
11752
12041
|
errorText,
|
|
11753
12042
|
isError,
|
|
@@ -11858,7 +12147,7 @@ function ClearIcon() {
|
|
|
11858
12147
|
}
|
|
11859
12148
|
);
|
|
11860
12149
|
}
|
|
11861
|
-
var TrailingIcon =
|
|
12150
|
+
var TrailingIcon = React39__namespace.memo(function TrailingIcon2({
|
|
11862
12151
|
mode,
|
|
11863
12152
|
children,
|
|
11864
12153
|
value,
|
|
@@ -11924,7 +12213,7 @@ var TrailingIcon = React38__namespace.memo(function TrailingIcon2({
|
|
|
11924
12213
|
});
|
|
11925
12214
|
TrailingIcon.displayName = "TrailingIcon";
|
|
11926
12215
|
var LINE_HEIGHT_PX = 24;
|
|
11927
|
-
var TextFieldComponent =
|
|
12216
|
+
var TextFieldComponent = React39__namespace.forwardRef(
|
|
11928
12217
|
({
|
|
11929
12218
|
// Core
|
|
11930
12219
|
variant = "filled",
|
|
@@ -11988,30 +12277,30 @@ var TextFieldComponent = React38__namespace.forwardRef(
|
|
|
11988
12277
|
}, ref) => {
|
|
11989
12278
|
var _a;
|
|
11990
12279
|
const prefersReduced = (_a = react.useReducedMotion()) != null ? _a : false;
|
|
11991
|
-
const generatedId =
|
|
12280
|
+
const generatedId = React39__namespace.useId();
|
|
11992
12281
|
const inputId = idProp != null ? idProp : `tf-${generatedId}`;
|
|
11993
12282
|
const supportingId = `${inputId}-supporting`;
|
|
11994
12283
|
const isControlled = valueProp !== void 0;
|
|
11995
|
-
const [internalValue, setInternalValue] =
|
|
12284
|
+
const [internalValue, setInternalValue] = React39__namespace.useState(defaultValue);
|
|
11996
12285
|
const currentValue = isControlled ? valueProp : internalValue;
|
|
11997
|
-
const [isFocused, setIsFocused] =
|
|
11998
|
-
const [showPassword, setShowPassword] =
|
|
12286
|
+
const [isFocused, setIsFocused] = React39__namespace.useState(false);
|
|
12287
|
+
const [showPassword, setShowPassword] = React39__namespace.useState(false);
|
|
11999
12288
|
const resolvedInputType = type === "password" && showPassword ? "text" : type;
|
|
12000
|
-
const [nativeError, setNativeError] =
|
|
12001
|
-
const [labelWidth, setLabelWidth] =
|
|
12289
|
+
const [nativeError, setNativeError] = React39__namespace.useState("");
|
|
12290
|
+
const [labelWidth, setLabelWidth] = React39__namespace.useState(0);
|
|
12002
12291
|
const hasValue = currentValue.length > 0;
|
|
12003
12292
|
const isFloated = isFocused || hasValue;
|
|
12004
12293
|
const isError = errorProp || !!nativeError || maxLength !== void 0 && currentValue.length > maxLength;
|
|
12005
12294
|
const containerHeight = dense ? TF_SIZE.denseHeight : TF_SIZE.height;
|
|
12006
12295
|
const showAsterisk = required && !noAsterisk;
|
|
12007
|
-
const inputRef =
|
|
12008
|
-
const labelSpanRef =
|
|
12009
|
-
|
|
12296
|
+
const inputRef = React39__namespace.useRef(null);
|
|
12297
|
+
const labelSpanRef = React39__namespace.useRef(null);
|
|
12298
|
+
React39__namespace.useLayoutEffect(() => {
|
|
12010
12299
|
if (labelSpanRef.current) {
|
|
12011
12300
|
setLabelWidth(labelSpanRef.current.offsetWidth);
|
|
12012
12301
|
}
|
|
12013
12302
|
}, []);
|
|
12014
|
-
|
|
12303
|
+
React39__namespace.useLayoutEffect(() => {
|
|
12015
12304
|
if (type !== "textarea" || !inputRef.current) return;
|
|
12016
12305
|
const textarea = inputRef.current;
|
|
12017
12306
|
if (autoResize) {
|
|
@@ -12023,7 +12312,7 @@ var TextFieldComponent = React38__namespace.forwardRef(
|
|
|
12023
12312
|
}
|
|
12024
12313
|
textarea.style.overflowY = "hidden";
|
|
12025
12314
|
}, [type, autoResize, maxRows, currentValue]);
|
|
12026
|
-
const handleValueChange =
|
|
12315
|
+
const handleValueChange = React39__namespace.useCallback(
|
|
12027
12316
|
(newValue) => {
|
|
12028
12317
|
var _a2, _b;
|
|
12029
12318
|
if (!isControlled) setInternalValue(newValue);
|
|
@@ -12032,7 +12321,7 @@ var TextFieldComponent = React38__namespace.forwardRef(
|
|
|
12032
12321
|
},
|
|
12033
12322
|
[isControlled]
|
|
12034
12323
|
);
|
|
12035
|
-
const handleChange =
|
|
12324
|
+
const handleChange = React39__namespace.useCallback(
|
|
12036
12325
|
(e) => {
|
|
12037
12326
|
const newVal = e.target.value;
|
|
12038
12327
|
handleValueChange(newVal);
|
|
@@ -12040,14 +12329,14 @@ var TextFieldComponent = React38__namespace.forwardRef(
|
|
|
12040
12329
|
},
|
|
12041
12330
|
[handleValueChange, onChange]
|
|
12042
12331
|
);
|
|
12043
|
-
const handleFocus =
|
|
12332
|
+
const handleFocus = React39__namespace.useCallback(
|
|
12044
12333
|
(e) => {
|
|
12045
12334
|
setIsFocused(true);
|
|
12046
12335
|
onFocus == null ? void 0 : onFocus(e);
|
|
12047
12336
|
},
|
|
12048
12337
|
[onFocus]
|
|
12049
12338
|
);
|
|
12050
|
-
const handleBlur =
|
|
12339
|
+
const handleBlur = React39__namespace.useCallback(
|
|
12051
12340
|
(e) => {
|
|
12052
12341
|
setIsFocused(false);
|
|
12053
12342
|
const el = inputRef.current;
|
|
@@ -12060,7 +12349,7 @@ var TextFieldComponent = React38__namespace.forwardRef(
|
|
|
12060
12349
|
},
|
|
12061
12350
|
[onBlur]
|
|
12062
12351
|
);
|
|
12063
|
-
const handleClear =
|
|
12352
|
+
const handleClear = React39__namespace.useCallback(() => {
|
|
12064
12353
|
var _a2;
|
|
12065
12354
|
handleValueChange("");
|
|
12066
12355
|
onChange == null ? void 0 : onChange("", {
|
|
@@ -12068,12 +12357,12 @@ var TextFieldComponent = React38__namespace.forwardRef(
|
|
|
12068
12357
|
});
|
|
12069
12358
|
(_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
12070
12359
|
}, [handleValueChange, onChange]);
|
|
12071
|
-
const handlePasswordToggle =
|
|
12360
|
+
const handlePasswordToggle = React39__namespace.useCallback(() => {
|
|
12072
12361
|
var _a2;
|
|
12073
12362
|
setShowPassword((prev) => !prev);
|
|
12074
12363
|
(_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
12075
12364
|
}, []);
|
|
12076
|
-
|
|
12365
|
+
React39__namespace.useImperativeHandle(
|
|
12077
12366
|
ref,
|
|
12078
12367
|
() => ({
|
|
12079
12368
|
focus: () => {
|
|
@@ -12318,7 +12607,7 @@ var TextFieldComponent = React38__namespace.forwardRef(
|
|
|
12318
12607
|
}
|
|
12319
12608
|
);
|
|
12320
12609
|
TextFieldComponent.displayName = "TextField";
|
|
12321
|
-
var TextField =
|
|
12610
|
+
var TextField = React39__namespace.memo(TextFieldComponent);
|
|
12322
12611
|
|
|
12323
12612
|
// src/ui/typography/typography-key-tokens.ts
|
|
12324
12613
|
var TypographyKeyTokens = /* @__PURE__ */ ((TypographyKeyTokens2) => {
|
|
@@ -13033,9 +13322,9 @@ var TOKEN_TO_PROP = {
|
|
|
13033
13322
|
};
|
|
13034
13323
|
var defaultTokens = new TypographyTokens();
|
|
13035
13324
|
var defaultTypography = new Typography();
|
|
13036
|
-
var TypographyContext =
|
|
13325
|
+
var TypographyContext = React39.createContext(defaultTypography);
|
|
13037
13326
|
function useTypography() {
|
|
13038
|
-
return
|
|
13327
|
+
return React39.useContext(TypographyContext);
|
|
13039
13328
|
}
|
|
13040
13329
|
function TypographyProvider({
|
|
13041
13330
|
children,
|
|
@@ -13043,7 +13332,7 @@ function TypographyProvider({
|
|
|
13043
13332
|
fontFamily,
|
|
13044
13333
|
fontVariationAxes
|
|
13045
13334
|
}) {
|
|
13046
|
-
const value =
|
|
13335
|
+
const value = React39.useMemo(() => {
|
|
13047
13336
|
if (typography) return typography;
|
|
13048
13337
|
if (fontFamily || fontVariationAxes) {
|
|
13049
13338
|
return new Typography(
|
|
@@ -13054,7 +13343,7 @@ function TypographyProvider({
|
|
|
13054
13343
|
}, [typography, fontFamily, fontVariationAxes]);
|
|
13055
13344
|
return /* @__PURE__ */ jsxRuntime.jsx(TypographyContext.Provider, { value, children });
|
|
13056
13345
|
}
|
|
13057
|
-
var ThemeContext =
|
|
13346
|
+
var ThemeContext = React39.createContext(void 0);
|
|
13058
13347
|
var STORAGE_KEY_COLOR = "md3-source-color";
|
|
13059
13348
|
var STORAGE_KEY_MODE = "md3-theme-mode";
|
|
13060
13349
|
var defaultTokens2 = new TypographyTokens();
|
|
@@ -13069,10 +13358,10 @@ function MD3ThemeProvider({
|
|
|
13069
13358
|
fontVariationAxes,
|
|
13070
13359
|
enableSnackbar = false
|
|
13071
13360
|
}) {
|
|
13072
|
-
const [sourceColor, setSourceColor] =
|
|
13073
|
-
const [mode, setMode] =
|
|
13074
|
-
const [isHydrated, setIsHydrated] =
|
|
13075
|
-
|
|
13361
|
+
const [sourceColor, setSourceColor] = React39.useState(initialSourceColor);
|
|
13362
|
+
const [mode, setMode] = React39.useState(defaultMode);
|
|
13363
|
+
const [isHydrated, setIsHydrated] = React39.useState(!persistToLocalStorage);
|
|
13364
|
+
React39.useEffect(() => {
|
|
13076
13365
|
if (!persistToLocalStorage) return;
|
|
13077
13366
|
const savedColor = localStorage.getItem(STORAGE_KEY_COLOR);
|
|
13078
13367
|
const savedMode = localStorage.getItem(
|
|
@@ -13083,7 +13372,7 @@ function MD3ThemeProvider({
|
|
|
13083
13372
|
setMode(savedMode);
|
|
13084
13373
|
setIsHydrated(true);
|
|
13085
13374
|
}, [persistToLocalStorage]);
|
|
13086
|
-
|
|
13375
|
+
React39.useEffect(() => {
|
|
13087
13376
|
if (!isHydrated) return;
|
|
13088
13377
|
applyTheme(sourceColor, mode);
|
|
13089
13378
|
if (persistToLocalStorage) {
|
|
@@ -13091,7 +13380,7 @@ function MD3ThemeProvider({
|
|
|
13091
13380
|
localStorage.setItem(STORAGE_KEY_MODE, mode);
|
|
13092
13381
|
}
|
|
13093
13382
|
}, [sourceColor, mode, persistToLocalStorage, isHydrated]);
|
|
13094
|
-
|
|
13383
|
+
React39.useEffect(() => {
|
|
13095
13384
|
if (mode !== "system" || typeof window === "undefined") return;
|
|
13096
13385
|
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
13097
13386
|
const handleChange = () => applyTheme(sourceColor, "system");
|
|
@@ -13099,11 +13388,11 @@ function MD3ThemeProvider({
|
|
|
13099
13388
|
return () => mediaQuery.removeEventListener("change", handleChange);
|
|
13100
13389
|
}, [mode, sourceColor]);
|
|
13101
13390
|
const effectiveMode = resolveMode(mode);
|
|
13102
|
-
const themeValue =
|
|
13391
|
+
const themeValue = React39.useMemo(
|
|
13103
13392
|
() => ({ sourceColor, setSourceColor, mode, setMode, effectiveMode }),
|
|
13104
13393
|
[sourceColor, mode, effectiveMode]
|
|
13105
13394
|
);
|
|
13106
|
-
const typographyValue =
|
|
13395
|
+
const typographyValue = React39.useMemo(() => {
|
|
13107
13396
|
if (typographyProp) return typographyProp;
|
|
13108
13397
|
if (fontFamily != null ? fontFamily : fontVariationAxes) {
|
|
13109
13398
|
return new Typography(
|
|
@@ -13116,7 +13405,7 @@ function MD3ThemeProvider({
|
|
|
13116
13405
|
}
|
|
13117
13406
|
function SnackbarMountedProvider({ children }) {
|
|
13118
13407
|
const state = useSnackbarState();
|
|
13119
|
-
const contextValue =
|
|
13408
|
+
const contextValue = React39.useMemo(
|
|
13120
13409
|
() => ({ showSnackbar: state.showSnackbar }),
|
|
13121
13410
|
[state.showSnackbar]
|
|
13122
13411
|
);
|
|
@@ -13126,7 +13415,7 @@ function SnackbarMountedProvider({ children }) {
|
|
|
13126
13415
|
] });
|
|
13127
13416
|
}
|
|
13128
13417
|
function useTheme() {
|
|
13129
|
-
const context =
|
|
13418
|
+
const context = React39.useContext(ThemeContext);
|
|
13130
13419
|
if (!context) {
|
|
13131
13420
|
throw new Error("useTheme must be used within <MD3ThemeProvider>.");
|
|
13132
13421
|
}
|
|
@@ -13141,9 +13430,9 @@ function TableOfContents({
|
|
|
13141
13430
|
className,
|
|
13142
13431
|
scrollAreaProps
|
|
13143
13432
|
}) {
|
|
13144
|
-
const [activeId, setActiveId] =
|
|
13145
|
-
const itemIds =
|
|
13146
|
-
|
|
13433
|
+
const [activeId, setActiveId] = React39.useState("");
|
|
13434
|
+
const itemIds = React39.useMemo(() => items.map((i) => i.id), [items]);
|
|
13435
|
+
React39.useEffect(() => {
|
|
13147
13436
|
if (typeof IntersectionObserver === "undefined") return;
|
|
13148
13437
|
const observer = new IntersectionObserver(
|
|
13149
13438
|
(entries) => {
|
|
@@ -13160,7 +13449,7 @@ function TableOfContents({
|
|
|
13160
13449
|
}
|
|
13161
13450
|
return () => observer.disconnect();
|
|
13162
13451
|
}, [itemIds]);
|
|
13163
|
-
const handleClick =
|
|
13452
|
+
const handleClick = React39.useCallback(
|
|
13164
13453
|
(e, id) => {
|
|
13165
13454
|
var _a;
|
|
13166
13455
|
e.preventDefault();
|
|
@@ -13296,7 +13585,7 @@ function TooltipCaretShape({
|
|
|
13296
13585
|
}
|
|
13297
13586
|
);
|
|
13298
13587
|
}
|
|
13299
|
-
var PlainTooltip =
|
|
13588
|
+
var PlainTooltip = React39.forwardRef(
|
|
13300
13589
|
(_a, ref) => {
|
|
13301
13590
|
var _b = _a, {
|
|
13302
13591
|
children,
|
|
@@ -13353,7 +13642,7 @@ var PlainTooltip = React38.forwardRef(
|
|
|
13353
13642
|
}
|
|
13354
13643
|
);
|
|
13355
13644
|
PlainTooltip.displayName = "PlainTooltip";
|
|
13356
|
-
var RichTooltip =
|
|
13645
|
+
var RichTooltip = React39.forwardRef(
|
|
13357
13646
|
(_a, ref) => {
|
|
13358
13647
|
var _b = _a, {
|
|
13359
13648
|
children,
|
|
@@ -13437,7 +13726,7 @@ var RichTooltip = React38.forwardRef(
|
|
|
13437
13726
|
);
|
|
13438
13727
|
RichTooltip.displayName = "RichTooltip";
|
|
13439
13728
|
var VIEWPORT_PADDING = 8;
|
|
13440
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ?
|
|
13729
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React39.useLayoutEffect : React39.useEffect;
|
|
13441
13730
|
function resolveAutoPlacement(spaceTop, spaceBottom, spaceLeft, spaceRight, tooltipWidth, tooltipHeight, spacing) {
|
|
13442
13731
|
if (spaceTop >= tooltipHeight + spacing) return "top";
|
|
13443
13732
|
if (spaceBottom >= tooltipHeight + spacing) return "bottom";
|
|
@@ -13497,7 +13786,7 @@ function clampToViewport(side, top, left, tooltipWidth, tooltipHeight) {
|
|
|
13497
13786
|
return { top, left };
|
|
13498
13787
|
}
|
|
13499
13788
|
function useTooltipPosition(anchorRef, tooltipRef, placement, spacing, isVisible) {
|
|
13500
|
-
const [position, setPosition] =
|
|
13789
|
+
const [position, setPosition] = React39.useState({
|
|
13501
13790
|
top: -9999,
|
|
13502
13791
|
left: -9999,
|
|
13503
13792
|
actualSide: placement === "auto" ? "top" : placement
|
|
@@ -13572,24 +13861,24 @@ function useTooltipState(config) {
|
|
|
13572
13861
|
isPersistent = false,
|
|
13573
13862
|
duration = 1500
|
|
13574
13863
|
} = config != null ? config : {};
|
|
13575
|
-
const [isVisible, setIsVisible] =
|
|
13576
|
-
const dismiss =
|
|
13864
|
+
const [isVisible, setIsVisible] = React39.useState(initialVisible);
|
|
13865
|
+
const dismiss = React39.useCallback(() => {
|
|
13577
13866
|
setIsVisible(false);
|
|
13578
13867
|
activeTooltipDismissals.delete(dismiss);
|
|
13579
13868
|
}, []);
|
|
13580
|
-
const show =
|
|
13869
|
+
const show = React39.useCallback(() => {
|
|
13581
13870
|
for (const otherDismiss of activeTooltipDismissals) {
|
|
13582
13871
|
if (otherDismiss !== dismiss) otherDismiss();
|
|
13583
13872
|
}
|
|
13584
13873
|
setIsVisible(true);
|
|
13585
13874
|
activeTooltipDismissals.add(dismiss);
|
|
13586
13875
|
}, [dismiss]);
|
|
13587
|
-
|
|
13876
|
+
React39.useEffect(() => {
|
|
13588
13877
|
if (!isVisible || isPersistent) return;
|
|
13589
13878
|
const timeoutId = setTimeout(dismiss, duration);
|
|
13590
13879
|
return () => clearTimeout(timeoutId);
|
|
13591
13880
|
}, [isVisible, isPersistent, duration, dismiss]);
|
|
13592
|
-
|
|
13881
|
+
React39.useEffect(() => {
|
|
13593
13882
|
return () => {
|
|
13594
13883
|
activeTooltipDismissals.delete(dismiss);
|
|
13595
13884
|
};
|
|
@@ -13646,20 +13935,20 @@ function TooltipBox({
|
|
|
13646
13935
|
}) {
|
|
13647
13936
|
const internalState = useTooltipState();
|
|
13648
13937
|
const state = controlledState != null ? controlledState : internalState;
|
|
13649
|
-
const anchorRef =
|
|
13650
|
-
const tooltipRef =
|
|
13651
|
-
const hoverTimeoutRef =
|
|
13652
|
-
const hideTimeoutRef =
|
|
13653
|
-
const pressTimeoutRef =
|
|
13938
|
+
const anchorRef = React39.useRef(null);
|
|
13939
|
+
const tooltipRef = React39.useRef(null);
|
|
13940
|
+
const hoverTimeoutRef = React39.useRef(null);
|
|
13941
|
+
const hideTimeoutRef = React39.useRef(null);
|
|
13942
|
+
const pressTimeoutRef = React39.useRef(null);
|
|
13654
13943
|
const triggers = Array.isArray(trigger) ? trigger : [trigger];
|
|
13655
|
-
const [mounted, setMounted] =
|
|
13656
|
-
const [hasHoverSupport, setHasHoverSupport] =
|
|
13657
|
-
const [prefersReducedMotion, setPrefersReducedMotion] =
|
|
13658
|
-
|
|
13944
|
+
const [mounted, setMounted] = React39.useState(false);
|
|
13945
|
+
const [hasHoverSupport, setHasHoverSupport] = React39.useState(true);
|
|
13946
|
+
const [prefersReducedMotion, setPrefersReducedMotion] = React39.useState(false);
|
|
13947
|
+
React39.useEffect(() => {
|
|
13659
13948
|
setMounted(true);
|
|
13660
13949
|
setHasHoverSupport(!window.matchMedia("(hover: none)").matches);
|
|
13661
13950
|
}, []);
|
|
13662
|
-
|
|
13951
|
+
React39.useEffect(() => {
|
|
13663
13952
|
const mediaQuery = window.matchMedia("(prefers-reduced-motion: reduce)");
|
|
13664
13953
|
setPrefersReducedMotion(mediaQuery.matches);
|
|
13665
13954
|
const onChange = (e) => setPrefersReducedMotion(e.matches);
|
|
@@ -13731,7 +14020,7 @@ function TooltipBox({
|
|
|
13731
14020
|
hideDelay
|
|
13732
14021
|
);
|
|
13733
14022
|
};
|
|
13734
|
-
|
|
14023
|
+
React39.useEffect(() => {
|
|
13735
14024
|
if (!state.isVisible) return;
|
|
13736
14025
|
const onKeyDown = (e) => {
|
|
13737
14026
|
var _a;
|
|
@@ -13743,8 +14032,8 @@ function TooltipBox({
|
|
|
13743
14032
|
document.addEventListener("keydown", onKeyDown);
|
|
13744
14033
|
return () => document.removeEventListener("keydown", onKeyDown);
|
|
13745
14034
|
}, [state.isVisible, state]);
|
|
13746
|
-
const tooltipId =
|
|
13747
|
-
const tooltipWithProps =
|
|
14035
|
+
const tooltipId = React39.useId();
|
|
14036
|
+
const tooltipWithProps = React39.cloneElement(
|
|
13748
14037
|
tooltip,
|
|
13749
14038
|
{
|
|
13750
14039
|
"data-side": position.actualSide,
|
|
@@ -13772,7 +14061,7 @@ function TooltipBox({
|
|
|
13772
14061
|
onKeyDown: handleKeyDown,
|
|
13773
14062
|
"aria-label": ariaLabel,
|
|
13774
14063
|
"aria-describedby": state.isVisible ? tooltipId : void 0,
|
|
13775
|
-
children:
|
|
14064
|
+
children: React39__namespace.isValidElement(children) ? children : /* @__PURE__ */ jsxRuntime.jsx("span", { children })
|
|
13776
14065
|
}
|
|
13777
14066
|
),
|
|
13778
14067
|
mounted && reactDom.createPortal(
|
|
@@ -13881,6 +14170,8 @@ exports.MenuGroup = MenuGroup;
|
|
|
13881
14170
|
exports.MenuItem = MenuItem;
|
|
13882
14171
|
exports.MenuProvider = MenuProvider;
|
|
13883
14172
|
exports.MenuTrigger = MenuTrigger;
|
|
14173
|
+
exports.NavigationBar = NavigationBar;
|
|
14174
|
+
exports.NavigationBarItem = NavigationBarItem;
|
|
13884
14175
|
exports.NavigationRail = NavigationRail;
|
|
13885
14176
|
exports.NavigationRailItem = NavigationRailItem;
|
|
13886
14177
|
exports.PlainTooltip = PlainTooltip;
|