es-plus-ui 1.2.0 → 1.3.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.
@@ -0,0 +1,97 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var resolver_exports = {};
19
+ __export(resolver_exports, {
20
+ EsPlusResolver: () => EsPlusResolver,
21
+ default: () => resolver_default
22
+ });
23
+ module.exports = __toCommonJS(resolver_exports);
24
+ const EP_INTERNAL_DEPS = [
25
+ "config-provider",
26
+ "form",
27
+ "form-item",
28
+ "input",
29
+ "select",
30
+ "option",
31
+ "button",
32
+ "row",
33
+ "col",
34
+ "table",
35
+ "table-column",
36
+ "pagination",
37
+ "dialog",
38
+ "icon",
39
+ "tag",
40
+ "dropdown",
41
+ "dropdown-menu",
42
+ "dropdown-item",
43
+ "date-picker",
44
+ "time-picker",
45
+ "cascader",
46
+ "radio",
47
+ "radio-group",
48
+ "checkbox",
49
+ "checkbox-group",
50
+ "switch",
51
+ "slider",
52
+ "rate",
53
+ "color-picker",
54
+ "transfer",
55
+ "upload",
56
+ "loading"
57
+ ];
58
+ const ES_PLUS_COMPONENTS = {
59
+ EsTable: "es-plus-ui",
60
+ EsForm: "es-plus-ui",
61
+ EsDialog: "es-plus-ui",
62
+ EsCrudPage: "es-plus-ui",
63
+ SvgIcon: "es-plus-ui"
64
+ };
65
+ function getSideEffects(options) {
66
+ const effects = ["es-plus-ui/dist/style.css"];
67
+ if (options.importElementStyles !== false) {
68
+ const stylePath = options.importStyle === "sass" ? "style/index" : "style/css";
69
+ for (const comp of EP_INTERNAL_DEPS) {
70
+ effects.push(`element-plus/es/components/${comp}/${stylePath}`);
71
+ }
72
+ }
73
+ return effects;
74
+ }
75
+ function EsPlusResolver(options = {}) {
76
+ let sideEffects;
77
+ return {
78
+ type: "component",
79
+ resolve(name) {
80
+ if (name in ES_PLUS_COMPONENTS) {
81
+ if (!sideEffects) {
82
+ sideEffects = getSideEffects(options);
83
+ }
84
+ return {
85
+ name,
86
+ from: ES_PLUS_COMPONENTS[name],
87
+ sideEffects
88
+ };
89
+ }
90
+ }
91
+ };
92
+ }
93
+ var resolver_default = EsPlusResolver;
94
+ // Annotate the CommonJS export names for ESM import in node:
95
+ 0 && (module.exports = {
96
+ EsPlusResolver
97
+ });
@@ -0,0 +1,25 @@
1
+ export interface EsPlusResolverOptions {
2
+ /**
3
+ * 是否自动注入 es-plus 内部依赖的 Element Plus 组件样式
4
+ * @default true
5
+ */
6
+ importElementStyles?: boolean
7
+ /**
8
+ * Element Plus 样式导入方式
9
+ * - 'css': 导入编译后的 CSS
10
+ * - 'sass': 导入 SASS 源文件
11
+ * @default 'css'
12
+ */
13
+ importStyle?: 'css' | 'sass'
14
+ }
15
+
16
+ export declare function EsPlusResolver(options?: EsPlusResolverOptions): {
17
+ type: 'component'
18
+ resolve(name: string): {
19
+ name: string
20
+ from: string
21
+ sideEffects: string[]
22
+ } | undefined
23
+ }
24
+
25
+ export default EsPlusResolver
@@ -0,0 +1,74 @@
1
+ const EP_INTERNAL_DEPS = [
2
+ "config-provider",
3
+ "form",
4
+ "form-item",
5
+ "input",
6
+ "select",
7
+ "option",
8
+ "button",
9
+ "row",
10
+ "col",
11
+ "table",
12
+ "table-column",
13
+ "pagination",
14
+ "dialog",
15
+ "icon",
16
+ "tag",
17
+ "dropdown",
18
+ "dropdown-menu",
19
+ "dropdown-item",
20
+ "date-picker",
21
+ "time-picker",
22
+ "cascader",
23
+ "radio",
24
+ "radio-group",
25
+ "checkbox",
26
+ "checkbox-group",
27
+ "switch",
28
+ "slider",
29
+ "rate",
30
+ "color-picker",
31
+ "transfer",
32
+ "upload",
33
+ "loading"
34
+ ];
35
+ const ES_PLUS_COMPONENTS = {
36
+ EsTable: "es-plus-ui",
37
+ EsForm: "es-plus-ui",
38
+ EsDialog: "es-plus-ui",
39
+ EsCrudPage: "es-plus-ui",
40
+ SvgIcon: "es-plus-ui"
41
+ };
42
+ function getSideEffects(options) {
43
+ const effects = ["es-plus-ui/dist/style.css"];
44
+ if (options.importElementStyles !== false) {
45
+ const stylePath = options.importStyle === "sass" ? "style/index" : "style/css";
46
+ for (const comp of EP_INTERNAL_DEPS) {
47
+ effects.push(`element-plus/es/components/${comp}/${stylePath}`);
48
+ }
49
+ }
50
+ return effects;
51
+ }
52
+ function EsPlusResolver(options = {}) {
53
+ let sideEffects;
54
+ return {
55
+ type: "component",
56
+ resolve(name) {
57
+ if (name in ES_PLUS_COMPONENTS) {
58
+ if (!sideEffects) {
59
+ sideEffects = getSideEffects(options);
60
+ }
61
+ return {
62
+ name,
63
+ from: ES_PLUS_COMPONENTS[name],
64
+ sideEffects
65
+ };
66
+ }
67
+ }
68
+ };
69
+ }
70
+ var resolver_default = EsPlusResolver;
71
+ export {
72
+ EsPlusResolver,
73
+ resolver_default as default
74
+ };
@@ -1,7 +1,6 @@
1
1
  import { BtnConfig } from '../../../types';
