element-ui-pro-components-test 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/LICENSE +21 -0
  3. package/README.md +0 -0
  4. package/lib/dialog-form.js +1175 -0
  5. package/lib/editable-pro-table.js +2080 -0
  6. package/lib/element-ui-pro-components.common.js +193 -0
  7. package/lib/index.js +1 -0
  8. package/lib/locale/index.js +44 -0
  9. package/lib/locale/lang/en.js +46 -0
  10. package/lib/locale/lang/zh-CN.js +46 -0
  11. package/lib/pro-form.js +1036 -0
  12. package/lib/pro-table.js +2779 -0
  13. package/lib/theme-chalk/editable-pro-table.css +1 -0
  14. package/lib/theme-chalk/index.css +1 -0
  15. package/lib/theme-chalk/pro-table.css +1 -0
  16. package/lib/umd/locale/en.js +67 -0
  17. package/lib/umd/locale/zh-CN.js +67 -0
  18. package/lib/utils/breakpoints.js +68 -0
  19. package/lib/utils/debounce.js +20 -0
  20. package/lib/utils/form.js +108 -0
  21. package/package.json +78 -0
  22. package/packages/dialog-form/index.js +9 -0
  23. package/packages/dialog-form/src/components/Submitter.vue +47 -0
  24. package/packages/dialog-form/src/index.vue +404 -0
  25. package/packages/editable-pro-table/index.js +9 -0
  26. package/packages/editable-pro-table/src/components/Editable.vue +203 -0
  27. package/packages/editable-pro-table/src/components/FormItem.vue +193 -0
  28. package/packages/editable-pro-table/src/components/RecordCreator.vue +43 -0
  29. package/packages/editable-pro-table/src/components/RenderCell.vue +181 -0
  30. package/packages/editable-pro-table/src/index.vue +805 -0
  31. package/packages/pro-form/index.js +9 -0
  32. package/packages/pro-form/src/components/Submitter.vue +47 -0
  33. package/packages/pro-form/src/index.vue +309 -0
  34. package/packages/pro-table/index.js +9 -0
  35. package/packages/pro-table/src/components/ColumnAlignSettings.vue +77 -0
  36. package/packages/pro-table/src/components/ColumnSettings.vue +172 -0
  37. package/packages/pro-table/src/components/ColumnSettingsItem.vue +401 -0
  38. package/packages/pro-table/src/components/svg/ArrowIcon.vue +16 -0
  39. package/packages/pro-table/src/components/svg/HolderIcon.vue +17 -0
  40. package/packages/pro-table/src/components/svg/SettingIcon.vue +20 -0
  41. package/packages/pro-table/src/components/svg/VerticalAlginBottomIcon.vue +17 -0
  42. package/packages/pro-table/src/components/svg/VerticalAlginMiddleIcon.vue +17 -0
  43. package/packages/pro-table/src/components/svg/VerticalAlignTopIcon.vue +17 -0
  44. package/packages/pro-table/src/index.vue +934 -0
  45. package/src/components/custom-render/index.vue +16 -0
  46. package/src/components/pro-form-item/index.vue +129 -0
  47. package/src/index.js +57 -0
  48. package/src/locale/index.js +47 -0
  49. package/src/locale/lang/en.js +46 -0
  50. package/src/locale/lang/zh-CN.js +46 -0
  51. package/src/utils/breakpoints.js +61 -0
  52. package/src/utils/debounce.js +22 -0
  53. package/src/utils/form.js +94 -0
