@es-plus/vue2 0.9.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.
Files changed (53) hide show
  1. package/README.md +156 -0
  2. package/dist/components/es-crud-page/es-crud-page.vue.d.ts +57 -0
  3. package/dist/components/es-crud-page/es-crud-page.vue.d.ts.map +1 -0
  4. package/dist/components/es-crud-page/index.d.ts +6 -0
  5. package/dist/components/es-crud-page/index.d.ts.map +1 -0
  6. package/dist/components/es-crud-page/types.d.ts +100 -0
  7. package/dist/components/es-crud-page/types.d.ts.map +1 -0
  8. package/dist/components/es-dialog/component.vue.d.ts +236 -0
  9. package/dist/components/es-dialog/component.vue.d.ts.map +1 -0
  10. package/dist/components/es-dialog/index.d.ts +6 -0
  11. package/dist/components/es-dialog/index.d.ts.map +1 -0
  12. package/dist/components/es-dialog/render-jsx.vue.d.ts +60 -0
  13. package/dist/components/es-dialog/render-jsx.vue.d.ts.map +1 -0
  14. package/dist/components/es-dialog/use-dialog.d.ts +17 -0
  15. package/dist/components/es-dialog/use-dialog.d.ts.map +1 -0
  16. package/dist/components/es-form/es-form.vue.d.ts +174 -0
  17. package/dist/components/es-form/es-form.vue.d.ts.map +1 -0
  18. package/dist/components/es-form/index.d.ts +5 -0
  19. package/dist/components/es-form/index.d.ts.map +1 -0
  20. package/dist/components/es-table/column-item.vue.d.ts +17 -0
  21. package/dist/components/es-table/column-item.vue.d.ts.map +1 -0
  22. package/dist/components/es-table/component.vue.d.ts +228 -0
  23. package/dist/components/es-table/component.vue.d.ts.map +1 -0
  24. package/dist/components/es-table/index.d.ts +5 -0
  25. package/dist/components/es-table/index.d.ts.map +1 -0
  26. package/dist/components/es-table/table-btns.vue.d.ts +72 -0
  27. package/dist/components/es-table/table-btns.vue.d.ts.map +1 -0
  28. package/dist/composables/use-form-inputs.d.ts +27 -0
  29. package/dist/composables/use-form-inputs.d.ts.map +1 -0
  30. package/dist/composables/use-form-layout.d.ts +61 -0
  31. package/dist/composables/use-form-layout.d.ts.map +1 -0
  32. package/dist/composables/use-form-request.d.ts +10 -0
  33. package/dist/composables/use-form-request.d.ts.map +1 -0
  34. package/dist/composables/use-table-resize.d.ts +30 -0
  35. package/dist/composables/use-table-resize.d.ts.map +1 -0
  36. package/dist/composables/use-table-selection.d.ts +11 -0
  37. package/dist/composables/use-table-selection.d.ts.map +1 -0
  38. package/dist/es-plus-vue2.js +2105 -0
  39. package/dist/es-plus-vue2.js.map +1 -0
  40. package/dist/es-plus-vue2.umd.cjs +2 -0
  41. package/dist/es-plus-vue2.umd.cjs.map +1 -0
  42. package/dist/index.d.ts +23 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/style.css +1 -0
  45. package/dist/types/index.d.ts +8 -0
  46. package/dist/types/index.d.ts.map +1 -0
  47. package/dist/utils/icon.d.ts +13 -0
  48. package/dist/utils/icon.d.ts.map +1 -0
  49. package/dist/utils/size.d.ts +29 -0
  50. package/dist/utils/size.d.ts.map +1 -0
  51. package/dist/vue-compat.d.ts +18 -0
  52. package/dist/vue-compat.d.ts.map +1 -0
  53. package/package.json +85 -0
