@lobehub/ui 5.36.4 → 5.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Skeleton/Skeleton.mjs +72 -0
- package/es/Skeleton/Skeleton.mjs.map +1 -0
- package/es/Skeleton/SkeletonAvatar.d.mts +10 -0
- package/es/Skeleton/SkeletonAvatar.mjs +32 -0
- package/es/Skeleton/SkeletonAvatar.mjs.map +1 -0
- package/es/Skeleton/SkeletonBlock.d.mts +10 -0
- package/es/Skeleton/SkeletonBlock.mjs +23 -0
- package/es/Skeleton/SkeletonBlock.mjs.map +1 -0
- package/es/Skeleton/SkeletonButton.d.mts +10 -0
- package/es/Skeleton/SkeletonButton.mjs +40 -0
- package/es/Skeleton/SkeletonButton.mjs.map +1 -0
- package/es/Skeleton/SkeletonParagraph.d.mts +10 -0
- package/es/Skeleton/SkeletonParagraph.mjs +43 -0
- package/es/Skeleton/SkeletonParagraph.mjs.map +1 -0
- package/es/Skeleton/SkeletonTags.d.mts +10 -0
- package/es/Skeleton/SkeletonTags.mjs +57 -0
- package/es/Skeleton/SkeletonTags.mjs.map +1 -0
- package/es/Skeleton/SkeletonTitle.d.mts +10 -0
- package/es/Skeleton/SkeletonTitle.mjs +30 -0
- package/es/Skeleton/SkeletonTitle.mjs.map +1 -0
- package/es/Skeleton/index.d.mts +22 -0
- package/es/Skeleton/index.d.ts +1 -0
- package/es/Skeleton/index.js +1 -0
- package/es/Skeleton/index.mjs +19 -0
- package/es/Skeleton/index.mjs.map +1 -0
- package/es/Skeleton/style.mjs +47 -0
- package/es/Skeleton/style.mjs.map +1 -0
- package/es/Skeleton/type.d.mts +59 -0
- package/es/base-ui/ActionIcon/ActionIcon.d.mts +3 -2
- package/es/base-ui/ActionIcon/ActionIcon.mjs +9 -5
- package/es/base-ui/ActionIcon/ActionIcon.mjs.map +1 -1
- package/es/base-ui/ActionIcon/index.d.mts +2 -2
- package/es/base-ui/ActionIcon/type.d.mts +17 -3
- package/es/base-ui/ActionIcon/utils.mjs +23 -1
- package/es/base-ui/ActionIcon/utils.mjs.map +1 -1
- package/es/base-ui/Button/Button.d.mts +3 -5
- package/es/base-ui/Button/Button.mjs +5 -3
- package/es/base-ui/Button/Button.mjs.map +1 -1
- package/es/base-ui/Button/index.d.mts +3 -3
- package/es/base-ui/Button/style.d.mts +8 -1
- package/es/base-ui/Button/style.mjs +27 -4
- package/es/base-ui/Button/style.mjs.map +1 -1
- package/es/base-ui/Button/type.d.mts +17 -5
- package/es/base-ui/Skeleton/SkeletonAvatar.mjs +4 -1
- package/es/base-ui/Skeleton/SkeletonAvatar.mjs.map +1 -1
- package/es/base-ui/Skeleton/style.mjs +3 -1
- package/es/base-ui/Skeleton/style.mjs.map +1 -1
- package/es/base-ui/index.d.mts +8 -8
- package/es/base-ui/index.mjs +5 -5
- package/es/hooks/useNativeButton.mjs +5 -0
- package/es/hooks/useNativeButton.mjs.map +1 -1
- package/es/index.d.mts +9 -5
- package/es/index.mjs +8 -4
- package/package.json +1 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import FlexBasic_default from "../Flex/FlexBasic.mjs";
|
|
3
|
+
import { styles } from "./style.mjs";
|
|
4
|
+
import SkeletonAvatar from "./SkeletonAvatar.mjs";
|
|
5
|
+
import SkeletonParagraph from "./SkeletonParagraph.mjs";
|
|
6
|
+
import SkeletonTitle from "./SkeletonTitle.mjs";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { cx } from "antd-style";
|
|
9
|
+
//#region src/Skeleton/Skeleton.tsx
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated Use `Skeleton` from `@lobehub/ui/base-ui` instead.
|
|
12
|
+
*/
|
|
13
|
+
const Skeleton = ({ active, avatar = false, title = true, paragraph = true, className, classNames, styles: customStyles, style, width, height, gap = 16, ...rest }) => {
|
|
14
|
+
const showAvatar = Boolean(avatar);
|
|
15
|
+
const showTitle = Boolean(title);
|
|
16
|
+
const showParagraph = Boolean(paragraph);
|
|
17
|
+
const avatarProps = typeof avatar === "object" ? avatar : void 0;
|
|
18
|
+
const titleProps = typeof title === "object" ? title : void 0;
|
|
19
|
+
const paragraphProps = typeof paragraph === "object" ? paragraph : void 0;
|
|
20
|
+
const rootStyle = {
|
|
21
|
+
...style,
|
|
22
|
+
...customStyles?.root,
|
|
23
|
+
...width !== void 0 ? { width } : {},
|
|
24
|
+
...height !== void 0 ? { height } : {}
|
|
25
|
+
};
|
|
26
|
+
const avatarActive = avatarProps?.active ?? active;
|
|
27
|
+
const titleActive = titleProps?.active ?? active;
|
|
28
|
+
const paragraphActive = paragraphProps?.active ?? active;
|
|
29
|
+
return /* @__PURE__ */ jsxs(FlexBasic_default, {
|
|
30
|
+
horizontal: true,
|
|
31
|
+
align: showParagraph ? "flex-start" : "center",
|
|
32
|
+
className: cx(className, classNames?.root),
|
|
33
|
+
gap,
|
|
34
|
+
style: rootStyle,
|
|
35
|
+
width: "100%",
|
|
36
|
+
...rest,
|
|
37
|
+
children: [showAvatar && /* @__PURE__ */ jsx(SkeletonAvatar, {
|
|
38
|
+
...avatarProps,
|
|
39
|
+
active: avatarActive,
|
|
40
|
+
className: cx(styles.avatar, classNames?.avatar, avatarProps?.className),
|
|
41
|
+
style: {
|
|
42
|
+
...avatarProps?.style,
|
|
43
|
+
...customStyles?.avatar
|
|
44
|
+
}
|
|
45
|
+
}), /* @__PURE__ */ jsxs(FlexBasic_default, {
|
|
46
|
+
gap,
|
|
47
|
+
width: "100%",
|
|
48
|
+
children: [showTitle && /* @__PURE__ */ jsx(SkeletonTitle, {
|
|
49
|
+
...titleProps,
|
|
50
|
+
active: titleActive,
|
|
51
|
+
className: cx(classNames?.title, titleProps?.className),
|
|
52
|
+
style: {
|
|
53
|
+
...titleProps?.style,
|
|
54
|
+
...customStyles?.title
|
|
55
|
+
}
|
|
56
|
+
}), showParagraph && /* @__PURE__ */ jsx(SkeletonParagraph, {
|
|
57
|
+
...paragraphProps,
|
|
58
|
+
active: paragraphActive,
|
|
59
|
+
className: cx(classNames?.paragraph, paragraphProps?.className),
|
|
60
|
+
style: {
|
|
61
|
+
...paragraphProps?.style,
|
|
62
|
+
...customStyles?.paragraph
|
|
63
|
+
}
|
|
64
|
+
})]
|
|
65
|
+
})]
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
Skeleton.displayName = "Skeleton";
|
|
69
|
+
//#endregion
|
|
70
|
+
export { Skeleton as default };
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=Skeleton.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.mjs","names":["Flexbox"],"sources":["../../src/Skeleton/Skeleton.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { type FC } from 'react';\n\nimport { Flexbox } from '@/Flex';\n\nimport SkeletonAvatar from './SkeletonAvatar';\nimport SkeletonParagraph from './SkeletonParagraph';\nimport SkeletonTitle from './SkeletonTitle';\nimport { styles } from './style';\nimport type { SkeletonProps } from './type';\n\n/**\n * @deprecated Use `Skeleton` from `@lobehub/ui/base-ui` instead.\n */\nconst Skeleton: FC<SkeletonProps> = ({\n active,\n avatar = false,\n title = true,\n paragraph = true,\n className,\n classNames,\n styles: customStyles,\n style,\n width,\n height,\n gap = 16,\n ...rest\n}) => {\n const showAvatar = Boolean(avatar);\n const showTitle = Boolean(title);\n const showParagraph = Boolean(paragraph);\n const avatarProps = typeof avatar === 'object' ? avatar : undefined;\n const titleProps = typeof title === 'object' ? title : undefined;\n const paragraphProps = typeof paragraph === 'object' ? paragraph : undefined;\n const rootStyle = {\n ...style,\n ...customStyles?.root,\n ...(width !== undefined ? { width } : {}),\n ...(height !== undefined ? { height } : {}),\n };\n\n const avatarActive = avatarProps?.active ?? active;\n const titleActive = titleProps?.active ?? active;\n const paragraphActive = paragraphProps?.active ?? active;\n\n return (\n <Flexbox\n horizontal\n align={showParagraph ? 'flex-start' : 'center'}\n className={cx(className, classNames?.root)}\n gap={gap}\n style={rootStyle}\n width={'100%'}\n {...rest}\n >\n {showAvatar && (\n <SkeletonAvatar\n {...avatarProps}\n active={avatarActive}\n className={cx(styles.avatar, classNames?.avatar, avatarProps?.className)}\n style={{\n ...avatarProps?.style,\n ...customStyles?.avatar,\n }}\n />\n )}\n <Flexbox gap={gap} width={'100%'}>\n {showTitle && (\n <SkeletonTitle\n {...titleProps}\n active={titleActive}\n className={cx(classNames?.title, titleProps?.className)}\n style={{\n ...titleProps?.style,\n ...customStyles?.title,\n }}\n />\n )}\n {showParagraph && (\n <SkeletonParagraph\n {...paragraphProps}\n active={paragraphActive}\n className={cx(classNames?.paragraph, paragraphProps?.className)}\n style={{\n ...paragraphProps?.style,\n ...customStyles?.paragraph,\n }}\n />\n )}\n </Flexbox>\n </Flexbox>\n );\n};\n\nSkeleton.displayName = 'Skeleton';\n\nexport default Skeleton;\n"],"mappings":";;;;;;;;;;;;AAgBA,MAAM,YAA+B,EACnC,QACA,SAAS,OACT,QAAQ,MACR,YAAY,MACZ,WACA,YACA,QAAQ,cACR,OACA,OACA,QACA,MAAM,IACN,GAAG,WACC;CACJ,MAAM,aAAa,QAAQ,MAAM;CACjC,MAAM,YAAY,QAAQ,KAAK;CAC/B,MAAM,gBAAgB,QAAQ,SAAS;CACvC,MAAM,cAAc,OAAO,WAAW,WAAW,SAAS,KAAA;CAC1D,MAAM,aAAa,OAAO,UAAU,WAAW,QAAQ,KAAA;CACvD,MAAM,iBAAiB,OAAO,cAAc,WAAW,YAAY,KAAA;CACnE,MAAM,YAAY;EAChB,GAAG;EACH,GAAG,cAAc;EACjB,GAAI,UAAU,KAAA,IAAY,EAAE,MAAM,IAAI,CAAC;EACvC,GAAI,WAAW,KAAA,IAAY,EAAE,OAAO,IAAI,CAAC;CAC3C;CAEA,MAAM,eAAe,aAAa,UAAU;CAC5C,MAAM,cAAc,YAAY,UAAU;CAC1C,MAAM,kBAAkB,gBAAgB,UAAU;CAElD,OACE,qBAACA,mBAAD;EACE,YAAA;EACA,OAAO,gBAAgB,eAAe;EACtC,WAAW,GAAG,WAAW,YAAY,IAAI;EACpC;EACL,OAAO;EACP,OAAO;EACP,GAAI;EAPN,UAAA,CASG,cACC,oBAAC,gBAAD;GACE,GAAI;GACJ,QAAQ;GACR,WAAW,GAAG,OAAO,QAAQ,YAAY,QAAQ,aAAa,SAAS;GACvE,OAAO;IACL,GAAG,aAAa;IAChB,GAAG,cAAc;GACnB;EACD,CAAA,GAEH,qBAACA,mBAAD;GAAc;GAAK,OAAO;GAA1B,UAAA,CACG,aACC,oBAAC,eAAD;IACE,GAAI;IACJ,QAAQ;IACR,WAAW,GAAG,YAAY,OAAO,YAAY,SAAS;IACtD,OAAO;KACL,GAAG,YAAY;KACf,GAAG,cAAc;IACnB;GACD,CAAA,GAEF,iBACC,oBAAC,mBAAD;IACE,GAAI;IACJ,QAAQ;IACR,WAAW,GAAG,YAAY,WAAW,gBAAgB,SAAS;IAC9D,OAAO;KACL,GAAG,gBAAgB;KACnB,GAAG,cAAc;IACnB;GACD,CAAA,CAEI;EACF,CAAA,CAAA;;AAEb;AAEA,SAAS,cAAc"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SkeletonAvatarProps } from "./type.mjs";
|
|
2
|
+
import { FC } from "react";
|
|
3
|
+
//#region src/Skeleton/SkeletonAvatar.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use `Skeleton.Avatar` from `@lobehub/ui/base-ui` instead.
|
|
6
|
+
*/
|
|
7
|
+
declare const SkeletonAvatar: FC<SkeletonAvatarProps>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { SkeletonAvatar as default };
|
|
10
|
+
//# sourceMappingURL=SkeletonAvatar.d.mts.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { styles } from "./style.mjs";
|
|
3
|
+
import SkeletonBlock from "./SkeletonBlock.mjs";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { cssVar, cx } from "antd-style";
|
|
6
|
+
//#region src/Skeleton/SkeletonAvatar.tsx
|
|
7
|
+
const DEFAULT_SIZE = 40;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Use `Skeleton.Avatar` from `@lobehub/ui/base-ui` instead.
|
|
10
|
+
*/
|
|
11
|
+
const SkeletonAvatar = ({ active, shape = "square", size, width, height, style, className, ...rest }) => {
|
|
12
|
+
const defaultSize = size ?? DEFAULT_SIZE;
|
|
13
|
+
const finalWidth = width ?? defaultSize;
|
|
14
|
+
const finalHeight = height ?? defaultSize;
|
|
15
|
+
const borderRadius = shape === "circle" ? "50%" : cssVar.borderRadius;
|
|
16
|
+
return /* @__PURE__ */ jsx(SkeletonBlock, {
|
|
17
|
+
active,
|
|
18
|
+
className: cx(styles.avatar, className),
|
|
19
|
+
height: finalHeight,
|
|
20
|
+
style: {
|
|
21
|
+
borderRadius,
|
|
22
|
+
...style
|
|
23
|
+
},
|
|
24
|
+
width: finalWidth,
|
|
25
|
+
...rest
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
SkeletonAvatar.displayName = "SkeletonAvatar";
|
|
29
|
+
//#endregion
|
|
30
|
+
export { SkeletonAvatar as default };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=SkeletonAvatar.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkeletonAvatar.mjs","names":[],"sources":["../../src/Skeleton/SkeletonAvatar.tsx"],"sourcesContent":["'use client';\n\nimport { cssVar, cx } from 'antd-style';\nimport { type FC } from 'react';\n\nimport SkeletonBlock from './SkeletonBlock';\nimport { styles } from './style';\nimport type { SkeletonAvatarProps } from './type';\n\nconst DEFAULT_SIZE = 40;\n\n/**\n * @deprecated Use `Skeleton.Avatar` from `@lobehub/ui/base-ui` instead.\n */\nconst SkeletonAvatar: FC<SkeletonAvatarProps> = ({\n active,\n shape = 'square',\n size,\n width,\n height,\n style,\n className,\n ...rest\n}) => {\n const defaultSize = size ?? DEFAULT_SIZE;\n const finalWidth = width ?? defaultSize;\n const finalHeight = height ?? defaultSize;\n const borderRadius = shape === 'circle' ? '50%' : cssVar.borderRadius;\n\n return (\n <SkeletonBlock\n active={active}\n className={cx(styles.avatar, className)}\n height={finalHeight}\n style={{ borderRadius, ...style }}\n width={finalWidth}\n {...rest}\n />\n );\n};\n\nSkeletonAvatar.displayName = 'SkeletonAvatar';\n\nexport default SkeletonAvatar;\n"],"mappings":";;;;;;AASA,MAAM,eAAe;;;;AAKrB,MAAM,kBAA2C,EAC/C,QACA,QAAQ,UACR,MACA,OACA,QACA,OACA,WACA,GAAG,WACC;CACJ,MAAM,cAAc,QAAQ;CAC5B,MAAM,aAAa,SAAS;CAC5B,MAAM,cAAc,UAAU;CAC9B,MAAM,eAAe,UAAU,WAAW,QAAQ,OAAO;CAEzD,OACE,oBAAC,eAAD;EACU;EACR,WAAW,GAAG,OAAO,QAAQ,SAAS;EACtC,QAAQ;EACR,OAAO;GAAE;GAAc,GAAG;EAAM;EAChC,OAAO;EACP,GAAI;CACL,CAAA;AAEL;AAEA,eAAe,cAAc"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SkeletonBlockProps } from "./type.mjs";
|
|
2
|
+
import { FC } from "react";
|
|
3
|
+
//#region src/Skeleton/SkeletonBlock.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use `Skeleton` from `@lobehub/ui/base-ui` instead.
|
|
6
|
+
*/
|
|
7
|
+
declare const SkeletonBlock: FC<SkeletonBlockProps>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { SkeletonBlock as default };
|
|
10
|
+
//# sourceMappingURL=SkeletonBlock.d.mts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import Block from "../Block/Block.mjs";
|
|
3
|
+
import { styles } from "./style.mjs";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { cx } from "antd-style";
|
|
6
|
+
//#region src/Skeleton/SkeletonBlock.tsx
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Use `Skeleton` from `@lobehub/ui/base-ui` instead.
|
|
9
|
+
*/
|
|
10
|
+
const SkeletonBlock = ({ width = "100%", height = "1em", active, style, className }) => {
|
|
11
|
+
return /* @__PURE__ */ jsx(Block, {
|
|
12
|
+
className: cx(styles.base, active && styles.active, className),
|
|
13
|
+
height,
|
|
14
|
+
style,
|
|
15
|
+
variant: "filled",
|
|
16
|
+
width
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
SkeletonBlock.displayName = "SkeletonBlock";
|
|
20
|
+
//#endregion
|
|
21
|
+
export { SkeletonBlock as default };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=SkeletonBlock.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkeletonBlock.mjs","names":[],"sources":["../../src/Skeleton/SkeletonBlock.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { type FC } from 'react';\n\nimport Block from '@/Block';\nimport type { SkeletonBlockProps } from '@/Skeleton/type';\n\nimport { styles } from './style';\n\n/**\n * @deprecated Use `Skeleton` from `@lobehub/ui/base-ui` instead.\n */\nconst SkeletonBlock: FC<SkeletonBlockProps> = ({\n width = '100%',\n height = '1em',\n active,\n style,\n className,\n}) => {\n return (\n <Block\n className={cx(styles.base, active && styles.active, className)}\n height={height}\n style={style}\n variant={'filled'}\n width={width}\n />\n );\n};\n\nSkeletonBlock.displayName = 'SkeletonBlock';\n\nexport default SkeletonBlock;\n"],"mappings":";;;;;;;;;AAaA,MAAM,iBAAyC,EAC7C,QAAQ,QACR,SAAS,OACT,QACA,OACA,gBACI;CACJ,OACE,oBAAC,OAAD;EACE,WAAW,GAAG,OAAO,MAAM,UAAU,OAAO,QAAQ,SAAS;EACrD;EACD;EACP,SAAS;EACF;CACR,CAAA;AAEL;AAEA,cAAc,cAAc"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SkeletonButtonProps } from "./type.mjs";
|
|
2
|
+
import { FC } from "react";
|
|
3
|
+
//#region src/Skeleton/SkeletonButton.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use `Skeleton` with an explicit `height` from `@lobehub/ui/base-ui` instead.
|
|
6
|
+
*/
|
|
7
|
+
declare const SkeletonButton: FC<SkeletonButtonProps>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { SkeletonButton as default };
|
|
10
|
+
//# sourceMappingURL=SkeletonButton.d.mts.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import SkeletonBlock from "./SkeletonBlock.mjs";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { cssVar } from "antd-style";
|
|
5
|
+
//#region src/Skeleton/SkeletonButton.tsx
|
|
6
|
+
const HEIGHT_MAP = {
|
|
7
|
+
default: 36,
|
|
8
|
+
large: 46,
|
|
9
|
+
small: 28
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Use `Skeleton` with an explicit `height` from `@lobehub/ui/base-ui` instead.
|
|
13
|
+
*/
|
|
14
|
+
const SkeletonButton = ({ active, block = false, shape = "default", size = "default", width, height, style, className, ...rest }) => {
|
|
15
|
+
const resolvedSize = size ?? "default";
|
|
16
|
+
const baseHeight = height ?? HEIGHT_MAP[resolvedSize];
|
|
17
|
+
const finalWidth = width ?? (block ? "100%" : shape === "circle" ? baseHeight : 80);
|
|
18
|
+
const RADIUS_MAP = {
|
|
19
|
+
default: cssVar.borderRadius,
|
|
20
|
+
large: cssVar.borderRadiusLG,
|
|
21
|
+
small: cssVar.borderRadiusSM
|
|
22
|
+
};
|
|
23
|
+
const borderRadius = shape === "circle" ? "50%" : shape === "round" ? `calc(${cssVar.borderRadius} * 2)` : RADIUS_MAP[resolvedSize];
|
|
24
|
+
return /* @__PURE__ */ jsx(SkeletonBlock, {
|
|
25
|
+
active,
|
|
26
|
+
className,
|
|
27
|
+
height: baseHeight,
|
|
28
|
+
style: {
|
|
29
|
+
borderRadius,
|
|
30
|
+
...style
|
|
31
|
+
},
|
|
32
|
+
width: finalWidth,
|
|
33
|
+
...rest
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
SkeletonButton.displayName = "SkeletonButton";
|
|
37
|
+
//#endregion
|
|
38
|
+
export { SkeletonButton as default };
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=SkeletonButton.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkeletonButton.mjs","names":[],"sources":["../../src/Skeleton/SkeletonButton.tsx"],"sourcesContent":["'use client';\n\nimport { cssVar } from 'antd-style';\nimport { type FC } from 'react';\n\nimport SkeletonBlock from './SkeletonBlock';\nimport type { SkeletonButtonProps } from './type';\n\nconst HEIGHT_MAP: Record<'large' | 'small' | 'default', number> = {\n default: 36,\n large: 46,\n small: 28,\n};\n\n/**\n * @deprecated Use `Skeleton` with an explicit `height` from `@lobehub/ui/base-ui` instead.\n */\nconst SkeletonButton: FC<SkeletonButtonProps> = ({\n active,\n block = false,\n shape = 'default',\n size = 'default',\n width,\n height,\n style,\n className,\n ...rest\n}) => {\n const resolvedSize = size ?? 'default';\n const baseHeight = height ?? HEIGHT_MAP[resolvedSize];\n const defaultWidth = block ? '100%' : shape === 'circle' ? baseHeight : 80;\n const finalWidth = width ?? defaultWidth;\n\n const RADIUS_MAP: Record<'large' | 'small' | 'default', string> = {\n default: cssVar.borderRadius,\n large: cssVar.borderRadiusLG,\n small: cssVar.borderRadiusSM,\n };\n\n const borderRadius =\n shape === 'circle'\n ? '50%'\n : shape === 'round'\n ? `calc(${cssVar.borderRadius} * 2)`\n : RADIUS_MAP[resolvedSize];\n\n return (\n <SkeletonBlock\n active={active}\n className={className}\n height={baseHeight}\n style={{ borderRadius, ...style }}\n width={finalWidth}\n {...rest}\n />\n );\n};\n\nSkeletonButton.displayName = 'SkeletonButton';\n\nexport default SkeletonButton;\n"],"mappings":";;;;;AAQA,MAAM,aAA4D;CAChE,SAAS;CACT,OAAO;CACP,OAAO;AACT;;;;AAKA,MAAM,kBAA2C,EAC/C,QACA,QAAQ,OACR,QAAQ,WACR,OAAO,WACP,OACA,QACA,OACA,WACA,GAAG,WACC;CACJ,MAAM,eAAe,QAAQ;CAC7B,MAAM,aAAa,UAAU,WAAW;CAExC,MAAM,aAAa,UADE,QAAQ,SAAS,UAAU,WAAW,aAAa;CAGxE,MAAM,aAA4D;EAChE,SAAS,OAAO;EAChB,OAAO,OAAO;EACd,OAAO,OAAO;CAChB;CAEA,MAAM,eACJ,UAAU,WACN,QACA,UAAU,UACR,QAAQ,OAAO,aAAa,SAC5B,WAAW;CAEnB,OACE,oBAAC,eAAD;EACU;EACG;EACX,QAAQ;EACR,OAAO;GAAE;GAAc,GAAG;EAAM;EAChC,OAAO;EACP,GAAI;CACL,CAAA;AAEL;AAEA,eAAe,cAAc"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SkeletonParagraphProps } from "./type.mjs";
|
|
2
|
+
import { FC } from "react";
|
|
3
|
+
//#region src/Skeleton/SkeletonParagraph.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use `Skeleton.Text` from `@lobehub/ui/base-ui` instead.
|
|
6
|
+
*/
|
|
7
|
+
declare const SkeletonParagraph: FC<SkeletonParagraphProps>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { SkeletonParagraph as default };
|
|
10
|
+
//# sourceMappingURL=SkeletonParagraph.d.mts.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import FlexBasic_default from "../Flex/FlexBasic.mjs";
|
|
3
|
+
import SkeletonBlock from "./SkeletonBlock.mjs";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/Skeleton/SkeletonParagraph.tsx
|
|
6
|
+
const DEFAULT_ROWS = 3;
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Use `Skeleton.Text` from `@lobehub/ui/base-ui` instead.
|
|
9
|
+
*/
|
|
10
|
+
const SkeletonParagraph = ({ active, rows = DEFAULT_ROWS, gap, width, height, fontSize, lineHeight, style, className, ...rest }) => {
|
|
11
|
+
const rowGap = gap;
|
|
12
|
+
const rowCount = Math.max(rows, 1);
|
|
13
|
+
const baseFontSize = fontSize ?? 14;
|
|
14
|
+
const marginBlock = (height ? height : Math.round(baseFontSize * (lineHeight ?? 1.6))) - baseFontSize;
|
|
15
|
+
const widthList = Array.isArray(width) ? width : null;
|
|
16
|
+
const getRowWidth = (index) => {
|
|
17
|
+
if (widthList) return widthList[index] ?? widthList.at(-1) ?? "100%";
|
|
18
|
+
if (width !== void 0) return width;
|
|
19
|
+
if (index === rowCount - 1) return "66%";
|
|
20
|
+
return "100%";
|
|
21
|
+
};
|
|
22
|
+
const containerStyle = {
|
|
23
|
+
gap: rowGap,
|
|
24
|
+
...style
|
|
25
|
+
};
|
|
26
|
+
return /* @__PURE__ */ jsx(FlexBasic_default, {
|
|
27
|
+
className,
|
|
28
|
+
gap: gap || marginBlock,
|
|
29
|
+
style: containerStyle,
|
|
30
|
+
width: "100%",
|
|
31
|
+
...rest,
|
|
32
|
+
children: Array.from({ length: rowCount }).map((_, index) => /* @__PURE__ */ jsx(SkeletonBlock, {
|
|
33
|
+
active,
|
|
34
|
+
height: baseFontSize,
|
|
35
|
+
width: getRowWidth(index)
|
|
36
|
+
}, index))
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
SkeletonParagraph.displayName = "SkeletonParagraph";
|
|
40
|
+
//#endregion
|
|
41
|
+
export { SkeletonParagraph as default };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=SkeletonParagraph.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkeletonParagraph.mjs","names":["Flexbox"],"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\n/**\n * @deprecated Use `Skeleton.Text` from `@lobehub/ui/base-ui` instead.\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;;;;AAKrB,MAAM,qBAAiD,EACrD,QACA,OAAO,cACP,KACA,OACA,QACA,UACA,YACA,OACA,WACA,GAAG,WACC;CACJ,MAAM,SAAS;CACf,MAAM,WAAW,KAAK,IAAI,MAAM,CAAC;CACjC,MAAM,eAAe,YAAY;CAGjC,MAAM,eADiB,SAAS,SAAS,KAAK,MAAM,gBADzB,cAAc,IAC4C,KAChD;CACrC,MAAM,YAAY,MAAM,QAAQ,KAAK,IAAI,QAAQ;CAEjD,MAAM,eAAe,UAAmC;EACtD,IAAI,WAAW,OAAO,UAAU,UAAU,UAAU,GAAG,EAAE,KAAK;EAC9D,IAAI,UAAU,KAAA,GAAW,OAAO;EAChC,IAAI,UAAU,WAAW,GAAG,OAAO;EACnC,OAAO;CACT;CAEA,MAAM,iBAAiB;EAAE,KAAK;EAAQ,GAAG;CAAM;CAE/C,OACE,oBAACA,mBAAD;EACa;EACX,KAAK,OAAO;EACZ,OAAO;EACP,OAAO;EACP,GAAI;EAEH,UAAA,MAAM,KAAK,EAAE,QAAQ,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,UACxC,oBAAC,eAAD;GACU;GACR,QAAQ;GAER,OAAO,YAAY,KAAK;EACzB,GAFM,KAEN,CACF;CACM,CAAA;AAEb;AAEA,kBAAkB,cAAc"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SkeletonTagsProps } from "./type.mjs";
|
|
2
|
+
import { FC } from "react";
|
|
3
|
+
//#region src/Skeleton/SkeletonTags.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use `Skeleton` blocks in a `Flexbox horizontal` instead.
|
|
6
|
+
*/
|
|
7
|
+
declare const SkeletonTags: FC<SkeletonTagsProps>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { SkeletonTags as default };
|
|
10
|
+
//# sourceMappingURL=SkeletonTags.d.mts.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import FlexBasic_default from "../Flex/FlexBasic.mjs";
|
|
3
|
+
import SkeletonBlock from "./SkeletonBlock.mjs";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { cssVar } from "antd-style";
|
|
6
|
+
//#region src/Skeleton/SkeletonTags.tsx
|
|
7
|
+
const DEFAULT_COUNT = 1;
|
|
8
|
+
const HEIGHT_MAP = {
|
|
9
|
+
large: 28,
|
|
10
|
+
middle: 22,
|
|
11
|
+
small: 20
|
|
12
|
+
};
|
|
13
|
+
const DEFAULT_WIDTH_MAP = {
|
|
14
|
+
large: 64,
|
|
15
|
+
middle: 48,
|
|
16
|
+
small: 36
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated Use `Skeleton` blocks in a `Flexbox horizontal` instead.
|
|
20
|
+
*/
|
|
21
|
+
const SkeletonTags = ({ active, className, count = DEFAULT_COUNT, gap, height, size = "middle", style, width, ...rest }) => {
|
|
22
|
+
const resolvedGap = gap !== void 0 ? `${gap}px` : cssVar.paddingXS;
|
|
23
|
+
const resolvedCount = Math.max(count, 1);
|
|
24
|
+
const resolvedHeight = height ?? HEIGHT_MAP[size];
|
|
25
|
+
const widthList = Array.isArray(width) ? width : null;
|
|
26
|
+
const defaultWidth = DEFAULT_WIDTH_MAP[size];
|
|
27
|
+
const RADIUS_MAP = {
|
|
28
|
+
large: cssVar.borderRadius,
|
|
29
|
+
middle: cssVar.borderRadiusSM,
|
|
30
|
+
small: cssVar.borderRadiusXS
|
|
31
|
+
};
|
|
32
|
+
const getWidth = (index) => {
|
|
33
|
+
if (widthList) return widthList[index] ?? widthList.at(-1) ?? defaultWidth;
|
|
34
|
+
if (width !== void 0) return width;
|
|
35
|
+
return defaultWidth;
|
|
36
|
+
};
|
|
37
|
+
return /* @__PURE__ */ jsx(FlexBasic_default, {
|
|
38
|
+
horizontal: true,
|
|
39
|
+
className,
|
|
40
|
+
style: {
|
|
41
|
+
gap: resolvedGap,
|
|
42
|
+
...style
|
|
43
|
+
},
|
|
44
|
+
...rest,
|
|
45
|
+
children: Array.from({ length: resolvedCount }).map((_, index) => /* @__PURE__ */ jsx(SkeletonBlock, {
|
|
46
|
+
active,
|
|
47
|
+
height: resolvedHeight,
|
|
48
|
+
width: getWidth(index),
|
|
49
|
+
style: { borderRadius: RADIUS_MAP[size] }
|
|
50
|
+
}, index))
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
SkeletonTags.displayName = "SkeletonTags";
|
|
54
|
+
//#endregion
|
|
55
|
+
export { SkeletonTags as default };
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=SkeletonTags.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkeletonTags.mjs","names":["Flexbox"],"sources":["../../src/Skeleton/SkeletonTags.tsx"],"sourcesContent":["'use client';\n\nimport { cssVar } from 'antd-style';\nimport { type FC } from 'react';\n\nimport { Flexbox } from '@/Flex';\n\nimport SkeletonBlock from './SkeletonBlock';\nimport type { SkeletonTagsProps } from './type';\n\nconst DEFAULT_COUNT = 1;\n\nconst HEIGHT_MAP: Record<'small' | 'middle' | 'large', number> = {\n large: 28,\n middle: 22,\n small: 20,\n};\n\nconst DEFAULT_WIDTH_MAP: Record<'small' | 'middle' | 'large', number> = {\n large: 64,\n middle: 48,\n small: 36,\n};\n\n/**\n * @deprecated Use `Skeleton` blocks in a `Flexbox horizontal` instead.\n */\nconst SkeletonTags: FC<SkeletonTagsProps> = ({\n active,\n className,\n count = DEFAULT_COUNT,\n gap,\n height,\n size = 'middle',\n style,\n width,\n ...rest\n}) => {\n const resolvedGap = gap !== undefined ? `${gap}px` : cssVar.paddingXS;\n const resolvedCount = Math.max(count, 1);\n const resolvedHeight = height ?? HEIGHT_MAP[size];\n const widthList = Array.isArray(width) ? width : null;\n const defaultWidth = DEFAULT_WIDTH_MAP[size];\n\n const RADIUS_MAP: Record<'large' | 'small' | 'middle', string> = {\n large: cssVar.borderRadius,\n middle: cssVar.borderRadiusSM,\n small: cssVar.borderRadiusXS,\n };\n\n const getWidth = (index: number) => {\n if (widthList) return widthList[index] ?? widthList.at(-1) ?? defaultWidth;\n if (width !== undefined) return width as string | number;\n return defaultWidth;\n };\n\n return (\n <Flexbox horizontal className={className} style={{ gap: resolvedGap, ...style }} {...rest}>\n {Array.from({ length: resolvedCount }).map((_, index) => (\n <SkeletonBlock\n active={active}\n height={resolvedHeight}\n key={index}\n width={getWidth(index)}\n style={{\n borderRadius: RADIUS_MAP[size],\n }}\n />\n ))}\n </Flexbox>\n );\n};\n\nSkeletonTags.displayName = 'SkeletonTags';\n\nexport default SkeletonTags;\n"],"mappings":";;;;;;AAUA,MAAM,gBAAgB;AAEtB,MAAM,aAA2D;CAC/D,OAAO;CACP,QAAQ;CACR,OAAO;AACT;AAEA,MAAM,oBAAkE;CACtE,OAAO;CACP,QAAQ;CACR,OAAO;AACT;;;;AAKA,MAAM,gBAAuC,EAC3C,QACA,WACA,QAAQ,eACR,KACA,QACA,OAAO,UACP,OACA,OACA,GAAG,WACC;CACJ,MAAM,cAAc,QAAQ,KAAA,IAAY,GAAG,IAAI,MAAM,OAAO;CAC5D,MAAM,gBAAgB,KAAK,IAAI,OAAO,CAAC;CACvC,MAAM,iBAAiB,UAAU,WAAW;CAC5C,MAAM,YAAY,MAAM,QAAQ,KAAK,IAAI,QAAQ;CACjD,MAAM,eAAe,kBAAkB;CAEvC,MAAM,aAA2D;EAC/D,OAAO,OAAO;EACd,QAAQ,OAAO;EACf,OAAO,OAAO;CAChB;CAEA,MAAM,YAAY,UAAkB;EAClC,IAAI,WAAW,OAAO,UAAU,UAAU,UAAU,GAAG,EAAE,KAAK;EAC9D,IAAI,UAAU,KAAA,GAAW,OAAO;EAChC,OAAO;CACT;CAEA,OACE,oBAACA,mBAAD;EAAS,YAAA;EAAsB;EAAW,OAAO;GAAE,KAAK;GAAa,GAAG;EAAM;EAAG,GAAI;EAClF,UAAA,MAAM,KAAK,EAAE,QAAQ,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG,UAC7C,oBAAC,eAAD;GACU;GACR,QAAQ;GAER,OAAO,SAAS,KAAK;GACrB,OAAO,EACL,cAAc,WAAW,MAC3B;EACD,GALM,KAKN,CACF;CACM,CAAA;AAEb;AAEA,aAAa,cAAc"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SkeletonTitleProps } from "./type.mjs";
|
|
2
|
+
import { FC } from "react";
|
|
3
|
+
//#region src/Skeleton/SkeletonTitle.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use `Skeleton.Text` from `@lobehub/ui/base-ui` instead.
|
|
6
|
+
*/
|
|
7
|
+
declare const SkeletonTitle: FC<SkeletonTitleProps>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { SkeletonTitle as default };
|
|
10
|
+
//# sourceMappingURL=SkeletonTitle.d.mts.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import SkeletonBlock from "./SkeletonBlock.mjs";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { cssVar } from "antd-style";
|
|
5
|
+
//#region src/Skeleton/SkeletonTitle.tsx
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated Use `Skeleton.Text` from `@lobehub/ui/base-ui` instead.
|
|
8
|
+
*/
|
|
9
|
+
const SkeletonTitle = ({ active, fontSize, lineHeight, height, width = "60%", style, className, ...rest }) => {
|
|
10
|
+
const resolvedLineHeight = lineHeight ?? 1.6;
|
|
11
|
+
const baseFontSize = fontSize !== void 0 ? `${fontSize}px` : cssVar.fontSize;
|
|
12
|
+
const heightMultiplier = 1 + (resolvedLineHeight - 1) * .5;
|
|
13
|
+
const marginMultiplier = (resolvedLineHeight - 1) * .25;
|
|
14
|
+
return /* @__PURE__ */ jsx(SkeletonBlock, {
|
|
15
|
+
active,
|
|
16
|
+
className,
|
|
17
|
+
height: height ?? `round(calc(${baseFontSize} * ${heightMultiplier}), 1px)`,
|
|
18
|
+
width,
|
|
19
|
+
style: {
|
|
20
|
+
marginBlock: `round(calc(${baseFontSize} * ${marginMultiplier}), 1px)`,
|
|
21
|
+
...style
|
|
22
|
+
},
|
|
23
|
+
...rest
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
SkeletonTitle.displayName = "SkeletonTitle";
|
|
27
|
+
//#endregion
|
|
28
|
+
export { SkeletonTitle as default };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=SkeletonTitle.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkeletonTitle.mjs","names":[],"sources":["../../src/Skeleton/SkeletonTitle.tsx"],"sourcesContent":["'use client';\n\nimport { cssVar } from 'antd-style';\nimport { type FC } from 'react';\n\nimport SkeletonBlock from './SkeletonBlock';\nimport type { SkeletonTitleProps } from './type';\n\n/**\n * @deprecated Use `Skeleton.Text` from `@lobehub/ui/base-ui` instead.\n */\nconst SkeletonTitle: FC<SkeletonTitleProps> = ({\n active,\n fontSize,\n lineHeight,\n height,\n width = '60%',\n style,\n className,\n ...rest\n}) => {\n const resolvedLineHeight = lineHeight ?? 1.6;\n const baseFontSize = fontSize !== undefined ? `${fontSize}px` : cssVar.fontSize;\n\n // height = baseFontSize * (1 + (lineHeight - 1) * 0.5)\n const heightMultiplier = 1 + (resolvedLineHeight - 1) * 0.5;\n // marginBlock = baseFontSize * (lineHeight - 1) * 0.25\n const marginMultiplier = (resolvedLineHeight - 1) * 0.25;\n\n return (\n <SkeletonBlock\n active={active}\n className={className}\n height={height ?? `round(calc(${baseFontSize} * ${heightMultiplier}), 1px)`}\n width={width}\n style={{\n marginBlock: `round(calc(${baseFontSize} * ${marginMultiplier}), 1px)`,\n ...style,\n }}\n {...rest}\n />\n );\n};\n\nSkeletonTitle.displayName = 'SkeletonTitle';\n\nexport default SkeletonTitle;\n"],"mappings":";;;;;;;;AAWA,MAAM,iBAAyC,EAC7C,QACA,UACA,YACA,QACA,QAAQ,OACR,OACA,WACA,GAAG,WACC;CACJ,MAAM,qBAAqB,cAAc;CACzC,MAAM,eAAe,aAAa,KAAA,IAAY,GAAG,SAAS,MAAM,OAAO;CAGvE,MAAM,mBAAmB,KAAK,qBAAqB,KAAK;CAExD,MAAM,oBAAoB,qBAAqB,KAAK;CAEpD,OACE,oBAAC,eAAD;EACU;EACG;EACX,QAAQ,UAAU,cAAc,aAAa,KAAK,iBAAiB;EAC5D;EACP,OAAO;GACL,aAAa,cAAc,aAAa,KAAK,iBAAiB;GAC9D,GAAG;EACL;EACA,GAAI;CACL,CAAA;AAEL;AAEA,cAAc,cAAc"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { SkeletonAvatarProps, SkeletonBlockProps, SkeletonButtonProps, SkeletonParagraphProps, SkeletonProps, SkeletonTagsProps, SkeletonTitleProps } from "./type.mjs";
|
|
2
|
+
import SkeletonAvatar from "./SkeletonAvatar.mjs";
|
|
3
|
+
import SkeletonBlock from "./SkeletonBlock.mjs";
|
|
4
|
+
import SkeletonButton from "./SkeletonButton.mjs";
|
|
5
|
+
import SkeletonParagraph from "./SkeletonParagraph.mjs";
|
|
6
|
+
import SkeletonTags from "./SkeletonTags.mjs";
|
|
7
|
+
import SkeletonTitle from "./SkeletonTitle.mjs";
|
|
8
|
+
import { ReactNode } from "react";
|
|
9
|
+
//#region src/Skeleton/index.d.ts
|
|
10
|
+
interface ISkeleton {
|
|
11
|
+
(props: SkeletonProps): ReactNode;
|
|
12
|
+
Avatar: typeof SkeletonAvatar;
|
|
13
|
+
Block: typeof SkeletonBlock;
|
|
14
|
+
Button: typeof SkeletonButton;
|
|
15
|
+
Paragraph: typeof SkeletonParagraph;
|
|
16
|
+
Tags: typeof SkeletonTags;
|
|
17
|
+
Title: typeof SkeletonTitle;
|
|
18
|
+
}
|
|
19
|
+
declare const Skeleton: ISkeleton;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { SkeletonAvatar, type SkeletonAvatarProps, SkeletonBlock, type SkeletonBlockProps, SkeletonButton, type SkeletonButtonProps, SkeletonParagraph, type SkeletonParagraphProps, type SkeletonProps, SkeletonTags, type SkeletonTagsProps, SkeletonTitle, type SkeletonTitleProps, Skeleton as default };
|
|
22
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './index.d.mts';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './index.mjs';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import SkeletonBlock from "./SkeletonBlock.mjs";
|
|
2
|
+
import SkeletonAvatar from "./SkeletonAvatar.mjs";
|
|
3
|
+
import SkeletonParagraph from "./SkeletonParagraph.mjs";
|
|
4
|
+
import SkeletonTitle from "./SkeletonTitle.mjs";
|
|
5
|
+
import Skeleton$1 from "./Skeleton.mjs";
|
|
6
|
+
import SkeletonButton from "./SkeletonButton.mjs";
|
|
7
|
+
import SkeletonTags from "./SkeletonTags.mjs";
|
|
8
|
+
//#region src/Skeleton/index.ts
|
|
9
|
+
const Skeleton = Skeleton$1;
|
|
10
|
+
Skeleton.Block = SkeletonBlock;
|
|
11
|
+
Skeleton.Avatar = SkeletonAvatar;
|
|
12
|
+
Skeleton.Title = SkeletonTitle;
|
|
13
|
+
Skeleton.Paragraph = SkeletonParagraph;
|
|
14
|
+
Skeleton.Button = SkeletonButton;
|
|
15
|
+
Skeleton.Tags = SkeletonTags;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { SkeletonAvatar, SkeletonBlock, SkeletonButton, SkeletonParagraph, SkeletonTags, SkeletonTitle, Skeleton as default };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["SkeletonParent"],"sources":["../../src/Skeleton/index.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport type { SkeletonProps } from '@/Skeleton/type';\n\nimport SkeletonParent from './Skeleton';\nimport SkeletonAvatar from './SkeletonAvatar';\nimport SkeletonBlock from './SkeletonBlock';\nimport SkeletonButton from './SkeletonButton';\nimport SkeletonParagraph from './SkeletonParagraph';\nimport SkeletonTags from './SkeletonTags';\nimport SkeletonTitle from './SkeletonTitle';\n\ninterface ISkeleton {\n (props: SkeletonProps): ReactNode;\n Avatar: typeof SkeletonAvatar;\n Block: typeof SkeletonBlock;\n Button: typeof SkeletonButton;\n Paragraph: typeof SkeletonParagraph;\n Tags: typeof SkeletonTags;\n Title: typeof SkeletonTitle;\n}\n\nconst Skeleton = SkeletonParent as unknown as ISkeleton;\nSkeleton.Block = SkeletonBlock;\nSkeleton.Avatar = SkeletonAvatar;\nSkeleton.Title = SkeletonTitle;\nSkeleton.Paragraph = SkeletonParagraph;\nSkeleton.Button = SkeletonButton;\nSkeleton.Tags = SkeletonTags;\n\nexport default Skeleton;\n\nexport { default as SkeletonAvatar } from './SkeletonAvatar';\nexport { default as SkeletonBlock } from './SkeletonBlock';\nexport { default as SkeletonButton } from './SkeletonButton';\nexport { default as SkeletonParagraph } from './SkeletonParagraph';\nexport { default as SkeletonTags } from './SkeletonTags';\nexport { default as SkeletonTitle } from './SkeletonTitle';\nexport type * from './type';\n"],"mappings":";;;;;;;;AAsBA,MAAM,WAAWA;AACjB,SAAS,QAAQ;AACjB,SAAS,SAAS;AAClB,SAAS,QAAQ;AACjB,SAAS,YAAY;AACrB,SAAS,SAAS;AAClB,SAAS,OAAO"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { createStaticStyles, keyframes } from "antd-style";
|
|
2
|
+
//#region src/Skeleton/style.ts
|
|
3
|
+
const shimmer = keyframes`
|
|
4
|
+
0% {
|
|
5
|
+
opacity: 1;
|
|
6
|
+
}
|
|
7
|
+
50% {
|
|
8
|
+
opacity: .5;
|
|
9
|
+
}
|
|
10
|
+
100% {
|
|
11
|
+
opacity: 1;
|
|
12
|
+
}
|
|
13
|
+
`;
|
|
14
|
+
const styles = createStaticStyles(({ css, cssVar }) => {
|
|
15
|
+
return {
|
|
16
|
+
active: css`
|
|
17
|
+
background: ${cssVar.colorFillSecondary};
|
|
18
|
+
animation: ${shimmer} 2s linear infinite;
|
|
19
|
+
`,
|
|
20
|
+
avatar: css`
|
|
21
|
+
flex-shrink: 0;
|
|
22
|
+
`,
|
|
23
|
+
base: css`
|
|
24
|
+
user-select: none;
|
|
25
|
+
|
|
26
|
+
position: relative;
|
|
27
|
+
|
|
28
|
+
overflow: hidden;
|
|
29
|
+
|
|
30
|
+
border-radius: ${cssVar.borderRadius};
|
|
31
|
+
|
|
32
|
+
background: ${cssVar.colorFillTertiary};
|
|
33
|
+
`,
|
|
34
|
+
text: css`
|
|
35
|
+
display: flex;
|
|
36
|
+
flex: 1;
|
|
37
|
+
flex-direction: column;
|
|
38
|
+
gap: ${cssVar.paddingXS};
|
|
39
|
+
|
|
40
|
+
width: 100%;
|
|
41
|
+
`
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
//#endregion
|
|
45
|
+
export { styles };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../src/Skeleton/style.ts"],"sourcesContent":["import { createStaticStyles, keyframes } from 'antd-style';\n\nconst shimmer = keyframes`\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: .5;\n }\n 100% {\n opacity: 1;\n }\n`;\n\nexport const styles = createStaticStyles(({ css, cssVar }) => {\n return {\n active: css`\n background: ${cssVar.colorFillSecondary};\n animation: ${shimmer} 2s linear infinite;\n `,\n\n avatar: css`\n flex-shrink: 0;\n `,\n\n base: css`\n user-select: none;\n\n position: relative;\n\n overflow: hidden;\n\n border-radius: ${cssVar.borderRadius};\n\n background: ${cssVar.colorFillTertiary};\n `,\n\n text: css`\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: ${cssVar.paddingXS};\n\n width: 100%;\n `,\n };\n});\n"],"mappings":";;AAEA,MAAM,UAAU,SAAS;;;;;;;;;;;AAYzB,MAAa,SAAS,oBAAoB,EAAE,KAAK,aAAa;CAC5D,OAAO;EACL,QAAQ,GAAG;oBACK,OAAO,mBAAmB;mBAC3B,QAAQ;;EAGvB,QAAQ,GAAG;;;EAIX,MAAM,GAAG;;;;;;;uBAOU,OAAO,aAAa;;oBAEvB,OAAO,kBAAkB;;EAGzC,MAAM,GAAG;;;;aAIA,OAAO,UAAU;;;;CAI5B;AACF,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { CSSProperties } from "react";
|
|
2
|
+
//#region src/Skeleton/type.d.ts
|
|
3
|
+
interface SkeletonBlockProps {
|
|
4
|
+
active?: boolean;
|
|
5
|
+
className?: string;
|
|
6
|
+
height?: number | string;
|
|
7
|
+
style?: CSSProperties;
|
|
8
|
+
width?: number | string;
|
|
9
|
+
}
|
|
10
|
+
interface SkeletonTitleProps extends Omit<SkeletonBlockProps, 'height'> {
|
|
11
|
+
fontSize?: number;
|
|
12
|
+
height?: number;
|
|
13
|
+
lineHeight?: number;
|
|
14
|
+
width?: number | string;
|
|
15
|
+
}
|
|
16
|
+
interface SkeletonParagraphProps extends Omit<SkeletonBlockProps, 'width' | 'height'> {
|
|
17
|
+
fontSize?: number;
|
|
18
|
+
gap?: number;
|
|
19
|
+
height?: number;
|
|
20
|
+
lineHeight?: number;
|
|
21
|
+
rows?: number;
|
|
22
|
+
width?: number | string | (number | string)[];
|
|
23
|
+
}
|
|
24
|
+
interface SkeletonTagsProps extends Omit<SkeletonBlockProps, 'width'> {
|
|
25
|
+
count?: number;
|
|
26
|
+
gap?: number;
|
|
27
|
+
size?: 'small' | 'middle' | 'large';
|
|
28
|
+
width?: number | string | (number | string)[];
|
|
29
|
+
}
|
|
30
|
+
interface SkeletonAvatarProps extends SkeletonBlockProps {
|
|
31
|
+
shape?: 'circle' | 'square';
|
|
32
|
+
size?: number | string;
|
|
33
|
+
}
|
|
34
|
+
interface SkeletonButtonProps extends SkeletonBlockProps {
|
|
35
|
+
block?: boolean;
|
|
36
|
+
shape?: 'circle' | 'round' | 'default';
|
|
37
|
+
size?: 'large' | 'small' | 'default';
|
|
38
|
+
}
|
|
39
|
+
interface SkeletonProps extends SkeletonBlockProps {
|
|
40
|
+
avatar?: SkeletonAvatarProps | boolean;
|
|
41
|
+
classNames?: {
|
|
42
|
+
avatar?: string;
|
|
43
|
+
paragraph?: string;
|
|
44
|
+
root?: string;
|
|
45
|
+
title?: string;
|
|
46
|
+
};
|
|
47
|
+
gap?: number;
|
|
48
|
+
paragraph?: SkeletonParagraphProps | boolean;
|
|
49
|
+
styles?: {
|
|
50
|
+
avatar?: CSSProperties;
|
|
51
|
+
paragraph?: CSSProperties;
|
|
52
|
+
root?: CSSProperties;
|
|
53
|
+
title?: CSSProperties;
|
|
54
|
+
};
|
|
55
|
+
title?: SkeletonTitleProps | boolean;
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
export { SkeletonAvatarProps, SkeletonBlockProps, SkeletonButtonProps, SkeletonParagraphProps, SkeletonProps, SkeletonTagsProps, SkeletonTitleProps };
|
|
59
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ActionIconProps } from "./type.mjs";
|
|
1
|
+
import { ActionIconProps, ActionIconVariant } from "./type.mjs";
|
|
2
|
+
import { ReactElement } from "react";
|
|
2
3
|
//#region src/base-ui/ActionIcon/ActionIcon.d.ts
|
|
3
|
-
declare const ActionIcon:
|
|
4
|
+
declare const ActionIcon: <V extends ActionIconVariant = "borderless">(props: ActionIconProps<V>) => ReactElement;
|
|
4
5
|
//#endregion
|
|
5
6
|
export { ActionIcon as default };
|
|
6
7
|
//# sourceMappingURL=ActionIcon.d.mts.map
|