{"version":3,"file":"Empty.mjs","names":["Empty","AntEmpty","Flexbox"],"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            icon={icon}\n            size={imageSize * 0.66}\n            color={\n              iconColor || (isDarkMode ? cssVar.colorTextQuaternary : cssVar.colorTextSecondary)\n            }\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,qBAAC,OAAD;EACE,OAAO;EACP,MAAM;EACN,QAAQ;EACR,SAAQ;EACR,SAAS;EACT,OAAO;EACP,GAAI;EACJ,OAAO;GACL,cAAc;GACd,GAAG,YAAY;GAChB;YAXH,CAaG,QACC,oBAAC,MAAD;GACQ;GACN,MAAM,YAAY;GAClB,OACE,cAAc,aAAa,OAAO,sBAAsB,OAAO;GAEjE,CAAA,EAEH,SAAS,oBAAC,aAAD;GAAoB;GAAO,MAAM,YAAY;GAAM,MAAM;GAAU,CAAA,CACvE;MAGV;AAGF,QACE,qBAACC,mBAAD;EAAS,OAAO;EAAY,KAAK;EAAG,SAAS;EAAI,GAAI;YAArD;GACG;GACD,qBAACA,mBAAD;IAAS,OAAO;IAAY,KAAK,SAAS,IAAI;cAA9C,CACG,SACC,oBAAC,MAAD;KACE,OAAO,WAAW,WAAW,KAAA;KAC7B,UAAU,SAAS,KAAK;KACxB,QAAQ;KACR,GAAI;eAEH;KACI,CAAA,EAER,eACC,oBAAC,MAAD;KACE,OAAO,WAAW,WAAW,KAAA;KAC7B,OAAO,SAAS,OAAO,qBAAqB,OAAO;KACnD,UAAU,SAAS,KAAK;KACxB,GAAI;eAEH;KACI,CAAA,CAED;;GACT;GACA,UACC,oBAACA,mBAAD;IAAS,KAAK;IAAG,GAAI;cAClB;IACO,CAAA;GAEJ;;;AAId,QAAM,cAAc"}