perf: remove redundant props

pull/15/head
bqy_fe 3 years ago
parent f5339844c3
commit c99baf7132
  1. 2
      package.json
  2. 9
      preview/views/comp-render.tsx
  3. 9
      preview/views/preview.vue
  4. 15
      preview/views/slot-item.vue
  5. 10
      src/packages/base-widgets/datetimePicker/index.tsx
  6. 9
      src/packages/base-widgets/picker/index.tsx
  7. 12
      src/plugins/element-plus.ts
  8. 5
      src/visual-editor/components/left-aside/components/base-widgets/index.tsx
  9. 5
      src/visual-editor/components/left-aside/components/container-component/index.tsx
  10. 9
      src/visual-editor/components/left-aside/components/custom-component/index.vue
  11. 11
      src/visual-editor/components/left-aside/components/data-source/data-fetch.vue
  12. 20
      src/visual-editor/components/left-aside/components/data-source/data-model.vue
  13. 11
      src/visual-editor/components/left-aside/components/data-source/index.vue
  14. 3
      src/visual-editor/components/left-aside/components/page-tree/index.vue
  15. 7
      src/visual-editor/components/left-aside/components/page-tree/treeData.ts
  16. 27
      src/visual-editor/components/left-aside/index.vue
  17. 35
      src/visual-editor/components/left-aside/tabs.ts
  18. 17
      src/visual-editor/components/right-attribute-panel/components/event-action/index.tsx
  19. 15
      src/visual-editor/components/right-attribute-panel/components/form-rule/index.tsx
  20. 3
      src/visual-editor/components/right-attribute-panel/components/index.ts
  21. 31
      src/visual-editor/components/right-attribute-panel/index.tsx
  22. 11
      src/visual-editor/components/simulator-editor/comp-render.tsx
  23. 60
      src/visual-editor/components/simulator-editor/func.scss
  24. 32
      src/visual-editor/components/simulator-editor/simulator-editor.vue
  25. 37
      src/visual-editor/components/simulator-editor/slot-item.vue
  26. 1
      vite.config.ts
  27. 301
      yarn.lock

@ -34,7 +34,7 @@
"nprogress": "^1.0.0-1", "nprogress": "^1.0.0-1",
"qrcode": "^1.4.4", "qrcode": "^1.4.4",
"qs": "^6.10.1", "qs": "^6.10.1",
"vant": "^3.1.2", "vant": "3.1.2",
"vue": "3.1.4", "vue": "3.1.4",
"vue-router": "^4.0.10", "vue-router": "^4.0.10",
"vuedraggable": "^4.0.3", "vuedraggable": "^4.0.3",

