Components

The component catalog

Core

6 components

Avatar

Circular user avatar with photo or initials fallback and optional presence dot.

MLCRATT
componentsnpm · @raandino/atelier-react
import { Avatar } from '@raandino/atelier-react';
stylesCSS · @raandino/atelier-tokens
@import '@raandino/atelier-tokens/tokens.css'; /* Avatar tokens: --success --danger --warning --neutral-400 --brand-subtle --brand-active */
skillprompt · truora-design
Using the truora-design skill, add Avatar — Circular user avatar with photo or initials fallback and optional presence dot.
Props 5
PropTypeRequired
namestring
srcstring | null
sizexssmmdlgxl
statusonlinebusyawayoffline
styleReact.CSSProperties

Badge

Pill-shaped status / category label; use for verification states, tags, and channel context.

NewVerifiedPendingRejectedInfoWhatsApp
componentsnpm · @raandino/atelier-react
import { Badge } from '@raandino/atelier-react';
stylesCSS · @raandino/atelier-tokens
@import '@raandino/atelier-tokens/tokens.css'; /* Badge tokens: --brand-subtle --brand-active --brand --surface-sunken --text-body --neutral-400 */
skillprompt · truora-design
Using the truora-design skill, add Badge — Pill-shaped status / category label.
Props 5
PropTypeRequired
childrenReact.ReactNode
tonebrandneutralsuccesswarningdangerinfowhatsapp
dotboolean
solidboolean
styleReact.CSSProperties

Button

