Skip to content

npm pakett

@wink/elements npm pakett on kiireim viis lisada Wink veebikomponente mis tahes JavaScripti või TypeScripti projekti. See pakub load() funktsiooni, mis süstib CDN ressursid ja täielikud TypeScripti tüübi deklaratsioonid kõigi komponentide atribuutide jaoks.

Terminal window
npm install @wink/elements

Kutsuge load() üks kord rakenduse käivitamisel. See on idempotentne — ohutu kutsuda mitu korda.

import { load } from '@wink/elements';
load({ clientId: 'YOUR_CLIENT_ID' });

Seejärel kasutage mis tahes Wink komponenti oma HTML-is või JSX-is:

<wink-content-loader layout="HOTEL" id="YOUR_LAYOUT_ID"></wink-content-loader>
app/layout.tsx
'use client';
import { useEffect } from 'react';
import { load } from '@wink/elements';
export default function RootLayout({ children }: { children: React.ReactNode }) {
useEffect(() => {
load({ clientId: process.env.NEXT_PUBLIC_WINK_CLIENT_ID! });
}, []);
return <html><body>{children}</body></html>;
}
plugins/wink.client.ts
import { load } from '@wink/elements';
export default defineNuxtPlugin(() => {
load({ clientId: useRuntimeConfig().public.winkClientId });
});
src/layouts/Layout.astro
---
import { load } from '@wink/elements';
---
<script>
import { load } from '@wink/elements';
load({ clientId: import.meta.env.PUBLIC_WINK_CLIENT_ID });
</script>
src/routes/+layout.ts
import { load as loadWink } from '@wink/elements';
import { browser } from '$app/environment';
export function load() {
if (browser) {
loadWink({ clientId: import.meta.env.PUBLIC_WINK_CLIENT_ID });
}
}

Kõikide komponentide atribuudi liidesed on eksporditud kasutamiseks JSX-is, mallilitteraalides või tüübistatud sõnastikes:

import type { WinkContentLoaderAttributes, WinkLayout } from '@wink/elements';
const attrs: WinkContentLoaderAttributes = {
layout: 'HOTEL', // TypeScript tabab valed layout väärtused
id: 'abc123',
sort: 'POPULARITY',
};
load({
clientId: 'YOUR_CLIENT_ID',
cdnBaseUrl: 'https://staging-elements.wink.travel',
});
ValikTüüpNõutudVaikimisiKirjeldus
clientIdstringJahTeie Wink OAuth2 kliendi ID
configurationIdstringEiValikuline kohandamise ID
cdnBaseUrlstringEihttps://elements.wink.travelCDN URL-i ülekirjutus