UNPKG

@navikt/ds-react

Version:

React components from the Norwegian Labour and Welfare Administration.

57 lines (56 loc) 1.85 kB
import React, { HTMLAttributes } from "react"; import RemovableChips, { ChipsRemovableProps } from "./Removable"; import ToggleChips, { ChipsToggleProps } from "./Toggle"; interface ChipsProps extends HTMLAttributes<HTMLUListElement> { children: React.ReactNode; /** * Changes padding and font-sizes. * @default "medium" */ size?: "medium" | "small"; } interface ChipsComponent extends React.ForwardRefExoticComponent<ChipsProps & React.RefAttributes<HTMLUListElement>> { /** * Toggle between selected-states. * @see 🏷️ {@link ToggleChipsProps} * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support */ Toggle: typeof ToggleChips; /** * Remove filter or the likes on click. * @see 🏷️ {@link RemovableChipsProps} * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support */ Removable: typeof RemovableChips; } /** * A component that displays a list of items as chips. * * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/chips) * @see 🏷️ {@link ChipsProps} * * @example * ```jsx * <Chips size="small"> * {options.map((c) => ( * <Chips.Toggle * selected={selected.includes(c)} * key={c} * onClick={() => * setSelected( * selected.includes(c) * ? selected.filter((x) => x !== c) * : [...selected, c] * ) * } * > * {c} * </Chips.Toggle> * ))} * </Chips> * ``` */ export declare const Chips: ChipsComponent; export default Chips; export { ToggleChips as ChipsToggle, RemovableChips as ChipsRemovable }; export type { ChipsProps, ChipsToggleProps, ChipsRemovableProps };