UNPKG

@engie-group/fluid-design-system-react

Version:

Fluid Design System React

19 lines (16 loc) 1.29 kB
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 };