Fundação
Componentes
- Componentes
- Accordion
- ActivityGraph
- Alert
- Alert Dialog
- Aspect Ratio
- Avatar
- AvatarGroup
- Badge
- Box
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Connector
- Container
- Context Menu
- Dialog
- Drawer
- DropdownMenu
- Empty
- EnvEditor
- Fade In
- Field
- Fps
- Hover Card
- Highlighter
- Input
- InputGroup
- Input OTP
- Item
- JSONViewer
- Kbd
- Label
- Marquee
- Menubar
- Native Select
- Navigation Menu
- NumberInput
- Pagination
- Popover
- Preview Card
- Progress
- ProgressiveBlur
- Radio Group
- Resizable
- Retro Grid
- Scan Line
- ScrollArea
- Scrubber
- SectionLabel
- Select
- Separator
- Sheet
- Signature
- Sidebar
- Skeleton
- Slider
- Sonner
- Spinner
- Stagger Group
- StatusDot
- SystemBanner
- Switch
- Table
- Tabs
- TagInput
- Textarea
- ThemeToogle
- Toggle
- Toggle Group
- Tooltip
- Typing Effect
Assinatura vectorial gerada a partir de uma fonte OpenType (opentype.js): traço animado com pathLength, máscara de revelação e preenchimento. Por defeito tenta carregar LastoriaBoldRegular.otf a partir de /LastoriaBoldRegular.otf (coloca o ficheiro em public na app Next), caminhos relativos ou URL pública; podes forçar com fontUrl.
Respeita prefers-reduced-motion (assinatura sem animação longa). O componente está em @zexon/ui/components/signature e usa motion/react.
Importação
import {
Signature,
type SignatureProps,
} from "@zexon/ui/components/signature";
Uso
Exemplo
Só animar em vista
Com inView
Props
| Prop | Tipo | Predefinição | Notas |
|---|---|---|---|
text | string | "Signature" | Conteúdo textual desenhado como traço |
color | string | currentColor | Cor do traço e do preenchimento |
fontSize | number | 32 | Escala dos glifos em px |
duration | number | 1.5 | Duração da animação por segmento (s) |
delay | number | 0 | Atraso inicial (s) |
inView | boolean | false | Se true, anima ao entrar na vista |
once | boolean | true | Com inView: anima só uma vez |
fontUrl | string | — | URL da fonte; se omitido, usa lista de caminhos predefinidos |
Demais props repassam-se ao motion.svg (className, style, etc.).