@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
42 lines (41 loc) • 1.5 kB
JavaScript
"use client";
import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
import { factory } from "../../../core/factory/factory.mjs";
import { Collapse } from "../../Collapse/Collapse.mjs";
import { useAccordionContext } from "../Accordion.context.mjs";
import { useAccordionItemContext } from "../AccordionItem.context.mjs";
import Accordion_module_default from "../Accordion.module.mjs";
import { jsx } from "react/jsx-runtime";
//#region packages/@mantine/core/src/components/Accordion/AccordionPanel/AccordionPanel.tsx
const AccordionPanel = factory((props) => {
const { classNames, className, style, styles, vars, children, keepMounted, ...others } = useProps("AccordionPanel", null, props);
const { value } = useAccordionItemContext();
const ctx = useAccordionContext();
return /* @__PURE__ */ jsx(Collapse, {
...ctx.getStyles("panel", {
className,
classNames,
style,
styles
}),
expanded: ctx.isItemActive(value),
transitionDuration: ctx.transitionDuration ?? 200,
role: "region",
id: ctx.getRegionId(value),
"aria-labelledby": ctx.getControlId(value),
keepMounted: keepMounted ?? ctx.keepMounted,
...others,
children: /* @__PURE__ */ jsx("div", {
...ctx.getStyles("content", {
classNames,
styles
}),
children
})
});
});
AccordionPanel.displayName = "@mantine/core/AccordionPanel";
AccordionPanel.classes = Accordion_module_default;
//#endregion
export { AccordionPanel };
//# sourceMappingURL=AccordionPanel.mjs.map