P8-Panels/app/theme/variants/p8p_text_field_variants.js

64 lines
1.8 KiB
JavaScript

/*
Парус 8 - Панели мониторинга
Расширение стилистики TextField
*/
//----------------
//Интерфейс модуля
//----------------
//Кастомные поля ввода
export const P8P_TEXT_FIELDS = theme => ({
primary: {},
P8PPrimary: {
"& .MuiInputLabel-root": {
...theme.typography.P8PInputLabel
},
"& .MuiOutlinedInput-notchedOutline": {
"& legend": {
fontFamily: theme.typography.P8PFontMontserrat
}
},
"& .MuiInputBase-input": {
...theme.typography.P8PBody1
}
},
P8PHidden: {
width: "100%",
height: "0px",
opacity: 0,
position: "absolute",
pointerEvents: "none"
}
});
//Кастомные списки выбора
export const P8P_TEXT_FIELD_OPTIONS = theme => ({
primary: {},
P8PPrimary: { ...theme.typography.P8PBody1 }
});
//Наименование кастомных полей ввода
export const P8P_TEXT_FIELD_VARIANT = {
PRIMARY: "P8PPrimary",
HIDDEN: "P8PHidden"
};
//Кастомная стилистика компонента
export const P8P_TEXT_FIELD_OVERRIDES = {
styleOverrides: {
root: ({ ownerState, theme }) => {
//Определяем вариант
const variant = ownerState["data-variant"] || "primary";
//Возвращаем стили варианта
return P8P_TEXT_FIELDS(theme)[variant];
},
option: ({ ownerState, theme }) => {
//Определяем вариант
const variant = ownerState["data-variant"] || "primary";
//Возвращаем стили варианта
return P8P_TEXT_FIELD_OPTIONS(theme)[variant];
}
}
};