@omnitron-dev/prism 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blocks/index.js +49 -9
- package/dist/blocks/index.js.map +1 -1
- package/dist/chunk-2FYNRDXR.js +192 -0
- package/dist/chunk-2FYNRDXR.js.map +1 -0
- package/dist/chunk-A2Z7NVGL.js +11496 -0
- package/dist/chunk-A2Z7NVGL.js.map +1 -0
- package/dist/{chunk-E3XANPTO.js → chunk-IZOIO7PA.js} +5 -191
- package/dist/{chunk-E3XANPTO.js.map → chunk-IZOIO7PA.js.map} +1 -1
- package/dist/{chunk-LAEY5USO.js → chunk-KTCWPGON.js} +55 -25
- package/dist/chunk-KTCWPGON.js.map +1 -0
- package/dist/{chunk-DXXZ3ITR.js → chunk-MEFT6XPH.js} +721 -455
- package/dist/chunk-MEFT6XPH.js.map +1 -0
- package/dist/{chunk-BTIT7WYH.js → chunk-SNKGGHBT.js} +2 -2
- package/dist/chunk-SNKGGHBT.js.map +1 -0
- package/dist/{chunk-UR6X3W5I.js → chunk-VAAIHNWQ.js} +3 -3
- package/dist/{chunk-UR6X3W5I.js.map → chunk-VAAIHNWQ.js.map} +1 -1
- package/dist/{chunk-GYDT5EKX.js → chunk-XQXGE2PW.js} +760 -472
- package/dist/chunk-XQXGE2PW.js.map +1 -0
- package/dist/{chunk-WC2WM2JD.js → chunk-XXP3ZGU6.js} +18 -8
- package/dist/chunk-XXP3ZGU6.js.map +1 -0
- package/dist/chunk-YJMAQL3S.js +1887 -0
- package/dist/chunk-YJMAQL3S.js.map +1 -0
- package/dist/cli/index.js +4 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/components/editor/index.d.ts +107 -0
- package/dist/components/editor/index.js +4 -0
- package/dist/components/editor/index.js.map +1 -0
- package/dist/components/index.css +131 -0
- package/dist/components/index.css.map +1 -0
- package/dist/components/index.d.ts +7073 -0
- package/dist/components/index.js +13 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components-BCGZ-Rwt.d.ts +142 -0
- package/dist/{config-BA6IeTq9.d.ts → config-Pct0n_Kq.d.ts} +2 -2
- package/dist/core/index.d.ts +20 -5
- package/dist/core/index.js +2 -2
- package/dist/hooks/index.d.ts +3 -2
- package/dist/hooks/index.js +4 -3
- package/dist/{index-odhPSv9I.d.ts → index-nmJ8Muwg.d.ts} +4 -127
- package/dist/index.d.ts +265 -6615
- package/dist/index.js +119 -11662
- package/dist/index.js.map +1 -1
- package/dist/layouts/index.js +1 -1
- package/dist/popover-Dmw7SJLR.d.ts +127 -0
- package/dist/registry/index.d.ts +2 -2
- package/dist/{registry-BrDNftd5.d.ts → registry-DQcIzW2s.d.ts} +2 -2
- package/dist/{settings-plpR26Xk.d.ts → settings-CAC0qFjS.d.ts} +2 -2
- package/dist/state/index.d.ts +2 -2
- package/dist/state/index.js +1 -1
- package/dist/text-transform-D6MzzF7V.d.ts +165 -0
- package/dist/theme/index.d.ts +2 -2
- package/dist/theme/index.js +2 -2
- package/dist/{theme-CrXLfP1c.d.ts → theme-B4Q3Bg5o.d.ts} +1 -1
- package/dist/types/index.d.ts +6 -145
- package/package.json +46 -40
- package/dist/chunk-BTIT7WYH.js.map +0 -1
- package/dist/chunk-DXXZ3ITR.js.map +0 -1
- package/dist/chunk-GYDT5EKX.js.map +0 -1
- package/dist/chunk-LAEY5USO.js.map +0 -1
- package/dist/chunk-WC2WM2JD.js.map +0 -1
|
@@ -2,8 +2,6 @@ import { buttonClasses } from '@mui/material/Button';
|
|
|
2
2
|
import { iconButtonClasses } from '@mui/material/IconButton';
|
|
3
3
|
import { accordionClasses } from '@mui/material/Accordion';
|
|
4
4
|
import { accordionSummaryClasses } from '@mui/material/AccordionSummary';
|
|
5
|
-
import { autocompleteClasses } from '@mui/material/Autocomplete';
|
|
6
|
-
import SvgIcon, { svgIconClasses } from '@mui/material/SvgIcon';
|
|
7
5
|
import { tableRowClasses } from '@mui/material/TableRow';
|
|
8
6
|
import { tableCellClasses } from '@mui/material/TableCell';
|
|
9
7
|
import { stepIconClasses } from '@mui/material/StepIcon';
|
|
@@ -16,12 +14,14 @@ import { outlinedInputClasses } from '@mui/material/OutlinedInput';
|
|
|
16
14
|
import { filledInputClasses } from '@mui/material/FilledInput';
|
|
17
15
|
import { inputAdornmentClasses } from '@mui/material/InputAdornment';
|
|
18
16
|
import { inputLabelClasses } from '@mui/material/InputLabel';
|
|
17
|
+
import SvgIcon, { svgIconClasses } from '@mui/material/SvgIcon';
|
|
19
18
|
import { checkboxClasses } from '@mui/material/Checkbox';
|
|
20
19
|
import { radioClasses } from '@mui/material/Radio';
|
|
21
20
|
import { switchClasses } from '@mui/material/Switch';
|
|
22
21
|
import { formLabelClasses } from '@mui/material/FormLabel';
|
|
23
22
|
import { jsx } from 'react/jsx-runtime';
|
|
24
23
|
import { tabClasses } from '@mui/material/Tab';
|
|
24
|
+
import { autocompleteClasses } from '@mui/material/Autocomplete';
|
|
25
25
|
import { createTheme, responsiveFontSizes } from '@mui/material/styles';
|
|
26
26
|
import * as locales from '@mui/material/locale';
|
|
27
27
|
|
|
@@ -601,6 +601,20 @@ function getGreyChannel(theme, shade = "500") {
|
|
|
601
601
|
};
|
|
602
602
|
return vars?.[channelKey] ?? fallbacks[shade];
|
|
603
603
|
}
|
|
604
|
+
function paletteVar(theme, path) {
|
|
605
|
+
const segments = path.split(".");
|
|
606
|
+
const fromVars = theme.vars?.palette ?? void 0;
|
|
607
|
+
const fromFallback = theme.palette;
|
|
608
|
+
const walk = (obj) => segments.reduce(
|
|
609
|
+
(acc, key) => acc && typeof acc === "object" ? acc[key] : void 0,
|
|
610
|
+
obj
|
|
611
|
+
);
|
|
612
|
+
const fromVarsVal = walk(fromVars);
|
|
613
|
+
if (typeof fromVarsVal === "string") return fromVarsVal;
|
|
614
|
+
const fromFallbackVal = walk(fromFallback);
|
|
615
|
+
if (typeof fromFallbackVal === "string") return fromFallbackVal;
|
|
616
|
+
return "";
|
|
617
|
+
}
|
|
604
618
|
function getColorChannel(theme, color) {
|
|
605
619
|
const vars = theme.vars?.palette[color];
|
|
606
620
|
const fallbacks = {
|
|
@@ -771,7 +785,20 @@ function createButtonOverrides(config) {
|
|
|
771
785
|
...shapeVariants,
|
|
772
786
|
...outlinedNeutralVariants,
|
|
773
787
|
...sizeVariants,
|
|
774
|
-
...disabledVariants
|
|
788
|
+
...disabledVariants,
|
|
789
|
+
// MUI v9 replacement for the removed `outlinedSize*` slots.
|
|
790
|
+
{
|
|
791
|
+
props: { variant: "outlined", size: "large" },
|
|
792
|
+
style: { paddingTop: 9 * dm, paddingBottom: 9 * dm }
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
props: { variant: "outlined", size: "medium" },
|
|
796
|
+
style: { paddingTop: 7 * dm, paddingBottom: 7 * dm }
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
props: { variant: "outlined", size: "small" },
|
|
800
|
+
style: { paddingTop: 5 * dm, paddingBottom: 5 * dm }
|
|
801
|
+
}
|
|
775
802
|
]
|
|
776
803
|
},
|
|
777
804
|
sizeLarge: {
|
|
@@ -784,18 +811,9 @@ function createButtonOverrides(config) {
|
|
|
784
811
|
fontSize: "13px",
|
|
785
812
|
lineHeight: 1.286
|
|
786
813
|
},
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
},
|
|
791
|
-
outlinedSizeMedium: {
|
|
792
|
-
paddingTop: 7 * dm,
|
|
793
|
-
paddingBottom: 7 * dm
|
|
794
|
-
},
|
|
795
|
-
outlinedSizeSmall: {
|
|
796
|
-
paddingTop: 5 * dm,
|
|
797
|
-
paddingBottom: 5 * dm
|
|
798
|
-
},
|
|
814
|
+
// outlinedSize* class slots were removed in MUI v9 in favour
|
|
815
|
+
// of the `variants` array on the component override. See
|
|
816
|
+
// https://mui.com/material-ui/migration/upgrade-to-v9/.
|
|
799
817
|
startIcon: {
|
|
800
818
|
marginRight: 4,
|
|
801
819
|
[`& > *:first-of-type`]: {
|
|
@@ -1268,17 +1286,21 @@ function createChipOverrides(config) {
|
|
|
1268
1286
|
height: 32 * densityMultiplier
|
|
1269
1287
|
},
|
|
1270
1288
|
label: {
|
|
1271
|
-
fontWeight: 500
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1289
|
+
fontWeight: 500,
|
|
1290
|
+
// MUI v9: size-scoped label rules moved from `labelSmall`/
|
|
1291
|
+
// `labelMedium` slots to nested selectors. The class names
|
|
1292
|
+
// themselves still ship (and styles still apply), only the
|
|
1293
|
+
// top-level `styleOverrides.labelSmall` slot was removed.
|
|
1294
|
+
"&.MuiChip-labelSmall": {
|
|
1295
|
+
fontSize: "0.75rem",
|
|
1296
|
+
paddingLeft: 8,
|
|
1297
|
+
paddingRight: 8
|
|
1298
|
+
},
|
|
1299
|
+
"&.MuiChip-labelMedium": {
|
|
1300
|
+
fontSize: "0.8125rem",
|
|
1301
|
+
paddingLeft: 12,
|
|
1302
|
+
paddingRight: 12
|
|
1303
|
+
}
|
|
1282
1304
|
},
|
|
1283
1305
|
icon: {
|
|
1284
1306
|
fontSize: 18,
|
|
@@ -1301,13 +1323,20 @@ var INPUT_TYPOGRAPHY = {
|
|
|
1301
1323
|
lineHeight: 24
|
|
1302
1324
|
};
|
|
1303
1325
|
var INPUT_PADDING = {
|
|
1326
|
+
base: {
|
|
1327
|
+
small: { paddingTop: 0, paddingBottom: 4 },
|
|
1328
|
+
medium: { paddingTop: 4, paddingBottom: 4 }
|
|
1329
|
+
},
|
|
1304
1330
|
outlined: {
|
|
1305
1331
|
small: { paddingTop: 8, paddingBottom: 8 },
|
|
1306
1332
|
medium: { paddingTop: 16, paddingBottom: 16 }
|
|
1307
1333
|
},
|
|
1308
1334
|
filled: {
|
|
1309
1335
|
small: { paddingTop: 20 },
|
|
1310
|
-
medium: { paddingTop: 24 }
|
|
1336
|
+
medium: { paddingTop: 24 },
|
|
1337
|
+
smallHidden: { paddingTop: 8, paddingBottom: 8 },
|
|
1338
|
+
mediumHidden: { paddingTop: 16, paddingBottom: 16 }
|
|
1339
|
+
}
|
|
1311
1340
|
};
|
|
1312
1341
|
function getInputTypography(theme, keys) {
|
|
1313
1342
|
const { fontSize, lineHeight } = INPUT_TYPOGRAPHY;
|
|
@@ -1330,81 +1359,210 @@ function getErrorChannel(theme) {
|
|
|
1330
1359
|
const vars = theme.vars?.palette.error;
|
|
1331
1360
|
return vars?.mainChannel ?? "208 34 65";
|
|
1332
1361
|
}
|
|
1362
|
+
var multilineInputVariants = [
|
|
1363
|
+
{
|
|
1364
|
+
props: (props) => !!props.multiline,
|
|
1365
|
+
style: { padding: 0 }
|
|
1366
|
+
}
|
|
1367
|
+
];
|
|
1368
|
+
var inputBaseStyles = {
|
|
1369
|
+
root: (theme) => ({
|
|
1370
|
+
"--disabled-color": theme.vars?.palette.action.disabled || theme.palette.action.disabled,
|
|
1371
|
+
...getInputTypography(theme, ["lineHeight"]),
|
|
1372
|
+
[`&.${inputBaseClasses.disabled}`]: {
|
|
1373
|
+
[`& .${inputAdornmentClasses.root} *`]: { color: "var(--disabled-color)" }
|
|
1374
|
+
}
|
|
1375
|
+
}),
|
|
1376
|
+
input: (theme) => ({
|
|
1377
|
+
...getInputTypography(theme, ["fontSize", "height", "lineHeight"]),
|
|
1378
|
+
"&:focus": { borderRadius: "inherit" },
|
|
1379
|
+
"&::placeholder": {
|
|
1380
|
+
color: theme.vars?.palette.text.disabled || theme.palette.text.disabled,
|
|
1381
|
+
opacity: 1
|
|
1382
|
+
}
|
|
1383
|
+
})
|
|
1384
|
+
};
|
|
1385
|
+
var inputBaseVariants = {
|
|
1386
|
+
// Root-side multiline padding (single-line keeps the inner one).
|
|
1387
|
+
// Mirrors the outlined/filled root variants so a bare InputBase
|
|
1388
|
+
// (no decorator variant) still renders consistent multiline
|
|
1389
|
+
// padding even when consumers swap variants.
|
|
1390
|
+
root: [
|
|
1391
|
+
{
|
|
1392
|
+
props: (props) => !!props.multiline,
|
|
1393
|
+
style: { ...INPUT_PADDING.base.medium }
|
|
1394
|
+
},
|
|
1395
|
+
{
|
|
1396
|
+
props: (props) => !!props.multiline && props.size === "small",
|
|
1397
|
+
style: { ...INPUT_PADDING.base.small }
|
|
1398
|
+
}
|
|
1399
|
+
],
|
|
1400
|
+
input: [
|
|
1401
|
+
{
|
|
1402
|
+
props: {},
|
|
1403
|
+
style: { ...INPUT_PADDING.base.medium }
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
props: (props) => props.size === "small",
|
|
1407
|
+
style: { ...INPUT_PADDING.base.small }
|
|
1408
|
+
}
|
|
1409
|
+
]
|
|
1410
|
+
};
|
|
1333
1411
|
function createInputBaseOverrides(_config) {
|
|
1334
1412
|
return {
|
|
1335
1413
|
styleOverrides: {
|
|
1336
1414
|
root: ({ theme }) => ({
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
[`&.${inputBaseClasses.disabled}`]: {
|
|
1340
|
-
[`& .${inputAdornmentClasses.root} *`]: { color: "var(--disabled-color)" }
|
|
1341
|
-
}
|
|
1415
|
+
...inputBaseStyles.root(theme),
|
|
1416
|
+
variants: inputBaseVariants.root
|
|
1342
1417
|
}),
|
|
1343
1418
|
input: ({ theme }) => ({
|
|
1344
|
-
...
|
|
1345
|
-
|
|
1346
|
-
"&::placeholder": {
|
|
1347
|
-
color: theme.vars?.palette.text.disabled || theme.palette.text.disabled,
|
|
1348
|
-
opacity: 1
|
|
1349
|
-
}
|
|
1419
|
+
...inputBaseStyles.input(theme),
|
|
1420
|
+
variants: [...inputBaseVariants.input, ...multilineInputVariants]
|
|
1350
1421
|
})
|
|
1351
1422
|
}
|
|
1352
1423
|
};
|
|
1353
1424
|
}
|
|
1425
|
+
var inputStyles = {
|
|
1426
|
+
root: (theme) => ({
|
|
1427
|
+
"&::before": {
|
|
1428
|
+
borderBottomColor: varAlpha(getGreyChannel(theme), 0.2)
|
|
1429
|
+
},
|
|
1430
|
+
"&::after": {
|
|
1431
|
+
borderBottomColor: theme.vars?.palette.text.primary || theme.palette.text.primary
|
|
1432
|
+
}
|
|
1433
|
+
})
|
|
1434
|
+
};
|
|
1354
1435
|
function createInputOverrides(_config) {
|
|
1355
1436
|
return {
|
|
1356
1437
|
styleOverrides: {
|
|
1357
|
-
root: ({ theme }) => (
|
|
1358
|
-
"&::before": {
|
|
1359
|
-
borderBottomColor: varAlpha(getGreyChannel(theme), 0.2)
|
|
1360
|
-
},
|
|
1361
|
-
"&::after": {
|
|
1362
|
-
borderBottomColor: theme.vars?.palette.text.primary || theme.palette.text.primary
|
|
1363
|
-
}
|
|
1364
|
-
})
|
|
1438
|
+
root: ({ theme }) => inputStyles.root(theme)
|
|
1365
1439
|
}
|
|
1366
1440
|
};
|
|
1367
1441
|
}
|
|
1442
|
+
var outlinedInputStyles = {
|
|
1443
|
+
root: (theme, borderRadius) => ({
|
|
1444
|
+
borderRadius,
|
|
1445
|
+
[`&.${outlinedInputClasses.focused}:not(.${outlinedInputClasses.error})`]: {
|
|
1446
|
+
[`& .${outlinedInputClasses.notchedOutline}`]: {
|
|
1447
|
+
borderColor: theme.vars?.palette.text.primary || theme.palette.text.primary
|
|
1448
|
+
}
|
|
1449
|
+
},
|
|
1450
|
+
[`&.${outlinedInputClasses.disabled}`]: {
|
|
1451
|
+
[`& .${outlinedInputClasses.notchedOutline}`]: {
|
|
1452
|
+
borderColor: theme.vars?.palette.action.disabledBackground || theme.palette.action.disabledBackground
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
}),
|
|
1456
|
+
notchedOutline: (theme) => ({
|
|
1457
|
+
borderColor: varAlpha(getGreyChannel(theme), 0.2),
|
|
1458
|
+
transition: theme.transitions.create(["border-color"], {
|
|
1459
|
+
duration: theme.transitions.duration.shortest
|
|
1460
|
+
}),
|
|
1461
|
+
// Align fieldset font-size with InputLabel (14px) so the legend
|
|
1462
|
+
// notch width (0.75em) matches the visually-scaled label exactly.
|
|
1463
|
+
fontSize: theme.typography.pxToRem(14),
|
|
1464
|
+
"& legend > span": { paddingInline: 3 }
|
|
1465
|
+
})
|
|
1466
|
+
};
|
|
1467
|
+
var outlinedInputVariants = {
|
|
1468
|
+
root: [
|
|
1469
|
+
{
|
|
1470
|
+
props: (props) => !!props.multiline,
|
|
1471
|
+
style: { ...INPUT_PADDING.outlined.medium }
|
|
1472
|
+
},
|
|
1473
|
+
{
|
|
1474
|
+
props: (props) => !!props.multiline && props.size === "small",
|
|
1475
|
+
style: { ...INPUT_PADDING.outlined.small }
|
|
1476
|
+
}
|
|
1477
|
+
],
|
|
1478
|
+
input: [
|
|
1479
|
+
{
|
|
1480
|
+
props: {},
|
|
1481
|
+
style: { ...INPUT_PADDING.outlined.medium }
|
|
1482
|
+
},
|
|
1483
|
+
{
|
|
1484
|
+
props: (props) => props.size === "small",
|
|
1485
|
+
style: { ...INPUT_PADDING.outlined.small }
|
|
1486
|
+
}
|
|
1487
|
+
]
|
|
1488
|
+
};
|
|
1368
1489
|
function createOutlinedInputOverrides(config) {
|
|
1369
1490
|
const { borderRadius } = config;
|
|
1370
1491
|
return {
|
|
1371
1492
|
styleOverrides: {
|
|
1372
1493
|
root: ({ theme }) => ({
|
|
1373
|
-
borderRadius,
|
|
1374
|
-
|
|
1375
|
-
[`& .${outlinedInputClasses.notchedOutline}`]: {
|
|
1376
|
-
borderColor: theme.vars?.palette.text.primary || theme.palette.text.primary
|
|
1377
|
-
}
|
|
1378
|
-
},
|
|
1379
|
-
[`&.${outlinedInputClasses.disabled}`]: {
|
|
1380
|
-
[`& .${outlinedInputClasses.notchedOutline}`]: {
|
|
1381
|
-
borderColor: theme.vars?.palette.action.disabledBackground || theme.palette.action.disabledBackground
|
|
1382
|
-
}
|
|
1383
|
-
}
|
|
1494
|
+
...outlinedInputStyles.root(theme, borderRadius),
|
|
1495
|
+
variants: outlinedInputVariants.root
|
|
1384
1496
|
}),
|
|
1385
1497
|
input: {
|
|
1386
|
-
...
|
|
1387
|
-
"&.MuiInputBase-inputSizeSmall": {
|
|
1388
|
-
...INPUT_PADDING.outlined.small
|
|
1389
|
-
},
|
|
1390
|
-
"&.MuiInputBase-inputMultiline": {
|
|
1391
|
-
paddingTop: 0,
|
|
1392
|
-
paddingBottom: 0
|
|
1393
|
-
}
|
|
1498
|
+
variants: [...outlinedInputVariants.input, ...multilineInputVariants]
|
|
1394
1499
|
},
|
|
1395
|
-
notchedOutline: ({ theme }) => (
|
|
1396
|
-
borderColor: varAlpha(getGreyChannel(theme), 0.2),
|
|
1397
|
-
transition: theme.transitions.create(["border-color"], {
|
|
1398
|
-
duration: theme.transitions.duration.shortest
|
|
1399
|
-
}),
|
|
1400
|
-
// Align fieldset font-size with InputLabel (14px) so the legend
|
|
1401
|
-
// notch width (0.75em) matches the visually-scaled label exactly.
|
|
1402
|
-
fontSize: theme.typography.pxToRem(14),
|
|
1403
|
-
"& legend > span": { paddingInline: 3 }
|
|
1404
|
-
})
|
|
1500
|
+
notchedOutline: ({ theme }) => outlinedInputStyles.notchedOutline(theme)
|
|
1405
1501
|
}
|
|
1406
1502
|
};
|
|
1407
1503
|
}
|
|
1504
|
+
var filledInputStyles = {
|
|
1505
|
+
root: (theme, borderRadius) => {
|
|
1506
|
+
const greyChannel = getGreyChannel(theme);
|
|
1507
|
+
const errChannel = getErrorChannel(theme);
|
|
1508
|
+
const baseBg = varAlpha(greyChannel, 0.08);
|
|
1509
|
+
const hoverBg = varAlpha(greyChannel, 0.16);
|
|
1510
|
+
const errorBg = varAlpha(errChannel, 0.08);
|
|
1511
|
+
const errorHoverBg = varAlpha(errChannel, 0.16);
|
|
1512
|
+
const disabledBg = theme.vars?.palette.action.disabledBackground || theme.palette.action.disabledBackground;
|
|
1513
|
+
return {
|
|
1514
|
+
backgroundColor: baseBg,
|
|
1515
|
+
borderRadius,
|
|
1516
|
+
[`&:hover, &.${filledInputClasses.focused}`]: { backgroundColor: hoverBg },
|
|
1517
|
+
[`&.${filledInputClasses.error}`]: {
|
|
1518
|
+
backgroundColor: errorBg,
|
|
1519
|
+
[`&:hover, &.${filledInputClasses.focused}`]: { backgroundColor: errorHoverBg }
|
|
1520
|
+
},
|
|
1521
|
+
[`&.${filledInputClasses.disabled}`]: { backgroundColor: disabledBg }
|
|
1522
|
+
};
|
|
1523
|
+
}
|
|
1524
|
+
};
|
|
1525
|
+
var filledInputVariants = {
|
|
1526
|
+
// FilledInput has an extra dimension: `hiddenLabel`. When the
|
|
1527
|
+
// label is hidden, the visible inset shrinks because there's no
|
|
1528
|
+
// label to clear, so a separate padding set applies.
|
|
1529
|
+
root: [
|
|
1530
|
+
{
|
|
1531
|
+
props: (props) => !!props.multiline,
|
|
1532
|
+
style: { ...INPUT_PADDING.filled.medium }
|
|
1533
|
+
},
|
|
1534
|
+
{
|
|
1535
|
+
props: (props) => !!props.multiline && props.size === "small",
|
|
1536
|
+
style: { ...INPUT_PADDING.filled.small }
|
|
1537
|
+
},
|
|
1538
|
+
{
|
|
1539
|
+
props: (props) => !!props.multiline && !!props.hiddenLabel,
|
|
1540
|
+
style: { ...INPUT_PADDING.filled.mediumHidden }
|
|
1541
|
+
},
|
|
1542
|
+
{
|
|
1543
|
+
props: (props) => !!props.multiline && !!props.hiddenLabel && props.size === "small",
|
|
1544
|
+
style: { ...INPUT_PADDING.filled.smallHidden }
|
|
1545
|
+
}
|
|
1546
|
+
],
|
|
1547
|
+
input: [
|
|
1548
|
+
{
|
|
1549
|
+
props: {},
|
|
1550
|
+
style: { ...INPUT_PADDING.filled.medium }
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
props: (props) => props.size === "small",
|
|
1554
|
+
style: { ...INPUT_PADDING.filled.small }
|
|
1555
|
+
},
|
|
1556
|
+
{
|
|
1557
|
+
props: (props) => !!props.hiddenLabel,
|
|
1558
|
+
style: { ...INPUT_PADDING.filled.mediumHidden }
|
|
1559
|
+
},
|
|
1560
|
+
{
|
|
1561
|
+
props: (props) => !!props.hiddenLabel && props.size === "small",
|
|
1562
|
+
style: { ...INPUT_PADDING.filled.smallHidden }
|
|
1563
|
+
}
|
|
1564
|
+
]
|
|
1565
|
+
};
|
|
1408
1566
|
function createFilledInputOverrides(config) {
|
|
1409
1567
|
const { borderRadius } = config;
|
|
1410
1568
|
return {
|
|
@@ -1412,34 +1570,12 @@ function createFilledInputOverrides(config) {
|
|
|
1412
1570
|
disableUnderline: true
|
|
1413
1571
|
},
|
|
1414
1572
|
styleOverrides: {
|
|
1415
|
-
root: ({ theme }) => {
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
const hoverBg = varAlpha(greyChannel, 0.16);
|
|
1420
|
-
const errorBg = varAlpha(errChannel, 0.08);
|
|
1421
|
-
const errorHoverBg = varAlpha(errChannel, 0.16);
|
|
1422
|
-
const disabledBg = theme.vars?.palette.action.disabledBackground || theme.palette.action.disabledBackground;
|
|
1423
|
-
return {
|
|
1424
|
-
backgroundColor: baseBg,
|
|
1425
|
-
borderRadius,
|
|
1426
|
-
[`&:hover, &.${filledInputClasses.focused}`]: { backgroundColor: hoverBg },
|
|
1427
|
-
[`&.${filledInputClasses.error}`]: {
|
|
1428
|
-
backgroundColor: errorBg,
|
|
1429
|
-
[`&:hover, &.${filledInputClasses.focused}`]: { backgroundColor: errorHoverBg }
|
|
1430
|
-
},
|
|
1431
|
-
[`&.${filledInputClasses.disabled}`]: { backgroundColor: disabledBg }
|
|
1432
|
-
};
|
|
1433
|
-
},
|
|
1573
|
+
root: ({ theme }) => ({
|
|
1574
|
+
...filledInputStyles.root(theme, borderRadius),
|
|
1575
|
+
variants: filledInputVariants.root
|
|
1576
|
+
}),
|
|
1434
1577
|
input: {
|
|
1435
|
-
...
|
|
1436
|
-
"&.MuiInputBase-inputSizeSmall": {
|
|
1437
|
-
...INPUT_PADDING.filled.small
|
|
1438
|
-
},
|
|
1439
|
-
"&.MuiInputBase-inputMultiline": {
|
|
1440
|
-
paddingTop: 0,
|
|
1441
|
-
paddingBottom: 0
|
|
1442
|
-
}
|
|
1578
|
+
variants: [...filledInputVariants.input, ...multilineInputVariants]
|
|
1443
1579
|
}
|
|
1444
1580
|
}
|
|
1445
1581
|
};
|
|
@@ -1801,129 +1937,81 @@ function createTabOverrides(config) {
|
|
|
1801
1937
|
};
|
|
1802
1938
|
}
|
|
1803
1939
|
|
|
1804
|
-
// src/theme/components/
|
|
1805
|
-
function
|
|
1940
|
+
// src/theme/components/Dialog.ts
|
|
1941
|
+
function createDialogOverrides(config) {
|
|
1806
1942
|
const { density, borderRadius } = config;
|
|
1807
1943
|
const dm = getDensityMultiplier(density);
|
|
1808
1944
|
return {
|
|
1809
|
-
|
|
1810
|
-
// BUTTONS (Modular)
|
|
1811
|
-
// =========================================================================
|
|
1812
|
-
MuiButton: createButtonOverrides(config),
|
|
1813
|
-
MuiButtonBase: createButtonBaseOverrides(),
|
|
1814
|
-
MuiButtonGroup: createButtonGroupOverrides(config),
|
|
1815
|
-
// =========================================================================
|
|
1816
|
-
// ICON BUTTON
|
|
1817
|
-
// =========================================================================
|
|
1818
|
-
MuiIconButton: {
|
|
1945
|
+
MuiDialog: {
|
|
1819
1946
|
styleOverrides: {
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1947
|
+
paper: ({ theme }) => ({
|
|
1948
|
+
boxShadow: `0 24px 48px -12px rgba(${getGreyChannel(theme, "900")} / 0.24)`,
|
|
1949
|
+
variants: [
|
|
1950
|
+
// Mobile-first: any dialog (non-fullScreen included) goes
|
|
1951
|
+
// edge-to-edge on < sm. MUI's `maxWidth`/`fullWidth` props
|
|
1952
|
+
// attach their own paper-sizing rules at the same
|
|
1953
|
+
// specificity tier — encoding the rule as a `variants`
|
|
1954
|
+
// entry lets MUI's styled engine compose it without the
|
|
1955
|
+
// !important pile that the old descendant override used.
|
|
1956
|
+
{
|
|
1957
|
+
props: () => true,
|
|
1958
|
+
style: {
|
|
1959
|
+
[theme.breakpoints.down("sm")]: {
|
|
1960
|
+
margin: 0,
|
|
1961
|
+
width: "100%",
|
|
1962
|
+
maxWidth: "none",
|
|
1963
|
+
maxHeight: "none",
|
|
1964
|
+
height: "100%",
|
|
1965
|
+
borderRadius: 0
|
|
1966
|
+
}
|
|
1967
|
+
}
|
|
1968
|
+
},
|
|
1969
|
+
{
|
|
1970
|
+
props: (props) => !props.fullScreen,
|
|
1971
|
+
style: {
|
|
1972
|
+
borderRadius: borderRadius * 2,
|
|
1973
|
+
[theme.breakpoints.up("sm")]: {
|
|
1974
|
+
margin: theme.spacing(2)
|
|
1975
|
+
}
|
|
1976
|
+
}
|
|
1977
|
+
}
|
|
1978
|
+
]
|
|
1825
1979
|
})
|
|
1826
1980
|
}
|
|
1827
1981
|
},
|
|
1828
|
-
|
|
1829
|
-
styleOverrides: {
|
|
1830
|
-
root: {
|
|
1831
|
-
[`& .${iconButtonClasses.root}:hover`]: {
|
|
1832
|
-
backgroundColor: "transparent"
|
|
1833
|
-
}
|
|
1834
|
-
}
|
|
1835
|
-
}
|
|
1836
|
-
},
|
|
1837
|
-
// =========================================================================
|
|
1838
|
-
// FAB
|
|
1839
|
-
// =========================================================================
|
|
1840
|
-
MuiFab: {
|
|
1841
|
-
defaultProps: {
|
|
1842
|
-
color: "primary"
|
|
1843
|
-
},
|
|
1982
|
+
MuiDialogTitle: {
|
|
1844
1983
|
styleOverrides: {
|
|
1845
1984
|
root: ({ theme }) => ({
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1985
|
+
padding: `${20 * dm}px ${24 * dm}px`,
|
|
1986
|
+
fontSize: theme.typography.pxToRem(18),
|
|
1987
|
+
fontWeight: 600,
|
|
1988
|
+
lineHeight: 28 / 18
|
|
1850
1989
|
})
|
|
1851
1990
|
}
|
|
1852
1991
|
},
|
|
1853
|
-
|
|
1854
|
-
// INPUTS (Refined - from Minimals patterns)
|
|
1855
|
-
// =========================================================================
|
|
1856
|
-
MuiInputBase: createInputBaseOverrides(),
|
|
1857
|
-
MuiInput: createInputOverrides(),
|
|
1858
|
-
MuiTextField: createTextFieldOverrides(config),
|
|
1859
|
-
MuiOutlinedInput: createOutlinedInputOverrides(config),
|
|
1860
|
-
MuiFilledInput: createFilledInputOverrides(config),
|
|
1861
|
-
MuiInputLabel: createInputLabelOverrides(),
|
|
1862
|
-
MuiFormHelperText: createFormHelperTextOverrides(),
|
|
1863
|
-
MuiSelect: {
|
|
1864
|
-
styleOverrides: {
|
|
1865
|
-
select: {
|
|
1866
|
-
// Reset minHeight so Select matches TextField height exactly.
|
|
1867
|
-
minHeight: "auto",
|
|
1868
|
-
display: "flex",
|
|
1869
|
-
alignItems: "center"
|
|
1870
|
-
},
|
|
1871
|
-
icon: {
|
|
1872
|
-
right: 10,
|
|
1873
|
-
width: 18,
|
|
1874
|
-
height: 18,
|
|
1875
|
-
top: "calc(50% - 9px)"
|
|
1876
|
-
}
|
|
1877
|
-
}
|
|
1878
|
-
},
|
|
1879
|
-
MuiNativeSelect: {
|
|
1992
|
+
MuiDialogContent: {
|
|
1880
1993
|
styleOverrides: {
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
width: 18,
|
|
1884
|
-
height: 18,
|
|
1885
|
-
top: "calc(50% - 9px)"
|
|
1994
|
+
root: {
|
|
1995
|
+
padding: `${16 * dm}px ${24 * dm}px`
|
|
1886
1996
|
}
|
|
1887
1997
|
}
|
|
1888
1998
|
},
|
|
1889
|
-
|
|
1999
|
+
MuiDialogActions: {
|
|
1890
2000
|
styleOverrides: {
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
}),
|
|
1895
|
-
listbox: {
|
|
1896
|
-
padding: 4
|
|
1897
|
-
},
|
|
1898
|
-
option: ({ theme }) => ({
|
|
1899
|
-
borderRadius: borderRadius - 2,
|
|
1900
|
-
margin: 2,
|
|
1901
|
-
[`&.${autocompleteClasses.focused}`]: {
|
|
1902
|
-
backgroundColor: theme.vars?.palette.action.hover || theme.palette.action.hover
|
|
1903
|
-
},
|
|
1904
|
-
'&[aria-selected="true"]': {
|
|
1905
|
-
backgroundColor: theme.vars?.palette.action.selected || theme.palette.action.selected,
|
|
1906
|
-
fontWeight: 500,
|
|
1907
|
-
[`&.${autocompleteClasses.focused}`]: {
|
|
1908
|
-
backgroundColor: theme.vars?.palette.action.hover || theme.palette.action.hover
|
|
1909
|
-
}
|
|
1910
|
-
}
|
|
1911
|
-
}),
|
|
1912
|
-
popupIndicator: {
|
|
1913
|
-
[`& .${svgIconClasses.root}`]: {
|
|
1914
|
-
fontSize: 20
|
|
1915
|
-
}
|
|
1916
|
-
},
|
|
1917
|
-
clearIndicator: {
|
|
1918
|
-
[`& .${svgIconClasses.root}`]: {
|
|
1919
|
-
fontSize: 18
|
|
1920
|
-
}
|
|
2001
|
+
root: {
|
|
2002
|
+
padding: `${16 * dm}px ${24 * dm}px`,
|
|
2003
|
+
gap: 8
|
|
1921
2004
|
}
|
|
1922
2005
|
}
|
|
1923
|
-
}
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
2006
|
+
}
|
|
2007
|
+
};
|
|
2008
|
+
}
|
|
2009
|
+
|
|
2010
|
+
// src/theme/components/Card.ts
|
|
2011
|
+
function createCardOverrides(config) {
|
|
2012
|
+
const { density, borderRadius } = config;
|
|
2013
|
+
const dm = getDensityMultiplier(density);
|
|
2014
|
+
return {
|
|
1927
2015
|
MuiCard: {
|
|
1928
2016
|
defaultProps: {
|
|
1929
2017
|
elevation: 0
|
|
@@ -1934,7 +2022,7 @@ function componentOverrides(config) {
|
|
|
1934
2022
|
zIndex: 0,
|
|
1935
2023
|
// Safari stacking context fix
|
|
1936
2024
|
borderRadius: borderRadius * 1.5,
|
|
1937
|
-
border: `1px solid ${theme
|
|
2025
|
+
border: `1px solid ${paletteVar(theme, "divider")}`,
|
|
1938
2026
|
backgroundImage: "none",
|
|
1939
2027
|
boxShadow: `0 0 2px 0 rgba(${getGreyChannel(theme)} / 0.2), 0 12px 24px -4px rgba(${getGreyChannel(theme)} / 0.12)`
|
|
1940
2028
|
})
|
|
@@ -1942,8 +2030,10 @@ function componentOverrides(config) {
|
|
|
1942
2030
|
},
|
|
1943
2031
|
MuiCardHeader: {
|
|
1944
2032
|
defaultProps: {
|
|
1945
|
-
|
|
1946
|
-
|
|
2033
|
+
slotProps: {
|
|
2034
|
+
title: { variant: "h6" },
|
|
2035
|
+
subheader: { variant: "body2" }
|
|
2036
|
+
}
|
|
1947
2037
|
},
|
|
1948
2038
|
styleOverrides: {
|
|
1949
2039
|
root: {
|
|
@@ -1957,7 +2047,7 @@ function componentOverrides(config) {
|
|
|
1957
2047
|
subheader: ({ theme }) => ({
|
|
1958
2048
|
fontSize: theme.typography.pxToRem(14),
|
|
1959
2049
|
lineHeight: 22 / 14,
|
|
1960
|
-
color: theme
|
|
2050
|
+
color: paletteVar(theme, "text.secondary")
|
|
1961
2051
|
})
|
|
1962
2052
|
}
|
|
1963
2053
|
},
|
|
@@ -1978,18 +2068,270 @@ function componentOverrides(config) {
|
|
|
1978
2068
|
gap: 8
|
|
1979
2069
|
}
|
|
1980
2070
|
}
|
|
1981
|
-
}
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
}
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
2071
|
+
}
|
|
2072
|
+
};
|
|
2073
|
+
}
|
|
2074
|
+
function createAutocompleteOverrides(config) {
|
|
2075
|
+
const { borderRadius } = config;
|
|
2076
|
+
return {
|
|
2077
|
+
styleOverrides: {
|
|
2078
|
+
paper: ({ theme }) => ({
|
|
2079
|
+
borderRadius,
|
|
2080
|
+
boxShadow: `0 0 2px 0 rgba(${getGreyChannel(theme)} / 0.24), -20px 20px 40px -4px rgba(${getGreyChannel(theme)} / 0.24)`
|
|
2081
|
+
}),
|
|
2082
|
+
listbox: {
|
|
2083
|
+
padding: 4
|
|
2084
|
+
},
|
|
2085
|
+
option: ({ theme }) => ({
|
|
2086
|
+
borderRadius: borderRadius - 2,
|
|
2087
|
+
margin: 2,
|
|
2088
|
+
[`&.${autocompleteClasses.focused}`]: {
|
|
2089
|
+
backgroundColor: paletteVar(theme, "action.hover")
|
|
2090
|
+
},
|
|
2091
|
+
'&[aria-selected="true"]': {
|
|
2092
|
+
backgroundColor: paletteVar(theme, "action.selected"),
|
|
2093
|
+
fontWeight: 500,
|
|
2094
|
+
[`&.${autocompleteClasses.focused}`]: {
|
|
2095
|
+
backgroundColor: paletteVar(theme, "action.hover")
|
|
2096
|
+
}
|
|
2097
|
+
}
|
|
2098
|
+
}),
|
|
2099
|
+
popupIndicator: {
|
|
2100
|
+
[`& .${svgIconClasses.root}`]: {
|
|
2101
|
+
fontSize: 20
|
|
2102
|
+
}
|
|
2103
|
+
},
|
|
2104
|
+
clearIndicator: {
|
|
2105
|
+
[`& .${svgIconClasses.root}`]: {
|
|
2106
|
+
fontSize: 18
|
|
2107
|
+
}
|
|
2108
|
+
}
|
|
2109
|
+
}
|
|
2110
|
+
};
|
|
2111
|
+
}
|
|
2112
|
+
|
|
2113
|
+
// src/theme/components/DataGrid.ts
|
|
2114
|
+
function createDataGridOverrides(config) {
|
|
2115
|
+
const { borderRadius } = config;
|
|
2116
|
+
return {
|
|
2117
|
+
styleOverrides: {
|
|
2118
|
+
root: ({ theme }) => ({
|
|
2119
|
+
border: "none",
|
|
2120
|
+
borderRadius,
|
|
2121
|
+
// background.neutral falls back to grey[50] (different path
|
|
2122
|
+
// on either side) — kept as a manual chain rather than
|
|
2123
|
+
// paletteVar() so the fallback is explicit.
|
|
2124
|
+
"--DataGrid-containerBackground": theme.vars?.palette.background.neutral || theme.palette.grey[50],
|
|
2125
|
+
"--DataGrid-pinnedBackground": paletteVar(theme, "background.paper"),
|
|
2126
|
+
"& .MuiDataGrid-columnHeaders": {
|
|
2127
|
+
borderBottom: `1px solid ${paletteVar(theme, "divider")}`
|
|
2128
|
+
},
|
|
2129
|
+
"& .MuiDataGrid-columnHeader": {
|
|
2130
|
+
fontWeight: 600,
|
|
2131
|
+
fontSize: theme.typography.pxToRem(14),
|
|
2132
|
+
color: paletteVar(theme, "text.secondary"),
|
|
2133
|
+
"&:focus, &:focus-within": {
|
|
2134
|
+
outline: "none"
|
|
2135
|
+
}
|
|
2136
|
+
},
|
|
2137
|
+
"& .MuiDataGrid-cell": {
|
|
2138
|
+
borderBottom: `1px solid rgba(${getGreyChannel(theme)} / 0.12)`,
|
|
2139
|
+
"&:focus, &:focus-within": {
|
|
2140
|
+
outline: "none"
|
|
2141
|
+
}
|
|
2142
|
+
},
|
|
2143
|
+
"& .MuiDataGrid-row": {
|
|
2144
|
+
"&:hover": {
|
|
2145
|
+
backgroundColor: paletteVar(theme, "action.hover")
|
|
2146
|
+
},
|
|
2147
|
+
"&.Mui-selected": {
|
|
2148
|
+
backgroundColor: `rgba(${getColorChannel(theme, "primary")} / 0.08)`,
|
|
2149
|
+
"&:hover": {
|
|
2150
|
+
backgroundColor: `rgba(${getColorChannel(theme, "primary")} / 0.12)`
|
|
2151
|
+
}
|
|
2152
|
+
}
|
|
2153
|
+
},
|
|
2154
|
+
"& .MuiDataGrid-footerContainer": {
|
|
2155
|
+
borderTop: `1px solid ${paletteVar(theme, "divider")}`
|
|
2156
|
+
},
|
|
2157
|
+
"& .MuiDataGrid-selectedRowCount": {
|
|
2158
|
+
whiteSpace: "nowrap"
|
|
2159
|
+
},
|
|
2160
|
+
"& .MuiDataGrid-toolbarContainer": {
|
|
2161
|
+
padding: theme.spacing(1.5, 1.5, 0.5),
|
|
2162
|
+
gap: theme.spacing(1)
|
|
2163
|
+
},
|
|
2164
|
+
"& .MuiDataGrid-columnSeparator": {
|
|
2165
|
+
color: paletteVar(theme, "divider")
|
|
2166
|
+
}
|
|
2167
|
+
})
|
|
2168
|
+
}
|
|
2169
|
+
};
|
|
2170
|
+
}
|
|
2171
|
+
|
|
2172
|
+
// src/theme/components/DatePicker.ts
|
|
2173
|
+
function createDatePickerOverrides(config) {
|
|
2174
|
+
const { density, borderRadius } = config;
|
|
2175
|
+
return {
|
|
2176
|
+
MuiDatePicker: {
|
|
2177
|
+
defaultProps: {
|
|
2178
|
+
slotProps: {
|
|
2179
|
+
openPickerButton: {
|
|
2180
|
+
size: density === "compact" ? "small" : "medium"
|
|
2181
|
+
}
|
|
2182
|
+
}
|
|
2183
|
+
}
|
|
2184
|
+
},
|
|
2185
|
+
MuiPickersLayout: {
|
|
2186
|
+
styleOverrides: {
|
|
2187
|
+
root: ({ theme }) => ({
|
|
2188
|
+
"& .MuiPickersLayout-actionBar": {
|
|
2189
|
+
padding: theme.spacing(1, 2)
|
|
2190
|
+
}
|
|
2191
|
+
})
|
|
2192
|
+
}
|
|
2193
|
+
},
|
|
2194
|
+
MuiPickersDay: {
|
|
2195
|
+
styleOverrides: {
|
|
2196
|
+
root: () => ({
|
|
2197
|
+
borderRadius: borderRadius - 2,
|
|
2198
|
+
fontWeight: 400,
|
|
2199
|
+
"&.Mui-selected": {
|
|
2200
|
+
fontWeight: 600
|
|
2201
|
+
}
|
|
2202
|
+
}),
|
|
2203
|
+
today: ({ theme }) => ({
|
|
2204
|
+
borderColor: paletteVar(theme, "primary.main"),
|
|
2205
|
+
"&:not(.Mui-selected)": {
|
|
2206
|
+
backgroundColor: "transparent"
|
|
2207
|
+
}
|
|
2208
|
+
})
|
|
2209
|
+
}
|
|
2210
|
+
},
|
|
2211
|
+
MuiPickersYear: {
|
|
2212
|
+
styleOverrides: {
|
|
2213
|
+
yearButton: () => ({
|
|
2214
|
+
borderRadius,
|
|
2215
|
+
"&.Mui-selected": {
|
|
2216
|
+
fontWeight: 600
|
|
2217
|
+
}
|
|
2218
|
+
})
|
|
2219
|
+
}
|
|
2220
|
+
},
|
|
2221
|
+
MuiPickersMonth: {
|
|
2222
|
+
styleOverrides: {
|
|
2223
|
+
monthButton: () => ({
|
|
2224
|
+
borderRadius,
|
|
2225
|
+
"&.Mui-selected": {
|
|
2226
|
+
fontWeight: 600
|
|
2227
|
+
}
|
|
2228
|
+
})
|
|
2229
|
+
}
|
|
2230
|
+
}
|
|
2231
|
+
};
|
|
2232
|
+
}
|
|
2233
|
+
|
|
2234
|
+
// src/theme/components/index.ts
|
|
2235
|
+
function componentOverrides(config) {
|
|
2236
|
+
const { density, borderRadius } = config;
|
|
2237
|
+
const dm = getDensityMultiplier(density);
|
|
2238
|
+
return {
|
|
2239
|
+
// =========================================================================
|
|
2240
|
+
// BUTTONS (Modular)
|
|
2241
|
+
// =========================================================================
|
|
2242
|
+
MuiButton: createButtonOverrides(config),
|
|
2243
|
+
MuiButtonBase: createButtonBaseOverrides(),
|
|
2244
|
+
MuiButtonGroup: createButtonGroupOverrides(config),
|
|
2245
|
+
// =========================================================================
|
|
2246
|
+
// ICON BUTTON
|
|
2247
|
+
// =========================================================================
|
|
2248
|
+
MuiIconButton: {
|
|
2249
|
+
styleOverrides: {
|
|
2250
|
+
root: ({ theme }) => ({
|
|
2251
|
+
borderRadius,
|
|
2252
|
+
"&:hover": {
|
|
2253
|
+
backgroundColor: paletteVar(theme, "action.hover")
|
|
2254
|
+
}
|
|
2255
|
+
})
|
|
2256
|
+
}
|
|
2257
|
+
},
|
|
2258
|
+
MuiInputAdornment: {
|
|
2259
|
+
styleOverrides: {
|
|
2260
|
+
root: {
|
|
2261
|
+
[`& .${iconButtonClasses.root}:hover`]: {
|
|
2262
|
+
backgroundColor: "transparent"
|
|
2263
|
+
}
|
|
2264
|
+
}
|
|
2265
|
+
}
|
|
2266
|
+
},
|
|
2267
|
+
// =========================================================================
|
|
2268
|
+
// FAB
|
|
2269
|
+
// =========================================================================
|
|
2270
|
+
MuiFab: {
|
|
2271
|
+
defaultProps: {
|
|
2272
|
+
color: "primary"
|
|
2273
|
+
},
|
|
2274
|
+
styleOverrides: {
|
|
2275
|
+
root: ({ theme }) => ({
|
|
2276
|
+
boxShadow: `0 8px 16px 0 rgba(${getColorChannel(theme, "primary")} / 0.24)`,
|
|
2277
|
+
"&:hover": {
|
|
2278
|
+
boxShadow: `0 8px 16px 0 rgba(${getColorChannel(theme, "primary")} / 0.32)`
|
|
2279
|
+
}
|
|
2280
|
+
})
|
|
2281
|
+
}
|
|
2282
|
+
},
|
|
2283
|
+
// =========================================================================
|
|
2284
|
+
// INPUTS (Refined - from Minimals patterns)
|
|
2285
|
+
// =========================================================================
|
|
2286
|
+
MuiInputBase: createInputBaseOverrides(),
|
|
2287
|
+
MuiInput: createInputOverrides(),
|
|
2288
|
+
MuiTextField: createTextFieldOverrides(config),
|
|
2289
|
+
MuiOutlinedInput: createOutlinedInputOverrides(config),
|
|
2290
|
+
MuiFilledInput: createFilledInputOverrides(config),
|
|
2291
|
+
MuiInputLabel: createInputLabelOverrides(),
|
|
2292
|
+
MuiFormHelperText: createFormHelperTextOverrides(),
|
|
2293
|
+
MuiSelect: {
|
|
2294
|
+
styleOverrides: {
|
|
2295
|
+
select: {
|
|
2296
|
+
// Reset minHeight so Select matches TextField height exactly.
|
|
2297
|
+
minHeight: "auto",
|
|
2298
|
+
display: "flex",
|
|
2299
|
+
alignItems: "center"
|
|
2300
|
+
},
|
|
2301
|
+
icon: {
|
|
2302
|
+
right: 10,
|
|
2303
|
+
width: 18,
|
|
2304
|
+
height: 18,
|
|
2305
|
+
top: "calc(50% - 9px)"
|
|
2306
|
+
}
|
|
2307
|
+
}
|
|
2308
|
+
},
|
|
2309
|
+
MuiNativeSelect: {
|
|
2310
|
+
styleOverrides: {
|
|
2311
|
+
icon: {
|
|
2312
|
+
right: 10,
|
|
2313
|
+
width: 18,
|
|
2314
|
+
height: 18,
|
|
2315
|
+
top: "calc(50% - 9px)"
|
|
2316
|
+
}
|
|
2317
|
+
}
|
|
2318
|
+
},
|
|
2319
|
+
MuiAutocomplete: createAutocompleteOverrides(config),
|
|
2320
|
+
// =========================================================================
|
|
2321
|
+
// CARDS — modularized in ./Card.ts
|
|
2322
|
+
// =========================================================================
|
|
2323
|
+
...createCardOverrides(config),
|
|
2324
|
+
// =========================================================================
|
|
2325
|
+
// PAPER & SURFACES
|
|
2326
|
+
// =========================================================================
|
|
2327
|
+
MuiPaper: {
|
|
2328
|
+
defaultProps: {
|
|
2329
|
+
elevation: 0
|
|
2330
|
+
},
|
|
2331
|
+
styleOverrides: {
|
|
2332
|
+
root: {
|
|
2333
|
+
backgroundImage: "none"
|
|
2334
|
+
},
|
|
1993
2335
|
rounded: {
|
|
1994
2336
|
borderRadius: borderRadius * 1.5
|
|
1995
2337
|
},
|
|
@@ -2014,60 +2356,9 @@ function componentOverrides(config) {
|
|
|
2014
2356
|
}
|
|
2015
2357
|
},
|
|
2016
2358
|
// =========================================================================
|
|
2017
|
-
// DIALOGS
|
|
2359
|
+
// DIALOGS — modularized in ./Dialog.ts
|
|
2018
2360
|
// =========================================================================
|
|
2019
|
-
|
|
2020
|
-
styleOverrides: {
|
|
2021
|
-
paper: ({ theme }) => ({
|
|
2022
|
-
boxShadow: `0 24px 48px -12px rgba(${getGreyChannel(theme, "900")} / 0.24)`,
|
|
2023
|
-
// Mobile-first: fullscreen on < sm (600px)
|
|
2024
|
-
[theme.breakpoints.down("sm")]: {
|
|
2025
|
-
margin: 0,
|
|
2026
|
-
width: "100% !important",
|
|
2027
|
-
maxWidth: "none !important",
|
|
2028
|
-
maxHeight: "none !important",
|
|
2029
|
-
height: "100%",
|
|
2030
|
-
borderRadius: "0 !important"
|
|
2031
|
-
},
|
|
2032
|
-
variants: [
|
|
2033
|
-
{
|
|
2034
|
-
props: (props) => !props.fullScreen,
|
|
2035
|
-
style: {
|
|
2036
|
-
borderRadius: borderRadius * 2,
|
|
2037
|
-
[theme.breakpoints.up("sm")]: {
|
|
2038
|
-
margin: theme.spacing(2)
|
|
2039
|
-
}
|
|
2040
|
-
}
|
|
2041
|
-
}
|
|
2042
|
-
]
|
|
2043
|
-
})
|
|
2044
|
-
}
|
|
2045
|
-
},
|
|
2046
|
-
MuiDialogTitle: {
|
|
2047
|
-
styleOverrides: {
|
|
2048
|
-
root: ({ theme }) => ({
|
|
2049
|
-
padding: `${20 * dm}px ${24 * dm}px`,
|
|
2050
|
-
fontSize: theme.typography.pxToRem(18),
|
|
2051
|
-
fontWeight: 600,
|
|
2052
|
-
lineHeight: 28 / 18
|
|
2053
|
-
})
|
|
2054
|
-
}
|
|
2055
|
-
},
|
|
2056
|
-
MuiDialogContent: {
|
|
2057
|
-
styleOverrides: {
|
|
2058
|
-
root: {
|
|
2059
|
-
padding: `${16 * dm}px ${24 * dm}px`
|
|
2060
|
-
}
|
|
2061
|
-
}
|
|
2062
|
-
},
|
|
2063
|
-
MuiDialogActions: {
|
|
2064
|
-
styleOverrides: {
|
|
2065
|
-
root: {
|
|
2066
|
-
padding: `${16 * dm}px ${24 * dm}px`,
|
|
2067
|
-
gap: 8
|
|
2068
|
-
}
|
|
2069
|
-
}
|
|
2070
|
-
},
|
|
2361
|
+
...createDialogOverrides(config),
|
|
2071
2362
|
// =========================================================================
|
|
2072
2363
|
// NAVIGATION
|
|
2073
2364
|
// =========================================================================
|
|
@@ -2085,7 +2376,7 @@ function componentOverrides(config) {
|
|
|
2085
2376
|
styleOverrides: {
|
|
2086
2377
|
root: ({ theme }) => ({
|
|
2087
2378
|
backgroundImage: "none",
|
|
2088
|
-
borderBottom: `1px solid ${theme
|
|
2379
|
+
borderBottom: `1px solid ${paletteVar(theme, "divider")}`
|
|
2089
2380
|
})
|
|
2090
2381
|
}
|
|
2091
2382
|
},
|
|
@@ -2110,7 +2401,7 @@ function componentOverrides(config) {
|
|
|
2110
2401
|
},
|
|
2111
2402
|
styleOverrides: {
|
|
2112
2403
|
root: ({ theme }) => ({
|
|
2113
|
-
border: `1px solid ${theme
|
|
2404
|
+
border: `1px solid ${paletteVar(theme, "divider")}`,
|
|
2114
2405
|
borderRadius,
|
|
2115
2406
|
"&::before": {
|
|
2116
2407
|
display: "none"
|
|
@@ -2157,7 +2448,7 @@ function componentOverrides(config) {
|
|
|
2157
2448
|
}
|
|
2158
2449
|
},
|
|
2159
2450
|
expandIconWrapper: ({ theme }) => ({
|
|
2160
|
-
color: theme
|
|
2451
|
+
color: paletteVar(theme, "text.secondary")
|
|
2161
2452
|
})
|
|
2162
2453
|
}
|
|
2163
2454
|
},
|
|
@@ -2165,7 +2456,7 @@ function componentOverrides(config) {
|
|
|
2165
2456
|
styleOverrides: {
|
|
2166
2457
|
root: ({ theme }) => ({
|
|
2167
2458
|
padding: `${8 * dm}px ${16 * dm}px ${16 * dm}px`,
|
|
2168
|
-
borderTop: `1px solid ${theme
|
|
2459
|
+
borderTop: `1px solid ${paletteVar(theme, "divider")}`
|
|
2169
2460
|
})
|
|
2170
2461
|
}
|
|
2171
2462
|
},
|
|
@@ -2186,11 +2477,11 @@ function componentOverrides(config) {
|
|
|
2186
2477
|
fontWeight: 500,
|
|
2187
2478
|
[`&.${stepLabelClasses.active}`]: {
|
|
2188
2479
|
fontWeight: 600,
|
|
2189
|
-
color: theme
|
|
2480
|
+
color: paletteVar(theme, "text.primary")
|
|
2190
2481
|
},
|
|
2191
2482
|
[`&.${stepLabelClasses.completed}`]: {
|
|
2192
2483
|
fontWeight: 500,
|
|
2193
|
-
color: theme
|
|
2484
|
+
color: paletteVar(theme, "text.primary")
|
|
2194
2485
|
}
|
|
2195
2486
|
}),
|
|
2196
2487
|
iconContainer: {
|
|
@@ -2201,7 +2492,7 @@ function componentOverrides(config) {
|
|
|
2201
2492
|
MuiStepConnector: {
|
|
2202
2493
|
styleOverrides: {
|
|
2203
2494
|
line: ({ theme }) => ({
|
|
2204
|
-
borderColor: theme
|
|
2495
|
+
borderColor: paletteVar(theme, "divider"),
|
|
2205
2496
|
borderTopWidth: 2
|
|
2206
2497
|
})
|
|
2207
2498
|
}
|
|
@@ -2209,12 +2500,12 @@ function componentOverrides(config) {
|
|
|
2209
2500
|
MuiStepIcon: {
|
|
2210
2501
|
styleOverrides: {
|
|
2211
2502
|
root: ({ theme }) => ({
|
|
2212
|
-
color: theme
|
|
2503
|
+
color: paletteVar(theme, "grey.300"),
|
|
2213
2504
|
[`&.${stepIconClasses.active}`]: {
|
|
2214
|
-
color: theme
|
|
2505
|
+
color: paletteVar(theme, "primary.main")
|
|
2215
2506
|
},
|
|
2216
2507
|
[`&.${stepIconClasses.completed}`]: {
|
|
2217
|
-
color: theme
|
|
2508
|
+
color: paletteVar(theme, "primary.main")
|
|
2218
2509
|
}
|
|
2219
2510
|
}),
|
|
2220
2511
|
text: {
|
|
@@ -2226,7 +2517,7 @@ function componentOverrides(config) {
|
|
|
2226
2517
|
MuiStepContent: {
|
|
2227
2518
|
styleOverrides: {
|
|
2228
2519
|
root: ({ theme }) => ({
|
|
2229
|
-
borderLeft: `2px solid ${theme
|
|
2520
|
+
borderLeft: `2px solid ${paletteVar(theme, "divider")}`,
|
|
2230
2521
|
marginLeft: 11,
|
|
2231
2522
|
paddingLeft: 20,
|
|
2232
2523
|
paddingRight: 8
|
|
@@ -2252,25 +2543,25 @@ function componentOverrides(config) {
|
|
|
2252
2543
|
}
|
|
2253
2544
|
}),
|
|
2254
2545
|
outlined: ({ theme }) => ({
|
|
2255
|
-
borderColor: theme
|
|
2546
|
+
borderColor: paletteVar(theme, "divider"),
|
|
2256
2547
|
[`&.${paginationItemClasses.selected}`]: {
|
|
2257
2548
|
backgroundColor: `rgba(${getColorChannel(theme, "primary")} / 0.08)`,
|
|
2258
|
-
borderColor: theme
|
|
2549
|
+
borderColor: paletteVar(theme, "primary.main")
|
|
2259
2550
|
}
|
|
2260
2551
|
}),
|
|
2261
2552
|
text: ({ theme }) => ({
|
|
2262
2553
|
[`&.${paginationItemClasses.selected}`]: {
|
|
2263
|
-
backgroundColor: theme
|
|
2264
|
-
color: theme
|
|
2554
|
+
backgroundColor: paletteVar(theme, "primary.main"),
|
|
2555
|
+
color: paletteVar(theme, "primary.contrastText"),
|
|
2265
2556
|
"&:hover": {
|
|
2266
|
-
backgroundColor: theme
|
|
2557
|
+
backgroundColor: paletteVar(theme, "primary.dark")
|
|
2267
2558
|
}
|
|
2268
2559
|
}
|
|
2269
2560
|
}),
|
|
2270
2561
|
previousNext: ({ theme }) => ({
|
|
2271
2562
|
borderRadius: borderRadius - 2,
|
|
2272
2563
|
"&:hover": {
|
|
2273
|
-
backgroundColor: theme
|
|
2564
|
+
backgroundColor: paletteVar(theme, "action.hover")
|
|
2274
2565
|
}
|
|
2275
2566
|
}),
|
|
2276
2567
|
firstLast: ({ theme }) => ({
|
|
@@ -2306,10 +2597,10 @@ function componentOverrides(config) {
|
|
|
2306
2597
|
borderRadius: borderRadius - 2,
|
|
2307
2598
|
fontSize: theme.typography.pxToRem(12),
|
|
2308
2599
|
padding: "6px 12px",
|
|
2309
|
-
backgroundColor: theme
|
|
2600
|
+
backgroundColor: paletteVar(theme, "grey.800")
|
|
2310
2601
|
}),
|
|
2311
2602
|
arrow: ({ theme }) => ({
|
|
2312
|
-
color: theme
|
|
2603
|
+
color: paletteVar(theme, "grey.800")
|
|
2313
2604
|
})
|
|
2314
2605
|
}
|
|
2315
2606
|
},
|
|
@@ -2329,7 +2620,7 @@ function componentOverrides(config) {
|
|
|
2329
2620
|
[`& .${tableCellClasses.head}`]: {
|
|
2330
2621
|
fontWeight: 600,
|
|
2331
2622
|
backgroundColor: theme.vars?.palette.background.neutral || theme.palette.grey[50],
|
|
2332
|
-
color: theme
|
|
2623
|
+
color: paletteVar(theme, "text.secondary")
|
|
2333
2624
|
}
|
|
2334
2625
|
})
|
|
2335
2626
|
}
|
|
@@ -2362,13 +2653,19 @@ function componentOverrides(config) {
|
|
|
2362
2653
|
},
|
|
2363
2654
|
MuiTablePagination: {
|
|
2364
2655
|
defaultProps: {
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
slotProps: {
|
|
2656
|
+
// MUI v9 removed `backIconButtonProps`/`nextIconButtonProps` —
|
|
2657
|
+
// both replaced by slotProps.
|
|
2658
|
+
slotProps: {
|
|
2659
|
+
select: { name: "table-pagination-select" },
|
|
2660
|
+
actions: {
|
|
2661
|
+
previousButton: { size: "small" },
|
|
2662
|
+
nextButton: { size: "small" }
|
|
2663
|
+
}
|
|
2664
|
+
}
|
|
2368
2665
|
},
|
|
2369
2666
|
styleOverrides: {
|
|
2370
2667
|
root: ({ theme }) => ({
|
|
2371
|
-
borderTop: `1px solid ${theme
|
|
2668
|
+
borderTop: `1px solid ${paletteVar(theme, "divider")}`
|
|
2372
2669
|
}),
|
|
2373
2670
|
toolbar: {
|
|
2374
2671
|
minHeight: 44 * dm,
|
|
@@ -2400,25 +2697,36 @@ function componentOverrides(config) {
|
|
|
2400
2697
|
// FEEDBACK
|
|
2401
2698
|
// =========================================================================
|
|
2402
2699
|
MuiAlert: {
|
|
2700
|
+
// MUI v9: `standardSuccess`/`standardError`/`standardWarning`/
|
|
2701
|
+
// `standardInfo` slots were removed in favour of the variants
|
|
2702
|
+
// array (props-matched style rules).
|
|
2403
2703
|
styleOverrides: {
|
|
2404
|
-
root: {
|
|
2405
|
-
borderRadius
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2704
|
+
root: ({ theme }) => ({
|
|
2705
|
+
borderRadius,
|
|
2706
|
+
variants: ["success", "error", "warning", "info"].map(
|
|
2707
|
+
(severity) => ({
|
|
2708
|
+
props: { severity, variant: "standard" },
|
|
2709
|
+
style: {
|
|
2710
|
+
backgroundColor: `rgba(${getColorChannel(theme, severity)} / 0.08)`,
|
|
2711
|
+
color: theme.vars?.palette[severity].dark || theme.palette[severity].dark
|
|
2712
|
+
}
|
|
2713
|
+
})
|
|
2714
|
+
)
|
|
2715
|
+
})
|
|
2716
|
+
}
|
|
2717
|
+
},
|
|
2718
|
+
MuiAlertTitle: {
|
|
2719
|
+
// The title slot in Alert was unstyled — defaulted to MUI's
|
|
2720
|
+
// generic Typography preset and stuck out vs the Alert body
|
|
2721
|
+
// text, especially at compact density where 14/16 became
|
|
2722
|
+
// 13/14 around it. Pin to a slightly larger weight with the
|
|
2723
|
+
// alert's own colour inheritance.
|
|
2724
|
+
styleOverrides: {
|
|
2725
|
+
root: ({ theme }) => ({
|
|
2726
|
+
fontWeight: 600,
|
|
2727
|
+
fontSize: theme.typography.pxToRem(14),
|
|
2728
|
+
marginBottom: theme.spacing(0.5),
|
|
2729
|
+
lineHeight: 1.5
|
|
2422
2730
|
})
|
|
2423
2731
|
}
|
|
2424
2732
|
},
|
|
@@ -2439,6 +2747,14 @@ function componentOverrides(config) {
|
|
|
2439
2747
|
}
|
|
2440
2748
|
}
|
|
2441
2749
|
},
|
|
2750
|
+
MuiCircularProgress: {
|
|
2751
|
+
// Density-aware default size — the bare MUI default is 40px,
|
|
2752
|
+
// which dwarfs adornments / inline loaders at compact density.
|
|
2753
|
+
// Consumers can still override per-instance.
|
|
2754
|
+
defaultProps: {
|
|
2755
|
+
size: density === "compact" ? 20 : density === "comfortable" ? 32 : 24
|
|
2756
|
+
}
|
|
2757
|
+
},
|
|
2442
2758
|
// =========================================================================
|
|
2443
2759
|
// SLIDER
|
|
2444
2760
|
// =========================================================================
|
|
@@ -2449,12 +2765,12 @@ function componentOverrides(config) {
|
|
|
2449
2765
|
styleOverrides: {
|
|
2450
2766
|
root: ({ theme }) => ({
|
|
2451
2767
|
"&.Mui-disabled": {
|
|
2452
|
-
color: theme
|
|
2768
|
+
color: paletteVar(theme, "action.disabled")
|
|
2453
2769
|
}
|
|
2454
2770
|
}),
|
|
2455
2771
|
rail: ({ theme }) => ({
|
|
2456
2772
|
opacity: 0.32,
|
|
2457
|
-
backgroundColor: theme
|
|
2773
|
+
backgroundColor: paletteVar(theme, "grey.500")
|
|
2458
2774
|
}),
|
|
2459
2775
|
track: {
|
|
2460
2776
|
border: "none"
|
|
@@ -2462,7 +2778,7 @@ function componentOverrides(config) {
|
|
|
2462
2778
|
thumb: ({ theme }) => ({
|
|
2463
2779
|
width: density === "compact" ? 16 : 20,
|
|
2464
2780
|
height: density === "compact" ? 16 : 20,
|
|
2465
|
-
backgroundColor: theme
|
|
2781
|
+
backgroundColor: paletteVar(theme, "common.white"),
|
|
2466
2782
|
border: "2px solid currentColor",
|
|
2467
2783
|
boxShadow: `0 1px 3px 0 rgba(${getGreyChannel(theme, "900")} / 0.2)`,
|
|
2468
2784
|
"&::before": {
|
|
@@ -2477,7 +2793,7 @@ function componentOverrides(config) {
|
|
|
2477
2793
|
}),
|
|
2478
2794
|
valueLabel: ({ theme }) => ({
|
|
2479
2795
|
borderRadius: borderRadius - 2,
|
|
2480
|
-
backgroundColor: theme
|
|
2796
|
+
backgroundColor: paletteVar(theme, "grey.800"),
|
|
2481
2797
|
"&::before": {
|
|
2482
2798
|
display: "none"
|
|
2483
2799
|
}
|
|
@@ -2486,10 +2802,10 @@ function componentOverrides(config) {
|
|
|
2486
2802
|
width: 4,
|
|
2487
2803
|
height: 4,
|
|
2488
2804
|
borderRadius: "50%",
|
|
2489
|
-
backgroundColor: theme
|
|
2805
|
+
backgroundColor: paletteVar(theme, "grey.400")
|
|
2490
2806
|
}),
|
|
2491
2807
|
markActive: ({ theme }) => ({
|
|
2492
|
-
backgroundColor: theme
|
|
2808
|
+
backgroundColor: paletteVar(theme, "common.white")
|
|
2493
2809
|
})
|
|
2494
2810
|
}
|
|
2495
2811
|
},
|
|
@@ -2512,13 +2828,13 @@ function componentOverrides(config) {
|
|
|
2512
2828
|
fontSize: "inherit"
|
|
2513
2829
|
},
|
|
2514
2830
|
iconEmpty: ({ theme }) => ({
|
|
2515
|
-
color: theme
|
|
2831
|
+
color: paletteVar(theme, "grey.300")
|
|
2516
2832
|
}),
|
|
2517
2833
|
iconFilled: ({ theme }) => ({
|
|
2518
|
-
color: theme
|
|
2834
|
+
color: paletteVar(theme, "warning.main")
|
|
2519
2835
|
}),
|
|
2520
2836
|
iconHover: ({ theme }) => ({
|
|
2521
|
-
color: theme
|
|
2837
|
+
color: paletteVar(theme, "warning.dark")
|
|
2522
2838
|
}),
|
|
2523
2839
|
sizeSmall: {
|
|
2524
2840
|
fontSize: "1.125rem"
|
|
@@ -2543,6 +2859,20 @@ function componentOverrides(config) {
|
|
|
2543
2859
|
// =========================================================================
|
|
2544
2860
|
// LISTS
|
|
2545
2861
|
// =========================================================================
|
|
2862
|
+
MuiList: {
|
|
2863
|
+
// Default MUI list padding is 8/0/8/0 — fine for spacious lists
|
|
2864
|
+
// but it stacks awkwardly with our ListItemButton's `margin: 2`
|
|
2865
|
+
// (the first/last buttons end up indented away from the
|
|
2866
|
+
// container edge). Density-aware top/bottom keeps the seam tight
|
|
2867
|
+
// while leaving the side at 0 so the row hover bleed reaches
|
|
2868
|
+
// the container border.
|
|
2869
|
+
styleOverrides: {
|
|
2870
|
+
root: {
|
|
2871
|
+
paddingTop: density === "compact" ? 4 : 8,
|
|
2872
|
+
paddingBottom: density === "compact" ? 4 : 8
|
|
2873
|
+
}
|
|
2874
|
+
}
|
|
2875
|
+
},
|
|
2546
2876
|
MuiListItemButton: {
|
|
2547
2877
|
styleOverrides: {
|
|
2548
2878
|
root: ({ theme }) => ({
|
|
@@ -2553,7 +2883,7 @@ function componentOverrides(config) {
|
|
|
2553
2883
|
fontWeight: 500
|
|
2554
2884
|
},
|
|
2555
2885
|
"&:hover": {
|
|
2556
|
-
backgroundColor: theme
|
|
2886
|
+
backgroundColor: paletteVar(theme, "action.hover")
|
|
2557
2887
|
}
|
|
2558
2888
|
})
|
|
2559
2889
|
}
|
|
@@ -2565,6 +2895,28 @@ function componentOverrides(config) {
|
|
|
2565
2895
|
}
|
|
2566
2896
|
}
|
|
2567
2897
|
},
|
|
2898
|
+
MuiListItemText: {
|
|
2899
|
+
// Multiline rows (primary + secondary) inherited MUI defaults
|
|
2900
|
+
// that left an awkward 6px gap between the two lines at any
|
|
2901
|
+
// density. Tighten the inter-line gap and reduce horizontal
|
|
2902
|
+
// padding so dense rows actually FEEL dense.
|
|
2903
|
+
styleOverrides: {
|
|
2904
|
+
root: {
|
|
2905
|
+
marginTop: 0,
|
|
2906
|
+
marginBottom: 0
|
|
2907
|
+
},
|
|
2908
|
+
primary: ({ theme }) => ({
|
|
2909
|
+
fontSize: theme.typography.pxToRem(density === "compact" ? 13 : 14),
|
|
2910
|
+
fontWeight: 500,
|
|
2911
|
+
lineHeight: 1.5
|
|
2912
|
+
}),
|
|
2913
|
+
secondary: ({ theme }) => ({
|
|
2914
|
+
fontSize: theme.typography.pxToRem(density === "compact" ? 12 : 13),
|
|
2915
|
+
lineHeight: 1.5,
|
|
2916
|
+
color: paletteVar(theme, "text.secondary")
|
|
2917
|
+
})
|
|
2918
|
+
}
|
|
2919
|
+
},
|
|
2568
2920
|
// =========================================================================
|
|
2569
2921
|
// MENUS (Refined - with proper menu item styles)
|
|
2570
2922
|
// =========================================================================
|
|
@@ -2592,9 +2944,9 @@ function componentOverrides(config) {
|
|
|
2592
2944
|
},
|
|
2593
2945
|
"&.Mui-selected": {
|
|
2594
2946
|
fontWeight: 500,
|
|
2595
|
-
backgroundColor: theme
|
|
2947
|
+
backgroundColor: paletteVar(theme, "action.selected"),
|
|
2596
2948
|
"&:hover": {
|
|
2597
|
-
backgroundColor: theme
|
|
2949
|
+
backgroundColor: paletteVar(theme, "action.hover")
|
|
2598
2950
|
}
|
|
2599
2951
|
}
|
|
2600
2952
|
})
|
|
@@ -2641,7 +2993,7 @@ function componentOverrides(config) {
|
|
|
2641
2993
|
},
|
|
2642
2994
|
styleOverrides: {
|
|
2643
2995
|
root: ({ theme }) => ({
|
|
2644
|
-
color: theme
|
|
2996
|
+
color: paletteVar(theme, "primary.main"),
|
|
2645
2997
|
textDecorationColor: "transparent",
|
|
2646
2998
|
transition: "color 150ms, text-decoration-color 150ms",
|
|
2647
2999
|
"&:hover": {
|
|
@@ -2659,17 +3011,17 @@ function componentOverrides(config) {
|
|
|
2659
3011
|
borderRadius,
|
|
2660
3012
|
fontWeight: 500,
|
|
2661
3013
|
textTransform: "none",
|
|
2662
|
-
border: `1px solid ${theme
|
|
3014
|
+
border: `1px solid ${paletteVar(theme, "divider")}`,
|
|
2663
3015
|
[`&.${toggleButtonClasses.selected}`]: {
|
|
2664
3016
|
backgroundColor: `rgba(${getColorChannel(theme, "primary")} / 0.08)`,
|
|
2665
|
-
borderColor: theme
|
|
2666
|
-
color: theme
|
|
3017
|
+
borderColor: paletteVar(theme, "primary.main"),
|
|
3018
|
+
color: paletteVar(theme, "primary.main"),
|
|
2667
3019
|
"&:hover": {
|
|
2668
3020
|
backgroundColor: `rgba(${getColorChannel(theme, "primary")} / 0.16)`
|
|
2669
3021
|
}
|
|
2670
3022
|
},
|
|
2671
3023
|
[`&.${toggleButtonClasses.disabled}`]: {
|
|
2672
|
-
borderColor: theme
|
|
3024
|
+
borderColor: paletteVar(theme, "action.disabledBackground")
|
|
2673
3025
|
}
|
|
2674
3026
|
}),
|
|
2675
3027
|
sizeSmall: {
|
|
@@ -2685,21 +3037,39 @@ function componentOverrides(config) {
|
|
|
2685
3037
|
}
|
|
2686
3038
|
}
|
|
2687
3039
|
},
|
|
3040
|
+
// The group only owns layout (gap, sibling border). Per-button
|
|
3041
|
+
// styling (border, radius, padding) is already covered by the
|
|
3042
|
+
// MuiToggleButton override above — the previous descendant
|
|
3043
|
+
// selector with `!important` here was redundant.
|
|
3044
|
+
//
|
|
3045
|
+
// The sibling-border explicitly carries the same `divider`
|
|
3046
|
+
// colour used by each button's own border, otherwise the
|
|
3047
|
+
// shorthand `1px solid` would fall back to `currentColor`
|
|
3048
|
+
// (text colour) and the first-of-type's left edge looked
|
|
3049
|
+
// brighter than the seams between subsequent buttons.
|
|
2688
3050
|
MuiToggleButtonGroup: {
|
|
2689
3051
|
styleOverrides: {
|
|
2690
3052
|
root: {
|
|
2691
|
-
gap: 4
|
|
2692
|
-
"& .MuiToggleButton-root": {
|
|
2693
|
-
border: "1px solid",
|
|
2694
|
-
borderRadius: `${borderRadius}px !important`
|
|
2695
|
-
}
|
|
3053
|
+
gap: 4
|
|
2696
3054
|
},
|
|
2697
|
-
grouped: {
|
|
3055
|
+
grouped: ({ theme }) => ({
|
|
2698
3056
|
"&:not(:first-of-type)": {
|
|
2699
3057
|
marginLeft: 0,
|
|
2700
|
-
borderLeft:
|
|
3058
|
+
borderLeft: `1px solid ${paletteVar(theme, "divider")}`,
|
|
3059
|
+
// The MuiToggleButton override sets `borderColor: primary`
|
|
3060
|
+
// when selected via a longhand on the .selected class, but
|
|
3061
|
+
// that rule's specificity equals ours and MUI's
|
|
3062
|
+
// toggle-button-group styleOverrides land later in source
|
|
3063
|
+
// order — so the left edge stayed `divider` even after
|
|
3064
|
+
// selection. Re-state the primary colour inside our
|
|
3065
|
+
// selected branch so it wins on cascade (specificity here
|
|
3066
|
+
// is one class higher than the MuiToggleButton.selected
|
|
3067
|
+
// rule).
|
|
3068
|
+
[`&.${toggleButtonClasses.selected}`]: {
|
|
3069
|
+
borderLeftColor: paletteVar(theme, "primary.main")
|
|
3070
|
+
}
|
|
2701
3071
|
}
|
|
2702
|
-
}
|
|
3072
|
+
})
|
|
2703
3073
|
}
|
|
2704
3074
|
},
|
|
2705
3075
|
// =========================================================================
|
|
@@ -2729,7 +3099,7 @@ function componentOverrides(config) {
|
|
|
2729
3099
|
padding: 3
|
|
2730
3100
|
}),
|
|
2731
3101
|
outlined: ({ theme }) => ({
|
|
2732
|
-
borderColor: theme
|
|
3102
|
+
borderColor: paletteVar(theme, "divider"),
|
|
2733
3103
|
backgroundColor: "transparent"
|
|
2734
3104
|
})
|
|
2735
3105
|
}
|
|
@@ -2737,7 +3107,7 @@ function componentOverrides(config) {
|
|
|
2737
3107
|
MuiTimelineConnector: {
|
|
2738
3108
|
styleOverrides: {
|
|
2739
3109
|
root: ({ theme }) => ({
|
|
2740
|
-
backgroundColor: theme
|
|
3110
|
+
backgroundColor: paletteVar(theme, "divider"),
|
|
2741
3111
|
width: 2
|
|
2742
3112
|
})
|
|
2743
3113
|
}
|
|
@@ -2751,117 +3121,13 @@ function componentOverrides(config) {
|
|
|
2751
3121
|
}
|
|
2752
3122
|
},
|
|
2753
3123
|
// =========================================================================
|
|
2754
|
-
// DATA GRID (MUI X)
|
|
3124
|
+
// DATA GRID (MUI X) — modularized in ./DataGrid.ts
|
|
2755
3125
|
// =========================================================================
|
|
2756
|
-
MuiDataGrid:
|
|
2757
|
-
styleOverrides: {
|
|
2758
|
-
root: ({ theme }) => ({
|
|
2759
|
-
border: "none",
|
|
2760
|
-
borderRadius,
|
|
2761
|
-
"--DataGrid-containerBackground": theme.vars?.palette.background.neutral || theme.palette.grey[50],
|
|
2762
|
-
"--DataGrid-pinnedBackground": theme.vars?.palette.background.paper || theme.palette.background.paper,
|
|
2763
|
-
"& .MuiDataGrid-columnHeaders": {
|
|
2764
|
-
borderBottom: `1px solid ${theme.vars?.palette.divider || theme.palette.divider}`
|
|
2765
|
-
},
|
|
2766
|
-
"& .MuiDataGrid-columnHeader": {
|
|
2767
|
-
fontWeight: 600,
|
|
2768
|
-
fontSize: theme.typography.pxToRem(14),
|
|
2769
|
-
color: theme.vars?.palette.text.secondary || theme.palette.text.secondary,
|
|
2770
|
-
"&:focus, &:focus-within": {
|
|
2771
|
-
outline: "none"
|
|
2772
|
-
}
|
|
2773
|
-
},
|
|
2774
|
-
"& .MuiDataGrid-cell": {
|
|
2775
|
-
borderBottom: `1px solid rgba(${getGreyChannel(theme)} / 0.12)`,
|
|
2776
|
-
"&:focus, &:focus-within": {
|
|
2777
|
-
outline: "none"
|
|
2778
|
-
}
|
|
2779
|
-
},
|
|
2780
|
-
"& .MuiDataGrid-row": {
|
|
2781
|
-
"&:hover": {
|
|
2782
|
-
backgroundColor: theme.vars?.palette.action.hover || theme.palette.action.hover
|
|
2783
|
-
},
|
|
2784
|
-
"&.Mui-selected": {
|
|
2785
|
-
backgroundColor: `rgba(${getColorChannel(theme, "primary")} / 0.08)`,
|
|
2786
|
-
"&:hover": {
|
|
2787
|
-
backgroundColor: `rgba(${getColorChannel(theme, "primary")} / 0.12)`
|
|
2788
|
-
}
|
|
2789
|
-
}
|
|
2790
|
-
},
|
|
2791
|
-
"& .MuiDataGrid-footerContainer": {
|
|
2792
|
-
borderTop: `1px solid ${theme.vars?.palette.divider || theme.palette.divider}`
|
|
2793
|
-
},
|
|
2794
|
-
"& .MuiDataGrid-selectedRowCount": {
|
|
2795
|
-
whiteSpace: "nowrap"
|
|
2796
|
-
},
|
|
2797
|
-
"& .MuiDataGrid-toolbarContainer": {
|
|
2798
|
-
padding: theme.spacing(1.5, 1.5, 0.5),
|
|
2799
|
-
gap: theme.spacing(1)
|
|
2800
|
-
},
|
|
2801
|
-
"& .MuiDataGrid-columnSeparator": {
|
|
2802
|
-
color: theme.vars?.palette.divider || theme.palette.divider
|
|
2803
|
-
}
|
|
2804
|
-
})
|
|
2805
|
-
}
|
|
2806
|
-
},
|
|
3126
|
+
MuiDataGrid: createDataGridOverrides(config),
|
|
2807
3127
|
// =========================================================================
|
|
2808
|
-
// DATE/TIME PICKERS (MUI X)
|
|
3128
|
+
// DATE/TIME PICKERS (MUI X) — modularized in ./DatePicker.ts
|
|
2809
3129
|
// =========================================================================
|
|
2810
|
-
|
|
2811
|
-
defaultProps: {
|
|
2812
|
-
slotProps: {
|
|
2813
|
-
openPickerButton: {
|
|
2814
|
-
size: density === "compact" ? "small" : "medium"
|
|
2815
|
-
}
|
|
2816
|
-
}
|
|
2817
|
-
}
|
|
2818
|
-
},
|
|
2819
|
-
MuiPickersLayout: {
|
|
2820
|
-
styleOverrides: {
|
|
2821
|
-
root: ({ theme }) => ({
|
|
2822
|
-
"& .MuiPickersLayout-actionBar": {
|
|
2823
|
-
padding: theme.spacing(1, 2)
|
|
2824
|
-
}
|
|
2825
|
-
})
|
|
2826
|
-
}
|
|
2827
|
-
},
|
|
2828
|
-
MuiPickersDay: {
|
|
2829
|
-
styleOverrides: {
|
|
2830
|
-
root: ({ theme }) => ({
|
|
2831
|
-
borderRadius: borderRadius - 2,
|
|
2832
|
-
fontWeight: 400,
|
|
2833
|
-
"&.Mui-selected": {
|
|
2834
|
-
fontWeight: 600
|
|
2835
|
-
}
|
|
2836
|
-
}),
|
|
2837
|
-
today: ({ theme }) => ({
|
|
2838
|
-
borderColor: theme.vars?.palette.primary.main || theme.palette.primary.main,
|
|
2839
|
-
"&:not(.Mui-selected)": {
|
|
2840
|
-
backgroundColor: "transparent"
|
|
2841
|
-
}
|
|
2842
|
-
})
|
|
2843
|
-
}
|
|
2844
|
-
},
|
|
2845
|
-
MuiPickersYear: {
|
|
2846
|
-
styleOverrides: {
|
|
2847
|
-
yearButton: ({ theme }) => ({
|
|
2848
|
-
borderRadius,
|
|
2849
|
-
"&.Mui-selected": {
|
|
2850
|
-
fontWeight: 600
|
|
2851
|
-
}
|
|
2852
|
-
})
|
|
2853
|
-
}
|
|
2854
|
-
},
|
|
2855
|
-
MuiPickersMonth: {
|
|
2856
|
-
styleOverrides: {
|
|
2857
|
-
monthButton: ({ theme }) => ({
|
|
2858
|
-
borderRadius,
|
|
2859
|
-
"&.Mui-selected": {
|
|
2860
|
-
fontWeight: 600
|
|
2861
|
-
}
|
|
2862
|
-
})
|
|
2863
|
-
}
|
|
2864
|
-
},
|
|
3130
|
+
...createDatePickerOverrides(config),
|
|
2865
3131
|
// =========================================================================
|
|
2866
3132
|
// TREE VIEW (MUI X)
|
|
2867
3133
|
// =========================================================================
|
|
@@ -2883,7 +3149,7 @@ function componentOverrides(config) {
|
|
|
2883
3149
|
}
|
|
2884
3150
|
},
|
|
2885
3151
|
"&:hover": {
|
|
2886
|
-
backgroundColor: theme
|
|
3152
|
+
backgroundColor: paletteVar(theme, "action.hover")
|
|
2887
3153
|
}
|
|
2888
3154
|
}),
|
|
2889
3155
|
label: ({ theme }) => ({
|
|
@@ -4223,5 +4489,5 @@ function getPresetDisplayName(preset) {
|
|
|
4223
4489
|
}
|
|
4224
4490
|
|
|
4225
4491
|
export { COLOR_GROUPS, PRESET_DISPLAY_NAMES, PRESET_INHERENT_MODE, PRESET_NAMES, arcticPreset, baseColors, basic, blue, buildAction, buildBackground, buildChartColors, buildPalette, buildPaletteColor, buildText, buildVibrant, componentOverrides, createButtonBaseOverrides, createButtonGroupOverrides, createButtonOverrides, createPaletteColorFromScale, createPrismTheme, createShadows, createTypography, cssVarRgba, customScrollbarMixin, darkShadow, darken, defaultDarkPalette, defaultLightPalette, draculaPreset, emberPreset, focusRingMixin, generateColorScale, generateColorScaleWithChannels, generatePaletteColorWithChannels, getContrastRatio, getContrastText, getLuminance, getPresetDisplayName, glassMixin, green, grey, hexToHsl, hexToRgb, hexToRgbChannel, hideScrollbarMixin, hslToHex, invertColorScale, isLightColor, lightBlue, lighten, luxuryColors, luxuryError, luxuryInfo, luxuryNeutral, luxuryPrimary, luxurySecondary, luxurySuccess, luxuryWarning, midnightPreset, minimalPreset, mix, mixins, multiLineEllipsisMixin, orange, purple, red, retroPreset, rgbToHex, rgba, shadows, textEllipsisMixin, typography };
|
|
4226
|
-
//# sourceMappingURL=chunk-
|
|
4227
|
-
//# sourceMappingURL=chunk-
|
|
4492
|
+
//# sourceMappingURL=chunk-MEFT6XPH.js.map
|
|
4493
|
+
//# sourceMappingURL=chunk-MEFT6XPH.js.map
|