Files
fn_registry/frontend/functions/ui/chip.md
T
egutierrez 2d108c295a refactor: migrate frontend from shadcn/Tailwind to Mantine v9
Reescribe todos los componentes UI para usar Mantine v9 en lugar de shadcn/Tailwind.
Elimina cn(), CVA, components.json, theme_provider custom y globals.css con Tailwind.
Añade 25+ componentes nuevos (AppShell, AuthForm, DatePickerInput, Dropzone, etc.)
y MantineProvider como wrapper estándar del sistema de temas.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:46:44 +02:00

2.6 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, output, tested, tests, test_file_path, file_path, props, emits, has_state, framework, variant
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports output tested tests test_file_path file_path props emits has_state framework variant
chip component ts ui 1.0.0 impure Chip(props: ChipProps): JSX.Element Chip seleccionable con variantes filled/outline/light. ChipGroup para selección simple o múltiple. Wrapper sobre Mantine Chip.
chip
toggle
selection
component
ui
mantine
false
@mantine/core
Componente Chip que renderiza un elemento seleccionable tipo badge, con ChipGroup para gestionar selección simple o múltiple entre varios chips false
frontend/functions/ui/chip.tsx
name type required description
checked boolean false Estado seleccionado del chip (controlled)
name type required description
onChange (checked: boolean) => void false Callback al cambiar el estado del chip
name type required description
variant 'filled' | 'outline' | 'light' false Estilo visual del chip
name type required description
color string false Color del chip cuando está seleccionado
name type required description
size 'xs' | 'sm' | 'md' | 'lg' | 'xl' false Tamaño del chip
name type required description
children React.ReactNode true Contenido del chip — texto o elemento
onChange
true react
filled
outline
light

Ejemplo

import { Chip, ChipGroup } from '@fn_library'

// Chip individual controlado
<Chip checked={active} onChange={setActive}>
  Activo
</Chip>

// ChipGroup selección simple (una sola opción)
<ChipGroup value={selected} onChange={setSelected}>
  <Chip value="react">React</Chip>
  <Chip value="vue">Vue</Chip>
  <Chip value="svelte">Svelte</Chip>
</ChipGroup>

// ChipGroup selección múltiple
<ChipGroup multiple value={tags} onChange={setTags}>
  <Chip value="frontend">Frontend</Chip>
  <Chip value="backend">Backend</Chip>
  <Chip value="devops">DevOps</Chip>
</ChipGroup>

// Con variante y color custom
<Chip variant="outline" color="teal" size="lg">
  Destacado
</Chip>

Notas

  • Wrapper directo sobre Chip de @mantine/core v9. Todas las props de Mantine Chip son válidas.
  • ChipGroup es un alias de MantineChip.Group — gestiona el estado de selección entre chips hijos.
  • En ChipGroup sin multiple, value es string. Con multiple, value es string[].
  • Internamente cada Chip renderiza un checkbox/radio accesible oculto con label visual.