{"version":3,"file":"LoadingDots.mjs","names":[],"sources":["../../../src/chat/LoadingDots/LoadingDots.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { type FC, useMemo } from 'react';\n\nimport { styles } from './style';\nimport type { LoadingDotsProps } from './type';\n\nconst LoadingDots: FC<LoadingDotsProps> = ({\n  size = 8,\n  color,\n  variant = 'dots',\n  className,\n  style,\n}) => {\n  // Convert props to CSS variables\n  const cssVariables = useMemo<Record<string, string>>(() => {\n    const vars: Record<string, string> = {\n      '--loading-dots-size': `${size}px`,\n    };\n    if (color) {\n      vars['--loading-dots-color'] = color;\n    }\n    return vars;\n  }, [color, size]);\n\n  const renderDots = () => {\n    switch (variant) {\n      case 'pulse': {\n        return <div className={styles.pulseDot} style={{ animationDelay: '0s' }} />;\n      }\n\n      case 'wave': {\n        return (\n          <>\n            <div className={styles.waveDot} style={{ animationDelay: '0s' }} />\n            <div className={styles.waveDot} style={{ animationDelay: '0.12s' }} />\n            <div className={styles.waveDot} style={{ animationDelay: '0.24s' }} />\n          </>\n        );\n      }\n\n      case 'orbit': {\n        return (\n          <div className={styles.orbitContainer}>\n            <div className={styles.orbitDot} style={{ animationDelay: '0s' }} />\n            <div className={styles.orbitDot} style={{ animationDelay: '-0.4s' }} />\n            <div className={styles.orbitDot} style={{ animationDelay: '-0.8s' }} />\n          </div>\n        );\n      }\n\n      case 'typing': {\n        return (\n          <>\n            <div className={styles.typingDot} style={{ animationDelay: '0s' }} />\n            <div className={styles.typingDot} style={{ animationDelay: '0.15s' }} />\n            <div className={styles.typingDot} style={{ animationDelay: '0.3s' }} />\n          </>\n        );\n      }\n\n      default: {\n        return (\n          <>\n            <div className={styles.defaultDot} style={{ animationDelay: '0s' }} />\n            <div className={styles.defaultDot} style={{ animationDelay: '0.15s' }} />\n            <div className={styles.defaultDot} style={{ animationDelay: '0.3s' }} />\n          </>\n        );\n      }\n    }\n  };\n\n  return (\n    <div\n      className={cx(variant === 'orbit' ? styles.orbitWrapper : styles.container, className)}\n      style={{\n        ...cssVariables,\n        ...style,\n      }}\n    >\n      {renderDots()}\n    </div>\n  );\n};\n\nLoadingDots.displayName = 'LoadingDots';\n\nexport default LoadingDots;\n"],"mappings":";;;;;;AAQA,MAAM,eAAqC,EACzC,OAAO,GACP,OACA,UAAU,QACV,WACA,YACI;CAEJ,MAAM,eAAe,cAAsC;EACzD,MAAM,OAA+B,EACnC,uBAAuB,GAAG,KAAK,IACjC;EACA,IAAI,OACF,KAAK,0BAA0B;EAEjC,OAAO;CACT,GAAG,CAAC,OAAO,IAAI,CAAC;CAEhB,MAAM,mBAAmB;EACvB,QAAQ,SAAR;GACE,KAAK,SACH,OAAO,oBAAC,OAAD;IAAK,WAAW,OAAO;IAAU,OAAO,EAAE,gBAAgB,KAAK;GAAI,CAAA;GAG5E,KAAK,QACH,OACE,qBAAA,YAAA,EAAA,UAAA;IACE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAS,OAAO,EAAE,gBAAgB,KAAK;IAAI,CAAA;IAClE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAS,OAAO,EAAE,gBAAgB,QAAQ;IAAI,CAAA;IACrE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAS,OAAO,EAAE,gBAAgB,QAAQ;IAAI,CAAA;GACrE,EAAA,CAAA;GAIN,KAAK,SACH,OACE,qBAAC,OAAD;IAAK,WAAW,OAAO;cAAvB;KACE,oBAAC,OAAD;MAAK,WAAW,OAAO;MAAU,OAAO,EAAE,gBAAgB,KAAK;KAAI,CAAA;KACnE,oBAAC,OAAD;MAAK,WAAW,OAAO;MAAU,OAAO,EAAE,gBAAgB,QAAQ;KAAI,CAAA;KACtE,oBAAC,OAAD;MAAK,WAAW,OAAO;MAAU,OAAO,EAAE,gBAAgB,QAAQ;KAAI,CAAA;IACnE;;GAIT,KAAK,UACH,OACE,qBAAA,YAAA,EAAA,UAAA;IACE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAW,OAAO,EAAE,gBAAgB,KAAK;IAAI,CAAA;IACpE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAW,OAAO,EAAE,gBAAgB,QAAQ;IAAI,CAAA;IACvE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAW,OAAO,EAAE,gBAAgB,OAAO;IAAI,CAAA;GACtE,EAAA,CAAA;GAIN,SACE,OACE,qBAAA,YAAA,EAAA,UAAA;IACE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAY,OAAO,EAAE,gBAAgB,KAAK;IAAI,CAAA;IACrE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAY,OAAO,EAAE,gBAAgB,QAAQ;IAAI,CAAA;IACxE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAY,OAAO,EAAE,gBAAgB,OAAO;IAAI,CAAA;GACvE,EAAA,CAAA;EAGR;CACF;CAEA,OACE,oBAAC,OAAD;EACE,WAAW,GAAG,YAAY,UAAU,OAAO,eAAe,OAAO,WAAW,SAAS;EACrF,OAAO;GACL,GAAG;GACH,GAAG;EACL;YAEC,WAAW;CACT,CAAA;AAET;AAEA,YAAY,cAAc"}