Svelte / SvelteKit
Svelte edastab atribuudid otse DOM-ile ilma virtuaalse DOM kihita, muutes kohandatud elemendid loomulikuks valikuks. SvelteKit (SSR) puhul laadige CDN onMount sees või kasutage browser kontrolli.
@wink/elements npm package Paigaldage ja laadige CDN pakett koos TypeScript tüüpidega.
Paigaldamine
Section titled “Paigaldamine”npm install @wink/elementsSvelteKit — juurdepaneeli paigutus
Section titled “SvelteKit — juurdepaneeli paigutus”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 }); }}Või laadige onMount sees +layout.svelte failis:
<script> import { onMount } from 'svelte'; import { load } from '@wink/elements';
onMount(() => { load({ clientId: import.meta.env.PUBLIC_WINK_CLIENT_ID }); });</script>
<slot />Kasutamine komponentides
Section titled “Kasutamine komponentides”Svelte edastab kõik tundmatud atribuudid otse DOM-ile, seega pole vaja täiendavat konfiguratsiooni:
<script> export let layoutId = 'YOUR_LAYOUT_ID';</script>
<main> <wink-content-loader layout="HOTEL" id={layoutId} /> <wink-lookup /></main>Svelte 5 (runes süntaks)
Section titled “Svelte 5 (runes süntaks)”<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} />Keskkonnamuutujad
Section titled “Keskkonnamuutujad”SvelteKit avaldab brauserile ainult muutujad, mille eesliide on 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}Puhas Svelte (Vite, ilma SvelteKituta)
Section titled “Puhas Svelte (Vite, ilma SvelteKituta)”<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" />