UNPKG

@carbon/react

Version:

React components for the Carbon Design System

57 lines (55 loc) 2 kB
/** * Copyright IBM Corp. 2016, 2026 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ const require_runtime = require("../../_virtual/_rolldown/runtime.js"); const require_usePrefix = require("../../internal/usePrefix.js"); const require_AccordionProvider = require("./AccordionProvider.js"); let classnames = require("classnames"); classnames = require_runtime.__toESM(classnames); let react = require("react"); react = require_runtime.__toESM(react); let prop_types = require("prop-types"); prop_types = require_runtime.__toESM(prop_types); let react_jsx_runtime = require("react/jsx-runtime"); //#region src/components/Accordion/Accordion.tsx /** * Copyright IBM Corp. 2016, 2023 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ function Accordion({ align = "end", children, className: customClassName, disabled = false, isFlush = false, ordered = false, size, ...rest }) { const prefix = require_usePrefix.usePrefix(); const className = (0, classnames.default)(`${prefix}--accordion`, customClassName, { [`${prefix}--accordion--${align}`]: align, [`${prefix}--accordion--${size}`]: size, [`${prefix}--layout--size-${size}`]: size, [`${prefix}--accordion--flush`]: isFlush && align !== "start" }); return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_AccordionProvider.AccordionProvider, { disabled, children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ordered ? "ol" : "ul", { className, ...rest, children }) }); } Accordion.propTypes = { align: prop_types.default.oneOf(["start", "end"]), children: prop_types.default.node, className: prop_types.default.string, disabled: prop_types.default.bool, isFlush: prop_types.default.bool, ordered: prop_types.default.bool, size: prop_types.default.oneOf([ "sm", "md", "lg" ]) }; //#endregion exports.default = Accordion;