adtec-core-package 2.0.0 → 2.0.1

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 (334) hide show
  1. package/.editorconfig +6 -6
  2. package/.prettierrc.json +7 -7
  3. package/.vscode/extensions.json +8 -8
  4. package/README.en.md +36 -36
  5. package/README.md +39 -39
  6. package/env.d.ts +1 -1
  7. package/eslint.config.js +56 -46
  8. package/index.html +13 -13
  9. package/package.json +69 -69
  10. package/src/App.vue +9 -9
  11. package/src/api/BasicApi.ts +26 -26
  12. package/src/api/DeptInfoApi.ts +19 -19
  13. package/src/api/DocumentApi.ts +27 -27
  14. package/src/api/EmployeeInfoApi.ts +17 -17
  15. package/src/api/SysDictCacheApi.ts +29 -29
  16. package/src/api/SysUserApi.ts +35 -35
  17. package/src/api/framework.ts +12 -12
  18. package/src/api/workflow/workflow.ts +31 -31
  19. package/src/api/workflow/workflowInstApi.ts +72 -72
  20. package/src/assets/base.css +86 -86
  21. package/src/assets/logo.svg +1 -1
  22. package/src/assets/main.css +35 -35
  23. package/src/assets/style/ant.scss +19 -19
  24. package/src/assets/style/index.less +180 -180
  25. package/src/assets/style/transition.scss +49 -49
  26. package/src/components/ElCardList.vue +64 -64
  27. package/src/components/ElFlex/ElFlex.vue +297 -297
  28. package/src/components/ElTotalTools.vue +70 -70
  29. package/src/components/OperationAuth/operationAuth.vue +26 -26
  30. package/src/components/RichTextEditor/RichTextEditor.vue +383 -383
  31. package/src/components/Scrollbars/ElScrollbars.vue +21 -21
  32. package/src/components/Search/ElIconSearch.vue +267 -267
  33. package/src/components/Search/ElSearch.vue +154 -154
  34. package/src/components/SelectInDicators/SelectInDicators.vue +225 -225
  35. package/src/components/SelectInDicators/api/DataIndicatorsApi.ts +28 -28
  36. package/src/components/SelectInDicators/interface/IComIndex.ts +26 -26
  37. package/src/components/SelectInDicators/interface/IComIndexAttri.ts +18 -18
  38. package/src/components/Table/ElTableColumnDynamic.vue +25 -25
  39. package/src/components/Table/ElTableColumnEdit.vue +265 -265
  40. package/src/components/Table/ElTableTool.ts +37 -37
  41. package/src/components/Title/ElTitle.vue +53 -53
  42. package/src/components/autoToolTip/ElAutoToolTip.vue +62 -62
  43. package/src/components/baseEcharts/index.vue +48 -48
  44. package/src/components/bpmntree/api/modules/role.ts +31 -31
  45. package/src/components/bpmntree/api/modules/user.ts +17 -17
  46. package/src/components/bpmntree/components/AdvancedFilter/Operator.vue +112 -112
  47. package/src/components/bpmntree/components/AdvancedFilter/Trigger.vue +23 -23
  48. package/src/components/bpmntree/components/AdvancedFilter/index.vue +230 -230
  49. package/src/components/bpmntree/components/AdvancedFilter/type.ts +20 -20
  50. package/src/components/bpmntree/components/FlowIcon/index.scss +7 -7
  51. package/src/components/bpmntree/components/FlowIcon/index.tsx +68 -68
  52. package/src/components/bpmntree/components/Render/render.vue +90 -90
  53. package/src/components/bpmntree/components/Render/type.ts +12 -12
  54. package/src/components/bpmntree/components/RoleSelector/RolePicker.vue +264 -264
  55. package/src/components/bpmntree/components/RoleSelector/RoleTag.vue +48 -48
  56. package/src/components/bpmntree/components/RoleSelector/index.vue +113 -113
  57. package/src/components/bpmntree/components/UserSelector/UserTag.vue +73 -73
  58. package/src/components/bpmntree/components/UserSelector/index.vue +140 -140
  59. package/src/components/bpmntree/hooks/useDraggableScroll.ts +44 -44
  60. package/src/components/bpmntree/typings/index.d.ts +1 -1
  61. package/src/components/bpmntree/views/flowDesign/index.vue +653 -653
  62. package/src/components/bpmntree/views/flowDesign/nodes/Add.vue +184 -184
  63. package/src/components/bpmntree/views/flowDesign/nodes/ApprovalNode.vue +127 -127
  64. package/src/components/bpmntree/views/flowDesign/nodes/CcNode.vue +93 -93
  65. package/src/components/bpmntree/views/flowDesign/nodes/ConcurrentNode.vue +61 -61
  66. package/src/components/bpmntree/views/flowDesign/nodes/ConditionNode.vue +60 -60
  67. package/src/components/bpmntree/views/flowDesign/nodes/EndNode.vue +80 -80
  68. package/src/components/bpmntree/views/flowDesign/nodes/ExclusiveNode.vue +20 -20
  69. package/src/components/bpmntree/views/flowDesign/nodes/GatewayNode.vue +173 -173
  70. package/src/components/bpmntree/views/flowDesign/nodes/InclusiveNode.vue +20 -20
  71. package/src/components/bpmntree/views/flowDesign/nodes/JumpNode.vue +49 -49
  72. package/src/components/bpmntree/views/flowDesign/nodes/Node.vue +346 -346
  73. package/src/components/bpmntree/views/flowDesign/nodes/NotifyNode.vue +115 -115
  74. package/src/components/bpmntree/views/flowDesign/nodes/ParallelNode.vue +20 -20
  75. package/src/components/bpmntree/views/flowDesign/nodes/PopoverView.vue +78 -78
  76. package/src/components/bpmntree/views/flowDesign/nodes/StartNode.vue +84 -84
  77. package/src/components/bpmntree/views/flowDesign/nodes/TimerNode.vue +50 -50
  78. package/src/components/bpmntree/views/flowDesign/nodes/TreeNode.vue +45 -45
  79. package/src/components/bpmntree/views/flowDesign/nodes/type.ts +196 -196
  80. package/src/components/bpmntree/views/flowDesign/panels/ApprovalPanel.vue +553 -553
  81. package/src/components/bpmntree/views/flowDesign/panels/AssigneePanel.vue +120 -120
  82. package/src/components/bpmntree/views/flowDesign/panels/CcPanel.vue +99 -99
  83. package/src/components/bpmntree/views/flowDesign/panels/ConditionPanel.vue +41 -41
  84. package/src/components/bpmntree/views/flowDesign/panels/EndPanel.vue +18 -18
  85. package/src/components/bpmntree/views/flowDesign/panels/ExecutionListeners.vue +110 -110
  86. package/src/components/bpmntree/views/flowDesign/panels/JumpPanel.vue +32 -32
  87. package/src/components/bpmntree/views/flowDesign/panels/NotifyPanel.vue +101 -101
  88. package/src/components/bpmntree/views/flowDesign/panels/ParaPanel.vue +248 -248
  89. package/src/components/bpmntree/views/flowDesign/panels/StartPanel.vue +160 -160
  90. package/src/components/bpmntree/views/flowDesign/panels/TaskListeners.vue +110 -110
  91. package/src/components/bpmntree/views/flowDesign/panels/TimerPanel.vue +51 -51
  92. package/src/components/bpmntree/views/flowDesign/panels/index.vue +85 -85
  93. package/src/components/bpmntree/views/view.index.vue +291 -291
  94. package/src/components/business/comp.selectUser.vue +58 -58
  95. package/src/components/business/comp.userForm.vue +297 -297
  96. package/src/components/business/userSelect.vue +413 -413
  97. package/src/components/icon/ElIconBtn.vue +243 -243
  98. package/src/components/icon/ElIcons.vue +38 -38
  99. package/src/components/kFrame/IframeOptions.ts +116 -116
  100. package/src/components/kFrame/KFrame.vue +161 -161
  101. package/src/components/upload/ElUploads.vue +331 -331
  102. package/src/components/upload/FileView.vue +213 -213
  103. package/src/components/upload/FileViewComponents.vue +56 -56
  104. package/src/components/workflow/TaskOperation.vue +240 -239
  105. package/src/components/workflow/WorkflowTodoDialog.vue +83 -83
  106. package/src/components/workflow/components/AddOrMinusMultiDialog.vue +159 -159
  107. package/src/components/workflow/components/CheckDialog.vue +334 -334
  108. package/src/components/workflow/components/ProcessDetailComp.vue +143 -143
  109. package/src/components/workflow/components/ProcessDetailDialog.vue +129 -129
  110. package/src/components/workflow/components/ProcessInstance.vue +117 -117
  111. package/src/components/workflow/components/ProcessInstanceStep.vue +226 -226
  112. package/src/components/workflow/components/SelectAssigneeDialog.vue +109 -109
  113. package/src/components/workflow/components/SelectReturnActivityDialog.vue +104 -104
  114. package/src/config/ElementPlusConfig.ts +95 -95
  115. package/src/config/VxeTableConfig.ts +249 -249
  116. package/src/css/elementUI/affix.scss +7 -7
  117. package/src/css/elementUI/alert.scss +115 -115
  118. package/src/css/elementUI/anchor-link.scss +41 -41
  119. package/src/css/elementUI/anchor.scss +88 -88
  120. package/src/css/elementUI/aside.scss +8 -8
  121. package/src/css/elementUI/autocomplete.scss +89 -89
  122. package/src/css/elementUI/avatar.scss +55 -55
  123. package/src/css/elementUI/backtop.scss +29 -29
  124. package/src/css/elementUI/badge.scss +58 -58
  125. package/src/css/elementUI/base.scss +3 -3
  126. package/src/css/elementUI/breadcrumb.scss +62 -62
  127. package/src/css/elementUI/button-group.scss +80 -80
  128. package/src/css/elementUI/button.scss +304 -304
  129. package/src/css/elementUI/calendar.scss +80 -80
  130. package/src/css/elementUI/card.scss +45 -45
  131. package/src/css/elementUI/carousel-item.scss +58 -58
  132. package/src/css/elementUI/carousel.scss +188 -188
  133. package/src/css/elementUI/cascader-panel.scss +138 -138
  134. package/src/css/elementUI/cascader.scss +230 -230
  135. package/src/css/elementUI/check-tag.scss +60 -60
  136. package/src/css/elementUI/checkbox-button.scss +140 -140
  137. package/src/css/elementUI/checkbox-group.scss +7 -7
  138. package/src/css/elementUI/checkbox.scss +298 -298
  139. package/src/css/elementUI/col.scss +48 -48
  140. package/src/css/elementUI/collapse.scss +70 -70
  141. package/src/css/elementUI/color/index.scss +20 -20
  142. package/src/css/elementUI/color-picker.scss +392 -392
  143. package/src/css/elementUI/common/popup.scss +47 -47
  144. package/src/css/elementUI/common/transition.scss +122 -122
  145. package/src/css/elementUI/common/var.scss +1549 -1549
  146. package/src/css/elementUI/container.scss +14 -14
  147. package/src/css/elementUI/dark/css-vars.scss +39 -39
  148. package/src/css/elementUI/dark/var.scss +222 -222
  149. package/src/css/elementUI/date-picker/date-picker.scss +110 -110
  150. package/src/css/elementUI/date-picker/date-range-picker.scss +113 -113
  151. package/src/css/elementUI/date-picker/date-table.scss +158 -158
  152. package/src/css/elementUI/date-picker/month-table.scss +112 -112
  153. package/src/css/elementUI/date-picker/picker-panel.scss +131 -131
  154. package/src/css/elementUI/date-picker/picker.scss +219 -219
  155. package/src/css/elementUI/date-picker/time-picker.scss +90 -90
  156. package/src/css/elementUI/date-picker/time-range-picker.scss +33 -33
  157. package/src/css/elementUI/date-picker/time-spinner.scss +111 -111
  158. package/src/css/elementUI/date-picker/year-table.scss +108 -108
  159. package/src/css/elementUI/date-picker.scss +9 -9
  160. package/src/css/elementUI/descriptions-item.scss +73 -73
  161. package/src/css/elementUI/descriptions.scss +152 -152
  162. package/src/css/elementUI/dialog.scss +199 -199
  163. package/src/css/elementUI/display.scss +12 -12
  164. package/src/css/elementUI/divider.scss +48 -48
  165. package/src/css/elementUI/drawer.scss +164 -164
  166. package/src/css/elementUI/dropdown.scss +208 -208
  167. package/src/css/elementUI/empty.scss +49 -49
  168. package/src/css/elementUI/footer.scss +12 -12
  169. package/src/css/elementUI/form.scss +243 -243
  170. package/src/css/elementUI/header.scss +12 -12
  171. package/src/css/elementUI/icon.scss +45 -45
  172. package/src/css/elementUI/image-viewer.scss +139 -139
  173. package/src/css/elementUI/image.scss +49 -49
  174. package/src/css/elementUI/index.scss +110 -110
  175. package/src/css/elementUI/input-number.scss +178 -178
  176. package/src/css/elementUI/input.scss +478 -478
  177. package/src/css/elementUI/link.scss +90 -90
  178. package/src/css/elementUI/loading.scss +104 -104
  179. package/src/css/elementUI/main.scss +14 -14
  180. package/src/css/elementUI/mention.scss +88 -88
  181. package/src/css/elementUI/menu.scss +339 -339
  182. package/src/css/elementUI/message-box.scss +213 -213
  183. package/src/css/elementUI/message.scss +98 -98
  184. package/src/css/elementUI/mixins/_button.scss +165 -165
  185. package/src/css/elementUI/mixins/_col.scss +33 -33
  186. package/src/css/elementUI/mixins/_var.scss +67 -67
  187. package/src/css/elementUI/mixins/config.scss +5 -5
  188. package/src/css/elementUI/mixins/function.scss +88 -88
  189. package/src/css/elementUI/mixins/mixins.scss +237 -237
  190. package/src/css/elementUI/mixins/utils.scss +39 -39
  191. package/src/css/elementUI/notification.scss +104 -104
  192. package/src/css/elementUI/option-group.scss +33 -33
  193. package/src/css/elementUI/option.scss +71 -71
  194. package/src/css/elementUI/overlay.scss +17 -17
  195. package/src/css/elementUI/page-header.scss +60 -60
  196. package/src/css/elementUI/pagination.scss +238 -238
  197. package/src/css/elementUI/popconfirm.scss +16 -16
  198. package/src/css/elementUI/popover.scss +61 -61
  199. package/src/css/elementUI/popper.scss +106 -106
  200. package/src/css/elementUI/progress.scss +179 -179
  201. package/src/css/elementUI/radio-button.scss +169 -169
  202. package/src/css/elementUI/radio-group.scss +9 -9
  203. package/src/css/elementUI/radio.scss +215 -215
  204. package/src/css/elementUI/rate.scss +108 -108
  205. package/src/css/elementUI/reset.scss +98 -98
  206. package/src/css/elementUI/result.scss +57 -57
  207. package/src/css/elementUI/row.scss +35 -35
  208. package/src/css/elementUI/scrollbar.scss +97 -97
  209. package/src/css/elementUI/segmented.scss +183 -183
  210. package/src/css/elementUI/select-dropdown-v2.scss +1 -1
  211. package/src/css/elementUI/select-dropdown.scss +57 -57
  212. package/src/css/elementUI/select-v2.scss +4 -4
  213. package/src/css/elementUI/select.scss +253 -253
  214. package/src/css/elementUI/skeleton-item.scss +83 -83
  215. package/src/css/elementUI/skeleton.scss +44 -44
  216. package/src/css/elementUI/slider.scss +212 -212
  217. package/src/css/elementUI/space.scss +20 -20
  218. package/src/css/elementUI/spinner.scss +43 -43
  219. package/src/css/elementUI/statistic.scss +35 -35
  220. package/src/css/elementUI/step.scss +316 -316
  221. package/src/css/elementUI/steps.scss +21 -21
  222. package/src/css/elementUI/switch.scss +300 -300
  223. package/src/css/elementUI/table-column.scss +98 -98
  224. package/src/css/elementUI/table-v2.scss +236 -236
  225. package/src/css/elementUI/table.scss +697 -697
  226. package/src/css/elementUI/tabs.scss +659 -659
  227. package/src/css/elementUI/tag.scss +181 -181
  228. package/src/css/elementUI/text.scss +51 -51
  229. package/src/css/elementUI/time-picker.scss +5 -5
  230. package/src/css/elementUI/time-select.scss +37 -37
  231. package/src/css/elementUI/timeline-item.scss +84 -84
  232. package/src/css/elementUI/timeline.scss +46 -46
  233. package/src/css/elementUI/tooltip-v2.scss +95 -95
  234. package/src/css/elementUI/tour.scss +187 -187
  235. package/src/css/elementUI/transfer.scss +203 -203
  236. package/src/css/elementUI/tree-select.scss +41 -41
  237. package/src/css/elementUI/tree.scss +134 -134
  238. package/src/css/elementUI/upload.scss +654 -654
  239. package/src/css/elementUI/var.scss +87 -87
  240. package/src/css/elementUI/virtual-list.scss +40 -40
  241. package/src/css/vxeTableUI/all.scss +9 -9
  242. package/src/css/vxeTableUI/base.scss +16 -16
  243. package/src/css/vxeTableUI/components/colgroup.scss +0 -0
  244. package/src/css/vxeTableUI/components/column.scss +0 -0
  245. package/src/css/vxeTableUI/components/grid.scss +83 -83
  246. package/src/css/vxeTableUI/components/icon.scss +1017 -1017
  247. package/src/css/vxeTableUI/components/iconTable.scss +205 -205
  248. package/src/css/vxeTableUI/components/old-icon.scss +715 -715
  249. package/src/css/vxeTableUI/components/table-module/all.scss +6 -6
  250. package/src/css/vxeTableUI/components/table-module/custom.scss +490 -490
  251. package/src/css/vxeTableUI/components/table-module/edit.scss +0 -0
  252. package/src/css/vxeTableUI/components/table-module/export.scss +130 -130
  253. package/src/css/vxeTableUI/components/table-module/filter.scss +127 -127
  254. package/src/css/vxeTableUI/components/table-module/keyboard.scss +0 -0
  255. package/src/css/vxeTableUI/components/table-module/menu.scss +85 -85
  256. package/src/css/vxeTableUI/components/table-module/validator.scss +0 -0
  257. package/src/css/vxeTableUI/components/table.scss +2256 -2256
  258. package/src/css/vxeTableUI/components/toolbar.scss +99 -99
  259. package/src/css/vxeTableUI/components/ui.scss +0 -0
  260. package/src/css/vxeTableUI/components/v-x-e-table.scss +0 -0
  261. package/src/css/vxeTableUI/cssvar.scss +2 -2
  262. package/src/css/vxeTableUI/default.scss +2 -2
  263. package/src/css/vxeTableUI/helpers/baseMixin.scss +82 -82
  264. package/src/css/vxeTableUI/icon/iconfont.ttf +0 -0
  265. package/src/css/vxeTableUI/icon/iconfont.woff +0 -0
  266. package/src/css/vxeTableUI/icon/iconfont.woff2 +0 -0
  267. package/src/css/vxeTableUI/index.scss +4 -4
  268. package/src/css/vxeTableUI/modules.scss +5 -5
  269. package/src/css/vxeTableUI/theme/base.scss +88 -88
  270. package/src/css/vxeTableUI/theme/dark.scss +46 -46
  271. package/src/css/vxeTableUI/theme/light.scss +41 -41
  272. package/src/css/vxeTableUI/variable.scss +41 -41
  273. package/src/directives/vKeydown.ts +91 -91
  274. package/src/hooks/useDictHooks.ts +119 -119
  275. package/src/hooks/useEcharts.ts +58 -58
  276. package/src/hooks/useFileView.ts +11 -11
  277. package/src/hooks/useMessageHooks.ts +132 -132
  278. package/src/hooks/usePermissionToolHooks.ts +21 -21
  279. package/src/hooks/useResetRefHooks.ts +18 -18
  280. package/src/hooks/userWorkflowHooks.ts +106 -106
  281. package/src/interface/BaseEntity.ts +30 -30
  282. package/src/interface/IMdmDept.ts +84 -84
  283. package/src/interface/IMdmEmployee.ts +150 -150
  284. package/src/interface/IMdmEmployeeQuery.ts +20 -20
  285. package/src/interface/IMdmOrg.ts +29 -29
  286. package/src/interface/IMdmOrgQuery.ts +13 -13
  287. package/src/interface/IOrgDeptInfo.ts +12 -12
  288. package/src/interface/ISysDictDataCacheVo.ts +46 -46
  289. package/src/interface/ISysDictType.ts +37 -37
  290. package/src/interface/ISysMenuDataVo.ts +22 -22
  291. package/src/interface/ISysMenuInfoVo.ts +83 -83
  292. package/src/interface/ISysMenuOperationVo.ts +21 -21
  293. package/src/interface/ISysUploadFiles.ts +16 -16
  294. package/src/interface/ISysUserInfo.ts +70 -70
  295. package/src/interface/IUserBaseInfo.ts +90 -90
  296. package/src/interface/IUserPermissionVo.ts +40 -40
  297. package/src/interface/IVxeTable.ts +1 -1
  298. package/src/interface/Message.ts +73 -72
  299. package/src/interface/PageData.ts +17 -17
  300. package/src/interface/ResponseData.ts +16 -16
  301. package/src/interface/dictMapType.ts +11 -11
  302. package/src/interface/enum/FlexEnum.ts +85 -85
  303. package/src/interface/enum/MessageEnum.ts +41 -41
  304. package/src/interface/workflow/IWfProcessDefVo.ts +14 -14
  305. package/src/interface/workflow/IWfReturnNodeVo.ts +16 -16
  306. package/src/interface/workflow/IWfTaskAskVo.ts +65 -65
  307. package/src/interface/workflow/IWfTaskQueryVo.ts +30 -30
  308. package/src/interface/workflow/IWfTaskUsersVo.ts +21 -21
  309. package/src/interface/workflow/IWfTaskVo.ts +187 -187
  310. package/src/interface/workflow/workflow.ts +22 -22
  311. package/src/main.ts +14 -14
  312. package/src/mixin/globalMixin.ts +48 -48
  313. package/src/packages/index.ts +18 -18
  314. package/src/packages/text.vue +13 -13
  315. package/src/plugins/echartsConfig.ts +74 -74
  316. package/src/plugins/plugins.ts +12 -12
  317. package/src/plugins/renderDialog.ts +74 -74
  318. package/src/router/index.ts +23 -23
  319. package/src/stores/dictStore.ts +51 -51
  320. package/src/stores/messageStore.ts +49 -49
  321. package/src/stores/permissionStore.ts +112 -112
  322. package/src/stores/storeConfig.ts +23 -23
  323. package/src/stores/userInfoStore.ts +31 -31
  324. package/src/utils/AxiosConfig.ts +226 -226
  325. package/src/utils/FrameworkUtils.ts +358 -358
  326. package/src/utils/commonUtils.ts +115 -115
  327. package/src/utils/encrypt.ts +18 -18
  328. package/src/utils/modules.ts +8 -8
  329. package/src/utils/request.ts +76 -76
  330. package/src/utils/tree.ts +50 -50
  331. package/tsconfig.app.json +12 -12
  332. package/tsconfig.json +11 -11
  333. package/tsconfig.node.json +18 -18
  334. package/vite.config.ts +38 -38
