diff --git a/packages/tdesign-vue-next-adapter/.npmignore b/packages/tdesign-vue-next-adapter/.npmignore
new file mode 100644
index 00000000..595cc166
--- /dev/null
+++ b/packages/tdesign-vue-next-adapter/.npmignore
@@ -0,0 +1,30 @@
+.babelrc
+.eslintrc
+.editorconfig
+node_modules
+.DS_Store
+examples
+tests
+.code.yml
+reports
+tsconfig.json
+vite.config.ts
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+pnpm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/packages/tdesign-vue-next-adapter/package.json b/packages/tdesign-vue-next-adapter/package.json
new file mode 100644
index 00000000..e7bb57bc
--- /dev/null
+++ b/packages/tdesign-vue-next-adapter/package.json
@@ -0,0 +1,55 @@
+{
+ "version": "1.2.0-beta.25",
+ "name": "@tmagic/tdesign-vue-next-adapter",
+ "type": "module",
+ "sideEffects": [
+ "dist/*"
+ ],
+ "main": "dist/tmagic-tdesign-vue-next-adapter.umd.cjs",
+ "module": "dist/tmagic-tdesign-vue-next-adapter.js",
+ "types": "types/index.d.ts",
+ "exports": {
+ ".": {
+ "import": "./dist/tmagic-tdesign-vue-next-adapter.js",
+ "require": "./dist/tmagic-tdesign-vue-next-adapter.umd.cjs"
+ },
+ "./*": "./*"
+ },
+ "license": "Apache-2.0",
+ "scripts": {
+ "build": "npm run build:type && vite build",
+ "build:type": "npm run clear:type && tsc --declaration --emitDeclarationOnly --project tsconfig.build.json",
+ "clear:type": "rimraf ./types"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Tencent/tmagic-editor.git"
+ },
+ "homepage": "https://tencent.github.io/tmagic-editor/docs/",
+ "keywords": [
+ "design",
+ "vue",
+ "vue3",
+ "typescript"
+ ],
+ "dependencies": {
+ "element-plus": "^2.2.19",
+ "tdesign-vue-next": "^0.26.0",
+ "vue": "^3.2.37"
+ },
+ "peerDependencies": {
+ "element-plus": "^2.2.19",
+ "vue": "^3.2.37"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-vue": "^3.1.0",
+ "@vue/compiler-sfc": "^3.2.37",
+ "@types/node": "^15.12.4",
+ "rimraf": "^3.0.2",
+ "typescript": "^4.7.4",
+ "vite": "^3.1.3"
+ }
+}
diff --git a/packages/tdesign-vue-next-adapter/src/DatePicker.vue b/packages/tdesign-vue-next-adapter/src/DatePicker.vue
new file mode 100644
index 00000000..4af3d061
--- /dev/null
+++ b/packages/tdesign-vue-next-adapter/src/DatePicker.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
diff --git a/packages/tdesign-vue-next-adapter/src/Input.vue b/packages/tdesign-vue-next-adapter/src/Input.vue
new file mode 100644
index 00000000..be58e49e
--- /dev/null
+++ b/packages/tdesign-vue-next-adapter/src/Input.vue
@@ -0,0 +1,49 @@
+
+
+
+
+
+
diff --git a/packages/tdesign-vue-next-adapter/src/index.ts b/packages/tdesign-vue-next-adapter/src/index.ts
new file mode 100644
index 00000000..071aef70
--- /dev/null
+++ b/packages/tdesign-vue-next-adapter/src/index.ts
@@ -0,0 +1,383 @@
+import {
+ ElDropdown,
+ ElDropdownItem,
+ ElDropdownMenu,
+ ElIcon,
+ ElMessageBox,
+ ElPagination,
+ ElPopover,
+ ElScrollbar,
+ ElTable,
+ ElTableColumn,
+ ElTabPane,
+ ElTabs,
+ ElTree,
+} from 'element-plus';
+import {
+ Button as TButton,
+ Card as TCard,
+ Cascader as TCascader,
+ Checkbox as TCheckbox,
+ CheckboxGroup as TCheckboxGroup,
+ Col as TCol,
+ Collapse as TCollapse,
+ CollapsePanel as TCollapsePanel,
+ ColorPicker as TColorPicker,
+ Dialog as TDialog,
+ Divider as TDivider,
+ Form as TForm,
+ FormItem as TFormItem,
+ InputNumber as TInputNumber,
+ MessagePlugin,
+ Option as TOption,
+ OptionGroup as TOptionGroup,
+ Radio as TRadio,
+ RadioGroup as TRadioGroup,
+ Row as TRow,
+ Select as TSelect,
+ StepItem as TStepItem,
+ Steps as TSteps,
+ Switch as TSwitch,
+ Tag as TTag,
+ TimePicker as TTimePicker,
+ Tooltip as TTooltip,
+ Upload as TUpload,
+} from 'tdesign-vue-next';
+
+import DatePicker from './DatePicker.vue';
+import Input from './Input.vue';
+
+const adapter: any = {
+ message: MessagePlugin,
+ messageBox: ElMessageBox,
+ components: {
+ button: {
+ component: TButton,
+ props: (props: any) => ({
+ theme: props.type,
+ size: props.size === 'default' ? 'medium' : props.size,
+ icon: props.icon,
+ variant: props.text ? 'text' : 'base',
+ }),
+ },
+
+ card: {
+ component: TCard,
+ props: (props: any) => ({
+ shadow: props.shadow !== 'never',
+ hoverShadow: props.shadow === 'hover',
+ header: props.header,
+ }),
+ },
+
+ cascader: {
+ component: TCascader,
+ props: (props: any) => ({
+ modelValue: props.modelValue,
+ placeholder: props.placeholder,
+ disabled: props.disabled,
+ clearable: props.clearable,
+ filterable: props.filterable,
+ options: props.options,
+ size: props.size === 'default' ? 'medium' : props.size,
+ trigger: props.props.expandTrigger,
+ multiple: props.props.multiple,
+ checkStrictly: props.props.checkStrictly,
+ valueType: typeof props.props.emitPath === 'undefined' || props.props.emitPath === true ? 'full' : 'single',
+ lazy: props.props.lazy,
+ }),
+ },
+
+ checkbox: {
+ component: TCheckbox,
+ props: (props: any) => ({
+ modelValue: props.modelValue,
+ label: props.label,
+ value: props.value,
+ disabled: props.disabled,
+ }),
+ },
+
+ checkboxGroup: {
+ component: TCheckboxGroup,
+ props: (props: any) => ({
+ modelValue: props.modelValue,
+ label: props.label,
+ disabled: props.disabled,
+ }),
+ },
+
+ col: {
+ component: TCol,
+ props: (props: any) => ({
+ span: props.span,
+ }),
+ },
+
+ collapse: {
+ component: TCollapse,
+ props: (props: any) => ({
+ value: props.modelValue,
+ expandIconPlacement: 'right',
+ }),
+ },
+
+ collapseItem: {
+ component: TCollapsePanel,
+ props: (props: any) => ({
+ value: props.name,
+ header: props.title,
+ disabled: props.disabled,
+ }),
+ },
+
+ colorPicker: {
+ component: TColorPicker,
+ props: (props: any) => ({
+ modelValue: props.modelValue,
+ disabled: props.disabled,
+ size: props.size === 'default' ? 'medium' : props.size,
+ enableAlpha: props.showAlpha,
+ formate: props.showAlpha ? 'RGBA' : 'RGB',
+ }),
+ },
+
+ datePicker: {
+ component: DatePicker,
+ props: (props: any) => props,
+ },
+
+ dialog: {
+ component: TDialog,
+ props: (props: any) => ({
+ visible: props.modelValue,
+ attach: props.appendToBody ? 'body' : '',
+ header: props.title,
+ width: props.width,
+ mode: props.fullscreen ? 'full-screen' : 'modal',
+ closeOnOverlayClick: props.closeOnClickModal,
+ }),
+ },
+
+ divider: {
+ component: TDivider,
+ props: (props: any) => ({
+ layout: props.direction,
+ content: props.contentPosition,
+ }),
+ },
+
+ dropdown: {
+ component: ElDropdown,
+ props: (props: any) => props,
+ },
+
+ dropdownItem: {
+ component: ElDropdownItem,
+ props: (props: any) => props,
+ },
+
+ dropdownMenu: {
+ component: ElDropdownMenu,
+ props: (props: any) => props,
+ },
+
+ form: {
+ component: TForm,
+ props: (props: any) => ({
+ data: props.model,
+ labelWidth: props.labelWidth,
+ disabled: props.disabled,
+ labelAlign: props.labelPosition,
+ layout: props.inline ? 'inline' : 'vertical',
+ }),
+ },
+
+ formItem: {
+ component: TFormItem,
+ props: (props: any) => ({
+ labelWidth: props.labelWidth,
+ name: props.prop,
+ rules: props.rules,
+ }),
+ },
+
+ icon: {
+ component: ElIcon,
+ props: (props: any) => props,
+ },
+
+ input: {
+ component: Input,
+ props: (props: any) => props,
+ },
+
+ inputNumber: {
+ component: TInputNumber,
+ props: (props: any) => ({
+ modelValue: props.modelValue,
+ align: props.controlsPosition,
+ disabled: props.disabled,
+ placeholder: props.placeholder,
+ step: props.step,
+ min: props.min,
+ max: props.max,
+ size: props.size === 'default' ? 'medium' : props.size,
+ }),
+ },
+
+ option: {
+ component: TOption,
+ props: (props: any) => ({
+ value: props.value,
+ label: props.label,
+ disabled: props.disabled,
+ }),
+ },
+
+ optionGroup: {
+ component: TOptionGroup,
+ props: (props: any) => props,
+ },
+
+ pagination: {
+ component: ElPagination,
+ props: (props: any) => props,
+ },
+
+ popover: {
+ component: ElPopover,
+ props: (props: any) => props,
+ },
+
+ radio: {
+ component: TRadio,
+ props: (props: any) => ({
+ label: props.label,
+ }),
+ },
+
+ radioGroup: {
+ component: TRadioGroup,
+ props: (props: any) => ({
+ modelValue: props.modelValue,
+ disabled: props.disabled,
+ size: props.size === 'default' ? 'medium' : props.size,
+ }),
+ },
+
+ row: {
+ component: TRow,
+ },
+
+ scrollbar: {
+ component: ElScrollbar,
+ props: (props: any) => props,
+ },
+
+ select: {
+ component: TSelect,
+ props: (props: any) => ({
+ modelValue: props.modelValue,
+ clearable: props.clearable,
+ filterable: props.filterable,
+ disabled: props.disabled,
+ placeholder: props.placeholder,
+ multiple: props.multiple,
+ valueType: props.valueKey,
+ remoteMethod: props.onSearch,
+ size: props.size === 'default' ? 'medium' : props.size,
+ popupProps: {
+ overlayClassName: props.popperClass,
+ },
+ }),
+ },
+
+ step: {
+ component: TStepItem,
+ props: (props: any) => ({
+ title: props.props,
+ value: props.status,
+ }),
+ },
+
+ steps: {
+ component: TSteps,
+ props: (props: any) => ({
+ current: props.active,
+ }),
+ },
+
+ switch: {
+ component: TSwitch,
+ props: (props: any) => ({
+ modelValue: props.modelValue,
+ disabled: props.disabled,
+ label: props.label,
+ customValue: [props.activeValue ?? true, props.inactiveValue ?? false],
+ size: props.size === 'default' ? 'medium' : props.size,
+ }),
+ },
+
+ table: {
+ component: ElTable,
+ props: (props: any) => props,
+ },
+
+ tableColumn: {
+ component: ElTableColumn,
+ props: (props: any) => props,
+ },
+
+ tabPane: {
+ component: ElTabPane,
+ props: (props: any) => props,
+ },
+
+ tabs: {
+ component: ElTabs,
+ props: (props: any) => props,
+ },
+
+ tag: {
+ component: TTag,
+ props: (props: any) => ({
+ theme: props.type ? props.type : 'default',
+ }),
+ },
+
+ timePicker: {
+ component: TTimePicker,
+ props: (props: any) => ({
+ modelValue: props.modelValue,
+ disabled: props.disabled,
+ size: props.size === 'default' ? 'medium' : props.size,
+ placeholder: props.placeholder,
+ }),
+ },
+
+ tooltip: {
+ component: TTooltip,
+ props: (props: any) => ({
+ placement: props.placement,
+ content: props.content,
+ }),
+ },
+
+ tree: {
+ component: ElTree,
+ props: (props: any) => props,
+ },
+
+ upload: {
+ component: TUpload,
+ props: (props: any) => ({
+ action: props.action,
+ disabled: props.disabled,
+ autoUpload: props.autoUpload,
+ }),
+ },
+ },
+};
+
+export default adapter;
diff --git a/packages/tdesign-vue-next-adapter/src/shims-vue.d.ts b/packages/tdesign-vue-next-adapter/src/shims-vue.d.ts
new file mode 100644
index 00000000..30030494
--- /dev/null
+++ b/packages/tdesign-vue-next-adapter/src/shims-vue.d.ts
@@ -0,0 +1,6 @@
+declare module '*.vue' {
+ import { DefineComponent } from 'vue';
+
+ const component: DefineComponent<{}, {}, any>;
+ export default component;
+}
diff --git a/packages/tdesign-vue-next-adapter/tsconfig.build.json b/packages/tdesign-vue-next-adapter/tsconfig.build.json
new file mode 100644
index 00000000..c9476221
--- /dev/null
+++ b/packages/tdesign-vue-next-adapter/tsconfig.build.json
@@ -0,0 +1,13 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "baseUrl": ".",
+ "declaration": true,
+ "declarationDir": "types",
+ "forceConsistentCasingInFileNames": true,
+ "paths": {},
+ },
+ "include": [
+ "src"
+ ],
+}
diff --git a/packages/tdesign-vue-next-adapter/tsconfig.json b/packages/tdesign-vue-next-adapter/tsconfig.json
new file mode 100644
index 00000000..6c40cf1e
--- /dev/null
+++ b/packages/tdesign-vue-next-adapter/tsconfig.json
@@ -0,0 +1,6 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "baseUrl": "../..",
+ },
+}
diff --git a/packages/tdesign-vue-next-adapter/vite.config.ts b/packages/tdesign-vue-next-adapter/vite.config.ts
new file mode 100644
index 00000000..eaeb81cc
--- /dev/null
+++ b/packages/tdesign-vue-next-adapter/vite.config.ts
@@ -0,0 +1,45 @@
+/*
+ * Tencent is pleased to support the open source community by making TMagicEditor available.
+ *
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { defineConfig } from 'vite';
+import vue from '@vitejs/plugin-vue';
+
+import pkg from './package.json';
+
+export default defineConfig({
+ plugins: [vue()],
+
+ build: {
+ cssCodeSplit: false,
+ sourcemap: true,
+ minify: false,
+ target: 'esnext',
+
+ lib: {
+ entry: 'src/index.ts',
+ name: 'TMagicTdesignVueNextAdapter',
+ fileName: 'tmagic-tdesign-vue-next-adapter',
+ },
+
+ rollupOptions: {
+ // 确保外部化处理那些你不想打包进库的依赖
+ external(id: string) {
+ return Object.keys(pkg.dependencies).some((k) => new RegExp(`^${k}`).test(id));
+ },
+ },
+ },
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b9c7088d..746b425e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -366,6 +366,29 @@ importers:
vite-plugin-vue-setup-extend: 0.4.0_vite@3.1.3
vue-tsc: 1.0.11_typescript@4.7.4
+ packages/tdesign-vue-next-adapter:
+ specifiers:
+ '@types/node': ^15.12.4
+ '@vitejs/plugin-vue': ^3.1.0
+ '@vue/compiler-sfc': ^3.2.37
+ element-plus: ^2.2.19
+ rimraf: ^3.0.2
+ tdesign-vue-next: ^0.26.0
+ typescript: ^4.7.4
+ vite: ^3.1.3
+ vue: ^3.2.37
+ dependencies:
+ element-plus: 2.2.19_vue@3.2.45
+ tdesign-vue-next: 0.26.0_vue@3.2.45
+ vue: 3.2.45
+ devDependencies:
+ '@types/node': 15.14.9
+ '@vitejs/plugin-vue': 3.2.0_vite@3.2.4+vue@3.2.45
+ '@vue/compiler-sfc': 3.2.45
+ rimraf: 3.0.2
+ typescript: 4.7.4
+ vite: 3.2.4_@types+node@15.14.9
+
packages/ui:
specifiers:
'@testing-library/vue': ^6.4.2
@@ -1030,7 +1053,6 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
regenerator-runtime: 0.13.9
- dev: true
/@babel/standalone/7.19.2:
resolution: {integrity: sha512-p+U+TYGevnPUemfHeQVFwABp9kWe5+h20MKxCzvyeAD1SIm7tlvo6lGRFz1WakAxmVZvLz7WDuWjwdC8FZKp+A==}
@@ -1367,6 +1389,14 @@ packages:
dependencies:
vue: 3.2.37
+ /@element-plus/icons-vue/2.0.9_vue@3.2.45:
+ resolution: {integrity: sha512-okdrwiVeKBmW41Hkl0eMrXDjzJwhQMuKiBOu17rOszqM+LS/yBYpNQNV5Jvoh06Wc+89fMmb/uhzf8NZuDuUaQ==}
+ peerDependencies:
+ vue: ^3.2.0
+ dependencies:
+ vue: 3.2.45
+ dev: false
+
/@esbuild/android-arm/0.15.16:
resolution: {integrity: sha512-nyB6CH++2mSgx3GbnrJsZSxzne5K0HMyNIWafDHqYy7IwxFc4fd/CgHVZXr8Eh+Q3KbIAcAe3vGyqIPhGblvMQ==}
engines: {node: '>=12'}
@@ -1528,6 +1558,10 @@ packages:
fastq: 1.13.0
dev: true
+ /@popperjs/core/2.11.6:
+ resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==}
+ dev: false
+
/@rollup/pluginutils/4.2.1:
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
engines: {node: '>= 8.0.0'}
@@ -1767,7 +1801,14 @@ packages:
/@types/sortablejs/1.13.0:
resolution: {integrity: sha512-C3064MH72iEfeGCYEGCt7FCxXoAXaMPG0QPnstcxvPmbl54erpISu06d++FY37Smja64iWy5L8wOyHHBghWbJQ==}
- dev: true
+
+ /@types/tinycolor2/1.4.3:
+ resolution: {integrity: sha512-Kf1w9NE5HEgGxCRyIcRXR/ZYtDv0V8FVPtYHwLxl0O+maGX0erE77pQlD0gpP+/KByMZ87mOA79SjifhSB3PjQ==}
+ dev: false
+
+ /@types/validator/13.7.10:
+ resolution: {integrity: sha512-t1yxFAR2n0+VO6hd/FJ9F2uezAZVWHLmpmlJzm1eX03+H7+HsuTAp7L8QJs+2pQCfWkP1+EXsGK9Z9v7o/qPVQ==}
+ dev: false
/@types/web-bluetooth/0.0.16:
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
@@ -1927,7 +1968,7 @@ packages:
vite: ^3.0.0
vue: ^3.2.25
dependencies:
- vite: 3.1.3_sass@1.52.2+terser@5.14.2
+ vite: 3.1.3
vue: 3.2.37
dev: true
@@ -2054,7 +2095,6 @@ packages:
'@vue/shared': 3.2.45
estree-walker: 2.0.2
source-map: 0.6.1
- dev: true
/@vue/compiler-dom/3.2.37:
resolution: {integrity: sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==}
@@ -2074,13 +2114,12 @@ packages:
dependencies:
'@vue/compiler-core': 3.2.45
'@vue/shared': 3.2.45
- dev: true
/@vue/compiler-sfc/2.7.4:
resolution: {integrity: sha512-WCaF33mlKLSvHDKvOD6FzTa5CI2FlMTeJf3MxJsNP0KDgRoI6RdXhHo9dtvCqV4Sywf9Owm17wTLT1Ymu/WsOQ==}
dependencies:
'@babel/parser': 7.18.4
- postcss: 8.4.16
+ postcss: 8.4.19
source-map: 0.6.1
/@vue/compiler-sfc/3.2.37:
@@ -2108,7 +2147,7 @@ packages:
'@vue/shared': 3.2.41
estree-walker: 2.0.2
magic-string: 0.25.9
- postcss: 8.4.16
+ postcss: 8.4.19
source-map: 0.6.1
dev: true
@@ -2123,9 +2162,8 @@ packages:
'@vue/shared': 3.2.45
estree-walker: 2.0.2
magic-string: 0.25.9
- postcss: 8.4.16
+ postcss: 8.4.19
source-map: 0.6.1
- dev: true
/@vue/compiler-ssr/3.2.37:
resolution: {integrity: sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==}
@@ -2145,7 +2183,6 @@ packages:
dependencies:
'@vue/compiler-dom': 3.2.45
'@vue/shared': 3.2.45
- dev: true
/@vue/devtools-api/6.1.4:
resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==}
@@ -2182,7 +2219,6 @@ packages:
'@vue/shared': 3.2.45
estree-walker: 2.0.2
magic-string: 0.25.9
- dev: true
/@vue/reactivity/3.2.37:
resolution: {integrity: sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==}
@@ -2193,7 +2229,6 @@ packages:
resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==}
dependencies:
'@vue/shared': 3.2.45
- dev: true
/@vue/runtime-core/3.2.37:
resolution: {integrity: sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==}
@@ -2206,7 +2241,6 @@ packages:
dependencies:
'@vue/reactivity': 3.2.45
'@vue/shared': 3.2.45
- dev: true
/@vue/runtime-dom/3.2.37:
resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==}
@@ -2221,7 +2255,6 @@ packages:
'@vue/runtime-core': 3.2.45
'@vue/shared': 3.2.45
csstype: 2.6.20
- dev: true
/@vue/server-renderer/3.2.37_vue@3.2.37:
resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==}
@@ -2240,7 +2273,6 @@ packages:
'@vue/compiler-ssr': 3.2.45
'@vue/shared': 3.2.45
vue: 3.2.45
- dev: true
/@vue/shared/3.2.37:
resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==}
@@ -2251,7 +2283,6 @@ packages:
/@vue/shared/3.2.45:
resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==}
- dev: true
/@vue/test-utils/2.0.0_vue@3.2.37:
resolution: {integrity: sha512-zL5kygNq7hONrO1CzaUGprEAklAX+pH8J1MPMCU3Rd2xtSYkZ+PmKU3oEDRg8VAGdL5lNJHzDgrud5amFPtirw==}
@@ -2282,7 +2313,6 @@ packages:
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- dev: true
/@vueuse/metadata/9.6.0:
resolution: {integrity: sha512-sIC8R+kWkIdpi5X2z2Gk8TRYzmczDwHRhEFfCu2P+XW2JdPoXrziqsGpDDsN7ykBx4ilwieS7JUIweVGhvZ93w==}
@@ -2302,7 +2332,6 @@ packages:
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- dev: true
/JSONStream/1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
@@ -3390,6 +3419,31 @@ packages:
transitivePeerDependencies:
- '@vue/composition-api'
+ /element-plus/2.2.19_vue@3.2.45:
+ resolution: {integrity: sha512-uN0gt9lUus/IHzu5J6vkbYoYJgUtU05osdtFv9RO27bHKOG5GN7dH6uA3OKfkQQ6R2sV8ZxY1rc9PH1X8Dgrow==}
+ peerDependencies:
+ vue: ^3.2.0
+ dependencies:
+ '@ctrl/tinycolor': 3.4.1
+ '@element-plus/icons-vue': 2.0.9_vue@3.2.45
+ '@floating-ui/dom': 1.0.2
+ '@popperjs/core': /@sxzz/popperjs-es/2.11.7
+ '@types/lodash': 4.14.182
+ '@types/lodash-es': 4.17.6
+ '@vueuse/core': 9.6.0_vue@3.2.45
+ async-validator: 4.2.5
+ dayjs: 1.11.4
+ escape-html: 1.0.3
+ lodash: 4.17.21
+ lodash-es: 4.17.21
+ lodash-unified: 1.0.2_3ib2ivapxullxkx3xftsimdk7u
+ memoize-one: 6.0.0
+ normalize-wheel-es: 1.2.0
+ vue: 3.2.45
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ dev: false
+
/emoji-regex/8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -5693,6 +5747,10 @@ packages:
resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==}
dev: true
+ /mitt/3.0.0:
+ resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==}
+ dev: false
+
/mlly/1.0.0:
resolution: {integrity: sha512-QL108Hwt+u9bXdWgOI0dhzZfACovn5Aen4Xvc8Jasd9ouRH4NjnrXEiyP3nVvJo91zPlYjVRckta0Nt2zfoR6g==}
dependencies:
@@ -6078,7 +6136,6 @@ packages:
nanoid: 3.3.4
picocolors: 1.0.0
source-map-js: 1.0.2
- dev: true
/preact/10.11.3:
resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==}
@@ -6719,6 +6776,7 @@ packages:
/sourcemap-codec/1.4.8:
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ deprecated: Please use @jridgewell/sourcemap-codec instead
/spdx-correct/3.1.1:
resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==}
@@ -6928,6 +6986,36 @@ packages:
strip-ansi: 6.0.1
dev: true
+ /tdesign-icons-vue-next/0.1.6_vue@3.2.45:
+ resolution: {integrity: sha512-cZ6lIiMFZZGynQrE1Z7ttvpU2DJa/bukVaGeuGjiyuUkRtW9Pj9qRJZ8oorlX42svn+x16RvarTfbK3H6v8brQ==}
+ peerDependencies:
+ vue: ^3.0.0
+ dependencies:
+ '@babel/runtime': 7.18.3
+ vue: 3.2.45
+ dev: false
+
+ /tdesign-vue-next/0.26.0_vue@3.2.45:
+ resolution: {integrity: sha512-s5/vSn5JGgR+FofBoauCbNli8hXZ+RnwcwHIHNH1CgpI8tnHKpYBU3qteSy7DsKs3nsti58lAbVbNAJT5Izf6w==}
+ peerDependencies:
+ vue: '>=3.1.0'
+ dependencies:
+ '@babel/runtime': 7.18.3
+ '@popperjs/core': 2.11.6
+ '@types/lodash': 4.14.182
+ '@types/sortablejs': 1.13.0
+ '@types/tinycolor2': 1.4.3
+ '@types/validator': 13.7.10
+ dayjs: 1.11.4
+ lodash: 4.17.21
+ mitt: 3.0.0
+ sortablejs: 1.15.0
+ tdesign-icons-vue-next: 0.1.6_vue@3.2.45
+ tinycolor2: 1.4.2
+ validator: 13.7.0
+ vue: 3.2.45
+ dev: false
+
/temp-dir/2.0.0:
resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
engines: {node: '>=8'}
@@ -6994,6 +7082,10 @@ packages:
resolution: {integrity: sha512-ak+PZZEuH3mw6CCFOgf5S90YH0MARnZNhxjhjguAmoJimEMAJuNip/rJRd6/wyylHItomVpKTzZk9zrhTrQCoQ==}
dev: true
+ /tinycolor2/1.4.2:
+ resolution: {integrity: sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==}
+ dev: false
+
/tinypool/0.3.0:
resolution: {integrity: sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==}
engines: {node: '>=14.0.0'}
@@ -7291,6 +7383,11 @@ packages:
spdx-expression-parse: 3.0.1
dev: true
+ /validator/13.7.0:
+ resolution: {integrity: sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==}
+ engines: {node: '>= 0.10'}
+ dev: false
+
/vite-plugin-vue-setup-extend/0.4.0_vite@3.1.3:
resolution: {integrity: sha512-WMbjPCui75fboFoUTHhdbXzu4Y/bJMv5N9QT9a7do3wNMNHHqrk+Tn2jrSJU0LS5fGl/EG+FEDBYVUeWIkDqXQ==}
peerDependencies:
@@ -7550,7 +7647,6 @@ packages:
optional: true
dependencies:
vue: 3.2.45
- dev: true
/vue-eslint-parser/7.11.0_eslint@7.32.0:
resolution: {integrity: sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==}
@@ -7627,7 +7723,6 @@ packages:
'@vue/runtime-dom': 3.2.45
'@vue/server-renderer': 3.2.45_vue@3.2.45
'@vue/shared': 3.2.45
- dev: true
/w3c-hr-time/1.0.2:
resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}