UNPKG

@lobehub/ui

Version:

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

1 lines 3.82 kB
{"version":3,"file":"Empty.mjs","names":["Empty: FC<EmptyProps>","AntEmpty","Block","Icon","FluentEmoji","Flexbox","Text","Empty"],"sources":["../../src/Empty/Empty.tsx"],"sourcesContent":["'use client';\n\nimport { Empty as AntEmpty } from 'antd';\nimport { cssVar, useThemeMode } from 'antd-style';\nimport { type FC } from 'react';\n\nimport Block from '@/Block';\nimport { Flexbox } from '@/Flex';\nimport FluentEmoji from '@/FluentEmoji';\nimport Icon from '@/Icon';\nimport Text from '@/Text';\n\nimport type { EmptyProps } from './type';\n\nconst Empty: FC<EmptyProps> = ({\n title,\n description,\n icon,\n image,\n emoji,\n imageSize = 48,\n iconColor,\n action,\n children,\n imageProps,\n align,\n actionProps,\n type = 'default',\n titleProps,\n descriptionProps,\n ...rest\n}) => {\n const { isDarkMode } = useThemeMode();\n const isPage = type === 'page';\n const alignValue = align || (isPage ? 'flex-start' : 'center');\n const isCenter = alignValue === 'center';\n\n const fallbackImage = AntEmpty.PRESENTED_IMAGE_SIMPLE;\n const hasImage = image || emoji || icon;\n const cover = hasImage ? (\n image ? (\n image\n ) : (\n <Block\n align={'center'}\n flex={'none'}\n height={imageSize}\n justify=\"center\"\n variant={'outlined'}\n width={imageSize}\n {...imageProps}\n style={{\n marginBottom: 4,\n ...imageProps?.style,\n }}\n >\n {icon && (\n <Icon\n color={\n iconColor || (isDarkMode ? cssVar.colorTextQuaternary : cssVar.colorTextSecondary)\n }\n icon={icon}\n size={imageSize * 0.66}\n />\n )}\n {emoji && <FluentEmoji emoji={emoji} size={imageSize * 0.75} type={'anim'} />}\n </Block>\n )\n ) : (\n fallbackImage\n );\n\n return (\n <Flexbox align={alignValue} gap={8} padding={16} {...rest}>\n {cover}\n <Flexbox align={alignValue} gap={isPage ? 4 : 1}>\n {title && (\n <Text\n align={isCenter ? 'center' : undefined}\n fontSize={isPage ? 24 : 16}\n weight={'bold'}\n {...titleProps}\n >\n {title}\n </Text>\n )}\n {description && (\n <Text\n align={isCenter ? 'center' : undefined}\n color={isPage ? cssVar.colorTextSecondary : cssVar.colorTextDescription}\n fontSize={isPage ? 16 : 14}\n {...descriptionProps}\n >\n {description}\n </Text>\n )}\n </Flexbox>\n {children}\n {action && (\n <Flexbox gap={4} {...actionProps}>\n {action}\n </Flexbox>\n )}\n </Flexbox>\n );\n};\n\nEmpty.displayName = 'Empty';\n\nexport default Empty;\n"],"mappings":";;;;;;;;;;;;AAcA,MAAMA,WAAyB,EAC7B,OACA,aACA,MACA,OACA,OACA,YAAY,IACZ,WACA,QACA,UACA,YACA,OACA,aACA,OAAO,WACP,YACA,kBACA,GAAG,WACC;CACJ,MAAM,EAAE,eAAe,cAAc;CACrC,MAAM,SAAS,SAAS;CACxB,MAAM,aAAa,UAAU,SAAS,eAAe;CACrD,MAAM,WAAW,eAAe;CAEhC,MAAM,gBAAgBC,MAAS;CAE/B,MAAM,QADW,SAAS,SAAS,OAEjC,QACE,QAEA,qBAACC;EACC,OAAO;EACP,MAAM;EACN,QAAQ;EACR,SAAQ;EACR,SAAS;EACT,OAAO;EACP,GAAI;EACJ,OAAO;GACL,cAAc;GACd,GAAG,YAAY;GAChB;aAEA,QACC,oBAACC;GACC,OACE,cAAc,aAAa,OAAO,sBAAsB,OAAO;GAE3D;GACN,MAAM,YAAY;IAClB,EAEH,SAAS,oBAACC;GAAmB;GAAO,MAAM,YAAY;GAAM,MAAM;IAAU;GACvE,GAGV;AAGF,QACE,qBAACC;EAAQ,OAAO;EAAY,KAAK;EAAG,SAAS;EAAI,GAAI;;GAClD;GACD,qBAACA;IAAQ,OAAO;IAAY,KAAK,SAAS,IAAI;eAC3C,SACC,oBAACC;KACC,OAAO,WAAW,WAAW;KAC7B,UAAU,SAAS,KAAK;KACxB,QAAQ;KACR,GAAI;eAEH;MACI,EAER,eACC,oBAACA;KACC,OAAO,WAAW,WAAW;KAC7B,OAAO,SAAS,OAAO,qBAAqB,OAAO;KACnD,UAAU,SAAS,KAAK;KACxB,GAAI;eAEH;MACI;KAED;GACT;GACA,UACC,oBAACD;IAAQ,KAAK;IAAG,GAAI;cAClB;KACO;;GAEJ;;AAId,QAAM,cAAc;AAEpB,oBAAeE"}