swup 4.4.4 → 4.5.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 (54) hide show
  1. package/dist/Swup.cjs +1 -1
  2. package/dist/Swup.cjs.map +1 -1
  3. package/dist/Swup.modern.js +1 -1
  4. package/dist/Swup.modern.js.map +1 -1
  5. package/dist/Swup.module.js +1 -1
  6. package/dist/Swup.module.js.map +1 -1
  7. package/dist/Swup.umd.js +1 -1
  8. package/dist/Swup.umd.js.map +1 -1
  9. package/dist/types/Swup.d.ts +8 -4
  10. package/dist/types/Swup.d.ts.map +1 -1
  11. package/dist/types/helpers/Location.d.ts.map +1 -1
  12. package/dist/types/helpers/history.d.ts +14 -0
  13. package/dist/types/helpers/history.d.ts.map +1 -0
  14. package/dist/types/helpers.d.ts +1 -2
  15. package/dist/types/helpers.d.ts.map +1 -1
  16. package/dist/types/modules/Classes.d.ts.map +1 -1
  17. package/dist/types/modules/Hooks.d.ts +16 -8
  18. package/dist/types/modules/Hooks.d.ts.map +1 -1
  19. package/dist/types/modules/Visit.d.ts +28 -22
  20. package/dist/types/modules/Visit.d.ts.map +1 -1
  21. package/dist/types/modules/animatePageIn.d.ts +2 -1
  22. package/dist/types/modules/animatePageIn.d.ts.map +1 -1
  23. package/dist/types/modules/animatePageOut.d.ts +2 -1
  24. package/dist/types/modules/animatePageOut.d.ts.map +1 -1
  25. package/dist/types/modules/fetchPage.d.ts.map +1 -1
  26. package/dist/types/modules/navigate.d.ts +2 -2
  27. package/dist/types/modules/navigate.d.ts.map +1 -1
  28. package/dist/types/modules/renderPage.d.ts +2 -1
  29. package/dist/types/modules/renderPage.d.ts.map +1 -1
  30. package/dist/types/modules/replaceContent.d.ts.map +1 -1
  31. package/dist/types/modules/scrollToContent.d.ts +2 -1
  32. package/dist/types/modules/scrollToContent.d.ts.map +1 -1
  33. package/package.json +2 -1
  34. package/src/Swup.ts +40 -37
  35. package/src/helpers/Location.ts +1 -0
  36. package/src/helpers/history.ts +37 -0
  37. package/src/helpers.ts +1 -2
  38. package/src/modules/Cache.ts +2 -2
  39. package/src/modules/Classes.ts +8 -1
  40. package/src/modules/Hooks.ts +77 -29
  41. package/src/modules/Visit.ts +86 -47
  42. package/src/modules/animatePageIn.ts +9 -8
  43. package/src/modules/animatePageOut.ts +7 -18
  44. package/src/modules/fetchPage.ts +9 -11
  45. package/src/modules/navigate.ts +78 -34
  46. package/src/modules/renderPage.ts +15 -13
  47. package/src/modules/replaceContent.ts +1 -0
  48. package/src/modules/scrollToContent.ts +6 -4
  49. package/dist/types/helpers/createHistoryRecord.d.ts +0 -10
  50. package/dist/types/helpers/createHistoryRecord.d.ts.map +0 -1
  51. package/dist/types/helpers/updateHistoryRecord.d.ts +0 -3
  52. package/dist/types/helpers/updateHistoryRecord.d.ts.map +0 -1
  53. package/src/helpers/createHistoryRecord.ts +0 -24
  54. package/src/helpers/updateHistoryRecord.ts +0 -19
