@flowsterix/react 0.1.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/adapters/radixDialog.d.ts +18 -0
- package/dist/adapters/radixDialog.d.ts.map +1 -0
- package/dist/chunk-RCASLQRS.mjs +24 -0
- package/dist/chunk-RPA2S5UP.mjs +280 -0
- package/dist/chunk-U757YVZP.mjs +50 -0
- package/dist/components/OverlayBackdrop.d.ts +34 -0
- package/dist/components/OverlayBackdrop.d.ts.map +1 -0
- package/dist/components/TourFocusManager.d.ts +11 -0
- package/dist/components/TourFocusManager.d.ts.map +1 -0
- package/dist/components/TourPopoverPortal.d.ts +57 -0
- package/dist/components/TourPopoverPortal.d.ts.map +1 -0
- package/dist/components/__tests__/TourFocusManager.test.d.ts +2 -0
- package/dist/components/__tests__/TourFocusManager.test.d.ts.map +1 -0
- package/dist/context.d.ts +56 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/hooks/__tests__/scrollMargin.test.d.ts +2 -0
- package/dist/hooks/__tests__/scrollMargin.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/useBodyScrollLock.test.d.ts +2 -0
- package/dist/hooks/__tests__/useBodyScrollLock.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/useHiddenTargetFallback.test.d.ts +2 -0
- package/dist/hooks/__tests__/useHiddenTargetFallback.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/waitForPredicate.test.d.ts +2 -0
- package/dist/hooks/__tests__/waitForPredicate.test.d.ts.map +1 -0
- package/dist/hooks/scrollMargin.d.ts +15 -0
- package/dist/hooks/scrollMargin.d.ts.map +1 -0
- package/dist/hooks/useAdvanceRules.d.ts +3 -0
- package/dist/hooks/useAdvanceRules.d.ts.map +1 -0
- package/dist/hooks/useBodyScrollLock.d.ts +2 -0
- package/dist/hooks/useBodyScrollLock.d.ts.map +1 -0
- package/dist/hooks/useDelayAdvance.d.ts +14 -0
- package/dist/hooks/useDelayAdvance.d.ts.map +1 -0
- package/dist/hooks/useHiddenTargetFallback.d.ts +16 -0
- package/dist/hooks/useHiddenTargetFallback.d.ts.map +1 -0
- package/dist/hooks/useHudDescription.d.ts +13 -0
- package/dist/hooks/useHudDescription.d.ts.map +1 -0
- package/dist/hooks/useHudShortcuts.d.ts +7 -0
- package/dist/hooks/useHudShortcuts.d.ts.map +1 -0
- package/dist/hooks/useHudState.d.ts +27 -0
- package/dist/hooks/useHudState.d.ts.map +1 -0
- package/dist/hooks/useHudTargetIssue.d.ts +21 -0
- package/dist/hooks/useHudTargetIssue.d.ts.map +1 -0
- package/dist/hooks/useTourControls.d.ts +17 -0
- package/dist/hooks/useTourControls.d.ts.map +1 -0
- package/dist/hooks/useTourFocusDominance.d.ts +9 -0
- package/dist/hooks/useTourFocusDominance.d.ts.map +1 -0
- package/dist/hooks/useTourHud.d.ts +61 -0
- package/dist/hooks/useTourHud.d.ts.map +1 -0
- package/dist/hooks/useTourOverlay.d.ts +70 -0
- package/dist/hooks/useTourOverlay.d.ts.map +1 -0
- package/dist/hooks/useTourTarget.d.ts +16 -0
- package/dist/hooks/useTourTarget.d.ts.map +1 -0
- package/dist/hooks/useViewportRect.d.ts +3 -0
- package/dist/hooks/useViewportRect.d.ts.map +1 -0
- package/dist/hooks/waitForPredicate.d.ts +15 -0
- package/dist/hooks/waitForPredicate.d.ts.map +1 -0
- package/dist/index.cjs +4207 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +3851 -0
- package/dist/labels.d.ts +22 -0
- package/dist/labels.d.ts.map +1 -0
- package/dist/motion/animationAdapter.d.ts +40 -0
- package/dist/motion/animationAdapter.d.ts.map +1 -0
- package/dist/motion/useHudMotion.d.ts +14 -0
- package/dist/motion/useHudMotion.d.ts.map +1 -0
- package/dist/router/index.cjs +275 -0
- package/dist/router/index.d.ts +5 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.mjs +30 -0
- package/dist/router/nextAppRouterAdapter.cjs +224 -0
- package/dist/router/nextAppRouterAdapter.d.ts +2 -0
- package/dist/router/nextAppRouterAdapter.d.ts.map +1 -0
- package/dist/router/nextAppRouterAdapter.mjs +35 -0
- package/dist/router/nextPagesRouterAdapter.cjs +217 -0
- package/dist/router/nextPagesRouterAdapter.d.ts +2 -0
- package/dist/router/nextPagesRouterAdapter.d.ts.map +1 -0
- package/dist/router/nextPagesRouterAdapter.mjs +28 -0
- package/dist/router/reactRouterAdapter.cjs +220 -0
- package/dist/router/reactRouterAdapter.d.ts +2 -0
- package/dist/router/reactRouterAdapter.d.ts.map +1 -0
- package/dist/router/reactRouterAdapter.mjs +31 -0
- package/dist/router/routeGating.d.ts +13 -0
- package/dist/router/routeGating.d.ts.map +1 -0
- package/dist/router/tanstackRouterAdapter.cjs +202 -0
- package/dist/router/tanstackRouterAdapter.d.ts +2 -0
- package/dist/router/tanstackRouterAdapter.d.ts.map +1 -0
- package/dist/router/tanstackRouterAdapter.mjs +7 -0
- package/dist/router/tanstackRouterSync.d.ts +20 -0
- package/dist/router/tanstackRouterSync.d.ts.map +1 -0
- package/dist/router/utils.d.ts +2 -0
- package/dist/router/utils.d.ts.map +1 -0
- package/dist/utils/dom.d.ts +22 -0
- package/dist/utils/dom.d.ts.map +1 -0
- package/dist/utils/focus.d.ts +4 -0
- package/dist/utils/focus.d.ts.map +1 -0
- package/package.json +96 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Step } from '@flowsterix/core';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { ClientRectLike } from '../utils/dom';
|
|
4
|
+
import type { TourTargetInfo } from './useTourTarget';
|
|
5
|
+
export interface UseHiddenTargetFallbackConfig {
|
|
6
|
+
step: Step<ReactNode> | null;
|
|
7
|
+
target: TourTargetInfo;
|
|
8
|
+
viewportRect: ClientRectLike;
|
|
9
|
+
onSkip: () => void;
|
|
10
|
+
}
|
|
11
|
+
export interface UseHiddenTargetFallbackResult {
|
|
12
|
+
target: TourTargetInfo;
|
|
13
|
+
usingScreenFallback: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const useHiddenTargetFallback: ({ step, target, viewportRect, onSkip, }: UseHiddenTargetFallbackConfig) => UseHiddenTargetFallbackResult;
|
|
16
|
+
//# sourceMappingURL=useHiddenTargetFallback.d.ts.map
|
|
@@ -0,0 +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;AAUrD,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;CAC7B;AAED,eAAO,MAAM,uBAAuB,GAAI,yCAKrC,6BAA6B,KAAG,6BAsFlC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Step } from '@flowsterix/core';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
export interface UseHudDescriptionOptions {
|
|
4
|
+
step: Step<ReactNode> | null;
|
|
5
|
+
fallbackAriaDescribedBy?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface UseHudDescriptionResult {
|
|
8
|
+
targetDescription: string | null;
|
|
9
|
+
descriptionId?: string;
|
|
10
|
+
combinedAriaDescribedBy?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const useHudDescription: (options: UseHudDescriptionOptions) => UseHudDescriptionResult;
|
|
13
|
+
//# sourceMappingURL=useHudDescription.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHudDescription.d.ts","sourceRoot":"","sources":["../../src/hooks/useHudDescription.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAWtC,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,eAAO,MAAM,iBAAiB,GAC5B,SAAS,wBAAwB,KAChC,uBAyBF,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TourTargetInfo } from './useTourTarget';
|
|
2
|
+
export interface UseHudShortcutsOptions {
|
|
3
|
+
enabled?: boolean;
|
|
4
|
+
escape?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const useHudShortcuts: (target: TourTargetInfo | null, options?: UseHudShortcutsOptions) => void;
|
|
7
|
+
//# sourceMappingURL=useHudShortcuts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHudShortcuts.d.ts","sourceRoot":"","sources":["../../src/hooks/useHudShortcuts.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAWD,eAAO,MAAM,eAAe,GAC1B,QAAQ,cAAc,GAAG,IAAI,EAC7B,UAAU,sBAAsB,SA2EjC,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { FlowHudOptions, FlowHudRenderMode, FlowState, Step } from '@flowsterix/core';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { TourTargetInfo } from './useTourTarget';
|
|
4
|
+
export interface UseHudStateOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Limit the HUD runtime to a specific flow or set of flows.
|
|
7
|
+
* When provided, the hook behaves as if the HUD is idle whenever
|
|
8
|
+
* the active flow does not match one of the allowed identifiers.
|
|
9
|
+
*/
|
|
10
|
+
flowId?: string | Array<string>;
|
|
11
|
+
}
|
|
12
|
+
export interface UseHudStateResult {
|
|
13
|
+
state: FlowState | null;
|
|
14
|
+
runningState: FlowState | null;
|
|
15
|
+
runningStep: Step<ReactNode> | null;
|
|
16
|
+
shouldRender: boolean;
|
|
17
|
+
canRenderStep: boolean;
|
|
18
|
+
focusTrapActive: boolean;
|
|
19
|
+
target: TourTargetInfo;
|
|
20
|
+
hudTarget: TourTargetInfo;
|
|
21
|
+
flowHudOptions: FlowHudOptions | null;
|
|
22
|
+
hudRenderMode: FlowHudRenderMode;
|
|
23
|
+
matchesFlowFilter: boolean;
|
|
24
|
+
activeFlowId: string | null;
|
|
25
|
+
}
|
|
26
|
+
export declare const useHudState: (options?: UseHudStateOptions) => UseHudStateResult;
|
|
27
|
+
//# sourceMappingURL=useHudState.d.ts.map
|
|
@@ -0,0 +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;CAC5B;AASD,eAAO,MAAM,WAAW,GACtB,UAAS,kBAAuB,KAC/B,iBAsFF,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TourTargetInfo } from './useTourTarget';
|
|
2
|
+
export type HudTargetIssueType = 'missing' | 'hidden' | 'detached';
|
|
3
|
+
export interface HudTargetIssue {
|
|
4
|
+
type: HudTargetIssueType;
|
|
5
|
+
title: string;
|
|
6
|
+
body: string;
|
|
7
|
+
hint?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface UseHudTargetIssueOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Delay before reporting an issue, to avoid flicker while a target is mounting.
|
|
12
|
+
* Defaults to 500ms.
|
|
13
|
+
*/
|
|
14
|
+
delayMs?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface UseHudTargetIssueResult {
|
|
17
|
+
issue: HudTargetIssue | null;
|
|
18
|
+
rawIssue: HudTargetIssue | null;
|
|
19
|
+
}
|
|
20
|
+
export declare const useHudTargetIssue: (target: TourTargetInfo, options?: UseHudTargetIssueOptions) => UseHudTargetIssueResult;
|
|
21
|
+
//# sourceMappingURL=useHudTargetIssue.d.ts.map
|
|
@@ -0,0 +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;AAiCD,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,cAAc,EACtB,UAAU,wBAAwB,KACjC,uBA6BF,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { TourContextValue } from '../context';
|
|
2
|
+
export interface TourControlsState {
|
|
3
|
+
showBackButton: boolean;
|
|
4
|
+
backDisabled: boolean;
|
|
5
|
+
canGoBack: boolean;
|
|
6
|
+
showNextButton: boolean;
|
|
7
|
+
nextDisabled: boolean;
|
|
8
|
+
canGoNext: boolean;
|
|
9
|
+
isFirst: boolean;
|
|
10
|
+
isLast: boolean;
|
|
11
|
+
isActive: boolean;
|
|
12
|
+
goBack: () => void;
|
|
13
|
+
goNext: () => void;
|
|
14
|
+
cancel: TourContextValue['cancel'];
|
|
15
|
+
}
|
|
16
|
+
export declare const useTourControls: () => TourControlsState;
|
|
17
|
+
//# sourceMappingURL=useTourControls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTourControls.d.ts","sourceRoot":"","sources":["../../src/hooks/useTourControls.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGlD,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,OAAO,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,cAAc,EAAE,OAAO,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;CACnC;AAYD,eAAO,MAAM,eAAe,QAAO,iBA8HlC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface UseTourFocusDominanceOptions {
|
|
2
|
+
enabled?: boolean;
|
|
3
|
+
}
|
|
4
|
+
export interface UseTourFocusDominanceResult {
|
|
5
|
+
active: boolean;
|
|
6
|
+
suspendExternalFocusTrap: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const useTourFocusDominance: (options?: UseTourFocusDominanceOptions) => UseTourFocusDominanceResult;
|
|
9
|
+
//# sourceMappingURL=useTourFocusDominance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTourFocusDominance.d.ts","sourceRoot":"","sources":["../../src/hooks/useTourFocusDominance.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,OAAO,CAAA;IACf,wBAAwB,EAAE,OAAO,CAAA;CAClC;AAID,eAAO,MAAM,qBAAqB,GAChC,UAAS,4BAAiC,KACzC,2BAUF,CAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { BackdropInteractionMode, Step } from '@flowsterix/core';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { UseHudDescriptionResult } from './useHudDescription';
|
|
4
|
+
import type { UseHudShortcutsOptions } from './useHudShortcuts';
|
|
5
|
+
import type { UseHudStateResult } from './useHudState';
|
|
6
|
+
import type { UseHudTargetIssueResult } from './useHudTargetIssue';
|
|
7
|
+
import type { TourTargetInfo } from './useTourTarget';
|
|
8
|
+
export interface UseTourHudOptions {
|
|
9
|
+
overlayPadding?: number;
|
|
10
|
+
overlayRadius?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Disable automatic keyboard shortcut handling.
|
|
13
|
+
* Enabled by default.
|
|
14
|
+
*/
|
|
15
|
+
shortcuts?: boolean | UseHudShortcutsOptions;
|
|
16
|
+
/**
|
|
17
|
+
* Disable automatic body scroll locking when the HUD traps focus.
|
|
18
|
+
* Enabled by default.
|
|
19
|
+
*/
|
|
20
|
+
bodyScrollLock?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface TourHudOverlayConfig {
|
|
23
|
+
padding?: number;
|
|
24
|
+
radius?: number;
|
|
25
|
+
interactionMode: BackdropInteractionMode;
|
|
26
|
+
}
|
|
27
|
+
export interface TourHudPopoverConfig {
|
|
28
|
+
offset: number;
|
|
29
|
+
role: string;
|
|
30
|
+
ariaLabel?: string;
|
|
31
|
+
ariaDescribedBy?: string;
|
|
32
|
+
ariaModal: boolean;
|
|
33
|
+
width?: number | string;
|
|
34
|
+
maxWidth?: number | string;
|
|
35
|
+
placement?: Step<ReactNode>['placement'];
|
|
36
|
+
}
|
|
37
|
+
export interface TourHudDescription extends UseHudDescriptionResult {
|
|
38
|
+
/**
|
|
39
|
+
* Convenience alias for `targetDescription`.
|
|
40
|
+
*/
|
|
41
|
+
text: string | null;
|
|
42
|
+
}
|
|
43
|
+
export interface TourHudFocusManagerState {
|
|
44
|
+
active: boolean;
|
|
45
|
+
target: TourTargetInfo;
|
|
46
|
+
popoverNode: HTMLElement | null;
|
|
47
|
+
setPopoverNode: (node: HTMLElement | null) => void;
|
|
48
|
+
}
|
|
49
|
+
export interface UseTourHudResult {
|
|
50
|
+
hudState: UseHudStateResult;
|
|
51
|
+
disableDefaultHud: boolean;
|
|
52
|
+
overlay: TourHudOverlayConfig;
|
|
53
|
+
popover: TourHudPopoverConfig;
|
|
54
|
+
description: TourHudDescription;
|
|
55
|
+
focusManager: TourHudFocusManagerState;
|
|
56
|
+
targetIssue: UseHudTargetIssueResult;
|
|
57
|
+
shouldLockBodyScroll: boolean;
|
|
58
|
+
shortcutsEnabled: boolean;
|
|
59
|
+
}
|
|
60
|
+
export declare const useTourHud: (options?: UseTourHudOptions) => UseTourHudResult;
|
|
61
|
+
//# sourceMappingURL=useTourHud.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTourHud.d.ts","sourceRoot":"","sources":["../../src/hooks/useTourHud.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAA;IAC5C;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,uBAAuB,CAAA;CACzC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,cAAc,CAAA;IACtB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAA;IAC/B,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;CACnD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,EAAE,oBAAoB,CAAA;IAC7B,OAAO,EAAE,oBAAoB,CAAA;IAC7B,WAAW,EAAE,kBAAkB,CAAA;IAC/B,YAAY,EAAE,wBAAwB,CAAA;IACtC,WAAW,EAAE,uBAAuB,CAAA;IACpC,oBAAoB,EAAE,OAAO,CAAA;IAC7B,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAKD,eAAO,MAAM,UAAU,GACrB,UAAS,iBAAsB,KAC9B,gBAwFF,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { BackdropInteractionMode } from '@flowsterix/core';
|
|
2
|
+
import type { ClientRectLike } from '../utils/dom';
|
|
3
|
+
import type { TourTargetInfo } from './useTourTarget';
|
|
4
|
+
export interface TourOverlayRect {
|
|
5
|
+
top: number;
|
|
6
|
+
left: number;
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
radius: number;
|
|
10
|
+
}
|
|
11
|
+
export interface TourOverlaySegment {
|
|
12
|
+
key: string;
|
|
13
|
+
top: number;
|
|
14
|
+
left: number;
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
}
|
|
18
|
+
export interface UseTourOverlayOptions {
|
|
19
|
+
target: TourTargetInfo;
|
|
20
|
+
padding?: number;
|
|
21
|
+
radius?: number;
|
|
22
|
+
edgeBuffer?: number;
|
|
23
|
+
interactionMode?: BackdropInteractionMode;
|
|
24
|
+
}
|
|
25
|
+
export interface UseTourOverlayResult {
|
|
26
|
+
/**
|
|
27
|
+
* W hether the overlay is actively highlighting a resolved target.
|
|
28
|
+
*/
|
|
29
|
+
isActive: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* M etrics for the highlight cutout.
|
|
32
|
+
*/
|
|
33
|
+
highlight: {
|
|
34
|
+
rect: TourOverlayRect | null;
|
|
35
|
+
centerX: number;
|
|
36
|
+
centerY: number;
|
|
37
|
+
target: TourTargetInfo | null;
|
|
38
|
+
isScreen: boolean;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* W hether the overlay can apply a mask to the viewport instead of falling back to segments.
|
|
42
|
+
*/
|
|
43
|
+
shouldMask: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* I D of the generated mask element, if masking is supported.
|
|
46
|
+
*/
|
|
47
|
+
maskId: string | null;
|
|
48
|
+
/**
|
|
49
|
+
* C SS url() for the generated mask, if applicable.
|
|
50
|
+
*/
|
|
51
|
+
maskUrl?: string;
|
|
52
|
+
/**
|
|
53
|
+
* R ectangles that approximate the overlay when masking is unavailable.
|
|
54
|
+
*/
|
|
55
|
+
fallbackSegments: Array<TourOverlaySegment> | null;
|
|
56
|
+
/**
|
|
57
|
+
* R ectangles that block pointer interaction when `interactionMode` is `block`.
|
|
58
|
+
*/
|
|
59
|
+
blockerSegments: Array<TourOverlaySegment> | null;
|
|
60
|
+
/**
|
|
61
|
+
* W hether the base overlay layer (with backdrop blur) should be rendered.
|
|
62
|
+
*/
|
|
63
|
+
showBaseOverlay: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* C ached viewport metrics for downstream calculations.
|
|
66
|
+
*/
|
|
67
|
+
viewport: ClientRectLike;
|
|
68
|
+
}
|
|
69
|
+
export declare const useTourOverlay: (options: UseTourOverlayOptions) => UseTourOverlayResult;
|
|
70
|
+
//# sourceMappingURL=useTourOverlay.d.ts.map
|
|
@@ -0,0 +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;CAC1C;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,oBAyPF,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ClientRectLike } from '../utils/dom';
|
|
2
|
+
export type TourTargetVisibility = 'unknown' | 'visible' | 'hidden' | 'detached' | 'missing';
|
|
3
|
+
export type TourRectSource = 'none' | 'live' | 'stored' | 'viewport';
|
|
4
|
+
export interface TourTargetInfo {
|
|
5
|
+
element: Element | null;
|
|
6
|
+
rect: ClientRectLike | null;
|
|
7
|
+
lastResolvedRect: ClientRectLike | null;
|
|
8
|
+
isScreen: boolean;
|
|
9
|
+
status: 'idle' | 'resolving' | 'ready';
|
|
10
|
+
stepId: string | null;
|
|
11
|
+
lastUpdated: number;
|
|
12
|
+
visibility: TourTargetVisibility;
|
|
13
|
+
rectSource: TourRectSource;
|
|
14
|
+
}
|
|
15
|
+
export declare const useTourTarget: () => TourTargetInfo;
|
|
16
|
+
//# sourceMappingURL=useTourTarget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTourTarget.d.ts","sourceRoot":"","sources":["../../src/hooks/useTourTarget.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAYlD,MAAM,MAAM,oBAAoB,GAC5B,SAAS,GACT,SAAS,GACT,QAAQ,GACR,UAAU,GACV,SAAS,CAAA;AAEb,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEpE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;IAC3B,gBAAgB,EAAE,cAAc,GAAG,IAAI,CAAA;IACvC,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAA;IACtC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,oBAAoB,CAAA;IAChC,UAAU,EAAE,cAAc,CAAA;CAC3B;AA6OD,eAAO,MAAM,aAAa,QAAO,cA6lBhC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useViewportRect.d.ts","sourceRoot":"","sources":["../../src/hooks/useViewportRect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAGlD,eAAO,MAAM,eAAe,QAAO,cAqDlC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StepHookContext, StepWaitFor } from '@flowsterix/core';
|
|
2
|
+
export interface WaitForPredicateControllerOptions<TContent = unknown> {
|
|
3
|
+
waitFor?: StepWaitFor<TContent>;
|
|
4
|
+
context: StepHookContext<TContent> | null;
|
|
5
|
+
onChange?: (satisfied: boolean) => void;
|
|
6
|
+
warn?: (...args: Array<unknown>) => void;
|
|
7
|
+
}
|
|
8
|
+
export interface WaitForPredicateController {
|
|
9
|
+
start: () => void;
|
|
10
|
+
stop: () => void;
|
|
11
|
+
evaluate: () => void;
|
|
12
|
+
isSatisfied: () => boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const createWaitForPredicateController: <TContent = unknown>({ waitFor, context, onChange, warn, }: WaitForPredicateControllerOptions<TContent>) => WaitForPredicateController;
|
|
15
|
+
//# sourceMappingURL=waitForPredicate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waitForPredicate.d.ts","sourceRoot":"","sources":["../../src/hooks/waitForPredicate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEpE,MAAM,WAAW,iCAAiC,CAAC,QAAQ,GAAG,OAAO;IACnE,OAAO,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC/B,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IACzC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;CACzC;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,MAAM,OAAO,CAAA;CAC3B;AAgBD,eAAO,MAAM,gCAAgC,GAAI,QAAQ,GAAG,OAAO,EAAE,uCAKlE,iCAAiC,CAAC,QAAQ,CAAC,KAAG,0BAgHhD,CAAA"}
|