UNPKG

@gravity-ui/uikit

Version:

Gravity UI base styling and components

21 lines (20 loc) 1.36 kB
'use client'; import { jsx as _jsx } from "react/jsx-runtime"; import * as React from 'react'; import { useDefaultProps } from "../theme/useDefaultProps.js"; import { AccordionProvider } from "./AccordionContext.js"; import { AccordionItem } from "./AccordionItem/AccordionItem.js"; import { AccordionSummary } from "./AccordionSummary/AccordionSummary.js"; import { accordionBlock } from "./constants.js"; import i18n from "./i18n/index.js"; import "./Accordion.css"; export const Accordion = React.forwardRef(function Accordion(rawProps, ref) { const props = useDefaultProps('Accordion', rawProps); const { t } = i18n.useTranslation(); const { size = 'm', view = 'solid', multiple = false, className, arrowPosition = 'end', qa, defaultValue, onUpdate = () => { }, children, ariaLevel = 3, value, ariaLabel = t('label'), } = props; return (_jsx(AccordionProvider, { size: size, view: view, multiple: multiple, arrowPosition: arrowPosition, onUpdate: onUpdate, defaultValue: defaultValue, value: value, ariaLevel: ariaLevel, children: _jsx("div", { className: accordionBlock({ size, view }, className), "data-qa": qa, ref: ref, role: "region", "aria-label": ariaLabel, children: children }) })); }); Accordion.Item = AccordionItem; Accordion.Summary = AccordionSummary; Accordion.displayName = 'Accordion'; //# sourceMappingURL=Accordion.js.map