This commit is contained in:
2025-09-19 14:25:20 +08:00
parent 269893a435
commit fbf3f77229
24949 changed files with 2839404 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
import Skeleton from './src/skeleton.vue';
import SkeletonItem from './src/skeleton-item.vue';
import type { SFCWithInstall } from 'element-plus/es/utils';
export declare const ElSkeleton: SFCWithInstall<typeof Skeleton> & {
SkeletonItem: typeof SkeletonItem;
};
export declare const ElSkeletonItem: SFCWithInstall<typeof SkeletonItem>;
export default ElSkeleton;
export * from './src/skeleton';
export * from './src/skeleton-item';

View File

@@ -0,0 +1,21 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var skeleton$1 = require('./src/skeleton2.js');
var skeletonItem$1 = require('./src/skeleton-item2.js');
var skeleton = require('./src/skeleton.js');
var skeletonItem = require('./src/skeleton-item.js');
var install = require('../../utils/vue/install.js');
const ElSkeleton = install.withInstall(skeleton$1["default"], {
SkeletonItem: skeletonItem$1["default"]
});
const ElSkeletonItem = install.withNoopInstall(skeletonItem$1["default"]);
exports.skeletonProps = skeleton.skeletonProps;
exports.skeletonItemProps = skeletonItem.skeletonItemProps;
exports.ElSkeleton = ElSkeleton;
exports.ElSkeletonItem = ElSkeletonItem;
exports["default"] = ElSkeleton;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":["../../../../../packages/components/skeleton/index.ts"],"sourcesContent":["import { withInstall, withNoopInstall } from '@element-plus/utils'\nimport Skeleton from './src/skeleton.vue'\nimport SkeletonItem from './src/skeleton-item.vue'\n\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElSkeleton: SFCWithInstall<typeof Skeleton> & {\n SkeletonItem: typeof SkeletonItem\n} = withInstall(Skeleton, {\n SkeletonItem,\n})\nexport const ElSkeletonItem: SFCWithInstall<typeof SkeletonItem> =\n withNoopInstall(SkeletonItem)\nexport default ElSkeleton\n\nexport * from './src/skeleton'\nexport * from './src/skeleton-item'\n"],"names":["withInstall","Skeleton","SkeletonItem","withNoopInstall"],"mappings":";;;;;;;;;;AAGY,MAAC,UAAU,GAAGA,mBAAW,CAACC,qBAAQ,EAAE;AAChD,gBAAEC,yBAAY;AACd,CAAC,EAAE;AACS,MAAC,cAAc,GAAGC,uBAAe,CAACD,yBAAY;;;;;;;;"}

View File

@@ -0,0 +1,8 @@
import type SkeletonItem from './skeleton-item.vue';
import type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue';
export declare const skeletonItemProps: {
readonly variant: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "button" | "caption" | "h1" | "h3" | "p" | "circle" | "image" | "rect" | "text", unknown, "text", boolean>;
};
export type SkeletonItemProps = ExtractPropTypes<typeof skeletonItemProps>;
export type SkeletonItemPropsPublic = __ExtractPublicPropTypes<typeof skeletonItemProps>;
export type SkeletonItemInstance = InstanceType<typeof SkeletonItem> & unknown;

View File

