@gravity-ui/uikit
Version:
Gravity UI base styling and components
21 lines (20 loc) • 1.36 kB
JavaScript
'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