İçeriğe geç

npm paketi

@wink/elements npm paketi, Wink web bileşenlerini herhangi bir JavaScript veya TypeScript projesine eklemenin en hızlı yoludur. CDN kaynaklarını enjekte eden ve tüm bileşen öznitelikleri için tam TypeScript tip bildirimleri sağlayan bir load() fonksiyonu sunar.

Terminal window
npm install @wink/elements

load() fonksiyonunu uygulama başlangıcında bir kez çağırın. İdempotenttir — birden çok kez çağrılması güvenlidir.

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

Sonra HTML veya JSX içinde herhangi bir Wink bileşenini kullanın:

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

Tüm bileşen öznitelik arayüzleri, JSX, şablon dizeleri veya tipli sözlüklerde kullanım için dışa aktarılır:

import type { WinkContentLoaderAttributes, WinkLayout } from '@wink/elements';
const attrs: WinkContentLoaderAttributes = {
layout: 'HOTEL', // TypeScript geçersiz layout değerlerini yakalar
id: 'abc123',
sort: 'POPULARITY',
};
load({
clientId: 'YOUR_CLIENT_ID',
cdnBaseUrl: 'https://staging-elements.wink.travel',
});
SeçenekTürZorunluVarsayılanAçıklama
clientIdstringEvetWink OAuth2 Client ID’niz
configurationIdstringHayırİsteğe bağlı özelleştirme ID’si
cdnBaseUrlstringHayırhttps://elements.wink.travelCDN URL’sini geçersiz kılma