@vyr/design 0.0.32 → 0.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -3
- package/src/components/Card.vue +8 -66
- package/src/components/Dialog.vue +0 -1
- package/src/components/DynamicDialog.vue +8 -4
- package/src/components/DynamicLayouter.vue +1 -1
- package/src/components/Input.vue +12 -10
- package/src/components/Popover.vue +1 -0
- package/src/components/Scroll.vue +4 -2
- package/src/components/composables/useScroll.ts +2 -1
- package/src/components/singleton/confirm.ts +9 -2
- package/src/components/utils/Confirm.ts +2 -0
- package/src/components/utils/DynamicDialog.ts +4 -0
- package/src/font/demo_index.html +59 -82
- package/src/font/iconfont.css +15 -19
- package/src/font/iconfont.js +1 -1
- package/src/font/iconfont.json +24 -31
- package/src/font/iconfont.ttf +0 -0
- package/src/font/iconfont.woff +0 -0
- package/src/font/iconfont.woff2 +0 -0
- package/src/index.ts +4 -2
- package/src/theme/ThemeService.ts +55 -0
- package/src/theme/index.ts +10 -2
- package/src/tool/copy.ts +24 -0
- package/src/tool/index.ts +2 -1
package/package.json
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vyr/design",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.34",
|
|
4
4
|
"main": "./src/index.ts",
|
|
5
5
|
"dependencies": {
|
|
6
|
+
"devui-theme": "^0.1.0",
|
|
7
|
+
"async-validator": "4.2.5",
|
|
6
8
|
"@popperjs/core": "2.11.7",
|
|
7
|
-
"ag-grid-community": "
|
|
8
|
-
"ag-grid-vue3": "
|
|
9
|
+
"ag-grid-community": "35.0.0",
|
|
10
|
+
"ag-grid-vue3": "35.0.0",
|
|
9
11
|
"tinycolor2": "1.6.0",
|
|
10
12
|
"vue": "3.5.22"
|
|
11
13
|
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"sass": "^1.32.0"
|
|
16
|
+
},
|
|
12
17
|
"files": [
|
|
13
18
|
"package.json",
|
|
14
19
|
"src/"
|
package/src/components/Card.vue
CHANGED
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="vyr-card"
|
|
3
|
-
<div class="card-header" :class="{ 'handle': arrow }"
|
|
2
|
+
<div class="vyr-card">
|
|
3
|
+
<div class="card-header" :class="{ 'handle': arrow }">
|
|
4
4
|
<div class="header-title">
|
|
5
5
|
<slot v-if="$slots.title" name="title"></slot>
|
|
6
6
|
<div v-else class="title-text">
|
|
7
7
|
{{ title }}
|
|
8
8
|
</div>
|
|
9
9
|
</div>
|
|
10
|
-
<div class="header-icon"
|
|
10
|
+
<div class="header-icon">
|
|
11
11
|
<slot name="icon">
|
|
12
12
|
<i v-if="arrow" class="vyrfont vyr-arrow-down-bold"></i>
|
|
13
13
|
</slot>
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
16
|
-
<div class="card-body"
|
|
16
|
+
<div class="card-body" ref="refBody">
|
|
17
17
|
<template v-if="scroll">
|
|
18
18
|
<vyr-scroll :margin="8" :padding="8">
|
|
19
19
|
<slot></slot>
|
|
20
20
|
</vyr-scroll>
|
|
21
21
|
</template>
|
|
22
|
-
<
|
|
23
|
-
<div class="body-wrapper" ref="refWrapper">
|
|
24
|
-
<slot></slot>
|
|
25
|
-
</div>
|
|
26
|
-
</template>
|
|
22
|
+
<slot v-else></slot>
|
|
27
23
|
</div>
|
|
28
24
|
<div class="card-tool" v-if="$slots.tool">
|
|
29
25
|
<slot name="tool"></slot>
|
|
@@ -42,52 +38,6 @@ const props = defineProps({
|
|
|
42
38
|
scroll: { default: false }
|
|
43
39
|
})
|
|
44
40
|
|
|
45
|
-
const refBody = useTemplateRef('refBody')
|
|
46
|
-
const refWrapper = useTemplateRef('refWrapper')
|
|
47
|
-
const state = ref({
|
|
48
|
-
visible: true,
|
|
49
|
-
style: '',
|
|
50
|
-
showing: false,
|
|
51
|
-
})
|
|
52
|
-
const showBodyEnd = () => {
|
|
53
|
-
state.value.showing = false
|
|
54
|
-
state.value.style = ''
|
|
55
|
-
}
|
|
56
|
-
const showBody = () => {
|
|
57
|
-
if (!refWrapper.value) return
|
|
58
|
-
let height = refWrapper.value.clientHeight
|
|
59
|
-
state.value.style = `height:${height}px;overflow:hidden;`
|
|
60
|
-
setTimeout(showBodyEnd, Theme.config.animationTime.value)
|
|
61
|
-
}
|
|
62
|
-
const hideBodyEnd = () => {
|
|
63
|
-
state.value.showing = false
|
|
64
|
-
state.value.style = 'display:none;'
|
|
65
|
-
}
|
|
66
|
-
const hideBody = () => {
|
|
67
|
-
if (!refBody.value) return
|
|
68
|
-
state.value.style = `height:${refBody.value.clientHeight}px;overflow:hidden;`
|
|
69
|
-
requestAnimationFrame(() => state.value.style = `height:0px;overflow:hidden;`)
|
|
70
|
-
setTimeout(hideBodyEnd, Theme.config.animationTime.value)
|
|
71
|
-
}
|
|
72
|
-
const watchVisible = () => {
|
|
73
|
-
state.value.showing = true
|
|
74
|
-
if (state.value.visible === true) {
|
|
75
|
-
state.value.style = 'height:0px;overflow:hidden;'
|
|
76
|
-
requestAnimationFrame(showBody)
|
|
77
|
-
} else {
|
|
78
|
-
hideBody()
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
watch(() => state.value.visible, watchVisible)
|
|
82
|
-
|
|
83
|
-
const style = computed(() => {
|
|
84
|
-
return props.scroll ? 'height:100%;' : ''
|
|
85
|
-
})
|
|
86
|
-
|
|
87
|
-
const changeVisible = () => {
|
|
88
|
-
if (props.arrow === false || state.value.showing === true) return
|
|
89
|
-
state.value.visible = !state.value.visible
|
|
90
|
-
}
|
|
91
41
|
</script>
|
|
92
42
|
|
|
93
43
|
<style lang="less" scoped>
|
|
@@ -99,6 +49,7 @@ const changeVisible = () => {
|
|
|
99
49
|
.vyr-card {
|
|
100
50
|
.vyr-font-family;
|
|
101
51
|
width: 100%;
|
|
52
|
+
height: 100%;
|
|
102
53
|
font-size: var(--vyr-font-size);
|
|
103
54
|
color: var(--vyr-font-color);
|
|
104
55
|
border: 1px solid var(--vyr-border-color);
|
|
@@ -154,16 +105,12 @@ const changeVisible = () => {
|
|
|
154
105
|
color: var(--vyr-helper-color);
|
|
155
106
|
}
|
|
156
107
|
}
|
|
157
|
-
|
|
158
|
-
.header-icon.expand {
|
|
159
|
-
.vyrfont {
|
|
160
|
-
transform: rotate(-180deg);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
108
|
}
|
|
164
109
|
|
|
165
110
|
.card-body {
|
|
166
111
|
width: 100%;
|
|
112
|
+
height: 100%;
|
|
113
|
+
overflow: hidden;
|
|
167
114
|
box-sizing: border-box;
|
|
168
115
|
background-color: var(--vyr-topic-color);
|
|
169
116
|
border-top: var(--vyr-border-size) solid var(--vyr-border-color);
|
|
@@ -177,11 +124,6 @@ const changeVisible = () => {
|
|
|
177
124
|
}
|
|
178
125
|
}
|
|
179
126
|
|
|
180
|
-
.card-body.scroll {
|
|
181
|
-
height: 100%;
|
|
182
|
-
overflow: hidden;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
127
|
.card-tool {
|
|
186
128
|
border-top: var(--vyr-border-size) solid var(--vyr-border-color);
|
|
187
129
|
padding: @card-pad-size;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<vyr-dialog v-model="state.visible" :mask="state.mask" :draggable="true" :width="state.width"
|
|
2
|
+
<vyr-dialog v-model="state.visible" :mask="state.mask" :draggable="true" :width="state.width" :height="state.height"
|
|
3
3
|
:maxHeight="state.maxHeight" @close="close">
|
|
4
4
|
<template #title>
|
|
5
5
|
<template v-if="state.type === 'warning'">
|
|
6
6
|
<i class="vyrfont vyr-warning tips-type"></i>
|
|
7
7
|
</template>{{ state.title }}
|
|
8
8
|
</template>
|
|
9
|
-
<template v-if="state.component">
|
|
9
|
+
<template #[slotName] v-if="state.component">
|
|
10
10
|
<component :is="state.component" v-bind="state.props"></component>
|
|
11
11
|
</template>
|
|
12
|
-
<template v-else>
|
|
12
|
+
<template #[slotName] v-else>
|
|
13
13
|
<vyr-form>
|
|
14
14
|
<div class="dynamic-item" v-for="(option, i) in state.options" :key="i">
|
|
15
15
|
<div class="item-label">{{ option.label }}</div>
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
</template>
|
|
47
47
|
|
|
48
48
|
<script setup lang="ts">
|
|
49
|
-
import { ref } from 'vue';
|
|
49
|
+
import { computed, ref } from 'vue';
|
|
50
50
|
import { DialogOptions, useDialogState } from './utils';
|
|
51
51
|
import { language } from '../locale'
|
|
52
52
|
import VyrDialog from './Dialog.vue';
|
|
@@ -68,6 +68,10 @@ const privateState = ref({
|
|
|
68
68
|
flag: false,
|
|
69
69
|
})
|
|
70
70
|
|
|
71
|
+
const slotName = computed(() => {
|
|
72
|
+
return state.value.scroll === true ? 'default' : 'scroll'
|
|
73
|
+
})
|
|
74
|
+
|
|
71
75
|
const currentData = (option: DialogOptions[number]) => {
|
|
72
76
|
if (option.componentData === undefined) return []
|
|
73
77
|
return Array.isArray(option.componentData) ? option.componentData : option.componentData(privateState.value.data)
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<slot></slot>
|
|
5
5
|
</div>
|
|
6
6
|
<div class="dynamic-sidebar" :style="sidebarStyle">
|
|
7
|
-
<div :class="`vyr-${mode}-bar ${state.enable ? 'enable' : ''}`" @mousedown.
|
|
7
|
+
<div :class="`vyr-${mode}-bar ${state.enable ? 'enable' : ''}`" @mousedown.prevent="start"></div>
|
|
8
8
|
<slot name="sidebar"></slot>
|
|
9
9
|
</div>
|
|
10
10
|
</div>
|
package/src/components/Input.vue
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="vyr-input" :class="{ 'clearable': curClearable, 'icon': $slots.icon }" :style="`width:${curInputWidth};`"
|
|
3
3
|
@click="e => emit('click', e)" @mouseenter="mouseenter" @mouseleave="mouseleave" @mouseup="mouseup">
|
|
4
|
-
<input ref="refInput" class="input-wrapper"
|
|
4
|
+
<input ref="refInput" class="input-wrapper" v-focus="curReadonly ? false : autofocus"
|
|
5
5
|
:class="{ 'readonly': curReadonly, 'icon': curClearable, 'draggable': drag.draggable }" :type="type"
|
|
6
6
|
:placeholder="placeholder" :value="currentValue" :readonly="curReadonly" @input="inputValue" @focus="focus"
|
|
7
7
|
@blur="blurValue" @compositionstart="compositionstart" @compositionend="compositionend" />
|
|
@@ -58,10 +58,11 @@ const compositionend = (e: CompositionEvent) => {
|
|
|
58
58
|
inputValue()
|
|
59
59
|
}
|
|
60
60
|
const focus = () => {
|
|
61
|
-
if (curReadonly.value ===
|
|
62
|
-
|
|
61
|
+
if (curReadonly.value === false) {
|
|
62
|
+
emit('focus')
|
|
63
|
+
isFocus.value = true
|
|
64
|
+
}
|
|
63
65
|
window.addEventListener('keydown', confirm)
|
|
64
|
-
isFocus.value = true
|
|
65
66
|
}
|
|
66
67
|
const inputValue = () => {
|
|
67
68
|
if (composition.value === true) return
|
|
@@ -72,12 +73,13 @@ const inputValue = () => {
|
|
|
72
73
|
const validateProvider = useValidateItemProvider()
|
|
73
74
|
const blurValue = () => {
|
|
74
75
|
composition.value = false
|
|
75
|
-
if (curReadonly.value ===
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
76
|
+
if (curReadonly.value === false) {
|
|
77
|
+
currentValue.value = refInput.value?.value ?? ''
|
|
78
|
+
if (props.trigger === 'blur') emit('update:modelValue', currentValue.value)
|
|
79
|
+
emit('blur', currentValue.value)
|
|
80
|
+
validateProvider.value.validate(currentValue.value)
|
|
81
|
+
isFocus.value = false
|
|
82
|
+
}
|
|
81
83
|
window.removeEventListener('keydown', confirm)
|
|
82
84
|
}
|
|
83
85
|
const clear = (e: MouseEvent) => {
|
|
@@ -22,7 +22,7 @@ import { language } from '../locale'
|
|
|
22
22
|
const props = defineProps(scrollCommonDefaultProps)
|
|
23
23
|
const { marginStyle, paddingStyle } = useMarginStyle(props)
|
|
24
24
|
|
|
25
|
-
const emit = defineEmits(['resize'])
|
|
25
|
+
const emit = defineEmits(['resize', 'wheel'])
|
|
26
26
|
const refWrapper = useTemplateRef('refWrapper')
|
|
27
27
|
const refBody = useTemplateRef('refBody')
|
|
28
28
|
const state = ref({
|
|
@@ -58,7 +58,9 @@ const unlisten = () => {
|
|
|
58
58
|
onMounted(listen)
|
|
59
59
|
onBeforeUnmount(unlisten)
|
|
60
60
|
|
|
61
|
-
const { opacity, layout, move, leave } = useScroll(computeTop, refWrapper as Ref<HTMLElement>)
|
|
61
|
+
const { opacity, layout, move, leave } = useScroll(computeTop, emit, refWrapper as Ref<HTMLElement>)
|
|
62
|
+
|
|
63
|
+
defineExpose({ wrapper: refWrapper })
|
|
62
64
|
</script>
|
|
63
65
|
|
|
64
66
|
<style lang="less" scoped>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, Ref } from "vue"
|
|
2
2
|
|
|
3
|
-
const useScroll = (computeTop: () => void, wrapper: Ref<HTMLElement>) => {
|
|
3
|
+
const useScroll = (computeTop: () => void, emit: (...arsg: any[]) => void, wrapper: Ref<HTMLElement>) => {
|
|
4
4
|
const scroll = {
|
|
5
5
|
tick: 0,
|
|
6
6
|
count: 0,
|
|
@@ -22,6 +22,7 @@ const useScroll = (computeTop: () => void, wrapper: Ref<HTMLElement>) => {
|
|
|
22
22
|
stop()
|
|
23
23
|
}
|
|
24
24
|
const layout = (e: WheelEvent) => {
|
|
25
|
+
emit('wheel', e)
|
|
25
26
|
if (scroll.stopWheel === true) e.preventDefault()
|
|
26
27
|
if (scroll.tick === 0) loop()
|
|
27
28
|
scroll.count++
|
|
@@ -6,13 +6,20 @@ const confirm = (config: Partial<Confirm> = {}) => {
|
|
|
6
6
|
const app = createApp(ConfirmVue)
|
|
7
7
|
|
|
8
8
|
const promise = new Promise<Confirm>((resolve) => {
|
|
9
|
-
|
|
9
|
+
let id = -1
|
|
10
|
+
const close = (success: boolean) => {
|
|
10
11
|
state.value.visible = false
|
|
11
12
|
app.unmount()
|
|
12
13
|
config.value = state.value.value
|
|
13
14
|
config.success = success
|
|
15
|
+
clearTimeout(id)
|
|
14
16
|
resolve(config as Confirm)
|
|
15
|
-
}
|
|
17
|
+
}
|
|
18
|
+
const state = getConfirmState(config, close)
|
|
19
|
+
|
|
20
|
+
if (state.value.timeout > 0) {
|
|
21
|
+
id = setTimeout(() => close(false), config.timeout)
|
|
22
|
+
}
|
|
16
23
|
|
|
17
24
|
app.provide(confirmKey, state)
|
|
18
25
|
app.mount(document.createElement('div'))
|
|
@@ -12,6 +12,7 @@ interface Confirm {
|
|
|
12
12
|
options: ConfirmOptions
|
|
13
13
|
mode: string
|
|
14
14
|
placeholder: string
|
|
15
|
+
timeout: number
|
|
15
16
|
success: boolean
|
|
16
17
|
}
|
|
17
18
|
|
|
@@ -27,6 +28,7 @@ const getConfirmState = (config: Partial<Confirm>, close = (state: boolean) => {
|
|
|
27
28
|
mode: config.mode,
|
|
28
29
|
value: config.value,
|
|
29
30
|
placeholder: config.placeholder,
|
|
31
|
+
timeout: config.timeout ?? 0,
|
|
30
32
|
success: false,
|
|
31
33
|
close
|
|
32
34
|
})
|
|
@@ -16,10 +16,12 @@ interface Dialog {
|
|
|
16
16
|
value: { [k: string]: any }
|
|
17
17
|
options: DialogOptions
|
|
18
18
|
width?: string
|
|
19
|
+
height?: string
|
|
19
20
|
maxHeight?: string
|
|
20
21
|
component?: DefineComponent<any, any, any>
|
|
21
22
|
props?: { [k: string]: any }
|
|
22
23
|
mask?: boolean
|
|
24
|
+
scroll?: boolean
|
|
23
25
|
success: boolean
|
|
24
26
|
}
|
|
25
27
|
|
|
@@ -33,10 +35,12 @@ const getDialogState = (config: Partial<Dialog>, close = (state: boolean) => { }
|
|
|
33
35
|
options: config.options ?? [],
|
|
34
36
|
value: config.value,
|
|
35
37
|
width: config.width ?? '720px',
|
|
38
|
+
height: config.height,
|
|
36
39
|
maxHeight: config.maxHeight ?? '70%',
|
|
37
40
|
component: config.component ? markRaw(config.component) : undefined,
|
|
38
41
|
props: config.props ?? {},
|
|
39
42
|
mask: config.mask ?? false,
|
|
43
|
+
scroll: config.scroll ?? true,
|
|
40
44
|
success: false,
|
|
41
45
|
close
|
|
42
46
|
})
|
package/src/font/demo_index.html
CHANGED
|
@@ -55,33 +55,33 @@
|
|
|
55
55
|
<ul class="icon_lists dib-box">
|
|
56
56
|
|
|
57
57
|
<li class="dib">
|
|
58
|
-
<span class="icon vyrfont">&#
|
|
59
|
-
<div class="name"
|
|
60
|
-
<div class="code-name">&#
|
|
58
|
+
<span class="icon vyrfont"></span>
|
|
59
|
+
<div class="name">错误列表</div>
|
|
60
|
+
<div class="code-name">&#xe663;</div>
|
|
61
61
|
</li>
|
|
62
62
|
|
|
63
63
|
<li class="dib">
|
|
64
|
-
<span class="icon vyrfont">&#
|
|
65
|
-
<div class="name"
|
|
66
|
-
<div class="code-name">&#
|
|
64
|
+
<span class="icon vyrfont"></span>
|
|
65
|
+
<div class="name">ai</div>
|
|
66
|
+
<div class="code-name">&#xe872;</div>
|
|
67
67
|
</li>
|
|
68
68
|
|
|
69
69
|
<li class="dib">
|
|
70
|
-
<span class="icon vyrfont">&#
|
|
71
|
-
<div class="name"
|
|
72
|
-
<div class="code-name">&#
|
|
70
|
+
<span class="icon vyrfont"></span>
|
|
71
|
+
<div class="name">预制体</div>
|
|
72
|
+
<div class="code-name">&#xe648;</div>
|
|
73
73
|
</li>
|
|
74
74
|
|
|
75
75
|
<li class="dib">
|
|
76
|
-
<span class="icon vyrfont">&#
|
|
77
|
-
<div class="name"
|
|
78
|
-
<div class="code-name">&#
|
|
76
|
+
<span class="icon vyrfont"></span>
|
|
77
|
+
<div class="name">search</div>
|
|
78
|
+
<div class="code-name">&#xe67d;</div>
|
|
79
79
|
</li>
|
|
80
80
|
|
|
81
81
|
<li class="dib">
|
|
82
|
-
<span class="icon vyrfont">&#
|
|
83
|
-
<div class="name"
|
|
84
|
-
<div class="code-name">&#
|
|
82
|
+
<span class="icon vyrfont"></span>
|
|
83
|
+
<div class="name">preset</div>
|
|
84
|
+
<div class="code-name">&#xe6a5;</div>
|
|
85
85
|
</li>
|
|
86
86
|
|
|
87
87
|
<li class="dib">
|
|
@@ -126,12 +126,6 @@
|
|
|
126
126
|
<div class="code-name">&#xe60d;</div>
|
|
127
127
|
</li>
|
|
128
128
|
|
|
129
|
-
<li class="dib">
|
|
130
|
-
<span class="icon vyrfont"></span>
|
|
131
|
-
<div class="name">预制体</div>
|
|
132
|
-
<div class="code-name">&#xe65f;</div>
|
|
133
|
-
</li>
|
|
134
|
-
|
|
135
129
|
<li class="dib">
|
|
136
130
|
<span class="icon vyrfont"></span>
|
|
137
131
|
<div class="name">json</div>
|
|
@@ -176,7 +170,7 @@
|
|
|
176
170
|
|
|
177
171
|
<li class="dib">
|
|
178
172
|
<span class="icon vyrfont"></span>
|
|
179
|
-
<div class="name"
|
|
173
|
+
<div class="name">数据容器</div>
|
|
180
174
|
<div class="code-name">&#xe717;</div>
|
|
181
175
|
</li>
|
|
182
176
|
|
|
@@ -372,9 +366,9 @@
|
|
|
372
366
|
<pre><code class="language-css"
|
|
373
367
|
>@font-face {
|
|
374
368
|
font-family: 'vyrfont';
|
|
375
|
-
src: url('iconfont.woff2?t=
|
|
376
|
-
url('iconfont.woff?t=
|
|
377
|
-
url('iconfont.ttf?t=
|
|
369
|
+
src: url('iconfont.woff2?t=1773586535090') format('woff2'),
|
|
370
|
+
url('iconfont.woff?t=1773586535090') format('woff'),
|
|
371
|
+
url('iconfont.ttf?t=1773586535090') format('truetype');
|
|
378
372
|
}
|
|
379
373
|
</code></pre>
|
|
380
374
|
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
|
|
@@ -401,47 +395,47 @@
|
|
|
401
395
|
<ul class="icon_lists dib-box">
|
|
402
396
|
|
|
403
397
|
<li class="dib">
|
|
404
|
-
<span class="icon vyrfont vyr-
|
|
398
|
+
<span class="icon vyrfont vyr-liebiao3"></span>
|
|
405
399
|
<div class="name">
|
|
406
|
-
|
|
400
|
+
错误列表
|
|
407
401
|
</div>
|
|
408
|
-
<div class="code-name">.vyr-
|
|
402
|
+
<div class="code-name">.vyr-liebiao3
|
|
409
403
|
</div>
|
|
410
404
|
</li>
|
|
411
405
|
|
|
412
406
|
<li class="dib">
|
|
413
|
-
<span class="icon vyrfont vyr-
|
|
407
|
+
<span class="icon vyrfont vyr-ai"></span>
|
|
414
408
|
<div class="name">
|
|
415
|
-
|
|
409
|
+
ai
|
|
416
410
|
</div>
|
|
417
|
-
<div class="code-name">.vyr-
|
|
411
|
+
<div class="code-name">.vyr-ai
|
|
418
412
|
</div>
|
|
419
413
|
</li>
|
|
420
414
|
|
|
421
415
|
<li class="dib">
|
|
422
|
-
<span class="icon vyrfont vyr-
|
|
416
|
+
<span class="icon vyrfont vyr-sidebar-prefab"></span>
|
|
423
417
|
<div class="name">
|
|
424
|
-
|
|
418
|
+
预制体
|
|
425
419
|
</div>
|
|
426
|
-
<div class="code-name">.vyr-
|
|
420
|
+
<div class="code-name">.vyr-sidebar-prefab
|
|
427
421
|
</div>
|
|
428
422
|
</li>
|
|
429
423
|
|
|
430
424
|
<li class="dib">
|
|
431
|
-
<span class="icon vyrfont vyr-
|
|
425
|
+
<span class="icon vyrfont vyr-search"></span>
|
|
432
426
|
<div class="name">
|
|
433
|
-
|
|
427
|
+
search
|
|
434
428
|
</div>
|
|
435
|
-
<div class="code-name">.vyr-
|
|
429
|
+
<div class="code-name">.vyr-search
|
|
436
430
|
</div>
|
|
437
431
|
</li>
|
|
438
432
|
|
|
439
433
|
<li class="dib">
|
|
440
|
-
<span class="icon vyrfont vyr-
|
|
434
|
+
<span class="icon vyrfont vyr-preset"></span>
|
|
441
435
|
<div class="name">
|
|
442
|
-
|
|
436
|
+
preset
|
|
443
437
|
</div>
|
|
444
|
-
<div class="code-name">.vyr-
|
|
438
|
+
<div class="code-name">.vyr-preset
|
|
445
439
|
</div>
|
|
446
440
|
</li>
|
|
447
441
|
|
|
@@ -473,11 +467,11 @@
|
|
|
473
467
|
</li>
|
|
474
468
|
|
|
475
469
|
<li class="dib">
|
|
476
|
-
<span class="icon vyrfont vyr-
|
|
470
|
+
<span class="icon vyrfont vyr-category-scene"></span>
|
|
477
471
|
<div class="name">
|
|
478
472
|
场景
|
|
479
473
|
</div>
|
|
480
|
-
<div class="code-name">.vyr-
|
|
474
|
+
<div class="code-name">.vyr-category-scene
|
|
481
475
|
</div>
|
|
482
476
|
</li>
|
|
483
477
|
|
|
@@ -508,15 +502,6 @@
|
|
|
508
502
|
</div>
|
|
509
503
|
</li>
|
|
510
504
|
|
|
511
|
-
<li class="dib">
|
|
512
|
-
<span class="icon vyrfont vyr-category-prefab"></span>
|
|
513
|
-
<div class="name">
|
|
514
|
-
预制体
|
|
515
|
-
</div>
|
|
516
|
-
<div class="code-name">.vyr-category-prefab
|
|
517
|
-
</div>
|
|
518
|
-
</li>
|
|
519
|
-
|
|
520
505
|
<li class="dib">
|
|
521
506
|
<span class="icon vyrfont vyr-category-json"></span>
|
|
522
507
|
<div class="name">
|
|
@@ -581,11 +566,11 @@
|
|
|
581
566
|
</li>
|
|
582
567
|
|
|
583
568
|
<li class="dib">
|
|
584
|
-
<span class="icon vyrfont vyr-category-
|
|
569
|
+
<span class="icon vyrfont vyr-category-store"></span>
|
|
585
570
|
<div class="name">
|
|
586
|
-
|
|
571
|
+
数据容器
|
|
587
572
|
</div>
|
|
588
|
-
<div class="code-name">.vyr-category-
|
|
573
|
+
<div class="code-name">.vyr-category-store
|
|
589
574
|
</div>
|
|
590
575
|
</li>
|
|
591
576
|
|
|
@@ -879,42 +864,42 @@
|
|
|
879
864
|
|
|
880
865
|
<li class="dib">
|
|
881
866
|
<svg class="icon svg-icon" aria-hidden="true">
|
|
882
|
-
<use xlink:href="#vyr-
|
|
867
|
+
<use xlink:href="#vyr-liebiao3"></use>
|
|
883
868
|
</svg>
|
|
884
|
-
<div class="name"
|
|
885
|
-
<div class="code-name">#vyr-
|
|
869
|
+
<div class="name">错误列表</div>
|
|
870
|
+
<div class="code-name">#vyr-liebiao3</div>
|
|
886
871
|
</li>
|
|
887
872
|
|
|
888
873
|
<li class="dib">
|
|
889
874
|
<svg class="icon svg-icon" aria-hidden="true">
|
|
890
|
-
<use xlink:href="#vyr-
|
|
875
|
+
<use xlink:href="#vyr-ai"></use>
|
|
891
876
|
</svg>
|
|
892
|
-
<div class="name"
|
|
893
|
-
<div class="code-name">#vyr-
|
|
877
|
+
<div class="name">ai</div>
|
|
878
|
+
<div class="code-name">#vyr-ai</div>
|
|
894
879
|
</li>
|
|
895
880
|
|
|
896
881
|
<li class="dib">
|
|
897
882
|
<svg class="icon svg-icon" aria-hidden="true">
|
|
898
|
-
<use xlink:href="#vyr-
|
|
883
|
+
<use xlink:href="#vyr-sidebar-prefab"></use>
|
|
899
884
|
</svg>
|
|
900
|
-
<div class="name"
|
|
901
|
-
<div class="code-name">#vyr-
|
|
885
|
+
<div class="name">预制体</div>
|
|
886
|
+
<div class="code-name">#vyr-sidebar-prefab</div>
|
|
902
887
|
</li>
|
|
903
888
|
|
|
904
889
|
<li class="dib">
|
|
905
890
|
<svg class="icon svg-icon" aria-hidden="true">
|
|
906
|
-
<use xlink:href="#vyr-
|
|
891
|
+
<use xlink:href="#vyr-search"></use>
|
|
907
892
|
</svg>
|
|
908
|
-
<div class="name"
|
|
909
|
-
<div class="code-name">#vyr-
|
|
893
|
+
<div class="name">search</div>
|
|
894
|
+
<div class="code-name">#vyr-search</div>
|
|
910
895
|
</li>
|
|
911
896
|
|
|
912
897
|
<li class="dib">
|
|
913
898
|
<svg class="icon svg-icon" aria-hidden="true">
|
|
914
|
-
<use xlink:href="#vyr-
|
|
899
|
+
<use xlink:href="#vyr-preset"></use>
|
|
915
900
|
</svg>
|
|
916
|
-
<div class="name"
|
|
917
|
-
<div class="code-name">#vyr-
|
|
901
|
+
<div class="name">preset</div>
|
|
902
|
+
<div class="code-name">#vyr-preset</div>
|
|
918
903
|
</li>
|
|
919
904
|
|
|
920
905
|
<li class="dib">
|
|
@@ -943,10 +928,10 @@
|
|
|
943
928
|
|
|
944
929
|
<li class="dib">
|
|
945
930
|
<svg class="icon svg-icon" aria-hidden="true">
|
|
946
|
-
<use xlink:href="#vyr-
|
|
931
|
+
<use xlink:href="#vyr-category-scene"></use>
|
|
947
932
|
</svg>
|
|
948
933
|
<div class="name">场景</div>
|
|
949
|
-
<div class="code-name">#vyr-
|
|
934
|
+
<div class="code-name">#vyr-category-scene</div>
|
|
950
935
|
</li>
|
|
951
936
|
|
|
952
937
|
<li class="dib">
|
|
@@ -973,14 +958,6 @@
|
|
|
973
958
|
<div class="code-name">#vyr-tingzhi</div>
|
|
974
959
|
</li>
|
|
975
960
|
|
|
976
|
-
<li class="dib">
|
|
977
|
-
<svg class="icon svg-icon" aria-hidden="true">
|
|
978
|
-
<use xlink:href="#vyr-category-prefab"></use>
|
|
979
|
-
</svg>
|
|
980
|
-
<div class="name">预制体</div>
|
|
981
|
-
<div class="code-name">#vyr-category-prefab</div>
|
|
982
|
-
</li>
|
|
983
|
-
|
|
984
961
|
<li class="dib">
|
|
985
962
|
<svg class="icon svg-icon" aria-hidden="true">
|
|
986
963
|
<use xlink:href="#vyr-category-json"></use>
|
|
@@ -1039,10 +1016,10 @@
|
|
|
1039
1016
|
|
|
1040
1017
|
<li class="dib">
|
|
1041
1018
|
<svg class="icon svg-icon" aria-hidden="true">
|
|
1042
|
-
<use xlink:href="#vyr-category-
|
|
1019
|
+
<use xlink:href="#vyr-category-store"></use>
|
|
1043
1020
|
</svg>
|
|
1044
|
-
<div class="name"
|
|
1045
|
-
<div class="code-name">#vyr-category-
|
|
1021
|
+
<div class="name">数据容器</div>
|
|
1022
|
+
<div class="code-name">#vyr-category-store</div>
|
|
1046
1023
|
</li>
|
|
1047
1024
|
|
|
1048
1025
|
<li class="dib">
|