@liuzengwei/element-ui 2.15.5-xn.49 → 2.15.5-xn.51

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 (136) hide show
  1. package/lib/affix.js +2 -2
  2. package/lib/alert.js +2 -2
  3. package/lib/area-loading.js +2 -2
  4. package/lib/area-picker.js +4 -4
  5. package/lib/aside.js +2 -2
  6. package/lib/autocomplete.js +2 -2
  7. package/lib/avatar.js +2 -2
  8. package/lib/backtop.js +2 -2
  9. package/lib/badge.js +2 -2
  10. package/lib/breadcrumb-item.js +2 -2
  11. package/lib/breadcrumb.js +2 -2
  12. package/lib/button-group.js +2 -2
  13. package/lib/button.js +2 -2
  14. package/lib/calendar.js +2 -2
  15. package/lib/card.js +2 -2
  16. package/lib/carousel-item.js +2 -2
  17. package/lib/carousel.js +2 -2
  18. package/lib/cascader-panel.js +4 -4
  19. package/lib/cascader.js +11 -11
  20. package/lib/checkbox-button.js +9 -9
  21. package/lib/checkbox-group.js +9 -9
  22. package/lib/checkbox.js +9 -9
  23. package/lib/col.js +2 -2
  24. package/lib/collapse-item.js +2 -2
  25. package/lib/collapse.js +2 -2
  26. package/lib/color-picker.js +9 -9
  27. package/lib/container.js +2 -2
  28. package/lib/date-picker.js +69 -91
  29. package/lib/descriptions-item.js +2 -2
  30. package/lib/descriptions.js +2 -2
  31. package/lib/dialog.js +2 -2
  32. package/lib/divider.js +2 -2
  33. package/lib/drawer.js +2 -2
  34. package/lib/dropdown-item.js +2 -2
  35. package/lib/dropdown-menu.js +2 -2
  36. package/lib/dropdown.js +2 -2
  37. package/lib/element-ui.common.js +723 -28
  38. package/lib/empty.js +2 -2
  39. package/lib/file-preview.js +905 -0
  40. package/lib/footer.js +2 -2
  41. package/lib/form-item.js +4 -4
  42. package/lib/form.js +2 -2
  43. package/lib/header.js +2 -2
  44. package/lib/icon.js +2 -2
  45. package/lib/image.js +2 -2
  46. package/lib/index.js +1 -1
  47. package/lib/infinite-scroll.js +2 -2
  48. package/lib/input-number.js +2 -2
  49. package/lib/input.js +2 -2
  50. package/lib/lazy-load.js +2 -2
  51. package/lib/link.js +2 -2
  52. package/lib/loading.js +2 -2
  53. package/lib/main.js +2 -2
  54. package/lib/menu-item-group.js +2 -2
  55. package/lib/menu-item.js +2 -2
  56. package/lib/menu.js +2 -2
  57. package/lib/message-box.js +4 -4
  58. package/lib/message.js +2 -2
  59. package/lib/notification.js +9 -9
  60. package/lib/option-group.js +9 -9
  61. package/lib/option.js +2 -2
  62. package/lib/page-header.js +2 -2
  63. package/lib/pagination.js +6 -6
  64. package/lib/popconfirm.js +4 -4
  65. package/lib/popover.js +2 -2
  66. package/lib/progress.js +2 -2
  67. package/lib/radio-button.js +9 -9
  68. package/lib/radio-group.js +9 -9
  69. package/lib/radio.js +2 -2
  70. package/lib/rate.js +2 -2
  71. package/lib/result.js +2 -2
  72. package/lib/row.js +2 -2
  73. package/lib/scrollbar.js +9 -9
  74. package/lib/segmented.js +2 -2
  75. package/lib/select.js +2 -2
  76. package/lib/selectable-tag-group.js +2 -2
  77. package/lib/selectable-tag.js +2 -2
  78. package/lib/skeleton-item.js +2 -2
  79. package/lib/skeleton.js +2 -2
  80. package/lib/slider.js +4 -4
  81. package/lib/spinner.js +2 -2
  82. package/lib/statistic.js +2 -2
  83. package/lib/step.js +2 -2
  84. package/lib/steps.js +2 -2
  85. package/lib/submenu.js +2 -2
  86. package/lib/switch.js +23 -23
  87. package/lib/tab-pane.js +2 -2
  88. package/lib/table-column.js +2 -2
  89. package/lib/table.js +14 -6
  90. package/lib/tabs.js +2 -2
  91. package/lib/tag.js +2 -2
  92. package/lib/text.js +2 -2
  93. package/lib/theme-chalk/base.css +1 -1
  94. package/lib/theme-chalk/file-preview.css +1 -0
  95. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  96. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  97. package/lib/theme-chalk/icon.css +1 -1
  98. package/lib/theme-chalk/index.css +1 -1
  99. package/lib/theme-chalk/timeline-item.css +1 -1
  100. package/lib/time-picker.js +2 -2
  101. package/lib/time-select.js +2 -2
  102. package/lib/timeline-item.js +2 -2
  103. package/lib/timeline.js +2 -2
  104. package/lib/tooltip.js +2 -2
  105. package/lib/transfer.js +2 -2
  106. package/lib/tree.js +2 -2
  107. package/lib/trigger.js +11 -11
  108. package/lib/upload.js +2 -2
  109. package/package.json +1 -1
  110. package/packages/file-preview/index.js +8 -0
  111. package/packages/file-preview/src/icons/audio.svg +1 -0
  112. package/packages/file-preview/src/icons/excel.svg +1 -0
  113. package/packages/file-preview/src/icons/image.svg +1 -0
  114. package/packages/file-preview/src/icons/pdf.svg +1 -0
  115. package/packages/file-preview/src/icons/ppt.svg +1 -0
  116. package/packages/file-preview/src/icons/video.svg +1 -0
  117. package/packages/file-preview/src/icons/word.svg +1 -0
  118. package/packages/file-preview/src/icons/zip.svg +1 -0
  119. package/packages/file-preview/src/main.vue +330 -0
  120. package/packages/theme-chalk/lib/base.css +1 -1
  121. package/packages/theme-chalk/lib/file-preview.css +1 -0
  122. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  123. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  124. package/packages/theme-chalk/lib/icon.css +1 -1
  125. package/packages/theme-chalk/lib/index.css +1 -1
  126. package/packages/theme-chalk/lib/timeline-item.css +1 -1
  127. package/packages/theme-chalk/src/common/var.scss +3 -3
  128. package/packages/theme-chalk/src/file-preview.scss +138 -0
  129. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  130. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  131. package/packages/theme-chalk/src/icon.scss +36 -0
  132. package/packages/theme-chalk/src/index.scss +1 -0
  133. package/packages/theme-chalk/src/timeline-item.scss +5 -4
  134. package/src/index.js +5 -2
  135. package/types/element-ui.d.ts +4 -0
  136. package/types/file-preview.d.ts +32 -0
