Files
gniza4cp/whm/gniza4cp-whm/assets/node_modules/daisyui/theme/index.js
shuki a162536585 Rename product from gniza to gniza4cp across entire codebase
- CLI binary: bin/gniza -> bin/gniza4cp
- Install path: /usr/local/gniza4cp/
- Config path: /etc/gniza4cp/
- Log path: /var/log/gniza4cp/
- WHM plugin: gniza4cp-whm/
- cPanel plugin: cpanel/gniza4cp/
- AdminBin: Gniza4cp::Restore
- Perl modules: Gniza4cpWHM::*, Gniza4cpCPanel::*
- DaisyUI theme: gniza4cp
- All internal references, branding, paths updated
- Git remote updated to gniza4cp repo
2026-03-05 21:03:30 +02:00

52 lines
1.4 KiB
JavaScript

import { plugin } from "../functions/plugin.js"
import allThemes from "./object.js"
export default plugin.withOptions((options = {}) => {
return ({ addBase }) => {
const {
name = "custom-theme",
default: isDefault = false,
prefersdark = false,
"color-scheme": colorScheme = "normal",
root = ":root",
...customThemeTokens
} = options
let selector = `${root}:has(input.theme-controller[value=${name}]:checked),[data-theme="${name}"]`
if (isDefault) {
selector = `:where(${root}),${selector}`
}
// Merge custom theme with built-in theme if it exists
let themeTokens = { ...customThemeTokens }
if (allThemes[name]) {
const builtinTheme = allThemes[name]
themeTokens = {
...builtinTheme,
...customThemeTokens,
"color-scheme": colorScheme || builtinTheme.colorScheme,
}
}
const baseStyles = {
[selector]: {
"color-scheme": themeTokens["color-scheme"] || colorScheme,
...themeTokens,
},
}
if (prefersdark) {
// Use :root:not([data-theme]) for dark mode specificity
const darkSelector =
root === ":root" ? ":root:not([data-theme])" : `${root}:not([data-theme])`
addBase({
"@media (prefers-color-scheme: dark)": {
[darkSelector]: baseStyles[selector],
},
})
}
addBase(baseStyles)
}
})