forked from vikunja/frontend
4be53b098c
Co-authored-by: Dominik Pschenitschni <mail@celement.de> Reviewed-on: vikunja/frontend#2767 Reviewed-by: konrad <k@knt.li> Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de> Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
24 lines
780 B
TypeScript
24 lines
780 B
TypeScript
function getDefaultBackground() {
|
|
const div = document.createElement('div')
|
|
document.head.appendChild(div)
|
|
const bg = window.getComputedStyle(div).backgroundColor
|
|
document.head.removeChild(div)
|
|
return bg
|
|
}
|
|
|
|
// get default style for current browser
|
|
const defaultStyle = getDefaultBackground() // typically "rgba(0, 0, 0, 0)"
|
|
|
|
// based on https://stackoverflow.com/a/62630563/15522256
|
|
export function getInheritedBackgroundColor(el: HTMLElement): string {
|
|
const backgroundColor = window.getComputedStyle(el).backgroundColor
|
|
|
|
if (backgroundColor !== defaultStyle) return backgroundColor
|
|
|
|
if (!el.parentElement) {
|
|
// we reached the top parent el without getting an explicit color
|
|
return defaultStyle
|
|
}
|
|
|
|
return getInheritedBackgroundColor(el.parentElement)
|
|
} |