aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared/styling.ts
blob: 57a39f6709f4c5935bfa127c164a0858cdc654ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
 * Applies a set of inline CSS styles to every element matching the
 * given CSS selector.
 *
 * @param selector - CSS selector string.
 * @param styles   - A map of CSS property names to values.
 */
export function styles(selector: string, styles: Record<string, string>): void {
	const elements = Array.from(document.querySelectorAll(selector));

	for (const element of elements) {
		for (const styleType in styles) {
			(element as HTMLElement).style.setProperty(styleType, styles[styleType]);
		}
	}
};