@stacknav/core 0.3.0 → 0.4.0

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 (56) hide show
  1. package/README.md +125 -60
  2. package/dist/animate.d.ts +20 -2
  3. package/dist/animate.d.ts.map +1 -1
  4. package/dist/animate.js +76 -13
  5. package/dist/animate.js.map +1 -1
  6. package/dist/css-vars.d.ts +3 -3
  7. package/dist/css-vars.d.ts.map +1 -1
  8. package/dist/css-vars.js +47 -4
  9. package/dist/css-vars.js.map +1 -1
  10. package/dist/history-adapter.d.ts +0 -1
  11. package/dist/history-adapter.d.ts.map +1 -1
  12. package/dist/history-adapter.js +1 -5
  13. package/dist/history-adapter.js.map +1 -1
  14. package/dist/index.d.ts +27 -18
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +38 -15
  17. package/dist/index.js.map +1 -1
  18. package/dist/native-transition.d.ts +93 -0
  19. package/dist/native-transition.d.ts.map +1 -0
  20. package/dist/{ios-transition.js → native-transition.js} +48 -29
  21. package/dist/native-transition.js.map +1 -0
  22. package/dist/navigation-stack.d.ts +3 -2
  23. package/dist/navigation-stack.d.ts.map +1 -1
  24. package/dist/navigation-stack.js +45 -10
  25. package/dist/navigation-stack.js.map +1 -1
  26. package/dist/platform.d.ts +6 -0
  27. package/dist/platform.d.ts.map +1 -0
  28. package/dist/platform.js +22 -0
  29. package/dist/platform.js.map +1 -0
  30. package/dist/stacknav.css +10 -13
  31. package/dist/styles.d.ts +10 -11
  32. package/dist/styles.d.ts.map +1 -1
  33. package/dist/styles.js +14 -16
  34. package/dist/styles.js.map +1 -1
  35. package/dist/swipe-back.d.ts +4 -0
  36. package/dist/swipe-back.d.ts.map +1 -0
  37. package/dist/swipe-back.js +31 -0
  38. package/dist/swipe-back.js.map +1 -0
  39. package/package.json +3 -2
  40. package/src/animate.ts +74 -15
  41. package/src/css-vars.ts +43 -4
  42. package/src/history-adapter.ts +1 -5
  43. package/src/index.ts +49 -24
  44. package/src/{ios-transition.ts → native-transition.ts} +72 -39
  45. package/src/navigation-stack.ts +33 -10
  46. package/src/platform.ts +23 -0
  47. package/src/styles.ts +14 -16
  48. package/src/swipe-back.ts +35 -0
  49. package/dist/edge-pan-gesture.d.ts +0 -36
  50. package/dist/edge-pan-gesture.d.ts.map +0 -1
  51. package/dist/edge-pan-gesture.js +0 -155
  52. package/dist/edge-pan-gesture.js.map +0 -1
  53. package/dist/ios-transition.d.ts +0 -61
  54. package/dist/ios-transition.d.ts.map +0 -1
  55. package/dist/ios-transition.js.map +0 -1
  56. package/src/edge-pan-gesture.ts +0 -190
