@ssgoi/core 7.1.3-beta.3 → 7.1.3-beta.5

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.
@@ -12,6 +12,8 @@ export type ContextManagerOptions = {
12
12
  resolvePath?: (path: string) => string;
13
13
  };
14
14
  export declare function createContextManager(options?: ContextManagerOptions): {
15
+ beginTransition: (lockUserScroll: boolean) => () => void;
16
+ disconnect(): void;
15
17
  initializeContext: (element: HTMLElement, path: string, preserves?: boolean) => (shouldRestore: boolean) => void;
16
18
  calculateScrollOffset: (from?: string, to?: string, preserveTo?: boolean) => {
17
19
  x: number;
@@ -1 +1 @@
1
- {"version":3,"file":"create-context-manager.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/create-context-manager.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B;iCA2H3D,WAAW,QACd,MAAM,cACA,OAAO,qBAyCuB,OAAO;mCAkD1C,MAAM,OACR,MAAM,2BAEV;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;gCAsBQ,MAAM;;;+BAYhC,MAAM,0BAEZ;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;uBArOA,OAAO;EAuPnC"}
1
+ {"version":3,"file":"create-context-manager.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/create-context-manager.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B;sCAO7B,OAAO;;iCAyIrC,WAAW,QACd,MAAM,cACA,OAAO,qBAyCuB,OAAO;mCAgD1C,MAAM,OACR,MAAM,2BAEV;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;gCAsBQ,MAAM;;;+BAYhC,MAAM,0BAEZ;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;uBAzOA,OAAO;EA8QnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-ssgoi-transition-context.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/create-ssgoi-transition-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACX,YAAY,EAQb,MAAM,QAAQ,CAAC;AAShB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AA+B5D;;;;;;;;;GASG;AACH,MAAM,WAAW,mCAAmC;IAClD;;;;OAIG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,cAAc,GAAE,mCAAwC,GACvD,YAAY,CAwpBd"}
1
+ {"version":3,"file":"create-ssgoi-transition-context.d.ts","sourceRoot":"","sources":["../../src/lib/ssgoi-transition/create-ssgoi-transition-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACX,YAAY,EAQb,MAAM,QAAQ,CAAC;AAShB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAmC5D;;;;;;;;;GASG;AACH,MAAM,WAAW,mCAAmC;IAClD;;;;OAIG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,cAAc,GAAE,mCAAwC,GACvD,YAAY,CAmuBd"}
@@ -102,7 +102,16 @@ export type SsgoiOrderedTransitionRule = import('../runtime/types').OrderedRoute
102
102
  export type SsgoiTransitionRule = import('../runtime/types').RouteRule<AnyTransitionConfig>;
103
103
  export type SsgoiTransitionsFn = import('../runtime/types').TransitionsFn<AnyTransitionConfig>;
104
104
  export type SsgoiTransitionsOption = import('../runtime/types').TransitionsOption<AnyTransitionConfig>;
105
- export type SsgoiConfig = import('../runtime/types').RouteConfig<AnyTransitionConfig>;
105
+ export type SsgoiConfig = import('../runtime/types').RouteConfig<AnyTransitionConfig> & {
106
+ /**
107
+ * Suppress wheel, single-finger touchmove and page-scroll keys during
108
+ * preparation and playback without changing CSS or native scrollbars.
109
+ * Defaults to true. Native scrollbar interaction and programmatic scrolling
110
+ * remain available; already-running native momentum is not rewound.
111
+ * Set false when the application owns scroll locking.
112
+ */
113
+ scrollLock?: boolean;
114
+ };
106
115
  /**
107
116
  * Adapter-facing API surface exposed by `createSsgoiTransitionContext`.
108
117
  *
@@ -110,7 +119,7 @@ export type SsgoiConfig = import('../runtime/types').RouteConfig<AnyTransitionCo
110
119
  * cancellation helpers) without breaking call sites that destructure.
111
120
  */
112
121
  export type SsgoiContext = {
113
- /** Release browser-history observation when the owning root disconnects. */
122
+ /** Finish transitions and release scroll locks and observers on disconnect. */
114
123
  disconnect?: () => void;
115
124
  /**
116
125
  * Tell the dispatcher this DOM node has mounted under `path`. The
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const isScrollLocked: (element: HTMLElement) => boolean;
2
+ /**
3
+ * Suppress wheel, single-finger touchmove and page-scroll keys without changing
4
+ * CSS or native scrollbars. Native scrollbar interaction and programmatic
5
+ * scrolling remain available; already-running native momentum is not rewound.
6
+ */
7
+ export declare function lockScroll(element: HTMLElement): () => void;
8
+ //# sourceMappingURL=scroll-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-lock.d.ts","sourceRoot":"","sources":["../../src/lib/utils/scroll-lock.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,GAAI,SAAS,WAAW,KAAG,OAClC,CAAC;AAErB;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,IAAI,CA8E3D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ssgoi/core",
3
- "version": "7.1.3-beta.3",
3
+ "version": "7.1.3-beta.5",
4
4
  "description": "Core animation engine for SSGOI - Native app-like page transitions with spring physics",
5
5
  "private": false,
6
6
  "type": "module",
@@ -73,6 +73,7 @@
73
73
  },
74
74
  "devDependencies": {
75
75
  "@eslint/js": "^9.34.0",
76
+ "@playwright/test": "1.58.2",
76
77
  "@types/node": "^22.10.6",
77
78
  "eslint": "^9.34.0",
78
79
  "globals": "^16.3.0",
@@ -92,6 +93,7 @@
92
93
  "test": "vitest",
93
94
  "test:ui": "vitest --ui",
94
95
  "test:run": "vitest run",
95
- "test:coverage": "vitest run --coverage"
96
+ "test:coverage": "vitest run --coverage",
97
+ "test:browser": "playwright test"
96
98
  }
97
99
  }