@absolutejs/absolute 0.19.0-beta.326 → 0.19.0-beta.327

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.
@@ -150,6 +150,13 @@ var getClaimMap = () => {
150
150
  window.__ABS_CLAIMED_ISLAND_MARKUP__ ??= new Map;
151
151
  return window.__ABS_CLAIMED_ISLAND_MARKUP__;
152
152
  };
153
+ var getSnapshotMap = () => {
154
+ if (typeof window === "undefined") {
155
+ return null;
156
+ }
157
+ window.__ABS_SERVER_ISLAND_HTML__ ??= new Map;
158
+ return window.__ABS_SERVER_ISLAND_HTML__;
159
+ };
153
160
  var getIslandSignature = (props) => {
154
161
  const attributes = getIslandMarkerAttributes(props);
155
162
  return [
@@ -166,6 +173,30 @@ var isMatchingIslandElement = (element, props) => {
166
173
  const attributes = getIslandMarkerAttributes(props);
167
174
  return element.dataset.island === "true" && element.dataset.component === attributes["data-component"] && element.dataset.framework === attributes["data-framework"] && (element.dataset.hydrate ?? "load") === attributes["data-hydrate"] && (element.dataset.props ?? "{}") === attributes["data-props"];
168
175
  };
176
+ var initializeIslandMarkupSnapshot = () => {
177
+ if (typeof document === "undefined") {
178
+ return;
179
+ }
180
+ const snapshotMap = getSnapshotMap();
181
+ if (!snapshotMap || snapshotMap.size > 0) {
182
+ return;
183
+ }
184
+ const elements = Array.from(document.querySelectorAll('[data-island="true"]'));
185
+ for (const element of elements) {
186
+ if (!(element instanceof HTMLElement)) {
187
+ continue;
188
+ }
189
+ const signature = [
190
+ element.dataset.component,
191
+ element.dataset.framework,
192
+ element.dataset.hydrate ?? "load",
193
+ element.dataset.props ?? "{}"
194
+ ].join("::");
195
+ const existing = snapshotMap.get(signature) ?? [];
196
+ existing.push(element.innerHTML);
197
+ snapshotMap.set(signature, existing);
198
+ }
199
+ };
169
200
  var preserveIslandMarkup = (props) => {
170
201
  if (typeof document === "undefined") {
171
202
  return {
@@ -174,8 +205,10 @@ var preserveIslandMarkup = (props) => {
174
205
  };
175
206
  }
176
207
  const claimMap = getClaimMap();
208
+ const snapshotMap = getSnapshotMap();
177
209
  const signature = getIslandSignature(props);
178
210
  const claimedCount = claimMap?.get(signature) ?? 0;
211
+ const snapshotCandidate = snapshotMap?.get(signature)?.[claimedCount];
179
212
  const candidates = Array.from(document.querySelectorAll('[data-island="true"]')).filter((element) => isMatchingIslandElement(element, props));
180
213
  const candidate = candidates[claimedCount];
181
214
  if (claimMap) {
@@ -183,7 +216,7 @@ var preserveIslandMarkup = (props) => {
183
216
  }
184
217
  return {
185
218
  attributes: getIslandMarkerAttributes(props),
186
- innerHTML: candidate?.innerHTML ?? ""
219
+ innerHTML: snapshotCandidate ?? candidate?.innerHTML ?? ""
187
220
  };
188
221
  };
189
222
 
@@ -304,5 +337,5 @@ export {
304
337
  Island
305
338
  };
306
339
 
307
- //# debugId=D0653D6224CB300964756E2164756E21
340
+ //# debugId=EB689D387AC2B07564756E2164756E21
308
341
  //# sourceMappingURL=browser.js.map
@@ -5,13 +5,13 @@
5
5
  "import type { IslandFramework } from '../../types/island';\n\nconst toIslandFrameworkSegment = (framework: IslandFramework) =>\n\tframework[0]?.toUpperCase() + framework.slice(1);\n\nexport const getIslandManifestKey = (\n\tframework: IslandFramework,\n\tcomponent: string\n) => `Island${toIslandFrameworkSegment(framework)}${component}`;\n\nexport const getIslandManifestEntries = (\n\tmanifest: Record<string, string>\n) => {\n\tconst islands: Partial<Record<IslandFramework, Record<string, string>>> = {};\n\tconst frameworks: IslandFramework[] = [\n\t\t'react',\n\t\t'svelte',\n\t\t'vue',\n\t\t'angular'\n\t];\n\n\tfor (const framework of frameworks) {\n\t\tconst prefix = `Island${toIslandFrameworkSegment(framework)}`;\n\t\tfor (const [key, value] of Object.entries(manifest)) {\n\t\t\tif (!key.startsWith(prefix)) continue;\n\n\t\t\tconst component = key.slice(prefix.length);\n\t\t\tif (!component) continue;\n\n\t\t\tconst frameworkEntries = islands[framework] ?? {};\n\t\t\tframeworkEntries[component] = value;\n\t\t\tislands[framework] = frameworkEntries;\n\t\t}\n\t}\n\n\treturn islands;\n};\n",
6
6
  "import type {\n\tIslandComponentDefinition,\n\tIslandRegistry,\n\tIslandRegistryInput\n} from '../../types/island';\n\nexport const defineIslandRegistry = <T extends IslandRegistryInput>(\n\tregistry: IslandRegistry<T>\n) => registry;\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});\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\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}\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};\n\nexport const serializeIslandProps = (props: unknown) =>\n\tJSON.stringify(props ?? {});\n\nexport const parseIslandProps = (rawProps: string | null) => {\n\tif (!rawProps) return {};\n\n\treturn JSON.parse(rawProps);\n};\n\nexport { getIslandManifestEntries, getIslandManifestKey } from './islandManifest';\n",
7
7
  "import type {\n\tRuntimeIslandRenderProps\n} from '../../types/island';\nimport { serializeIslandProps } from './islands';\n\ntype IslandMarkerAttributes = {\n\t'data-component': string;\n\t'data-framework': string;\n\t'data-hydrate': string;\n\t'data-island': 'true';\n\t'data-island-id'?: string;\n\t'data-props': string;\n};\n\nexport const getIslandMarkerAttributes = (\n\tprops: RuntimeIslandRenderProps,\n\tislandId?: string\n): IslandMarkerAttributes => ({\n\t'data-component': props.component,\n\t'data-framework': props.framework,\n\t'data-hydrate': props.hydrate ?? 'load',\n\t'data-island': 'true',\n\t...(islandId ? { 'data-island-id': islandId } : {}),\n\t'data-props': serializeIslandProps(props.props)\n});\n\nconst escapeHtmlAttribute = (value: string) =>\n\tvalue\n\t\t.replaceAll('&', '&amp;')\n\t\t.replaceAll('\"', '&quot;')\n\t\t.replaceAll('<', '&lt;')\n\t\t.replaceAll('>', '&gt;');\n\nexport const serializeIslandAttributes = (\n\tattributes: IslandMarkerAttributes\n) =>\n\tObject.entries(attributes)\n\t\t.map(([key, value]) => `${key}=\"${escapeHtmlAttribute(value)}\"`)\n\t\t.join(' ');\n\n",
8
- "import type { RuntimeIslandRenderProps } from '../../types/island';\nimport { getIslandMarkerAttributes } from '../core/islandMarkupAttributes';\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\tprops?: string;\n\t};\n};\n\ndeclare global {\n\tinterface Window {\n\t\t__ABS_CLAIMED_ISLAND_MARKUP__?: Map<string, number>;\n\t}\n}\n\nconst getClaimMap = () => {\n\tif (typeof window === 'undefined') {\n\t\treturn null;\n\t}\n\n\twindow.__ABS_CLAIMED_ISLAND_MARKUP__ ??= new Map<string, number>();\n\n\treturn window.__ABS_CLAIMED_ISLAND_MARKUP__;\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\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 claimMap = getClaimMap();\n\tconst signature = getIslandSignature(props);\n\tconst claimedCount = claimMap?.get(signature) ?? 0;\n\tconst candidates = Array.from(\n\t\tdocument.querySelectorAll('[data-island=\"true\"]')\n\t).filter((element) => isMatchingIslandElement(element, props));\n\tconst candidate = candidates[claimedCount];\n\tif (claimMap) {\n\t\tclaimMap.set(signature, claimedCount + 1);\n\t}\n\n\treturn {\n\t\tattributes: getIslandMarkerAttributes(props),\n\t\tinnerHTML: candidate?.innerHTML ?? ''\n\t};\n};\n",
8
+ "import type { RuntimeIslandRenderProps } from '../../types/island';\nimport { getIslandMarkerAttributes } from '../core/islandMarkupAttributes';\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\tprops?: string;\n\t};\n};\n\ndeclare global {\n\tinterface Window {\n\t\t__ABS_CLAIMED_ISLAND_MARKUP__?: Map<string, number>;\n\t\t__ABS_SERVER_ISLAND_HTML__?: Map<string, string[]>;\n\t}\n}\n\nconst getClaimMap = () => {\n\tif (typeof window === 'undefined') {\n\t\treturn null;\n\t}\n\n\twindow.__ABS_CLAIMED_ISLAND_MARKUP__ ??= new Map<string, number>();\n\n\treturn window.__ABS_CLAIMED_ISLAND_MARKUP__;\n};\n\nconst getSnapshotMap = () => {\n\tif (typeof window === 'undefined') {\n\t\treturn null;\n\t}\n\n\twindow.__ABS_SERVER_ISLAND_HTML__ ??= new Map<string, string[]>();\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\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(document.querySelectorAll('[data-island=\"true\"]'));\n\tfor (const element of elements) {\n\t\tif (!(element instanceof HTMLElement)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst signature = [\n\t\t\telement.dataset.component,\n\t\t\telement.dataset.framework,\n\t\t\telement.dataset.hydrate ?? 'load',\n\t\t\telement.dataset.props ?? '{}'\n\t\t].join('::');\n\t\tconst existing = snapshotMap.get(signature) ?? [];\n\t\texisting.push(element.innerHTML);\n\t\tsnapshotMap.set(signature, existing);\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 claimMap = getClaimMap();\n\tconst snapshotMap = getSnapshotMap();\n\tconst signature = getIslandSignature(props);\n\tconst claimedCount = claimMap?.get(signature) ?? 0;\n\tconst snapshotCandidate = snapshotMap?.get(signature)?.[claimedCount];\n\tconst candidates = Array.from(\n\t\tdocument.querySelectorAll('[data-island=\"true\"]')\n\t).filter((element) => isMatchingIslandElement(element, props));\n\tconst candidate = candidates[claimedCount];\n\tif (claimMap) {\n\t\tclaimMap.set(signature, claimedCount + 1);\n\t}\n\n\treturn {\n\t\tattributes: getIslandMarkerAttributes(props),\n\t\tinnerHTML: snapshotCandidate ?? candidate?.innerHTML ?? ''\n\t};\n};\n",
9
9
  "import type { JSX } from 'react';\nimport type { RuntimeIslandRenderProps } from '../../types/island';\nimport { preserveIslandMarkup } from '../client/preserveIslandMarkup';\n\nexport const Island = (props: RuntimeIslandRenderProps): JSX.Element => {\n\tconst { attributes, innerHTML } = preserveIslandMarkup(props);\n\n\treturn (\n\t\t<div\n\t\t\t{...attributes}\n\t\t\tdangerouslySetInnerHTML={{ __html: innerHTML }}\n\t\t\tsuppressHydrationWarning\n\t\t/>\n\t);\n};\n",
10
10
  "import type { JSX } from 'react';\nimport type {\n\tIslandRegistry,\n\tIslandRegistryInput,\n\tTypedIslandRenderProps\n} from '../../types/island';\nimport { preserveIslandMarkup } from '../client/preserveIslandMarkup';\n\nexport const createTypedIsland = <T extends IslandRegistryInput>(\n\t_registry: IslandRegistry<T>\n) => {\n\tconst Island = (props: TypedIslandRenderProps<T>): JSX.Element => {\n\t\tconst { attributes, innerHTML } = preserveIslandMarkup(props);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\t{...attributes}\n\t\t\t\tdangerouslySetInnerHTML={{ __html: innerHTML }}\n\t\t\t\tsuppressHydrationWarning\n\t\t\t/>\n\t\t);\n\t};\n\n\treturn Island;\n};\n",
11
11
  "import {\n\tuseSyncExternalStore,\n\ttype Dispatch,\n\ttype SetStateAction\n} from 'react';\nimport {\n\treadIslandState,\n\tsubscribeIslandState,\n\tupdateIslandState\n} from '../../client/islandState';\n\nexport const useIslandState = <T>(\n\tkey: string,\n\tfallback: T\n): [T, Dispatch<SetStateAction<T>>] => {\n\tconst value = useSyncExternalStore(\n\t\t(listener) => subscribeIslandState(key, listener),\n\t\t() => readIslandState(key, fallback),\n\t\t() => fallback\n\t);\n\n\tconst setValue: Dispatch<SetStateAction<T>> = (nextValue) => {\n\t\tupdateIslandState(key, fallback, nextValue);\n\t};\n\n\treturn [value, setValue];\n};\n",
12
12
  "type IslandStateKey = string;\n\ntype IslandStateValue = unknown;\n\ntype IslandStateListener = () => void;\n\ntype IslandStateUpdater<T> = T | ((value: T) => T);\n\ntype IslandStateSnapshot = Record<IslandStateKey, IslandStateValue>;\n\nconst isIslandStateUpdater = <T>(\n\tvalue: IslandStateUpdater<T>\n): value is (value: T) => T => typeof value === 'function';\n\ndeclare global {\n\tvar __ABS_ISLAND_STATE_STORE__: IslandStateStore | undefined;\n\tvar __ABS_ISLAND_STATE__: IslandStateSnapshot | undefined;\n}\n\nclass IslandStateStore {\n\tprivate listeners = new Map<IslandStateKey, Set<IslandStateListener>>();\n\n\tprivate state: Record<IslandStateKey, any> = {};\n\n\tget<T>(key: IslandStateKey, fallback: T): T {\n\t\tif (key in this.state) {\n\t\t\treturn this.state[key];\n\t\t}\n\n\t\treturn fallback;\n\t}\n\n\tinitialize(nextState: IslandStateSnapshot) {\n\t\tfor (const [key, value] of Object.entries(nextState)) {\n\t\t\tif (key in this.state) continue;\n\t\t\tthis.state[key] = value;\n\t\t}\n\t}\n\n\tset<T>(key: IslandStateKey, value: T) {\n\t\tthis.state[key] = value;\n\t\tglobalThis.__ABS_ISLAND_STATE__ = {\n\t\t\t...(globalThis.__ABS_ISLAND_STATE__ ?? {}),\n\t\t\t[key]: value\n\t\t};\n\t\tthis.emit(key);\n\t\treturn value;\n\t}\n\n\tsubscribe(key: IslandStateKey, listener: IslandStateListener) {\n\t\tconst listeners = this.listeners.get(key) ?? new Set<IslandStateListener>();\n\t\tlisteners.add(listener);\n\t\tthis.listeners.set(key, listeners);\n\n\t\treturn () => {\n\t\t\tconst current = this.listeners.get(key);\n\t\t\tif (!current) return;\n\n\t\t\tcurrent.delete(listener);\n\t\t\tif (current.size === 0) {\n\t\t\t\tthis.listeners.delete(key);\n\t\t\t}\n\t\t};\n\t}\n\n\tupdate<T>(key: IslandStateKey, fallback: T, updater: IslandStateUpdater<T>) {\n\t\tconst previous = this.get(key, fallback);\n\t\tconst nextValue =\n\t\t\tisIslandStateUpdater(updater)\n\t\t\t\t? updater(previous)\n\t\t\t\t: updater;\n\n\t\treturn this.set(key, nextValue);\n\t}\n\n\tprivate emit(key: IslandStateKey) {\n\t\tconst listeners = this.listeners.get(key);\n\t\tif (!listeners) return;\n\n\t\tfor (const listener of listeners) {\n\t\t\tlistener();\n\t\t}\n\t}\n}\n\nconst getGlobalIslandStateStore = () => {\n\tglobalThis.__ABS_ISLAND_STATE_STORE__ ??= new IslandStateStore();\n\n\tif (globalThis.__ABS_ISLAND_STATE__) {\n\t\tglobalThis.__ABS_ISLAND_STATE_STORE__.initialize(\n\t\t\tglobalThis.__ABS_ISLAND_STATE__\n\t\t);\n\t}\n\n\treturn globalThis.__ABS_ISLAND_STATE_STORE__;\n};\n\nexport const initializeIslandState = (state: IslandStateSnapshot) => {\n\tglobalThis.__ABS_ISLAND_STATE__ = {\n\t\t...(globalThis.__ABS_ISLAND_STATE__ ?? {}),\n\t\t...state\n\t};\n\n\tgetGlobalIslandStateStore().initialize(state);\n};\n\nexport const readIslandState = <T>(key: IslandStateKey, fallback: T) =>\n\tgetGlobalIslandStateStore().get(key, fallback);\n\nexport const setIslandState = <T>(key: IslandStateKey, value: T) =>\n\tgetGlobalIslandStateStore().set(key, value);\n\nexport const subscribeIslandState = (\n\tkey: IslandStateKey,\n\tlistener: IslandStateListener\n) => getGlobalIslandStateStore().subscribe(key, listener);\n\nexport const updateIslandState = <T>(\n\tkey: IslandStateKey,\n\tfallback: T,\n\tupdater: IslandStateUpdater<T>\n) => getGlobalIslandStateStore().update(key, fallback, updater);\n"
13
13
  ],
14
- "mappings": "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",
15
- "debugId": "D0653D6224CB300964756E2164756E21",
14
+ "mappings": "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",
15
+ "debugId": "EB689D387AC2B07564756E2164756E21",
16
16
  "names": []
17
17
  }
@@ -2,8 +2,10 @@ import type { RuntimeIslandRenderProps } from '../../types/island';
2
2
  declare global {
3
3
  interface Window {
4
4
  __ABS_CLAIMED_ISLAND_MARKUP__?: Map<string, number>;
5
+ __ABS_SERVER_ISLAND_HTML__?: Map<string, string[]>;
5
6
  }
6
7
  }
8
+ export declare const initializeIslandMarkupSnapshot: () => void;
7
9
  export declare const preserveIslandMarkup: (props: RuntimeIslandRenderProps) => {
8
10
  attributes: {
9
11
  'data-component': string;
@@ -153,6 +153,13 @@ var getClaimMap = () => {
153
153
  window.__ABS_CLAIMED_ISLAND_MARKUP__ ??= new Map;
154
154
  return window.__ABS_CLAIMED_ISLAND_MARKUP__;
155
155
  };
156
+ var getSnapshotMap = () => {
157
+ if (typeof window === "undefined") {
158
+ return null;
159
+ }
160
+ window.__ABS_SERVER_ISLAND_HTML__ ??= new Map;
161
+ return window.__ABS_SERVER_ISLAND_HTML__;
162
+ };
156
163
  var getIslandSignature = (props) => {
157
164
  const attributes = getIslandMarkerAttributes(props);
158
165
  return [
@@ -169,6 +176,30 @@ var isMatchingIslandElement = (element, props) => {
169
176
  const attributes = getIslandMarkerAttributes(props);
170
177
  return element.dataset.island === "true" && element.dataset.component === attributes["data-component"] && element.dataset.framework === attributes["data-framework"] && (element.dataset.hydrate ?? "load") === attributes["data-hydrate"] && (element.dataset.props ?? "{}") === attributes["data-props"];
171
178
  };
179
+ var initializeIslandMarkupSnapshot = () => {
180
+ if (typeof document === "undefined") {
181
+ return;
182
+ }
183
+ const snapshotMap = getSnapshotMap();
184
+ if (!snapshotMap || snapshotMap.size > 0) {
185
+ return;
186
+ }
187
+ const elements = Array.from(document.querySelectorAll('[data-island="true"]'));
188
+ for (const element of elements) {
189
+ if (!(element instanceof HTMLElement)) {
190
+ continue;
191
+ }
192
+ const signature = [
193
+ element.dataset.component,
194
+ element.dataset.framework,
195
+ element.dataset.hydrate ?? "load",
196
+ element.dataset.props ?? "{}"
197
+ ].join("::");
198
+ const existing = snapshotMap.get(signature) ?? [];
199
+ existing.push(element.innerHTML);
200
+ snapshotMap.set(signature, existing);
201
+ }
202
+ };
172
203
  var preserveIslandMarkup = (props) => {
173
204
  if (typeof document === "undefined") {
174
205
  return {
@@ -177,8 +208,10 @@ var preserveIslandMarkup = (props) => {
177
208
  };
178
209
  }
179
210
  const claimMap = getClaimMap();
211
+ const snapshotMap = getSnapshotMap();
180
212
  const signature = getIslandSignature(props);
181
213
  const claimedCount = claimMap?.get(signature) ?? 0;
214
+ const snapshotCandidate = snapshotMap?.get(signature)?.[claimedCount];
182
215
  const candidates = Array.from(document.querySelectorAll('[data-island="true"]')).filter((element) => isMatchingIslandElement(element, props));
183
216
  const candidate = candidates[claimedCount];
184
217
  if (claimMap) {
@@ -186,7 +219,7 @@ var preserveIslandMarkup = (props) => {
186
219
  }
187
220
  return {
188
221
  attributes: getIslandMarkerAttributes(props),
189
- innerHTML: candidate?.innerHTML ?? ""
222
+ innerHTML: snapshotCandidate ?? candidate?.innerHTML ?? ""
190
223
  };
191
224
  };
192
225
 
@@ -367,5 +400,5 @@ export {
367
400
  Island
368
401
  };
369
402
 
370
- //# debugId=1C953946DCFC347E64756E2164756E21
403
+ //# debugId=74155D391D4BCFEB64756E2164756E21
371
404
  //# sourceMappingURL=browser.js.map
@@ -6,12 +6,12 @@
6
6
  "import type {\n\tIslandComponentDefinition,\n\tIslandRegistry,\n\tIslandRegistryInput\n} from '../../types/island';\n\nexport const defineIslandRegistry = <T extends IslandRegistryInput>(\n\tregistry: IslandRegistry<T>\n) => registry;\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});\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n\ttypeof value === 'object' && value !== null;\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}\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};\n\nexport const serializeIslandProps = (props: unknown) =>\n\tJSON.stringify(props ?? {});\n\nexport const parseIslandProps = (rawProps: string | null) => {\n\tif (!rawProps) return {};\n\n\treturn JSON.parse(rawProps);\n};\n\nexport { getIslandManifestEntries, getIslandManifestKey } from './islandManifest';\n",
7
7
  "import type {\n\tRuntimeIslandRenderProps\n} from '../../types/island';\nimport { serializeIslandProps } from './islands';\n\ntype IslandMarkerAttributes = {\n\t'data-component': string;\n\t'data-framework': string;\n\t'data-hydrate': string;\n\t'data-island': 'true';\n\t'data-island-id'?: string;\n\t'data-props': string;\n};\n\nexport const getIslandMarkerAttributes = (\n\tprops: RuntimeIslandRenderProps,\n\tislandId?: string\n): IslandMarkerAttributes => ({\n\t'data-component': props.component,\n\t'data-framework': props.framework,\n\t'data-hydrate': props.hydrate ?? 'load',\n\t'data-island': 'true',\n\t...(islandId ? { 'data-island-id': islandId } : {}),\n\t'data-props': serializeIslandProps(props.props)\n});\n\nconst escapeHtmlAttribute = (value: string) =>\n\tvalue\n\t\t.replaceAll('&', '&amp;')\n\t\t.replaceAll('\"', '&quot;')\n\t\t.replaceAll('<', '&lt;')\n\t\t.replaceAll('>', '&gt;');\n\nexport const serializeIslandAttributes = (\n\tattributes: IslandMarkerAttributes\n) =>\n\tObject.entries(attributes)\n\t\t.map(([key, value]) => `${key}=\"${escapeHtmlAttribute(value)}\"`)\n\t\t.join(' ');\n\n",
8
8
  "import { defineComponent, h } from 'vue';\nimport type { RuntimeIslandRenderProps } from '../../types/island';\nimport { preserveIslandMarkup } from '../client/preserveIslandMarkup';\n\nexport const Island = defineComponent({\n\tname: 'AbsoluteIsland',\n\tprops: {\n\t\tcomponent: {\n\t\t\trequired: true,\n\t\t\ttype: String\n\t\t},\n\t\tframework: {\n\t\t\trequired: true,\n\t\t\ttype: String\n\t\t},\n\t\thydrate: {\n\t\t\trequired: false,\n\t\t\ttype: String\n\t\t},\n\t\tprops: {\n\t\t\trequired: true,\n\t\t\ttype: Object\n\t\t}\n\t},\n\tsetup(props: RuntimeIslandRenderProps) {\n\t\treturn () => {\n\t\t\tconst { attributes, innerHTML } = preserveIslandMarkup(props);\n\n\t\t\treturn h('div', {\n\t\t\t\t...attributes,\n\t\t\t\t'data-allow-mismatch': '',\n\t\t\t\tinnerHTML\n\t\t\t});\n\t\t};\n\t}\n});\n",
9
- "import type { RuntimeIslandRenderProps } from '../../types/island';\nimport { getIslandMarkerAttributes } from '../core/islandMarkupAttributes';\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\tprops?: string;\n\t};\n};\n\ndeclare global {\n\tinterface Window {\n\t\t__ABS_CLAIMED_ISLAND_MARKUP__?: Map<string, number>;\n\t}\n}\n\nconst getClaimMap = () => {\n\tif (typeof window === 'undefined') {\n\t\treturn null;\n\t}\n\n\twindow.__ABS_CLAIMED_ISLAND_MARKUP__ ??= new Map<string, number>();\n\n\treturn window.__ABS_CLAIMED_ISLAND_MARKUP__;\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\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 claimMap = getClaimMap();\n\tconst signature = getIslandSignature(props);\n\tconst claimedCount = claimMap?.get(signature) ?? 0;\n\tconst candidates = Array.from(\n\t\tdocument.querySelectorAll('[data-island=\"true\"]')\n\t).filter((element) => isMatchingIslandElement(element, props));\n\tconst candidate = candidates[claimedCount];\n\tif (claimMap) {\n\t\tclaimMap.set(signature, claimedCount + 1);\n\t}\n\n\treturn {\n\t\tattributes: getIslandMarkerAttributes(props),\n\t\tinnerHTML: candidate?.innerHTML ?? ''\n\t};\n};\n",
9
+ "import type { RuntimeIslandRenderProps } from '../../types/island';\nimport { getIslandMarkerAttributes } from '../core/islandMarkupAttributes';\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\tprops?: string;\n\t};\n};\n\ndeclare global {\n\tinterface Window {\n\t\t__ABS_CLAIMED_ISLAND_MARKUP__?: Map<string, number>;\n\t\t__ABS_SERVER_ISLAND_HTML__?: Map<string, string[]>;\n\t}\n}\n\nconst getClaimMap = () => {\n\tif (typeof window === 'undefined') {\n\t\treturn null;\n\t}\n\n\twindow.__ABS_CLAIMED_ISLAND_MARKUP__ ??= new Map<string, number>();\n\n\treturn window.__ABS_CLAIMED_ISLAND_MARKUP__;\n};\n\nconst getSnapshotMap = () => {\n\tif (typeof window === 'undefined') {\n\t\treturn null;\n\t}\n\n\twindow.__ABS_SERVER_ISLAND_HTML__ ??= new Map<string, string[]>();\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\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(document.querySelectorAll('[data-island=\"true\"]'));\n\tfor (const element of elements) {\n\t\tif (!(element instanceof HTMLElement)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst signature = [\n\t\t\telement.dataset.component,\n\t\t\telement.dataset.framework,\n\t\t\telement.dataset.hydrate ?? 'load',\n\t\t\telement.dataset.props ?? '{}'\n\t\t].join('::');\n\t\tconst existing = snapshotMap.get(signature) ?? [];\n\t\texisting.push(element.innerHTML);\n\t\tsnapshotMap.set(signature, existing);\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 claimMap = getClaimMap();\n\tconst snapshotMap = getSnapshotMap();\n\tconst signature = getIslandSignature(props);\n\tconst claimedCount = claimMap?.get(signature) ?? 0;\n\tconst snapshotCandidate = snapshotMap?.get(signature)?.[claimedCount];\n\tconst candidates = Array.from(\n\t\tdocument.querySelectorAll('[data-island=\"true\"]')\n\t).filter((element) => isMatchingIslandElement(element, props));\n\tconst candidate = candidates[claimedCount];\n\tif (claimMap) {\n\t\tclaimMap.set(signature, claimedCount + 1);\n\t}\n\n\treturn {\n\t\tattributes: getIslandMarkerAttributes(props),\n\t\tinnerHTML: snapshotCandidate ?? candidate?.innerHTML ?? ''\n\t};\n};\n",
10
10
  "import { defineComponent, h } from 'vue';\nimport type {\n\tIslandRegistry,\n\tIslandRegistryInput,\n\tRuntimeIslandRenderProps,\n\tTypedIslandRenderProps\n} from '../../types/island';\nimport { preserveIslandMarkup } from '../client/preserveIslandMarkup';\n\ntype VueIslandComponent<T extends IslandRegistryInput> = new () => {\n\t$props: TypedIslandRenderProps<T>;\n};\n\nconst defineRuntimeIslandComponent = (\n\tsetup: (props: RuntimeIslandRenderProps) => () => ReturnType<typeof h>\n): any =>\n\tdefineComponent({\n\t\tname: 'AbsoluteIsland',\n\t\tprops: {\n\t\t\tcomponent: {\n\t\t\t\trequired: true,\n\t\t\t\ttype: String\n\t\t\t},\n\t\t\tframework: {\n\t\t\t\trequired: true,\n\t\t\t\ttype: String\n\t\t\t},\n\t\t\thydrate: {\n\t\t\t\trequired: false,\n\t\t\t\ttype: String\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\trequired: true,\n\t\t\t\ttype: Object\n\t\t\t}\n\t\t},\n\t\tsetup\n\t});\n\nexport const createTypedIsland = <T extends IslandRegistryInput>(\n\t_registry: IslandRegistry<T>\n): VueIslandComponent<T> =>\n\tdefineRuntimeIslandComponent((props) => {\n\t\tconst { attributes, innerHTML } = preserveIslandMarkup(props);\n\n\t\treturn () =>\n\t\t\th('div', {\n\t\t\t\t...attributes,\n\t\t\t\t'data-allow-mismatch': '',\n\t\t\t\tinnerHTML\n\t\t\t});\n\t});\n",
11
11
  "import {\n\tcustomRef,\n\tonBeforeUnmount,\n\ttype Ref\n} from 'vue';\nimport {\n\treadIslandState,\n\tsubscribeIslandState,\n\tupdateIslandState\n} from '../client/islandState';\n\nexport const useIslandState = <T>(key: string, fallback: T): Ref<T> => {\n\tlet current = readIslandState(key, fallback);\n\tlet unsubscribe = () => {};\n\n\tconst state = customRef<T>((track, trigger) => {\n\t\tunsubscribe = subscribeIslandState(key, () => {\n\t\t\tcurrent = readIslandState(key, fallback);\n\t\t\ttrigger();\n\t\t});\n\n\t\treturn {\n\t\t\tget() {\n\t\t\t\ttrack();\n\t\t\t\treturn current;\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tcurrent = value;\n\t\t\t\tupdateIslandState(key, fallback, value);\n\t\t\t\ttrigger();\n\t\t\t}\n\t\t};\n\t});\n\n\tonBeforeUnmount(() => {\n\t\tunsubscribe();\n\t});\n\n\treturn state;\n};\n",
12
12
  "type IslandStateKey = string;\n\ntype IslandStateValue = unknown;\n\ntype IslandStateListener = () => void;\n\ntype IslandStateUpdater<T> = T | ((value: T) => T);\n\ntype IslandStateSnapshot = Record<IslandStateKey, IslandStateValue>;\n\nconst isIslandStateUpdater = <T>(\n\tvalue: IslandStateUpdater<T>\n): value is (value: T) => T => typeof value === 'function';\n\ndeclare global {\n\tvar __ABS_ISLAND_STATE_STORE__: IslandStateStore | undefined;\n\tvar __ABS_ISLAND_STATE__: IslandStateSnapshot | undefined;\n}\n\nclass IslandStateStore {\n\tprivate listeners = new Map<IslandStateKey, Set<IslandStateListener>>();\n\n\tprivate state: Record<IslandStateKey, any> = {};\n\n\tget<T>(key: IslandStateKey, fallback: T): T {\n\t\tif (key in this.state) {\n\t\t\treturn this.state[key];\n\t\t}\n\n\t\treturn fallback;\n\t}\n\n\tinitialize(nextState: IslandStateSnapshot) {\n\t\tfor (const [key, value] of Object.entries(nextState)) {\n\t\t\tif (key in this.state) continue;\n\t\t\tthis.state[key] = value;\n\t\t}\n\t}\n\n\tset<T>(key: IslandStateKey, value: T) {\n\t\tthis.state[key] = value;\n\t\tglobalThis.__ABS_ISLAND_STATE__ = {\n\t\t\t...(globalThis.__ABS_ISLAND_STATE__ ?? {}),\n\t\t\t[key]: value\n\t\t};\n\t\tthis.emit(key);\n\t\treturn value;\n\t}\n\n\tsubscribe(key: IslandStateKey, listener: IslandStateListener) {\n\t\tconst listeners = this.listeners.get(key) ?? new Set<IslandStateListener>();\n\t\tlisteners.add(listener);\n\t\tthis.listeners.set(key, listeners);\n\n\t\treturn () => {\n\t\t\tconst current = this.listeners.get(key);\n\t\t\tif (!current) return;\n\n\t\t\tcurrent.delete(listener);\n\t\t\tif (current.size === 0) {\n\t\t\t\tthis.listeners.delete(key);\n\t\t\t}\n\t\t};\n\t}\n\n\tupdate<T>(key: IslandStateKey, fallback: T, updater: IslandStateUpdater<T>) {\n\t\tconst previous = this.get(key, fallback);\n\t\tconst nextValue =\n\t\t\tisIslandStateUpdater(updater)\n\t\t\t\t? updater(previous)\n\t\t\t\t: updater;\n\n\t\treturn this.set(key, nextValue);\n\t}\n\n\tprivate emit(key: IslandStateKey) {\n\t\tconst listeners = this.listeners.get(key);\n\t\tif (!listeners) return;\n\n\t\tfor (const listener of listeners) {\n\t\t\tlistener();\n\t\t}\n\t}\n}\n\nconst getGlobalIslandStateStore = () => {\n\tglobalThis.__ABS_ISLAND_STATE_STORE__ ??= new IslandStateStore();\n\n\tif (globalThis.__ABS_ISLAND_STATE__) {\n\t\tglobalThis.__ABS_ISLAND_STATE_STORE__.initialize(\n\t\t\tglobalThis.__ABS_ISLAND_STATE__\n\t\t);\n\t}\n\n\treturn globalThis.__ABS_ISLAND_STATE_STORE__;\n};\n\nexport const initializeIslandState = (state: IslandStateSnapshot) => {\n\tglobalThis.__ABS_ISLAND_STATE__ = {\n\t\t...(globalThis.__ABS_ISLAND_STATE__ ?? {}),\n\t\t...state\n\t};\n\n\tgetGlobalIslandStateStore().initialize(state);\n};\n\nexport const readIslandState = <T>(key: IslandStateKey, fallback: T) =>\n\tgetGlobalIslandStateStore().get(key, fallback);\n\nexport const setIslandState = <T>(key: IslandStateKey, value: T) =>\n\tgetGlobalIslandStateStore().set(key, value);\n\nexport const subscribeIslandState = (\n\tkey: IslandStateKey,\n\tlistener: IslandStateListener\n) => getGlobalIslandStateStore().subscribe(key, listener);\n\nexport const updateIslandState = <T>(\n\tkey: IslandStateKey,\n\tfallback: T,\n\tupdater: IslandStateUpdater<T>\n) => getGlobalIslandStateStore().update(key, fallback, updater);\n"
13
13
  ],
14
- "mappings": "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",
15
- "debugId": "1C953946DCFC347E64756E2164756E21",
14
+ "mappings": "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",
15
+ "debugId": "74155D391D4BCFEB64756E2164756E21",
16
16
  "names": []
17
17
  }
package/dist/vue/index.js CHANGED
@@ -30621,6 +30621,13 @@ var getClaimMap = () => {
30621
30621
  window.__ABS_CLAIMED_ISLAND_MARKUP__ ??= new Map;
30622
30622
  return window.__ABS_CLAIMED_ISLAND_MARKUP__;
30623
30623
  };
30624
+ var getSnapshotMap = () => {
30625
+ if (typeof window === "undefined") {
30626
+ return null;
30627
+ }
30628
+ window.__ABS_SERVER_ISLAND_HTML__ ??= new Map;
30629
+ return window.__ABS_SERVER_ISLAND_HTML__;
30630
+ };
30624
30631
  var getIslandSignature = (props) => {
30625
30632
  const attributes = getIslandMarkerAttributes(props);
30626
30633
  return [
@@ -30637,6 +30644,30 @@ var isMatchingIslandElement = (element, props) => {
30637
30644
  const attributes = getIslandMarkerAttributes(props);
30638
30645
  return element.dataset.island === "true" && element.dataset.component === attributes["data-component"] && element.dataset.framework === attributes["data-framework"] && (element.dataset.hydrate ?? "load") === attributes["data-hydrate"] && (element.dataset.props ?? "{}") === attributes["data-props"];
30639
30646
  };
30647
+ var initializeIslandMarkupSnapshot = () => {
30648
+ if (typeof document === "undefined") {
30649
+ return;
30650
+ }
30651
+ const snapshotMap = getSnapshotMap();
30652
+ if (!snapshotMap || snapshotMap.size > 0) {
30653
+ return;
30654
+ }
30655
+ const elements = Array.from(document.querySelectorAll('[data-island="true"]'));
30656
+ for (const element of elements) {
30657
+ if (!(element instanceof HTMLElement)) {
30658
+ continue;
30659
+ }
30660
+ const signature = [
30661
+ element.dataset.component,
30662
+ element.dataset.framework,
30663
+ element.dataset.hydrate ?? "load",
30664
+ element.dataset.props ?? "{}"
30665
+ ].join("::");
30666
+ const existing = snapshotMap.get(signature) ?? [];
30667
+ existing.push(element.innerHTML);
30668
+ snapshotMap.set(signature, existing);
30669
+ }
30670
+ };
30640
30671
  var preserveIslandMarkup = (props) => {
30641
30672
  if (typeof document === "undefined") {
30642
30673
  return {
@@ -30645,8 +30676,10 @@ var preserveIslandMarkup = (props) => {
30645
30676
  };
30646
30677
  }
30647
30678
  const claimMap = getClaimMap();
30679
+ const snapshotMap = getSnapshotMap();
30648
30680
  const signature = getIslandSignature(props);
30649
30681
  const claimedCount = claimMap?.get(signature) ?? 0;
30682
+ const snapshotCandidate = snapshotMap?.get(signature)?.[claimedCount];
30650
30683
  const candidates = Array.from(document.querySelectorAll('[data-island="true"]')).filter((element) => isMatchingIslandElement(element, props));
30651
30684
  const candidate = candidates[claimedCount];
30652
30685
  if (claimMap) {
@@ -30654,7 +30687,7 @@ var preserveIslandMarkup = (props) => {
30654
30687
  }
30655
30688
  return {
30656
30689
  attributes: getIslandMarkerAttributes(props),
30657
- innerHTML: candidate?.innerHTML ?? ""
30690
+ innerHTML: snapshotCandidate ?? candidate?.innerHTML ?? ""
30658
30691
  };
30659
30692
  };
30660
30693
 
@@ -30856,5 +30889,5 @@ export {
30856
30889
  Island
30857
30890
  };
30858
30891
 
30859
- //# debugId=B1DC3D80F405FCF064756E2164756E21
30892
+ //# debugId=999A298A6D3DC03E64756E2164756E21
30860
30893
  //# sourceMappingURL=index.js.map