|
- import {createTheme} from "@mui/material";
-
- export const PNSPS_BUTTON_THEME = createTheme({
- palette: {
- create: {
- main: '#57B962',
- // light: will be calculated from palette.primary.main,
- // dark: will be calculated from palette.primary.main,
- // contrastText: will be calculated to contrast with palette.primary.main
- contrastText: '#FFFFFF',
- },
- delete: {
- main: '#E03C04',
- contrastText: '#FFFFFF',
-
- },
- cancel: {
- main: '#999999',
- contrastText: '#FFFFFF',
-
- },
- save:{
- main: '#448DF2',
- contrastText: '#FFFFFF',
- },
- export:{
- main: '#8C52FF',
- contrastText: '#FFFFFF',
- },
- saveAs:{
- main: '#FFBD59',
- contrastText: '#FFFFFF',
- },
- edit:{
- main: '#F3AF2B',
- contrastText: '#FFFFFF',
- },
- error:{
- main: '#F3AF2B',
- contrastText: '#FFFFFF',
- },
- exportExcel:{
- main: '#6A8B9E',
- contrastText: '#FFFFFF',
- },
- success:{
- main: '#448DF2',
- contrastText: '#FFFFFF',
- },
- green:{
- main: '#4ac234',
- contrastText: '#FFFFFF',
- },
- orange: {
- main: '#ed9740',
- light: '#ff5e5e',
- dark: '#b0671e',
- contrastText: '#fff',
- },
- },
- components: {
- MuiDataGrid: {
- styleOverrides: {
- actionsCell: {
- '& .MuiDataGrid-actionsContainer .MuiIconButton-root': {
- fontSize: '80px', // Set the desired icon size here
- },
- },
- },
- },
- MuiButton: {
- defaultProps: {
- disableRipple: true,
- },
- styleOverrides: {
- /* -----------------------------
- Icon alignment
- ------------------------------ */
- startIcon: {
- display: 'flex',
- alignItems: 'center',
- justifyContent: 'center',
- '& > *:nth-of-type(1)': { fontSize: '28px' },
- },
-
- /* -----------------------------
- Base button styles
- ------------------------------ */
- root: {
- fontSize: '1.2rem',
- fontWeight: '600',
- height: '45px',
- minWidth: '35vw',
- '@media (min-width: 600px)': { minWidth: '20vw' },
- '@media (min-width: 960px)': { minWidth: '15vw' },
- '@media (min-width: 1280px)': { minWidth: '9vw' },
- textTransform: 'none',
- alignItems: 'normal',
- '&:active': {
- boxShadow: 'none',
- transform: 'none',
- },
- },
-
- /* -----------------------------
- Remove default contained elevation / blue focus
- ------------------------------ */
- contained: ({ theme, ownerState }) => ({
- boxShadow: 'none',
- '&:hover': { boxShadow: 'none' },
- '&:active': {
- backgroundColor: theme.palette[ownerState.color]?.main ?? theme.palette.primary.main,
- boxShadow: 'none',
- },
- '&.Mui-focusVisible': { boxShadow: 'none' },
- }),
-
- /* -----------------------------
- RESET / CANCEL (contained + cancel)
- WCAG 2.1 AA compliant
- ------------------------------ */
- containedCancel: {
- backgroundColor: '#616161', // dark grey (passes with white text)
- color: '#FFFFFF',
-
- border: '0 !important',
- outline: 'none',
- boxShadow: 'none !important',
-
- '&:hover': {
- backgroundColor: '#545454',
- boxShadow: 'none !important',
- },
-
- '&:active': {
- backgroundColor: '#616161',
- boxShadow: 'none !important',
- },
-
- /* ✅ Keyboard TAB focus (visible & accessible) */
- '&.Mui-focusVisible': {
- boxShadow: '0 0 0 3px rgba(255,255,255,0.6) !important',
- },
- },
-
- /* -----------------------------
- Optional: outlined cancel variant
- ------------------------------ */
- outlinedCancel: {
- borderColor: '#616161',
- color: '#424242',
-
- '&:hover': {
- borderColor: '#616161',
- backgroundColor: 'transparent',
- },
-
- '&:active': {
- backgroundColor: 'transparent',
- },
-
- '&.Mui-focusVisible': {
- boxShadow: '0 0 0 3px rgba(66,66,66,0.4)',
- },
- },
-
- outlined: {
- '&:active': {
- backgroundColor: 'transparent',
- },
- },
- },
- },
- }
- });
-
- export const PNSPS_LONG_BUTTON_THEME = createTheme({
- palette: {
- create: {
- main: '#57B962',
- // light: will be calculated from palette.primary.main,
- // dark: will be calculated from palette.primary.main,
- // contrastText: will be calculated to contrast with palette.primary.main
- contrastText: '#FFFFFF',
- },
- delete: {
- main: '#E03C04',
- contrastText: '#FFFFFF',
-
- },
- cancel: {
- main: '#999999',
- contrastText: '#FFFFFF',
-
- },
- save:{
- main: '#448DF2',
- contrastText: '#FFFFFF',
- },
- export:{
- main: '#8C52FF',
- contrastText: '#FFFFFF',
- },
- saveAs:{
- main: '#FFBD59',
- contrastText: '#FFFFFF',
- },
- edit:{
- main: '#ffa733',
- contrastText: '#FFFFFF',
- },
- exportExcel:{
- main: '#60667E',
- contrastText: '#FFFFFF',
- },
- success:{
- main: '#3f50b5',
- contrastText: '#FFFFFF',
- },
- orange: {
- main: '#ed9740',
- light: '#ff5e5e',
- dark: '#b0671e',
- contrastText: '#fff',
- },
- },
- components: {
- MuiDataGrid: {
- styleOverrides: {
- actionsCell: {
- '& .MuiDataGrid-actionsContainer .MuiIconButton-root': {
- fontSize: '80px', // Set the desired icon size here
- },
- },
- },
- },
- MuiButton: {
- defaultProps: {
- disableRipple: true,
- },
- styleOverrides: {
- startIcon:{
- display: 'flex',
- alignItems: 'center',
- justifyContent: 'center',
- '& > *:nth-of-type(1)': {
- fontSize: '28px',
- },
- },
- root: {
- fontSize: '1.2rem',
- fontWeight: '600',
- height: '45px',
- minWidth: '60vw', // Default width for xs screen sizes
- '@media (min-width: 600px)': { // sm breakpoint
- minWidth: '33vw',
- },
- '@media (min-width: 960px)': { // md breakpoint
- minWidth: '25vw',
- },
- '@media (min-width: 1280px)': { // lg breakpoint
- minWidth: '16vw',
- },
- textTransform: "none",
- alignItems: 'normal',
- '&:active': {
- boxShadow: 'none',
- transform: 'none',
- },
- },
- contained: ({ theme, ownerState }) => ({
- boxShadow: 'none',
- '&:hover': { boxShadow: 'none' },
- '&:active': {
- backgroundColor: theme.palette[ownerState.color]?.main ?? theme.palette.primary.main,
- boxShadow: 'none',
- },
- '&.Mui-focusVisible': { boxShadow: 'none' },
- }),
- outlined: {
- '&:active': {
- backgroundColor: 'transparent',
- },
- },
- },
- },
- }
- });
|