// Stock theme definitions for DankMaterialShell // Separated from Theme.qml to keep that file clean const StockThemes = { DARK: { blue: { name: "Blue", primary: "#42a5f5", primaryText: "#000000", primaryContainer: "#0d47a1", secondary: "#8ab4f8", surface: "#101418", surfaceText: "#e0e2e8", surfaceVariant: "#42474e", surfaceVariantText: "#c2c7cf", surfaceTint: "#8ab4f8", background: "#101418", backgroundText: "#e0e2e8", outline: "#8c9199", surfaceContainer: "#1d2024", surfaceContainerHigh: "#272a2f", surfaceContainerHighest: "#32353a", }, purple: { name: "Purple", primary: "#D0BCFF", primaryText: "#381E72", primaryContainer: "#4F378B", secondary: "#CCC2DC", surface: "#141218", surfaceText: "#e6e0e9", surfaceVariant: "#49454e", surfaceVariantText: "#cac4cf", surfaceTint: "#D0BCFF", background: "#141218", backgroundText: "#e6e0e9", outline: "#948f99", surfaceContainer: "#211f24", surfaceContainerHigh: "#2b292f", surfaceContainerHighest: "#36343a", }, green: { name: "Green", primary: "#4caf50", primaryText: "#000000", primaryContainer: "#1b5e20", secondary: "#81c995", surface: "#10140f", surfaceText: "#e0e4db", surfaceVariant: "#424940", surfaceVariantText: "#c2c9bd", surfaceTint: "#81c995", background: "#10140f", backgroundText: "#e0e4db", outline: "#8c9388", surfaceContainer: "#1d211b", surfaceContainerHigh: "#272b25", surfaceContainerHighest: "#323630", }, orange: { name: "Orange", primary: "#ff6d00", primaryText: "#000000", primaryContainer: "#3e2723", secondary: "#ffb74d", surface: "#1a120e", surfaceText: "#f0dfd8", surfaceVariant: "#52443d", surfaceVariantText: "#d7c2b9", surfaceTint: "#ffb74d", background: "#1a120e", backgroundText: "#f0dfd8", outline: "#a08d85", surfaceContainer: "#271e1a", surfaceContainerHigh: "#322824", surfaceContainerHighest: "#3d332e", }, red: { name: "Red", primary: "#f44336", primaryText: "#000000", primaryContainer: "#4a0e0e", secondary: "#f28b82", surface: "#1a1110", surfaceText: "#f1dedc", surfaceVariant: "#534341", surfaceVariantText: "#d8c2be", surfaceTint: "#f28b82", background: "#1a1110", backgroundText: "#f1dedc", outline: "#a08c89", surfaceContainer: "#271d1c", surfaceContainerHigh: "#322826", surfaceContainerHighest: "#3d3231", }, cyan: { name: "Cyan", primary: "#00bcd4", primaryText: "#000000", primaryContainer: "#004d5c", secondary: "#4dd0e1", surface: "#0e1416", surfaceText: "#dee3e5", surfaceVariant: "#3f484a", surfaceVariantText: "#bfc8ca", surfaceTint: "#4dd0e1", background: "#0e1416", backgroundText: "#dee3e5", outline: "#899295", surfaceContainer: "#1b2122", surfaceContainerHigh: "#252b2c", surfaceContainerHighest: "#303637", }, pink: { name: "Pink", primary: "#e91e63", primaryText: "#000000", primaryContainer: "#4a0e2f", secondary: "#f8bbd9", surface: "#191112", surfaceText: "#f0dee0", surfaceVariant: "#524345", surfaceVariantText: "#d6c2c3", surfaceTint: "#f8bbd9", background: "#191112", backgroundText: "#f0dee0", outline: "#9f8c8e", surfaceContainer: "#261d1e", surfaceContainerHigh: "#312829", surfaceContainerHighest: "#3c3233", }, amber: { name: "Amber", primary: "#ffc107", primaryText: "#000000", primaryContainer: "#4a3c00", secondary: "#ffd54f", surface: "#17130b", surfaceText: "#ebe1d4", surfaceVariant: "#4d4639", surfaceVariantText: "#d0c5b4", surfaceTint: "#ffd54f", background: "#17130b", backgroundText: "#ebe1d4", outline: "#998f80", surfaceContainer: "#231f17", surfaceContainerHigh: "#2e2921", surfaceContainerHighest: "#39342b", }, coral: { name: "Coral", primary: "#ffb4ab", primaryText: "#000000", primaryContainer: "#8c1d18", secondary: "#f9dedc", surface: "#1a1110", surfaceText: "#f1dedc", surfaceVariant: "#534341", surfaceVariantText: "#d8c2bf", surfaceTint: "#ffb4ab", background: "#1a1110", backgroundText: "#f1dedc", outline: "#a08c8a", surfaceContainer: "#271d1c", surfaceContainerHigh: "#322826", surfaceContainerHighest: "#3d3231", }, monochrome: { name: "Monochrome", primary: "#ffffff", primaryText: "#2b303c", primaryContainer: "#424753", secondary: "#c4c6d0", surface: "#2a2a2a", surfaceText: "#e4e2e3", surfaceVariant: "#474648", surfaceVariantText: "#c8c6c7", surfaceTint: "#c2c6d6", background: "#131315", backgroundText: "#e4e2e3", outline: "#929092", surfaceContainer: "#353535", surfaceContainerHigh: "#424242", surfaceContainerHighest: "#505050", error: "#ffb4ab", warning: "#3f4759", info: "#595e6c", matugen_type: "scheme-monochrome", }, }, LIGHT: { blue: { name: "Blue Light", primary: "#1976d2", primaryText: "#ffffff", primaryContainer: "#e3f2fd", secondary: "#42a5f5", surface: "#f7f9ff", surfaceText: "#181c20", surfaceVariant: "#dee3eb", surfaceVariantText: "#42474e", surfaceTint: "#1976d2", background: "#f7f9ff", backgroundText: "#181c20", outline: "#72777f", surfaceContainer: "#eceef4", surfaceContainerHigh: "#e6e8ee", surfaceContainerHighest: "#e0e2e8", }, purple: { name: "Purple Light", primary: "#6750A4", primaryText: "#ffffff", primaryContainer: "#EADDFF", secondary: "#625B71", surface: "#fef7ff", surfaceText: "#1d1b20", surfaceVariant: "#e7e0eb", surfaceVariantText: "#49454e", surfaceTint: "#6750A4", background: "#fef7ff", backgroundText: "#1d1b20", outline: "#7a757f", surfaceContainer: "#f2ecf4", surfaceContainerHigh: "#ece6ee", surfaceContainerHighest: "#e6e0e9", }, green: { name: "Green Light", primary: "#2e7d32", primaryText: "#ffffff", primaryContainer: "#e8f5e8", secondary: "#4caf50", surface: "#f7fbf1", surfaceText: "#191d17", surfaceVariant: "#dee5d8", surfaceVariantText: "#424940", surfaceTint: "#2e7d32", background: "#f7fbf1", backgroundText: "#191d17", outline: "#72796f", surfaceContainer: "#ecefe6", surfaceContainerHigh: "#e6e9e0", surfaceContainerHighest: "#e0e4db", }, orange: { name: "Orange Light", primary: "#e65100", primaryText: "#ffffff", primaryContainer: "#ffecb3", secondary: "#ff9800", surface: "#fff8f6", surfaceText: "#221a16", surfaceVariant: "#f4ded5", surfaceVariantText: "#52443d", surfaceTint: "#e65100", background: "#fff8f6", backgroundText: "#221a16", outline: "#85736c", surfaceContainer: "#fceae3", surfaceContainerHigh: "#f6e5de", surfaceContainerHighest: "#f0dfd8", }, red: { name: "Red Light", primary: "#d32f2f", primaryText: "#ffffff", primaryContainer: "#ffebee", secondary: "#f44336", surface: "#fff8f7", surfaceText: "#231918", surfaceVariant: "#f5ddda", surfaceVariantText: "#534341", surfaceTint: "#d32f2f", background: "#fff8f7", backgroundText: "#231918", outline: "#857370", surfaceContainer: "#fceae7", surfaceContainerHigh: "#f7e4e1", surfaceContainerHighest: "#f1dedc", }, cyan: { name: "Cyan Light", primary: "#0097a7", primaryText: "#ffffff", primaryContainer: "#e0f2f1", secondary: "#00bcd4", surface: "#f5fafc", surfaceText: "#171d1e", surfaceVariant: "#dbe4e6", surfaceVariantText: "#3f484a", surfaceTint: "#0097a7", background: "#f5fafc", backgroundText: "#171d1e", outline: "#6f797b", surfaceContainer: "#e9eff0", surfaceContainerHigh: "#e3e9eb", surfaceContainerHighest: "#dee3e5", }, pink: { name: "Pink Light", primary: "#c2185b", primaryText: "#ffffff", primaryContainer: "#fce4ec", secondary: "#e91e63", surface: "#fff8f7", surfaceText: "#22191a", surfaceVariant: "#f3dddf", surfaceVariantText: "#524345", surfaceTint: "#c2185b", background: "#fff8f7", backgroundText: "#22191a", outline: "#847375", surfaceContainer: "#fbeaeb", surfaceContainerHigh: "#f5e4e5", surfaceContainerHighest: "#f0dee0", }, amber: { name: "Amber Light", primary: "#ff8f00", primaryText: "#000000", primaryContainer: "#fff8e1", secondary: "#ffc107", surface: "#fff8f2", surfaceText: "#1f1b13", surfaceVariant: "#ede1cf", surfaceVariantText: "#4d4639", surfaceTint: "#ff8f00", background: "#fff8f2", backgroundText: "#1f1b13", outline: "#7f7667", surfaceContainer: "#f6ecdf", surfaceContainerHigh: "#f1e7d9", surfaceContainerHighest: "#ebe1d4", }, coral: { name: "Coral Light", primary: "#8c1d18", primaryText: "#ffffff", primaryContainer: "#ffdad6", secondary: "#ff5449", surface: "#fff8f7", surfaceText: "#231918", surfaceVariant: "#f5ddda", surfaceVariantText: "#534341", surfaceTint: "#8c1d18", background: "#fff8f7", backgroundText: "#231918", outline: "#857371", surfaceContainer: "#fceae7", surfaceContainerHigh: "#f6e4e2", surfaceContainerHighest: "#f1dedc", }, monochrome: { name: "Monochrome Light", primary: "#2b303c", primaryText: "#ffffff", primaryContainer: "#d6d7dc", secondary: "#4a4d56", surface: "#f5f5f6", surfaceText: "#2a2a2a", surfaceVariant: "#e0e0e2", surfaceVariantText: "#424242", surfaceTint: "#5a5f6e", background: "#ffffff", backgroundText: "#1a1a1a", outline: "#757577", surfaceContainer: "#e8e8ea", surfaceContainerHigh: "#dcdcde", surfaceContainerHighest: "#d0d0d2", error: "#ba1a1a", warning: "#f9e79f", info: "#5d6475", matugen_type: "scheme-monochrome", }, }, }; const ThemeCategories = { GENERIC: { name: "Generic", variants: [ "blue", "purple", "green", "orange", "red", "cyan", "pink", "amber", "coral", "monochrome", ], }, }; const ThemeNames = { BLUE: "blue", PURPLE: "purple", GREEN: "green", ORANGE: "orange", RED: "red", CYAN: "cyan", PINK: "pink", AMBER: "amber", CORAL: "coral", MONOCHROME: "monochrome", DYNAMIC: "dynamic", }; function isStockTheme(themeName) { return Object.keys(StockThemes.DARK).includes(themeName); } function getAvailableThemes(isLight = false) { return isLight ? StockThemes.LIGHT : StockThemes.DARK; } function getThemeByName(themeName, isLight = false) { const themes = getAvailableThemes(isLight); return themes[themeName] || themes.blue; } function getAllThemeNames() { return Object.keys(StockThemes.DARK); } function getThemeCategories() { return ThemeCategories; }