@wow-two-beta/ui 0.0.63 → 0.0.64
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/actions/index.js +2 -2
- package/dist/{chunk-XB4TU643.js → chunk-5YT7XRTW.js} +16 -8
- package/dist/chunk-5YT7XRTW.js.map +1 -0
- package/dist/{chunk-BLU5JZAB.js → chunk-GTBNVI77.js} +51 -22
- package/dist/chunk-GTBNVI77.js.map +1 -0
- package/dist/{chunk-MYLSXVIS.js → chunk-H3WC7KRX.js} +115 -49
- package/dist/chunk-H3WC7KRX.js.map +1 -0
- package/dist/{chunk-H4P5MAGS.js → chunk-MZZKA3ZS.js} +33 -11
- package/dist/chunk-MZZKA3ZS.js.map +1 -0
- package/dist/{chunk-WIXKLDTN.js → chunk-NEH4ITXL.js} +205 -87
- package/dist/chunk-NEH4ITXL.js.map +1 -0
- package/dist/{chunk-3IVQNIHV.js → chunk-NIFL35PJ.js} +3 -3
- package/dist/{chunk-3IVQNIHV.js.map → chunk-NIFL35PJ.js.map} +1 -1
- package/dist/{chunk-EQNTG53H.js → chunk-NW7ULTYL.js} +8 -7
- package/dist/chunk-NW7ULTYL.js.map +1 -0
- package/dist/{chunk-XPUKDLD3.js → chunk-O4Y52ERR.js} +77 -37
- package/dist/chunk-O4Y52ERR.js.map +1 -0
- package/dist/{chunk-YNC2CIJR.js → chunk-RDRFXVNX.js} +63 -19
- package/dist/chunk-RDRFXVNX.js.map +1 -0
- package/dist/{chunk-4QQLJOGP.js → chunk-YQGEF43L.js} +40 -17
- package/dist/chunk-YQGEF43L.js.map +1 -0
- package/dist/{chunk-5JYRZ5PA.js → chunk-ZC4H4PIN.js} +88 -56
- package/dist/chunk-ZC4H4PIN.js.map +1 -0
- package/dist/display/index.js +2 -2
- package/dist/feedback/index.js +2 -2
- package/dist/feedback/undoBar/UndoBar.d.ts +1 -1
- package/dist/forms/combobox/Combobox.d.ts +1 -1
- package/dist/forms/index.js +5 -5
- package/dist/index.css +38 -0
- package/dist/index.js +11 -11
- package/dist/layout/index.js +3 -3
- package/dist/nav/dropdownMenu/DropdownMenu.d.ts +1 -1
- package/dist/nav/index.js +3 -3
- package/dist/nav/menu/Menu.d.ts +1 -1
- package/dist/overlays/index.js +4 -4
- package/package.json +1 -1
- package/dist/chunk-4QQLJOGP.js.map +0 -1
- package/dist/chunk-5JYRZ5PA.js.map +0 -1
- package/dist/chunk-BLU5JZAB.js.map +0 -1
- package/dist/chunk-EQNTG53H.js.map +0 -1
- package/dist/chunk-H4P5MAGS.js.map +0 -1
- package/dist/chunk-MYLSXVIS.js.map +0 -1
- package/dist/chunk-WIXKLDTN.js.map +0 -1
- package/dist/chunk-XB4TU643.js.map +0 -1
- package/dist/chunk-XPUKDLD3.js.map +0 -1
- package/dist/chunk-YNC2CIJR.js.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Spinner } from './chunk-7ZDLUNAY.js';
|
|
2
|
-
import { Backdrop } from './chunk-
|
|
2
|
+
import { Backdrop } from './chunk-NW7ULTYL.js';
|
|
3
3
|
import { useReducedMotion, useControlled } from './chunk-V267IMBH.js';
|
|
4
4
|
import { Icon } from './chunk-MVMDDGW7.js';
|
|
5
5
|
import { tv, surfaceVariants } from './chunk-DX7FYAKY.js';
|
|
6
|
-
import { Portal, Announce } from './chunk-XLYJF3HC.js';
|
|
6
|
+
import { Presence, Portal, Announce } from './chunk-XLYJF3HC.js';
|
|
7
7
|
import { cn } from './chunk-X2MYOHOB.js';
|
|
8
|
-
import { forwardRef, createContext, useState, Children, isValidElement,
|
|
8
|
+
import { forwardRef, useRef, useEffect, createContext, useState, Children, isValidElement, useMemo, useContext, useId, useCallback } from 'react';
|
|
9
9
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
10
10
|
import { X, Check, TrendingUp, TrendingDown, Minus, ChevronDown, Bell } from 'lucide-react';
|
|
11
11
|
|
|
@@ -628,6 +628,31 @@ var POSITION_CLASSES = {
|
|
|
628
628
|
"bottom-left": "bottom-4 left-4 items-start",
|
|
629
629
|
"bottom-center": "bottom-4 left-1/2 -translate-x-1/2 items-center"
|
|
630
630
|
};
|
|
631
|
+
var MOTION_CLASSES = {
|
|
632
|
+
"top-right": "motion-safe:data-[state=open]:animate-(--animate-slide-in-right) motion-safe:data-[state=closed]:animate-(--animate-slide-out-right) motion-reduce:animate-none",
|
|
633
|
+
"top-left": "motion-safe:data-[state=open]:animate-(--animate-slide-in-left) motion-safe:data-[state=closed]:animate-(--animate-slide-out-left) motion-reduce:animate-none",
|
|
634
|
+
"top-center": "motion-safe:data-[state=open]:animate-(--animate-slide-in-top) motion-safe:data-[state=closed]:animate-(--animate-slide-out-top) motion-reduce:animate-none",
|
|
635
|
+
"bottom-right": "motion-safe:data-[state=open]:animate-(--animate-slide-in-right) motion-safe:data-[state=closed]:animate-(--animate-slide-out-right) motion-reduce:animate-none",
|
|
636
|
+
"bottom-left": "motion-safe:data-[state=open]:animate-(--animate-slide-in-left) motion-safe:data-[state=closed]:animate-(--animate-slide-out-left) motion-reduce:animate-none",
|
|
637
|
+
"bottom-center": "motion-safe:data-[state=open]:animate-(--animate-slide-in-bottom) motion-safe:data-[state=closed]:animate-(--animate-slide-out-bottom) motion-reduce:animate-none"
|
|
638
|
+
};
|
|
639
|
+
var ToastItem = forwardRef(
|
|
640
|
+
({ motionClass, onRemoved, className, children, ...props }, ref) => {
|
|
641
|
+
const onRemovedRef = useRef(onRemoved);
|
|
642
|
+
onRemovedRef.current = onRemoved;
|
|
643
|
+
useEffect(() => () => onRemovedRef.current?.(), []);
|
|
644
|
+
return /* @__PURE__ */ jsx(
|
|
645
|
+
"div",
|
|
646
|
+
{
|
|
647
|
+
ref,
|
|
648
|
+
className: cn("pointer-events-auto w-80", motionClass, className),
|
|
649
|
+
...props,
|
|
650
|
+
children
|
|
651
|
+
}
|
|
652
|
+
);
|
|
653
|
+
}
|
|
654
|
+
);
|
|
655
|
+
ToastItem.displayName = "ToastItem";
|
|
631
656
|
function Toaster({
|
|
632
657
|
position = "bottom-right",
|
|
633
658
|
max = 5,
|
|
@@ -648,11 +673,30 @@ function Toaster({
|
|
|
648
673
|
...t,
|
|
649
674
|
resolvedDuration: t.duration ?? defaultDuration
|
|
650
675
|
}));
|
|
676
|
+
const visibleIds = useMemo(() => new Set(visible.map((v) => v.id)), [visible]);
|
|
677
|
+
const [exiting, setExiting] = useState([]);
|
|
678
|
+
const prevVisibleRef = useRef([]);
|
|
679
|
+
useEffect(() => {
|
|
680
|
+
const gone = prevVisibleRef.current.filter((p) => !visibleIds.has(p.id));
|
|
681
|
+
prevVisibleRef.current = visible;
|
|
682
|
+
setExiting((cur) => {
|
|
683
|
+
const known = new Set(cur.map((e) => e.id));
|
|
684
|
+
const merged = [...cur, ...gone.filter((g) => !known.has(g.id))].filter(
|
|
685
|
+
(e) => !visibleIds.has(e.id)
|
|
686
|
+
);
|
|
687
|
+
return merged.length === cur.length && merged.every((e, i) => e.id === cur[i]?.id) ? cur : merged;
|
|
688
|
+
});
|
|
689
|
+
}, [visibleIds]);
|
|
690
|
+
const removeExiting = (id) => setExiting((cur) => cur.filter((e) => e.id !== id));
|
|
691
|
+
const rendered = [
|
|
692
|
+
...visible.map((v) => ({ ...v, present: true })),
|
|
693
|
+
...exiting.map((e) => ({ ...e, present: false }))
|
|
694
|
+
];
|
|
651
695
|
const latestTitle = typeof visible[visible.length - 1]?.title === "string" ? visible[visible.length - 1].title : visible[visible.length - 1]?.description && typeof visible[visible.length - 1].description === "string" ? visible[visible.length - 1].description : "";
|
|
652
696
|
useEffect(() => {
|
|
653
|
-
const
|
|
697
|
+
const ids = new Set(visible.map((v) => v.id));
|
|
654
698
|
for (const [id, h] of timersRef.current) {
|
|
655
|
-
if (!
|
|
699
|
+
if (!ids.has(id)) {
|
|
656
700
|
window.clearTimeout(h);
|
|
657
701
|
timersRef.current.delete(id);
|
|
658
702
|
remainingRef.current.delete(id);
|
|
@@ -695,7 +739,7 @@ function Toaster({
|
|
|
695
739
|
if (!canPauseOnHover || !paused) return;
|
|
696
740
|
setPaused(false);
|
|
697
741
|
};
|
|
698
|
-
if (
|
|
742
|
+
if (rendered.length === 0) {
|
|
699
743
|
return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(Announce, { politeness: "polite" }) });
|
|
700
744
|
}
|
|
701
745
|
return /* @__PURE__ */ jsxs(Portal, { children: [
|
|
@@ -713,15 +757,22 @@ function Toaster({
|
|
|
713
757
|
POSITION_CLASSES[position],
|
|
714
758
|
className
|
|
715
759
|
),
|
|
716
|
-
children:
|
|
717
|
-
|
|
760
|
+
children: rendered.map((t) => /* @__PURE__ */ jsx(Presence, { isPresent: t.present, children: /* @__PURE__ */ jsx(
|
|
761
|
+
ToastItem,
|
|
718
762
|
{
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
763
|
+
motionClass: MOTION_CLASSES[position],
|
|
764
|
+
onRemoved: t.present ? void 0 : () => removeExiting(t.id),
|
|
765
|
+
children: /* @__PURE__ */ jsx(
|
|
766
|
+
Toast,
|
|
767
|
+
{
|
|
768
|
+
icon: t.icon,
|
|
769
|
+
title: t.title,
|
|
770
|
+
description: t.description,
|
|
771
|
+
severity: t.severity,
|
|
772
|
+
actions: t.action,
|
|
773
|
+
onClose: () => toaster.dismiss(t.id)
|
|
774
|
+
}
|
|
775
|
+
)
|
|
725
776
|
}
|
|
726
777
|
) }, t.id))
|
|
727
778
|
}
|
|
@@ -741,50 +792,65 @@ var LoadingOverlay = forwardRef(
|
|
|
741
792
|
children,
|
|
742
793
|
...rest
|
|
743
794
|
}, ref) {
|
|
744
|
-
|
|
795
|
+
const content = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
796
|
+
/* @__PURE__ */ jsx(Spinner, { size: spinnerSize, tone: spinnerTone, label: typeof label === "string" ? label : "Loading" }),
|
|
797
|
+
label && /* @__PURE__ */ jsx("div", { className: "text-sm text-foreground", children: label }),
|
|
798
|
+
children
|
|
799
|
+
] });
|
|
745
800
|
if (isInline) {
|
|
746
|
-
return /* @__PURE__ */
|
|
747
|
-
|
|
801
|
+
return /* @__PURE__ */ jsx(Presence, { isPresent: isOpen, children: /* @__PURE__ */ jsx(
|
|
802
|
+
LoadingScrim,
|
|
748
803
|
{
|
|
749
804
|
ref,
|
|
750
|
-
role: "status",
|
|
751
805
|
className: cn(
|
|
752
|
-
"absolute inset-0 z-banner
|
|
806
|
+
"absolute inset-0 z-banner bg-background/70",
|
|
753
807
|
hasBlur && "backdrop-blur-sm",
|
|
754
808
|
className
|
|
755
809
|
),
|
|
756
810
|
...rest,
|
|
757
|
-
children:
|
|
758
|
-
/* @__PURE__ */ jsx(Spinner, { size: spinnerSize, tone: spinnerTone, label: typeof label === "string" ? label : "Loading" }),
|
|
759
|
-
label && /* @__PURE__ */ jsx("div", { className: "text-sm text-foreground", children: label }),
|
|
760
|
-
children
|
|
761
|
-
]
|
|
811
|
+
children: content
|
|
762
812
|
}
|
|
763
|
-
);
|
|
813
|
+
) });
|
|
764
814
|
}
|
|
765
815
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
766
|
-
/* @__PURE__ */ jsx(Backdrop, { open:
|
|
767
|
-
/* @__PURE__ */
|
|
768
|
-
|
|
816
|
+
/* @__PURE__ */ jsx(Backdrop, { open: isOpen, isBlurred: hasBlur, className: "bg-background/70" }),
|
|
817
|
+
/* @__PURE__ */ jsx(Presence, { isPresent: isOpen, children: /* @__PURE__ */ jsx(
|
|
818
|
+
LoadingScrim,
|
|
769
819
|
{
|
|
770
820
|
ref,
|
|
771
|
-
role: "status",
|
|
772
821
|
className: cn(
|
|
773
|
-
"fixed inset-0 z-modal
|
|
822
|
+
"fixed inset-0 z-modal pointer-events-none",
|
|
774
823
|
className
|
|
775
824
|
),
|
|
776
825
|
...rest,
|
|
777
|
-
children:
|
|
778
|
-
/* @__PURE__ */ jsx(Spinner, { size: spinnerSize, tone: spinnerTone, label: typeof label === "string" ? label : "Loading" }),
|
|
779
|
-
label && /* @__PURE__ */ jsx("div", { className: "text-sm text-foreground", children: label }),
|
|
780
|
-
children
|
|
781
|
-
]
|
|
826
|
+
children: content
|
|
782
827
|
}
|
|
783
|
-
)
|
|
828
|
+
) })
|
|
784
829
|
] });
|
|
785
830
|
}
|
|
786
831
|
);
|
|
787
832
|
LoadingOverlay.displayName = "LoadingOverlay";
|
|
833
|
+
var LoadingScrim = forwardRef(
|
|
834
|
+
function LoadingScrim2({ className, children, ...props }, ref) {
|
|
835
|
+
return /* @__PURE__ */ jsx(
|
|
836
|
+
"div",
|
|
837
|
+
{
|
|
838
|
+
ref,
|
|
839
|
+
role: "status",
|
|
840
|
+
className: cn(
|
|
841
|
+
"flex flex-col items-center justify-center gap-3",
|
|
842
|
+
"motion-safe:data-[state=open]:animate-(--animate-fade-in)",
|
|
843
|
+
"motion-safe:data-[state=closed]:animate-(--animate-fade-out)",
|
|
844
|
+
"motion-reduce:animate-none",
|
|
845
|
+
className
|
|
846
|
+
),
|
|
847
|
+
...props,
|
|
848
|
+
children
|
|
849
|
+
}
|
|
850
|
+
);
|
|
851
|
+
}
|
|
852
|
+
);
|
|
853
|
+
LoadingScrim.displayName = "LoadingScrim";
|
|
788
854
|
var POSITION = {
|
|
789
855
|
"top-right": "top-4 right-4",
|
|
790
856
|
"top-left": "top-4 left-4",
|
|
@@ -849,48 +915,72 @@ function UndoBar({
|
|
|
849
915
|
remainingRef.current = Math.max(0, remainingRef.current - elapsed);
|
|
850
916
|
};
|
|
851
917
|
}, [isOpen, duration, paused, hasCountdown, onOpenChange]);
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
) });
|
|
918
|
+
return (
|
|
919
|
+
/* Static positioning wrapper holds the fixed corner + (for `*-center`) the
|
|
920
|
+
centering `-translate-x-1/2`; the inner `UndoBarPanel` carries the slide
|
|
921
|
+
keyframe, whose own `translateY` would otherwise clobber that centering
|
|
922
|
+
translate if both sat on one node. `Portal` stays mounted; `Presence`
|
|
923
|
+
owns the panel's mount so the exit (slide-out + fade) plays before
|
|
924
|
+
unmount, cloning `ref` + `data-state` onto the panel for its motion. */
|
|
925
|
+
/* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx("div", { className: cn("fixed z-toast", POSITION[position]), children: /* @__PURE__ */ jsx(Presence, { isPresent: isOpen, children: /* @__PURE__ */ jsxs(
|
|
926
|
+
UndoBarPanel,
|
|
927
|
+
{
|
|
928
|
+
onMouseEnter: () => canPauseOnHover && setPaused(true),
|
|
929
|
+
onMouseLeave: () => canPauseOnHover && setPaused(false),
|
|
930
|
+
onFocus: () => canPauseOnHover && setPaused(true),
|
|
931
|
+
onBlur: () => canPauseOnHover && setPaused(false),
|
|
932
|
+
className,
|
|
933
|
+
children: [
|
|
934
|
+
/* @__PURE__ */ jsx("span", { className: "flex-1", children: message }),
|
|
935
|
+
onUndo && /* @__PURE__ */ jsx(
|
|
936
|
+
"button",
|
|
937
|
+
{
|
|
938
|
+
type: "button",
|
|
939
|
+
onClick: () => {
|
|
940
|
+
onUndo();
|
|
941
|
+
onOpenChange?.(false);
|
|
942
|
+
},
|
|
943
|
+
className: "font-medium text-primary transition-colors hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm px-1",
|
|
944
|
+
children: undoLabel
|
|
945
|
+
}
|
|
946
|
+
),
|
|
947
|
+
hasCountdown && duration !== Infinity && /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 h-0.5 w-full bg-border", children: /* @__PURE__ */ jsx(
|
|
948
|
+
"div",
|
|
949
|
+
{
|
|
950
|
+
className: "h-full bg-primary transition-[width] duration-100 ease-linear",
|
|
951
|
+
style: { width: `${progress * 100}%` }
|
|
952
|
+
}
|
|
953
|
+
) })
|
|
954
|
+
]
|
|
955
|
+
}
|
|
956
|
+
) }) }) })
|
|
957
|
+
);
|
|
893
958
|
}
|
|
959
|
+
var UndoBarPanel = forwardRef(
|
|
960
|
+
function UndoBarPanel2({ className, children, ...props }, ref) {
|
|
961
|
+
return /* @__PURE__ */ jsx(
|
|
962
|
+
"div",
|
|
963
|
+
{
|
|
964
|
+
ref,
|
|
965
|
+
role: "status",
|
|
966
|
+
"aria-live": "polite",
|
|
967
|
+
className: cn(
|
|
968
|
+
"relative flex items-center gap-3 overflow-hidden text-sm",
|
|
969
|
+
surfaceVariants({ variant: "surface", radius: "md", padding: "sm", elevation: 3 }),
|
|
970
|
+
"px-4 py-2.5",
|
|
971
|
+
/* slide-in-bottom/out-bottom carry their own fade; gated on data-state +
|
|
972
|
+
motion-safe so reduced-motion users get no movement. */
|
|
973
|
+
"motion-safe:data-[state=open]:animate-(--animate-slide-in-bottom)",
|
|
974
|
+
"motion-safe:data-[state=closed]:animate-(--animate-slide-out-bottom)",
|
|
975
|
+
"motion-reduce:animate-none",
|
|
976
|
+
className
|
|
977
|
+
),
|
|
978
|
+
...props,
|
|
979
|
+
children
|
|
980
|
+
}
|
|
981
|
+
);
|
|
982
|
+
}
|
|
983
|
+
);
|
|
894
984
|
var OnboardingContext = createContext(null);
|
|
895
985
|
var OnboardingChecklist = forwardRef(
|
|
896
986
|
function OnboardingChecklist2({
|
|
@@ -1064,7 +1154,18 @@ function Tour({
|
|
|
1064
1154
|
const titleId = useId();
|
|
1065
1155
|
const descId = useId();
|
|
1066
1156
|
const maskId = useId();
|
|
1157
|
+
const reducedMotion = useReducedMotion();
|
|
1067
1158
|
const step = steps[currentStep];
|
|
1159
|
+
const [mounted, setMounted] = useState(open);
|
|
1160
|
+
useEffect(() => {
|
|
1161
|
+
if (open) {
|
|
1162
|
+
setMounted(true);
|
|
1163
|
+
return;
|
|
1164
|
+
}
|
|
1165
|
+
if (!reducedMotion) return;
|
|
1166
|
+
const raf = requestAnimationFrame(() => setMounted(false));
|
|
1167
|
+
return () => cancelAnimationFrame(raf);
|
|
1168
|
+
}, [open, reducedMotion]);
|
|
1068
1169
|
useEffect(() => {
|
|
1069
1170
|
if (!open || !step) return;
|
|
1070
1171
|
const update = () => {
|
|
@@ -1107,12 +1208,12 @@ function Tour({
|
|
|
1107
1208
|
setOpen(false);
|
|
1108
1209
|
onSkip?.();
|
|
1109
1210
|
}, [setOpen, onSkip]);
|
|
1110
|
-
if (!
|
|
1211
|
+
if (!mounted || !step) return null;
|
|
1111
1212
|
const placement = step.placement ?? "bottom";
|
|
1112
1213
|
const tooltipCoords = rect ? placementCoords(rect, placement) : null;
|
|
1113
1214
|
const cutoutPadding = padding;
|
|
1114
1215
|
return /* @__PURE__ */ jsxs(Portal, { children: [
|
|
1115
|
-
rect && /* @__PURE__ */ jsxs(
|
|
1216
|
+
open && rect && /* @__PURE__ */ jsxs(
|
|
1116
1217
|
"svg",
|
|
1117
1218
|
{
|
|
1118
1219
|
"aria-hidden": "true",
|
|
@@ -1145,8 +1246,8 @@ function Tour({
|
|
|
1145
1246
|
]
|
|
1146
1247
|
}
|
|
1147
1248
|
),
|
|
1148
|
-
tooltipCoords && /* @__PURE__ */ jsxs(
|
|
1149
|
-
|
|
1249
|
+
tooltipCoords && /* @__PURE__ */ jsx(Presence, { isPresent: open, children: /* @__PURE__ */ jsxs(
|
|
1250
|
+
TourTooltip,
|
|
1150
1251
|
{
|
|
1151
1252
|
role: "dialog",
|
|
1152
1253
|
"aria-modal": "false",
|
|
@@ -1158,9 +1259,9 @@ function Tour({
|
|
|
1158
1259
|
left: tooltipCoords.left,
|
|
1159
1260
|
transform: tooltipCoords.transform
|
|
1160
1261
|
},
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1262
|
+
onAnimationEnd: () => {
|
|
1263
|
+
if (!open) setMounted(false);
|
|
1264
|
+
},
|
|
1164
1265
|
children: [
|
|
1165
1266
|
step.title && /* @__PURE__ */ jsx("div", { id: titleId, className: "text-sm font-semibold", children: step.title }),
|
|
1166
1267
|
step.body && /* @__PURE__ */ jsx("div", { id: descId, className: cn("text-sm text-muted-foreground", step.title && "mt-1.5"), children: step.body }),
|
|
@@ -1202,10 +1303,27 @@ function Tour({
|
|
|
1202
1303
|
] })
|
|
1203
1304
|
]
|
|
1204
1305
|
}
|
|
1205
|
-
),
|
|
1306
|
+
) }),
|
|
1206
1307
|
/* @__PURE__ */ jsx(Announce, { politeness: "polite", children: step.title ? `Step ${currentStep + 1} of ${steps.length}: ${typeof step.title === "string" ? step.title : ""}` : "" })
|
|
1207
1308
|
] });
|
|
1208
1309
|
}
|
|
1310
|
+
var TourTooltip = forwardRef(function TourTooltip2({ className, children, ...props }, ref) {
|
|
1311
|
+
return /* @__PURE__ */ jsx(
|
|
1312
|
+
"div",
|
|
1313
|
+
{
|
|
1314
|
+
ref,
|
|
1315
|
+
className: cn(
|
|
1316
|
+
"z-popover w-72 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-lg outline-none",
|
|
1317
|
+
"motion-safe:data-[state=open]:animate-(--animate-pop-in)",
|
|
1318
|
+
"motion-safe:data-[state=closed]:animate-(--animate-pop-out)",
|
|
1319
|
+
"motion-reduce:animate-none",
|
|
1320
|
+
className
|
|
1321
|
+
),
|
|
1322
|
+
...props,
|
|
1323
|
+
children
|
|
1324
|
+
}
|
|
1325
|
+
);
|
|
1326
|
+
});
|
|
1209
1327
|
var SIZE2 = {
|
|
1210
1328
|
sm: "h-1 w-1",
|
|
1211
1329
|
md: "h-1.5 w-1.5",
|
|
@@ -1507,5 +1625,5 @@ var NotificationCenter = NotificationCenterInner;
|
|
|
1507
1625
|
NotificationCenter.Item = NotificationItem;
|
|
1508
1626
|
|
|
1509
1627
|
export { Alert, AlertSimple, Banner, BannerSimple, Callout, InlineSpinner, LiveCursor, LoadingOverlay, LoadingState, MeterBar, NotificationCenter, NotificationItem, OnboardingChecklist, OnboardingChecklistTask, PresenceIndicator, ProgressBar, ProgressCircle, ProgressSteps, Skeleton, StatusIndicator, Toast, ToastSimple, Toaster, Tour, TrendIndicator, TypingIndicator, UndoBar, alertSimpleVariants, bannerSimpleVariants, progressFillVariants, progressTrackVariants, skeletonVariants, toastSimpleVariants, toaster, useOnboardingChecklist, useToaster };
|
|
1510
|
-
//# sourceMappingURL=chunk-
|
|
1511
|
-
//# sourceMappingURL=chunk-
|
|
1628
|
+
//# sourceMappingURL=chunk-NEH4ITXL.js.map
|
|
1629
|
+
//# sourceMappingURL=chunk-NEH4ITXL.js.map
|