{"version":3,"file":"AppNaviDropdown.cjs","sources":["../../../src/components/AppNavi/AppNaviDropdown.tsx"],"sourcesContent":["import { type ComponentType, type FC, type PropsWithChildren, type ReactNode, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { UnstyledButton } from '../Button'\nimport { Dropdown, DropdownContent, DropdownTrigger } from '../Dropdown'\nimport { FaCaretDownIcon, type ComponentProps as IconProps } from '../Icon'\n\nimport { itemClassNameGenerator } from './itemClassNameGenerator'\n\nexport type AppNaviDropdownProps = PropsWithChildren<{\n  /** ドロップダウンのコンテンツ */\n  dropdownContent: ReactNode\n  /** 表示するアイコンタイプ */\n  icon?: ComponentType<IconProps>\n  /** アクティブ状態であるかどうか */\n  current?: boolean\n  displayCaret?: boolean\n}>\n\nconst classNameGenerator = tv({\n  extend: itemClassNameGenerator,\n  variants: {\n    displayCaret: {\n      true: {\n        wrapper: [\n          'smarthr-ui-AppNavi-dropdown',\n          '[&[aria-expanded=\"true\"]_.smarthr-ui-Icon:last-child]:shr-rotate-180',\n        ],\n      },\n    },\n  },\n})\n\nexport const AppNaviDropdown: FC<AppNaviDropdownProps> = ({\n  children,\n  dropdownContent,\n  icon: Icon,\n  current,\n  displayCaret,\n}) => {\n  const classNames = useMemo(() => {\n    const { wrapper, icon } = classNameGenerator({ active: current, displayCaret })\n\n    return {\n      wrapper: wrapper(),\n      icon: icon(),\n    }\n  }, [current, displayCaret])\n\n  return (\n    <Dropdown>\n      <DropdownTrigger>\n        <UnstyledButton aria-current={current ? 'page' : undefined} className={classNames.wrapper}>\n          {Icon && <Icon className={classNames.icon} />}\n          {children}\n          {displayCaret && <FaCaretDownIcon />}\n        </UnstyledButton>\n      </DropdownTrigger>\n      <DropdownContent>{dropdownContent}</DropdownContent>\n    </Dropdown>\n  )\n}\n"],"names":["tv","itemClassNameGenerator","useMemo","_jsxs","Dropdown","_jsx","DropdownTrigger","UnstyledButton","FaCaretDownIcon","DropdownContent"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmBA,MAAM,kBAAkB,GAAGA,QAAE,CAAC;AAC5B,IAAA,MAAM,EAAEC,gEAAsB;AAC9B,IAAA,QAAQ,EAAE;AACR,QAAA,YAAY,EAAE;AACZ,YAAA,IAAI,EAAE;AACJ,gBAAA,OAAO,EAAE;oBACP,6BAA6B;oBAC7B,sEAAsE;AACvE,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;AACF,CAAA,CAAC;AAEK,MAAM,eAAe,GAA6B,CAAC,EACxD,QAAQ,EACR,eAAe,EACf,IAAI,EAAE,IAAI,EACV,OAAO,EACP,YAAY,GACb,KAAI;AACH,IAAA,MAAM,UAAU,GAAGC,aAAO,CAAC,MAAK;AAC9B,QAAA,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAE/E,OAAO;YACL,OAAO,EAAE,OAAO,EAAE;YAClB,IAAI,EAAE,IAAI,EAAE;SACb;AACH,IAAA,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE3B,QACEC,eAAA,CAACC,qCAAQ,EAAA,EAAA,QAAA,EAAA,CACPC,cAAA,CAACC,mDAAe,EAAA,EAAA,QAAA,EACdH,eAAA,CAACI,+CAAc,EAAA,EAAA,cAAA,EAAe,OAAO,GAAG,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,EAAA,QAAA,EAAA,CACtF,IAAI,IAAIF,cAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAA,CAAI,EAC5C,QAAQ,EACR,YAAY,IAAIA,eAACG,sCAAe,EAAA,EAAA,CAAG,CAAA,EAAA,CACrB,EAAA,CACD,EAClBH,cAAA,CAACI,mDAAe,EAAA,EAAA,QAAA,EAAE,eAAe,EAAA,CAAmB,CAAA,EAAA,CAC3C;AAEf;;;;"}