@absolutejs/absolute 0.19.0-beta.704 → 0.19.0-beta.706

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 (103) hide show
  1. package/dist/angular/browser.js +6 -4
  2. package/dist/angular/browser.js.map +3 -3
  3. package/dist/angular/index.js +71 -82
  4. package/dist/angular/index.js.map +10 -10
  5. package/dist/angular/server.js +70 -81
  6. package/dist/angular/server.js.map +10 -10
  7. package/dist/build.js +152 -84
  8. package/dist/build.js.map +15 -15
  9. package/dist/cli/index.js +330 -296
  10. package/dist/client/index.js +7 -4
  11. package/dist/client/index.js.map +3 -3
  12. package/dist/index.js +253 -153
  13. package/dist/index.js.map +24 -24
  14. package/dist/islands/index.js +9 -6
  15. package/dist/islands/index.js.map +5 -5
  16. package/dist/react/browser.js +7 -7
  17. package/dist/react/browser.js.map +2 -2
  18. package/dist/react/components/browser/index.js +101 -101
  19. package/dist/react/components/index.js +104 -104
  20. package/dist/react/components/index.js.map +2 -2
  21. package/dist/react/index.js +77 -88
  22. package/dist/react/index.js.map +10 -10
  23. package/dist/react/jsxDevRuntimeCompat.js +1 -6
  24. package/dist/react/jsxDevRuntimeCompat.js.map +3 -3
  25. package/dist/react/server.js +57 -71
  26. package/dist/react/server.js.map +8 -8
  27. package/dist/src/angular/components/defer-slot-templates.directive.d.ts +0 -7
  28. package/dist/src/angular/components/defer-slot.component.d.ts +2 -5
  29. package/dist/src/angular/components/image.component.d.ts +2 -5
  30. package/dist/src/angular/components/index.d.ts +4 -4
  31. package/dist/src/angular/components/stream-slot.component.d.ts +0 -3
  32. package/dist/src/angular/pageHandler.d.ts +6 -1
  33. package/dist/src/angular/ssrRender.d.ts +1 -1
  34. package/dist/src/build/buildAngularVendor.d.ts +3 -4
  35. package/dist/src/constants.d.ts +21 -0
  36. package/dist/src/core/ssrCache.d.ts +1 -1
  37. package/dist/src/core/wrapPageHandlerWithStreamingSlots.d.ts +1 -1
  38. package/dist/src/react/jsxDevRuntimeCompat.d.ts +3 -6
  39. package/dist/src/react/pageHandler.d.ts +2 -1
  40. package/dist/src/svelte/pageHandler.d.ts +2 -2
  41. package/dist/src/utils/defineConfig.d.ts +2 -2
  42. package/dist/src/utils/imageProcessing.d.ts +1 -1
  43. package/dist/src/utils/loadConfig.d.ts +38 -2
  44. package/dist/src/vue/components/Image.d.ts +3 -3
  45. package/dist/src/vue/components/index.d.ts +1 -1
  46. package/dist/src/vue/index.d.ts +1 -1
  47. package/dist/src/vue/pageHandler.d.ts +2 -1
  48. package/dist/svelte/index.js +52 -58
  49. package/dist/svelte/index.js.map +10 -10
  50. package/dist/svelte/server.js +46 -55
  51. package/dist/svelte/server.js.map +9 -9
  52. package/dist/vue/components/Image.js +18 -18
  53. package/dist/vue/components/Image.js.map +3 -3
  54. package/dist/vue/components/index.js +77 -62
  55. package/dist/vue/components/index.js.map +5 -5
  56. package/dist/vue/index.js +137 -142
  57. package/dist/vue/index.js.map +13 -13
  58. package/dist/vue/server.js +54 -77
  59. package/dist/vue/server.js.map +8 -8
  60. package/package.json +42 -42
  61. package/dist/angular/components/constants.js +0 -56
  62. package/dist/angular/components/core/streamingSlotRegistrar.js +0 -58
  63. package/dist/angular/components/core/streamingSlotRegistry.js +0 -114
  64. package/dist/angular/components/defer-slot-payload.js +0 -6
  65. package/dist/angular/components/defer-slot-templates.directive.js +0 -44
  66. package/dist/angular/components/defer-slot.component.js +0 -149
  67. package/dist/angular/components/image.component.js +0 -202
  68. package/dist/angular/components/index.js +0 -4
  69. package/dist/angular/components/stream-slot.component.js +0 -103
  70. package/dist/dev/client/constants.ts +0 -26
  71. package/dist/dev/client/cssUtils.ts +0 -307
  72. package/dist/dev/client/domDiff.ts +0 -226
  73. package/dist/dev/client/domState.ts +0 -421
  74. package/dist/dev/client/domTracker.ts +0 -61
  75. package/dist/dev/client/errorOverlay.ts +0 -184
  76. package/dist/dev/client/frameworkDetect.ts +0 -63
  77. package/dist/dev/client/handlers/angular.ts +0 -551
  78. package/dist/dev/client/handlers/angularRuntime.ts +0 -206
  79. package/dist/dev/client/handlers/html.ts +0 -363
  80. package/dist/dev/client/handlers/htmx.ts +0 -272
  81. package/dist/dev/client/handlers/react.ts +0 -108
  82. package/dist/dev/client/handlers/rebuild.ts +0 -153
  83. package/dist/dev/client/handlers/svelte.ts +0 -332
  84. package/dist/dev/client/handlers/vue.ts +0 -292
  85. package/dist/dev/client/headPatch.ts +0 -233
  86. package/dist/dev/client/hmrClient.ts +0 -251
  87. package/dist/dev/client/hmrState.ts +0 -14
  88. package/dist/dev/client/moduleVersions.ts +0 -62
  89. package/dist/dev/client/reactRefreshSetup.ts +0 -33
  90. package/dist/src/angular/components/constants.d.ts +0 -53
  91. package/dist/svelte/components/AwaitSlot.svelte +0 -39
  92. package/dist/svelte/components/AwaitSlot.svelte.d.ts +0 -2
  93. package/dist/svelte/components/Head.svelte +0 -144
  94. package/dist/svelte/components/Head.svelte.d.ts +0 -2
  95. package/dist/svelte/components/Image.svelte +0 -164
  96. package/dist/svelte/components/Image.svelte.d.ts +0 -5
  97. package/dist/svelte/components/Island.svelte +0 -71
  98. package/dist/svelte/components/Island.svelte.d.ts +0 -5
  99. package/dist/svelte/components/JsonLd.svelte +0 -21
  100. package/dist/svelte/components/JsonLd.svelte.d.ts +0 -2
  101. package/dist/svelte/components/StreamSlot.svelte +0 -41
  102. package/dist/svelte/components/StreamSlot.svelte.d.ts +0 -2
  103. package/dist/types/globals.d.ts +0 -121
