@teleporthq/teleport-shared 0.43.69 → 0.43.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/__tests__/motion-runtime/motion-engine.ts +102 -0
  2. package/__tests__/motion-runtime/scroll-video-engine.ts +28 -0
  3. package/__tests__/scroll-scene/story-lanes.ts +126 -0
  4. package/__tests__/utils/inline-script-error-guard.ts +121 -0
  5. package/dist/cjs/index.d.ts +6 -1
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +11 -1
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/motion-runtime/index.d.ts +3 -0
  10. package/dist/cjs/motion-runtime/index.d.ts.map +1 -0
  11. package/dist/cjs/motion-runtime/index.js +8 -0
  12. package/dist/cjs/motion-runtime/index.js.map +1 -0
  13. package/dist/cjs/motion-runtime/motion-engine-source.d.ts +16 -0
  14. package/dist/cjs/motion-runtime/motion-engine-source.d.ts.map +1 -0
  15. package/dist/cjs/motion-runtime/motion-engine-source.js +20 -0
  16. package/dist/cjs/motion-runtime/motion-engine-source.js.map +1 -0
  17. package/dist/cjs/motion-runtime/scroll-video-engine-source.d.ts +9 -0
  18. package/dist/cjs/motion-runtime/scroll-video-engine-source.d.ts.map +1 -0
  19. package/dist/cjs/motion-runtime/scroll-video-engine-source.js +13 -0
  20. package/dist/cjs/motion-runtime/scroll-video-engine-source.js.map +1 -0
  21. package/dist/cjs/page-transition/index.d.ts +4 -0
  22. package/dist/cjs/page-transition/index.d.ts.map +1 -0
  23. package/dist/cjs/page-transition/index.js +20 -0
  24. package/dist/cjs/page-transition/index.js.map +1 -0
  25. package/dist/cjs/page-transition/morph-source.d.ts +20 -0
  26. package/dist/cjs/page-transition/morph-source.d.ts.map +1 -0
  27. package/dist/cjs/page-transition/morph-source.js +25 -0
  28. package/dist/cjs/page-transition/morph-source.js.map +1 -0
  29. package/dist/cjs/page-transition/variants.d.ts +87 -0
  30. package/dist/cjs/page-transition/variants.d.ts.map +1 -0
  31. package/dist/cjs/page-transition/variants.js +330 -0
  32. package/dist/cjs/page-transition/variants.js.map +1 -0
  33. package/dist/cjs/page-transition/view-transition-css.d.ts +21 -0
  34. package/dist/cjs/page-transition/view-transition-css.d.ts.map +1 -0
  35. package/dist/cjs/page-transition/view-transition-css.js +188 -0
  36. package/dist/cjs/page-transition/view-transition-css.js.map +1 -0
  37. package/dist/cjs/scroll-scene/chapter-index.d.ts +15 -0
  38. package/dist/cjs/scroll-scene/chapter-index.d.ts.map +1 -0
  39. package/dist/cjs/scroll-scene/chapter-index.js +30 -0
  40. package/dist/cjs/scroll-scene/chapter-index.js.map +1 -0
  41. package/dist/cjs/scroll-scene/controller-source.d.ts +26 -0
  42. package/dist/cjs/scroll-scene/controller-source.d.ts.map +1 -0
  43. package/dist/cjs/scroll-scene/controller-source.js +34 -0
  44. package/dist/cjs/scroll-scene/controller-source.js.map +1 -0
  45. package/dist/cjs/scroll-scene/engine-source.d.ts +2 -0
  46. package/dist/cjs/scroll-scene/engine-source.d.ts.map +1 -0
  47. package/dist/cjs/scroll-scene/engine-source.js +26 -0
  48. package/dist/cjs/scroll-scene/engine-source.js.map +1 -0
  49. package/dist/cjs/scroll-scene/index.d.ts +7 -0
  50. package/dist/cjs/scroll-scene/index.d.ts.map +1 -0
  51. package/dist/cjs/scroll-scene/index.js +22 -0
  52. package/dist/cjs/scroll-scene/index.js.map +1 -0
  53. package/dist/cjs/scroll-scene/moment.d.ts +21 -0
  54. package/dist/cjs/scroll-scene/moment.d.ts.map +1 -0
  55. package/dist/cjs/scroll-scene/moment.js +50 -0
  56. package/dist/cjs/scroll-scene/moment.js.map +1 -0
  57. package/dist/cjs/scroll-scene/points.d.ts +23 -0
  58. package/dist/cjs/scroll-scene/points.d.ts.map +1 -0
  59. package/dist/cjs/scroll-scene/points.js +51 -0
  60. package/dist/cjs/scroll-scene/points.js.map +1 -0
  61. package/dist/cjs/scroll-scene/unclip.d.ts +15 -0
  62. package/dist/cjs/scroll-scene/unclip.d.ts.map +1 -0
  63. package/dist/cjs/scroll-scene/unclip.js +44 -0
  64. package/dist/cjs/scroll-scene/unclip.js.map +1 -0
  65. package/dist/cjs/state-bindings/index.d.ts +74 -0
  66. package/dist/cjs/state-bindings/index.d.ts.map +1 -0
  67. package/dist/cjs/state-bindings/index.js +193 -0
  68. package/dist/cjs/state-bindings/index.js.map +1 -0
  69. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  70. package/dist/cjs/utils/inline-script-error-guard.d.ts +29 -0
  71. package/dist/cjs/utils/inline-script-error-guard.d.ts.map +1 -0
  72. package/dist/cjs/utils/inline-script-error-guard.js +38 -0
  73. package/dist/cjs/utils/inline-script-error-guard.js.map +1 -0
  74. package/dist/esm/index.d.ts +6 -1
  75. package/dist/esm/index.d.ts.map +1 -1
  76. package/dist/esm/index.js +6 -1
  77. package/dist/esm/index.js.map +1 -1
  78. package/dist/esm/motion-runtime/index.d.ts +3 -0
  79. package/dist/esm/motion-runtime/index.d.ts.map +1 -0
  80. package/dist/esm/motion-runtime/index.js +3 -0
  81. package/dist/esm/motion-runtime/index.js.map +1 -0
  82. package/dist/esm/motion-runtime/motion-engine-source.d.ts +16 -0
  83. package/dist/esm/motion-runtime/motion-engine-source.d.ts.map +1 -0
  84. package/dist/esm/motion-runtime/motion-engine-source.js +16 -0
  85. package/dist/esm/motion-runtime/motion-engine-source.js.map +1 -0
  86. package/dist/esm/motion-runtime/scroll-video-engine-source.d.ts +9 -0
  87. package/dist/esm/motion-runtime/scroll-video-engine-source.d.ts.map +1 -0
  88. package/dist/esm/motion-runtime/scroll-video-engine-source.js +9 -0
  89. package/dist/esm/motion-runtime/scroll-video-engine-source.js.map +1 -0
  90. package/dist/esm/page-transition/index.d.ts +4 -0
  91. package/dist/esm/page-transition/index.d.ts.map +1 -0
  92. package/dist/esm/page-transition/index.js +4 -0
  93. package/dist/esm/page-transition/index.js.map +1 -0
  94. package/dist/esm/page-transition/morph-source.d.ts +20 -0
  95. package/dist/esm/page-transition/morph-source.d.ts.map +1 -0
  96. package/dist/esm/page-transition/morph-source.js +21 -0
  97. package/dist/esm/page-transition/morph-source.js.map +1 -0
  98. package/dist/esm/page-transition/variants.d.ts +87 -0
  99. package/dist/esm/page-transition/variants.d.ts.map +1 -0
  100. package/dist/esm/page-transition/variants.js +318 -0
  101. package/dist/esm/page-transition/variants.js.map +1 -0
  102. package/dist/esm/page-transition/view-transition-css.d.ts +21 -0
  103. package/dist/esm/page-transition/view-transition-css.d.ts.map +1 -0
  104. package/dist/esm/page-transition/view-transition-css.js +161 -0
  105. package/dist/esm/page-transition/view-transition-css.js.map +1 -0
  106. package/dist/esm/scroll-scene/chapter-index.d.ts +15 -0
  107. package/dist/esm/scroll-scene/chapter-index.d.ts.map +1 -0
  108. package/dist/esm/scroll-scene/chapter-index.js +26 -0
  109. package/dist/esm/scroll-scene/chapter-index.js.map +1 -0
  110. package/dist/esm/scroll-scene/controller-source.d.ts +26 -0
  111. package/dist/esm/scroll-scene/controller-source.d.ts.map +1 -0
  112. package/dist/esm/scroll-scene/controller-source.js +26 -0
  113. package/dist/esm/scroll-scene/controller-source.js.map +1 -0
  114. package/dist/esm/scroll-scene/engine-source.d.ts +2 -0
  115. package/dist/esm/scroll-scene/engine-source.d.ts.map +1 -0
  116. package/dist/esm/scroll-scene/engine-source.js +22 -0
  117. package/dist/esm/scroll-scene/engine-source.js.map +1 -0
  118. package/dist/esm/scroll-scene/index.d.ts +7 -0
  119. package/dist/esm/scroll-scene/index.d.ts.map +1 -0
  120. package/dist/esm/scroll-scene/index.js +7 -0
  121. package/dist/esm/scroll-scene/index.js.map +1 -0
  122. package/dist/esm/scroll-scene/moment.d.ts +21 -0
  123. package/dist/esm/scroll-scene/moment.d.ts.map +1 -0
  124. package/dist/esm/scroll-scene/moment.js +46 -0
  125. package/dist/esm/scroll-scene/moment.js.map +1 -0
  126. package/dist/esm/scroll-scene/points.d.ts +23 -0
  127. package/dist/esm/scroll-scene/points.d.ts.map +1 -0
  128. package/dist/esm/scroll-scene/points.js +45 -0
  129. package/dist/esm/scroll-scene/points.js.map +1 -0
  130. package/dist/esm/scroll-scene/unclip.d.ts +15 -0
  131. package/dist/esm/scroll-scene/unclip.d.ts.map +1 -0
  132. package/dist/esm/scroll-scene/unclip.js +40 -0
  133. package/dist/esm/scroll-scene/unclip.js.map +1 -0
  134. package/dist/esm/state-bindings/index.d.ts +74 -0
  135. package/dist/esm/state-bindings/index.d.ts.map +1 -0
  136. package/dist/esm/state-bindings/index.js +176 -0
  137. package/dist/esm/state-bindings/index.js.map +1 -0
  138. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  139. package/dist/esm/utils/inline-script-error-guard.d.ts +29 -0
  140. package/dist/esm/utils/inline-script-error-guard.d.ts.map +1 -0
  141. package/dist/esm/utils/inline-script-error-guard.js +34 -0
  142. package/dist/esm/utils/inline-script-error-guard.js.map +1 -0
  143. package/package.json +3 -3
  144. package/src/index.ts +10 -0
  145. package/src/motion-runtime/index.ts +2 -0
  146. package/src/motion-runtime/motion-engine-source.ts +289 -0
  147. package/src/motion-runtime/scroll-video-engine-source.ts +591 -0
  148. package/src/page-transition/index.ts +3 -0
  149. package/src/page-transition/morph-source.ts +86 -0
  150. package/src/page-transition/variants.ts +407 -0
  151. package/src/page-transition/view-transition-css.ts +237 -0
  152. package/src/scroll-scene/chapter-index.ts +25 -0
  153. package/src/scroll-scene/controller-source.ts +451 -0
  154. package/src/scroll-scene/engine-source.ts +330 -0
  155. package/src/scroll-scene/index.ts +12 -0
  156. package/src/scroll-scene/moment.ts +64 -0
  157. package/src/scroll-scene/points.ts +46 -0
  158. package/src/scroll-scene/unclip.ts +44 -0
  159. package/src/state-bindings/index.ts +207 -0
  160. package/src/utils/inline-script-error-guard.ts +51 -0
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./variants"), exports);
18
+ __exportStar(require("./view-transition-css"), exports);
19
+ __exportStar(require("./morph-source"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/page-transition/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,wDAAqC;AACrC,iDAA8B"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Which image flies from one page into the next, as SOURCE TEXT both exports
3
+ * run in the browser (the static HTML export in its page head, the Next export
4
+ * inside TqPageTransition).
5
+ *
6
+ * The pair is found when the visitor follows a link, not stamped at
7
+ * generation time: the image inside the link that was clicked, or inside any
8
+ * other visible link to the same page (a card whose title and picture both
9
+ * link), flies to the image with the same address on the arriving page. So a
10
+ * product card grows into its details hero, a project thumbnail into its case
11
+ * study, with nothing to set up and no knowledge of how the data is bound.
12
+ * Only one pair is ever named: two elements sharing a transition name would
13
+ * cancel the whole transition. A picture the Next export serves through
14
+ * next/image is matched by the picture it serves, not by the shared
15
+ * `/_next/image` address every such picture has.
16
+ *
17
+ * Plain ES5 inside: the text runs untranspiled in a page head.
18
+ */
19
+ export declare const morphHelpersSource: () => string;
20
+ //# sourceMappingURL=morph-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"morph-source.d.ts","sourceRoot":"","sources":["../../../src/page-transition/morph-source.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAiEpC,CAAA"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.morphHelpersSource = void 0;
4
+ var view_transition_css_1 = require("./view-transition-css");
5
+ /**
6
+ * Which image flies from one page into the next, as SOURCE TEXT both exports
7
+ * run in the browser (the static HTML export in its page head, the Next export
8
+ * inside TqPageTransition).
9
+ *
10
+ * The pair is found when the visitor follows a link, not stamped at
11
+ * generation time: the image inside the link that was clicked, or inside any
12
+ * other visible link to the same page (a card whose title and picture both
13
+ * link), flies to the image with the same address on the arriving page. So a
14
+ * product card grows into its details hero, a project thumbnail into its case
15
+ * study, with nothing to set up and no knowledge of how the data is bound.
16
+ * Only one pair is ever named: two elements sharing a transition name would
17
+ * cancel the whole transition. A picture the Next export serves through
18
+ * next/image is matched by the picture it serves, not by the shared
19
+ * `/_next/image` address every such picture has.
20
+ *
21
+ * Plain ES5 inside: the text runs untranspiled in a page head.
22
+ */
23
+ var morphHelpersSource = function () { return "var TQ_MORPH_NAME = '".concat(view_transition_css_1.MORPH_NAME, "'\nfunction tqMorphPath(url) {\n try {\n var parsed = new URL(url, location.href)\n return parsed.origin + parsed.pathname.replace(/\\/(index\\.html)?$/, '').replace(/\\.html$/, '') + parsed.search\n } catch (e) {\n return String(url)\n }\n}\nfunction tqMorphImageKey(url) {\n try {\n var parsed = new URL(url, location.href)\n var served = /\\/_next\\/image$/.test(parsed.pathname) ? parsed.searchParams.get('url') : null\n return served ? tqMorphImageKey(served) : parsed.origin + parsed.pathname\n } catch (e) {\n return String(url)\n }\n}\nfunction tqMorphVisible(element) {\n var rect = element.getBoundingClientRect()\n return rect.width > 0 && rect.height > 0 && rect.bottom > 0 && rect.right > 0 &&\n rect.top < window.innerHeight && rect.left < window.innerWidth\n}\nfunction tqMorphClear() {\n var images = document.images\n for (var i = 0; i < images.length; i++) {\n if (images[i].style.viewTransitionName === TQ_MORPH_NAME) {\n images[i].style.viewTransitionName = ''\n }\n }\n}\nfunction tqMorphSource(destination, clicked) {\n var target = tqMorphPath(destination)\n var anchors = Array.prototype.slice.call(document.querySelectorAll('a[href]')).filter(function (anchor) {\n return tqMorphPath(anchor.href) === target\n })\n if (clicked && anchors.indexOf(clicked) > 0) {\n anchors.splice(anchors.indexOf(clicked), 1)\n anchors.unshift(clicked)\n }\n for (var i = 0; i < anchors.length; i++) {\n var image = anchors[i].querySelector('img')\n if (image && (image.currentSrc || image.src) && tqMorphVisible(image)) {\n return image\n }\n }\n return null\n}\nfunction tqMorphTarget(src) {\n var key = tqMorphImageKey(src)\n var loose = null\n var images = document.images\n for (var i = 0; i < images.length; i++) {\n var own = images[i].currentSrc || images[i].src\n if (!own || images[i].getBoundingClientRect().width === 0) {\n continue\n }\n if (own === src) {\n return images[i]\n }\n if (!loose && tqMorphImageKey(own) === key) {\n loose = images[i]\n }\n }\n return loose\n}"); };
24
+ exports.morphHelpersSource = morphHelpersSource;
25
+ //# sourceMappingURL=morph-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"morph-source.js","sourceRoot":"","sources":["../../../src/page-transition/morph-source.ts"],"names":[],"mappings":";;;AAAA,6DAAkD;AAElD;;;;;;;;;;;;;;;;;GAiBG;AACI,IAAM,kBAAkB,GAAG,cAAc,OAAA,+BAAwB,gCAAU,qkEAiEhF,EAjE8C,CAiE9C,CAAA;AAjEW,QAAA,kBAAkB,sBAiE7B"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * The three states of a route transition for a preset, and the preset the
3
+ * back button plays. Mirrored VERBATIM from teleport-gui's
4
+ * `constants/primitives/page-transition.ts` — the settings picker demonstrates
5
+ * these exact states. Plain JS inside the bodies on purpose: their compiled
6
+ * source is injected into the generated `TqPageTransition` wrapper with
7
+ * `toString()`, so no template literals, no backticks, no helpers from outside
8
+ * the two functions.
9
+ */
10
+ export interface PageTransitionContext {
11
+ reverse: boolean;
12
+ originX: string;
13
+ originY: string;
14
+ }
15
+ export interface PageTransitionPanel {
16
+ from: Record<string, unknown>;
17
+ cover: Record<string, unknown>;
18
+ away: Record<string, unknown>;
19
+ side?: 'left' | 'right';
20
+ }
21
+ export interface PageTransitionVariants {
22
+ initial: Record<string, unknown>;
23
+ animate: Record<string, unknown>;
24
+ exit: Record<string, unknown>;
25
+ }
26
+ export declare function reversePageTransitionPreset(preset: string): string;
27
+ export interface PageTransitionCustomState {
28
+ opacity: number;
29
+ x: number;
30
+ y: number;
31
+ scale: number;
32
+ blur: number;
33
+ }
34
+ export interface PageTransitionCustom {
35
+ durationSeconds: number;
36
+ easing: string;
37
+ arrive: PageTransitionCustomState;
38
+ leave: PageTransitionCustomState;
39
+ }
40
+ export declare function pageTransitionVariants(preset: string, slidePx: number, context?: PageTransitionContext, options?: Record<string, string>, custom?: PageTransitionCustom): PageTransitionVariants | null;
41
+ export declare function pageTransitionCover(preset: string): PageTransitionPanel[] | null;
42
+ /**
43
+ * The matcher for a route a page opted out of transitions with: exact path,
44
+ * optional trailing slash, and `[param]` segments (how the editor spells a
45
+ * details page) matching any single segment. Injected into the wrapper.
46
+ */
47
+ export declare function pageTransitionSkipPattern(route: string): RegExp;
48
+ /** How far a page travels while sliding, in px — pages move, they do not fly. */
49
+ export declare const PAGE_TRANSITION_SLIDE_PX = 24;
50
+ /**
51
+ * The preset's choices with gaps filled by defaults and unknown words replaced
52
+ * by the default. Mirrored verbatim from teleport-gui; runs at generation time.
53
+ */
54
+ export declare function resolvePageTransitionOptions(preset: string, chosen?: Record<string, string>): Record<string, string>;
55
+ /**
56
+ * A colour a cover panel may carry: a project token id, a hex colour, or
57
+ * rgb/hsl with plain numbers — the value lands verbatim in generated code.
58
+ * Mirrored verbatim from teleport-gui.
59
+ */
60
+ export declare function isPageTransitionColorValue(value: string | undefined): boolean;
61
+ /** The CSS colour a cover-family panel paints with: token → var(), literal as is, words → theme tokens. Mirrored verbatim from teleport-gui. */
62
+ export declare function pageTransitionCoverColor(color: string | undefined): string;
63
+ /** Every custom value inside its range and a known easing; mirrored verbatim from teleport-gui. Runs at generation time. */
64
+ export declare function sanitizePageTransitionCustom(input: Partial<PageTransitionCustom> | undefined): PageTransitionCustom;
65
+ /** What the editor exports under `globals.settings.pageTransition`. */
66
+ export interface PageTransitionConfig {
67
+ preset: string;
68
+ duration: number;
69
+ easing: string;
70
+ skipRoutes?: string[];
71
+ options?: Record<string, string>;
72
+ custom?: {
73
+ arrive?: Record<string, number>;
74
+ leave?: Record<string, number>;
75
+ };
76
+ /** False when the author turned the flying pictures off; absent means they fly. */
77
+ flyingPictures?: boolean;
78
+ }
79
+ /** The same curves the motion widget plays, so a route transition shares the site's motion character. */
80
+ export declare const PAGE_TRANSITION_EASING_CURVES: Record<string, [number, number, number, number]>;
81
+ /** The resolved transition the editor exported, or null when pages switch instantly. */
82
+ export declare const projectPageTransition: (uidl: {
83
+ globals?: {
84
+ settings?: unknown;
85
+ };
86
+ }) => PageTransitionConfig | null;
87
+ //# sourceMappingURL=variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/page-transition/variants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,330 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.projectPageTransition = exports.PAGE_TRANSITION_EASING_CURVES = exports.sanitizePageTransitionCustom = exports.pageTransitionCoverColor = exports.isPageTransitionColorValue = exports.resolvePageTransitionOptions = exports.PAGE_TRANSITION_SLIDE_PX = exports.pageTransitionSkipPattern = exports.pageTransitionCover = exports.pageTransitionVariants = exports.reversePageTransitionPreset = void 0;
4
+ function reversePageTransitionPreset(preset) {
5
+ var pairs = {
6
+ 'slide-up': 'slide-down',
7
+ 'slide-down': 'slide-up',
8
+ 'slide-left': 'slide-right',
9
+ 'slide-right': 'slide-left',
10
+ 'zoom-in': 'zoom-out',
11
+ 'zoom-out': 'zoom-in',
12
+ 'wipe-down': 'wipe-up',
13
+ 'wipe-up': 'wipe-down',
14
+ 'wipe-left': 'wipe-right',
15
+ 'wipe-right': 'wipe-left',
16
+ stack: 'unstack',
17
+ unstack: 'stack',
18
+ };
19
+ return pairs[preset] || preset;
20
+ }
21
+ exports.reversePageTransitionPreset = reversePageTransitionPreset;
22
+ function pageTransitionVariants(preset, slidePx, context, options, custom) {
23
+ var reverse = context ? context.reverse : false;
24
+ var originX = context ? context.originX : '50%';
25
+ var originY = context ? context.originY : '50%';
26
+ var name = reverse ? reversePageTransitionPreset(preset) : preset;
27
+ var bold = options
28
+ ? options.distance === 'bold' || options.depth === 'bold' || options.amount === 'bold'
29
+ : false;
30
+ var near = bold ? slidePx * 4 : slidePx;
31
+ var far = near * 2;
32
+ var blurPx = options && options.softness === 'heavy' ? 28 : 12;
33
+ var shrink = bold ? 0.85 : 0.94;
34
+ var zoomOut = bold ? 0.85 : 0.96;
35
+ var zoomIn = bold ? 1.15 : 1.04;
36
+ if (name === 'custom') {
37
+ // Neutral in the middle; the two ends are exactly the user's values.
38
+ var c = custom || {
39
+ arrive: { opacity: 0, x: 0, y: 24, scale: 1, blur: 0 },
40
+ leave: { opacity: 0, x: 0, y: -24, scale: 1, blur: 0 },
41
+ };
42
+ return {
43
+ initial: {
44
+ opacity: c.arrive.opacity,
45
+ x: c.arrive.x,
46
+ y: c.arrive.y,
47
+ scale: c.arrive.scale,
48
+ filter: 'blur(' + c.arrive.blur + 'px)',
49
+ },
50
+ animate: { opacity: 1, x: 0, y: 0, scale: 1, filter: 'blur(0px)' },
51
+ exit: {
52
+ opacity: c.leave.opacity,
53
+ x: c.leave.x,
54
+ y: c.leave.y,
55
+ scale: c.leave.scale,
56
+ filter: 'blur(' + c.leave.blur + 'px)',
57
+ },
58
+ };
59
+ }
60
+ if (name === 'fade') {
61
+ return { initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 } };
62
+ }
63
+ if (name === 'crossfade') {
64
+ return {
65
+ initial: { opacity: 0, scale: 1.02 },
66
+ animate: { opacity: 1, scale: 1 },
67
+ exit: { opacity: 0, scale: 0.98 },
68
+ };
69
+ }
70
+ if (name === 'blur') {
71
+ return {
72
+ initial: { opacity: 0, filter: 'blur(' + blurPx + 'px)' },
73
+ animate: { opacity: 1, filter: 'blur(0px)' },
74
+ exit: { opacity: 0, filter: 'blur(' + blurPx + 'px)' },
75
+ };
76
+ }
77
+ if (name === 'slide-up') {
78
+ return {
79
+ initial: { opacity: 0, y: near },
80
+ animate: { opacity: 1, y: 0 },
81
+ exit: { opacity: 0, y: -near },
82
+ };
83
+ }
84
+ if (name === 'slide-down') {
85
+ return {
86
+ initial: { opacity: 0, y: -near },
87
+ animate: { opacity: 1, y: 0 },
88
+ exit: { opacity: 0, y: near },
89
+ };
90
+ }
91
+ if (name === 'slide-left') {
92
+ return {
93
+ initial: { opacity: 0, x: far },
94
+ animate: { opacity: 1, x: 0 },
95
+ exit: { opacity: 0, x: -far },
96
+ };
97
+ }
98
+ if (name === 'slide-right') {
99
+ return {
100
+ initial: { opacity: 0, x: -far },
101
+ animate: { opacity: 1, x: 0 },
102
+ exit: { opacity: 0, x: far },
103
+ };
104
+ }
105
+ if (name === 'stack') {
106
+ return {
107
+ initial: { opacity: 0, y: far },
108
+ animate: { opacity: 1, y: 0, scale: 1 },
109
+ exit: { opacity: 0, scale: shrink },
110
+ };
111
+ }
112
+ if (name === 'unstack') {
113
+ return {
114
+ initial: { opacity: 0, scale: shrink },
115
+ animate: { opacity: 1, y: 0, scale: 1 },
116
+ exit: { opacity: 0, y: far },
117
+ };
118
+ }
119
+ if (name === 'zoom-in') {
120
+ return {
121
+ initial: { opacity: 0, scale: zoomOut },
122
+ animate: { opacity: 1, scale: 1 },
123
+ exit: { opacity: 0, scale: zoomIn },
124
+ };
125
+ }
126
+ if (name === 'zoom-out') {
127
+ return {
128
+ initial: { opacity: 0, scale: zoomIn },
129
+ animate: { opacity: 1, scale: 1 },
130
+ exit: { opacity: 0, scale: zoomOut },
131
+ };
132
+ }
133
+ if (name === 'wipe-down') {
134
+ return {
135
+ initial: { clipPath: 'inset(0 0 100% 0)' },
136
+ animate: { clipPath: 'inset(0 0 0% 0)' },
137
+ exit: { clipPath: 'inset(100% 0 0 0)' },
138
+ };
139
+ }
140
+ if (name === 'wipe-up') {
141
+ return {
142
+ initial: { clipPath: 'inset(100% 0 0 0)' },
143
+ animate: { clipPath: 'inset(0% 0 0 0)' },
144
+ exit: { clipPath: 'inset(0 0 100% 0)' },
145
+ };
146
+ }
147
+ if (name === 'wipe-left') {
148
+ return {
149
+ initial: { clipPath: 'inset(0 0 0 100%)' },
150
+ animate: { clipPath: 'inset(0 0 0 0%)' },
151
+ exit: { clipPath: 'inset(0 100% 0 0)' },
152
+ };
153
+ }
154
+ if (name === 'wipe-right') {
155
+ return {
156
+ initial: { clipPath: 'inset(0 100% 0 0)' },
157
+ animate: { clipPath: 'inset(0 0% 0 0)' },
158
+ exit: { clipPath: 'inset(0 0 0 100%)' },
159
+ };
160
+ }
161
+ if (name === 'circle') {
162
+ var at = ' at ' + originX + ' ' + originY + ')';
163
+ return {
164
+ initial: { clipPath: 'circle(0%' + at },
165
+ animate: { clipPath: 'circle(150%' + at },
166
+ exit: { clipPath: 'circle(0%' + at },
167
+ };
168
+ }
169
+ if (name === 'cover' || name === 'curtain') {
170
+ // The panels do the work; the page itself only has to STAY while it is
171
+ // being covered. An exit that changes nothing would end instantly, so it
172
+ // moves opacity by an invisible amount — that is what keeps the leaving
173
+ // page on screen for exactly one panel sweep.
174
+ return { initial: { opacity: 1 }, animate: { opacity: 1 }, exit: { opacity: 0.999 } };
175
+ }
176
+ return null;
177
+ }
178
+ exports.pageTransitionVariants = pageTransitionVariants;
179
+ function pageTransitionCover(preset) {
180
+ if (preset === 'cover') {
181
+ return [{ from: { y: '100%' }, cover: { y: '0%' }, away: { y: '-100%' } }];
182
+ }
183
+ if (preset === 'curtain') {
184
+ return [
185
+ { from: { x: '-100%' }, cover: { x: '0%' }, away: { x: '-100%' }, side: 'left' },
186
+ { from: { x: '100%' }, cover: { x: '0%' }, away: { x: '100%' }, side: 'right' },
187
+ ];
188
+ }
189
+ return null;
190
+ }
191
+ exports.pageTransitionCover = pageTransitionCover;
192
+ /**
193
+ * The matcher for a route a page opted out of transitions with: exact path,
194
+ * optional trailing slash, and `[param]` segments (how the editor spells a
195
+ * details page) matching any single segment. Injected into the wrapper.
196
+ */
197
+ function pageTransitionSkipPattern(route) {
198
+ var escaped = route.replace(/[.*+?^$()|{}\\]/g, '\\$&');
199
+ return new RegExp('^' + escaped.replace(/\[[^\]]+\]/g, '[^/]+') + '/?$');
200
+ }
201
+ exports.pageTransitionSkipPattern = pageTransitionSkipPattern;
202
+ /** How far a page travels while sliding, in px — pages move, they do not fly. */
203
+ exports.PAGE_TRANSITION_SLIDE_PX = 24;
204
+ /**
205
+ * The preset's choices with gaps filled by defaults and unknown words replaced
206
+ * by the default. Mirrored verbatim from teleport-gui; runs at generation time.
207
+ */
208
+ function resolvePageTransitionOptions(preset, chosen) {
209
+ var catalog = {
210
+ blur: [['softness', ['light', 'heavy']]],
211
+ 'slide-up': [['distance', ['subtle', 'bold']]],
212
+ 'slide-down': [['distance', ['subtle', 'bold']]],
213
+ 'slide-left': [['distance', ['subtle', 'bold']]],
214
+ 'slide-right': [['distance', ['subtle', 'bold']]],
215
+ stack: [['depth', ['subtle', 'bold']]],
216
+ 'zoom-in': [['amount', ['subtle', 'bold']]],
217
+ 'zoom-out': [['amount', ['subtle', 'bold']]],
218
+ circle: [['origin', ['click', 'center']]],
219
+ cover: [['color', ['brand', 'dark', 'light']]],
220
+ curtain: [['color', ['brand', 'dark', 'light']]],
221
+ };
222
+ var resolved = {};
223
+ var entries = catalog[preset] || [];
224
+ for (var i = 0; i < entries.length; i++) {
225
+ var key = entries[i][0];
226
+ var words = entries[i][1];
227
+ var value = chosen ? chosen[key] : undefined;
228
+ var known = value !== undefined &&
229
+ (words.indexOf(value) >= 0 || (key === 'color' && isPageTransitionColorValue(value)));
230
+ resolved[key] = known ? value : words[0];
231
+ }
232
+ return resolved;
233
+ }
234
+ exports.resolvePageTransitionOptions = resolvePageTransitionOptions;
235
+ /**
236
+ * A colour a cover panel may carry: a project token id, a hex colour, or
237
+ * rgb/hsl with plain numbers — the value lands verbatim in generated code.
238
+ * Mirrored verbatim from teleport-gui.
239
+ */
240
+ function isPageTransitionColorValue(value) {
241
+ if (typeof value !== 'string' || value.length === 0 || value.length > 120) {
242
+ return false;
243
+ }
244
+ return (/^token:[a-z0-9_-]+$/i.test(value) ||
245
+ /^--[a-z0-9_-]+$/i.test(value) ||
246
+ /^#[0-9a-f]{3,8}$/i.test(value) ||
247
+ /^(rgb|rgba|hsl|hsla)\([0-9.,%\s]+\)$/i.test(value));
248
+ }
249
+ exports.isPageTransitionColorValue = isPageTransitionColorValue;
250
+ /** The CSS colour a cover-family panel paints with: token → var(), literal as is, words → theme tokens. Mirrored verbatim from teleport-gui. */
251
+ function pageTransitionCoverColor(color) {
252
+ var dark = 'var(--dl-color-theme-neutral-dark, #111111)';
253
+ if (color === 'dark') {
254
+ return dark;
255
+ }
256
+ if (color === 'light') {
257
+ return 'var(--dl-color-theme-neutral-light, #ffffff)';
258
+ }
259
+ if (color &&
260
+ color !== 'brand' &&
261
+ color.indexOf('token:') !== 0 &&
262
+ isPageTransitionColorValue(color)) {
263
+ return color.indexOf('--') === 0 ? 'var(' + color + ', ' + dark + ')' : color;
264
+ }
265
+ return 'var(--dl-color-theme-primary1, ' + dark + ')';
266
+ }
267
+ exports.pageTransitionCoverColor = pageTransitionCoverColor;
268
+ var CUSTOM_EASINGS = [
269
+ 'ease',
270
+ 'ease-in',
271
+ 'ease-out',
272
+ 'ease-in-out',
273
+ 'linear',
274
+ 'spring',
275
+ 'back',
276
+ 'bounce',
277
+ ];
278
+ var DEFAULT_CUSTOM = {
279
+ durationSeconds: 0.35,
280
+ easing: 'ease-out',
281
+ arrive: { opacity: 0, x: 0, y: 24, scale: 1, blur: 0 },
282
+ leave: { opacity: 0, x: 0, y: -24, scale: 1, blur: 0 },
283
+ };
284
+ var clamp = function (value, min, max, fallback) {
285
+ var n = typeof value === 'number' && Number.isFinite(value) ? value : fallback;
286
+ return Math.min(max, Math.max(min, n));
287
+ };
288
+ var sanitizeCustomState = function (input, fallback) { return ({
289
+ opacity: clamp(input === null || input === void 0 ? void 0 : input.opacity, 0, 1, fallback.opacity),
290
+ x: clamp(input === null || input === void 0 ? void 0 : input.x, -400, 400, fallback.x),
291
+ y: clamp(input === null || input === void 0 ? void 0 : input.y, -400, 400, fallback.y),
292
+ scale: clamp(input === null || input === void 0 ? void 0 : input.scale, 0.25, 2, fallback.scale),
293
+ blur: clamp(input === null || input === void 0 ? void 0 : input.blur, 0, 60, fallback.blur),
294
+ }); };
295
+ /** Every custom value inside its range and a known easing; mirrored verbatim from teleport-gui. Runs at generation time. */
296
+ function sanitizePageTransitionCustom(input) {
297
+ var easing = typeof (input === null || input === void 0 ? void 0 : input.easing) === 'string' && CUSTOM_EASINGS.indexOf(input.easing) >= 0
298
+ ? input.easing
299
+ : DEFAULT_CUSTOM.easing;
300
+ return {
301
+ durationSeconds: clamp(input === null || input === void 0 ? void 0 : input.durationSeconds, 0.05, 3, DEFAULT_CUSTOM.durationSeconds),
302
+ easing: easing,
303
+ arrive: sanitizeCustomState(input === null || input === void 0 ? void 0 : input.arrive, DEFAULT_CUSTOM.arrive),
304
+ leave: sanitizeCustomState(input === null || input === void 0 ? void 0 : input.leave, DEFAULT_CUSTOM.leave),
305
+ };
306
+ }
307
+ exports.sanitizePageTransitionCustom = sanitizePageTransitionCustom;
308
+ /** The same curves the motion widget plays, so a route transition shares the site's motion character. */
309
+ exports.PAGE_TRANSITION_EASING_CURVES = {
310
+ ease: [0.25, 0.1, 0.25, 1],
311
+ 'ease-in': [0.42, 0, 1, 1],
312
+ 'ease-out': [0, 0, 0.58, 1],
313
+ 'ease-in-out': [0.42, 0, 0.58, 1],
314
+ linear: [0, 0, 1, 1],
315
+ spring: [0.34, 1.56, 0.64, 1],
316
+ back: [0.68, -0.6, 0.32, 1.6],
317
+ bounce: [0.22, 1.2, 0.36, 1],
318
+ };
319
+ /** The resolved transition the editor exported, or null when pages switch instantly. */
320
+ var projectPageTransition = function (uidl) {
321
+ var _a;
322
+ var settings = (((_a = uidl.globals) === null || _a === void 0 ? void 0 : _a.settings) || {});
323
+ var transition = settings.pageTransition;
324
+ if (!transition || !transition.preset || transition.preset === 'none') {
325
+ return null;
326
+ }
327
+ return transition;
328
+ };
329
+ exports.projectPageTransition = projectPageTransition;
330
+ //# sourceMappingURL=variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.js","sourceRoot":"","sources":["../../../src/page-transition/variants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import * as PageTransition from './variants';
2
+ export declare const BACK_ATTR = "data-tq-nav";
3
+ export declare const ORIGIN_X = "--tq-origin-x";
4
+ export declare const ORIGIN_Y = "--tq-origin-y";
5
+ /** The name of the one image that flies from the leaving page into the arriving page. */
6
+ export declare const MORPH_NAME = "tq-morph";
7
+ export interface ViewTransitionPlan {
8
+ css: string;
9
+ /** The back button plays a different preset, so the page has to tell the stylesheet which way it came. */
10
+ needsDirection: boolean;
11
+ /** The reveal grows from where the visitor pressed, so the page has to hand that point over. */
12
+ needsOrigin: boolean;
13
+ /** A picture flies from the followed link into the next page; off when the author turned it off. */
14
+ flies: boolean;
15
+ /** The arriving page is revealed over the leaving one, which holds (Circle, the Wipes). */
16
+ revealsOver: boolean;
17
+ }
18
+ export declare const viewTransitionPlan: (config: PageTransition.PageTransitionConfig, target?: {
19
+ crossDocument: boolean;
20
+ }) => ViewTransitionPlan | null;
21
+ //# sourceMappingURL=view-transition-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-transition-css.d.ts","sourceRoot":"","sources":["../../../src/page-transition/view-transition-css.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,YAAY,CAAA;AAkC5C,eAAO,MAAM,SAAS,gBAAgB,CAAA;AACtC,eAAO,MAAM,QAAQ,kBAAkB,CAAA;AACvC,eAAO,MAAM,QAAQ,kBAAkB,CAAA;AAiFvC,yFAAyF;AACzF,eAAO,MAAM,UAAU,aAAa,CAAA;AAEpC,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,0GAA0G;IAC1G,cAAc,EAAE,OAAO,CAAA;IACvB,gGAAgG;IAChG,WAAW,EAAE,OAAO,CAAA;IACpB,oGAAoG;IACpG,KAAK,EAAE,OAAO,CAAA;IACd,2FAA2F;IAC3F,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,eAAO,MAAM,kBAAkB,WACrB,eAAe,oBAAoB,WACnC;IAAE,aAAa,EAAE,OAAO,CAAA;CAAE,KACjC,kBAAkB,GAAG,IAqGvB,CAAA"}