@absolutejs/absolute 0.20.0-beta.169 → 0.20.0-beta.170

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 (238) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +232 -0
  3. package/changelog.json +228 -0
  4. package/dist/angular/browser.js +7 -8
  5. package/dist/angular/browser.js.map +6 -5
  6. package/dist/angular/components/core/streamingSlotRegistrar.js +6 -2
  7. package/dist/angular/components/core/streamingSlotRegistry.js +7 -3
  8. package/dist/angular/index.js +555 -156
  9. package/dist/angular/index.js.map +29 -23
  10. package/dist/angular/server.js +555 -156
  11. package/dist/angular/server.js.map +29 -23
  12. package/dist/build/buildWorker.js +14 -8
  13. package/dist/build.js +4949 -1941
  14. package/dist/build.js.map +72 -42
  15. package/dist/cli/{add-7azr0c83.js → add-6a7pjkn9.js} +11 -7
  16. package/dist/cli/{analyze-3cyek6v3.js → analyze-606fshwa.js} +1 -1
  17. package/dist/cli/{build-25rz8v25.js → build-g81xqbb9.js} +1 -1
  18. package/dist/cli/{compile-4jnfxts9.js → compile-9y1w9zpj.js} +3 -3
  19. package/dist/cli/config/server.js +10699 -1538
  20. package/dist/cli/{dev-9tk5hn2e.js → dev-hyeb89hp.js} +5 -1
  21. package/dist/cli/{doctor-4nv2c2j3.js → doctor-h55y9hj1.js} +1 -1
  22. package/dist/cli/{generate-v75p2fct.js → generate-20x1pkf7.js} +4 -4
  23. package/dist/cli/{htmx-427swtdz.js → htmx-6mz2h7k1.js} +2 -2
  24. package/dist/cli/{index-bhbs6d5z.js → index-32ge2w1f.js} +12 -4
  25. package/dist/cli/{index-a4ws2jwd.js → index-3wz3mktm.js} +1 -1
  26. package/dist/cli/{index-b7hjgknf.js → index-9sksd8c8.js} +13 -4
  27. package/dist/cli/{index-eyzwc7gz.js → index-qbrzvmh9.js} +4 -2
  28. package/dist/cli/index-qw98g1p6.js +269 -0
  29. package/dist/cli/{index-434b7j4a.js → index-vtp20gwf.js} +69 -1
  30. package/dist/cli/{index-h7qhz02e.js → index-wk0pyxrg.js} +3 -0
  31. package/dist/cli/{index-k3y8cb6c.js → index-z6f43b20.js} +1 -1
  32. package/dist/cli/index.js +16 -16
  33. package/dist/cli/{islands-8sgky9gh.js → islands-dc54e5y1.js} +1 -1
  34. package/dist/cli/{ls-4m4yqwww.js → ls-b6zz24nt.js} +1 -1
  35. package/dist/cli/{mobile-hcxjr2gf.js → mobile-ajnnvqtv.js} +3 -3
  36. package/dist/cli/prerender-fqpp0m1j.js +10 -0
  37. package/dist/cli/{remove-1ycjx85k.js → remove-t8x1mrxg.js} +4 -4
  38. package/dist/cli/{start-mbaejxhm.js → start-d6p831ny.js} +3 -3
  39. package/dist/cli/{typecheck-dr068pmh.js → typecheck-stbt0qt5.js} +6 -1
  40. package/dist/cli/{workspace-1sycp9g1.js → workspace-61hh6jq1.js} +1 -1
  41. package/dist/client/chunks/index-6b66nzyf.js +381 -0
  42. package/dist/client/chunks/index-6b66nzyf.js.map +11 -0
  43. package/dist/client/chunks/{islands-rc28k5sx.js → islands-s2ta5ajb.js} +5 -2
  44. package/dist/client/chunks/{islands-rc28k5sx.js.map → islands-s2ta5ajb.js.map} +7 -6
  45. package/dist/client/index.js +160 -3
  46. package/dist/client/index.js.map +6 -4
  47. package/dist/client/navigation.js +764 -0
  48. package/dist/client/navigation.js.map +10 -0
  49. package/dist/client/prefetch.js +33 -375
  50. package/dist/client/prefetch.js.map +3 -4
  51. package/dist/core/streamingSlotRegistrar.js +5 -2
  52. package/dist/core/streamingSlotRegistrar.js.map +5 -4
  53. package/dist/core/streamingSlotRegistry.js +5 -2
  54. package/dist/core/streamingSlotRegistry.js.map +5 -4
  55. package/dist/dev/client/cspNonce.ts +28 -0
  56. package/dist/dev/client/handlers/html.ts +4 -3
  57. package/dist/dev/client/handlers/htmx.ts +3 -2
  58. package/dist/dev/client/handlers/svelte.ts +15 -90
  59. package/dist/dev/client/syncDevtools.ts +2 -1
  60. package/dist/dev/serverBootstrap.js +11 -4
  61. package/dist/i18n/index.js +543 -0
  62. package/dist/i18n/index.js.map +15 -0
  63. package/dist/index.js +6339 -2233
  64. package/dist/index.js.map +89 -54
  65. package/dist/islands/index.js +282 -40
  66. package/dist/islands/index.js.map +14 -10
  67. package/dist/mobile/browser.js +7 -2
  68. package/dist/mobile/browser.js.map +5 -4
  69. package/dist/mobile/index.js +7 -2
  70. package/dist/mobile/index.js.map +5 -4
  71. package/dist/mobile/remoteMacAgentEntry.js +1 -1
  72. package/dist/react/components/browser/index.js +94 -4
  73. package/dist/react/components/index.js +150 -10
  74. package/dist/react/components/index.js.map +15 -10
  75. package/dist/react/hooks/index.js +479 -13
  76. package/dist/react/hooks/index.js.map +12 -4
  77. package/dist/react/index.js +769 -166
  78. package/dist/react/index.js.map +32 -21
  79. package/dist/react/router/browser.js +21 -4
  80. package/dist/react/router/browser.js.map +5 -4
  81. package/dist/react/router/index.js +21 -4
  82. package/dist/react/router/index.js.map +5 -4
  83. package/dist/react/server.js +597 -203
  84. package/dist/react/server.js.map +25 -15
  85. package/dist/src/angular/zoneRuntime.d.ts +5 -0
  86. package/dist/src/build/buildReactServerComponents.d.ts +22 -0
  87. package/dist/src/build/downlevelAsyncForZone.d.ts +1 -0
  88. package/dist/src/build/fileRoutes.d.ts +65 -0
  89. package/dist/src/build/fonts/buildFonts.d.ts +25 -0
  90. package/dist/src/build/fonts/fallbackMetrics.d.ts +13 -0
  91. package/dist/src/build/fonts/googleFonts.d.ts +18 -0
  92. package/dist/src/build/fonts/injectFontTags.d.ts +7 -0
  93. package/dist/src/build/fonts/parseFontMetrics.d.ts +4 -0
  94. package/dist/src/build/generateReactIndexes.d.ts +7 -1
  95. package/dist/src/build/htmlIncludes.d.ts +16 -0
  96. package/dist/src/build/inlineSourceMapComment.d.ts +1 -0
  97. package/dist/src/build/scanConventions.d.ts +3 -0
  98. package/dist/src/build/vitals.d.ts +21 -0
  99. package/dist/src/client/formActions.d.ts +29 -0
  100. package/dist/src/client/index.d.ts +2 -0
  101. package/dist/src/client/navigation.d.ts +16 -0
  102. package/dist/src/client/prefetch.d.ts +2 -30
  103. package/dist/src/core/build.d.ts +2 -2
  104. package/dist/src/core/cspNonce.d.ts +12 -0
  105. package/dist/src/core/fileRouteAdapter.d.ts +15 -0
  106. package/dist/src/core/fileRoutes.d.ts +5 -0
  107. package/dist/src/core/formActionFlash.d.ts +25 -0
  108. package/dist/src/core/formActions.d.ts +249 -0
  109. package/dist/src/core/index.d.ts +5 -0
  110. package/dist/src/core/partialPrerender.d.ts +28 -0
  111. package/dist/src/core/partialPrerenderServe.d.ts +24 -0
  112. package/dist/src/core/precompressed.d.ts +11 -1
  113. package/dist/src/core/prerenderNonce.d.ts +9 -0
  114. package/dist/src/core/productionRuntime.d.ts +4 -2
  115. package/dist/src/core/serverOnlyStaticFiles.d.ts +8 -0
  116. package/dist/src/core/staticHtmlNonce.d.ts +2 -0
  117. package/dist/src/core/vitals.d.ts +108 -0
  118. package/dist/src/dev/angular/fastHmrCompiler.d.ts +1 -1
  119. package/dist/src/dev/client/cspNonce.d.ts +2 -0
  120. package/dist/src/dev/fileRouteRefresher.d.ts +5 -0
  121. package/dist/src/dev/importCost/instrument.d.ts +1 -1
  122. package/dist/src/dev/reactServerComponentsRebuild.d.ts +3 -0
  123. package/dist/src/i18n/defineMessages.d.ts +5 -0
  124. package/dist/src/i18n/formatMessage.d.ts +26 -0
  125. package/dist/src/i18n/index.d.ts +6 -0
  126. package/dist/src/i18n/intlCache.d.ts +5 -0
  127. package/dist/src/i18n/routing.d.ts +28 -0
  128. package/dist/src/i18n/translator.d.ts +11 -0
  129. package/dist/src/mobile/androidRelease.d.ts +2 -2
  130. package/dist/src/mobile/iosRelease.d.ts +4 -4
  131. package/dist/src/mobile/materializedBundle.d.ts +1 -1
  132. package/dist/src/mobile/mobileInspect.d.ts +1 -1
  133. package/dist/src/mobile/releaseArtifact.d.ts +2 -2
  134. package/dist/src/mobile/remoteMacProtocol.d.ts +2 -2
  135. package/dist/src/plugins/i18n.d.ts +30 -0
  136. package/dist/src/plugins/index.d.ts +2 -1
  137. package/dist/src/plugins/secureHeaders.d.ts +48 -0
  138. package/dist/src/react/components/Head.d.ts +1 -1
  139. package/dist/src/react/components/StreamSlot.browser.d.ts +1 -0
  140. package/dist/src/react/components/StreamSlot.d.ts +5 -1
  141. package/dist/src/react/components/SuspenseSlot.browser.d.ts +2 -0
  142. package/dist/src/react/components/SuspenseSlot.d.ts +12 -0
  143. package/dist/src/react/fileRoute.d.ts +18 -0
  144. package/dist/src/react/hooks/index.d.ts +4 -0
  145. package/dist/src/react/hooks/useFormAction.d.ts +42 -0
  146. package/dist/src/react/hooks/useI18n.d.ts +15 -0
  147. package/dist/src/react/index.d.ts +2 -0
  148. package/dist/src/react/server.d.ts +2 -0
  149. package/dist/src/react/serverComponents/constants.d.ts +11 -0
  150. package/dist/src/react/serverComponents/flightPayload.d.ts +2 -0
  151. package/dist/src/react/serverComponents/pageHandler.d.ts +14 -0
  152. package/dist/src/svelte/browser.d.ts +1 -0
  153. package/dist/src/svelte/fileRoute.d.ts +15 -0
  154. package/dist/src/svelte/i18n.d.ts +8 -0
  155. package/dist/src/svelte/index.d.ts +2 -0
  156. package/dist/src/svelte/lowerAwaitSlotSyntax.d.ts +5 -1
  157. package/dist/src/svelte/renderToReadableStream.d.ts +10 -2
  158. package/dist/src/svelte/router/browser.d.ts +3 -1
  159. package/dist/src/svelte/router/goto.d.ts +13 -10
  160. package/dist/src/svelte/router/guards.d.ts +43 -0
  161. package/dist/src/svelte/router/index.d.ts +3 -1
  162. package/dist/src/svelte/router/lazy.d.ts +17 -0
  163. package/dist/src/svelte/router/lazyModule.d.ts +29 -0
  164. package/dist/src/svelte/router/navigation.d.ts +55 -0
  165. package/dist/src/svelte/router/pushState.d.ts +4 -2
  166. package/dist/src/svelte/router/scroll.d.ts +34 -0
  167. package/dist/src/svelte/routerSsr.d.ts +9 -0
  168. package/dist/src/svelte/server.d.ts +1 -0
  169. package/dist/src/utils/cspNonceRef.d.ts +8 -0
  170. package/dist/src/utils/fontAssets.d.ts +17 -0
  171. package/dist/src/utils/formActionProtocol.d.ts +10 -0
  172. package/dist/src/utils/generateHeadElement.d.ts +1 -1
  173. package/dist/src/utils/index.d.ts +1 -0
  174. package/dist/src/utils/inlinePageCss.d.ts +18 -0
  175. package/dist/src/utils/loadConfig.d.ts +5 -0
  176. package/dist/src/utils/localeRef.d.ts +10 -0
  177. package/dist/src/utils/resolveConvention.d.ts +6 -1
  178. package/dist/src/utils/streamingSlots.d.ts +5 -0
  179. package/dist/src/vue/browser.d.ts +2 -0
  180. package/dist/src/vue/components/Image.d.ts +2 -2
  181. package/dist/src/vue/index.d.ts +2 -0
  182. package/dist/src/vue/serverDataPayload.d.ts +32 -0
  183. package/dist/src/vue/serverDataState.d.ts +9 -0
  184. package/dist/src/vue/useServerData.browser.d.ts +6 -0
  185. package/dist/src/vue/useServerData.d.ts +24 -0
  186. package/dist/svelte/browser.js +330 -3
  187. package/dist/svelte/browser.js.map +8 -4
  188. package/dist/svelte/components/AwaitSlot.svelte +5 -0
  189. package/dist/svelte/components/Head.svelte +50 -0
  190. package/dist/svelte/components/JsonLd.svelte +9 -1
  191. package/dist/svelte/components/StreamSlot.svelte +5 -0
  192. package/dist/svelte/index.js +1017 -117
  193. package/dist/svelte/index.js.map +38 -24
  194. package/dist/svelte/router/Link.svelte +40 -8
  195. package/dist/svelte/router/Route.svelte +157 -12
  196. package/dist/svelte/router/Route.svelte.d.ts +39 -5
  197. package/dist/svelte/router/Router.svelte +140 -25
  198. package/dist/svelte/router/Router.svelte.d.ts +5 -1
  199. package/dist/svelte/router/browser.ts +10 -0
  200. package/dist/svelte/router/goto.ts +15 -86
  201. package/dist/svelte/router/guards.ts +112 -0
  202. package/dist/svelte/router/index.ts +10 -0
  203. package/dist/svelte/router/lazy.ts +82 -0
  204. package/dist/svelte/router/lazyModule.ts +74 -0
  205. package/dist/svelte/router/navigation.ts +412 -0
  206. package/dist/svelte/router/pushState.ts +7 -4
  207. package/dist/svelte/router/scroll.ts +286 -0
  208. package/dist/svelte/server.js +747 -252
  209. package/dist/svelte/server.js.map +30 -20
  210. package/dist/types/angular.d.ts +2 -0
  211. package/dist/types/build.d.ts +37 -0
  212. package/dist/types/conventions.d.ts +3 -0
  213. package/dist/types/fileRoutes.d.ts +72 -0
  214. package/dist/types/fonts.d.ts +86 -0
  215. package/dist/types/formAction.d.ts +54 -0
  216. package/dist/types/globals.d.ts +10 -0
  217. package/dist/types/i18n.d.ts +185 -0
  218. package/dist/types/index.d.ts +4 -0
  219. package/dist/types/metadata.d.ts +11 -0
  220. package/dist/types/navigation.d.ts +37 -0
  221. package/dist/types/prefetch.d.ts +10 -0
  222. package/dist/types/sitemap.d.ts +4 -0
  223. package/dist/types/svelteRouter.d.ts +89 -2
  224. package/dist/types/svelteRouter.ts +112 -2
  225. package/dist/types/vue.d.ts +46 -1
  226. package/dist/utils/iconVersion.ts +34 -0
  227. package/dist/vue/browser.js +107 -11
  228. package/dist/vue/browser.js.map +7 -4
  229. package/dist/vue/components/index.js +5 -2
  230. package/dist/vue/components/index.js.map +5 -4
  231. package/dist/vue/index.js +712 -158
  232. package/dist/vue/index.js.map +32 -23
  233. package/dist/vue/server.js +310 -79
  234. package/dist/vue/server.js.map +20 -15
  235. package/package.json +9 -1
  236. package/dist/cli/prerender-mfnwsvyt.js +0 -7
  237. package/dist/src/plugins/pageRouter.d.ts +0 -1
  238. /package/dist/cli/{index-j7m8pq48.js → index-rervww4p.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/core/islandManifest.ts", "../src/client/islandResolver.ts", "../src/client/streamSwap.ts", "../node_modules/zustand/esm/vanilla.mjs", "../node_modules/zustand/esm/middleware.mjs", "../src/client/islandStore.ts", "../src/core/islands.ts", "../src/client/preserveIslandMarkup.ts", "../src/client/islandRuntime.ts"],
3
+ "sources": ["../src/core/islandManifest.ts", "../src/client/islandResolver.ts", "../src/client/streamSwap.ts", "../node_modules/zustand/esm/vanilla.mjs", "../node_modules/zustand/esm/middleware.mjs", "../src/client/islandStore.ts", "../src/core/islands.ts", "../src/client/preserveIslandMarkup.ts", "../src/client/islandRuntime.ts", "../src/utils/formActionProtocol.ts", "../src/client/formActions.ts"],
4
4
  "sourcesContent": [
5
5
  "import type { IslandFramework } from '../../types/island';\n\n/** Manifest key the server injects as the islands bootstrap script on any\n * page with island markers. The build records the configured\n * `islands.bootstrap` (whatever its file name) or a generated default under\n * it — see build/islandBootstrap.ts. */\nexport const ISLAND_BOOTSTRAP_MANIFEST_KEY = 'AbsoluteIslandBootstrap';\n\n/** Key a bootstrap file named `bootstrapClient.*` gets naturally, which is\n * all the server used to look for. Still honored for manifests built\n * before the reserved key existed. */\nexport const LEGACY_ISLAND_BOOTSTRAP_MANIFEST_KEY = 'BootstrapClient';\n\nconst toIslandFrameworkSegment = (framework: IslandFramework) =>\n\tframework[0]?.toUpperCase() + framework.slice(1);\n\nconst collectFrameworkIslands = (\n\tmanifest: Record<string, string>,\n\tprefix: string\n) => {\n\tconst entries: Record<string, string> = {};\n\tlet found = false;\n\n\tfor (const [key, value] of Object.entries(manifest)) {\n\t\tif (!key.startsWith(prefix)) continue;\n\n\t\tconst component = key.slice(prefix.length);\n\t\tif (!component) continue;\n\n\t\tentries[component] = value;\n\t\tfound = true;\n\t}\n\n\treturn found ? entries : undefined;\n};\n\nexport const getIslandBootstrapPath = (manifest: Record<string, string>) =>\n\tmanifest[ISLAND_BOOTSTRAP_MANIFEST_KEY] ??\n\tmanifest[LEGACY_ISLAND_BOOTSTRAP_MANIFEST_KEY];\nexport const getIslandManifestEntries = (manifest: Record<string, string>) => {\n\tconst islands: Partial<Record<IslandFramework, Record<string, string>>> =\n\t\t{};\n\tconst frameworks: IslandFramework[] = ['react', 'svelte', 'vue', 'angular'];\n\n\tfor (const framework of frameworks) {\n\t\tconst prefix = `Island${toIslandFrameworkSegment(framework)}`;\n\t\tconst entries = collectFrameworkIslands(manifest, prefix);\n\t\tif (entries) islands[framework] = entries;\n\t}\n\n\treturn islands;\n};\nexport const getIslandManifestKey = (\n\tframework: IslandFramework,\n\tcomponent: string\n) => `Island${toIslandFrameworkSegment(framework)}${component}`;\n",
6
6
  "import type { IslandFramework } from '../../types/island';\nimport {\n\tgetIslandManifestEntries,\n\tgetIslandManifestKey\n} from '../core/islandManifest';\n\nconst isStringRecord = (value: unknown): value is Record<string, string> =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\tObject.values(value).every((entry) => typeof entry === 'string');\n\n/** The manifest the server injects as `window.__ABSOLUTE_MANIFEST__` on any\n * page with islands (core/islandPageContext.ts). */\nconst readInjectedManifest = () => {\n\tconst injected: unknown = Reflect.get(globalThis, '__ABSOLUTE_MANIFEST__');\n\n\treturn isStringRecord(injected) ? injected : {};\n};\n\n/** Resolves island components from the build manifest's per-island chunks.\n * Defaults to the manifest the server injected into the page. */\nexport const createIslandManifestResolver = (\n\tmanifest: Record<string, string> = readInjectedManifest()\n) => {\n\tconst islandManifest = getIslandManifestEntries(manifest);\n\n\treturn async (framework: IslandFramework, component: string) => {\n\t\tconst modulePath =\n\t\t\tislandManifest[framework]?.[component] ??\n\t\t\tmanifest[getIslandManifestKey(framework, component)];\n\t\tif (!modulePath) return undefined;\n\n\t\tconst loadedModule = await import(modulePath);\n\n\t\treturn loadedModule.default;\n\t};\n};\n",
@@ -10,9 +10,11 @@
10
10
  "import { createStore, type StateCreator, type StoreApi } from 'zustand/vanilla';\nimport { combine } from 'zustand/middleware';\n\nexport type IslandStoreState = object;\ntype IslandStoreSnapshot = Record<string, unknown>;\ntype IslandStoreShape<\n\tTState extends IslandStoreState,\n\tTActions extends object\n> = Omit<TState, keyof TActions> & TActions;\nexport type IslandStateSnapshot = Record<string, IslandStoreSnapshot>;\ntype AnyIslandStore = StoreApi<object>;\ntype IslandStoreInstance = {\n\tapplyExternalSnapshot: (snapshot: IslandStoreSnapshot) => void;\n\tstore: AnyIslandStore;\n};\n\nexport const ABSOLUTE_ISLAND_STATE = '__ABS_ISLAND_STATE__';\nexport const ABSOLUTE_ISLAND_STORES = '__ABS_ISLAND_STORES__';\n\ndeclare global {\n\tvar __ABS_ISLAND_STATE__: IslandStateSnapshot | undefined;\n\tvar __ABS_ISLAND_STORES__:\n\t\tMap<string, Set<IslandStoreInstance>> | undefined;\n}\n\nconst getIslandStoreSnapshot = () => {\n\tglobalThis.__ABS_ISLAND_STATE__ ??= {};\n\n\treturn globalThis.__ABS_ISLAND_STATE__;\n};\n\nconst getIslandStores = () => {\n\tglobalThis.__ABS_ISLAND_STORES__ ??= new Map();\n\n\treturn globalThis.__ABS_ISLAND_STORES__;\n};\n\nconst isSerializableValue = (value: unknown) =>\n\ttypeof value !== 'function' && value !== undefined;\n\nconst toSerializableState = <T extends object>(state: T) =>\n\tObject.fromEntries(\n\t\tObject.entries(state).filter(([, value]) => isSerializableValue(value))\n\t);\n\nconst applySnapshot = <T extends object>(\n\tstore: StoreApi<T>,\n\tsnapshot: IslandStoreSnapshot | undefined\n) => {\n\tif (!snapshot) {\n\t\treturn;\n\t}\n\n\tstore.setState({\n\t\t...store.getState(),\n\t\t...snapshot\n\t});\n};\n\nconst getPeerStores = (\n\tstoreInstances: Set<IslandStoreInstance>,\n\townerStore: AnyIslandStore\n) => [...storeInstances].filter((peer) => peer.store !== ownerStore);\n\nconst syncIslandSnapshot = <\n\tTState extends IslandStoreState,\n\tTActions extends object\n>(\n\tstoreId: string,\n\tstate: IslandStoreShape<TState, TActions>,\n\tstoreInstances: Set<IslandStoreInstance>,\n\townerStore: AnyIslandStore\n) => {\n\tconst nextSnapshot = toSerializableState(state);\n\tgetIslandStoreSnapshot()[storeId] = nextSnapshot;\n\n\tfor (const peerStore of getPeerStores(storeInstances, ownerStore)) {\n\t\tpeerStore.applyExternalSnapshot(nextSnapshot);\n\t}\n};\n\nexport const createIslandStore = <\n\tTState extends IslandStoreState,\n\tTActions extends object\n>(\n\tstoreId: string,\n\tinitialState: TState,\n\tcreateState: StateCreator<TState, [], [], TActions>\n) => {\n\tconst store = createStore(combine(initialState, createState));\n\tconst stores = getIslandStores();\n\tconst storeInstances =\n\t\tstores.get(storeId) ?? new Set<IslandStoreInstance>();\n\tconst initialSnapshot = getIslandStoreSnapshot()[storeId];\n\tapplySnapshot(store, initialSnapshot);\n\tlet isApplyingExternalSnapshot = false;\n\n\tconst applyExternalSnapshot = (snapshot: IslandStoreSnapshot) => {\n\t\tisApplyingExternalSnapshot = true;\n\t\tapplySnapshot(store, snapshot);\n\t};\n\n\tstoreInstances.add({\n\t\tapplyExternalSnapshot,\n\t\tstore\n\t});\n\tstores.set(storeId, storeInstances);\n\n\tsyncIslandSnapshot(storeId, store.getState(), storeInstances, store);\n\tstore.subscribe((state) => {\n\t\tif (isApplyingExternalSnapshot) {\n\t\t\tisApplyingExternalSnapshot = false;\n\n\t\t\treturn;\n\t\t}\n\n\t\tsyncIslandSnapshot(storeId, state, storeInstances, store);\n\t});\n\n\treturn store;\n};\nexport const getIslandStoreServerSnapshot = <\n\tTState extends IslandStoreState,\n\tTSelected\n>(\n\tstore: StoreApi<TState>,\n\tselector: (state: TState) => TSelected\n) => selector(store.getInitialState());\nconst applySnapshotToStoreInstances = (\n\tstoreId: string,\n\tinstances: Set<IslandStoreInstance>,\n\tsnapshot: IslandStateSnapshot\n) => {\n\tfor (const instance of instances) {\n\t\tinstance.applyExternalSnapshot(snapshot[storeId] ?? {});\n\t}\n};\n\nexport const initializeIslandStores = (state: IslandStateSnapshot) => {\n\tconst currentSnapshot = getIslandStoreSnapshot();\n\tconst nextSnapshot: IslandStateSnapshot = {\n\t\t...state,\n\t\t...currentSnapshot\n\t};\n\n\tglobalThis.__ABS_ISLAND_STATE__ = nextSnapshot;\n\n\tfor (const [storeId, store] of getIslandStores()) {\n\t\tapplySnapshotToStoreInstances(storeId, store, nextSnapshot);\n\t}\n};\nexport const readIslandStore = <TState extends IslandStoreState, TSelected>(\n\tstore: StoreApi<TState>,\n\tselector: (state: TState) => TSelected\n) => selector(store.getState());\nexport const resetIslandStoreForTesting = () => {\n\tdelete globalThis.__ABS_ISLAND_STATE__;\n\tdelete globalThis.__ABS_ISLAND_STORES__;\n};\nexport const subscribeIslandStore = <\n\tTState extends IslandStoreState,\n\tTSelected\n>(\n\tstore: StoreApi<TState>,\n\tselector: (state: TState) => TSelected,\n\tlistener: (value: TSelected) => void\n) => {\n\tlet currentSelection = selector(store.getState());\n\n\treturn store.subscribe((state) => {\n\t\tconst nextSelection = selector(state);\n\t\tif (Object.is(nextSelection, currentSelection)) {\n\t\t\treturn;\n\t\t}\n\n\t\tcurrentSelection = nextSelection;\n\t\tlistener(nextSelection);\n\t});\n};\n",
11
11
  "import type {\n\tIslandComponentDefinition,\n\tIslandRegistry,\n\tIslandRegistryInput\n} from '../../types/island';\n\nexport const defineIslandComponent = <Component>(\n\tcomponent: Component,\n\toptions: {\n\t\texport?: string;\n\t\tsource: string;\n\t}\n): IslandComponentDefinition<Component> => ({\n\tcomponent,\n\texport: options.export,\n\tsource: options.source\n});\nexport const defineIslandRegistry = <T extends IslandRegistryInput>(\n\tregistry: IslandRegistry<T>\n) => registry;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nexport const getIslandBuildReference = <Component>(\n\tcomponent: Component | IslandComponentDefinition<Component>\n) => {\n\tif (!isIslandComponentDefinition(component)) return null;\n\n\treturn {\n\t\texport: component.export,\n\t\tsource: component.source\n\t};\n};\nexport const isIslandComponentDefinition = <Component>(\n\tvalue: Component | IslandComponentDefinition<Component>\n): value is IslandComponentDefinition<Component> =>\n\tisRecord(value) &&\n\t'component' in value &&\n\t'source' in value &&\n\ttypeof value.source === 'string';\n\nexport function getIslandComponent<Component>(component: Component): Component;\nexport function getIslandComponent<Component>(\n\tcomponent: IslandComponentDefinition<Component>\n): Component;\nexport function getIslandComponent<Component>(\n\tcomponent: Component | IslandComponentDefinition<Component>\n) {\n\tif (isIslandComponentDefinition(component)) {\n\t\treturn component.component;\n\t}\n\n\treturn component;\n}\nexport const parseIslandProps = (rawProps: string | null) => {\n\tif (!rawProps) return {};\n\n\treturn JSON.parse(rawProps);\n};\nexport const serializeIslandProps = (props: unknown) =>\n\tJSON.stringify(props ?? {});\n\nexport {\n\tgetIslandManifestEntries,\n\tgetIslandManifestKey\n} from './islandManifest';\n",
12
12
  "import type { RuntimeIslandRenderProps } from '../../types/island';\nimport { getIslandMarkerAttributes } from '../core/islandMarkupAttributes';\n\ntype PreservedIslandMarkup = {\n\tattributes: Record<string, string>;\n\tinnerHTML: string;\n};\n\ntype IslandMarkerElement = HTMLElement & {\n\tdataset: DOMStringMap & {\n\t\tcomponent?: string;\n\t\tframework?: string;\n\t\thydrate?: string;\n\t\tisland?: string;\n\t\tislandId?: string;\n\t\tprops?: string;\n\t};\n};\n\nconst getSnapshotMap = () => {\n\tif (typeof window === 'undefined') {\n\t\treturn null;\n\t}\n\n\twindow.__ABS_SERVER_ISLAND_HTML__ ??= new Map<\n\t\tstring,\n\t\tPreservedIslandMarkup[]\n\t>();\n\n\treturn window.__ABS_SERVER_ISLAND_HTML__;\n};\n\nconst getIslandSignature = (props: RuntimeIslandRenderProps) => {\n\tconst attributes = getIslandMarkerAttributes(props);\n\n\treturn [\n\t\tattributes['data-component'],\n\t\tattributes['data-framework'],\n\t\tattributes['data-hydrate'],\n\t\tattributes['data-props']\n\t].join('::');\n};\n\nconst isMatchingIslandElement = (\n\telement: Element,\n\tprops: RuntimeIslandRenderProps\n): element is IslandMarkerElement => {\n\tif (!(element instanceof HTMLElement)) {\n\t\treturn false;\n\t}\n\n\tconst attributes = getIslandMarkerAttributes(props);\n\n\treturn (\n\t\telement.dataset.island === 'true' &&\n\t\telement.dataset.component === attributes['data-component'] &&\n\t\telement.dataset.framework === attributes['data-framework'] &&\n\t\t(element.dataset.hydrate ?? 'load') === attributes['data-hydrate'] &&\n\t\t(element.dataset.props ?? '{}') === attributes['data-props']\n\t);\n};\n\nconst snapshotIslandElement = (\n\telement: HTMLElement,\n\tsnapshotMap: Map<string, PreservedIslandMarkup[]>\n) => {\n\tconst signature = [\n\t\telement.dataset.component,\n\t\telement.dataset.framework,\n\t\telement.dataset.hydrate ?? 'load',\n\t\telement.dataset.props ?? '{}'\n\t].join('::');\n\tconst existing = snapshotMap.get(signature) ?? [];\n\tconst attributes = Object.fromEntries(\n\t\telement\n\t\t\t.getAttributeNames()\n\t\t\t.map((name) => [name, element.getAttribute(name) ?? ''])\n\t);\n\texisting.push({\n\t\tattributes,\n\t\tinnerHTML: element.innerHTML\n\t});\n\tsnapshotMap.set(signature, existing);\n};\n\nexport const initializeIslandMarkupSnapshot = () => {\n\tif (typeof document === 'undefined') {\n\t\treturn;\n\t}\n\n\tconst snapshotMap = getSnapshotMap();\n\tif (!snapshotMap || snapshotMap.size > 0) {\n\t\treturn;\n\t}\n\n\tconst elements = Array.from(\n\t\tdocument.querySelectorAll<HTMLElement>('[data-island=\"true\"]')\n\t);\n\tfor (const element of elements) {\n\t\tsnapshotIslandElement(element, snapshotMap);\n\t}\n};\n\nexport const preserveIslandMarkup = (props: RuntimeIslandRenderProps) => {\n\tif (typeof document === 'undefined') {\n\t\treturn {\n\t\t\tattributes: getIslandMarkerAttributes(props),\n\t\t\tinnerHTML: ''\n\t\t};\n\t}\n\n\tconst snapshotMap = getSnapshotMap();\n\tconst signature = getIslandSignature(props);\n\t// Islands that share a signature (same component, framework, hydrate mode\n\t// and serialized props) produce byte-identical SSR markup, so the first\n\t// captured snapshot is correct for every instance. Returning it\n\t// unconditionally keeps this stateless: React may call the component many\n\t// times during a single hydration (StrictMode double-render, hydration\n\t// retries, mismatch regeneration), and a per-call claim counter would run\n\t// past the snapshot list and yield empty markup — making the host render\n\t// `dangerouslySetInnerHTML={{ __html: '' }}` and wipe the island's\n\t// server-rendered DOM before the island runtime can hydrate it.\n\tconst snapshotCandidate = snapshotMap?.get(signature)?.[0];\n\tif (snapshotCandidate) {\n\t\treturn snapshotCandidate;\n\t}\n\n\t// Snapshot not captured yet (the island runtime module hasn't evaluated):\n\t// fall back to reading the live SSR DOM directly.\n\tconst liveCandidate = Array.from(\n\t\tdocument.querySelectorAll('[data-island=\"true\"]')\n\t).find((element) => isMatchingIslandElement(element, props));\n\tif (!liveCandidate) {\n\t\treturn {\n\t\t\tattributes: getIslandMarkerAttributes(props),\n\t\t\tinnerHTML: ''\n\t\t};\n\t}\n\n\treturn {\n\t\tattributes: Object.fromEntries(\n\t\t\tliveCandidate\n\t\t\t\t.getAttributeNames()\n\t\t\t\t.map((name) => [name, liveCandidate.getAttribute(name) ?? ''])\n\t\t),\n\t\tinnerHTML: liveCandidate.innerHTML\n\t};\n};\n",
13
- "import type { IslandFramework } from '../../types/island';\nimport { getIslandComponent, parseIslandProps } from '../core/islands';\nimport { initializeIslandMarkupSnapshot } from './preserveIslandMarkup';\nimport { prepareBrowserTranslationHydration } from './browserTranslation';\n\ninitializeIslandMarkupSnapshot();\n\ntype RuntimeIslandRegistry = Partial<\n\tRecord<IslandFramework, Record<string, unknown>>\n>;\n\ntype StartIslandsOptions = {\n\tregistry: RuntimeIslandRegistry;\n\tresolveComponent?: (\n\t\tframework: IslandFramework,\n\t\tcomponent: string\n\t) => Promise<unknown>;\n\troot?: ParentNode & Node;\n};\n\ntype IslandElement = HTMLElement & {\n\tdataset: DOMStringMap & {\n\t\tcomponent?: string;\n\t\terror?: string;\n\t\tframework?: IslandFramework;\n\t\thydrate?: string;\n\t\tislandId?: string;\n\t\tprops?: string;\n\t};\n};\n\nconst idleDeadline: IdleDeadline = {\n\tdidTimeout: false,\n\ttimeRemaining: () => 0\n};\n\nconst requestIdle =\n\ttypeof window !== 'undefined' && 'requestIdleCallback' in window\n\t\t? window.requestIdleCallback.bind(window)\n\t\t: (callback: IdleRequestCallback) =>\n\t\t\t\twindow.setTimeout(() => callback(idleDeadline), 1);\n\nconst isPropsRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isIslandElement = (value: EventTarget | null): value is IslandElement =>\n\tvalue instanceof HTMLElement && value.dataset.island === 'true';\n\nconst observedRoots = new WeakSet<Node>();\nconst hydratingIslands = new WeakSet<HTMLElement>();\n\nconst hydratePreservingBrowserTranslation = async (\n\telement: HTMLElement,\n\thydrate: () => unknown | Promise<unknown>\n) => {\n\tconst restoreTranslation = prepareBrowserTranslationHydration(element);\n\ttry {\n\t\tawait hydrate();\n\t} finally {\n\t\trestoreTranslation();\n\t}\n};\n\n// Framework-specific hydrators are dynamic-imported on first use so the\n// island runtime never statically pulls in a framework's runtime (and its\n// transitive deps) the consumer doesn't actually use. Without this, a\n// React-only project loading `@absolutejs/absolute/client` would resolve\n// every framework's peer deps — including `@angular/core` — and fail at\n// module load if any of them weren't installed.\nconst hydrateByFramework = async (\n\tregistry: RuntimeIslandRegistry,\n\tframework: IslandFramework,\n\tcomponentName: string,\n\telement: IslandElement,\n\tprops: unknown,\n\tresolveComponent?: (\n\t\tframework: IslandFramework,\n\t\tcomponent: string\n\t) => Promise<unknown>\n) => {\n\tconst propsRecord = isPropsRecord(props) ? props : undefined;\n\n\tif (framework === 'react') {\n\t\tconst { hydrateReactIsland, isReactComponent } =\n\t\t\tawait import('./hydrators/react');\n\t\tconst resolvedComponent =\n\t\t\t(await resolveComponent?.(framework, componentName)) ??\n\t\t\tgetIslandComponent(registry.react?.[componentName]);\n\t\tif (!isReactComponent(resolvedComponent)) return;\n\n\t\thydrateReactIsland(resolvedComponent, element, propsRecord);\n\t\telement.dataset.hydrated = 'true';\n\n\t\treturn;\n\t}\n\n\tif (framework === 'svelte') {\n\t\tconst { hydrateSvelteIsland, isSvelteComponent } =\n\t\t\tawait import('./hydrators/svelte');\n\t\tconst resolvedComponent =\n\t\t\t(await resolveComponent?.(framework, componentName)) ??\n\t\t\tgetIslandComponent(registry.svelte?.[componentName]);\n\t\tif (!isSvelteComponent(resolvedComponent)) return;\n\n\t\tawait hydratePreservingBrowserTranslation(element, () =>\n\t\t\thydrateSvelteIsland(resolvedComponent, element, propsRecord)\n\t\t);\n\t\telement.dataset.hydrated = 'true';\n\n\t\treturn;\n\t}\n\n\tif (framework === 'vue') {\n\t\tconst { hydrateVueIsland, isVueComponent } =\n\t\t\tawait import('./hydrators/vue');\n\t\tconst resolvedComponent =\n\t\t\t(await resolveComponent?.(framework, componentName)) ??\n\t\t\tgetIslandComponent(registry.vue?.[componentName]);\n\t\tif (!isVueComponent(resolvedComponent)) return;\n\n\t\tawait hydratePreservingBrowserTranslation(element, () =>\n\t\t\thydrateVueIsland(resolvedComponent, element, propsRecord)\n\t\t);\n\t\telement.dataset.hydrated = 'true';\n\n\t\treturn;\n\t}\n\n\tif (framework === 'angular') {\n\t\tconst { mountAngularIsland, isAngularComponent } =\n\t\t\tawait import('../angular/islands');\n\t\tconst resolvedComponent =\n\t\t\t(await resolveComponent?.(framework, componentName)) ??\n\t\t\tgetIslandComponent(registry.angular?.[componentName]);\n\t\tconst { islandId } = element.dataset;\n\t\tif (!isAngularComponent(resolvedComponent) || !islandId) return;\n\n\t\tawait hydratePreservingBrowserTranslation(element, () =>\n\t\t\tmountAngularIsland(\n\t\t\t\tresolvedComponent,\n\t\t\t\telement,\n\t\t\t\tpropsRecord ?? {},\n\t\t\t\tislandId\n\t\t\t)\n\t\t);\n\t\telement.dataset.hydrated = 'true';\n\t}\n};\n\nconst hydrateIsland = async (\n\tregistry: RuntimeIslandRegistry,\n\telement: IslandElement,\n\tresolveComponent?: (\n\t\tframework: IslandFramework,\n\t\tcomponent: string\n\t) => Promise<unknown>\n) => {\n\tif (element.dataset.hydrated === 'true' || hydratingIslands.has(element)) {\n\t\treturn;\n\t}\n\n\tconst { framework } = element.dataset;\n\tconst componentName = element.dataset.component;\n\tif (!framework || !componentName) return;\n\n\tconst props = parseIslandProps(element.getAttribute('data-props'));\n\thydratingIslands.add(element);\n\n\ttry {\n\t\tawait hydrateByFramework(\n\t\t\tregistry,\n\t\t\tframework,\n\t\t\tcomponentName,\n\t\t\telement,\n\t\t\tprops,\n\t\t\tresolveComponent\n\t\t);\n\t} catch (error) {\n\t\tconst message =\n\t\t\terror instanceof Error ? error.message : 'Unknown island error';\n\t\telement.dataset.error = message;\n\t\tconsole.error(\n\t\t\t`[islands] Failed to hydrate ${framework}:${componentName}`,\n\t\t\terror\n\t\t);\n\t} finally {\n\t\thydratingIslands.delete(element);\n\t}\n};\n\nconst scheduleIsland = (\n\tregistry: RuntimeIslandRegistry,\n\telement: IslandElement,\n\tobserver: IntersectionObserver | null,\n\tresolveComponent?: (\n\t\tframework: IslandFramework,\n\t\tcomponent: string\n\t) => Promise<unknown>\n) => {\n\tconst mode = element.dataset.hydrate ?? 'load';\n\tif (mode === 'none') return;\n\tif (mode === 'load') {\n\t\tvoid hydrateIsland(registry, element, resolveComponent);\n\n\t\treturn;\n\t}\n\tif (mode === 'idle') {\n\t\trequestIdle(\n\t\t\t() => void hydrateIsland(registry, element, resolveComponent)\n\t\t);\n\n\t\treturn;\n\t}\n\tif (mode === 'visible' && observer) {\n\t\tobserver.observe(element);\n\n\t\treturn;\n\t}\n\n\tvoid hydrateIsland(registry, element, resolveComponent);\n};\n\nconst collectIslandElements = (node: Node) => {\n\tconst islands: IslandElement[] = [];\n\tif (isIslandElement(node)) islands.push(node);\n\tif (!(node instanceof Element)) return islands;\n\n\tconst nested = node.querySelectorAll<IslandElement>('[data-island=\"true\"]');\n\tfor (const island of nested) {\n\t\tislands.push(island);\n\t}\n\n\treturn islands;\n};\n\nexport const startIslands = ({\n\tregistry,\n\tresolveComponent,\n\troot = document.documentElement\n}: StartIslandsOptions) => {\n\tconst targetRoot = root instanceof Document ? root.documentElement : root;\n\n\tconst observer =\n\t\ttypeof IntersectionObserver === 'undefined'\n\t\t\t? null\n\t\t\t: new IntersectionObserver((entries) => {\n\t\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\t\tif (!entry.isIntersecting) continue;\n\t\t\t\t\t\tif (!isIslandElement(entry.target)) continue;\n\n\t\t\t\t\t\tobserver?.unobserve(entry.target);\n\t\t\t\t\t\tvoid hydrateIsland(\n\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t\tentry.target,\n\t\t\t\t\t\t\tresolveComponent\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\tconst islands = targetRoot.querySelectorAll<IslandElement>(\n\t\t'[data-island=\"true\"]'\n\t);\n\tfor (const island of islands) {\n\t\tscheduleIsland(registry, island, observer, resolveComponent);\n\t}\n\n\tif (typeof MutationObserver === 'undefined') return;\n\tif (observedRoots.has(targetRoot)) return;\n\n\tconst mutationObserver = new MutationObserver((records) => {\n\t\tconst addedIslands = records.flatMap((record) =>\n\t\t\tArray.from(record.addedNodes).flatMap(collectIslandElements)\n\t\t);\n\t\tfor (const island of addedIslands) {\n\t\t\tscheduleIsland(registry, island, observer, resolveComponent);\n\t\t}\n\t});\n\n\tobservedRoots.add(targetRoot);\n\tmutationObserver.observe(targetRoot, {\n\t\tchildList: true,\n\t\tsubtree: true\n\t});\n};\n"
13
+ "import type { IslandFramework } from '../../types/island';\nimport { getIslandComponent, parseIslandProps } from '../core/islands';\nimport { initializeIslandMarkupSnapshot } from './preserveIslandMarkup';\nimport { prepareBrowserTranslationHydration } from './browserTranslation';\n\ninitializeIslandMarkupSnapshot();\n\ntype RuntimeIslandRegistry = Partial<\n\tRecord<IslandFramework, Record<string, unknown>>\n>;\n\ntype StartIslandsOptions = {\n\tregistry: RuntimeIslandRegistry;\n\tresolveComponent?: (\n\t\tframework: IslandFramework,\n\t\tcomponent: string\n\t) => Promise<unknown>;\n\troot?: ParentNode & Node;\n};\n\ntype IslandElement = HTMLElement & {\n\tdataset: DOMStringMap & {\n\t\tcomponent?: string;\n\t\terror?: string;\n\t\tframework?: IslandFramework;\n\t\thydrate?: string;\n\t\tislandId?: string;\n\t\tprops?: string;\n\t};\n};\n\nconst idleDeadline: IdleDeadline = {\n\tdidTimeout: false,\n\ttimeRemaining: () => 0\n};\n\nconst requestIdle =\n\ttypeof window !== 'undefined' && 'requestIdleCallback' in window\n\t\t? window.requestIdleCallback.bind(window)\n\t\t: (callback: IdleRequestCallback) =>\n\t\t\t\twindow.setTimeout(() => callback(idleDeadline), 1);\n\nconst isPropsRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\n\nconst isIslandElement = (value: EventTarget | null): value is IslandElement =>\n\tvalue instanceof HTMLElement && value.dataset.island === 'true';\n\nconst observedRoots = new WeakSet<Node>();\nconst hydratingIslands = new WeakSet<HTMLElement>();\n\nconst hydratePreservingBrowserTranslation = async (\n\telement: HTMLElement,\n\thydrate: () => unknown | Promise<unknown>\n) => {\n\tconst restoreTranslation = prepareBrowserTranslationHydration(element);\n\ttry {\n\t\tawait hydrate();\n\t} finally {\n\t\trestoreTranslation();\n\t}\n};\n\n// Framework-specific hydrators are dynamic-imported on first use so the\n// island runtime never statically pulls in a framework's runtime (and its\n// transitive deps) the consumer doesn't actually use. Without this, a\n// React-only project loading `@absolutejs/absolute/client` would resolve\n// every framework's peer deps — including `@angular/core` — and fail at\n// module load if any of them weren't installed.\nconst hydrateByFramework = async (\n\tregistry: RuntimeIslandRegistry,\n\tframework: IslandFramework,\n\tcomponentName: string,\n\telement: IslandElement,\n\tprops: unknown,\n\tresolveComponent?: (\n\t\tframework: IslandFramework,\n\t\tcomponent: string\n\t) => Promise<unknown>\n) => {\n\tconst propsRecord = isPropsRecord(props) ? props : undefined;\n\n\tif (framework === 'react') {\n\t\tconst { hydrateReactIsland, isReactComponent } =\n\t\t\tawait import('./hydrators/react');\n\t\tconst resolvedComponent =\n\t\t\t(await resolveComponent?.(framework, componentName)) ??\n\t\t\tgetIslandComponent(registry.react?.[componentName]);\n\t\tif (!isReactComponent(resolvedComponent)) return;\n\n\t\thydrateReactIsland(resolvedComponent, element, propsRecord);\n\t\telement.dataset.hydrated = 'true';\n\n\t\treturn;\n\t}\n\n\tif (framework === 'svelte') {\n\t\tconst { hydrateSvelteIsland, isSvelteComponent } =\n\t\t\tawait import('./hydrators/svelte');\n\t\tconst resolvedComponent =\n\t\t\t(await resolveComponent?.(framework, componentName)) ??\n\t\t\tgetIslandComponent(registry.svelte?.[componentName]);\n\t\tif (!isSvelteComponent(resolvedComponent)) return;\n\n\t\tawait hydratePreservingBrowserTranslation(element, () =>\n\t\t\thydrateSvelteIsland(resolvedComponent, element, propsRecord)\n\t\t);\n\t\telement.dataset.hydrated = 'true';\n\n\t\treturn;\n\t}\n\n\tif (framework === 'vue') {\n\t\tconst { hydrateVueIsland, isVueComponent } =\n\t\t\tawait import('./hydrators/vue');\n\t\tconst resolvedComponent =\n\t\t\t(await resolveComponent?.(framework, componentName)) ??\n\t\t\tgetIslandComponent(registry.vue?.[componentName]);\n\t\tif (!isVueComponent(resolvedComponent)) return;\n\n\t\tawait hydratePreservingBrowserTranslation(element, () =>\n\t\t\thydrateVueIsland(resolvedComponent, element, propsRecord)\n\t\t);\n\t\telement.dataset.hydrated = 'true';\n\n\t\treturn;\n\t}\n\n\tif (framework === 'angular') {\n\t\tconst { mountAngularIsland, isAngularComponent } =\n\t\t\tawait import('../angular/islands');\n\t\tconst resolvedComponent =\n\t\t\t(await resolveComponent?.(framework, componentName)) ??\n\t\t\tgetIslandComponent(registry.angular?.[componentName]);\n\t\tconst { islandId } = element.dataset;\n\t\tif (!isAngularComponent(resolvedComponent) || !islandId) return;\n\n\t\tawait hydratePreservingBrowserTranslation(element, () =>\n\t\t\tmountAngularIsland(\n\t\t\t\tresolvedComponent,\n\t\t\t\telement,\n\t\t\t\tpropsRecord ?? {},\n\t\t\t\tislandId\n\t\t\t)\n\t\t);\n\t\telement.dataset.hydrated = 'true';\n\t}\n};\n\nconst hydrateIsland = async (\n\tregistry: RuntimeIslandRegistry,\n\telement: IslandElement,\n\tresolveComponent?: (\n\t\tframework: IslandFramework,\n\t\tcomponent: string\n\t) => Promise<unknown>\n) => {\n\tif (element.dataset.hydrated === 'true' || hydratingIslands.has(element)) {\n\t\treturn;\n\t}\n\n\tconst { framework } = element.dataset;\n\tconst componentName = element.dataset.component;\n\tif (!framework || !componentName) return;\n\n\tconst props = parseIslandProps(element.getAttribute('data-props'));\n\thydratingIslands.add(element);\n\n\ttry {\n\t\tawait hydrateByFramework(\n\t\t\tregistry,\n\t\t\tframework,\n\t\t\tcomponentName,\n\t\t\telement,\n\t\t\tprops,\n\t\t\tresolveComponent\n\t\t);\n\t} catch (error) {\n\t\tconst message =\n\t\t\terror instanceof Error ? error.message : 'Unknown island error';\n\t\telement.dataset.error = message;\n\t\tconsole.error(\n\t\t\t`[islands] Failed to hydrate ${framework}:${componentName}`,\n\t\t\terror\n\t\t);\n\t} finally {\n\t\thydratingIslands.delete(element);\n\t}\n};\n\nconst scheduleIsland = (\n\tregistry: RuntimeIslandRegistry,\n\telement: IslandElement,\n\tobserver: IntersectionObserver | null,\n\tresolveComponent?: (\n\t\tframework: IslandFramework,\n\t\tcomponent: string\n\t) => Promise<unknown>\n) => {\n\tconst mode = element.dataset.hydrate ?? 'load';\n\tif (mode === 'none') return;\n\tif (mode === 'load') {\n\t\tvoid hydrateIsland(registry, element, resolveComponent);\n\n\t\treturn;\n\t}\n\tif (mode === 'idle') {\n\t\trequestIdle(\n\t\t\t() => void hydrateIsland(registry, element, resolveComponent)\n\t\t);\n\n\t\treturn;\n\t}\n\tif (mode === 'visible' && observer) {\n\t\tobserver.observe(element);\n\n\t\treturn;\n\t}\n\n\tvoid hydrateIsland(registry, element, resolveComponent);\n};\n\nconst collectIslandElements = (node: Node) => {\n\tconst islands: IslandElement[] = [];\n\tif (isIslandElement(node)) islands.push(node);\n\tif (!(node instanceof Element)) return islands;\n\n\tconst nested = node.querySelectorAll<IslandElement>('[data-island=\"true\"]');\n\tfor (const island of nested) {\n\t\tislands.push(island);\n\t}\n\n\treturn islands;\n};\n\nexport const startIslands = ({\n\tregistry,\n\tresolveComponent,\n\troot = document.documentElement\n}: StartIslandsOptions) => {\n\tconst targetRoot = root instanceof Document ? root.documentElement : root;\n\n\tconst observer =\n\t\ttypeof IntersectionObserver === 'undefined'\n\t\t\t? null\n\t\t\t: new IntersectionObserver((entries) => {\n\t\t\t\t\tfor (const entry of entries) {\n\t\t\t\t\t\tif (!entry.isIntersecting) continue;\n\t\t\t\t\t\tif (!isIslandElement(entry.target)) continue;\n\n\t\t\t\t\t\tobserver?.unobserve(entry.target);\n\t\t\t\t\t\tvoid hydrateIsland(\n\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t\tentry.target,\n\t\t\t\t\t\t\tresolveComponent\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\tconst islands = targetRoot.querySelectorAll<IslandElement>(\n\t\t'[data-island=\"true\"]'\n\t);\n\tfor (const island of islands) {\n\t\tscheduleIsland(registry, island, observer, resolveComponent);\n\t}\n\n\tif (typeof MutationObserver === 'undefined') return;\n\tif (observedRoots.has(targetRoot)) return;\n\n\tconst mutationObserver = new MutationObserver((records) => {\n\t\tconst addedIslands = records.flatMap((record) =>\n\t\t\tArray.from(record.addedNodes).flatMap(collectIslandElements)\n\t\t);\n\t\tfor (const island of addedIslands) {\n\t\t\tscheduleIsland(registry, island, observer, resolveComponent);\n\t\t}\n\t});\n\n\tobservedRoots.add(targetRoot);\n\tmutationObserver.observe(targetRoot, {\n\t\tchildList: true,\n\t\tsubtree: true\n\t});\n};\n",
14
+ "import type { ActionResult } from '../../types/formAction';\n\n/* The wire contract between `defineAction` (server) and the browser\n * helpers (`submitFormAction`, `enhanceForms`, `useFormAction`). Browser\n * safe: no server imports. */\n\n/* - ACTION_ERROR_ATTRIBUTE: element whose text becomes the named field's\n * error (`data-action-error=\"email\"`).\n * - ACTION_FORM_ATTRIBUTE: marks a plain <form> for `enhanceForms()` and\n * for the server's no-JS result rendering.\n * - ACTION_MESSAGE_ATTRIBUTE: element whose text becomes the form-level\n * error message.\n * - ACTION_REQUEST_HEADER: sent by the browser helpers so the action\n * answers with JSON instead of redirecting.\n * - ACTION_STATUS_ATTRIBUTE: set on the form, `success` or `error`.\n * - ACTION_SUCCESS_ATTRIBUTE: element shown (its `hidden` removed) after\n * a successful submission. */\nexport const ACTION_ERROR_ATTRIBUTE = 'data-action-error';\nexport const ACTION_FORM_ATTRIBUTE = 'data-absolute-action';\nexport const ACTION_MESSAGE_ATTRIBUTE = 'data-action-message';\nexport const ACTION_REQUEST_HEADER = 'x-absolute-action';\nexport const ACTION_STATUS_ATTRIBUTE = 'data-action-status';\nexport const ACTION_SUCCESS_ATTRIBUTE = 'data-action-success';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst isStringRecord = (value: unknown) =>\n\tisRecord(value) &&\n\tObject.values(value).every((entry) => typeof entry === 'string');\n\nconst isOptionalString = (value: unknown) =>\n\tvalue === undefined || typeof value === 'string';\n\n/** True for a well-formed action result. The type parameters let callers\n * name the action's data and fields; only the shape is checked. */\nexport const isActionResult = <Data = unknown, Fields extends string = string>(\n\tvalue: unknown\n): value is ActionResult<Data, Fields> => {\n\tif (!isRecord(value)) return false;\n\tif (value.status === 'success') return isOptionalString(value.redirect);\n\n\treturn (\n\t\tvalue.status === 'error' &&\n\t\tisStringRecord(value.errors) &&\n\t\tisOptionalString(value.message)\n\t);\n};\n",
15
+ "import type {\n\tActionData,\n\tActionErrorState,\n\tActionFields,\n\tActionPath,\n\tActionResult,\n\tAnyFormAction\n} from '../../types/formAction';\nimport {\n\tACTION_ERROR_ATTRIBUTE,\n\tACTION_FORM_ATTRIBUTE,\n\tACTION_MESSAGE_ATTRIBUTE,\n\tACTION_REQUEST_HEADER,\n\tACTION_STATUS_ATTRIBUTE,\n\tACTION_SUCCESS_ATTRIBUTE,\n\tisActionResult\n} from '../utils/formActionProtocol';\n\n/* Browser side of form actions. `submitFormAction` posts a FormData and\n * returns the typed result; `enhanceForms` upgrades plain\n * `<form data-absolute-action>` markup (static HTML and HTMX pages) so it\n * submits without a reload. Without JavaScript the same forms post\n * normally and the server renders the result. */\n\nexport type SubmitFormActionOptions = {\n\tsignal?: AbortSignal;\n};\n\nconst failure = (message: string): ActionErrorState => ({\n\terrors: {},\n\tmessage,\n\tstatus: 'error'\n});\n\nconst readPayload = async (response: Response) => {\n\ttry {\n\t\tconst payload: unknown = await response.json();\n\n\t\treturn payload;\n\t} catch {\n\t\treturn undefined;\n\t}\n};\n\n/** A reducer for React 19's `useActionState` (JavaScript-only: React\n * renders function form actions as `javascript:` URLs on the server; use\n * `useFormAction` for forms that also work without JavaScript). */\nexport const formActionReducer =\n\t<Action extends AnyFormAction = AnyFormAction>(path: ActionPath<Action>) =>\n\tasync (_previous: unknown, body: FormData) =>\n\t\tsubmitFormAction<Action>(path, body);\n\n/** Posts `body` to the action at `path` and returns its result. Network\n * and unexpected server failures come back as an error state with a\n * `message`; an aborted request rejects with the abort error. */\nexport const submitFormAction = async <\n\tAction extends AnyFormAction = AnyFormAction\n>(\n\tpath: ActionPath<Action>,\n\tbody: FormData,\n\toptions: SubmitFormActionOptions = {}\n) => {\n\ttype Result = ActionResult<ActionData<Action>, ActionFields<Action>>;\n\tconst response = await fetch(path, {\n\t\tbody,\n\t\tcredentials: 'same-origin',\n\t\theaders: { accept: 'application/json', [ACTION_REQUEST_HEADER]: '1' },\n\t\tmethod: 'POST',\n\t\tsignal: options.signal\n\t}).catch((error: unknown) => {\n\t\tif (options.signal?.aborted) throw error;\n\n\t\treturn undefined;\n\t});\n\tif (!response) {\n\t\tconst result: Result = failure('Network error: the form was not sent.');\n\n\t\treturn result;\n\t}\n\tconst payload = await readPayload(response);\n\tif (isActionResult<ActionData<Action>, ActionFields<Action>>(payload))\n\t\treturn payload;\n\tconst result: Result = failure(\n\t\t`The server could not handle the form (HTTP ${response.status}).`\n\t);\n\n\treturn result;\n};\n\n/* ---------------------------------------------------------------- *\n * Plain <form data-absolute-action> enhancement\n * ---------------------------------------------------------------- */\n\nexport type FormActionEventDetail = { result: ActionResult };\n\n/** Fired on the form after every enhanced submission. */\nexport const FORM_ACTION_EVENT = 'absolute:form-action';\n\nconst namedControls = (form: HTMLFormElement) =>\n\tArray.from(form.elements).filter(\n\t\t(element): element is HTMLElement & { name: string } =>\n\t\t\telement instanceof HTMLElement &&\n\t\t\t'name' in element &&\n\t\t\ttypeof element.name === 'string' &&\n\t\t\telement.name !== ''\n\t);\n\nconst markControls = (form: HTMLFormElement, result: ActionResult) => {\n\tconst errors = result.status === 'error' ? result.errors : {};\n\tconst invalid = namedControls(form).filter((control) => {\n\t\tconst message = errors[control.name];\n\t\tif (message) control.setAttribute('aria-invalid', 'true');\n\t\telse control.removeAttribute('aria-invalid');\n\n\t\treturn Boolean(message);\n\t});\n\n\treturn invalid[0];\n};\n\nconst fillErrors = (form: HTMLFormElement, result: ActionResult) => {\n\tconst errors = result.status === 'error' ? result.errors : {};\n\tform.querySelectorAll<HTMLElement>(`[${ACTION_ERROR_ATTRIBUTE}]`).forEach(\n\t\t(element) => {\n\t\t\tconst name = element.getAttribute(ACTION_ERROR_ATTRIBUTE) ?? '';\n\t\t\tconst message = errors[name] ?? '';\n\t\t\telement.textContent = message;\n\t\t\telement.hidden = message === '';\n\t\t}\n\t);\n};\n\nconst fillMessages = (form: HTMLFormElement, result: ActionResult) => {\n\tconst message = result.status === 'error' ? (result.message ?? '') : '';\n\tform.querySelectorAll<HTMLElement>(`[${ACTION_MESSAGE_ATTRIBUTE}]`).forEach(\n\t\t(element) => {\n\t\t\telement.textContent = message;\n\t\t\telement.hidden = message === '';\n\t\t}\n\t);\n\tform.querySelectorAll<HTMLElement>(`[${ACTION_SUCCESS_ATTRIBUTE}]`).forEach(\n\t\t(element) => {\n\t\t\telement.hidden = result.status !== 'success';\n\t\t}\n\t);\n};\n\n/** Writes `result` into a plain form: field errors into\n * `[data-action-error=\"field\"]`, the message into `[data-action-message]`,\n * `[data-action-success]` shown on success, `aria-invalid` on the fields\n * and `data-action-status` on the form. Focuses the first invalid field. */\nexport const applyActionResult = (\n\tform: HTMLFormElement,\n\tresult: ActionResult\n) => {\n\tform.setAttribute(ACTION_STATUS_ATTRIBUTE, result.status);\n\tfillErrors(form, result);\n\tfillMessages(form, result);\n\tconst firstInvalid = markControls(form, result);\n\tfirstInvalid?.focus();\n};\n\nconst setPending = (form: HTMLFormElement, pending: boolean) => {\n\tform.toggleAttribute('aria-busy', pending);\n\tform.toggleAttribute('data-action-pending', pending);\n\tform.querySelectorAll<HTMLButtonElement | HTMLInputElement>(\n\t\t'button[type=\"submit\"], button:not([type]), input[type=\"submit\"]'\n\t).forEach((button) => {\n\t\tbutton.disabled = pending;\n\t});\n};\n\nconst finishSubmission = (form: HTMLFormElement, result: ActionResult) => {\n\tapplyActionResult(form, result);\n\tconst detail: FormActionEventDetail = { result };\n\tform.dispatchEvent(\n\t\tnew CustomEvent(FORM_ACTION_EVENT, { bubbles: true, detail })\n\t);\n\tif (result.status !== 'success') return;\n\tif (result.redirect) window.location.assign(result.redirect);\n\telse form.reset();\n};\n\nconst formActionUrl = (form: HTMLFormElement) => {\n\tconst url = new URL(form.action, window.location.href);\n\n\treturn `${url.pathname}${url.search}`;\n};\n\n/** Submits `form` with fetch instead of a page load. Returns a function\n * that removes the enhancement. */\nexport const enhanceForm = (form: HTMLFormElement) => {\n\tlet controller: AbortController | undefined;\n\tconst submit = async (event: SubmitEvent) => {\n\t\tevent.preventDefault();\n\t\tcontroller?.abort();\n\t\tconst current = new AbortController();\n\t\tcontroller = current;\n\t\tconst body = new FormData(form, event.submitter);\n\t\tsetPending(form, true);\n\t\tconst result = await submitFormAction(formActionUrl(form), body, {\n\t\t\tsignal: current.signal\n\t\t}).catch(() => undefined);\n\t\tif (controller !== current) return;\n\t\tsetPending(form, false);\n\t\tif (result) finishSubmission(form, result);\n\t};\n\tconst listener = (event: SubmitEvent) => {\n\t\tvoid submit(event);\n\t};\n\tform.addEventListener('submit', listener);\n\n\treturn () => {\n\t\tcontroller?.abort();\n\t\tform.removeEventListener('submit', listener);\n\t};\n};\n\n/* HTMX already submits these; enhancing them too would post twice. */\nconst isHtmxForm = (form: HTMLFormElement) =>\n\tform.hasAttribute('hx-post') || form.hasAttribute('data-hx-post');\n\n/** Enhances every `<form data-absolute-action>` under `root` (except\n * `hx-post` forms, which HTMX submits). Returns a function that removes\n * the enhancements. */\nexport const enhanceForms = (root: ParentNode = document) => {\n\tconst cleanups = Array.from(\n\t\troot.querySelectorAll<HTMLFormElement>(`form[${ACTION_FORM_ATTRIBUTE}]`)\n\t)\n\t\t.filter((form) => !isHtmxForm(form))\n\t\t.map((form) => enhanceForm(form));\n\n\treturn () => cleanups.forEach((cleanup) => cleanup());\n};\n"
14
16
  ],
15
- "mappings": "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",
16
- "debugId": "5A05829B4ED231AB64756E2164756E21",
17
+ "mappings": "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",
18
+ "debugId": "F1F7A19F311E674864756E2164756E21",
17
19
  "names": []
18
20
  }