@@ -0,0 +1,401 @@
1
+ <template>
2
+ <div v-if="columns.length" class="column-settings-item-list">
3
+ <div class="title">{{ title }}</div>
4
+ <div ref="dragDropZoneRef" class="drag-drop-zone">
5
+ <div
6
+ class="column-settings-item"
7
+ v-for="(column, index) in columns"
8
+ :class="{ draggable, dragging: dragIndex === index}"
9
+ :draggable="draggable"
10
+ @dragstart="(e) => onDragstart(e, index)"
11
+ @dragenter.prevent="onDragenter"
12
+ @dragover.prevent="(e) => onDragover(e, index)"
13
+ @dragleave="onDragleave"
14
+ @drop="(e) => onDrop(e, index)"
15
+ @dragend="onDragend"
16
+ :key="column.prop"
17
+ >
18
+ <span v-if="draggable" class="icon icon-holder">
19
+ <HolderIcon />
20
+ </span>
21
+ <span class="switcher"></span>
22
+ <component
23
+ :is="dynamicComponent"
24
+ v-bind="dynamicComponent === 'el-checkbox'
25
+ ? { value: column.checkable, disabled: column.disabled }
26
+ : { class: 'text-wrapper' }"
27
+ v-on="dynamicComponent === 'el-checkbox'
28
+ ? { change: (checked) => handleChange(checked, column.prop) }
29
+ : {}"
30
+ >
31
+ <span class="label">{{ column.label }}</span>
32
+ <ColumnAlignSettings :column="column" />
33
+ <!-- 拖拽指示元素 -->
34
+ <!-- start -->
35
+ <!-- ::before 伪元素 -->
36
+ <!-- start -->
37
+ <div v-if="index === 0 && dropIndex === index" class="indicator head-indicator"></div>
38
+ <!-- end -->
39
+ <!-- ::after 伪元素 -->
40
+ <!-- start -->
41
+ <div v-else-if="dropIndex === index + 1" class="indicator tail-indicator"></div>
42
+ <!-- end -->
43
+ <!-- end -->
44
+ </component>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </template>
49
+
50
+ <script>
51
+ import HolderIcon from './svg/HolderIcon'
52
+ import ColumnAlignSettings from './ColumnAlignSettings'
53
+ import { t } from 'element-ui-pro-components/src/locale'
54
+
55
+ export default {
56
+ name: 'ColumnSettingsItem',
57
+ components: {
58
+ HolderIcon,
59
+ ColumnAlignSettings
60
+ },
61
+ inject: ["onColumnSettingsChange"],
62
+ props: {
63
+ // 列表项
64
+ columns: {
65
+ type: Array,
66
+ required: true,
67
+ default: () => []
68
+ },
69
+ // 列设置
70
+ columnSettings: {
71
+ type: Object,
72
+ },
73
+ },
74
+ computed: {
75
+ // 列类型
76
+ title() {
77
+ const { columns } = this
78
+ if (Array.isArray(columns) && columns.length) {
79
+ const fixed = columns[0].fixed
80
+ return fixed === "left"
81
+ ? t('elProComponents.tableToolBar.leftFixedTitle')
82
+ : fixed === "right"
83
+ ? t('elProComponents.tableToolBar.rightFixedTitle')
84
+ : t('elProComponents.tableToolBar.noFixedTitle')
85
+ }
86
+
87
+ return ""
88
+ },
89
+ // 是否支持拖动
90
+ draggable() {
91
+ return this.columnSettings.draggable && this.columns?.length > 1
92
+ },
93
+ // 动态组件
94
+ dynamicComponent() {
95
+ return this.columnSettings.checkable ? 'el-checkbox' : 'span'
96
+ },
97
+ },
98
+ data() {
99
+ return {
100
+ dragIndex: -1, // 开始拖动目标的下标
101
+ dropIndex: -1, // 可释放目标的下标
102
+ }
103
+ },
104
+ methods: {
105
+ /**
106
+ * @desc 监听修改
107
+ * @param {Boolean} checked 状态
108
+ * @param {String} prop 属性
109
+ */
110
+ handleChange(checked, prop) {
111
+ // ProTable provide 提供
112
+ this.onColumnSettingsChange({ event: "check", checked, prop });
113
+ },
114
+ /**
115
+ * @desc 获取光标位置
116
+ * @param {Object} e
117
+ * @returns {String} top | bottom
118
+ */
119
+ getCursorPos(e) {
120
+ // 1. 获取元素的位置和尺寸
121
+ const rect = e.target.getBoundingClientRect()
122
+
123
+ // 2. 获取鼠标相对于元素的位置
124
+ const relativeY = e.clientY - rect.top
125
+
126
+ // 3. 判断光标在释放目标位置的上半还是下半
127
+ const cursorPos = relativeY < rect.height / 2 ? "top" : "bottom"
128
+
129
+ return cursorPos
130
+ },
131
+ /**
132
+ * @desc 获取释放位置下标
133
+ * @param {Object} e
134
+ * @param {Number} dropIndex 释放目标的下标
135
+ */
136
+ getDropIndex(e, dropIndex) {
137
+ // 获取光标位置
138
+ const cursorPos = this.getCursorPos(e)
139
+
140
+ // 光标在释放目标位置上半 则在释放目标位置上方插入
141
+ // 光标在释放目标位置下半 则在释放目标位置下方插入
142
+ const targetDropIndex = cursorPos === 'top' ? dropIndex : dropIndex + 1
143
+
144
+ // 当前拖拽的方向
145
+ const dragDirection = this.dragIndex < dropIndex ? "down" : "up"
146
+
147
+ // 释放位置 = 开始拖拽位置
148
+ if (targetDropIndex === this.dragIndex) {
149
+ return -1
150
+ }
151
+
152
+ // 拖拽方向:down && 相邻 则说明位置不变
153
+ const isNear = Math.abs(targetDropIndex - this.dragIndex) === 1
154
+ if (isNear && dragDirection === 'down') {
155
+ return -1
156
+ }
157
+
158
+ return targetDropIndex
159
+ },
160
+ /**
161
+ * @desc 开始拖动
162
+ * @param {Object} e 拖拽元素对象
163
+ * @param {Number} index 下标
164
+ */
165
+ onDragstart(e, index) {
166
+ e.dataTransfer.effectAllowed = "move"
167
+ e.dataTransfer.dropEffect = "move"
168
+ this.dragIndex = index
169
+ },
170
+ /**
171
+ * @desc 拖入到释放目标
172
+ * @param {Object} e 拖拽元素对象
173
+ */
174
+ onDragenter(e) {
175
+ if (this.dragIndex === -1) {
176
+ // 其它拖拽区域
177
+ e.dataTransfer.dropEffect = 'none'
178
+ } else {
179
+ e.dataTransfer.dropEffect = 'move'
180
+ }
181
+ },
182
+ /**
183
+ * @desc 拖拽到释放目标上
184
+ * @param {Object} e 释放目标对象
185
+ * @param {Number} dropIndex 下标
186
+ */
187
+ onDragover(e, dropIndex) {
188
+ // ***参数是在事件绑定时确定的 而不是在事件触发时***
189
+
190
+ // 如果拖动到其它列
191
+ if (this.dragIndex < 0) {
192
+ e.dataTransfer.dropEffect = 'none'
193
+ return
194
+ }
195
+
196
+ // 释放目标是开始拖动目标 则退出
197
+ if (this.dragIndex === dropIndex) {
198
+ this.dropIndex = -1
199
+ return
200
+ }
201
+
202
+ // 获取释放位置下标
203
+ this.dropIndex = this.getDropIndex(e, dropIndex)
204
+ },
205
+ /**
206
+ * @desc 离开可释放目标
207
+ */
208
+ onDragleave(e) {
209
+ const dragDropZoneRef = this.$refs.dragDropZoneRef
210
+ // 是否在列表区域内
211
+ if (dragDropZoneRef.contains(e.relatedTarget)) {
212
+ return
213
+ }
214
+
215
+ this.dropIndex = -1
216
+ },
217
+ /**
218
+ * @desc 释放目标停止拖拽
219
+ * @param {Object} e 释放目标对象
220
+ * @param {Number} dropIndex 释放的下标
221
+ */
222
+ onDrop(e, dropIndex) {
223
+ if (this.dragIndex === dropIndex) {
224
+ this.dropIndex = -1
225
+ return
226
+ }
227
+
228
+ // 获取释放位置下标
229
+ const index = this.getDropIndex(e, dropIndex)
230
+ if (index > -1) {
231
+ const { columns } = this
232
+ const fromProp = columns[this.dragIndex].prop
233
+ // 是否拖拽到最后一列
234
+ const isAfter = index === this.columns.length
235
+ const toProp = isAfter ? columns[index - 1].prop : columns[index].prop
236
+ // ProTable provide 提供
237
+ this.onColumnSettingsChange({ event: 'drop', fromProp, toProp, isAfter })
238
+ }
239
+ },
240
+ /**
241
+ * @desc 结束拖拽
242
+ */
243
+ onDragend() {
244
+ // 重置
245
+ this.dragIndex = -1
246
+ this.dropIndex = -1
247
+ }
248
+ }
249
+ }
250
+ </script>
251
+
252
+ <style lang="less" scoped>
253
+ .column-settings-item-list {
254
+ > .title {
255
+ margin-block-start: 6px;
256
+ margin-block-end: 6px;
257
+ padding-inline-start: 24px;
258
+ color: rgba(42, 46, 54, 0.65);
259
+ font-size: 12px;
260
+ }
261
+
262
+ .column-settings-item {
263
+ display: flex;
264
+ align-items: center;
265
+ padding: 0 0 4px 0;
266
+ outline: none;
267
+ color: rgba(42, 46, 54, 0.88);
268
+
269
+ &.draggable {
270
+ cursor: grab;
271
+ }
272
+
273
+ &.dragging {
274
+ position: relative;
275
+
276
+ &::after {
277
+ position: absolute;
278
+ top: 0;
279
+ inset-inline-end: 0;
280
+ bottom: 4px;
281
+ inset-inline-start: 0;
282
+ border: 1px solid #1677ff;
283
+ opacity: 0;
284
+ animation-name: fade;
285
+ animation-duration: 0.3s;
286
+ animation-play-state: running;
287
+ animation-fill-mode: forwards;
288
+ content: "";
289
+ pointer-events: none;
290
+ }
291
+ }
292
+
293
+ .indicator {
294
+ width: calc(100% - 4px);
295
+ height: 2px;
296
+ background-color: #1677ff;
297
+ border-radius: 1px;
298
+ pointer-events: none;
299
+ position: absolute;
300
+ z-index: 1;
301
+ bottom: -3px;
302
+
303
+ &.head-indicator {
304
+ top: 0;
305
+ }
306
+
307
+ &::before,
308
+ &::after {
309
+ position: absolute;
310
+ left: 0;
311
+ top: -3px;
312
+ inset-inline-start: -6px;
313
+ width: 8px;
314
+ height: 8px;
315
+ background-color: transparent;
316
+ border: 2px solid #1677ff;
317
+ border-radius: 50%;
318
+ content: "";
319
+ box-sizing: border-box;
320
+ }
321
+ }
322
+
323
+ .icon-holder {
324
+ flex-shrink: 0;
325
+ width: 24px;
326
+ line-height: 24px;
327
+ text-align: center;
328
+ visibility: visible;
329
+ opacity: 0.2;
330
+ transition: opacity 0.3s;
331
+ }
332
+
333
+ .switcher {
334
+ flex: none;
335
+ align-self: stretch;
336
+ width: 24px;
337
+ margin: 0;
338
+ line-height: 24px;
339
+ text-align: center;
340
+ cursor: unset;
341
+ user-select: none;
342
+ transition: all 0.3s;
343
+ border-radius: 6px;
344
+ }
345
+
346
+ ::v-deep .el-checkbox,
347
+ .text-wrapper {
348
+ flex: 1;
349
+ }
350
+
351
+ ::v-deep .el-checkbox__label,
352
+ .text-wrapper {
353
+ display: inline-flex;
354
+ padding: 0 4px;
355
+ line-height: 24px;
356
+ border-radius: 6px;
357
+ box-sizing: border-box;
358
+ transition: background-color 0.2s;
359
+ position: relative;
360
+ }
361
+
362
+ ::v-deep .el-checkbox__label {
363
+ width: calc(100% - 18px);
364
+ margin-left: 4px;
365
+ }
366
+
367
+ ::v-deep .label {
368
+ display: inline-block;
369
+ max-width: 80px;
370
+ text-overflow: ellipsis;
371
+ overflow: hidden;
372
+ word-break: break-all;
373
+ white-space: nowrap;
374
+
375
+ &:empty::before {
376
+ content: '\00a0';
377
+ }
378
+ }
379
+
380
+ &:hover {
381
+ ::v-deep .el-checkbox__label,
382
+ .text-wrapper {
383
+ background: rgba(42, 46, 54, 0.04);
384
+ }
385
+
386
+ .icon-algin-group {
387
+ display: inline-flex;
388
+ }
389
+ }
390
+ }
391
+ }
392
+
393
+ @keyframes fade {
394
+ 0% {
395
+ opacity: 0;
396
+ }
397
+ 100% {
398
+ opacity: 1;
399
+ }
400
+ }
401
+ </style>
@@ -0,0 +1,16 @@
1
+ <template>
2
+ <svg viewBox="64 64 896 896" focusable="false" data-icon="down" width="1em" height="1em" fill="currentColor"
3
+ aria-hidden="true" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
4
+ <path
5
+ d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z">
6
+ </path>
7
+ </svg>
8
+ </template>
9
+
10
+ <script>
11
+ export default {
12
+ name: 'ArrowIcon'
13
+ }
14
+ </script>
15
+
16
+ <style scoped></style>
@@ -0,0 +1,17 @@
1
+ <template>
2
+ <svg
3
+ t="1768466031154" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4754"
4
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" fill="currentColor">
5
+ <path
6
+ d="M300 276.497a56 56 0 1 0 56-96.994 56 56 0 0 0-56 96.994z m0 284a56 56 0 1 0 56-96.994 56 56 0 0 0-56 96.994zM640 228a56 56 0 1 0 112 0 56 56 0 0 0-112 0z m0 284a56 56 0 1 0 112 0 56 56 0 0 0-112 0zM300 844.497a56 56 0 1 0 56-96.994 56 56 0 0 0-56 96.994zM640 796a56 56 0 1 0 112 0 56 56 0 0 0-112 0z"
7
+ p-id="4755"></path>
8
+ </svg>
9
+ </template>
10
+
11
+ <script>
12
+ export default {
13
+ name: 'HolderIcon'
14
+ }
15
+ </script>
16
+
17
+ <style scoped></style>
@@ -0,0 +1,20 @@
1
+ <template>
2
+ <svg
3
+ t="1768525838046" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10889"
4
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" fill="currentColor">
5
+ <path
6
+ d="M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56c10.1-8.6 13.8-22.6 9.3-35.2l-0.9-2.6c-18.1-50.5-44.9-96.9-79.7-137.9l-1.8-2.1c-8.6-10.1-22.5-13.9-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85c-2.4-13.1-12.7-23.3-25.8-25.7l-2.7-0.5c-52.1-9.4-106.9-9.4-159 0l-2.7 0.5c-13.1 2.4-23.4 12.6-25.8 25.7l-15.8 85.4c-35.9 13.6-69.2 32.9-99 57.4l-81.9-29.1c-12.5-4.4-26.5-0.7-35.1 9.5l-1.8 2.1c-34.8 41.1-61.6 87.5-79.7 137.9l-0.9 2.6c-4.5 12.5-0.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5c-10.1 8.6-13.8 22.6-9.3 35.2l0.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1c8.6 10.1 22.5 13.9 35.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4c2.4 13.1 12.7 23.3 25.8 25.7l2.7 0.5c26.1 4.7 52.8 7.1 79.5 7.1 26.7 0 53.5-2.4 79.5-7.1l2.7-0.5c13.1-2.4 23.4-12.6 25.8-25.7l15.7-85c36.2-13.6 69.7-32.9 99.7-57.6l81.3 28.9c12.5 4.4 26.5 0.7 35.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l0.9-2.6c4.5-12.3 0.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9c-11.3 26.1-25.6 50.7-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97c-28.1 3.2-56.8 3.2-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9z"
7
+ p-id="10890"></path>
8
+ <path
9
+ d="M512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176z m79.2 255.2C570 602.3 541.9 614 512 614c-29.9 0-58-11.7-79.2-32.8C411.7 560 400 531.9 400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8C612.3 444 624 472.1 624 502c0 29.9-11.7 58-32.8 79.2z"
10
+ p-id="10891"></path>
11
+ </svg>
12
+ </template>
13
+
14
+ <script>
15
+ export default {
16
+ name: 'SettingIcon'
17
+ }
18
+ </script>
19
+
20
+ <style scoped></style>
@@ -0,0 +1,17 @@
1
+ <template>
2
+ <svg
3
+ t="1768466105119" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6880"
4
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em">
5
+ <path
6
+ d="M955.968 928v-66.944h-864V928h864z m-427.904-114.752l150.784-150.784H565.76V100.864H490.24l0.128 561.6H377.216l150.848 150.784z"
7
+ fill="currentColor" p-id="6881"></path>
8
+ </svg>
9
+ </template>
10
+
11
+ <script>
12
+ export default {
13
+ name: 'VerticalAlignBottomIcon'
14
+ }
15
+ </script>
16
+
17
+ <style scoped></style>
@@ -0,0 +1,17 @@
1
+ <template>
2
+ <svg
3
+ t="1768466311335" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9722"
4
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" fill="currentColor">
5
+ <path
6
+ d="M512 614.4l-153.6 153.6 102.4 0 0 204.8 102.4 0 0-204.8 102.4 0L512 614.4zM665.6 256l-102.4 0L563.2 51.2 460.8 51.2l0 204.8L358.4 256l153.6 153.6L665.6 256zM921.6 512c0-28.3136-2.4576-51.2-30.72-51.2L133.12 460.8C104.8576 460.8 102.4 483.6864 102.4 512c0 28.2112 2.4576 51.2 30.72 51.2L890.88 563.2C919.1424 563.2 921.6 540.2112 921.6 512z"
7
+ p-id="9723"></path>
8
+ </svg>
9
+ </template>
10
+
11
+ <script>
12
+ export default {
13
+ name: 'VerticalAlignMiddleIcon'
14
+ }
15
+ </script>
16
+
17
+ <style scoped></style>
@@ -0,0 +1,17 @@
1
+ <template>
2
+ <svg
3
+ t="1768466090113" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5827"
4
+ xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em">
5
+ <path
6
+ d="M955.968 100.864v66.944h-864V100.864h864zM528.064 215.616l150.784 150.784H565.76V928H490.24l0.128-561.6H377.216L528 215.68z"
7
+ fill="currentColor" p-id="5828"></path>
8
+ </svg>
9
+ </template>
10
+
11
+ <script>
12
+ export default {
13
+ name: 'VerticalAlignTopIcon'
14
+ }
15
+ </script>
16
+
17
+ <style scoped></style>