@@ -0,0 +1,26 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var runtime = require('../../../utils/vue/props/runtime.js');
const skeletonItemProps = runtime.buildProps({
variant: {
type: String,
values: [
"circle",
"rect",
"h1",
"h3",
"text",
"caption",
"p",
"image",
"button"
],
default: "text"
}
});
exports.skeletonItemProps = skeletonItemProps;
//# sourceMappingURL=skeleton-item.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"skeleton-item.js","sources":["../../../../../../packages/components/skeleton/src/skeleton-item.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\n\nimport type SkeletonItem from './skeleton-item.vue'\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\n\nexport const skeletonItemProps = buildProps({\n /**\n * @description the current rendering skeleton type\n */\n variant: {\n type: String,\n values: [\n 'circle',\n 'rect',\n 'h1',\n 'h3',\n 'text',\n 'caption',\n 'p',\n 'image',\n 'button',\n ],\n default: 'text',\n },\n} as const)\nexport type SkeletonItemProps = ExtractPropTypes<typeof skeletonItemProps>\nexport type SkeletonItemPropsPublic = __ExtractPublicPropTypes<\n typeof skeletonItemProps\n>\n\nexport type SkeletonItemInstance = InstanceType<typeof SkeletonItem> & unknown\n"],"names":["buildProps"],"mappings":";;;;;;AACY,MAAC,iBAAiB,GAAGA,kBAAU,CAAC;AAC5C,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE;AACZ,MAAM,QAAQ;AACd,MAAM,MAAM;AACZ,MAAM,IAAI;AACV,MAAM,IAAI;AACV,MAAM,MAAM;AACZ,MAAM,SAAS;AACf,MAAM,GAAG;AACT,MAAM,OAAO;AACb,MAAM,QAAQ;AACd,KAAK;AACL,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,CAAC;;;;"}

View File

@@ -0,0 +1,8 @@
declare const _default: import("vue").DefineComponent<{
readonly variant: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "button" | "caption" | "h1" | "h3" | "p" | "circle" | "image" | "rect" | "text", unknown, "text", boolean>;
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
readonly variant: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "button" | "caption" | "h1" | "h3" | "p" | "circle" | "image" | "rect" | "text", unknown, "text", boolean>;
}>>, {
readonly variant: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "button" | "caption" | "h1" | "h3" | "p" | "circle" | "image" | "rect" | "text", unknown>;
}>;
export default _default;

View File

@@ -0,0 +1,31 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var iconsVue = require('@element-plus/icons-vue');
var skeletonItem = require('./skeleton-item.js');
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
var index = require('../../../hooks/use-namespace/index.js');
const __default__ = vue.defineComponent({
name: "ElSkeletonItem"
});
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
...__default__,
props: skeletonItem.skeletonItemProps,
setup(__props) {
const ns = index.useNamespace("skeleton");
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock("div", {
class: vue.normalizeClass([vue.unref(ns).e("item"), vue.unref(ns).e(_ctx.variant)])
}, [
_ctx.variant === "image" ? (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.PictureFilled), { key: 0 })) : vue.createCommentVNode("v-if", true)
], 2);
};
}
});
var SkeletonItem = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "skeleton-item.vue"]]);
exports["default"] = SkeletonItem;
//# sourceMappingURL=skeleton-item2.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"skeleton-item2.js","sources":["../../../../../../packages/components/skeleton/src/skeleton-item.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.e('item'), ns.e(variant)]\">\n <picture-filled v-if=\"variant === 'image'\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useNamespace } from '@element-plus/hooks'\nimport { PictureFilled } from '@element-plus/icons-vue'\nimport { skeletonItemProps } from './skeleton-item'\n\ndefineOptions({\n name: 'ElSkeletonItem',\n})\ndefineProps(skeletonItemProps)\nconst ns = useNamespace('skeleton')\n</script>\n"],"names":["useNamespace"],"mappings":";;;;;;;;;;uCAWc,CAAA;AAAA,EACZ,IAAM,EAAA,gBAAA;AACR,CAAA,CAAA,CAAA;;;;;AAEA,IAAM,MAAA,EAAA,GAAKA,mBAAa,UAAU,CAAA,CAAA;;;;;;;;;;;;;;"}

View File

@@ -0,0 +1,26 @@
import type Skeleton from './skeleton.vue';
import type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue';
import type { ThrottleType } from 'element-plus/es/hooks';
export declare const skeletonProps: {
readonly animated: BooleanConstructor;
readonly count: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
readonly rows: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 3, boolean>;
readonly loading: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly throttle: {
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => number | {
leading?: number;
trailing?: number;
initVal?: boolean;
}) | (() => ThrottleType) | ((new (...args: any[]) => number | {
leading?: number;
trailing?: number;
initVal?: boolean;
}) | (() => ThrottleType))[], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
};
export type SkeletonProps = ExtractPropTypes<typeof skeletonProps>;
export type SkeletonPropsPublic = __ExtractPublicPropTypes<typeof skeletonProps>;
export type SkeletonInstance = InstanceType<typeof Skeleton> & unknown;

