@absolutejs/absolute 0.19.0-beta.706 → 0.19.0-beta.707
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.
- package/dist/angular/components/constants.js +78 -0
- package/dist/angular/components/core/streamingSlotRegistrar.js +58 -0
- package/dist/angular/components/core/streamingSlotRegistry.js +114 -0
- package/dist/angular/components/defer-slot-payload.js +6 -0
- package/dist/angular/components/defer-slot-templates.directive.js +44 -0
- package/dist/angular/components/defer-slot.component.js +149 -0
- package/dist/angular/components/image.component.js +202 -0
- package/dist/angular/components/index.js +4 -0
- package/dist/angular/components/stream-slot.component.js +103 -0
- package/dist/angular/index.js +7 -9
- package/dist/angular/index.js.map +4 -4
- package/dist/angular/server.js +7 -9
- package/dist/angular/server.js.map +4 -4
- package/dist/build.js +19 -26
- package/dist/build.js.map +4 -4
- package/dist/cli/index.js +197 -144
- package/dist/client/index.js +2 -4
- package/dist/client/index.js.map +2 -2
- package/dist/dev/client/constants.ts +26 -0
- package/dist/dev/client/cssUtils.ts +307 -0
- package/dist/dev/client/domDiff.ts +226 -0
- package/dist/dev/client/domState.ts +421 -0
- package/dist/dev/client/domTracker.ts +61 -0
- package/dist/dev/client/errorOverlay.ts +184 -0
- package/dist/dev/client/frameworkDetect.ts +63 -0
- package/dist/dev/client/handlers/angular.ts +572 -0
- package/dist/dev/client/handlers/angularRuntime.ts +226 -0
- package/dist/dev/client/handlers/html.ts +364 -0
- package/dist/dev/client/handlers/htmx.ts +278 -0
- package/dist/dev/client/handlers/react.ts +108 -0
- package/dist/dev/client/handlers/rebuild.ts +153 -0
- package/dist/dev/client/handlers/svelte.ts +334 -0
- package/dist/dev/client/handlers/vue.ts +292 -0
- package/dist/dev/client/headPatch.ts +233 -0
- package/dist/dev/client/hmrClient.ts +273 -0
- package/dist/dev/client/hmrState.ts +14 -0
- package/dist/dev/client/moduleVersions.ts +62 -0
- package/dist/dev/client/reactRefreshSetup.ts +32 -0
- package/dist/index.js +29 -33
- package/dist/index.js.map +5 -5
- package/dist/islands/index.js +6 -8
- package/dist/islands/index.js.map +4 -4
- package/dist/react/browser.js +7 -7
- package/dist/react/browser.js.map +2 -2
- package/dist/react/components/browser/index.js +101 -101
- package/dist/react/components/index.js +104 -104
- package/dist/react/components/index.js.map +2 -2
- package/dist/react/index.js +17 -19
- package/dist/react/index.js.map +4 -4
- package/dist/react/server.js +3 -3
- package/dist/react/server.js.map +3 -3
- package/dist/src/angular/components/constants.d.ts +75 -0
- package/dist/src/angular/components/defer-slot-templates.directive.d.ts +7 -0
- package/dist/src/angular/components/defer-slot.component.d.ts +5 -2
- package/dist/src/angular/components/image.component.d.ts +5 -2
- package/dist/src/angular/components/index.d.ts +4 -4
- package/dist/src/angular/components/stream-slot.component.d.ts +3 -0
- package/dist/src/constants.d.ts +1 -0
- package/dist/svelte/components/AwaitSlot.svelte +39 -0
- package/dist/svelte/components/AwaitSlot.svelte.d.ts +2 -0
- package/dist/svelte/components/Head.svelte +144 -0
- package/dist/svelte/components/Head.svelte.d.ts +2 -0
- package/dist/svelte/components/Image.svelte +164 -0
- package/dist/svelte/components/Image.svelte.d.ts +5 -0
- package/dist/svelte/components/Island.svelte +71 -0
- package/dist/svelte/components/Island.svelte.d.ts +5 -0
- package/dist/svelte/components/JsonLd.svelte +21 -0
- package/dist/svelte/components/JsonLd.svelte.d.ts +2 -0
- package/dist/svelte/components/StreamSlot.svelte +41 -0
- package/dist/svelte/components/StreamSlot.svelte.d.ts +2 -0
- package/dist/svelte/index.js +7 -9
- package/dist/svelte/index.js.map +4 -4
- package/dist/svelte/server.js +4 -4
- package/dist/svelte/server.js.map +3 -3
- package/dist/types/globals.d.ts +122 -0
- package/dist/vue/index.js +7 -9
- package/dist/vue/index.js.map +4 -4
- package/dist/vue/server.js +3 -3
- package/dist/vue/server.js.map +3 -3
- package/package.json +1 -1
|
@@ -0,0 +1,144 @@
|
|
|
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>
|
|
@@ -0,0 +1,164 @@
|
|
|
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}
|
|
@@ -0,0 +1,71 @@
|
|
|
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('&', '&')
|
|
27
|
+
.replaceAll('"', '"')
|
|
28
|
+
.replaceAll('<', '<')
|
|
29
|
+
.replaceAll('>', '>');
|
|
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>
|
|
@@ -0,0 +1,5 @@
|
|
|
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> {}
|
|
@@ -0,0 +1,21 @@
|
|
|
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>
|
|
@@ -0,0 +1,41 @@
|
|
|
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>
|
package/dist/svelte/index.js
CHANGED
|
@@ -134,7 +134,7 @@ var resolveExportPath = (entry, conditions) => {
|
|
|
134
134
|
var init_resolvePackageImport = () => {};
|
|
135
135
|
|
|
136
136
|
// src/constants.ts
|
|
137
|
-
var ANGULAR_INIT_TIMEOUT_MS = 500, ANSI_ESCAPE_LENGTH = 3, ASCII_SPACE = 32, BASE_36_RADIX = 36, BUN_BUILD_WARNING_SUPPRESSION = "wildcard sideEffects are not supported yet", BODY_SLICE_LENGTH = 2000, BYTES_PER_KILOBYTE = 1024, CLI_ARGS_OFFSET = 3, CSS_ERROR_RESOLVE_DELAY_MS = 50, CSS_MAX_CHECK_ATTEMPTS = 10, CSS_MAX_PARSE_TIMEOUT_MS = 500, CSS_SHEET_READY_TIMEOUT_MS = 100, DEFAULT_CHUNK_SIZE = 16384, DEFAULT_DEBOUNCE_MS = 15, DEFAULT_PORT = 3000, DEV_SERVER_RESTART_DEBOUNCE_MS = 100, DOM_UPDATE_DELAY_MS = 50, FILE_PROTOCOL_PREFIX_LENGTH = 7, FOCUS_ID_PREFIX_LENGTH = 3, FOCUS_IDX_PREFIX_LENGTH = 4, FOCUS_NAME_PREFIX_LENGTH = 5, HMR_UPDATE_TIMEOUT_MS = 2000, HOOK_SIGNATURE_LENGTH = 12, EXCLUDE_LAST_OFFSET = -1, HTTP_STATUS_OK = 200, HTTP_STATUS_BAD_REQUEST = 400, HTTP_STATUS_NOT_FOUND = 404, HOURS_IN_DAY = 24, HOURS_IN_HALF_DAY = 12, MAX_ERROR_LENGTH = 200, MAX_RECONNECT_ATTEMPTS = 60, MILLISECONDS_IN_A_SECOND = 1000, MINUTES_IN_AN_HOUR = 60, SECONDS_IN_A_MINUTE = 60, MILLISECONDS_IN_A_MINUTE, MILLISECONDS_IN_A_DAY, OVERLAY_FADE_DURATION_MS = 150, PING_INTERVAL_MS = 30000, RAF_BATCH_COUNT = 3, RANDOM_ID_END_INDEX = 11, REBUILD_BATCH_DELAY_MS = 10, REBUILD_RELOAD_DELAY_MS = 200, RECONNECT_INITIAL_DELAY_MS = 500, RECONNECT_POLL_INTERVAL_MS = 300, REACT_STREAM_SLOT_FAST_DELAY_MS = 5, REACT_STREAM_SLOT_SLOW_DELAY_MS = 20, SIGINT_EXIT_CODE = 130, SIGTERM_EXIT_CODE = 143, SVELTE_CSS_LOAD_TIMEOUT_MS = 500, TIME_PRECISION = 2, TWO_THIRDS, UNFOUND_INDEX = -1, WEBSOCKET_NORMAL_CLOSURE = 1000, WORKSPACE_COMMAND_ARGS_OFFSET = 3, WORKSPACE_FAILURE_LOG_PRINT_LIMIT = 30, WORKSPACE_FAILURE_RECENT_LOG_LIMIT = 60, WORKSPACE_READY_ATTEMPT_TIMEOUT_MS = 5000, WORKSPACE_READY_PROBE_INTERVAL_MS = 250, WORKSPACE_READY_TIMEOUT_MS = 30000, WORKSPACE_SHUTDOWN_TIMEOUT_MS = 1e4, WORKSPACE_TUI_DEFAULT_HEIGHT = 28, WORKSPACE_TUI_DEFAULT_WIDTH = 100, WORKSPACE_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30, WORKSPACE_TUI_FOOTER_LINE_COUNT = 3, WORKSPACE_TUI_MIN_LOG_HEIGHT = 3, WORKSPACE_TUI_MIN_SERVICE_NAME_WIDTH = 7, WORKSPACE_TUI_MIN_TARGET_WIDTH = 8, WORKSPACE_TUI_MIN_WRAP_WIDTH = 12, WORKSPACE_TUI_PROMPT_CURSOR_OFFSET = 3, WORKSPACE_TUI_RECENT_LOG_LIMIT = 40, WORKSPACE_TUI_RENDER_DEBOUNCE_MS = 16, WORKSPACE_TUI_STATUS_WIDTH = 10, WORKSPACE_TUI_TARGET_PADDING_WIDTH = 6, WORKSPACE_TUI_VISIBILITY_WIDTH = 8;
|
|
137
|
+
var ANGULAR_INIT_TIMEOUT_MS = 500, ANSI_ESCAPE_CODE = 27, ANSI_ESCAPE_LENGTH = 3, ASCII_SPACE = 32, BASE_36_RADIX = 36, BUN_BUILD_WARNING_SUPPRESSION = "wildcard sideEffects are not supported yet", BODY_SLICE_LENGTH = 2000, BYTES_PER_KILOBYTE = 1024, CLI_ARGS_OFFSET = 3, CSS_ERROR_RESOLVE_DELAY_MS = 50, CSS_MAX_CHECK_ATTEMPTS = 10, CSS_MAX_PARSE_TIMEOUT_MS = 500, CSS_SHEET_READY_TIMEOUT_MS = 100, DEFAULT_CHUNK_SIZE = 16384, DEFAULT_DEBOUNCE_MS = 15, DEFAULT_PORT = 3000, DEV_SERVER_RESTART_DEBOUNCE_MS = 100, DOM_UPDATE_DELAY_MS = 50, FILE_PROTOCOL_PREFIX_LENGTH = 7, FOCUS_ID_PREFIX_LENGTH = 3, FOCUS_IDX_PREFIX_LENGTH = 4, FOCUS_NAME_PREFIX_LENGTH = 5, HMR_UPDATE_TIMEOUT_MS = 2000, HOOK_SIGNATURE_LENGTH = 12, EXCLUDE_LAST_OFFSET = -1, HTTP_STATUS_OK = 200, HTTP_STATUS_BAD_REQUEST = 400, HTTP_STATUS_NOT_FOUND = 404, HOURS_IN_DAY = 24, HOURS_IN_HALF_DAY = 12, MAX_ERROR_LENGTH = 200, MAX_RECONNECT_ATTEMPTS = 60, MILLISECONDS_IN_A_SECOND = 1000, MINUTES_IN_AN_HOUR = 60, SECONDS_IN_A_MINUTE = 60, MILLISECONDS_IN_A_MINUTE, MILLISECONDS_IN_A_DAY, OVERLAY_FADE_DURATION_MS = 150, PING_INTERVAL_MS = 30000, RAF_BATCH_COUNT = 3, RANDOM_ID_END_INDEX = 11, REBUILD_BATCH_DELAY_MS = 10, REBUILD_RELOAD_DELAY_MS = 200, RECONNECT_INITIAL_DELAY_MS = 500, RECONNECT_POLL_INTERVAL_MS = 300, REACT_STREAM_SLOT_FAST_DELAY_MS = 5, REACT_STREAM_SLOT_SLOW_DELAY_MS = 20, SIGINT_EXIT_CODE = 130, SIGTERM_EXIT_CODE = 143, SVELTE_CSS_LOAD_TIMEOUT_MS = 500, TIME_PRECISION = 2, TWO_THIRDS, UNFOUND_INDEX = -1, WEBSOCKET_NORMAL_CLOSURE = 1000, WORKSPACE_COMMAND_ARGS_OFFSET = 3, WORKSPACE_FAILURE_LOG_PRINT_LIMIT = 30, WORKSPACE_FAILURE_RECENT_LOG_LIMIT = 60, WORKSPACE_READY_ATTEMPT_TIMEOUT_MS = 5000, WORKSPACE_READY_PROBE_INTERVAL_MS = 250, WORKSPACE_READY_TIMEOUT_MS = 30000, WORKSPACE_SHUTDOWN_TIMEOUT_MS = 1e4, WORKSPACE_TUI_DEFAULT_HEIGHT = 28, WORKSPACE_TUI_DEFAULT_WIDTH = 100, WORKSPACE_TUI_ESCAPE_SEQUENCE_TIMEOUT_MS = 30, WORKSPACE_TUI_FOOTER_LINE_COUNT = 3, WORKSPACE_TUI_MIN_LOG_HEIGHT = 3, WORKSPACE_TUI_MIN_SERVICE_NAME_WIDTH = 7, WORKSPACE_TUI_MIN_TARGET_WIDTH = 8, WORKSPACE_TUI_MIN_WRAP_WIDTH = 12, WORKSPACE_TUI_PROMPT_CURSOR_OFFSET = 3, WORKSPACE_TUI_RECENT_LOG_LIMIT = 40, WORKSPACE_TUI_RENDER_DEBOUNCE_MS = 16, WORKSPACE_TUI_STATUS_WIDTH = 10, WORKSPACE_TUI_TARGET_PADDING_WIDTH = 6, WORKSPACE_TUI_VISIBILITY_WIDTH = 8;
|
|
138
138
|
var init_constants = __esm(() => {
|
|
139
139
|
MILLISECONDS_IN_A_MINUTE = MILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE;
|
|
140
140
|
MILLISECONDS_IN_A_DAY = MILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE * MINUTES_IN_AN_HOUR * HOURS_IN_DAY;
|
|
@@ -444,7 +444,7 @@ ${contents}` : contents, normalizePostcssModule = (mod) => {
|
|
|
444
444
|
const config = normalizePostcssModule(loaded);
|
|
445
445
|
const value = typeof config === "function" ? await config({
|
|
446
446
|
cwd: process.cwd(),
|
|
447
|
-
env: "
|
|
447
|
+
env: "development"
|
|
448
448
|
}) : config;
|
|
449
449
|
return normalizePostcssModule(value) ?? {};
|
|
450
450
|
}, normalizePostcssPlugins = (plugins) => {
|
|
@@ -1990,9 +1990,7 @@ var initDominoAdapter = (platformServer) => {
|
|
|
1990
1990
|
import(resolveAngularPackage("@angular/common")),
|
|
1991
1991
|
import(resolveAngularPackage("@angular/core"))
|
|
1992
1992
|
]);
|
|
1993
|
-
if (
|
|
1994
|
-
core.enableProdMode();
|
|
1995
|
-
}
|
|
1993
|
+
if (false) {}
|
|
1996
1994
|
initDominoAdapter(platformServer);
|
|
1997
1995
|
return {
|
|
1998
1996
|
APP_BASE_HREF: common.APP_BASE_HREF,
|
|
@@ -2386,9 +2384,9 @@ var renderAngularIslandToHtmlInternal = async (component, props, islandId) => {
|
|
|
2386
2384
|
}, renderAngularIslandToHtml2, renderReactIslandToHtml = (component, props) => import("react").then(({ createElement }) => import("react-dom/server").then(({ renderToStaticMarkup }) => renderToStaticMarkup(createElement(component, props)))), renderSvelteIslandToHtml = (component, props) => import("svelte/server").then(({ render }) => {
|
|
2387
2385
|
const { body } = render(component, { props });
|
|
2388
2386
|
return body;
|
|
2389
|
-
}), renderVueIslandToHtml = (component, props) => import("vue").then(({ createSSRApp, h }) => {
|
|
2387
|
+
}), renderVueIslandToHtml = (component, props) => import("vue").then(({ createSSRApp, h: createVueVNode }) => {
|
|
2390
2388
|
const app = createSSRApp({
|
|
2391
|
-
render: () =>
|
|
2389
|
+
render: () => createVueVNode(component, props)
|
|
2392
2390
|
});
|
|
2393
2391
|
return import("vue/server-renderer").then(({ renderToString }) => renderToString(app));
|
|
2394
2392
|
});
|
|
@@ -3120,7 +3118,7 @@ var resolveNotFoundConventionPath = (framework) => getMap()[framework]?.defaults
|
|
|
3120
3118
|
var setConventions = (map) => {
|
|
3121
3119
|
Reflect.set(globalThis, CONVENTIONS_KEY, map);
|
|
3122
3120
|
};
|
|
3123
|
-
var isDev = () =>
|
|
3121
|
+
var isDev = () => true;
|
|
3124
3122
|
var buildErrorProps = (error) => {
|
|
3125
3123
|
const message = error instanceof Error ? error.message : String(error);
|
|
3126
3124
|
const stack = isDev() && error instanceof Error ? error.stack : undefined;
|
|
@@ -3562,5 +3560,5 @@ export {
|
|
|
3562
3560
|
createTypedIsland
|
|
3563
3561
|
};
|
|
3564
3562
|
|
|
3565
|
-
//# debugId=
|
|
3563
|
+
//# debugId=02D5FA12D99D397C64756E2164756E21
|
|
3566
3564
|
//# sourceMappingURL=index.js.map
|