{"version":3,"file":"AppNaviButton.cjs","sources":["../../../src/components/AppNavi/AppNaviButton.tsx"],"sourcesContent":["import { type ComponentType, type FC, type PropsWithChildren, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { UnstyledButton } from '../Button'\n\nimport { itemClassNameGenerator } from './itemClassNameGenerator'\n\nimport type { ComponentProps as IconProps } from '../Icon'\n\nexport type AppNaviButtonProps = PropsWithChildren<{\n  /** 表示するアイコンタイプ */\n  icon?: ComponentType<IconProps>\n  /** アクティブ状態であるかどうか */\n  current?: boolean\n  /** クリックイベントのハンドラ */\n  onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void\n}>\n\nconst classNameGenerator = tv({\n  extend: itemClassNameGenerator,\n  slots: {\n    wrapper: 'smarthr-ui-AppNavi-button',\n  },\n})\n\nexport const AppNaviButton: FC<AppNaviButtonProps> = ({\n  children,\n  icon: Icon,\n  current,\n  onClick,\n}) => {\n  const classNames = useMemo(() => {\n    const { wrapper, icon } = classNameGenerator({ active: current })\n\n    return {\n      wrapper: wrapper(),\n      icon: icon(),\n    }\n  }, [current])\n\n  return (\n    <UnstyledButton\n      aria-current={current ? 'page' : undefined}\n      onClick={onClick}\n      className={classNames.wrapper}\n    >\n      {Icon && <Icon className={classNames.icon} />}\n      {children}\n    </UnstyledButton>\n  )\n}\n"],"names":["tv","itemClassNameGenerator","useMemo","_jsxs","UnstyledButton","_jsx"],"mappings":";;;;;;;;;;AAkBA,MAAM,kBAAkB,GAAGA,QAAE,CAAC;AAC5B,IAAA,MAAM,EAAEC,gEAAsB;AAC9B,IAAA,KAAK,EAAE;AACL,QAAA,OAAO,EAAE,2BAA2B;AACrC,KAAA;AACF,CAAA,CAAC;AAEK,MAAM,aAAa,GAA2B,CAAC,EACpD,QAAQ,EACR,IAAI,EAAE,IAAI,EACV,OAAO,EACP,OAAO,GACR,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,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,OAAO,EAAE;YAClB,IAAI,EAAE,IAAI,EAAE;SACb;AACH,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,QACEC,eAAA,CAACC,+CAAc,EAAA,EAAA,cAAA,EACC,OAAO,GAAG,MAAM,GAAG,SAAS,EAC1C,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,UAAU,CAAC,OAAO,EAAA,QAAA,EAAA,CAE5B,IAAI,IAAIC,cAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAA,CAAI,EAC5C,QAAQ,CAAA,EAAA,CACM;AAErB;;;;"}