iFraldas Design System

iFraldas Design System mockup preview
Click to expand

Diretrizes de design dos projetos da iFraldas.com.br

Typography

h1Nunito · clamp(1.75rem, 5vw, 3rem) · Bold

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

h2Nunito · clamp(1.5rem, 4vw, 2.25rem) · Bold

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

h3Nunito · clamp(1.25rem, 3.5vw, 1.875rem) · Bold

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

h4Nunito · clamp(1rem, 2.5vw, 1.5rem) · Bold

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

h5Nunito · clamp(1rem, 2vw, 1.25rem) · Bold

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

h6Nunito · 1rem · Bold

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

basePoppins · 1rem · Regular

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

smPoppins · 0.875rem · Regular

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

xsPoppins · 0.75rem · Regular

Every letter tells a story worth reading, and every typeface gives that story a new voice waiting to be heard.

Diretrizes de design dos projetos da iFraldas.com.br

Components

Buttons

Inputs

Elevation & Depth

sm
md
lg
xl
Design Tokens

### Cores

#### Iris Blue (Primary)

iris-50: #e6f8f9

iris-100: #ccf0f2

iris-200: #b3e9eb

iris-300: #99e2e4

iris-400: #80dbdd

iris-600: #019296

iris-700: #016d71

iris-800: #01474a

iris-900: #002425

iris-default: #01b6bc

#### Blue Marguerite (Accent)

marguerite-50: #f0eef9

marguerite-100: #e2e1f6

marguerite-200: #d4d1f0

marguerite-300: #c6c3ea

marguerite-400: #b8b5e8

marguerite-600: #5953a8

marguerite-700: #3f3d7e

marguerite-800: #2c2a54

marguerite-900: #161428

marguerite-default: #6f69d2

#### Slate (Neutral Text/Borders)

slate-50: #ebebee

slate-100: #d7d7dd

slate-200: #c3c3ca

slate-300: #afafba

slate-400: #9a9ba9

slate-600: #2b2d42

slate-700: #201f31

slate-800: #161621

slate-900: #0b0b10

slate-default: #363853

#### Neutral (Backgrounds)

neutral-50: #fafbfc

neutral-100: #f7f8f9

neutral-200: #eff1f3

neutral-300: #eff1f3

neutral-400: #ebedf0

neutral-600: #adadb4

neutral-700: #828387

neutral-800: #565859

neutral-900: #2b2b2d

neutral-black: #000000

neutral-white: #ffffff

neutral-default: #d8dbe1

#### Error

error-50: #ffe9f0

error-100: #ffd7de

error-200: #ffc4cf

error-300: #ffb0bd

error-400: #ff9dac

error-600: #cc2e48

error-700: #992237

error-800: #661726

error-900: #330b13

error-default: #ff395b

#### Salmon Pink (Secondary)

salmon-50: #ffe8f6

salmon-100: #ffe8f6

salmon-200: #ffddee

salmon-300: #ffd1e6

salmon-400: #ffc6dd

salmon-600: #cc7081

salmon-700: #995561

salmon-800: #663a40

salmon-900: #331d20

salmon-default: #ff8da1

#### Yellow (Warnings)

yellow-50: #fffbf0

yellow-100: #fff6e1

yellow-200: #fff0ca

yellow-300: #ffeab3

yellow-400: #ffe49c

yellow-500: #efb100

yellow-600: #b88600

yellow-700: #805c00

yellow-800: #483700

yellow-900: #241b00

### Tipografia

#### Font Families

Poppins: Body text, labels, UI elements

Nunito: Headings, titles

Menlo: Code, technical content

#### Headings (com responsividade fluida - clamp)

h1: clamp(1.75rem, 5vw, 3rem) | Nunito Bold | Line-height: 1.1

h2: clamp(1.5rem, 4vw, 2.25rem) | Nunito Bold | Line-height: 1.1

h3: clamp(1.25rem, 3.5vw, 1.875rem) | Nunito Bold | Line-height: 1.1

h4: clamp(1rem, 2.5vw, 1.5rem) | Nunito Bold | Line-height: 1.1

h5: clamp(1rem, 2vw, 1.25rem) | Nunito Bold | Line-height: 1.1

h6: 1rem | Nunito Bold | Line-height: 1.1

#### Body Text

base: 1rem | Poppins Regular | Line-height: 1.5

sm: 0.875rem | Poppins Regular | Line-height: 1.5

