@ssgoi/core 7.1.3-beta.1 → 7.1.3-beta.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.
@@ -0,0 +1,8 @@
1
+ import { NavigationDirection } from '../../types/index.ts';
2
+ import { MediaRect } from '../media-geometry';
3
+ import { HeroPair } from './types';
4
+ /** Endpoint roles define hero enter/exit even when browser history disagrees. */
5
+ export declare function usesHeroExitLayer(pair: HeroPair, direction: NavigationDirection): boolean;
6
+ /** Paint an exit visual above both pages without moving either real endpoint. */
7
+ export declare function createHeroExitLayer(visual: HTMLElement, content: MediaRect, resetRadius: boolean): HTMLElement;
8
+ //# sourceMappingURL=exit-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit-layer.d.ts","sourceRoot":"","sources":["../../../src/lib/transitions/hero/exit-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,iFAAiF;AACjF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,mBAAmB,GAC7B,OAAO,CAYT;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,SAAS,EAClB,WAAW,EAAE,OAAO,GACnB,WAAW,CAyDb"}
@@ -1,6 +1,10 @@
1
1
  import { MediaRect } from '../media-geometry';
2
2
  /** Restore just the properties owned by this transition, including !important. */
3
3
  export declare function preserveStyles(element: HTMLElement, properties: string[]): () => void;
4
+ /** A replacement layer must copy authored opacity, not a previous run's hide. */
5
+ export declare function heroVisualOpacity(element: HTMLElement): string;
6
+ /** Keep cached endpoints hidden until the last overlapping transition releases them. */
7
+ export declare function hideHeroVisual(element: HTMLElement): () => void;
4
8
  /** CSS hooks are caller-owned; the engine never relaxes ancestor clipping. */
5
9
  export declare function markHeroTransitioning(element: HTMLElement): () => void;
6
10
  /** Keep the incoming page above the positioned outgoing page, including its media. */