@@ -1,144 +0,0 @@
1
- <script lang="ts">
2
- import type { Metadata, RobotsDirective } from '../../../types/metadata';
3
-
4
- export let title: Metadata['title'] = 'AbsoluteJS';
5
- export let description: Metadata['description'] =
6
- 'A page created using AbsoluteJS';
7
- export let icon: Metadata['icon'] = '/assets/ico/favicon.ico';
8
- export let font: Metadata['font'] = undefined;
9
- export let cssPath: Metadata['cssPath'] = undefined;
10
- export let canonical: Metadata['canonical'] = undefined;
11
- export let openGraph: Metadata['openGraph'] = undefined;
12
- export let twitter: Metadata['twitter'] = undefined;
13
- export let robots: Metadata['robots'] = undefined;
14
- export let meta: Metadata['meta'] = undefined;
15
-
16
- const robotsContent = (r: RobotsDirective) => {
17
- const directives: string[] = [];
18
- if (r.index === false) directives.push('noindex');
19
- if (r.index === true) directives.push('index');
20
- if (r.follow === false) directives.push('nofollow');
21
- if (r.follow === true) directives.push('follow');
22
- if (r.noarchive) directives.push('noarchive');
23
- if (r.nosnippet) directives.push('nosnippet');
24
- if (r.noimageindex) directives.push('noimageindex');
25
- if (r.maxSnippet !== undefined)
26
- directives.push(`max-snippet:${r.maxSnippet}`);
27
- if (r.maxImagePreview)
28
- directives.push(`max-image-preview:${r.maxImagePreview}`);
29
- if (r.maxVideoPreview !== undefined)
30
- directives.push(`max-video-preview:${r.maxVideoPreview}`);
31
- return directives.join(', ');
32
- };
33
-
34
- $: cssPaths = cssPath ? (Array.isArray(cssPath) ? cssPath : [cssPath]) : [];
35
- </script>
36
-
37
- <svelte:head>
38
- <meta charset="utf-8" />
39
- <title>{title}</title>
40
- <meta name="description" content={description} />
41
- <meta name="viewport" content="width=device-width, initial-scale=1" />
42
- <link rel="icon" href={icon} />
43
-
44
- {#if canonical}
45
- <link rel="canonical" href={canonical} />
46
- {/if}
47
-
48
- {#if openGraph}
49
- <meta property="og:title" content={openGraph.title ?? title} />
50
- <meta
51
- property="og:description"
52
- content={openGraph.description ?? description}
53
- />
54
- {#if openGraph.url}
55
- <meta property="og:url" content={openGraph.url} />
56
- {/if}
57
- {#if openGraph.image}
58
- <meta property="og:image" content={openGraph.image} />
59
- {/if}
60
- {#if openGraph.imageAlt}
61
- <meta property="og:image:alt" content={openGraph.imageAlt} />
62
- {/if}
63
- {#if openGraph.imageWidth}
64
- <meta
65
- property="og:image:width"
66
- content={String(openGraph.imageWidth)}
67
- />
68
- {/if}
69
- {#if openGraph.imageHeight}
70
- <meta
71
- property="og:image:height"
72
- content={String(openGraph.imageHeight)}
73
- />
74
- {/if}
75
- {#if openGraph.type}
76
- <meta property="og:type" content={openGraph.type} />
77
- {/if}
78
- {#if openGraph.siteName}
79
- <meta property="og:site_name" content={openGraph.siteName} />
80
- {/if}
81
- {#if openGraph.locale}
82
- <meta property="og:locale" content={openGraph.locale} />
83
- {/if}
84
- {/if}
85
-
86
- {#if twitter}
87
- {#if twitter.card}
88
- <meta name="twitter:card" content={twitter.card} />
89
- {/if}
90
- <meta name="twitter:title" content={twitter.title ?? title} />
91
- <meta
92
- name="twitter:description"
93
- content={twitter.description ?? description}
94
- />
95
- {#if twitter.image}
96
- <meta name="twitter:image" content={twitter.image} />
97
- {/if}
98
- {#if twitter.imageAlt}
99
- <meta name="twitter:image:alt" content={twitter.imageAlt} />
100
- {/if}
101
- {#if twitter.site}
102
- <meta name="twitter:site" content={twitter.site} />
103
- {/if}
104
- {#if twitter.creator}
105
- <meta name="twitter:creator" content={twitter.creator} />
106
- {/if}
107
- {/if}
108
-
109
- {#if robots}
110
- {@const content = robotsContent(robots)}
111
- {#if content}
112
- <meta name="robots" {content} />
113
- {/if}
114
- {/if}
115
-
116
- {#if meta}
117
- {#each meta as tag}
118
- {#if tag.property}
119
- <meta property={tag.property} content={tag.content} />
120
- {:else if tag.httpEquiv}
121
- <meta http-equiv={tag.httpEquiv} content={tag.content} />
122
- {:else if tag.name}
123
- <meta name={tag.name} content={tag.content} />
124
- {/if}
125
- {/each}
126
- {/if}
127
-
128
- {#if font}
129
- <link rel="preconnect" href="https://fonts.googleapis.com" />
130
- <link
131
- rel="preconnect"
132
- href="https://fonts.gstatic.com"
133
- crossorigin="anonymous"
134
- />
135
- <link
136
- href={`https://fonts.googleapis.com/css2?family=${font}:wght@100..900&display=swap`}
137
- rel="stylesheet"
138
- />
139
- {/if}
140
-
141
- {#each cssPaths as path}
142
- <link rel="stylesheet" href={path} type="text/css" />
143
- {/each}
144
- </svelte:head>
@@ -1,2 +0,0 @@
1
- import { SvelteComponent } from 'svelte';
2
- export default class Head extends SvelteComponent {}
@@ -1,164 +0,0 @@
1
- <script lang="ts">
2
- import type { ImageProps } from '@absolutejs/absolute/image';
3
- import {
4
- DEFAULT_QUALITY,
5
- buildOptimizedUrl,
6
- generateBlurSvg,
7
- generateSrcSet
8
- } from '@absolutejs/absolute/image';
9
-
10
- let {
11
- src,
12
- alt,
13
- width,
14
- height,
15
- fill,
16
- quality = DEFAULT_QUALITY,
17
- sizes,
18
- loader,
19
- unoptimized,
20
- loading,
21
- priority,
22
- placeholder,
23
- blurDataURL,
24
- className,
25
- style,
26
- onLoad,
27
- onError,
28
- crossOrigin,
29
- referrerPolicy,
30
- fetchPriority,
31
- overrideSrc
32
- }: ImageProps = $props();
33
-
34
- const resolvedSrc = $derived.by(() => {
35
- if (overrideSrc) return overrideSrc;
36
- if (unoptimized) return src;
37
- if (loader) return loader({ src, width: width ?? 0, quality });
38
- if (!width) return buildOptimizedUrl(src, 0, quality);
39
- return buildOptimizedUrl(src, width, quality);
40
- });
41
-
42
- const srcSet = $derived(
43
- unoptimized ? undefined : generateSrcSet(src, width, sizes)
44
- );
45
-
46
- const resolvedSizes = $derived(sizes ?? (fill ? '100vw' : undefined));
47
-
48
- const resolvedLoading = $derived(priority ? 'eager' : (loading ?? 'lazy'));
49
-
50
- const resolvedFetchPriority = $derived(priority ? 'high' : fetchPriority);
51
-
52
- const hasBlur = $derived(
53
- placeholder === 'blur' ||
54
- (typeof placeholder === 'string' &&
55
- placeholder !== 'empty' &&
56
- placeholder.startsWith('data:'))
57
- );
58
-
59
- const blurBackground = $derived.by(() => {
60
- if (!hasBlur) return undefined;
61
- if (
62
- typeof placeholder === 'string' &&
63
- placeholder !== 'blur' &&
64
- placeholder.startsWith('data:')
65
- ) {
66
- return generateBlurSvg(placeholder);
67
- }
68
- if (blurDataURL) return generateBlurSvg(blurDataURL);
69
- return undefined;
70
- });
71
-
72
- const imgStyle = $derived.by(() => {
73
- const base: Record<string, string | number> = {
74
- ...(style ?? {}),
75
- color: 'transparent'
76
- };
77
- if (blurBackground) {
78
- base.backgroundImage = blurBackground;
79
- base.backgroundSize = 'cover';
80
- base.backgroundPosition = 'center';
81
- base.backgroundRepeat = 'no-repeat';
82
- }
83
- if (fill) {
84
- base.position = 'absolute';
85
- base.height = '100%';
86
- base.width = '100%';
87
- base.inset = 0;
88
- base.objectFit = 'cover';
89
- }
90
- return Object.entries(base)
91
- .map(
92
- ([k, v]) =>
93
- `${k.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`)}:${v}`
94
- )
95
- .join(';');
96
- });
97
-
98
- const handleLoad = (e: Event) => {
99
- const target = e.currentTarget;
100
- if (blurBackground) {
101
- if (target instanceof HTMLImageElement) {
102
- target.style.backgroundImage = 'none';
103
- }
104
- }
105
- onLoad?.(e);
106
- };
107
-
108
- const handleError = (e: Event) => {
109
- onError?.(e);
110
- };
111
- </script>
112
-
113
- <svelte:head>
114
- {#if priority}
115
- <link
116
- rel="preload"
117
- as="image"
118
- href={resolvedSrc}
119
- imagesrcset={srcSet}
120
- imagesizes={resolvedSizes}
121
- crossorigin={crossOrigin}
122
- />
123
- {/if}
124
- </svelte:head>
125
-
126
- {#if fill}
127
- <span
128
- style="position:relative;overflow:hidden;display:block;width:100%;height:100%"
129
- >
130
- <img
131
- {alt}
132
- src={resolvedSrc}
133
- srcset={srcSet}
134
- sizes={resolvedSizes}
135
- loading={resolvedLoading}
136
- class={className}
137
- style={imgStyle}
138
- crossorigin={crossOrigin}
139
- referrerpolicy={referrerPolicy}
140
- fetchpriority={resolvedFetchPriority}
141
- decoding="async"
142
- onload={handleLoad}
143
- onerror={handleError}
144
- />
145
- </span>
146
- {:else}
147
- <img
148
- {alt}
149
- src={resolvedSrc}
150
- srcset={srcSet}
151
- sizes={resolvedSizes}
152
- {width}
153
- {height}
154
- loading={resolvedLoading}
155
- class={className}
156
- style={imgStyle}
157
- crossorigin={crossOrigin}
158
- referrerpolicy={referrerPolicy}
159
- fetchpriority={resolvedFetchPriority}
160
- decoding="async"
161
- onload={handleLoad}
162
- onerror={handleError}
163
- />
164
- {/if}
@@ -1,5 +0,0 @@
1
- import type { ImageProps } from '../../types/image';
2
- import { SvelteComponent } from 'svelte';
3
- declare const __propDef: { props: ImageProps };
4
- type Props = typeof __propDef.props;
5
- export default class Image extends SvelteComponent<Props> {}
@@ -1,71 +0,0 @@
1
- <script context="module" lang="ts">
2
- let islandSlotIndex = 0;
3
-
4
- const createSlotId = () => {
5
- const current = islandSlotIndex;
6
- islandSlotIndex += 1;
7
-
8
- return `absolute-svelte-island-${current.toString(36)}`;
9
- };
10
- </script>
11
-
12
- <script lang="ts">
13
- import type { RuntimeIslandRenderProps } from '../../../types/island';
14
-
15
- let {
16
- component,
17
- framework,
18
- hydrate = 'load',
19
- props
20
- }: RuntimeIslandRenderProps = $props();
21
-
22
- const slotId = createSlotId();
23
-
24
- const escapeHtmlAttribute = (value: string) =>
25
- value
26
- .replaceAll('&', '&amp;')
27
- .replaceAll('"', '&quot;')
28
- .replaceAll('<', '&lt;')
29
- .replaceAll('>', '&gt;');
30
-
31
- const buildFallbackMarkup = (runtimeProps: RuntimeIslandRenderProps) => {
32
- const attributes = [
33
- ['data-component', runtimeProps.component],
34
- ['data-framework', runtimeProps.framework],
35
- ['data-hydrate', runtimeProps.hydrate ?? 'load'],
36
- ['data-island', 'true'],
37
- ['data-props', JSON.stringify(runtimeProps.props ?? {})]
38
- ];
39
-
40
- const serialized = attributes
41
- .map(([name, value]) => `${name}="${escapeHtmlAttribute(value)}"`)
42
- .join(' ');
43
-
44
- return `<div ${serialized}></div>`;
45
- };
46
-
47
- const html = $derived(
48
- (() => {
49
- const runtimeProps = {
50
- component,
51
- framework,
52
- hydrate,
53
- props
54
- };
55
-
56
- if (typeof document === 'undefined') {
57
- return buildFallbackMarkup(runtimeProps);
58
- }
59
-
60
- const slot = document.querySelector<HTMLElement>(
61
- `[data-absolute-island-slot="${slotId}"]`
62
- );
63
-
64
- return slot?.innerHTML ?? buildFallbackMarkup(runtimeProps);
65
- })()
66
- );
67
- </script>
68
-
69
- <div data-absolute-island-slot={slotId} style="display: contents">
70
- {@html html}
71
- </div>
@@ -1,5 +0,0 @@
1
- import type { RuntimeIslandRenderProps } from '../../types/metadata';
2
- import { SvelteComponent } from 'svelte';
3
- declare const __propDef: { props: RuntimeIslandRenderProps };
4
- type Props = typeof __propDef.props;
5
- export default class Island extends SvelteComponent<Props> {}
@@ -1,21 +0,0 @@
1
- <script lang="ts">
2
- import type { JsonLdSchema, WithContext } from '../../../types/jsonLd';
3
-
4
- let { schema }: { schema: JsonLdSchema | JsonLdSchema[] } = $props();
5
- const schemaOrgContext = 'https://schema.org';
6
-
7
- const data = $derived<
8
- WithContext<JsonLdSchema> | WithContext<JsonLdSchema>[]
9
- >(
10
- Array.isArray(schema)
11
- ? schema.map((s) => ({
12
- '@context': schemaOrgContext,
13
- ...s
14
- }))
15
- : { '@context': schemaOrgContext, ...schema }
16
- );
17
- </script>
18
-
19
- <svelte:head>
20
- {@html `<script type="application/ld+json">${JSON.stringify(data)}</script>`}
21
- </svelte:head>
@@ -1,2 +0,0 @@
1
- import { SvelteComponent } from 'svelte';
2
- export default class JsonLd extends SvelteComponent {}
@@ -1,41 +0,0 @@
1
- <script lang="ts">
2
- import {
3
- isStreamingSlotCollectionActive,
4
- registerStreamingSlot,
5
- warnMissingStreamingSlotCollector
6
- } from '../../core/streamingSlotRegistrar';
7
-
8
- type Resolver = () => Promise<string> | string;
9
-
10
- let {
11
- className,
12
- errorHtml,
13
- fallbackHtml = '',
14
- id,
15
- resolve,
16
- timeoutMs
17
- }: {
18
- className?: string;
19
- errorHtml?: string;
20
- fallbackHtml?: string;
21
- id: string;
22
- resolve: Resolver;
23
- timeoutMs?: number;
24
- } = $props();
25
-
26
- if (isStreamingSlotCollectionActive()) {
27
- registerStreamingSlot({
28
- errorHtml,
29
- fallbackHtml,
30
- id,
31
- resolve,
32
- timeoutMs
33
- });
34
- } else {
35
- warnMissingStreamingSlotCollector('StreamSlot');
36
- }
37
- </script>
38
-
39
- <div class={className} data-absolute-slot="true" {id}>
40
- {@html fallbackHtml}
41
- </div>
@@ -1,2 +0,0 @@
1
- import { SvelteComponent } from 'svelte';
2
- export default class StreamSlot extends SvelteComponent {}
@@ -1,121 +0,0 @@
1
- declare global {
2
- /* Server-side globals (Bun --hot reload state) */
3
- var __hmrServerStartup: boolean | undefined;
4
- var __hmrBuildDuration: number | undefined;
5
- var __absoluteVersion: string | undefined;
6
- var __hmrServerMtime: number | undefined;
7
- var __hmrSkipServerRestart: boolean | undefined;
8
- /** Pinned React module from initial devBuild — used to detect and bridge
9
- * duplicate React instances after bun install invalidates the module cache. */
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
- var __reactModuleRef: any;
12
- var __depVendorPaths: Record<string, string> | undefined;
13
- var __transformCache:
14
- | Map<string, { content: string; imports: string[]; mtime: number }>
15
- | undefined;
16
- var __transformImporters: Map<string, Set<string>> | undefined;
17
- var __transformInvalidationVersions: Map<string, number> | undefined;
18
- var __http2Config:
19
- | {
20
- hmrState: import('../src/dev/clientManager').HMRState;
21
- manifest: Record<string, string>;
22
- }
23
- | undefined;
24
- var __hmrDevResult:
25
- | {
26
- hmrState: import('../src/dev/clientManager').HMRState;
27
- manifest: Record<string, string>;
28
- conventions?: import('./conventions').ConventionsMap;
29
- }
30
- | undefined;
31
-
32
- /* Client-side globals (Window extensions for HMR) */
33
- interface Window {
34
- $RefreshReg$?: (type: unknown, id: string) => void;
35
- $RefreshRuntime$?: {
36
- createSignatureFunctionForTransform: () => (
37
- type: unknown
38
- ) => unknown;
39
- injectIntoGlobalHook: (win: Window) => void;
40
- performReactRefresh: () => void;
41
- register: (type: unknown, id: string) => void;
42
- };
43
- $RefreshSig$?: () => (type: unknown) => unknown;
44
- __HMR_FRAMEWORK__?: string;
45
- __HMR_MANIFEST__?: Record<string, string>;
46
- __HMR_MODULE_UPDATES__?: Array<unknown>;
47
- __HMR_MODULE_VERSIONS__?: Record<string, number>;
48
- __HMR_PRESERVED_STATE__?: Record<string, unknown>;
49
- __HMR_SERVER_VERSIONS__?: Record<string, number>;
50
- __HMR_UPDATE_COUNT__?: number;
51
- __HMR_WS__?: WebSocket;
52
- __ERROR_BOUNDARY__?: { reset: () => void };
53
- __INITIAL_PROPS__?: Record<string, unknown>;
54
- __REACT_COMPONENT_KEY__?: string;
55
- __REACT_ROOT__?: { render: (element: unknown) => void };
56
- __SVELTE_COMPONENT__?: Record<string, unknown>;
57
- __ABS_SVELTE_ISLAND_HTML__?: Record<string, string>;
58
- __SVELTE_UNMOUNT__?: () => void;
59
- __ANGULAR_APP__?: { destroy: () => void; tick: () => void } | null;
60
- __HMR_SKIP_HYDRATION__?: boolean;
61
- __HMR_NEW_PAGE_CLASS__?: unknown;
62
- __NG_REPLACE_METADATA__?: (...args: unknown[]) => void;
63
- __ANGULAR_HMR__?: {
64
- register: (id: string, ctor: unknown) => void;
65
- applyUpdate: (id: string, newCtor: unknown) => boolean;
66
- refresh: () => void;
67
- getStats: () => { componentCount: number; updateCount: number };
68
- getRegistry: () => Map<
69
- string,
70
- {
71
- liveCtor: unknown;
72
- id: string;
73
- registeredAt: number;
74
- updateCount: number;
75
- }
76
- >;
77
- };
78
- __VUE_APP__?:
79
- | ({
80
- unmount: () => void;
81
- _instance?: import('./vue').VueComponentInstance;
82
- } & Record<string, unknown>)
83
- | null;
84
- __VUE_HMR_COMPONENTS__?: Record<string, unknown>;
85
- __VUE_HMR_RUNTIME__?: {
86
- createRecord: (id: string, component: unknown) => void;
87
- reload: (id: string, component: unknown) => void;
88
- rerender: (id: string, render: unknown) => void;
89
- };
90
- __REFRESH_BUFFER__?: Array<[unknown, string]>;
91
- htmx?: { process: (element: HTMLElement | Document) => void };
92
- __ABS_ANGULAR_ISLAND_APPS__?: unknown[];
93
- __ABS_CLAIMED_ISLAND_MARKUP__?: Map<string, number>;
94
- __ABS_SERVER_ISLAND_HTML__?: Map<
95
- string,
96
- Array<{ attributes: Record<string, string>; innerHTML: string }>
97
- >;
98
- }
99
-
100
- /**
101
- * Platform-native island element for HTML and HTMX host pages.
102
- *
103
- * Attributes:
104
- * - `framework`: one of `react`, `svelte`, `vue`, or `angular`
105
- * - `component`: the registry component name to render
106
- * - `hydrate`: one of `load`, `idle`, `visible`, or `none`
107
- * - `props`: JSON-serialized props payload
108
- */
109
- interface AbsoluteIslandElement extends HTMLElement {
110
- component: string;
111
- framework: 'react' | 'svelte' | 'vue' | 'angular';
112
- hydrate?: 'load' | 'idle' | 'visible' | 'none';
113
- props: string;
114
- }
115
-
116
- interface HTMLElementTagNameMap {
117
- 'absolute-island': AbsoluteIslandElement;
118
- }
119
- }
120
-
121
- export {};