UNPKG

@navikt/ds-react

Version:

React components from the Norwegian Labour and Welfare Administration.

56 lines (55 loc) 1.82 kB
import React, { HTMLAttributes } from "react"; import { OverridableComponent } from "../util/types"; import { ChipsRemovableProps } from "./Removable"; import { ChipsToggleProps } from "./Toggle"; export 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: OverridableComponent<ChipsToggleProps, HTMLButtonElement>; /** * Remove filter or the likes on click. * @see 🏷️ {@link RemovableChipsProps} * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support */ Removable: OverridableComponent<ChipsRemovableProps, HTMLButtonElement>; } /** * 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;