Pāriet uz saturu

npm pakotne

@wink/elements npm pakotne ir ātrākais veids, kā pievienot Wink tīmekļa komponentus jebkuram JavaScript vai TypeScript projektam. Tā nodrošina load() funkciju, kas ielādē CDN resursus un pilnas TypeScript tipu deklarācijas visiem komponentu atribūtiem.

Terminal window
npm install @wink/elements

Izsauciet load() vienu reizi lietotnes startā. Tā ir idempotenta — droši izsaukt vairākas reizes.

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

Pēc tam izmantojiet jebkuru Wink komponentu savā HTML vai JSX:

<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 });
}
}

Visas komponentu atribūtu interfeisu definīcijas ir eksportētas izmantošanai JSX, veidņu literāļos vai tipizētās vārdnīcās:

import type { WinkContentLoaderAttributes, WinkLayout } from '@wink/elements';
const attrs: WinkContentLoaderAttributes = {
layout: 'HOTEL', // TypeScript pamanīs nederīgas layout vērtības
id: 'abc123',
sort: 'POPULARITY',
};
load({
clientId: 'YOUR_CLIENT_ID',
cdnBaseUrl: 'https://staging-elements.wink.travel',
});
OpcijaTipsObligātaNoklusējumsApraksts
clientIdstringJūsu Wink OAuth2 klienta ID
configurationIdstringPēc izvēles pielāgošanas ID
cdnBaseUrlstringhttps://elements.wink.travelCDN URL pārrakstīšana