UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

1 lines 1.66 kB
{"version":3,"file":"LogoSpline.mjs","names":["Loading","Spline"],"sources":["../../../src/brand/LogoThree/LogoSpline.tsx"],"sourcesContent":["import { useThemeMode } from 'antd-style';\nimport { CSSProperties, memo, useState } from 'react';\n\nimport Spline, { type SplineProps } from '@/awesome/Spline';\n\nimport Loading from './Loading';\n\nconst LIGHT = 'https://hub-apac-1.lobeobjects.space/light.splinecode';\nconst DARK = 'https://hub-apac-1.lobeobjects.space/dark.splinecode';\n\nexport interface LogoSplineProps extends Partial<SplineProps> {\n className?: string;\n height?: number | string;\n style?: CSSProperties;\n width?: number | string;\n}\n\nconst LogoSpline = memo<LogoSplineProps>(({ className, style, width, height, onLoad, ...rest }) => {\n const { isDarkMode } = useThemeMode();\n const [loading, setLoading] = useState(true);\n return (\n <div\n className={className}\n style={{ height: height, position: 'relative', width: width, ...style }}\n >\n {loading && <Loading />}\n <Spline\n onLoad={(splineApp) => {\n setLoading(false);\n onLoad?.(splineApp);\n }}\n scene={isDarkMode ? DARK : LIGHT}\n {...rest}\n />\n </div>\n );\n});\n\nexport default LogoSpline;\n"],"mappings":";;;;;;;AAOA,MAAM,QAAQ;AACd,MAAM,OAAO;AASb,MAAM,aAAa,MAAuB,EAAE,WAAW,OAAO,OAAO,QAAQ,QAAQ,GAAG,WAAW;CACjG,MAAM,EAAE,eAAe,cAAc;CACrC,MAAM,CAAC,SAAS,cAAc,SAAS,KAAK;AAC5C,QACE,qBAAC;EACY;EACX,OAAO;GAAU;GAAQ,UAAU;GAAmB;GAAO,GAAG;GAAO;aAEtE,WAAW,oBAACA,oBAAU,EACvB,oBAACC;GACC,SAAS,cAAc;AACrB,eAAW,MAAM;AACjB,aAAS,UAAU;;GAErB,OAAO,aAAa,OAAO;GAC3B,GAAI;IACJ;GACE;EAER;AAEF,yBAAe"}