torchlit 0.2.2 → 0.3.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.
Files changed (40) hide show
  1. package/README.md +19 -8
  2. package/dist/core/tour-service.d.ts +32 -0
  3. package/dist/core/tour-service.d.ts.map +1 -0
  4. package/dist/core/types.d.ts +32 -0
  5. package/dist/core/types.d.ts.map +1 -0
  6. package/dist/dom/deep-query.d.ts +2 -0
  7. package/dist/dom/deep-query.d.ts.map +1 -0
  8. package/dist/dom/positioning.d.ts +31 -0
  9. package/dist/dom/positioning.d.ts.map +1 -0
  10. package/dist/dom/scroll-manager.d.ts +4 -0
  11. package/dist/dom/scroll-manager.d.ts.map +1 -0
  12. package/dist/dom/target-resolver.d.ts +9 -0
  13. package/dist/dom/target-resolver.d.ts.map +1 -0
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/overlay/focus-manager.d.ts +8 -0
  19. package/dist/overlay/focus-manager.d.ts.map +1 -0
  20. package/dist/overlay/step-runner.d.ts +22 -0
  21. package/dist/overlay/step-runner.d.ts.map +1 -0
  22. package/dist/overlay/types.d.ts +8 -0
  23. package/dist/overlay/types.d.ts.map +1 -0
  24. package/dist/tour-overlay-CBkFKv12.js +1056 -0
  25. package/dist/tour-overlay-CBkFKv12.js.map +1 -0
  26. package/dist/tour-overlay.d.ts +11 -27
  27. package/dist/tour-overlay.d.ts.map +1 -1
  28. package/dist/tour-overlay.js +5 -948
  29. package/dist/tour-overlay.js.map +1 -1
  30. package/dist/tour-service.d.ts +2 -60
  31. package/dist/tour-service.d.ts.map +1 -1
  32. package/dist/tour-service.js +19 -48
  33. package/dist/tour-service.js.map +1 -1
  34. package/dist/types.d.ts +1 -105
  35. package/dist/types.d.ts.map +1 -1
  36. package/dist/utils/deep-query.d.ts +1 -20
  37. package/dist/utils/deep-query.d.ts.map +1 -1
  38. package/package.json +11 -3
  39. package/dist/deep-query-vkmcq1Dw.js +0 -16
  40. package/dist/deep-query-vkmcq1Dw.js.map +0 -1
package/README.md CHANGED
@@ -107,14 +107,14 @@ That's it. The spotlight finds elements even inside shadow roots.
107
107
  // Full library (service + overlay + types + deepQuery)
108
108
  import { createTourService, TorchlitOverlay, deepQuery } from 'torchlit';
109
109
 
110
- // Headless service only — zero Lit dependency
110
+ // Headless service only — no DOM access and no Lit types in its declarations
111
111
  import { createTourService } from 'torchlit/service';
112
112
 
113
113
  // Overlay component only
114
114
  import { TorchlitOverlay } from 'torchlit/overlay';