xs: 0.75rem | Poppins Regular | Line-height: 1.5

### Espaçamento

0: 0px

0.5: 2px

1: 4px

2: 8px

3: 12px

4: 16px (padrão)

6: 24px

8: 32px

12: 48px

### Border Radius

xsm: 4px

sm: 8px

md: 12px

lg: 16px

xl: 24px

full: 9999px (círculo/pill)

### Border Width

xm: 1px (padrão)

### Sombras

sm: 0 1px 2px rgba(0, 0, 0, 0.05)

md: 0 4px 6px rgba(0, 0, 0, 0.1)

lg: 0 10px 15px rgba(0, 0, 0, 0.15)

xl: 0 20px 25px rgba(0, 0, 0, 0.2)

### Estados

#### Default

Cor base sem alterações

Sem sombra ou shadow-sm

#### Hover

Cor escurecida (usar tons /600 ou /700)

shadow-md

Cursor pointer

Transição: 200ms ease

#### Focus

Outline: 2px solid iris

Outline offset: 2px

Shadow: shadow-md

Para acessibilidade

#### Active

Cor ainda mais escura (/700, /800)

Shadow: shadow-sm

Sem transição (feedback imediato)

#### Disabled

Cor: slate-50 (fundo) + slate-400 (texto)

Opacity: 0.6

Cursor: not-allowed

Sem hover/focus effects

---

Componentes

### Button (UButton)

Variantes:

6 tipos × 2 tamanhos × 3 estados = 36 variantes

Tipos:

Default (sólido iris-blue)

Outline (borda iris-blue)

Transparent (sem borda)

IconSolid (apenas ícone com fundo)

IconOutline (apenas ícone com borda)

IconTransparent (apenas ícone)

Tamanhos:

MD: 16px Poppins Bold | Padding: 16px 12px

SM: 14px Poppins Bold | Padding: 8px 12px

Estados:

Default, Hover, Disable

### Input / Text Field

Tamanhos:

SM: 32px height | 14px font | 8px 12px padding

MD: 40px height | 16px font | 12px 16px padding

Estados:

Default: border slate-300 | bg white

Hover: border slate-400 | shadow-sm

Focus: border iris | outline iris | shadow-md

Filled: border slate-300 | bg white | texto escuro

Disabled: border slate-100 | bg slate-50 | cursor not-allowed

Error: border error | bg error-50 | helper text error

Propriedades:

Font: Poppins Regular

Border Radius: 9999px (full)

Transition: 200ms ease

### Checkbox

Tamanho: 20×20px

Estados:

Unchecked default: border slate-300 | bg white

Unchecked hover: border slate-400 | shadow-sm

Checked: bg iris | border iris

Checked hover: bg iris-600 | shadow-sm

Disabled: opacity 0.6 | cursor not-allowed

Focus: outline iris | outline-offset 2px

Propriedades:

Border Radius: 4px (xsm)

Transition: 200ms ease

Icon: checkmark white

### Select / Dropdown

Tamanhos:

SM: 32px height | 14px font

MD: 40px height | 16px font

Estados:

Default (closed): border slate-300 | placeholder slate-400

Hover: border slate-400 | shadow-sm

Focus: border iris | outline iris | shadow-md

Open: border iris | menu shadow-lg

Disabled: cursor not-allowed | opacity 0.6

Menu Options:

Default: bg white | padding 12px 16px

Hover: bg iris-50 | border-left 3px iris

Selected: bg iris-100 | border-left iris

Disabled: bg slate-50 | cursor not-allowed

Propriedades:

Font: Poppins Regular

Border Radius: 9999px (full)

Menu border-radius: 8px (sm)

### Toggle / Switch

Dimensões:

Width: 48px | Height: 24px

Toggle circle: 20px

Estados:

OFF: bg slate-300 | circle white (left)

OFF hover: bg slate-400 | shadow-sm

ON: bg iris | circle white (right)

ON hover: bg iris-600 | shadow-sm

Disabled: opacity 0.6 | cursor not-allowed

Propriedades:

Border Radius: 9999px (full)

Transition: 200ms ease

Animation: circle desliza suavemente

### Badge

Tamanhos:

SM: 20px height | 12px font | 4px 8px padding

MD: 24px height | 14px font | 6px 12px padding

Variantes (por cor/contexto):

Primary: bg iris | text white

Success: bg #22c55e | text white

Warning: bg yellow-500 | text slate-default

Error: bg error-default | text white

