{"version":3,"file":"Loader.cjs","sources":["../../../src/components/Loader/Loader.tsx"],"sourcesContent":["import { type ComponentProps, type ReactNode, memo, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { LoaderSpinner } from './LoaderSpinner'\n\ntype AbstractProps = {\n  /** ローダーの大きさ */\n  size?: 'S' | 'M'\n  /** 代替テキスト */\n  alt?: ReactNode\n  /** 表示するメッセージ */\n  text?: ReactNode\n  /** コンポーネントの色調 */\n  type?: 'primary' | 'light'\n}\ntype Props = AbstractProps & Omit<ComponentProps<'span'>, keyof AbstractProps>\n\nconst classNameGenerator = tv({\n  slots: {\n    wrapper: ['smarthr-ui-Loader', 'shr-inline-block shr-overflow-hidden'],\n    textSlot: ['shr-block', 'shr-mt-1', 'shr-text-base', 'shr-text-center'],\n  },\n  variants: {\n    type: {\n      primary: {\n        textSlot: ['shr-text-black'],\n      },\n      light: {\n        textSlot: ['shr-text-white'],\n      },\n    },\n  },\n})\n\nexport const Loader = memo<Props>(\n  ({ size = 'M', alt, text, type = 'primary', role = 'status', className, ...rest }) => {\n    const classNames = useMemo(() => {\n      const { wrapper, textSlot } = classNameGenerator({\n        type,\n      })\n\n      return {\n        wrapper: wrapper({ className }),\n        text: textSlot(),\n      }\n    }, [type, className])\n\n    return (\n      <span {...rest} role={role} className={classNames.wrapper}>\n        <LoaderSpinner type={type} size={size} alt={alt} />\n        {text && <span className={classNames.text}>{text}</span>}\n      </span>\n    )\n  },\n)\n"],"names":["tv","memo","useMemo","_jsxs","_jsx","LoaderSpinner"],"mappings":";;;;;;;AAiBA,MAAM,kBAAkB,GAAGA,QAAE,CAAC;AAC5B,IAAA,KAAK,EAAE;AACL,QAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,sCAAsC,CAAC;QACtE,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,CAAC;AACxE,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,OAAO,EAAE;gBACP,QAAQ,EAAE,CAAC,gBAAgB,CAAC;AAC7B,aAAA;AACD,YAAA,KAAK,EAAE;gBACL,QAAQ,EAAE,CAAC,gBAAgB,CAAC;AAC7B,aAAA;AACF,SAAA;AACF,KAAA;AACF,CAAA,CAAC;AAEK,MAAM,MAAM,GAAGC,UAAI,CACxB,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,GAAG,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,KAAI;AACnF,IAAA,MAAM,UAAU,GAAGC,aAAO,CAAC,MAAK;AAC9B,QAAA,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC;YAC/C,IAAI;AACL,SAAA,CAAC;QAEF,OAAO;AACL,YAAA,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;YAC/B,IAAI,EAAE,QAAQ,EAAE;SACjB;AACH,IAAA,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAErB,IAAA,QACEC,eAAA,CAAA,MAAA,EAAA,EAAA,GAAU,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,EAAA,QAAA,EAAA,CACvDC,cAAA,CAACC,6CAAa,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAA,CAAI,EAClD,IAAI,IAAID,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,UAAU,CAAC,IAAI,EAAA,QAAA,EAAG,IAAI,EAAA,CAAQ,CAAA,EAAA,CACnD;AAEX,CAAC;;;;"}