2
2
 
3
- declare function __VLS_template(): Readonly<Record<string, any>> & Record<string, any>;
4
- declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
3
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
5
4
  title?: string;
6
5
  visible?: boolean;
7
6
  appendTo?: object | string;
@@ -41,8 +40,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
41
40
  onSubmit?: (payload: any) => any;
42
41
  onClosed?: (val: boolean) => any;
43
42
  "onUpdate:visible"?: (val: boolean) => any;
44
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
45
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
43
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, Readonly<Record<string, any>> & Record<string, any>>;
46
44
  export default _default;
47
45
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
48
46
  type __VLS_TypePropsToRuntimeProps<T> = {
@@ -0,0 +1,44 @@
1
+ /**
2
+ * EsPlusResolver for unplugin-vue-components
3
+ *
4
+ * 解决 es-plus 内部使用 Element Plus 组件但 ElementPlusResolver
5
+ * 无法扫描到第三方预编译包的样式注入问题。
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import Components from 'unplugin-vue-components/vite'
10
+ * import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
11
+ * import { EsPlusResolver } from 'es-plus-ui/resolver'
12
+ *
13
+ * export default defineConfig({
14
+ * plugins: [
15
+ * Components({
16
+ * resolvers: [ElementPlusResolver(), EsPlusResolver()]
17
+ * })
18
+ * ]
19
+ * })
20
+ * ```
21
+ */
22
+ export interface EsPlusResolverOptions {
23
+ /**
24
+ * 是否自动注入 es-plus 内部依赖的 Element Plus 组件样式
25
+ * @default true
26
+ */
27
+ importElementStyles?: boolean;
28
+ /**
29
+ * Element Plus 样式导入方式
30
+ * - 'css': 导入编译后的 CSS (element-plus/es/components/xxx/style/css)
31
+ * - 'sass': 导入 SASS 源文件 (element-plus/es/components/xxx/style/index)
32
+ * @default 'css'
33
+ */
34
+ importStyle?: 'css' | 'sass';
35
+ }
36
+ export declare function EsPlusResolver(options?: EsPlusResolverOptions): {
37
+ type: "component";
38
+ resolve(name: string): {
39
+ name: string;
40
+ from: string;
41
+ sideEffects: string[];
42
+ };
43
+ };
44
+ export default EsPlusResolver;
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.btns[data-v-04347b64]{padding:0 0 5px;display:flex;justify-content:space-between;align-items:center}.left-text[data-v-04347b64]{color:#7d7d7d;font-size:14px}.btn-container_block[data-v-04347b64]{display:flex;justify-content:space-between;align-items:center;flex:1}.btn-container_block .btn-left[data-v-04347b64]{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.btn-container_block .btn-right[data-v-04347b64]{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap}@media (max-width: 768px){.btns[data-v-04347b64]{flex-direction:column;align-items:flex-start}.btn-container_block[data-v-04347b64]{flex-direction:column;align-items:flex-start;gap:10px}.btn-container_block .btn-left[data-v-04347b64],.btn-container_block .btn-right[data-v-04347b64]{width:100%;justify-content:flex-start}}.el-dp_tables[data-v-c84b1d80],.el-dp_tables[data-v-c84b1d80] .el-table__body-wrapper{height:auto}.table_component[data-v-c84b1d80]{width:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;overflow:hidden}.table_containers[data-v-c84b1d80]{flex:1;width:100%;height:100%;display:flex;justify-content:space-between;flex-direction:column;align-items:flex-start;position:relative}.pagination_page[data-v-c84b1d80]{width:100%;display:flex;justify-content:center;align-items:center}.btn-slot[data-v-c84b1d80]{width:100%}.btn-slot .headerBar[data-v-c84b1d80]{box-sizing:border-box;background-color:#fff;border-radius:6px}.btn-slot .headerBar[data-v-c84b1d80] .el-form-item--small .el-form-item__label{box-sizing:border-box}.tableContainer[data-v-c84b1d80]{border-radius:0;transition:all 1.5s;flex:1;width:100%;display:flex;justify-content:space-between;flex-direction:column;align-items:flex-start}.tableContainer .table_inner_containers[data-v-c84b1d80]{width:100%}.tableContainer[data-v-c84b1d80] .el-table__empty-block{width:100%!important;margin:32px 0;font-size:14px;line-height:1.5715}.tableContainer[data-v-c84b1d80] .el-table__empty-block .el-table__empty-text{width:auto!important}.tableContainer[data-v-c84b1d80] .el-table__empty-block .ant-empty-image{height:40px;margin-bottom:8px}.tableContainer[data-v-c84b1d80] .el-table__empty-block .ant-empty-image .ant-empty-img-simple-ellipse{fill:#f5f5f5}.tableContainer[data-v-c84b1d80] .el-table__empty-block .ant-empty-image .ant-empty-img-simple-g{stroke:#d9d9d9}.tableContainer[data-v-c84b1d80] .el-table__empty-block .ant-empty-image .ant-empty-img-simple-path{fill:#fafafa}.tableContainer[data-v-c84b1d80] .el-table__empty-block .ant-empty-description{line-height:1.5715;color:#00000040}.tableContainer[data-v-c84b1d80] .el-tag{height:20px;padding:0 7px;line-height:20px;background:#fafafa;border:none;border-radius:4px}.tableContainer[data-v-c84b1d80] .el-tag.el-tag--info{color:#000000d9}.tableContainer[data-v-c84b1d80] .el-tag.el-tag--success{color:#52c41a;background:#f6ffed;border-color:#b7eb8f}.es-form[data-v-4a516856] .el-form-item{margin-bottom:18px}.es-form[data-v-4a516856] .el-form-item__label{font-weight:500}.es-form .buttonOperate[data-v-4a516856]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.es-form .leftRightBtn[data-v-4a516856]{display:flex;justify-content:space-between;align-items:center;width:100%}.es-form .leftRightBtn .btn-left[data-v-4a516856],.es-form .leftRightBtn .btn-right[data-v-4a516856]{display:flex;align-items:center}.es-form .btn-formItem[data-v-4a516856]{margin-bottom:0}.es-form .formItemCols[data-v-4a516856]{width:100%}.dp-dialog_wrapper[data-v-cf3f1ce4] .dialogAuto{margin:0!important}.dp-dialog_wrapper[data-v-cf3f1ce4] .el-overlay-dialog{display:flex;justify-content:center;align-items:center}.dp-dialog_wrapper[data-v-cf3f1ce4] .el-dialog{padding:10px}.dp-dialog_wrapper[data-v-cf3f1ce4] .el-dialog .el-dialog__footer{padding-top:0}.dp-dialog_wrapper[data-v-cf3f1ce4] .el-dialog .el-dialog__body{padding:10px 0}.dp-dialog_wrapper[data-v-cf3f1ce4] .el-dialog .el-dialog__header{border-bottom:1px solid #eee;display:flex;padding:0 0 10px;align-items:center;justify-content:space-between;margin:0}.dialog-title[data-v-cf3f1ce4]{line-height:24px;font-size:14px;color:#303133;font-weight:700}.btns[data-v-cf3f1ce4]{display:flex;align-items:center}.btns i[data-v-cf3f1ce4]{margin-right:8px;font-size:14px;cursor:pointer}.btns i[data-v-cf3f1ce4]:last-child{margin-right:0}.dialog_body_layouts[data-v-cf3f1ce4]{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(135,162,189,.1490196078) rgba(200,213,225,.2784313725)}[data-v-cf3f1ce4]::-webkit-scrollbar{width:14px;height:14px}[data-v-cf3f1ce4]::-webkit-scrollbar-button{width:0;height:0;display:none}[data-v-cf3f1ce4]::-webkit-scrollbar-corner{background-color:transparent}[data-v-cf3f1ce4]::-webkit-scrollbar-thumb{min-height:12px;border:4px solid transparent;background-clip:content-box;border-radius:7px;background-color:#c8d5e1}[data-v-cf3f1ce4]::-webkit-scrollbar-thumb:hover{background-color:#a8bbcf}[data-v-cf3f1ce4]::-webkit-scrollbar-thumb:active{background-color:#87a2bd}[data-v-cf3f1ce4]::-webkit-scrollbar-track{background-color:transparent}[data-v-cf3f1ce4]::-webkit-scrollbar-track-piece{background-color:transparent}.es-crud-page[data-v-7a9de7fc]{width:100%}.svg-icon[data-v-3a11db57]{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.svg-external-icon[data-v-3a11db57]{background-color:currentColor;-webkit-mask-size:cover!important;mask-size:cover!important;display:inline-block}
1
+ @charset "UTF-8";.btns[data-v-aa1d960e]{padding:0 0 5px;display:flex;justify-content:space-between;align-items:center}.left-text[data-v-aa1d960e]{color:#7d7d7d;font-size:14px}.btn-container_block[data-v-aa1d960e]{display:flex;justify-content:space-between;align-items:center;flex:1}.btn-container_block .btn-left[data-v-aa1d960e]{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.btn-container_block .btn-right[data-v-aa1d960e]{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap}@media (max-width: 768px){.btns[data-v-aa1d960e]{flex-direction:column;align-items:flex-start}.btn-container_block[data-v-aa1d960e]{flex-direction:column;align-items:flex-start;gap:10px}.btn-container_block .btn-left[data-v-aa1d960e],.btn-container_block .btn-right[data-v-aa1d960e]{width:100%;justify-content:flex-start}}.el-dp_tables[data-v-b0c271e8],.el-dp_tables[data-v-b0c271e8] .el-table__body-wrapper{height:auto}.table_component[data-v-b0c271e8]{width:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;overflow:hidden}.table_containers[data-v-b0c271e8]{flex:1;width:100%;height:100%;display:flex;justify-content:space-between;flex-direction:column;align-items:flex-start;position:relative}.pagination_page[data-v-b0c271e8]{width:100%;display:flex;justify-content:center;align-items:center}.btn-slot[data-v-b0c271e8]{width:100%}.btn-slot .headerBar[data-v-b0c271e8]{box-sizing:border-box;background-color:#fff;border-radius:6px}.btn-slot .headerBar[data-v-b0c271e8] .el-form-item--small .el-form-item__label{box-sizing:border-box}.tableContainer[data-v-b0c271e8]{border-radius:0;transition:all 1.5s;flex:1;width:100%;display:flex;justify-content:space-between;flex-direction:column;align-items:flex-start}.tableContainer .table_inner_containers[data-v-b0c271e8]{width:100%}.tableContainer[data-v-b0c271e8] .el-table__empty-block{width:100%!important;margin:32px 0;font-size:14px;line-height:1.5715}.tableContainer[data-v-b0c271e8] .el-table__empty-block .el-table__empty-text{width:auto!important}.tableContainer[data-v-b0c271e8] .el-table__empty-block .ant-empty-image{height:40px;margin-bottom:8px}.tableContainer[data-v-b0c271e8] .el-table__empty-block .ant-empty-image .ant-empty-img-simple-ellipse{fill:#f5f5f5}.tableContainer[data-v-b0c271e8] .el-table__empty-block .ant-empty-image .ant-empty-img-simple-g{stroke:#d9d9d9}.tableContainer[data-v-b0c271e8] .el-table__empty-block .ant-empty-image .ant-empty-img-simple-path{fill:#fafafa}.tableContainer[data-v-b0c271e8] .el-table__empty-block .ant-empty-description{line-height:1.5715;color:#00000040}.tableContainer[data-v-b0c271e8] .el-tag{height:20px;padding:0 7px;line-height:20px;background:#fafafa;border:none;border-radius:4px}.tableContainer[data-v-b0c271e8] .el-tag.el-tag--info{color:#000000d9}.tableContainer[data-v-b0c271e8] .el-tag.el-tag--success{color:#52c41a;background:#f6ffed;border-color:#b7eb8f}.es-form[data-v-4a516856] .el-form-item{margin-bottom:18px}.es-form[data-v-4a516856] .el-form-item__label{font-weight:500}.es-form .buttonOperate[data-v-4a516856]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.es-form .leftRightBtn[data-v-4a516856]{display:flex;justify-content:space-between;align-items:center;width:100%}.es-form .leftRightBtn .btn-left[data-v-4a516856],.es-form .leftRightBtn .btn-right[data-v-4a516856]{display:flex;align-items:center}.es-form .btn-formItem[data-v-4a516856]{margin-bottom:0}.es-form .formItemCols[data-v-4a516856]{width:100%}.dp-dialog_wrapper[data-v-85ec17b8] .dialogAuto{margin:0!important}.dp-dialog_wrapper[data-v-85ec17b8] .el-overlay-dialog{display:flex;justify-content:center;align-items:center}.dp-dialog_wrapper[data-v-85ec17b8] .el-dialog{padding:10px}.dp-dialog_wrapper[data-v-85ec17b8] .el-dialog .el-dialog__footer{padding-top:0}.dp-dialog_wrapper[data-v-85ec17b8] .el-dialog .el-dialog__body{padding:10px 0}.dp-dialog_wrapper[data-v-85ec17b8] .el-dialog .el-dialog__header{border-bottom:1px solid #eee;display:flex;padding:0 0 10px;align-items:center;justify-content:space-between;margin:0}.dialog-title[data-v-85ec17b8]{line-height:24px;font-size:14px;color:#303133;font-weight:700}.btns[data-v-85ec17b8]{display:flex;align-items:center}.btns i[data-v-85ec17b8]{margin-right:8px;font-size:14px;cursor:pointer}.btns i[data-v-85ec17b8]:last-child{margin-right:0}.dialog_body_layouts[data-v-85ec17b8]{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(135,162,189,.1490196078) rgba(200,213,225,.2784313725)}[data-v-85ec17b8]::-webkit-scrollbar{width:14px;height:14px}[data-v-85ec17b8]::-webkit-scrollbar-button{width:0;height:0;display:none}[data-v-85ec17b8]::-webkit-scrollbar-corner{background-color:transparent}[data-v-85ec17b8]::-webkit-scrollbar-thumb{min-height:12px;border:4px solid transparent;background-clip:content-box;border-radius:7px;background-color:#c8d5e1}[data-v-85ec17b8]::-webkit-scrollbar-thumb:hover{background-color:#a8bbcf}[data-v-85ec17b8]::-webkit-scrollbar-thumb:active{background-color:#87a2bd}[data-v-85ec17b8]::-webkit-scrollbar-track{background-color:transparent}[data-v-85ec17b8]::-webkit-scrollbar-track-piece{background-color:transparent}.es-crud-page[data-v-62d0182a]{width:100%}.svg-icon[data-v-a37f527d]{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.svg-external-icon[data-v-a37f527d]{background-color:currentColor;-webkit-mask-size:cover!important;mask-size:cover!important;display:inline-block}
package/package.json CHANGED
@@ -1,83 +1,88 @@
1
- {
2
- "name": "es-plus-ui",
3
- "version": "1.2.0",
4
- "description": "基于 Vue 3 和 Element Plus 的企业级中后台前端组件库",
5
- "type": "module",
6
- "main": "./dist/es-plus.umd.cjs",
7
- "module": "./dist/es-plus.js",
8
- "types": "./dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "import": "./dist/es-plus.js",
12
- "require": "./dist/es-plus.umd.cjs",
13
- "types": "./dist/index.d.ts"
14
- },
15
- "./dist/style.css": "./dist/style.css",
16
- "./schemas/*": "./schemas/*"
17
- },
18
- "files": [
19
- "dist",
20
- "schemas",
21
- "README.md"
22
- ],
23
- "sideEffects": [
24
- "**/*.css"
25
- ],
26
- "scripts": {
27
- "build": "vite build",
28
- "prepublishOnly": "npm run build",
29
- "test": "vitest",
30
- "test:ui": "vitest --ui",
31
- "test:coverage": "vitest --coverage"
32
- },
33
- "keywords": [
34
- "vue3",
35
- "vue",
36
- "element-plus",
37
- "component-library",
38
- "form",
39
- "table",
40
- "dialog",
41
- "es-plus",
42
- "typescript",
43
- "enterprise",
44
- "config-driven",
45
- "crud",
46
- "json-schema",
47
- "ai-friendly"
48
- ],
49
- "author": "liujiaao <303363554@qq.com>",
50
- "license": "MIT",
51
- "repository": {
52
- "type": "git",
53
- "url": "https://github.com/liujiaao/es-plus.git",
54
- "directory": "packages/es-plus"
55
- },
56
- "homepage": "https://liujiaao.github.io/es-plus/",
57
- "bugs": {
58
- "url": "https://github.com/liujiaao/es-plus/issues"
59
- },
60
- "publishConfig": {
61
- "access": "public",
62
- "registry": "https://registry.npmjs.org/"
63
- },
64
- "peerDependencies": {
65
- "vue": "^3.2.0",
66
- "element-plus": "^2.2.0",
67
- "@element-plus/icons-vue": "^2.1.0"
68
- },
69
- "devDependencies": {
70
- "@vitejs/plugin-vue": "^5.0.0",
71
- "@vitejs/plugin-vue-jsx": "^4.0.0",
72
- "@vue/test-utils": "^2.4.0",
73
- "happy-dom": "^14.0.0",
74
- "sass": "^1.70.0",
75
- "typescript": "^5.3.0",
76
- "vite": "^5.0.0",
77
- "vite-plugin-dts": "^3.7.0",
78
- "vitest": "^1.2.0",
79
- "vue": "^3.4.0",
80
- "vue-tsc": "^1.8.0",
81
- "element-plus": "^2.5.0"
82
- }
83
- }
1
+ {
2
+ "name": "es-plus-ui",
3
+ "version": "1.3.0",
4
+ "description": "基于 Vue 3 和 Element Plus 的企业级中后台前端组件库",
5
+ "type": "module",
6
+ "main": "./dist/es-plus.umd.cjs",
7
+ "module": "./dist/es-plus.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/es-plus.js",
12
+ "require": "./dist/es-plus.umd.cjs",
13
+ "types": "./dist/index.d.ts"
14
+ },
15
+ "./resolver": {
16
+ "import": "./dist/resolver.mjs",
17
+ "require": "./dist/resolver.cjs",
18
+ "types": "./dist/resolver.d.ts"
19
+ },
20
+ "./dist/style.css": "./dist/style.css",
21
+ "./schemas/*": "./schemas/*"
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "schemas",
26
+ "README.md"
27
+ ],
28
+ "sideEffects": [
29
+ "**/*.css"
30
+ ],
31
+ "scripts": {
32
+ "build": "vite build",
33
+ "prepublishOnly": "npm run build",
34
+ "test": "vitest",
35
+ "test:ui": "vitest --ui",
36
+ "test:coverage": "vitest --coverage"
37
+ },
38
+ "keywords": [
39
+ "vue3",
40
+ "vue",
41
+ "element-plus",
42
+ "component-library",
43
+ "form",
44
+ "table",
45
+ "dialog",
46
+ "es-plus",
47
+ "typescript",
48
+ "enterprise",
49
+ "config-driven",
50
+ "crud",
51
+ "json-schema",
52
+ "ai-friendly"
53
+ ],
54
+ "author": "liujiaao <303363554@qq.com>",
55
+ "license": "MIT",
56
+ "repository": {
57
+ "type": "git",
58
+ "url": "https://github.com/liujiaao/es-plus.git",
59
+ "directory": "packages/es-plus"
60
+ },
61
+ "homepage": "https://liujiaao.github.io/es-plus/",
62
+ "bugs": {
63
+ "url": "https://github.com/liujiaao/es-plus/issues"
64
+ },
65
+ "publishConfig": {
66
+ "access": "public",
67
+ "registry": "https://registry.npmjs.org/"
68
+ },
69
+ "peerDependencies": {
70
+ "vue": "^3.2.0",
71
+ "element-plus": "^2.2.0",
72
+ "@element-plus/icons-vue": "^2.1.0"
73
+ },
74
+ "devDependencies": {
75
+ "@vitejs/plugin-vue": "^5.0.0",
76
+ "@vitejs/plugin-vue-jsx": "^4.0.0",
77
+ "@vue/test-utils": "^2.4.0",
78
+ "happy-dom": "^14.0.0",
79
+ "sass": "^1.70.0",
80
+ "typescript": "^5.3.0",
81
+ "vite": "^5.0.0",
82
+ "vite-plugin-dts": "^3.7.0",
83
+ "vitest": "^1.2.0",
84
+ "vue": "^3.4.0",
85
+ "vue-tsc": "^1.8.0",
86
+ "element-plus": "^2.5.0"
87
+ }
88
+ }