@engie-group/fluid-design-system-react
Version:
Fluid Design System React
19 lines (16 loc) • 1.29 kB
JavaScript
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
import React__default, { useContext } from 'react';
import { Utils } from '../../utils/util.js';
import { NJIcon } from '../icon/NJIcon.js';
import { NJAccordionContext } from './NJAccordionContext.js';
const NJAccordionItemHeader = React__default.forwardRef(({ children, ...props }, forwardedRef) => {
const { hasAlternativeToggleIcon, customIcon } = useContext(NJAccordionContext);
const newIcon = React__default.isValidElement(customIcon)
? React__default.cloneElement(customIcon, {
className: Utils.classNames(customIcon.props.className, 'nj-accordion-item__icon')
})
: null;
return (jsxs("summary", { ...props, ref: forwardedRef, children: [newIcon, jsx("span", { className: "nj-accordion-item__label", children: children }), hasAlternativeToggleIcon ? (jsxs(Fragment, { children: [jsx(NJIcon, { name: "add", className: "nj-accordion-item__toggle nj-accordion-item__toggle--closed" }), jsx(NJIcon, { name: "remove", className: "nj-accordion-item__toggle nj-accordion-item__toggle--opened" })] })) : (jsx(NJIcon, { name: "expand_more", className: "nj-accordion-item__toggle" }))] }));
});
NJAccordionItemHeader.displayName = 'NJAccordionItemHeader';
export { NJAccordionItemHeader };