{"version":3,"file":"skeleton.mjs","names":[],"sources":["../../../../package/common/skeleton/skeleton.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport cx from 'classnames';\n\nimport { SkeletonVariant, SkeletonAnimation } from './skeleton.types';\nimport type { SkeletonProps } from './skeleton.types';\nimport styles from './skeleton.module.pcss';\nimport { useComponentDefaults } from '../configProvider';\n\nconst CLASS_BY_VARIANT: Record<SkeletonVariant, string> = {\n  [SkeletonVariant.Text]: styles.skeletonText,\n  [SkeletonVariant.Circle]: styles.skeletonCircle,\n  [SkeletonVariant.Rectangular]: styles.skeletonRectangular,\n};\n\nconst CLASS_BY_ANIMATION: Record<SkeletonAnimation, string | undefined> = {\n  [SkeletonAnimation.Shimmer]: styles.skeletonAnimationShimmer,\n  [SkeletonAnimation.Pulse]: styles.skeletonAnimationPulse,\n  [SkeletonAnimation.None]: undefined,\n};\n\nfunction Skeleton(props: SkeletonProps): ReactElement {\n  const {\n    variant = SkeletonVariant.Text,\n    animation = SkeletonAnimation.Shimmer,\n    lines = 1,\n    className,\n    style,\n    classNames,\n    styles: slotStyles,\n    ...rest\n  } = useComponentDefaults('Skeleton', props);\n  const variantClass = CLASS_BY_VARIANT[variant];\n  const animationClass = CLASS_BY_ANIMATION[animation];\n\n  if (variant !== SkeletonVariant.Text || lines <= 1) {\n    return <span {...rest} className={cx(styles.skeleton, variantClass, animationClass, className)} style={style} />;\n  }\n\n  return (\n    <span {...rest} className={cx(styles.skeletonLines, className)} style={style}>\n      {Array.from({ length: lines }, (_, index) => (\n        <span\n          key={index}\n          className={cx(\n            styles.skeleton,\n            variantClass,\n            animationClass,\n            index === lines - 1 && styles.skeletonLineLast,\n            classNames?.line,\n          )}\n          style={slotStyles?.line}\n        />\n      ))}\n    </span>\n  );\n}\n\nexport default Skeleton;\n"],"mappings":"oRAQA,IAAM,EAAoD,EACvD,EAAgB,MAAO,EAAO,cAC9B,EAAgB,QAAS,EAAO,gBAChC,EAAgB,aAAc,EAAO,mBACxC,EAEM,EAAoE,EACvE,EAAkB,SAAU,EAAO,0BACnC,EAAkB,OAAQ,EAAO,wBACjC,EAAkB,MAAO,IAAA,EAC5B,EAEA,SAAS,EAAS,EAAoC,CACpD,GAAM,CACJ,UAAU,EAAgB,KAC1B,YAAY,EAAkB,QAC9B,QAAQ,EACR,YACA,QACA,aACA,OAAQ,EACR,GAAG,GACD,EAAqB,WAAY,CAAK,EACpC,EAAe,EAAiB,GAChC,EAAiB,EAAmB,GAM1C,OAJI,IAAY,EAAgB,MAAQ,GAAS,EACxC,EAAC,OAAD,CAAM,GAAI,EAAM,UAAW,EAAG,EAAO,SAAU,EAAc,EAAgB,CAAS,EAAU,OAAQ,CAAA,EAI/G,EAAC,OAAD,CAAM,GAAI,EAAM,UAAW,EAAG,EAAO,cAAe,CAAS,EAAU,QACpE,SAAA,MAAM,KAAK,CAAE,OAAQ,CAAM,GAAI,EAAG,IACjC,EAAC,OAAD,CAEE,UAAW,EACT,EAAO,SACP,EACA,EACA,IAAU,EAAQ,GAAK,EAAO,iBAC9B,GAAY,IACd,EACA,MAAO,GAAY,IACpB,EATM,CASN,CACF,CACG,CAAA,CAEV"}