@@ -1 +1 @@
1
- {"version":3,"file":"css-vars.js","sourceRoot":"","sources":["../src/css-vars.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"css-vars.js","sourceRoot":"","sources":["../src/css-vars.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,4 @@ export interface BrowserHistoryOptions {
13
13
  * history back. Returns a function that detaches everything.
14
14
  */
15
15
  export declare function attachBrowserHistory(stack: NavigationStack, { key, animateHistoryPop, onForward }?: BrowserHistoryOptions): () => void;
16
- export declare function isIOSBrowser(): boolean;
17
16
  //# sourceMappingURL=history-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"history-adapter.d.ts","sourceRoot":"","sources":["../src/history-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uGAAuG;IACvG,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACpD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,GAAe,EAAE,iBAAmC,EAAE,SAAgB,EAAE,GAAE,qBAA0B,GAAG,MAAM,IAAI,CA8B/K;AAED,wBAAgB,YAAY,IAAI,OAAO,CAGtC"}
1
+ {"version":3,"file":"history-adapter.d.ts","sourceRoot":"","sources":["../src/history-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uGAAuG;IACvG,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACpD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,GAAe,EAAE,iBAAmC,EAAE,SAAgB,EAAE,GAAE,qBAA0B,GAAG,MAAM,IAAI,CA8B/K"}
@@ -1,3 +1,4 @@
1
+ import { isIOSBrowser } from "./platform.js";
1
2
  /**
2
3
  * For apps without a router. Mirrors the stack depth into `history.state`, so
3
4
  * the browser or hardware back button pops the stack and stack pops walk
@@ -36,9 +37,4 @@ export function attachBrowserHistory(stack, { key = 'snDepth', animateHistoryPop
36
37
  window.removeEventListener('popstate', onPopState);
37
38
  };
38
39
  }
39
- export function isIOSBrowser() {
40
- if (typeof navigator === 'undefined')
41
- return false;
42
- return /iP(hone|ad|od)/.test(navigator.platform) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);
43
- }
44
40
  //# sourceMappingURL=history-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"history-adapter.js","sourceRoot":"","sources":["../src/history-adapter.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAsB,EAAE,EAAE,GAAG,GAAG,SAAS,EAAE,iBAAiB,GAAG,CAAC,YAAY,EAAE,EAAE,SAAS,GAAG,IAAI,KAA4B,EAAE;IACjK,MAAM,OAAO,GAAG,CAAC,KAAc,EAAU,EAAE;QACzC,MAAM,CAAC,GAAG,KAAuC,CAAC;QAClD,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,IAAkC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAE,OAAO,CAAC,KAAgB,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAE1I,KAAK,CAAC,cAAc,CAAC,CAAC;IAEtB,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAC9C,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,EAAiB,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,KAAK,CAAC,KAAK;YAAE,OAAO;QACnC,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK;YAAE,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;aAClG,IAAI,SAAS;YAAE,SAAS,CAAC,MAAM,CAAC,CAAC;;YACjC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC,CAAC;IACF,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEhD,OAAO,GAAG,EAAE;QACV,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;QACT,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,UAAU,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;AAC1H,CAAC"}
1
+ {"version":3,"file":"history-adapter.js","sourceRoot":"","sources":["../src/history-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAW7C;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAsB,EAAE,EAAE,GAAG,GAAG,SAAS,EAAE,iBAAiB,GAAG,CAAC,YAAY,EAAE,EAAE,SAAS,GAAG,IAAI,KAA4B,EAAE;IACjK,MAAM,OAAO,GAAG,CAAC,KAAc,EAAU,EAAE;QACzC,MAAM,CAAC,GAAG,KAAuC,CAAC;QAClD,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,IAAkC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAE,OAAO,CAAC,KAAgB,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAE1I,KAAK,CAAC,cAAc,CAAC,CAAC;IAEtB,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAC9C,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,EAAiB,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,KAAK,CAAC,KAAK;YAAE,OAAO;QACnC,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK;YAAE,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;aAClG,IAAI,SAAS;YAAE,SAAS,CAAC,MAAM,CAAC,CAAC;;YACjC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC,CAAC;IACF,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEhD,OAAO,GAAG,EAAE;QACV,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;QACT,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,34 +1,43 @@
1
+ export type { SwipeBackMode } from './swipe-back.ts';
1
2
  export { NavigationStack } from './navigation-stack.ts';
2
3
  export type { StackEntry, Transition, TransitionKind, NavigationSource, MountOptions, NavigationStackOptions, InteractivePopHandle, SettleInput, StackEvents, PushEvent, PopEvent, ReplaceEvent, ResetEvent, TransitionEvent, ProgressEvent, } from './navigation-stack.ts';
3
- export { createIOSTransition, IOS_TRANSITION_CSS_VARS } from './ios-transition.ts';
4
- export type { IOSTransition, IOSTransitionOptions } from './ios-transition.ts';
4
+ export { createNativeTransition, nativeTransitionPreset, NATIVE_TRANSITION_CSS_VARS } from './native-transition.ts';
5
+ export type { NativeTransition, NativeTransitionOptions, NativeTransitionPreset } from './native-transition.ts';
5
6
  export { cssVars, parseTime, parseNumber, parseRatio, parseEasing } from './css-vars.ts';
6
7
  export type { CSSVarReader } from './css-vars.ts';
7
- export { createEdgePanGesture } from './edge-pan-gesture.ts';
8
- export type { EdgePanGesture, EdgePanGestureOptions } from './edge-pan-gesture.ts';
9
- export { attachBrowserHistory, isIOSBrowser } from './history-adapter.ts';
8
+ export { attachBrowserHistory } from './history-adapter.ts';
10
9
  export type { BrowserHistoryOptions } from './history-adapter.ts';
11
- export { cubicBezier, easings, cssEasing, cssDuration, tween, commitStyles, animationsFinished, prefersReducedMotion } from './animate.ts';
10
+ export { detectPlatform, isIOSBrowser, isAndroidBrowser } from './platform.ts';
11
+ export type { Platform } from './platform.ts';
12
+ export { cubicBezier, linearEasing, easings, cssEasing, cssDuration, tween, commitStyles, animationsFinished, prefersReducedMotion, matchesMedia, isTouchPrimary } from './animate.ts';
12
13
  export type { Easing, TweenOptions, CancellableTween } from './animate.ts';
13
14
  export { resolveDirection, createDirectionResolver, defaultStrategies, fromHint, fromHistory, fromStack, fromLevel, fromTree, always, segmentsOf, } from './direction.ts';
14
15
  export type { Direction, DirectionOpinion, DirectionStrategy, DirectionResolver, NavigationContext, NavigationTrigger, RouteRef, LevelOptions, TreeOptions, } from './direction.ts';
15
16
  export { STACKNAV_CSS, STACKNAV_STYLE_ID, injectStyles } from './styles.ts';
16
17
  import { NavigationStack } from './navigation-stack.ts';
17
- import { type IOSTransition, type IOSTransitionOptions } from './ios-transition.ts';
18
- import { type EdgePanGesture, type EdgePanGestureOptions } from './edge-pan-gesture.ts';
19
- export interface IOSStackOptions {
18
+ import { type NativeTransition, type NativeTransitionOptions } from './native-transition.ts';
19
+ import { type SwipeBackMode } from './swipe-back.ts';
20
+ export interface NativeStackOptions {
20
21
  container: HTMLElement;
21
- transition?: Partial<IOSTransitionOptions>;
22
- gesture?: Partial<EdgePanGestureOptions>;
22
+ transition?: Partial<NativeTransitionOptions>;
23
+ /** Default browser. Disabled requests document-wide browser swipe suppression. */
24
+ swipeBack?: SwipeBackMode;
23
25
  }
24
- export interface IOSStack extends NavigationStack {
25
- transition: IOSTransition;
26
- gesture: EdgePanGesture;
26
+ export interface NativeStack extends NavigationStack {
27
+ transition: NativeTransition;
28
+ readonly swipeBack: SwipeBackMode;
29
+ /** Changes the policy without replacing pages or changing browser history. */
30
+ setSwipeBack(mode: SwipeBackMode): void;
27
31
  }
28
32
  /**
29
- * Wires the three pieces together in one call: a stack in `container`, the iOS
30
- * transition, and the edge-pan gesture. The gesture is exposed as
31
- * `stack.gesture`, and destroying the stack detaches it.
33
+ * Wires the two pieces together in one call: a stack in `container` and the
34
+ * platform's native transition. The browser keeps the back gesture unless
35
+ * `disabled` asks for suppression; destroying releases that request.
36
+ *
37
+ * There is no gesture recognizer here on purpose. In a browser tab the browser
38
+ * already owns the edge and will not give it up, so a second recognizer reads
39
+ * as two backs at once. Apps that own the edge -- an installed PWA, a native
40
+ * webview -- can drive `beginInteractivePop()` from their own pointer handling.
32
41
  */
33
- export declare function createIOSStack({ container, transition, gesture }: IOSStackOptions): IOSStack;
42
+ export declare function createNativeStack({ container, transition, swipeBack }: NativeStackOptions): NativeStack;
34
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,eAAe,EACf,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnF,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzF,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC3I,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,MAAM,EACN,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzG,OAAO,EAAwB,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9G,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,WAAW,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,QAAS,SAAQ,eAAe;IAC/C,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,UAAe,EAAE,OAAY,EAAE,EAAE,eAAe,GAAG,QAAQ,CAYtG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,eAAe,EACf,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpH,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzF,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC/E,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACvL,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,MAAM,EACN,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAA0B,KAAK,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAErH,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3E,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,WAAW,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9C,kFAAkF;IAClF,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,8EAA8E;IAC9E,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;CACzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,UAAe,EAAE,SAAqB,EAAE,EAAE,kBAAkB,GAAG,WAAW,CA2BxH"}
package/dist/index.js CHANGED
@@ -1,28 +1,51 @@
1
1
  export { NavigationStack } from "./navigation-stack.js";
2
- export { createIOSTransition, IOS_TRANSITION_CSS_VARS } from "./ios-transition.js";
2
+ export { createNativeTransition, nativeTransitionPreset, NATIVE_TRANSITION_CSS_VARS } from "./native-transition.js";
3
3
  export { cssVars, parseTime, parseNumber, parseRatio, parseEasing } from "./css-vars.js";
4
- export { createEdgePanGesture } from "./edge-pan-gesture.js";
5
- export { attachBrowserHistory, isIOSBrowser } from "./history-adapter.js";
6
- export { cubicBezier, easings, cssEasing, cssDuration, tween, commitStyles, animationsFinished, prefersReducedMotion } from "./animate.js";
4
+ export { attachBrowserHistory } from "./history-adapter.js";
5
+ export { detectPlatform, isIOSBrowser, isAndroidBrowser } from "./platform.js";
6
+ export { cubicBezier, linearEasing, easings, cssEasing, cssDuration, tween, commitStyles, animationsFinished, prefersReducedMotion, matchesMedia, isTouchPrimary } from "./animate.js";
7
7
  export { resolveDirection, createDirectionResolver, defaultStrategies, fromHint, fromHistory, fromStack, fromLevel, fromTree, always, segmentsOf, } from "./direction.js";
8
8
  export { STACKNAV_CSS, STACKNAV_STYLE_ID, injectStyles } from "./styles.js";
9
9
  import { NavigationStack } from "./navigation-stack.js";
10
- import { createIOSTransition } from "./ios-transition.js";
11
- import { createEdgePanGesture } from "./edge-pan-gesture.js";
10
+ import { createNativeTransition } from "./native-transition.js";
11
+ import { suppressBrowserSwipe } from "./swipe-back.js";
12
12
  /**
13
- * Wires the three pieces together in one call: a stack in `container`, the iOS
14
- * transition, and the edge-pan gesture. The gesture is exposed as
15
- * `stack.gesture`, and destroying the stack detaches it.
13
+ * Wires the two pieces together in one call: a stack in `container` and the
14
+ * platform's native transition. The browser keeps the back gesture unless
15
+ * `disabled` asks for suppression; destroying releases that request.
16
+ *
17
+ * There is no gesture recognizer here on purpose. In a browser tab the browser
18
+ * already owns the edge and will not give it up, so a second recognizer reads
19
+ * as two backs at once. Apps that own the edge -- an installed PWA, a native
20
+ * webview -- can drive `beginInteractivePop()` from their own pointer handling.
16
21
  */
17
- export function createIOSStack({ container, transition = {}, gesture = {} }) {
18
- const t = createIOSTransition(transition);
19
- const g = createEdgePanGesture(gesture);
22
+ export function createNativeStack({ container, transition = {}, swipeBack = 'browser' }) {
23
+ const t = createNativeTransition(transition);
20
24
  const stack = new NavigationStack({ container, transition: t });
21
- g.attach(stack);
22
- stack.gesture = g;
25
+ let mode;
26
+ let release;
27
+ let destroyed = false;
28
+ Object.defineProperty(stack, 'swipeBack', { get: () => mode });
29
+ stack.setSwipeBack = (next) => {
30
+ if (destroyed || next === mode)
31
+ return;
32
+ if (next !== 'browser' && next !== 'disabled')
33
+ throw new TypeError('Invalid swipeBack mode');
34
+ if (next === 'browser') {
35
+ release?.();
36
+ release = undefined;
37
+ }
38
+ else {
39
+ release ??= suppressBrowserSwipe(container);
40
+ }
41
+ mode = next;
42
+ };
43
+ stack.setSwipeBack(swipeBack);
23
44
  const destroy = stack.destroy.bind(stack);
24
45
  stack.destroy = () => {
25
- g.detach();
46
+ destroyed = true;
47
+ release?.();
48
+ release = undefined;
26
49
  destroy();
27
50
  };
28
51
  return stack;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAkBxD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE3I,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,MAAM,EACN,UAAU,GACX,MAAM,gBAAgB,CAAC;AAYxB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAiD,MAAM,qBAAqB,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAmD,MAAM,uBAAuB,CAAC;AAa9G;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,SAAS,EAAE,UAAU,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAmB;IAC1F,MAAM,CAAC,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,CAAa,CAAC;IAC5E,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;QACnB,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAkBxD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEvL,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,MAAM,EACN,UAAU,GACX,MAAM,gBAAgB,CAAC;AAYxB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAuD,MAAM,wBAAwB,CAAC;AAErH,OAAO,EAAE,oBAAoB,EAAsB,MAAM,iBAAiB,CAAC;AAgB3E;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,SAAS,EAAE,UAAU,GAAG,EAAE,EAAE,SAAS,GAAG,SAAS,EAAsB;IACzG,MAAM,CAAC,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,CAAgB,CAAC;IAC/E,IAAI,IAA+B,CAAC;IACpC,IAAI,OAAiC,CAAC;IACtC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/D,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,SAAS,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QACvC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU;YAAE,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAC7F,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,EAAE,CAAC;YACZ,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,GAAG,IAAI,CAAC;IACd,CAAC,CAAC;IACF,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;QACnB,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,GAAG,SAAS,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,93 @@
1
+ import { type Easing } from './animate.ts';
2
+ import type { Transition } from './navigation-stack.ts';
3
+ import { type Platform } from './platform.ts';
4
+ export interface NativeTransitionOptions {
5
+ /**
6
+ * Whose push/pop to imitate. `auto` (the default) asks the browser and
7
+ * falls back to `ios`. It picks the defaults for everything below; an
8
+ * option given explicitly wins over the platform's, as a CSS variable wins
9
+ * over both.
10
+ */
11
+ platform: Platform | 'auto';
12
+ /** ms, programmatic push/pop */
13
+ duration: number;
14
+ /**
15
+ * the curve a programmatic push/pop runs on. CSS runs it, so it has to be
16
+ * one CSS can spell: everything `cubicBezier()`, `bezierPath()` and
17
+ * `parseEasing()` build carries a `css` property. A bare `(t) => number` of
18
+ * your own has none, so the pages would run `linear` while `progress`
19
+ * reported your curve; give it a `css` property, or write the whole
20
+ * transition yourself.
21
+ */
22
+ ease: Easing;
23
+ /** fraction of the width the upper page travels (1 = from off-screen; Android slides a short way and fades) */
24
+ travel: number;
25
+ /** fraction of the width the lower page travels */
26
+ parallax: number;
27
+ /** opacity of the upper page when fully closed (1 = no fade) */
28
+ fade: number;
29
+ dimColor: string;
30
+ /** lower-page overlay opacity at p = 1 (≈0.35 suits dark UIs) */
31
+ dimMax: number;
32
+ /** box-shadow on the incoming page */
33
+ shadow: string;
34
+ /** ms bounds for finishing an interactive pop */
35
+ settleMin: number;
36
+ settleMax: number;
37
+ /** the curve the remaining distance of an interactive pop runs on; see `ease` */
38
+ settleEase: Easing;
39
+ /** px/s assumed when the pointer was slower than this */
40
+ settleVelocityFloor: number;
41
+ /** multiplies every duration, for slow motion and tests */
42
+ timeScale: number;
43
+ }
44
+ /** Every option except the platform, which is decided once and has no CSS variable. */
45
+ export type NativeTransitionPreset = Readonly<Omit<NativeTransitionOptions, 'platform'>>;
46
+ /**
47
+ * Each platform's own push/pop, as its system animates it.
48
+ *
49
+ * - `ios`: UIKit's navigation push. The upper page slides the full width with
50
+ * a shadow on its leading edge, the lower page parallaxes 30% and dims.
51
+ * - `android`: the framework's activity open/close since Android 13
52
+ * (`activity_open_enter.xml` and friends): both pages slide 96 dp, about a
53
+ * quarter of a phone, over 450 ms on `fast_out_extra_slow_in`, and the
54
+ * upper page fades through the first part of it. No shadow, no dim.
55
+ */
56
+ export declare function nativeTransitionPreset(platform: Platform): NativeTransitionPreset;
57
+ /** The CSS custom property behind each option. */
58
+ export declare const NATIVE_TRANSITION_CSS_VARS: Readonly<Record<keyof NativeTransitionPreset, string>>;
59
+ export interface NativeTransition extends Transition {
60
+ /** The JS options: the platform's preset with the caller's merged in. `platform` is the one chosen. Mutable at runtime. */
61
+ readonly options: NativeTransitionOptions & {
62
+ platform: Platform;
63
+ };
64
+ /** The values currently in force: `options` with the CSS variables applied over them. */
65
+ readonly resolved: Readonly<NativeTransitionOptions & {
66
+ platform: Platform;
67
+ }>;
68
+ /**
69
+ * Re-reads the CSS variables, from `el` or from the container of the last
70
+ * transition. Called at the start of every transition. Call it directly
71
+ * after changing `options` or the variables mid-animation.
72
+ */
73
+ refresh(el?: Element | null): void;
74
+ }
75
+ /**
76
+ * The platform's navigation transition: the upper page slides in from the
77
+ * trailing edge while the lower page parallaxes toward the leading edge. On
78
+ * iOS the upper page travels the full width under a shadow and the lower page
79
+ * dims; on Android both travel a short way and the upper page fades. Every
80
+ * value is a function of one number, p.
81
+ *
82
+ * Every option is also a CSS custom property on the container (see
83
+ * `NATIVE_TRANSITION_CSS_VARS`), read when a transition starts. A variable
84
+ * that is set wins over the JS option, so a stylesheet can slow the animation
85
+ * down or restyle it per theme without the app rebuilding the transition.
86
+ *
87
+ * p is only ever written at the ends of a phase. The stack puts that phase's
88
+ * duration and curve in `--sn-t` / `--sn-e` and CSS interpolates between the
89
+ * two writes, so the animation costs a handful of style writes rather than one
90
+ * per page per frame, and runs on the compositor rather than the main thread.
91
+ */
92
+ export declare function createNativeTransition(options?: Partial<NativeTransitionOptions>): NativeTransition;
93
+ //# sourceMappingURL=native-transition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-transition.d.ts","sourceRoot":"","sources":["../src/native-transition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,KAAK,EAA2B,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC;;;;;OAKG;IACH,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,+GAA+G;IAC/G,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,uFAAuF;AACvF,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC,CAAC;AAEzF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,sBAAsB,CAKjF;AAED,kDAAkD;AAClD,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,sBAAsB,EAAE,MAAM,CAAC,CAc5F,CAAC;AAEH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,2HAA2H;IAC3H,QAAQ,CAAC,OAAO,EAAE,uBAAuB,GAAG;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IACnE,yFAAyF;IACzF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,uBAAuB,GAAG;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IAC9E;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAAG,gBAAgB,CAkGvG"}
@@ -1,10 +1,29 @@
1
1
  import { easings, prefersReducedMotion } from "./animate.js";
2
2
  import { cssVars, parseEasing, parseNumber, parseRatio, parseTime } from "./css-vars.js";
3
+ import { detectPlatform } from "./platform.js";
4
+ /**
5
+ * Each platform's own push/pop, as its system animates it.
6
+ *
7
+ * - `ios`: UIKit's navigation push. The upper page slides the full width with
8
+ * a shadow on its leading edge, the lower page parallaxes 30% and dims.
9
+ * - `android`: the framework's activity open/close since Android 13
10
+ * (`activity_open_enter.xml` and friends): both pages slide 96 dp, about a
11
+ * quarter of a phone, over 450 ms on `fast_out_extra_slow_in`, and the
12
+ * upper page fades through the first part of it. No shadow, no dim.
13
+ */
14
+ export function nativeTransitionPreset(platform) {
15
+ const shared = { settleMin: 120, settleMax: 400, settleVelocityFloor: 900, timeScale: 1, dimColor: '#000' };
16
+ return platform === 'android'
17
+ ? { ...shared, duration: 450, ease: easings.android, travel: 0.25, parallax: 0.25, fade: 0, dimMax: 0, shadow: 'none', settleEase: easings.androidSettle }
18
+ : { ...shared, duration: 500, ease: easings.ios, travel: 1, parallax: 0.3, fade: 1, dimMax: 0.1, shadow: '-3px 0 14px rgba(0,0,0,0.16)', settleEase: easings.easeOut };
19
+ }
3
20
  /** The CSS custom property behind each option. */
4
- export const IOS_TRANSITION_CSS_VARS = /*#__PURE__*/ Object.freeze({
21
+ export const NATIVE_TRANSITION_CSS_VARS = /*#__PURE__*/ Object.freeze({
5
22
  duration: '--sn-duration',
6
23
  ease: '--sn-easing',
24
+ travel: '--sn-travel',
7
25
  parallax: '--sn-parallax',
26
+ fade: '--sn-fade',
8
27
  dimColor: '--sn-dim-color',
9
28
  dimMax: '--sn-dim-max',
10
29
  shadow: '--sn-shadow',
@@ -15,46 +34,39 @@ export const IOS_TRANSITION_CSS_VARS = /*#__PURE__*/ Object.freeze({
15
34
  timeScale: '--sn-time-scale',
16
35
  });
17
36
  /**
18
- * The iOS navigation transition: the upper page slides in from the trailing
19
- * edge with a shadow on its leading edge, while the lower page parallaxes
20
- * toward the leading edge and dims. Every value is a function of one number, p.
37
+ * The platform's navigation transition: the upper page slides in from the
38
+ * trailing edge while the lower page parallaxes toward the leading edge. On
39
+ * iOS the upper page travels the full width under a shadow and the lower page
40
+ * dims; on Android both travel a short way and the upper page fades. Every
41
+ * value is a function of one number, p.
21
42
  *
22
43
  * Every option is also a CSS custom property on the container (see
23
- * `IOS_TRANSITION_CSS_VARS`), read when a transition starts. A variable that
24
- * is set wins over the JS option, so a stylesheet can slow the animation down
25
- * or restyle it per theme without the app rebuilding the transition.
44
+ * `NATIVE_TRANSITION_CSS_VARS`), read when a transition starts. A variable
45
+ * that is set wins over the JS option, so a stylesheet can slow the animation
46
+ * down or restyle it per theme without the app rebuilding the transition.
26
47
  *
27
48
  * p is only ever written at the ends of a phase. The stack puts that phase's
28
49
  * duration and curve in `--sn-t` / `--sn-e` and CSS interpolates between the
29
50
  * two writes, so the animation costs a handful of style writes rather than one
30
51
  * per page per frame, and runs on the compositor rather than the main thread.
31
52
  */
32
- export function createIOSTransition(options = {}) {
33
- const o = {
34
- duration: 500,
35
- ease: easings.ios,
36
- parallax: 0.3,
37
- dimColor: '#000',
38
- dimMax: 0.1,
39
- shadow: '-3px 0 14px rgba(0,0,0,0.16)',
40
- settleMin: 120,
41
- settleMax: 400,
42
- settleEase: easings.easeOut,
43
- settleVelocityFloor: 900,
44
- timeScale: 1,
45
- ...options,
46
- };
53
+ export function createNativeTransition(options = {}) {
54
+ const platform = !options.platform || options.platform === 'auto' ? detectPlatform() : options.platform;
55
+ const o = { ...nativeTransitionPreset(platform), ...options, platform };
47
56
  let root = null;
48
57
  let r = { ...o };
49
58
  const refresh = (el) => {
50
59
  if (el !== undefined)
51
60
  root = el;
52
61
  const read = cssVars(root);
53
- const v = IOS_TRANSITION_CSS_VARS;
62
+ const v = NATIVE_TRANSITION_CSS_VARS;
54
63
  r = {
64
+ platform: o.platform,
55
65
  duration: parseTime(read(v.duration)) ?? o.duration,
56
66
  ease: parseEasing(read(v.ease)) ?? o.ease,
67
+ travel: parseRatio(read(v.travel)) ?? o.travel,
57
68
  parallax: parseRatio(read(v.parallax)) ?? o.parallax,
69
+ fade: parseRatio(read(v.fade)) ?? o.fade,
58
70
  dimColor: read(v.dimColor) ?? o.dimColor,
59
71
  dimMax: parseRatio(read(v.dimMax)) ?? o.dimMax,
60
72
  shadow: read(v.shadow) ?? o.shadow,
@@ -64,9 +76,11 @@ export function createIOSTransition(options = {}) {
64
76
  settleVelocityFloor: parseNumber(read(v.settleVelocityFloor)) ?? o.settleVelocityFloor,
65
77
  timeScale: parseNumber(read(v.timeScale)) ?? o.timeScale,
66
78
  };
79
+ if (dim?.parentElement)
80
+ dim.style.setProperty('--sn-dim-fallback', o.dimColor);
67
81
  };
68
82
  // One overlay, moved to whichever page is underneath. Everything about it
69
- // except its colour and its opacity is a rule in the stylesheet.
83
+ // except its opacity is a rule in the stylesheet; JS supplies the fallback colour.
70
84
  let dim = null;
71
85
  const dimOf = (lower) => {
72
86
  if (!dim) {
@@ -74,7 +88,7 @@ export function createIOSTransition(options = {}) {
74
88
  dim.className = 'sn-dim';
75
89
  dim.setAttribute('aria-hidden', 'true');
76
90
  }
77
- dim.style.background = r.dimColor;
91
+ dim.style.setProperty('--sn-dim-fallback', o.dimColor);
78
92
  if (dim.parentElement !== lower.el)
79
93
  lower.el.append(dim);
80
94
  return dim;
@@ -104,7 +118,7 @@ export function createIOSTransition(options = {}) {
104
118
  },
105
119
  begin(lower, upper) {
106
120
  refresh(upper.el.parentElement);
107
- upper.el.style.boxShadow = r.shadow;
121
+ upper.el.style.boxShadow = `var(--sn-shadow, ${o.shadow})`;
108
122
  if (lower)
109
123
  dimOf(lower);
110
124
  },
@@ -115,19 +129,24 @@ export function createIOSTransition(options = {}) {
115
129
  * page, so a resize mid-transition stays honest.
116
130
  */
117
131
  apply(lower, upper, p) {
118
- upper.el.style.transform = shift(1 - p);
132
+ upper.el.style.transform = shift((1 - p) * r.travel);
133
+ // Only a look that fades writes opacity: a property that is not written
134
+ // starts no transition, and a page's own opacity is left alone.
135
+ if (r.fade < 1)
136
+ upper.el.style.opacity = String(round(r.fade + (1 - r.fade) * p));
119
137
  if (lower) {
120
138
  lower.el.style.transform = shift(-p * r.parallax);
121
- dimOf(lower).style.opacity = String(p * r.dimMax);
139
+ dim.style.opacity = String(p * r.dimMax);
122
140
  }
123
141
  },
124
142
  end(lower, upper) {
125
143
  upper.el.style.boxShadow = '';
126
144
  upper.el.style.transform = '';
145
+ upper.el.style.opacity = '';
127
146
  if (lower)
128
147
  lower.el.style.transform = '';
129
148
  dim?.remove();
130
149
  },
131
150
  };
132
151
  }
133
- //# sourceMappingURL=ios-transition.js.map
152
+ //# sourceMappingURL=native-transition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-transition.js","sourceRoot":"","sources":["../src/native-transition.ts"],"names":[],"mappings":"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"}
@@ -112,6 +112,8 @@ export declare class NavigationStack {
112
112
  readonly pageClass: string;
113
113
  entries: StackEntry[];
114
114
  busy: boolean;
115
+ private _destroyed;
116
+ private _activeTransition;
115
117
  private _queue;
116
118
  private _listeners;
117
119
  constructor({ container, transition, pageClass }: NavigationStackOptions);
@@ -164,6 +166,7 @@ export declare class NavigationStack {
164
166
  }): Promise<StackEntry[]>;
165
167
  /** Starts a pointer-driven pop. Returns null if the stack cannot pop right now. */
166
168
  beginInteractivePop(): InteractivePopHandle | null;
169
+ /** Terminal: queued and subsequent navigation reject with AbortError. */
167
170
  destroy(): void;
168
171
  private _setBusy;
169
172
  /** Serializes operations: while a transition runs, later calls wait their turn. */
@@ -181,8 +184,6 @@ export declare class NavigationStack {
181
184
  */
182
185
  private _timing;
183
186
  private _begin;
184
- /** Writes the state at p without announcing it: the ticker reports the way there. */
185
- private _write;
186
187
  private _apply;
187
188
  private _end;
188
189
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-stack.d.ts","sourceRoot":"","sources":["../src/navigation-stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation-stack.d.ts","sourceRoot":"","sources":["../src/navigation-stack.ts"],"names":[],"mappings":"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"}