UNPKG

epn-ui

Version:

Дизайн система кабинета ВМ

33 lines (30 loc) 1.97 kB
import React from 'react'; import clsx from 'clsx'; import Collapse from 'antd/lib/collapse'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faChevronDown } from '@fortawesome/pro-light-svg-icons/faChevronDown'; var Panel = Collapse.Panel; var BaseCollapse = function (_a) { var items = _a.items, defaultActiveKey = _a.defaultActiveKey, _b = _a.expandFirstItem, expandFirstItem = _b === void 0 ? true : _b, expandIcon = _a.expandIcon, className = _a.className, style = _a.style, _c = _a.accordion, accordion = _c === void 0 ? false : _c, _d = _a.showArrow, showArrow = _d === void 0 ? true : _d, onChange = _a.onChange, ghost = _a.ghost; var emptyItems = !Array.isArray(items) || items.length === 0; var getDefaultActiveKey = function () { var _a; if (defaultActiveKey) return defaultActiveKey; if (!Array.isArray(items)) return undefined; if (expandFirstItem) return (_a = items[0]) === null || _a === void 0 ? void 0 : _a.key; return undefined; }; return (React.createElement(Collapse, { accordion: accordion, defaultActiveKey: getDefaultActiveKey(), className: clsx('epn-collapse', className), style: style, expandIconPosition: "end", expandIcon: expandIcon || (function (_a) { var isActive = _a.isActive; return (React.createElement(FontAwesomeIcon, { icon: faChevronDown, className: clsx('epn-collapse__icon', { 'epn-collapse__icon--active': isActive, }) })); }), bordered: false, onChange: onChange, ghost: ghost }, !emptyItems && items.map(function (item) { return (React.createElement(Panel, { showArrow: showArrow, header: item.title, key: item.key, className: clsx('epn-collapse__item') }, item.body)); }))); }; var BaseCollapse$1 = BaseCollapse; export { BaseCollapse, BaseCollapse$1 as default };