{"version":3,"file":"NavGroup.mjs","sources":["../../../../src/components/NavGroup/NavGroup.tsx"],"sourcesContent":["'use client'\nimport { forwardRef } from 'react'\nimport * as React from 'react'\n\nimport {\n  ChevronSmallDownIcon,\n  ChevronSmallRightIcon,\n} from '@channel.io/bezier-icons'\nimport classNames from 'classnames'\n\nimport { isNil } from '~/src/utils/type'\n\nimport { BaseButton } from '~/src/components/BaseButton'\nimport { Icon } from '~/src/components/Icon'\nimport { Text } from '~/src/components/Text'\n\n// eslint-disable-next-line no-restricted-imports\nimport commonStyles from '../NavItem/NavItem.module.scss'\n\nimport type { NavGroupProps } from './NavGroup.types'\n\nimport styles from './NavGroup.module.scss'\n\n/**\n * @deprecated\n */\nconst NAV_GROUP_TEST_ID = 'bezier-nav-group'\n\n/**\n * @deprecated\n */\nconst NAV_GROUP_LEFT_ICON_TEST_ID = 'bezier-nav-group-left-icon'\n\nexport const NavGroup = forwardRef<HTMLButtonElement, NavGroupProps>(\n  function NavGroup(\n    {\n      name,\n      className,\n      children,\n      content,\n      rightContent,\n      leftContent,\n      open,\n      active,\n      onClick,\n      ...rest\n    },\n    forwardedRef\n  ) {\n    const handleClickItem = (e?: React.MouseEvent) => {\n      onClick?.(e, name)\n    }\n\n    const hasChildren = !isNil(children)\n    const chevronIconSource = open\n      ? ChevronSmallDownIcon\n      : ChevronSmallRightIcon\n    const ariaName = `${name}Menu`\n\n    return (\n      <li\n        className={commonStyles.Wrapper}\n        role=\"none\"\n      >\n        <BaseButton\n          ref={forwardedRef}\n          className={classNames(\n            commonStyles.Item,\n            active && commonStyles.active,\n            className\n          )}\n          role=\"menuitem\"\n          aria-haspopup={hasChildren}\n          aria-expanded={open}\n          aria-controls={ariaName}\n          onClick={handleClickItem}\n          data-testid={NAV_GROUP_TEST_ID}\n          {...rest}\n        >\n          <div className={commonStyles.LeftIconWrapper}>\n            <Icon\n              source={leftContent}\n              size=\"s\"\n              color={active ? 'text-accent-blue' : 'text-neutral-lighter'}\n              data-testid={NAV_GROUP_LEFT_ICON_TEST_ID}\n            />\n          </div>\n\n          <Text\n            typo=\"14\"\n            truncated\n          >\n            {content}\n          </Text>\n\n          {hasChildren && (\n            <div className={styles.ChevronWrapper}>\n              <Icon\n                source={chevronIconSource}\n                size=\"s\"\n                color=\"text-neutral-lighter\"\n              />\n            </div>\n          )}\n\n          {rightContent && (\n            <div className={commonStyles.RightContentWrapper}>\n              {rightContent}\n            </div>\n          )}\n        </BaseButton>\n\n        {open && (\n          <ul\n            className={styles.ChildrenWrapper}\n            role=\"menu\"\n            id={ariaName}\n          >\n            {open && children}\n          </ul>\n        )}\n      </li>\n    )\n  }\n)\n"],"names":["NAV_GROUP_TEST_ID","NAV_GROUP_LEFT_ICON_TEST_ID","NavGroup","forwardRef","name","className","children","content","rightContent","leftContent","open","active","onClick","rest","forwardedRef","handleClickItem","e","hasChildren","isNil","chevronIconSource","ChevronSmallDownIcon","ChevronSmallRightIcon","ariaName","_jsxs","commonStyles","Wrapper","role","BaseButton","ref","classNames","Item","_jsx","LeftIconWrapper","Icon","source","size","color","Text","typo","truncated","styles","ChevronWrapper","RightContentWrapper","ChildrenWrapper","id"],"mappings":";;;;;;;;;;;AA0BA,MAAMA,iBAAiB,GAAG,kBAAkB;;AAE5C;AACA;AACA;AACA,MAAMC,2BAA2B,GAAG,4BAA4B;MAEnDC,QAAQ,gBAAGC,UAAU,CAChC,SAASD,QAAQA,CACf;EACEE,IAAI;EACJC,SAAS;EACTC,QAAQ;EACRC,OAAO;EACPC,YAAY;EACZC,WAAW;EACXC,IAAI;EACJC,MAAM;EACNC,OAAO;EACP,GAAGC;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAMC,eAAe,GAAIC,CAAoB,IAAK;IAChDJ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,IAAAA,OAAO,CAAGI,CAAC,EAAEZ,IAAI,CAAC;GACnB;AAED,EAAA,MAAMa,WAAW,GAAG,CAACC,KAAK,CAACZ,QAAQ,CAAC;AACpC,EAAA,MAAMa,iBAAiB,GAAGT,IAAI,GAC1BU,oBAAoB,GACpBC,qBAAqB;AACzB,EAAA,MAAMC,QAAQ,GAAG,CAAGlB,EAAAA,IAAI,CAAM,IAAA,CAAA;AAE9B,EAAA,oBACEmB,IAAA,CAAA,IAAA,EAAA;IACElB,SAAS,EAAEmB,MAAY,CAACC,OAAQ;AAChCC,IAAAA,IAAI,EAAC,MAAM;IAAApB,QAAA,EAAA,cAEXiB,IAAA,CAACI,UAAU,EAAA;AACTC,MAAAA,GAAG,EAAEd,YAAa;AAClBT,MAAAA,SAAS,EAAEwB,UAAU,CACnBL,MAAY,CAACM,IAAI,EACjBnB,MAAM,IAAIa,MAAY,CAACb,MAAM,EAC7BN,SACF,CAAE;AACFqB,MAAAA,IAAI,EAAC,UAAU;AACf,MAAA,eAAA,EAAeT,WAAY;AAC3B,MAAA,eAAA,EAAeP,IAAK;AACpB,MAAA,eAAA,EAAeY,QAAS;AACxBV,MAAAA,OAAO,EAAEG,eAAgB;AACzB,MAAA,aAAA,EAAaf,iBAAkB;AAAA,MAAA,GAC3Ba,IAAI;AAAAP,MAAAA,QAAA,gBAERyB,GAAA,CAAA,KAAA,EAAA;QAAK1B,SAAS,EAAEmB,MAAY,CAACQ,eAAgB;QAAA1B,QAAA,eAC3CyB,GAAA,CAACE,IAAI,EAAA;AACHC,UAAAA,MAAM,EAAEzB,WAAY;AACpB0B,UAAAA,IAAI,EAAC,GAAG;AACRC,UAAAA,KAAK,EAAEzB,MAAM,GAAG,kBAAkB,GAAG,sBAAuB;UAC5D,aAAaV,EAAAA;SACd;AAAC,OACC,CAAC,eAEN8B,GAAA,CAACM,IAAI,EAAA;AACHC,QAAAA,IAAI,EAAC,IAAI;QACTC,SAAS,EAAA,IAAA;AAAAjC,QAAAA,QAAA,EAERC;AAAO,OACJ,CAAC,EAENU,WAAW,iBACVc,GAAA,CAAA,KAAA,EAAA;QAAK1B,SAAS,EAAEmC,QAAM,CAACC,cAAe;QAAAnC,QAAA,eACpCyB,GAAA,CAACE,IAAI,EAAA;AACHC,UAAAA,MAAM,EAAEf,iBAAkB;AAC1BgB,UAAAA,IAAI,EAAC,GAAG;AACRC,UAAAA,KAAK,EAAC;SACP;AAAC,OACC,CACN,EAEA5B,YAAY,iBACXuB,GAAA,CAAA,KAAA,EAAA;QAAK1B,SAAS,EAAEmB,MAAY,CAACkB,mBAAoB;AAAApC,QAAAA,QAAA,EAC9CE;AAAY,OACV,CACN;AAAA,KACS,CAAC,EAEZE,IAAI,iBACHqB,GAAA,CAAA,IAAA,EAAA;MACE1B,SAAS,EAAEmC,QAAM,CAACG,eAAgB;AAClCjB,MAAAA,IAAI,EAAC,MAAM;AACXkB,MAAAA,EAAE,EAAEtB,QAAS;MAAAhB,QAAA,EAEZI,IAAI,IAAIJ;AAAQ,KACf,CACL;AAAA,GACC,CAAC;AAET,CACF;;;;"}