View File

@@ -0,0 +1,27 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var runtime = require('../../../utils/vue/props/runtime.js');
const skeletonProps = runtime.buildProps({
animated: Boolean,
count: {
type: Number,
default: 1
},
rows: {
type: Number,
default: 3
},
loading: {
type: Boolean,
default: true
},
throttle: {
type: runtime.definePropType([Number, Object])
}
});
exports.skeletonProps = skeletonProps;
//# sourceMappingURL=skeleton.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"skeleton.js","sources":["../../../../../../packages/components/skeleton/src/skeleton.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type Skeleton from './skeleton.vue'\nimport type { ExtractPropTypes, __ExtractPublicPropTypes } from 'vue'\nimport type { ThrottleType } from '@element-plus/hooks'\n\nexport const skeletonProps = buildProps({\n /**\n * @description whether showing the animation\n */\n animated: Boolean,\n /**\n * @description how many fake items to render to the DOM\n */\n count: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether showing the real DOM\n */\n rows: {\n type: Number,\n default: 3,\n },\n /**\n * @description numbers of the row, only useful when no template slot were given\n */\n loading: {\n type: Boolean,\n default: true,\n },\n /**\n * @description rendering delay in milliseconds\n */\n throttle: {\n type: definePropType<ThrottleType>([Number, Object]),\n },\n} as const)\nexport type SkeletonProps = ExtractPropTypes<typeof skeletonProps>\nexport type SkeletonPropsPublic = __ExtractPublicPropTypes<typeof skeletonProps>\n\nexport type SkeletonInstance = InstanceType<typeof Skeleton> & unknown\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AACY,MAAC,aAAa,GAAGA,kBAAU,CAAC;AACxC,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,CAAC;;;;"}

View File

@@ -0,0 +1,62 @@
declare function __VLS_template(): {
template?(_: {
key: number;
}): any;
default?(_: {
[x: string]: unknown;
}): any;
};
declare const __VLS_component: import("vue").DefineComponent<{
readonly animated: BooleanConstructor;
readonly count: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
readonly rows: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 3, boolean>;
readonly loading: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly throttle: {
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => number | {
leading?: number;
trailing?: number;
initVal?: boolean;
}) | (() => import("element-plus/es/hooks").ThrottleType) | ((new (...args: any[]) => number | {
leading?: number;
trailing?: number;
initVal?: boolean;
}) | (() => import("element-plus/es/hooks").ThrottleType))[], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
}, {
/** @description loading state */
uiLoading: import("vue").Ref<boolean>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
readonly animated: BooleanConstructor;
readonly count: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
readonly rows: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 3, boolean>;
readonly loading: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
readonly throttle: {
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => number | {
leading?: number;
trailing?: number;
initVal?: boolean;
}) | (() => import("element-plus/es/hooks").ThrottleType) | ((new (...args: any[]) => number | {
leading?: number;
trailing?: number;
initVal?: boolean;
}) | (() => import("element-plus/es/hooks").ThrottleType))[], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
}>>, {
readonly loading: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
readonly rows: number;
readonly count: number;
readonly animated: boolean;
}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};

View File