@@ -1 +1 @@
1
- .el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #E4E7ED}.el-timeline-item__icon{color:#FFF;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#E4E7ED;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#4885F8}.el-timeline-item__node--success{background-color:#1EBD44}.el-timeline-item__node--warning{background-color:#FF7D00}.el-timeline-item__node--danger{background-color:#F53F3F}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}
1
+ .el-timeline-item__node,.el-timeline-item__node--primary{background-color:#4885F8}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:25px;top:-3px}.el-timeline-item__tail{position:absolute;left:2.5px;height:100%;border-left:1px solid #4885F8}.el-timeline-item__icon{color:#FFF;font-size:13px}.el-timeline-item__node{position:absolute;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-shadow:0 0 0 2px #FFF;box-shadow:0 0 0 2px #FFF}.el-timeline-item__node--normal{left:-1px;width:8px;height:8px}.el-timeline-item__node--large{left:-3px;width:12px;height:12px}.el-timeline-item__node--success{background-color:#1EBD44}.el-timeline-item__node--warning{background-color:#FF7D00}.el-timeline-item__node--danger{background-color:#F53F3F}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}
@@ -948,9 +948,9 @@ $--main-padding: 20px !default;
948
948
 
949
949
  /* Timeline
950
950
  --------------------------*/
951
- $--timeline-node-size-normal: 12px !default;
952
- $--timeline-node-size-large: 14px !default;
953
- $--timeline-node-color: $--border-color-light !default;
951
+ $--timeline-node-size-normal: 8px !default;
952
+ $--timeline-node-size-large: 12px !default;
953
+ $--timeline-node-color: $--color-primary !default;
954
954
 
955
955
  /* Backtop
956
956
  --------------------------*/
@@ -0,0 +1,138 @@
1
+ @import "mixins/mixins";
2
+ @import "common/var";
3
+
4
+ @include b(file-preview) {
5
+ @include e(list) {
6
+ display: flex;
7
+ flex-wrap: wrap;
8
+ margin: -4px;
9
+ }
10
+
11
+ @include e(item) {
12
+ width: 80px;
13
+ height: 80px;
14
+ margin: 4px;
15
+ border-radius: $--border-radius-base;
16
+ cursor: pointer;
17
+ flex-shrink: 0;
18
+ position: relative;
19
+ overflow: hidden;
20
+
21
+ @include m(image) {
22
+ .el-image {
23
+ width: 100%;
24
+ height: 100%;
25
+ border-radius: $--border-radius-base;
26
+ }
27
+ }
28
+
29
+ @include m(video) {
30
+ .el-image {
31
+ width: 100%;
32
+ height: 100%;
33
+ border-radius: $--border-radius-base;
34
+ }
35
+ }
36
+
37
+ @include m(file) {
38
+ border: 1px solid $--border-color-base;
39
+ box-sizing: border-box;
40
+ padding: 8px 6px;
41
+ display: flex;
42
+ flex-direction: column;
43
+ align-items: center;
44
+ justify-content: center;
45
+ color: $--color-text-secondary;
46
+ transition: all 0.3s;
47
+
48
+ &:hover {
49
+ border-color: $--color-primary;
50
+ box-shadow: 0 2px 8px rgba($--color-primary, 0.2);
51
+ }
52
+ }
53
+ }
54
+
55
+ @include e(image) {
56
+ width: 100%;
57
+ height: 100%;
58
+ }
59
+
60
+ @include e(error) {
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ width: 100%;
65
+ height: 100%;
66
+ background-color: $--background-color-base;
67
+ color: $--color-text-placeholder;
68
+ font-size: 24px;
69
+ }
70
+
71
+ @include e(play-icon) {
72
+ position: absolute;
73
+ top: 50%;
74
+ left: 50%;
75
+ transform: translate(-50%, -50%);
76
+ width: 40px;
77
+ height: 40px;
78
+ background-color: rgba(0, 0, 0, 0.5);
79
+ border-radius: 50%;
80
+ display: flex;
81
+ align-items: center;
82
+ justify-content: center;
83
+ color: #fff;
84
+ font-size: 20px;
85
+ pointer-events: none;
86
+ transition: all 0.3s;
87
+
88
+ .el-file-preview__item:hover & {
89
+ background-color: rgba(0, 0, 0, 0.7);
90
+ transform: translate(-50%, -50%) scale(1.1);
91
+ }
92
+ }
93
+
94
+ @include e(icon) {
95
+ width: 40px;
96
+ height: 40px;
97
+ object-fit: contain;
98
+ flex-shrink: 0;
99
+ }
100
+
101
+ @include e(name) {
102
+ width: 100%;
103
+ margin: 6px 0 0;
104
+ padding: 0;
105
+ font-size: $--font-size-extra-small;
106
+ line-height: 1.4;
107
+ word-break: break-all;
108
+ display: flex;
109
+ flex-wrap: wrap;
110
+ justify-content: center;
111
+ text-align: center;
112
+ color: inherit;
113
+ }
114
+
115
+ @include e(name-main) {
116
+ overflow: hidden;
117
+ text-overflow: ellipsis;
118
+ white-space: nowrap;
119
+ flex: 1;
120
+ min-width: 0;
121
+ }
122
+
123
+ @include e(name-ext) {
124
+ flex-shrink: 0;
125
+ white-space: nowrap;
126
+ }
127
+
128
+ @include e(video-wrapper) {
129
+ width: 100%;
130
+ }
131
+
132
+ @include e(video) {
133
+ width: 100%;
134
+ max-height: 480px;
135
+ background-color: #000;
136
+ }
137
+ }
138
+
@@ -1193,3 +1193,39 @@
1193
1193
  .el-icon-point:before {
1194
1194
  content: "\e654";
1195
1195
  }
1196
+
1197
+ .el-icon-xianniu:before {
1198
+ content: "\e630";
1199
+ }
1200
+
1201
+ .el-icon-zip:before {
1202
+ content: "\e62f";
1203
+ }
1204
+
1205
+ .el-icon-image:before {
1206
+ content: "\e62e";
1207
+ }
1208
+
1209
+ .el-icon-pdf:before {
1210
+ content: "\e628";
1211
+ }
1212
+
1213
+ .el-icon-audio:before {
1214
+ content: "\e62d";
1215
+ }
1216
+
1217
+ .el-icon-ppt:before {
1218
+ content: "\e62c";
1219
+ }
1220
+
1221
+ .el-icon-video:before {
1222
+ content: "\e62b";
1223
+ }
1224
+
1225
+ .el-icon-word:before {
1226
+ content: "\e62a";
1227
+ }
1228
+
1229
+ .el-icon-excel:before {
1230
+ content: "\e629";
1231
+ }
@@ -94,3 +94,4 @@
94
94
  @import "./trigger.scss";
95
95
  @import "./lazy-load.scss";
96
96
  @import "./segmented.scss";
97
+ @import "./file-preview.scss";
@@ -7,15 +7,15 @@
7
7
 
8
8
  @include e(wrapper) {
9
9
  position: relative;
10
- padding-left: 28px;
10
+ padding-left: 25px;
11
11
  top: -3px;
12
12
  }
13
13
 
14
14
  @include e(tail) {
15
15
  position: absolute;
16
- left: 4px;
16
+ left: 2.5px;
17
17
  height: 100%;
18
- border-left: 2px solid $--timeline-node-color;
18
+ border-left: 1px solid $--timeline-node-color;
19
19
  }
20
20
 
21
21
  @include e(icon) {
@@ -30,6 +30,7 @@
30
30
  display: flex;
31
31
  justify-content: center;
32
32
  align-items: center;
33
+ box-shadow: 0 0 0 2px $--color-white;
33
34
 
34
35
  @include m(normal) {
35
36
  left: -1px;
@@ -37,7 +38,7 @@
37
38
  height: $--timeline-node-size-normal;
38
39
  }
39
40
  @include m(large) {
40
- left: -2px;
41
+ left: -3px;
41
42
  width: $--timeline-node-size-large;
42
43
  height: $--timeline-node-size-large;
43
44
  }
package/src/index.js CHANGED
@@ -98,6 +98,7 @@ import AreaPicker from '../packages/area-picker/index.js';
98
98
  import Trigger from '../packages/trigger/index.js';
99
99
  import LazyLoad from '../packages/lazy-load/index.js';
100
100
  import Segmented from '../packages/segmented/index.js';
101
+ import FilePreview from '../packages/file-preview/index.js';
101
102
  import locale from 'element-ui/src/locale';
102
103
  import CollapseTransition from 'element-ui/src/transitions/collapse-transition';
103
104
 
@@ -195,6 +196,7 @@ const components = [
195
196
  Trigger,
196
197
  LazyLoad,
197
198
  Segmented,
199
+ FilePreview,
198
200
  CollapseTransition
199
201
  ];
200
202
 
@@ -230,7 +232,7 @@ if (typeof window !== 'undefined' && window.Vue) {
230
232
  }
231
233
 
232
234
  export default {
233
- version: '2.15.5-xn.49',
235
+ version: '2.15.5-xn.51',
234
236
  locale: locale.use,
235
237
  i18n: locale.i18n,
236
238
  install,
@@ -332,5 +334,6 @@ export default {
332
334
  AreaPicker,
333
335
  Trigger,
334
336
  LazyLoad,
335
- Segmented
337
+ Segmented,
338
+ FilePreview
336
339
  };
@@ -4,6 +4,7 @@
4
4
  import { ElTrigger } from './trigger'
5
5
  import { ElLazyLoad } from './lazy-load'
6
6
  import { ElSegmented } from './segmented'
7
+ import { ElFilePreview } from './file-preview'
7
8
 
8
9
  export class SelectableTag extends ElSelectableTag {}
9
10
 
@@ -18,3 +19,6 @@ export class LazyLoad extends ElLazyLoad {}
18
19
 
19
20
  /** Segmented Component */
20
21
  export class Segmented extends ElSegmented {}
22
+
23
+ /** FilePreview Component */
24
+ export class FilePreview extends ElFilePreview {}
@@ -0,0 +1,32 @@
1
+ import { ElementUIComponent } from './component'
2
+
3
+ /** 文件对象类型 */
4
+ export interface FileItem {
5
+ /** 文件 URL */
6
+ url?: string
7
+ /** 文件名称 */
8
+ name?: string
9
+ [key: string]: any
10
+ }
11
+
12
+ /** FilePreview Component */
13
+ export declare class ElFilePreview extends ElementUIComponent {
14
+ /** 文件列表 */
15
+ fileList: FileItem[] | string[]
16
+
17
+ /** URL 字段名 */
18
+ urlKey: string
19
+
20
+ /** 文件名字段名 */
21
+ nameKey: string
22
+
23
+ /** 是否启用图片预览 */
24
+ previewEnabled: boolean
25
+
26
+ /** 视频快照处理函数 */
27
+ videoSnapshotHandler: ((url: string) => string) | null
28
+
29
+ /** 视频对话框标题 */
30
+ videoDialogTitle: string
31
+ }
32
+