Qwik
O modelo de resumibilidade do Qwik significa que o JavaScript é executado de forma preguiçosa — somente quando o usuário interage. Use useVisibleTask$ para executar código que deve rodar no navegador quando o componente se tornar visível.
@wink/elements npm package Instale e carregue o bundle CDN com tipos TypeScript.
Instalar
Seção intitulada “Instalar”npm install @wink/elementsCarregar com useVisibleTask$
Seção intitulada “Carregar com useVisibleTask$”useVisibleTask$ é o hook de ciclo de vida do Qwik para código que roda apenas no navegador, executado de forma imediata. Coloque-o no seu layout raiz:
import { component$, useVisibleTask$ } from '@builder.io/qwik';import { load } from '@wink/elements';
export default component$(() => { useVisibleTask$(() => { load({ clientId: import.meta.env.PUBLIC_WINK_CLIENT_ID }); });
return ( <main> <Slot /> </main> );});Usar em uma página
Seção intitulada “Usar em uma página”import { component$ } from '@builder.io/qwik';
export default component$(() => { return ( <main> <wink-content-loader layout="HOTEL" id="YOUR_LAYOUT_ID" /> <wink-lookup /> </main> );});TypeScript — declarar intrínsecos JSX
Seção intitulada “TypeScript — declarar intrínsecos JSX”O Qwik usa seu próprio namespace JSX. Estenda-o em um arquivo de declaração:
import type { WinkContentLoaderAttributes, WinkLookupAttributes, WinkSearchButtonAttributes, WinkAccountButtonAttributes, WinkItineraryButtonAttributes, WinkShoppingCartButtonAttributes, WinkAppLoaderAttributes,} from '@wink/elements';
declare module '@builder.io/qwik' { namespace JSX { interface IntrinsicElements { 'wink-content-loader': WinkContentLoaderAttributes; 'wink-lookup': WinkLookupAttributes; 'wink-search-button': WinkSearchButtonAttributes; 'wink-account-button': WinkAccountButtonAttributes; 'wink-itinerary-button': WinkItineraryButtonAttributes; 'wink-shopping-cart-button': WinkShoppingCartButtonAttributes; 'wink-app-loader': WinkAppLoaderAttributes; } }}Variáveis de ambiente
Seção intitulada “Variáveis de ambiente”O Qwik (baseado em Vite) expõe variáveis prefixadas com PUBLIC_ para o navegador:
PUBLIC_WINK_CLIENT_ID=seu-client-id