Saltar al contenido
El Muestrario

componente · @solu30/ui-kit/navigation

ViewModeToggle

Par de botones de ícono para alternar la vista de un listado entre grilla y lista.

Seguir leyendo — 3 párrafos más

Icon-button group for switching between view modes (e.g. grid vs list).

Generic over the mode string — by default works for 'grid' | 'list' but accepts any string union via the options prop.

Uses design tokens:

  • Active: bg-ui-accent text-ui-content-inverse
  • Inactive: bg-ui-bg-subtle text-ui-content-muted hover:bg-ui-bg-raised

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

  • TheCharterPanel
  • cmp-packages
  • dietaly
  • luigi

El componente, montado

Cargando el espécimen…

Cómo se usa

import { ViewModeToggle } from '@solu30/ui-kit/navigation'

Props

5 props declaradas en los tipos de la versión instalada.
PropRequeridaTipoQué hace
valuesíTCurrent active mode
onChangesí(mode: T) => voidCalled when the user selects a different mode
optionsopcionalViewModeOption<T>[]Options to render (defaults to grid + list if omitted)
ariaLabelopcionalstringAccessible group label
classNameopcionalstringAdditional CSS class

Ejemplo del paquete

import { LayoutGrid, LayoutList } from 'lucide-react'

<ViewModeToggle
  value={viewMode}
  onChange={setViewMode}
  options={[
    { value: 'grid', icon: <LayoutGrid className="h-4 w-4" />, title: 'Vista cuadrícula' },
    { value: 'list', icon: <LayoutList className="h-4 w-4" />, title: 'Vista lista' },
  ]}
/>

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.