83 lines
1.9 KiB
JavaScript
83 lines
1.9 KiB
JavaScript
import BaseStyle from 'primevue/base/style';
|
|
|
|
const css = `
|
|
@layer primevue {
|
|
.p-fileupload-content {
|
|
position: relative;
|
|
}
|
|
|
|
.p-fileupload-content .p-progressbar {
|
|
width: 100%;
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
|
|
.p-button.p-fileupload-choose {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.p-fileupload-buttonbar {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.p-fileupload > input[type='file'],
|
|
.p-fileupload-basic input[type='file'] {
|
|
display: none;
|
|
}
|
|
|
|
.p-fluid .p-fileupload .p-button {
|
|
width: auto;
|
|
}
|
|
|
|
.p-fileupload-file {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
}
|
|
|
|
.p-fileupload-file-thumbnail {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.p-fileupload-file-actions {
|
|
margin-left: auto;
|
|
}
|
|
}
|
|
`;
|
|
|
|
const classes = {
|
|
root: ({ props }) => [`p-fileupload p-fileupload-${props.mode} p-component`],
|
|
buttonbar: 'p-fileupload-buttonbar',
|
|
chooseButton: ({ instance, props }) => [
|
|
'p-button p-component p-fileupload-choose',
|
|
{
|
|
'p-fileupload-choose-selected': props.mode === 'basic' && instance.hasFiles,
|
|
'p-disabled': props.disabled,
|
|
'p-focus': instance.focused
|
|
}
|
|
],
|
|
chooseIcon: 'p-button-icon p-button-icon-left',
|
|
chooseButtonLabel: 'p-button-label',
|
|
content: 'p-fileupload-content',
|
|
empty: 'p-fileupload-empty',
|
|
uploadIcon: 'p-button-icon p-button-icon-left',
|
|
label: 'p-button-label',
|
|
file: 'p-fileupload-file',
|
|
thumbnail: 'p-fileupload-file-thumbnail',
|
|
details: 'p-fileupload-file-details',
|
|
fileName: 'p-fileupload-file-name',
|
|
fileSize: 'p-fileupload-file-size',
|
|
badge: 'p-fileupload-file-badge',
|
|
actions: 'p-fileupload-file-actions',
|
|
removeButton: 'p-fileupload-file-remove'
|
|
};
|
|
|
|
export default BaseStyle.extend({
|
|
name: 'fileupload',
|
|
css,
|
|
classes
|
|
});
|