UNPKG

@navikt/ds-react

Version:

React components from the Norwegian Labour and Welfare Administration.

53 lines 2.16 kB
var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; import React, { forwardRef } from "react"; import { useRenameCSS } from "../theme/Theme.js"; import AccordionContent from "./AccordionContent.js"; import { AccordionContext } from "./AccordionContext.js"; import AccordionHeader from "./AccordionHeader.js"; import AccordionItem from "./AccordionItem.js"; /** * A component that displays collapsible content sections. * * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/accordion) * @see 🏷️ {@link AccordionProps} * * @example * ```jsx * <Accordion> * <Accordion.Item> * <Accordion.Header>Section 1</Accordion.Header> * <Accordion.Content>Content 1</Accordion.Content> * </Accordion.Item> * <Accordion.Item> * <Accordion.Header>Section 2</Accordion.Header> * <Accordion.Content>Content 2</Accordion.Content> * </Accordion.Item> * </Accordion> * ``` */ export const Accordion = forwardRef((_a, ref) => { var { className, variant = "default", headingSize = "small", size = "medium", indent = true } = _a, rest = __rest(_a, ["className", "variant", "headingSize", "size", "indent"]); const { cn } = useRenameCSS(); return (React.createElement(AccordionContext.Provider, { value: { variant, headingSize, size, mounted: true, } }, React.createElement("div", Object.assign({}, rest, { className: cn("navds-accordion", className, `navds-accordion--${size}`, { "navds-accordion--indent": indent }), ref: ref })))); }); Accordion.Header = AccordionHeader; Accordion.Content = AccordionContent; Accordion.Item = AccordionItem; export default Accordion; //# sourceMappingURL=Accordion.js.map