{"version":3,"file":"index.mjs","names":["LogoFlat","LogoMono","LogoText","Flexbox"],"sources":["../../../src/brand/LobeChat/index.tsx"],"sourcesContent":["'use client';\n\nimport { cssVar } from 'antd-style';\nimport { memo, type ReactNode } from 'react';\n\nimport Divider from '@/brand/components/Divider';\nimport LogoText from '@/brand/LobeChatText';\nimport { styles } from '@/brand/LobeHub/style';\nimport Logo3d from '@/brand/Logo3d';\nimport LogoFlat from '@/brand/LogoFlat';\nimport LogoMono from '@/brand/LogoMono';\nimport { Flexbox } from '@/Flex';\nimport { type DivProps } from '@/types';\n\nexport interface LobeChatProps extends DivProps {\n  extra?: ReactNode;\n  size?: number;\n  type?: '3d' | 'flat' | 'mono' | 'text' | 'combine';\n}\n\nconst LobeChat = memo<LobeChatProps>(\n  ({ type = '3d', size = 32, style, extra, className, ...rest }) => {\n    let logoComponent: ReactNode;\n\n    switch (type) {\n      case '3d': {\n        logoComponent = <Logo3d alt={'LobeChat'} size={size} {...rest} />;\n        break;\n      }\n      case 'flat': {\n        logoComponent = <LogoFlat size={size} style={style} />;\n        break;\n      }\n      case 'mono': {\n        logoComponent = <LogoMono size={size} style={style} />;\n        break;\n      }\n      case 'text': {\n        logoComponent = (\n          <LogoText className={className} size={size} style={style} {...(rest as any)} />\n        );\n        break;\n      }\n      case 'combine': {\n        logoComponent = (\n          <>\n            <Logo3d alt=\"LobeChat\" size={size} />\n            <LogoText size={size} style={{ marginLeft: Math.round(size / 4) }} />\n          </>\n        );\n\n        if (!extra)\n          logoComponent = (\n            <Flexbox horizontal align={'center'} className={className} flex={'none'} style={style}>\n              {logoComponent}\n            </Flexbox>\n          );\n\n        break;\n      }\n    }\n\n    if (!extra) return logoComponent;\n\n    const extraSize = Math.round((size / 3) * 1.9);\n\n    return (\n      <Flexbox\n        horizontal\n        align={'center'}\n        className={className}\n        flex={'none'}\n        style={style}\n        {...rest}\n      >\n        {logoComponent}\n        <Divider size={extraSize} style={{ color: cssVar.colorFill }} />\n        <div className={styles.extraTitle} style={{ fontSize: extraSize }}>\n          {extra}\n        </div>\n      </Flexbox>\n    );\n  },\n);\n\nLobeChat.displayName = 'LobeChatBrand';\n\nexport default LobeChat;\n"],"mappings":";;;;;;;;;;;;AAoBA,MAAM,WAAW,MACd,EAAE,OAAO,MAAM,OAAO,IAAI,OAAO,OAAO,WAAW,GAAG,WAAW;CAChE,IAAI;AAEJ,SAAQ,MAAR;EACE,KAAK;AACH,mBAAgB,oBAAC,QAAD;IAAQ,KAAK;IAAkB;IAAM,GAAI;IAAQ,CAAA;AACjE;EAEF,KAAK;AACH,mBAAgB,oBAACA,kBAAD;IAAgB;IAAa;IAAS,CAAA;AACtD;EAEF,KAAK;AACH,mBAAgB,oBAACC,eAAD;IAAgB;IAAa;IAAS,CAAA;AACtD;EAEF,KAAK;AACH,mBACE,oBAACC,cAAD;IAAqB;IAAiB;IAAa;IAAO,GAAK;IAAgB,CAAA;AAEjF;EAEF,KAAK;AACH,mBACE,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,QAAD;IAAQ,KAAI;IAAiB;IAAQ,CAAA,EACrC,oBAACA,cAAD;IAAgB;IAAM,OAAO,EAAE,YAAY,KAAK,MAAM,OAAO,EAAE,EAAE;IAAI,CAAA,CACpE,EAAA,CAAA;AAGL,OAAI,CAAC,MACH,iBACE,oBAACC,mBAAD;IAAS,YAAA;IAAW,OAAO;IAAqB;IAAW,MAAM;IAAe;cAC7E;IACO,CAAA;AAGd;;AAIJ,KAAI,CAAC,MAAO,QAAO;CAEnB,MAAM,YAAY,KAAK,MAAO,OAAO,IAAK,IAAI;AAE9C,QACE,qBAACA,mBAAD;EACE,YAAA;EACA,OAAO;EACI;EACX,MAAM;EACC;EACP,GAAI;YANN;GAQG;GACD,oBAAC,SAAD;IAAS,MAAM;IAAW,OAAO,EAAE,OAAO,OAAO,WAAW;IAAI,CAAA;GAChE,oBAAC,OAAD;IAAK,WAAW,OAAO;IAAY,OAAO,EAAE,UAAU,WAAW;cAC9D;IACG,CAAA;GACE;;EAGf;AAED,SAAS,cAAc"}