@kubit-ui-web/react-components
Version:
Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience
27 lines • 3.47 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SummaryDetailsStandAlone = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = __importDefault(require("react"));
const text_1 = require("../../components/text/text");
const component_1 = require("../../components/text/types/component");
const elementOrIcon_1 = require("../elementOrIcon/elementOrIcon");
const summaryDetails_styled_1 = require("./summaryDetails.styled");
const SummaryDetailsStandAloneComponent = ({ dataTestId = 'summary-details', rotateOpenIcon = '180deg', hasLineSeparator = true, ...props }, ref) => {
const leftIcon = props.open && props.leftOpenIcon ? props.leftOpenIcon : props.leftIcon;
const rightIcon = props.open && props.openIcon ? props.openIcon : props.icon;
const leftIconStyles = props.open ? props.styles.leftOpenIcon : props.styles.leftClosedIcon;
const rightIconStyles = props.open ? props.styles.rightOpenIcon : props.styles.rightClosedIcon;
const leftRotateOpen = props.leftOpenIcon ? '0deg' : rotateOpenIcon;
const rightRotateOpen = props.openIcon ? '0deg' : rotateOpenIcon;
return ((0, jsx_runtime_1.jsxs)(summaryDetails_styled_1.ContainerStyled, { ref: ref, "data-testid": dataTestId, open: props.open, styles: props.styles, onClick: props.onClick, children: [(0, jsx_runtime_1.jsxs)(summaryDetails_styled_1.HeaderStyled, { "$isOpen": props.open, "data-testid": `${dataTestId}-summary`, hasLineSeparator: hasLineSeparator, lineSeparatorLineStyles: props.lineSeparatorLineStyles, styles: props.styles, children: [(0, jsx_runtime_1.jsxs)(summaryDetails_styled_1.HeaderTitleIconStyled, { as: props.title.component, styles: props.styles, children: [leftIcon && ((0, jsx_runtime_1.jsx)(summaryDetails_styled_1.LeftIconWrapper, { styles: props.styles, children: (0, jsx_runtime_1.jsx)(elementOrIcon_1.ElementOrIcon, { customIconStyles: leftIconStyles, rotate: props.styles.leftIconContainer?.allowRotate && props.open
? leftRotateOpen
: '0deg', ...leftIcon }) })), (0, jsx_runtime_1.jsx)(summaryDetails_styled_1.TitleWrapper, { styles: props.styles, children: (0, jsx_runtime_1.jsx)(text_1.Text, { customTypography: props.styles.title, ...props.title, component: component_1.TextComponentType.SPAN, children: props.title.content }) }), rightIcon && ((0, jsx_runtime_1.jsx)(summaryDetails_styled_1.RightIconWrapper, { styles: props.styles, children: (0, jsx_runtime_1.jsx)(elementOrIcon_1.ElementOrIcon, { customIconStyles: rightIconStyles, rotate: props.styles.rightIconContainer?.allowRotate && props.open
? rightRotateOpen
: '0deg', ...rightIcon }) }))] }), (0, jsx_runtime_1.jsx)(text_1.Text, { component: component_1.TextComponentType.SPAN, customTypography: props.styles.description, ...props.description, children: props.description?.content })] }), (0, jsx_runtime_1.jsx)(summaryDetails_styled_1.BodyStyled, { "data-testid": `${dataTestId}-content`, styles: props.styles, onClick: props.onBodyClick, children: props.children })] }));
};
exports.SummaryDetailsStandAlone = react_1.default.forwardRef(SummaryDetailsStandAloneComponent);
//# sourceMappingURL=summaryDetailsStandAlone.js.map