primevue-mirror/components/lib/floatlabel/style/FloatLabelStyle.js

68 lines
1.5 KiB
JavaScript
Raw Normal View History

2024-01-30 08:01:40 +00:00
import BaseStyle from 'primevue/base/style';
const theme = ({ dt }) => `
.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;
left: 0.75rem;
color: ${dt('floatlabel.color')};
2024-05-14 22:53:19 +00:00
transition-duration: ${dt('floatlabel.transition.duration')};
}
.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;
color: ${dt('floatlabel.focus.color')};
}
.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;
}
.p-float-label > .p-invalid + label {
color: ${dt('floatlabel.invalid.color')};
}
`;
2024-01-30 08:01:40 +00:00
const classes = {
root: 'p-float-label'
};
export default BaseStyle.extend({
name: 'floatlabel',
theme,
2024-01-30 08:01:40 +00:00
classes
});