netjes 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/README.md +13 -11
  2. package/cli/agents.mjs +25 -2
  3. package/cli/commands.mjs +56 -6
  4. package/cli/help.mjs +7 -2
  5. package/cli/info.mjs +275 -33
  6. package/cli/routes.mjs +35 -8
  7. package/cli/scaffold.mjs +31 -4
  8. package/dist/actions.d.ts +7 -2
  9. package/dist/actions.d.ts.map +1 -1
  10. package/dist/actions.js +9 -3
  11. package/dist/actions.js.map +1 -1
  12. package/dist/client-entry.d.ts +1 -0
  13. package/dist/client-entry.d.ts.map +1 -1
  14. package/dist/client-entry.js +19 -2
  15. package/dist/client-entry.js.map +1 -1
  16. package/dist/deferred.d.ts +11 -0
  17. package/dist/deferred.d.ts.map +1 -1
  18. package/dist/deferred.js +15 -1
  19. package/dist/deferred.js.map +1 -1
  20. package/dist/document.d.ts.map +1 -1
  21. package/dist/document.js +10 -1
  22. package/dist/document.js.map +1 -1
  23. package/dist/errors.d.ts +7 -0
  24. package/dist/errors.d.ts.map +1 -0
  25. package/dist/errors.js +11 -0
  26. package/dist/errors.js.map +1 -0
  27. package/dist/form.d.ts +5 -5
  28. package/dist/form.d.ts.map +1 -1
  29. package/dist/form.js +5 -2
  30. package/dist/form.js.map +1 -1
  31. package/dist/href.d.ts +31 -3
  32. package/dist/href.d.ts.map +1 -1
  33. package/dist/href.js +131 -10
  34. package/dist/href.js.map +1 -1
  35. package/dist/image.d.ts +3 -3
  36. package/dist/image.d.ts.map +1 -1
  37. package/dist/image.js.map +1 -1
  38. package/dist/index.d.ts +3 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +3 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/link.d.ts +15 -7
  43. package/dist/link.d.ts.map +1 -1
  44. package/dist/link.js +38 -7
  45. package/dist/link.js.map +1 -1
  46. package/dist/metadata.d.ts +8 -2
  47. package/dist/metadata.d.ts.map +1 -1
  48. package/dist/metadata.js +14 -5
  49. package/dist/metadata.js.map +1 -1
  50. package/dist/modules.d.ts +15 -1
  51. package/dist/modules.d.ts.map +1 -1
  52. package/dist/modules.js.map +1 -1
  53. package/dist/mounted.d.ts +55 -0
  54. package/dist/mounted.d.ts.map +1 -0
  55. package/dist/mounted.js +110 -0
  56. package/dist/mounted.js.map +1 -0
  57. package/dist/navigation-focus.d.ts +38 -0
  58. package/dist/navigation-focus.d.ts.map +1 -0
  59. package/dist/navigation-focus.js +71 -0
  60. package/dist/navigation-focus.js.map +1 -0
  61. package/dist/payload.d.ts +8 -0
  62. package/dist/payload.d.ts.map +1 -1
  63. package/dist/payload.js +28 -0
  64. package/dist/payload.js.map +1 -1
  65. package/dist/query.d.ts +5 -2
  66. package/dist/query.d.ts.map +1 -1
  67. package/dist/query.js +11 -8
  68. package/dist/query.js.map +1 -1
  69. package/dist/render-document.d.ts +74 -0
  70. package/dist/render-document.d.ts.map +1 -0
  71. package/dist/render-document.js +393 -0
  72. package/dist/render-document.js.map +1 -0
  73. package/dist/route-announcer.d.ts +18 -0
  74. package/dist/route-announcer.d.ts.map +1 -0
  75. package/dist/route-announcer.js +58 -0
  76. package/dist/route-announcer.js.map +1 -0
  77. package/dist/route-tree.d.ts +6 -2
  78. package/dist/route-tree.d.ts.map +1 -1
  79. package/dist/route-tree.js +17 -7
  80. package/dist/route-tree.js.map +1 -1
  81. package/dist/router.d.ts +28 -5
  82. package/dist/router.d.ts.map +1 -1
  83. package/dist/router.js +71 -26
  84. package/dist/router.js.map +1 -1
  85. package/dist/script.d.ts +28 -5
  86. package/dist/script.d.ts.map +1 -1
  87. package/dist/script.js +192 -21
  88. package/dist/script.js.map +1 -1
  89. package/dist/server-render.d.ts.map +1 -1
  90. package/dist/server-render.js +4 -1
  91. package/dist/server-render.js.map +1 -1
  92. package/dist/testing-vitest.d.ts +8 -0
  93. package/dist/testing-vitest.d.ts.map +1 -0
  94. package/dist/testing-vitest.js +26 -0
  95. package/dist/testing-vitest.js.map +1 -0
  96. package/dist/testing.d.ts +17 -1
  97. package/dist/testing.d.ts.map +1 -1
  98. package/dist/testing.js +18 -3
  99. package/dist/testing.js.map +1 -1
  100. package/dist/zod-jitless.d.ts +2 -0
  101. package/dist/zod-jitless.d.ts.map +1 -0
  102. package/dist/zod-jitless.js +4 -0
  103. package/dist/zod-jitless.js.map +1 -0
  104. package/package.json +1 -1
  105. package/sidecar/server.mjs +109 -15
  106. package/skills/netjes/SKILL.md +15 -7
  107. package/skills/netjes/references/caching-and-streaming.md +37 -4
  108. package/skills/netjes/references/data-and-actions.md +15 -7
  109. package/skills/netjes/references/deployment.md +7 -3
  110. package/skills/netjes/references/routing.md +32 -9
  111. package/skills/netjes/references/testing.md +23 -7
  112. package/src/actions.tsx +9 -3
  113. package/src/client-entry.tsx +20 -2
  114. package/src/deferred.ts +14 -1
  115. package/src/document.tsx +22 -3
  116. package/src/errors.ts +12 -0
  117. package/src/form.tsx +10 -7
  118. package/src/href.ts +137 -11
  119. package/src/image.tsx +3 -3
  120. package/src/index.ts +19 -1
  121. package/src/link.tsx +47 -13
  122. package/src/metadata.tsx +19 -6
  123. package/src/modules.ts +15 -2
  124. package/src/mounted.tsx +160 -0
  125. package/src/navigation-focus.ts +75 -0
  126. package/src/payload.ts +32 -0
  127. package/src/query.tsx +14 -8
  128. package/src/render-document.tsx +483 -0
  129. package/src/route-announcer.tsx +69 -0
  130. package/src/route-tree.tsx +17 -6
  131. package/src/router.tsx +116 -31
  132. package/src/script.tsx +214 -23
  133. package/src/server-render.tsx +4 -1
  134. package/src/testing-vitest.ts +37 -0
  135. package/src/testing.tsx +38 -5
  136. package/src/virtual.d.ts +8 -1
  137. package/src/zod-jitless.ts +15 -0
  138. package/template/.dockerignore +3 -0
  139. package/template/Dockerfile +11 -1
  140. package/template/README.md +11 -7
  141. package/template/_AGENTS.md +38 -9
  142. package/template/__NAME__.csproj +2 -0
  143. package/template/app/document.test.ts +29 -0
  144. package/template/app/error.tsx +3 -2
  145. package/template/app/layout.tsx +10 -1
  146. package/template/docker-compose.override.yml +4 -3
  147. package/template/docker-compose.prod.yml +2 -1
  148. package/template/e2e/home.spec.ts +32 -0
  149. package/template/generated/netjes.ts +43 -14
  150. package/template/package.json +4 -1
  151. package/template/playwright.config.ts +36 -0
  152. package/template/tests/__NAME__.Tests/AppFactory.cs +31 -0
  153. package/template/tests/__NAME__.Tests/HomePageTests.cs +55 -0
  154. package/template/tests/__NAME__.Tests/__NAME__.Tests.csproj +30 -0
  155. package/template/tsconfig.app.json +20 -0
  156. package/template/tsconfig.json +2 -17
  157. package/template/tsconfig.node.json +8 -0
  158. package/vite/packages.mjs +345 -0
  159. package/vite/plugin.d.ts +16 -1
  160. package/vite/plugin.mjs +224 -34
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.tsx"],"names":[],"mappings":"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"}
package/dist/modules.d.ts CHANGED
@@ -8,10 +8,24 @@ export type LayoutProps = {
8
8
  params: Params;
9
9
  };