@@ -0,0 +1,57 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var skeleton = require('./skeleton.js');
var skeletonItem = require('./skeleton-item2.js');
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
var index$1 = require('../../../hooks/use-throttle-render/index.js');
var index = require('../../../hooks/use-namespace/index.js');
const __default__ = vue.defineComponent({
name: "ElSkeleton"
});
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
...__default__,
props: skeleton.skeletonProps,
setup(__props, { expose }) {
const props = __props;
const ns = index.useNamespace("skeleton");
const uiLoading = index$1.useThrottleRender(vue.toRef(props, "loading"), props.throttle);
expose({
uiLoading
});
return (_ctx, _cache) => {
return vue.unref(uiLoading) ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
key: 0,
class: [vue.unref(ns).b(), vue.unref(ns).is("animated", _ctx.animated)]
}, _ctx.$attrs), [
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.count, (i) => {
return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: i }, [
vue.unref(uiLoading) ? vue.renderSlot(_ctx.$slots, "template", { key: i }, () => [
vue.createVNode(skeletonItem["default"], {
class: vue.normalizeClass(vue.unref(ns).is("first")),
variant: "p"
}, null, 8, ["class"]),
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.rows, (item) => {
return vue.openBlock(), vue.createBlock(skeletonItem["default"], {
key: item,
class: vue.normalizeClass([
vue.unref(ns).e("paragraph"),
vue.unref(ns).is("last", item === _ctx.rows && _ctx.rows > 1)
]),
variant: "p"
}, null, 8, ["class"]);
}), 128))
]) : vue.createCommentVNode("v-if", true)
], 64);
}), 128))
], 16)) : vue.renderSlot(_ctx.$slots, "default", vue.normalizeProps(vue.mergeProps({ key: 1 }, _ctx.$attrs)));
};
}
});
var Skeleton = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "skeleton.vue"]]);
exports["default"] = Skeleton;
//# sourceMappingURL=skeleton2.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"skeleton2.js","sources":["../../../../../../packages/components/skeleton/src/skeleton.vue"],"sourcesContent":["<template>\n <template v-if=\"uiLoading\">\n <div :class=\"[ns.b(), ns.is('animated', animated)]\" v-bind=\"$attrs\">\n <template v-for=\"i in count\" :key=\"i\">\n <slot v-if=\"uiLoading\" :key=\"i\" name=\"template\">\n <el-skeleton-item :class=\"ns.is('first')\" variant=\"p\" />\n <el-skeleton-item\n v-for=\"item in rows\"\n :key=\"item\"\n :class=\"[\n ns.e('paragraph'),\n ns.is('last', item === rows && rows > 1),\n ]\"\n variant=\"p\"\n />\n </slot>\n </template>\n </div>\n </template>\n <template v-else>\n <slot v-bind=\"$attrs\" />\n </template>\n</template>\n\n<script lang=\"ts\" setup>\nimport { toRef } from 'vue'\nimport { useNamespace, useThrottleRender } from '@element-plus/hooks'\nimport { skeletonProps } from './skeleton'\nimport ElSkeletonItem from './skeleton-item.vue'\n\ndefineOptions({\n name: 'ElSkeleton',\n})\nconst props = defineProps(skeletonProps)\n\nconst ns = useNamespace('skeleton')\nconst uiLoading = useThrottleRender(toRef(props, 'loading'), props.throttle)\n\ndefineExpose({\n /** @description loading state */\n uiLoading,\n})\n</script>\n"],"names":["useNamespace","useThrottleRender","toRef"],"mappings":";;;;;;;;;;;uCA8Bc,CAAA;AAAA,EACZ,IAAM,EAAA,YAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAGA,IAAM,MAAA,EAAA,GAAKA,mBAAa,UAAU,CAAA,CAAA;AAClC,IAAA,MAAM,YAAYC,yBAAkB,CAAAC,SAAA,CAAM,OAAO,SAAS,CAAA,EAAG,MAAM,QAAQ,CAAA,CAAA;AAE3E,IAAa,MAAA,CAAA;AAAA,MAAA,SAAA;AAAA,KAEX,CAAA,CAAA;AAAA,IACF,OAAC,CAAA,IAAA,EAAA,MAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}

View File

@@ -0,0 +1,3 @@
import 'element-plus/es/components/base/style/css';
import 'element-plus/theme-chalk/el-skeleton.css';
import 'element-plus/es/components/skeleton-item/style/css';

View File

@@ -0,0 +1,7 @@
'use strict';
require('../../base/style/css.js');
require('element-plus/theme-chalk/el-skeleton.css');
require('../../skeleton-item/style/css.js');
//# sourceMappingURL=css.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}

View File

@@ -0,0 +1,3 @@
import 'element-plus/es/components/base/style';
import 'element-plus/theme-chalk/src/skeleton.scss';
import 'element-plus/es/components/skeleton-item/style';

View File

@@ -0,0 +1,7 @@
'use strict';
require('../../base/style/index.js');
require('element-plus/theme-chalk/src/skeleton.scss');
require('../../skeleton-item/style/index.js');
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}