@refraction-ui/react 0.3.3 → 0.3.5
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/dist/index.cjs +988 -771
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +979 -771
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var React42 = require('react');
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var ReactDOM = require('react-dom');
|
|
6
6
|
|
|
@@ -22,7 +22,7 @@ function _interopNamespace(e) {
|
|
|
22
22
|
return Object.freeze(n);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var React42__namespace = /*#__PURE__*/_interopNamespace(React42);
|
|
26
26
|
var ReactDOM__namespace = /*#__PURE__*/_interopNamespace(ReactDOM);
|
|
27
27
|
|
|
28
28
|
var __create = Object.create;
|
|
@@ -91,6 +91,7 @@ __export(index_exports, {
|
|
|
91
91
|
AccordionContent: () => AccordionContent,
|
|
92
92
|
AccordionItem: () => AccordionItem,
|
|
93
93
|
AccordionTrigger: () => AccordionTrigger,
|
|
94
|
+
AltHintState: () => AltHintState,
|
|
94
95
|
AnimatedText: () => AnimatedText,
|
|
95
96
|
AppShell: () => AppShell,
|
|
96
97
|
AuthGuard: () => AuthGuard,
|
|
@@ -191,6 +192,7 @@ __export(index_exports, {
|
|
|
191
192
|
ResizableDivider: () => ResizableDivider,
|
|
192
193
|
ResizableLayout: () => ResizableLayout,
|
|
193
194
|
ResizablePane: () => ResizablePane,
|
|
195
|
+
SANE_DEFAULTS: () => SANE_DEFAULTS,
|
|
194
196
|
STATUS_COLORS: () => STATUS_COLORS2,
|
|
195
197
|
STATUS_LABELS: () => STATUS_LABELS2,
|
|
196
198
|
SearchBar: () => SearchBar,
|
|
@@ -201,6 +203,10 @@ __export(index_exports, {
|
|
|
201
203
|
SelectItem: () => SelectItem,
|
|
202
204
|
SelectTrigger: () => SelectTrigger,
|
|
203
205
|
ShortcutBadge: () => ShortcutBadge,
|
|
206
|
+
ShortcutContext: () => ShortcutContext,
|
|
207
|
+
ShortcutHint: () => ShortcutHint,
|
|
208
|
+
ShortcutProvider: () => ShortcutProvider,
|
|
209
|
+
ShortcutRegistry: () => ShortcutRegistry,
|
|
204
210
|
Sidebar: () => Sidebar,
|
|
205
211
|
Skeleton: () => Skeleton,
|
|
206
212
|
SkeletonText: () => SkeletonText,
|
|
@@ -229,6 +235,7 @@ __export(index_exports, {
|
|
|
229
235
|
TypewriterText: () => TypewriterText,
|
|
230
236
|
VersionSelector: () => VersionSelector,
|
|
231
237
|
VideoPlayer: () => VideoPlayer,
|
|
238
|
+
altHintState: () => altHintState,
|
|
232
239
|
animatedTextVariants: () => animatedTextVariants,
|
|
233
240
|
avatarFallbackVariants: () => avatarFallbackVariants,
|
|
234
241
|
avatarImageVariants: () => avatarImageVariants,
|
|
@@ -286,6 +293,7 @@ __export(index_exports, {
|
|
|
286
293
|
getAssignableRoles: () => getAssignableRoles,
|
|
287
294
|
getDefaultPortal: () => getDefaultPortal,
|
|
288
295
|
getInitials: () => getInitials,
|
|
296
|
+
globalShortcutRegistry: () => globalShortcutRegistry,
|
|
289
297
|
hasAllRoles: () => hasAllRoles,
|
|
290
298
|
hasAnyRole: () => hasAnyRole,
|
|
291
299
|
hasRole: () => hasRole,
|
|
@@ -375,6 +383,7 @@ __export(index_exports, {
|
|
|
375
383
|
tooltipContentVariants: () => tooltipContentVariants,
|
|
376
384
|
typewriterVariants: () => typewriterVariants,
|
|
377
385
|
useAuth: () => useAuth,
|
|
386
|
+
useShortcut: () => useShortcut,
|
|
378
387
|
useTheme: () => useTheme,
|
|
379
388
|
useToast: () => useToast,
|
|
380
389
|
versionSelectorOptionVariants: () => optionVariants2,
|
|
@@ -496,14 +505,14 @@ function applyThemeToDOM(resolved, attribute = "class") {
|
|
|
496
505
|
}
|
|
497
506
|
|
|
498
507
|
// ../react-theme/dist/index.js
|
|
499
|
-
var ThemeContext =
|
|
508
|
+
var ThemeContext = React42__namespace.createContext(null);
|
|
500
509
|
function ThemeProvider({
|
|
501
510
|
children,
|
|
502
511
|
defaultMode = "system",
|
|
503
512
|
storageKey = "rfr-theme",
|
|
504
513
|
attribute = "class"
|
|
505
514
|
}) {
|
|
506
|
-
const themeRef =
|
|
515
|
+
const themeRef = React42__namespace.useRef(null);
|
|
507
516
|
if (!themeRef.current) {
|
|
508
517
|
const isBrowser = typeof window !== "undefined";
|
|
509
518
|
themeRef.current = createTheme(
|
|
@@ -512,8 +521,8 @@ function ThemeProvider({
|
|
|
512
521
|
isBrowser ? createMediaQueryAdapter() : void 0
|
|
513
522
|
);
|
|
514
523
|
}
|
|
515
|
-
const [state, setState] =
|
|
516
|
-
|
|
524
|
+
const [state, setState] = React42__namespace.useState(() => themeRef.current.getState());
|
|
525
|
+
React42__namespace.useEffect(() => {
|
|
517
526
|
const theme = themeRef.current;
|
|
518
527
|
applyThemeToDOM(theme.getState().resolved, attribute);
|
|
519
528
|
const unsub = theme.subscribe((newState) => {
|
|
@@ -525,7 +534,7 @@ function ThemeProvider({
|
|
|
525
534
|
theme.destroy();
|
|
526
535
|
};
|
|
527
536
|
}, [attribute]);
|
|
528
|
-
const contextValue =
|
|
537
|
+
const contextValue = React42__namespace.useMemo(
|
|
529
538
|
() => ({
|
|
530
539
|
mode: state.mode,
|
|
531
540
|
resolved: state.resolved,
|
|
@@ -533,10 +542,10 @@ function ThemeProvider({
|
|
|
533
542
|
}),
|
|
534
543
|
[state.mode, state.resolved]
|
|
535
544
|
);
|
|
536
|
-
return
|
|
545
|
+
return React42__namespace.createElement(ThemeContext.Provider, { value: contextValue }, children);
|
|
537
546
|
}
|
|
538
547
|
function useTheme() {
|
|
539
|
-
const context =
|
|
548
|
+
const context = React42__namespace.useContext(ThemeContext);
|
|
540
549
|
if (!context) {
|
|
541
550
|
throw new Error("useTheme must be used within a <ThemeProvider>");
|
|
542
551
|
}
|
|
@@ -548,7 +557,7 @@ var modes = [
|
|
|
548
557
|
{ value: "system", label: "System", icon: "monitor" }
|
|
549
558
|
];
|
|
550
559
|
var icons = {
|
|
551
|
-
sun:
|
|
560
|
+
sun: React42__namespace.createElement(
|
|
552
561
|
"svg",
|
|
553
562
|
{
|
|
554
563
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -561,10 +570,10 @@ var icons = {
|
|
|
561
570
|
strokeLinecap: "round",
|
|
562
571
|
strokeLinejoin: "round"
|
|
563
572
|
},
|
|
564
|
-
|
|
565
|
-
|
|
573
|
+
React42__namespace.createElement("circle", { cx: 12, cy: 12, r: 5 }),
|
|
574
|
+
React42__namespace.createElement("path", { d: "M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42" })
|
|
566
575
|
),
|
|
567
|
-
moon:
|
|
576
|
+
moon: React42__namespace.createElement(
|
|
568
577
|
"svg",
|
|
569
578
|
{
|
|
570
579
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -577,9 +586,9 @@ var icons = {
|
|
|
577
586
|
strokeLinecap: "round",
|
|
578
587
|
strokeLinejoin: "round"
|
|
579
588
|
},
|
|
580
|
-
|
|
589
|
+
React42__namespace.createElement("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" })
|
|
581
590
|
),
|
|
582
|
-
monitor:
|
|
591
|
+
monitor: React42__namespace.createElement(
|
|
583
592
|
"svg",
|
|
584
593
|
{
|
|
585
594
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -592,15 +601,15 @@ var icons = {
|
|
|
592
601
|
strokeLinecap: "round",
|
|
593
602
|
strokeLinejoin: "round"
|
|
594
603
|
},
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
604
|
+
React42__namespace.createElement("rect", { x: 2, y: 3, width: 20, height: 14, rx: 2, ry: 2 }),
|
|
605
|
+
React42__namespace.createElement("line", { x1: 8, y1: 21, x2: 16, y2: 21 }),
|
|
606
|
+
React42__namespace.createElement("line", { x1: 12, y1: 17, x2: 12, y2: 21 })
|
|
598
607
|
)
|
|
599
608
|
};
|
|
600
609
|
function ThemeToggle({ className, variant = "segmented" }) {
|
|
601
610
|
const { mode, setMode } = useTheme();
|
|
602
611
|
if (variant === "segmented") {
|
|
603
|
-
return
|
|
612
|
+
return React42__namespace.createElement(
|
|
604
613
|
"div",
|
|
605
614
|
{
|
|
606
615
|
className: `inline-flex items-center gap-1 rounded-lg border p-1 ${className ?? ""}`,
|
|
@@ -608,7 +617,7 @@ function ThemeToggle({ className, variant = "segmented" }) {
|
|
|
608
617
|
"aria-label": "Theme"
|
|
609
618
|
},
|
|
610
619
|
modes.map(
|
|
611
|
-
({ value, label, icon }) =>
|
|
620
|
+
({ value, label, icon }) => React42__namespace.createElement("button", {
|
|
612
621
|
key: value,
|
|
613
622
|
type: "button",
|
|
614
623
|
role: "radio",
|
|
@@ -620,9 +629,9 @@ function ThemeToggle({ className, variant = "segmented" }) {
|
|
|
620
629
|
)
|
|
621
630
|
);
|
|
622
631
|
}
|
|
623
|
-
const [open, setOpen] =
|
|
624
|
-
const ref =
|
|
625
|
-
|
|
632
|
+
const [open, setOpen] = React42__namespace.useState(false);
|
|
633
|
+
const ref = React42__namespace.useRef(null);
|
|
634
|
+
React42__namespace.useEffect(() => {
|
|
626
635
|
if (!open) return;
|
|
627
636
|
const handler = (e) => {
|
|
628
637
|
if (ref.current && !ref.current.contains(e.target)) setOpen(false);
|
|
@@ -631,24 +640,24 @@ function ThemeToggle({ className, variant = "segmented" }) {
|
|
|
631
640
|
return () => document.removeEventListener("mousedown", handler);
|
|
632
641
|
}, [open]);
|
|
633
642
|
const currentIcon = modes.find((m) => m.value === mode)?.icon ?? "monitor";
|
|
634
|
-
return
|
|
643
|
+
return React42__namespace.createElement(
|
|
635
644
|
"div",
|
|
636
645
|
{ ref, className: `relative ${className ?? ""}` },
|
|
637
|
-
|
|
646
|
+
React42__namespace.createElement("button", {
|
|
638
647
|
type: "button",
|
|
639
648
|
"aria-label": "Toggle theme",
|
|
640
649
|
"aria-expanded": open,
|
|
641
650
|
className: "inline-flex items-center justify-center rounded-md p-2 text-sm transition-colors hover:bg-muted",
|
|
642
651
|
onClick: () => setOpen(!open)
|
|
643
652
|
}, icons[currentIcon]),
|
|
644
|
-
open &&
|
|
653
|
+
open && React42__namespace.createElement(
|
|
645
654
|
"div",
|
|
646
655
|
{
|
|
647
656
|
className: "absolute right-0 top-full mt-1 z-50 min-w-[8rem] rounded-md border bg-popover p-1 shadow-md",
|
|
648
657
|
role: "menu"
|
|
649
658
|
},
|
|
650
659
|
modes.map(
|
|
651
|
-
({ value, label, icon }) =>
|
|
660
|
+
({ value, label, icon }) => React42__namespace.createElement("button", {
|
|
652
661
|
key: value,
|
|
653
662
|
type: "button",
|
|
654
663
|
role: "menuitem",
|
|
@@ -666,7 +675,7 @@ function ThemeScript({
|
|
|
666
675
|
storageKey = "rfr-theme",
|
|
667
676
|
attribute = "class"
|
|
668
677
|
}) {
|
|
669
|
-
return
|
|
678
|
+
return React42__namespace.createElement("script", {
|
|
670
679
|
dangerouslySetInnerHTML: {
|
|
671
680
|
__html: getThemeScript(storageKey, attribute)
|
|
672
681
|
}
|
|
@@ -784,14 +793,14 @@ function cva(config) {
|
|
|
784
793
|
return classes.filter(Boolean).join(" ");
|
|
785
794
|
};
|
|
786
795
|
}
|
|
787
|
-
var AccordionContext =
|
|
788
|
-
var Accordion =
|
|
796
|
+
var AccordionContext = React42__namespace.createContext(null);
|
|
797
|
+
var Accordion = React42__namespace.forwardRef(
|
|
789
798
|
({ className, type = "single", collapsible, value: controlledValue, defaultValue, onValueChange, ...props }, ref) => {
|
|
790
|
-
const [uncontrolledValue, setUncontrolledValue] =
|
|
799
|
+
const [uncontrolledValue, setUncontrolledValue] = React42__namespace.useState(
|
|
791
800
|
defaultValue ?? (type === "multiple" ? [] : "")
|
|
792
801
|
);
|
|
793
802
|
const value = controlledValue !== void 0 ? controlledValue : uncontrolledValue;
|
|
794
|
-
const handleValueChange =
|
|
803
|
+
const handleValueChange = React42__namespace.useCallback(
|
|
795
804
|
(itemValue) => {
|
|
796
805
|
if (type === "single") {
|
|
797
806
|
const newValue = value === itemValue && collapsible ? "" : itemValue;
|
|
@@ -810,20 +819,20 @@ var Accordion = React41__namespace.forwardRef(
|
|
|
810
819
|
}
|
|
811
820
|
);
|
|
812
821
|
Accordion.displayName = "Accordion";
|
|
813
|
-
var AccordionItemContext =
|
|
814
|
-
var AccordionItem =
|
|
822
|
+
var AccordionItemContext = React42__namespace.createContext(null);
|
|
823
|
+
var AccordionItem = React42__namespace.forwardRef(
|
|
815
824
|
({ className, value, ...props }, ref) => {
|
|
816
|
-
const context =
|
|
825
|
+
const context = React42__namespace.useContext(AccordionContext);
|
|
817
826
|
if (!context) throw new Error("AccordionItem must be within Accordion");
|
|
818
827
|
const isOpen = context.type === "single" ? context.value === value : Array.isArray(context.value) && context.value.includes(value);
|
|
819
828
|
return /* @__PURE__ */ jsxRuntime.jsx(AccordionItemContext.Provider, { value: { value, isOpen }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("border-b border-border", className), "data-state": isOpen ? "open" : "closed", ...props }) });
|
|
820
829
|
}
|
|
821
830
|
);
|
|
822
831
|
AccordionItem.displayName = "AccordionItem";
|
|
823
|
-
var AccordionTrigger =
|
|
832
|
+
var AccordionTrigger = React42__namespace.forwardRef(
|
|
824
833
|
({ className, children, ...props }, ref) => {
|
|
825
|
-
const accordionContext =
|
|
826
|
-
const itemContext =
|
|
834
|
+
const accordionContext = React42__namespace.useContext(AccordionContext);
|
|
835
|
+
const itemContext = React42__namespace.useContext(AccordionItemContext);
|
|
827
836
|
if (!accordionContext || !itemContext) throw new Error("AccordionTrigger missing context");
|
|
828
837
|
return /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "flex m-0 p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
829
838
|
"button",
|
|
@@ -862,9 +871,9 @@ var AccordionTrigger = React41__namespace.forwardRef(
|
|
|
862
871
|
}
|
|
863
872
|
);
|
|
864
873
|
AccordionTrigger.displayName = "AccordionTrigger";
|
|
865
|
-
var AccordionContent =
|
|
874
|
+
var AccordionContent = React42__namespace.forwardRef(
|
|
866
875
|
({ className, children, ...props }, ref) => {
|
|
867
|
-
const itemContext =
|
|
876
|
+
const itemContext = React42__namespace.useContext(AccordionItemContext);
|
|
868
877
|
if (!itemContext) throw new Error("AccordionContent missing context");
|
|
869
878
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
870
879
|
"div",
|
|
@@ -946,16 +955,16 @@ var typewriterVariants = cva({
|
|
|
946
955
|
cursor: "blinking"
|
|
947
956
|
}
|
|
948
957
|
});
|
|
949
|
-
var AnimatedText =
|
|
958
|
+
var AnimatedText = React42__namespace.forwardRef(
|
|
950
959
|
({ words, interval = 2500, transitionDuration = 1e3, className, ...props }, ref) => {
|
|
951
|
-
const apiRef =
|
|
960
|
+
const apiRef = React42__namespace.useRef(
|
|
952
961
|
createAnimatedText({ words})
|
|
953
962
|
);
|
|
954
963
|
const api = apiRef.current;
|
|
955
|
-
const [currentIndex, setCurrentIndex] =
|
|
956
|
-
const [isExiting, setIsExiting] =
|
|
964
|
+
const [currentIndex, setCurrentIndex] = React42__namespace.useState(0);
|
|
965
|
+
const [isExiting, setIsExiting] = React42__namespace.useState(false);
|
|
957
966
|
const prefersReducedMotion = typeof globalThis !== "undefined" && typeof globalThis.matchMedia === "function" && globalThis.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
958
|
-
|
|
967
|
+
React42__namespace.useEffect(() => {
|
|
959
968
|
if (words.length <= 1) return;
|
|
960
969
|
const tick = setInterval(() => {
|
|
961
970
|
if (prefersReducedMotion) {
|
|
@@ -991,13 +1000,13 @@ var AnimatedText = React41__namespace.forwardRef(
|
|
|
991
1000
|
}
|
|
992
1001
|
);
|
|
993
1002
|
AnimatedText.displayName = "AnimatedText";
|
|
994
|
-
var TypewriterText =
|
|
1003
|
+
var TypewriterText = React42__namespace.forwardRef(
|
|
995
1004
|
({ text, speed = 50, startDelay = 0, className, ...props }, ref) => {
|
|
996
|
-
const apiRef =
|
|
1005
|
+
const apiRef = React42__namespace.useRef(createTypewriter({ text}));
|
|
997
1006
|
const api = apiRef.current;
|
|
998
|
-
const [currentIndex, setCurrentIndex] =
|
|
1007
|
+
const [currentIndex, setCurrentIndex] = React42__namespace.useState(0);
|
|
999
1008
|
const prefersReducedMotion = typeof globalThis !== "undefined" && typeof globalThis.matchMedia === "function" && globalThis.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
1000
|
-
|
|
1009
|
+
React42__namespace.useEffect(() => {
|
|
1001
1010
|
if (prefersReducedMotion) {
|
|
1002
1011
|
api.state.currentIndex = text.length;
|
|
1003
1012
|
setCurrentIndex(text.length);
|
|
@@ -1158,24 +1167,24 @@ function getAssignableRoles(user) {
|
|
|
1158
1167
|
}
|
|
1159
1168
|
|
|
1160
1169
|
// ../react-auth/dist/index.js
|
|
1161
|
-
var AuthContext =
|
|
1170
|
+
var AuthContext = React42__namespace.createContext(null);
|
|
1162
1171
|
function AuthProvider({ children, ...config }) {
|
|
1163
|
-
const authRef =
|
|
1172
|
+
const authRef = React42__namespace.useRef(null);
|
|
1164
1173
|
if (!authRef.current) {
|
|
1165
1174
|
if (!config.adapter && !config.testMode) {
|
|
1166
1175
|
throw new Error("[refraction-ui/react-auth] You must provide an `adapter` to AuthProvider.");
|
|
1167
1176
|
}
|
|
1168
1177
|
authRef.current = createAuth(config.adapter, config);
|
|
1169
1178
|
}
|
|
1170
|
-
const [state, setState] =
|
|
1171
|
-
|
|
1179
|
+
const [state, setState] = React42__namespace.useState(() => authRef.current.getState());
|
|
1180
|
+
React42__namespace.useEffect(() => {
|
|
1172
1181
|
const unsub = authRef.current.subscribe(setState);
|
|
1173
1182
|
return () => {
|
|
1174
1183
|
unsub();
|
|
1175
1184
|
authRef.current.destroy();
|
|
1176
1185
|
};
|
|
1177
1186
|
}, []);
|
|
1178
|
-
const value =
|
|
1187
|
+
const value = React42__namespace.useMemo(
|
|
1179
1188
|
() => ({
|
|
1180
1189
|
user: state.user,
|
|
1181
1190
|
isLoading: state.status === "loading",
|
|
@@ -1189,10 +1198,10 @@ function AuthProvider({ children, ...config }) {
|
|
|
1189
1198
|
}),
|
|
1190
1199
|
[state.user, state.status]
|
|
1191
1200
|
);
|
|
1192
|
-
return
|
|
1201
|
+
return React42__namespace.createElement(AuthContext.Provider, { value }, children);
|
|
1193
1202
|
}
|
|
1194
1203
|
function useAuth() {
|
|
1195
|
-
const ctx =
|
|
1204
|
+
const ctx = React42__namespace.useContext(AuthContext);
|
|
1196
1205
|
if (!ctx) {
|
|
1197
1206
|
throw new Error("useAuth must be used within an <AuthProvider>");
|
|
1198
1207
|
}
|
|
@@ -1206,15 +1215,15 @@ function AuthGuard({
|
|
|
1206
1215
|
}) {
|
|
1207
1216
|
const { isLoading, isAuthenticated, user } = useAuth();
|
|
1208
1217
|
if (isLoading) {
|
|
1209
|
-
return
|
|
1218
|
+
return React42__namespace.createElement(React42__namespace.Fragment, null, fallback ?? null);
|
|
1210
1219
|
}
|
|
1211
1220
|
if (!isAuthenticated) {
|
|
1212
|
-
return
|
|
1221
|
+
return React42__namespace.createElement(React42__namespace.Fragment, null, fallback ?? null);
|
|
1213
1222
|
}
|
|
1214
1223
|
if (roles && roles.length > 0 && !hasAnyRole(user, roles)) {
|
|
1215
|
-
return
|
|
1224
|
+
return React42__namespace.createElement(React42__namespace.Fragment, null, unauthorized ?? null);
|
|
1216
1225
|
}
|
|
1217
|
-
return
|
|
1226
|
+
return React42__namespace.createElement(React42__namespace.Fragment, null, children);
|
|
1218
1227
|
}
|
|
1219
1228
|
|
|
1220
1229
|
// ../badge/dist/index.js
|
|
@@ -1254,7 +1263,7 @@ var badgeVariants = cva({
|
|
|
1254
1263
|
size: "md"
|
|
1255
1264
|
}
|
|
1256
1265
|
});
|
|
1257
|
-
var Badge =
|
|
1266
|
+
var Badge = React42__namespace.forwardRef(
|
|
1258
1267
|
({ variant, size, className, children, ...props }, ref) => {
|
|
1259
1268
|
const api = createBadge({ variant});
|
|
1260
1269
|
const classes = cn(badgeVariants({ variant, size }), className);
|
|
@@ -1301,7 +1310,7 @@ var bottomNavTabVariants = cva({
|
|
|
1301
1310
|
active: "false"
|
|
1302
1311
|
}
|
|
1303
1312
|
});
|
|
1304
|
-
var BottomNav =
|
|
1313
|
+
var BottomNav = React42__namespace.forwardRef(
|
|
1305
1314
|
({ tabs = [], currentPath, className, ...props }, ref) => {
|
|
1306
1315
|
const api = createBottomNav({ currentPath });
|
|
1307
1316
|
const classes = cn(bottomNavVariants(), className);
|
|
@@ -1374,7 +1383,7 @@ var breadcrumbItemVariants = cva({
|
|
|
1374
1383
|
}
|
|
1375
1384
|
});
|
|
1376
1385
|
var breadcrumbSeparatorStyles = "text-muted-foreground/50 select-none";
|
|
1377
|
-
var Breadcrumbs =
|
|
1386
|
+
var Breadcrumbs = React42__namespace.forwardRef(
|
|
1378
1387
|
({
|
|
1379
1388
|
pathname,
|
|
1380
1389
|
items,
|
|
@@ -1481,31 +1490,341 @@ var buttonVariants = cva({
|
|
|
1481
1490
|
size: "default"
|
|
1482
1491
|
}
|
|
1483
1492
|
});
|
|
1484
|
-
|
|
1485
|
-
|
|
1493
|
+
|
|
1494
|
+
// ../keyboard-shortcut/dist/index.js
|
|
1495
|
+
var MODIFIER_KEYS = /* @__PURE__ */ new Set(["Ctrl", "Control", "Alt", "Shift", "Meta", "Cmd", "Command"]);
|
|
1496
|
+
var KEY_DISPLAY = {
|
|
1497
|
+
"Ctrl": "Ctrl",
|
|
1498
|
+
"Control": "Ctrl",
|
|
1499
|
+
"Alt": "Alt",
|
|
1500
|
+
"Shift": "Shift",
|
|
1501
|
+
"Meta": "Meta",
|
|
1502
|
+
"Cmd": "Cmd",
|
|
1503
|
+
"Command": "Cmd",
|
|
1504
|
+
"Enter": "\u21B5",
|
|
1505
|
+
"Backspace": "\u232B",
|
|
1506
|
+
"Delete": "Del",
|
|
1507
|
+
"Escape": "Esc",
|
|
1508
|
+
"ArrowUp": "\u2191",
|
|
1509
|
+
"ArrowDown": "\u2193",
|
|
1510
|
+
"ArrowLeft": "\u2190",
|
|
1511
|
+
"ArrowRight": "\u2192",
|
|
1512
|
+
"Tab": "Tab",
|
|
1513
|
+
" ": "Space"
|
|
1514
|
+
};
|
|
1515
|
+
var MAC_KEY_DISPLAY = {
|
|
1516
|
+
"Ctrl": "\u2303",
|
|
1517
|
+
"Control": "\u2303",
|
|
1518
|
+
"Alt": "\u2325",
|
|
1519
|
+
"Shift": "\u21E7",
|
|
1520
|
+
"Meta": "\u2318",
|
|
1521
|
+
"Cmd": "\u2318",
|
|
1522
|
+
"Command": "\u2318",
|
|
1523
|
+
"Enter": "\u21B5",
|
|
1524
|
+
"Backspace": "\u232B",
|
|
1525
|
+
"Delete": "\u2326",
|
|
1526
|
+
"Escape": "\u238B",
|
|
1527
|
+
"ArrowUp": "\u2191",
|
|
1528
|
+
"ArrowDown": "\u2193",
|
|
1529
|
+
"ArrowLeft": "\u2190",
|
|
1530
|
+
"ArrowRight": "\u2192",
|
|
1531
|
+
"Tab": "\u21E5",
|
|
1532
|
+
" ": "\u2423"
|
|
1533
|
+
};
|
|
1534
|
+
function normalizeKey(key) {
|
|
1535
|
+
if (key === "Command" || key === "Cmd") return "Meta";
|
|
1536
|
+
if (key === "Control") return "Ctrl";
|
|
1537
|
+
return key;
|
|
1538
|
+
}
|
|
1539
|
+
function isMac() {
|
|
1540
|
+
if (typeof navigator !== "undefined") {
|
|
1541
|
+
return navigator.platform?.includes("Mac") || navigator.userAgent?.includes("Mac");
|
|
1542
|
+
}
|
|
1543
|
+
return false;
|
|
1544
|
+
}
|
|
1545
|
+
function formatShortcut(keys, mac) {
|
|
1546
|
+
const displayMap = mac ? MAC_KEY_DISPLAY : KEY_DISPLAY;
|
|
1547
|
+
return keys.map((key) => displayMap[key] ?? key.toUpperCase()).join(mac ? "" : "+");
|
|
1548
|
+
}
|
|
1549
|
+
function createKeyboardShortcut(props) {
|
|
1550
|
+
const {
|
|
1551
|
+
keys,
|
|
1552
|
+
onTrigger,
|
|
1553
|
+
enabled: enabledProp = true,
|
|
1554
|
+
preventDefault: preventDefaultProp = true
|
|
1555
|
+
} = props;
|
|
1556
|
+
const normalizedKeys = keys.map(normalizeKey);
|
|
1557
|
+
const modifiers = normalizedKeys.filter((k) => MODIFIER_KEYS.has(k));
|
|
1558
|
+
const regularKeys = normalizedKeys.filter((k) => !MODIFIER_KEYS.has(k));
|
|
1559
|
+
function handler(event) {
|
|
1560
|
+
if (!enabledProp) return false;
|
|
1561
|
+
const ctrlRequired = modifiers.includes("Ctrl");
|
|
1562
|
+
const altRequired = modifiers.includes("Alt");
|
|
1563
|
+
const shiftRequired = modifiers.includes("Shift");
|
|
1564
|
+
const metaRequired = modifiers.includes("Meta");
|
|
1565
|
+
if (ctrlRequired !== (event.ctrlKey || event.metaKey && !metaRequired)) ;
|
|
1566
|
+
const ctrlMatch = ctrlRequired ? event.ctrlKey : !event.ctrlKey;
|
|
1567
|
+
const altMatch = altRequired ? event.altKey : !event.altKey;
|
|
1568
|
+
const shiftMatch = shiftRequired ? event.shiftKey : !event.shiftKey;
|
|
1569
|
+
const metaMatch = metaRequired ? event.metaKey : !event.metaKey;
|
|
1570
|
+
if (!ctrlMatch || !altMatch || !shiftMatch || !metaMatch) return false;
|
|
1571
|
+
if (regularKeys.length > 0) {
|
|
1572
|
+
const eventKey = event.key.length === 1 ? event.key.toUpperCase() : event.key;
|
|
1573
|
+
const targetKey = regularKeys[0].length === 1 ? regularKeys[0].toUpperCase() : regularKeys[0];
|
|
1574
|
+
if (eventKey !== targetKey) return false;
|
|
1575
|
+
}
|
|
1576
|
+
if (preventDefaultProp) {
|
|
1577
|
+
event.preventDefault();
|
|
1578
|
+
}
|
|
1579
|
+
onTrigger();
|
|
1580
|
+
return true;
|
|
1581
|
+
}
|
|
1582
|
+
const mac = isMac();
|
|
1583
|
+
const display = formatShortcut(keys, false);
|
|
1584
|
+
const platformDisplay = formatShortcut(keys, mac);
|
|
1585
|
+
const badgeAriaProps = {
|
|
1586
|
+
"aria-hidden": true,
|
|
1587
|
+
role: "presentation"
|
|
1588
|
+
};
|
|
1589
|
+
return {
|
|
1590
|
+
handler,
|
|
1591
|
+
display,
|
|
1592
|
+
platformDisplay,
|
|
1593
|
+
enabled: enabledProp,
|
|
1594
|
+
keys,
|
|
1595
|
+
badgeAriaProps
|
|
1596
|
+
};
|
|
1597
|
+
}
|
|
1598
|
+
var SANE_DEFAULTS = {
|
|
1599
|
+
save: ["Meta", "s"],
|
|
1600
|
+
search: ["Meta", "k"],
|
|
1601
|
+
close: ["Escape"],
|
|
1602
|
+
submit: ["Meta", "Enter"],
|
|
1603
|
+
undo: ["Meta", "z"],
|
|
1604
|
+
redo: ["Meta", "Shift", "z"],
|
|
1605
|
+
copy: ["Meta", "c"],
|
|
1606
|
+
paste: ["Meta", "v"],
|
|
1607
|
+
cut: ["Meta", "x"],
|
|
1608
|
+
new: ["Meta", "n"],
|
|
1609
|
+
print: ["Meta", "p"],
|
|
1610
|
+
help: ["?"]
|
|
1611
|
+
};
|
|
1612
|
+
var ShortcutRegistry = class {
|
|
1613
|
+
shortcuts = /* @__PURE__ */ new Map();
|
|
1614
|
+
register(keys, handler) {
|
|
1615
|
+
const keyStr = keys.map((k) => k.toLowerCase()).sort().join("+");
|
|
1616
|
+
if (this.shortcuts.has(keyStr)) {
|
|
1617
|
+
console.warn(`Shortcut ${keyStr} is already registered.`);
|
|
1618
|
+
}
|
|
1619
|
+
this.shortcuts.set(keyStr, handler);
|
|
1620
|
+
}
|
|
1621
|
+
unregister(keys) {
|
|
1622
|
+
const keyStr = keys.map((k) => k.toLowerCase()).sort().join("+");
|
|
1623
|
+
this.shortcuts.delete(keyStr);
|
|
1624
|
+
}
|
|
1625
|
+
};
|
|
1626
|
+
var globalShortcutRegistry = new ShortcutRegistry();
|
|
1627
|
+
var AltHintState = class {
|
|
1628
|
+
showHints = false;
|
|
1629
|
+
listeners = /* @__PURE__ */ new Set();
|
|
1630
|
+
initialized = false;
|
|
1631
|
+
init() {
|
|
1632
|
+
if (this.initialized || typeof window === "undefined") return;
|
|
1633
|
+
this.initialized = true;
|
|
1634
|
+
const handleKeyDown = (e) => {
|
|
1635
|
+
if (e.key === "Alt") {
|
|
1636
|
+
this.setShowHints(true);
|
|
1637
|
+
}
|
|
1638
|
+
};
|
|
1639
|
+
const handleKeyUp = (e) => {
|
|
1640
|
+
if (e.key === "Alt") {
|
|
1641
|
+
this.setShowHints(false);
|
|
1642
|
+
}
|
|
1643
|
+
};
|
|
1644
|
+
const handleBlur = () => {
|
|
1645
|
+
this.setShowHints(false);
|
|
1646
|
+
};
|
|
1647
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
1648
|
+
window.addEventListener("keyup", handleKeyUp);
|
|
1649
|
+
window.addEventListener("blur", handleBlur);
|
|
1650
|
+
}
|
|
1651
|
+
setShowHints(value) {
|
|
1652
|
+
if (this.showHints !== value) {
|
|
1653
|
+
this.showHints = value;
|
|
1654
|
+
this.listeners.forEach((listener) => listener(value));
|
|
1655
|
+
}
|
|
1656
|
+
}
|
|
1657
|
+
subscribe(listener) {
|
|
1658
|
+
this.listeners.add(listener);
|
|
1659
|
+
listener(this.showHints);
|
|
1660
|
+
return () => {
|
|
1661
|
+
this.listeners.delete(listener);
|
|
1662
|
+
};
|
|
1663
|
+
}
|
|
1664
|
+
get snapshot() {
|
|
1665
|
+
return this.showHints;
|
|
1666
|
+
}
|
|
1667
|
+
};
|
|
1668
|
+
var altHintState = new AltHintState();
|
|
1669
|
+
var shortcutBadgeStyles = "inline-flex items-center gap-0.5 rounded border bg-muted px-1.5 py-0.5 text-xs font-mono text-muted-foreground";
|
|
1670
|
+
var shortcutKeyStyles = "inline-flex items-center justify-center min-w-[1.25rem] rounded bg-background px-1 py-0.5 text-xs font-mono border shadow-sm";
|
|
1671
|
+
var shortcutSeparatorStyles = "text-muted-foreground text-xs";
|
|
1672
|
+
var ShortcutContext = React42__namespace.createContext(false);
|
|
1673
|
+
function ShortcutProvider({ children }) {
|
|
1674
|
+
const [showHints, setShowHints] = React42__namespace.useState(altHintState.snapshot);
|
|
1675
|
+
React42__namespace.useEffect(() => {
|
|
1676
|
+
altHintState.init();
|
|
1677
|
+
return altHintState.subscribe(setShowHints);
|
|
1678
|
+
}, []);
|
|
1679
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ShortcutContext.Provider, { value: showHints, children });
|
|
1680
|
+
}
|
|
1681
|
+
function useShortcut({
|
|
1682
|
+
shortcut,
|
|
1683
|
+
action,
|
|
1684
|
+
onTrigger,
|
|
1685
|
+
enabled = true,
|
|
1686
|
+
preventDefault = true
|
|
1687
|
+
}) {
|
|
1688
|
+
const showHints = React42__namespace.useContext(ShortcutContext);
|
|
1689
|
+
const keys = React42__namespace.useMemo(() => {
|
|
1690
|
+
if (shortcut) {
|
|
1691
|
+
return shortcut.split("+").map((s) => s.trim());
|
|
1692
|
+
}
|
|
1693
|
+
if (action && SANE_DEFAULTS[action]) {
|
|
1694
|
+
return SANE_DEFAULTS[action];
|
|
1695
|
+
}
|
|
1696
|
+
return [];
|
|
1697
|
+
}, [shortcut, action]);
|
|
1698
|
+
const apiRef = React42__namespace.useRef(
|
|
1699
|
+
createKeyboardShortcut({ keys, onTrigger, enabled, preventDefault })
|
|
1700
|
+
);
|
|
1701
|
+
React42__namespace.useEffect(() => {
|
|
1702
|
+
apiRef.current = createKeyboardShortcut({ keys, onTrigger, enabled, preventDefault });
|
|
1703
|
+
}, [keys, onTrigger, enabled, preventDefault]);
|
|
1704
|
+
React42__namespace.useEffect(() => {
|
|
1705
|
+
if (!enabled || keys.length === 0) return;
|
|
1706
|
+
const handler = () => {
|
|
1707
|
+
apiRef.current.handler(new KeyboardEvent("keydown"));
|
|
1708
|
+
};
|
|
1709
|
+
globalShortcutRegistry.register(keys, handler);
|
|
1710
|
+
const handleKeyDown = (e) => {
|
|
1711
|
+
apiRef.current.handler(e);
|
|
1712
|
+
};
|
|
1713
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
1714
|
+
return () => {
|
|
1715
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
1716
|
+
globalShortcutRegistry.unregister(keys);
|
|
1717
|
+
};
|
|
1718
|
+
}, [enabled, keys]);
|
|
1719
|
+
return { keys, showHints };
|
|
1720
|
+
}
|
|
1721
|
+
function ShortcutHint({ shortcut, action, className, platform = true, ...props }) {
|
|
1722
|
+
const showHints = React42__namespace.useContext(ShortcutContext);
|
|
1723
|
+
const keys = React42__namespace.useMemo(() => {
|
|
1724
|
+
if (shortcut) {
|
|
1725
|
+
return shortcut.split("+").map((s) => s.trim());
|
|
1726
|
+
}
|
|
1727
|
+
if (action && SANE_DEFAULTS[action]) {
|
|
1728
|
+
return SANE_DEFAULTS[action];
|
|
1729
|
+
}
|
|
1730
|
+
return [];
|
|
1731
|
+
}, [shortcut, action]);
|
|
1732
|
+
if (!showHints || keys.length === 0) return null;
|
|
1733
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute right-2 top-1/2 -translate-y-1/2 pointer-events-none z-10", className), children: /* @__PURE__ */ jsxRuntime.jsx(ShortcutBadge, { keys, platform, ...props }) });
|
|
1734
|
+
}
|
|
1735
|
+
function KeyboardShortcut({
|
|
1736
|
+
keys,
|
|
1737
|
+
onTrigger,
|
|
1738
|
+
enabled = true,
|
|
1739
|
+
preventDefault = true
|
|
1740
|
+
}) {
|
|
1741
|
+
const apiRef = React42__namespace.useRef(
|
|
1742
|
+
createKeyboardShortcut({ keys, onTrigger, enabled, preventDefault })
|
|
1743
|
+
);
|
|
1744
|
+
React42__namespace.useEffect(() => {
|
|
1745
|
+
apiRef.current = createKeyboardShortcut({ keys, onTrigger, enabled, preventDefault });
|
|
1746
|
+
}, [keys, onTrigger, enabled, preventDefault]);
|
|
1747
|
+
React42__namespace.useEffect(() => {
|
|
1748
|
+
if (!enabled) return;
|
|
1749
|
+
const handleKeyDown = (e) => {
|
|
1750
|
+
apiRef.current.handler(e);
|
|
1751
|
+
};
|
|
1752
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
1753
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
1754
|
+
}, [enabled]);
|
|
1755
|
+
return null;
|
|
1756
|
+
}
|
|
1757
|
+
KeyboardShortcut.displayName = "KeyboardShortcut";
|
|
1758
|
+
function ShortcutBadge({ keys, platform = true, className }) {
|
|
1759
|
+
const api = createKeyboardShortcut({ keys, onTrigger: () => {
|
|
1760
|
+
}, enabled: false });
|
|
1761
|
+
const displayKeys = platform ? api.platformDisplay : api.display;
|
|
1762
|
+
const isMacDisplay = platform && displayKeys !== api.display;
|
|
1763
|
+
return React42__namespace.createElement(
|
|
1764
|
+
"kbd",
|
|
1765
|
+
{ ...api.badgeAriaProps, className: cn(shortcutBadgeStyles, className) },
|
|
1766
|
+
isMacDisplay ? React42__namespace.createElement("span", null, displayKeys) : keys.map(
|
|
1767
|
+
(key, i) => React42__namespace.createElement(
|
|
1768
|
+
React42__namespace.Fragment,
|
|
1769
|
+
{ key: i },
|
|
1770
|
+
i > 0 && React42__namespace.createElement("span", { className: shortcutSeparatorStyles }, "+"),
|
|
1771
|
+
React42__namespace.createElement(
|
|
1772
|
+
"span",
|
|
1773
|
+
{ className: shortcutKeyStyles },
|
|
1774
|
+
formatShortcut([key], false)
|
|
1775
|
+
)
|
|
1776
|
+
)
|
|
1777
|
+
)
|
|
1778
|
+
);
|
|
1779
|
+
}
|
|
1780
|
+
ShortcutBadge.displayName = "ShortcutBadge";
|
|
1781
|
+
var Button = React42__namespace.forwardRef(
|
|
1782
|
+
({ variant, size, loading, asChild, className, disabled, children, shortcut, action, ...props }, ref) => {
|
|
1486
1783
|
const api = createButton({ disabled, loading, type: props.type });
|
|
1487
1784
|
const classes = cn(buttonVariants({ variant, size }), className);
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1785
|
+
const internalRef = React42__namespace.useRef(null);
|
|
1786
|
+
const mergedRef = React42__namespace.useCallback(
|
|
1787
|
+
(node) => {
|
|
1788
|
+
internalRef.current = node;
|
|
1789
|
+
if (typeof ref === "function") ref(node);
|
|
1790
|
+
else if (ref) ref.current = node;
|
|
1791
|
+
},
|
|
1792
|
+
[ref]
|
|
1793
|
+
);
|
|
1794
|
+
useShortcut({
|
|
1795
|
+
shortcut,
|
|
1796
|
+
action,
|
|
1797
|
+
enabled: !disabled && !loading && (!!shortcut || !!action),
|
|
1798
|
+
onTrigger: () => {
|
|
1799
|
+
internalRef.current?.click();
|
|
1800
|
+
}
|
|
1801
|
+
});
|
|
1802
|
+
if (asChild && React42__namespace.isValidElement(children)) {
|
|
1803
|
+
return React42__namespace.cloneElement(children, {
|
|
1804
|
+
ref: mergedRef,
|
|
1805
|
+
className: cn(classes, children.props.className, "relative"),
|
|
1492
1806
|
type: getButtonType({ type: props.type }),
|
|
1493
1807
|
...api.ariaProps,
|
|
1494
1808
|
...api.dataAttributes,
|
|
1495
|
-
...props
|
|
1809
|
+
...props,
|
|
1810
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1811
|
+
(shortcut || action) && /* @__PURE__ */ jsxRuntime.jsx(ShortcutHint, { shortcut, action, className: "right-4" }),
|
|
1812
|
+
children.props.children
|
|
1813
|
+
] })
|
|
1496
1814
|
});
|
|
1497
1815
|
}
|
|
1498
1816
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1499
1817
|
"button",
|
|
1500
1818
|
{
|
|
1501
|
-
ref,
|
|
1819
|
+
ref: mergedRef,
|
|
1502
1820
|
type: getButtonType({ type: props.type }),
|
|
1503
|
-
className: classes,
|
|
1821
|
+
className: cn(classes, "relative"),
|
|
1504
1822
|
disabled: disabled || loading,
|
|
1505
1823
|
...api.ariaProps,
|
|
1506
1824
|
...api.dataAttributes,
|
|
1507
1825
|
...props,
|
|
1508
1826
|
children: [
|
|
1827
|
+
(shortcut || action) && /* @__PURE__ */ jsxRuntime.jsx(ShortcutHint, { shortcut, action, className: "right-4" }),
|
|
1509
1828
|
loading && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1510
1829
|
"svg",
|
|
1511
1830
|
{
|
|
@@ -1693,15 +2012,15 @@ function Calendar({
|
|
|
1693
2012
|
maxDate,
|
|
1694
2013
|
disabledDates
|
|
1695
2014
|
}) {
|
|
1696
|
-
const [uncontrolledValue, setUncontrolledValue] =
|
|
1697
|
-
const [uncontrolledMonth, setUncontrolledMonth] =
|
|
2015
|
+
const [uncontrolledValue, setUncontrolledValue] = React42__namespace.useState(defaultValue);
|
|
2016
|
+
const [uncontrolledMonth, setUncontrolledMonth] = React42__namespace.useState(
|
|
1698
2017
|
() => month ?? value ?? defaultValue ?? /* @__PURE__ */ new Date()
|
|
1699
2018
|
);
|
|
1700
2019
|
const isValueControlled = value !== void 0;
|
|
1701
2020
|
const isMonthControlled = month !== void 0;
|
|
1702
2021
|
const selectedValue = isValueControlled ? value : uncontrolledValue;
|
|
1703
2022
|
const displayMonth = isMonthControlled ? month : uncontrolledMonth;
|
|
1704
|
-
const handleSelect =
|
|
2023
|
+
const handleSelect = React42__namespace.useCallback(
|
|
1705
2024
|
(date) => {
|
|
1706
2025
|
if (!isValueControlled) {
|
|
1707
2026
|
setUncontrolledValue(date);
|
|
@@ -1710,7 +2029,7 @@ function Calendar({
|
|
|
1710
2029
|
},
|
|
1711
2030
|
[isValueControlled, onSelect]
|
|
1712
2031
|
);
|
|
1713
|
-
const handleMonthChange =
|
|
2032
|
+
const handleMonthChange = React42__namespace.useCallback(
|
|
1714
2033
|
(m) => {
|
|
1715
2034
|
if (!isMonthControlled) {
|
|
1716
2035
|
setUncontrolledMonth(m);
|
|
@@ -1736,28 +2055,28 @@ function Calendar({
|
|
|
1736
2055
|
return "default";
|
|
1737
2056
|
}
|
|
1738
2057
|
const monthLabel = `${MONTH_NAMES[api.state.currentMonth.getMonth()]} ${api.state.currentMonth.getFullYear()}`;
|
|
1739
|
-
return
|
|
2058
|
+
return React42__namespace.createElement(
|
|
1740
2059
|
"div",
|
|
1741
2060
|
{
|
|
1742
2061
|
className: cn(calendarVariants(), className),
|
|
1743
2062
|
...api.ariaProps
|
|
1744
2063
|
},
|
|
1745
2064
|
// Header row: prev, month label, next
|
|
1746
|
-
|
|
2065
|
+
React42__namespace.createElement(CalendarHeader, {
|
|
1747
2066
|
label: monthLabel,
|
|
1748
2067
|
labelId: api.ids.label,
|
|
1749
2068
|
onPrevMonth: api.prevMonth,
|
|
1750
2069
|
onNextMonth: api.nextMonth
|
|
1751
2070
|
}),
|
|
1752
2071
|
// Day-of-week headers
|
|
1753
|
-
|
|
2072
|
+
React42__namespace.createElement(
|
|
1754
2073
|
"div",
|
|
1755
2074
|
{
|
|
1756
2075
|
className: "grid grid-cols-7 gap-1 mb-1",
|
|
1757
2076
|
role: "row"
|
|
1758
2077
|
},
|
|
1759
2078
|
DAY_HEADERS.map(
|
|
1760
|
-
(d) =>
|
|
2079
|
+
(d) => React42__namespace.createElement(
|
|
1761
2080
|
"div",
|
|
1762
2081
|
{
|
|
1763
2082
|
key: d,
|
|
@@ -1770,7 +2089,7 @@ function Calendar({
|
|
|
1770
2089
|
)
|
|
1771
2090
|
),
|
|
1772
2091
|
// Day grid
|
|
1773
|
-
|
|
2092
|
+
React42__namespace.createElement(
|
|
1774
2093
|
"div",
|
|
1775
2094
|
{
|
|
1776
2095
|
className: "grid grid-cols-7 gap-1",
|
|
@@ -1779,7 +2098,7 @@ function Calendar({
|
|
|
1779
2098
|
api.days.map((day, i) => {
|
|
1780
2099
|
const dayAriaProps = api.getDayAriaProps(day);
|
|
1781
2100
|
const state = getDayState(day);
|
|
1782
|
-
return
|
|
2101
|
+
return React42__namespace.createElement(
|
|
1783
2102
|
"button",
|
|
1784
2103
|
{
|
|
1785
2104
|
key: i,
|
|
@@ -1803,12 +2122,12 @@ function CalendarHeader({
|
|
|
1803
2122
|
onNextMonth,
|
|
1804
2123
|
className
|
|
1805
2124
|
}) {
|
|
1806
|
-
return
|
|
2125
|
+
return React42__namespace.createElement(
|
|
1807
2126
|
"div",
|
|
1808
2127
|
{
|
|
1809
2128
|
className: cn("flex items-center justify-between mb-2", className)
|
|
1810
2129
|
},
|
|
1811
|
-
|
|
2130
|
+
React42__namespace.createElement(
|
|
1812
2131
|
"button",
|
|
1813
2132
|
{
|
|
1814
2133
|
type: "button",
|
|
@@ -1818,7 +2137,7 @@ function CalendarHeader({
|
|
|
1818
2137
|
},
|
|
1819
2138
|
"\u2039"
|
|
1820
2139
|
),
|
|
1821
|
-
|
|
2140
|
+
React42__namespace.createElement(
|
|
1822
2141
|
"div",
|
|
1823
2142
|
{
|
|
1824
2143
|
id: labelId,
|
|
@@ -1827,7 +2146,7 @@ function CalendarHeader({
|
|
|
1827
2146
|
},
|
|
1828
2147
|
label
|
|
1829
2148
|
),
|
|
1830
|
-
|
|
2149
|
+
React42__namespace.createElement(
|
|
1831
2150
|
"button",
|
|
1832
2151
|
{
|
|
1833
2152
|
type: "button",
|
|
@@ -1960,7 +2279,7 @@ var codeEditorVariants = cva({
|
|
|
1960
2279
|
size: "default"
|
|
1961
2280
|
}
|
|
1962
2281
|
});
|
|
1963
|
-
var CodeEditor =
|
|
2282
|
+
var CodeEditor = React42__namespace.forwardRef(
|
|
1964
2283
|
({
|
|
1965
2284
|
value = "",
|
|
1966
2285
|
onChange,
|
|
@@ -2076,9 +2395,9 @@ var collapsibleContentVariants = cva({
|
|
|
2076
2395
|
});
|
|
2077
2396
|
|
|
2078
2397
|
// ../react-collapsible/dist/index.js
|
|
2079
|
-
var CollapsibleContext =
|
|
2398
|
+
var CollapsibleContext = React42__namespace.createContext(null);
|
|
2080
2399
|
function useCollapsibleContext() {
|
|
2081
|
-
const ctx =
|
|
2400
|
+
const ctx = React42__namespace.useContext(CollapsibleContext);
|
|
2082
2401
|
if (!ctx) {
|
|
2083
2402
|
throw new Error(
|
|
2084
2403
|
"Collapsible compound components must be used within <Collapsible>"
|
|
@@ -2094,10 +2413,10 @@ function Collapsible({
|
|
|
2094
2413
|
children,
|
|
2095
2414
|
className
|
|
2096
2415
|
}) {
|
|
2097
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
2416
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React42__namespace.useState(defaultOpen);
|
|
2098
2417
|
const isControlled = controlledOpen !== void 0;
|
|
2099
2418
|
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
2100
|
-
const handleOpenChange =
|
|
2419
|
+
const handleOpenChange = React42__namespace.useCallback(
|
|
2101
2420
|
(next) => {
|
|
2102
2421
|
if (!isControlled) {
|
|
2103
2422
|
setUncontrolledOpen(next);
|
|
@@ -2106,12 +2425,12 @@ function Collapsible({
|
|
|
2106
2425
|
},
|
|
2107
2426
|
[isControlled, onOpenChange]
|
|
2108
2427
|
);
|
|
2109
|
-
const apiRef =
|
|
2428
|
+
const apiRef = React42__namespace.useRef(null);
|
|
2110
2429
|
if (apiRef.current === null) {
|
|
2111
2430
|
apiRef.current = createCollapsible({ open, defaultOpen, disabled });
|
|
2112
2431
|
}
|
|
2113
2432
|
const contentId = apiRef.current.contentProps.id;
|
|
2114
|
-
const ctx =
|
|
2433
|
+
const ctx = React42__namespace.useMemo(
|
|
2115
2434
|
() => ({
|
|
2116
2435
|
open,
|
|
2117
2436
|
onOpenChange: handleOpenChange,
|
|
@@ -2120,10 +2439,10 @@ function Collapsible({
|
|
|
2120
2439
|
}),
|
|
2121
2440
|
[open, handleOpenChange, disabled, contentId]
|
|
2122
2441
|
);
|
|
2123
|
-
return
|
|
2442
|
+
return React42__namespace.createElement(
|
|
2124
2443
|
CollapsibleContext.Provider,
|
|
2125
2444
|
{ value: ctx },
|
|
2126
|
-
|
|
2445
|
+
React42__namespace.createElement(
|
|
2127
2446
|
"div",
|
|
2128
2447
|
{
|
|
2129
2448
|
"data-state": open ? "open" : "closed",
|
|
@@ -2135,7 +2454,7 @@ function Collapsible({
|
|
|
2135
2454
|
);
|
|
2136
2455
|
}
|
|
2137
2456
|
Collapsible.displayName = "Collapsible";
|
|
2138
|
-
var CollapsibleTrigger =
|
|
2457
|
+
var CollapsibleTrigger = React42__namespace.forwardRef(({ onClick, disabled: disabledProp, children, ...props }, ref) => {
|
|
2139
2458
|
const { open, onOpenChange, disabled: ctxDisabled, contentId } = useCollapsibleContext();
|
|
2140
2459
|
const disabled = disabledProp ?? ctxDisabled;
|
|
2141
2460
|
const handleClick = (e) => {
|
|
@@ -2144,7 +2463,7 @@ var CollapsibleTrigger = React41__namespace.forwardRef(({ onClick, disabled: dis
|
|
|
2144
2463
|
}
|
|
2145
2464
|
onClick?.(e);
|
|
2146
2465
|
};
|
|
2147
|
-
return
|
|
2466
|
+
return React42__namespace.createElement(
|
|
2148
2467
|
"button",
|
|
2149
2468
|
{
|
|
2150
2469
|
ref,
|
|
@@ -2161,11 +2480,11 @@ var CollapsibleTrigger = React41__namespace.forwardRef(({ onClick, disabled: dis
|
|
|
2161
2480
|
);
|
|
2162
2481
|
});
|
|
2163
2482
|
CollapsibleTrigger.displayName = "CollapsibleTrigger";
|
|
2164
|
-
var CollapsibleContent =
|
|
2483
|
+
var CollapsibleContent = React42__namespace.forwardRef(({ className, children, ...props }, ref) => {
|
|
2165
2484
|
const { open, contentId } = useCollapsibleContext();
|
|
2166
2485
|
const dataState = open ? "open" : "closed";
|
|
2167
2486
|
if (!open) return null;
|
|
2168
|
-
return
|
|
2487
|
+
return React42__namespace.createElement(
|
|
2169
2488
|
"div",
|
|
2170
2489
|
{
|
|
2171
2490
|
ref,
|
|
@@ -2310,9 +2629,9 @@ var commandGroupVariants = cva({
|
|
|
2310
2629
|
});
|
|
2311
2630
|
|
|
2312
2631
|
// ../react-command/dist/index.js
|
|
2313
|
-
var CommandContext =
|
|
2632
|
+
var CommandContext = React42__namespace.createContext(null);
|
|
2314
2633
|
function useCommandContext() {
|
|
2315
|
-
const ctx =
|
|
2634
|
+
const ctx = React42__namespace.useContext(CommandContext);
|
|
2316
2635
|
if (!ctx) {
|
|
2317
2636
|
throw new Error("Command compound components must be used within <Command>");
|
|
2318
2637
|
}
|
|
@@ -2325,11 +2644,11 @@ function Command({
|
|
|
2325
2644
|
className,
|
|
2326
2645
|
children
|
|
2327
2646
|
}) {
|
|
2328
|
-
const [items, setItems] =
|
|
2329
|
-
const [search, setSearch] =
|
|
2330
|
-
const [selectedIndex, setSelectedIndex] =
|
|
2331
|
-
const apiRef =
|
|
2332
|
-
const api =
|
|
2647
|
+
const [items, setItems] = React42__namespace.useState([]);
|
|
2648
|
+
const [search, setSearch] = React42__namespace.useState("");
|
|
2649
|
+
const [selectedIndex, setSelectedIndex] = React42__namespace.useState(0);
|
|
2650
|
+
const apiRef = React42__namespace.useRef(null);
|
|
2651
|
+
const api = React42__namespace.useMemo(() => {
|
|
2333
2652
|
const instance = createCommand({ open, onOpenChange, filter }, items);
|
|
2334
2653
|
if (search) {
|
|
2335
2654
|
instance.search(search);
|
|
@@ -2338,23 +2657,23 @@ function Command({
|
|
|
2338
2657
|
return instance;
|
|
2339
2658
|
}, [open, onOpenChange, filter, items, search]);
|
|
2340
2659
|
const filteredItems = api.state.filteredItems;
|
|
2341
|
-
const handleSearch =
|
|
2660
|
+
const handleSearch = React42__namespace.useCallback((query) => {
|
|
2342
2661
|
setSearch(query);
|
|
2343
2662
|
setSelectedIndex(0);
|
|
2344
2663
|
}, []);
|
|
2345
|
-
const handleSelect =
|
|
2664
|
+
const handleSelect = React42__namespace.useCallback((index) => {
|
|
2346
2665
|
setSelectedIndex(index);
|
|
2347
2666
|
}, []);
|
|
2348
|
-
const registerItem =
|
|
2667
|
+
const registerItem = React42__namespace.useCallback((item) => {
|
|
2349
2668
|
setItems((prev) => {
|
|
2350
2669
|
if (prev.some((i) => i.id === item.id)) return prev;
|
|
2351
2670
|
return [...prev, item];
|
|
2352
2671
|
});
|
|
2353
2672
|
}, []);
|
|
2354
|
-
const unregisterItem =
|
|
2673
|
+
const unregisterItem = React42__namespace.useCallback((id) => {
|
|
2355
2674
|
setItems((prev) => prev.filter((i) => i.id !== id));
|
|
2356
2675
|
}, []);
|
|
2357
|
-
const handleKeyDown =
|
|
2676
|
+
const handleKeyDown = React42__namespace.useCallback(
|
|
2358
2677
|
(e) => {
|
|
2359
2678
|
const handler = createKeyboardHandler({
|
|
2360
2679
|
[Keys.ArrowDown]: (ev) => {
|
|
@@ -2381,7 +2700,7 @@ function Command({
|
|
|
2381
2700
|
},
|
|
2382
2701
|
[filteredItems.length, onOpenChange]
|
|
2383
2702
|
);
|
|
2384
|
-
const ctx =
|
|
2703
|
+
const ctx = React42__namespace.useMemo(
|
|
2385
2704
|
() => ({
|
|
2386
2705
|
search,
|
|
2387
2706
|
onSearch: handleSearch,
|
|
@@ -2396,10 +2715,10 @@ function Command({
|
|
|
2396
2715
|
}),
|
|
2397
2716
|
[search, handleSearch, selectedIndex, handleSelect, items, filteredItems, registerItem, unregisterItem, api.ids.list, api.ids.input]
|
|
2398
2717
|
);
|
|
2399
|
-
return
|
|
2718
|
+
return React42__namespace.createElement(
|
|
2400
2719
|
CommandContext.Provider,
|
|
2401
2720
|
{ value: ctx },
|
|
2402
|
-
|
|
2721
|
+
React42__namespace.createElement(
|
|
2403
2722
|
"div",
|
|
2404
2723
|
{
|
|
2405
2724
|
className: cn(commandVariants(), className),
|
|
@@ -2411,14 +2730,14 @@ function Command({
|
|
|
2411
2730
|
);
|
|
2412
2731
|
}
|
|
2413
2732
|
Command.displayName = "Command";
|
|
2414
|
-
var CommandInput =
|
|
2733
|
+
var CommandInput = React42__namespace.forwardRef(
|
|
2415
2734
|
({ className, onChange, ...props }, ref) => {
|
|
2416
2735
|
const { search, onSearch, inputId, listId } = useCommandContext();
|
|
2417
2736
|
const handleChange = (e) => {
|
|
2418
2737
|
onSearch(e.target.value);
|
|
2419
2738
|
onChange?.(e);
|
|
2420
2739
|
};
|
|
2421
|
-
return
|
|
2740
|
+
return React42__namespace.createElement("input", {
|
|
2422
2741
|
ref,
|
|
2423
2742
|
id: inputId,
|
|
2424
2743
|
type: "text",
|
|
@@ -2433,10 +2752,10 @@ var CommandInput = React41__namespace.forwardRef(
|
|
|
2433
2752
|
}
|
|
2434
2753
|
);
|
|
2435
2754
|
CommandInput.displayName = "CommandInput";
|
|
2436
|
-
var CommandList =
|
|
2755
|
+
var CommandList = React42__namespace.forwardRef(
|
|
2437
2756
|
({ className, children, ...props }, ref) => {
|
|
2438
2757
|
const { listId } = useCommandContext();
|
|
2439
|
-
return
|
|
2758
|
+
return React42__namespace.createElement(
|
|
2440
2759
|
"div",
|
|
2441
2760
|
{
|
|
2442
2761
|
ref,
|
|
@@ -2451,11 +2770,11 @@ var CommandList = React41__namespace.forwardRef(
|
|
|
2451
2770
|
}
|
|
2452
2771
|
);
|
|
2453
2772
|
CommandList.displayName = "CommandList";
|
|
2454
|
-
var CommandEmpty =
|
|
2773
|
+
var CommandEmpty = React42__namespace.forwardRef(
|
|
2455
2774
|
({ className, children, ...props }, ref) => {
|
|
2456
2775
|
const { filteredItems } = useCommandContext();
|
|
2457
2776
|
if (filteredItems.length > 0) return null;
|
|
2458
|
-
return
|
|
2777
|
+
return React42__namespace.createElement(
|
|
2459
2778
|
"div",
|
|
2460
2779
|
{
|
|
2461
2780
|
ref,
|
|
@@ -2468,9 +2787,9 @@ var CommandEmpty = React41__namespace.forwardRef(
|
|
|
2468
2787
|
}
|
|
2469
2788
|
);
|
|
2470
2789
|
CommandEmpty.displayName = "CommandEmpty";
|
|
2471
|
-
var CommandGroup =
|
|
2790
|
+
var CommandGroup = React42__namespace.forwardRef(
|
|
2472
2791
|
({ className, heading, children, ...props }, ref) => {
|
|
2473
|
-
return
|
|
2792
|
+
return React42__namespace.createElement(
|
|
2474
2793
|
"div",
|
|
2475
2794
|
{
|
|
2476
2795
|
ref,
|
|
@@ -2479,7 +2798,7 @@ var CommandGroup = React41__namespace.forwardRef(
|
|
|
2479
2798
|
"aria-label": heading,
|
|
2480
2799
|
...props
|
|
2481
2800
|
},
|
|
2482
|
-
heading ?
|
|
2801
|
+
heading ? React42__namespace.createElement(
|
|
2483
2802
|
"div",
|
|
2484
2803
|
{ className: "px-2 py-1.5 text-xs font-medium text-muted-foreground" },
|
|
2485
2804
|
heading
|
|
@@ -2489,10 +2808,10 @@ var CommandGroup = React41__namespace.forwardRef(
|
|
|
2489
2808
|
}
|
|
2490
2809
|
);
|
|
2491
2810
|
CommandGroup.displayName = "CommandGroup";
|
|
2492
|
-
var CommandItem =
|
|
2811
|
+
var CommandItem = React42__namespace.forwardRef(
|
|
2493
2812
|
({ className, value, disabled, onSelect: onItemSelect, children, ...props }, ref) => {
|
|
2494
2813
|
const state = disabled ? "disabled" : "default";
|
|
2495
|
-
return
|
|
2814
|
+
return React42__namespace.createElement(
|
|
2496
2815
|
"div",
|
|
2497
2816
|
{
|
|
2498
2817
|
ref,
|
|
@@ -2513,9 +2832,9 @@ var CommandItem = React41__namespace.forwardRef(
|
|
|
2513
2832
|
}
|
|
2514
2833
|
);
|
|
2515
2834
|
CommandItem.displayName = "CommandItem";
|
|
2516
|
-
var CommandSeparator =
|
|
2835
|
+
var CommandSeparator = React42__namespace.forwardRef(
|
|
2517
2836
|
({ className, ...props }, ref) => {
|
|
2518
|
-
return
|
|
2837
|
+
return React42__namespace.createElement("div", {
|
|
2519
2838
|
ref,
|
|
2520
2839
|
role: "separator",
|
|
2521
2840
|
className: cn("-mx-1 h-px bg-border", className),
|
|
@@ -2562,7 +2881,7 @@ var contentProtectionVariants = cva({
|
|
|
2562
2881
|
var watermarkVariants = cva({
|
|
2563
2882
|
base: "pointer-events-none absolute inset-0 z-50 overflow-hidden"
|
|
2564
2883
|
});
|
|
2565
|
-
var ContentProtection =
|
|
2884
|
+
var ContentProtection = React42__namespace.forwardRef(
|
|
2566
2885
|
({
|
|
2567
2886
|
enabled,
|
|
2568
2887
|
disableCopy,
|
|
@@ -2809,10 +3128,10 @@ function DataTable({
|
|
|
2809
3128
|
className,
|
|
2810
3129
|
emptyMessage = "No data available"
|
|
2811
3130
|
}) {
|
|
2812
|
-
const [sortBy, setSortBy] =
|
|
2813
|
-
const [sortDir, setSortDir] =
|
|
2814
|
-
const [filters, setFilters] =
|
|
2815
|
-
const api =
|
|
3131
|
+
const [sortBy, setSortBy] = React42__namespace.useState(controlledSortBy ?? null);
|
|
3132
|
+
const [sortDir, setSortDir] = React42__namespace.useState(controlledSortDir);
|
|
3133
|
+
const [filters, setFilters] = React42__namespace.useState(controlledFilters ?? {});
|
|
3134
|
+
const api = React42__namespace.useMemo(
|
|
2816
3135
|
() => createDataTable({
|
|
2817
3136
|
columns,
|
|
2818
3137
|
data,
|
|
@@ -2823,7 +3142,7 @@ function DataTable({
|
|
|
2823
3142
|
}),
|
|
2824
3143
|
[columns, data, sortBy, sortDir, onSort, filters]
|
|
2825
3144
|
);
|
|
2826
|
-
const handleSort =
|
|
3145
|
+
const handleSort = React42__namespace.useCallback(
|
|
2827
3146
|
(columnId) => {
|
|
2828
3147
|
const col = columns.find((c) => c.id === columnId);
|
|
2829
3148
|
if (!col?.sortable) return;
|
|
@@ -2837,7 +3156,7 @@ function DataTable({
|
|
|
2837
3156
|
},
|
|
2838
3157
|
[columns, sortBy, sortDir, onSort]
|
|
2839
3158
|
);
|
|
2840
|
-
const handleFilter =
|
|
3159
|
+
const handleFilter = React42__namespace.useCallback(
|
|
2841
3160
|
(columnId, value) => {
|
|
2842
3161
|
setFilters((prev) => ({ ...prev, [columnId]: value }));
|
|
2843
3162
|
},
|
|
@@ -2845,26 +3164,26 @@ function DataTable({
|
|
|
2845
3164
|
);
|
|
2846
3165
|
const sortedData = api.state.sortedData;
|
|
2847
3166
|
const hasFilterable = columns.some((c) => c.filterable);
|
|
2848
|
-
return
|
|
3167
|
+
return React42__namespace.createElement(
|
|
2849
3168
|
"div",
|
|
2850
3169
|
{ className: "relative w-full overflow-auto" },
|
|
2851
|
-
|
|
3170
|
+
React42__namespace.createElement(
|
|
2852
3171
|
"table",
|
|
2853
3172
|
{
|
|
2854
3173
|
className: cn(tableVariants(), className),
|
|
2855
3174
|
role: "table"
|
|
2856
3175
|
},
|
|
2857
3176
|
// thead
|
|
2858
|
-
|
|
3177
|
+
React42__namespace.createElement(
|
|
2859
3178
|
"thead",
|
|
2860
3179
|
null,
|
|
2861
3180
|
// Header row
|
|
2862
|
-
|
|
3181
|
+
React42__namespace.createElement(
|
|
2863
3182
|
"tr",
|
|
2864
3183
|
{ role: "row" },
|
|
2865
3184
|
...columns.map((col) => {
|
|
2866
3185
|
const headerProps = api.getHeaderProps(col);
|
|
2867
|
-
return
|
|
3186
|
+
return React42__namespace.createElement(
|
|
2868
3187
|
"th",
|
|
2869
3188
|
{
|
|
2870
3189
|
key: col.id,
|
|
@@ -2873,19 +3192,19 @@ function DataTable({
|
|
|
2873
3192
|
onClick: col.sortable ? () => handleSort(col.id) : void 0
|
|
2874
3193
|
},
|
|
2875
3194
|
col.header,
|
|
2876
|
-
col.sortable && sortBy === col.id ?
|
|
3195
|
+
col.sortable && sortBy === col.id ? React42__namespace.createElement("span", { "aria-hidden": true }, sortDir === "asc" ? " \u2191" : " \u2193") : null
|
|
2877
3196
|
);
|
|
2878
3197
|
})
|
|
2879
3198
|
),
|
|
2880
3199
|
// Filter row
|
|
2881
|
-
hasFilterable ?
|
|
3200
|
+
hasFilterable ? React42__namespace.createElement(
|
|
2882
3201
|
"tr",
|
|
2883
3202
|
{ role: "row", "data-filter-row": "true" },
|
|
2884
3203
|
...columns.map(
|
|
2885
|
-
(col) =>
|
|
3204
|
+
(col) => React42__namespace.createElement(
|
|
2886
3205
|
"th",
|
|
2887
3206
|
{ key: `filter-${col.id}` },
|
|
2888
|
-
col.filterable ?
|
|
3207
|
+
col.filterable ? React42__namespace.createElement("input", {
|
|
2889
3208
|
type: "text",
|
|
2890
3209
|
"aria-label": `Filter ${col.header}`,
|
|
2891
3210
|
value: filters[col.id] ?? "",
|
|
@@ -2897,13 +3216,13 @@ function DataTable({
|
|
|
2897
3216
|
) : null
|
|
2898
3217
|
),
|
|
2899
3218
|
// tbody
|
|
2900
|
-
|
|
3219
|
+
React42__namespace.createElement(
|
|
2901
3220
|
"tbody",
|
|
2902
3221
|
null,
|
|
2903
|
-
sortedData.length === 0 ?
|
|
3222
|
+
sortedData.length === 0 ? React42__namespace.createElement(
|
|
2904
3223
|
"tr",
|
|
2905
3224
|
{ role: "row" },
|
|
2906
|
-
|
|
3225
|
+
React42__namespace.createElement(
|
|
2907
3226
|
"td",
|
|
2908
3227
|
{
|
|
2909
3228
|
colSpan: columns.length,
|
|
@@ -2913,7 +3232,7 @@ function DataTable({
|
|
|
2913
3232
|
emptyMessage
|
|
2914
3233
|
)
|
|
2915
3234
|
) : sortedData.map(
|
|
2916
|
-
(row, rowIndex) =>
|
|
3235
|
+
(row, rowIndex) => React42__namespace.createElement(
|
|
2917
3236
|
"tr",
|
|
2918
3237
|
{
|
|
2919
3238
|
key: rowIndex,
|
|
@@ -2921,7 +3240,7 @@ function DataTable({
|
|
|
2921
3240
|
className: rowVariants()
|
|
2922
3241
|
},
|
|
2923
3242
|
...columns.map(
|
|
2924
|
-
(col) =>
|
|
3243
|
+
(col) => React42__namespace.createElement(
|
|
2925
3244
|
"td",
|
|
2926
3245
|
{
|
|
2927
3246
|
key: col.id,
|
|
@@ -3031,7 +3350,7 @@ function DeviceFrame({
|
|
|
3031
3350
|
children
|
|
3032
3351
|
}) {
|
|
3033
3352
|
const api = createDeviceFrame({ device, orientation });
|
|
3034
|
-
return
|
|
3353
|
+
return React42__namespace.createElement(
|
|
3035
3354
|
"div",
|
|
3036
3355
|
{
|
|
3037
3356
|
className: cn(deviceFrameVariants({ device, orientation }), className),
|
|
@@ -3043,13 +3362,13 @@ function DeviceFrame({
|
|
|
3043
3362
|
...api.dataAttributes
|
|
3044
3363
|
},
|
|
3045
3364
|
// Notch decoration
|
|
3046
|
-
api.dimensions.notch ?
|
|
3365
|
+
api.dimensions.notch ? React42__namespace.createElement("div", {
|
|
3047
3366
|
className: "absolute top-0 left-1/2 -translate-x-1/2 w-[40%] h-[30px] bg-black rounded-b-2xl z-10",
|
|
3048
3367
|
"aria-hidden": "true",
|
|
3049
3368
|
"data-part": "notch"
|
|
3050
3369
|
}) : null,
|
|
3051
3370
|
// Screen area
|
|
3052
|
-
|
|
3371
|
+
React42__namespace.createElement(
|
|
3053
3372
|
"div",
|
|
3054
3373
|
{
|
|
3055
3374
|
className: "relative w-full h-full overflow-hidden bg-white",
|
|
@@ -3058,7 +3377,7 @@ function DeviceFrame({
|
|
|
3058
3377
|
children
|
|
3059
3378
|
),
|
|
3060
3379
|
// Home indicator decoration
|
|
3061
|
-
api.dimensions.homeIndicator ?
|
|
3380
|
+
api.dimensions.homeIndicator ? React42__namespace.createElement("div", {
|
|
3062
3381
|
className: "absolute bottom-2 left-1/2 -translate-x-1/2 w-[35%] h-[5px] bg-gray-300 rounded-full z-10",
|
|
3063
3382
|
"aria-hidden": "true",
|
|
3064
3383
|
"data-part": "home-indicator"
|
|
@@ -3147,9 +3466,9 @@ var dialogContentVariants = cva({
|
|
|
3147
3466
|
});
|
|
3148
3467
|
|
|
3149
3468
|
// ../react-dialog/dist/index.js
|
|
3150
|
-
var DialogContext =
|
|
3469
|
+
var DialogContext = React42__namespace.createContext(null);
|
|
3151
3470
|
function useDialogContext() {
|
|
3152
|
-
const ctx =
|
|
3471
|
+
const ctx = React42__namespace.useContext(DialogContext);
|
|
3153
3472
|
if (!ctx) {
|
|
3154
3473
|
throw new Error("Dialog compound components must be used within <Dialog>");
|
|
3155
3474
|
}
|
|
@@ -3162,10 +3481,10 @@ function Dialog({
|
|
|
3162
3481
|
modal = true,
|
|
3163
3482
|
children
|
|
3164
3483
|
}) {
|
|
3165
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
3484
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React42__namespace.useState(defaultOpen);
|
|
3166
3485
|
const isControlled = controlledOpen !== void 0;
|
|
3167
3486
|
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
3168
|
-
const handleOpenChange =
|
|
3487
|
+
const handleOpenChange = React42__namespace.useCallback(
|
|
3169
3488
|
(next) => {
|
|
3170
3489
|
if (!isControlled) {
|
|
3171
3490
|
setUncontrolledOpen(next);
|
|
@@ -3174,12 +3493,12 @@ function Dialog({
|
|
|
3174
3493
|
},
|
|
3175
3494
|
[isControlled, onOpenChange]
|
|
3176
3495
|
);
|
|
3177
|
-
const apiRef =
|
|
3496
|
+
const apiRef = React42__namespace.useRef(null);
|
|
3178
3497
|
if (apiRef.current === null) {
|
|
3179
3498
|
apiRef.current = createDialog({ open, modal });
|
|
3180
3499
|
}
|
|
3181
3500
|
const api = apiRef.current;
|
|
3182
|
-
const ctx =
|
|
3501
|
+
const ctx = React42__namespace.useMemo(
|
|
3183
3502
|
() => ({
|
|
3184
3503
|
open,
|
|
3185
3504
|
onOpenChange: handleOpenChange,
|
|
@@ -3190,17 +3509,17 @@ function Dialog({
|
|
|
3190
3509
|
}),
|
|
3191
3510
|
[open, handleOpenChange, modal, api.ids.content, api.ids.title, api.ids.description]
|
|
3192
3511
|
);
|
|
3193
|
-
return
|
|
3512
|
+
return React42__namespace.createElement(DialogContext.Provider, { value: ctx }, children);
|
|
3194
3513
|
}
|
|
3195
3514
|
Dialog.displayName = "Dialog";
|
|
3196
|
-
var DialogTrigger =
|
|
3515
|
+
var DialogTrigger = React42__namespace.forwardRef(
|
|
3197
3516
|
({ onClick, children, ...props }, ref) => {
|
|
3198
3517
|
const { open, onOpenChange, contentId } = useDialogContext();
|
|
3199
3518
|
const handleClick = (e) => {
|
|
3200
3519
|
onOpenChange(!open);
|
|
3201
3520
|
onClick?.(e);
|
|
3202
3521
|
};
|
|
3203
|
-
return
|
|
3522
|
+
return React42__namespace.createElement(
|
|
3204
3523
|
"button",
|
|
3205
3524
|
{
|
|
3206
3525
|
ref,
|
|
@@ -3216,7 +3535,7 @@ var DialogTrigger = React41__namespace.forwardRef(
|
|
|
3216
3535
|
}
|
|
3217
3536
|
);
|
|
3218
3537
|
DialogTrigger.displayName = "DialogTrigger";
|
|
3219
|
-
var DialogOverlay =
|
|
3538
|
+
var DialogOverlay = React42__namespace.forwardRef(
|
|
3220
3539
|
({ className, onClick, ...props }, ref) => {
|
|
3221
3540
|
const { open, onOpenChange } = useDialogContext();
|
|
3222
3541
|
if (!open) return null;
|
|
@@ -3226,7 +3545,7 @@ var DialogOverlay = React41__namespace.forwardRef(
|
|
|
3226
3545
|
}
|
|
3227
3546
|
onClick?.(e);
|
|
3228
3547
|
};
|
|
3229
|
-
return
|
|
3548
|
+
return React42__namespace.createElement("div", {
|
|
3230
3549
|
ref,
|
|
3231
3550
|
className: cn(overlayStyles, className),
|
|
3232
3551
|
"data-state": open ? "open" : "closed",
|
|
@@ -3236,10 +3555,10 @@ var DialogOverlay = React41__namespace.forwardRef(
|
|
|
3236
3555
|
}
|
|
3237
3556
|
);
|
|
3238
3557
|
DialogOverlay.displayName = "DialogOverlay";
|
|
3239
|
-
var DialogContent =
|
|
3558
|
+
var DialogContent = React42__namespace.forwardRef(
|
|
3240
3559
|
({ className, children, onKeyDown, ...props }, ref) => {
|
|
3241
3560
|
const { open, onOpenChange, modal, contentId, titleId, descriptionId } = useDialogContext();
|
|
3242
|
-
|
|
3561
|
+
React42__namespace.useMemo(
|
|
3243
3562
|
() => createDialog({ open, modal }),
|
|
3244
3563
|
[open, modal]
|
|
3245
3564
|
);
|
|
@@ -3254,7 +3573,7 @@ var DialogContent = React41__namespace.forwardRef(
|
|
|
3254
3573
|
onKeyDown?.(e);
|
|
3255
3574
|
};
|
|
3256
3575
|
if (!open) return null;
|
|
3257
|
-
const content =
|
|
3576
|
+
const content = React42__namespace.createElement(
|
|
3258
3577
|
"div",
|
|
3259
3578
|
{
|
|
3260
3579
|
ref,
|
|
@@ -3277,9 +3596,9 @@ var DialogContent = React41__namespace.forwardRef(
|
|
|
3277
3596
|
}
|
|
3278
3597
|
);
|
|
3279
3598
|
DialogContent.displayName = "DialogContent";
|
|
3280
|
-
var DialogHeader =
|
|
3599
|
+
var DialogHeader = React42__namespace.forwardRef(
|
|
3281
3600
|
({ className, ...props }, ref) => {
|
|
3282
|
-
return
|
|
3601
|
+
return React42__namespace.createElement("div", {
|
|
3283
3602
|
ref,
|
|
3284
3603
|
className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className),
|
|
3285
3604
|
...props
|
|
@@ -3287,9 +3606,9 @@ var DialogHeader = React41__namespace.forwardRef(
|
|
|
3287
3606
|
}
|
|
3288
3607
|
);
|
|
3289
3608
|
DialogHeader.displayName = "DialogHeader";
|
|
3290
|
-
var DialogFooter =
|
|
3609
|
+
var DialogFooter = React42__namespace.forwardRef(
|
|
3291
3610
|
({ className, ...props }, ref) => {
|
|
3292
|
-
return
|
|
3611
|
+
return React42__namespace.createElement("div", {
|
|
3293
3612
|
ref,
|
|
3294
3613
|
className: cn(
|
|
3295
3614
|
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
@@ -3300,10 +3619,10 @@ var DialogFooter = React41__namespace.forwardRef(
|
|
|
3300
3619
|
}
|
|
3301
3620
|
);
|
|
3302
3621
|
DialogFooter.displayName = "DialogFooter";
|
|
3303
|
-
var DialogTitle =
|
|
3622
|
+
var DialogTitle = React42__namespace.forwardRef(
|
|
3304
3623
|
({ className, ...props }, ref) => {
|
|
3305
3624
|
const { titleId } = useDialogContext();
|
|
3306
|
-
return
|
|
3625
|
+
return React42__namespace.createElement("h2", {
|
|
3307
3626
|
ref,
|
|
3308
3627
|
id: titleId,
|
|
3309
3628
|
className: cn("text-lg font-semibold leading-none tracking-tight", className),
|
|
@@ -3312,9 +3631,9 @@ var DialogTitle = React41__namespace.forwardRef(
|
|
|
3312
3631
|
}
|
|
3313
3632
|
);
|
|
3314
3633
|
DialogTitle.displayName = "DialogTitle";
|
|
3315
|
-
var DialogDescription =
|
|
3634
|
+
var DialogDescription = React42__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
3316
3635
|
const { descriptionId } = useDialogContext();
|
|
3317
|
-
return
|
|
3636
|
+
return React42__namespace.createElement("p", {
|
|
3318
3637
|
ref,
|
|
3319
3638
|
id: descriptionId,
|
|
3320
3639
|
className: cn("text-sm text-muted-foreground", className),
|
|
@@ -3322,14 +3641,14 @@ var DialogDescription = React41__namespace.forwardRef(({ className, ...props },
|
|
|
3322
3641
|
});
|
|
3323
3642
|
});
|
|
3324
3643
|
DialogDescription.displayName = "DialogDescription";
|
|
3325
|
-
var DialogClose =
|
|
3644
|
+
var DialogClose = React42__namespace.forwardRef(
|
|
3326
3645
|
({ onClick, children, ...props }, ref) => {
|
|
3327
3646
|
const { onOpenChange } = useDialogContext();
|
|
3328
3647
|
const handleClick = (e) => {
|
|
3329
3648
|
onOpenChange(false);
|
|
3330
3649
|
onClick?.(e);
|
|
3331
3650
|
};
|
|
3332
|
-
return
|
|
3651
|
+
return React42__namespace.createElement(
|
|
3333
3652
|
"button",
|
|
3334
3653
|
{
|
|
3335
3654
|
ref,
|
|
@@ -3434,9 +3753,9 @@ var menuItemVariants = cva({
|
|
|
3434
3753
|
});
|
|
3435
3754
|
|
|
3436
3755
|
// ../react-dropdown-menu/dist/index.js
|
|
3437
|
-
var DropdownMenuContext =
|
|
3756
|
+
var DropdownMenuContext = React42__namespace.createContext(null);
|
|
3438
3757
|
function useDropdownMenuContext() {
|
|
3439
|
-
const ctx =
|
|
3758
|
+
const ctx = React42__namespace.useContext(DropdownMenuContext);
|
|
3440
3759
|
if (!ctx) {
|
|
3441
3760
|
throw new Error("DropdownMenu compound components must be used within <DropdownMenu>");
|
|
3442
3761
|
}
|
|
@@ -3448,10 +3767,10 @@ function DropdownMenu({
|
|
|
3448
3767
|
onOpenChange,
|
|
3449
3768
|
children
|
|
3450
3769
|
}) {
|
|
3451
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
3770
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React42__namespace.useState(defaultOpen);
|
|
3452
3771
|
const isControlled = controlledOpen !== void 0;
|
|
3453
3772
|
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
3454
|
-
const handleOpenChange =
|
|
3773
|
+
const handleOpenChange = React42__namespace.useCallback(
|
|
3455
3774
|
(next) => {
|
|
3456
3775
|
if (!isControlled) {
|
|
3457
3776
|
setUncontrolledOpen(next);
|
|
@@ -3460,12 +3779,12 @@ function DropdownMenu({
|
|
|
3460
3779
|
},
|
|
3461
3780
|
[isControlled, onOpenChange]
|
|
3462
3781
|
);
|
|
3463
|
-
const apiRef =
|
|
3782
|
+
const apiRef = React42__namespace.useRef(null);
|
|
3464
3783
|
if (apiRef.current === null) {
|
|
3465
3784
|
apiRef.current = createDropdownMenu({ open });
|
|
3466
3785
|
}
|
|
3467
3786
|
const api = apiRef.current;
|
|
3468
|
-
const ctx =
|
|
3787
|
+
const ctx = React42__namespace.useMemo(
|
|
3469
3788
|
() => ({
|
|
3470
3789
|
open,
|
|
3471
3790
|
onOpenChange: handleOpenChange,
|
|
@@ -3473,17 +3792,17 @@ function DropdownMenu({
|
|
|
3473
3792
|
}),
|
|
3474
3793
|
[open, handleOpenChange, api.ids.content]
|
|
3475
3794
|
);
|
|
3476
|
-
return
|
|
3795
|
+
return React42__namespace.createElement(DropdownMenuContext.Provider, { value: ctx }, children);
|
|
3477
3796
|
}
|
|
3478
3797
|
DropdownMenu.displayName = "DropdownMenu";
|
|
3479
|
-
var DropdownMenuTrigger =
|
|
3798
|
+
var DropdownMenuTrigger = React42__namespace.forwardRef(
|
|
3480
3799
|
({ onClick, children, ...props }, ref) => {
|
|
3481
3800
|
const { open, onOpenChange, contentId } = useDropdownMenuContext();
|
|
3482
3801
|
const handleClick = (e) => {
|
|
3483
3802
|
onOpenChange(!open);
|
|
3484
3803
|
onClick?.(e);
|
|
3485
3804
|
};
|
|
3486
|
-
return
|
|
3805
|
+
return React42__namespace.createElement(
|
|
3487
3806
|
"button",
|
|
3488
3807
|
{
|
|
3489
3808
|
ref,
|
|
@@ -3499,7 +3818,7 @@ var DropdownMenuTrigger = React41__namespace.forwardRef(
|
|
|
3499
3818
|
}
|
|
3500
3819
|
);
|
|
3501
3820
|
DropdownMenuTrigger.displayName = "DropdownMenuTrigger";
|
|
3502
|
-
var DropdownMenuContent =
|
|
3821
|
+
var DropdownMenuContent = React42__namespace.forwardRef(
|
|
3503
3822
|
({ className, children, onKeyDown, ...props }, ref) => {
|
|
3504
3823
|
const { open, onOpenChange, contentId } = useDropdownMenuContext();
|
|
3505
3824
|
const handleKeyDown = (e) => {
|
|
@@ -3513,7 +3832,7 @@ var DropdownMenuContent = React41__namespace.forwardRef(
|
|
|
3513
3832
|
onKeyDown?.(e);
|
|
3514
3833
|
};
|
|
3515
3834
|
if (!open) return null;
|
|
3516
|
-
const content =
|
|
3835
|
+
const content = React42__namespace.createElement(
|
|
3517
3836
|
"div",
|
|
3518
3837
|
{
|
|
3519
3838
|
ref,
|
|
@@ -3534,7 +3853,7 @@ var DropdownMenuContent = React41__namespace.forwardRef(
|
|
|
3534
3853
|
}
|
|
3535
3854
|
);
|
|
3536
3855
|
DropdownMenuContent.displayName = "DropdownMenuContent";
|
|
3537
|
-
var DropdownMenuItem =
|
|
3856
|
+
var DropdownMenuItem = React42__namespace.forwardRef(
|
|
3538
3857
|
({ className, disabled, onSelect, onClick, children, ...props }, ref) => {
|
|
3539
3858
|
const { onOpenChange } = useDropdownMenuContext();
|
|
3540
3859
|
const handleClick = (e) => {
|
|
@@ -3551,7 +3870,7 @@ var DropdownMenuItem = React41__namespace.forwardRef(
|
|
|
3551
3870
|
onOpenChange(false);
|
|
3552
3871
|
}
|
|
3553
3872
|
};
|
|
3554
|
-
return
|
|
3873
|
+
return React42__namespace.createElement(
|
|
3555
3874
|
"div",
|
|
3556
3875
|
{
|
|
3557
3876
|
ref,
|
|
@@ -3569,9 +3888,9 @@ var DropdownMenuItem = React41__namespace.forwardRef(
|
|
|
3569
3888
|
}
|
|
3570
3889
|
);
|
|
3571
3890
|
DropdownMenuItem.displayName = "DropdownMenuItem";
|
|
3572
|
-
var DropdownMenuSeparator =
|
|
3891
|
+
var DropdownMenuSeparator = React42__namespace.forwardRef(
|
|
3573
3892
|
({ className, ...props }, ref) => {
|
|
3574
|
-
return
|
|
3893
|
+
return React42__namespace.createElement("div", {
|
|
3575
3894
|
ref,
|
|
3576
3895
|
role: "separator",
|
|
3577
3896
|
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
@@ -3580,9 +3899,9 @@ var DropdownMenuSeparator = React41__namespace.forwardRef(
|
|
|
3580
3899
|
}
|
|
3581
3900
|
);
|
|
3582
3901
|
DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
|
|
3583
|
-
var DropdownMenuLabel =
|
|
3902
|
+
var DropdownMenuLabel = React42__namespace.forwardRef(
|
|
3584
3903
|
({ className, ...props }, ref) => {
|
|
3585
|
-
return
|
|
3904
|
+
return React42__namespace.createElement("div", {
|
|
3586
3905
|
ref,
|
|
3587
3906
|
className: cn("px-2 py-1.5 text-sm font-semibold", className),
|
|
3588
3907
|
...props
|
|
@@ -3694,15 +4013,15 @@ function FeedbackDialog({
|
|
|
3694
4013
|
type = "general",
|
|
3695
4014
|
className
|
|
3696
4015
|
}) {
|
|
3697
|
-
const [open, setOpen] =
|
|
3698
|
-
const [comment, setComment] =
|
|
3699
|
-
const [email, setEmail] =
|
|
3700
|
-
const [honeypot, setHoneypot] =
|
|
3701
|
-
const [isSubmitting, setIsSubmitting] =
|
|
3702
|
-
const [isSubmitted, setIsSubmitted] =
|
|
4016
|
+
const [open, setOpen] = React42__namespace.useState(controlledOpen ?? false);
|
|
4017
|
+
const [comment, setComment] = React42__namespace.useState("");
|
|
4018
|
+
const [email, setEmail] = React42__namespace.useState("");
|
|
4019
|
+
const [honeypot, setHoneypot] = React42__namespace.useState("");
|
|
4020
|
+
const [isSubmitting, setIsSubmitting] = React42__namespace.useState(false);
|
|
4021
|
+
const [isSubmitted, setIsSubmitted] = React42__namespace.useState(false);
|
|
3703
4022
|
const isControlled = controlledOpen !== void 0;
|
|
3704
4023
|
const isOpen = isControlled ? controlledOpen : open;
|
|
3705
|
-
const handleOpenChange =
|
|
4024
|
+
const handleOpenChange = React42__namespace.useCallback(
|
|
3706
4025
|
(next) => {
|
|
3707
4026
|
if (!isControlled) {
|
|
3708
4027
|
setOpen(next);
|
|
@@ -3711,11 +4030,11 @@ function FeedbackDialog({
|
|
|
3711
4030
|
},
|
|
3712
4031
|
[isControlled, onOpenChange]
|
|
3713
4032
|
);
|
|
3714
|
-
const apiRef =
|
|
4033
|
+
const apiRef = React42__namespace.useRef(null);
|
|
3715
4034
|
if (apiRef.current === null) {
|
|
3716
4035
|
apiRef.current = createFeedbackDialog({ open: isOpen, onOpenChange: handleOpenChange, onSubmit, type });
|
|
3717
4036
|
}
|
|
3718
|
-
const handleSubmit =
|
|
4037
|
+
const handleSubmit = React42__namespace.useCallback(async () => {
|
|
3719
4038
|
if (honeypot) return;
|
|
3720
4039
|
if (!comment.trim()) return;
|
|
3721
4040
|
setIsSubmitting(true);
|
|
@@ -3732,7 +4051,7 @@ function FeedbackDialog({
|
|
|
3732
4051
|
setIsSubmitting(false);
|
|
3733
4052
|
}
|
|
3734
4053
|
}, [comment, email, honeypot, type, onSubmit]);
|
|
3735
|
-
const handleReset =
|
|
4054
|
+
const handleReset = React42__namespace.useCallback(() => {
|
|
3736
4055
|
setComment("");
|
|
3737
4056
|
setEmail("");
|
|
3738
4057
|
setHoneypot("");
|
|
@@ -3742,15 +4061,15 @@ function FeedbackDialog({
|
|
|
3742
4061
|
if (!isOpen) return null;
|
|
3743
4062
|
const api = apiRef.current;
|
|
3744
4063
|
if (isSubmitted) {
|
|
3745
|
-
return
|
|
4064
|
+
return React42__namespace.createElement(
|
|
3746
4065
|
"div",
|
|
3747
4066
|
{
|
|
3748
4067
|
className: cn(feedbackDialogVariants({ type }), className),
|
|
3749
4068
|
...api.ariaProps,
|
|
3750
4069
|
"data-state": "submitted"
|
|
3751
4070
|
},
|
|
3752
|
-
|
|
3753
|
-
|
|
4071
|
+
React42__namespace.createElement("p", { "data-testid": "success-message" }, "Thank you for your feedback!"),
|
|
4072
|
+
React42__namespace.createElement(
|
|
3754
4073
|
"button",
|
|
3755
4074
|
{
|
|
3756
4075
|
type: "button",
|
|
@@ -3763,22 +4082,22 @@ function FeedbackDialog({
|
|
|
3763
4082
|
)
|
|
3764
4083
|
);
|
|
3765
4084
|
}
|
|
3766
|
-
return
|
|
4085
|
+
return React42__namespace.createElement(
|
|
3767
4086
|
"div",
|
|
3768
4087
|
{
|
|
3769
4088
|
className: cn(feedbackDialogVariants({ type }), className),
|
|
3770
4089
|
...api.ariaProps,
|
|
3771
4090
|
"data-state": "open"
|
|
3772
4091
|
},
|
|
3773
|
-
|
|
3774
|
-
|
|
4092
|
+
React42__namespace.createElement("h2", { id: `${api.ariaProps.id}-title` }, "Send Feedback"),
|
|
4093
|
+
React42__namespace.createElement("textarea", {
|
|
3775
4094
|
"aria-label": "Feedback comment",
|
|
3776
4095
|
value: comment,
|
|
3777
4096
|
onChange: (e) => setComment(e.target.value),
|
|
3778
4097
|
placeholder: "Your feedback...",
|
|
3779
4098
|
disabled: isSubmitting
|
|
3780
4099
|
}),
|
|
3781
|
-
|
|
4100
|
+
React42__namespace.createElement("input", {
|
|
3782
4101
|
type: "email",
|
|
3783
4102
|
"aria-label": "Email",
|
|
3784
4103
|
value: email,
|
|
@@ -3787,7 +4106,7 @@ function FeedbackDialog({
|
|
|
3787
4106
|
disabled: isSubmitting
|
|
3788
4107
|
}),
|
|
3789
4108
|
// Honeypot field — hidden from real users
|
|
3790
|
-
|
|
4109
|
+
React42__namespace.createElement("input", {
|
|
3791
4110
|
type: "text",
|
|
3792
4111
|
"aria-hidden": true,
|
|
3793
4112
|
tabIndex: -1,
|
|
@@ -3797,7 +4116,7 @@ function FeedbackDialog({
|
|
|
3797
4116
|
autoComplete: "off",
|
|
3798
4117
|
name: "website"
|
|
3799
4118
|
}),
|
|
3800
|
-
|
|
4119
|
+
React42__namespace.createElement(
|
|
3801
4120
|
"button",
|
|
3802
4121
|
{
|
|
3803
4122
|
type: "button",
|
|
@@ -3809,9 +4128,9 @@ function FeedbackDialog({
|
|
|
3809
4128
|
);
|
|
3810
4129
|
}
|
|
3811
4130
|
FeedbackDialog.displayName = "FeedbackDialog";
|
|
3812
|
-
var FeedbackButton =
|
|
4131
|
+
var FeedbackButton = React42__namespace.forwardRef(
|
|
3813
4132
|
({ children, ...props }, ref) => {
|
|
3814
|
-
return
|
|
4133
|
+
return React42__namespace.createElement(
|
|
3815
4134
|
"button",
|
|
3816
4135
|
{
|
|
3817
4136
|
ref,
|
|
@@ -3838,7 +4157,7 @@ function createFooter(props = {}) {
|
|
|
3838
4157
|
var footerVariants = cva({
|
|
3839
4158
|
base: "border-t bg-background py-8"
|
|
3840
4159
|
});
|
|
3841
|
-
var Footer =
|
|
4160
|
+
var Footer = React42__namespace.forwardRef(
|
|
3842
4161
|
({
|
|
3843
4162
|
copyright,
|
|
3844
4163
|
socialLinks = [],
|
|
@@ -3976,34 +4295,34 @@ function InlineEditor({
|
|
|
3976
4295
|
onCancel,
|
|
3977
4296
|
className
|
|
3978
4297
|
}) {
|
|
3979
|
-
const [isEditing, setIsEditing] =
|
|
3980
|
-
const [editValue, setEditValue] =
|
|
3981
|
-
const apiRef =
|
|
4298
|
+
const [isEditing, setIsEditing] = React42__namespace.useState(false);
|
|
4299
|
+
const [editValue, setEditValue] = React42__namespace.useState(initialValue);
|
|
4300
|
+
const apiRef = React42__namespace.useRef(null);
|
|
3982
4301
|
if (apiRef.current === null) {
|
|
3983
4302
|
apiRef.current = createInlineEditor({ value: initialValue, onSave, onCancel });
|
|
3984
4303
|
}
|
|
3985
4304
|
const api = apiRef.current;
|
|
3986
|
-
const handleStartEditing =
|
|
4305
|
+
const handleStartEditing = React42__namespace.useCallback(() => {
|
|
3987
4306
|
setIsEditing(true);
|
|
3988
4307
|
setEditValue(initialValue);
|
|
3989
4308
|
}, [initialValue]);
|
|
3990
|
-
const handleCancel =
|
|
4309
|
+
const handleCancel = React42__namespace.useCallback(() => {
|
|
3991
4310
|
setIsEditing(false);
|
|
3992
4311
|
setEditValue(initialValue);
|
|
3993
4312
|
onCancel?.();
|
|
3994
4313
|
}, [initialValue, onCancel]);
|
|
3995
|
-
const handleSave =
|
|
4314
|
+
const handleSave = React42__namespace.useCallback(() => {
|
|
3996
4315
|
setIsEditing(false);
|
|
3997
4316
|
onSave?.(editValue);
|
|
3998
4317
|
}, [editValue, onSave]);
|
|
3999
|
-
const handleInsert =
|
|
4318
|
+
const handleInsert = React42__namespace.useCallback(
|
|
4000
4319
|
(syntax) => {
|
|
4001
4320
|
setEditValue((prev) => prev + syntax);
|
|
4002
4321
|
},
|
|
4003
4322
|
[]
|
|
4004
4323
|
);
|
|
4005
4324
|
if (!isEditing) {
|
|
4006
|
-
return
|
|
4325
|
+
return React42__namespace.createElement(
|
|
4007
4326
|
"div",
|
|
4008
4327
|
{
|
|
4009
4328
|
className: cn(editorVariants({ state: "viewing" }), className),
|
|
@@ -4018,20 +4337,20 @@ function InlineEditor({
|
|
|
4018
4337
|
}
|
|
4019
4338
|
}
|
|
4020
4339
|
},
|
|
4021
|
-
|
|
4340
|
+
React42__namespace.createElement("div", { className: previewVariants() }, editValue || initialValue)
|
|
4022
4341
|
);
|
|
4023
4342
|
}
|
|
4024
|
-
return
|
|
4343
|
+
return React42__namespace.createElement(
|
|
4025
4344
|
"div",
|
|
4026
4345
|
{
|
|
4027
4346
|
className: cn(editorVariants({ state: "editing" }), className)
|
|
4028
4347
|
},
|
|
4029
4348
|
// Toolbar
|
|
4030
|
-
|
|
4349
|
+
React42__namespace.createElement(
|
|
4031
4350
|
"div",
|
|
4032
4351
|
{ className: toolbarVariants(), role: "toolbar", "aria-label": "Formatting toolbar" },
|
|
4033
4352
|
...api.toolbarActions.map(
|
|
4034
|
-
(action) =>
|
|
4353
|
+
(action) => React42__namespace.createElement(
|
|
4035
4354
|
"button",
|
|
4036
4355
|
{
|
|
4037
4356
|
key: action.name,
|
|
@@ -4045,16 +4364,16 @@ function InlineEditor({
|
|
|
4045
4364
|
)
|
|
4046
4365
|
),
|
|
4047
4366
|
// Editor area: side-by-side textarea + preview
|
|
4048
|
-
|
|
4367
|
+
React42__namespace.createElement(
|
|
4049
4368
|
"div",
|
|
4050
4369
|
{ className: "flex gap-2 p-2" },
|
|
4051
|
-
|
|
4370
|
+
React42__namespace.createElement("textarea", {
|
|
4052
4371
|
value: editValue,
|
|
4053
4372
|
onChange: (e) => setEditValue(e.target.value),
|
|
4054
4373
|
className: "flex-1 min-h-[100px] resize-y border rounded p-2",
|
|
4055
4374
|
"aria-label": "Editor content"
|
|
4056
4375
|
}),
|
|
4057
|
-
|
|
4376
|
+
React42__namespace.createElement(
|
|
4058
4377
|
"div",
|
|
4059
4378
|
{
|
|
4060
4379
|
className: cn("flex-1", previewVariants()),
|
|
@@ -4064,15 +4383,15 @@ function InlineEditor({
|
|
|
4064
4383
|
)
|
|
4065
4384
|
),
|
|
4066
4385
|
// Action buttons
|
|
4067
|
-
|
|
4386
|
+
React42__namespace.createElement(
|
|
4068
4387
|
"div",
|
|
4069
4388
|
{ className: "flex justify-end gap-2 p-2 border-t" },
|
|
4070
|
-
|
|
4389
|
+
React42__namespace.createElement(
|
|
4071
4390
|
"button",
|
|
4072
4391
|
{ type: "button", onClick: handleCancel },
|
|
4073
4392
|
"Cancel"
|
|
4074
4393
|
),
|
|
4075
|
-
|
|
4394
|
+
React42__namespace.createElement(
|
|
4076
4395
|
"button",
|
|
4077
4396
|
{ type: "button", onClick: handleSave },
|
|
4078
4397
|
"Save"
|
|
@@ -4128,7 +4447,7 @@ var inputVariants = cva({
|
|
|
4128
4447
|
size: "default"
|
|
4129
4448
|
}
|
|
4130
4449
|
});
|
|
4131
|
-
var Input =
|
|
4450
|
+
var Input = React42__namespace.forwardRef(
|
|
4132
4451
|
({ type = "text", size, className, disabled, readOnly, required, "aria-invalid": ariaInvalid, ...props }, ref) => {
|
|
4133
4452
|
const api = createInput({
|
|
4134
4453
|
disabled,
|
|
@@ -4221,7 +4540,7 @@ var inputGroupButtonVariants = cva({
|
|
|
4221
4540
|
orientation: "horizontal"
|
|
4222
4541
|
}
|
|
4223
4542
|
});
|
|
4224
|
-
var InputGroup =
|
|
4543
|
+
var InputGroup = React42__namespace.forwardRef(
|
|
4225
4544
|
({ orientation = "horizontal", className, children, ...props }, ref) => {
|
|
4226
4545
|
const api = createInputGroup({
|
|
4227
4546
|
orientation,
|
|
@@ -4243,7 +4562,7 @@ var InputGroup = React41__namespace.forwardRef(
|
|
|
4243
4562
|
}
|
|
4244
4563
|
);
|
|
4245
4564
|
InputGroup.displayName = "InputGroup";
|
|
4246
|
-
var InputGroupAddon =
|
|
4565
|
+
var InputGroupAddon = React42__namespace.forwardRef(
|
|
4247
4566
|
({ orientation = "horizontal", className, children, ...props }, ref) => {
|
|
4248
4567
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4249
4568
|
"div",
|
|
@@ -4257,7 +4576,7 @@ var InputGroupAddon = React41__namespace.forwardRef(
|
|
|
4257
4576
|
}
|
|
4258
4577
|
);
|
|
4259
4578
|
InputGroupAddon.displayName = "InputGroupAddon";
|
|
4260
|
-
var InputGroupText =
|
|
4579
|
+
var InputGroupText = React42__namespace.forwardRef(
|
|
4261
4580
|
({ className, children, ...props }, ref) => {
|
|
4262
4581
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4263
4582
|
"span",
|
|
@@ -4271,7 +4590,7 @@ var InputGroupText = React41__namespace.forwardRef(
|
|
|
4271
4590
|
}
|
|
4272
4591
|
);
|
|
4273
4592
|
InputGroupText.displayName = "InputGroupText";
|
|
4274
|
-
var InputGroupButton =
|
|
4593
|
+
var InputGroupButton = React42__namespace.forwardRef(
|
|
4275
4594
|
({ orientation = "horizontal", className, children, ...props }, ref) => {
|
|
4276
4595
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4277
4596
|
"button",
|
|
@@ -4337,7 +4656,7 @@ function createLocalStorage() {
|
|
|
4337
4656
|
}
|
|
4338
4657
|
};
|
|
4339
4658
|
}
|
|
4340
|
-
var InstallPrompt =
|
|
4659
|
+
var InstallPrompt = React42__namespace.forwardRef(
|
|
4341
4660
|
({
|
|
4342
4661
|
delay = 3e3,
|
|
4343
4662
|
storageKey,
|
|
@@ -4347,14 +4666,14 @@ var InstallPrompt = React41__namespace.forwardRef(
|
|
|
4347
4666
|
className,
|
|
4348
4667
|
...props
|
|
4349
4668
|
}, ref) => {
|
|
4350
|
-
const storageRef =
|
|
4669
|
+
const storageRef = React42__namespace.useRef(void 0);
|
|
4351
4670
|
if (typeof window !== "undefined" && !storageRef.current) {
|
|
4352
4671
|
storageRef.current = createLocalStorage();
|
|
4353
4672
|
}
|
|
4354
4673
|
const api = createInstallPrompt({ storageKey }, storageRef.current);
|
|
4355
|
-
const [visible, setVisible] =
|
|
4356
|
-
const promptEventRef =
|
|
4357
|
-
|
|
4674
|
+
const [visible, setVisible] = React42__namespace.useState(false);
|
|
4675
|
+
const promptEventRef = React42__namespace.useRef(null);
|
|
4676
|
+
React42__namespace.useEffect(() => {
|
|
4358
4677
|
if (api.state.isDismissed) return;
|
|
4359
4678
|
const handleBeforeInstall = (e) => {
|
|
4360
4679
|
e.preventDefault();
|
|
@@ -4595,7 +4914,7 @@ function sanitizeHtml(html) {
|
|
|
4595
4914
|
sanitized = sanitized.replace(/(href|src)\s*=\s*["']?\s*javascript\s*:[^"'>]*/gi, '$1=""');
|
|
4596
4915
|
return sanitized;
|
|
4597
4916
|
}
|
|
4598
|
-
var MarkdownRenderer =
|
|
4917
|
+
var MarkdownRenderer = React42__namespace.forwardRef(
|
|
4599
4918
|
({ content, components, linkResolver, className, size }, ref) => {
|
|
4600
4919
|
const coreProps = { content, components, linkResolver };
|
|
4601
4920
|
const api = createMarkdownRenderer(coreProps);
|
|
@@ -4684,20 +5003,20 @@ var mobileNavLinkVariants = cva({
|
|
|
4684
5003
|
base: "block w-full px-4 py-2 text-sm transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2",
|
|
4685
5004
|
variants: {}
|
|
4686
5005
|
});
|
|
4687
|
-
var MobileNavContext =
|
|
5006
|
+
var MobileNavContext = React42__namespace.createContext(null);
|
|
4688
5007
|
function useMobileNavContext() {
|
|
4689
|
-
const ctx =
|
|
5008
|
+
const ctx = React42__namespace.useContext(MobileNavContext);
|
|
4690
5009
|
if (!ctx) {
|
|
4691
5010
|
throw new Error("MobileNav compound components must be used within <MobileNav>");
|
|
4692
5011
|
}
|
|
4693
5012
|
return ctx;
|
|
4694
5013
|
}
|
|
4695
|
-
var MobileNav =
|
|
5014
|
+
var MobileNav = React42__namespace.forwardRef(
|
|
4696
5015
|
({ open: controlledOpen, onOpenChange, defaultOpen = false, className, children, ...props }, ref) => {
|
|
4697
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
5016
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React42__namespace.useState(defaultOpen);
|
|
4698
5017
|
const isControlled = controlledOpen !== void 0;
|
|
4699
5018
|
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
4700
|
-
const setOpen =
|
|
5019
|
+
const setOpen = React42__namespace.useCallback(
|
|
4701
5020
|
(value) => {
|
|
4702
5021
|
if (!isControlled) {
|
|
4703
5022
|
setUncontrolledOpen(value);
|
|
@@ -4707,11 +5026,11 @@ var MobileNav = React41__namespace.forwardRef(
|
|
|
4707
5026
|
[isControlled, onOpenChange]
|
|
4708
5027
|
);
|
|
4709
5028
|
const api = createMobileNav({ open, onOpenChange: setOpen, id: props.id });
|
|
4710
|
-
const handleKeyDown =
|
|
5029
|
+
const handleKeyDown = React42__namespace.useMemo(
|
|
4711
5030
|
() => createKeyboardHandler(api.keyboardHandlers),
|
|
4712
5031
|
[open]
|
|
4713
5032
|
);
|
|
4714
|
-
const contextValue =
|
|
5033
|
+
const contextValue = React42__namespace.useMemo(
|
|
4715
5034
|
() => ({ open, setOpen, contentId: api.contentProps.id }),
|
|
4716
5035
|
[open, setOpen, api.contentProps.id]
|
|
4717
5036
|
);
|
|
@@ -4728,7 +5047,7 @@ var MobileNav = React41__namespace.forwardRef(
|
|
|
4728
5047
|
}
|
|
4729
5048
|
);
|
|
4730
5049
|
MobileNav.displayName = "MobileNav";
|
|
4731
|
-
var MobileNavTrigger =
|
|
5050
|
+
var MobileNavTrigger = React42__namespace.forwardRef(
|
|
4732
5051
|
({ className, children, ...props }, ref) => {
|
|
4733
5052
|
const { open, setOpen, contentId } = useMobileNavContext();
|
|
4734
5053
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4769,7 +5088,7 @@ var MobileNavTrigger = React41__namespace.forwardRef(
|
|
|
4769
5088
|
}
|
|
4770
5089
|
);
|
|
4771
5090
|
MobileNavTrigger.displayName = "MobileNavTrigger";
|
|
4772
|
-
var MobileNavContent =
|
|
5091
|
+
var MobileNavContent = React42__namespace.forwardRef(
|
|
4773
5092
|
({ className, children, ...props }, ref) => {
|
|
4774
5093
|
const { open, contentId } = useMobileNavContext();
|
|
4775
5094
|
const state = open ? "open" : "closed";
|
|
@@ -4788,7 +5107,7 @@ var MobileNavContent = React41__namespace.forwardRef(
|
|
|
4788
5107
|
}
|
|
4789
5108
|
);
|
|
4790
5109
|
MobileNavContent.displayName = "MobileNavContent";
|
|
4791
|
-
var MobileNavLink =
|
|
5110
|
+
var MobileNavLink = React42__namespace.forwardRef(
|
|
4792
5111
|
({ className, children, ...props }, ref) => {
|
|
4793
5112
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4794
5113
|
"a",
|
|
@@ -4847,7 +5166,7 @@ var navLinkVariants = cva({
|
|
|
4847
5166
|
active: "false"
|
|
4848
5167
|
}
|
|
4849
5168
|
});
|
|
4850
|
-
var Navbar =
|
|
5169
|
+
var Navbar = React42__namespace.forwardRef(
|
|
4851
5170
|
({
|
|
4852
5171
|
links = [],
|
|
4853
5172
|
currentPath,
|
|
@@ -4942,19 +5261,19 @@ var popoverContentVariants = cva({
|
|
|
4942
5261
|
side: "bottom"
|
|
4943
5262
|
}
|
|
4944
5263
|
});
|
|
4945
|
-
var PopoverContext =
|
|
5264
|
+
var PopoverContext = React42__namespace.createContext(null);
|
|
4946
5265
|
function usePopoverContext() {
|
|
4947
|
-
const ctx =
|
|
5266
|
+
const ctx = React42__namespace.useContext(PopoverContext);
|
|
4948
5267
|
if (!ctx) {
|
|
4949
5268
|
throw new Error("Popover compound components must be used within <Popover>");
|
|
4950
5269
|
}
|
|
4951
5270
|
return ctx;
|
|
4952
5271
|
}
|
|
4953
5272
|
function Popover({ open: controlledOpen, defaultOpen = false, onOpenChange, placement, children }) {
|
|
4954
|
-
const [internalOpen, setInternalOpen] =
|
|
5273
|
+
const [internalOpen, setInternalOpen] = React42__namespace.useState(controlledOpen ?? defaultOpen);
|
|
4955
5274
|
const isControlled = controlledOpen !== void 0;
|
|
4956
5275
|
const isOpen = isControlled ? controlledOpen : internalOpen;
|
|
4957
|
-
const handleOpenChange =
|
|
5276
|
+
const handleOpenChange = React42__namespace.useCallback(
|
|
4958
5277
|
(value) => {
|
|
4959
5278
|
if (!isControlled) {
|
|
4960
5279
|
setInternalOpen(value);
|
|
@@ -4963,18 +5282,18 @@ function Popover({ open: controlledOpen, defaultOpen = false, onOpenChange, plac
|
|
|
4963
5282
|
},
|
|
4964
5283
|
[isControlled, onOpenChange]
|
|
4965
5284
|
);
|
|
4966
|
-
const api =
|
|
5285
|
+
const api = React42__namespace.useMemo(
|
|
4967
5286
|
() => createPopover({ open: isOpen, onOpenChange: handleOpenChange, placement }),
|
|
4968
5287
|
[isOpen, handleOpenChange, placement]
|
|
4969
5288
|
);
|
|
4970
|
-
const ctx =
|
|
5289
|
+
const ctx = React42__namespace.useMemo(
|
|
4971
5290
|
() => ({ api, open: isOpen, setOpen: handleOpenChange }),
|
|
4972
5291
|
[api, isOpen, handleOpenChange]
|
|
4973
5292
|
);
|
|
4974
|
-
return
|
|
5293
|
+
return React42__namespace.createElement(PopoverContext.Provider, { value: ctx }, children);
|
|
4975
5294
|
}
|
|
4976
5295
|
Popover.displayName = "Popover";
|
|
4977
|
-
var PopoverTrigger =
|
|
5296
|
+
var PopoverTrigger = React42__namespace.forwardRef(
|
|
4978
5297
|
({ onClick, children, ...props }, ref) => {
|
|
4979
5298
|
const { api, setOpen, open } = usePopoverContext();
|
|
4980
5299
|
const handleClick = (e) => {
|
|
@@ -4997,7 +5316,7 @@ var PopoverTrigger = React41__namespace.forwardRef(
|
|
|
4997
5316
|
}
|
|
4998
5317
|
);
|
|
4999
5318
|
PopoverTrigger.displayName = "PopoverTrigger";
|
|
5000
|
-
var PopoverContent =
|
|
5319
|
+
var PopoverContent = React42__namespace.forwardRef(
|
|
5001
5320
|
({ side, className, children, onKeyDown, ...props }, ref) => {
|
|
5002
5321
|
const { api, open, setOpen } = usePopoverContext();
|
|
5003
5322
|
const handleKeyDown = (e) => {
|
|
@@ -5026,7 +5345,7 @@ var PopoverContent = React41__namespace.forwardRef(
|
|
|
5026
5345
|
}
|
|
5027
5346
|
);
|
|
5028
5347
|
PopoverContent.displayName = "PopoverContent";
|
|
5029
|
-
var PopoverClose =
|
|
5348
|
+
var PopoverClose = React42__namespace.forwardRef(
|
|
5030
5349
|
({ onClick, children, ...props }, ref) => {
|
|
5031
5350
|
const { setOpen } = usePopoverContext();
|
|
5032
5351
|
const handleClick = (e) => {
|
|
@@ -5147,9 +5466,9 @@ var searchResultVariants = cva({
|
|
|
5147
5466
|
});
|
|
5148
5467
|
|
|
5149
5468
|
// ../react-search-bar/dist/index.js
|
|
5150
|
-
var SearchBarContext =
|
|
5469
|
+
var SearchBarContext = React42__namespace.createContext(null);
|
|
5151
5470
|
function useSearchBarContext() {
|
|
5152
|
-
const ctx =
|
|
5471
|
+
const ctx = React42__namespace.useContext(SearchBarContext);
|
|
5153
5472
|
if (!ctx) {
|
|
5154
5473
|
throw new Error("SearchBar compound components must be used within <SearchBar>");
|
|
5155
5474
|
}
|
|
@@ -5167,11 +5486,11 @@ function SearchBar({
|
|
|
5167
5486
|
children,
|
|
5168
5487
|
...inputProps
|
|
5169
5488
|
}) {
|
|
5170
|
-
const [internalValue, setInternalValue] =
|
|
5489
|
+
const [internalValue, setInternalValue] = React42__namespace.useState(controlledValue ?? defaultValue);
|
|
5171
5490
|
const isControlled = controlledValue !== void 0;
|
|
5172
5491
|
const currentValue = isControlled ? controlledValue : internalValue;
|
|
5173
|
-
const debounceRef =
|
|
5174
|
-
const handleValueChange =
|
|
5492
|
+
const debounceRef = React42__namespace.useRef(void 0);
|
|
5493
|
+
const handleValueChange = React42__namespace.useCallback(
|
|
5175
5494
|
(val) => {
|
|
5176
5495
|
if (!isControlled) {
|
|
5177
5496
|
setInternalValue(val);
|
|
@@ -5180,8 +5499,8 @@ function SearchBar({
|
|
|
5180
5499
|
},
|
|
5181
5500
|
[isControlled, onValueChange]
|
|
5182
5501
|
);
|
|
5183
|
-
const [isSearching, setIsSearching] =
|
|
5184
|
-
const handleSearch =
|
|
5502
|
+
const [isSearching, setIsSearching] = React42__namespace.useState(loading);
|
|
5503
|
+
const handleSearch = React42__namespace.useCallback(
|
|
5185
5504
|
(val) => {
|
|
5186
5505
|
if (debounceRef.current !== void 0) {
|
|
5187
5506
|
clearTimeout(debounceRef.current);
|
|
@@ -5198,7 +5517,7 @@ function SearchBar({
|
|
|
5198
5517
|
},
|
|
5199
5518
|
[onSearch, debounceMs]
|
|
5200
5519
|
);
|
|
5201
|
-
const handleChange =
|
|
5520
|
+
const handleChange = React42__namespace.useCallback(
|
|
5202
5521
|
(e) => {
|
|
5203
5522
|
const val = e.target.value;
|
|
5204
5523
|
handleValueChange(val);
|
|
@@ -5206,14 +5525,14 @@ function SearchBar({
|
|
|
5206
5525
|
},
|
|
5207
5526
|
[handleValueChange, handleSearch]
|
|
5208
5527
|
);
|
|
5209
|
-
const clear =
|
|
5528
|
+
const clear = React42__namespace.useCallback(() => {
|
|
5210
5529
|
if (debounceRef.current !== void 0) {
|
|
5211
5530
|
clearTimeout(debounceRef.current);
|
|
5212
5531
|
}
|
|
5213
5532
|
handleValueChange("");
|
|
5214
5533
|
setIsSearching(false);
|
|
5215
5534
|
}, [handleValueChange]);
|
|
5216
|
-
const api =
|
|
5535
|
+
const api = React42__namespace.useMemo(
|
|
5217
5536
|
() => createSearchBar({
|
|
5218
5537
|
value: currentValue,
|
|
5219
5538
|
onValueChange: handleValueChange,
|
|
@@ -5224,7 +5543,7 @@ function SearchBar({
|
|
|
5224
5543
|
}),
|
|
5225
5544
|
[currentValue, handleValueChange, onSearch, debounceMs, placeholder, loading]
|
|
5226
5545
|
);
|
|
5227
|
-
const handleKeyDown =
|
|
5546
|
+
const handleKeyDown = React42__namespace.useCallback(
|
|
5228
5547
|
(e) => {
|
|
5229
5548
|
if (e.key === "Escape") {
|
|
5230
5549
|
clear();
|
|
@@ -5238,18 +5557,18 @@ function SearchBar({
|
|
|
5238
5557
|
},
|
|
5239
5558
|
[clear, onSearch, currentValue]
|
|
5240
5559
|
);
|
|
5241
|
-
const ctx =
|
|
5560
|
+
const ctx = React42__namespace.useMemo(
|
|
5242
5561
|
() => ({ api, value: currentValue, isSearching, setValue: handleValueChange, clear }),
|
|
5243
5562
|
[api, currentValue, isSearching, handleValueChange, clear]
|
|
5244
5563
|
);
|
|
5245
|
-
return
|
|
5564
|
+
return React42__namespace.createElement(
|
|
5246
5565
|
SearchBarContext.Provider,
|
|
5247
5566
|
{ value: ctx },
|
|
5248
|
-
|
|
5567
|
+
React42__namespace.createElement(
|
|
5249
5568
|
"div",
|
|
5250
5569
|
{ className: cn(searchBarVariants(), className) },
|
|
5251
|
-
|
|
5252
|
-
|
|
5570
|
+
React42__namespace.createElement("span", { className: "rfr-search-icon", "aria-hidden": "true" }, "\u{1F50D}"),
|
|
5571
|
+
React42__namespace.createElement("input", {
|
|
5253
5572
|
...inputProps,
|
|
5254
5573
|
role: api.inputProps.role,
|
|
5255
5574
|
"aria-expanded": api.inputProps["aria-expanded"],
|
|
@@ -5261,8 +5580,8 @@ function SearchBar({
|
|
|
5261
5580
|
onKeyDown: handleKeyDown,
|
|
5262
5581
|
className: "rfr-search-input flex-1 bg-transparent outline-none"
|
|
5263
5582
|
}),
|
|
5264
|
-
isSearching &&
|
|
5265
|
-
currentValue.length > 0 && !isSearching &&
|
|
5583
|
+
isSearching && React42__namespace.createElement("span", { className: "rfr-search-spinner", "aria-label": "Loading" }, "\u23F3"),
|
|
5584
|
+
currentValue.length > 0 && !isSearching && React42__namespace.createElement(
|
|
5266
5585
|
"button",
|
|
5267
5586
|
{
|
|
5268
5587
|
type: "button",
|
|
@@ -5277,11 +5596,11 @@ function SearchBar({
|
|
|
5277
5596
|
);
|
|
5278
5597
|
}
|
|
5279
5598
|
SearchBar.displayName = "SearchBar";
|
|
5280
|
-
var SearchResults =
|
|
5599
|
+
var SearchResults = React42__namespace.forwardRef(
|
|
5281
5600
|
({ className, children, ...props }, ref) => {
|
|
5282
5601
|
const { api, value } = useSearchBarContext();
|
|
5283
5602
|
if (value.length === 0) return null;
|
|
5284
|
-
return
|
|
5603
|
+
return React42__namespace.createElement(
|
|
5285
5604
|
"ul",
|
|
5286
5605
|
{
|
|
5287
5606
|
ref,
|
|
@@ -5295,9 +5614,9 @@ var SearchResults = React41__namespace.forwardRef(
|
|
|
5295
5614
|
}
|
|
5296
5615
|
);
|
|
5297
5616
|
SearchResults.displayName = "SearchResults";
|
|
5298
|
-
var SearchResultItem =
|
|
5617
|
+
var SearchResultItem = React42__namespace.forwardRef(
|
|
5299
5618
|
({ className, children, ...props }, ref) => {
|
|
5300
|
-
return
|
|
5619
|
+
return React42__namespace.createElement(
|
|
5301
5620
|
"li",
|
|
5302
5621
|
{
|
|
5303
5622
|
ref,
|
|
@@ -5358,7 +5677,7 @@ var sidebarItemVariants = cva({
|
|
|
5358
5677
|
active: "false"
|
|
5359
5678
|
}
|
|
5360
5679
|
});
|
|
5361
|
-
var Sidebar =
|
|
5680
|
+
var Sidebar = React42__namespace.forwardRef(
|
|
5362
5681
|
({
|
|
5363
5682
|
sections = [],
|
|
5364
5683
|
currentPath,
|
|
@@ -5428,7 +5747,7 @@ var skeletonVariants = cva({
|
|
|
5428
5747
|
});
|
|
5429
5748
|
|
|
5430
5749
|
// ../react-skeleton/dist/index.js
|
|
5431
|
-
var Skeleton =
|
|
5750
|
+
var Skeleton = React42__namespace.forwardRef(
|
|
5432
5751
|
({ shape, width, height, animate, className, style, ...props }, ref) => {
|
|
5433
5752
|
const api = createSkeleton({ shape, animate });
|
|
5434
5753
|
const classes = cn(skeletonVariants({ shape }), className);
|
|
@@ -5437,7 +5756,7 @@ var Skeleton = React41__namespace.forwardRef(
|
|
|
5437
5756
|
...width !== void 0 ? { width } : {},
|
|
5438
5757
|
...height !== void 0 ? { height } : {}
|
|
5439
5758
|
};
|
|
5440
|
-
return
|
|
5759
|
+
return React42__namespace.createElement("div", {
|
|
5441
5760
|
ref,
|
|
5442
5761
|
className: classes,
|
|
5443
5762
|
style: Object.keys(mergedStyle).length > 0 ? mergedStyle : void 0,
|
|
@@ -5449,13 +5768,13 @@ var Skeleton = React41__namespace.forwardRef(
|
|
|
5449
5768
|
);
|
|
5450
5769
|
Skeleton.displayName = "Skeleton";
|
|
5451
5770
|
var lineWidths = ["100%", "92%", "85%", "96%", "78%", "88%", "94%", "82%"];
|
|
5452
|
-
var SkeletonText =
|
|
5771
|
+
var SkeletonText = React42__namespace.forwardRef(
|
|
5453
5772
|
({ lines = 3, animate, className, ...props }, ref) => {
|
|
5454
5773
|
const children = [];
|
|
5455
5774
|
for (let i = 0; i < lines; i++) {
|
|
5456
5775
|
const width = lineWidths[i % lineWidths.length];
|
|
5457
5776
|
children.push(
|
|
5458
|
-
|
|
5777
|
+
React42__namespace.createElement(Skeleton, {
|
|
5459
5778
|
key: i,
|
|
5460
5779
|
shape: "text",
|
|
5461
5780
|
width,
|
|
@@ -5463,7 +5782,7 @@ var SkeletonText = React41__namespace.forwardRef(
|
|
|
5463
5782
|
})
|
|
5464
5783
|
);
|
|
5465
5784
|
}
|
|
5466
|
-
return
|
|
5785
|
+
return React42__namespace.createElement(
|
|
5467
5786
|
"div",
|
|
5468
5787
|
{
|
|
5469
5788
|
ref,
|
|
@@ -5571,9 +5890,9 @@ var tabsTriggerVariants = cva({
|
|
|
5571
5890
|
});
|
|
5572
5891
|
|
|
5573
5892
|
// ../react-tabs/dist/index.js
|
|
5574
|
-
var TabsContext =
|
|
5893
|
+
var TabsContext = React42__namespace.createContext(null);
|
|
5575
5894
|
function useTabsContext() {
|
|
5576
|
-
const ctx =
|
|
5895
|
+
const ctx = React42__namespace.useContext(TabsContext);
|
|
5577
5896
|
if (!ctx) {
|
|
5578
5897
|
throw new Error("Tabs compound components must be used within <Tabs>");
|
|
5579
5898
|
}
|
|
@@ -5587,10 +5906,10 @@ function Tabs({
|
|
|
5587
5906
|
className,
|
|
5588
5907
|
children
|
|
5589
5908
|
}) {
|
|
5590
|
-
const [uncontrolledValue, setUncontrolledValue] =
|
|
5909
|
+
const [uncontrolledValue, setUncontrolledValue] = React42__namespace.useState(defaultValue);
|
|
5591
5910
|
const isControlled = controlledValue !== void 0;
|
|
5592
5911
|
const value = isControlled ? controlledValue : uncontrolledValue;
|
|
5593
|
-
const handleValueChange =
|
|
5912
|
+
const handleValueChange = React42__namespace.useCallback(
|
|
5594
5913
|
(next) => {
|
|
5595
5914
|
if (!isControlled) {
|
|
5596
5915
|
setUncontrolledValue(next);
|
|
@@ -5599,12 +5918,12 @@ function Tabs({
|
|
|
5599
5918
|
},
|
|
5600
5919
|
[isControlled, onValueChange]
|
|
5601
5920
|
);
|
|
5602
|
-
const apiRef =
|
|
5921
|
+
const apiRef = React42__namespace.useRef(null);
|
|
5603
5922
|
if (apiRef.current === null) {
|
|
5604
5923
|
apiRef.current = createTabs({ value, orientation });
|
|
5605
5924
|
}
|
|
5606
5925
|
const api = apiRef.current;
|
|
5607
|
-
const ctx =
|
|
5926
|
+
const ctx = React42__namespace.useMemo(
|
|
5608
5927
|
() => ({
|
|
5609
5928
|
value,
|
|
5610
5929
|
onValueChange: handleValueChange,
|
|
@@ -5613,17 +5932,17 @@ function Tabs({
|
|
|
5613
5932
|
}),
|
|
5614
5933
|
[value, handleValueChange, orientation, api.idPrefix]
|
|
5615
5934
|
);
|
|
5616
|
-
return
|
|
5935
|
+
return React42__namespace.createElement(
|
|
5617
5936
|
"div",
|
|
5618
5937
|
{ className, "data-orientation": orientation },
|
|
5619
|
-
|
|
5938
|
+
React42__namespace.createElement(TabsContext.Provider, { value: ctx }, children)
|
|
5620
5939
|
);
|
|
5621
5940
|
}
|
|
5622
5941
|
Tabs.displayName = "Tabs";
|
|
5623
|
-
var TabsList =
|
|
5942
|
+
var TabsList = React42__namespace.forwardRef(
|
|
5624
5943
|
({ className, ...props }, ref) => {
|
|
5625
5944
|
const { orientation } = useTabsContext();
|
|
5626
|
-
return
|
|
5945
|
+
return React42__namespace.createElement("div", {
|
|
5627
5946
|
ref,
|
|
5628
5947
|
role: "tablist",
|
|
5629
5948
|
"aria-orientation": orientation,
|
|
@@ -5633,7 +5952,7 @@ var TabsList = React41__namespace.forwardRef(
|
|
|
5633
5952
|
}
|
|
5634
5953
|
);
|
|
5635
5954
|
TabsList.displayName = "TabsList";
|
|
5636
|
-
var TabsTrigger =
|
|
5955
|
+
var TabsTrigger = React42__namespace.forwardRef(
|
|
5637
5956
|
({ value, className, onClick, onKeyDown, children, ...props }, ref) => {
|
|
5638
5957
|
const { value: activeValue, onValueChange, orientation, idPrefix } = useTabsContext();
|
|
5639
5958
|
const isSelected = activeValue === value;
|
|
@@ -5646,7 +5965,7 @@ var TabsTrigger = React41__namespace.forwardRef(
|
|
|
5646
5965
|
const handleKeyDown = (e) => {
|
|
5647
5966
|
onKeyDown?.(e);
|
|
5648
5967
|
};
|
|
5649
|
-
return
|
|
5968
|
+
return React42__namespace.createElement(
|
|
5650
5969
|
"button",
|
|
5651
5970
|
{
|
|
5652
5971
|
ref,
|
|
@@ -5667,14 +5986,14 @@ var TabsTrigger = React41__namespace.forwardRef(
|
|
|
5667
5986
|
}
|
|
5668
5987
|
);
|
|
5669
5988
|
TabsTrigger.displayName = "TabsTrigger";
|
|
5670
|
-
var TabsContent =
|
|
5989
|
+
var TabsContent = React42__namespace.forwardRef(
|
|
5671
5990
|
({ value, className, children, ...props }, ref) => {
|
|
5672
5991
|
const { value: activeValue, idPrefix } = useTabsContext();
|
|
5673
5992
|
const isSelected = activeValue === value;
|
|
5674
5993
|
const tabId = `${idPrefix}-tab-${value}`;
|
|
5675
5994
|
const panelId = `${idPrefix}-panel-${value}`;
|
|
5676
5995
|
if (!isSelected) return null;
|
|
5677
|
-
return
|
|
5996
|
+
return React42__namespace.createElement(
|
|
5678
5997
|
"div",
|
|
5679
5998
|
{
|
|
5680
5999
|
ref,
|
|
@@ -5738,7 +6057,7 @@ var textareaVariants = cva({
|
|
|
5738
6057
|
size: "default"
|
|
5739
6058
|
}
|
|
5740
6059
|
});
|
|
5741
|
-
var Textarea =
|
|
6060
|
+
var Textarea = React42__namespace.forwardRef(
|
|
5742
6061
|
({ size, className, disabled, readOnly, required, rows, maxRows, "aria-invalid": ariaInvalid, ...props }, ref) => {
|
|
5743
6062
|
const api = createTextarea({
|
|
5744
6063
|
disabled,
|
|
@@ -5895,30 +6214,30 @@ var toastVariants = cva({
|
|
|
5895
6214
|
});
|
|
5896
6215
|
|
|
5897
6216
|
// ../react-toast/dist/index.js
|
|
5898
|
-
var ToastContext =
|
|
6217
|
+
var ToastContext = React42__namespace.createContext(null);
|
|
5899
6218
|
function useToastContext() {
|
|
5900
|
-
const ctx =
|
|
6219
|
+
const ctx = React42__namespace.useContext(ToastContext);
|
|
5901
6220
|
if (!ctx) {
|
|
5902
6221
|
throw new Error("useToast must be used within a <ToastProvider>");
|
|
5903
6222
|
}
|
|
5904
6223
|
return ctx;
|
|
5905
6224
|
}
|
|
5906
6225
|
function ToastProvider({ children }) {
|
|
5907
|
-
const managerRef =
|
|
6226
|
+
const managerRef = React42__namespace.useRef(null);
|
|
5908
6227
|
if (managerRef.current === null) {
|
|
5909
6228
|
managerRef.current = createToastManager();
|
|
5910
6229
|
}
|
|
5911
|
-
const ctx =
|
|
6230
|
+
const ctx = React42__namespace.useMemo(
|
|
5912
6231
|
() => ({ manager: managerRef.current }),
|
|
5913
6232
|
[]
|
|
5914
6233
|
);
|
|
5915
|
-
return
|
|
6234
|
+
return React42__namespace.createElement(ToastContext.Provider, { value: ctx }, children);
|
|
5916
6235
|
}
|
|
5917
6236
|
ToastProvider.displayName = "ToastProvider";
|
|
5918
6237
|
function useToast() {
|
|
5919
6238
|
const { manager } = useToastContext();
|
|
5920
|
-
const [toasts, setToasts] =
|
|
5921
|
-
|
|
6239
|
+
const [toasts, setToasts] = React42__namespace.useState(manager.toasts);
|
|
6240
|
+
React42__namespace.useEffect(() => {
|
|
5922
6241
|
setToasts(manager.toasts);
|
|
5923
6242
|
const unsub = manager.subscribe(setToasts);
|
|
5924
6243
|
return unsub;
|
|
@@ -5929,13 +6248,13 @@ function useToast() {
|
|
|
5929
6248
|
toasts
|
|
5930
6249
|
};
|
|
5931
6250
|
}
|
|
5932
|
-
var Toast =
|
|
6251
|
+
var Toast = React42__namespace.forwardRef(
|
|
5933
6252
|
({ entry, onDismiss, className, children, onMouseEnter, onMouseLeave, ...props }, ref) => {
|
|
5934
|
-
const api =
|
|
6253
|
+
const api = React42__namespace.useMemo(
|
|
5935
6254
|
() => createToast({ variant: entry.variant, duration: entry.duration }),
|
|
5936
6255
|
[entry.variant, entry.duration]
|
|
5937
6256
|
);
|
|
5938
|
-
|
|
6257
|
+
React42__namespace.useEffect(() => {
|
|
5939
6258
|
api.startTimer();
|
|
5940
6259
|
return () => api.pauseTimer();
|
|
5941
6260
|
}, [api]);
|
|
@@ -5947,7 +6266,7 @@ var Toast = React41__namespace.forwardRef(
|
|
|
5947
6266
|
api.resumeTimer();
|
|
5948
6267
|
onMouseLeave?.(e);
|
|
5949
6268
|
};
|
|
5950
|
-
return
|
|
6269
|
+
return React42__namespace.createElement(
|
|
5951
6270
|
"div",
|
|
5952
6271
|
{
|
|
5953
6272
|
ref,
|
|
@@ -5957,9 +6276,9 @@ var Toast = React41__namespace.forwardRef(
|
|
|
5957
6276
|
onMouseLeave: handleMouseLeave,
|
|
5958
6277
|
...props
|
|
5959
6278
|
},
|
|
5960
|
-
|
|
6279
|
+
React42__namespace.createElement("div", { className: "flex-1" }, entry.message),
|
|
5961
6280
|
children,
|
|
5962
|
-
onDismiss &&
|
|
6281
|
+
onDismiss && React42__namespace.createElement(
|
|
5963
6282
|
"button",
|
|
5964
6283
|
{
|
|
5965
6284
|
type: "button",
|
|
@@ -5973,10 +6292,10 @@ var Toast = React41__namespace.forwardRef(
|
|
|
5973
6292
|
}
|
|
5974
6293
|
);
|
|
5975
6294
|
Toast.displayName = "Toast";
|
|
5976
|
-
var Toaster =
|
|
6295
|
+
var Toaster = React42__namespace.forwardRef(
|
|
5977
6296
|
({ className, ...props }, ref) => {
|
|
5978
6297
|
const { toasts, dismiss } = useToast();
|
|
5979
|
-
return
|
|
6298
|
+
return React42__namespace.createElement(
|
|
5980
6299
|
"div",
|
|
5981
6300
|
{
|
|
5982
6301
|
ref,
|
|
@@ -5987,7 +6306,7 @@ var Toaster = React41__namespace.forwardRef(
|
|
|
5987
6306
|
...props
|
|
5988
6307
|
},
|
|
5989
6308
|
toasts.map(
|
|
5990
|
-
(entry) =>
|
|
6309
|
+
(entry) => React42__namespace.createElement(Toast, {
|
|
5991
6310
|
key: entry.id,
|
|
5992
6311
|
entry,
|
|
5993
6312
|
onDismiss: dismiss
|
|
@@ -6074,9 +6393,9 @@ var tooltipContentVariants = cva({
|
|
|
6074
6393
|
side: "top"
|
|
6075
6394
|
}
|
|
6076
6395
|
});
|
|
6077
|
-
var TooltipContext =
|
|
6396
|
+
var TooltipContext = React42__namespace.createContext(null);
|
|
6078
6397
|
function useTooltipContext() {
|
|
6079
|
-
const ctx =
|
|
6398
|
+
const ctx = React42__namespace.useContext(TooltipContext);
|
|
6080
6399
|
if (!ctx) {
|
|
6081
6400
|
throw new Error("Tooltip compound components must be used within <Tooltip>");
|
|
6082
6401
|
}
|
|
@@ -6090,11 +6409,11 @@ function Tooltip({
|
|
|
6090
6409
|
delayDuration = 300,
|
|
6091
6410
|
children
|
|
6092
6411
|
}) {
|
|
6093
|
-
const [internalOpen, setInternalOpen] =
|
|
6412
|
+
const [internalOpen, setInternalOpen] = React42__namespace.useState(controlledOpen ?? defaultOpen);
|
|
6094
6413
|
const isControlled = controlledOpen !== void 0;
|
|
6095
6414
|
const isOpen = isControlled ? controlledOpen : internalOpen;
|
|
6096
|
-
const timerRef =
|
|
6097
|
-
const handleOpenChange =
|
|
6415
|
+
const timerRef = React42__namespace.useRef(null);
|
|
6416
|
+
const handleOpenChange = React42__namespace.useCallback(
|
|
6098
6417
|
(value) => {
|
|
6099
6418
|
if (!isControlled) {
|
|
6100
6419
|
setInternalOpen(value);
|
|
@@ -6103,17 +6422,17 @@ function Tooltip({
|
|
|
6103
6422
|
},
|
|
6104
6423
|
[isControlled, onOpenChange]
|
|
6105
6424
|
);
|
|
6106
|
-
const api =
|
|
6425
|
+
const api = React42__namespace.useMemo(
|
|
6107
6426
|
() => createTooltip({ open: isOpen, onOpenChange: handleOpenChange, placement, delayDuration }),
|
|
6108
6427
|
[isOpen, handleOpenChange, placement, delayDuration]
|
|
6109
6428
|
);
|
|
6110
|
-
const cancelDelay =
|
|
6429
|
+
const cancelDelay = React42__namespace.useCallback(() => {
|
|
6111
6430
|
if (timerRef.current !== null) {
|
|
6112
6431
|
clearTimeout(timerRef.current);
|
|
6113
6432
|
timerRef.current = null;
|
|
6114
6433
|
}
|
|
6115
6434
|
}, []);
|
|
6116
|
-
const openWithDelay =
|
|
6435
|
+
const openWithDelay = React42__namespace.useCallback(() => {
|
|
6117
6436
|
cancelDelay();
|
|
6118
6437
|
if (delayDuration <= 0) {
|
|
6119
6438
|
handleOpenChange(true);
|
|
@@ -6124,21 +6443,21 @@ function Tooltip({
|
|
|
6124
6443
|
timerRef.current = null;
|
|
6125
6444
|
}, delayDuration);
|
|
6126
6445
|
}, [cancelDelay, delayDuration, handleOpenChange]);
|
|
6127
|
-
|
|
6446
|
+
React42__namespace.useEffect(() => {
|
|
6128
6447
|
return () => {
|
|
6129
6448
|
if (timerRef.current !== null) {
|
|
6130
6449
|
clearTimeout(timerRef.current);
|
|
6131
6450
|
}
|
|
6132
6451
|
};
|
|
6133
6452
|
}, []);
|
|
6134
|
-
const ctx =
|
|
6453
|
+
const ctx = React42__namespace.useMemo(
|
|
6135
6454
|
() => ({ api, open: isOpen, setOpen: handleOpenChange, openWithDelay, cancelDelay }),
|
|
6136
6455
|
[api, isOpen, handleOpenChange, openWithDelay, cancelDelay]
|
|
6137
6456
|
);
|
|
6138
|
-
return
|
|
6457
|
+
return React42__namespace.createElement(TooltipContext.Provider, { value: ctx }, children);
|
|
6139
6458
|
}
|
|
6140
6459
|
Tooltip.displayName = "Tooltip";
|
|
6141
|
-
var TooltipTrigger =
|
|
6460
|
+
var TooltipTrigger = React42__namespace.forwardRef(
|
|
6142
6461
|
({ onMouseEnter, onMouseLeave, onFocus, onBlur, children, ...props }, ref) => {
|
|
6143
6462
|
const { api, setOpen, openWithDelay, cancelDelay } = useTooltipContext();
|
|
6144
6463
|
const handleMouseEnter = (e) => {
|
|
@@ -6175,7 +6494,7 @@ var TooltipTrigger = React41__namespace.forwardRef(
|
|
|
6175
6494
|
}
|
|
6176
6495
|
);
|
|
6177
6496
|
TooltipTrigger.displayName = "TooltipTrigger";
|
|
6178
|
-
var TooltipContent =
|
|
6497
|
+
var TooltipContent = React42__namespace.forwardRef(
|
|
6179
6498
|
({ side, className, children, ...props }, ref) => {
|
|
6180
6499
|
const { api, open } = useTooltipContext();
|
|
6181
6500
|
if (!open) return null;
|
|
@@ -6295,7 +6614,7 @@ var overlayVariants = cva({
|
|
|
6295
6614
|
visibility: "visible"
|
|
6296
6615
|
}
|
|
6297
6616
|
});
|
|
6298
|
-
var VideoPlayer =
|
|
6617
|
+
var VideoPlayer = React42__namespace.forwardRef(
|
|
6299
6618
|
({
|
|
6300
6619
|
src,
|
|
6301
6620
|
poster,
|
|
@@ -6305,9 +6624,9 @@ var VideoPlayer = React41__namespace.forwardRef(
|
|
|
6305
6624
|
className,
|
|
6306
6625
|
...props
|
|
6307
6626
|
}, ref) => {
|
|
6308
|
-
const [, setTick] =
|
|
6309
|
-
const rerender =
|
|
6310
|
-
const apiRef =
|
|
6627
|
+
const [, setTick] = React42__namespace.useState(0);
|
|
6628
|
+
const rerender = React42__namespace.useCallback(() => setTick((t) => t + 1), []);
|
|
6629
|
+
const apiRef = React42__namespace.useRef(
|
|
6311
6630
|
createVideoPlayer({ muted: initialMuted})
|
|
6312
6631
|
);
|
|
6313
6632
|
const api = apiRef.current;
|
|
@@ -6474,7 +6793,7 @@ var progressBarVariants = cva({
|
|
|
6474
6793
|
size: "md"
|
|
6475
6794
|
}
|
|
6476
6795
|
});
|
|
6477
|
-
var StatsGrid =
|
|
6796
|
+
var StatsGrid = React42__namespace.forwardRef(
|
|
6478
6797
|
({ stats, badges = [], className, ...props }, ref) => {
|
|
6479
6798
|
const api = createProgressDisplay({ stats, badges });
|
|
6480
6799
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6503,7 +6822,7 @@ var StatsGrid = React41__namespace.forwardRef(
|
|
|
6503
6822
|
}
|
|
6504
6823
|
);
|
|
6505
6824
|
StatsGrid.displayName = "StatsGrid";
|
|
6506
|
-
var ProgressBar =
|
|
6825
|
+
var ProgressBar = React42__namespace.forwardRef(
|
|
6507
6826
|
({ value, max = 100, size, className, ...props }, ref) => {
|
|
6508
6827
|
const percent = Math.min(100, Math.max(0, value / max * 100));
|
|
6509
6828
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6528,7 +6847,7 @@ var ProgressBar = React41__namespace.forwardRef(
|
|
|
6528
6847
|
}
|
|
6529
6848
|
);
|
|
6530
6849
|
ProgressBar.displayName = "ProgressBar";
|
|
6531
|
-
var BadgeDisplay =
|
|
6850
|
+
var BadgeDisplay = React42__namespace.forwardRef(
|
|
6532
6851
|
({ badges, className, ...props }, ref) => {
|
|
6533
6852
|
const api = createProgressDisplay({ stats: [], badges });
|
|
6534
6853
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6696,7 +7015,7 @@ var slideTypeBadgeVariants = cva({
|
|
|
6696
7015
|
type: "lesson"
|
|
6697
7016
|
}
|
|
6698
7017
|
});
|
|
6699
|
-
var SlideViewer =
|
|
7018
|
+
var SlideViewer = React42__namespace.forwardRef(
|
|
6700
7019
|
({
|
|
6701
7020
|
slides,
|
|
6702
7021
|
initialSlide,
|
|
@@ -6706,9 +7025,9 @@ var SlideViewer = React41__namespace.forwardRef(
|
|
|
6706
7025
|
size,
|
|
6707
7026
|
renderSlide
|
|
6708
7027
|
}, ref) => {
|
|
6709
|
-
const [, setTick] =
|
|
7028
|
+
const [, setTick] = React42__namespace.useState(0);
|
|
6710
7029
|
const rerender = () => setTick((t) => t + 1);
|
|
6711
|
-
const apiRef =
|
|
7030
|
+
const apiRef = React42__namespace.useRef(
|
|
6712
7031
|
createSlideViewer({ slides, initialSlide, onSlideChange, onComplete })
|
|
6713
7032
|
);
|
|
6714
7033
|
const api = apiRef.current;
|
|
@@ -6910,7 +7229,7 @@ var optionVariants = cva({
|
|
|
6910
7229
|
});
|
|
6911
7230
|
|
|
6912
7231
|
// ../react-language-selector/dist/index.js
|
|
6913
|
-
var LanguageSelectorContext =
|
|
7232
|
+
var LanguageSelectorContext = React42__namespace.createContext(null);
|
|
6914
7233
|
function LanguageSelector({
|
|
6915
7234
|
value: controlledValue,
|
|
6916
7235
|
onValueChange,
|
|
@@ -6920,10 +7239,10 @@ function LanguageSelector({
|
|
|
6920
7239
|
className
|
|
6921
7240
|
}) {
|
|
6922
7241
|
const initialValues = Array.isArray(controlledValue) ? controlledValue : controlledValue ? [controlledValue] : [];
|
|
6923
|
-
const [selectedValues, setSelectedValues] =
|
|
6924
|
-
const [isOpen, setIsOpen] =
|
|
6925
|
-
const containerRef =
|
|
6926
|
-
const handleValueChange =
|
|
7242
|
+
const [selectedValues, setSelectedValues] = React42__namespace.useState(initialValues);
|
|
7243
|
+
const [isOpen, setIsOpen] = React42__namespace.useState(false);
|
|
7244
|
+
const containerRef = React42__namespace.useRef(null);
|
|
7245
|
+
const handleValueChange = React42__namespace.useCallback(
|
|
6927
7246
|
(val) => {
|
|
6928
7247
|
const arr = Array.isArray(val) ? val : [val];
|
|
6929
7248
|
setSelectedValues(arr);
|
|
@@ -6931,7 +7250,7 @@ function LanguageSelector({
|
|
|
6931
7250
|
},
|
|
6932
7251
|
[onValueChange]
|
|
6933
7252
|
);
|
|
6934
|
-
const api =
|
|
7253
|
+
const api = React42__namespace.useMemo(
|
|
6935
7254
|
() => createLanguageSelector({
|
|
6936
7255
|
value: multiple ? selectedValues : selectedValues[0],
|
|
6937
7256
|
onValueChange: handleValueChange,
|
|
@@ -6939,7 +7258,7 @@ function LanguageSelector({
|
|
|
6939
7258
|
}),
|
|
6940
7259
|
[selectedValues, handleValueChange, options, multiple]
|
|
6941
7260
|
);
|
|
6942
|
-
const handleToggle =
|
|
7261
|
+
const handleToggle = React42__namespace.useCallback(
|
|
6943
7262
|
(val) => {
|
|
6944
7263
|
if (multiple) {
|
|
6945
7264
|
const index = selectedValues.indexOf(val);
|
|
@@ -6954,10 +7273,10 @@ function LanguageSelector({
|
|
|
6954
7273
|
},
|
|
6955
7274
|
[multiple, selectedValues, onValueChange]
|
|
6956
7275
|
);
|
|
6957
|
-
const handleTriggerClick =
|
|
7276
|
+
const handleTriggerClick = React42__namespace.useCallback(() => {
|
|
6958
7277
|
setIsOpen((prev) => !prev);
|
|
6959
7278
|
}, []);
|
|
6960
|
-
const handleKeyDown =
|
|
7279
|
+
const handleKeyDown = React42__namespace.useCallback(
|
|
6961
7280
|
(e) => {
|
|
6962
7281
|
if (e.key === "Escape") {
|
|
6963
7282
|
setIsOpen(false);
|
|
@@ -6972,7 +7291,7 @@ function LanguageSelector({
|
|
|
6972
7291
|
},
|
|
6973
7292
|
[isOpen]
|
|
6974
7293
|
);
|
|
6975
|
-
|
|
7294
|
+
React42__namespace.useEffect(() => {
|
|
6976
7295
|
if (!isOpen) return;
|
|
6977
7296
|
function handleClickOutside(e) {
|
|
6978
7297
|
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
@@ -6982,7 +7301,7 @@ function LanguageSelector({
|
|
|
6982
7301
|
document.addEventListener("mousedown", handleClickOutside);
|
|
6983
7302
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
6984
7303
|
}, [isOpen]);
|
|
6985
|
-
const ctx =
|
|
7304
|
+
const ctx = React42__namespace.useMemo(
|
|
6986
7305
|
() => ({
|
|
6987
7306
|
api,
|
|
6988
7307
|
isOpen,
|
|
@@ -6993,7 +7312,7 @@ function LanguageSelector({
|
|
|
6993
7312
|
}),
|
|
6994
7313
|
[api, isOpen, handleToggle, options, multiple]
|
|
6995
7314
|
);
|
|
6996
|
-
const grouped =
|
|
7315
|
+
const grouped = React42__namespace.useMemo(() => {
|
|
6997
7316
|
const groups = /* @__PURE__ */ new Map();
|
|
6998
7317
|
const ungrouped = [];
|
|
6999
7318
|
for (const opt of options) {
|
|
@@ -7008,14 +7327,14 @@ function LanguageSelector({
|
|
|
7008
7327
|
return { groups, ungrouped };
|
|
7009
7328
|
}, [options]);
|
|
7010
7329
|
const displayLabel = selectedValues.length > 0 ? options.filter((o) => selectedValues.includes(o.value)).map((o) => o.label).join(", ") : placeholder;
|
|
7011
|
-
return
|
|
7330
|
+
return React42__namespace.createElement(
|
|
7012
7331
|
LanguageSelectorContext.Provider,
|
|
7013
7332
|
{ value: ctx },
|
|
7014
|
-
|
|
7333
|
+
React42__namespace.createElement(
|
|
7015
7334
|
"div",
|
|
7016
7335
|
{ ref: containerRef, className: cn("rfr-language-selector relative inline-block", className) },
|
|
7017
7336
|
// Trigger
|
|
7018
|
-
|
|
7337
|
+
React42__namespace.createElement(
|
|
7019
7338
|
"button",
|
|
7020
7339
|
{
|
|
7021
7340
|
type: "button",
|
|
@@ -7027,11 +7346,11 @@ function LanguageSelector({
|
|
|
7027
7346
|
onClick: handleTriggerClick,
|
|
7028
7347
|
onKeyDown: handleKeyDown
|
|
7029
7348
|
},
|
|
7030
|
-
|
|
7031
|
-
|
|
7349
|
+
React42__namespace.createElement("span", null, displayLabel),
|
|
7350
|
+
React42__namespace.createElement("span", { "aria-hidden": "true", className: "ml-2" }, "\u25BE")
|
|
7032
7351
|
),
|
|
7033
7352
|
// Dropdown
|
|
7034
|
-
isOpen &&
|
|
7353
|
+
isOpen && React42__namespace.createElement(
|
|
7035
7354
|
"ul",
|
|
7036
7355
|
{
|
|
7037
7356
|
role: api.contentProps.role,
|
|
@@ -7040,21 +7359,21 @@ function LanguageSelector({
|
|
|
7040
7359
|
className: "absolute top-full left-0 w-full mt-1 rounded-md border bg-popover text-popover-foreground shadow-md z-50 overflow-auto max-h-60"
|
|
7041
7360
|
},
|
|
7042
7361
|
...[...grouped.groups.entries()].map(
|
|
7043
|
-
([group, opts]) =>
|
|
7362
|
+
([group, opts]) => React42__namespace.createElement(
|
|
7044
7363
|
"li",
|
|
7045
7364
|
{ key: group, role: "presentation" },
|
|
7046
|
-
|
|
7365
|
+
React42__namespace.createElement(
|
|
7047
7366
|
"div",
|
|
7048
7367
|
{ className: "px-3 py-1 text-xs font-semibold text-muted-foreground uppercase" },
|
|
7049
7368
|
group
|
|
7050
7369
|
),
|
|
7051
|
-
|
|
7370
|
+
React42__namespace.createElement(
|
|
7052
7371
|
"ul",
|
|
7053
7372
|
{ role: "group", "aria-label": group },
|
|
7054
7373
|
...opts.map((opt) => {
|
|
7055
7374
|
const optProps = api.getOptionProps(opt.value);
|
|
7056
7375
|
const isSelected = selectedValues.includes(opt.value);
|
|
7057
|
-
return
|
|
7376
|
+
return React42__namespace.createElement(
|
|
7058
7377
|
"li",
|
|
7059
7378
|
{
|
|
7060
7379
|
key: opt.value,
|
|
@@ -7062,8 +7381,8 @@ function LanguageSelector({
|
|
|
7062
7381
|
className: optionVariants({ selected: isSelected ? "true" : "false" }),
|
|
7063
7382
|
onClick: () => handleToggle(opt.value)
|
|
7064
7383
|
},
|
|
7065
|
-
isSelected &&
|
|
7066
|
-
|
|
7384
|
+
isSelected && React42__namespace.createElement("span", { "aria-hidden": "true" }, "\u2713"),
|
|
7385
|
+
React42__namespace.createElement("span", null, opt.label)
|
|
7067
7386
|
);
|
|
7068
7387
|
})
|
|
7069
7388
|
)
|
|
@@ -7072,7 +7391,7 @@ function LanguageSelector({
|
|
|
7072
7391
|
...grouped.ungrouped.map((opt) => {
|
|
7073
7392
|
const optProps = api.getOptionProps(opt.value);
|
|
7074
7393
|
const isSelected = selectedValues.includes(opt.value);
|
|
7075
|
-
return
|
|
7394
|
+
return React42__namespace.createElement(
|
|
7076
7395
|
"li",
|
|
7077
7396
|
{
|
|
7078
7397
|
key: opt.value,
|
|
@@ -7080,8 +7399,8 @@ function LanguageSelector({
|
|
|
7080
7399
|
className: optionVariants({ selected: isSelected ? "true" : "false" }),
|
|
7081
7400
|
onClick: () => handleToggle(opt.value)
|
|
7082
7401
|
},
|
|
7083
|
-
isSelected &&
|
|
7084
|
-
|
|
7402
|
+
isSelected && React42__namespace.createElement("span", { "aria-hidden": "true" }, "\u2713"),
|
|
7403
|
+
React42__namespace.createElement("span", null, opt.label)
|
|
7085
7404
|
);
|
|
7086
7405
|
})
|
|
7087
7406
|
)
|
|
@@ -7206,7 +7525,7 @@ var latestBadgeVariants = cva({
|
|
|
7206
7525
|
});
|
|
7207
7526
|
|
|
7208
7527
|
// ../react-version-selector/dist/index.js
|
|
7209
|
-
var VersionSelectorContext =
|
|
7528
|
+
var VersionSelectorContext = React42__namespace.createContext(null);
|
|
7210
7529
|
function VersionSelector({
|
|
7211
7530
|
value: controlledValue,
|
|
7212
7531
|
onValueChange,
|
|
@@ -7214,17 +7533,17 @@ function VersionSelector({
|
|
|
7214
7533
|
placeholder = "Select version...",
|
|
7215
7534
|
className
|
|
7216
7535
|
}) {
|
|
7217
|
-
const [selectedVersion, setSelectedVersion] =
|
|
7218
|
-
const [isOpen, setIsOpen] =
|
|
7219
|
-
const containerRef =
|
|
7220
|
-
const handleValueChange =
|
|
7536
|
+
const [selectedVersion, setSelectedVersion] = React42__namespace.useState(controlledValue ?? "");
|
|
7537
|
+
const [isOpen, setIsOpen] = React42__namespace.useState(false);
|
|
7538
|
+
const containerRef = React42__namespace.useRef(null);
|
|
7539
|
+
const handleValueChange = React42__namespace.useCallback(
|
|
7221
7540
|
(val) => {
|
|
7222
7541
|
setSelectedVersion(val);
|
|
7223
7542
|
onValueChange?.(val);
|
|
7224
7543
|
},
|
|
7225
7544
|
[onValueChange]
|
|
7226
7545
|
);
|
|
7227
|
-
const api =
|
|
7546
|
+
const api = React42__namespace.useMemo(
|
|
7228
7547
|
() => createVersionSelector({
|
|
7229
7548
|
value: selectedVersion,
|
|
7230
7549
|
onValueChange: handleValueChange,
|
|
@@ -7232,7 +7551,7 @@ function VersionSelector({
|
|
|
7232
7551
|
}),
|
|
7233
7552
|
[selectedVersion, handleValueChange, versions]
|
|
7234
7553
|
);
|
|
7235
|
-
const handleSelect =
|
|
7554
|
+
const handleSelect = React42__namespace.useCallback(
|
|
7236
7555
|
(val) => {
|
|
7237
7556
|
setSelectedVersion(val);
|
|
7238
7557
|
onValueChange?.(val);
|
|
@@ -7240,10 +7559,10 @@ function VersionSelector({
|
|
|
7240
7559
|
},
|
|
7241
7560
|
[onValueChange]
|
|
7242
7561
|
);
|
|
7243
|
-
const handleTriggerClick =
|
|
7562
|
+
const handleTriggerClick = React42__namespace.useCallback(() => {
|
|
7244
7563
|
setIsOpen((prev) => !prev);
|
|
7245
7564
|
}, []);
|
|
7246
|
-
const handleKeyDown =
|
|
7565
|
+
const handleKeyDown = React42__namespace.useCallback(
|
|
7247
7566
|
(e) => {
|
|
7248
7567
|
if (e.key === "Escape") {
|
|
7249
7568
|
setIsOpen(false);
|
|
@@ -7258,7 +7577,7 @@ function VersionSelector({
|
|
|
7258
7577
|
},
|
|
7259
7578
|
[isOpen]
|
|
7260
7579
|
);
|
|
7261
|
-
|
|
7580
|
+
React42__namespace.useEffect(() => {
|
|
7262
7581
|
if (!isOpen) return;
|
|
7263
7582
|
function handleClickOutside(e) {
|
|
7264
7583
|
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
@@ -7268,7 +7587,7 @@ function VersionSelector({
|
|
|
7268
7587
|
document.addEventListener("mousedown", handleClickOutside);
|
|
7269
7588
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
7270
7589
|
}, [isOpen]);
|
|
7271
|
-
const ctx =
|
|
7590
|
+
const ctx = React42__namespace.useMemo(
|
|
7272
7591
|
() => ({
|
|
7273
7592
|
api,
|
|
7274
7593
|
isOpen,
|
|
@@ -7280,14 +7599,14 @@ function VersionSelector({
|
|
|
7280
7599
|
);
|
|
7281
7600
|
const selectedOpt = versions.find((v) => v.value === selectedVersion);
|
|
7282
7601
|
const displayLabel = selectedOpt ? selectedOpt.label : placeholder;
|
|
7283
|
-
return
|
|
7602
|
+
return React42__namespace.createElement(
|
|
7284
7603
|
VersionSelectorContext.Provider,
|
|
7285
7604
|
{ value: ctx },
|
|
7286
|
-
|
|
7605
|
+
React42__namespace.createElement(
|
|
7287
7606
|
"div",
|
|
7288
7607
|
{ ref: containerRef, className: cn("rfr-version-selector relative inline-block", className) },
|
|
7289
7608
|
// Trigger
|
|
7290
|
-
|
|
7609
|
+
React42__namespace.createElement(
|
|
7291
7610
|
"button",
|
|
7292
7611
|
{
|
|
7293
7612
|
type: "button",
|
|
@@ -7299,16 +7618,16 @@ function VersionSelector({
|
|
|
7299
7618
|
onClick: handleTriggerClick,
|
|
7300
7619
|
onKeyDown: handleKeyDown
|
|
7301
7620
|
},
|
|
7302
|
-
|
|
7303
|
-
selectedOpt?.isLatest &&
|
|
7621
|
+
React42__namespace.createElement("span", null, displayLabel),
|
|
7622
|
+
selectedOpt?.isLatest && React42__namespace.createElement(
|
|
7304
7623
|
"span",
|
|
7305
7624
|
{ className: cn(latestBadgeVariants(), "ml-2") },
|
|
7306
7625
|
"Latest"
|
|
7307
7626
|
),
|
|
7308
|
-
|
|
7627
|
+
React42__namespace.createElement("span", { "aria-hidden": "true", className: "ml-2" }, "\u25BE")
|
|
7309
7628
|
),
|
|
7310
7629
|
// Dropdown
|
|
7311
|
-
isOpen &&
|
|
7630
|
+
isOpen && React42__namespace.createElement(
|
|
7312
7631
|
"ul",
|
|
7313
7632
|
{
|
|
7314
7633
|
role: api.contentProps.role,
|
|
@@ -7318,7 +7637,7 @@ function VersionSelector({
|
|
|
7318
7637
|
...versions.map((ver) => {
|
|
7319
7638
|
const optProps = api.getOptionProps(ver.value);
|
|
7320
7639
|
const isSelected = selectedVersion === ver.value;
|
|
7321
|
-
return
|
|
7640
|
+
return React42__namespace.createElement(
|
|
7322
7641
|
"li",
|
|
7323
7642
|
{
|
|
7324
7643
|
key: ver.value,
|
|
@@ -7326,8 +7645,8 @@ function VersionSelector({
|
|
|
7326
7645
|
className: optionVariants2({ selected: isSelected ? "true" : "false" }),
|
|
7327
7646
|
onClick: () => handleSelect(ver.value)
|
|
7328
7647
|
},
|
|
7329
|
-
|
|
7330
|
-
ver.isLatest &&
|
|
7648
|
+
React42__namespace.createElement("span", null, ver.label),
|
|
7649
|
+
ver.isLatest && React42__namespace.createElement(
|
|
7331
7650
|
"span",
|
|
7332
7651
|
{ className: latestBadgeVariants() },
|
|
7333
7652
|
"Latest"
|
|
@@ -7470,15 +7789,15 @@ var resizablePaneVariants = cva({
|
|
|
7470
7789
|
orientation: "horizontal"
|
|
7471
7790
|
}
|
|
7472
7791
|
});
|
|
7473
|
-
var ResizableLayoutContext =
|
|
7792
|
+
var ResizableLayoutContext = React42__namespace.createContext(null);
|
|
7474
7793
|
function useResizableLayoutContext() {
|
|
7475
|
-
const ctx =
|
|
7794
|
+
const ctx = React42__namespace.useContext(ResizableLayoutContext);
|
|
7476
7795
|
if (!ctx) {
|
|
7477
7796
|
throw new Error("Resizable compound components must be used within <ResizableLayout>");
|
|
7478
7797
|
}
|
|
7479
7798
|
return ctx;
|
|
7480
7799
|
}
|
|
7481
|
-
var ResizableLayout =
|
|
7800
|
+
var ResizableLayout = React42__namespace.forwardRef(
|
|
7482
7801
|
({
|
|
7483
7802
|
orientation = "horizontal",
|
|
7484
7803
|
defaultSizes = [50, 50],
|
|
@@ -7491,7 +7810,7 @@ var ResizableLayout = React41__namespace.forwardRef(
|
|
|
7491
7810
|
children,
|
|
7492
7811
|
...props
|
|
7493
7812
|
}, ref) => {
|
|
7494
|
-
const apiRef =
|
|
7813
|
+
const apiRef = React42__namespace.useRef(null);
|
|
7495
7814
|
if (!apiRef.current) {
|
|
7496
7815
|
apiRef.current = createResizableLayout({
|
|
7497
7816
|
orientation,
|
|
@@ -7502,22 +7821,22 @@ var ResizableLayout = React41__namespace.forwardRef(
|
|
|
7502
7821
|
});
|
|
7503
7822
|
}
|
|
7504
7823
|
const api = apiRef.current;
|
|
7505
|
-
const [sizes, setSizesState] =
|
|
7506
|
-
const setSizes =
|
|
7824
|
+
const [sizes, setSizesState] = React42__namespace.useState(api.sizes);
|
|
7825
|
+
const setSizes = React42__namespace.useCallback(
|
|
7507
7826
|
(newSizes) => {
|
|
7508
7827
|
setSizesState([...newSizes]);
|
|
7509
7828
|
onSizesChange?.(newSizes);
|
|
7510
7829
|
},
|
|
7511
7830
|
[onSizesChange]
|
|
7512
7831
|
);
|
|
7513
|
-
const cssVars =
|
|
7832
|
+
const cssVars = React42__namespace.useMemo(() => {
|
|
7514
7833
|
const vars = {};
|
|
7515
7834
|
for (let i = 0; i < sizes.length; i++) {
|
|
7516
7835
|
vars[`--rfr-pane-${i}-size`] = `${sizes[i]}%`;
|
|
7517
7836
|
}
|
|
7518
7837
|
return vars;
|
|
7519
7838
|
}, [sizes]);
|
|
7520
|
-
const contextValue =
|
|
7839
|
+
const contextValue = React42__namespace.useMemo(
|
|
7521
7840
|
() => ({ api, orientation, sizes, setSizes }),
|
|
7522
7841
|
[api, orientation, sizes, setSizes]
|
|
7523
7842
|
);
|
|
@@ -7535,7 +7854,7 @@ var ResizableLayout = React41__namespace.forwardRef(
|
|
|
7535
7854
|
}
|
|
7536
7855
|
);
|
|
7537
7856
|
ResizableLayout.displayName = "ResizableLayout";
|
|
7538
|
-
var ResizablePane =
|
|
7857
|
+
var ResizablePane = React42__namespace.forwardRef(
|
|
7539
7858
|
({ index, className, style, children, ...props }, ref) => {
|
|
7540
7859
|
const { orientation, sizes } = useResizableLayoutContext();
|
|
7541
7860
|
const size = sizes[index] ?? 50;
|
|
@@ -7559,12 +7878,12 @@ var ResizablePane = React41__namespace.forwardRef(
|
|
|
7559
7878
|
}
|
|
7560
7879
|
);
|
|
7561
7880
|
ResizablePane.displayName = "ResizablePane";
|
|
7562
|
-
var ResizableDivider =
|
|
7881
|
+
var ResizableDivider = React42__namespace.forwardRef(
|
|
7563
7882
|
({ index, className, ...props }, ref) => {
|
|
7564
7883
|
const { api, orientation, setSizes } = useResizableLayoutContext();
|
|
7565
|
-
const startPosRef =
|
|
7566
|
-
const containerSizeRef =
|
|
7567
|
-
const onPointerDown =
|
|
7884
|
+
const startPosRef = React42__namespace.useRef(0);
|
|
7885
|
+
const containerSizeRef = React42__namespace.useRef(0);
|
|
7886
|
+
const onPointerDown = React42__namespace.useCallback(
|
|
7568
7887
|
(e) => {
|
|
7569
7888
|
e.preventDefault();
|
|
7570
7889
|
const target = e.currentTarget;
|
|
@@ -7578,7 +7897,7 @@ var ResizableDivider = React41__namespace.forwardRef(
|
|
|
7578
7897
|
},
|
|
7579
7898
|
[api, index, orientation]
|
|
7580
7899
|
);
|
|
7581
|
-
const onPointerMove =
|
|
7900
|
+
const onPointerMove = React42__namespace.useCallback(
|
|
7582
7901
|
(e) => {
|
|
7583
7902
|
if (containerSizeRef.current === 0) return;
|
|
7584
7903
|
const currentPos = orientation === "horizontal" ? e.clientX : e.clientY;
|
|
@@ -7589,7 +7908,7 @@ var ResizableDivider = React41__namespace.forwardRef(
|
|
|
7589
7908
|
},
|
|
7590
7909
|
[api, orientation, setSizes]
|
|
7591
7910
|
);
|
|
7592
|
-
const onPointerUp =
|
|
7911
|
+
const onPointerUp = React42__namespace.useCallback(
|
|
7593
7912
|
(e) => {
|
|
7594
7913
|
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
7595
7914
|
containerSizeRef.current = 0;
|
|
@@ -7842,26 +8161,26 @@ function createAuthShell(config) {
|
|
|
7842
8161
|
}
|
|
7843
8162
|
|
|
7844
8163
|
// ../react-app-shell/dist/index.js
|
|
7845
|
-
var AppShellContext =
|
|
8164
|
+
var AppShellContext = React42__namespace.createContext(null);
|
|
7846
8165
|
function useAppShell() {
|
|
7847
|
-
const ctx =
|
|
8166
|
+
const ctx = React42__namespace.useContext(AppShellContext);
|
|
7848
8167
|
if (!ctx) {
|
|
7849
8168
|
throw new Error("useAppShell must be used within <AppShell>");
|
|
7850
8169
|
}
|
|
7851
8170
|
return ctx;
|
|
7852
8171
|
}
|
|
7853
8172
|
function AppShellRoot({ config, children, className }) {
|
|
7854
|
-
const apiRef =
|
|
8173
|
+
const apiRef = React42__namespace.useRef(null);
|
|
7855
8174
|
if (apiRef.current === null) {
|
|
7856
8175
|
apiRef.current = createAppShell(config);
|
|
7857
8176
|
}
|
|
7858
8177
|
const api = apiRef.current;
|
|
7859
|
-
const [state, setState] =
|
|
7860
|
-
|
|
8178
|
+
const [state, setState] = React42__namespace.useState(() => api.state);
|
|
8179
|
+
React42__namespace.useEffect(() => {
|
|
7861
8180
|
setState(api.state);
|
|
7862
8181
|
return api.subscribe((s) => setState(s));
|
|
7863
8182
|
}, [api]);
|
|
7864
|
-
|
|
8183
|
+
React42__namespace.useEffect(() => {
|
|
7865
8184
|
if (typeof window === "undefined") return;
|
|
7866
8185
|
const { mobileBreakpoint, tabletBreakpoint } = api.config;
|
|
7867
8186
|
const mobileQuery = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);
|
|
@@ -7882,14 +8201,14 @@ function AppShellRoot({ config, children, className }) {
|
|
|
7882
8201
|
};
|
|
7883
8202
|
}, [api]);
|
|
7884
8203
|
const cssVars = api.getCSSVariables();
|
|
7885
|
-
const ctxValue =
|
|
8204
|
+
const ctxValue = React42__namespace.useMemo(
|
|
7886
8205
|
() => ({ api, state }),
|
|
7887
8206
|
[api, state]
|
|
7888
8207
|
);
|
|
7889
|
-
return
|
|
8208
|
+
return React42__namespace.createElement(
|
|
7890
8209
|
AppShellContext.Provider,
|
|
7891
8210
|
{ value: ctxValue },
|
|
7892
|
-
|
|
8211
|
+
React42__namespace.createElement(
|
|
7893
8212
|
"div",
|
|
7894
8213
|
{
|
|
7895
8214
|
className: cn("flex h-screen w-full overflow-hidden", className),
|
|
@@ -7919,7 +8238,7 @@ function Sidebar2({ children, className }) {
|
|
|
7919
8238
|
"w-[var(--shell-sidebar-full-width)]",
|
|
7920
8239
|
state.sidebarOpen ? "translate-x-0" : isRight ? "translate-x-full" : "-translate-x-full"
|
|
7921
8240
|
] : ["relative", "w-[var(--shell-sidebar-width)]"];
|
|
7922
|
-
return
|
|
8241
|
+
return React42__namespace.createElement(
|
|
7923
8242
|
"aside",
|
|
7924
8243
|
{
|
|
7925
8244
|
...api.sidebarAriaProps,
|
|
@@ -7932,7 +8251,7 @@ function Sidebar2({ children, className }) {
|
|
|
7932
8251
|
}
|
|
7933
8252
|
Sidebar2.displayName = "AppShell.Sidebar";
|
|
7934
8253
|
function Main({ children, className }) {
|
|
7935
|
-
return
|
|
8254
|
+
return React42__namespace.createElement(
|
|
7936
8255
|
"div",
|
|
7937
8256
|
{
|
|
7938
8257
|
className: cn("flex flex-1 flex-col min-w-0 h-full", className)
|
|
@@ -7943,7 +8262,7 @@ function Main({ children, className }) {
|
|
|
7943
8262
|
Main.displayName = "AppShell.Main";
|
|
7944
8263
|
function Header({ children, className }) {
|
|
7945
8264
|
const { api, state } = useAppShell();
|
|
7946
|
-
const hamburger = state.isMobile ?
|
|
8265
|
+
const hamburger = state.isMobile ? React42__namespace.createElement(
|
|
7947
8266
|
"button",
|
|
7948
8267
|
{
|
|
7949
8268
|
type: "button",
|
|
@@ -7953,7 +8272,7 @@ function Header({ children, className }) {
|
|
|
7953
8272
|
onClick: () => api.toggleSidebar(),
|
|
7954
8273
|
className: "inline-flex items-center justify-center p-2 mr-2"
|
|
7955
8274
|
},
|
|
7956
|
-
|
|
8275
|
+
React42__namespace.createElement(
|
|
7957
8276
|
"svg",
|
|
7958
8277
|
{
|
|
7959
8278
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -7967,12 +8286,12 @@ function Header({ children, className }) {
|
|
|
7967
8286
|
strokeLinejoin: "round",
|
|
7968
8287
|
"aria-hidden": "true"
|
|
7969
8288
|
},
|
|
7970
|
-
|
|
7971
|
-
|
|
7972
|
-
|
|
8289
|
+
React42__namespace.createElement("line", { x1: 3, y1: 6, x2: 21, y2: 6 }),
|
|
8290
|
+
React42__namespace.createElement("line", { x1: 3, y1: 12, x2: 21, y2: 12 }),
|
|
8291
|
+
React42__namespace.createElement("line", { x1: 3, y1: 18, x2: 21, y2: 18 })
|
|
7973
8292
|
)
|
|
7974
8293
|
) : null;
|
|
7975
|
-
return
|
|
8294
|
+
return React42__namespace.createElement(
|
|
7976
8295
|
"header",
|
|
7977
8296
|
{
|
|
7978
8297
|
...api.headerAriaProps,
|
|
@@ -7991,7 +8310,7 @@ Header.displayName = "AppShell.Header";
|
|
|
7991
8310
|
function Content({ children, className, maxWidth }) {
|
|
7992
8311
|
const { api } = useAppShell();
|
|
7993
8312
|
const mwClass = maxWidth ? `max-w-${maxWidth}` : "";
|
|
7994
|
-
return
|
|
8313
|
+
return React42__namespace.createElement(
|
|
7995
8314
|
"main",
|
|
7996
8315
|
{
|
|
7997
8316
|
...api.mainAriaProps,
|
|
@@ -8010,7 +8329,7 @@ function MobileNav2({ children, className }) {
|
|
|
8010
8329
|
const { api, state } = useAppShell();
|
|
8011
8330
|
if (!state.isMobile) return null;
|
|
8012
8331
|
if (api.config.mobileNavPosition === "none") return null;
|
|
8013
|
-
return
|
|
8332
|
+
return React42__namespace.createElement(
|
|
8014
8333
|
"nav",
|
|
8015
8334
|
{
|
|
8016
8335
|
...api.mobileNavAriaProps,
|
|
@@ -8029,7 +8348,7 @@ MobileNav2.displayName = "AppShell.MobileNav";
|
|
|
8029
8348
|
function Overlay({ className }) {
|
|
8030
8349
|
const { api, state } = useAppShell();
|
|
8031
8350
|
if (!state.isMobile || !state.sidebarOpen) return null;
|
|
8032
|
-
return
|
|
8351
|
+
return React42__namespace.createElement("div", {
|
|
8033
8352
|
...api.overlayAriaProps,
|
|
8034
8353
|
className: cn(
|
|
8035
8354
|
"fixed inset-0 z-30 bg-black/50 transition-opacity",
|
|
@@ -8048,29 +8367,29 @@ var AppShell = Object.assign(AppShellRoot, {
|
|
|
8048
8367
|
MobileNav: MobileNav2,
|
|
8049
8368
|
Overlay
|
|
8050
8369
|
});
|
|
8051
|
-
var PageShellContext =
|
|
8370
|
+
var PageShellContext = React42__namespace.createContext(null);
|
|
8052
8371
|
function usePageShell() {
|
|
8053
|
-
const ctx =
|
|
8372
|
+
const ctx = React42__namespace.useContext(PageShellContext);
|
|
8054
8373
|
if (!ctx) {
|
|
8055
8374
|
throw new Error("PageShell compound components must be used within <PageShell>");
|
|
8056
8375
|
}
|
|
8057
8376
|
return ctx;
|
|
8058
8377
|
}
|
|
8059
8378
|
function PageShellRoot({ config, children, className }) {
|
|
8060
|
-
const apiRef =
|
|
8379
|
+
const apiRef = React42__namespace.useRef(null);
|
|
8061
8380
|
if (apiRef.current === null) {
|
|
8062
8381
|
apiRef.current = createPageShell(config);
|
|
8063
8382
|
}
|
|
8064
8383
|
const api = apiRef.current;
|
|
8065
8384
|
const cssVars = api.getCSSVariables();
|
|
8066
|
-
const ctxValue =
|
|
8385
|
+
const ctxValue = React42__namespace.useMemo(
|
|
8067
8386
|
() => ({ api }),
|
|
8068
8387
|
[api]
|
|
8069
8388
|
);
|
|
8070
|
-
return
|
|
8389
|
+
return React42__namespace.createElement(
|
|
8071
8390
|
PageShellContext.Provider,
|
|
8072
8391
|
{ value: ctxValue },
|
|
8073
|
-
|
|
8392
|
+
React42__namespace.createElement(
|
|
8074
8393
|
"div",
|
|
8075
8394
|
{
|
|
8076
8395
|
className: cn("flex min-h-screen flex-col", className),
|
|
@@ -8086,7 +8405,7 @@ function Nav({ children, className }) {
|
|
|
8086
8405
|
const { api } = usePageShell();
|
|
8087
8406
|
const stickyClass = api.config.navSticky ? "sticky top-0 z-40" : "";
|
|
8088
8407
|
const transparentClass = api.config.navTransparent ? "bg-transparent" : "bg-background border-b";
|
|
8089
|
-
return
|
|
8408
|
+
return React42__namespace.createElement(
|
|
8090
8409
|
"nav",
|
|
8091
8410
|
{
|
|
8092
8411
|
...api.navAriaProps,
|
|
@@ -8111,7 +8430,7 @@ function Section({
|
|
|
8111
8430
|
}) {
|
|
8112
8431
|
const { api } = usePageShell();
|
|
8113
8432
|
const sectionClasses = api.getSectionClasses({ fullWidth, maxWidth, padding, background });
|
|
8114
|
-
return
|
|
8433
|
+
return React42__namespace.createElement(
|
|
8115
8434
|
"section",
|
|
8116
8435
|
{
|
|
8117
8436
|
className: cn("py-12", sectionClasses, className)
|
|
@@ -8123,7 +8442,7 @@ Section.displayName = "PageShell.Section";
|
|
|
8123
8442
|
function Footer2({ children, className, columns }) {
|
|
8124
8443
|
const { api } = usePageShell();
|
|
8125
8444
|
const cols = columns ?? api.config.footerColumns;
|
|
8126
|
-
return
|
|
8445
|
+
return React42__namespace.createElement(
|
|
8127
8446
|
"footer",
|
|
8128
8447
|
{
|
|
8129
8448
|
...api.footerAriaProps,
|
|
@@ -8132,7 +8451,7 @@ function Footer2({ children, className, columns }) {
|
|
|
8132
8451
|
className
|
|
8133
8452
|
)
|
|
8134
8453
|
},
|
|
8135
|
-
|
|
8454
|
+
React42__namespace.createElement(
|
|
8136
8455
|
"div",
|
|
8137
8456
|
{
|
|
8138
8457
|
className: `mx-auto max-w-[var(--page-max-width)] grid gap-8`,
|
|
@@ -8150,28 +8469,28 @@ Object.assign(PageShellRoot, {
|
|
|
8150
8469
|
Section,
|
|
8151
8470
|
Footer: Footer2
|
|
8152
8471
|
});
|
|
8153
|
-
var AuthShellContext =
|
|
8472
|
+
var AuthShellContext = React42__namespace.createContext(null);
|
|
8154
8473
|
function useAuthShell() {
|
|
8155
|
-
const ctx =
|
|
8474
|
+
const ctx = React42__namespace.useContext(AuthShellContext);
|
|
8156
8475
|
if (!ctx) {
|
|
8157
8476
|
throw new Error("AuthShell compound components must be used within <AuthShell>");
|
|
8158
8477
|
}
|
|
8159
8478
|
return ctx;
|
|
8160
8479
|
}
|
|
8161
8480
|
function AuthShellRoot({ config, children, className }) {
|
|
8162
|
-
const apiRef =
|
|
8481
|
+
const apiRef = React42__namespace.useRef(null);
|
|
8163
8482
|
if (apiRef.current === null) {
|
|
8164
8483
|
apiRef.current = createAuthShell(config);
|
|
8165
8484
|
}
|
|
8166
8485
|
const api = apiRef.current;
|
|
8167
|
-
const ctxValue =
|
|
8486
|
+
const ctxValue = React42__namespace.useMemo(
|
|
8168
8487
|
() => ({ api }),
|
|
8169
8488
|
[api]
|
|
8170
8489
|
);
|
|
8171
|
-
return
|
|
8490
|
+
return React42__namespace.createElement(
|
|
8172
8491
|
AuthShellContext.Provider,
|
|
8173
8492
|
{ value: ctxValue },
|
|
8174
|
-
|
|
8493
|
+
React42__namespace.createElement(
|
|
8175
8494
|
"div",
|
|
8176
8495
|
{
|
|
8177
8496
|
...api.ariaProps,
|
|
@@ -8185,7 +8504,7 @@ function AuthShellRoot({ config, children, className }) {
|
|
|
8185
8504
|
AuthShellRoot.displayName = "AuthShell";
|
|
8186
8505
|
function Card({ children, className }) {
|
|
8187
8506
|
const { api } = useAuthShell();
|
|
8188
|
-
return
|
|
8507
|
+
return React42__namespace.createElement(
|
|
8189
8508
|
"div",
|
|
8190
8509
|
{
|
|
8191
8510
|
className: cn(api.cardClasses, className),
|
|
@@ -8273,7 +8592,7 @@ var avatarFallbackVariants = cva({
|
|
|
8273
8592
|
size: "md"
|
|
8274
8593
|
}
|
|
8275
8594
|
});
|
|
8276
|
-
var AvatarContext =
|
|
8595
|
+
var AvatarContext = React42__namespace.createContext({
|
|
8277
8596
|
size: "md",
|
|
8278
8597
|
imageLoaded: false,
|
|
8279
8598
|
imageError: false,
|
|
@@ -8282,10 +8601,10 @@ var AvatarContext = React41__namespace.createContext({
|
|
|
8282
8601
|
setImageError: () => {
|
|
8283
8602
|
}
|
|
8284
8603
|
});
|
|
8285
|
-
var Avatar =
|
|
8604
|
+
var Avatar = React42__namespace.forwardRef(
|
|
8286
8605
|
({ size = "md", className, children, ...props }, ref) => {
|
|
8287
|
-
const [imageLoaded, setImageLoaded] =
|
|
8288
|
-
const [imageError, setImageError] =
|
|
8606
|
+
const [imageLoaded, setImageLoaded] = React42__namespace.useState(false);
|
|
8607
|
+
const [imageError, setImageError] = React42__namespace.useState(false);
|
|
8289
8608
|
const api = createAvatar({ size });
|
|
8290
8609
|
return /* @__PURE__ */ jsxRuntime.jsx(AvatarContext.Provider, { value: { size, imageLoaded, imageError, setImageLoaded, setImageError }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8291
8610
|
"span",
|
|
@@ -8301,9 +8620,9 @@ var Avatar = React41__namespace.forwardRef(
|
|
|
8301
8620
|
}
|
|
8302
8621
|
);
|
|
8303
8622
|
Avatar.displayName = "Avatar";
|
|
8304
|
-
var AvatarImage =
|
|
8623
|
+
var AvatarImage = React42__namespace.forwardRef(
|
|
8305
8624
|
({ className, src, alt = "", onLoad, onError, ...props }, ref) => {
|
|
8306
|
-
const { setImageLoaded, setImageError } =
|
|
8625
|
+
const { setImageLoaded, setImageError } = React42__namespace.useContext(AvatarContext);
|
|
8307
8626
|
const handleLoad = (e) => {
|
|
8308
8627
|
setImageLoaded(true);
|
|
8309
8628
|
onLoad?.(e);
|
|
@@ -8327,9 +8646,9 @@ var AvatarImage = React41__namespace.forwardRef(
|
|
|
8327
8646
|
}
|
|
8328
8647
|
);
|
|
8329
8648
|
AvatarImage.displayName = "AvatarImage";
|
|
8330
|
-
var AvatarFallback =
|
|
8649
|
+
var AvatarFallback = React42__namespace.forwardRef(
|
|
8331
8650
|
({ className, children, ...props }, ref) => {
|
|
8332
|
-
const { size } =
|
|
8651
|
+
const { size } = React42__namespace.useContext(AvatarContext);
|
|
8333
8652
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8334
8653
|
"span",
|
|
8335
8654
|
{
|
|
@@ -8446,28 +8765,28 @@ var avatarPresenceDotVariants = cva({
|
|
|
8446
8765
|
// ../react-avatar-group/dist/index.js
|
|
8447
8766
|
function AvatarGroup({ users, max, size = "md", className }) {
|
|
8448
8767
|
const api = createAvatarGroup({ users, max});
|
|
8449
|
-
return
|
|
8768
|
+
return React42__namespace.createElement(
|
|
8450
8769
|
"div",
|
|
8451
8770
|
{ ...api.ariaProps, className: cn(avatarGroupStyles, className) },
|
|
8452
8771
|
api.visibleUsers.map(
|
|
8453
|
-
(user) =>
|
|
8772
|
+
(user) => React42__namespace.createElement(
|
|
8454
8773
|
"div",
|
|
8455
8774
|
{
|
|
8456
8775
|
key: user.id,
|
|
8457
8776
|
className: avatarVariants2({ size }),
|
|
8458
8777
|
...api.getAvatarAriaProps(user)
|
|
8459
8778
|
},
|
|
8460
|
-
user.src ?
|
|
8779
|
+
user.src ? React42__namespace.createElement("img", {
|
|
8461
8780
|
src: user.src,
|
|
8462
8781
|
alt: user.name,
|
|
8463
8782
|
className: avatarImageStyles
|
|
8464
|
-
}) :
|
|
8465
|
-
user.status &&
|
|
8783
|
+
}) : React42__namespace.createElement("span", null, api.getInitials(user.name)),
|
|
8784
|
+
user.status && React42__namespace.createElement("span", {
|
|
8466
8785
|
className: avatarPresenceDotVariants({ size, status: user.status })
|
|
8467
8786
|
})
|
|
8468
8787
|
)
|
|
8469
8788
|
),
|
|
8470
|
-
api.overflowCount > 0 &&
|
|
8789
|
+
api.overflowCount > 0 && React42__namespace.createElement(
|
|
8471
8790
|
"div",
|
|
8472
8791
|
{
|
|
8473
8792
|
className: avatarOverflowBadgeVariants({ size }),
|
|
@@ -8551,7 +8870,7 @@ var cardContentVariants = cva({
|
|
|
8551
8870
|
var cardFooterVariants = cva({
|
|
8552
8871
|
base: "flex items-center p-6 pt-0"
|
|
8553
8872
|
});
|
|
8554
|
-
var Card2 =
|
|
8873
|
+
var Card2 = React42__namespace.forwardRef(
|
|
8555
8874
|
({ className, ...props }, ref) => {
|
|
8556
8875
|
const api = createCard();
|
|
8557
8876
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8567,7 +8886,7 @@ var Card2 = React41__namespace.forwardRef(
|
|
|
8567
8886
|
}
|
|
8568
8887
|
);
|
|
8569
8888
|
Card2.displayName = "Card";
|
|
8570
|
-
var CardHeader =
|
|
8889
|
+
var CardHeader = React42__namespace.forwardRef(
|
|
8571
8890
|
({ className, ...props }, ref) => {
|
|
8572
8891
|
const api = createCardHeader();
|
|
8573
8892
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8582,7 +8901,7 @@ var CardHeader = React41__namespace.forwardRef(
|
|
|
8582
8901
|
}
|
|
8583
8902
|
);
|
|
8584
8903
|
CardHeader.displayName = "CardHeader";
|
|
8585
|
-
var CardTitle =
|
|
8904
|
+
var CardTitle = React42__namespace.forwardRef(
|
|
8586
8905
|
({ className, ...props }, ref) => {
|
|
8587
8906
|
const api = createCardTitle();
|
|
8588
8907
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8597,7 +8916,7 @@ var CardTitle = React41__namespace.forwardRef(
|
|
|
8597
8916
|
}
|
|
8598
8917
|
);
|
|
8599
8918
|
CardTitle.displayName = "CardTitle";
|
|
8600
|
-
var CardDescription =
|
|
8919
|
+
var CardDescription = React42__namespace.forwardRef(
|
|
8601
8920
|
({ className, ...props }, ref) => {
|
|
8602
8921
|
const api = createCardDescription();
|
|
8603
8922
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8612,7 +8931,7 @@ var CardDescription = React41__namespace.forwardRef(
|
|
|
8612
8931
|
}
|
|
8613
8932
|
);
|
|
8614
8933
|
CardDescription.displayName = "CardDescription";
|
|
8615
|
-
var CardContent =
|
|
8934
|
+
var CardContent = React42__namespace.forwardRef(
|
|
8616
8935
|
({ className, ...props }, ref) => {
|
|
8617
8936
|
const api = createCardContent();
|
|
8618
8937
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8627,7 +8946,7 @@ var CardContent = React41__namespace.forwardRef(
|
|
|
8627
8946
|
}
|
|
8628
8947
|
);
|
|
8629
8948
|
CardContent.displayName = "CardContent";
|
|
8630
|
-
var CardFooter =
|
|
8949
|
+
var CardFooter = React42__namespace.forwardRef(
|
|
8631
8950
|
({ className, ...props }, ref) => {
|
|
8632
8951
|
const api = createCardFooter();
|
|
8633
8952
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -8708,7 +9027,7 @@ var checkboxVariants = cva({
|
|
|
8708
9027
|
size: "default"
|
|
8709
9028
|
}
|
|
8710
9029
|
});
|
|
8711
|
-
var Checkbox =
|
|
9030
|
+
var Checkbox = React42__namespace.forwardRef(
|
|
8712
9031
|
({ checked = false, onCheckedChange, disabled = false, size = "default", className, ...props }, ref) => {
|
|
8713
9032
|
const api = createCheckbox({ checked, disabled });
|
|
8714
9033
|
const checkedVariant = checked === "indeterminate" ? "indeterminate" : checked ? "true" : "false";
|
|
@@ -9019,13 +9338,13 @@ function DatePicker({
|
|
|
9019
9338
|
className,
|
|
9020
9339
|
disabled = false
|
|
9021
9340
|
}) {
|
|
9022
|
-
const [open, setOpen] =
|
|
9023
|
-
const [currentMonth, setCurrentMonth] =
|
|
9341
|
+
const [open, setOpen] = React42__namespace.useState(false);
|
|
9342
|
+
const [currentMonth, setCurrentMonth] = React42__namespace.useState(
|
|
9024
9343
|
() => value ? new Date(value.getFullYear(), value.getMonth(), 1) : new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1)
|
|
9025
9344
|
);
|
|
9026
|
-
const [view, setView] =
|
|
9027
|
-
const containerRef =
|
|
9028
|
-
const api =
|
|
9345
|
+
const [view, setView] = React42__namespace.useState("calendar");
|
|
9346
|
+
const containerRef = React42__namespace.useRef(null);
|
|
9347
|
+
const api = React42__namespace.useMemo(
|
|
9029
9348
|
() => createDatePicker({
|
|
9030
9349
|
value,
|
|
9031
9350
|
onChange,
|
|
@@ -9039,7 +9358,7 @@ function DatePicker({
|
|
|
9039
9358
|
}),
|
|
9040
9359
|
[value, onChange, minDate, maxDate, showTime, format, placeholder, open]
|
|
9041
9360
|
);
|
|
9042
|
-
|
|
9361
|
+
React42__namespace.useMemo(() => {
|
|
9043
9362
|
createDatePicker({
|
|
9044
9363
|
value,
|
|
9045
9364
|
minDate,
|
|
@@ -9054,7 +9373,7 @@ function DatePicker({
|
|
|
9054
9373
|
});
|
|
9055
9374
|
return tempApi.days;
|
|
9056
9375
|
}, [value, minDate, maxDate, currentMonth]);
|
|
9057
|
-
|
|
9376
|
+
React42__namespace.useEffect(() => {
|
|
9058
9377
|
if (!open) return;
|
|
9059
9378
|
function handleClick(e) {
|
|
9060
9379
|
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
@@ -9064,7 +9383,7 @@ function DatePicker({
|
|
|
9064
9383
|
document.addEventListener("mousedown", handleClick);
|
|
9065
9384
|
return () => document.removeEventListener("mousedown", handleClick);
|
|
9066
9385
|
}, [open]);
|
|
9067
|
-
|
|
9386
|
+
React42__namespace.useEffect(() => {
|
|
9068
9387
|
if (!open) return;
|
|
9069
9388
|
function handleKeyDown(e) {
|
|
9070
9389
|
if (e.key === "Escape") {
|
|
@@ -9102,10 +9421,10 @@ function DatePicker({
|
|
|
9102
9421
|
onChange?.(newDate);
|
|
9103
9422
|
};
|
|
9104
9423
|
const monthLabel = currentMonth.toLocaleDateString("en-US", { month: "long", year: "numeric" });
|
|
9105
|
-
return
|
|
9424
|
+
return React42__namespace.createElement(
|
|
9106
9425
|
"div",
|
|
9107
9426
|
{ ref: containerRef, className: cn("relative inline-block", className) },
|
|
9108
|
-
|
|
9427
|
+
React42__namespace.createElement(
|
|
9109
9428
|
"button",
|
|
9110
9429
|
{
|
|
9111
9430
|
type: "button",
|
|
@@ -9117,17 +9436,17 @@ function DatePicker({
|
|
|
9117
9436
|
},
|
|
9118
9437
|
displayValue
|
|
9119
9438
|
),
|
|
9120
|
-
open &&
|
|
9439
|
+
open && React42__namespace.createElement(
|
|
9121
9440
|
"div",
|
|
9122
9441
|
{
|
|
9123
9442
|
className: datePickerDropdownStyles,
|
|
9124
9443
|
role: "dialog",
|
|
9125
9444
|
"aria-modal": true
|
|
9126
9445
|
},
|
|
9127
|
-
|
|
9446
|
+
React42__namespace.createElement(
|
|
9128
9447
|
"div",
|
|
9129
9448
|
{ className: "flex items-center justify-between mb-3" },
|
|
9130
|
-
|
|
9449
|
+
React42__namespace.createElement(
|
|
9131
9450
|
"button",
|
|
9132
9451
|
{
|
|
9133
9452
|
type: "button",
|
|
@@ -9137,8 +9456,8 @@ function DatePicker({
|
|
|
9137
9456
|
},
|
|
9138
9457
|
"\u2039"
|
|
9139
9458
|
),
|
|
9140
|
-
|
|
9141
|
-
|
|
9459
|
+
React42__namespace.createElement("span", { className: "text-sm font-medium" }, monthLabel),
|
|
9460
|
+
React42__namespace.createElement(
|
|
9142
9461
|
"button",
|
|
9143
9462
|
{
|
|
9144
9463
|
type: "button",
|
|
@@ -9149,11 +9468,11 @@ function DatePicker({
|
|
|
9149
9468
|
"\u203A"
|
|
9150
9469
|
)
|
|
9151
9470
|
),
|
|
9152
|
-
|
|
9471
|
+
React42__namespace.createElement(
|
|
9153
9472
|
"div",
|
|
9154
9473
|
{ className: "grid grid-cols-7 gap-0 text-center", role: "grid" },
|
|
9155
9474
|
["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map(
|
|
9156
|
-
(d) =>
|
|
9475
|
+
(d) => React42__namespace.createElement("div", { key: d, className: "text-xs text-muted-foreground py-1 font-medium" }, d)
|
|
9157
9476
|
),
|
|
9158
9477
|
api.days.map((day, i) => {
|
|
9159
9478
|
let state = "default";
|
|
@@ -9161,7 +9480,7 @@ function DatePicker({
|
|
|
9161
9480
|
else if (day.isSelected) state = "selected";
|
|
9162
9481
|
else if (day.isToday) state = "today";
|
|
9163
9482
|
else if (!day.isCurrentMonth) state = "outside";
|
|
9164
|
-
return
|
|
9483
|
+
return React42__namespace.createElement(
|
|
9165
9484
|
"button",
|
|
9166
9485
|
{
|
|
9167
9486
|
key: i,
|
|
@@ -9176,11 +9495,11 @@ function DatePicker({
|
|
|
9176
9495
|
);
|
|
9177
9496
|
})
|
|
9178
9497
|
),
|
|
9179
|
-
showTime &&
|
|
9498
|
+
showTime && React42__namespace.createElement(
|
|
9180
9499
|
"div",
|
|
9181
9500
|
{ className: datePickerTimeStyles },
|
|
9182
|
-
|
|
9183
|
-
|
|
9501
|
+
React42__namespace.createElement("span", { className: "text-sm text-muted-foreground" }, "Time:"),
|
|
9502
|
+
React42__namespace.createElement("input", {
|
|
9184
9503
|
type: "number",
|
|
9185
9504
|
min: 0,
|
|
9186
9505
|
max: 23,
|
|
@@ -9189,8 +9508,8 @@ function DatePicker({
|
|
|
9189
9508
|
className: datePickerTimeInputStyles,
|
|
9190
9509
|
"aria-label": "Hours"
|
|
9191
9510
|
}),
|
|
9192
|
-
|
|
9193
|
-
|
|
9511
|
+
React42__namespace.createElement("span", { className: "text-muted-foreground" }, ":"),
|
|
9512
|
+
React42__namespace.createElement("input", {
|
|
9194
9513
|
type: "number",
|
|
9195
9514
|
min: 0,
|
|
9196
9515
|
max: 59,
|
|
@@ -9580,10 +9899,10 @@ var emojiPickerSectionLabelStyles = "px-2 py-1 text-xs font-medium text-muted-fo
|
|
|
9580
9899
|
|
|
9581
9900
|
// ../react-emoji-picker/dist/index.js
|
|
9582
9901
|
function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className }) {
|
|
9583
|
-
const [search, setSearch] =
|
|
9584
|
-
const [activeCategory, setActiveCategory] =
|
|
9585
|
-
const [recentEmojis, setRecentEmojis] =
|
|
9586
|
-
const api =
|
|
9902
|
+
const [search, setSearch] = React42__namespace.useState("");
|
|
9903
|
+
const [activeCategory, setActiveCategory] = React42__namespace.useState("smileys");
|
|
9904
|
+
const [recentEmojis, setRecentEmojis] = React42__namespace.useState(initialRecent);
|
|
9905
|
+
const api = React42__namespace.useMemo(
|
|
9587
9906
|
() => createEmojiPicker({
|
|
9588
9907
|
onSelect: void 0,
|
|
9589
9908
|
search,
|
|
@@ -9591,7 +9910,7 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
|
|
|
9591
9910
|
}),
|
|
9592
9911
|
[search, recentEmojis]
|
|
9593
9912
|
);
|
|
9594
|
-
const filteredEmojis =
|
|
9913
|
+
const filteredEmojis = React42__namespace.useMemo(() => {
|
|
9595
9914
|
if (search.trim()) {
|
|
9596
9915
|
const query = search.toLowerCase().trim();
|
|
9597
9916
|
const allEmojis = EMOJI_CATEGORIES.flatMap((cat) => EMOJI_DATA[cat]);
|
|
@@ -9611,22 +9930,22 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
|
|
|
9611
9930
|
setActiveCategory(cat);
|
|
9612
9931
|
setSearch("");
|
|
9613
9932
|
};
|
|
9614
|
-
return
|
|
9933
|
+
return React42__namespace.createElement(
|
|
9615
9934
|
"div",
|
|
9616
9935
|
{ className: cn(emojiPickerContainerStyles, className), ...api.ariaProps },
|
|
9617
9936
|
// Search input
|
|
9618
|
-
|
|
9937
|
+
React42__namespace.createElement("input", {
|
|
9619
9938
|
...api.searchInputProps,
|
|
9620
9939
|
className: emojiPickerSearchStyles,
|
|
9621
9940
|
value: search,
|
|
9622
9941
|
onChange: (e) => setSearch(e.target.value)
|
|
9623
9942
|
}),
|
|
9624
9943
|
// Category tabs
|
|
9625
|
-
!search &&
|
|
9944
|
+
!search && React42__namespace.createElement(
|
|
9626
9945
|
"div",
|
|
9627
9946
|
{ className: emojiPickerCategoryBarStyles },
|
|
9628
9947
|
api.categoryTabs.map(
|
|
9629
|
-
(tab) =>
|
|
9948
|
+
(tab) => React42__namespace.createElement(
|
|
9630
9949
|
"button",
|
|
9631
9950
|
{
|
|
9632
9951
|
key: tab.category,
|
|
@@ -9643,15 +9962,15 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
|
|
|
9643
9962
|
)
|
|
9644
9963
|
),
|
|
9645
9964
|
// Recent emojis section
|
|
9646
|
-
!search && recentEmojis.length > 0 &&
|
|
9965
|
+
!search && recentEmojis.length > 0 && React42__namespace.createElement(
|
|
9647
9966
|
"div",
|
|
9648
9967
|
null,
|
|
9649
|
-
|
|
9650
|
-
|
|
9968
|
+
React42__namespace.createElement("div", { className: emojiPickerSectionLabelStyles }, "Recent"),
|
|
9969
|
+
React42__namespace.createElement(
|
|
9651
9970
|
"div",
|
|
9652
9971
|
{ className: emojiPickerGridStyles },
|
|
9653
9972
|
recentEmojis.map(
|
|
9654
|
-
(emoji, i) =>
|
|
9973
|
+
(emoji, i) => React42__namespace.createElement(
|
|
9655
9974
|
"button",
|
|
9656
9975
|
{
|
|
9657
9976
|
key: `recent-${emoji.emoji}-${i}`,
|
|
@@ -9666,19 +9985,19 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
|
|
|
9666
9985
|
)
|
|
9667
9986
|
),
|
|
9668
9987
|
// Emoji grid
|
|
9669
|
-
|
|
9988
|
+
React42__namespace.createElement(
|
|
9670
9989
|
"div",
|
|
9671
9990
|
null,
|
|
9672
|
-
!search &&
|
|
9991
|
+
!search && React42__namespace.createElement(
|
|
9673
9992
|
"div",
|
|
9674
9993
|
{ className: emojiPickerSectionLabelStyles },
|
|
9675
9994
|
CATEGORY_LABELS[activeCategory]
|
|
9676
9995
|
),
|
|
9677
|
-
|
|
9996
|
+
React42__namespace.createElement(
|
|
9678
9997
|
"div",
|
|
9679
9998
|
{ className: emojiPickerGridStyles },
|
|
9680
9999
|
filteredEmojis.map(
|
|
9681
|
-
(emoji, i) =>
|
|
10000
|
+
(emoji, i) => React42__namespace.createElement(
|
|
9682
10001
|
"button",
|
|
9683
10002
|
{
|
|
9684
10003
|
key: `${emoji.emoji}-${i}`,
|
|
@@ -9690,7 +10009,7 @@ function EmojiPicker({ onSelect, recentEmojis: initialRecent = [], className })
|
|
|
9690
10009
|
emoji.emoji
|
|
9691
10010
|
)
|
|
9692
10011
|
),
|
|
9693
|
-
filteredEmojis.length === 0 &&
|
|
10012
|
+
filteredEmojis.length === 0 && React42__namespace.createElement(
|
|
9694
10013
|
"div",
|
|
9695
10014
|
{ className: "col-span-8 text-center text-sm text-muted-foreground py-4" },
|
|
9696
10015
|
"No emojis found"
|
|
@@ -9890,10 +10209,10 @@ function FileUpload({
|
|
|
9890
10209
|
className,
|
|
9891
10210
|
children
|
|
9892
10211
|
}) {
|
|
9893
|
-
const [files, setFiles] =
|
|
9894
|
-
const [isDragging, setIsDragging] =
|
|
9895
|
-
const inputRef =
|
|
9896
|
-
const api =
|
|
10212
|
+
const [files, setFiles] = React42__namespace.useState([]);
|
|
10213
|
+
const [isDragging, setIsDragging] = React42__namespace.useState(false);
|
|
10214
|
+
const inputRef = React42__namespace.useRef(null);
|
|
10215
|
+
const api = React42__namespace.useMemo(
|
|
9897
10216
|
() => createFileUpload({
|
|
9898
10217
|
accept,
|
|
9899
10218
|
maxSize,
|
|
@@ -9958,17 +10277,17 @@ function FileUpload({
|
|
|
9958
10277
|
handleClick();
|
|
9959
10278
|
}
|
|
9960
10279
|
};
|
|
9961
|
-
return
|
|
10280
|
+
return React42__namespace.createElement(
|
|
9962
10281
|
"div",
|
|
9963
10282
|
{ className },
|
|
9964
10283
|
// Hidden file input
|
|
9965
|
-
|
|
10284
|
+
React42__namespace.createElement("input", {
|
|
9966
10285
|
ref: inputRef,
|
|
9967
10286
|
...api.inputProps,
|
|
9968
10287
|
onChange: handleInputChange
|
|
9969
10288
|
}),
|
|
9970
10289
|
// Drop zone
|
|
9971
|
-
|
|
10290
|
+
React42__namespace.createElement(
|
|
9972
10291
|
"div",
|
|
9973
10292
|
{
|
|
9974
10293
|
...api.dropZoneProps,
|
|
@@ -9982,21 +10301,21 @@ function FileUpload({
|
|
|
9982
10301
|
onDragOver: handleDragOver,
|
|
9983
10302
|
onDrop: handleDrop
|
|
9984
10303
|
},
|
|
9985
|
-
children ??
|
|
9986
|
-
|
|
10304
|
+
children ?? React42__namespace.createElement(
|
|
10305
|
+
React42__namespace.Fragment,
|
|
9987
10306
|
null,
|
|
9988
|
-
|
|
9989
|
-
|
|
10307
|
+
React42__namespace.createElement("div", { className: "text-2xl mb-2" }, "\u{1F4C1}"),
|
|
10308
|
+
React42__namespace.createElement(
|
|
9990
10309
|
"p",
|
|
9991
10310
|
{ className: "text-sm text-muted-foreground" },
|
|
9992
10311
|
"Drag & drop files here, or click to select"
|
|
9993
10312
|
),
|
|
9994
|
-
accept &&
|
|
10313
|
+
accept && React42__namespace.createElement(
|
|
9995
10314
|
"p",
|
|
9996
10315
|
{ className: "text-xs text-muted-foreground mt-1" },
|
|
9997
10316
|
`Accepted: ${accept}`
|
|
9998
10317
|
),
|
|
9999
|
-
maxSize &&
|
|
10318
|
+
maxSize && React42__namespace.createElement(
|
|
10000
10319
|
"p",
|
|
10001
10320
|
{ className: "text-xs text-muted-foreground" },
|
|
10002
10321
|
`Max size: ${formatFileSize(maxSize)}`
|
|
@@ -10004,37 +10323,37 @@ function FileUpload({
|
|
|
10004
10323
|
)
|
|
10005
10324
|
),
|
|
10006
10325
|
// File list
|
|
10007
|
-
files.length > 0 &&
|
|
10326
|
+
files.length > 0 && React42__namespace.createElement(
|
|
10008
10327
|
"div",
|
|
10009
10328
|
{ className: fileUploadFileListStyles },
|
|
10010
10329
|
files.map(
|
|
10011
|
-
(file) =>
|
|
10330
|
+
(file) => React42__namespace.createElement(
|
|
10012
10331
|
"div",
|
|
10013
10332
|
{ key: file.id, className: fileUploadFileItemStyles },
|
|
10014
|
-
|
|
10333
|
+
React42__namespace.createElement(
|
|
10015
10334
|
"div",
|
|
10016
10335
|
{ className: "flex-1 min-w-0" },
|
|
10017
|
-
|
|
10018
|
-
|
|
10336
|
+
React42__namespace.createElement("div", { className: "font-medium truncate" }, file.name),
|
|
10337
|
+
React42__namespace.createElement(
|
|
10019
10338
|
"div",
|
|
10020
10339
|
{ className: "text-xs text-muted-foreground" },
|
|
10021
10340
|
formatFileSize(file.size)
|
|
10022
10341
|
),
|
|
10023
|
-
file.status === "uploading" &&
|
|
10342
|
+
file.status === "uploading" && React42__namespace.createElement(
|
|
10024
10343
|
"div",
|
|
10025
10344
|
{ className: cn(fileUploadProgressStyles, "mt-1") },
|
|
10026
|
-
|
|
10345
|
+
React42__namespace.createElement("div", {
|
|
10027
10346
|
className: fileUploadProgressBarStyles,
|
|
10028
10347
|
style: { width: `${file.progress}%` }
|
|
10029
10348
|
})
|
|
10030
10349
|
),
|
|
10031
|
-
file.error &&
|
|
10350
|
+
file.error && React42__namespace.createElement(
|
|
10032
10351
|
"div",
|
|
10033
10352
|
{ className: "text-xs text-destructive mt-0.5" },
|
|
10034
10353
|
file.error
|
|
10035
10354
|
)
|
|
10036
10355
|
),
|
|
10037
|
-
|
|
10356
|
+
React42__namespace.createElement(
|
|
10038
10357
|
"button",
|
|
10039
10358
|
{
|
|
10040
10359
|
type: "button",
|
|
@@ -10054,162 +10373,6 @@ function FileUpload({
|
|
|
10054
10373
|
}
|
|
10055
10374
|
FileUpload.displayName = "FileUpload";
|
|
10056
10375
|
|
|
10057
|
-
// ../keyboard-shortcut/dist/index.js
|
|
10058
|
-
var MODIFIER_KEYS = /* @__PURE__ */ new Set(["Ctrl", "Control", "Alt", "Shift", "Meta", "Cmd", "Command"]);
|
|
10059
|
-
var KEY_DISPLAY = {
|
|
10060
|
-
"Ctrl": "Ctrl",
|
|
10061
|
-
"Control": "Ctrl",
|
|
10062
|
-
"Alt": "Alt",
|
|
10063
|
-
"Shift": "Shift",
|
|
10064
|
-
"Meta": "Meta",
|
|
10065
|
-
"Cmd": "Cmd",
|
|
10066
|
-
"Command": "Cmd",
|
|
10067
|
-
"Enter": "\u21B5",
|
|
10068
|
-
"Backspace": "\u232B",
|
|
10069
|
-
"Delete": "Del",
|
|
10070
|
-
"Escape": "Esc",
|
|
10071
|
-
"ArrowUp": "\u2191",
|
|
10072
|
-
"ArrowDown": "\u2193",
|
|
10073
|
-
"ArrowLeft": "\u2190",
|
|
10074
|
-
"ArrowRight": "\u2192",
|
|
10075
|
-
"Tab": "Tab",
|
|
10076
|
-
" ": "Space"
|
|
10077
|
-
};
|
|
10078
|
-
var MAC_KEY_DISPLAY = {
|
|
10079
|
-
"Ctrl": "\u2303",
|
|
10080
|
-
"Control": "\u2303",
|
|
10081
|
-
"Alt": "\u2325",
|
|
10082
|
-
"Shift": "\u21E7",
|
|
10083
|
-
"Meta": "\u2318",
|
|
10084
|
-
"Cmd": "\u2318",
|
|
10085
|
-
"Command": "\u2318",
|
|
10086
|
-
"Enter": "\u21B5",
|
|
10087
|
-
"Backspace": "\u232B",
|
|
10088
|
-
"Delete": "\u2326",
|
|
10089
|
-
"Escape": "\u238B",
|
|
10090
|
-
"ArrowUp": "\u2191",
|
|
10091
|
-
"ArrowDown": "\u2193",
|
|
10092
|
-
"ArrowLeft": "\u2190",
|
|
10093
|
-
"ArrowRight": "\u2192",
|
|
10094
|
-
"Tab": "\u21E5",
|
|
10095
|
-
" ": "\u2423"
|
|
10096
|
-
};
|
|
10097
|
-
function normalizeKey(key) {
|
|
10098
|
-
if (key === "Command" || key === "Cmd") return "Meta";
|
|
10099
|
-
if (key === "Control") return "Ctrl";
|
|
10100
|
-
return key;
|
|
10101
|
-
}
|
|
10102
|
-
function isMac() {
|
|
10103
|
-
if (typeof navigator !== "undefined") {
|
|
10104
|
-
return navigator.platform?.includes("Mac") || navigator.userAgent?.includes("Mac");
|
|
10105
|
-
}
|
|
10106
|
-
return false;
|
|
10107
|
-
}
|
|
10108
|
-
function formatShortcut(keys, mac) {
|
|
10109
|
-
const displayMap = mac ? MAC_KEY_DISPLAY : KEY_DISPLAY;
|
|
10110
|
-
return keys.map((key) => displayMap[key] ?? key.toUpperCase()).join(mac ? "" : "+");
|
|
10111
|
-
}
|
|
10112
|
-
function createKeyboardShortcut(props) {
|
|
10113
|
-
const {
|
|
10114
|
-
keys,
|
|
10115
|
-
onTrigger,
|
|
10116
|
-
enabled: enabledProp = true,
|
|
10117
|
-
preventDefault: preventDefaultProp = true
|
|
10118
|
-
} = props;
|
|
10119
|
-
const normalizedKeys = keys.map(normalizeKey);
|
|
10120
|
-
const modifiers = normalizedKeys.filter((k) => MODIFIER_KEYS.has(k));
|
|
10121
|
-
const regularKeys = normalizedKeys.filter((k) => !MODIFIER_KEYS.has(k));
|
|
10122
|
-
function handler(event) {
|
|
10123
|
-
if (!enabledProp) return false;
|
|
10124
|
-
const ctrlRequired = modifiers.includes("Ctrl");
|
|
10125
|
-
const altRequired = modifiers.includes("Alt");
|
|
10126
|
-
const shiftRequired = modifiers.includes("Shift");
|
|
10127
|
-
const metaRequired = modifiers.includes("Meta");
|
|
10128
|
-
if (ctrlRequired !== (event.ctrlKey || event.metaKey && !metaRequired)) ;
|
|
10129
|
-
const ctrlMatch = ctrlRequired ? event.ctrlKey : !event.ctrlKey;
|
|
10130
|
-
const altMatch = altRequired ? event.altKey : !event.altKey;
|
|
10131
|
-
const shiftMatch = shiftRequired ? event.shiftKey : !event.shiftKey;
|
|
10132
|
-
const metaMatch = metaRequired ? event.metaKey : !event.metaKey;
|
|
10133
|
-
if (!ctrlMatch || !altMatch || !shiftMatch || !metaMatch) return false;
|
|
10134
|
-
if (regularKeys.length > 0) {
|
|
10135
|
-
const eventKey = event.key.length === 1 ? event.key.toUpperCase() : event.key;
|
|
10136
|
-
const targetKey = regularKeys[0].length === 1 ? regularKeys[0].toUpperCase() : regularKeys[0];
|
|
10137
|
-
if (eventKey !== targetKey) return false;
|
|
10138
|
-
}
|
|
10139
|
-
if (preventDefaultProp) {
|
|
10140
|
-
event.preventDefault();
|
|
10141
|
-
}
|
|
10142
|
-
onTrigger();
|
|
10143
|
-
return true;
|
|
10144
|
-
}
|
|
10145
|
-
const mac = isMac();
|
|
10146
|
-
const display = formatShortcut(keys, false);
|
|
10147
|
-
const platformDisplay = formatShortcut(keys, mac);
|
|
10148
|
-
const badgeAriaProps = {
|
|
10149
|
-
"aria-hidden": true,
|
|
10150
|
-
role: "presentation"
|
|
10151
|
-
};
|
|
10152
|
-
return {
|
|
10153
|
-
handler,
|
|
10154
|
-
display,
|
|
10155
|
-
platformDisplay,
|
|
10156
|
-
enabled: enabledProp,
|
|
10157
|
-
keys,
|
|
10158
|
-
badgeAriaProps
|
|
10159
|
-
};
|
|
10160
|
-
}
|
|
10161
|
-
var shortcutBadgeStyles = "inline-flex items-center gap-0.5 rounded border bg-muted px-1.5 py-0.5 text-xs font-mono text-muted-foreground";
|
|
10162
|
-
var shortcutKeyStyles = "inline-flex items-center justify-center min-w-[1.25rem] rounded bg-background px-1 py-0.5 text-xs font-mono border shadow-sm";
|
|
10163
|
-
var shortcutSeparatorStyles = "text-muted-foreground text-xs";
|
|
10164
|
-
|
|
10165
|
-
// ../react-keyboard-shortcut/dist/index.js
|
|
10166
|
-
function KeyboardShortcut({
|
|
10167
|
-
keys,
|
|
10168
|
-
onTrigger,
|
|
10169
|
-
enabled = true,
|
|
10170
|
-
preventDefault = true
|
|
10171
|
-
}) {
|
|
10172
|
-
const apiRef = React41__namespace.useRef(
|
|
10173
|
-
createKeyboardShortcut({ keys, onTrigger, enabled, preventDefault })
|
|
10174
|
-
);
|
|
10175
|
-
React41__namespace.useEffect(() => {
|
|
10176
|
-
apiRef.current = createKeyboardShortcut({ keys, onTrigger, enabled, preventDefault });
|
|
10177
|
-
}, [keys, onTrigger, enabled, preventDefault]);
|
|
10178
|
-
React41__namespace.useEffect(() => {
|
|
10179
|
-
if (!enabled) return;
|
|
10180
|
-
const handleKeyDown = (e) => {
|
|
10181
|
-
apiRef.current.handler(e);
|
|
10182
|
-
};
|
|
10183
|
-
document.addEventListener("keydown", handleKeyDown);
|
|
10184
|
-
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
10185
|
-
}, [enabled]);
|
|
10186
|
-
return null;
|
|
10187
|
-
}
|
|
10188
|
-
KeyboardShortcut.displayName = "KeyboardShortcut";
|
|
10189
|
-
function ShortcutBadge({ keys, platform = true, className }) {
|
|
10190
|
-
const api = createKeyboardShortcut({ keys, onTrigger: () => {
|
|
10191
|
-
}, enabled: false });
|
|
10192
|
-
const displayKeys = platform ? api.platformDisplay : api.display;
|
|
10193
|
-
const isMacDisplay = platform && displayKeys !== api.display;
|
|
10194
|
-
return React41__namespace.createElement(
|
|
10195
|
-
"kbd",
|
|
10196
|
-
{ ...api.badgeAriaProps, className: cn(shortcutBadgeStyles, className) },
|
|
10197
|
-
isMacDisplay ? React41__namespace.createElement("span", null, displayKeys) : keys.map(
|
|
10198
|
-
(key, i) => React41__namespace.createElement(
|
|
10199
|
-
React41__namespace.Fragment,
|
|
10200
|
-
{ key: i },
|
|
10201
|
-
i > 0 && React41__namespace.createElement("span", { className: shortcutSeparatorStyles }, "+"),
|
|
10202
|
-
React41__namespace.createElement(
|
|
10203
|
-
"span",
|
|
10204
|
-
{ className: shortcutKeyStyles },
|
|
10205
|
-
formatShortcut([key], false)
|
|
10206
|
-
)
|
|
10207
|
-
)
|
|
10208
|
-
)
|
|
10209
|
-
);
|
|
10210
|
-
}
|
|
10211
|
-
ShortcutBadge.displayName = "ShortcutBadge";
|
|
10212
|
-
|
|
10213
10376
|
// ../otp-input/dist/index.js
|
|
10214
10377
|
function createOtpInput(props = {}) {
|
|
10215
10378
|
const {
|
|
@@ -10375,7 +10538,7 @@ var otpInputSlotVariants = cva({
|
|
|
10375
10538
|
filled: "false"
|
|
10376
10539
|
}
|
|
10377
10540
|
});
|
|
10378
|
-
var OtpInput =
|
|
10541
|
+
var OtpInput = React42__namespace.forwardRef(
|
|
10379
10542
|
({
|
|
10380
10543
|
length = 6,
|
|
10381
10544
|
value = "",
|
|
@@ -10387,15 +10550,15 @@ var OtpInput = React41__namespace.forwardRef(
|
|
|
10387
10550
|
className,
|
|
10388
10551
|
...props
|
|
10389
10552
|
}, ref) => {
|
|
10390
|
-
const inputRefs =
|
|
10391
|
-
const [focusedIndex, setFocusedIndex] =
|
|
10392
|
-
const [values, setValues] =
|
|
10553
|
+
const inputRefs = React42__namespace.useRef([]);
|
|
10554
|
+
const [focusedIndex, setFocusedIndex] = React42__namespace.useState(autoFocus ? 0 : -1);
|
|
10555
|
+
const [values, setValues] = React42__namespace.useState(
|
|
10393
10556
|
() => Array.from({ length }, (_, i) => value.charAt(i) || "")
|
|
10394
10557
|
);
|
|
10395
|
-
|
|
10558
|
+
React42__namespace.useEffect(() => {
|
|
10396
10559
|
setValues(Array.from({ length }, (_, i) => value.charAt(i) || ""));
|
|
10397
10560
|
}, [value, length]);
|
|
10398
|
-
|
|
10561
|
+
React42__namespace.useEffect(() => {
|
|
10399
10562
|
if (autoFocus && inputRefs.current[0]) {
|
|
10400
10563
|
inputRefs.current[0].focus();
|
|
10401
10564
|
}
|
|
@@ -10575,13 +10738,13 @@ function PresenceIndicator({
|
|
|
10575
10738
|
className
|
|
10576
10739
|
}) {
|
|
10577
10740
|
const api = createPresence({ status, showLabel, label });
|
|
10578
|
-
return
|
|
10741
|
+
return React42__namespace.createElement(
|
|
10579
10742
|
"span",
|
|
10580
10743
|
{ ...api.ariaProps, className: cn(presenceContainerStyles, className) },
|
|
10581
|
-
|
|
10744
|
+
React42__namespace.createElement("span", {
|
|
10582
10745
|
className: presenceDotVariants({ status, size })
|
|
10583
10746
|
}),
|
|
10584
|
-
api.showLabel &&
|
|
10747
|
+
api.showLabel && React42__namespace.createElement("span", { className: presenceLabelStyles }, api.label)
|
|
10585
10748
|
);
|
|
10586
10749
|
}
|
|
10587
10750
|
PresenceIndicator.displayName = "PresenceIndicator";
|
|
@@ -10669,7 +10832,7 @@ var radioCircleVariants = cva({
|
|
|
10669
10832
|
});
|
|
10670
10833
|
|
|
10671
10834
|
// ../react-radio/dist/index.js
|
|
10672
|
-
var RadioContext =
|
|
10835
|
+
var RadioContext = React42__namespace.createContext(null);
|
|
10673
10836
|
function RadioGroup({
|
|
10674
10837
|
children,
|
|
10675
10838
|
className,
|
|
@@ -10680,25 +10843,25 @@ function RadioGroup({
|
|
|
10680
10843
|
disabled = false,
|
|
10681
10844
|
orientation = "vertical"
|
|
10682
10845
|
}) {
|
|
10683
|
-
const [internalValue, setInternalValue] =
|
|
10846
|
+
const [internalValue, setInternalValue] = React42__namespace.useState(defaultValue);
|
|
10684
10847
|
const isControlled = controlledValue !== void 0;
|
|
10685
10848
|
const currentValue = isControlled ? controlledValue : internalValue;
|
|
10686
10849
|
const api = createRadioGroup({ value: currentValue, name, disabled, orientation });
|
|
10687
|
-
const handleChange =
|
|
10850
|
+
const handleChange = React42__namespace.useCallback(
|
|
10688
10851
|
(val) => {
|
|
10689
10852
|
if (!isControlled) setInternalValue(val);
|
|
10690
10853
|
onValueChange?.(val);
|
|
10691
10854
|
},
|
|
10692
10855
|
[isControlled, onValueChange]
|
|
10693
10856
|
);
|
|
10694
|
-
const ctx =
|
|
10857
|
+
const ctx = React42__namespace.useMemo(
|
|
10695
10858
|
() => ({ value: currentValue, onValueChange: handleChange, name, disabled }),
|
|
10696
10859
|
[currentValue, handleChange, name, disabled]
|
|
10697
10860
|
);
|
|
10698
|
-
return
|
|
10861
|
+
return React42__namespace.createElement(
|
|
10699
10862
|
RadioContext.Provider,
|
|
10700
10863
|
{ value: ctx },
|
|
10701
|
-
|
|
10864
|
+
React42__namespace.createElement(
|
|
10702
10865
|
"div",
|
|
10703
10866
|
{ ...api.groupProps, className: cn(radioGroupVariants({ orientation }), className) },
|
|
10704
10867
|
children
|
|
@@ -10706,17 +10869,17 @@ function RadioGroup({
|
|
|
10706
10869
|
);
|
|
10707
10870
|
}
|
|
10708
10871
|
function RadioItem({ value, children, disabled = false, className }) {
|
|
10709
|
-
const ctx =
|
|
10872
|
+
const ctx = React42__namespace.useContext(RadioContext);
|
|
10710
10873
|
if (!ctx) throw new Error("RadioItem must be used within RadioGroup");
|
|
10711
10874
|
const isChecked = ctx.value === value;
|
|
10712
10875
|
const isDisabled = ctx.disabled || disabled;
|
|
10713
|
-
return
|
|
10876
|
+
return React42__namespace.createElement(
|
|
10714
10877
|
"label",
|
|
10715
10878
|
{
|
|
10716
10879
|
className: cn(radioItemVariants({ disabled: isDisabled ? "true" : "false" }), className),
|
|
10717
10880
|
"data-state": isChecked ? "checked" : "unchecked"
|
|
10718
10881
|
},
|
|
10719
|
-
|
|
10882
|
+
React42__namespace.createElement(
|
|
10720
10883
|
"button",
|
|
10721
10884
|
{
|
|
10722
10885
|
type: "button",
|
|
@@ -10728,12 +10891,12 @@ function RadioItem({ value, children, disabled = false, className }) {
|
|
|
10728
10891
|
className: cn(radioCircleVariants({ checked: isChecked ? "true" : "false" })),
|
|
10729
10892
|
onClick: () => !isDisabled && ctx.onValueChange(value)
|
|
10730
10893
|
},
|
|
10731
|
-
isChecked &&
|
|
10894
|
+
isChecked && React42__namespace.createElement(
|
|
10732
10895
|
"span",
|
|
10733
10896
|
{ className: "block h-2 w-2 rounded-full bg-primary-foreground mx-auto" }
|
|
10734
10897
|
)
|
|
10735
10898
|
),
|
|
10736
|
-
children &&
|
|
10899
|
+
children && React42__namespace.createElement("span", { className: "text-sm" }, children)
|
|
10737
10900
|
);
|
|
10738
10901
|
}
|
|
10739
10902
|
RadioGroup.displayName = "RadioGroup";
|
|
@@ -10805,11 +10968,11 @@ function ReactionBar({
|
|
|
10805
10968
|
className
|
|
10806
10969
|
}) {
|
|
10807
10970
|
const api = createReactionBar({ reactions, onToggle, onAdd });
|
|
10808
|
-
return
|
|
10971
|
+
return React42__namespace.createElement(
|
|
10809
10972
|
"div",
|
|
10810
10973
|
{ ...api.ariaProps, className: cn(reactionBarStyles, className) },
|
|
10811
10974
|
api.reactions.map(
|
|
10812
|
-
(reaction, i) =>
|
|
10975
|
+
(reaction, i) => React42__namespace.createElement(
|
|
10813
10976
|
"button",
|
|
10814
10977
|
{
|
|
10815
10978
|
key: `${reaction.emoji}-${i}`,
|
|
@@ -10820,11 +10983,11 @@ function ReactionBar({
|
|
|
10820
10983
|
onClick: () => api.toggle(reaction.emoji),
|
|
10821
10984
|
...api.getReactionAriaProps(reaction)
|
|
10822
10985
|
},
|
|
10823
|
-
|
|
10824
|
-
|
|
10986
|
+
React42__namespace.createElement("span", { className: reactionEmojiStyles }, reaction.emoji),
|
|
10987
|
+
React42__namespace.createElement("span", { className: reactionCountStyles }, reaction.count)
|
|
10825
10988
|
)
|
|
10826
10989
|
),
|
|
10827
|
-
showAddButton &&
|
|
10990
|
+
showAddButton && React42__namespace.createElement(
|
|
10828
10991
|
"button",
|
|
10829
10992
|
{
|
|
10830
10993
|
type: "button",
|
|
@@ -10962,7 +11125,7 @@ var selectContentVariants = cva({
|
|
|
10962
11125
|
}
|
|
10963
11126
|
});
|
|
10964
11127
|
var selectItemVariants = cva({
|
|
10965
|
-
base: "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
11128
|
+
base: "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground hover:bg-accent hover:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
10966
11129
|
variants: {
|
|
10967
11130
|
selected: {
|
|
10968
11131
|
true: "bg-accent/50",
|
|
@@ -10973,7 +11136,7 @@ var selectItemVariants = cva({
|
|
|
10973
11136
|
selected: "false"
|
|
10974
11137
|
}
|
|
10975
11138
|
});
|
|
10976
|
-
var SelectContext =
|
|
11139
|
+
var SelectContext = React42__namespace.createContext({
|
|
10977
11140
|
value: void 0,
|
|
10978
11141
|
onValueChange: () => {
|
|
10979
11142
|
},
|
|
@@ -10993,7 +11156,7 @@ function Select({
|
|
|
10993
11156
|
children,
|
|
10994
11157
|
placeholder = "Select an option"
|
|
10995
11158
|
}) {
|
|
10996
|
-
const [open, setOpen] =
|
|
11159
|
+
const [open, setOpen] = React42__namespace.useState(false);
|
|
10997
11160
|
const api = createSelect({ value, disabled, open, placeholder });
|
|
10998
11161
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10999
11162
|
SelectContext.Provider,
|
|
@@ -11016,9 +11179,9 @@ function Select({
|
|
|
11016
11179
|
}
|
|
11017
11180
|
);
|
|
11018
11181
|
}
|
|
11019
|
-
var SelectTrigger =
|
|
11182
|
+
var SelectTrigger = React42__namespace.forwardRef(
|
|
11020
11183
|
({ className, children, size = "default", ...props }, ref) => {
|
|
11021
|
-
const { open, setOpen, disabled, triggerId, contentId } =
|
|
11184
|
+
const { open, setOpen, disabled, triggerId, contentId } = React42__namespace.useContext(SelectContext);
|
|
11022
11185
|
const api = createSelect({ disabled, open });
|
|
11023
11186
|
const handleClick = () => {
|
|
11024
11187
|
if (!disabled) {
|
|
@@ -11075,9 +11238,48 @@ var SelectTrigger = React41__namespace.forwardRef(
|
|
|
11075
11238
|
}
|
|
11076
11239
|
);
|
|
11077
11240
|
SelectTrigger.displayName = "SelectTrigger";
|
|
11078
|
-
var SelectContent =
|
|
11079
|
-
({ className, children, ...props },
|
|
11080
|
-
const { open, contentId, triggerId } =
|
|
11241
|
+
var SelectContent = React42__namespace.forwardRef(
|
|
11242
|
+
({ className, children, ...props }, forwardedRef) => {
|
|
11243
|
+
const { open, contentId, triggerId, setOpen } = React42__namespace.useContext(SelectContext);
|
|
11244
|
+
const containerRef = React42__namespace.useRef(null);
|
|
11245
|
+
const ref = React42__namespace.useCallback(
|
|
11246
|
+
(node) => {
|
|
11247
|
+
containerRef.current = node;
|
|
11248
|
+
if (typeof forwardedRef === "function") forwardedRef(node);
|
|
11249
|
+
else if (forwardedRef) forwardedRef.current = node;
|
|
11250
|
+
},
|
|
11251
|
+
[forwardedRef]
|
|
11252
|
+
);
|
|
11253
|
+
React42__namespace.useEffect(() => {
|
|
11254
|
+
if (open && containerRef.current) {
|
|
11255
|
+
const firstOption = containerRef.current.querySelector('[role="option"]:not([aria-disabled="true"])');
|
|
11256
|
+
if (firstOption) {
|
|
11257
|
+
setTimeout(() => firstOption.focus(), 0);
|
|
11258
|
+
}
|
|
11259
|
+
}
|
|
11260
|
+
}, [open]);
|
|
11261
|
+
const handleKeyDown = (e) => {
|
|
11262
|
+
if (!containerRef.current) return;
|
|
11263
|
+
const options = Array.from(
|
|
11264
|
+
containerRef.current.querySelectorAll('[role="option"]:not([aria-disabled="true"])')
|
|
11265
|
+
);
|
|
11266
|
+
if (!options.length) return;
|
|
11267
|
+
const currentIndex = options.indexOf(document.activeElement);
|
|
11268
|
+
if (e.key === "ArrowDown") {
|
|
11269
|
+
e.preventDefault();
|
|
11270
|
+
const nextIndex = currentIndex < options.length - 1 ? currentIndex + 1 : 0;
|
|
11271
|
+
options[nextIndex]?.focus();
|
|
11272
|
+
} else if (e.key === "ArrowUp") {
|
|
11273
|
+
e.preventDefault();
|
|
11274
|
+
const prevIndex = currentIndex > 0 ? currentIndex - 1 : options.length - 1;
|
|
11275
|
+
options[prevIndex]?.focus();
|
|
11276
|
+
} else if (e.key === "Escape") {
|
|
11277
|
+
e.preventDefault();
|
|
11278
|
+
setOpen(false);
|
|
11279
|
+
const trigger = document.getElementById(triggerId);
|
|
11280
|
+
if (trigger) trigger.focus();
|
|
11281
|
+
}
|
|
11282
|
+
};
|
|
11081
11283
|
if (!open) return null;
|
|
11082
11284
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11083
11285
|
"div",
|
|
@@ -11088,6 +11290,8 @@ var SelectContent = React41__namespace.forwardRef(
|
|
|
11088
11290
|
role: "listbox",
|
|
11089
11291
|
"aria-labelledby": triggerId,
|
|
11090
11292
|
"data-state": open ? "open" : "closed",
|
|
11293
|
+
onKeyDown: handleKeyDown,
|
|
11294
|
+
tabIndex: -1,
|
|
11091
11295
|
...props,
|
|
11092
11296
|
children
|
|
11093
11297
|
}
|
|
@@ -11095,14 +11299,16 @@ var SelectContent = React41__namespace.forwardRef(
|
|
|
11095
11299
|
}
|
|
11096
11300
|
);
|
|
11097
11301
|
SelectContent.displayName = "SelectContent";
|
|
11098
|
-
var SelectItem =
|
|
11302
|
+
var SelectItem = React42__namespace.forwardRef(
|
|
11099
11303
|
({ className, children, value: itemValue, disabled: itemDisabled = false, ...props }, ref) => {
|
|
11100
|
-
const { value, onValueChange, setOpen } =
|
|
11304
|
+
const { value, onValueChange, setOpen, triggerId } = React42__namespace.useContext(SelectContext);
|
|
11101
11305
|
const isSelected = value === itemValue;
|
|
11102
11306
|
const handleClick = () => {
|
|
11103
11307
|
if (!itemDisabled) {
|
|
11104
11308
|
onValueChange(itemValue);
|
|
11105
11309
|
setOpen(false);
|
|
11310
|
+
const trigger = document.getElementById(triggerId);
|
|
11311
|
+
if (trigger) setTimeout(() => trigger.focus(), 0);
|
|
11106
11312
|
}
|
|
11107
11313
|
};
|
|
11108
11314
|
const handleKeyDown = (e) => {
|
|
@@ -11110,6 +11316,8 @@ var SelectItem = React41__namespace.forwardRef(
|
|
|
11110
11316
|
e.preventDefault();
|
|
11111
11317
|
onValueChange(itemValue);
|
|
11112
11318
|
setOpen(false);
|
|
11319
|
+
const trigger = document.getElementById(triggerId);
|
|
11320
|
+
if (trigger) setTimeout(() => trigger.focus(), 0);
|
|
11113
11321
|
}
|
|
11114
11322
|
};
|
|
11115
11323
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -11229,11 +11437,11 @@ function StatusIndicator({
|
|
|
11229
11437
|
}) {
|
|
11230
11438
|
const api = createStatusIndicator({ type, label, pulse });
|
|
11231
11439
|
const dotClassName = api.pulse ? statusPulseVariants({ type }) : statusDotVariants({ type });
|
|
11232
|
-
return
|
|
11440
|
+
return React42__namespace.createElement(
|
|
11233
11441
|
"span",
|
|
11234
11442
|
{ ...api.ariaProps, className: cn(statusContainerStyles, className) },
|
|
11235
|
-
|
|
11236
|
-
showLabel &&
|
|
11443
|
+
React42__namespace.createElement("span", { className: dotClassName }),
|
|
11444
|
+
showLabel && React42__namespace.createElement("span", { className: statusLabelStyles }, api.label)
|
|
11237
11445
|
);
|
|
11238
11446
|
}
|
|
11239
11447
|
StatusIndicator.displayName = "StatusIndicator";
|
|
@@ -11320,7 +11528,7 @@ var switchThumbVariants = cva({
|
|
|
11320
11528
|
{ checked: "true", size: "lg", class: "translate-x-5" }
|
|
11321
11529
|
]
|
|
11322
11530
|
});
|
|
11323
|
-
var Switch =
|
|
11531
|
+
var Switch = React42__namespace.forwardRef(
|
|
11324
11532
|
({ checked = false, onCheckedChange, disabled = false, size = "default", className, ...props }, ref) => {
|
|
11325
11533
|
const api = createSwitch({ checked, disabled });
|
|
11326
11534
|
const handleClick = () => {
|
|
@@ -11459,41 +11667,41 @@ function MessageComponent({
|
|
|
11459
11667
|
message,
|
|
11460
11668
|
api
|
|
11461
11669
|
}) {
|
|
11462
|
-
return
|
|
11670
|
+
return React42__namespace.createElement(
|
|
11463
11671
|
"div",
|
|
11464
11672
|
{ className: threadMessageStyles, ...api.getMessageAriaProps(message) },
|
|
11465
11673
|
// Avatar
|
|
11466
|
-
|
|
11674
|
+
React42__namespace.createElement(
|
|
11467
11675
|
"div",
|
|
11468
11676
|
{ className: threadAvatarStyles },
|
|
11469
|
-
message.author.avatarUrl ?
|
|
11677
|
+
message.author.avatarUrl ? React42__namespace.createElement("img", {
|
|
11470
11678
|
src: message.author.avatarUrl,
|
|
11471
11679
|
alt: message.author.name,
|
|
11472
11680
|
className: "h-full w-full object-cover"
|
|
11473
11681
|
}) : message.author.name.charAt(0).toUpperCase()
|
|
11474
11682
|
),
|
|
11475
11683
|
// Content
|
|
11476
|
-
|
|
11684
|
+
React42__namespace.createElement(
|
|
11477
11685
|
"div",
|
|
11478
11686
|
{ className: threadContentStyles },
|
|
11479
|
-
|
|
11687
|
+
React42__namespace.createElement(
|
|
11480
11688
|
"div",
|
|
11481
11689
|
{ className: "flex items-baseline" },
|
|
11482
|
-
|
|
11483
|
-
|
|
11690
|
+
React42__namespace.createElement("span", { className: threadAuthorStyles }, message.author.name),
|
|
11691
|
+
React42__namespace.createElement(
|
|
11484
11692
|
"span",
|
|
11485
11693
|
{ className: threadTimestampStyles },
|
|
11486
11694
|
api.formatTimestamp(message.timestamp)
|
|
11487
11695
|
),
|
|
11488
|
-
message.edited &&
|
|
11696
|
+
message.edited && React42__namespace.createElement("span", { className: threadEditedStyles }, "(edited)")
|
|
11489
11697
|
),
|
|
11490
|
-
|
|
11698
|
+
React42__namespace.createElement("div", { className: threadBodyStyles }, message.content),
|
|
11491
11699
|
// Reactions
|
|
11492
|
-
message.reactions && message.reactions.length > 0 &&
|
|
11700
|
+
message.reactions && message.reactions.length > 0 && React42__namespace.createElement(
|
|
11493
11701
|
"div",
|
|
11494
11702
|
{ className: threadReactionsStyles },
|
|
11495
11703
|
message.reactions.map(
|
|
11496
|
-
(reaction, i) =>
|
|
11704
|
+
(reaction, i) => React42__namespace.createElement(
|
|
11497
11705
|
"button",
|
|
11498
11706
|
{
|
|
11499
11707
|
key: `${reaction.emoji}-${i}`,
|
|
@@ -11509,25 +11717,25 @@ function MessageComponent({
|
|
|
11509
11717
|
)
|
|
11510
11718
|
),
|
|
11511
11719
|
// Reply indicator
|
|
11512
|
-
message.replies && message.replies.length > 0 &&
|
|
11720
|
+
message.replies && message.replies.length > 0 && React42__namespace.createElement(
|
|
11513
11721
|
"div",
|
|
11514
11722
|
{ className: threadReplyIndicatorStyles },
|
|
11515
11723
|
`${message.replies.length} ${message.replies.length === 1 ? "reply" : "replies"}`
|
|
11516
11724
|
),
|
|
11517
11725
|
// Attachments
|
|
11518
11726
|
message.attachments && message.attachments.map(
|
|
11519
|
-
(attachment) =>
|
|
11727
|
+
(attachment) => React42__namespace.createElement(
|
|
11520
11728
|
"div",
|
|
11521
11729
|
{ key: attachment.id, className: threadAttachmentStyles },
|
|
11522
|
-
|
|
11523
|
-
|
|
11730
|
+
React42__namespace.createElement("span", null, "\u{1F4CE}"),
|
|
11731
|
+
React42__namespace.createElement("span", { className: "truncate" }, attachment.name)
|
|
11524
11732
|
)
|
|
11525
11733
|
),
|
|
11526
11734
|
// Actions (reply button)
|
|
11527
|
-
|
|
11735
|
+
React42__namespace.createElement(
|
|
11528
11736
|
"div",
|
|
11529
11737
|
{ className: threadActionsStyles },
|
|
11530
|
-
|
|
11738
|
+
React42__namespace.createElement(
|
|
11531
11739
|
"button",
|
|
11532
11740
|
{
|
|
11533
11741
|
type: "button",
|
|
@@ -11549,11 +11757,11 @@ function ThreadView({
|
|
|
11549
11757
|
className
|
|
11550
11758
|
}) {
|
|
11551
11759
|
const api = createThreadView({ messages, onReply, onReact, currentUserId });
|
|
11552
|
-
return
|
|
11760
|
+
return React42__namespace.createElement(
|
|
11553
11761
|
"div",
|
|
11554
11762
|
{ ...api.ariaProps, className: cn(threadContainerStyles, className) },
|
|
11555
11763
|
messages.map(
|
|
11556
|
-
(message) =>
|
|
11764
|
+
(message) => React42__namespace.createElement(MessageComponent, {
|
|
11557
11765
|
key: message.id,
|
|
11558
11766
|
message,
|
|
11559
11767
|
api
|
|
@@ -11587,11 +11795,11 @@ function observeHeadings(headingIds, callback, options) {
|
|
|
11587
11795
|
});
|
|
11588
11796
|
return () => observer.disconnect();
|
|
11589
11797
|
}
|
|
11590
|
-
var TableOfContents =
|
|
11798
|
+
var TableOfContents = React42__namespace.forwardRef(
|
|
11591
11799
|
({ className, containerRef, selectors = "h2, h3, h4", onActiveIdChange, ...props }, ref) => {
|
|
11592
|
-
const [headings, setHeadings] =
|
|
11593
|
-
const [activeId, setActiveId] =
|
|
11594
|
-
|
|
11800
|
+
const [headings, setHeadings] = React42__namespace.useState([]);
|
|
11801
|
+
const [activeId, setActiveId] = React42__namespace.useState("");
|
|
11802
|
+
React42__namespace.useEffect(() => {
|
|
11595
11803
|
const container = containerRef?.current || document.body;
|
|
11596
11804
|
if (!container) return;
|
|
11597
11805
|
const parsedHeadings = parseHeadings(container, selectors);
|
|
@@ -11630,14 +11838,14 @@ var TableOfContents = React41__namespace.forwardRef(
|
|
|
11630
11838
|
}
|
|
11631
11839
|
);
|
|
11632
11840
|
TableOfContents.displayName = "TableOfContents";
|
|
11633
|
-
var CarouselContext =
|
|
11634
|
-
var Carousel =
|
|
11841
|
+
var CarouselContext = React42__namespace.createContext(null);
|
|
11842
|
+
var Carousel = React42__namespace.forwardRef(
|
|
11635
11843
|
({ className, type = "single", collapsible, value: controlledValue, defaultValue, onValueChange, ...props }, ref) => {
|
|
11636
|
-
const [uncontrolledValue, setUncontrolledValue] =
|
|
11844
|
+
const [uncontrolledValue, setUncontrolledValue] = React42__namespace.useState(
|
|
11637
11845
|
defaultValue ?? (type === "multiple" ? [] : "")
|
|
11638
11846
|
);
|
|
11639
11847
|
const value = controlledValue !== void 0 ? controlledValue : uncontrolledValue;
|
|
11640
|
-
const handleValueChange =
|
|
11848
|
+
const handleValueChange = React42__namespace.useCallback(
|
|
11641
11849
|
(itemValue) => {
|
|
11642
11850
|
if (type === "single") {
|
|
11643
11851
|
const newValue = value === itemValue && collapsible ? "" : itemValue;
|
|
@@ -11656,20 +11864,20 @@ var Carousel = React41__namespace.forwardRef(
|
|
|
11656
11864
|
}
|
|
11657
11865
|
);
|
|
11658
11866
|
Carousel.displayName = "Carousel";
|
|
11659
|
-
var CarouselItemContext =
|
|
11660
|
-
var CarouselItem =
|
|
11867
|
+
var CarouselItemContext = React42__namespace.createContext(null);
|
|
11868
|
+
var CarouselItem = React42__namespace.forwardRef(
|
|
11661
11869
|
({ className, value, ...props }, ref) => {
|
|
11662
|
-
const context =
|
|
11870
|
+
const context = React42__namespace.useContext(CarouselContext);
|
|
11663
11871
|
if (!context) throw new Error("CarouselItem must be within Carousel");
|
|
11664
11872
|
const isOpen = context.type === "single" ? context.value === value : Array.isArray(context.value) && context.value.includes(value);
|
|
11665
11873
|
return /* @__PURE__ */ jsxRuntime.jsx(CarouselItemContext.Provider, { value: { value, isOpen }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("border-b border-border", className), "data-state": isOpen ? "open" : "closed", ...props }) });
|
|
11666
11874
|
}
|
|
11667
11875
|
);
|
|
11668
11876
|
CarouselItem.displayName = "CarouselItem";
|
|
11669
|
-
var CarouselTrigger =
|
|
11877
|
+
var CarouselTrigger = React42__namespace.forwardRef(
|
|
11670
11878
|
({ className, children, ...props }, ref) => {
|
|
11671
|
-
const carouselContext =
|
|
11672
|
-
const itemContext =
|
|
11879
|
+
const carouselContext = React42__namespace.useContext(CarouselContext);
|
|
11880
|
+
const itemContext = React42__namespace.useContext(CarouselItemContext);
|
|
11673
11881
|
if (!carouselContext || !itemContext) throw new Error("CarouselTrigger missing context");
|
|
11674
11882
|
return /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "flex m-0 p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11675
11883
|
"button",
|
|
@@ -11708,9 +11916,9 @@ var CarouselTrigger = React41__namespace.forwardRef(
|
|
|
11708
11916
|
}
|
|
11709
11917
|
);
|
|
11710
11918
|
CarouselTrigger.displayName = "CarouselTrigger";
|
|
11711
|
-
var CarouselContent =
|
|
11919
|
+
var CarouselContent = React42__namespace.forwardRef(
|
|
11712
11920
|
({ className, children, ...props }, ref) => {
|
|
11713
|
-
const itemContext =
|
|
11921
|
+
const itemContext = React42__namespace.useContext(CarouselItemContext);
|
|
11714
11922
|
if (!itemContext) throw new Error("CarouselContent missing context");
|
|
11715
11923
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11716
11924
|
"div",
|
|
@@ -11729,7 +11937,7 @@ var CarouselContent = React41__namespace.forwardRef(
|
|
|
11729
11937
|
}
|
|
11730
11938
|
);
|
|
11731
11939
|
CarouselContent.displayName = "CarouselContent";
|
|
11732
|
-
var Pagination =
|
|
11940
|
+
var Pagination = React42__namespace.forwardRef(
|
|
11733
11941
|
({ className, ...props }, ref) => {
|
|
11734
11942
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("", className), ...props });
|
|
11735
11943
|
}
|
|
@@ -11758,7 +11966,7 @@ function createLinkCard(_props = {}) {
|
|
|
11758
11966
|
dataAttributes: { "data-slot": "link-card" }
|
|
11759
11967
|
};
|
|
11760
11968
|
}
|
|
11761
|
-
var LinkCard =
|
|
11969
|
+
var LinkCard = React42__namespace.forwardRef(
|
|
11762
11970
|
({ className, ...props }, ref) => {
|
|
11763
11971
|
const api = createLinkCard(props);
|
|
11764
11972
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -11780,7 +11988,7 @@ function createCardGrid(_props = {}) {
|
|
|
11780
11988
|
dataAttributes: { "data-slot": "card-grid" }
|
|
11781
11989
|
};
|
|
11782
11990
|
}
|
|
11783
|
-
var CardGrid =
|
|
11991
|
+
var CardGrid = React42__namespace.forwardRef(
|
|
11784
11992
|
({ className, columns = 3, ...props }, ref) => {
|
|
11785
11993
|
const api = createCardGrid({ });
|
|
11786
11994
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -11805,7 +12013,7 @@ function createPayment(props = {}) {
|
|
|
11805
12013
|
}
|
|
11806
12014
|
};
|
|
11807
12015
|
}
|
|
11808
|
-
var Payment =
|
|
12016
|
+
var Payment = React42__namespace.forwardRef(
|
|
11809
12017
|
({ className, disabled, ...props }, ref) => {
|
|
11810
12018
|
const api = createPayment({ disabled });
|
|
11811
12019
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -11824,27 +12032,27 @@ var Payment = React41__namespace.forwardRef(
|
|
|
11824
12032
|
}
|
|
11825
12033
|
);
|
|
11826
12034
|
Payment.displayName = "Payment";
|
|
11827
|
-
var PaymentHeader =
|
|
12035
|
+
var PaymentHeader = React42__namespace.forwardRef(
|
|
11828
12036
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("mb-6 flex flex-col gap-1.5", className), ...props })
|
|
11829
12037
|
);
|
|
11830
12038
|
PaymentHeader.displayName = "PaymentHeader";
|
|
11831
|
-
var PaymentTitle =
|
|
12039
|
+
var PaymentTitle = React42__namespace.forwardRef(
|
|
11832
12040
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("h3", { ref, className: cn("text-xl font-semibold leading-none tracking-tight", className), ...props })
|
|
11833
12041
|
);
|
|
11834
12042
|
PaymentTitle.displayName = "PaymentTitle";
|
|
11835
|
-
var PaymentDescription =
|
|
12043
|
+
var PaymentDescription = React42__namespace.forwardRef(
|
|
11836
12044
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("p", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
|
|
11837
12045
|
);
|
|
11838
12046
|
PaymentDescription.displayName = "PaymentDescription";
|
|
11839
|
-
var PaymentContent =
|
|
12047
|
+
var PaymentContent = React42__namespace.forwardRef(
|
|
11840
12048
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex flex-col gap-4", className), ...props })
|
|
11841
12049
|
);
|
|
11842
12050
|
PaymentContent.displayName = "PaymentContent";
|
|
11843
|
-
var PaymentFooter =
|
|
12051
|
+
var PaymentFooter = React42__namespace.forwardRef(
|
|
11844
12052
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("mt-6 flex flex-col gap-3", className), ...props })
|
|
11845
12053
|
);
|
|
11846
12054
|
PaymentFooter.displayName = "PaymentFooter";
|
|
11847
|
-
var PaymentButton =
|
|
12055
|
+
var PaymentButton = React42__namespace.forwardRef(
|
|
11848
12056
|
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
11849
12057
|
"button",
|
|
11850
12058
|
{
|
|
@@ -11863,6 +12071,7 @@ exports.Accordion = Accordion;
|
|
|
11863
12071
|
exports.AccordionContent = AccordionContent;
|
|
11864
12072
|
exports.AccordionItem = AccordionItem;
|
|
11865
12073
|
exports.AccordionTrigger = AccordionTrigger;
|
|
12074
|
+
exports.AltHintState = AltHintState;
|
|
11866
12075
|
exports.AnimatedText = AnimatedText;
|
|
11867
12076
|
exports.AppShell = AppShell;
|
|
11868
12077
|
exports.AuthGuard = AuthGuard;
|
|
@@ -11963,6 +12172,7 @@ exports.ReactionBar = ReactionBar;
|
|
|
11963
12172
|
exports.ResizableDivider = ResizableDivider;
|
|
11964
12173
|
exports.ResizableLayout = ResizableLayout;
|
|
11965
12174
|
exports.ResizablePane = ResizablePane;
|
|
12175
|
+
exports.SANE_DEFAULTS = SANE_DEFAULTS;
|
|
11966
12176
|
exports.STATUS_COLORS = STATUS_COLORS2;
|
|
11967
12177
|
exports.STATUS_LABELS = STATUS_LABELS2;
|
|
11968
12178
|
exports.SearchBar = SearchBar;
|
|
@@ -11973,6 +12183,10 @@ exports.SelectContent = SelectContent;
|
|
|
11973
12183
|
exports.SelectItem = SelectItem;
|
|
11974
12184
|
exports.SelectTrigger = SelectTrigger;
|
|
11975
12185
|
exports.ShortcutBadge = ShortcutBadge;
|
|
12186
|
+
exports.ShortcutContext = ShortcutContext;
|
|
12187
|
+
exports.ShortcutHint = ShortcutHint;
|
|
12188
|
+
exports.ShortcutProvider = ShortcutProvider;
|
|
12189
|
+
exports.ShortcutRegistry = ShortcutRegistry;
|
|
11976
12190
|
exports.Sidebar = Sidebar;
|
|
11977
12191
|
exports.Skeleton = Skeleton;
|
|
11978
12192
|
exports.SkeletonText = SkeletonText;
|
|
@@ -12001,6 +12215,7 @@ exports.TooltipTrigger = TooltipTrigger;
|
|
|
12001
12215
|
exports.TypewriterText = TypewriterText;
|
|
12002
12216
|
exports.VersionSelector = VersionSelector;
|
|
12003
12217
|
exports.VideoPlayer = VideoPlayer;
|
|
12218
|
+
exports.altHintState = altHintState;
|
|
12004
12219
|
exports.animatedTextVariants = animatedTextVariants;
|
|
12005
12220
|
exports.avatarFallbackVariants = avatarFallbackVariants;
|
|
12006
12221
|
exports.avatarImageVariants = avatarImageVariants;
|
|
@@ -12058,6 +12273,7 @@ exports.formatTimestamp = formatTimestamp;
|
|
|
12058
12273
|
exports.getAssignableRoles = getAssignableRoles;
|
|
12059
12274
|
exports.getDefaultPortal = getDefaultPortal;
|
|
12060
12275
|
exports.getInitials = getInitials;
|
|
12276
|
+
exports.globalShortcutRegistry = globalShortcutRegistry;
|
|
12061
12277
|
exports.hasAllRoles = hasAllRoles;
|
|
12062
12278
|
exports.hasAnyRole = hasAnyRole;
|
|
12063
12279
|
exports.hasRole = hasRole;
|
|
@@ -12147,6 +12363,7 @@ exports.toolbarVariants = toolbarVariants;
|
|
|
12147
12363
|
exports.tooltipContentVariants = tooltipContentVariants;
|
|
12148
12364
|
exports.typewriterVariants = typewriterVariants;
|
|
12149
12365
|
exports.useAuth = useAuth;
|
|
12366
|
+
exports.useShortcut = useShortcut;
|
|
12150
12367
|
exports.useTheme = useTheme;
|
|
12151
12368
|
exports.useToast = useToast;
|
|
12152
12369
|
exports.versionSelectorOptionVariants = optionVariants2;
|