{"version":3,"file":"ErrorScreen.cjs","sources":["../../../src/components/ErrorScreen/ErrorScreen.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type FC, type ReactNode, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { PageHeading } from '../Heading'\nimport { Center, Stack } from '../Layout'\nimport { SmartHRLogo } from '../SmartHRLogo'\nimport { TextLink } from '../TextLink'\n\ntype AbstractProps = {\n  /** ロゴ */\n  logo?: ReactNode\n  /** コンテンツの上に表示されるタイトル */\n  title?: ReactNode\n  /** コンテンツの下に表示されるアンカー要素のリスト */\n  links?: Array<{\n    /** アンカー要素のテキスト */\n    label: ReactNode\n    /** アンカー要素の href */\n    url: string\n    /** アンカー要素の target。`_blank` を設定すると外部リンクアイコンが表示されます。*/\n    target?: string\n  }>\n  /** 表示するコンテンツ */\n  children?: ReactNode\n  /** コンポーネントに適用するクラス名 */\n  className?: string\n}\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'div'>, keyof AbstractProps>\n\nconst classNameGenerator = tv({\n  base: 'smarthr-ui-ErrorScreen shr-bg-background',\n})\n\nexport const ErrorScreen: FC<Props> = ({ logo, title, links, children, className, ...rest }) => {\n  const actualClassName = useMemo(() => classNameGenerator({ className }), [className])\n\n  return (\n    <Center {...rest} minHeight=\"100vh\" verticalCentering className={actualClassName}>\n      <Stack gap={1.5} align=\"center\" className=\"[&&&]:shr-my-auto\">\n        <div className=\"smarthr-ui-ErrorScreen-logo\">\n          {logo || <SmartHRLogo fill=\"brand\" className=\"shr-p-0.75\" />}\n        </div>\n        <Stack align=\"center\">\n          {title && <PageHeading className=\"smarthr-ui-ErrorScreen-title\">{title}</PageHeading>}\n          {children && <div className=\"smarthr-ui-ErrorScreen-content\">{children}</div>}\n          {links?.length && (\n            <Stack\n              as=\"ul\"\n              gap={0.5}\n              align=\"center\"\n              className=\"smarthr-ui-ErrorScreen-linkList shr-list-none\"\n            >\n              {links.map((link, index) => (\n                <li key={index}>\n                  <TextLink\n                    href={link.url}\n                    target={link.target}\n                    className=\"smarthr-ui-ErrorScreen-link\"\n                  >\n                    {link.label}\n                  </TextLink>\n                </li>\n              ))}\n            </Stack>\n          )}\n        </Stack>\n      </Stack>\n    </Center>\n  )\n}\n"],"names":["tv","useMemo","_jsx","Center","_jsxs","Stack","SmartHRLogo","PageHeading","TextLink"],"mappings":";;;;;;;;;;;;;;;;;;AA6BA,MAAM,kBAAkB,GAAGA,QAAE,CAAC;AAC5B,IAAA,IAAI,EAAE,0CAA0C;AACjD,CAAA,CAAC;MAEW,WAAW,GAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,KAAI;AAC7F,IAAA,MAAM,eAAe,GAAGC,aAAO,CAAC,MAAM,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAErF,IAAA,QACEC,cAAA,CAACC,sCAAM,EAAA,EAAA,GAAK,IAAI,EAAE,SAAS,EAAC,OAAO,EAAC,iBAAiB,EAAA,IAAA,EAAC,SAAS,EAAE,eAAe,EAAA,QAAA,EAC9EC,eAAA,CAACC,mCAAK,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAC,QAAQ,EAAC,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAA,CAC3DH,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6BAA6B,EAAA,QAAA,EACzC,IAAI,IAAIA,cAAA,CAACI,8CAAW,EAAA,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,YAAY,EAAA,CAAG,EAAA,CACxD,EACNF,eAAA,CAACC,mCAAK,EAAA,EAAC,KAAK,EAAC,QAAQ,aAClB,KAAK,IAAIH,cAAA,CAACK,sDAAW,IAAC,SAAS,EAAC,8BAA8B,EAAA,QAAA,EAAE,KAAK,EAAA,CAAe,EACpF,QAAQ,IAAIL,wBAAK,SAAS,EAAC,gCAAgC,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAO,EAC5E,KAAK,EAAE,MAAM,KACZA,cAAA,CAACG,mCAAK,EAAA,EACJ,EAAE,EAAC,IAAI,EACP,GAAG,EAAE,GAAG,EACR,KAAK,EAAC,QAAQ,EACd,SAAS,EAAC,+CAA+C,EAAA,QAAA,EAExD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MACrBH,cAAA,CAAA,IAAA,EAAA,EAAA,QAAA,EACEA,cAAA,CAACM,qCAAQ,EAAA,EACP,IAAI,EAAE,IAAI,CAAC,GAAG,EACd,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,SAAS,EAAC,6BAA6B,YAEtC,IAAI,CAAC,KAAK,EAAA,CACF,IAPJ,KAAK,CAQT,CACN,CAAC,GACI,CACT,CAAA,EAAA,CACK,CAAA,EAAA,CACF,EAAA,CACD;AAEb;;;;"}