10
10
  export type LayoutComponent = ComponentType<LayoutProps & Record<string, unknown>>;
11
- /** The props of an `error.tsx`: what was thrown, and a way to try rendering the segment again. */
11
+ /**
12
+ * The props of an `error.tsx`: what was thrown, and a way to try again.
13
+ *
14
+ * - `error.status` is the HTTP status of a server answer behind the error: the status of the error page the server
15
+ * rendered, or of a server action call that failed. An error thrown in the browser has none.
16
+ * - `error.withheld` is true when the message is Netjes's stand-in for one it does not show: the server's reason
17
+ * phrase for an exception while error details are off, "Something went wrong" for a `Page.Defer` failure the server
18
+ * withheld or a thrown value that has no message, or Netjes's own text for a server action whose answer had no
19
+ * message. Render `error.message` only when `!error.withheld`.
20
+ * - `error.stack` is the server's stack when error details are on, and undefined for a server error sent without one.
21
+ * - `reset()` renders the segment again after an error a segment's boundary caught. On an error page the server
22
+ * rendered it loads the page from the server again (`router.refresh()`), and on the page the router's own boundary
23
+ * shows it does nothing: offer a link or a full reload there.
24
+ */
12
25
  export type ErrorPageProps = {
13
26
  error: Error & {
14
27
  status?: number;
28
+ withheld?: boolean;
15
29
  };
16
30
  reset: () => void;
17
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACnE,+IAA+I;AAC/I,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACnF,kGAAkG;AAClG,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,KAAK,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAEvF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACtC,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC,CAAC;CAClE,CAAC;AAEF,iGAAiG;AACjG,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE9G,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,yDAAyD;IACzD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/C,SAAS,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACnG,CAAC;AAEF,2GAA2G;AAC3G,qBAAa,kBAAmB,SAAQ,KAAK;IAClC,IAAI,SAAwB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,YAAY,IAAI,EAAE,MAAM,EAGvB;CACF;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAC/B,IAAI,SAAqB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,YAAY,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAGvC;CACF;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAOF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,GAAE,mBAAwB,GAAG,YAAY,CA2DtG"}
1
+ {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACnE,+IAA+I;AAC/I,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACnF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,KAAK,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAE3G,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACtC,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC,CAAC;CAClE,CAAC;AAEF,iGAAiG;AACjG,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE9G,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,yDAAyD;IACzD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/C,SAAS,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACnG,CAAC;AAEF,2GAA2G;AAC3G,qBAAa,kBAAmB,SAAQ,KAAK;IAClC,IAAI,SAAwB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,YAAY,IAAI,EAAE,MAAM,EAGvB;CACF;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAC/B,IAAI,SAAqB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,YAAY,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAGvC;CACF;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAOF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,GAAE,mBAAwB,GAAG,YAAY,CA2DtG"}
@@ -1 +1 @@
1
- {"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAmCA,2GAA2G;AAC3G,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,IAAI,GAAG,oBAAoB,CAAC;IAC5B,IAAI,CAAS;IACtB,YAAY,IAAY;QACtB,KAAK,CAAC,yBAAyB,IAAI,gBAAgB,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,GAAG,iBAAiB,CAAC;IACzB,IAAI,CAAS;IACtB,YAAY,IAAY,EAAE,KAAc;QACtC,KAAK,CAAC,WAAW,IAAI,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACpH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAWD,SAAS,WAAW,CAAC,KAAc;IACjC,kFAAkF;IAClF,OAAO,OAAO,KAAK,KAAK,UAAU,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,IAAI,KAAK,CAAC,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAkB,EAAE,OAAO,GAAwB,EAAE;IACtF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyC,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE7C,SAAS,IAAI,CAAC,IAAY;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,IAAI,CAC7B,CAAC,MAAM,EAAE,EAAE;YACT,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACpH,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,uDAAuD,CAAC,CAAC;YACrH,MAAM,QAAQ,GAAI,MAAiC,CAAC,QAAQ,CAAC;YAC7D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;gBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAoB,CAAC,CAAC;YAChG,OAAO,SAAS,CAAC;QACnB,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7E,CAAC,CACF,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI;QACJ,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QACxC,KAAK,CAAC,SAAS,CAAC,KAAK;YACnB,MAAM,QAAQ,GAAG,CAAC,IAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YAChG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACpC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;oBACnC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1D,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CACjF,CAAC;oBACF,MAAM,MAAM,GAAkB,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;oBACjD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;wBAClB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAU,CAAC,CAC3G,CAAC;wBACF,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAwC,CAAC;oBACpF,CAAC;oBACD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjF,IAAI,cAAc;wBAAE,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC;oBACrD,IAAI,MAAM;wBAAE,MAAM,CAAC,MAAM,GAAG,MAAyB,CAAC;oBACtD,IAAI,QAAQ;wBAAE,MAAM,CAAC,QAAQ,GAAG,QAA8C,CAAC;oBAC/E,IAAI,OAAO;wBAAE,MAAM,CAAC,OAAO,GAAG,OAAwB,CAAC;oBACvD,IAAI,KAAK;wBAAE,MAAM,CAAC,KAAK,GAAG,KAAsC,CAAC;oBACjE,OAAO,MAAM,CAAC;gBAChB,CAAC,CAAC,CACH;aACF,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,CAAyB,EAAE,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/G,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type FormAction, type FormProps, type SubmitButtonProps } from './form.tsx';
3
+ import { type LinkProps } from './link.tsx';
4
+ import { type Router } from './router.tsx';
5
+ /** The props of a page package's `<Link>`: those of the core `<Link>`, with an href below the package's mount. */
6
+ export type MountedLinkProps<THref extends string = string> = Omit<LinkProps, 'href'> & {
7
+ href: THref;
8
+ };
9
+ /** The props of a page package's `<Form>`: those of the core `<Form>`, with a URL `action` below the package's mount. */
10
+ export type MountedFormProps<THref extends string = string> = Omit<FormProps, 'action'> & {
11
+ action?: THref | FormAction;
12
+ };
13
+ /** The props of a page package's `<SubmitButton>`, with a URL `formAction` below the package's mount. */
14
+ export type MountedSubmitButtonProps<THref extends string = string> = Omit<SubmitButtonProps, 'formAction'> & {
15
+ formAction?: THref | Exclude<SubmitButtonProps['formAction'], string>;
16
+ };
17
+ /** The client router, as a page package's `useRouter()` returns it: `push`, `replace` and `prefetch` go below its mount. */
18
+ export type MountedRouter<THref extends string = string> = Omit<Router, 'push' | 'replace' | 'prefetch'> & {
19
+ push(href: THref, options?: {
20
+ scroll?: boolean;
21
+ }): Promise<void>;
22
+ replace(href: THref, options?: {
23
+ scroll?: boolean;
24
+ }): Promise<void>;
25
+ prefetch(href: THref): void;
26
+ };
27
+ /** What {@link mounted} returns: the links, forms and router hooks of one page package. */
28
+ export type Mounted<THref extends string = string> = {
29
+ /** A `<Link>` whose href is below the mount: `/articles` goes to `/help/articles` for a package mounted at `/help`. */
30
+ Link: (props: MountedLinkProps<THref>) => ReactNode;
31
+ /** A `<Form>` whose URL `action` is below the mount. Without one it posts to the page on screen, as the core `<Form>`. */
32
+ Form: (props: MountedFormProps<THref>) => ReactNode;
33
+ /** A `<SubmitButton>` whose URL `formAction` is below the mount. */
34
+ SubmitButton: (props: MountedSubmitButtonProps<THref>) => ReactNode;
35
+ /** The client router, whose `push`, `replace` and `prefetch` take hrefs below the mount. */
36
+ useRouter: () => MountedRouter<THref>;
37
+ /**
38
+ * The path of the page on screen below the mount, without the base path: `/articles/x` for `/help/articles/x`, and
39
+ * `/` for the mount itself. A page outside the mount gets its whole path, as the core `usePathname` gives it.
40
+ */
41
+ usePathname: () => string;
42
+ /**
43
+ * An href below the mount, under the base path, for a plain `<a>`, another attribute or a `fetch`: a page's, or an
44
+ * endpoint's from the package's `endpointUrl()`. Untyped, as the core `useHref`.
45
+ */
46
+ useHref: (href: string) => string;
47
+ };
48
+ /**
49
+ * The links, forms and router hooks of the page package `name`, its npm name, bound to where the app mounted it. Each
50
+ * puts the package's URL for the page on screen in front of its hrefs, and the base path in front of that, so a
51
+ * package links to its own pages as if it were mounted at the root. A package's generated file calls it once:
52
+ * `export const { Link, Form, SubmitButton, useRouter, usePathname, useHref } = mounted<MountHref>('@acme/help-center')`.
53
+ */
54
+ export declare function mounted<THref extends string = string>(name: string): Mounted<THref>;
55
+ //# sourceMappingURL=mounted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mounted.d.ts","sourceRoot":"","sources":["../src/mounted.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAChD,OAAO,EAAQ,KAAK,UAAU,EAAE,KAAK,SAAS,EAAgB,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEzG,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,EAAE,KAAK,MAAM,EAAmD,MAAM,cAAc,CAAC;AAE5F,kHAAkH;AAClH,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AAExG,yHAAyH;AACzH,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,KAAK,GAAG,UAAU,CAAA;CAAE,CAAC;AAE1H,yGAAyG;AACzG,MAAM,MAAM,wBAAwB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAAG;IAC5G,UAAU,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;CACvE,CAAC;AAEF,4HAA4H;AAC5H,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC,GAAG;IACzG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,2FAA2F;AAC3F,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI;IACnD,uHAAuH;IACvH,IAAI,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;IACpD,0HAA0H;IAC1H,IAAI,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;IACpD,oEAAoE;IACpE,YAAY,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;IACpE,4FAA4F;IAC5F,SAAS,EAAE,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC;;;OAGG;IACH,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACnC,CAAC;AA2DF;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAiDnF"}
@@ -0,0 +1,110 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { Form, SubmitButton } from './form.js';
4
+ import { isHrefShape } from './href.js';
5
+ import { Link } from './link.js';
6
+ import { isDotSegment } from './payload.js';
7
+ import { useHref, usePagePayload, usePathname, useRouter } from './router.js';
8
+ /** The package's URL for the page on screen, from the payload: null when the page has no value for the prefix. */
9
+ function useMountOrNull(name) {
10
+ const mounts = usePagePayload().mounts;
11
+ const mount = mounts && Object.hasOwn(mounts, name) ? mounts[name] : undefined;
12
+ if (mount === undefined) {
13
+ throw new Error(`netjes: the page package '${name}' is not mounted: map it with app.MapPagePackage(...) before app.MapPages()`);
14
+ }
15
+ return mount;
16
+ }
17
+ /** The package's URL for the page on screen; throws when the page has none. */
18
+ function useMount(name) {
19
+ const mount = useMountOrNull(name);
20
+ if (mount === null)
21
+ throw new Error(`netjes: '${name}' is mounted at a prefix with a value, and this page has none for it`);
22
+ return mount;
23
+ }
24
+ /**
25
+ * A segment as routing compares it: decoded where it can be, as the server decodes a path, which leaves `%2F` as it is
26
+ * (so `a%2Fb` and `a%252Fb` hold the same value), in any case.
27
+ */
28
+ function comparable(segment) {
29
+ try {
30
+ return decodeURIComponent(segment.replace(/%2F/gi, '%252F')).toLowerCase();
31
+ }
32
+ catch {
33
+ return segment.toLowerCase();
34
+ }
35
+ }
36
+ /** `pathname` without the mount in front, `/` for the mount itself; the whole path when it is not below the mount. */
37
+ function belowMount(pathname, mount) {
38
+ if (mount === null || mount === '/')
39
+ return pathname;
40
+ const prefix = mount.split('/').slice(1);
41
+ const segments = pathname.split('/').slice(1);
42
+ if (segments.length < prefix.length || prefix.some((segment, i) => comparable(segment) !== comparable(segments[i] ?? '')))
43
+ return pathname;
44
+ const rest = segments.slice(prefix.length).join('/');
45
+ return rest === '' ? '/' : `/${rest}`;
46
+ }
47
+ /**
48
+ * `href` below `mount`: a path gets the mount in front, and a link within the page on screen (`?…`, `#…`) passes
49
+ * through. Anything else throws, as does a path with a dot segment, which would climb out of the mount.
50
+ */
51
+ function underMount(href, mount, name) {
52
+ const withinThePage = href.startsWith('?') || href.startsWith('#');
53
+ const path = href.split(/[?#]/, 1)[0] ?? '';
54
+ // Browsers read a backslash in a path as a slash, and %2e as a dot.
55
+ if (!isHrefShape(href) || (!withinThePage && (!href.startsWith('/') || path.split(/[/\\]/).some(isDotSegment)))) {
56
+ throw new Error(`netjes: '${href}' is no link below the mount of '${name}': start it with '/' (but not '//' or '/\\'), with no '.' or ` +
57
+ "'..' segment, or with '?' or '#'. Link to another site, or elsewhere in the app, with the Link from 'netjes'.");
58
+ }
59
+ if (withinThePage || mount === '/')
60
+ return href;
61
+ return href === '/' || href[1] === '?' || href[1] === '#' ? mount + href.slice(1) : mount + href;
62
+ }
63
+ /**
64
+ * The links, forms and router hooks of the page package `name`, its npm name, bound to where the app mounted it. Each
65
+ * puts the package's URL for the page on screen in front of its hrefs, and the base path in front of that, so a
66
+ * package links to its own pages as if it were mounted at the root. A package's generated file calls it once:
67
+ * `export const { Link, Form, SubmitButton, useRouter, usePathname, useHref } = mounted<MountHref>('@acme/help-center')`.
68
+ */
69
+ export function mounted(name) {
70
+ function MountedLink({ href, ...rest }) {
71
+ const mount = useMount(name);
72
+ return _jsx(Link, { href: underMount(href, mount, name), ...rest });
73
+ }
74
+ function MountedForm({ action, ...rest }) {
75
+ const mount = useMount(name);
76
+ const url = typeof action === 'string' ? underMount(action, mount, name) : action;
77
+ return _jsx(Form, { ...(url === undefined ? {} : { action: url }), ...rest });
78
+ }
79
+ function MountedSubmitButton({ formAction, ...rest }) {
80
+ const mount = useMount(name);
81
+ return _jsx(SubmitButton, { formAction: typeof formAction === 'string' ? underMount(formAction, mount, name) : formAction, ...rest });
82
+ }
83
+ function useMountedRouter() {
84
+ const mount = useMount(name);
85
+ const router = useRouter();
86
+ return useMemo(() => ({
87
+ push: (href, options) => router.push(underMount(href, mount, name), options),
88
+ replace: (href, options) => router.replace(underMount(href, mount, name), options),
89
+ prefetch: (href) => router.prefetch(underMount(href, mount, name)),
90
+ refresh: () => router.refresh(),
91
+ back: () => router.back(),
92
+ forward: () => router.forward(),
93
+ }), [router, mount]);
94
+ }
95
+ function useMountedPathname() {
96
+ return belowMount(usePathname(), useMountOrNull(name));
97
+ }
98
+ function useMountedHref(href) {
99
+ return useHref(underMount(href, useMount(name), name));
100
+ }
101
+ return {
102
+ Link: MountedLink,
103
+ Form: MountedForm,
104
+ SubmitButton: MountedSubmitButton,
105
+ useRouter: useMountedRouter,
106
+ usePathname: useMountedPathname,
107
+ useHref: useMountedHref,
108
+ };
109
+ }
110
+ //# sourceMappingURL=mounted.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mounted.js","sourceRoot":"","sources":["../src/mounted.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /** Whether the user types into the element, or picks a value in it from the keyboard: a text field, a select, editable content. */
2
+ export declare function isEditable(element: Element): boolean;
3
+ /**
4
+ * Focuses an element without scrolling to it. One that takes no focus of its own, such as a heading or `main`, gets
5
+ * `tabindex="-1"` for it, which goes again when it loses the focus. Returns whether the element has the focus.
6
+ */
7
+ export declare function focusElement(element: HTMLElement): boolean;
8
+ /**
9
+ * Starts the focus over at the top of the document, as a page load does: the next Tab goes to the first element that
10
+ * takes the focus, such as a skip link. `body` takes the focus for this only, without scrolling, and gets its own
11
+ * `tabindex` back, or none.
12
+ */
13
+ export declare function resetFocus(): void;
14
+ export type NavigationFocus = {
15
+ /** The element the URL's fragment names, which the router scrolled to; null without a fragment, or when none matched. */
16
+ target: HTMLElement | null;
17
+ /** The page on screen is another one: its page key changed. */
18
+ replaced: boolean;
19
+ /** The navigation keeps the scroll position: `scroll={false}`. */
20
+ keep: boolean;
21
+ /** What had the focus when the navigation started. */
22
+ focusedAtStart: Element | null;
23
+ };
24
+ /**
25
+ * Moves the focus after a navigation, once the router has scrolled, by the first of these rules that applies:
26
+ *
27
+ * 1. The fragment's target takes it, on this page or on another. One that cannot (a hidden element) leaves it to the
28
+ * rules below.
29
+ * 2. It stays on the same page: a query that changed, a refresh, a post that stays on its page, a modal opening or
30
+ * closing over the page under it.
31
+ * 3. It stays where it went while the navigation ran: to the new page (`autoFocus`), or where the user or a handler
32
+ * of the app (a menu that closes) put it.
33
+ * 4. It stays on what had it when the navigation started, with `scroll={false}` or in a field the user types into,
34
+ * such as a search box in a layout that navigates as the user types.
35
+ * 5. Otherwise it starts over at the top of the document, as after a page load.
36
+ */
37
+ export declare function moveFocusAfterNavigation({ target, replaced, keep, focusedAtStart }: NavigationFocus): void;
38
+ //# sourceMappingURL=navigation-focus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-focus.d.ts","sourceRoot":"","sources":["../src/navigation-focus.ts"],"names":[],"mappings":"AAGA,mIAAmI;AACnI,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAIpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAa1D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,SAOzB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,yHAAyH;IACzH,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,IAAI,EAAE,OAAO,CAAC;IACd,sDAAsD;IACtD,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,eAAe,QAOnG"}
@@ -0,0 +1,71 @@
1
+ /** Input types the user does not type into: the focus can leave them when the page they are on is replaced. */
2
+ const NOT_TYPED_IN = new Set(['button', 'checkbox', 'color', 'file', 'hidden', 'image', 'radio', 'range', 'reset', 'submit']);
3
+ /** Whether the user types into the element, or picks a value in it from the keyboard: a text field, a select, editable content. */
4
+ export function isEditable(element) {
5
+ if (element instanceof HTMLTextAreaElement || element instanceof HTMLSelectElement)
6
+ return true;
7
+ if (element instanceof HTMLInputElement)
8
+ return !NOT_TYPED_IN.has(element.type);
9
+ return element instanceof HTMLElement && element.isContentEditable;
10
+ }
11
+ /**
12
+ * Focuses an element without scrolling to it. One that takes no focus of its own, such as a heading or `main`, gets
13
+ * `tabindex="-1"` for it, which goes again when it loses the focus. Returns whether the element has the focus.
14
+ */
15
+ export function focusElement(element) {
16
+ element.focus({ preventScroll: true });
17
+ if (document.activeElement === element)
18
+ return true;
19
+ // A tabindex of the app's own did not help (a hidden or inert element): leave it as it is.
20
+ if (element.hasAttribute('tabindex'))
21
+ return false;
22
+ element.setAttribute('tabindex', '-1');
23
+ element.focus({ preventScroll: true });
24
+ if (document.activeElement !== element) {
25
+ element.removeAttribute('tabindex');
26
+ return false;
27
+ }
28
+ element.addEventListener('blur', () => element.removeAttribute('tabindex'), { once: true });
29
+ return true;
30
+ }
31
+ /**
32
+ * Starts the focus over at the top of the document, as a page load does: the next Tab goes to the first element that
33
+ * takes the focus, such as a skip link. `body` takes the focus for this only, without scrolling, and gets its own
34
+ * `tabindex` back, or none.
35
+ */
36
+ export function resetFocus() {
37
+ const body = document.body;
38
+ const own = body.getAttribute('tabindex');
39
+ body.tabIndex = -1;
40
+ body.focus({ preventScroll: true, focusVisible: false });
41
+ if (own === null)
42
+ body.removeAttribute('tabindex');
43
+ else
44
+ body.setAttribute('tabindex', own);
45
+ }
46
+ /**
47
+ * Moves the focus after a navigation, once the router has scrolled, by the first of these rules that applies:
48
+ *
49
+ * 1. The fragment's target takes it, on this page or on another. One that cannot (a hidden element) leaves it to the
50
+ * rules below.
51
+ * 2. It stays on the same page: a query that changed, a refresh, a post that stays on its page, a modal opening or
52
+ * closing over the page under it.
53
+ * 3. It stays where it went while the navigation ran: to the new page (`autoFocus`), or where the user or a handler
54
+ * of the app (a menu that closes) put it.
55
+ * 4. It stays on what had it when the navigation started, with `scroll={false}` or in a field the user types into,
56
+ * such as a search box in a layout that navigates as the user types.
57
+ * 5. Otherwise it starts over at the top of the document, as after a page load.
58
+ */
59
+ export function moveFocusAfterNavigation({ target, replaced, keep, focusedAtStart }) {
60
+ if (target && focusElement(target))
61
+ return;
62
+ if (!replaced)
63
+ return;
64
+ const focused = document.activeElement;
65
+ if (focused && focused !== document.body && focused !== focusedAtStart)
66
+ return;
67
+ if (focused && focused === focusedAtStart && (keep || isEditable(focused)))
68
+ return;
69
+ resetFocus();
70
+ }
71
+ //# sourceMappingURL=navigation-focus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-focus.js","sourceRoot":"","sources":["../src/navigation-focus.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE9H,mIAAmI;AACnI,MAAM,UAAU,UAAU,CAAC,OAAgB;IACzC,IAAI,OAAO,YAAY,mBAAmB,IAAI,OAAO,YAAY,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAChG,IAAI,OAAO,YAAY,gBAAgB;QAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,OAAO,OAAO,YAAY,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAoB;IAC/C,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACpD,2FAA2F;IAC3F,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;QACvC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5F,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACnB,IAAI,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,IAAI,GAAG,KAAK,IAAI;QAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;;QAC9C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAaD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAmB;IAClG,IAAI,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO;IAC3C,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;IACvC,IAAI,OAAO,IAAI,OAAO,KAAK,QAAQ,CAAC,IAAI,IAAI,OAAO,KAAK,cAAc;QAAE,OAAO;IAC/E,IAAI,OAAO,IAAI,OAAO,KAAK,cAAc,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QAAE,OAAO;IACnF,UAAU,EAAE,CAAC;AACf,CAAC"}
package/dist/payload.d.ts CHANGED
@@ -121,6 +121,12 @@ export type PagePayload = {
121
121
  basePath?: string;
122
122
  /** The request culture, with `AddNetjesLocalization`. */
123
123
  locale?: string;
124
+ /**
125
+ * Each mounted page package's URL for this request, by npm name, without the base path: `/help`, `/acme/help`, or `/`
126
+ * for a package mounted at the root. Null when the request has no value for one of the prefix's parameters. Left out
127
+ * when the app mounts no package.
128
+ */
129
+ mounts?: Record<string, string | null>;
124
130
  /**
125
131
  * Client only, never sent: how far the browser clock is ahead of the server's, measured when the payload arrived.
126
132
  * Server timestamps plus this offset are browser timestamps.
@@ -166,6 +172,8 @@ export declare class PayloadError extends Error {
166
172
  }
167
173
  export declare function parseAntiforgery(value: unknown): AntiforgeryToken;
168
174
  export declare function parseActionResponse(value: unknown): ActionResponse;
175
+ /** A segment a browser resolves away, also when encoded: `.`, `..`, `%2e`, `.%2E` and the like. */
176
+ export declare function isDotSegment(segment: string): boolean;
169
177
  export declare function parseNavigationPayload(value: unknown): NavigationPayload;
170
178
  export declare function parseInitialPayload(value: unknown): InitialPayload;
171
179
  //# sourceMappingURL=payload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"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"}
package/dist/payload.js CHANGED
@@ -196,6 +196,8 @@ function pagePayload(json) {
196
196
  payload.basePath = string(json.basePath, 'basePath');
197
197
  if (json.locale !== undefined && json.locale !== null)
198
198
  payload.locale = string(json.locale, 'locale');
199
+ if (json.mounts !== undefined && json.mounts !== null)
200
+ payload.mounts = mounts(json.mounts);
199
201
  if (json.draftMode !== undefined && json.draftMode !== null) {
200
202
  if (typeof json.draftMode !== 'boolean')
201
203
  fail('draftMode must be a boolean');
@@ -203,6 +205,32 @@ function pagePayload(json) {
203
205
  }
204
206
  return payload;
205
207
  }
208
+ /** A segment a browser resolves away, also when encoded: `.`, `..`, `%2e`, `.%2E` and the like. */
209
+ export function isDotSegment(segment) {
210
+ return /^(?:\.|%2e){1,2}$/i.test(segment);
211
+ }
212
+ /**
213
+ * A mount's URL as the server writes it: `/`, or `/` and segments, none empty or a dot segment, with no query, fragment,
214
+ * backslash, whitespace or control character. The mounted components put it in front of their hrefs.
215
+ */
216
+ function mountUrl(value, what) {
217
+ if (value === null)
218
+ return null;
219
+ const url = string(value, what);
220
+ if (url === '/')
221
+ return url;
222
+ const [first, ...segments] = url.split('/');
223
+ const unsafe = (segment) => segment === '' || isDotSegment(segment) || /[?#\\\s\u0000-\u001F\u007F]/.test(segment);
224
+ if (first !== '' || segments.length === 0 || segments.some(unsafe))
225
+ fail(`${what} must be a path of the app, such as /help`);
226
+ return url;
227
+ }
228
+ function mounts(value) {
229
+ const result = {};
230
+ for (const [name, url] of Object.entries(object(value, 'mounts')))
231
+ result[name] = mountUrl(url, `mounts.${name}`);
232
+ return result;
233
+ }
206
234
  export function parseNavigationPayload(value) {
207
235
  const json = object(value, 'payload');
208
236
  switch (json.kind) {
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"AAEA,oGAAoG;AAEpG,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AACnD,iHAAiH;AACjH,MAAM,CAAC,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AACzD;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AACjD,0GAA0G;AAC1G,MAAM,CAAC,MAAM,YAAY,GAAG,sBAAsB,CAAC;AA8InD,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,GAAG,cAAc,CAAC;CAChC;AAID,SAAS,IAAI,CAAC,OAAe;IAC3B,MAAM,IAAI,YAAY,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,IAAY;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;IAC3G,OAAO,KAAa,CAAC;AACvB,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,IAAY;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,IAAI,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,IAAY;IAClD,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,IAAY;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;IAC3F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,KAAc,EAAE,IAAY;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,MAAM,MAAM,GAAW,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC;IAC7G,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1C,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,2BAA2B,CAAC;QACtE,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,wBAAwB,CAAC;QAC7E,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,0BAA0B,CAAC;KACpF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,IAAY;IAClD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,IAAY;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAe,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxE,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAU,EAAE,CAAC;YACtE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YAC/D,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC9C,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/G,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;QACzC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAChD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACtF,MAAM,IAAI,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC9D,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CACpH,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,KAAK,GAAkC,EAAE,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBACrF,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,IAAY;IAC5C,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;IACrH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAsC,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC;QAC1F,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,sBAAsB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAsB,GAAG,EAAE,CAAC,CAAC;IAC7H,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;AAClI,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,IAAI,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvG,MAAM,QAAQ,GAAmB;QAC/B,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,IAAI;QACpB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrC,UAAU,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;KACrC,CAAC;IACF,IAAI,QAAQ,IAAI,IAAI;QAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACpD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;QAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzG,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;QAAE,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxG,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjH,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAChI,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAyB,CAAC;IACvD,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClG,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IACtE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,GAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AAE3F,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC;QAC7G,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IACrH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,IAAU;IAC7B,MAAM,OAAO,GAAgB;QAC3B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,OAAO,CAAC;QAClD,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,MAAM,CAAC;QAC/C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;QAClC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;QAC3B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;KACzC,CAAC;IACF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrH,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjG,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrH,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;YACnD,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC;gBAC9D,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;gBACrD,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;gBACrD,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7G,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAa,CAAC;IAC5H,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAoB,CAAC;YAAE,IAAI,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/G,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAoB,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;QAAE,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC1H,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChH,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtG,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC5D,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC7E,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACrC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACtC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;QACrH;YACE,OAAO,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAAE,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,KAAK,IAAI,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;QAC/E,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACrD,MAAM,IAAI,GAAiB;QACzB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;QAC5C,MAAM,EAAE;YACN,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,6BAA6B,CAAC;YACvE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,gCAAgC,CAAC;YAChF,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,yBAAyB,CAAC;SAC5D;QACD,SAAS,EAAE,SAAS,IAAI;YACtB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,yBAAyB,CAAC;YACvD,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SACtE;KACF,CAAC;IACF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACvD,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACnF,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAsB,CAAC;YACjD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAC;YAC9E,GAAG,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;gBACjC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,6BAA6B,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC7F,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI;QAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACnH,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,IAAI,QAAQ,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;QAC9E,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1E,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1E,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,SAAS;YAAE,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAChG,IAAI,QAAQ,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"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"}
package/dist/query.d.ts CHANGED
@@ -5,8 +5,11 @@ export type QueryShellOptions = {
5
5
  /** Merged over the Netjes defaults (`staleTime` of one minute, so seeded data is not refetched straight away). */
6
6
  defaultOptions?: DefaultOptions;
7
7
  };
8
- /** The Netjes defaults with the app's options merged over them, as the built-in client and the test harness use. */
9
- export declare function mergeOptions(options: DefaultOptions | undefined): DefaultOptions;
8
+ /**
9
+ * The Netjes defaults with each layer of options merged over the ones before it, query and mutation options one by
10
+ * one: the built-in client merges the app's options, and the test harness more layers.
11
+ */
12
+ export declare function mergeOptions(...layers: ReadonlyArray<DefaultOptions | undefined>): DefaultOptions;
10
13
  /**
11
14
  * Turns the payload's seeded queries into TanStack's dehydrated state, using only public APIs. Server timestamps
12
15
  * are moved onto the browser clock, so freshness and "newer data wins" compare like with like.
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAkE,MAAM,uBAAuB,CAAC;AAClJ,OAAO,EAAE,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,kHAAkH;IAClH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAIF,oHAAoH;AACpH,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,CAOhF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,EAAE,WAAW,SAAI,GAAG,eAAe,GAAG,SAAS,CAO3H;AAUD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,kBAGrB;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,iCA8BjE"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAkE,MAAM,uBAAuB,CAAC;AAClJ,OAAO,EAAE,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,kHAAkH;IAClH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAIF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,MAAM,EAAE,aAAa,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG,cAAc,CAUjG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,EAAE,WAAW,SAAI,GAAG,eAAe,GAAG,SAAS,CAO3H;AAUD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,kBAGrB;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,iCA8BjE"}
package/dist/query.js CHANGED
@@ -4,14 +4,17 @@ import { useContext, useEffect, useMemo, useState } from 'react';
4
4
  import { RenderCleanupContext } from './render-cleanup.js';
5
5
  import { useInternalRouter, usePagePayload } from './router.js';
6
6
  const DEFAULTS = { queries: { staleTime: 60_000 } };
7
- /** The Netjes defaults with the app's options merged over them, as the built-in client and the test harness use. */
8
- export function mergeOptions(options) {
9
- return {
10
- ...DEFAULTS,
11
- ...options,
12
- queries: { ...DEFAULTS.queries, ...options?.queries },
13
- mutations: { ...DEFAULTS.mutations, ...options?.mutations },
14
- };
7
+ /**
8
+ * The Netjes defaults with each layer of options merged over the ones before it, query and mutation options one by
9
+ * one: the built-in client merges the app's options, and the test harness more layers.
10
+ */
11
+ export function mergeOptions(...layers) {
12
+ return [DEFAULTS, ...layers].reduce((merged, layer) => ({
13
+ ...merged,
14
+ ...layer,
15
+ queries: { ...merged.queries, ...layer?.queries },
16
+ mutations: { ...merged.mutations, ...layer?.mutations },
17
+ }), {});
15
18
  }
16
19
  /**
17
20
  * Turns the payload's seeded queries into TanStack's dehydrated state, using only public APIs. Server timestamps