{"version":3,"file":"SkeletonButton.mjs","names":[],"sources":["../../src/Skeleton/SkeletonButton.tsx"],"sourcesContent":["'use client';\n\nimport { cssVar } from 'antd-style';\nimport { type FC } from 'react';\n\nimport SkeletonBlock from './SkeletonBlock';\nimport type { SkeletonButtonProps } from './type';\n\nconst HEIGHT_MAP: Record<'large' | 'small' | 'default', number> = {\n  default: 36,\n  large: 46,\n  small: 28,\n};\n\nconst SkeletonButton: FC<SkeletonButtonProps> = ({\n  active,\n  block = false,\n  shape = 'default',\n  size = 'default',\n  width,\n  height,\n  style,\n  className,\n  ...rest\n}) => {\n  const resolvedSize = size ?? 'default';\n  const baseHeight = height ?? HEIGHT_MAP[resolvedSize];\n  const defaultWidth = block ? '100%' : shape === 'circle' ? baseHeight : 80;\n  const finalWidth = width ?? defaultWidth;\n\n  const RADIUS_MAP: Record<'large' | 'small' | 'default', string> = {\n    default: cssVar.borderRadius,\n    large: cssVar.borderRadiusLG,\n    small: cssVar.borderRadiusSM,\n  };\n\n  const borderRadius =\n    shape === 'circle'\n      ? '50%'\n      : shape === 'round'\n        ? `calc(${cssVar.borderRadius} * 2)`\n        : RADIUS_MAP[resolvedSize];\n\n  return (\n    <SkeletonBlock\n      active={active}\n      className={className}\n      height={baseHeight}\n      style={{ borderRadius, ...style }}\n      width={finalWidth}\n      {...rest}\n    />\n  );\n};\n\nSkeletonButton.displayName = 'SkeletonButton';\n\nexport default SkeletonButton;\n"],"mappings":";;;;;AAQA,MAAM,aAA4D;CAChE,SAAS;CACT,OAAO;CACP,OAAO;CACR;AAED,MAAM,kBAA2C,EAC/C,QACA,QAAQ,OACR,QAAQ,WACR,OAAO,WACP,OACA,QACA,OACA,WACA,GAAG,WACC;CACJ,MAAM,eAAe,QAAQ;CAC7B,MAAM,aAAa,UAAU,WAAW;CAExC,MAAM,aAAa,UADE,QAAQ,SAAS,UAAU,WAAW,aAAa;CAGxE,MAAM,aAA4D;EAChE,SAAS,OAAO;EAChB,OAAO,OAAO;EACd,OAAO,OAAO;EACf;AASD,QACE,oBAAC,eAAD;EACU;EACG;EACX,QAAQ;EACR,OAAO;GAAE,cAXX,UAAU,WACN,QACA,UAAU,UACR,QAAQ,OAAO,aAAa,SAC5B,WAAW;GAOQ,GAAG;GAAO;EACjC,OAAO;EACP,GAAI;EACJ,CAAA;;AAIN,eAAe,cAAc"}