UNPKG

@saberlayer/vue-file-uploader

Version:

A file uploader component for Vue 2.x and Vue 3.x

1 lines 4.77 kB
{"version":3,"sources":["FileUploader.vue%3Fvue&type=style&index=0&id=39ca3b3a&lang.css"],"names":[],"mappings":"AACA,mBACE,4FACF,CACA,kBAUE,kBAAmB,CAJnB,kBAAmB,CAFnB,yBAA0B,CAC1B,iBAAkB,CAElB,cAAe,CAEf,YAAa,CAEb,sBAAuB,CARvB,gBAAiB,CAFjB,iBAAkB,CAOlB,kBAAoB,CANpB,UAUF,CACA,wBAEE,kBAAmB,CADnB,oBAEF,CACA,sBAGE,kBAAmB,CAKnB,UAAW,CAPX,YAAa,CACb,qBAAsB,CAGtB,WAAY,CADZ,sBAAuB,CAEvB,gBAAiB,CACjB,YAEF,CACA,eAEE,aAAc,CADd,cAAe,CAEf,iBACF,CACA,eAEE,UAAW,CADX,cAEF,CACA,eACE,eACF,CACA,eAGE,kBAAmB,CAGnB,eAAgB,CAChB,wBAAyB,CACzB,iBAAkB,CANlB,YAAa,CAGb,iBAAkB,CADlB,YAAa,CAHb,iBAAkB,CAQlB,kBACF,CACA,qBACE,kBACF,CACA,WAGE,kBAAmB,CADnB,YAAa,CADb,MAAO,CAGP,OAAQ,CACR,WACF,CACA,WAGE,UAAW,CAFX,MAAO,CACP,cAAe,CAGf,eAAgB,CAChB,sBAAuB,CAFvB,kBAGF,CACA,WAEE,UAAW,CADX,cAAe,CAEf,kBACF,CACA,aAKE,kBAAmB,CACnB,iBAAkB,CAHlB,UAAW,CACX,aAAc,CAGd,eAAgB,CANhB,iBAAkB,CAClB,WAMF,CACA,cAKE,kBAAmB,CADnB,WAAY,CAFZ,MAAO,CADP,iBAAkB,CAElB,KAAM,CAGN,yBACF,CACA,SAOE,aACF,CACA,gBAPE,kBAAmB,CADnB,YAAa,CAKb,cAAe,CADf,WAAY,CAFZ,sBAAuB,CACvB,UAaF,CARA,OAOE,aACF,CACA,YAIE,sBAAuB,CACvB,WAAY,CAFZ,UAAW,CAGX,cAAe,CAJf,cAAe,CADf,eAAgB,CAMhB,kBACF,CACA,kBACE,aACF,CAGA,2BAEE,kBAAmB,CADnB,oBAEF,CAGA,2BAEE,kBAAmB,CACnB,oBAAqB,CAFrB,kBAAmB,CAGnB,UACF,CACA,6BACE,mBACF,CAGA,uBAEE,kBAAmB,CADnB,YAAa,CAEb,gBACF,CACA,6BACE,cACF,CACA,kCAEE,iCAAkC,CADlC,aAEF,CACA,gCACE,aACF,CACA,8BACE,aACF,CACA,gBACA,GACI,sBACJ,CACA,GACI,uBACJ,CACA","file":"vue-file-uploader.css","sourcesContent":["\n.vue-file-uploader {\r\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n}\n.uploader-trigger {\r\n position: relative;\r\n width: 100%;\r\n min-height: 120px;\r\n border: 2px dashed #d9d9d9;\r\n border-radius: 8px;\r\n background: #fafafa;\r\n cursor: pointer;\r\n transition: all 0.3s;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\n}\n.uploader-trigger:hover {\r\n border-color: #1890ff;\r\n background: #f0f7ff;\n}\n.uploader-placeholder {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n height: 100%;\r\n min-height: 120px;\r\n padding: 16px;\r\n color: #666;\n}\n.uploader-icon {\r\n font-size: 28px;\r\n color: #40a9ff;\r\n margin-bottom: 8px;\n}\n.uploader-text {\r\n font-size: 14px;\r\n color: #666;\n}\n.uploader-list {\r\n margin-top: 16px;\n}\n.uploader-file {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n padding: 12px;\r\n margin-bottom: 8px;\r\n background: #fff;\r\n border: 1px solid #f0f0f0;\r\n border-radius: 4px;\r\n transition: all 0.3s;\n}\n.uploader-file:hover {\r\n background: #f9f9f9;\n}\n.file-info {\r\n flex: 1;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n min-width: 0;\n}\n.file-name {\r\n flex: 1;\r\n font-size: 14px;\r\n color: #333;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.file-size {\r\n font-size: 12px;\r\n color: #999;\r\n white-space: nowrap;\n}\n.file-status {\r\n position: relative;\r\n width: 120px;\r\n height: 4px;\r\n margin: 0 16px;\r\n background: #f0f0f0;\r\n border-radius: 2px;\r\n overflow: hidden;\n}\n.progress-bar {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n height: 100%;\r\n background: #1890ff;\r\n transition: width 0.3s ease;\n}\n.success {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 20px;\r\n height: 20px;\r\n font-size: 12px;\r\n color: #52c41a;\n}\n.error {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 20px;\r\n height: 20px;\r\n font-size: 12px;\r\n color: #ff4d4f;\n}\n.delete-btn {\r\n padding: 4px 8px;\r\n font-size: 12px;\r\n color: #666;\r\n background: transparent;\r\n border: none;\r\n cursor: pointer;\r\n transition: all 0.3s;\n}\n.delete-btn:hover {\r\n color: #ff4d4f;\n}\r\n\r\n/* 拖拽状态样式 */\n.uploader-trigger.dragging {\r\n border-color: #1890ff;\r\n background: #f0f7ff;\n}\r\n\r\n/* 禁用状态样式 */\n.uploader-trigger.disabled {\r\n cursor: not-allowed;\r\n background: #f5f5f5;\r\n border-color: #d9d9d9;\r\n opacity: 0.7;\n}\n.uploader-trigger.disabled * {\r\n pointer-events: none;\n}\r\n\r\n/* 文件状态指示器 */\n.file-status-indicator {\r\n display: flex;\r\n align-items: center;\r\n margin-right: 8px;\n}\n.file-status-indicator .icon {\r\n font-size: 16px;\n}\n.file-status-indicator .uploading {\r\n color: #1890ff;\r\n animation: spin 1s linear infinite;\n}\n.file-status-indicator .success {\r\n color: #52c41a;\n}\n.file-status-indicator .error {\r\n color: #ff4d4f;\n}\n@keyframes spin {\nfrom {\r\n transform: rotate(0deg);\n}\nto {\r\n transform: rotate(360deg);\n}\n}\r\n"]}