@ -1,13 +1,14 @@
/* /*
* @Author: * @Author:
* @Date: 2021-05-04 05:36:58 * @Date: 2021-05-04 05:36:58
* @LastEditTime: 2021-06-25 08:47:18 * @LastEditTime: 2021-07-04 17:21:34
* @LastEditors: * @LastEditors:
* @Description: * @Description:
* @FilePath: \vite-vue3-lowcode\preview\views\comp-render.tsx * @FilePath: \vite-vue3-lowcode\preview\views\comp-render.tsx
*/ */
import { defineComponent, PropType } from 'vue' import { defineComponent, PropType } from 'vue'
import type { VisualEditorBlockData, VisualEditorConfig } from '@/visual-editor/visual-editor.utils' import type { VisualEditorBlockData, VisualEditorConfig } from '@/visual-editor/visual-editor.utils'
import { visualConfig } from '@/visual.config'
export default defineComponent({ export default defineComponent({
name: 'CompRender', name: 'CompRender',
@ -15,15 +16,11 @@ export default defineComponent({
element: { element: {
type: Object as PropType<VisualEditorBlockData>, type: Object as PropType<VisualEditorBlockData>,
default: () => ({}) default: () => ({})
},
config: {
type: Object as PropType<VisualEditorConfig>,
default: () => ({})
} }
}, },
setup(props) { setup(props) {
return () => return () =>
props.config.componentMap[props.element.componentKey].render({ visualConfig.componentMap[props.element.componentKey].render({
size: {}, size: {},
props: props.element.props || {}, props: props.element.props || {},
model: {}, model: {},

@ -1,21 +1,21 @@
<!-- <!--
* @Author: 卜启缘 * @Author: 卜启缘
* @Date: 2021-06-01 09:45:21 * @Date: 2021-06-01 09:45:21
* @LastEditTime: 2021-07-04 08:59:57 * @LastEditTime: 2021-07-04 17:21:47
* @LastEditors: 卜启缘 * @LastEditors: 卜启缘
* @Description: * @Description:
* @FilePath: \vite-vue3-lowcode\preview\views\preview.vue * @FilePath: \vite-vue3-lowcode\preview\views\preview.vue
--> -->
<template> <template>
<template v-for="outItem in blocks" :key="outItem._vid"> <template v-for="outItem in blocks" :key="outItem._vid">
<slot-item :element="outItem" :models="models" :actions="actions" :config="visualConfig" /> <slot-item :element="outItem" :models="models" :actions="actions" />
</template> </template>
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent, reactive, toRefs, onMounted } from 'vue' import { defineComponent, reactive, toRefs, onMounted } from 'vue'
import { Toast } from 'vant' import { Toast } from 'vant'
import { visualConfig } from '@/visual.config'
import { CacheEnum } from '@/enums' import { CacheEnum } from '@/enums'
import type { VisualEditorModelValue } from '@/visual-editor/visual-editor.utils' import type { VisualEditorModelValue } from '@/visual-editor/visual-editor.utils'
import SlotItem from './slot-item.vue' import SlotItem from './slot-item.vue'
@ -70,8 +70,7 @@ export default defineComponent({
return { return {
...toRefs(state), ...toRefs(state),
actions: jsonData.actions, actions: jsonData.actions,
models: jsonData.models, models: jsonData.models
visualConfig
} }
} }
}) })

@ -1,17 +1,17 @@
<!-- <!--
* @Author: 卜启缘 * @Author: 卜启缘
* @Date: 2021-06-12 22:18:48 * @Date: 2021-06-12 22:18:48
* @LastEditTime: 2021-07-04 12:59:13 * @LastEditTime: 2021-07-05 10:18:22
* @LastEditors: 卜启缘 * @LastEditors: 卜启缘
* @Description: * @Description:
* @FilePath: \vite-vue3-lowcode\preview\views\slot-item.vue * @FilePath: \vite-vue3-lowcode\preview\views\slot-item.vue
--> -->
<template> <template>
<div class="__slot-item"> <div class="__slot-item">
<comp-render :element="element" :config="config" v-on="events"> <comp-render :element="element" v-on="events">
<template v-for="(value, key) in element.props?.slots" :key="key" #[key]> <template v-for="(value, key) in element.props?.slots" :key="key" #[key]>
<template v-for="item in value?.children" :key="item._vid"> <template v-for="item in value?.children" :key="item._vid">
<slot-item :element="item" :config="config" :models="models" :actions="actions" /> <slot-item :element="item" :models="models" :actions="actions" />
</template> </template>
</template> </template>
</comp-render> </comp-render>
@ -46,10 +46,6 @@ export default defineComponent({
models: { models: {
type: Object as PropType<VisualEditorModel[]>, type: Object as PropType<VisualEditorModel[]>,
default: () => ({}) default: () => ({})
},
config: {
type: Object,
default: () => ({})
} }
}, },
setup(props) { setup(props) {
@ -58,9 +54,10 @@ export default defineComponent({
prev[curr.event] = async () => { prev[curr.event] = async () => {
for (const handle of curr.handle) { for (const handle of curr.handle) {
const [scopeType, actionType, handleKey] = handle.link const [scopeType, actionType, handleKey] = handle.link
if (scopeType == 'global') { if (scopeType === 'global') {
const apis: FetchApiItem[] = props.actions[actionType].apis const apis: FetchApiItem[] = props.actions[actionType].apis
const { data, options } = apis.find((item) => item.key == handleKey)! const { data, options } = apis.find((item) => item.key == handleKey)!
const pramsObj = {}
await request({ await request({
...options, ...options,
headers: { headers: {
@ -71,7 +68,7 @@ export default defineComponent({
password: '123456' password: '123456'
} }
}) })
} else if (scopeType == 'component') { } else if (scopeType === 'component') {
} }
} }
} }

@ -9,7 +9,7 @@ import {
createEditorSelectProp, createEditorSelectProp,
createEditorSwitchProp createEditorSwitchProp
} from '@/visual-editor/visual-editor.props' } from '@/visual-editor/visual-editor.props'
import { reactive } from 'vue' import { getCurrentInstance, reactive } from 'vue'
import { isDate } from '@/visual-editor/utils/is' import { isDate } from '@/visual-editor/utils/is'
import dayjs from 'dayjs' import dayjs from 'dayjs'
@ -24,10 +24,13 @@ const dateType = {
export default { export default {
key: 'datetimePicker', key: 'datetimePicker',
moduleName: 'baseWidgets', moduleName: 'baseWidgets',
label: '表单项类型 - 选择器', label: '表单项类型 - 时间选择器',
preview: () => <Field name="datetimePicker" label="时间选择器" placeholder={'点击选择'}></Field>, preview: () => <Field name="datetimePicker" label="时间选择器" placeholder={'点击选择'}></Field>,
render: ({ size, block, props }) => { render: ({ size, block, props }) => {
const { registerRef } = useGlobalProperties() const { registerRef } = useGlobalProperties()
const { attrs } = getCurrentInstance()!
const state = reactive({ const state = reactive({
showPicker: false, showPicker: false,
text: '', text: '',
@ -63,10 +66,11 @@ export default {
) )
}} }}
/> />
<Popup v-model={[state.showPicker, 'show', ['modifier']]} position={'bottom'}> <Popup v-model={[state.showPicker, 'show']} position={'bottom'}>
<DatetimePicker <DatetimePicker
ref={(el) => registerRef(el, block._vid)} ref={(el) => registerRef(el, block._vid)}
{...props} {...props}
{...attrs}
v-model={state.currentDate} v-model={state.currentDate}
onConfirm={onConfirm} onConfirm={onConfirm}
onCancel={() => (state.showPicker = false)} onCancel={() => (state.showPicker = false)}

@ -1,7 +1,7 @@
/* /*
* @Author: * @Author:
* @Date: 2021-06-01 09:45:21 * @Date: 2021-06-01 09:45:21
* @LastEditTime: 2021-07-04 16:58:50 * @LastEditTime: 2021-07-05 10:18:29
* @LastEditors: * @LastEditors:
* @Description: - * @Description: -
* @FilePath: \vite-vue3-lowcode\src\packages\base-widgets\picker\index.tsx * @FilePath: \vite-vue3-lowcode\src\packages\base-widgets\picker\index.tsx
@ -15,7 +15,7 @@ import {
createEditorInputProp, createEditorInputProp,
createEditorModelBindProp createEditorModelBindProp
} from '@/visual-editor/visual-editor.props' } from '@/visual-editor/visual-editor.props'
import { reactive } from 'vue' import { reactive, getCurrentInstance } from 'vue'
export default { export default {
key: 'picker', key: 'picker',
@ -24,6 +24,9 @@ export default {
preview: () => <Field name="picker" label="选择器" placeholder={'点击选择'}></Field>, preview: () => <Field name="picker" label="选择器" placeholder={'点击选择'}></Field>,
render: ({ size, block, props }) => { render: ({ size, block, props }) => {
const { registerRef } = useGlobalProperties() const { registerRef } = useGlobalProperties()
const { attrs } = getCurrentInstance()!
const state = reactive({ const state = reactive({
showPicker: false, showPicker: false,
text: '', text: '',
@ -42,7 +45,6 @@ export default {
const onConfirm = (value) => { const onConfirm = (value) => {
props.modelValue = value.value props.modelValue = value.value
state.text = value[props.valueKey || 'text'] state.text = value[props.valueKey || 'text']
state.showPicker = false
console.log(props) console.log(props)
} }
@ -72,6 +74,7 @@ export default {
<Picker <Picker
ref={(el) => registerRef(el, block._vid)} ref={(el) => registerRef(el, block._vid)}
{...props} {...props}
{...attrs}
defaultIndex={state.defaultIndex} defaultIndex={state.defaultIndex}
columnsFieldNames={customFieldName} columnsFieldNames={customFieldName}
onConfirm={onConfirm} onConfirm={onConfirm}

@ -1,7 +1,7 @@
/* /*
* @Author: * @Author:
* @Date: 2021-04-22 02:10:31 * @Date: 2021-04-22 02:10:31
* @LastEditTime: 2021-06-27 14:58:03 * @LastEditTime: 2021-07-05 11:39:10
* @LastEditors: * @LastEditors:
* @Description: element-plus * @Description: element-plus
* @FilePath: \vite-vue3-lowcode\src\plugins\element-plus.ts * @FilePath: \vite-vue3-lowcode\src\plugins\element-plus.ts
@ -10,7 +10,15 @@ import 'element-plus/packages/theme-chalk/src/base.scss'
// import 'element-plus/lib/theme-chalk/index.css' // import 'element-plus/lib/theme-chalk/index.css'
// import 'element-plus/lib/theme-chalk/el-popper.css' // import 'element-plus/lib/theme-chalk/el-popper.css'
import type { App } from 'vue' import type { App } from 'vue'
import { ElInfiniteScroll } from 'element-plus'
import { ElInfiniteScroll, locale } from 'element-plus'
import lang from 'element-plus/lib/locale/lang/zh-cn'
import 'dayjs/locale/zh-cn'
// 设置语言
import.meta.env.DEV ? locale(lang) : locale.use(lang)
export const setupElementPlus = (app: App) => { export const setupElementPlus = (app: App) => {
app.use(ElInfiniteScroll) app.use(ElInfiniteScroll)
} }

@ -1,7 +1,7 @@
/* /*
* @Author: * @Author:
* @Date: 2021-06-01 13:22:14 * @Date: 2021-06-01 13:22:14
* @LastEditTime: 2021-06-23 11:40:10 * @LastEditTime: 2021-07-04 21:36:26
* @LastEditors: * @LastEditors:
* @Description: * @Description:
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\components\base-widgets\index.tsx * @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\components\base-widgets\index.tsx
@ -15,6 +15,9 @@ import DraggableTransitionGroup from '@/visual-editor/components/simulator-edito
export default defineComponent({ export default defineComponent({
name: 'BaseWidgets', name: 'BaseWidgets',
label: '基本组件',
order: 3,
icon: 'el-icon-edit',
setup() { setup() {
const baseWidgets = ref(visualConfig.componentModules.baseWidgets) const baseWidgets = ref(visualConfig.componentModules.baseWidgets)

@ -1,7 +1,7 @@
/* /*
* @Author: * @Author:
* @Date: 2021-06-01 13:22:14 * @Date: 2021-06-01 13:22:14
* @LastEditTime: 2021-06-25 09:10:19 * @LastEditTime: 2021-07-04 21:36:46
* @LastEditors: * @LastEditors:
* @Description: * @Description:
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\components\container-component\index.tsx * @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\components\container-component\index.tsx
@ -16,6 +16,9 @@ import type { VisualEditorComponent } from '@/visual-editor/visual-editor.utils'
export default defineComponent({ export default defineComponent({
name: 'ContainerComponent', name: 'ContainerComponent',
label: '容器组件',
icon: 'el-icon-suitcase',
order: 4,
setup() { setup() {
const log = (evt) => { const log = (evt) => {
window.console.log(evt) window.console.log(evt)

@ -1,9 +1,12 @@
<!--自定义组件--> <!--业务组件-->
<template>自定义组件</template> <template>业务组件</template>
<script> <script>
export default { export default {
name: 'CustomComponent' name: 'CustomComponent',
label: '业务组件',
order: 5,
icon: 'el-icon-upload'
} }
</script> </script>

@ -1,7 +1,7 @@
<!-- <!--
* @Author: 卜启缘 * @Author: 卜启缘
* @Date: 2021-06-24 18:36:03 * @Date: 2021-06-24 18:36:03
* @LastEditTime: 2021-06-28 10:10:53 * @LastEditTime: 2021-07-04 19:48:28
* @LastEditors: 卜启缘 * @LastEditors: 卜启缘
* @Description: 接口请求 * @Description: 接口请求
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\components\data-source\data-fetch.vue * @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\components\data-source\data-fetch.vue
@ -12,14 +12,7 @@
<el-button type="warning" size="small" @click="showImportSwaggerJsonModal" <el-button type="warning" size="small" @click="showImportSwaggerJsonModal"
>导入swagger</el-button >导入swagger</el-button
> >
<el-popconfirm <el-popconfirm title="确定要删除全部接口吗?" @confirm="updateFetchApi([], true)">
confirm-button-text="确定"
cancel-button-text="取消"
icon="el-icon-info"
icon-color="red"
title="确定要删除全部接口吗?"
@confirm="updateFetchApi([], true)"
>
<template #reference> <template #reference>
<el-button type="danger" size="small">清空</el-button> <el-button type="danger" size="small">清空</el-button>
</template> </template>

@ -1,7 +1,7 @@
<!-- <!--
* @Author: 卜启缘 * @Author: 卜启缘
* @Date: 2021-06-24 18:36:03 * @Date: 2021-06-24 18:36:03
* @LastEditTime: 2021-06-27 14:48:53 * @LastEditTime: 2021-07-04 19:49:52
* @LastEditors: 卜启缘 * @LastEditors: 卜启缘
* @Description: 数据模型管理 * @Description: 数据模型管理
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\components\data-source\data-model.vue * @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\components\data-source\data-model.vue
@ -12,14 +12,7 @@
<el-button type="warning" size="small" @click="showImportSwaggerJsonModal" <el-button type="warning" size="small" @click="showImportSwaggerJsonModal"
>导入swagger</el-button >导入swagger</el-button
> >
<el-popconfirm <el-popconfirm title="确定要删除全部模型吗?" @confirm="updateModel([], true)">
confirm-button-text="确定"
cancel-button-text="取消"
icon="el-icon-info"
icon-color="red"
title="确定要删除全部模型吗?"
@confirm="updateModel([], true)"
>
<template #reference> <template #reference>
<el-button type="danger" size="small">清空</el-button> <el-button type="danger" size="small">清空</el-button>
</template> </template>
@ -33,14 +26,7 @@
<span class="truncate w-160px">{{ item.name }}</span> <span class="truncate w-160px">{{ item.name }}</span>
<div class="model-actions"> <div class="model-actions">
<i class="el-icon-edit" @click="editModel(item)"></i> <i class="el-icon-edit" @click="editModel(item)"></i>
<el-popconfirm <el-popconfirm title="确定要删除该模型吗?" @confirm="deleteModel(item.key)">
confirm-button-text="确定"
cancel-button-text="取消"
icon="el-icon-info"
icon-color="red"
title="确定要删除该模型吗?"
@confirm="deleteModel(item.key)"
>
<template #reference> <template #reference>
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</template> </template>

@ -1,7 +1,7 @@
<!-- <!--
* @Author: 卜启缘 * @Author: 卜启缘
* @Date: 2021-06-24 18:36:03 * @Date: 2021-06-24 18:36:03
* @LastEditTime: 2021-06-27 14:45:03 * @LastEditTime: 2021-07-04 21:36:14
* @LastEditors: 卜启缘 * @LastEditors: 卜启缘
* @Description: 数据源管理 * @Description: 数据源管理
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\components\data-source\index.vue * @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\components\data-source\index.vue
@ -17,7 +17,14 @@
</el-tabs> </el-tabs>
</template> </template>
<script setup lang="tsx"> <script lang="tsx">
export default {
label: '数据源',
order: 2,
icon: 'el-icon-data-board'
}
</script>
<script setup lang="tsx" name="基本组件">
import DataModel from './data-model.vue' import DataModel from './data-model.vue'
import DataFetch from './data-fetch.vue' import DataFetch from './data-fetch.vue'
</script> </script>

@ -82,6 +82,9 @@ const rules = {
export default defineComponent({ export default defineComponent({
name: 'PageTree', name: 'PageTree',
label: '页面',
order: 1,
icon: 'el-icon-tickets',
setup() { setup() {
const router = useRouter() const router = useRouter()
const route = useRoute() const route = useRoute()

@ -1,7 +0,0 @@
export const treeData = [
{
title: '首页',
path: '/',
isDefault: true
}
]

@ -1,42 +1,47 @@
<!-- <!--
* @Author: 卜启缘 * @Author: 卜启缘
* @Date: 2021-06-24 00:35:17 * @Date: 2021-06-24 00:35:17
* @LastEditTime: 2021-06-27 14:44:35 * @LastEditTime: 2021-07-04 21:44:20
* @LastEditors: 卜启缘 * @LastEditors: 卜启缘
* @Description: 左侧边栏 * @Description: 左侧边栏
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\index.vue * @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\index.vue
--> -->
<template> <template>
<el-tabs v-model="activeName" tab-position="left" class="left-aside"> <el-tabs v-model="activeName" tab-position="left" class="left-aside">
<template v-for="tabItem in tabs" :key="tabItem.componentName"> <template v-for="tabItem in tabs" :key="tabItem.name">
<el-tab-pane :name="tabItem.componentName" lazy> <el-tab-pane :name="tabItem.name" lazy>
<template #label> <template #label>
<div :ref="(el) => el && (tabItemRef[tabItem.componentName] = el)" class="tab-item"> <div class="tab-item">
<i :class="tabItem.icon"></i> <i :class="tabItem.icon"></i>
{{ tabItem.label }} {{ tabItem.label }}
</div> </div>
</template> </template>
<component :is="tabItem.componentName" v-bind="$attrs" /> <component :is="tabItem.name" v-bind="$attrs" />
</el-tab-pane> </el-tab-pane>
</template> </template>
</el-tabs> </el-tabs>
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent, reactive, toRefs, ComponentInternalInstance } from 'vue'
import { tabs } from './tabs'
import components from './components'
/** /**
* @description 左侧边栏 * @description 左侧边栏
*/ */
import { defineComponent, reactive, toRefs } from 'vue'
import components from './components'
const tabs = Object.keys(components)
.map((name) => {
const { label, icon, order } = components[name]
return { label, icon, name, order }
})
.sort((a, b) => a.order - b.order)
export default defineComponent({ export default defineComponent({
name: 'LeftAside', name: 'LeftAside',
components, components,
setup() { setup() {
const state = reactive({ const state = reactive({
activeName: tabs[0].componentName, activeName: tabs[0].name
tabItemRef: {} as { [prop: string]: ComponentInternalInstance | Element }
}) })
return { return {

@ -1,35 +0,0 @@
/*
* @Author:
* @Date: 2021-06-01 09:39:52
* @LastEditTime: 2021-06-28 17:25:30
* @LastEditors:
* @Description:
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\left-aside\tabs.ts
*/
export const tabs = [
{
icon: 'el-icon-tickets',
label: '页面',
componentName: 'PageTree'
},
{
icon: 'el-icon-data-board',
label: '数据源',
componentName: 'data-source'
},
{
icon: 'el-icon-edit',
label: '基础控件',
componentName: 'BaseWidgets'
},
{
icon: 'el-icon-suitcase',
label: '容器组件',
componentName: 'ContainerComponent'
},
{
icon: 'el-icon-upload',
label: '自定义组件',
componentName: 'custom-component'
}
]

@ -1,7 +1,7 @@
/* /*
* @Author: * @Author:
* @Date: 2021-06-24 11:01:45 * @Date: 2021-06-24 11:01:45
* @LastEditTime: 2021-06-28 18:49:18 * @LastEditTime: 2021-07-04 19:44:10
* @LastEditors: * @LastEditors:
* @Description: - * @Description: -
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\right-attribute-panel\components\event-action\index.tsx * @FilePath: \vite-vue3-lowcode\src\visual-editor\components\right-attribute-panel\components\event-action\index.tsx
@ -19,9 +19,9 @@ import {
ElCascader, ElCascader,
ElCollapse, ElCollapse,
ElCollapseItem, ElCollapseItem,
ElMessage ElPopconfirm
} from 'element-plus' } from 'element-plus'
import type { Action, ActionHandle } from '@/visual-editor/visual-editor.utils' import type { Action } from '@/visual-editor/visual-editor.utils'
import { generateUUID } from '@/visual-editor/utils/' import { generateUUID } from '@/visual-editor/utils/'
import { useModal } from '@/visual-editor/hooks/useModal' import { useModal } from '@/visual-editor/hooks/useModal'
import { cloneDeep } from 'lodash' import { cloneDeep } from 'lodash'
@ -288,9 +288,18 @@ export const EventAction = defineComponent({
<div class={'flex justify-between'}> <div class={'flex justify-between'}>
{actionItem.name} {actionItem.name}
<div> <div>
<ElButton onClick={() => deleteActionItem(index)} type={'danger'} size={'mini'}> <ElPopconfirm
title={'确定要删除该事件吗?'}
onConfirm={() => deleteActionItem(index)}
>
{{
reference: () => (
<ElButton type={'danger'} size={'mini'}>
</ElButton> </ElButton>
)
}}
</ElPopconfirm>
<ElButton <ElButton
onClick={() => showEditActionModal(actionItem)} onClick={() => showEditActionModal(actionItem)}
type={'primary'} type={'primary'}

@ -0,0 +1,15 @@
/*
* @Author:
* @Date: 2021-07-05 10:51:09
* @LastEditTime: 2021-07-05 10:52:26
* @LastEditors:
* @Description:
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\right-attribute-panel\components\form-rule\index.tsx
*/
import { defineComponent } from 'vue'
export const FormRule = defineComponent({
setup() {
return () => <></>
}
})

@ -1,7 +1,7 @@
/* /*
* @Author: * @Author:
* @Date: 2021-06-12 22:18:48 * @Date: 2021-06-12 22:18:48
* @LastEditTime: 2021-06-24 18:30:44 * @LastEditTime: 2021-07-05 10:53:16
* @LastEditors: * @LastEditors:
* @Description: * @Description:
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\right-attribute-panel\components\index.ts * @FilePath: \vite-vue3-lowcode\src\visual-editor\components\right-attribute-panel\components\index.ts
@ -11,3 +11,4 @@ export { AttrEditor } from './attr-editor/AttrEditor'
export { Animate } from './animate/Animate' export { Animate } from './animate/Animate'
export { PageSetting } from './page-setting/pageSetting' export { PageSetting } from './page-setting/pageSetting'
export { EventAction } from './event-action/' export { EventAction } from './event-action/'
export { FormRule } from './form-rule/'

@ -1,19 +1,18 @@
/* /*
* @Author: * @Author:
* @Date: 2021-06-01 13:22:14 * @Date: 2021-06-01 13:22:14
* @LastEditTime: 2021-06-28 09:25:06 * @LastEditTime: 2021-07-05 11:06:49
* @LastEditors: * @LastEditors:
* @Description: * @Description:
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\right-attribute-panel\index.tsx * @FilePath: \vite-vue3-lowcode\src\visual-editor\components\right-attribute-panel\index.tsx
* RightAttributePanel * RightAttributePanel
*/ */
import { defineComponent, reactive } from 'vue' import { defineComponent, reactive, watch } from 'vue'
import styles from './index.module.scss' import styles from './index.module.scss'
import { ElTabPane, ElTabs } from 'element-plus' import { ElTabPane, ElTabs } from 'element-plus'
import MonacoEditor from '../common/monaco-editor/MonacoEditor'
import { useVisualData } from '@/visual-editor/hooks/useVisualData' import { useVisualData } from '@/visual-editor/hooks/useVisualData'
import { AttrEditor, Animate, PageSetting, EventAction } from './components' import { AttrEditor, Animate, PageSetting, EventAction, FormRule } from './components'
export default defineComponent({ export default defineComponent({
name: 'RightAttributePanel', name: 'RightAttributePanel',
@ -25,14 +24,14 @@ export default defineComponent({
isOpen: true isOpen: true
}) })
const handleSchemaChange = (val) => { watch(
try { () => currentBlock.value.label,
const newObj = JSON.parse(val) (newLabel) => {
Object.assign(currentBlock.value, newObj) if (!newLabel?.startsWith('表单') && state.activeName == 'form-rule') {
} catch (e) { state.activeName = 'attr'
console.log('JSON格式有误:', e)
} }
} }
)
return () => ( return () => (
<> <>
@ -56,15 +55,11 @@ export default defineComponent({
<ElTabPane label="事件" name="events"> <ElTabPane label="事件" name="events">
<EventAction /> <EventAction />
</ElTabPane> </ElTabPane>
<ElTabPane label="JSON" name="json" lazy> {currentBlock.value.label?.startsWith('表单') ? (
<MonacoEditor <ElTabPane label="规则" name="form-rule" lazy>
code={JSON.stringify(currentBlock.value)} <FormRule />
layout={{ width: 360, height: 800 }}
vid={state.activeName == 'json' ? currentBlock.value._vid : -1}
onChange={handleSchemaChange}
title=""
/>
</ElTabPane> </ElTabPane>
) : null}
<ElTabPane label="页面设置" name="page-setting"> <ElTabPane label="页面设置" name="page-setting">
<PageSetting /> <PageSetting />
</ElTabPane> </ElTabPane>

@ -1,13 +1,14 @@
/* /*
* @Author: * @Author:
* @Date: 2021-05-04 05:36:58 * @Date: 2021-05-04 05:36:58
* @LastEditTime: 2021-06-25 08:52:37 * @LastEditTime: 2021-07-04 17:23:02
* @LastEditors: * @LastEditors:
* @Description: * @Description:
* @FilePath: \vite-vue3-lowcode\src\visual-editor\components\simulator-editor\comp-render.tsx * @FilePath: \vite-vue3-lowcode\src\visual-editor\components\simulator-editor\comp-render.tsx
*/ */
import { defineComponent, PropType } from 'vue' import { defineComponent, PropType } from 'vue'
import type { VisualEditorBlockData, VisualEditorConfig } from '@/visual-editor/visual-editor.utils' import type { VisualEditorBlockData } from '@/visual-editor/visual-editor.utils'
import { visualConfig } from '@/visual.config'
export default defineComponent({ export default defineComponent({
name: 'CompRender', name: 'CompRender',
@ -15,15 +16,11 @@ export default defineComponent({
element: { element: {
type: Object as PropType<VisualEditorBlockData>, type: Object as PropType<VisualEditorBlockData>,
default: () => ({}) default: () => ({})
},
config: {
type: Object as PropType<VisualEditorConfig>,
default: () => ({})
} }
}, },
setup(props) { setup(props) {
return () => return () =>
props.config.componentMap[props.element.componentKey].render({ visualConfig.componentMap[props.element.componentKey].render({
size: {}, size: {},
props: props.element.props || {}, props: props.element.props || {},
model: {}, model: {},

@ -3,20 +3,70 @@
*/ */
@mixin showContainerBorder { @mixin showContainerBorder {
outline: 2px dashed #b0c1d7; @include showDashedOutline;
outline-offset: -2px;
&::before { &::before {
position: absolute; @include showCompLabel;
}
}
/**
* 显示组件边界
*/
@mixin showComponentBorder {
@include showSoliOutline;
&::before {
@include showCompLabel;
}
}
/**
* 显示组件标签名称
*/
@mixin showCompLabel($direction: left) {
@if ($direction == 'left') {
top: 0; top: 0;
left: -3px; left: -3px;
padding: 3px; transform: translate(-100%, 0);
}
@if ($direction == 'right') {
top: 0;
right: -3px;
transform: translate(100%, 0);
}
@if ($direction == 'top') {
top: 2px;
left: 0;
transform: translate(0, -100%);
}
position: absolute;
padding: 3px 5px;
font-size: 12px; font-size: 12px;
font-weight: 700; font-weight: 700;
color: white; color: white;
background-color: #006eff; background-color: #006eff;
border-radius: 3px; border-radius: 3px;
content: attr(data-label); content: attr(data-label);
transform: translate(-100%, 0);
} }
/**
* 显示实心外边框线
*/
@mixin showSoliOutline($width: 2px) {
outline: $width solid #006eff;
outline-offset: -2px;
}
/**
* 显示虚线外边框线
*/
@mixin showDashedOutline($width: 2px) {
outline: $width dashed #b0c1d7;
outline-offset: -2px;
} }

@ -22,7 +22,6 @@
> >
<comp-render <comp-render
:key="outElement._vid" :key="outElement._vid"
:config="visualConfig"
:element="outElement" :element="outElement"
:style="{ :style="{
pointerEvents: Object.keys(outElement.props?.slots || {}).length ? 'auto' : 'none' pointerEvents: Object.keys(outElement.props?.slots || {}).length ? 'auto' : 'none'
@ -37,7 +36,6 @@
v-model:children="value.children" v-model:children="value.children"
v-model:drag="drag" v-model:drag="drag"
:slot-key="slotKey" :slot-key="slotKey"
:config="visualConfig"
:on-contextmenu-block="onContextmenuBlock" :on-contextmenu-block="onContextmenuBlock"
:select-comp="selectComp" :select-comp="selectComp"
:delete-comp="deleteComp" :delete-comp="deleteComp"
@ -59,9 +57,11 @@ import DraggableTransitionGroup from './draggable-transition-group.vue'
import { $$dropdown, DropdownOption } from '@/visual-editor/utils/dropdown-service' import { $$dropdown, DropdownOption } from '@/visual-editor/utils/dropdown-service'
import CompRender from './comp-render' import CompRender from './comp-render'
import SlotItem from './slot-item.vue' import SlotItem from './slot-item.vue'
import MonacoEditor from '@/visual-editor/components/common/monaco-editor/MonacoEditor'
import { cloneDeep } from 'lodash' import { cloneDeep } from 'lodash'
import { useGlobalProperties } from '@/hooks/useGlobalProperties' import { useGlobalProperties } from '@/hooks/useGlobalProperties'
import { useVisualData } from '@/visual-editor/hooks/useVisualData' import { useVisualData } from '@/visual-editor/hooks/useVisualData'
import { useModal } from '@/visual-editor/hooks/useModal'
export default defineComponent({ export default defineComponent({
name: 'SimulatorEditor', name: 'SimulatorEditor',
@ -72,7 +72,7 @@ export default defineComponent({
}, },
emits: ['on-selected'], emits: ['on-selected'],
setup() { setup() {
const { currentPage, visualConfig, setCurrentBlock } = useVisualData() const { currentPage, setCurrentBlock } = useVisualData()
const { globalProperties } = useGlobalProperties() const { globalProperties } = useGlobalProperties()
@ -198,6 +198,27 @@ export default defineComponent({
} }
}} }}
/> />
<DropdownOption
label="查看节点"
icon="el-icon-view"
{...{
onClick: () =>
useModal({
title: '节点信息',
footer: null,
props: {
width: 600
},
content: () => (
<MonacoEditor
code={JSON.stringify(block)}
layout={{ width: 530, height: 600 }}
vid={block._vid}
/>
)
})
}}
/>
<DropdownOption <DropdownOption
label="删除节点" label="删除节点"
icon="el-icon-delete" icon="el-icon-delete"
@ -213,7 +234,6 @@ export default defineComponent({
return { return {
...toRefs(state), ...toRefs(state),
currentPage, currentPage,
visualConfig,
pageStyle, pageStyle,
deleteComp, deleteComp,
selectComp, selectComp,
@ -272,9 +292,7 @@ export default defineComponent({
} }
&.focus { &.focus {
content: ''; @include showComponentBorder;
outline: 2px solid #006eff;
outline-offset: -2px;
} }
&.drag::after { &.drag::after {

@ -16,7 +16,6 @@
@mousedown.stop="selectComp(innerElement)" @mousedown.stop="selectComp(innerElement)"
> >
<comp-render <comp-render
:config="config"
:element="innerElement" :element="innerElement"
:style="{ :style="{
pointerEvents: Object.keys(innerElement.props?.slots || {}).length ? 'auto' : 'none' pointerEvents: Object.keys(innerElement.props?.slots || {}).length ? 'auto' : 'none'
@ -27,7 +26,6 @@
v-model:children="value.children" v-model:children="value.children"
v-model:drag="isDrag" v-model:drag="isDrag"
:slot-key="key" :slot-key="key"
:config="config"
:on-contextmenu-block="onContextmenuBlock" :on-contextmenu-block="onContextmenuBlock"
:select-comp="selectComp" :select-comp="selectComp"
/> />
@ -57,10 +55,6 @@ export default defineComponent({
components: { CompRender, DraggableTransitionGroup }, components: { CompRender, DraggableTransitionGroup },
props: { props: {
slotKey: String, slotKey: String,
config: {
type: Object,
default: () => ({})
},
drag: { drag: {
type: Boolean, type: Boolean,
default: false default: false
@ -89,6 +83,8 @@ export default defineComponent({
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import './func.scss';
.inner-draggable { .inner-draggable {
position: relative; position: relative;
} }
@ -120,27 +116,22 @@ export default defineComponent({
transform: translate(0); transform: translate(0);
&.focusWithChild { &.focusWithChild {
outline: 2px dashed #b0c1d7; @include showContainerBorder;
outline-offset: -2px;
} }
&.focusWithChild::before { &.focus {
position: absolute; @include showSoliOutline;
top: 0;
left: -3px; &::after {
padding: 3px; @include showCompLabel(top);
font-size: 12px;
font-weight: 700; opacity: 0;
color: white; transition: opacity 0.2s;
background-color: #006eff;
border-radius: 3px;
content: attr(data-label);
transform: translate(-100%, 0);
} }
&.focus { &:hover::after {
outline: 2px solid #006eff; opacity: 1;
outline-offset: -2px; }
} }
} }
</style> </style>

@ -89,6 +89,7 @@ export default ({ mode }: ConfigEnv): UserConfig => {
exclude: ['vue-demi'] exclude: ['vue-demi']
}, },
server: { server: {
host: '0.0.0.0',
port: 10086, // 设置服务启动端口号 port: 10086, // 设置服务启动端口号
open: false, // 设置服务启动时是否自动打开浏览器 open: false, // 设置服务启动时是否自动打开浏览器
cors: true, // 允许跨域 cors: true, // 允许跨域

@ -681,12 +681,7 @@
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256"
integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==
"@types/node@*": "@types/node@*", "@types/node@^16.0.0":
version "15.12.4"
resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.4.tgz#e1cf817d70a1e118e81922c4ff6683ce9d422e26"
integrity sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==
"@types/node@^16.0.0":
version "16.0.0" version "16.0.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.0.0.tgz#067a6c49dc7a5c2412a505628e26902ae967bf6f" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.0.0.tgz#067a6c49dc7a5c2412a505628e26902ae967bf6f"
integrity sha512-TmCW5HoZ2o2/z2EYi109jLqIaPIi9y/lc2LmDCWzuCi35bcaQ+OtUh6nwBiFK7SOu25FAU5+YKdqFZUwtqGSdg== integrity sha512-TmCW5HoZ2o2/z2EYi109jLqIaPIi9y/lc2LmDCWzuCi35bcaQ+OtUh6nwBiFK7SOu25FAU5+YKdqFZUwtqGSdg==
@ -707,9 +702,9 @@
integrity sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ== integrity sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==
"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": "@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
version "2.0.3" version "2.0.4"
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.4.tgz#453e27c6930d66380b4c121e7d5e361c5c2d921b"
integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== integrity sha512-zfyYsDTK1HTGYXU3fTiM76+om93HcFtsZd2M0bO/CL4DiETV7mSa/pIVN/6+G3esOqEMdg2An5cHHbK5t+9w+A==
"@types/vfile-message@*": "@types/vfile-message@*":
version "2.0.0" version "2.0.0"
@ -851,13 +846,13 @@
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-1.2.4.tgz#a7aa6e6a31c556a8b781de730316deeecf7f56f2" resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-1.2.4.tgz#a7aa6e6a31c556a8b781de730316deeecf7f56f2"
integrity sha512-D/3H9plevPQGgQGwmV6eecvOnooLTecPR63HPffVVWPEhbfvmtYLWgznzs456NBb2DItiRTCIa1yWxvGqC+I8A== integrity sha512-D/3H9plevPQGgQGwmV6eecvOnooLTecPR63HPffVVWPEhbfvmtYLWgznzs456NBb2DItiRTCIa1yWxvGqC+I8A==
"@volar/code-gen@^0.25.22": "@volar/code-gen@^0.25.26":
version "0.25.22" version "0.25.26"
resolved "https://registry.yarnpkg.com/@volar/code-gen/-/code-gen-0.25.22.tgz#405035eb7e19573f630070677fa91553d79a47bc" resolved "https://registry.yarnpkg.com/@volar/code-gen/-/code-gen-0.25.26.tgz#44294b71451df317be29f26263c9aec6c6132101"
integrity sha512-CStz1TMxJtEQgXosaOLIVykxQBg5VFvxsvlcrCUum1ZCzpRsXPldS/3OdPOCgkdyE/i9kVzKOvt8DYChKTCPqw== integrity sha512-PuUahRMRQForfBZpmlW/f/UdftTBIhGNpV81k9cQtM//nFOPN3Jvq4QUNLjFiO/D/o+0jNItSJKIadp6tkV0Ag==
dependencies: dependencies:
"@volar/shared" "^0.25.22" "@volar/shared" "^0.25.26"
"@volar/source-map" "^0.25.22" "@volar/source-map" "^0.25.26"
"@volar/html2pug@^0.25.4": "@volar/html2pug@^0.25.4":
version "0.25.4" version "0.25.4"
@ -869,27 +864,27 @@
htmlparser2 "^6.1.0" htmlparser2 "^6.1.0"
pug "^3.0.2" pug "^3.0.2"
"@volar/shared@^0.25.22": "@volar/shared@^0.25.26":
version "0.25.22" version "0.25.26"
resolved "https://registry.yarnpkg.com/@volar/shared/-/shared-0.25.22.tgz#0dbf7fcf201b3a0beacc6fd82d407a748729a978" resolved "https://registry.yarnpkg.com/@volar/shared/-/shared-0.25.26.tgz#90c8d4549f2512d24d800307dfe4951093148cb6"
integrity sha512-hZQ4dDy0/MgjVONFhs7P2ECDamajwmpSErFYLaLwFClh7DNn6gXYEsawr5kS5zHYs/HaSfSwNQ4sx5Y2MInCZw== integrity sha512-jdW2WFwhGoQNnxURMfHlYdXuMoR9TzgnYaG6J17yEqjkVsMbw6MfqLPXp9NOe+lpwi2UM9IMrdWgVpVkD7grjA==
dependencies: dependencies:
upath "^2.0.1" upath "^2.0.1"
vscode-languageserver "^7.1.0-next.4" vscode-languageserver "^7.1.0-next.4"
"@volar/source-map@^0.25.22": "@volar/source-map@^0.25.26":
version "0.25.22" version "0.25.26"
resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-0.25.22.tgz#5150401e1950dd35fb11720f79e59799d3885741" resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-0.25.26.tgz#fdf47a407b7d3f7383ebc6ac87c70eafda1648c9"
integrity sha512-J6xntLQ8I6BMqPBaQZN3JROJPfcFexo/5KecMxGqHkdLC/M/DtVOAp9zkwAXu7XuXA/nF6iGxmL3TYELFRryzw== integrity sha512-voPURNnlvbm7aFze0fXTO7GAbjZL0sBH/ioLZ3Wj+GZ9NoDL5vCC3jrddA3FcFHyHH1Yw9tXToPLb2Q11VkIag==
dependencies: dependencies:
"@volar/shared" "^0.25.22" "@volar/shared" "^0.25.26"
"@volar/transforms@^0.25.22": "@volar/transforms@^0.25.26":
version "0.25.22" version "0.25.26"
resolved "https://registry.yarnpkg.com/@volar/transforms/-/transforms-0.25.22.tgz#7f4c10d63f221f3892e951c857bf828de139a29a" resolved "https://registry.yarnpkg.com/@volar/transforms/-/transforms-0.25.26.tgz#a23b31e6b06a2195bbaea82392c3b08da08a8ca5"
integrity sha512-WcQU2MzAsVILITxbt3urNPUbPlOvsdGuChwCNc9OXV1OgBOTJtJ9sQV63pYr+tb7Yl3Ie2S8Q7lNMy8gS1jvLQ== integrity sha512-3rzOabA96s+YmPUIWnRxIlyOqXRk2Pmlk8StMOKAB9o7QEt0jlVFW8jATEXrGJPcUrKyWo/cVXO06RlEETwB8w==
dependencies: dependencies:
"@volar/shared" "^0.25.22" "@volar/shared" "^0.25.26"
"@vue/babel-helper-vue-transform-on@^1.0.2": "@vue/babel-helper-vue-transform-on@^1.0.2":
version "1.0.2" version "1.0.2"
@ -911,17 +906,6 @@
html-tags "^3.1.0" html-tags "^3.1.0"
svg-tags "^1.0.0" svg-tags "^1.0.0"
"@vue/compiler-core@3.1.2":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.1.2.tgz#31ab1d88e1706a5c7a545faeeb64c31bd0101db0"
integrity sha512-nHmq7vLjq/XM2IMbZUcKWoH5sPXa2uR/nIKZtjbK5F3TcbnYE/zKsrSUR9WZJ03unlwotNBX1OyxVt9HbWD7/Q==
dependencies:
"@babel/parser" "^7.12.0"
"@babel/types" "^7.12.0"
"@vue/shared" "3.1.2"
estree-walker "^2.0.1"
source-map "^0.6.1"
"@vue/compiler-core@3.1.4": "@vue/compiler-core@3.1.4":
version "3.1.4" version "3.1.4"
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.1.4.tgz#a3a74cf52e8f01af386d364ac8a099cbeb260424" resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.1.4.tgz#a3a74cf52e8f01af386d364ac8a099cbeb260424"
@ -933,15 +917,7 @@
estree-walker "^2.0.1" estree-walker "^2.0.1"
source-map "^0.6.1" source-map "^0.6.1"
"@vue/compiler-dom@3.1.2", "@vue/compiler-dom@^3.0.11": "@vue/compiler-dom@3.1.4", "@vue/compiler-dom@^3.0.11":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.1.2.tgz#75a7731bcc5d9718183a3c56c18e992f7c13e7b1"
integrity sha512-k2+SWcWH0jL6WQAX7Or2ONqu5MbtTgTO0dJrvebQYzgqaKMXNI90RNeWeCxS4BnNFMDONpHBeFgbwbnDWIkmRg==
dependencies:
"@vue/compiler-core" "3.1.2"
"@vue/shared" "3.1.2"
"@vue/compiler-dom@3.1.4":
version "3.1.4" version "3.1.4"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.1.4.tgz#bf3795e1449f32c965d38c4ea6d808ca05fdfc97" resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.1.4.tgz#bf3795e1449f32c965d38c4ea6d808ca05fdfc97"
integrity sha512-3tG2ScHkghhUBuFwl9KgyZhrS8CPFZsO7hUDekJgIp5b1OMkROr4AvxHu6rRMl4WkyvYkvidFNBS2VfOnwa6Kw== integrity sha512-3tG2ScHkghhUBuFwl9KgyZhrS8CPFZsO7hUDekJgIp5b1OMkROr4AvxHu6rRMl4WkyvYkvidFNBS2VfOnwa6Kw==
@ -949,7 +925,7 @@
"@vue/compiler-core" "3.1.4" "@vue/compiler-core" "3.1.4"
"@vue/shared" "3.1.4" "@vue/shared" "3.1.4"
"@vue/compiler-sfc@3.1.4": "@vue/compiler-sfc@3.1.4", "@vue/compiler-sfc@^3.0.11":
version "3.1.4" version "3.1.4"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.1.4.tgz#93e87db950e0711339c18baa7bb7d28d3522d7bc" resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.1.4.tgz#93e87db950e0711339c18baa7bb7d28d3522d7bc"
integrity sha512-4KDQg60Khy3SgnF+V/TB2NZqzmM4TyGRmzsxqG1SebGdMSecCweFDSlI/F1vDYk6dKiCHgmpoT9A1sLxswkJ0A== integrity sha512-4KDQg60Khy3SgnF+V/TB2NZqzmM4TyGRmzsxqG1SebGdMSecCweFDSlI/F1vDYk6dKiCHgmpoT9A1sLxswkJ0A==
@ -972,37 +948,6 @@
postcss-selector-parser "^6.0.4" postcss-selector-parser "^6.0.4"
source-map "^0.6.1" source-map "^0.6.1"
"@vue/compiler-sfc@^3.0.11":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.1.2.tgz#23ff1e366d887b964899568bffcb11e3d0511fc4"
integrity sha512-SeG/2+DvwejQ7oAiSx8BrDh5qOdqCYHGClPiTvVIHTfSIHiS2JjMbCANdDCjHkTOh/O7WZzo2JhdKm98bRBxTw==
dependencies:
"@babel/parser" "^7.13.9"
"@babel/types" "^7.13.0"
"@types/estree" "^0.0.48"
"@vue/compiler-core" "3.1.2"
"@vue/compiler-dom" "3.1.2"
"@vue/compiler-ssr" "3.1.2"
"@vue/shared" "3.1.2"
consolidate "^0.16.0"
estree-walker "^2.0.1"
hash-sum "^2.0.0"
lru-cache "^5.1.1"
magic-string "^0.25.7"
merge-source-map "^1.1.0"
postcss "^8.1.10"
postcss-modules "^4.0.0"
postcss-selector-parser "^6.0.4"
source-map "^0.6.1"
"@vue/compiler-ssr@3.1.2":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.1.2.tgz#e33ad0876d9b96f0950e22b0e174b94c1b049d2d"
integrity sha512-BwXo9LFk5OSWdMyZQ4bX1ELHX0Z/9F+ld/OaVnpUPzAZCHslBYLvyKUVDwv2C/lpLjRffpC2DOUEdl1+RP1aGg==
dependencies:
"@vue/compiler-dom" "3.1.2"
"@vue/shared" "3.1.2"
"@vue/compiler-ssr@3.1.4": "@vue/compiler-ssr@3.1.4":
version "3.1.4" version "3.1.4"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.1.4.tgz#7f6eaac5b1851fc15c82c083e8179eb1216b303c" resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.1.4.tgz#7f6eaac5b1851fc15c82c083e8179eb1216b303c"
@ -1012,24 +957,17 @@
"@vue/shared" "3.1.4" "@vue/shared" "3.1.4"
"@vue/devtools-api@^6.0.0-beta.11", "@vue/devtools-api@^6.0.0-beta.14": "@vue/devtools-api@^6.0.0-beta.11", "@vue/devtools-api@^6.0.0-beta.14":
version "6.0.0-beta.14" version "6.0.0-beta.15"
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.0.0-beta.14.tgz#6ed2d6f8d66a9256c9ad04bfff08309ba87b9723" resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.0.0-beta.15.tgz#ad7cb384e062f165bcf9c83732125bffbc2ad83d"
integrity sha512-44fPrrN1cqcs6bFkT0C+yxTM6PZXLbR+ESh1U1j8UD22yO04gXvxH62HApMjLbS3WqJO/iCNC+CYT+evPQh2EQ== integrity sha512-quBx4Jjpexo6KDiNUGFr/zF/2A4srKM9S9v2uHgMXSU//hjgq1eGzqkIFql8T9gfX5ZaVOUzYBP3jIdIR3PKIA==
"@vue/reactivity@3.1.4": "@vue/reactivity@3.1.4", "@vue/reactivity@^3.0.11":
version "3.1.4" version "3.1.4"
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.1.4.tgz#d926ed46fb0d48582ccf8665b062d37b5d35ba99" resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.1.4.tgz#d926ed46fb0d48582ccf8665b062d37b5d35ba99"
integrity sha512-YDlgii2Cr9yAoKVZFzgY4j0mYlVT73986X3e5SPp6ifqckSEoFSUWXZK2Tb53TB/9qO29BEEbspnKD3m3wAwkA== integrity sha512-YDlgii2Cr9yAoKVZFzgY4j0mYlVT73986X3e5SPp6ifqckSEoFSUWXZK2Tb53TB/9qO29BEEbspnKD3m3wAwkA==
dependencies: dependencies:
"@vue/shared" "3.1.4" "@vue/shared" "3.1.4"
"@vue/reactivity@^3.0.11":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.1.2.tgz#66fa530dd726d2fef285ae55d02106a727db463b"
integrity sha512-glJzJoN2xE7I2lRvwKM5u1BHRPTd1yc8iaf//Lai/78/uYAvE5DXp5HzWRFOwMlbRvMGJHIQjOqoxj87cDAaag==
dependencies:
"@vue/shared" "3.1.2"
"@vue/runtime-core@3.1.4": "@vue/runtime-core@3.1.4":
version "3.1.4" version "3.1.4"
resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.1.4.tgz#3e30ae6ecbfff06df5adc9414491143191a375ba" resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.1.4.tgz#3e30ae6ecbfff06df5adc9414491143191a375ba"
@ -1047,12 +985,7 @@
"@vue/shared" "3.1.4" "@vue/shared" "3.1.4"
csstype "^2.6.8" csstype "^2.6.8"
"@vue/shared@3.1.2", "@vue/shared@^3.0.11": "@vue/shared@3.1.4", "@vue/shared@^3.0.11":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.1.2.tgz#1069c0bc7d6f4bd15ccf3a5f3be29450aca368f9"
integrity sha512-EmH/poaDWBPJaPILXNI/1fvUbArJQmmTyVCwvvyDYDFnkPoTclAbHRAtyIvqfez7jybTDn077HTNILpxlsoWhg==
"@vue/shared@3.1.4":
version "3.1.4" version "3.1.4"
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.1.4.tgz#c14c461ec42ea2c1556e86f60b0354341d91adc3" resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.1.4.tgz#c14c461ec42ea2c1556e86f60b0354341d91adc3"
integrity sha512-6O45kZAmkLvzGLToBxEz4lR2W6kXohCtebV2UxjH9GXjd8X9AhEn68FN9eNanFtWNzvgw1hqd6HkPRVQalqf7Q== integrity sha512-6O45kZAmkLvzGLToBxEz4lR2W6kXohCtebV2UxjH9GXjd8X9AhEn68FN9eNanFtWNzvgw1hqd6HkPRVQalqf7Q==
@ -1144,9 +1077,9 @@ ajv@^6.10.0, ajv@^6.12.4:
uri-js "^4.2.2" uri-js "^4.2.2"
ajv@^8.0.1: ajv@^8.0.1:
version "8.6.0" version "8.6.1"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.0.tgz#60cc45d9c46a477d80d92c48076d972c342e5720" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.1.tgz#ae65764bf1edde8cd861281cda5057852364a295"
integrity sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ== integrity sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ==
dependencies: dependencies:
fast-deep-equal "^3.1.1" fast-deep-equal "^3.1.1"
json-schema-traverse "^1.0.0" json-schema-traverse "^1.0.0"
@ -1531,9 +1464,9 @@ camelcase@^6.0.0:
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219: caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219:
version "1.0.30001239" version "1.0.30001242"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz#66e8669985bb2cb84ccb10f68c25ce6dd3e4d2b8" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001242.tgz#04201627abcd60dc89211f22cbe2347306cda46b"
integrity sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ== integrity sha512-KvNuZ/duufelMB3w2xtf9gEWCSxJwUgoxOx5b6ScLXC4kPc9xsczUVCPrQU26j5kOsHM4pSUL54tAZt5THQKug==
capital-case@^1.0.4: capital-case@^1.0.4:
version "1.0.4" version "1.0.4"
@ -1894,9 +1827,9 @@ cookie@^0.4.0:
integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
core-js@^3.15.1: core-js@^3.15.1:
version "3.15.1" version "3.15.2"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.15.1.tgz#6c08ab88abdf56545045ccf5fd81f47f407e7f1a" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.15.2.tgz#740660d2ff55ef34ce664d7e2455119c5bdd3d61"
integrity sha512-h8VbZYnc9pDzueiS2610IULDkpFFPunHwIpl8yRwFahAEEdSpHlTy3h3z3rKq5h11CaUdBEeRViu9AYvbxiMeg== integrity sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==
core-util-is@~1.0.0: core-util-is@~1.0.0:
version "1.0.2" version "1.0.2"
@ -2032,14 +1965,7 @@ debug@^3.1.0, debug@^3.2.7:
dependencies: dependencies:
ms "^2.1.1" ms "^2.1.1"
debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
version "4.3.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
dependencies:
ms "2.1.2"
debug@^4.3.2:
version "4.3.2" version "4.3.2"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
@ -2230,9 +2156,9 @@ editor@1.0.0:
integrity sha1-YMf4e9YrzGqJT6jM1q+3gjok90I= integrity sha1-YMf4e9YrzGqJT6jM1q+3gjok90I=
electron-to-chromium@^1.3.723: electron-to-chromium@^1.3.723:
version "1.3.755" version "1.3.766"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.755.tgz#4b6101f13de910cf3f0a1789ddc57328133b9332" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.766.tgz#2fd14a4e54f77665872f4e23fcf4968e83638220"
integrity sha512-BJ1s/kuUuOeo1bF/EM2E4yqW9te0Hpof3wgwBx40AWJE18zsD1Tqo0kr7ijnOc+lRsrlrqKPauJAHqaxOItoUA== integrity sha512-u2quJ862q9reRKh/je3GXis3w38+RoXH1J9N3XjtsS6NzmUAosNsyZgUVFZPN/ZlJ3v6T0rTyZR3q/J5c6Sy5w==
element-plus@1.0.2-beta.54: element-plus@1.0.2-beta.54:
version "1.0.2-beta.54" version "1.0.2-beta.54"
@ -2356,9 +2282,9 @@ es6-promisify@^5.0.0:
es6-promise "^4.0.3" es6-promise "^4.0.3"
esbuild@^0.12.8: esbuild@^0.12.8:
version "0.12.9" version "0.12.14"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.9.tgz#bed4e7087c286cd81d975631f77d47feb1660070" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.14.tgz#43157dbd0b36d939247d4eb4909a4886ac40f82e"
integrity sha512-MWRhAbMOJ9RJygCrt778rz/qNYgA4ZVj6aXnNPxFjs7PmIpb0fuB9Gmg5uWrr6n++XKwwm/RmSz6RR5JL2Ocsw== integrity sha512-z8p+6FGiplR7a3pPonXREbm+8IeXjBGvDpVidZmGB/AJMsJSfGCU+n7KOMCazA9AwvagadRWBhiKorC0w9WJvw==
escalade@^3.1.1: escalade@^3.1.1:
version "3.1.1" version "3.1.1"
@ -2434,7 +2360,7 @@ eslint-plugin-vue@^7.12.1:
semver "^7.3.2" semver "^7.3.2"
vue-eslint-parser "^7.6.0" vue-eslint-parser "^7.6.0"
eslint-scope@^5.0.0, eslint-scope@^5.1.1: eslint-scope@^5.1.1:
version "5.1.1" version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
@ -2650,19 +2576,7 @@ fast-diff@^1.1.2:
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
fast-glob@^3.1.1, fast-glob@^3.2.5: fast-glob@^3.1.1, fast-glob@^3.2.5, fast-glob@^3.2.6:
version "3.2.5"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661"
integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
glob-parent "^5.1.0"
merge2 "^1.3.0"
micromatch "^4.0.2"
picomatch "^2.2.1"
fast-glob@^3.2.6:
version "3.2.6" version "3.2.6"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.6.tgz#434dd9529845176ea049acc9343e8282765c6e1a" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.6.tgz#434dd9529845176ea049acc9343e8282765c6e1a"
integrity sha512-GnLuqj/pvQ7pX8/L4J84nijv6sAnlwvSDpMkJi9i7nPmPxGtRPkBSStfvDW5l6nMdX9VWe+pkKWFTgD+vF2QSQ== integrity sha512-GnLuqj/pvQ7pX8/L4J84nijv6sAnlwvSDpMkJi9i7nPmPxGtRPkBSStfvDW5l6nMdX9VWe+pkKWFTgD+vF2QSQ==
@ -2689,9 +2603,9 @@ fastest-levenshtein@^1.0.12:
integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==
fastq@^1.6.0: fastq@^1.6.0:
version "1.11.0" version "1.11.1"
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.1.tgz#5d8175aae17db61947f8b162cfc7f63264d22807"
integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== integrity sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==
dependencies: dependencies:
reusify "^1.0.4" reusify "^1.0.4"
@ -2815,9 +2729,9 @@ flat-cache@^3.0.4:
rimraf "^3.0.2" rimraf "^3.0.2"
flatted@^3.1.0: flatted@^3.1.0:
version "3.1.1" version "3.2.0"
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.0.tgz#da07fb8808050aba6fdeac2294542e5043583f05"
integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== integrity sha512-XprP7lDrVT+kE2c2YlfiV+IfS9zxukiIOvNamPNsImNhXadSsQEbosItdL9bUQlCZXR13SvPk20BjWSWLA7m4A==
fn-name@^2.0.1: fn-name@^2.0.1:
version "2.0.1" version "2.0.1"
@ -2825,9 +2739,9 @@ fn-name@^2.0.1:
integrity sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc= integrity sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=
focus-trap@^6.4.0: focus-trap@^6.4.0:
version "6.5.1" version "6.6.0"
resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-6.5.1.tgz#2d2bb91198f17e8bc52070f1fb48ac36be4230b5" resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-6.6.0.tgz#7fb37679926ec1bd762d0748b056c68a64a9e8cf"
integrity sha512-q57JebeQXVThn9DWvWLP2rUwuArvk8w3PyqZLSddto0thmVmklFzYJQO97Aq3pUcWkTXjflUa88fT0CrASsaHQ== integrity sha512-2hWVR3XbBejn5v8wDW9DFzLWXcxMNaSJ/CtE3E+FJjjBCLwIYbZJwjUi2RDBfQPM58gHEt5hck0jrJgHR9/s+A==
dependencies: dependencies:
tabbable "^5.2.0" tabbable "^5.2.0"
@ -2964,7 +2878,7 @@ git-raw-commits@^2.0.0:
split2 "^3.0.0" split2 "^3.0.0"
through2 "^4.0.0" through2 "^4.0.0"
glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.2: glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2" version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@ -5347,9 +5261,9 @@ rimraf@~2.6.2:
glob "^7.1.3" glob "^7.1.3"
rollup@^2.38.5: rollup@^2.38.5:
version "2.52.2" version "2.52.7"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.52.2.tgz#a7e90d10ddae3e8472c2857bd9f44b09ef34a47a" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.52.7.tgz#e15a8bf734f6e4c204b7cdf33521151310250cb2"
integrity sha512-4RlFC3k2BIHlUsJ9mGd8OO+9Lm2eDF5P7+6DNQOp5sx+7N/1tFM01kELfbxlMX3MxT6owvLB1ln4S3QvvQlbUA== integrity sha512-55cSH4CCU6MaPr9TAOyrIC+7qFCHscL7tkNsm1MBfIJRRqRbCEY0mmeFn4Wg8FKsHtEH8r389Fz38r/o+kgXLg==
optionalDependencies: optionalDependencies:
fsevents "~2.3.2" fsevents "~2.3.2"
@ -5864,9 +5778,9 @@ svg-tags@^1.0.0:
integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=
systemjs@^6.10.1: systemjs@^6.10.1:
version "6.10.1" version "6.10.2"
resolved "https://registry.yarnpkg.com/systemjs/-/systemjs-6.10.1.tgz#4a42a9f4ee8dc740c29dc9af631da819ae736c69" resolved "https://registry.yarnpkg.com/systemjs/-/systemjs-6.10.2.tgz#c9870217bddf9cfd25d12d4fcd1989541ef1207c"
integrity sha512-i2HiBOTIsm4GpjpiDHqTscZ/78htyTtdhpcbY2XPbIpsaNDIBA9vtxwIl8kSSnIRO0Zn7SHqvvILu3cMoXQuYw== integrity sha512-PwaC0Z6Y1E6gFekY2u38EC5+5w2M65jYVrD1aAcOptpHVhCwPIwPFJvYJyryQKUyeuQ5bKKI3PBHWNjdE9aizg==
tabbable@^5.2.0: tabbable@^5.2.0:
version "5.2.0" version "5.2.0"
@ -6326,7 +6240,7 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0" spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0" spdx-expression-parse "^3.0.0"
vant@^3.1.2: vant@3.1.2:
version "3.1.2" version "3.1.2"
resolved "https://registry.yarnpkg.com/vant/-/vant-3.1.2.tgz#8777290f38c4b042d22612343e72dcab95b044ed" resolved "https://registry.yarnpkg.com/vant/-/vant-3.1.2.tgz#8777290f38c4b042d22612343e72dcab95b044ed"
integrity sha512-uw+ZKZTD44L2YojenZjRuF/rETR28rnuI7cQ4tFtEJBLKc1TNxsxl3PYmoGbYt7jd5rMrHYST8SkBsbB5i4kNA== integrity sha512-uw+ZKZTD44L2YojenZjRuF/rETR28rnuI7cQ4tFtEJBLKc1TNxsxl3PYmoGbYt7jd5rMrHYST8SkBsbB5i4kNA==
@ -6462,9 +6376,9 @@ void-elements@^3.1.0:
integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=
vscode-css-languageservice@^5.1.3: vscode-css-languageservice@^5.1.3:
version "5.1.3" version "5.1.4"
resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-5.1.3.tgz#a7b2f21ed48842af5d9a98223bcae09e33d707d5" resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-5.1.4.tgz#07e4c63f1c3bb06e6f3f329c32b490d20a601bab"
integrity sha512-c8xiUhrDBNG6iS92FEE+K3IWOHAqVvzsqjjLSaXHyF5Qdn/6VhUweGNjtZ2CBSfs+Vkmz7pJzLQ7Io1x5deumA== integrity sha512-fIJZJMXbaBsK0ifBb2RmSiLtzwn6NrZnKn7O+0ziIjwAY+rPvSK9St2qqQXFU3reZVRAt/I4GBp40dC/THcUDA==
dependencies: dependencies:
vscode-languageserver-textdocument "^1.0.1" vscode-languageserver-textdocument "^1.0.1"
vscode-languageserver-types "^3.16.0" vscode-languageserver-types "^3.16.0"
@ -6484,9 +6398,9 @@ vscode-emmet-helper@^2.6.4:
vscode-uri "^2.1.2" vscode-uri "^2.1.2"
vscode-html-languageservice@^4.0.4: vscode-html-languageservice@^4.0.4:
version "4.0.5" version "4.0.6"
resolved "https://registry.yarnpkg.com/vscode-html-languageservice/-/vscode-html-languageservice-4.0.5.tgz#4f3657200a0613f2b83d47542c80ca0328868885" resolved "https://registry.yarnpkg.com/vscode-html-languageservice/-/vscode-html-languageservice-4.0.6.tgz#c0a538077eb491730f49a47ab13ed7991bd8a45a"
integrity sha512-9ZKp7nfR6ObUA+K65GfgDPdOmXaPH8MOWxE2RwWF3tVnVMq2w+COKjDNHMvv+uNxtmaRT7/skls7CD/HzrW99w== integrity sha512-p1VK0+7JLzBFfbUrENm3QcBNbDzJUVhVnXOxHdC9XmgcubQBUINyzNeYio93srOafjRMQcJmzugB4vfmUnbCQg==
dependencies: dependencies:
vscode-languageserver-textdocument "^1.0.1" vscode-languageserver-textdocument "^1.0.1"
vscode-languageserver-types "^3.16.0" vscode-languageserver-types "^3.16.0"
@ -6494,9 +6408,9 @@ vscode-html-languageservice@^4.0.4:
vscode-uri "^3.0.2" vscode-uri "^3.0.2"
vscode-json-languageservice@^4.1.4: vscode-json-languageservice@^4.1.4:
version "4.1.4" version "4.1.5"
resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-4.1.4.tgz#c83d3d812f8f17ab525724c611d8ff5e8834fc84" resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-4.1.5.tgz#e429987d9e4693d8cd88338fa3c96616772b6e8c"
integrity sha512-/UqaE58BVFdePM9l971L6xPRLlCLNk01aovf1Pp9hB/8pytmd2s9ZNEnS1JqYyQEJ1k5/fEBsWOdhQlNo4H7VA== integrity sha512-oRVPj2UY6BQ8PQ1LIz/FigUEZQVqsB9msNCFlxRBHE9sSEIJkCbYG6aCB2n7WR17VIisYQdO3MDheuoyI48G2w==
dependencies: dependencies:
jsonc-parser "^3.0.0" jsonc-parser "^3.0.0"
minimatch "^3.0.4" minimatch "^3.0.4"
@ -6550,26 +6464,26 @@ vscode-nls@^5.0.0:
resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-5.0.0.tgz#99f0da0bd9ea7cda44e565a74c54b1f2bc257840" resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-5.0.0.tgz#99f0da0bd9ea7cda44e565a74c54b1f2bc257840"
integrity sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA== integrity sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==
vscode-pug-languageservice@^0.25.22: vscode-pug-languageservice@^0.25.26:
version "0.25.22" version "0.25.26"
resolved "https://registry.yarnpkg.com/vscode-pug-languageservice/-/vscode-pug-languageservice-0.25.22.tgz#4920f26a395e835e10e99861dd3b9481161e8194" resolved "https://registry.yarnpkg.com/vscode-pug-languageservice/-/vscode-pug-languageservice-0.25.26.tgz#cbe9b702637b94ee6ab90eac450adda5ae13b4c8"
integrity sha512-1v1ljcqMuyaITCbby3eMsMiAVJXtVxGu+oMwJ8STOeDsMgkOTv3IrfoZjwsps96Qj3pf0d8XJPzSZkGoTrBiOA== integrity sha512-5916Fu1ZQyLcUAvTnqk3BRwbIdlasHwhjdl9ln6686ZldhoXBBW7NRNlJ//N7tJcVJ3q03W7SPPfhDTiPk4ZRQ==
dependencies: dependencies:
"@volar/code-gen" "^0.25.22" "@volar/code-gen" "^0.25.26"
"@volar/shared" "^0.25.22" "@volar/shared" "^0.25.26"
"@volar/source-map" "^0.25.22" "@volar/source-map" "^0.25.26"
"@volar/transforms" "^0.25.22" "@volar/transforms" "^0.25.26"
pug-beautify "^0.1.1" pug-beautify "^0.1.1"
pug-lexer "^5.0.1" pug-lexer "^5.0.1"
pug-parser "^6.0.0" pug-parser "^6.0.0"
vscode-languageserver "^7.1.0-next.4" vscode-languageserver "^7.1.0-next.4"
vscode-typescript-languageservice@^0.25.22: vscode-typescript-languageservice@^0.25.26:
version "0.25.22" version "0.25.26"
resolved "https://registry.yarnpkg.com/vscode-typescript-languageservice/-/vscode-typescript-languageservice-0.25.22.tgz#ac642a96e71fbbe8ddef27965b56fc15dd8eac14" resolved "https://registry.yarnpkg.com/vscode-typescript-languageservice/-/vscode-typescript-languageservice-0.25.26.tgz#c9976a2df48431a133d66e518a8a4473a7cc63e8"
integrity sha512-Fb6i9RsAOTZUqtkQiOv6THkBofWedPtxXiXGGkoIEkkgEoP16wQtw9ctYGsazOO127kjgYLRN8TdsudvqcFtEw== integrity sha512-+lLUGWq0mAZooeZfE6PRhlvKb7O3p7ouwQGEwXVy0DbIZIAb5rRmYNCbh+qHk632CJiS7ZIrMZBmFYiEg4Bqow==
dependencies: dependencies:
"@volar/shared" "^0.25.22" "@volar/shared" "^0.25.26"
typescript-vscode-sh-plugin "^0.6.14" typescript-vscode-sh-plugin "^0.6.14"
upath "^2.0.1" upath "^2.0.1"
vscode-languageserver "^7.1.0-next.4" vscode-languageserver "^7.1.0-next.4"
@ -6586,16 +6500,16 @@ vscode-uri@^3.0.2:
integrity sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA== integrity sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==
vscode-vue-languageservice@^0.25.22: vscode-vue-languageservice@^0.25.22:
version "0.25.22" version "0.25.26"
resolved "https://registry.yarnpkg.com/vscode-vue-languageservice/-/vscode-vue-languageservice-0.25.22.tgz#e7ac55bbf8dc2d4529c0603e833a59afaa1ad49b" resolved "https://registry.yarnpkg.com/vscode-vue-languageservice/-/vscode-vue-languageservice-0.25.26.tgz#eeb8fbe992b9a41e0c9e65f53cfcbc669e35758e"
integrity sha512-g9AipU1T7AON/rAJ5+pyYmWZD/V+0CTSqRSPMaK/eRaYxLNfrXXLgankoNhqP5XyHFQsYbxMJ6mAg3d0Vy3WZw== integrity sha512-CrqsAANPZFiOoPD7fmWrr2+yJMisLIdlm43MHzXk2IgN/0K5AwPj93n3LgNeNVRI96rvZXhvWC+H9XFZvJDHnw==
dependencies: dependencies:
"@starptech/prettyhtml" "^0.10.0" "@starptech/prettyhtml" "^0.10.0"
"@volar/code-gen" "^0.25.22" "@volar/code-gen" "^0.25.26"
"@volar/html2pug" "^0.25.4" "@volar/html2pug" "^0.25.4"
"@volar/shared" "^0.25.22" "@volar/shared" "^0.25.26"
"@volar/source-map" "^0.25.22" "@volar/source-map" "^0.25.26"
"@volar/transforms" "^0.25.22" "@volar/transforms" "^0.25.26"
"@vue/compiler-dom" "^3.0.11" "@vue/compiler-dom" "^3.0.11"
"@vue/compiler-sfc" "^3.0.11" "@vue/compiler-sfc" "^3.0.11"
"@vue/reactivity" "^3.0.11" "@vue/reactivity" "^3.0.11"
@ -6610,27 +6524,15 @@ vscode-vue-languageservice@^0.25.22:
vscode-json-languageservice "^4.1.4" vscode-json-languageservice "^4.1.4"
vscode-languageserver "^7.1.0-next.4" vscode-languageserver "^7.1.0-next.4"
vscode-languageserver-textdocument "^1.0.1" vscode-languageserver-textdocument "^1.0.1"
vscode-pug-languageservice "^0.25.22" vscode-pug-languageservice "^0.25.26"
vscode-typescript-languageservice "^0.25.22" vscode-typescript-languageservice "^0.25.26"
vue-demi@*: vue-demi@*:
version "0.9.1" version "0.9.1"
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.9.1.tgz#25d6e1ebd4d4010757ff3571e2bf6a1d7bf3de82" resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.9.1.tgz#25d6e1ebd4d4010757ff3571e2bf6a1d7bf3de82"
integrity sha512-7s1lufRD2l369eFWPjgLvhqCRk0XzGWJsQc7K4q+0mZtixyGIvsK1Cg88P4NcaRIEiBuuN4q1NN4SZKFKwQswA== integrity sha512-7s1lufRD2l369eFWPjgLvhqCRk0XzGWJsQc7K4q+0mZtixyGIvsK1Cg88P4NcaRIEiBuuN4q1NN4SZKFKwQswA==
vue-eslint-parser@^7.6.0: vue-eslint-parser@^7.6.0, vue-eslint-parser@^7.7.2:
version "7.6.0"
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.6.0.tgz#01ea1a2932f581ff244336565d712801f8f72561"
integrity sha512-QXxqH8ZevBrtiZMZK0LpwaMfevQi9UL7lY6Kcp+ogWHC88AuwUPwwCIzkOUc1LR4XsYAt/F9yHXAB/QoD17QXA==
dependencies:
debug "^4.1.1"
eslint-scope "^5.0.0"
eslint-visitor-keys "^1.1.0"
espree "^6.2.1"
esquery "^1.4.0"
lodash "^4.17.15"
vue-eslint-parser@^7.7.2:
version "7.7.2" version "7.7.2"
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.7.2.tgz#a723080b29c27fa0b3737bedceaeebe30fd0f359" resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.7.2.tgz#a723080b29c27fa0b3737bedceaeebe30fd0f359"
integrity sha512-zkfxSttpwBW9SQEa+rLR+j6sFHGGhanVH3VuzHQwybCQWJsg/Yi1W619gXOW01U/zekN4D+J4/S4Zufd1sClZg== integrity sha512-zkfxSttpwBW9SQEa+rLR+j6sFHGGhanVH3VuzHQwybCQWJsg/Yi1W619gXOW01U/zekN4D+J4/S4Zufd1sClZg==
@ -6717,12 +6619,7 @@ widest-line@^2.0.0:
dependencies: dependencies:
string-width "^2.1.1" string-width "^2.1.1"
windicss@^3.1.3: windicss@^3.1.3, windicss@^3.1.4:
version "3.1.3"
resolved "https://registry.yarnpkg.com/windicss/-/windicss-3.1.3.tgz#a4b80af48bdd5d4be13520f700b497af455df700"
integrity sha512-l7fpoba2LY9AYRy4UgcuOpbPsed8UsbpEQYUVWRR1wdAwiKxK6bGIMfpiKJtjPAPdh0GOGUqr6KJar0EDZSxzg==
windicss@^3.1.4:
version "3.1.4" version "3.1.4"
resolved "https://registry.yarnpkg.com/windicss/-/windicss-3.1.4.tgz#557eaf8e3c08064a309ccb5d887c82c4bce25069" resolved "https://registry.yarnpkg.com/windicss/-/windicss-3.1.4.tgz#557eaf8e3c08064a309ccb5d887c82c4bce25069"
integrity sha512-3RBcANxdOy/n4dLVT8+0X409sGI+piO06ARbQ8RncxGuYgdw5Ip3hrhGIYajH67lV+tHc7xNVGxj73amOC9N0g== integrity sha512-3RBcANxdOy/n4dLVT8+0X409sGI+piO06ARbQ8RncxGuYgdw5Ip3hrhGIYajH67lV+tHc7xNVGxj73amOC9N0g==

Loading…
Cancel
Save