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

57 lines
1.7 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
}
}
});
//Кастомные списки выбора
export const P8P_TEXT_FIELD_OPTIONS = theme => ({
primary: {},
P8PPrimary: { ...theme.typography.P8PBody1 }
});
//Наименование кастомных полей ввода
export const P8P_TEXT_FIELD_VARIANT = {
PRIMARY: "P8PPrimary"
};
//Кастомная стилистика компонента
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";
console.log({ option: P8P_TEXT_FIELD_OPTIONS(theme)[variant] });
//Возвращаем стили варианта
return P8P_TEXT_FIELD_OPTIONS(theme)[variant];
}
}
};