Uso básico

Aprenda os fundamentos de como usar os Web Components do Yampi Prism.

Usando em HTML puro

Após importar o pacote, use os componentes como tags HTML normais:

html
<script type="module">  import '@yampi/ui';</script><!-- Botão simples --><y-button>Clique aqui</y-button><!-- Botão com variante --><y-button variant="secondary">Cancelar</y-button><!-- Input com label --><y-input label="Nome" placeholder="Digite seu nome"></y-input>

Usando com React

Web Components funcionam nativamente no React. Use as tags diretamente no JSX:

typescript
import '@yampi/ui';function ProductForm() {  return (    <div>      <y-input label="Nome do produto" placeholder="Ex: Camiseta"></y-input>      <y-textarea label="Descrição" rows="4"></y-textarea>      <y-button variant="default">Salvar produto</y-button>    </div>  );}

Usando com Vue

No Vue 3, configure o compilador para reconhecer os custom elements:

typescript
// vite.config.tsexport default defineConfig({  plugins: [    vue({      template: {        compilerOptions: {          isCustomElement: (tag) => tag.startsWith('y-'),        },      },    }),  ],});

Depois use normalmente nos templates:

html
<template>  <y-card>    <div slot="header">      <h3>Pedido #1234</h3>    </div>    <div slot="content">      <p>Total: R$ 299,90</p>    </div>    <div slot="footer">      <y-button @click="confirmar">Confirmar pedido</y-button>    </div>  </y-card></template>

Slots

Muitos componentes usam slots para receber conteúdo:

html
<!-- Slot padrão --><y-button>Texto do botão</y-button><!-- Slots nomeados --><y-card>  <div slot="header">Cabeçalho</div>  <div slot="content">Conteúdo</div>  <div slot="footer">Rodapé</div></y-card>

Propriedades

Configure os componentes via atributos HTML:

html
<!-- Atributos string --><y-button variant="destructive" size="lg">Excluir</y-button><!-- Atributos boolean --><y-button disabled>Desabilitado</y-button><y-button loading>Carregando...</y-button><!-- Via JavaScript --><script>  const button = document.querySelector('y-button');  button.variant = 'secondary';  button.loading = true;</script>

Eventos

Escute eventos nativos e customizados:

html
<y-button onclick="alert('Clicou!')">Clique</y-button><y-input id="nome"></y-input><script>  document.getElementById('nome').addEventListener('input', (e) => {    console.log('Valor:', e.target.value);  });</script>

Próximos passos

  • Componentes — Explore todos os 47 componentes
  • Cores — Personalize com design tokens