Saltar al contenido
El Muestrario

componente · @solu30/ui-kit/input

AccordionList

Lista de secciones plegables controlada desde afuera, con indicador de completitud por ítem.

Seguir leyendo — 2 párrafos más

Controlled accordion list with per-item completion indicators, smooth CSS grid-rows animation, and optional dim-inactive behavior.

Uses CSS variables for theming:

  • --ui-bg-raised for item background
  • --ui-border for borders
  • --ui-content-primary for title text
  • --ui-content-muted for subtitle/secondary text
  • --ui-accent for badge
  • --ui-success for completion dot (complete)
  • --ui-warning for completion dot (incomplete)

3 sitios de import en 3 de 15 verticales — un archivo que la importa cuenta una vez, monte una instancia o veinte.

  • carlosmartinpavon
  • gestorsalon
  • luigi

El componente, montado

Cargando el componente del paquete instalado…

Cómo se usa

import { AccordionList } from '@solu30/ui-kit/input'

Props

7 props declaradas en los tipos de la versión instalada.
PropRequeridaTipoQué hace
itemssíAccordionItem[]List of accordion item descriptors
openItemssíArray<string | number>Controlled: which items are currently open
onTogglesí(id: string | number) => voidCalled when a header is toggled
renderContentsí(item: AccordionItem) => React__default.ReactNodeRender function for each item's expanded content
emptyStateopcional{ icon?: React__default.ReactNode; title: string; subtitle?: string; }Fallback when items array is empty
dimInactiveopcionalbooleanDim non-active items when any item is open
classNameopcionalstringAdditional CSS class

Ejemplo del paquete

const [openItems, setOpenItems] = useState<string[]>([])

<AccordionList
  items={[
    { id: '1', title: 'Step 1', isComplete: true },
    { id: '2', title: 'Step 2', badge: 'Required' },
  ]}
  openItems={openItems}
  onToggle={(id) =>
    setOpenItems((prev) =>
      prev.includes(id) ? prev.filter((i) => i !== id) : [...prev, id]
    )
  }
  renderContent={(item) => <div>Content for {item.title}</div>}
/>

Del @example del JSDoc de @solu30/ui-kit, sin editar: son 65 de los 541 símbolos. La sangría y los renglones en blanco son los del paquete.