@@ -1,654 +1,654 @@
1
- @use 'mixins/mixins' as *;
2
- @use 'mixins/utils' as *;
3
- @use 'common/var' as *;
4
-
5
- @mixin upload-success($color: null) {
6
- right: -15px;
7
- top: -6px;
8
- width: 40px;
9
- height: 24px;
10
- background: getCssVar('color-success');
11
- text-align: center;
12
- transform: rotate(45deg);
13
-
14
- i {
15
- font-size: 12px;
16
- margin-top: 11px;
17
- transform: rotate(-45deg);
18
- color: $color;
19
- }
20
- }
21
-
22
- @include b(upload) {
23
- @include set-component-css-var('upload', $upload);
24
- }
25
-
26
- @include b(upload) {
27
- @include utils-inline-flex-center;
28
-
29
- cursor: pointer;
30
- outline: none;
31
-
32
- @include when(disabled) {
33
- cursor: not-allowed;
34
- &:focus {
35
- border-color: getCssVar('border-color', 'darker');
36
- color: inherit;
37
- .#{$namespace}-upload-dragger {
38
- border-color: getCssVar('border-color', 'darker');
39
- }
40
- }
41
- .#{$namespace}-upload-dragger {
42
- cursor: not-allowed;
43
- background-color: getCssVar('disabled-bg-color');
44
-
45
- .#{bem('upload', 'text')} {
46
- color: getCssVar('text-color-placeholder');
47
-
48
- em {
49
- color: getCssVar('disabled-text-color');
50
- }
51
- }
52
-
53
- &:hover {
54
- border-color: getCssVar('border-color', 'darker');
55
- }
56
- }
57
- }
58
-
59
- @include e(input) {
60
- display: none;
61
- }
62
-
63
- @include e(tip) {
64
- font-size: 12px;
65
- color: getCssVar('text-color', 'regular');
66
- margin-top: 7px;
67
- }
68
-
69
- iframe {
70
- position: absolute;
71
- z-index: -1;
72
- top: 0;
73
- left: 0;
74
- opacity: 0;
75
- filter: alpha(opacity=0);
76
- }
77
-
78
- /* Picture Card for Wall */
79
- @include m(picture-card) {
80
- @include set-css-var-value(('upload', 'picture-card', 'size'), 148px);
81
-
82
- background-color: getCssVar('fill-color', 'lighter');
83
- border: 1px dashed getCssVar('border-color', 'darker');
84
- border-radius: 6px;
85
- box-sizing: border-box;
86
- width: getCssVar('upload', 'picture-card', 'size');
87
- height: getCssVar('upload', 'picture-card', 'size');
88
- cursor: pointer;
89
- vertical-align: top;
90
-
91
- @include utils-inline-flex-center;
92
-
93
- > i {
94
- font-size: 28px;
95
- color: getCssVar('text-color', 'secondary');
96
- }
97
-
98
- &:hover {
99
- border-color: getCssVar('color-primary');
100
- color: getCssVar('color-primary');
101
- }
102
- }
103
-
104
- @include when(drag) {
105
- display: block;
106
- }
107
-
108
- &:focus {
109
- border-color: getCssVar('color-primary');
110
- color: getCssVar('color-primary');
111
-
112
- .#{$namespace}-upload-dragger {
113
- border-color: getCssVar('color-primary');
114
- }
115
- }
116
- }
117
-
118
- @include b(upload-dragger) {
119
- padding: getCssVar('upload-dragger-padding-horizontal')
120
- getCssVar('upload-dragger-padding-vertical');
121
- background-color: getCssVar('fill-color', 'blank');
122
- border: 1px dashed getCssVar('border-color');
123
- border-radius: 6px;
124
- box-sizing: border-box;
125
- text-align: center;
126
- cursor: pointer;
127
- position: relative;
128
- overflow: hidden;
129
-
130
- .#{bem('icon', '', 'upload')} {
131
- font-size: 67px;
132
- color: getCssVar('text-color', 'placeholder');
133
- margin-bottom: 16px;
134
- line-height: 50px;
135
- }
136
-
137
- + .#{bem('upload', 'tip')} {
138
- text-align: center;
139
- }
140
-
141
- ~ .#{bem('upload', 'files')} {
142
- border-top: getCssVar('border');
143
- margin-top: 7px;
144
- padding-top: 5px;
145
- }
146
-
147
- .#{bem('upload', 'text')} {
148
- color: getCssVar('text-color', 'regular');
149
- font-size: 14px;
150
- text-align: center;
151
-
152
- em {
153
- color: getCssVar('color-primary');
154
- font-style: normal;
155
- }
156
- }
157
-
158
- &:hover {
159
- border-color: getCssVar('color-primary');
160
- }
161
-
162
- @include when(dragover) {
163
- padding: calc(#{getCssVar('upload-dragger-padding-horizontal')} - 1px)
164
- calc(#{getCssVar('upload-dragger-padding-vertical')} - 1px);
165
- background-color: getCssVar('color', 'primary', 'light-9');
166
- border: 2px dashed getCssVar('color-primary');
167
- }
168
- }
169
-
170
- @include b(upload-list) {
171
- margin: 10px 0 0;
172
- padding: 0;
173
- list-style: none;
174
- position: relative;
175
-
176
- @include e(item) {
177
- transition: all 0.5s cubic-bezier(0.55, 0, 0.1, 1);
178
- font-size: 14px;
179
- color: getCssVar('text-color', 'regular');
180
- margin-bottom: 5px;
181
- position: relative;
182
- box-sizing: border-box;
183
- border-radius: 4px;
184
- width: 100%;
185
-
186
- .#{bem('progress')} {
187
- position: absolute;
188
- top: 20px;
189
- width: 100%;
190
- }
191
-
192
- .#{bem('progress', 'text')} {
193
- position: absolute;
194
- right: 0;
195
- top: -13px;
196
- }
197
-
198
- .#{bem('progress-bar')} {
199
- margin-right: 0;
200
- padding-right: 0;
201
- }
202
-
203
- & .#{bem('icon', '', 'upload-success')} {
204
- color: getCssVar('color-success');
205
- }
206
-
207
- .#{bem('icon', '', 'close')} {
208
- display: none;
209
- position: absolute;
210
- right: 5px;
211
- top: 50%;
212
- cursor: pointer;
213
- opacity: 0.75;
214
- color: getCssVar('text-color', 'regular');
215
- transition: opacity getCssVar('transition-duration');
216
- transform: translateY(-50%);
217
-
218
- &:hover {
219
- opacity: 1;
220
- color: getCssVar('color-primary');
221
- }
222
- }
223
-
224
- & .#{bem('icon', '', 'close-tip')} {
225
- display: none;
226
- position: absolute;
227
- top: 1px;
228
- right: 5px;
229
- font-size: 12px;
230
- cursor: pointer;
231
- opacity: 1;
232
- color: getCssVar('color-primary');
233
- font-style: normal;
234
- }
235
-
236
- &:hover {
237
- background-color: getCssVar('fill-color', 'light');
238
-
239
- .#{bem('icon', '', 'close')} {
240
- display: inline-flex;
241
- }
242
-
243
- .#{bem('progress', 'text')} {
244
- display: none;
245
- }
246
- }
247
-
248
- .#{bem('upload-list', 'item-info')} {
249
- display: inline-flex;
250
- justify-content: center;
251
- flex-direction: column;
252
- width: calc(100% - 30px);
253
- margin-left: 4px;
254
- }
255
-
256
- @include when(success) {
257
- .#{bem('upload-list', 'item-status-label')} {
258
- display: inline-flex;
259
- }
260
-
261
- .#{bem('upload-list', 'item-name')}:hover,
262
- .#{bem('upload-list', 'item-name')}:focus {
263
- color: getCssVar('color-primary');
264
- cursor: pointer;
265
- }
266
-
267
- &:focus:not(:hover) {
268
- /* 键盘focus */
269
- .#{bem('icon', '', 'close-tip')} {
270
- display: inline-block;
271
- }
272
- }
273
-
274
- &:not(.focusing):focus,
275
- &:active {
276
- /* click时 */
277
- outline-width: 0;
278
-
279
- .#{bem('icon', '', 'close-tip')} {
280
- display: none;
281
- }
282
- }
283
-
284
- &:hover,
285
- &:focus {
286
- .#{bem('upload-list', 'item-status-label')} {
287
- display: none;
288
- opacity: 0;
289
- }
290
- }
291
- }
292
- }
293
-
294
- @include e(item-name) {
295
- color: getCssVar('text-color', 'regular');
296
- display: inline-flex;
297
- text-align: center;
298
- align-items: center;
299
-
300
- padding: 0 4px;
301
-
302
- transition: color getCssVar('transition-duration');
303
- font-size: getCssVar('font-size', 'base');
304
-
305
- .#{$namespace}-icon {
306
- margin-right: 6px;
307
- color: getCssVar('text-color', 'secondary');
308
- }
309
- }
310
-
311
- @include e(item-file-name) {
312
- overflow: hidden;
313
- text-overflow: ellipsis;
314
- white-space: nowrap;
315
- }
316
-
317
- @include e(item-status-label) {
318
- position: absolute;
319
- right: 5px;
320
- top: 0;
321
- line-height: inherit;
322
- display: none;
323
-
324
- height: 100%;
325
- justify-content: center;
326
- align-items: center;
327
-
328
- transition: opacity getCssVar('transition-duration');
329
- }
330
-
331
- @include e(item-delete) {
332
- position: absolute;
333
- right: 10px;
334
- top: 0;
335
- font-size: 12px;
336
- color: getCssVar('text-color', 'regular');
337
- display: none;
338
-
339
- &:hover {
340
- color: getCssVar('color-primary');
341
- }
342
- }
343
-
344
- // upload-list
345
- @include m(picture-card) {
346
- @include set-css-var-value(('upload-list', 'picture-card', 'size'), 148px);
347
-
348
- display: inline-flex;
349
- flex-wrap: wrap;
350
- margin: 0;
351
-
352
- .#{bem('upload-list', 'item')} {
353
- overflow: hidden;
354
- background-color: getCssVar('fill-color', 'blank');
355
- border: 1px solid getCssVar('border-color');
356
- border-radius: 6px;
357
- box-sizing: border-box;
358
- width: getCssVar('upload-list', 'picture-card', 'size');
359
- height: getCssVar('upload-list', 'picture-card', 'size');
360
- margin: 0 8px 8px 0;
361
- padding: 0;
362
-
363
- display: inline-flex;
364
-
365
- .#{bem('icon', '' ,'check')},
366
- .#{bem('icon', '' ,'circle-check')} {
367
- color: $color-white;
368
- }
369
-
370
- .#{bem('icon', '', 'close')} {
371
- display: none;
372
- }
373
-
374
- &:hover {
375
- .#{bem('upload-list', 'item-status-label')} {
376
- opacity: 0;
377
- // for fade out
378
- display: block;
379
- }
380
-
381
- .#{$namespace}-progress__text {
382
- display: block;
383
- }
384
- }
385
- }
386
-
387
- .#{bem('upload-list', 'item')} {
388
- .#{bem('upload-list', 'item-name')} {
389
- display: none;
390
- }
391
- }
392
-
393
- .#{bem('upload-list', 'item-thumbnail')} {
394
- width: 100%;
395
- height: 100%;
396
- object-fit: contain;
397
- }
398
-
399
- .#{bem('upload-list', 'item-status-label')} {
400
- @include upload-success();
401
- }
402
-
403
- .#{bem('upload-list', 'item-actions')} {
404
- position: absolute;
405
- width: 100%;
406
- height: 100%;
407
- left: 0;
408
- top: 0;
409
- cursor: default;
410
-
411
- display: inline-flex;
412
- justify-content: center;
413
- align-items: center;
414
-
415
- color: #fff;
416
- opacity: 0;
417
- font-size: 20px;
418
- background-color: getCssVar('overlay-color', 'lighter');
419
- transition: opacity getCssVar('transition-duration');
420
-
421
- span {
422
- display: none;
423
- cursor: pointer;
424
- }
425
-
426
- span + span {
427
- margin-left: 16px;
428
- }
429
-
430
- .#{bem('upload-list', 'item-delete')} {
431
- position: static;
432
- font-size: inherit;
433
- color: inherit;
434
- }
435
-
436
- &:hover {
437
- opacity: 1;
438
-
439
- span {
440
- display: inline-flex;
441
- }
442
- }
443
- }
444
-
445
- .#{bem('progress')} {
446
- top: 50%;
447
- left: 50%;
448
- transform: translate(-50%, -50%);
449
- bottom: auto;
450
- width: 126px;
451
-
452
- .#{$namespace}-progress__text {
453
- top: 50%;
454
- }
455
- }
456
- }
457
-
458
- @include m(picture) {
459
- .#{bem('upload-list', 'item')} {
460
- overflow: hidden;
461
- z-index: 0;
462
- background-color: getCssVar('fill-color', 'blank');
463
- border: 1px solid getCssVar('border-color');
464
- border-radius: 6px;
465
- box-sizing: border-box;
466
- margin-top: 10px;
467
- padding: 10px;
468
- display: flex;
469
- align-items: center;
470
-
471
- .#{bem('icon', '' ,'check')},
472
- .#{bem('icon', '' ,'circle-check')} {
473
- color: $color-white;
474
- }
475
-
476
- &:hover {
477
- .#{bem('upload-list', 'item-status-label')} {
478
- opacity: 0;
479
- display: inline-flex;
480
- }
481
-
482
- .#{bem('progress', 'text')} {
483
- display: block;
484
- }
485
- }
486
-
487
- &.is-success {
488
- .#{bem('upload-list', 'item-name')} {
489
- i {
490
- display: none;
491
- }
492
- }
493
- }
494
-
495
- & .#{bem('icon', '' ,'close')} {
496
- top: 5px;
497
- transform: translateY(0);
498
- }
499
- }
500
-
501
- .#{bem('upload-list', 'item-thumbnail')} {
502
- $item-thumbnail-size: 70px;
503
-
504
- display: inline-flex;
505
- justify-content: center;
506
- align-items: center;
507
-
508
- width: $item-thumbnail-size;
509
- height: $item-thumbnail-size;
510
- object-fit: contain;
511
-
512
- position: relative;
513
- z-index: 1;
514
- background-color: getCssVar('color-white');
515
- }
516
-
517
- .#{bem('upload-list', 'item-status-label')} {
518
- position: absolute;
519
- right: -17px;
520
- top: -7px;
521
- width: 46px;
522
- height: 26px;
523
- background: getCssVar('color-success');
524
- text-align: center;
525
- transform: rotate(45deg);
526
-
527
- i {
528
- font-size: 12px;
529
- margin-top: 12px;
530
- transform: rotate(-45deg);
531
- }
532
- }
533
-
534
- .#{$namespace}-progress {
535
- position: relative;
536
- top: -7px;
537
- }
538
- }
539
- }
540
-
541
- @include b(upload-cover) {
542
- position: absolute;
543
- left: 0;
544
- top: 0;
545
- width: 100%;
546
- height: 100%;
547
- overflow: hidden;
548
- z-index: 10;
549
- cursor: default;
550
- @include utils-vertical-center;
551
-
552
- img {
553
- display: block;
554
- width: 100%;
555
- height: 100%;
556
- }
557
-
558
- @include e(label) {
559
- @include upload-success(#fff);
560
- }
561
-
562
- @include e(progress) {
563
- display: inline-block;
564
- vertical-align: middle;
565
- position: static;
566
- width: 243px;
567
-
568
- + .#{bem('upload', 'inner')} {
569
- opacity: 0;
570
- }
571
- }
572
-
573
- @include e(content) {
574
- position: absolute;
575
- top: 0;
576
- left: 0;
577
- width: 100%;
578
- height: 100%;
579
- }
580
-
581
- @include e(interact) {
582
- position: absolute;
583
- bottom: 0;
584
- left: 0;
585
- width: 100%;
586
- height: 100%;
587
- background-color: getCssVar('overlay-color', 'light');
588
- text-align: center;
589
-
590
- .btn {
591
- display: inline-block;
592
- color: $color-white;
593
- font-size: 14px;
594
- cursor: pointer;
595
- vertical-align: middle;
596
- transition: getCssVar('transition-md-fade');
597
- margin-top: 60px;
598
-
599
- i {
600
- margin-top: 0;
601
- }
602
-
603
- span {
604
- opacity: 0;
605
- transition: opacity 0.15s linear;
606
- }
607
-
608
- &:not(:first-child) {
609
- margin-left: 35px;
610
- }
611
-
612
- &:hover {
613
- transform: translateY(-13px);
614
-
615
- span {
616
- opacity: 1;
617
- }
618
- }
619
-
620
- i {
621
- color: $color-white;
622
- display: block;
623
- font-size: 24px;
624
- line-height: inherit;
625
- margin: 0 auto 5px;
626
- }
627
- }
628
- }
629
-
630
- @include e(title) {
631
- position: absolute;
632
- bottom: 0;
633
- left: 0;
634
- background-color: $color-white;
635
- height: 36px;
636
- width: 100%;
637
- overflow: hidden;
638
- text-overflow: ellipsis;
639
- white-space: nowrap;
640
- font-weight: normal;
641
- text-align: left;
642
- padding: 0 10px;
643
- margin: 0;
644
- line-height: 36px;
645
- font-size: 14px;
646
- color: getCssVar('text-color', 'primary');
647
- }
648
-
649
- + .#{bem('upload', 'inner')} {
650
- opacity: 0;
651
- position: relative;
652
- z-index: 1;
653
- }
654
- }
1
+ @use 'mixins/mixins' as *;
2
+ @use 'mixins/utils' as *;
3
+ @use 'common/var' as *;
4
+
5
+ @mixin upload-success($color: null) {
6
+ right: -15px;
7
+ top: -6px;
8
+ width: 40px;
9
+ height: 24px;
10
+ background: getCssVar('color-success');
11
+ text-align: center;
12
+ transform: rotate(45deg);
13
+
14
+ i {
15
+ font-size: 12px;
16
+ margin-top: 11px;
17
+ transform: rotate(-45deg);
18
+ color: $color;
19
+ }
20
+ }
21
+
22
+ @include b(upload) {
23
+ @include set-component-css-var('upload', $upload);
24
+ }
25
+
26
+ @include b(upload) {
27
+ @include utils-inline-flex-center;
28
+
29
+ cursor: pointer;
30
+ outline: none;
31
+
32
+ @include when(disabled) {
33
+ cursor: not-allowed;
34
+ &:focus {
35
+ border-color: getCssVar('border-color', 'darker');
36
+ color: inherit;
37
+ .#{$namespace}-upload-dragger {
38
+ border-color: getCssVar('border-color', 'darker');
39
+ }
40
+ }
41
+ .#{$namespace}-upload-dragger {
42
+ cursor: not-allowed;
43
+ background-color: getCssVar('disabled-bg-color');
44
+
45
+ .#{bem('upload', 'text')} {
46
+ color: getCssVar('text-color-placeholder');
47
+
48
+ em {
49
+ color: getCssVar('disabled-text-color');
50
+ }
51
+ }
52
+
53
+ &:hover {
54
+ border-color: getCssVar('border-color', 'darker');
55
+ }
56
+ }
57
+ }
58
+
59
+ @include e(input) {
60
+ display: none;
61
+ }
62
+
63
+ @include e(tip) {
64
+ font-size: 12px;
65
+ color: getCssVar('text-color', 'regular');
66
+ margin-top: 7px;
67
+ }
68
+
69
+ iframe {
70
+ position: absolute;
71
+ z-index: -1;
72
+ top: 0;
73
+ left: 0;
74
+ opacity: 0;
75
+ filter: alpha(opacity=0);
76
+ }
77
+
78
+ /* Picture Card for Wall */
79
+ @include m(picture-card) {
80
+ @include set-css-var-value(('upload', 'picture-card', 'size'), 148px);
81
+
82
+ background-color: getCssVar('fill-color', 'lighter');
83
+ border: 1px dashed getCssVar('border-color', 'darker');
84
+ border-radius: 6px;
85
+ box-sizing: border-box;
86
+ width: getCssVar('upload', 'picture-card', 'size');
87
+ height: getCssVar('upload', 'picture-card', 'size');
88
+ cursor: pointer;
89
+ vertical-align: top;
90
+
91
+ @include utils-inline-flex-center;
92
+
93
+ > i {
94
+ font-size: 28px;
95
+ color: getCssVar('text-color', 'secondary');
96
+ }
97
+
98
+ &:hover {
99
+ border-color: getCssVar('color-primary');
100
+ color: getCssVar('color-primary');
101
+ }
102
+ }
103
+
104
+ @include when(drag) {
105
+ display: block;
106
+ }
107
+
108
+ &:focus {
109
+ border-color: getCssVar('color-primary');
110
+ color: getCssVar('color-primary');
111
+
112
+ .#{$namespace}-upload-dragger {
113
+ border-color: getCssVar('color-primary');
114
+ }
115
+ }
116
+ }
117
+
118
+ @include b(upload-dragger) {
119
+ padding: getCssVar('upload-dragger-padding-horizontal')
120
+ getCssVar('upload-dragger-padding-vertical');
121
+ background-color: getCssVar('fill-color', 'blank');
122
+ border: 1px dashed getCssVar('border-color');
123
+ border-radius: 6px;
124
+ box-sizing: border-box;
125
+ text-align: center;
126
+ cursor: pointer;
127
+ position: relative;
128
+ overflow: hidden;
129
+
130
+ .#{bem('icon', '', 'upload')} {
131
+ font-size: 67px;
132
+ color: getCssVar('text-color', 'placeholder');
133
+ margin-bottom: 16px;
134
+ line-height: 50px;
135
+ }
136
+
137
+ + .#{bem('upload', 'tip')} {
138
+ text-align: center;
139
+ }
140
+
141
+ ~ .#{bem('upload', 'files')} {
142
+ border-top: getCssVar('border');
143
+ margin-top: 7px;
144
+ padding-top: 5px;
145
+ }
146
+
147
+ .#{bem('upload', 'text')} {
148
+ color: getCssVar('text-color', 'regular');
149
+ font-size: 14px;
150
+ text-align: center;
151
+
152
+ em {
153
+ color: getCssVar('color-primary');
154
+ font-style: normal;
155
+ }
156
+ }
157
+
158
+ &:hover {
159
+ border-color: getCssVar('color-primary');
160
+ }
161
+
162
+ @include when(dragover) {
163
+ padding: calc(#{getCssVar('upload-dragger-padding-horizontal')} - 1px)
164
+ calc(#{getCssVar('upload-dragger-padding-vertical')} - 1px);
165
+ background-color: getCssVar('color', 'primary', 'light-9');
166
+ border: 2px dashed getCssVar('color-primary');
167
+ }
168
+ }
169
+
170
+ @include b(upload-list) {
171
+ margin: 10px 0 0;
172
+ padding: 0;
173
+ list-style: none;
174
+ position: relative;
175
+
176
+ @include e(item) {
177
+ transition: all 0.5s cubic-bezier(0.55, 0, 0.1, 1);
178
+ font-size: 14px;
179
+ color: getCssVar('text-color', 'regular');
180
+ margin-bottom: 5px;
181
+ position: relative;
182
+ box-sizing: border-box;
183
+ border-radius: 4px;
184
+ width: 100%;
185
+
186
+ .#{bem('progress')} {
187
+ position: absolute;
188
+ top: 20px;
189
+ width: 100%;
190
+ }
191
+
192
+ .#{bem('progress', 'text')} {
193
+ position: absolute;
194
+ right: 0;
195
+ top: -13px;
196
+ }
197
+
198
+ .#{bem('progress-bar')} {
199
+ margin-right: 0;
200
+ padding-right: 0;
201
+ }
202
+
203
+ & .#{bem('icon', '', 'upload-success')} {
204
+ color: getCssVar('color-success');
205
+ }
206
+
207
+ .#{bem('icon', '', 'close')} {
208
+ display: none;
209
+ position: absolute;
210
+ right: 5px;
211
+ top: 50%;
212
+ cursor: pointer;
213
+ opacity: 0.75;
214
+ color: getCssVar('text-color', 'regular');
215
+ transition: opacity getCssVar('transition-duration');
216
+ transform: translateY(-50%);
217
+
218
+ &:hover {
219
+ opacity: 1;
220
+ color: getCssVar('color-primary');
221
+ }
222
+ }
223
+
224
+ & .#{bem('icon', '', 'close-tip')} {
225
+ display: none;
226
+ position: absolute;
227
+ top: 1px;
228
+ right: 5px;
229
+ font-size: 12px;
230
+ cursor: pointer;
231
+ opacity: 1;
232
+ color: getCssVar('color-primary');
233
+ font-style: normal;
234
+ }
235
+
236
+ &:hover {
237
+ background-color: getCssVar('fill-color', 'light');
238
+
239
+ .#{bem('icon', '', 'close')} {
240
+ display: inline-flex;
241
+ }
242
+
243
+ .#{bem('progress', 'text')} {
244
+ display: none;
245
+ }
246
+ }
247
+
248
+ .#{bem('upload-list', 'item-info')} {
249
+ display: inline-flex;
250
+ justify-content: center;
251
+ flex-direction: column;
252
+ width: calc(100% - 30px);
253
+ margin-left: 4px;
254
+ }
255
+
256
+ @include when(success) {
257
+ .#{bem('upload-list', 'item-status-label')} {
258
+ display: inline-flex;
259
+ }
260
+
261
+ .#{bem('upload-list', 'item-name')}:hover,
262
+ .#{bem('upload-list', 'item-name')}:focus {
263
+ color: getCssVar('color-primary');
264
+ cursor: pointer;
265
+ }
266
+
267
+ &:focus:not(:hover) {
268
+ /* 键盘focus */
269
+ .#{bem('icon', '', 'close-tip')} {
270
+ display: inline-block;
271
+ }
272
+ }
273
+
274
+ &:not(.focusing):focus,
275
+ &:active {
276
+ /* click时 */
277
+ outline-width: 0;
278
+
279
+ .#{bem('icon', '', 'close-tip')} {
280
+ display: none;
281
+ }
282
+ }
283
+
284
+ &:hover,
285
+ &:focus {
286
+ .#{bem('upload-list', 'item-status-label')} {
287
+ display: none;
288
+ opacity: 0;
289
+ }
290
+ }
291
+ }
292
+ }
293
+
294
+ @include e(item-name) {
295
+ color: getCssVar('text-color', 'regular');
296
+ display: inline-flex;
297
+ text-align: center;
298
+ align-items: center;
299
+
300
+ padding: 0 4px;
301
+
302
+ transition: color getCssVar('transition-duration');
303
+ font-size: getCssVar('font-size', 'base');
304
+
305
+ .#{$namespace}-icon {
306
+ margin-right: 6px;
307
+ color: getCssVar('text-color', 'secondary');
308
+ }
309
+ }
310
+
311
+ @include e(item-file-name) {
312
+ overflow: hidden;
313
+ text-overflow: ellipsis;
314
+ white-space: nowrap;
315
+ }
316
+
317
+ @include e(item-status-label) {
318
+ position: absolute;
319
+ right: 5px;
320
+ top: 0;
321
+ line-height: inherit;
322
+ display: none;
323
+
324
+ height: 100%;
325
+ justify-content: center;
326
+ align-items: center;
327
+
328
+ transition: opacity getCssVar('transition-duration');
329
+ }
330
+
331
+ @include e(item-delete) {
332
+ position: absolute;
333
+ right: 10px;
334
+ top: 0;
335
+ font-size: 12px;
336
+ color: getCssVar('text-color', 'regular');
337
+ display: none;
338
+
339
+ &:hover {
340
+ color: getCssVar('color-primary');
341
+ }
342
+ }
343
+
344
+ // upload-list
345
+ @include m(picture-card) {
346
+ @include set-css-var-value(('upload-list', 'picture-card', 'size'), 148px);
347
+
348
+ display: inline-flex;
349
+ flex-wrap: wrap;
350
+ margin: 0;
351
+
352
+ .#{bem('upload-list', 'item')} {
353
+ overflow: hidden;
354
+ background-color: getCssVar('fill-color', 'blank');
355
+ border: 1px solid getCssVar('border-color');
356
+ border-radius: 6px;
357
+ box-sizing: border-box;
358
+ width: getCssVar('upload-list', 'picture-card', 'size');
359
+ height: getCssVar('upload-list', 'picture-card', 'size');
360
+ margin: 0 8px 8px 0;
361
+ padding: 0;
362
+
363
+ display: inline-flex;
364
+
365
+ .#{bem('icon', '' ,'check')},
366
+ .#{bem('icon', '' ,'circle-check')} {
367
+ color: $color-white;
368
+ }
369
+
370
+ .#{bem('icon', '', 'close')} {
371
+ display: none;
372
+ }
373
+
374
+ &:hover {
375
+ .#{bem('upload-list', 'item-status-label')} {
376
+ opacity: 0;
377
+ // for fade out
378
+ display: block;
379
+ }
380
+
381
+ .#{$namespace}-progress__text {
382
+ display: block;
383
+ }
384
+ }
385
+ }
386
+
387
+ .#{bem('upload-list', 'item')} {
388
+ .#{bem('upload-list', 'item-name')} {
389
+ display: none;
390
+ }
391
+ }
392
+
393
+ .#{bem('upload-list', 'item-thumbnail')} {
394
+ width: 100%;
395
+ height: 100%;
396
+ object-fit: contain;
397
+ }
398
+
399
+ .#{bem('upload-list', 'item-status-label')} {
400
+ @include upload-success();
401
+ }
402
+
403
+ .#{bem('upload-list', 'item-actions')} {
404
+ position: absolute;
405
+ width: 100%;
406
+ height: 100%;
407
+ left: 0;
408
+ top: 0;
409
+ cursor: default;
410
+
411
+ display: inline-flex;
412
+ justify-content: center;
413
+ align-items: center;
414
+
415
+ color: #fff;
416
+ opacity: 0;
417
+ font-size: 20px;
418
+ background-color: getCssVar('overlay-color', 'lighter');
419
+ transition: opacity getCssVar('transition-duration');
420
+
421
+ span {
422
+ display: none;
423
+ cursor: pointer;
424
+ }
425
+
426
+ span + span {
427
+ margin-left: 16px;
428
+ }
429
+
430
+ .#{bem('upload-list', 'item-delete')} {
431
+ position: static;
432
+ font-size: inherit;
433
+ color: inherit;
434
+ }
435
+
436
+ &:hover {
437
+ opacity: 1;
438
+
439
+ span {
440
+ display: inline-flex;
441
+ }
442
+ }
443
+ }
444
+
445
+ .#{bem('progress')} {
446
+ top: 50%;
447
+ left: 50%;
448
+ transform: translate(-50%, -50%);
449
+ bottom: auto;
450
+ width: 126px;
451
+
452
+ .#{$namespace}-progress__text {
453
+ top: 50%;
454
+ }
455
+ }
456
+ }
457
+
458
+ @include m(picture) {
459
+ .#{bem('upload-list', 'item')} {
460
+ overflow: hidden;
461
+ z-index: 0;
462
+ background-color: getCssVar('fill-color', 'blank');
463
+ border: 1px solid getCssVar('border-color');
464
+ border-radius: 6px;
465
+ box-sizing: border-box;
466
+ margin-top: 10px;
467
+ padding: 10px;
468
+ display: flex;
469
+ align-items: center;
470
+
471
+ .#{bem('icon', '' ,'check')},
472
+ .#{bem('icon', '' ,'circle-check')} {
473
+ color: $color-white;
474
+ }
475
+
476
+ &:hover {
477
+ .#{bem('upload-list', 'item-status-label')} {
478
+ opacity: 0;
479
+ display: inline-flex;
480
+ }
481
+
482
+ .#{bem('progress', 'text')} {
483
+ display: block;
484
+ }
485
+ }
486
+
487
+ &.is-success {
488
+ .#{bem('upload-list', 'item-name')} {
489
+ i {
490
+ display: none;
491
+ }
492
+ }
493
+ }
494
+
495
+ & .#{bem('icon', '' ,'close')} {
496
+ top: 5px;
497
+ transform: translateY(0);
498
+ }
499
+ }
500
+
501
+ .#{bem('upload-list', 'item-thumbnail')} {
502
+ $item-thumbnail-size: 70px;
503
+
504
+ display: inline-flex;
505
+ justify-content: center;
506
+ align-items: center;
507
+
508
+ width: $item-thumbnail-size;
509
+ height: $item-thumbnail-size;
510
+ object-fit: contain;
511
+
512
+ position: relative;
513
+ z-index: 1;
514
+ background-color: getCssVar('color-white');
515
+ }
516
+
517
+ .#{bem('upload-list', 'item-status-label')} {
518
+ position: absolute;
519
+ right: -17px;
520
+ top: -7px;
521
+ width: 46px;
522
+ height: 26px;
523
+ background: getCssVar('color-success');
524
+ text-align: center;
525
+ transform: rotate(45deg);
526
+
527
+ i {
528
+ font-size: 12px;
529
+ margin-top: 12px;
530
+ transform: rotate(-45deg);
531
+ }
532
+ }
533
+
534
+ .#{$namespace}-progress {
535
+ position: relative;
536
+ top: -7px;
537
+ }
538
+ }
539
+ }
540
+
541
+ @include b(upload-cover) {
542
+ position: absolute;
543
+ left: 0;
544
+ top: 0;
545
+ width: 100%;
546
+ height: 100%;
547
+ overflow: hidden;
548
+ z-index: 10;
549
+ cursor: default;
550
+ @include utils-vertical-center;
551
+
552
+ img {
553
+ display: block;
554
+ width: 100%;
555
+ height: 100%;
556
+ }
557
+
558
+ @include e(label) {
559
+ @include upload-success(#fff);
560
+ }
561
+
562
+ @include e(progress) {
563
+ display: inline-block;
564
+ vertical-align: middle;
565
+ position: static;
566
+ width: 243px;
567
+
568
+ + .#{bem('upload', 'inner')} {
569
+ opacity: 0;
570
+ }
571
+ }
572
+
573
+ @include e(content) {
574
+ position: absolute;
575
+ top: 0;
576
+ left: 0;
577
+ width: 100%;
578
+ height: 100%;
579
+ }
580
+
581
+ @include e(interact) {
582
+ position: absolute;
583
+ bottom: 0;
584
+ left: 0;
585
+ width: 100%;
586
+ height: 100%;
587
+ background-color: getCssVar('overlay-color', 'light');
588
+ text-align: center;
589
+
590
+ .btn {
591
+ display: inline-block;
592
+ color: $color-white;
593
+ font-size: 14px;
594
+ cursor: pointer;
595
+ vertical-align: middle;
596
+ transition: getCssVar('transition-md-fade');
597
+ margin-top: 60px;
598
+
599
+ i {
600
+ margin-top: 0;
601
+ }
602
+
603
+ span {
604
+ opacity: 0;
605
+ transition: opacity 0.15s linear;
606
+ }
607
+
608
+ &:not(:first-child) {
609
+ margin-left: 35px;
610
+ }
611
+
612
+ &:hover {
613
+ transform: translateY(-13px);
614
+
615
+ span {
616
+ opacity: 1;
617
+ }
618
+ }
619
+
620
+ i {
621
+ color: $color-white;
622
+ display: block;
623
+ font-size: 24px;
624
+ line-height: inherit;
625
+ margin: 0 auto 5px;
626
+ }
627
+ }
628
+ }
629
+
630
+ @include e(title) {
631
+ position: absolute;
632
+ bottom: 0;
633
+ left: 0;
634
+ background-color: $color-white;
635
+ height: 36px;
636
+ width: 100%;
637
+ overflow: hidden;
638
+ text-overflow: ellipsis;
639
+ white-space: nowrap;
640
+ font-weight: normal;
641
+ text-align: left;
642
+ padding: 0 10px;
643
+ margin: 0;
644
+ line-height: 36px;
645
+ font-size: 14px;
646
+ color: getCssVar('text-color', 'primary');
647
+ }
648
+
649
+ + .#{bem('upload', 'inner')} {
650
+ opacity: 0;
651
+ position: relative;
652
+ z-index: 1;
653
+ }
654
+ }