60 lines
1.3 KiB
JavaScript
60 lines
1.3 KiB
JavaScript
|
import BaseStyle from 'primevue/base/style';
|
||
|
|
||
|
const css = `
|
||
|
.p-float-label {
|
||
|
display: block;
|
||
|
position: relative;
|
||
|
}
|
||
|
|
||
|
.p-float-label label {
|
||
|
position: absolute;
|
||
|
pointer-events: none;
|
||
|
top: 50%;
|
||
|
margin-top: -.5rem;
|
||
|
transition-property: all;
|
||
|
transition-timing-function: ease;
|
||
|
line-height: 1;
|
||
|
}
|
||
|
|
||
|
.p-float-label:has(textarea) label {
|
||
|
top: 1rem;
|
||
|
}
|
||
|
|
||
|
.p-float-label:has(input:focus) label,
|
||
|
.p-float-label:has(input.p-filled) label,
|
||
|
.p-float-label:has(input:-webkit-autofill) label,
|
||
|
.p-float-label:has(textarea:focus) label,
|
||
|
.p-float-label:has(textarea.p-filled) label,
|
||
|
.p-float-label:has(.p-inputwrapper-focus) label,
|
||
|
.p-float-label:has(.p-inputwrapper-filled) label {
|
||
|
top: -.75rem;
|
||
|
font-size: 12px;
|
||
|
}
|
||
|
|
||
|
.p-float-label .p-placeholder,
|
||
|
.p-float-label input::placeholder,
|
||
|
.p-float-label .p-inputtext::placeholder {
|
||
|
opacity: 0;
|
||
|
transition-property: all;
|
||
|
transition-timing-function: ease;
|
||
|
}
|
||
|
|
||
|
.p-float-label .p-focus .p-placeholder,
|
||
|
.p-float-label input:focus::placeholder,
|
||
|
.p-float-label .p-inputtext:focus::placeholder {
|
||
|
opacity: 1;
|
||
|
transition-property: all;
|
||
|
transition-timing-function: ease;
|
||
|
}
|
||
|
`;
|
||
|
|
||
|
const classes = {
|
||
|
root: 'p-float-label'
|
||
|
};
|
||
|
|
||
|
export default BaseStyle.extend({
|
||
|
name: 'floatlabel',
|
||
|
css,
|
||
|
classes
|
||
|
});
|