@navikt/ds-react
Version:
React components from the Norwegian Labour and Welfare Administration.
57 lines (56 loc) • 1.85 kB
TypeScript
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 };