@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 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, empty or
7
- * invisible ones, and ones covering more than half the screen (app shells, full-screen
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;AAuCD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,GAAG,EAAE,CAiB5F;AAED,uCAAuC;AACvC,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,CAExE"}
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, empty or
53
- * invisible ones, and ones covering more than half the screen (app shells, full-screen
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":"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"}
1
+ {"version":3,"file":"occluders.util.js","sourceRoot":"","sources":["../../../src/react-platform/dom/occluders.util.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
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;AAsG5D,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,iBAAiB,EAAE,KAAK;QACxB,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,iBAAiB,EAAE,KAAK;QACxB,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,+FAA+F;IAC/F,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,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,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,iBAAiB,KAAK,QAAQ,CAAC,iBAAiB;YACrD,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,gBAAgB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK,UAAU,gBAAgB;QAC7B,SAAS,EAAE,KAAK,EAAE,CAAC;QACnB,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC;QACtB,MAAM,MAAM,GAAG,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,SAAS,GAAG,KAAK,CAAC;QAClB,IAAI,IAAI,GAAG,YAAY,EAAE,WAAW,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7B,oEAAoE;YACpE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9E,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBAClD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,QAAQ,CAAC,EAAC,iBAAiB,EAAE,IAAI,EAAC,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,IAAI,GAAG,OAAO,CAAC;YACf,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,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,SAAS,EAAE,KAAK,EAAE,CAAC;QACnB,SAAS,GAAG,SAAS,CAAC;QACtB,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,iBAAiB,EAAE,KAAK;YACxB,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,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,iBAAiB,EAAE,KAAK;YACxB,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,iBAAiB,EAAE,KAAK;gBACxB,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;QACtB,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 +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;AAkZD,+FAA+F;AAC/F,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAc9C"}
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
- // Preparing a step takes a while: the highlight closes and a spinner shows that the tour is waiting.
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.0",
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.13.0",
87
- "@commitlint/cli": "21.2.3",
88
- "@commitlint/config-conventional": "21.2.3",
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.0",
91
- "@radix-ui/react-dialog": "1.1.23",
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.3",
96
- "@vitest/browser-playwright": "5.0.3",
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.2",
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.0",
104
- "react-dom": "19.3.0",
105
- "react-native": "0.87.1",
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.3",
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, empty or
63
- * invisible ones, and ones covering more than half the screen (app shells, full-screen
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
- // Preparing a step takes a while: the highlight closes and a spinner shows that the tour is waiting.
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);