115
115
  ```
116
116
 
117
- The `torchlit/service` entry point has **zero dependencies** and can be used with any rendering layer.
117
+ The `torchlit/service` entry point is **DOM-free** and can be used with any rendering layer.
118
118
 
119
119
  ## Features
120
120
 
@@ -139,15 +139,26 @@ The `torchlit/service` entry point has **zero dependencies** and can be used wit
139
139
  torchlit/
140
140
  src/
141
141
  index.ts # Public API barrel export
142
- types.ts # All TypeScript interfaces
143
- tour-service.ts # Framework-agnostic state engine
144
- tour-overlay.ts # Lit web component (rendering)
145
- utils/
142
+ types.ts # Overlay-facing TypeScript interfaces
143
+ tour-service.ts # Stable headless service entrypoint
144
+ tour-overlay.ts # Lit overlay composition layer
145
+ core/
146
+ tour-service.ts # Pure state engine
147
+ types.ts # Service-facing core types
148
+ dom/
146
149
  deep-query.ts # Shadow DOM traversal utility
150
+ positioning.ts # Placement, tooltip, clamp, arrow helpers
151
+ scroll-manager.ts # Scroll-into-view and restore helpers
152
+ target-resolver.ts # Target lookup and lazy target waiting
153
+ overlay/
154
+ focus-manager.ts # Focus trap and restore helpers
155
+ step-runner.ts # Step preparation orchestration
147
156
  test/
148
- tour-service.test.ts # Service unit tests (Vitest)
149
- tour-overlay.test.ts # Overlay positioning & feature tests
157
+ tour-service.test.ts # Pure service unit tests (node env)
158
+ tour-overlay.test.ts # Overlay integration regressions
150
159
  deep-query.test.ts # Deep query unit tests
160
+ positioning.test.ts # Positioning unit tests
161
+ step-runner.test.ts # Step orchestration unit tests
151
162
  site/
152
163
  index.html # Docs site source (builds to docs/)
153
164
  examples/
@@ -0,0 +1,32 @@
1
+ import type { TourConfig, TourDefinition, TourListener, TourSnapshot } from './types.js';
2
+ export declare class TourService<TStep = unknown> {
3
+ private tours;
4
+ private persistedState;
5
+ private activeTourId;
6
+ private currentStepIndex;
7
+ private listeners;
8
+ private readonly storageKey;
9
+ private readonly storage;
10
+ readonly targetAttribute: string;
11
+ readonly spotlightPadding: number;
12
+ constructor(config?: TourConfig);
13
+ private loadState;
14
+ private saveState;
15
+ register(tours: TourDefinition<TStep>[]): void;
16
+ register(tour: TourDefinition<TStep>): void;
17
+ getTour(id: string): TourDefinition<TStep> | undefined;
18
+ getAvailableTours(): TourDefinition<TStep>[];
19
+ shouldAutoStart(tourId: string): boolean;
20
+ isActive(): boolean;
21
+ start(tourId: string): void;
22
+ nextStep(): void;
23
+ prevStep(): void;
24
+ skipTour(): void;
25
+ private completeTour;
26
+ getSnapshot(): TourSnapshot<TStep> | null;
27
+ subscribe(listener: TourListener<TStep>): () => void;
28
+ resetAll(): void;
29
+ private notify;
30
+ }
31
+ export declare function createTourService<TStep = unknown>(config?: TourConfig): TourService<TStep>;
32
+ //# sourceMappingURL=tour-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tour-service.d.ts","sourceRoot":"","sources":["../../src/core/tour-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EAGb,MAAM,YAAY,CAAC;AAsBpB,qBAAa,WAAW,CAAC,KAAK,GAAG,OAAO;IACtC,OAAO,CAAC,KAAK,CAAiD;IAC9D,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,SAAS,CAAuC;IAExD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAEtB,MAAM,GAAE,UAAe;IAQnC,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;IAQjB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI;IAC9C,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI;IAU3C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,SAAS;IAItD,iBAAiB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;IAI5C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAUxC,QAAQ,IAAI,OAAO;IAInB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS3B,QAAQ,IAAI,IAAI;IAqBhB,QAAQ,IAAI,IAAI;IAOhB,QAAQ,IAAI,IAAI;IAiBhB,OAAO,CAAC,YAAY;IAiBpB,WAAW,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI;IAkBzC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI;IAKpD,QAAQ,IAAI,IAAI;IAShB,OAAO,CAAC,MAAM;CAIf;AAED,wBAAgB,iBAAiB,CAAC,KAAK,GAAG,OAAO,EAC/C,MAAM,CAAC,EAAE,UAAU,GAClB,WAAW,CAAC,KAAK,CAAC,CAEpB"}
@@ -0,0 +1,32 @@
1
+ export interface TourState {
2
+ completed: string[];
3
+ dismissed: string[];
4
+ }
5
+ export interface StorageAdapter {
6
+ getItem(key: string): string | null;
7
+ setItem(key: string, value: string): void;
8
+ }
9
+ export interface TourConfig {
10
+ storageKey?: string;
11
+ storage?: StorageAdapter;
12
+ targetAttribute?: string;
13
+ spotlightPadding?: number;
14
+ }
15
+ export interface TourDefinition<TStep = unknown> {
16
+ id: string;
17
+ name: string;
18
+ trigger: 'first-visit' | 'manual';
19
+ steps: TStep[];
20
+ loop?: boolean;
21
+ onComplete?: () => void;
22
+ onSkip?: () => void;
23
+ }
24
+ export interface TourSnapshot<TStep = unknown> {
25
+ tourId: string;
26
+ tourName: string;
27
+ step: TStep;
28
+ stepIndex: number;
29
+ totalSteps: number;
30
+ }
31
+ export type TourListener<TStep = unknown> = (snapshot: TourSnapshot<TStep> | null) => void;
32
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc,CAAC,KAAK,GAAG,OAAO;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC;IAClC,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,YAAY,CAAC,KAAK,GAAG,OAAO;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,CAAC,KAAK,GAAG,OAAO,IAAI,CAC1C,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,KACjC,IAAI,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function deepQuery(selector: string, root?: Element | Document | ShadowRoot): Element | null;
2
+ //# sourceMappingURL=deep-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deep-query.d.ts","sourceRoot":"","sources":["../../src/dom/deep-query.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,OAAO,GAAG,QAAQ,GAAG,UAA0B,GACpD,OAAO,GAAG,IAAI,CAahB"}
@@ -0,0 +1,31 @@
1
+ import type { TourPlacement } from '../types.js';
2
+ export declare const TOOLTIP_W = 320;
3
+ export declare const TOOLTIP_H_MAX = 270;
4
+ export declare const GAP = 16;
5
+ export declare const VIEWPORT_MARGIN = 24;
6
+ export declare const TOOLTIP_VERTICAL_OFFSET = 80;
7
+ export declare function fitsInViewport(rect: DOMRect, viewportHeight?: number): boolean;
8
+ export declare function bestPlacement(rect: DOMRect, preferred: TourPlacement, spotlightPadding: number, viewport?: {
9
+ width: number;
10
+ height: number;
11
+ }): TourPlacement;
12
+ export declare function getTooltipPosition(rect: DOMRect, placement: TourPlacement, spotlightPadding: number, viewportHeight?: number): {
13
+ top: number;
14
+ left: number;
15
+ };
16
+ export declare function clampToViewport(pos: {
17
+ top: number;
18
+ left: number;
19
+ }, viewport?: {
20
+ width: number;
21
+ height: number;
22
+ }): {
23
+ top: number;
24
+ left: number;
25
+ };
26
+ export declare function getArrowClass(placement: TourPlacement): string;
27
+ export declare function getArrowOffset(targetRect: DOMRect, tooltipPos: {
28
+ top: number;
29
+ left: number;
30
+ }, placement: TourPlacement, viewportHeight?: number): string;
31
+ //# sourceMappingURL=positioning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positioning.d.ts","sourceRoot":"","sources":["../../src/dom/positioning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,SAAS,MAAM,CAAC;AAC7B,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,GAAG,KAAK,CAAC;AACtB,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,cAAc,SAAqB,GAClC,OAAO,CAET;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,aAAa,EACxB,gBAAgB,EAAE,MAAM,EACxB,QAAQ;;;CAA2D,GAClE,aAAa,CAoCf;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,aAAa,EACxB,gBAAgB,EAAE,MAAM,EACxB,cAAc,SAAqB,GAClC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA2B/B;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAClC,QAAQ;;;CAA2D,GAClE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAW/B;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAa9D;AAED,wBAAgB,cAAc,CAC5B,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACzC,SAAS,EAAE,aAAa,EACxB,cAAc,SAAqB,GAClC,MAAM,CAiBR"}
@@ -0,0 +1,4 @@
1
+ import type { TourPlacement } from '../types.js';
2
+ export declare function restoreScrollPosition(mode: 'restore' | 'top' | 'none', savedScrollY: number): void;
3
+ export declare function scrollAndSettle(element: Element, placement: TourPlacement, spotlightPadding: number): Promise<void>;
4
+ //# sourceMappingURL=scroll-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-manager.d.ts","sourceRoot":"","sources":["../../src/dom/scroll-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,EAChC,YAAY,EAAE,MAAM,GACnB,IAAI,CAMN;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,aAAa,EACxB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAiDf"}
@@ -0,0 +1,9 @@
1
+ import type { TourStep } from '../types.js';
2
+ export declare function resolveTargetSelector(targetId: string, targetAttribute?: string): string;
3
+ export declare function resolveTarget(targetId: string, targetAttribute?: string, root?: Element | Document): Element | null;
4
+ export declare function waitForTarget(targetId: string, targetAttribute?: string, timeout?: number): Promise<Element | null>;
5
+ export declare function resolveStepTarget(step: Pick<TourStep, 'target'>, targetAttribute?: string): {
6
+ targetElement: Element | null;
7
+ targetRect: DOMRect | null;
8
+ };
9
+ //# sourceMappingURL=target-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-resolver.d.ts","sourceRoot":"","sources":["../../src/dom/target-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,eAAe,SAAsB,GACpC,MAAM,CAER;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,eAAe,SAAsB,EACrC,IAAI,GAAE,OAAO,GAAG,QAAwB,GACvC,OAAO,GAAG,IAAI,CAGhB;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,eAAe,SAAsB,EACrC,OAAO,SAAkB,GACxB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CA2BzB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC9B,eAAe,SAAsB,GACpC;IAAE,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE,CAM/D"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export type { TourPlacement, TourStep, TourDefinition, TourState, TourSnapshot, TourConfig, StorageAdapter, TourListener, } from './types.js';
2
2
  export { TourService, createTourService } from './tour-service.js';
3
3
  export { TorchlitOverlay } from './tour-overlay.js';
4
- export { deepQuery } from './utils/deep-query.js';
4
+ export { deepQuery } from './dom/deep-query.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,SAAS,EACT,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAInE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,SAAS,EACT,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,7 @@
1
1
  import { TourService, createTourService } from "./tour-service.js";
2
- import { TorchlitOverlay } from "./tour-overlay.js";
3
- import { d } from "./deep-query-vkmcq1Dw.js";
2
+ import { T, d } from "./tour-overlay-CBkFKv12.js";
4
3
  export {
5
- TorchlitOverlay,
4
+ T as TorchlitOverlay,
6
5
  TourService,
7
6
  createTourService,
8
7
  d as deepQuery
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,8 @@
1
+ export declare class FocusManager {
2
+ private previouslyFocused;
3
+ capture(): void;
4
+ restore(): void;
5
+ focusDialog(root: ShadowRoot | null): void;
6
+ trapFocus(event: KeyboardEvent, root: ShadowRoot | null): void;
7
+ }
8
+ //# sourceMappingURL=focus-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus-manager.d.ts","sourceRoot":"","sources":["../../src/overlay/focus-manager.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,OAAO,CAAC,iBAAiB,CAA4B;IAErD,OAAO,IAAI,IAAI;IAMf,OAAO,IAAI,IAAI;IAKf,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAM1C,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;CA4B/D"}
@@ -0,0 +1,22 @@
1
+ import type { TourSnapshot as CoreTourSnapshot } from '../core/types.js';
2
+ import type { TourDefinition, TourStep } from '../types.js';
3
+ import type { ResolvedTourSnapshot } from './types.js';
4
+ export interface StepRunnerOptions {
5
+ getCurrentSnapshot: () => CoreTourSnapshot<TourStep> | null;
6
+ getTour: (tourId: string) => TourDefinition | undefined;
7
+ nextStep: () => void;
8
+ spotlightPadding: number;
9
+ targetAttribute: string;
10
+ dispatchRouteChange: (route: string) => void;
11
+ }
12
+ export declare class StepRunner {
13
+ private readonly options;
14
+ private autoAdvanceTimer;
15
+ constructor(options: StepRunnerOptions);
16
+ clearAutoAdvance(): void;
17
+ startAutoAdvance(ms: number): void;
18
+ prepareStep(snapshot: CoreTourSnapshot<TourStep>): Promise<ResolvedTourSnapshot | null>;
19
+ private resolveSnapshot;
20
+ private shouldScrollIntoView;
21
+ }
22
+ //# sourceMappingURL=step-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-runner.d.ts","sourceRoot":"","sources":["../../src/overlay/step-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIzE,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIvD,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,MAAM,gBAAgB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC5D,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC;IACxD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,qBAAa,UAAU;IAGT,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,gBAAgB,CAA8C;gBAEzC,OAAO,EAAE,iBAAiB;IAEvD,gBAAgB,IAAI,IAAI;IAOxB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ5B,WAAW,CACf,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GACnC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAsCvC,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,oBAAoB;CAkB7B"}
@@ -0,0 +1,8 @@
1
+ import type { TourSnapshot as CoreTourSnapshot } from '../core/types.js';
2
+ import type { TourDefinition, TourStep } from '../types.js';
3
+ export interface ResolvedTourSnapshot extends CoreTourSnapshot<TourStep> {
4
+ tour: TourDefinition;
5
+ targetElement: Element | null;
6
+ targetRect: DOMRect | null;
7
+ }
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/overlay/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB,CAAC,QAAQ,CAAC;IACtE,IAAI,EAAE,cAAc,CAAC;IACrB,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B"}