@flowsterix/react 0.4.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/TourPopoverPortal.d.ts +6 -1
- package/dist/components/TourPopoverPortal.d.ts.map +1 -1
- package/dist/hooks/useHiddenTargetFallback.d.ts +5 -0
- package/dist/hooks/useHiddenTargetFallback.d.ts.map +1 -1
- package/dist/hooks/useHudState.d.ts +5 -0
- package/dist/hooks/useHudState.d.ts.map +1 -1
- package/dist/hooks/useHudTargetIssue.d.ts.map +1 -1
- package/dist/hooks/useTourOverlay.d.ts +5 -0
- package/dist/hooks/useTourOverlay.d.ts.map +1 -1
- package/dist/index.cjs +41 -17
- package/dist/index.mjs +41 -17
- package/package.json +5 -2
|
@@ -51,7 +51,12 @@ export interface TourPopoverPortalProps {
|
|
|
51
51
|
containerComponent?: MotionElementComponent;
|
|
52
52
|
contentComponent?: MotionElementComponent;
|
|
53
53
|
transitionsOverride?: Partial<AnimationAdapterTransitions>;
|
|
54
|
+
/**
|
|
55
|
+
* When true, the popover is hidden during the grace period while waiting for target.
|
|
56
|
+
* The backdrop will show but the popover content remains invisible.
|
|
57
|
+
*/
|
|
58
|
+
isInGracePeriod?: boolean;
|
|
54
59
|
}
|
|
55
|
-
export declare const TourPopoverPortal: ({ target, children, offset, width, maxWidth, zIndex, placement, role, ariaLabel, ariaDescribedBy, ariaModal, descriptionId, descriptionText, onContainerChange, layoutId, containerComponent, contentComponent, transitionsOverride, }: TourPopoverPortalProps) => import("react").ReactPortal | null;
|
|
60
|
+
export declare const TourPopoverPortal: ({ target, children, offset, width, maxWidth, zIndex, placement, role, ariaLabel, ariaDescribedBy, ariaModal, descriptionId, descriptionText, onContainerChange, layoutId, containerComponent, contentComponent, transitionsOverride, isInGracePeriod, }: TourPopoverPortalProps) => import("react").ReactPortal | null;
|
|
56
61
|
export {};
|
|
57
62
|
//# sourceMappingURL=TourPopoverPortal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TourPopoverPortal.d.ts","sourceRoot":"","sources":["../../src/components/TourPopoverPortal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,SAAS,EACT,WAAW,EACZ,MAAM,OAAO,CAAA;AAYd,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAc,MAAM,cAAc,CAAA;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAuB7E,KAAK,kBAAkB,GAAG,WAAW,GACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IAC3C,KAAK,CAAC,EAAE,aAAa,GAAG,WAAW,CAAA;CACpC,CAAA;AAEH,KAAK,sBAAsB,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAA;AAoB/D,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE/E,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,sBAAsB,CAAA;IACjC,OAAO,EAAE,sBAAsB,CAAA;IAC/B,cAAc,EAAE,kBAAkB,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QACxB,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;QAC7B,KAAK,EAAE,aAAa,CAAA;KACrB,CAAA;IACH,YAAY,EAAE,kBAAkB,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IACnD,UAAU,EAAE,qBAAqB,CAAA;IACjC,UAAU,EAAE,OAAO,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ,CAAA;QACd,YAAY,EAAE,MAAM,CAAA;QACpB,KAAK,EAAE,aAAa,CAAA;QACpB,aAAa,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;KACtD,CAAA;IACD,gBAAgB,EAAE;QAChB,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,cAAc,CAAA;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,SAAS,CAAA;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAA;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,sBAAsB,CAAA;IAC3C,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,mBAAmB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"TourPopoverPortal.d.ts","sourceRoot":"","sources":["../../src/components/TourPopoverPortal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,SAAS,EACT,WAAW,EACZ,MAAM,OAAO,CAAA;AAYd,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAc,MAAM,cAAc,CAAA;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAuB7E,KAAK,kBAAkB,GAAG,WAAW,GACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IAC3C,KAAK,CAAC,EAAE,aAAa,GAAG,WAAW,CAAA;CACpC,CAAA;AAEH,KAAK,sBAAsB,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAA;AAoB/D,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE/E,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,sBAAsB,CAAA;IACjC,OAAO,EAAE,sBAAsB,CAAA;IAC/B,cAAc,EAAE,kBAAkB,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QACxB,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;QAC7B,KAAK,EAAE,aAAa,CAAA;KACrB,CAAA;IACH,YAAY,EAAE,kBAAkB,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IACnD,UAAU,EAAE,qBAAqB,CAAA;IACjC,UAAU,EAAE,OAAO,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ,CAAA;QACd,YAAY,EAAE,MAAM,CAAA;QACpB,KAAK,EAAE,aAAa,CAAA;QACpB,aAAa,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;KACtD,CAAA;IACD,gBAAgB,EAAE;QAChB,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,cAAc,CAAA;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,SAAS,CAAA;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAA;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,sBAAsB,CAAA;IAC3C,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,mBAAmB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAC1D;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,iBAAiB,GAAI,yPAoB/B,sBAAsB,uCAysBxB,CAAA"}
|
|
@@ -11,6 +11,11 @@ export interface UseHiddenTargetFallbackConfig {
|
|
|
11
11
|
export interface UseHiddenTargetFallbackResult {
|
|
12
12
|
target: TourTargetInfo;
|
|
13
13
|
usingScreenFallback: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* True during the initial grace period while waiting for target to resolve.
|
|
16
|
+
* During this time, backdrop should show but popover should be hidden.
|
|
17
|
+
*/
|
|
18
|
+
isInGracePeriod: boolean;
|
|
14
19
|
}
|
|
15
20
|
export declare const useHiddenTargetFallback: ({ step, target, viewportRect, onSkip, }: UseHiddenTargetFallbackConfig) => UseHiddenTargetFallbackResult;
|
|
16
21
|
//# sourceMappingURL=useHiddenTargetFallback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHiddenTargetFallback.d.ts","sourceRoot":"","sources":["../../src/hooks/useHiddenTargetFallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"useHiddenTargetFallback.d.ts","sourceRoot":"","sources":["../../src/hooks/useHiddenTargetFallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAOrD,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IAC5B,MAAM,EAAE,cAAc,CAAA;IACtB,YAAY,EAAE,cAAc,CAAA;IAC5B,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,cAAc,CAAA;IACtB,mBAAmB,EAAE,OAAO,CAAA;IAC5B;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,eAAO,MAAM,uBAAuB,GAAI,yCAKrC,6BAA6B,KAAG,6BA+HlC,CAAA"}
|
|
@@ -22,6 +22,11 @@ export interface UseHudStateResult {
|
|
|
22
22
|
hudRenderMode: FlowHudRenderMode;
|
|
23
23
|
matchesFlowFilter: boolean;
|
|
24
24
|
activeFlowId: string | null;
|
|
25
|
+
/**
|
|
26
|
+
* True during grace period while waiting for target to resolve.
|
|
27
|
+
* Backdrop should show but popover should be hidden.
|
|
28
|
+
*/
|
|
29
|
+
isInGracePeriod: boolean;
|
|
25
30
|
}
|
|
26
31
|
export declare const useHudState: (options?: UseHudStateOptions) => UseHudStateResult;
|
|
27
32
|
//# sourceMappingURL=useHudState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHudState.d.ts","sourceRoot":"","sources":["../../src/hooks/useHudState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,IAAI,EACL,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIrD,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IACvB,YAAY,EAAE,SAAS,GAAG,IAAI,CAAA;IAC9B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACnC,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;IACtB,eAAe,EAAE,OAAO,CAAA;IACxB,MAAM,EAAE,cAAc,CAAA;IACtB,SAAS,EAAE,cAAc,CAAA;IACzB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAA;IACrC,aAAa,EAAE,iBAAiB,CAAA;IAChC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"useHudState.d.ts","sourceRoot":"","sources":["../../src/hooks/useHudState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,IAAI,EACL,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIrD,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IACvB,YAAY,EAAE,SAAS,GAAG,IAAI,CAAA;IAC9B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACnC,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;IACtB,eAAe,EAAE,OAAO,CAAA;IACxB,MAAM,EAAE,cAAc,CAAA;IACtB,SAAS,EAAE,cAAc,CAAA;IACzB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAA;IACrC,aAAa,EAAE,iBAAiB,CAAA;IAChC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAA;CACzB;AASD,eAAO,MAAM,WAAW,GACtB,UAAS,kBAAuB,KAC/B,iBAuFF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHudTargetIssue.d.ts","sourceRoot":"","sources":["../../src/hooks/useHudTargetIssue.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAA;AAElE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAA;CAChC;
|
|
1
|
+
{"version":3,"file":"useHudTargetIssue.d.ts","sourceRoot":"","sources":["../../src/hooks/useHudTargetIssue.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAA;AAElE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAA;CAChC;AA4BD,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,cAAc,EACtB,UAAU,wBAAwB,KACjC,uBA6BF,CAAA"}
|
|
@@ -21,6 +21,11 @@ export interface UseTourOverlayOptions {
|
|
|
21
21
|
radius?: number;
|
|
22
22
|
edgeBuffer?: number;
|
|
23
23
|
interactionMode?: BackdropInteractionMode;
|
|
24
|
+
/**
|
|
25
|
+
* When true, the overlay is in a grace period waiting for the target to resolve.
|
|
26
|
+
* The backdrop will show but without a highlight cutout.
|
|
27
|
+
*/
|
|
28
|
+
isInGracePeriod?: boolean;
|
|
24
29
|
}
|
|
25
30
|
export interface UseTourOverlayResult {
|
|
26
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTourOverlay.d.ts","sourceRoot":"","sources":["../../src/hooks/useTourOverlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAOlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,cAAc,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"useTourOverlay.d.ts","sourceRoot":"","sources":["../../src/hooks/useTourOverlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAOlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,cAAc,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,uBAAuB,CAAA;IACzC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,SAAS,EAAE;QACT,IAAI,EAAE,eAAe,GAAG,IAAI,CAAA;QAC5B,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;QAC7B,QAAQ,EAAE,OAAO,CAAA;KAClB,CAAA;IACD;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,gBAAgB,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAA;IAClD;;OAEG;IACH,eAAe,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAA;IACjD;;OAEG;IACH,eAAe,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAA;CACzB;AAMD,eAAO,MAAM,cAAc,GACzB,SAAS,qBAAqB,KAC7B,oBA2PF,CAAA"}
|
package/dist/index.cjs
CHANGED
|
@@ -1878,6 +1878,7 @@ var useAdvanceRules = (target) => {
|
|
|
1878
1878
|
// src/hooks/useHiddenTargetFallback.ts
|
|
1879
1879
|
var import_react7 = require("react");
|
|
1880
1880
|
var DEFAULT_DELAY_MS = 900;
|
|
1881
|
+
var DEFAULT_GRACE_PERIOD_MS = 400;
|
|
1881
1882
|
var useHiddenTargetFallback = ({
|
|
1882
1883
|
step,
|
|
1883
1884
|
target,
|
|
@@ -1885,7 +1886,9 @@ var useHiddenTargetFallback = ({
|
|
|
1885
1886
|
onSkip
|
|
1886
1887
|
}) => {
|
|
1887
1888
|
const [usingScreenFallback, setUsingScreenFallback] = (0, import_react7.useState)(false);
|
|
1889
|
+
const [isInGracePeriod, setIsInGracePeriod] = (0, import_react7.useState)(false);
|
|
1888
1890
|
const timeoutRef = (0, import_react7.useRef)(null);
|
|
1891
|
+
const graceTimeoutRef = (0, import_react7.useRef)(null);
|
|
1889
1892
|
const skipTriggeredRef = (0, import_react7.useRef)(false);
|
|
1890
1893
|
const hiddenMode = step?.targetBehavior?.hidden ?? "screen";
|
|
1891
1894
|
const hiddenDelayMs = Math.max(
|
|
@@ -1898,26 +1901,43 @@ var useHiddenTargetFallback = ({
|
|
|
1898
1901
|
timeoutRef.current = null;
|
|
1899
1902
|
}
|
|
1900
1903
|
};
|
|
1904
|
+
const clearGraceTimeout = () => {
|
|
1905
|
+
if (graceTimeoutRef.current !== null) {
|
|
1906
|
+
globalThis.clearTimeout(graceTimeoutRef.current);
|
|
1907
|
+
graceTimeoutRef.current = null;
|
|
1908
|
+
}
|
|
1909
|
+
};
|
|
1901
1910
|
(0, import_react7.useEffect)(() => {
|
|
1902
1911
|
skipTriggeredRef.current = false;
|
|
1903
1912
|
setUsingScreenFallback(false);
|
|
1913
|
+
setIsInGracePeriod(false);
|
|
1904
1914
|
clearPendingTimeout();
|
|
1905
|
-
|
|
1915
|
+
clearGraceTimeout();
|
|
1916
|
+
return () => {
|
|
1917
|
+
clearPendingTimeout();
|
|
1918
|
+
clearGraceTimeout();
|
|
1919
|
+
};
|
|
1906
1920
|
}, [step?.id]);
|
|
1907
1921
|
(0, import_react7.useEffect)(() => {
|
|
1908
1922
|
if (!isBrowser) return void 0;
|
|
1909
1923
|
if (!step) return void 0;
|
|
1910
1924
|
clearPendingTimeout();
|
|
1925
|
+
clearGraceTimeout();
|
|
1911
1926
|
const isHiddenOrDetached = (target.visibility === "hidden" || target.visibility === "detached") && target.status === "ready";
|
|
1912
1927
|
const isMissingWithNoRect = target.visibility === "missing" && target.status === "resolving" && target.rect === null && target.lastResolvedRect === null;
|
|
1913
1928
|
const shouldHandleHiddenTarget = !target.isScreen && (isHiddenOrDetached || isMissingWithNoRect);
|
|
1914
1929
|
if (!shouldHandleHiddenTarget) {
|
|
1915
1930
|
setUsingScreenFallback(false);
|
|
1931
|
+
setIsInGracePeriod(false);
|
|
1916
1932
|
return void 0;
|
|
1917
1933
|
}
|
|
1934
|
+
setIsInGracePeriod(true);
|
|
1918
1935
|
if (hiddenMode !== "screen") {
|
|
1919
1936
|
setUsingScreenFallback(false);
|
|
1920
1937
|
}
|
|
1938
|
+
graceTimeoutRef.current = globalThis.setTimeout(() => {
|
|
1939
|
+
setIsInGracePeriod(false);
|
|
1940
|
+
}, DEFAULT_GRACE_PERIOD_MS);
|
|
1921
1941
|
timeoutRef.current = globalThis.setTimeout(() => {
|
|
1922
1942
|
if (hiddenMode === "screen") {
|
|
1923
1943
|
setUsingScreenFallback(true);
|
|
@@ -1928,7 +1948,10 @@ var useHiddenTargetFallback = ({
|
|
|
1928
1948
|
onSkip();
|
|
1929
1949
|
}
|
|
1930
1950
|
}, hiddenDelayMs);
|
|
1931
|
-
return
|
|
1951
|
+
return () => {
|
|
1952
|
+
clearPendingTimeout();
|
|
1953
|
+
clearGraceTimeout();
|
|
1954
|
+
};
|
|
1932
1955
|
}, [
|
|
1933
1956
|
step,
|
|
1934
1957
|
target.visibility,
|
|
@@ -1956,7 +1979,8 @@ var useHiddenTargetFallback = ({
|
|
|
1956
1979
|
}, [target, usingScreenFallback, viewportRect]);
|
|
1957
1980
|
return {
|
|
1958
1981
|
target: resolvedTarget,
|
|
1959
|
-
usingScreenFallback
|
|
1982
|
+
usingScreenFallback,
|
|
1983
|
+
isInGracePeriod
|
|
1960
1984
|
};
|
|
1961
1985
|
};
|
|
1962
1986
|
|
|
@@ -2053,7 +2077,7 @@ var useHudState = (options = {}) => {
|
|
|
2053
2077
|
next();
|
|
2054
2078
|
}
|
|
2055
2079
|
}, [activeFlowId, complete, flows, next, runningState]);
|
|
2056
|
-
const { target: hudTarget } = useHiddenTargetFallback({
|
|
2080
|
+
const { target: hudTarget, isInGracePeriod } = useHiddenTargetFallback({
|
|
2057
2081
|
step: runningStep,
|
|
2058
2082
|
target,
|
|
2059
2083
|
viewportRect,
|
|
@@ -2075,7 +2099,8 @@ var useHudState = (options = {}) => {
|
|
|
2075
2099
|
flowHudOptions,
|
|
2076
2100
|
hudRenderMode,
|
|
2077
2101
|
matchesFlowFilter,
|
|
2078
|
-
activeFlowId
|
|
2102
|
+
activeFlowId,
|
|
2103
|
+
isInGracePeriod
|
|
2079
2104
|
};
|
|
2080
2105
|
};
|
|
2081
2106
|
|
|
@@ -2338,17 +2363,12 @@ var deriveTargetIssue = (target) => {
|
|
|
2338
2363
|
if (target.status === "idle") return null;
|
|
2339
2364
|
switch (target.visibility) {
|
|
2340
2365
|
case "missing":
|
|
2341
|
-
return {
|
|
2342
|
-
type: "missing",
|
|
2343
|
-
title: "Looking for the target",
|
|
2344
|
-
body: "Flowsterix is still trying to find this element. Make sure the UI piece is mounted or adjust the selector.",
|
|
2345
|
-
hint: target.rectSource === "stored" ? "Showing the last known position until the element returns." : void 0
|
|
2346
|
-
};
|
|
2347
2366
|
case "hidden":
|
|
2348
2367
|
return {
|
|
2349
|
-
type:
|
|
2350
|
-
title: "Target
|
|
2351
|
-
body: "The element
|
|
2368
|
+
type: target.visibility,
|
|
2369
|
+
title: "Target not visible",
|
|
2370
|
+
body: "The target element is not currently visible. Make sure the UI piece is mounted and displayed.",
|
|
2371
|
+
hint: target.rectSource === "stored" ? "Showing the last known position until the element returns." : void 0
|
|
2352
2372
|
};
|
|
2353
2373
|
case "detached":
|
|
2354
2374
|
return {
|
|
@@ -2483,7 +2503,8 @@ var useTourOverlay = (options) => {
|
|
|
2483
2503
|
padding = DEFAULT_PADDING,
|
|
2484
2504
|
radius = DEFAULT_RADIUS,
|
|
2485
2505
|
edgeBuffer = DEFAULT_EDGE_BUFFER,
|
|
2486
|
-
interactionMode = "passthrough"
|
|
2506
|
+
interactionMode = "passthrough",
|
|
2507
|
+
isInGracePeriod = false
|
|
2487
2508
|
} = options;
|
|
2488
2509
|
const hasShownRef = (0, import_react16.useRef)(false);
|
|
2489
2510
|
const lastReadyTargetRef = (0, import_react16.useRef)(null);
|
|
@@ -2538,7 +2559,7 @@ var useTourOverlay = (options) => {
|
|
|
2538
2559
|
radius: highlightRadius
|
|
2539
2560
|
} : null;
|
|
2540
2561
|
const maskCapable = (0, import_react16.useMemo)(() => supportsMasking(), []);
|
|
2541
|
-
const isActive = target.status === "ready" || target.status === "resolving" && cachedTarget !== null;
|
|
2562
|
+
const isActive = target.status === "ready" || target.status === "resolving" && cachedTarget !== null || isInGracePeriod;
|
|
2542
2563
|
const shouldMask = maskCapable && isActive;
|
|
2543
2564
|
const maskId = (0, import_react16.useMemo)(
|
|
2544
2565
|
() => `tour-overlay-mask-${Math.random().toString(36).slice(2, 10)}`,
|
|
@@ -3179,7 +3200,8 @@ var TourPopoverPortal = ({
|
|
|
3179
3200
|
layoutId,
|
|
3180
3201
|
containerComponent,
|
|
3181
3202
|
contentComponent,
|
|
3182
|
-
transitionsOverride
|
|
3203
|
+
transitionsOverride,
|
|
3204
|
+
isInGracePeriod = false
|
|
3183
3205
|
}) => {
|
|
3184
3206
|
if (!isBrowser) return null;
|
|
3185
3207
|
const host = portalHost();
|
|
@@ -3210,6 +3232,7 @@ var TourPopoverPortal = ({
|
|
|
3210
3232
|
const cachedTarget = lastReadyTargetRef.current;
|
|
3211
3233
|
const resolvedRect = target.rect ?? target.lastResolvedRect ?? cachedTarget?.rect ?? null;
|
|
3212
3234
|
const resolvedIsScreen = target.status === "ready" ? target.isScreen : cachedTarget?.isScreen ?? target.isScreen;
|
|
3235
|
+
const shouldHideForGracePeriod = isInGracePeriod && !resolvedRect;
|
|
3213
3236
|
const fallbackRect = resolvedRect ?? viewport;
|
|
3214
3237
|
const fallbackIsScreen = resolvedIsScreen;
|
|
3215
3238
|
const [floatingSize, setFloatingSize] = (0, import_react20.useState)(null);
|
|
@@ -3715,6 +3738,7 @@ var TourPopoverPortal = ({
|
|
|
3715
3738
|
dragHandleProps,
|
|
3716
3739
|
descriptionProps
|
|
3717
3740
|
};
|
|
3741
|
+
if (shouldHideForGracePeriod) return null;
|
|
3718
3742
|
return (0, import_react_dom2.createPortal)(children(context), host);
|
|
3719
3743
|
};
|
|
3720
3744
|
|
package/dist/index.mjs
CHANGED
|
@@ -1619,6 +1619,7 @@ var useAdvanceRules = (target) => {
|
|
|
1619
1619
|
// src/hooks/useHiddenTargetFallback.ts
|
|
1620
1620
|
import { useEffect as useEffect5, useMemo as useMemo3, useRef as useRef3, useState as useState4 } from "react";
|
|
1621
1621
|
var DEFAULT_DELAY_MS = 900;
|
|
1622
|
+
var DEFAULT_GRACE_PERIOD_MS = 400;
|
|
1622
1623
|
var useHiddenTargetFallback = ({
|
|
1623
1624
|
step,
|
|
1624
1625
|
target,
|
|
@@ -1626,7 +1627,9 @@ var useHiddenTargetFallback = ({
|
|
|
1626
1627
|
onSkip
|
|
1627
1628
|
}) => {
|
|
1628
1629
|
const [usingScreenFallback, setUsingScreenFallback] = useState4(false);
|
|
1630
|
+
const [isInGracePeriod, setIsInGracePeriod] = useState4(false);
|
|
1629
1631
|
const timeoutRef = useRef3(null);
|
|
1632
|
+
const graceTimeoutRef = useRef3(null);
|
|
1630
1633
|
const skipTriggeredRef = useRef3(false);
|
|
1631
1634
|
const hiddenMode = step?.targetBehavior?.hidden ?? "screen";
|
|
1632
1635
|
const hiddenDelayMs = Math.max(
|
|
@@ -1639,26 +1642,43 @@ var useHiddenTargetFallback = ({
|
|
|
1639
1642
|
timeoutRef.current = null;
|
|
1640
1643
|
}
|
|
1641
1644
|
};
|
|
1645
|
+
const clearGraceTimeout = () => {
|
|
1646
|
+
if (graceTimeoutRef.current !== null) {
|
|
1647
|
+
globalThis.clearTimeout(graceTimeoutRef.current);
|
|
1648
|
+
graceTimeoutRef.current = null;
|
|
1649
|
+
}
|
|
1650
|
+
};
|
|
1642
1651
|
useEffect5(() => {
|
|
1643
1652
|
skipTriggeredRef.current = false;
|
|
1644
1653
|
setUsingScreenFallback(false);
|
|
1654
|
+
setIsInGracePeriod(false);
|
|
1645
1655
|
clearPendingTimeout();
|
|
1646
|
-
|
|
1656
|
+
clearGraceTimeout();
|
|
1657
|
+
return () => {
|
|
1658
|
+
clearPendingTimeout();
|
|
1659
|
+
clearGraceTimeout();
|
|
1660
|
+
};
|
|
1647
1661
|
}, [step?.id]);
|
|
1648
1662
|
useEffect5(() => {
|
|
1649
1663
|
if (!isBrowser) return void 0;
|
|
1650
1664
|
if (!step) return void 0;
|
|
1651
1665
|
clearPendingTimeout();
|
|
1666
|
+
clearGraceTimeout();
|
|
1652
1667
|
const isHiddenOrDetached = (target.visibility === "hidden" || target.visibility === "detached") && target.status === "ready";
|
|
1653
1668
|
const isMissingWithNoRect = target.visibility === "missing" && target.status === "resolving" && target.rect === null && target.lastResolvedRect === null;
|
|
1654
1669
|
const shouldHandleHiddenTarget = !target.isScreen && (isHiddenOrDetached || isMissingWithNoRect);
|
|
1655
1670
|
if (!shouldHandleHiddenTarget) {
|
|
1656
1671
|
setUsingScreenFallback(false);
|
|
1672
|
+
setIsInGracePeriod(false);
|
|
1657
1673
|
return void 0;
|
|
1658
1674
|
}
|
|
1675
|
+
setIsInGracePeriod(true);
|
|
1659
1676
|
if (hiddenMode !== "screen") {
|
|
1660
1677
|
setUsingScreenFallback(false);
|
|
1661
1678
|
}
|
|
1679
|
+
graceTimeoutRef.current = globalThis.setTimeout(() => {
|
|
1680
|
+
setIsInGracePeriod(false);
|
|
1681
|
+
}, DEFAULT_GRACE_PERIOD_MS);
|
|
1662
1682
|
timeoutRef.current = globalThis.setTimeout(() => {
|
|
1663
1683
|
if (hiddenMode === "screen") {
|
|
1664
1684
|
setUsingScreenFallback(true);
|
|
@@ -1669,7 +1689,10 @@ var useHiddenTargetFallback = ({
|
|
|
1669
1689
|
onSkip();
|
|
1670
1690
|
}
|
|
1671
1691
|
}, hiddenDelayMs);
|
|
1672
|
-
return
|
|
1692
|
+
return () => {
|
|
1693
|
+
clearPendingTimeout();
|
|
1694
|
+
clearGraceTimeout();
|
|
1695
|
+
};
|
|
1673
1696
|
}, [
|
|
1674
1697
|
step,
|
|
1675
1698
|
target.visibility,
|
|
@@ -1697,7 +1720,8 @@ var useHiddenTargetFallback = ({
|
|
|
1697
1720
|
}, [target, usingScreenFallback, viewportRect]);
|
|
1698
1721
|
return {
|
|
1699
1722
|
target: resolvedTarget,
|
|
1700
|
-
usingScreenFallback
|
|
1723
|
+
usingScreenFallback,
|
|
1724
|
+
isInGracePeriod
|
|
1701
1725
|
};
|
|
1702
1726
|
};
|
|
1703
1727
|
|
|
@@ -1794,7 +1818,7 @@ var useHudState = (options = {}) => {
|
|
|
1794
1818
|
next();
|
|
1795
1819
|
}
|
|
1796
1820
|
}, [activeFlowId, complete, flows, next, runningState]);
|
|
1797
|
-
const { target: hudTarget } = useHiddenTargetFallback({
|
|
1821
|
+
const { target: hudTarget, isInGracePeriod } = useHiddenTargetFallback({
|
|
1798
1822
|
step: runningStep,
|
|
1799
1823
|
target,
|
|
1800
1824
|
viewportRect,
|
|
@@ -1816,7 +1840,8 @@ var useHudState = (options = {}) => {
|
|
|
1816
1840
|
flowHudOptions,
|
|
1817
1841
|
hudRenderMode,
|
|
1818
1842
|
matchesFlowFilter,
|
|
1819
|
-
activeFlowId
|
|
1843
|
+
activeFlowId,
|
|
1844
|
+
isInGracePeriod
|
|
1820
1845
|
};
|
|
1821
1846
|
};
|
|
1822
1847
|
|
|
@@ -2079,17 +2104,12 @@ var deriveTargetIssue = (target) => {
|
|
|
2079
2104
|
if (target.status === "idle") return null;
|
|
2080
2105
|
switch (target.visibility) {
|
|
2081
2106
|
case "missing":
|
|
2082
|
-
return {
|
|
2083
|
-
type: "missing",
|
|
2084
|
-
title: "Looking for the target",
|
|
2085
|
-
body: "Flowsterix is still trying to find this element. Make sure the UI piece is mounted or adjust the selector.",
|
|
2086
|
-
hint: target.rectSource === "stored" ? "Showing the last known position until the element returns." : void 0
|
|
2087
|
-
};
|
|
2088
2107
|
case "hidden":
|
|
2089
2108
|
return {
|
|
2090
|
-
type:
|
|
2091
|
-
title: "Target
|
|
2092
|
-
body: "The element
|
|
2109
|
+
type: target.visibility,
|
|
2110
|
+
title: "Target not visible",
|
|
2111
|
+
body: "The target element is not currently visible. Make sure the UI piece is mounted and displayed.",
|
|
2112
|
+
hint: target.rectSource === "stored" ? "Showing the last known position until the element returns." : void 0
|
|
2093
2113
|
};
|
|
2094
2114
|
case "detached":
|
|
2095
2115
|
return {
|
|
@@ -2224,7 +2244,8 @@ var useTourOverlay = (options) => {
|
|
|
2224
2244
|
padding = DEFAULT_PADDING,
|
|
2225
2245
|
radius = DEFAULT_RADIUS,
|
|
2226
2246
|
edgeBuffer = DEFAULT_EDGE_BUFFER,
|
|
2227
|
-
interactionMode = "passthrough"
|
|
2247
|
+
interactionMode = "passthrough",
|
|
2248
|
+
isInGracePeriod = false
|
|
2228
2249
|
} = options;
|
|
2229
2250
|
const hasShownRef = useRef5(false);
|
|
2230
2251
|
const lastReadyTargetRef = useRef5(null);
|
|
@@ -2279,7 +2300,7 @@ var useTourOverlay = (options) => {
|
|
|
2279
2300
|
radius: highlightRadius
|
|
2280
2301
|
} : null;
|
|
2281
2302
|
const maskCapable = useMemo9(() => supportsMasking(), []);
|
|
2282
|
-
const isActive = target.status === "ready" || target.status === "resolving" && cachedTarget !== null;
|
|
2303
|
+
const isActive = target.status === "ready" || target.status === "resolving" && cachedTarget !== null || isInGracePeriod;
|
|
2283
2304
|
const shouldMask = maskCapable && isActive;
|
|
2284
2305
|
const maskId = useMemo9(
|
|
2285
2306
|
() => `tour-overlay-mask-${Math.random().toString(36).slice(2, 10)}`,
|
|
@@ -2926,7 +2947,8 @@ var TourPopoverPortal = ({
|
|
|
2926
2947
|
layoutId,
|
|
2927
2948
|
containerComponent,
|
|
2928
2949
|
contentComponent,
|
|
2929
|
-
transitionsOverride
|
|
2950
|
+
transitionsOverride,
|
|
2951
|
+
isInGracePeriod = false
|
|
2930
2952
|
}) => {
|
|
2931
2953
|
if (!isBrowser) return null;
|
|
2932
2954
|
const host = portalHost();
|
|
@@ -2957,6 +2979,7 @@ var TourPopoverPortal = ({
|
|
|
2957
2979
|
const cachedTarget = lastReadyTargetRef.current;
|
|
2958
2980
|
const resolvedRect = target.rect ?? target.lastResolvedRect ?? cachedTarget?.rect ?? null;
|
|
2959
2981
|
const resolvedIsScreen = target.status === "ready" ? target.isScreen : cachedTarget?.isScreen ?? target.isScreen;
|
|
2982
|
+
const shouldHideForGracePeriod = isInGracePeriod && !resolvedRect;
|
|
2960
2983
|
const fallbackRect = resolvedRect ?? viewport;
|
|
2961
2984
|
const fallbackIsScreen = resolvedIsScreen;
|
|
2962
2985
|
const [floatingSize, setFloatingSize] = useState10(null);
|
|
@@ -3462,6 +3485,7 @@ var TourPopoverPortal = ({
|
|
|
3462
3485
|
dragHandleProps,
|
|
3463
3486
|
descriptionProps
|
|
3464
3487
|
};
|
|
3488
|
+
if (shouldHideForGracePeriod) return null;
|
|
3465
3489
|
return createPortal2(children(context), host);
|
|
3466
3490
|
};
|
|
3467
3491
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowsterix/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "React bindings for Flowsterix - guided tours and onboarding flows",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -75,7 +75,9 @@
|
|
|
75
75
|
"react-router-dom": ">=6"
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
|
-
"motion": "^12.29.0"
|
|
78
|
+
"motion": "^12.29.0",
|
|
79
|
+
"react": "^19.2.0",
|
|
80
|
+
"react-dom": "^19.2.0"
|
|
79
81
|
},
|
|
80
82
|
"peerDependenciesMeta": {
|
|
81
83
|
"motion": {
|
|
@@ -94,6 +96,7 @@
|
|
|
94
96
|
"scripts": {
|
|
95
97
|
"build": "tsup --config tsup.config.ts --format esm,cjs --clean && tsc --build tsconfig.json --force",
|
|
96
98
|
"lint": "eslint src --ext .ts,.tsx",
|
|
99
|
+
"typecheck": "tsc --noEmit",
|
|
97
100
|
"test": "vitest run"
|
|
98
101
|
}
|
|
99
102
|
}
|