UNPKG

@lobehub/ui

Version:

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

1 lines 2.53 kB
{"version":3,"file":"SkeletonParagraph.mjs","names":["SkeletonParagraph: FC<SkeletonParagraphProps>","Flexbox","SkeletonBlock"],"sources":["../../src/Skeleton/SkeletonParagraph.tsx"],"sourcesContent":["'use client';\n\nimport { type FC } from 'react';\n\nimport { Flexbox } from '@/Flex';\n\nimport SkeletonBlock from './SkeletonBlock';\nimport type { SkeletonParagraphProps } from './type';\n\nconst DEFAULT_ROWS = 3;\n\nconst SkeletonParagraph: FC<SkeletonParagraphProps> = ({\n active,\n rows = DEFAULT_ROWS,\n gap,\n width,\n height,\n fontSize,\n lineHeight,\n style,\n className,\n ...rest\n}) => {\n const rowGap = gap;\n const rowCount = Math.max(rows, 1);\n const baseFontSize = fontSize ?? 14;\n const resolvedLineHeight = lineHeight ?? 1.6;\n const computedHeight = height ? height : Math.round(baseFontSize * resolvedLineHeight);\n const marginBlock = computedHeight - baseFontSize;\n const widthList = Array.isArray(width) ? width : null;\n\n const getRowWidth = (index: number): string | number => {\n if (widthList) return widthList[index] ?? widthList.at(-1) ?? '100%';\n if (width !== undefined) return width as string | number;\n if (index === rowCount - 1) return '66%';\n return '100%';\n };\n\n const containerStyle = { gap: rowGap, ...style };\n\n return (\n <Flexbox\n className={className}\n gap={gap || marginBlock}\n style={containerStyle}\n width={'100%'}\n {...rest}\n >\n {Array.from({ length: rowCount }).map((_, index) => (\n <SkeletonBlock\n active={active}\n height={baseFontSize}\n key={index}\n width={getRowWidth(index)}\n />\n ))}\n </Flexbox>\n );\n};\n\nSkeletonParagraph.displayName = 'SkeletonParagraph';\n\nexport default SkeletonParagraph;\n"],"mappings":";;;;;;;AASA,MAAM,eAAe;AAErB,MAAMA,qBAAiD,EACrD,QACA,OAAO,cACP,KACA,OACA,QACA,UACA,YACA,OACA,WACA,GAAG,WACC;CACJ,MAAM,SAAS;CACf,MAAM,WAAW,KAAK,IAAI,MAAM,EAAE;CAClC,MAAM,eAAe,YAAY;CACjC,MAAM,qBAAqB,cAAc;CAEzC,MAAM,eADiB,SAAS,SAAS,KAAK,MAAM,eAAe,mBAAmB,IACjD;CACrC,MAAM,YAAY,MAAM,QAAQ,MAAM,GAAG,QAAQ;CAEjD,MAAM,eAAe,UAAmC;AACtD,MAAI,UAAW,QAAO,UAAU,UAAU,UAAU,GAAG,GAAG,IAAI;AAC9D,MAAI,UAAU,OAAW,QAAO;AAChC,MAAI,UAAU,WAAW,EAAG,QAAO;AACnC,SAAO;;CAGT,MAAM,iBAAiB;EAAE,KAAK;EAAQ,GAAG;EAAO;AAEhD,QACE,oBAACC;EACY;EACX,KAAK,OAAO;EACZ,OAAO;EACP,OAAO;EACP,GAAI;YAEH,MAAM,KAAK,EAAE,QAAQ,UAAU,CAAC,CAAC,KAAK,GAAG,UACxC,oBAACC;GACS;GACR,QAAQ;GAER,OAAO,YAAY,MAAM;KADpB,MAEL,CACF;GACM;;AAId,kBAAkB,cAAc;AAEhC,gCAAe"}