@robertlinde/react-tour-kit 1.1.0 → 1.1.2
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/CHANGELOG.md +12 -0
- package/README.md +15 -1
- package/dist/react-platform/dom/occluders.util.d.ts +3 -3
- package/dist/react-platform/dom/occluders.util.d.ts.map +1 -1
- package/dist/react-platform/dom/occluders.util.js +25 -4
- package/dist/react-platform/dom/occluders.util.js.map +1 -1
- package/dist/shared/engine/tour-engine.d.ts +5 -0
- package/dist/shared/engine/tour-engine.d.ts.map +1 -1
- package/dist/shared/engine/tour-engine.js +45 -0
- package/dist/shared/engine/tour-engine.js.map +1 -1
- package/dist/shared/renderer/tour-overlay.d.ts.map +1 -1
- package/dist/shared/renderer/tour-overlay.js +14 -5
- package/dist/shared/renderer/tour-overlay.js.map +1 -1
- package/package.json +16 -14
- package/src/react-platform/dom/occluders.util.ts +29 -4
- package/src/shared/engine/tour-engine.ts +56 -0
- package/src/shared/renderer/tour-overlay.tsx +18 -5
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Releases are published automatically from `main`; each GitHub release lists its commits. This file describes the larger changes.
|
|
4
4
|
|
|
5
|
+
## 1.1.2
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Tours inside the app's own dialogs (Radix and shadcn/ui, for example) skipped steps whose target lay where the page under the dialog has a sticky or fixed element — a sidebar under a full-screen dialog, for one: the target counted as covered and could "not be scrolled into view". Only what is inside the dialog a target is in can cover it now; the page underneath, merely painted over, is left out. Sticky headers inside the dialog are still avoided.
|
|
10
|
+
|
|
11
|
+
## 1.1.1
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- When a step's `onBeforeStep` navigated to another page or screen and then took a moment (loading data, for example), the previous step stayed on screen over the new page, its highlight around whatever was there now, until the spinner appeared. Once its target is gone, the previous step now goes at once; the screen stays dimmed and the spinner still appears only after a moment. On React Native, this applies to screens that are left (closed or popped): a screen opened on top keeps the previous one, and with it the target, in place.
|
|
16
|
+
|
|
5
17
|
## 1.1.0
|
|
6
18
|
|
|
7
19
|
### Added
|
package/README.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Guided tours for React and React Native that never leave the screen.
|
|
4
4
|
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://robertlinde.github.io/react-tour-kit/">
|
|
7
|
+
<picture>
|
|
8
|
+
<source media="(prefers-reduced-motion: reduce)" srcset="https://raw.githubusercontent.com/robertlinde/react-tour-kit/main/.github/assets/demo-poster.png" />
|
|
9
|
+
<img src="https://raw.githubusercontent.com/robertlinde/react-tour-kit/main/.github/assets/demo.gif" width="100%" alt="An onboarding tour in a web app: it welcomes the user, highlights the search field and the New project button at the screen's edge, scrolls down to the activity feed, shows a spinner while the Team page loads, highlights Invite teammates there, and ends back on the Help button." />
|
|
10
|
+
</picture>
|
|
11
|
+
</a>
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
<p align="center"><a href="https://robertlinde.github.io/react-tour-kit/"><strong>Try the live demo →</strong></a></p>
|
|
15
|
+
|
|
5
16
|
Highlight any element, explain it in a tooltip, and walk users through your app — across pages and screens, into scroll containers and modals. The tour takes care of everything around it: it waits for targets to appear, scrolls them into view (clear of sticky headers and floating buttons), keeps the tooltip on screen on every device, animates smoothly, and is accessible out of the box.
|
|
6
17
|
|
|
7
18
|
```tsx
|
|
@@ -575,7 +586,7 @@ The tour is rendered as a modal `<dialog>` in the browser's top layer, so it is
|
|
|
575
586
|
## What the tour does for you
|
|
576
587
|
|
|
577
588
|
- **Keeps everything in sight.** Before a step is shown, its target is scrolled into view — through every scroll container around it, including horizontal ones — with room for the tooltip. Elements that stay put while the page scrolls (sticky headers, cookie banners, floating buttons; any number, any shape) are detected and the target is scrolled clear of them, in both directions. Targets larger than the screen are aligned to their start. The tooltip is placed inside the visible screen minus safe areas and the on-screen keyboard, flips to another side when there is no room, and scrolls its own content if it is taller than the screen. When the window is resized or rotated, or your app or an animation moves the target, the tour follows.
|
|
578
|
-
- **Waits instead of guessing.** Targets that are not rendered yet (lazy pages, animations, data loading) are awaited, event-driven, for up to 5 seconds. When a step takes a moment to prepare (more than 300 ms), the tour shows that it is waiting: the highlight closes, the screen is dimmed and a spinner appears in the middle (announced to screen readers as `loadingAriaLabel`). Pressing the dimmed area meanwhile leaves the tour.
|
|
589
|
+
- **Waits instead of guessing.** Targets that are not rendered yet (lazy pages, animations, data loading) are awaited, event-driven, for up to 5 seconds. When a step takes a moment to prepare (more than 300 ms), the tour shows that it is waiting: the highlight closes, the screen is dimmed and a spinner appears in the middle (announced to screen readers as `loadingAriaLabel`). If the previous step's target goes away meanwhile (`onBeforeStep` navigated to another page, for example), that step does not stay over the new page: it goes at once. Pressing the dimmed area meanwhile leaves the tour.
|
|
579
590
|
- **Animates.** The tour fades in, the highlight glides from target to target together with the scroll, and the tooltip enters from the side it is on. On React Native every animation runs on the UI thread, so it stays smooth while JavaScript is busy. With reduced motion turned on in the system, movement is replaced by short fades.
|
|
580
591
|
- **Is accessible.** On the web the tour is a modal dialog (`aria-modal`, labelled by the step title, described by its content): focus moves into the tooltip and back to where it was when the tour ends, the rest of the page is inert, arrow keys work (but leave text fields, sliders, radio groups and other controls in a custom tooltip alone), <kbd>Esc</kbd> closes the tour, a long tooltip scrolls with the keyboard, and step changes are announced. Buttons have accessible names and large enough touch targets. In Windows high-contrast mode the highlight is drawn as an outline. On React Native, screen-reader focus moves to the tooltip, the app behind it is hidden from screen readers (in a `TourHost`, see [Modal screens](#modal-screens)), and the back button closes the tour.
|
|
581
592
|
- **Costs nothing while idle.** Right after a step appears, the tour checks its target every frame until it has stayed put for a second (three at most), because animations can move it without any event (a React Native screen sliding in, for example). After that, while nothing moves, the tour does no work at all: no timers, no measuring, no re-rendering. Scrolling and resizing are followed once per frame, without re-rendering your app. `useTour()` only re-renders components when the tour's state changes.
|
|
@@ -617,10 +628,13 @@ The demos use the library's source directly, so every change is live there:
|
|
|
617
628
|
|
|
618
629
|
```bash
|
|
619
630
|
npm run demo:web # web demo: http://localhost:5173 — includes a /lab page with edge cases
|
|
631
|
+
npm run demo:showcase # the showcase: the live demo on GitHub Pages, deployed from main
|
|
620
632
|
npm run demo:ios # React Native demo in Expo Go (run `npm install` in demos/react-native first)
|
|
621
633
|
npm run demo:android
|
|
622
634
|
```
|
|
623
635
|
|
|
636
|
+
The animated preview at the top of this README is recorded from the showcase: `npm run demo:record` writes `.github/assets/demo.gif` and its still poster (it needs ffmpeg and gifski: `brew install ffmpeg gifski`). Record it again when the showcase or the look of the tour changes.
|
|
637
|
+
|
|
624
638
|
All tests are in `test/` (see [ARCHITECTURE.md](./ARCHITECTURE.md#tests)). The React Native demo is tested with [Maestro](https://maestro.dev) flows: with the app open, run `maestro test test/maestro -e APP_ID=host.exp.Exponent`. To see the Android navigation bar setting in effect, build the app natively with `npx expo run:android`.
|
|
625
639
|
|
|
626
640
|
## License
|
|
@@ -3,9 +3,9 @@ import type { Box } from '../../shared/geometry/geometry.type.js';
|
|
|
3
3
|
export declare function clearOccluderCache(): void;
|
|
4
4
|
/**
|
|
5
5
|
* Rectangles (viewport coordinates) of elements that can cover the target. Excluded: elements
|
|
6
|
-
* containing the target (highlighting a link in a sticky navigation) or inside it,
|
|
7
|
-
*
|
|
8
|
-
* backgrounds), which cannot be scrolled away from.
|
|
6
|
+
* containing the target (highlighting a link in a sticky navigation) or inside it, elements outside
|
|
7
|
+
* the dialog the target is in (the page under it), empty or invisible ones, and ones covering more
|
|
8
|
+
* than half the screen (app shells, full-screen backgrounds), which cannot be scrolled away from.
|
|
9
9
|
*/
|
|
10
10
|
export declare function findOccluders(target: Element | undefined, layer: Element | undefined): Box[];
|
|
11
11
|
/** The occluders overlapping `box`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"occluders.util.d.ts","sourceRoot":"","sources":["../../../src/react-platform/dom/occluders.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,wCAAwC,CAAC;AAgBhE,sGAAsG;AACtG,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;
|
|
1
|
+
{"version":3,"file":"occluders.util.d.ts","sourceRoot":"","sources":["../../../src/react-platform/dom/occluders.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,wCAAwC,CAAC;AAgBhE,sGAAsG;AACtG,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AA0DD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,GAAG,EAAE,CAuB5F;AAED,uCAAuC;AACvC,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,CAExE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { intersect } from '../../shared/geometry/box.util.js';
|
|
2
|
-
import { checkVisibility, containsComposed, toBox } from './elements.util.js';
|
|
2
|
+
import { checkVisibility, containsComposed, parentOf, toBox } from './elements.util.js';
|
|
3
3
|
/**
|
|
4
4
|
* Elements that stay put while the page scrolls (`position: fixed` or `sticky`): navigation bars,
|
|
5
5
|
* headers, floating buttons, chat widgets, cookie banners, toasts. Anything scrolled underneath
|
|
@@ -38,6 +38,22 @@ function stayingPutElements(layer) {
|
|
|
38
38
|
cache = { at: now, elements: found };
|
|
39
39
|
return found;
|
|
40
40
|
}
|
|
41
|
+
/** The app's own dialogs: native `<dialog>` elements and the dialogs of modal libraries (Radix, Headless UI, …). */
|
|
42
|
+
const dialogSelector = 'dialog[open], [role="dialog"], [role="alertdialog"]';
|
|
43
|
+
/**
|
|
44
|
+
* The dialog the target is in, if any: the innermost one. A dialog is drawn above the page it opens
|
|
45
|
+
* over, so only what is inside it can cover the target. The page underneath stays laid out, its
|
|
46
|
+
* sticky sidebar included, merely painted over: counted, the sidebar would hide every target of the
|
|
47
|
+
* dialog that lies where the sidebar is.
|
|
48
|
+
*/
|
|
49
|
+
function dialogOf(target) {
|
|
50
|
+
for (let current = target; current; current = parentOf(current)) {
|
|
51
|
+
if (current.matches(dialogSelector)) {
|
|
52
|
+
return current;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
41
57
|
/** False for elements that are there but cannot be seen: closed menus faded out with `visibility` or `opacity`. */
|
|
42
58
|
function isSeen(element) {
|
|
43
59
|
const checked = checkVisibility(element, { visibilityProperty: true, opacityProperty: true });
|
|
@@ -49,17 +65,22 @@ function isSeen(element) {
|
|
|
49
65
|
}
|
|
50
66
|
/**
|
|
51
67
|
* Rectangles (viewport coordinates) of elements that can cover the target. Excluded: elements
|
|
52
|
-
* containing the target (highlighting a link in a sticky navigation) or inside it,
|
|
53
|
-
*
|
|
54
|
-
* backgrounds), which cannot be scrolled away from.
|
|
68
|
+
* containing the target (highlighting a link in a sticky navigation) or inside it, elements outside
|
|
69
|
+
* the dialog the target is in (the page under it), empty or invisible ones, and ones covering more
|
|
70
|
+
* than half the screen (app shells, full-screen backgrounds), which cannot be scrolled away from.
|
|
55
71
|
*/
|
|
56
72
|
export function findOccluders(target, layer) {
|
|
57
73
|
const screen = { width: document.documentElement.clientWidth, height: document.documentElement.clientHeight };
|
|
74
|
+
const dialog = target ? dialogOf(target) : undefined;
|
|
58
75
|
const occluders = [];
|
|
59
76
|
for (const element of stayingPutElements(layer)) {
|
|
60
77
|
if (!element.isConnected || (target && (containsComposed(element, target) || containsComposed(target, element)))) {
|
|
61
78
|
continue;
|
|
62
79
|
}
|
|
80
|
+
// The page under the dialog the target is in: painted over, it covers nothing in the dialog.
|
|
81
|
+
if (dialog && !containsComposed(dialog, element)) {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
63
84
|
const rect = toBox(element.getBoundingClientRect());
|
|
64
85
|
const isCovering = rect.width > 0 && rect.height > 0 && rect.width * rect.height <= (screen.width * screen.height) / 2;
|
|
65
86
|
if (isCovering && isSeen(element)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"occluders.util.js","sourceRoot":"","sources":["../../../src/react-platform/dom/occluders.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAE5D,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"occluders.util.js","sourceRoot":"","sources":["../../../src/react-platform/dom/occluders.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAE5D,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAEtF;;;;;;;;;GASG;AACH,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,IAAI,KAA+E,CAAC;AAEpF,sGAAsG;AACtG,MAAM,UAAU,kBAAkB;IAChC,KAAK,GAAG,SAAS,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA0B;IACpD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC9B,IAAI,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,IAAgB,EAAQ,EAAE;QACtC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;YAED,MAAM,EAAC,QAAQ,EAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC9G,KAAK,GAAG,EAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC;IACnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oHAAoH;AACpH,MAAM,cAAc,GAAG,qDAAqD,CAAC;AAE7E;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,MAAe;IAC/B,KAAK,IAAI,OAAO,GAAwB,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrF,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,mHAAmH;AACnH,SAAS,MAAM,CAAC,OAAgB;IAC9B,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,EAAC,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAC,CAAC,CAAC;IAC5F,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAA2B,EAAE,KAA0B;IACnF,MAAM,MAAM,GAAG,EAAC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAC,CAAC;IAC5G,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,MAAM,SAAS,GAAU,EAAE,CAAC;IAC5B,KAAK,MAAM,OAAO,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACjH,SAAS;QACX,CAAC;QAED,6FAA6F;QAC7F,IAAI,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACpD,MAAM,UAAU,GACd,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtG,IAAI,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,aAAa,CAAC,GAAQ,EAAE,SAAyB;IAC/D,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -67,6 +67,11 @@ export type TourViewState = {
|
|
|
67
67
|
readonly tourKey: number;
|
|
68
68
|
readonly steps: readonly TourStep[];
|
|
69
69
|
readonly shown: ShownStep | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* While the next step is prepared: the shown step's target has gone (the app moved on, for example
|
|
72
|
+
* `onBeforeStep` navigated), so the shown step must not stay on screen.
|
|
73
|
+
*/
|
|
74
|
+
readonly isShownTargetGone: boolean;
|
|
70
75
|
readonly measure: MeasureRequest | undefined;
|
|
71
76
|
};
|
|
72
77
|
export type TourPublicState = Pick<TourContextType, 'isActive' | 'currentStep' | 'steps' | 'currentTourId'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tour-engine.d.ts","sourceRoot":"","sources":["../../../src/shared/engine/tour-engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tour-engine.d.ts","sourceRoot":"","sources":["../../../src/shared/engine/tour-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,6 +105,7 @@ export function createTourEngine(initialOptions) {
|
|
|
105
105
|
currentStep: 0,
|
|
106
106
|
pendingStepIndex: undefined,
|
|
107
107
|
shown: undefined,
|
|
108
|
+
isShownTargetGone: false,
|
|
108
109
|
measure: undefined,
|
|
109
110
|
revealHighlight: undefined,
|
|
110
111
|
};
|
|
@@ -116,6 +117,7 @@ export function createTourEngine(initialOptions) {
|
|
|
116
117
|
tourKey: 0,
|
|
117
118
|
steps: emptySteps,
|
|
118
119
|
shown: undefined,
|
|
120
|
+
isShownTargetGone: false,
|
|
119
121
|
measure: undefined,
|
|
120
122
|
};
|
|
121
123
|
let sessionCounter = 0;
|
|
@@ -124,6 +126,8 @@ export function createTourEngine(initialOptions) {
|
|
|
124
126
|
let transition;
|
|
125
127
|
/** Observation of the step on screen. */
|
|
126
128
|
let stepScope;
|
|
129
|
+
/** While the next step is prepared: watching whether the step on screen's target goes away. */
|
|
130
|
+
let goneScope;
|
|
127
131
|
let shownDetails;
|
|
128
132
|
let measureSequence = 0;
|
|
129
133
|
/** A scroll that brings the shown target back into view is running. */
|
|
@@ -162,6 +166,7 @@ export function createTourEngine(initialOptions) {
|
|
|
162
166
|
tourKey: state.session?.key ?? previous.tourKey,
|
|
163
167
|
steps: state.session?.steps ?? emptySteps,
|
|
164
168
|
shown: state.shown,
|
|
169
|
+
isShownTargetGone: state.isShownTargetGone,
|
|
165
170
|
measure: state.measure,
|
|
166
171
|
};
|
|
167
172
|
const isUnchanged = next.phase === previous.phase &&
|
|
@@ -170,6 +175,7 @@ export function createTourEngine(initialOptions) {
|
|
|
170
175
|
next.tourKey === previous.tourKey &&
|
|
171
176
|
next.steps === previous.steps &&
|
|
172
177
|
next.shown === previous.shown &&
|
|
178
|
+
next.isShownTargetGone === previous.isShownTargetGone &&
|
|
173
179
|
next.measure === previous.measure;
|
|
174
180
|
return isUnchanged ? previous : next;
|
|
175
181
|
}
|
|
@@ -365,8 +371,38 @@ export function createTourEngine(initialOptions) {
|
|
|
365
371
|
keepInViewScope = undefined;
|
|
366
372
|
const controller = new AbortController();
|
|
367
373
|
transition = controller;
|
|
374
|
+
watchShownTarget().catch(reportError);
|
|
368
375
|
return controller;
|
|
369
376
|
}
|
|
377
|
+
/**
|
|
378
|
+
* While the next step is prepared, the step on screen stays (a quick step change shows nothing in
|
|
379
|
+
* between) and follows its target. Once that target is gone, though, the app has moved on (for
|
|
380
|
+
* example `onBeforeStep` navigated), and the step must not stay over what is there now.
|
|
381
|
+
*/
|
|
382
|
+
async function watchShownTarget() {
|
|
383
|
+
goneScope?.abort();
|
|
384
|
+
const { shown } = state;
|
|
385
|
+
const target = shown?.step.target;
|
|
386
|
+
if (!shown || target === undefined || state.isShownTargetGone) {
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
const scope = new AbortController();
|
|
390
|
+
goneScope = scope;
|
|
391
|
+
let last = shownDetails?.measurement;
|
|
392
|
+
while (!scope.signal.aborted) {
|
|
393
|
+
// eslint-disable-next-line no-await-in-loop -- one change at a time
|
|
394
|
+
const current = await options.adapter.waitForMove(target, last, scope.signal);
|
|
395
|
+
if (scope.signal.aborted || state.shown !== shown) {
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
398
|
+
if (!current) {
|
|
399
|
+
setState({ isShownTargetGone: true });
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
last = current;
|
|
403
|
+
void remeasure(scope.signal);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
370
406
|
/**
|
|
371
407
|
* Prepares the steps from `requested` on, in the direction of travel, until one can be shown.
|
|
372
408
|
* Steps whose target cannot be found or brought into view are skipped.
|
|
@@ -492,6 +528,8 @@ export function createTourEngine(initialOptions) {
|
|
|
492
528
|
if (transition === controller) {
|
|
493
529
|
transition = undefined;
|
|
494
530
|
}
|
|
531
|
+
goneScope?.abort();
|
|
532
|
+
goneScope = undefined;
|
|
495
533
|
shownDetails = { measurement, size };
|
|
496
534
|
lastTooltipSize = size;
|
|
497
535
|
const highlight = measurement ? highlightOf(measurement) : undefined;
|
|
@@ -500,6 +538,7 @@ export function createTourEngine(initialOptions) {
|
|
|
500
538
|
currentStep: index,
|
|
501
539
|
pendingStepIndex: undefined,
|
|
502
540
|
measure: undefined,
|
|
541
|
+
isShownTargetGone: false,
|
|
503
542
|
shown: {
|
|
504
543
|
transitionId: id,
|
|
505
544
|
stepIndex: index,
|
|
@@ -663,6 +702,8 @@ export function createTourEngine(initialOptions) {
|
|
|
663
702
|
transition = undefined;
|
|
664
703
|
stepScope?.abort();
|
|
665
704
|
stepScope = undefined;
|
|
705
|
+
goneScope?.abort();
|
|
706
|
+
goneScope = undefined;
|
|
666
707
|
shownDetails = undefined;
|
|
667
708
|
for (const resolve of sizeWaiters.values()) {
|
|
668
709
|
resolve(lastTooltipSize ?? fallbackTooltipSize);
|
|
@@ -676,6 +717,7 @@ export function createTourEngine(initialOptions) {
|
|
|
676
717
|
currentStep: 0,
|
|
677
718
|
pendingStepIndex: undefined,
|
|
678
719
|
shown: undefined,
|
|
720
|
+
isShownTargetGone: false,
|
|
679
721
|
measure: undefined,
|
|
680
722
|
});
|
|
681
723
|
safeInvoke(() => session.onTourEnd?.(session.tourId, info));
|
|
@@ -718,6 +760,7 @@ export function createTourEngine(initialOptions) {
|
|
|
718
760
|
currentStep: 0,
|
|
719
761
|
pendingStepIndex: 0,
|
|
720
762
|
shown: undefined,
|
|
763
|
+
isShownTargetGone: false,
|
|
721
764
|
measure: undefined,
|
|
722
765
|
});
|
|
723
766
|
void prepare(0, 1);
|
|
@@ -772,6 +815,8 @@ export function createTourEngine(initialOptions) {
|
|
|
772
815
|
transition = undefined;
|
|
773
816
|
stepScope?.abort();
|
|
774
817
|
stepScope = undefined;
|
|
818
|
+
goneScope?.abort();
|
|
819
|
+
goneScope = undefined;
|
|
775
820
|
}
|
|
776
821
|
function resume() {
|
|
777
822
|
lifecycle = 'live';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tour-engine.js","sourceRoot":"","sources":["../../../src/shared/engine/tour-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,OAAO,EACP,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,GACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,oBAAoB,EAAE,WAAW,EAAqB,MAAM,4CAA4C,CAAC;AAEjH,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,mBAAmB,EAAwB,MAAM,uCAAuC,CAAC;AAIjG,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAGlE,yDAAyD;AACzD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,4FAA4F;IAC5F,GAAG,EAAE,EAAE;IACP,qEAAqE;IACrE,gBAAgB,EAAE,CAAC;IACnB,0EAA0E;IAC1E,eAAe,EAAE,EAAE;IACnB,mEAAmE;IACnE,YAAY,EAAE,EAAE;CACR,CAAC;AAEX,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AACpC,yGAAyG;AACzG,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,mDAAmD;AACnD,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AACtC,mCAAmC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AACpC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAC1C,4FAA4F;AAC5F,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,2GAA2G;AAC3G,MAAM,mBAAmB,GAAS,EAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAC,CAAC;AA+F5D,MAAM,UAAU,GAAwB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE1D,MAAM,SAAS,GAAkC;IAC/C,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;IACxC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;CAC1C,CAAC;AAEF,6FAA6F;AAC7F,SAAS,YAAY,CAAC,QAAkB;IACtC,OAAO,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,wEAAwE;AACxE;;;GAGG;AACH,SAAS,WAAW,CAAC,WAA8B;IACjD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AAC1G,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,WAA8B,EAAE,MAAW;IAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/E,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC;IAC9C,IAAI,UAAU,KAAK,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AACpH,CAAC;AAED,SAAS,YAAY,CAAC,CAAgB,EAAE,CAAgB;IACtD,OAAO,CACL,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;QAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;QAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;QAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI;QAClC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI;QACpC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI;QACxC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI;QAC1C,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;YAC9B,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAClH,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,cAAiC;IAChE,IAAI,OAAO,GAAG,cAAc,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IAExC,IAAI,KAAK,GAAU;QACjB,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,CAAC;QACd,gBAAgB,EAAE,SAAS;QAC3B,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,SAAS;QAClB,eAAe,EAAE,SAAS;KAC3B,CAAC;IACF,IAAI,WAAW,GAAoB,EAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAC,CAAC;IAClH,IAAI,SAAS,GAAkB;QAC7B,KAAK,EAAE,MAAM;QACb,eAAe,EAAE,SAAS;QAC1B,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,sBAAsB;QAC5D,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,SAAS;KACnB,CAAC;IAEF,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,uCAAuC;IACvC,IAAI,UAAuC,CAAC;IAC5C,yCAAyC;IACzC,IAAI,SAAsC,CAAC;IAC3C,IAAI,YAAsC,CAAC;IAC3C,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,uEAAuE;IACvE,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,8FAA8F;IAC9F,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,kFAAkF;IAClF,IAAI,eAA4C,CAAC;IACjD,IAAI,eAAiC,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAgB,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC5D,IAAI,SAAS,GAAwC,MAAM,CAAC;IAE5D,8FAA8F;IAC9F,QAAQ;IACR,8FAA8F;IAE9F,yFAAyF;IACzF,SAAS,iBAAiB,CAAC,QAAyB;QAClD,MAAM,IAAI,GAAoB;YAC5B,QAAQ,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,UAAU;YAC1C,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM;SACrC,CAAC;QACF,MAAM,WAAW,GACf,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;YACnC,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;YACzC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;YAC7B,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa,CAAC;QAChD,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,qFAAqF;IACrF,SAAS,eAAe,CAAC,QAAuB;QAC9C,MAAM,IAAI,GAAkB;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,eAAe,EAAE,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YAChF,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,sBAAsB;YACrD,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,QAAQ,CAAC,OAAO;YAC/C,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,UAAU;YACzC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;QACF,MAAM,WAAW,GACf,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;YAC7B,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe;YACjD,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa;YAC7C,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;YACjC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;YAC7B,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;YAC7B,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC;QACpC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,SAAS,QAAQ,CAAC,KAAqB;QACrC,KAAK,GAAG,EAAC,GAAG,KAAK,EAAE,GAAG,KAAK,EAAC,CAAC;QAC7B,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,UAAU,KAAK,WAAW,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,WAAW,GAAG,UAAU,CAAC;QACzB,SAAS,GAAG,QAAQ,CAAC;QACrB,yEAAyE;QACzE,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,SAAS;IACT,8FAA8F;IAE9F,SAAS,aAAa,CACpB,IAAc,EACd,SAA0B,EAC1B,IAAU,EACV,QAAmC;QAEnC,OAAO,oBAAoB,CAAC;YAC1B,GAAG,UAAU;YACb,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YAClD,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,QAAQ;YACrC,iBAAiB,EAAE,QAAQ,EAAE,SAAS;YACtC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,SAAS,WAAW,CAAC,WAA0C,EAAE,IAAU;QACzE,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,YAAY,GAAG,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;QACnC,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACjF,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,EAAC,KAAK,EAAE,EAAC,GAAG,KAAK,EAAE,SAAS,EAAE,MAAM,EAAC,EAAC,CAAC,CAAC;IACnD,CAAC;IAED,8FAA8F;IAC9F,iBAAiB;IACjB,8FAA8F;IAE9F,KAAK,UAAU,kBAAkB,CAAC,EAAU,EAAE,MAAmB;QAC/D,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;YAC/C,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC7B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvB,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,KAAa,EAAE,IAAc,EAAE,MAAmB;QAC9E,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC;QACvB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAC/F,QAAQ,CAAC,EAAC,OAAO,EAAE,EAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAC,EAAC,CAAC,CAAC;QAChG,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,WAAW,CAAC,EAC1D,MAAM,EACN,gBAAgB,CACjB,CAAC;QACF,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,eAAe,IAAI,mBAAmB,EAAC,CAAC;IACpE,CAAC;IAUD,qGAAqG;IACrG,KAAK,UAAU,WAAW,CACxB,MAAkB,EAClB,IAAmC,EACnC,MAAmB,EACnB,EAAU;QAEV,OAAO,WAAW,CAChB,KAAK,EAAE,WAAW,EAAE,EAAE;YACpB,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YACxE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QAChD,CAAC,EACD,MAAM,EACN,EAAE,CACH,CAAC;IACJ,CAAC;IAED,mGAAmG;IACnG,KAAK,UAAU,MAAM,CAAC,KAAkB;QACtC,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,KAAK,CAAC;QAC/B,yGAAyG;QACzG,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,aAAa,GAAG,GAAS,EAAE;YAC/B,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAChD,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,cAAc,GAAG,GAAS,EAAE;YAChC,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnC,UAAU,GAAG,IAAI,CAAC;gBAClB,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,OAAO,GAAG,MAAM,uBAAuB,CAAC,EAAC,GAAG,KAAK,EAAE,cAAc,EAAC,CAAC,CAAC;YACxE,+FAA+F;YAC/F,kCAAkC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;YAC9C,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAC9D,6FAA6F;gBAC7F,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,MAAM,EACN,OAAO,CAAC,WAAW,EACnB,MAAM,EACN,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CACnD,CAAC;gBACF,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAChC,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,yDAAyD;gBACzD,OAAO,GAAG,MAAM,uBAAuB,CAAC,EAAC,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,cAAc,EAAC,CAAC,CAAC;YAC5F,CAAC;YAED,OAAO,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACnD,aAAa,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,KAAK,UAAU,YAAY,CAAC,MAAkB,EAAE,MAAmB;QACjE,MAAM,EAAC,OAAO,EAAC,GAAG,OAAO,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,yEAAyE;YACzE,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,yDAAyD;YACzD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3E,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,IAAI,OAAO,EAAE,CAAC;gBAC9D,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;oBAClD,QAAQ,CAAC,EAAC,eAAe,EAAE,SAAS,EAAC,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IASD,qEAAqE;IACrE,KAAK,UAAU,uBAAuB,CAAC,EACrC,IAAI,EACJ,MAAM,EACN,WAAW,EACX,IAAI,EACJ,MAAM,EACN,cAAc,GACsC;QACpD,MAAM,EAAC,OAAO,EAAC,GAAG,OAAO,CAAC;QAC1B,MAAM,OAAO,GAAG,kBAAkB,CAAC;YACjC,GAAG,UAAU;YACb,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC;YAChC,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC/C,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC;SAC7C,CAAC,CAAC;QACH,gFAAgF;QAChF,MAAM,MAAM,GAAG,EAAC,WAAW,EAAC,CAAC;QAC7B,KAAK,MAAM,QAAQ,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;YACtD,gGAAgG;YAChG,MAAM,WAAW,CACf,KAAK,EAAE,WAAW,EAAE,EAAE;gBACpB,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC3B,OAAO;oBACP,QAAQ;oBACR,MAAM,EAAE,WAAW;oBACnB,aAAa,CAAC,WAAW;wBACvB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACnB,OAAO;wBACT,CAAC;wBAED,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;4BACnC,QAAQ,CAAC,EAAC,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC;4BACjF,cAAc,EAAE,CAAC;wBACnB,CAAC;6BAAM,CAAC;4BACN,uFAAuF;4BACvF,mCAAmC;4BACnC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;4BACzD,QAAQ,CAAC,EAAC,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,EAAC,CAAC,CAAC;wBAClG,CAAC;oBACH,CAAC;iBACF,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC,EACD,MAAM,EACN,eAAe,CAChB,CAAC;YACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,yDAAyD;YACzD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC;YAC7B,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpF,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,EAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;YACjD,CAAC;YAED,6FAA6F;YAC7F,uFAAuF;YACvF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,EAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,KAAK,SAAS,EAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IASD,SAAS,eAAe;QACtB,UAAU,EAAE,KAAK,EAAE,CAAC;QACpB,wFAAwF;QACxF,oEAAoE;QACpE,eAAe,EAAE,KAAK,EAAE,CAAC;QACzB,eAAe,GAAG,SAAS,CAAC;QAC5B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,UAAU,GAAG,UAAU,CAAC;QACxB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,OAAO,CACpB,SAAiB,EACjB,gBAAwB,EACxB,iBAAiC,EAAE;QAEnC,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC;QACrC,IAAI,KAAK,GAAG,SAAS,CAAC;QACtB,IAAI,SAAS,GAAG,gBAAgB,CAAC;QACjC,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC/C,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACjF,yEAAyE;oBACzE,gBAAgB,GAAG,IAAI,CAAC;oBACxB,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC;oBAC9B,SAAS,GAAG,CAAC,CAAC;oBACd,SAAS;gBACX,CAAC;gBAED,MAAM,CAAC,gBAAgB,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC;gBAC1G,OAAO;YACT,CAAC;YAED,iFAAiF;YACjF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,CAAC,iBAAiB,KAAK,KAAK,CAAC,CAAC;YAChG,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,KAAK,IAAI,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,UAAU,cAAc,CAC3B,IAAc,EACd,YAAmD,EACnD,MAAmB;QAEnB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,GAAS,EAAE;YAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC7C,IAAI,KAAgD,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,EAAE;YAC9C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,KAAK,IAAmB,EAAE;gBAC1C,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;gBACxD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,6FAA6F;IAC7F,KAAK,UAAU,WAAW,CACxB,UAA2B,EAC3B,KAAa,EACb,aAAsB;QAEtB,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,QAAQ,CAAC,EAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAC,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,IAAI,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACxE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,CAAC,OAAO,EAAE;wBACd,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,IAAI,KAAK,CACd,wBAAwB,KAAK,GAAG,CAAC,0BAA0B,mBAAmB,GAAG,IAAI,WAAW,CACjG;qBACF,CAAC,CAAC;oBACH,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,MAAM,EAAC,OAAO,EAAC,GAAG,OAAO,CAAC;YAC1B,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC;YACtB,IAAI,WAA0C,CAAC;YAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,WAAW,GAAG,MAAM,WAAW,CAC7B,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,EACjE,MAAM,EACN,eAAe,CAChB,CAAC;gBACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO,CAAC,iBAAiB,KAAK,GAAG,CAAC,qCAAqC,eAAe,GAAG,IAAI,WAAW,CAAC,CAAC;oBAC1G,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,MAAM,EAAC,EAAE,EAAE,IAAI,EAAC,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,EAAE,CAAC;gBACxC,WAAW,GAAG,MAAM,MAAM,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;gBACtE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO,CAAC,iBAAiB,KAAK,GAAG,CAAC,+CAA+C,CAAC,CAAC;oBACnF,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,EAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAC,CAAC,CAAC;YACvD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,OAAO,EAAE,EAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAC7C,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAWD,SAAS,IAAI,CAAC,EAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAY;QACvE,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC9B,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;QAED,YAAY,GAAG,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;QACnC,eAAe,GAAG,IAAI,CAAC;QACvB,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,QAAQ,CAAC;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,KAAK;YAClB,gBAAgB,EAAE,SAAS;YAC3B,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE;gBACL,YAAY,EAAE,EAAE;gBAChB,SAAS,EAAE,KAAK;gBAChB,IAAI;gBACJ,SAAS;gBACT,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC;aACxD;SACF,CAAC,CAAC;QACH,YAAY,EAAE,CAAC;IACjB,CAAC;IAED,SAAS,YAAY;QACnB,SAAS,EAAE,KAAK,EAAE,CAAC;QACnB,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,SAAS,GAAG,KAAK,CAAC;QAClB,MAAM,EAAC,MAAM,EAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QAC5B,OAAO,CAAC,OAAO,CAAC,OAAO,CACrB,MAAM,EACN,GAAG,EAAE;YACH,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,EACD,KAAK,CAAC,MAAM,CACb,CAAC;QACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,2FAA2F;IAC3F,KAAK,UAAU,iBAAiB,CAC9B,MAAkB,EAClB,IAAmC,EACnC,MAAmB;QAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC;QAC9C,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAChD,kEAAkE;YAClE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACzG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACf,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,yGAAyG;IACzG,KAAK,UAAU,SAAS,CAAC,MAAmB,EAAE,EAAC,aAAa,GAAG,IAAI,KAA+B,EAAE;QAClG,MAAM,QAAQ,GAAG,EAAE,eAAe,CAAC;QACnC,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC;QACtB,8FAA8F;QAC9F,6FAA6F;QAC7F,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;QAC5C,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,MAAM,EAAC,MAAM,EAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QAC5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,sEAAsE;QACtE,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,CAAC;QAChC,IAAI,MAAM,CAAC,OAAO,IAAI,QAAQ,KAAK,eAAe,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACrF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,mGAAmG;gBACnG,KAAK,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,EAAC,iBAAiB,EAAE,KAAK,CAAC,SAAS,EAAC,CAAC,CAAC;YACzE,CAAC;YAED,OAAO;QACT,CAAC;QAED,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,aAAa,EAAE,CAAC;YAC/C,KAAK,UAAU,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAUD;;;;OAIG;IACH,KAAK,UAAU,UAAU,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAkB;QAClF,IAAI,eAAe,EAAE,CAAC;YACpB,iBAAiB,GAAG,IAAI,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,EAAC,OAAO,EAAC,GAAG,OAAO,CAAC;QAC1B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACzD,mGAAmG;QACnG,0FAA0F;QAC1F,kGAAkG;QAClG,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;QAChG,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,eAAe,GAAG,IAAI,CAAC;QACvB,iBAAiB,GAAG,KAAK,CAAC;QAC1B,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,eAAe,GAAG,KAAK,CAAC;QACxB,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,kBAAkB,CAAC;gBACjC,GAAG,UAAU;gBACb,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC;gBAChC,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC;aAC7C,CAAC,CAAC;YACH,MAAM,WAAW,CACf,KAAK,EAAE,WAAW,EAAE,EAAE;gBACpB,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC3B,OAAO;oBACP,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,WAAW;oBACnB,aAAa;wBACX,WAAW,GAAG,IAAI,CAAC;oBACrB,CAAC;iBACF,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC,EACD,KAAK,CAAC,MAAM,EACZ,eAAe,CAChB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1C,eAAe,GAAG,KAAK,CAAC;YACxB,IAAI,eAAe,KAAK,KAAK,EAAE,CAAC;gBAC9B,eAAe,GAAG,SAAS,CAAC;YAC9B,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1B,IAAI,iBAAiB,EAAE,CAAC;oBACtB,2EAA2E;oBAC3E,iBAAiB,GAAG,KAAK,CAAC;oBAC1B,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;qBAAM,IAAI,WAAW,EAAE,CAAC;oBACvB,uFAAuF;oBACvF,mEAAmE;oBACnE,KAAK,SAAS,CAAC,MAAM,EAAE,EAAC,aAAa,EAAE,KAAK,EAAC,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,MAAM,CAAC,MAAqB,EAAE,QAA+C,EAAE;QACtF,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,WAAW,CAAC;QAC3G,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAgB;YACxB,MAAM;YACN,SAAS;YACT,IAAI;YACJ,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;YAChC,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QACF,UAAU,EAAE,KAAK,EAAE,CAAC;QACpB,UAAU,GAAG,SAAS,CAAC;QACvB,SAAS,EAAE,KAAK,EAAE,CAAC;QACnB,SAAS,GAAG,SAAS,CAAC;QACtB,YAAY,GAAG,SAAS,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,OAAO,CAAC,eAAe,IAAI,mBAAmB,CAAC,CAAC;QAClD,CAAC;QAED,WAAW,CAAC,KAAK,EAAE,CAAC;QACpB,aAAa,CAAC,KAAK,EAAE,CAAC;QACtB,6FAA6F;QAC7F,QAAQ,CAAC;YACP,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,CAAC;YACd,gBAAgB,EAAE,SAAS;YAC3B,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QACH,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5D,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,8FAA8F;IAC9F,UAAU;IACV,8FAA8F;IAE9F,MAAM,OAAO,GAAgB;QAC3B,SAAS,CAAC,KAA0B,EAAE,MAAe,EAAE,YAA+B;YACpF,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,sDAAsD,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7F,OAAO;YACT,CAAC;YAED,qFAAqF;YACrF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,GAAG,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnB,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,iFAAiF,CAAC,CAAC;YAC7F,CAAC;YAED,MAAM,OAAO,GAAY;gBACvB,GAAG,EAAE,EAAE,cAAc;gBACrB,MAAM;gBACN,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;gBACjB,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,YAAY,EAAE,SAAS;aACnC,CAAC;YACF,eAAe,GAAG,SAAS,CAAC;YAC5B,QAAQ,CAAC;gBACP,OAAO;gBACP,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,CAAC;gBACd,gBAAgB,EAAE,CAAC;gBACnB,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,OAAO;YACL,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnB,CAAC;QAED,QAAQ;YACN,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,CAAC,WAAW,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,KAAK,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAC,CAAC,CAAC;QACtE,CAAC;QAED,QAAQ;YACN,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;gBAC3E,OAAO;YACT,CAAC;YAED,KAAK,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAC,CAAC,CAAC;QACvE,CAAC;QAED,QAAQ,CAAC,KAAa;YACpB,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvF,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC/F,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK,CAAC,WAAW,CAAC;YACzD,KAAK,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAC,CAAC,CAAC;QACxF,CAAC;KACF,CAAC;IAEF,8FAA8F;IAC9F,YAAY;IACZ,8FAA8F;IAE9F,SAAS,OAAO;QACd,SAAS,GAAG,WAAW,CAAC;QACxB,UAAU,EAAE,KAAK,EAAE,CAAC;QACpB,UAAU,GAAG,SAAS,CAAC;QACvB,SAAS,EAAE,KAAK,EAAE,CAAC;QACnB,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,SAAS,MAAM;QACb,SAAS,GAAG,MAAM,CAAC;QACnB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAC9B,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAClC,KAAK,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS,CAAC,QAAQ;YAChB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC,CAAC;QACJ,CAAC;QACD,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;QACjC,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS;QAC7B,OAAO;QACP,SAAS,CAAC,IAAI;YACZ,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,KAAK;YACH,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;gBAC/B,SAAS,GAAG,MAAM,CAAC;YACrB,CAAC;iBAAM,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;gBACrC,MAAM,EAAE,CAAC;YACX,CAAC;YAED,OAAO,GAAG,EAAE;gBACV,SAAS,GAAG,YAAY,CAAC;gBACzB,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC/B,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;wBAC/B,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;QACJ,CAAC;QACD,iBAAiB,CAAC,EAAE,EAAE,OAAO;YAC3B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC7B,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC5B,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC5B,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,EAAE,YAAY,KAAK,EAAE,IAAI,YAAY,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC7F,eAAe,GAAG,IAAI,CAAC;gBACvB,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,OAAO,CAAC,MAAM;YACZ,MAAM,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"tour-engine.js","sourceRoot":"","sources":["../../../src/shared/engine/tour-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tour-overlay.d.ts","sourceRoot":"","sources":["../../../src/shared/renderer/tour-overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,KAAK,UAAU,EAGhB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAiB,KAAK,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAkC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEtF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAClD,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC,CAAC;AAMF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAqB9D;
|
|
1
|
+
{"version":3,"file":"tour-overlay.d.ts","sourceRoot":"","sources":["../../../src/shared/renderer/tour-overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,KAAK,UAAU,EAGhB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAiB,KAAK,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAkC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEtF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAClD,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC,CAAC;AAMF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAqB9D;AA+ZD,+FAA+F;AAC/F,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAc9C"}
|
|
@@ -44,9 +44,7 @@ function OverlayContent({ engine, renderer, theme, i18n, Tooltip, isOverlayDismi
|
|
|
44
44
|
const totalSteps = view.steps.length;
|
|
45
45
|
// The first step can take a while (navigation in onBeforeStep): dim the screen after a moment.
|
|
46
46
|
const isWaitingDimmed = useDelayedFlag(!shown && !isClosing, motion.waitingDelayMs);
|
|
47
|
-
|
|
48
|
-
const isPreparing = phase === 'preparing' && !isClosing;
|
|
49
|
-
const isWaiting = useDelayedFlag(isPreparing, motion.waitingDelayMs);
|
|
47
|
+
const { isPreparing, isWaiting, isShownGone } = usePreparation(view, isClosing);
|
|
50
48
|
// Once on screen, the overlay stays until the tour ends (also when another tour takes over).
|
|
51
49
|
const [hasBeenVisible, setHasBeenVisible] = useState(false);
|
|
52
50
|
const isShowingSomething = shown !== undefined || isWaitingDimmed;
|
|
@@ -59,7 +57,7 @@ function OverlayContent({ engine, renderer, theme, i18n, Tooltip, isOverlayDismi
|
|
|
59
57
|
useEffect(() => {
|
|
60
58
|
visibleSince.current = isVisible ? Date.now() : undefined;
|
|
61
59
|
}, [isVisible]);
|
|
62
|
-
const spotlight = useSpotlight(view, isVisible, isReducedMotion, isWaiting);
|
|
60
|
+
const spotlight = useSpotlight(view, isVisible, isReducedMotion, isWaiting || isShownGone);
|
|
63
61
|
const announcement = useAnnouncement(view, i18n, isClosing, isWaiting);
|
|
64
62
|
// Fade out, then unmount.
|
|
65
63
|
useEffect(() => {
|
|
@@ -110,7 +108,7 @@ function OverlayContent({ engine, renderer, theme, i18n, Tooltip, isOverlayDismi
|
|
|
110
108
|
}
|
|
111
109
|
};
|
|
112
110
|
const context = useMemo(() => ({ renderer, theme, i18n }), [renderer, theme, i18n]);
|
|
113
|
-
return (_jsx(RendererContext.Provider, { value: context, children: _jsxs(Layer, { state: isClosing ? 'closing' : phase, isVisible: isVisible, fadeMs: fadeDuration(isClosing, isReducedMotion), isInteractive: !isClosing, theme: theme, titleId: shown ? titleId : undefined, descriptionId: shown ? descriptionId : undefined, fallbackLabel: fallbackLabelOf(shown, totalSteps, i18n), announcement: announcement, stepKey: shown?.transitionId, onIntent: onIntent, children: [_jsx(Backdrop, { isDismissible: isOverlayDismissible, onPress: onBackdropPress }), _jsx(Spotlight, { hole: spotlight.hole, transition: spotlight.transition, theme: theme }), shown ? (_jsx(ShownTooltip, { engine: engine, renderer: renderer, Tooltip: Tooltip, shown: shown, totalSteps: totalSteps, isBusy: isPreparing, isHidden: phase === 'revealing' || isWaiting, isDelayed: spotlight.isMorphing, isReducedMotion: isReducedMotion, titleId: titleId, descriptionId: descriptionId, onIntent: onIntent }, shown.transitionId)) : null, isWaiting ? _jsx(Waiting, { label: i18n.loadingAriaLabel, theme: theme }) : null, measure && !isClosing ? (_jsx(MeasuredTooltip, { engine: engine, renderer: renderer, Tooltip: Tooltip, request: measure, totalSteps: totalSteps }, measure.id)) : null] }) }));
|
|
111
|
+
return (_jsx(RendererContext.Provider, { value: context, children: _jsxs(Layer, { state: isClosing ? 'closing' : phase, isVisible: isVisible, fadeMs: fadeDuration(isClosing, isReducedMotion), isInteractive: !isClosing, theme: theme, titleId: shown ? titleId : undefined, descriptionId: shown ? descriptionId : undefined, fallbackLabel: fallbackLabelOf(shown, totalSteps, i18n), announcement: announcement, stepKey: shown?.transitionId, onIntent: onIntent, children: [_jsx(Backdrop, { isDismissible: isOverlayDismissible, onPress: onBackdropPress }), _jsx(Spotlight, { hole: spotlight.hole, transition: spotlight.transition, theme: theme }), shown ? (_jsx(ShownTooltip, { engine: engine, renderer: renderer, Tooltip: Tooltip, shown: shown, totalSteps: totalSteps, isBusy: isPreparing, isHidden: phase === 'revealing' || isWaiting || isShownGone, isDelayed: spotlight.isMorphing, isReducedMotion: isReducedMotion, titleId: titleId, descriptionId: descriptionId, onIntent: onIntent }, shown.transitionId)) : null, isWaiting ? _jsx(Waiting, { label: i18n.loadingAriaLabel, theme: theme }) : null, measure && !isClosing ? (_jsx(MeasuredTooltip, { engine: engine, renderer: renderer, Tooltip: Tooltip, request: measure, totalSteps: totalSteps }, measure.id)) : null] }) }));
|
|
114
112
|
}
|
|
115
113
|
/** The step on screen: its tooltip in the platform's frame. Mounted once per shown step. */
|
|
116
114
|
function ShownTooltip({ engine, renderer, Tooltip, shown, totalSteps, isBusy, isHidden, isDelayed, isReducedMotion, titleId, descriptionId, onIntent, }) {
|
|
@@ -135,6 +133,17 @@ function MeasuredTooltip({ engine, renderer, Tooltip, request, totalSteps }) {
|
|
|
135
133
|
}, [engine, request.id]);
|
|
136
134
|
return (_jsx(MeasureFrame, { maxWidth: request.maxWidth, maxHeight: request.maxHeight, onSize: onSize, children: _jsx(TooltipLimitsContext.Provider, { value: request, children: _jsx(Tooltip, { step: request.step, currentStep: request.stepIndex, totalSteps: totalSteps, placement: request.step.target === undefined ? 'center' : (request.step.placement ?? 'bottom'), arrowOffset: undefined, titleId: `${id}title`, descriptionId: `${id}description`, onNext: noop, onPrev: noop, onClose: noop, onGoToStep: noop }) }) }));
|
|
137
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* While the next step is prepared. Preparing it takes a while (`isWaiting`): the highlight closes and
|
|
138
|
+
* a spinner shows that the tour is waiting. The app moved on before the next step is ready (the step
|
|
139
|
+
* on screen's target is gone, `isShownGone`): the step goes at once rather than stay over what is
|
|
140
|
+
* there now, and the spinner still waits for its delay.
|
|
141
|
+
*/
|
|
142
|
+
function usePreparation(view, isClosing) {
|
|
143
|
+
const isPreparing = view.phase === 'preparing' && !isClosing;
|
|
144
|
+
const isWaiting = useDelayedFlag(isPreparing, motion.waitingDelayMs);
|
|
145
|
+
return { isPreparing, isWaiting, isShownGone: isPreparing && view.isShownTargetGone };
|
|
146
|
+
}
|
|
138
147
|
/** True once `isWaiting` has been true for `delayMs`, as long as it stays true. */
|
|
139
148
|
function useDelayedFlag(isWaiting, delayMs) {
|
|
140
149
|
const [isDue, setIsDue] = useState(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tour-overlay.js","sourceRoot":"","sources":["../../../src/shared/renderer/tour-overlay.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tour-overlay.js","sourceRoot":"","sources":["../../../src/shared/renderer/tour-overlay.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@robertlinde/react-tour-kit",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Guided product tours for React and React Native. Smooth, accessible, and guaranteed to stay on screen: the target is scrolled into view and the tooltip never renders out of sight.",
|
|
6
6
|
"author": "Robert Linde",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
51
51
|
"build": "npm run clean && tsc -p tsconfig.build.json",
|
|
52
52
|
"dev": "tsc -p tsconfig.build.json --watch",
|
|
53
|
-
"typecheck": "tsc -p tsconfig.json && tsc -p tsconfig.tooling.json",
|
|
53
|
+
"typecheck": "tsc -p tsconfig.json && tsc -p tsconfig.tooling.json && tsc -p scripts",
|
|
54
54
|
"lint": "xo --ignore \"demos/**\"",
|
|
55
55
|
"lint:fix": "xo --fix --ignore \"demos/**\"",
|
|
56
56
|
"format": "prettier --write .",
|
|
@@ -64,6 +64,8 @@
|
|
|
64
64
|
"check:package": "publint --strict && attw --pack . --profile esm-only",
|
|
65
65
|
"smoke:node": "node test/smoke-node.mjs",
|
|
66
66
|
"demo:web": "npm run dev --prefix demos/react",
|
|
67
|
+
"demo:showcase": "npm run showcase --prefix demos/react",
|
|
68
|
+
"demo:record": "node scripts/record-demo.ts",
|
|
67
69
|
"demo:ios": "npm run ios --prefix demos/react-native",
|
|
68
70
|
"demo:android": "npm run android --prefix demos/react-native",
|
|
69
71
|
"prepare": "husky || true"
|
|
@@ -83,29 +85,29 @@
|
|
|
83
85
|
},
|
|
84
86
|
"devDependencies": {
|
|
85
87
|
"@arethetypeswrong/cli": "0.18.5",
|
|
86
|
-
"@axe-core/playwright": "4.
|
|
87
|
-
"@commitlint/cli": "21.2.
|
|
88
|
-
"@commitlint/config-conventional": "21.2.
|
|
88
|
+
"@axe-core/playwright": "4.14.0",
|
|
89
|
+
"@commitlint/cli": "21.2.4",
|
|
90
|
+
"@commitlint/config-conventional": "21.2.4",
|
|
89
91
|
"@estruyf/github-actions-reporter": "1.13.0",
|
|
90
|
-
"@playwright/test": "1.64.
|
|
91
|
-
"@radix-ui/react-dialog": "1.1
|
|
92
|
+
"@playwright/test": "1.64.1",
|
|
93
|
+
"@radix-ui/react-dialog": "1.3.1",
|
|
92
94
|
"@types/node": "26.6.5",
|
|
93
95
|
"@types/react": "19.3.0",
|
|
94
96
|
"@types/react-dom": "19.3.0",
|
|
95
|
-
"@vitest/browser": "5.0.
|
|
96
|
-
"@vitest/browser-playwright": "5.0.
|
|
97
|
+
"@vitest/browser": "5.0.5",
|
|
98
|
+
"@vitest/browser-playwright": "5.0.5",
|
|
97
99
|
"fast-check": "4.10.2",
|
|
98
100
|
"husky": "9.1.7",
|
|
99
|
-
"jsdom": "30.1.
|
|
101
|
+
"jsdom": "30.1.3",
|
|
100
102
|
"lint-staged": "17.6.0",
|
|
101
103
|
"prettier": "3.9.10",
|
|
102
104
|
"publint": "0.3.25",
|
|
103
|
-
"react": "19.3.
|
|
104
|
-
"react-dom": "19.3.
|
|
105
|
-
"react-native": "0.
|
|
105
|
+
"react": "19.3.1",
|
|
106
|
+
"react-dom": "19.3.1",
|
|
107
|
+
"react-native": "0.88.0",
|
|
106
108
|
"react-native-web": "0.21.4",
|
|
107
109
|
"typescript": "6.0.3",
|
|
108
|
-
"vitest": "5.0.
|
|
110
|
+
"vitest": "5.0.5",
|
|
109
111
|
"vitest-browser-react": "2.3.0",
|
|
110
112
|
"xo": "2.0.2"
|
|
111
113
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {intersect} from '../../shared/geometry/box.util.js';
|
|
2
2
|
import type {Box} from '../../shared/geometry/geometry.type.js';
|
|
3
|
-
import {checkVisibility, containsComposed, toBox} from './elements.util.js';
|
|
3
|
+
import {checkVisibility, containsComposed, parentOf, toBox} from './elements.util.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Elements that stay put while the page scrolls (`position: fixed` or `sticky`): navigation bars,
|
|
@@ -46,6 +46,25 @@ function stayingPutElements(layer: Element | undefined): readonly Element[] {
|
|
|
46
46
|
return found;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
/** The app's own dialogs: native `<dialog>` elements and the dialogs of modal libraries (Radix, Headless UI, …). */
|
|
50
|
+
const dialogSelector = 'dialog[open], [role="dialog"], [role="alertdialog"]';
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* The dialog the target is in, if any: the innermost one. A dialog is drawn above the page it opens
|
|
54
|
+
* over, so only what is inside it can cover the target. The page underneath stays laid out, its
|
|
55
|
+
* sticky sidebar included, merely painted over: counted, the sidebar would hide every target of the
|
|
56
|
+
* dialog that lies where the sidebar is.
|
|
57
|
+
*/
|
|
58
|
+
function dialogOf(target: Element): Element | undefined {
|
|
59
|
+
for (let current: Element | undefined = target; current; current = parentOf(current)) {
|
|
60
|
+
if (current.matches(dialogSelector)) {
|
|
61
|
+
return current;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
|
|
49
68
|
/** False for elements that are there but cannot be seen: closed menus faded out with `visibility` or `opacity`. */
|
|
50
69
|
function isSeen(element: Element): boolean {
|
|
51
70
|
const checked = checkVisibility(element, {visibilityProperty: true, opacityProperty: true});
|
|
@@ -59,18 +78,24 @@ function isSeen(element: Element): boolean {
|
|
|
59
78
|
|
|
60
79
|
/**
|
|
61
80
|
* Rectangles (viewport coordinates) of elements that can cover the target. Excluded: elements
|
|
62
|
-
* containing the target (highlighting a link in a sticky navigation) or inside it,
|
|
63
|
-
*
|
|
64
|
-
* backgrounds), which cannot be scrolled away from.
|
|
81
|
+
* containing the target (highlighting a link in a sticky navigation) or inside it, elements outside
|
|
82
|
+
* the dialog the target is in (the page under it), empty or invisible ones, and ones covering more
|
|
83
|
+
* than half the screen (app shells, full-screen backgrounds), which cannot be scrolled away from.
|
|
65
84
|
*/
|
|
66
85
|
export function findOccluders(target: Element | undefined, layer: Element | undefined): Box[] {
|
|
67
86
|
const screen = {width: document.documentElement.clientWidth, height: document.documentElement.clientHeight};
|
|
87
|
+
const dialog = target ? dialogOf(target) : undefined;
|
|
68
88
|
const occluders: Box[] = [];
|
|
69
89
|
for (const element of stayingPutElements(layer)) {
|
|
70
90
|
if (!element.isConnected || (target && (containsComposed(element, target) || containsComposed(target, element)))) {
|
|
71
91
|
continue;
|
|
72
92
|
}
|
|
73
93
|
|
|
94
|
+
// The page under the dialog the target is in: painted over, it covers nothing in the dialog.
|
|
95
|
+
if (dialog && !containsComposed(dialog, element)) {
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
|
|
74
99
|
const rect = toBox(element.getBoundingClientRect());
|
|
75
100
|
const isCovering =
|
|
76
101
|
rect.width > 0 && rect.height > 0 && rect.width * rect.height <= (screen.width * screen.height) / 2;
|
|
@@ -96,6 +96,11 @@ export type TourViewState = {
|
|
|
96
96
|
readonly tourKey: number;
|
|
97
97
|
readonly steps: readonly TourStep[];
|
|
98
98
|
readonly shown: ShownStep | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* While the next step is prepared: the shown step's target has gone (the app moved on, for example
|
|
101
|
+
* `onBeforeStep` navigated), so the shown step must not stay on screen.
|
|
102
|
+
*/
|
|
103
|
+
readonly isShownTargetGone: boolean;
|
|
99
104
|
readonly measure: MeasureRequest | undefined;
|
|
100
105
|
};
|
|
101
106
|
|
|
@@ -140,6 +145,8 @@ type State = {
|
|
|
140
145
|
readonly currentStep: number;
|
|
141
146
|
readonly pendingStepIndex: number | undefined;
|
|
142
147
|
readonly shown: ShownStep | undefined;
|
|
148
|
+
/** See {@link TourViewState.isShownTargetGone}. */
|
|
149
|
+
readonly isShownTargetGone: boolean;
|
|
143
150
|
readonly measure: MeasureRequest | undefined;
|
|
144
151
|
/** Where the target being revealed currently is (only meaningful while revealing). */
|
|
145
152
|
readonly revealHighlight: Box | undefined;
|
|
@@ -228,6 +235,7 @@ export function createTourEngine(initialOptions: TourEngineOptions): TourEngine
|
|
|
228
235
|
currentStep: 0,
|
|
229
236
|
pendingStepIndex: undefined,
|
|
230
237
|
shown: undefined,
|
|
238
|
+
isShownTargetGone: false,
|
|
231
239
|
measure: undefined,
|
|
232
240
|
revealHighlight: undefined,
|
|
233
241
|
};
|
|
@@ -239,6 +247,7 @@ export function createTourEngine(initialOptions: TourEngineOptions): TourEngine
|
|
|
239
247
|
tourKey: 0,
|
|
240
248
|
steps: emptySteps,
|
|
241
249
|
shown: undefined,
|
|
250
|
+
isShownTargetGone: false,
|
|
242
251
|
measure: undefined,
|
|
243
252
|
};
|
|
244
253
|
|
|
@@ -248,6 +257,8 @@ export function createTourEngine(initialOptions: TourEngineOptions): TourEngine
|
|
|
248
257
|
let transition: AbortController | undefined;
|
|
249
258
|
/** Observation of the step on screen. */
|
|
250
259
|
let stepScope: AbortController | undefined;
|
|
260
|
+
/** While the next step is prepared: watching whether the step on screen's target goes away. */
|
|
261
|
+
let goneScope: AbortController | undefined;
|
|
251
262
|
let shownDetails: ShownDetails | undefined;
|
|
252
263
|
let measureSequence = 0;
|
|
253
264
|
/** A scroll that brings the shown target back into view is running. */
|
|
@@ -290,6 +301,7 @@ export function createTourEngine(initialOptions: TourEngineOptions): TourEngine
|
|
|
290
301
|
tourKey: state.session?.key ?? previous.tourKey,
|
|
291
302
|
steps: state.session?.steps ?? emptySteps,
|
|
292
303
|
shown: state.shown,
|
|
304
|
+
isShownTargetGone: state.isShownTargetGone,
|
|
293
305
|
measure: state.measure,
|
|
294
306
|
};
|
|
295
307
|
const isUnchanged =
|
|
@@ -299,6 +311,7 @@ export function createTourEngine(initialOptions: TourEngineOptions): TourEngine
|
|
|
299
311
|
next.tourKey === previous.tourKey &&
|
|
300
312
|
next.steps === previous.steps &&
|
|
301
313
|
next.shown === previous.shown &&
|
|
314
|
+
next.isShownTargetGone === previous.isShownTargetGone &&
|
|
302
315
|
next.measure === previous.measure;
|
|
303
316
|
return isUnchanged ? previous : next;
|
|
304
317
|
}
|
|
@@ -573,9 +586,43 @@ export function createTourEngine(initialOptions: TourEngineOptions): TourEngine
|
|
|
573
586
|
keepInViewScope = undefined;
|
|
574
587
|
const controller = new AbortController();
|
|
575
588
|
transition = controller;
|
|
589
|
+
watchShownTarget().catch(reportError);
|
|
576
590
|
return controller;
|
|
577
591
|
}
|
|
578
592
|
|
|
593
|
+
/**
|
|
594
|
+
* While the next step is prepared, the step on screen stays (a quick step change shows nothing in
|
|
595
|
+
* between) and follows its target. Once that target is gone, though, the app has moved on (for
|
|
596
|
+
* example `onBeforeStep` navigated), and the step must not stay over what is there now.
|
|
597
|
+
*/
|
|
598
|
+
async function watchShownTarget(): Promise<void> {
|
|
599
|
+
goneScope?.abort();
|
|
600
|
+
const {shown} = state;
|
|
601
|
+
const target = shown?.step.target;
|
|
602
|
+
if (!shown || target === undefined || state.isShownTargetGone) {
|
|
603
|
+
return;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
const scope = new AbortController();
|
|
607
|
+
goneScope = scope;
|
|
608
|
+
let last = shownDetails?.measurement;
|
|
609
|
+
while (!scope.signal.aborted) {
|
|
610
|
+
// eslint-disable-next-line no-await-in-loop -- one change at a time
|
|
611
|
+
const current = await options.adapter.waitForMove(target, last, scope.signal);
|
|
612
|
+
if (scope.signal.aborted || state.shown !== shown) {
|
|
613
|
+
return;
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
if (!current) {
|
|
617
|
+
setState({isShownTargetGone: true});
|
|
618
|
+
return;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
last = current;
|
|
622
|
+
void remeasure(scope.signal);
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
|
|
579
626
|
/**
|
|
580
627
|
* Prepares the steps from `requested` on, in the direction of travel, until one can be shown.
|
|
581
628
|
* Steps whose target cannot be found or brought into view are skipped.
|
|
@@ -744,6 +791,8 @@ export function createTourEngine(initialOptions: TourEngineOptions): TourEngine
|
|
|
744
791
|
transition = undefined;
|
|
745
792
|
}
|
|
746
793
|
|
|
794
|
+
goneScope?.abort();
|
|
795
|
+
goneScope = undefined;
|
|
747
796
|
shownDetails = {measurement, size};
|
|
748
797
|
lastTooltipSize = size;
|
|
749
798
|
const highlight = measurement ? highlightOf(measurement) : undefined;
|
|
@@ -752,6 +801,7 @@ export function createTourEngine(initialOptions: TourEngineOptions): TourEngine
|
|
|
752
801
|
currentStep: index,
|
|
753
802
|
pendingStepIndex: undefined,
|
|
754
803
|
measure: undefined,
|
|
804
|
+
isShownTargetGone: false,
|
|
755
805
|
shown: {
|
|
756
806
|
transitionId: id,
|
|
757
807
|
stepIndex: index,
|
|
@@ -952,6 +1002,8 @@ export function createTourEngine(initialOptions: TourEngineOptions): TourEngine
|
|
|
952
1002
|
transition = undefined;
|
|
953
1003
|
stepScope?.abort();
|
|
954
1004
|
stepScope = undefined;
|
|
1005
|
+
goneScope?.abort();
|
|
1006
|
+
goneScope = undefined;
|
|
955
1007
|
shownDetails = undefined;
|
|
956
1008
|
for (const resolve of sizeWaiters.values()) {
|
|
957
1009
|
resolve(lastTooltipSize ?? fallbackTooltipSize);
|
|
@@ -966,6 +1018,7 @@ export function createTourEngine(initialOptions: TourEngineOptions): TourEngine
|
|
|
966
1018
|
currentStep: 0,
|
|
967
1019
|
pendingStepIndex: undefined,
|
|
968
1020
|
shown: undefined,
|
|
1021
|
+
isShownTargetGone: false,
|
|
969
1022
|
measure: undefined,
|
|
970
1023
|
});
|
|
971
1024
|
safeInvoke(() => session.onTourEnd?.(session.tourId, info));
|
|
@@ -1015,6 +1068,7 @@ export function createTourEngine(initialOptions: TourEngineOptions): TourEngine
|
|
|
1015
1068
|
currentStep: 0,
|
|
1016
1069
|
pendingStepIndex: 0,
|
|
1017
1070
|
shown: undefined,
|
|
1071
|
+
isShownTargetGone: false,
|
|
1018
1072
|
measure: undefined,
|
|
1019
1073
|
});
|
|
1020
1074
|
void prepare(0, 1);
|
|
@@ -1083,6 +1137,8 @@ export function createTourEngine(initialOptions: TourEngineOptions): TourEngine
|
|
|
1083
1137
|
transition = undefined;
|
|
1084
1138
|
stepScope?.abort();
|
|
1085
1139
|
stepScope = undefined;
|
|
1140
|
+
goneScope?.abort();
|
|
1141
|
+
goneScope = undefined;
|
|
1086
1142
|
}
|
|
1087
1143
|
|
|
1088
1144
|
function resume(): void {
|
|
@@ -94,9 +94,7 @@ function OverlayContent({
|
|
|
94
94
|
const totalSteps = view.steps.length;
|
|
95
95
|
// The first step can take a while (navigation in onBeforeStep): dim the screen after a moment.
|
|
96
96
|
const isWaitingDimmed = useDelayedFlag(!shown && !isClosing, motion.waitingDelayMs);
|
|
97
|
-
|
|
98
|
-
const isPreparing = phase === 'preparing' && !isClosing;
|
|
99
|
-
const isWaiting = useDelayedFlag(isPreparing, motion.waitingDelayMs);
|
|
97
|
+
const {isPreparing, isWaiting, isShownGone} = usePreparation(view, isClosing);
|
|
100
98
|
// Once on screen, the overlay stays until the tour ends (also when another tour takes over).
|
|
101
99
|
const [hasBeenVisible, setHasBeenVisible] = useState(false);
|
|
102
100
|
const isShowingSomething = shown !== undefined || isWaitingDimmed;
|
|
@@ -110,7 +108,7 @@ function OverlayContent({
|
|
|
110
108
|
useEffect(() => {
|
|
111
109
|
visibleSince.current = isVisible ? Date.now() : undefined;
|
|
112
110
|
}, [isVisible]);
|
|
113
|
-
const spotlight = useSpotlight(view, isVisible, isReducedMotion, isWaiting);
|
|
111
|
+
const spotlight = useSpotlight(view, isVisible, isReducedMotion, isWaiting || isShownGone);
|
|
114
112
|
const announcement = useAnnouncement(view, i18n, isClosing, isWaiting);
|
|
115
113
|
|
|
116
114
|
// Fade out, then unmount.
|
|
@@ -201,7 +199,7 @@ function OverlayContent({
|
|
|
201
199
|
shown={shown}
|
|
202
200
|
totalSteps={totalSteps}
|
|
203
201
|
isBusy={isPreparing}
|
|
204
|
-
isHidden={phase === 'revealing' || isWaiting}
|
|
202
|
+
isHidden={phase === 'revealing' || isWaiting || isShownGone}
|
|
205
203
|
isDelayed={spotlight.isMorphing}
|
|
206
204
|
isReducedMotion={isReducedMotion}
|
|
207
205
|
titleId={titleId}
|
|
@@ -336,6 +334,21 @@ function MeasuredTooltip({engine, renderer, Tooltip, request, totalSteps}: Measu
|
|
|
336
334
|
);
|
|
337
335
|
}
|
|
338
336
|
|
|
337
|
+
/**
|
|
338
|
+
* While the next step is prepared. Preparing it takes a while (`isWaiting`): the highlight closes and
|
|
339
|
+
* a spinner shows that the tour is waiting. The app moved on before the next step is ready (the step
|
|
340
|
+
* on screen's target is gone, `isShownGone`): the step goes at once rather than stay over what is
|
|
341
|
+
* there now, and the spinner still waits for its delay.
|
|
342
|
+
*/
|
|
343
|
+
function usePreparation(
|
|
344
|
+
view: TourViewState,
|
|
345
|
+
isClosing: boolean,
|
|
346
|
+
): {readonly isPreparing: boolean; readonly isWaiting: boolean; readonly isShownGone: boolean} {
|
|
347
|
+
const isPreparing = view.phase === 'preparing' && !isClosing;
|
|
348
|
+
const isWaiting = useDelayedFlag(isPreparing, motion.waitingDelayMs);
|
|
349
|
+
return {isPreparing, isWaiting, isShownGone: isPreparing && view.isShownTargetGone};
|
|
350
|
+
}
|
|
351
|
+
|
|
339
352
|
/** True once `isWaiting` has been true for `delayMs`, as long as it stays true. */
|
|
340
353
|
function useDelayedFlag(isWaiting: boolean, delayMs: number): boolean {
|
|
341
354
|
const [isDue, setIsDue] = useState(false);
|