Lewati ke konten

paket npm

Paket npm @wink/elements adalah cara tercepat untuk menambahkan komponen web Wink ke proyek JavaScript atau TypeScript mana pun. Paket ini menyediakan fungsi load() yang menyuntikkan sumber daya CDN dan deklarasi tipe TypeScript lengkap untuk semua atribut komponen.

Terminal window
npm install @wink/elements

Panggil load() sekali saat aplikasi dimulai. Fungsi ini idempoten — aman dipanggil berkali-kali.

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

Kemudian gunakan komponen Wink apa pun di HTML atau JSX Anda:

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

Semua antarmuka atribut komponen diekspor untuk digunakan di JSX, template literal, atau kamus bertipe:

import type { WinkContentLoaderAttributes, WinkLayout } from '@wink/elements';
const attrs: WinkContentLoaderAttributes = {
layout: 'HOTEL', // TypeScript akan mendeteksi nilai layout yang tidak valid
id: 'abc123',
sort: 'POPULARITY',
};
load({
clientId: 'YOUR_CLIENT_ID',
cdnBaseUrl: 'https://staging-elements.wink.travel',
});
OpsiTipeWajibDefaultDeskripsi
clientIdstringYaClient ID OAuth2 Wink Anda
configurationIdstringTidakID kustomisasi opsional
cdnBaseUrlstringTidakhttps://elements.wink.travelGanti URL CDN