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