{"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,KAChC;AACD,MAAI,MACF,MAAK,0BAA0B;AAEjC,SAAO;IACN,CAAC,OAAO,KAAK,CAAC;CAEjB,MAAM,mBAAmB;AACvB,UAAQ,SAAR;GACE,KAAK,QACH,QAAO,oBAAC,OAAD;IAAK,WAAW,OAAO;IAAU,OAAO,EAAE,gBAAgB,MAAM;IAAI,CAAA;GAG7E,KAAK,OACH,QACE,qBAAA,YAAA,EAAA,UAAA;IACE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAS,OAAO,EAAE,gBAAgB,MAAM;KAAI,CAAA;IACnE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAS,OAAO,EAAE,gBAAgB,SAAS;KAAI,CAAA;IACtE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAS,OAAO,EAAE,gBAAgB,SAAS;KAAI,CAAA;IACrE,EAAA,CAAA;GAIP,KAAK,QACH,QACE,qBAAC,OAAD;IAAK,WAAW,OAAO;cAAvB;KACE,oBAAC,OAAD;MAAK,WAAW,OAAO;MAAU,OAAO,EAAE,gBAAgB,MAAM;MAAI,CAAA;KACpE,oBAAC,OAAD;MAAK,WAAW,OAAO;MAAU,OAAO,EAAE,gBAAgB,SAAS;MAAI,CAAA;KACvE,oBAAC,OAAD;MAAK,WAAW,OAAO;MAAU,OAAO,EAAE,gBAAgB,SAAS;MAAI,CAAA;KACnE;;GAIV,KAAK,SACH,QACE,qBAAA,YAAA,EAAA,UAAA;IACE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAW,OAAO,EAAE,gBAAgB,MAAM;KAAI,CAAA;IACrE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAW,OAAO,EAAE,gBAAgB,SAAS;KAAI,CAAA;IACxE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAW,OAAO,EAAE,gBAAgB,QAAQ;KAAI,CAAA;IACtE,EAAA,CAAA;GAIP,QACE,QACE,qBAAA,YAAA,EAAA,UAAA;IACE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAY,OAAO,EAAE,gBAAgB,MAAM;KAAI,CAAA;IACtE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAY,OAAO,EAAE,gBAAgB,SAAS;KAAI,CAAA;IACzE,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAY,OAAO,EAAE,gBAAgB,QAAQ;KAAI,CAAA;IACvE,EAAA,CAAA;;;AAMX,QACE,oBAAC,OAAD;EACE,WAAW,GAAG,YAAY,UAAU,OAAO,eAAe,OAAO,WAAW,UAAU;EACtF,OAAO;GACL,GAAG;GACH,GAAG;GACJ;YAEA,YAAY;EACT,CAAA;;AAIV,YAAY,cAAc"}