Directus / @directus/themes / index / useTheme
Function: useTheme() ​
useTheme(
darkMode,themeLight,themeDark,themeLightOverrides,themeDarkOverrides):object
Defined in: packages/themes/src/composables/use-theme.ts:11
Parameters ​
darkMode ​
MaybeRef<boolean>
themeLight ​
MaybeRef<null | string>
themeDark ​
MaybeRef<null | string>
themeLightOverrides ​
MaybeRef<{ background: string; backgroundAccent: string; backgroundNormal: string; backgroundSubdued: string; banner: { art: { foreground: string; }; avatar: { background: string; borderRadius: string; foreground: string; }; background: string; borderRadius: string; headline: { fontFamily: string; fontWeight: string; foreground: string; }; padding: string; subtitle: { fontFamily: string; fontWeight: string; foreground: string; }; title: { fontFamily: string; fontWeight: string; foreground: string; }; }; borderColor: string; borderColorAccent: string; borderColorSubdued: string; borderRadius: string; borderWidth: string; danger: string; dangerAccent: string; dangerBackground: string; dangerSubdued: string; fonts: { display: { fontFamily: string; fontWeight: string; }; monospace: { fontFamily: string; fontWeight: string; }; sans: { fontFamily: string; fontWeight: string; }; serif: { fontFamily: string; fontWeight: string; }; }; foreground: string; foregroundAccent: string; foregroundSubdued: string; form: { columnGap: string; field: { input: { background: string; backgroundSubdued: string; borderColor: string; borderColorFocus: string; borderColorHover: string; boxShadow: string; boxShadowFocus: string; boxShadowHover: string; foreground: string; foregroundSubdued: string; height: string; padding: string; }; label: { fontFamily: string; fontWeight: string; foreground: string; }; }; rowGap: string; }; header: { background: string; borderColor: string; borderWidth: string; boxShadow: string; headline: { fontFamily: string; foreground: string; }; title: { fontFamily: string; fontWeight: string; foreground: string; }; }; navigation: { background: string; backgroundAccent: string; borderColor: string; borderWidth: string; list: { background: string; backgroundActive: string; backgroundHover: string; divider: { borderColor: string; borderWidth: string; }; fontFamily: string; foreground: string; foregroundActive: string; foregroundHover: string; icon: { foreground: string; foregroundActive: string; foregroundHover: string; }; }; modules: { background: string; borderColor: string; borderWidth: string; button: { background: string; backgroundActive: string; backgroundHover: string; foreground: string; foregroundActive: string; foregroundHover: string; }; }; project: { background: string; borderColor: string; borderWidth: string; fontFamily: string; foreground: string; }; }; popover: { menu: { background: string; borderRadius: string; boxShadow: string; }; }; primary: string; primaryAccent: string; primaryBackground: string; primarySubdued: string; public: { art: { background: string; primary: string; secondary: string; speed: string; }; background: string; foreground: string; foregroundAccent: string; form: { columnGap: string; field: { input: { background: ... | ...; backgroundSubdued: ... | ...; borderColor: ... | ...; borderColorFocus: ... | ...; borderColorHover: ... | ...; boxShadow: ... | ...; boxShadowFocus: ... | ...; boxShadowHover: ... | ...; foreground: ... | ...; foregroundSubdued: ... | ...; height: ... | ...; padding: ... | ...; }; label: { fontFamily: ... | ...; fontWeight: ... | ...; foreground: ... | ...; }; }; rowGap: string; }; }; secondary: string; secondaryAccent: string; secondaryBackground: string; secondarySubdued: string; sidebar: { background: string; borderColor: string; borderWidth: string; fontFamily: string; foreground: string; section: { form: { columnGap: string; field: { input: ... | ...; label: ... | ...; }; rowGap: string; }; toggle: { background: string; backgroundActive: string; backgroundHover: string; borderColor: string; borderWidth: string; fontFamily: string; foreground: string; foregroundActive: string; foregroundHover: string; icon: { foreground: ... | ...; foregroundActive: ... | ...; foregroundHover: ... | ...; }; }; }; }; success: string; successAccent: string; successBackground: string; successSubdued: string; warning: string; warningAccent: string; warningBackground: string; warningSubdued: string; }>
themeDarkOverrides ​
MaybeRef<{ background: string; backgroundAccent: string; backgroundNormal: string; backgroundSubdued: string; banner: { art: { foreground: string; }; avatar: { background: string; borderRadius: string; foreground: string; }; background: string; borderRadius: string; headline: { fontFamily: string; fontWeight: string; foreground: string; }; padding: string; subtitle: { fontFamily: string; fontWeight: string; foreground: string; }; title: { fontFamily: string; fontWeight: string; foreground: string; }; }; borderColor: string; borderColorAccent: string; borderColorSubdued: string; borderRadius: string; borderWidth: string; danger: string; dangerAccent: string; dangerBackground: string; dangerSubdued: string; fonts: { display: { fontFamily: string; fontWeight: string; }; monospace: { fontFamily: string; fontWeight: string; }; sans: { fontFamily: string; fontWeight: string; }; serif: { fontFamily: string; fontWeight: string; }; }; foreground: string; foregroundAccent: string; foregroundSubdued: string; form: { columnGap: string; field: { input: { background: string; backgroundSubdued: string; borderColor: string; borderColorFocus: string; borderColorHover: string; boxShadow: string; boxShadowFocus: string; boxShadowHover: string; foreground: string; foregroundSubdued: string; height: string; padding: string; }; label: { fontFamily: string; fontWeight: string; foreground: string; }; }; rowGap: string; }; header: { background: string; borderColor: string; borderWidth: string; boxShadow: string; headline: { fontFamily: string; foreground: string; }; title: { fontFamily: string; fontWeight: string; foreground: string; }; }; navigation: { background: string; backgroundAccent: string; borderColor: string; borderWidth: string; list: { background: string; backgroundActive: string; backgroundHover: string; divider: { borderColor: string; borderWidth: string; }; fontFamily: string; foreground: string; foregroundActive: string; foregroundHover: string; icon: { foreground: string; foregroundActive: string; foregroundHover: string; }; }; modules: { background: string; borderColor: string; borderWidth: string; button: { background: string; backgroundActive: string; backgroundHover: string; foreground: string; foregroundActive: string; foregroundHover: string; }; }; project: { background: string; borderColor: string; borderWidth: string; fontFamily: string; foreground: string; }; }; popover: { menu: { background: string; borderRadius: string; boxShadow: string; }; }; primary: string; primaryAccent: string; primaryBackground: string; primarySubdued: string; public: { art: { background: string; primary: string; secondary: string; speed: string; }; background: string; foreground: string; foregroundAccent: string; form: { columnGap: string; field: { input: { background: ... | ...; backgroundSubdued: ... | ...; borderColor: ... | ...; borderColorFocus: ... | ...; borderColorHover: ... | ...; boxShadow: ... | ...; boxShadowFocus: ... | ...; boxShadowHover: ... | ...; foreground: ... | ...; foregroundSubdued: ... | ...; height: ... | ...; padding: ... | ...; }; label: { fontFamily: ... | ...; fontWeight: ... | ...; foreground: ... | ...; }; }; rowGap: string; }; }; secondary: string; secondaryAccent: string; secondaryBackground: string; secondarySubdued: string; sidebar: { background: string; borderColor: string; borderWidth: string; fontFamily: string; foreground: string; section: { form: { columnGap: string; field: { input: ... | ...; label: ... | ...; }; rowGap: string; }; toggle: { background: string; backgroundActive: string; backgroundHover: string; borderColor: string; borderWidth: string; fontFamily: string; foreground: string; foregroundActive: string; foregroundHover: string; icon: { foreground: ... | ...; foregroundActive: ... | ...; foregroundHover: ... | ...; }; }; }; }; success: string; successAccent: string; successBackground: string; successSubdued: string; warning: string; warningAccent: string; warningBackground: string; warningSubdued: string; }>
Returns ​
object
theme ​
theme:
ComputedRef<{appearance:"dark";id:string;name:string;rules: {background:string;backgroundAccent:string;backgroundNormal:string;backgroundSubdued:string;banner: {art: {foreground:string; };avatar: {background:string;borderRadius:string;foreground:string; };background:string;borderRadius:string;headline: {fontFamily:string;fontWeight:string;foreground:string; };padding:string;subtitle: {fontFamily:string;fontWeight:string;foreground:string; };title: {fontFamily:string;fontWeight:string;foreground:string; }; };borderColor:string;borderColorAccent:string;borderColorSubdued:string;borderRadius:string;borderWidth:string;danger:string;dangerAccent:string;dangerBackground:string;dangerSubdued:string;fonts: {display: {fontFamily:string;fontWeight:string; };monospace: {fontFamily:string;fontWeight:string; };sans: {fontFamily:string;fontWeight:string; };serif: {fontFamily:string;fontWeight:string; }; };foreground:string;foregroundAccent:string;foregroundSubdued:string;form: {columnGap:string;field: {input: {background:string;backgroundSubdued:string;borderColor:string;borderColorFocus:string;borderColorHover:string;boxShadow:string;boxShadowFocus:string;boxShadowHover:string;foreground:string;foregroundSubdued:string;height:string;padding:string; };label: {fontFamily:string;fontWeight:string;foreground:string; }; };rowGap:string; };header: {background:string;borderColor:string;borderWidth:string;boxShadow:string;headline: {fontFamily:string;foreground:string; };title: {fontFamily:string;fontWeight:string;foreground:string; }; };navigation: {background:string;backgroundAccent:string;borderColor:string;borderWidth:string;list: {background:string;backgroundActive:string;backgroundHover:string;divider: {borderColor:string;borderWidth:string; };fontFamily:string;foreground:string;foregroundActive:string;foregroundHover:string;icon: {foreground:string;foregroundActive:string;foregroundHover:string; }; };modules: {background:string;borderColor:string;borderWidth:string;button: {background:string;backgroundActive:string;backgroundHover:string;foreground:string;foregroundActive:string;foregroundHover:string; }; };project: {background:string;borderColor:string;borderWidth:string;fontFamily:string;foreground:string; }; };popover: {menu: {background:string;borderRadius:string;boxShadow:string; }; };primary:string;primaryAccent:string;primaryBackground:string;primarySubdued:string;public: {art: {background:string;primary:string;secondary:string;speed:string; };background:string;foreground:string;foregroundAccent:string;form: {columnGap:string;field: {input: {background:string;borderColor:string;borderColorFocus:string;borderColorHover:string;boxShadow:string;boxShadowFocus:string;boxShadowHover:string;foreground:string;foregroundSubdued:string;height:string;padding:string; };label: {fontFamily:string;foreground:string; }; };rowGap:string; }; };secondary:string;secondaryAccent:string;secondaryBackground:string;secondarySubdued:string;sidebar: {background:string;borderColor:string;borderWidth:string;fontFamily:string;foreground:string;section: {form: {columnGap:string;field: {input: {background:string;borderColor:string;borderColorFocus:string;borderColorHover:string;boxShadow:string;boxShadowFocus:string;boxShadowHover:string;foreground:string;foregroundSubdued:string;height:string;padding:string; }; };label: {fontFamily:string;foreground:string; };rowGap:string; };toggle: {background:string;backgroundActive:string;backgroundHover:string;borderColor:string;borderWidth:string;fontFamily:string;foreground:string;foregroundActive:string;foregroundHover:string;icon: {foreground:string;foregroundActive:string;foregroundHover:string; }; }; }; };success:string;successAccent:string;successBackground:string;successSubdued:string;warning:string;warningAccent:string;warningBackground:string;warningSubdued:string; }; } | {appearance:"light";id:string;name:string;rules: {background:string;backgroundAccent:string;backgroundNormal:string;backgroundSubdued:string;banner: {art: {foreground:string; };avatar: {background:string;borderRadius:string;foreground:string; };background:string;borderRadius:string;headline: {fontFamily:string;fontWeight:string;foreground:string; };padding:string;subtitle: {fontFamily:string;fontWeight:string;foreground:string; };title: {fontFamily:string;fontWeight:string;foreground:string; }; };borderColor:string;borderColorAccent:string;borderColorSubdued:string;borderRadius:string;borderWidth:string;danger:string;dangerAccent:string;dangerBackground:string;dangerSubdued:string;fonts: {display: {fontFamily:string;fontWeight:string; };monospace: {fontFamily:string;fontWeight:string; };sans: {fontFamily:string;fontWeight:string; };serif: {fontFamily:string;fontWeight:string; }; };foreground:string;foregroundAccent:string;foregroundSubdued:string;form: {columnGap:string;field: {input: {background:string;backgroundSubdued:string;borderColor:string;borderColorFocus:string;borderColorHover:string;boxShadow:string;boxShadowFocus:string;boxShadowHover:string;foreground:string;foregroundSubdued:string;height:string;padding:string; };label: {fontFamily:string;fontWeight:string;foreground:string; }; };rowGap:string; };header: {background:string;borderColor:string;borderWidth:string;boxShadow:string;headline: {fontFamily:string;foreground:string; };title: {fontFamily:string;fontWeight:string;foreground:string; }; };navigation: {background:string;backgroundAccent:string;borderColor:string;borderWidth:string;list: {background:string;backgroundActive:string;backgroundHover:string;divider: {borderColor:string;borderWidth:string; };fontFamily:string;foreground:string;foregroundActive:string;foregroundHover:string;icon: {foreground:string;foregroundActive:string;foregroundHover:string; }; };modules: {background:string;borderColor:string;borderWidth:string;button: {background:string;backgroundActive:string;backgroundHover:string;foreground:string;foregroundActive:string;foregroundHover:string; }; };project: {background:string;borderColor:string;borderWidth:string;fontFamily:string;foreground:string; }; };popover: {menu: {background:string;borderRadius:string;boxShadow:string; }; };primary:string;primaryAccent:string;primaryBackground:string;primarySubdued:string;public: {art: {background:string;primary:string;secondary:string;speed:string; };background:string;foreground:string;foregroundAccent:string;form: {columnGap:string;field: {input: {background:string;borderColor:string;borderColorFocus:string;borderColorHover:string;boxShadow:string;boxShadowFocus:string;boxShadowHover:string;foreground:string;foregroundSubdued:string;height:string;padding:string; }; };label: {fontFamily:string;foreground:string; };rowGap:string; }; };secondary:string;secondaryAccent:string;secondaryBackground:string;secondarySubdued:string;sidebar: {background:string;borderColor:string;borderWidth:string;fontFamily:string;foreground:string;section: {form: {columnGap:string;field: {input: {background:string;borderColor:string;borderColorFocus:string;borderColorHover:string;boxShadow:string;boxShadowFocus:string;boxShadowHover:string;foreground:string;foregroundSubdued:string;height:string;padding:string; }; };label: {fontFamily:string;foreground:string; };rowGap:string; };toggle: {background:string;backgroundActive:string;backgroundHover:string;borderColor:string;borderWidth:string;fontFamily:string;foreground:string;foregroundActive:string;foregroundHover:string;icon: {foreground:string;foregroundActive:string;foregroundHover:string; }; }; }; };success:string;successAccent:string;successBackground:string;successSubdued:string;warning:string;warningAccent:string;warningBackground:string;warningSubdued:string; }; }>