Truora pill action button — sentence-case, verb-first labels; primary is Naranja (the brand's CTA color), violet for key brand elements, glass over photos/dark panels.

componentsnpm · @raandino/atelier-react
import { Button } from '@raandino/atelier-react';
stylesCSS · @raandino/atelier-tokens
@import '@raandino/atelier-tokens/tokens.css'; /* Button tokens: --cta --on-cta --brand --on-brand --midnight --on-midnight */
skillprompt · truora-design
Using the truora-design skill, add Button — Truora pill action button.
Props 10
PropTypeRequired
childrenReact.ReactNode
variantprimaryvioletmidnightsecondaryghostsubtleglasswhatsappinverse
sizesmmdlg
leftIconReact.ReactNode
rightIconReact.ReactNode
fullWidthboolean
disabledboolean
typebuttonsubmitreset
onClick(e: React.MouseEvent<HTMLButtonElement>) => void
styleReact.CSSProperties

Card

White surface container for grouped content — soft shadow, rounded, hairline border.

Card

Flat surface, subtle elevation.

Interactive

Lifts on hover.

componentsnpm · @raandino/atelier-react
import { Card } from '@raandino/atelier-react';
stylesCSS · @raandino/atelier-tokens
@import '@raandino/atelier-tokens/tokens.css'; /* Card tokens: --surface-card --border-subtle --radius-lg --shadow-lg --shadow-md --dur-base */
skillprompt · truora-design
Using the truora-design skill, add Card — White surface container for grouped content.
Props 5
PropTypeRequired
childrenReact.ReactNode
paddingsmmdlg
interactiveboolean
elevatedboolean
styleReact.CSSProperties

GlassCard

Truora's signature Glass Effect surface — use it for depth instead of gradients (which are forbidden). The signature look: tuck a violet brand shape partly BEHIND the pane so it blooms through the blur.

Glass Effect

Rectangular pane, soft blur — depth without gradients.

componentsnpm · @raandino/atelier-react
import { GlassCard } from '@raandino/atelier-react';
stylesCSS · @raandino/atelier-tokens
@import '@raandino/atelier-tokens/tokens.css'; /* GlassCard tokens: --glass-radius-sm --glass-radius --glass-radius-lg --glass-fill --glass-border --glass-highlight */
skillprompt · truora-design
Using the truora-design skill, add GlassCard — Truora's signature Glass Effect surface.
Props 5
PropTypeRequired
childrenReact.ReactNode
ondarkphotolight
paddingsmmdlg
radius'sm' | 'md' | 'lg' | number
styleReact.CSSProperties

IconButton

Square icon-only button for toolbars and dense controls.

componentsnpm · @raandino/atelier-react
import { IconButton } from '@raandino/atelier-react';
stylesCSS · @raandino/atelier-tokens
@import '@raandino/atelier-tokens/tokens.css'; /* IconButton tokens: --brand --on-brand --brand-hover --surface-card --brand-subtle --text-body */
skillprompt · truora-design
Using the truora-design skill, add IconButton — Square icon-only button for toolbars and dense controls.
Props 7
PropTypeRequired
childrenReact.ReactNode
labelstringyes
variantprimarysecondaryghostsubtle
sizesmmdlg
disabledboolean
onClick(e: React.MouseEvent<HTMLButtonElement>) => void
styleReact.CSSProperties

Forms

3 components

Checkbox

Checkbox with optional inline label; violet fill + white check when on.

componentsnpm · @raandino/atelier-react
import { Checkbox } from '@raandino/atelier-react';
stylesCSS · @raandino/atelier-tokens
@import '@raandino/atelier-tokens/tokens.css'; /* Checkbox tokens: --weight-medium --font-sans --text-body --radius-xs --brand --surface-card */
skillprompt · truora-design
Using the truora-design skill, add Checkbox — Checkbox with optional inline label.
Props 6
PropTypeRequired
checkedboolean
onChange(e: React.ChangeEvent<HTMLInputElement>) => void
labelReact.ReactNode
disabledboolean
idstring
styleReact.CSSProperties

Input

Labeled text field with helper/error text and optional adornments.

We'll send your access here
+57
Invalid number
componentsnpm · @raandino/atelier-react
import { Input } from '@raandino/atelier-react';
stylesCSS · @raandino/atelier-tokens
@import '@raandino/atelier-tokens/tokens.css'; /* Input tokens: --danger --brand --border-default --weight-medium --font-sans --text-strong */
skillprompt · truora-design
Using the truora-design skill, add Input — Labeled text field with helper/error text and optional adornments.
Props 12
PropTypeRequired
labelstring
hintstring
errorstring
leftAdornmentReact.ReactNode
rightAdornmentReact.ReactNode
idstring
valuestring
onChange(e: React.ChangeEvent<HTMLInputElement>) => void
placeholderstring
typestring
disabledboolean
styleReact.CSSProperties

Switch

On/off toggle for instant-apply settings; violet track + spring knob.

componentsnpm · @raandino/atelier-react
import { Switch } from '@raandino/atelier-react';
stylesCSS · @raandino/atelier-tokens
@import '@raandino/atelier-tokens/tokens.css'; /* Switch tokens: --weight-medium --font-sans --text-body --radius-pill --brand --neutral-300 */
skillprompt · truora-design
Using the truora-design skill, add Switch — On/off toggle for instant-apply settings.
Props 7
PropTypeRequired
checkedboolean
onChange(e: React.ChangeEvent<HTMLInputElement>) => void
labelReact.ReactNode
sizesmmd
disabledboolean
idstring
styleReact.CSSProperties

Brand

2 components

BrandShape

Brand graphic shapes ("ADN en formas") — isotype curves used as compositional elements; frame photos, build rhythm, decorate panels.

componentsnpm · @raandino/atelier-react
import { BrandShape } from '@raandino/atelier-react';
stylesCSS · @raandino/atelier-tokens
@import '@raandino/atelier-tokens/tokens.css'; /* BrandShape tokens: --brand --neutral-25 */
skillprompt · truora-design
Using the truora-design skill, add BrandShape — Brand graphic shapes ("ADN en formas").
Props 5
PropTypeRequired
shapefinleafbodycheckflowercrescentseedcircleojo
colorstring
accentstring
sizenumber
styleReact.CSSProperties

ProductIcon

Truora product icons built from the logo's curves — identity validation, background checks, customer engagement, e-signature.

componentsnpm · @raandino/atelier-react
import { ProductIcon } from '@raandino/atelier-react';
stylesCSS · @raandino/atelier-tokens
@import '@raandino/atelier-tokens/tokens.css'; /* ProductIcon tokens: --brand */
skillprompt · truora-design
Using the truora-design skill, add ProductIcon — Truora product icons built from the logo's curves.
Props 7
PropTypeRequired
nameidentidadverificacionengagementfirma
sizenumber
colorstring
accentstring
badgeboolean
badgeColorstring
styleReact.CSSProperties