Request Request Design System

Instalar e usar

Os tokens estão publicados no npm como @request-labs/tokens. Funcionam em qualquer stack com Node: Laravel+Blade, Next.js, Nuxt/Vue, Astro, React, Svelte, etc.

1. Instalar

pnpm add @request-labs/tokens
# ou npm install @request-labs/tokens
# ou yarn add @request-labs/tokens

2. Usar com Tailwind (recomendado)

Substitui a secção theme.extend (ou adiciona se estiver vazia).

// tailwind.config.js (ou .cjs)
const tokens = require('@request-labs/tokens/tailwind');

module.exports = {
  content: ['./src/**/*.{html,js,ts,jsx,tsx,vue,blade.php}'],
  theme: {
    extend: {
      colors: tokens.colors,
      spacing: tokens.spacing,
      fontFamily: tokens.fontFamily,
      fontSize: tokens.fontSize,
      fontWeight: tokens.fontWeight,
      lineHeight: tokens.lineHeight,
      borderRadius: tokens.borderRadius,
      boxShadow: tokens.boxShadow,
    },
  },
};

A partir daqui usas as classes Tailwind normais: bg-rose-500, text-slate-700, p-4, rounded-md.

Usar com CSS puro (sem Tailwind)

/* Qualquer CSS global (ex.: app.css, main.css) */
@import "@request-labs/tokens/css";

.button {
  background: var(--color-rose-500);
  padding: var(--spacing-4);
  border-radius: var(--radius-md);
}

Acesso programático (JS/TS)

import tokens from '@request-labs/tokens';

// Acesso programático à árvore inteira
console.log(tokens.color.rose['500']);   // "#ff3457"
console.log(tokens.spacing['4']);        // "16px"
console.log(tokens.radius.md);           // "8px"

Exports disponíveis

Path Para que serve
@request-labs/tokens Default (ESM) — árvore aninhada de todos os tokens. Tipos TypeScript incluídos.
@request-labs/tokens/css Ficheiro CSS com custom properties (--color-rose-500, etc.). Importa em CSS ou `<link>`.
@request-labs/tokens/tailwind Objecto pronto para `theme.extend` no `tailwind.config.js`. Formato CommonJS.
@request-labs/tokens/json Árvore em JSON puro. Útil para gerar documentação, scripts, introspection.

Versionamento

Semver. Breaking changes só em major.

  • Patch (0.0.X): correcções, ajustes de valores que não partem nada
  • Minor (0.X.0): tokens novos, sem remover nem renomear existentes
  • Major (X.0.0): remoções, renomeações, restruturação

Vê o package atual em npmjs.com/package/@request-labs/tokens.

Componentes

Os componentes (Button, Input, etc.) são copy/paste, não uma lib. Copia o código da página Componentes e mete no teu projecto. Cada equipa é dona do próprio código e adapta à sua stack. Os tokens garantem que ficam visualmente iguais em todos os produtos.