Svelte / SvelteKit
Svelte předává atributy přímo do DOM bez vrstvy virtuálního DOM, což dělá z vlastních prvků přirozenou volbu. Pro SvelteKit (SSR) načtěte CDN uvnitř onMount nebo použijte kontrolu browser.
@wink/elements npm balíček Nainstalujte a načtěte CDN balíček s typy pro TypeScript.
Instalace
Sekce “Instalace”npm install @wink/elementsSvelteKit — kořenové rozvržení
Sekce “SvelteKit — kořenové rozvržení”import { browser } from '$app/environment';import { load as loadWink } from '@wink/elements';
export function load() { if (browser) { loadWink({ clientId: import.meta.env.PUBLIC_WINK_CLIENT_ID }); }}Alternativně načtěte uvnitř onMount v +layout.svelte:
<script> import { onMount } from 'svelte'; import { load } from '@wink/elements';
onMount(() => { load({ clientId: import.meta.env.PUBLIC_WINK_CLIENT_ID }); });</script>
<slot />Použití v komponentách
Sekce “Použití v komponentách”Svelte předává všechny neznámé atributy přímo do DOM, takže není potřeba žádná další konfigurace:
<script> export let layoutId = 'YOUR_LAYOUT_ID';</script>
<main> <wink-content-loader layout="HOTEL" id={layoutId} /> <wink-lookup /></main>Svelte 5 (runes syntax)
Sekce “Svelte 5 (runes syntax)”<script lang="ts"> import { onMount } from 'svelte'; import { load } from '@wink/elements';
let { layoutId }: { layoutId: string } = $props();
onMount(() => { load({ clientId: import.meta.env.PUBLIC_WINK_CLIENT_ID }); });</script>
<wink-content-loader layout="HOTEL" id={layoutId} />Proměnné prostředí
Sekce “Proměnné prostředí”SvelteKit zpřístupňuje do prohlížeče pouze proměnné s prefixem PUBLIC_:
PUBLIC_WINK_CLIENT_ID=your-client-id<script> import { browser } from '$app/environment';</script>
{#if browser} <wink-content-loader layout="HOTEL" id="YOUR_LAYOUT_ID" />{/if}Čistý Svelte (Vite, bez SvelteKit)
Sekce “Čistý Svelte (Vite, bez SvelteKit)”<script> import { onMount } from 'svelte'; import { load } from '@wink/elements';
onMount(() => { load({ clientId: import.meta.env.VITE_WINK_CLIENT_ID }); });</script>
<wink-content-loader layout="HOTEL" id="YOUR_LAYOUT_ID" />