feat: initial commit - Phase 1 & 2 core features

This commit is contained in:
hiderfong
2026-04-22 17:07:33 +08:00
commit 1773bda06b
25005 changed files with 6252106 additions and 0 deletions
@@ -0,0 +1,9 @@
import { SFCWithInstall } from "../../utils/vue/typescript.js";
import "../../utils/index.js";
import { PageHeaderEmits, PageHeaderInstance, PageHeaderProps, PageHeaderPropsPublic, pageHeaderEmits, pageHeaderProps } from "./src/page-header.js";
import { _default } from "./src/page-header.vue.js";
//#region ../../packages/components/page-header/index.d.ts
declare const ElPageHeader: SFCWithInstall<typeof _default>;
//#endregion
export { ElPageHeader, ElPageHeader as default, PageHeaderEmits, PageHeaderInstance, PageHeaderProps, PageHeaderPropsPublic, pageHeaderEmits, pageHeaderProps };
+14
View File
@@ -0,0 +1,14 @@
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const require_install = require('../../utils/vue/install.js');
const require_page_header = require('./src/page-header.js');
const require_page_header$1 = require('./src/page-header2.js');
//#region ../../packages/components/page-header/index.ts
const ElPageHeader = require_install.withInstall(require_page_header$1.default);
//#endregion
exports.ElPageHeader = ElPageHeader;
exports.default = ElPageHeader;
exports.pageHeaderEmits = require_page_header.pageHeaderEmits;
exports.pageHeaderProps = require_page_header.pageHeaderProps;
//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
{"version":3,"file":"index.js","names":["withInstall","PageHeader"],"sources":["../../../../../packages/components/page-header/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\nimport PageHeader from './src/page-header.vue'\n\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElPageHeader: SFCWithInstall<typeof PageHeader> =\n withInstall(PageHeader)\nexport default ElPageHeader\n\nexport * from './src/page-header'\n"],"mappings":";;;;;;AAKA,MAAa,eACXA,4BAAYC,8BAAW"}
@@ -0,0 +1,41 @@
import { IconPropType } from "../../../utils/vue/icon.js";
import { EpPropFinalized } from "../../../utils/vue/props/types.js";
import "../../../utils/index.js";
import { _default } from "./page-header.vue.js";
import * as vue from "vue";
import { ExtractPublicPropTypes } from "vue";
//#region ../../packages/components/page-header/src/page-header.d.ts
interface PageHeaderProps {
/**
* @description icon component of page header
*/
icon?: IconPropType;
/**
* @description main title of page header
*/
title?: string;
/**
* @description content of page header
*/
content?: string;
}
/**
* @deprecated Removed after 3.0.0, Use `PageHeaderProps` instead.
*/
declare const pageHeaderProps: {
readonly icon: EpPropFinalized<(new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component) | (((new (...args: any[]) => (string | vue.Component) & {}) | (() => string | vue.Component)) | null)[], unknown, unknown, () => vue.DefineComponent<{}, void, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>, boolean>;
readonly title: StringConstructor;
readonly content: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
};
/**
* @deprecated Removed after 3.0.0, Use `PageHeaderProps` instead.
*/
type PageHeaderPropsPublic = ExtractPublicPropTypes<typeof pageHeaderProps>;
declare const pageHeaderEmits: {
back: () => boolean;
};
type PageHeaderEmits = typeof pageHeaderEmits;
type PageHeaderInstance = InstanceType<typeof _default> & unknown;
//#endregion
export { PageHeaderEmits, PageHeaderInstance, PageHeaderProps, PageHeaderPropsPublic, pageHeaderEmits, pageHeaderProps };
@@ -0,0 +1,27 @@
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_runtime = require('../../../_virtual/_rolldown/runtime.js');
const require_runtime$1 = require('../../../utils/vue/props/runtime.js');
const require_icon = require('../../../utils/vue/icon.js');
let _element_plus_icons_vue = require("@element-plus/icons-vue");
//#region ../../packages/components/page-header/src/page-header.ts
/**
* @deprecated Removed after 3.0.0, Use `PageHeaderProps` instead.
*/
const pageHeaderProps = require_runtime$1.buildProps({
icon: {
type: require_icon.iconPropType,
default: () => _element_plus_icons_vue.Back
},
title: String,
content: {
type: String,
default: ""
}
});
const pageHeaderEmits = { back: () => true };
//#endregion
exports.pageHeaderEmits = pageHeaderEmits;
exports.pageHeaderProps = pageHeaderProps;
//# sourceMappingURL=page-header.js.map
@@ -0,0 +1 @@
{"version":3,"file":"page-header.js","names":["buildProps","iconPropType","Back"],"sources":["../../../../../../packages/components/page-header/src/page-header.ts"],"sourcesContent":["import { buildProps, iconPropType } from '@element-plus/utils'\nimport { Back } from '@element-plus/icons-vue'\n\nimport type { ExtractPublicPropTypes } from 'vue'\nimport type { IconPropType } from '@element-plus/utils'\nimport type PageHeader from './page-header.vue'\n\nexport interface PageHeaderProps {\n /**\n * @description icon component of page header\n */\n icon?: IconPropType\n /**\n * @description main title of page header\n */\n title?: string\n /**\n * @description content of page header\n */\n content?: string\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `PageHeaderProps` instead.\n */\nexport const pageHeaderProps = buildProps({\n /**\n * @description icon component of page header\n */\n icon: {\n type: iconPropType,\n default: () => Back,\n },\n /**\n * @description main title of page header\n */\n title: String,\n /**\n * @description content of page header\n */\n content: {\n type: String,\n default: '',\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `PageHeaderProps` instead.\n */\nexport type PageHeaderPropsPublic = ExtractPublicPropTypes<\n typeof pageHeaderProps\n>\n\nexport const pageHeaderEmits = {\n back: () => true,\n}\nexport type PageHeaderEmits = typeof pageHeaderEmits\n\nexport type PageHeaderInstance = InstanceType<typeof PageHeader> & unknown\n"],"mappings":";;;;;;;;;;AAyBA,MAAa,kBAAkBA,6BAAW;CAIxC,MAAM;EACJ,MAAMC;EACN,eAAeC;EAChB;CAID,OAAO;CAIP,SAAS;EACP,MAAM;EACN,SAAS;EACV;CACF,CAAU;AASX,MAAa,kBAAkB,EAC7B,YAAY,MACb"}
@@ -0,0 +1,37 @@
import { IconPropType } from "../../../utils/vue/icon.js";
import "../../../utils/index.js";
import { PageHeaderProps } from "./page-header.js";
import * as vue from "vue";
//#region ../../packages/components/page-header/src/page-header.vue.d.ts
declare var __VLS_1: {}, __VLS_3: {}, __VLS_16: {}, __VLS_23: {}, __VLS_25: {}, __VLS_27: {};
type __VLS_Slots = {} & {
breadcrumb?: (props: typeof __VLS_1) => any;
} & {
icon?: (props: typeof __VLS_3) => any;
} & {
title?: (props: typeof __VLS_16) => any;
} & {
content?: (props: typeof __VLS_23) => any;
} & {
extra?: (props: typeof __VLS_25) => any;
} & {
default?: (props: typeof __VLS_27) => any;
};
declare const __VLS_base: vue.DefineComponent<PageHeaderProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
back: () => void;
}, string, vue.PublicProps, Readonly<PageHeaderProps> & Readonly<{
onBack?: (() => any) | undefined;
}>, {
content: string;
icon: IconPropType;
}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
type __VLS_WithSlots<T, S> = T & {
new (): {
$slots: S;
};
};
//#endregion
export { _default };
@@ -0,0 +1,67 @@
const require_runtime = require('../../../_virtual/_rolldown/runtime.js');
const require_index = require('../../../hooks/use-locale/index.js');
const require_index$1 = require('../../../hooks/use-namespace/index.js');
const require_index$2 = require('../../icon/index.js');
const require_index$3 = require('../../divider/index.js');
const require_page_header = require('./page-header.js');
let vue = require("vue");
//#region ../../packages/components/page-header/src/page-header.vue?vue&type=script&setup=true&lang.ts
const _hoisted_1 = ["aria-label"];
var page_header_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
name: "ElPageHeader",
__name: "page-header",
props: require_page_header.pageHeaderProps,
emits: require_page_header.pageHeaderEmits,
setup(__props, { emit: __emit }) {
const emit = __emit;
const { t } = require_index.useLocale();
const ns = require_index$1.useNamespace("page-header");
function handleClick() {
emit("back");
}
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", { class: (0, vue.normalizeClass)([
(0, vue.unref)(ns).b(),
(0, vue.unref)(ns).is("contentful", !!_ctx.$slots.default),
{
[(0, vue.unref)(ns).m("has-breadcrumb")]: !!_ctx.$slots.breadcrumb,
[(0, vue.unref)(ns).m("has-extra")]: !!_ctx.$slots.extra
}
]) }, [
_ctx.$slots.breadcrumb ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
key: 0,
class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("breadcrumb"))
}, [(0, vue.renderSlot)(_ctx.$slots, "breadcrumb")], 2)) : (0, vue.createCommentVNode)("v-if", true),
(0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("header")) }, [(0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("left")) }, [
(0, vue.createElementVNode)("div", {
class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("back")),
role: "button",
tabindex: "0",
onClick: handleClick
}, [__props.icon || _ctx.$slots.icon ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
key: 0,
"aria-label": __props.title || (0, vue.unref)(t)("el.pageHeader.title"),
class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("icon"))
}, [(0, vue.renderSlot)(_ctx.$slots, "icon", {}, () => [__props.icon ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(require_index$2.ElIcon), { key: 0 }, {
default: (0, vue.withCtx)(() => [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(__props.icon)))]),
_: 1
})) : (0, vue.createCommentVNode)("v-if", true)])], 10, _hoisted_1)) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("title")) }, [(0, vue.renderSlot)(_ctx.$slots, "title", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.title || (0, vue.unref)(t)("el.pageHeader.title")), 1)])], 2)], 2),
(0, vue.createVNode)((0, vue.unref)(require_index$3.ElDivider), { direction: "vertical" }),
(0, vue.createElementVNode)("div", { class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("content")) }, [(0, vue.renderSlot)(_ctx.$slots, "content", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)(__props.content), 1)])], 2)
], 2), _ctx.$slots.extra ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
key: 0,
class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("extra"))
}, [(0, vue.renderSlot)(_ctx.$slots, "extra")], 2)) : (0, vue.createCommentVNode)("v-if", true)], 2),
_ctx.$slots.default ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
key: 1,
class: (0, vue.normalizeClass)((0, vue.unref)(ns).e("main"))
}, [(0, vue.renderSlot)(_ctx.$slots, "default")], 2)) : (0, vue.createCommentVNode)("v-if", true)
], 2);
};
}
});
//#endregion
exports.default = page_header_vue_vue_type_script_setup_true_lang_default;
//# sourceMappingURL=page-header.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
{"version":3,"file":"page-header.vue_vue_type_script_setup_true_lang.js","names":["$slots"],"sources":["../../../../../../packages/components/page-header/src/page-header.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.is('contentful', !!$slots.default),\n {\n [ns.m('has-breadcrumb')]: !!$slots.breadcrumb,\n [ns.m('has-extra')]: !!$slots.extra,\n },\n ]\"\n >\n <div v-if=\"$slots.breadcrumb\" :class=\"ns.e('breadcrumb')\">\n <slot name=\"breadcrumb\" />\n </div>\n <div :class=\"ns.e('header')\">\n <div :class=\"ns.e('left')\">\n <div\n :class=\"ns.e('back')\"\n role=\"button\"\n tabindex=\"0\"\n @click=\"handleClick\"\n >\n <div\n v-if=\"icon || $slots.icon\"\n :aria-label=\"title || t('el.pageHeader.title')\"\n :class=\"ns.e('icon')\"\n >\n <slot name=\"icon\">\n <el-icon v-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n </slot>\n </div>\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title || t('el.pageHeader.title') }}</slot>\n </div>\n </div>\n <el-divider direction=\"vertical\" />\n <div :class=\"ns.e('content')\">\n <slot name=\"content\">{{ content }}</slot>\n </div>\n </div>\n\n <div v-if=\"$slots.extra\" :class=\"ns.e('extra')\">\n <slot name=\"extra\" />\n </div>\n </div>\n\n <div v-if=\"$slots.default\" :class=\"ns.e('main')\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ElDivider } from '@element-plus/components/divider'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { Back } from '@element-plus/icons-vue'\nimport { pageHeaderEmits } from './page-header'\n\nimport type { PageHeaderProps } from './page-header'\n\ndefineOptions({\n name: 'ElPageHeader',\n})\n\nwithDefaults(defineProps<PageHeaderProps>(), {\n icon: () => Back,\n content: '',\n})\nconst emit = defineEmits(pageHeaderEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('page-header')\n\nfunction handleClick() {\n emit('back')\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;EAuEA,MAAM,OAAO;EAEb,MAAM,EAAE,MAAM,yBAAU;EACxB,MAAM,KAAK,6BAAa,cAAa;EAErC,SAAS,cAAc;AACrB,QAAK,OAAM;;;4DA1BL,OAAA,EAjDH,+BAAK;mBAAU,GAAE,CAAC,GAAC;mBAAU,GAAE,CAAC,GAAE,cAAA,CAAA,CAAiBA,KAAAA,OAAO,QAAO;;qBAAoB,GAAE,CAAC,EAAC,iBAAA,GAAA,CAAA,CAAuBA,KAAAA,OAAO;qBAAqB,GAAE,CAAC,EAAC,YAAA,GAAA,CAAA,CAAkBA,KAAAA,OAAO;;;IAS/JA,KAAAA,OAAO,gEAEZ,OAAA;;KAFyB,8CAAO,GAAE,CAAC,EAAC,aAAA,CAAA;4BACd,KAAA,QAAA,aAAA;gCAkCtB,OAAA,EAhCA,8CAAO,GAAE,CAAC,EAAC,SAAA,CAAA,iCA2BT,OAAA,EA1BA,8CAAO,GAAE,CAAC,EAAC,OAAA,CAAA;iCAqBT,OAAA;MAnBH,8CAAO,GAAE,CAAC,EAAC,OAAA,CAAA;MACZ,MAAK;MACL,UAAS;MACR,SAAO;SAGA,QAAA,QAAQA,KAAAA,OAAO,0DASjB,OAAA;;MARH,cAAY,QAAA,wBAAS,EAAC,CAAA,sBAAA;MACtB,8CAAO,GAAE,CAAC,EAAC,OAAA,CAAA;6BAML,KAAA,QAAA,QAAA,EAAA,QAAA,CAHU,QAAA,kEAEL,uBAAA,EAAA,EAAA,KAAA,GAAA,EAAA;sCADgB,8EAAR,QAAA,KAAI,CAAA;;mJAMpB,OAAA,EAFA,8CAAO,GAAE,CAAC,EAAC,QAAA,CAAA,yBACkD,KAAA,QAAA,SAAA,EAAA,QAAA,mDAA3C,QAAA,wBAAS,EAAC,CAAA,sBAAA,CAAA,EAAA,EAAA;yCAGD,0BAAA,EAAA,EAAvB,WAAU,YAAU,CAAA;iCAG1B,OAAA,EAFA,8CAAO,GAAE,CAAC,EAAC,UAAA,CAAA,yBAC0B,KAAA,QAAA,WAAA,EAAA,QAAA,mDAAjB,QAAA,QAAO,EAAA,EAAA;WAIxBA,KAAAA,OAAO,2DAEZ,OAAA;;KAFoB,8CAAO,GAAE,CAAC,EAAC,QAAA,CAAA;4BACd,KAAA,QAAA,QAAA;IAIdA,KAAAA,OAAO,6DAEZ,OAAA;;KAFsB,8CAAO,GAAE,CAAC,EAAC,OAAA,CAAA;4BAC7B,KAAA,QAAA,UAAA"}
@@ -0,0 +1,9 @@
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const require_page_header_vue_vue_type_script_setup_true_lang = require('./page-header.vue_vue_type_script_setup_true_lang.js');
//#region ../../packages/components/page-header/src/page-header.vue
var page_header_default = require_page_header_vue_vue_type_script_setup_true_lang.default;
//#endregion
exports.default = page_header_default;
//# sourceMappingURL=page-header2.js.map
@@ -0,0 +1 @@
{"version":3,"file":"page-header2.js","names":[],"sources":["../../../../../../packages/components/page-header/src/page-header.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.is('contentful', !!$slots.default),\n {\n [ns.m('has-breadcrumb')]: !!$slots.breadcrumb,\n [ns.m('has-extra')]: !!$slots.extra,\n },\n ]\"\n >\n <div v-if=\"$slots.breadcrumb\" :class=\"ns.e('breadcrumb')\">\n <slot name=\"breadcrumb\" />\n </div>\n <div :class=\"ns.e('header')\">\n <div :class=\"ns.e('left')\">\n <div\n :class=\"ns.e('back')\"\n role=\"button\"\n tabindex=\"0\"\n @click=\"handleClick\"\n >\n <div\n v-if=\"icon || $slots.icon\"\n :aria-label=\"title || t('el.pageHeader.title')\"\n :class=\"ns.e('icon')\"\n >\n <slot name=\"icon\">\n <el-icon v-if=\"icon\">\n <component :is=\"icon\" />\n </el-icon>\n </slot>\n </div>\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title || t('el.pageHeader.title') }}</slot>\n </div>\n </div>\n <el-divider direction=\"vertical\" />\n <div :class=\"ns.e('content')\">\n <slot name=\"content\">{{ content }}</slot>\n </div>\n </div>\n\n <div v-if=\"$slots.extra\" :class=\"ns.e('extra')\">\n <slot name=\"extra\" />\n </div>\n </div>\n\n <div v-if=\"$slots.default\" :class=\"ns.e('main')\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ElDivider } from '@element-plus/components/divider'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { Back } from '@element-plus/icons-vue'\nimport { pageHeaderEmits } from './page-header'\n\nimport type { PageHeaderProps } from './page-header'\n\ndefineOptions({\n name: 'ElPageHeader',\n})\n\nwithDefaults(defineProps<PageHeaderProps>(), {\n icon: () => Back,\n content: '',\n})\nconst emit = defineEmits(pageHeaderEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('page-header')\n\nfunction handleClick() {\n emit('back')\n}\n</script>\n"],"mappings":""}
@@ -0,0 +1,4 @@
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
require('../../base/style/css.js');
require('../../divider/style/css.js');
require("element-plus/theme-chalk/el-page-header.css");
@@ -0,0 +1,4 @@
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
require('../../base/style/index.js');
require('../../divider/style/index.js');
require("element-plus/theme-chalk/src/page-header.scss");