Neutral: bg slate-300 | text white

Outline: border + transparent bg

Propriedades:

Font: Poppins Bold

Border Radius: 4px (xsm)

Display: inline-block

### Alert / Toast

Tipos:

Alert: fixo na página

Toast: flutuante (bottom-right, top-right, etc)

Variantes:

Success: bg #f0fdf4 | border-left #22c55e

Error: bg error-50 | border-left error-default

Warning: bg #fffbef | border-left yellow-500

Info: bg iris-50 | border-left iris

Estrutura:

Icon (24×24px) | Title (14px Bold) | Close button

Description: 14px Regular

Propriedades:

Border Radius: 8px (sm)

Auto-dismiss: 4-6 segundos (Toast)

Z-index: 50 (Alert) | 100 (Toast)

### Progress Bar

Tamanhos:

SM: 4px height

MD: 8px height

LG: 12px height

Estrutura:

Background container: slate-200

Progress bar: iris (dinâmico 0-100%)

Variantes:

Default: bg container slate-200 | progress iris

Success: progress #22c55e

Warning: progress yellow-500

Error: bg error-100 | progress error-default

Propriedades:

Border Radius: 9999px (full)

Transition: 300ms ease

Label: 12px Poppins Regular

### Spinner / Loading

Tamanhos:

SM: 24×24px

MD: 40×40px

LG: 56×56px

Estilos:

Circular rotating spinner

Border background: slate-200

Progress arc: iris

Variantes:

Primary: iris

White: white

Secondary: salmon

Success: #22c55e

Propriedades:

Border Radius: 50% (círculo)

Animation: 1.4s linear infinite

Direction: clockwise

### Card - How It Works

Dimensões:

Width: responsivo (grid auto-fit, min 280px)

Padding: 16px

Border Radius: 16px (lg)

Border: 1px solid iris-100

Shadow: shadow-md

Estrutura:

Card Header: Imagem (48×86px) + Título (h3)

Card Body: Descrição (text-base)

Card CTA: UButton transparent (opcional)

Propriedades:

Background: white

Gap entre sections: 16px

Layout: responsivo com CSS Grid

```css

grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))

gap: 16px

```

### Card - Testimonials

Dimensões:

Width: responsivo (grid auto-fit, min 280px)

Padding: 16px

Border Radius: 16px (lg)

Border: 1px solid iris-100

Shadow: shadow-md

Estrutura:

Card Header: 5 stars + quote icon

Card Body: Testimonial text (text-base)

Divider: 1px slate-200

Profile: Avatar (56×56px) + name (h5) + role (text-xm salmon)

Propriedades:

Background: white

Gap: 16px entre sections

Layout: responsivo (grid auto-fit)

### Accordion / FAQ Items

Dimensões:

Width: 473px (responsivo 100%)

Padding: 16px

Border Radius: 12px (xl)

Border: 1px solid iris-200

Shadow: shadow-sm

Estados:

Closed default: bg white | border iris-200 | height 56px

Closed hover: bg iris-50 | border iris-300 | shadow-sm

Open: bg white | border iris-300 | height auto

Estrutura:

Header: Title (text-base) + Icon chevron

Body (quando aberto): Content (text-base slate-600)

Animação:

Icon rotation: 0° → 180°

Expand: 300ms ease-out

Slide-down: 200ms ease-out

Propriedades:

Font: Poppins Regular

Transition: 300ms ease

Icon size: 16×16px

---

Grid & Breakpoints

### Tailwind CSS Standard Breakpoints

sm: 640px

md: 768px

lg: 1024px

xl: 1280px

2xl: 1536px

### Mobile-First Approach

Default styles: mobile (375px)

Responsive adjustments via Tailwind breakpoints

---

Implementação

Este design system foi desenvolvido para ser implementado com Tailwind CSS v4 seguindo a configuração em tailwind.config.js.

Todos os componentes utilizam os design tokens definidos acima e seguem o padrão de estados (default, hover, focus, active, disabled).

Para componentes responsivos (Cards, etc), utilize a abordagem CSS Grid com repeat(auto-fit, minmax(...)) para garantir fluidez em todos os tamanhos de tela.

Download .md

License MIT
Uploaded 3 weeks ago
Version v1
File size 10.1 KB
Downloads 59
Copies 9

Use with MCP

Using designmd mcp, download the design system https://designmd.ai/nogueirajf/ifraldas-design-system and implement it in my code

Don't have the MCP? Install it here