1 | var __create = Object.create;
|
2 | var __defProp = Object.defineProperty;
|
3 | var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4 | var __getOwnPropNames = Object.getOwnPropertyNames;
|
5 | var __getProtoOf = Object.getPrototypeOf;
|
6 | var __hasOwnProp = Object.prototype.hasOwnProperty;
|
7 | var __export = (target, all) => {
|
8 | for (var name2 in all)
|
9 | __defProp(target, name2, { get: all[name2], enumerable: true });
|
10 | };
|
11 | var __copyProps = (to, from, except, desc) => {
|
12 | if (from && typeof from === "object" || typeof from === "function") {
|
13 | for (let key of __getOwnPropNames(from))
|
14 | if (!__hasOwnProp.call(to, key) && key !== except)
|
15 | __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
16 | }
|
17 | return to;
|
18 | };
|
19 | var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
20 |
|
21 |
|
22 |
|
23 |
|
24 | isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
25 | mod
|
26 | ));
|
27 | var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
28 | var stdin_exports = {};
|
29 | __export(stdin_exports, {
|
30 | default: () => stdin_default,
|
31 | skeletonProps: () => skeletonProps
|
32 | });
|
33 | module.exports = __toCommonJS(stdin_exports);
|
34 | var import_vue = require("vue");
|
35 | var import_utils = require("../utils");
|
36 | var import_skeleton_title = __toESM(require("../skeleton-title"));
|
37 | var import_skeleton_avatar = __toESM(require("../skeleton-avatar"));
|
38 | var import_skeleton_paragraph = __toESM(require("../skeleton-paragraph"));
|
39 | const [name, bem] = (0, import_utils.createNamespace)("skeleton");
|
40 | const DEFAULT_LAST_ROW_WIDTH = "60%";
|
41 | const skeletonProps = {
|
42 | row: (0, import_utils.makeNumericProp)(0),
|
43 | round: Boolean,
|
44 | title: Boolean,
|
45 | titleWidth: import_utils.numericProp,
|
46 | avatar: Boolean,
|
47 | avatarSize: import_utils.numericProp,
|
48 | avatarShape: (0, import_utils.makeStringProp)("round"),
|
49 | loading: import_utils.truthProp,
|
50 | animate: import_utils.truthProp,
|
51 | rowWidth: {
|
52 | type: [Number, String, Array],
|
53 | default: import_skeleton_paragraph.DEFAULT_ROW_WIDTH
|
54 | }
|
55 | };
|
56 | var stdin_default = (0, import_vue.defineComponent)({
|
57 | name,
|
58 | inheritAttrs: false,
|
59 | props: skeletonProps,
|
60 | setup(props, {
|
61 | slots,
|
62 | attrs
|
63 | }) {
|
64 | const renderAvatar = () => {
|
65 | if (props.avatar) {
|
66 | return (0, import_vue.createVNode)(import_skeleton_avatar.default, {
|
67 | "avatarShape": props.avatarShape,
|
68 | "avatarSize": props.avatarSize
|
69 | }, null);
|
70 | }
|
71 | };
|
72 | const renderTitle = () => {
|
73 | if (props.title) {
|
74 | return (0, import_vue.createVNode)(import_skeleton_title.default, {
|
75 | "round": props.round,
|
76 | "titleWidth": props.titleWidth
|
77 | }, null);
|
78 | }
|
79 | };
|
80 | const getRowWidth = (index) => {
|
81 | const {
|
82 | rowWidth
|
83 | } = props;
|
84 | if (rowWidth === import_skeleton_paragraph.DEFAULT_ROW_WIDTH && index === +props.row - 1) {
|
85 | return DEFAULT_LAST_ROW_WIDTH;
|
86 | }
|
87 | if (Array.isArray(rowWidth)) {
|
88 | return rowWidth[index];
|
89 | }
|
90 | return rowWidth;
|
91 | };
|
92 | const renderRows = () => Array(+props.row).fill("").map((_, i) => (0, import_vue.createVNode)(import_skeleton_paragraph.default, {
|
93 | "key": i,
|
94 | "round": props.round,
|
95 | "rowWidth": (0, import_utils.addUnit)(getRowWidth(i))
|
96 | }, null));
|
97 | const renderContents = () => {
|
98 | if (slots.template) {
|
99 | return slots.template();
|
100 | }
|
101 | return (0, import_vue.createVNode)(import_vue.Fragment, null, [renderAvatar(), (0, import_vue.createVNode)("div", {
|
102 | "class": bem("content")
|
103 | }, [renderTitle(), renderRows()])]);
|
104 | };
|
105 | return () => {
|
106 | var _a;
|
107 | if (!props.loading) {
|
108 | return (_a = slots.default) == null ? void 0 : _a.call(slots);
|
109 | }
|
110 | return (0, import_vue.createVNode)("div", (0, import_vue.mergeProps)({
|
111 | "class": bem({
|
112 | animate: props.animate,
|
113 | round: props.round
|
114 | })
|
115 | }, attrs), [renderContents()]);
|
116 | };
|
117 | }
|
118 | });
|