@octoguide/mui-ui-toolkit 0.7.0 → 0.7.1
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/index.d.mts +7 -2
- package/dist/index.d.ts +7 -2
- package/dist/index.js +30 -27
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +30 -27
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -358,6 +358,11 @@ interface ToolkitThemeProviderProps {
|
|
|
358
358
|
* Defaults to true.
|
|
359
359
|
*/
|
|
360
360
|
injectCssBaseline?: boolean;
|
|
361
|
+
/**
|
|
362
|
+
* Enable dark mode. When true, palette.mode is set to 'dark' and
|
|
363
|
+
* component overrides adapt accordingly.
|
|
364
|
+
*/
|
|
365
|
+
darkMode?: boolean;
|
|
361
366
|
}
|
|
362
367
|
/**
|
|
363
368
|
* Drop-in ThemeProvider for any app using the mui-ui-toolkit.
|
|
@@ -380,7 +385,7 @@ interface ToolkitThemeProviderProps {
|
|
|
380
385
|
* <App />
|
|
381
386
|
* </ToolkitThemeProvider>
|
|
382
387
|
*/
|
|
383
|
-
declare function ToolkitThemeProvider({ theme, children, injectCssBaseline, }: ToolkitThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
388
|
+
declare function ToolkitThemeProvider({ theme, children, injectCssBaseline, darkMode, }: ToolkitThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
384
389
|
|
|
385
390
|
/**
|
|
386
391
|
* Takes a ThemeTokens object and produces a fully configured MUI Theme.
|
|
@@ -393,7 +398,7 @@ declare function ToolkitThemeProvider({ theme, children, injectCssBaseline, }: T
|
|
|
393
398
|
* augmentation in types/mui.d.ts) so components can read any token
|
|
394
399
|
* not already exposed by MUI's built-in theme shape.
|
|
395
400
|
*/
|
|
396
|
-
declare function createMuiTheme(tokens: ThemeTokens): Theme;
|
|
401
|
+
declare function createMuiTheme(tokens: ThemeTokens, darkMode?: boolean): Theme;
|
|
397
402
|
|
|
398
403
|
/**
|
|
399
404
|
* Resolves the active theme name from the environment.
|
package/dist/index.d.ts
CHANGED
|
@@ -358,6 +358,11 @@ interface ToolkitThemeProviderProps {
|
|
|
358
358
|
* Defaults to true.
|
|
359
359
|
*/
|
|
360
360
|
injectCssBaseline?: boolean;
|
|
361
|
+
/**
|
|
362
|
+
* Enable dark mode. When true, palette.mode is set to 'dark' and
|
|
363
|
+
* component overrides adapt accordingly.
|
|
364
|
+
*/
|
|
365
|
+
darkMode?: boolean;
|
|
361
366
|
}
|
|
362
367
|
/**
|
|
363
368
|
* Drop-in ThemeProvider for any app using the mui-ui-toolkit.
|
|
@@ -380,7 +385,7 @@ interface ToolkitThemeProviderProps {
|
|
|
380
385
|
* <App />
|
|
381
386
|
* </ToolkitThemeProvider>
|
|
382
387
|
*/
|
|
383
|
-
declare function ToolkitThemeProvider({ theme, children, injectCssBaseline, }: ToolkitThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
388
|
+
declare function ToolkitThemeProvider({ theme, children, injectCssBaseline, darkMode, }: ToolkitThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
384
389
|
|
|
385
390
|
/**
|
|
386
391
|
* Takes a ThemeTokens object and produces a fully configured MUI Theme.
|
|
@@ -393,7 +398,7 @@ declare function ToolkitThemeProvider({ theme, children, injectCssBaseline, }: T
|
|
|
393
398
|
* augmentation in types/mui.d.ts) so components can read any token
|
|
394
399
|
* not already exposed by MUI's built-in theme shape.
|
|
395
400
|
*/
|
|
396
|
-
declare function createMuiTheme(tokens: ThemeTokens): Theme;
|
|
401
|
+
declare function createMuiTheme(tokens: ThemeTokens, darkMode?: boolean): Theme;
|
|
397
402
|
|
|
398
403
|
/**
|
|
399
404
|
* Resolves the active theme name from the environment.
|
package/dist/index.js
CHANGED
|
@@ -619,9 +619,10 @@ function resolveThemeName() {
|
|
|
619
619
|
|
|
620
620
|
// src/themes/createMuiTheme.ts
|
|
621
621
|
var import_styles = require("@mui/material/styles");
|
|
622
|
-
function createMuiTheme(tokens) {
|
|
622
|
+
function createMuiTheme(tokens, darkMode = false) {
|
|
623
623
|
return (0, import_styles.createTheme)({
|
|
624
624
|
palette: {
|
|
625
|
+
mode: darkMode ? "dark" : "light",
|
|
625
626
|
primary: {
|
|
626
627
|
main: tokens.colors.primary,
|
|
627
628
|
dark: tokens.colors.primaryDark,
|
|
@@ -639,9 +640,9 @@ function createMuiTheme(tokens) {
|
|
|
639
640
|
error: { main: tokens.colors.error },
|
|
640
641
|
info: { main: tokens.colors.info },
|
|
641
642
|
background: {
|
|
642
|
-
default: tokens.colors.background,
|
|
643
|
-
paper: tokens.colors.backgroundPaper,
|
|
644
|
-
subtle: tokens.colors.backgroundSubtle
|
|
643
|
+
default: darkMode ? "#0d0d0d" : tokens.colors.background,
|
|
644
|
+
paper: darkMode ? "#1a1a1a" : tokens.colors.backgroundPaper,
|
|
645
|
+
subtle: darkMode ? "#2a2a2a" : tokens.colors.backgroundSubtle
|
|
645
646
|
},
|
|
646
647
|
border: tokens.colors.border,
|
|
647
648
|
text: {
|
|
@@ -800,14 +801,14 @@ function createMuiTheme(tokens) {
|
|
|
800
801
|
},
|
|
801
802
|
MuiTextField: {
|
|
802
803
|
styleOverrides: {
|
|
803
|
-
root: {
|
|
804
|
+
root: ({ theme }) => ({
|
|
804
805
|
"& .MuiOutlinedInput-root": {
|
|
805
806
|
borderRadius: tokens.components.input.borderRadius,
|
|
806
|
-
backgroundColor: tokens.components.input.background,
|
|
807
|
+
backgroundColor: theme.palette.mode === "dark" ? theme.palette.background.paper : tokens.components.input.background,
|
|
807
808
|
minHeight: tokens.components.input.minHeight,
|
|
808
809
|
"& fieldset": {
|
|
809
810
|
borderWidth: tokens.components.input.borderWidth,
|
|
810
|
-
borderColor: tokens.colors.border
|
|
811
|
+
borderColor: theme.palette.mode === "dark" ? theme.palette.divider : tokens.colors.border
|
|
811
812
|
},
|
|
812
813
|
"&:hover fieldset": {
|
|
813
814
|
borderColor: tokens.colors.primary
|
|
@@ -817,7 +818,7 @@ function createMuiTheme(tokens) {
|
|
|
817
818
|
borderColor: tokens.colors.borderFocus
|
|
818
819
|
},
|
|
819
820
|
"&.Mui-disabled": {
|
|
820
|
-
backgroundColor: tokens.components.input.backgroundDisabled
|
|
821
|
+
backgroundColor: theme.palette.mode === "dark" ? theme.palette.action.disabledBackground : tokens.components.input.backgroundDisabled
|
|
821
822
|
}
|
|
822
823
|
},
|
|
823
824
|
"& .MuiInputLabel-root": {
|
|
@@ -826,17 +827,17 @@ function createMuiTheme(tokens) {
|
|
|
826
827
|
"& .MuiFormHelperText-root": {
|
|
827
828
|
fontSize: tokens.components.input.helperFontSize
|
|
828
829
|
}
|
|
829
|
-
}
|
|
830
|
+
})
|
|
830
831
|
}
|
|
831
832
|
},
|
|
832
833
|
MuiCard: {
|
|
833
834
|
styleOverrides: {
|
|
834
|
-
root: {
|
|
835
|
+
root: ({ theme }) => ({
|
|
835
836
|
borderRadius: tokens.components.card.borderRadius,
|
|
836
|
-
backgroundColor: tokens.components.card.background,
|
|
837
|
+
backgroundColor: theme.palette.mode === "dark" ? theme.palette.background.paper : tokens.components.card.background,
|
|
837
838
|
boxShadow: tokens.shadows.sm,
|
|
838
|
-
border: `${tokens.components.card.borderWidth} solid ${
|
|
839
|
-
}
|
|
839
|
+
border: `${tokens.components.card.borderWidth} solid ${theme.palette.divider}`
|
|
840
|
+
})
|
|
840
841
|
}
|
|
841
842
|
},
|
|
842
843
|
MuiCardContent: {
|
|
@@ -920,11 +921,11 @@ function createMuiTheme(tokens) {
|
|
|
920
921
|
},
|
|
921
922
|
MuiDialog: {
|
|
922
923
|
styleOverrides: {
|
|
923
|
-
paper: {
|
|
924
|
+
paper: ({ theme }) => ({
|
|
924
925
|
borderRadius: tokens.components.dialog.borderRadius,
|
|
925
|
-
backgroundColor: tokens.components.dialog.background,
|
|
926
|
+
backgroundColor: theme.palette.mode === "dark" ? theme.palette.background.paper : tokens.components.dialog.background,
|
|
926
927
|
maxWidth: tokens.components.dialog.maxWidth
|
|
927
|
-
}
|
|
928
|
+
})
|
|
928
929
|
}
|
|
929
930
|
},
|
|
930
931
|
MuiDialogContent: {
|
|
@@ -936,26 +937,27 @@ function createMuiTheme(tokens) {
|
|
|
936
937
|
},
|
|
937
938
|
MuiTableCell: {
|
|
938
939
|
styleOverrides: {
|
|
939
|
-
root: {
|
|
940
|
+
root: ({ theme }) => ({
|
|
940
941
|
paddingLeft: tokens.components.table.cellPaddingX,
|
|
941
942
|
paddingRight: tokens.components.table.cellPaddingX,
|
|
942
943
|
paddingTop: tokens.components.table.cellPaddingY,
|
|
943
944
|
paddingBottom: tokens.components.table.cellPaddingY,
|
|
944
|
-
borderBottom: `${tokens.components.table.borderWidth} solid ${tokens.components.table.borderColor}`
|
|
945
|
-
},
|
|
946
|
-
head: {
|
|
945
|
+
borderBottom: `${tokens.components.table.borderWidth} solid ${theme.palette.mode === "dark" ? theme.palette.divider : tokens.components.table.borderColor}`
|
|
946
|
+
}),
|
|
947
|
+
head: ({ theme }) => ({
|
|
947
948
|
fontWeight: tokens.components.table.headerFontWeight,
|
|
948
|
-
backgroundColor: tokens.components.table.headerBackground
|
|
949
|
-
|
|
949
|
+
backgroundColor: theme.palette.mode === "dark" ? theme.palette.background.default : tokens.components.table.headerBackground,
|
|
950
|
+
color: theme.palette.text.secondary
|
|
951
|
+
})
|
|
950
952
|
}
|
|
951
953
|
},
|
|
952
954
|
MuiTableRow: {
|
|
953
955
|
styleOverrides: {
|
|
954
|
-
root: {
|
|
956
|
+
root: ({ theme }) => ({
|
|
955
957
|
"&:hover": {
|
|
956
|
-
backgroundColor: tokens.components.table.rowHoverBackground
|
|
958
|
+
backgroundColor: theme.palette.mode === "dark" ? theme.palette.action.hover : tokens.components.table.rowHoverBackground
|
|
957
959
|
}
|
|
958
|
-
}
|
|
960
|
+
})
|
|
959
961
|
}
|
|
960
962
|
},
|
|
961
963
|
MuiAvatar: {
|
|
@@ -1204,11 +1206,12 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
1204
1206
|
function ToolkitThemeProvider({
|
|
1205
1207
|
theme,
|
|
1206
1208
|
children,
|
|
1207
|
-
injectCssBaseline = true
|
|
1209
|
+
injectCssBaseline = true,
|
|
1210
|
+
darkMode = false
|
|
1208
1211
|
}) {
|
|
1209
1212
|
const themeName = theme ?? resolveThemeName();
|
|
1210
1213
|
const tokens = getThemeTokens(themeName);
|
|
1211
|
-
const muiTheme = createMuiTheme(tokens);
|
|
1214
|
+
const muiTheme = createMuiTheme(tokens, darkMode);
|
|
1212
1215
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.ThemeProvider, { theme: muiTheme, children: [
|
|
1213
1216
|
injectCssBaseline && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.CssBaseline, {}),
|
|
1214
1217
|
children
|