UNPKG

@carbon/react

Version:

React components for the Carbon Design System

71 lines (69 loc) 3.42 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_index = require("../SkeletonText/index.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"); let _carbon_icons_react = require("@carbon/icons-react"); //#region src/components/Accordion/Accordion.Skeleton.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 AccordionSkeleton({ align = "end", className, count = 4, isFlush, open = true, ordered = false, ...rest }) { const prefix = require_usePrefix.usePrefix(); const classes = (0, classnames.default)(`${prefix}--accordion`, `${prefix}--skeleton`, className, { [`${prefix}--accordion--${align}`]: align, [`${prefix}--accordion--flush`]: isFlush && align !== "start" }); const numSkeletonItems = open ? count - 1 : count; return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(ordered ? "ol" : "ul", { className: classes, ...rest, children: [open && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("li", { className: `${prefix}--accordion__item ${prefix}--accordion__item--active`, children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", { className: `${prefix}--accordion__heading`, children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_carbon_icons_react.ChevronRight, { className: `${prefix}--accordion__arrow` }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, { className: `${prefix}--accordion__title` })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { className: `${prefix}--accordion__content`, children: [ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, { width: "90%" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, { width: "80%" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, { width: "95%" }) ] })] }), Array.from({ length: numSkeletonItems }).map((_, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AccordionSkeletonItem, {}, i))] }); } AccordionSkeleton.propTypes = { align: prop_types.default.oneOf(["start", "end"]), className: prop_types.default.string, count: prop_types.default.number, isFlush: prop_types.default.bool, open: prop_types.default.bool }; function AccordionSkeletonItem() { const prefix = require_usePrefix.usePrefix(); return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { className: `${prefix}--accordion__item`, children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", { className: `${prefix}--accordion__heading`, children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_carbon_icons_react.ChevronRight, { className: `${prefix}--accordion__arrow` }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index.default, { className: `${prefix}--accordion__title` })] }) }); } //#endregion exports.default = AccordionSkeleton;