@@ -1 +1 @@
1
- {"version":3,"file":"in-place.d.ts","sourceRoot":"","sources":["../../../src/lib/transitions/hero/in-place.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,kFAAkF;AAClF,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,IAAI,CAYZ;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,IAAI,CAOtE;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,GAAG,MAAM,IAAI,CAW7E;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,SAAS,EAClB,GAAG,EAAE,SAAS,GACb,MAAM,IAAI,CAqFZ"}
1
+ {"version":3,"file":"in-place.d.ts","sourceRoot":"","sources":["../../../src/lib/transitions/hero/in-place.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,kFAAkF;AAClF,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,IAAI,CAYZ;AAOD,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAI9D;AAED,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,IAAI,CAiB/D;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,IAAI,CAOtE;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,GAAG,MAAM,IAAI,CAW7E;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,SAAS,EAClB,GAAG,EAAE,SAAS,GACb,MAAM,IAAI,CAqFZ"}
@@ -6,11 +6,12 @@ export type { HeroOptions, HeroType, HeroVariant } from './types';
6
6
  /**
7
7
  * Hero preset configuration.
8
8
  *
9
- * - `type: "static"` (default) — morph the actual destination visual in place;
9
+ * - `type: "static"` (default) — morph the shared visual;
10
10
  * incoming page content appears immediately.
11
11
  * - `type: "fade"` — fade the outgoing page and incoming non-shared content
12
- * and surface colors. The image remains in its authored stacking context.
12
+ * and surface colors. The shared visual stays opaque.
13
13
  * - `variant: "smooth"` — use a softer follower spring for the morph.
14
+ * Enter animates in the destination's parent; exit uses a layer above both pages.
14
15
  * Ancestor overflow belongs to the application. The animated visual carries
15
16
  * `data-hero-transitioning` until completion for optional caller-owned CSS.
16
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/transitions/hero/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAE1E,wBAAgB,IAAI,CAClB,MAAM,GAAE,UAAe,EACvB,MAAM,GAAE,YAAY,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAM,iJAKzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/transitions/hero/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAE1E,wBAAgB,IAAI,CAClB,MAAM,GAAE,UAAe,EACvB,MAAM,GAAE,YAAY,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAM,iJAKzD"}
@@ -6,7 +6,8 @@ export type { HeroType, HeroVariant, NormalizedHeroOptions } from './types';
6
6
  * `data-hero-exit-key` (list side). Direction-agnostic: enter elements on
7
7
  * `to` pair with exit elements on `from` (forward navigation), and enter
8
8
  * elements on `from` pair with exit elements on `to` (reverse). In both
9
- * cases the animated element is the one living on `to`.
9
+ * cases the destination visual supplies the image. Enter animates it in place;
10
+ * exit animates a copy above the pages.
10
11
  */
11
12
  export declare function resolveNewStylePairs(fromNode: HTMLElement, toNode: HTMLElement): HeroPair[];
12
13
  type HeroMorphStyle = {
@@ -1 +1 @@
1
- {"version":3,"file":"transition.d.ts","sourceRoot":"","sources":["../../../src/lib/transitions/hero/transition.ts"],"names":[],"mappings":"AAQA,OAAO,EAOL,KAAK,aAAa,EAElB,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AAW3B,OAAO,KAAK,EAGV,QAAQ,EAIR,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA+D5E;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,WAAW,GAClB,QAAQ,EAAE,CAgCZ;AA0CD,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,aAAa,GAAG;IAAE,GAAG,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE,KAAK,aAAa,GAAG;IACnB,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpC,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,KAAK,cAAc,CAAC;CAC/E,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,aAAa,GAChB,CAAC,aAAa,EAAE,aAAa,CAAC,CAEhC;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,aAAa,GAChB,OAAO,CAeT;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,WAAW,GAClB,aAAa,GAAG,IAAI,CA2GtB;AAgHD,eAAO,MAAM,IAAI,GAAI,SAAS,qBAAqB,kJAqFlD,CAAC"}
1
+ {"version":3,"file":"transition.d.ts","sourceRoot":"","sources":["../../../src/lib/transitions/hero/transition.ts"],"names":[],"mappings":"AAQA,OAAO,EAOL,KAAK,aAAa,EAElB,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AAa3B,OAAO,KAAK,EAGV,QAAQ,EAIR,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA+D5E;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,WAAW,GAClB,QAAQ,EAAE,CAgCZ;AA0CD,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,aAAa,GAAG;IAAE,GAAG,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE,KAAK,aAAa,GAAG;IACnB,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpC,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,KAAK,cAAc,CAAC;CAC/E,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,aAAa,GAChB,CAAC,aAAa,EAAE,aAAa,CAAC,CAEhC;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,aAAa,EACnB,EAAE,EAAE,aAAa,GAChB,OAAO,CAeT;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,WAAW,GAClB,aAAa,GAAG,IAAI,CA2GtB;AAuID,eAAO,MAAM,IAAI,GAAI,SAAS,qBAAqB,kJAsFlD,CAAC"}
@@ -1,11 +1,12 @@
1
- import { PhysicsOptions } from '../../types/index.ts';
1
+ import { NavigationDirection, PhysicsOptions } from '../../types/index.ts';
2
2
  import { AnimationContributions } from '../animation-group';
3
3
  import { MediaFit } from '../media-geometry';
4
4
  /**
5
- * - `static` — morph the actual destination visual in its existing parent;
5
+ * - `static` — morph the shared visual;
6
6
  * incoming page content appears immediately. Default.
7
7
  * - `fade` — fade outgoing page and incoming non-shared content/surface colors
8
- * while the actual shared visual stays opaque in the destination page.
8
+ * while the shared visual stays opaque.
9
+ * Enter renders in-page; exit renders in a temporary layer above both pages.
9
10
  */
10
11
  export type HeroType = "static" | "fade";
11
12
  /**
@@ -40,6 +41,7 @@ export interface HeroPrepareCtx {
40
41
  resolved: Promise<HeroResolved>;
41
42
  }
42
43
  export interface HeroContributeCtx {
44
+ direction: NavigationDirection;
43
45
  from: HTMLElement;
44
46
  to: HTMLElement;
45
47
  resolved: HeroResolved;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/transitions/hero/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAMlD;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AACzC;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC;AAO/B,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;CACtB;AAMD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAUD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3B,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,WAAW,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,gBAAgB,EAAE,WAAW,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,CACX,GAAG,EAAE,iBAAiB,KACnB,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;CAChD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/transitions/hero/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAMlD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AACzC;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC;AAO/B,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;CACtB;AAMD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAUD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3B,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,WAAW,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,gBAAgB,EAAE,WAAW,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,CACX,GAAG,EAAE,iBAAiB,KACnB,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;CAChD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ssgoi/core",
3
- "version": "7.1.3-beta.1",
3
+ "version": "7.1.3-beta.2",
4
4
  "description": "Core animation engine for SSGOI - Native app-like page transitions with spring physics",
5
5
  "private": false,
6
6
  "type": "module",