vuetify
Version:
Vue Material Component Framework
96 lines • 2.2 kB
CSS
@layer vuetify-components {
.v-file-upload .v-input__control {
flex-direction: column;
}
.v-file-upload-dropzone {
padding: 64px 16px;
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
}
.v-file-upload-dropzone.v-sheet {
display: flex;
border-radius: 4px;
border-style: dashed;
border-width: 2px;
}
.v-file-upload-dropzone.v-file-upload-dropzone--density-compact {
padding: 32px 0;
flex-direction: row;
gap: 1rem;
}
.v-file-upload-dropzone .v-overlay__scrim {
pointer-events: none;
}
.v-file-upload-dropzone--disabled {
pointer-events: none;
opacity: var(--v-disabled-opacity);
}
.v-file-upload-dropzone--dragging > * {
pointer-events: none;
}
.v-file-upload-dropzone--clickable {
cursor: pointer;
}
.v-file-upload-dropzone--has-files:not(.v-file-upload-dropzone--clickable) {
cursor: default;
}
.v-file-upload-dropzone--error.v-sheet {
border-color: rgb(var(--v-theme-error));
}
.v-file-upload-dropzone--inset {
padding: 16px;
}
.v-file-upload-dropzone input[type=file] {
left: 0;
opacity: 0;
position: absolute;
cursor: pointer;
top: 0;
z-index: -1;
}
.v-file-upload-title {
font-size: 1.5rem;
font-weight: 600;
text-align: center;
}
.v-file-upload-icon {
opacity: var(--v-medium-emphasis-opacity);
font-size: 3rem;
margin-bottom: 1rem;
}
.v-file-upload-dropzone--density-comfortable .v-file-upload-icon {
font-size: 2.5rem;
margin-bottom: 0.5rem;
}
.v-file-upload-dropzone--density-compact .v-file-upload-icon {
font-size: 2rem;
margin-bottom: 0rem;
}
.v-file-upload-divider {
align-items: center;
display: flex;
margin: 32px 0;
justify-content: center;
width: 100%;
}
.v-file-upload-divider .v-divider__wrapper {
max-width: 100%;
}
.v-file-upload-inset {
width: 100%;
}
.v-file-upload-inset__action {
display: flex;
justify-content: center;
width: 100%;
padding: 8px 0;
}
.v-file-upload-list {
margin: 16px 0;
}
.v-file-upload-item:not(:first-child) {
margin-top: 8px;
}
}