@@ -30,6 +30,8 @@ export type Options = {
30
30
  linkSelector: string;
31
31
  /** How swup handles links to the same page. Default: `scroll` */
32
32
  linkToSelf: NavigationToSelfAction;
33
+ /** Enable native animations using the View Transitions API. */
34
+ native: boolean;
33
35
  /** Plugins to register on startup. */
34
36
  plugins: Plugin[];
35
37
  /** Custom headers sent along with fetch requests. */
@@ -67,6 +69,8 @@ export default class Swup {
67
69
  protected clickDelegate?: DelegateEventUnsubscribe;
68
70
  /** Navigation status */
69
71
  protected navigating: boolean;
72
+ /** Run anytime a visit ends */
73
+ protected onVisitEnd?: () => Promise<unknown>;
70
74
  /** Install a plugin */
71
75
  use: (this: Swup, plugin: unknown) => Plugin[] | undefined;
72
76
  /** Uninstall a plugin */
@@ -87,14 +91,14 @@ export default class Swup {
87
91
  fetchPage: typeof fetchPage;
88
92
  /** Resolve when animations on the page finish */
89
93
  awaitAnimations: typeof awaitAnimations;
90
- protected renderPage: (this: Swup, page: import("./modules/fetchPage.js").PageData) => Promise<void>;
94
+ protected renderPage: (this: Swup, visit: Visit, page: import("./modules/fetchPage.js").PageData) => Promise<void>;
91
95
  /** Replace the content after page load */
92
96
  replaceContent: (this: Swup, { html }: import("./modules/fetchPage.js").PageData, { containers }?: {
93
97
  containers: string[];
94
98
  }) => boolean;
95
- protected animatePageIn: (this: Swup) => Promise<void>;
96
- protected animatePageOut: (this: Swup) => Promise<void>;
97
- protected scrollToContent: (this: Swup) => boolean;
99
+ protected animatePageIn: (this: Swup, visit: Visit) => Promise<void>;
100
+ protected animatePageOut: (this: Swup, visit: Visit) => Promise<void>;
101
+ protected scrollToContent: (this: Swup, visit: Visit) => boolean;
98
102
  /** Find the anchor element for a given hash */
99
103
  getAnchorElement: (hash?: string | undefined) => Element | null;
100
104
  /** Get the current page URL */
@@ -1 +1 @@
1
- {"version":3,"file":"Swup.d.ts","sourceRoot":"","sources":["../../src/Swup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,KAAK,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAMnD,OAAO,EAAO,KAAK,EAAE,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIxE,+CAA+C;AAC/C,MAAM,MAAM,OAAO,GAAG;IACrB,4DAA4D;IAC5D,sBAAsB,EAAE,OAAO,CAAC;IAChC,iFAAiF;IACjF,iBAAiB,EAAE,MAAM,GAAG,KAAK,CAAC;IAClC,0EAA0E;IAC1E,cAAc,EAAE,MAAM,GAAG,YAAY,CAAC;IACtC,mDAAmD;IACnD,KAAK,EAAE,OAAO,CAAC;IACf,6EAA6E;IAC7E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,6FAA6F;IAC7F,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;QAAE,EAAE,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC;IACtF,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,UAAU,EAAE,sBAAsB,CAAC;IACnC,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,wCAAwC;IACxC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,oEAAoE;IACpE,oBAAoB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC;IACxD,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAqBF,oCAAoC;AACpC,MAAM,CAAC,OAAO,OAAO,IAAI;IACxB,sBAAsB;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAW;IACnC,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAY;IACtC,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,mCAAmC;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,oBAAoB;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAmB;IACzC,yCAAyC;IACzC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACtC,0CAA0C;IAC1C,SAAS,CAAC,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACnD,wBAAwB;IACxB,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAEtC,uBAAuB;IACvB,GAAG,wDAAO;IACV,yBAAyB;IACzB,KAAK,eAAS;IACd,wCAAwC;IACxC,UAAU,oBAAc;IAExB,oEAAoE;IACpE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAY;IAE7D,4BAA4B;IAC5B,QAAQ,kBAAY;IACpB,oCAAoC;IACpC,SAAS,CAAC,iBAAiB,2BAAqB;IAChD,0CAA0C;IAC1C,SAAS,CAAC,WAAW,qBAAe;IACpC,0CAA0C;IAC1C,aAAa,4bAAiB;IAC9B,mCAAmC;IACnC,SAAS,mBAAa;IACtB,iDAAiD;IACjD,eAAe,yBAAmB;IAClC,SAAS,CAAC,UAAU,iFAAc;IAClC,0CAA0C;IAC1C,cAAc;;kBAAkB;IAChC,SAAS,CAAC,aAAa,gCAAiB;IACxC,SAAS,CAAC,cAAc,gCAAkB;IAC1C,SAAS,CAAC,eAAe,0BAAmB;IAC5C,+CAA+C;IAC/C,gBAAgB,gDAAoB;IAEpC,+BAA+B;IAC/B,aAAa;;iBAAiB;IAC9B,0CAA0C;IAC1C,UAAU,oBAAc;IACxB,qDAAqD;IACrD,SAAS,CAAC,iBAAiB,2BAAqB;gBAEpC,OAAO,GAAE,OAAO,CAAC,OAAO,CAAM;IAqB1C,SAAS,CAAC,iBAAiB;IAQ3B,6DAA6D;IACvD,MAAM;IAoCZ,gEAAgE;IAC1D,OAAO;IAuBb,uFAAuF;IACvF,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAE;QAAE,EAAE,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAO;IAsBnF,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC;IAmE1D,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa;IAiD7C,iFAAiF;IACjF,SAAS,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO;CAMrD"}
1
+ {"version":3,"file":"Swup.d.ts","sourceRoot":"","sources":["../../src/Swup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,KAAK,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAMnD,OAAO,EAAO,KAAK,EAAE,UAAU,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIxE,+CAA+C;AAC/C,MAAM,MAAM,OAAO,GAAG;IACrB,4DAA4D;IAC5D,sBAAsB,EAAE,OAAO,CAAC;IAChC,iFAAiF;IACjF,iBAAiB,EAAE,MAAM,GAAG,KAAK,CAAC;IAClC,0EAA0E;IAC1E,cAAc,EAAE,MAAM,GAAG,YAAY,CAAC;IACtC,mDAAmD;IACnD,KAAK,EAAE,OAAO,CAAC;IACf,6EAA6E;IAC7E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,6FAA6F;IAC7F,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;QAAE,EAAE,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC;IACtF,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,UAAU,EAAE,sBAAsB,CAAC;IACnC,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAC;IAChB,sCAAsC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,wCAAwC;IACxC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,oEAAoE;IACpE,oBAAoB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC;IACxD,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAsBF,oCAAoC;AACpC,MAAM,CAAC,OAAO,OAAO,IAAI;IACxB,sBAAsB;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAW;IACnC,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAY;IACtC,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,mCAAmC;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,oBAAoB;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAmB;IACzC,yCAAyC;IACzC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACtC,0CAA0C;IAC1C,SAAS,CAAC,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACnD,wBAAwB;IACxB,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IACtC,+BAA+B;IAC/B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,uBAAuB;IACvB,GAAG,wDAAO;IACV,yBAAyB;IACzB,KAAK,eAAS;IACd,wCAAwC;IACxC,UAAU,oBAAc;IAExB,oEAAoE;IACpE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAY;IAE7D,4BAA4B;IAC5B,QAAQ,kBAAY;IACpB,oCAAoC;IACpC,SAAS,CAAC,iBAAiB,2BAAqB;IAChD,0CAA0C;IAC1C,SAAS,CAAC,WAAW,qBAAe;IACpC,0CAA0C;IAC1C,aAAa,4bAAiB;IAC9B,mCAAmC;IACnC,SAAS,mBAAa;IACtB,iDAAiD;IACjD,eAAe,yBAAmB;IAClC,SAAS,CAAC,UAAU,+FAAc;IAClC,0CAA0C;IAC1C,cAAc;;kBAAkB;IAChC,SAAS,CAAC,aAAa,8CAAiB;IACxC,SAAS,CAAC,cAAc,8CAAkB;IAC1C,SAAS,CAAC,eAAe,wCAAmB;IAC5C,+CAA+C;IAC/C,gBAAgB,gDAAoB;IAEpC,+BAA+B;IAC/B,aAAa;;iBAAiB;IAC9B,0CAA0C;IAC1C,UAAU,oBAAc;IACxB,qDAAqD;IACrD,SAAS,CAAC,iBAAiB,2BAAqB;gBAEpC,OAAO,GAAE,OAAO,CAAC,OAAO,CAAM;IAqB1C,SAAS,CAAC,iBAAiB;IAQ3B,6DAA6D;IACvD,MAAM;IAwCZ,gEAAgE;IAC1D,OAAO;IAwBb,uFAAuF;IACvF,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAE;QAAE,EAAE,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAO;IAsBnF,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC;IAiE1D,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa;IA4C7C,iFAAiF;IACjF,SAAS,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO;CAMrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"Location.d.ts","sourceRoot":"","sources":["../../../src/helpers/Location.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,GAAG;gBACpB,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,IAAI,GAAE,MAAyB;IAK9D;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,QAAQ;IAKzC;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,QAAQ;CAG3C"}
1
+ {"version":3,"file":"Location.d.ts","sourceRoot":"","sources":["../../../src/helpers/Location.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,GAAG;gBACpB,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,IAAI,GAAE,MAAyB;IAM9D;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,QAAQ;IAKzC;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,QAAQ;CAG3C"}
@@ -0,0 +1,14 @@
1
+ export interface HistoryState {
2
+ url: string;
3
+ source: 'swup';
4
+ random: number;
5
+ index?: number;
6
+ [key: string]: unknown;
7
+ }
8
+ type HistoryData = Record<string, unknown>;
9
+ /** Create a new history record with a custom swup identifier. */
10
+ export declare const createHistoryRecord: (url: string, data?: HistoryData) => void;
11
+ /** Update the current history record with a custom swup identifier. */
12
+ export declare const updateHistoryRecord: (url?: string | null, data?: HistoryData) => void;
13
+ export {};
14
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/helpers/history.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,QAAS,MAAM,SAAQ,WAAW,KAAQ,IASzE,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,SAAS,MAAM,GAAG,IAAI,SAAe,WAAW,KAAQ,IAWvF,CAAC"}
@@ -1,6 +1,5 @@
1
1
  export { classify } from './helpers/classify.js';
2
- export { createHistoryRecord } from './helpers/createHistoryRecord.js';
3
- export { updateHistoryRecord } from './helpers/updateHistoryRecord.js';
2
+ export { createHistoryRecord, updateHistoryRecord } from './helpers/history.js';
4
3
  export { delegateEvent } from './helpers/delegateEvent.js';
5
4
  export { getCurrentUrl } from './helpers/getCurrentUrl.js';
6
5
  export { Location } from './helpers/Location.js';
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Classes.d.ts","sourceRoot":"","sources":["../../../src/modules/Classes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAGnC,qBAAa,OAAO;IACnB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IACrB,SAAS,CAAC,WAAW,WAAyE;gBAElF,IAAI,EAAE,IAAI;IAItB,SAAS,KAAK,SAAS,IAAI,MAAM,EAAE,CAMlC;IAED,SAAS,KAAK,QAAQ,IAAI,MAAM,CAE/B;IAED,SAAS,KAAK,OAAO,IAAI,WAAW,EAAE,CAGrC;IAED,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAI/B,MAAM,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAIlC,KAAK,IAAI,IAAI;IAOb,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAGjD"}
1
+ {"version":3,"file":"Classes.d.ts","sourceRoot":"","sources":["../../../src/modules/Classes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAGnC,qBAAa,OAAO;IACnB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IACrB,SAAS,CAAC,WAAW,WAOnB;gBAEU,IAAI,EAAE,IAAI;IAItB,SAAS,KAAK,SAAS,IAAI,MAAM,EAAE,CAMlC;IAED,SAAS,KAAK,QAAQ,IAAI,MAAM,CAE/B;IAED,SAAS,KAAK,OAAO,IAAI,WAAW,EAAE,CAGrC;IAED,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAI/B,MAAM,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAIlC,KAAK,IAAI,IAAI;IAOb,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAGjD"}
@@ -1,6 +1,6 @@
1
1
  import type { DelegateEvent } from 'delegate-it';
2
2
  import type Swup from '../Swup.js';
3
- import type { Visit } from './Visit.js';
3
+ import { Visit } from './Visit.js';
4
4
  import type { FetchOptions, PageData } from './fetchPage.js';
5
5
  export interface HookDefinitions {
6
6
  'animation:out:start': undefined;
@@ -68,15 +68,15 @@ export interface HookDefinitions {
68
68
  };
69
69
  'visit:start': undefined;
70
70
  'visit:transition': undefined;
71
+ 'visit:abort': undefined;
71
72
  'visit:end': undefined;
72
73
  }
73
74
  export interface HookReturnValues {
74
- 'content:scroll': Promise<boolean>;
75
+ 'content:scroll': Promise<boolean> | boolean;
75
76
  'fetch:request': Promise<Response>;
76
77
  'page:load': Promise<PageData>;
77
78
  'scroll:top': boolean;
78
79
  'scroll:anchor': boolean;
79
- 'visit:transition': Promise<boolean>;
80
80
  }
81
81
  export type HookArguments<T extends HookName> = HookDefinitions[T];
82
82
  export type HookName = keyof HookDefinitions;
@@ -221,34 +221,42 @@ export declare class Hooks {
221
221
  * Trigger a hook asynchronously, executing its default handler and all registered handlers.
222
222
  * Will execute all handlers in order and `await` any `Promise`s they return.
223
223
  * @param hook Name of the hook to trigger
224
+ * @param visit The visit object this hook belongs to
224
225
  * @param args Arguments to pass to the handler
225
226
  * @param defaultHandler A default implementation of this hook to execute
226
227
  * @returns The resolved return value of the executed default handler
227
228
  */
229
+ call<T extends HookName>(hook: T, visit: Visit | undefined, args: HookArguments<T>, defaultHandler?: HookDefaultHandler<T>): Promise<Awaited<ReturnType<HookDefaultHandler<T>>>>;
228
230
  call<T extends HookName>(hook: T, args: HookArguments<T>, defaultHandler?: HookDefaultHandler<T>): Promise<Awaited<ReturnType<HookDefaultHandler<T>>>>;
229
231
  /**
230
232
  * Trigger a hook synchronously, executing its default handler and all registered handlers.
231
233
  * Will execute all handlers in order, but will **not** `await` any `Promise`s they return.
232
234
  * @param hook Name of the hook to trigger
235
+ * @param visit The visit object this hook belongs to
233
236
  * @param args Arguments to pass to the handler
234
237
  * @param defaultHandler A default implementation of this hook to execute
235
238
  * @returns The (possibly unresolved) return value of the executed default handler
236
239
  */
240
+ callSync<T extends HookName>(hook: T, visit: Visit | undefined, args: HookArguments<T>, defaultHandler?: HookDefaultHandler<T>): ReturnType<HookDefaultHandler<T>>;
237
241
  callSync<T extends HookName>(hook: T, args: HookArguments<T>, defaultHandler?: HookDefaultHandler<T>): ReturnType<HookDefaultHandler<T>>;
242
+ /**
243
+ * Parse the call arguments for call() and callSync() to allow legacy argument order.
244
+ */
245
+ protected parseCallArgs<T extends HookName>(hook: T, arg1: Visit | HookArguments<T> | undefined, arg2: HookArguments<T> | HookDefaultHandler<T>, arg3?: HookDefaultHandler<T>): [Visit | undefined, HookArguments<T>, HookDefaultHandler<T> | undefined];
238
246
  /**
239
247
  * Execute the handlers for a hook, in order, as `Promise`s that will be `await`ed.
240
248
  * @param registrations The registrations (handler + options) to execute
241
249
  * @param args Arguments to pass to the handler
242
250
  */
243
- protected run<T extends HookName>(registrations: HookRegistration<T, HookDefaultHandler<T>>[], args: HookArguments<T>): Promise<Awaited<ReturnType<HookDefaultHandler<T>>>[]>;
244
- protected run<T extends HookName>(registrations: HookRegistration<T>[], args: HookArguments<T>): Promise<unknown[]>;
251
+ protected run<T extends HookName>(registrations: HookRegistration<T, HookDefaultHandler<T>>[], visit: Visit | undefined, args: HookArguments<T>): Promise<Awaited<ReturnType<HookDefaultHandler<T>>>[]>;
252
+ protected run<T extends HookName>(registrations: HookRegistration<T>[], visit: Visit | undefined, args: HookArguments<T>): Promise<unknown[]>;
245
253
  /**
246
254
  * Execute the handlers for a hook, in order, without `await`ing any returned `Promise`s.
247
255
  * @param registrations The registrations (handler + options) to execute
248
256
  * @param args Arguments to pass to the handler
249
257
  */
250
- protected runSync<T extends HookName>(registrations: HookRegistration<T, HookDefaultHandler<T>>[], args: HookArguments<T>): ReturnType<HookDefaultHandler<T>>[];
251
- protected runSync<T extends HookName>(registrations: HookRegistration<T>[], args: HookArguments<T>): unknown[];
258
+ protected runSync<T extends HookName>(registrations: HookRegistration<T, HookDefaultHandler<T>>[], visit: Visit | undefined, args: HookArguments<T>): ReturnType<HookDefaultHandler<T>>[];
259
+ protected runSync<T extends HookName>(registrations: HookRegistration<T>[], visit: Visit | undefined, args: HookArguments<T>): unknown[];
252
260
  /**
253
261
  * Get all registered handlers for a hook, sorted by priority and registration order.
254
262
  * @param hook Name of the hook
@@ -274,7 +282,7 @@ export declare class Hooks {
274
282
  * Dispatch a custom event on the `document` for a hook. Prefixed with `swup:`
275
283
  * @param hook Name of the hook.
276
284
  */
277
- protected dispatchDomEvent<T extends HookName>(hook: T, args?: HookArguments<T>): void;
285
+ protected dispatchDomEvent<T extends HookName>(hook: T, visit: Visit | undefined, args?: HookArguments<T>): void;
278
286
  }
279
287
  export {};
280
288
  //# sourceMappingURL=Hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Hooks.d.ts","sourceRoot":"","sources":["../../../src/modules/Hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Hooks.d.ts","sourceRoot":"","sources":["../../../src/modules/Hooks.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,7 @@
1
1
  import type Swup from '../Swup.js';
2
2
  import type { Options } from '../Swup.js';
3
3
  import type { HistoryAction, HistoryDirection } from './navigate.js';
4
- /** An object holding details about the current visit. */
5
- export interface Visit {
6
- /** A unique ID to identify this visit */
7
- id: number;
8
- /** The previous page, about to leave */
9
- from: VisitFrom;
10
- /** The next page, about to enter */
11
- to: VisitTo;
12
- /** The content containers, about to be replaced */
13
- containers: Options['containers'];
14
- /** Information about animated page transitions */
15
- animation: VisitAnimation;
16
- /** What triggered this visit */
17
- trigger: VisitTrigger;
18
- /** Cache behavior for this visit */
19
- cache: VisitCache;
20
- /** Browser history behavior on this visit */
21
- history: VisitHistory;
22
- /** Scroll behavior on this visit */
23
- scroll: VisitScroll;
24
- }
4
+ /** See below for the class Visit {} definition */
25
5
  export interface VisitFrom {
26
6
  /** The URL of the previous page */
27
7
  url: string;
@@ -41,6 +21,8 @@ export interface VisitAnimation {
41
21
  wait: boolean;
42
22
  /** Name of a custom animation to run. */
43
23
  name?: string;
24
+ /** Whether this animation uses the native browser ViewTransition API. Default: `false` */
25
+ native: boolean;
44
26
  /** Elements on which to add animation classes. Default: `html` element */
45
27
  scope: 'html' | 'containers' | string[];
46
28
  /** Selector for detecting animation timing. Default: `[class*="transition-"]` */
@@ -79,6 +61,30 @@ export interface VisitInitOptions {
79
61
  el?: Element;
80
62
  event?: Event;
81
63
  }
64
+ /** An object holding details about the current visit. */
65
+ export declare class Visit {
66
+ /** A unique ID to identify this visit */
67
+ id: number;
68
+ /** The previous page, about to leave */
69
+ from: VisitFrom;
70
+ /** The next page, about to enter */
71
+ to: VisitTo;
72
+ /** The content containers, about to be replaced */
73
+ containers: Options['containers'];
74
+ /** Information about animated page transitions */
75
+ animation: VisitAnimation;
76
+ /** What triggered this visit */
77
+ trigger: VisitTrigger;
78
+ /** Cache behavior for this visit */
79
+ cache: VisitCache;
80
+ /** Browser history behavior on this visit */
81
+ history: VisitHistory;
82
+ /** Scroll behavior on this visit */
83
+ scroll: VisitScroll;
84
+ constructor(swup: Swup, options: VisitInitOptions);
85
+ /** Is this visit done, i.e. completed, failed, or aborted? */
86
+ get done(): boolean;
87
+ }
82
88
  /** Create a new visit object. */
83
- export declare function createVisit(this: Swup, { to, from, hash, el, event }: VisitInitOptions): Visit;
89
+ export declare function createVisit(this: Swup, options: VisitInitOptions): Visit;
84
90
  //# sourceMappingURL=Visit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Visit.d.ts","sourceRoot":"","sources":["../../../src/modules/Visit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAErE,yDAAyD;AACzD,MAAM,WAAW,KAAK;IACrB,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,oCAAoC;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,mDAAmD;IACnD,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,kDAAkD;IAClD,SAAS,EAAE,cAAc,CAAC;IAC1B,gCAAgC;IAChC,OAAO,EAAE,YAAY,CAAC;IACtB,oCAAoC;IACpC,KAAK,EAAE,UAAU,CAAC;IAClB,6CAA6C;IAC7C,OAAO,EAAE,YAAY,CAAC;IACtB,oCAAoC;IACpC,MAAM,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACzB,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,OAAO;IACvB,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC9B,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,gGAAgG;IAChG,IAAI,EAAE,OAAO,CAAC;IACd,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,MAAM,EAAE,CAAC;IACxC,iFAAiF;IACjF,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC3B,4EAA4E;IAC5E,KAAK,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC5B,6CAA6C;IAC7C,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,2CAA2C;IAC3C,KAAK,CAAC,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IAC1B,yEAAyE;IACzE,IAAI,EAAE,OAAO,CAAC;IACd,6DAA6D;IAC7D,KAAK,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC5B,qIAAqI;IACrI,MAAM,EAAE,aAAa,CAAC;IACtB,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,4FAA4F;IAC5F,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;CACd;AAED,iCAAiC;AACjC,wBAAgB,WAAW,CAC1B,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,EAAE,IAA0B,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,gBAAgB,GACnE,KAAK,CA+BP"}
1
+ {"version":3,"file":"Visit.d.ts","sourceRoot":"","sources":["../../../src/modules/Visit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAErE,kDAAkD;AAGlD,MAAM,WAAW,SAAS;IACzB,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,OAAO;IACvB,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC9B,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,gGAAgG;IAChG,IAAI,EAAE,OAAO,CAAC;IACd,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,MAAM,EAAE,OAAO,CAAC;IAChB,0EAA0E;IAC1E,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,MAAM,EAAE,CAAC;IACxC,iFAAiF;IACjF,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC3B,4EAA4E;IAC5E,KAAK,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC5B,6CAA6C;IAC7C,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,2CAA2C;IAC3C,KAAK,CAAC,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IAC1B,yEAAyE;IACzE,IAAI,EAAE,OAAO,CAAC;IACd,6DAA6D;IAC7D,KAAK,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC5B,qIAAqI;IACrI,MAAM,EAAE,aAAa,CAAC;IACtB,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,4FAA4F;IAC5F,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;CACd;AAkBD,yDAAyD;AACzD,qBAAa,KAAK;IACjB,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IAGX,wCAAwC;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,oCAAoC;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,mDAAmD;IACnD,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,kDAAkD;IAClD,SAAS,EAAE,cAAc,CAAC;IAC1B,gCAAgC;IAChC,OAAO,EAAE,YAAY,CAAC;IACtB,oCAAoC;IACpC,KAAK,EAAE,UAAU,CAAC;IAClB,6CAA6C;IAC7C,OAAO,EAAE,YAAY,CAAC;IACtB,oCAAoC;IACpC,MAAM,EAAE,WAAW,CAAC;gBAER,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB;IA2CjD,8DAA8D;IAC9D,IAAI,IAAI,IAAI,OAAO,CAElB;CACD;AAED,iCAAiC;AACjC,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,GAAG,KAAK,CAExE"}
@@ -1,7 +1,8 @@
1
1
  import type Swup from '../Swup.js';
2
+ import type { Visit } from './Visit.js';
2
3
  /**
3
4
  * Perform the in/enter animation of the next page.
4
5
  * @returns Promise<void>
5
6
  */
6
- export declare const animatePageIn: (this: Swup) => Promise<void>;
7
+ export declare const animatePageIn: (this: Swup, visit: Visit) => Promise<void>;
7
8
  //# sourceMappingURL=animatePageIn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"animatePageIn.d.ts","sourceRoot":"","sources":["../../../src/modules/animatePageIn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAGnC;;;GAGG;AACH,eAAO,MAAM,aAAa,SAAyB,IAAI,kBAuBtD,CAAC"}
1
+ {"version":3,"file":"animatePageIn.d.ts","sourceRoot":"","sources":["../../../src/modules/animatePageIn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,aAAa,SAAyB,IAAI,SAAS,KAAK,kBAuBpE,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type Swup from '../Swup.js';
2
+ import type { Visit } from './Visit.js';
2
3
  /**
3
4
  * Perform the out/leave animation of the current page.
4
5
  * @returns Promise<void>
5
6
  */
6
- export declare const animatePageOut: (this: Swup) => Promise<void>;
7
+ export declare const animatePageOut: (this: Swup, visit: Visit) => Promise<void>;
7
8
  //# sourceMappingURL=animatePageOut.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"animatePageOut.d.ts","sourceRoot":"","sources":["../../../src/modules/animatePageOut.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAGnC;;;GAGG;AACH,eAAO,MAAM,cAAc,SAAyB,IAAI,kBAsBvD,CAAC"}
1
+ {"version":3,"file":"animatePageOut.d.ts","sourceRoot":"","sources":["../../../src/modules/animatePageOut.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,cAAc,SAAyB,IAAI,SAAS,KAAK,kBAWrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchPage.d.ts","sourceRoot":"","sources":["../../../src/modules/fetchPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAGnC,mDAAmD;AACnD,MAAM,WAAW,QAAQ;IACxB,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACb;AAED,oCAAoC;AACpC,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;IAC/D,0BAA0B;IAC1B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,eAAe,CAAC;IAC3C,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,UAAW,SAAQ,KAAK;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;gBAEjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;CASjF;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC9B,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,GAAG,MAAM,EACjB,OAAO,GAAE,YAAiB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAqEnB"}
1
+ {"version":3,"file":"fetchPage.d.ts","sourceRoot":"","sources":["../../../src/modules/fetchPage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAInC,mDAAmD;AACnD,MAAM,WAAW,QAAQ;IACxB,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACb;AAED,oCAAoC;AACpC,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;IAC/D,0BAA0B;IAC1B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,eAAe,CAAC;IAC3C,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAGjB;AAED,qBAAa,UAAW,SAAQ,KAAK;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;gBAEjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE;CASjF;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC9B,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,GAAG,MAAM,EACjB,OAAO,GAAE,YAAiB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAgEnB"}
@@ -1,6 +1,6 @@
1
1
  import type Swup from '../Swup.js';
2
2
  import { type FetchOptions } from './fetchPage.js';
3
- import type { VisitInitOptions } from './Visit.js';
3
+ import { type VisitInitOptions, type Visit } from './Visit.js';
4
4
  export type HistoryAction = 'push' | 'replace';
5
5
  export type HistoryDirection = 'forwards' | 'backwards';
6
6
  export type NavigationToSelfAction = 'scroll' | 'navigate';
@@ -37,6 +37,6 @@ export declare function navigate(this: Swup, url: string, options?: NavigationOp
37
37
  * @param options Options for how to perform this visit.
38
38
  * @returns Promise<void>
39
39
  */
40
- export declare function performNavigation(this: Swup, options?: NavigationOptions & FetchOptions): Promise<void>;
40
+ export declare function performNavigation(this: Swup, visit: Visit, options?: NavigationOptions & FetchOptions): Promise<void>;
41
41
  export {};
42
42
  //# sourceMappingURL=navigate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../src/modules/navigate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAc,KAAK,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AAC/C,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,WAAW,CAAC;AACxD,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAEtE,wCAAwC;AACxC,KAAK,iBAAiB,GAAG;IACxB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qIAAqI;IACrI,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,iEAAiE;IACjE,KAAK,CAAC,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,QAAQ,CACvB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAiB,GAAG,YAAiB,EAC9C,IAAI,GAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAM,QAevC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,iBAAiB,GAAG,YAAiB,GAC5C,OAAO,CAAC,IAAI,CAAC,CA6Hf"}
1
+ {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../src/modules/navigate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,EAAc,KAAK,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,KAAK,EAAc,MAAM,YAAY,CAAC;AAS3E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AAC/C,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,WAAW,CAAC;AACxD,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAEtE,wCAAwC;AACxC,KAAK,iBAAiB,GAAG;IACxB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qIAAqI;IACrI,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,iEAAiE;IACjE,KAAK,CAAC,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,QAAQ,CACvB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAiB,GAAG,YAAiB,EAC9C,IAAI,GAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAM,QAgBvC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,iBAAiB,GAAG,YAAiB,GAC5C,OAAO,CAAC,IAAI,CAAC,CAiKf"}
@@ -1,7 +1,8 @@
1
1
  import type Swup from '../Swup.js';
2
2
  import type { PageData } from './fetchPage.js';
3
+ import { type Visit } from './Visit.js';
3
4
  /**
4
5
  * Render the next page: replace the content and update scroll position.
5
6
  */
6
- export declare const renderPage: (this: Swup, page: PageData) => Promise<void>;
7
+ export declare const renderPage: (this: Swup, visit: Visit, page: PageData) => Promise<void>;
7
8
  //# sourceMappingURL=renderPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderPage.d.ts","sourceRoot":"","sources":["../../../src/modules/renderPage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,UAAU,SAAyB,IAAI,QAAQ,QAAQ,KAAG,QAAQ,IAAI,CA0ClF,CAAC"}
1
+ {"version":3,"file":"renderPage.d.ts","sourceRoot":"","sources":["../../../src/modules/renderPage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,UAAU,SAAyB,IAAI,SAAS,KAAK,QAAQ,QAAQ,KAAG,QAAQ,IAAI,CA2ChG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"replaceContent.d.ts","sourceRoot":"","sources":["../../../src/modules/replaceContent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,SACpB,IAAI,YACA,QAAQ;gBACY,OAAO,CAAC,YAAY,CAAC;MACjD,OAuCF,CAAC"}
1
+ {"version":3,"file":"replaceContent.d.ts","sourceRoot":"","sources":["../../../src/modules/replaceContent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,SACpB,IAAI,YACA,QAAQ;gBACY,OAAO,CAAC,YAAY,CAAC;MACjD,OAwCF,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type Swup from '../Swup.js';
2
+ import type { Visit } from './Visit.js';
2
3
  /**
3
4
  * Update the scroll position after page render.
4
5
  * @returns Promise<boolean>
5
6
  */
6
- export declare const scrollToContent: (this: Swup) => boolean;
7
+ export declare const scrollToContent: (this: Swup, visit: Visit) => boolean;
7
8
  //# sourceMappingURL=scrollToContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scrollToContent.d.ts","sourceRoot":"","sources":["../../../src/modules/scrollToContent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,eAAe,SAAmB,IAAI,KAAG,OA6BrD,CAAC"}
1
+ {"version":3,"file":"scrollToContent.d.ts","sourceRoot":"","sources":["../../../src/modules/scrollToContent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,eAAe,SAAmB,IAAI,SAAS,KAAK,KAAG,OA8BnE,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "swup",
3
3
  "amdName": "Swup",
4
- "version": "4.4.4",
4
+ "version": "4.5.0",
5
5
  "description": "Versatile and extensible page transition library for server-rendered websites",
6
6
  "type": "module",
7
7
  "source": "./src/Swup.ts",
@@ -67,6 +67,7 @@
67
67
  "@playwright/test": "^1.37.1",
68
68
  "@swup/browserslist-config": "^1.0.0",
69
69
  "@swup/prettier-config": "^1.0.0",
70
+ "@types/dom-view-transitions": "^1.0.2",
70
71
  "@types/jsdom": "^21.1.1",
71
72
  "@typescript-eslint/eslint-plugin": "^6.3.0",
72
73
  "@typescript-eslint/parser": "^6.3.0",
package/src/Swup.ts CHANGED
@@ -21,7 +21,7 @@ import { renderPage } from './modules/renderPage.js';
21
21
  import { use, unuse, findPlugin, type Plugin } from './modules/plugins.js';
22
22
  import { isSameResolvedUrl, resolveUrl } from './modules/resolveUrl.js';
23
23
  import { nextTick } from './utils.js';
24
- import { type HistoryState } from './helpers/createHistoryRecord.js';
24
+ import { type HistoryState } from './helpers/history.js';
25
25
 
26
26
  /** Options for customizing swup's behavior. */
27
27
  export type Options = {
@@ -41,6 +41,8 @@ export type Options = {
41
41
  linkSelector: string;
42
42
  /** How swup handles links to the same page. Default: `scroll` */
43
43
  linkToSelf: NavigationToSelfAction;
44
+ /** Enable native animations using the View Transitions API. */
45
+ native: boolean;
44
46
  /** Plugins to register on startup. */
45
47
  plugins: Plugin[];
46
48
  /** Custom headers sent along with fetch requests. */
@@ -62,6 +64,7 @@ const defaults: Options = {
62
64
  ignoreVisit: (url, { el } = {}) => !!el?.closest('[data-no-swup]'),
63
65
  linkSelector: 'a[href]',
64
66
  linkToSelf: 'scroll',
67
+ native: false,
65
68
  plugins: [],
66
69
  resolveUrl: (url) => url,
67
70
  requestHeaders: {
@@ -98,6 +101,8 @@ export default class Swup {
98
101
  protected clickDelegate?: DelegateEventUnsubscribe;
99
102
  /** Navigation status */
100
103
  protected navigating: boolean = false;
104
+ /** Run anytime a visit ends */
105
+ protected onVisitEnd?: () => Promise<unknown>;
101
106
 
102
107
  /** Install a plugin */
103
108
  use = use;
@@ -185,6 +190,9 @@ export default class Swup {
185
190
  // https://github.com/swup/swup/issues/475
186
191
  }
187
192
 
193
+ // Sanitize/check native option
194
+ this.options.native = this.options.native && !!document.startViewTransition;
195
+
188
196
  // Mount plugins
189
197
  this.options.plugins.forEach((plugin) => this.use(plugin));
190
198
 
@@ -197,9 +205,10 @@ export default class Swup {
197
205
  await nextTick();
198
206
 
199
207
  // Trigger enable hook
200
- await this.hooks.call('enable', undefined, () => {
201
- // Add swup-enabled class to html tag
202
- document.documentElement.classList.add('swup-enabled');
208
+ await this.hooks.call('enable', undefined, undefined, () => {
209
+ const html = document.documentElement;
210
+ html.classList.add('swup-enabled');
211
+ html.classList.toggle('swup-native', this.options.native);
203
212
  });
204
213
  }
205
214
 
@@ -218,9 +227,10 @@ export default class Swup {
218
227
  this.options.plugins.forEach((plugin) => this.unuse(plugin));
219
228
 
220
229
  // trigger disable hook
221
- await this.hooks.call('disable', undefined, () => {
222
- // remove swup-enabled class from html tag
223
- document.documentElement.classList.remove('swup-enabled');
230
+ await this.hooks.call('disable', undefined, undefined, () => {
231
+ const html = document.documentElement;
232
+ html.classList.remove('swup-enabled');
233
+ html.classList.remove('swup-native');
224
234
  });
225
235
 
226
236
  // remove handlers
@@ -265,11 +275,11 @@ export default class Swup {
265
275
  return;
266
276
  }
267
277
 
268
- this.visit = this.createVisit({ to: url, hash, el, event });
278
+ const visit = this.createVisit({ to: url, hash, el, event });
269
279
 
270
280
  // Exit early if control key pressed
271
281
  if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) {
272
- this.hooks.call('link:newtab', { href });
282
+ this.hooks.callSync('link:newtab', visit, { href });
273
283
  return;
274
284
  }
275
285
 
@@ -278,8 +288,8 @@ export default class Swup {
278
288
  return;
279
289
  }
280
290
 
281
- this.hooks.callSync('link:click', { el, event }, () => {
282
- const from = this.visit.from.url ?? '';
291
+ this.hooks.callSync('link:click', visit, { el, event }, () => {
292
+ const from = visit.from.url ?? '';
283
293
 
284
294
  event.preventDefault();
285
295
 
@@ -287,20 +297,18 @@ export default class Swup {
287
297
  if (!url || url === from) {
288
298
  if (hash) {
289
299
  // With hash: scroll to anchor
290
- this.hooks.callSync('link:anchor', { hash }, () => {
300
+ this.hooks.callSync('link:anchor', visit, { hash }, () => {
291
301
  updateHistoryRecord(url + hash);
292
- this.scrollToContent();
302
+ this.scrollToContent(visit);
293
303
  });
294
304
  } else {
295
305
  // Without hash: scroll to top or load/reload page
296
- this.hooks.callSync('link:self', undefined, () => {
297
- switch (this.options.linkToSelf) {
298
- case 'navigate':
299
- return this.performNavigation();
300
- case 'scroll':
301
- default:
302
- updateHistoryRecord(url);
303
- return this.scrollToContent();
306
+ this.hooks.callSync('link:self', visit, undefined, () => {
307
+ if (this.options.linkToSelf === 'navigate') {
308
+ this.performNavigation(visit);
309
+ } else {
310
+ updateHistoryRecord(url);
311
+ this.scrollToContent(visit);
304
312
  }
305
313
  });
306
314
  }
@@ -313,7 +321,7 @@ export default class Swup {
313
321
  }
314
322
 
315
323
  // Finally, proceed with loading the page
316
- this.performNavigation();
324
+ this.performNavigation(visit);
317
325
  });
318
326
  }
319
327
 
@@ -332,37 +340,32 @@ export default class Swup {
332
340
 
333
341
  const { url, hash } = Location.fromUrl(href);
334
342
 
335
- this.visit = this.createVisit({ to: url, hash, event });
343
+ const visit = this.createVisit({ to: url, hash, event });
336
344
 
337
345
  // Mark as history visit
338
- this.visit.history.popstate = true;
346
+ visit.history.popstate = true;
339
347
 
340
348
  // Determine direction of history visit
341
349
  const index = (event.state as HistoryState)?.index ?? 0;
342
350
  if (index && index !== this.currentHistoryIndex) {
343
351
  const direction = index - this.currentHistoryIndex > 0 ? 'forwards' : 'backwards';
344
- this.visit.history.direction = direction;
352
+ visit.history.direction = direction;
345
353
  this.currentHistoryIndex = index;
346
354
  }
347
355
 
348
356
  // Disable animation & scrolling for history visits
349
- this.visit.animation.animate = false;
350
- this.visit.scroll.reset = false;
351
- this.visit.scroll.target = false;
357
+ visit.animation.animate = false;
358
+ visit.scroll.reset = false;
359
+ visit.scroll.target = false;
352
360
 
353
361
  // Animated history visit: re-enable animation & scroll reset
354
362
  if (this.options.animateHistoryBrowsing) {
355
- this.visit.animation.animate = true;
356
- this.visit.scroll.reset = true;
363
+ visit.animation.animate = true;
364
+ visit.scroll.reset = true;
357
365
  }
358
366
 
359
- // Does this even do anything?
360
- // if (!hash) {
361
- // event.preventDefault();
362
- // }
363
-
364
- this.hooks.callSync('history:popstate', { event }, () => {
365
- this.performNavigation();
367
+ this.hooks.callSync('history:popstate', visit, { event }, () => {
368
+ this.performNavigation(visit);
366
369
  });
367
370
  }
368
371
 
@@ -6,6 +6,7 @@
6
6
  export class Location extends URL {
7
7
  constructor(url: URL | string, base: string = document.baseURI) {
8
8
  super(url.toString(), base);
9
+ // Fix Safari bug with extending native classes
9
10
  Object.setPrototypeOf(this, Location.prototype);
10
11
  }
11
12