@@ -0,0 +1,23 @@
1
+ import { configureEsPlus } from '@es-plus/core';
2
+ import { Vue as VueType } from './vue-compat';
3
+ import { default as EsForm } from './components/es-form';
4
+ import { default as EsTable } from './components/es-table';
5
+ import { default as EsDialog, useDialog } from './components/es-dialog';
6
+ import { default as EsCrudPage } from './components/es-crud-page';
7
+
8
+ interface InstallOptions extends Record<string, unknown> {
9
+ /** 是否跳过组件的全局注册(按需导入场景下置为 true) */
10
+ skipComponentRegistration?: boolean;
11
+ /** 是否跳过 Vue.prototype 上的全局属性注入(默认 true 注入) */
12
+ globalProperties?: boolean;
13
+ }
14
+ declare const install: (Vue: typeof VueType, options?: InstallOptions) => void;
15
+ export { EsForm, EsTable, EsDialog, EsCrudPage, useDialog, configureEsPlus, install, };
16
+ export type { CrudPageSchema, CrudAction, CrudBtnConfig, TableBtnConfig, OperationColumnConfig, RowBtnConfig, RowBtnContext, CrudDialogConfig, DialogRenderContext, DialogBtnConfig, DialogActionContext, } from './components/es-crud-page';
17
+ export type { ModelData, RenderFn, AnyVNode, EsButtonType, EsButtonSize, EsTableSize, ApiParams, FormType, FormItemOption, BtnConfig, LayoutFormProps, TableColumn, ConfigTableOut, TableOptions, PaginationConfig, DialogOptions, EsFormInstance, EsTableInstance, EsPlusOptions, } from './types';
18
+ declare const _default: {
19
+ version: string;
20
+ install: (Vue: typeof VueType, options?: InstallOptions) => void;
21
+ };
22
+ export default _default;
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,MAAM,MAAM,sBAAsB,CAAA;AACzC,OAAO,OAAO,MAAM,uBAAuB,CAAA;AAC3C,OAAO,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,UAAU,MAAM,2BAA2B,CAAA;AAKlD,UAAU,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,kCAAkC;IAClC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAsDD,QAAA,MAAM,OAAO,GAAI,KAAK,OAAO,OAAO,EAAE,UAAS,cAAmB,SAqCjE,CAAA;AAGD,OAAO,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,UAAU,EACV,SAAS,EACT,eAAe,EACf,OAAO,GACR,CAAA;AAGD,YAAY,EACV,cAAc,EACd,UAAU,EACV,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACpB,MAAM,2BAA2B,CAAA;AAElC,YAAY,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,QAAQ,EACR,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,SAAS,CAAA;;;mBArFM,OAAO,OAAO,YAAW,cAAc;;AAwF7D,wBAGC"}
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ @charset "UTF-8";.es-form[data-v-c43f2284] .el-row--flex{flex-wrap:wrap}.es-form[data-v-c43f2284] .el-form-item{margin-bottom:18px}.es-form[data-v-c43f2284] .el-form-item__label{font-weight:500}.es-form .buttonOperate[data-v-c43f2284]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.es-form .leftRightBtn[data-v-c43f2284]{display:flex;justify-content:space-between;align-items:center;width:100%}.es-form .leftRightBtn .btn-left[data-v-c43f2284],.es-form .leftRightBtn .btn-right[data-v-c43f2284]{display:flex;align-items:center}.es-form .btn-formItem[data-v-c43f2284]{margin-bottom:0}.es-form .formItemCols[data-v-c43f2284]{width:100%}.btns[data-v-4ad68a37]{padding:0 0 5px;display:flex;justify-content:space-between;align-items:center}.left-text[data-v-4ad68a37]{color:#7d7d7d;font-size:14px}.btn-container_block[data-v-4ad68a37]{display:flex;justify-content:space-between;align-items:center;flex:1}.btn-container_block .btn-left[data-v-4ad68a37]{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.btn-container_block .btn-right[data-v-4ad68a37]{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap}@media (max-width: 768px){.btns[data-v-4ad68a37]{flex-direction:column;align-items:flex-start}.btn-container_block[data-v-4ad68a37]{flex-direction:column;align-items:flex-start;gap:10px}.btn-container_block .btn-left[data-v-4ad68a37],.btn-container_block .btn-right[data-v-4ad68a37]{width:100%;justify-content:flex-start}}.el-dp_tables[data-v-b7e547d7],.el-dp_tables[data-v-b7e547d7] .el-table__body-wrapper{height:auto}.table_component[data-v-b7e547d7]{width:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;overflow:hidden}.table_containers[data-v-b7e547d7]{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-b7e547d7]{width:100%;display:flex;justify-content:center;align-items:center}.btn-slot[data-v-b7e547d7]{width:100%}.btn-slot .headerBar[data-v-b7e547d7]{box-sizing:border-box;background-color:#fff;border-radius:6px}.btn-slot .headerBar[data-v-b7e547d7] .el-form-item--small .el-form-item__label{box-sizing:border-box}.tableContainer[data-v-b7e547d7]{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-b7e547d7]{width:100%}.tableContainer[data-v-b7e547d7] .el-table__empty-block{width:100%!important;margin:32px 0;font-size:14px;line-height:1.5715}.tableContainer[data-v-b7e547d7] .el-table__empty-block .el-table__empty-text{width:auto!important}.tableContainer[data-v-b7e547d7] .el-table__empty-block .ant-empty-image{height:40px;margin-bottom:8px}.tableContainer[data-v-b7e547d7] .el-table__empty-block .ant-empty-image .ant-empty-img-simple-ellipse{fill:#f5f5f5}.tableContainer[data-v-b7e547d7] .el-table__empty-block .ant-empty-image .ant-empty-img-simple-g{stroke:#d9d9d9}.tableContainer[data-v-b7e547d7] .el-table__empty-block .ant-empty-image .ant-empty-img-simple-path{fill:#fafafa}.tableContainer[data-v-b7e547d7] .el-table__empty-block .ant-empty-description{line-height:1.5715;color:#00000040}.tableContainer[data-v-b7e547d7] .el-tag{height:20px;padding:0 7px;line-height:20px;background:#fafafa;border:none;border-radius:4px}.tableContainer[data-v-b7e547d7] .el-tag.el-tag--info{color:#000000d9}.tableContainer[data-v-b7e547d7] .el-tag.el-tag--success{color:#52c41a;background:#f6ffed;border-color:#b7eb8f}.dp-dialog_wrapper[data-v-de050fb4] .dialogAuto{margin:0!important}.dp-dialog_wrapper[data-v-de050fb4] .el-dialog{padding:10px}.dp-dialog_wrapper[data-v-de050fb4] .el-dialog .el-dialog__footer{padding-top:0}.dp-dialog_wrapper[data-v-de050fb4] .el-dialog .el-dialog__body{padding:10px 0}.dp-dialog_wrapper[data-v-de050fb4] .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-header[data-v-de050fb4]{display:flex;align-items:center;justify-content:space-between;width:100%}.dialog-title[data-v-de050fb4]{line-height:24px;font-size:14px;color:#303133;font-weight:700}.btns[data-v-de050fb4]{display:flex;align-items:center}.btns i[data-v-de050fb4]{margin-right:8px;font-size:14px;cursor:pointer}.btns i[data-v-de050fb4]:last-child{margin-right:0}.dialog_body_layouts[data-v-de050fb4]{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(135,162,189,.1490196078) rgba(200,213,225,.2784313725)}*[data-v-de050fb4]::-webkit-scrollbar{width:14px;height:14px}*[data-v-de050fb4]::-webkit-scrollbar-button{width:0;height:0;display:none}*[data-v-de050fb4]::-webkit-scrollbar-corner{background-color:transparent}*[data-v-de050fb4]::-webkit-scrollbar-thumb{min-height:12px;border:4px solid transparent;background-clip:content-box;border-radius:7px;background-color:#c8d5e1}*[data-v-de050fb4]::-webkit-scrollbar-thumb:hover{background-color:#a8bbcf}*[data-v-de050fb4]::-webkit-scrollbar-thumb:active{background-color:#87a2bd}*[data-v-de050fb4]::-webkit-scrollbar-track{background-color:transparent}*[data-v-de050fb4]::-webkit-scrollbar-track-piece{background-color:transparent}.es-crud-page[data-v-ec24c733]{width:100%}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @es-plus/vue2 类型入口
3
+ *
4
+ * 大部分通用类型(无 Vue/Element 依赖)从 @es-plus/core 转发,
5
+ * Vue 2 渲染层若需要特殊类型,可在此扩展。
6
+ */
7
+ export type { ModelData, RenderFn, AnyVNode, EsButtonType, EsButtonSize, EsTableSize, ApiParams, FormType, FormItemOption, BtnConfig, LayoutFormProps, TableColumn, ConfigTableOut, TableOptions, PaginationConfig, DialogOptions, EsFormInstance, EsTableInstance, EsPlusOptions, } from '@es-plus/core';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,QAAQ,EACR,cAAc,EACd,SAAS,EACT,eAAe,EACf,WAAW,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,eAAe,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Element UI 图标适配工具
3
+ *
4
+ * Element Plus 使用图标组件(如 `<Plus />`),Element UI 使用 class 字符串(如 `el-icon-plus`)。
5
+ * 用户配置可能传入:
6
+ * - 'Plus' (Element Plus 风格 PascalCase)
7
+ * - 'el-icon-plus' (Element UI 原生 class)
8
+ * - 'plus' (短名)
9
+ *
10
+ * 本函数统一规范化为 Element UI 的 class 字符串。
11
+ */
12
+ export declare const getCompIcon: (key?: string) => string | undefined;
13
+ //# sourceMappingURL=icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../src/utils/icon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SAUnD,CAAA"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Element UI v2 与 Element Plus 尺寸语义映射
3
+ *
4
+ * 背景:用户在两套版本之间复用同一份配置(如 size: 'small'),但两个组件库的尺寸系统并不一致:
5
+ * Element Plus: large(40px) / default(32px) / small(24px)
6
+ * Element UI v2: medium(36px) / small(32px) / mini(28px)
7
+ *
8
+ * 直接透传会导致同样的字符串渲染出截然不同的物理高度(small 在 EP 是 24px,在 EUI 是 32px),
9
+ * 视觉上 Vue 2 版本明显比 Vue 3 版本"大一圈"。
10
+ *
11
+ * 本工具按"接近视觉高度"做语义映射:
12
+ * large → medium (40 → 36)
13
+ * default → small (32 → 32) — 高度本身一致
14
+ * small → mini (24 → 28) — EUI 没有更小的,mini 已是最贴近
15
+ * mini → mini (透传 — EUI 原生支持)
16
+ * medium → medium (透传 — EUI 原生支持)
17
+ *
18
+ * 这样一来,在 Vue 3 版本里使用 size: 'small' 的紧凑表单,迁到 Vue 2 版本会自动落到 mini,
19
+ * 整体视觉密度保持一致。用户若显式希望使用 EUI 原生尺寸(如 medium),原样透传即可。
20
+ */
21
+ export type ElPlusSize = 'large' | 'default' | 'small' | '';
22
+ export type ElUiSize = 'medium' | 'small' | 'mini' | '';
23
+ /**
24
+ * 将任意尺寸字符串映射为 Element UI v2 支持的尺寸。
25
+ * - 未识别的值返回 undefined,让组件回退到自身默认值
26
+ * - 空字符串/空值同样返回 undefined
27
+ */
28
+ export declare function mapSize(size: unknown): ElUiSize | undefined;
29
+ //# sourceMappingURL=size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.d.ts","sourceRoot":"","sources":["../../src/utils/size.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,EAAE,CAAA;AAC3D,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,EAAE,CAAA;AAWvD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAK3D"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Vue 2 兼容层 —— 单点 re-export
3
+ *
4
+ * 设计目标:
5
+ * - 源码统一 `import { ref } from './vue-compat'`,不直接从 'vue' 导入
6
+ * - 这样 Vue 2.6 / Vue 2.7 / 未来切换 vue-demi 都只改这一个文件
7
+ *
8
+ * 当前实现:从 'vue' 直接 re-export
9
+ * - Vue 2.7+:原生支持 Composition API,开箱即用
10
+ * - Vue 2.6:用户需在 main.js 调用 Vue.use(VueCompositionAPI),
11
+ * 并配置 bundler resolve.alias('vue', '@vue/composition-api')
12
+ * (或直接升级到 2.7+,更省事)
13
+ *
14
+ * Vue 实例本身(Vue.extend / Vue.component)也由本文件暴露,供 useDialog 编程式弹窗使用。
15
+ */
16
+ export { default as Vue, ref, reactive, computed, watch, watchEffect, onMounted, onUnmounted, onBeforeUnmount, onBeforeMount, onUpdated, onActivated, onDeactivated, defineComponent, inject, provide, nextTick, getCurrentInstance, toRefs, toRef, unref, isRef, h, } from 'vue';
17
+ export type { PropType, Ref, ComputedRef, WatchSource } from 'vue';
18
+ //# sourceMappingURL=vue-compat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue-compat.d.ts","sourceRoot":"","sources":["../src/vue-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,OAAO,IAAI,GAAG,EACd,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,MAAM,EACN,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,KAAK,EACL,KAAK,EACL,CAAC,GACF,MAAM,KAAK,CAAA;AAEZ,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA"}
package/package.json ADDED
@@ -0,0 +1,85 @@
1
+ {
2
+ "name": "@es-plus/vue2",
3
+ "version": "0.9.0",
4
+ "description": "es-plus for Vue 2 + Element UI: configuration-driven enterprise components, sharing the same JSON config schema as @es-plus/vue3 (Vue 3 + Element Plus)",
5
+ "main": "./dist/es-plus-vue2.umd.cjs",
6
+ "module": "./dist/es-plus-vue2.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/es-plus-vue2.js",
11
+ "require": "./dist/es-plus-vue2.umd.cjs",
12
+ "types": "./dist/index.d.ts"
13
+ },
14
+ "./dist/style.css": "./dist/style.css"
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "README.md"
19
+ ],
20
+ "sideEffects": [
21
+ "**/*.css"
22
+ ],
23
+ "scripts": {
24
+ "typecheck": "tsc --noEmit -p tsconfig.build.json",
25
+ "build": "vite build",
26
+ "prepublishOnly": "npm run typecheck && npm run build",
27
+ "test": "vitest run",
28
+ "test:watch": "vitest"
29
+ },
30
+ "keywords": [
31
+ "vue2",
32
+ "vue",
33
+ "element-ui",
34
+ "component-library",
35
+ "form",
36
+ "table",
37
+ "dialog",
38
+ "es-plus",
39
+ "typescript",
40
+ "enterprise",
41
+ "config-driven",
42
+ "crud",
43
+ "json-schema"
44
+ ],
45
+ "author": "liujiaao <303363554@qq.com>",
46
+ "license": "MIT",
47
+ "repository": {
48
+ "type": "git",
49
+ "url": "https://github.com/liujiaao/es-plus.git",
50
+ "directory": "packages/vue2"
51
+ },
52
+ "homepage": "https://liujiaao.github.io/es-plus/",
53
+ "bugs": {
54
+ "url": "https://github.com/liujiaao/es-plus/issues"
55
+ },
56
+ "publishConfig": {
57
+ "access": "public",
58
+ "registry": "https://registry.npmjs.org/"
59
+ },
60
+ "peerDependencies": {
61
+ "@vue/composition-api": "^1.7.0",
62
+ "element-ui": "^2.15.0",
63
+ "vue": "^2.6.14"
64
+ },
65
+ "peerDependenciesMeta": {
66
+ "@vue/composition-api": {
67
+ "optional": true
68
+ }
69
+ },
70
+ "dependencies": {
71
+ "@es-plus/core": "^1.0.0"
72
+ },
73
+ "devDependencies": {
74
+ "@types/node": "^20.0.0",
75
+ "@vitejs/plugin-vue2": "^2.3.0",
76
+ "element-ui": "^2.15.14",
77
+ "sass": "^1.70.0",
78
+ "typescript": "^5.3.0",
79
+ "vite": "^5.0.0",
80
+ "vite-plugin-dts": "^3.7.0",
81
+ "vitest": "^1.2.0",
82
+ "vue": "^2.7.16",
83
+ "vue-template-compiler": "^2.7.16"
84
+ }
85
+ }