{"version":3,"file":"MenuItem.cjs","sources":["../../../../src/components/menu/MenuItem.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport React, { forwardRef } from \"react\";\nimport type { PolymorphicRef } from \"../../utilities/polymorphism/polymorphism.js\";\nimport { ChevronRightIcon } from \"../icon/icons/ChevronRightIcon.js\";\nimport { OpenInNewIcon } from \"../icon/icons/OpenInNewIcon.js\";\nimport type { MenuItemProps } from \"./types.js\";\n\ntype MenuItemComponent = <ElementType extends React.ElementType = \"button\">(\n    props: MenuItemProps<ElementType>,\n) => React.ReactElement | null;\n\nexport const MenuItem = forwardRef(function MenuItem<\n    ElementType extends React.ElementType = \"button\",\n>(props: MenuItemProps<ElementType>, ref: PolymorphicRef<ElementType>) {\n    const {\n        as = \"button\",\n        className,\n        children,\n        icon,\n        expandable = false,\n        external = false,\n        ...rest\n    } = props;\n    const Component = as;\n    const type = Component === \"button\" ? \"button\" : undefined;\n\n    return (\n        <Component\n            ref={ref}\n            type={type}\n            role=\"menuitem\"\n            className={clsx(\"jkl-menu-item\", className)}\n            {...rest}\n        >\n            {icon && <span className=\"jkl-menu-item__icon\">{icon}</span>}\n            <div className=\"jkl-menu-item__content\">\n                {children}\n                {external && (\n                    <div className={\"jkl-menu-item__arrow\"}>\n                        <OpenInNewIcon />\n                    </div>\n                )}\n            </div>\n            {expandable && <ChevronRightIcon />}\n        </Component>\n    );\n}) as MenuItemComponent;\n"],"names":["MenuItem","forwardRef","props","ref","as","className","children","icon","expandable","external","rest","Component","type","jsxs","role","clsx","jsx","OpenInNewIcon","ChevronRightIcon"],"mappings":"6QAWaA,EAAWC,EAAAA,WAAW,SAEjCC,EAAmCC,GACjC,MACIC,GAAAA,EAAK,SACLC,UAAAA,EACAC,SAAAA,EACAC,KAAAA,EACAC,WAAAA,GAAa,EACbC,SAAAA,GAAW,KACRC,GACHR,EACES,EAAYP,EACZQ,EAAqB,WAAdD,EAAyB,cAAW,EAEjD,OACIE,EAAAA,KAACF,EAAA,CACGR,IAAAA,EACAS,KAAAA,EACAE,KAAK,WACLT,UAAWU,EAAAA,KAAK,gBAAiBV,MAC7BK,EAEHJ,SAAA,CAAAC,GAAQS,EAAAA,IAAC,OAAA,CAAKX,UAAU,sBAAuBC,SAAAC,IAChDM,EAAAA,KAAC,MAAA,CAAIR,UAAU,yBACVC,SAAA,CAAAA,EACAG,GACGO,EAAAA,IAAC,MAAA,CAAIX,UAAW,uBACZC,SAAAU,EAAAA,IAACC,yBAIZT,SAAeU,EAAAA,iBAAA,CAAA,KAG5B"}