aboutsummaryrefslogtreecommitdiff
path: root/src/services/style_setter
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2024-02-21 22:18:56 +0200
committerHenry Jameson <me@hjkos.com>2024-02-21 22:18:56 +0200
commit8a21594dbc5075b92d245f4c83530c7dae71c62a (patch)
treed471f798fe698dec8d0be36304605a339a85d634 /src/services/style_setter
parent7041d29eded837fb2b98670fa4758846ab3db9c3 (diff)
shadow slots work + minor fixes
Diffstat (limited to 'src/services/style_setter')
-rw-r--r--src/services/style_setter/style_setter.js26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/services/style_setter/style_setter.js b/src/services/style_setter/style_setter.js
index 1fb65e1c..1bc92584 100644
--- a/src/services/style_setter/style_setter.js
+++ b/src/services/style_setter/style_setter.js
@@ -6,12 +6,22 @@ import { getCssRules } from '../theme_data/css_utils.js'
import { defaultState } from '../../modules/config.js'
export const applyTheme = (input) => {
- const t0 = performance.now()
- const { rules, theme } = generatePreset(input)
- console.log(rules, theme)
+ const { version, theme: inputTheme } = input
+ let extraRules
+ let fonts
+ if (version === 2) {
+ const t0 = performance.now()
+ const { rules, theme } = generatePreset(inputTheme)
+ fonts = rules.fonts
+ const t1 = performance.now()
+ console.log('Themes 2 initialization took ' + (t1 - t0) + 'ms')
+ extraRules = convertTheme2To3(theme)
+ } else {
+ console.log(input)
+ extraRules = convertTheme2To3(input)
+ }
+
const t1 = performance.now()
- console.log('Themes 2 initialization took ' + (t1 - t0) + 'ms')
- const extraRules = convertTheme2To3(theme)
const themes3 = init(extraRules)
const t2 = performance.now()
console.log('Themes 3 initialization took ' + (t2 - t1) + 'ms')
@@ -24,7 +34,7 @@ export const applyTheme = (input) => {
const styleSheet = styleEl.sheet
styleSheet.toString()
- styleSheet.insertRule(`:root { ${rules.fonts} }`, 'index-max')
+ styleSheet.insertRule(`:root { ${fonts} }`, 'index-max')
getCssRules(themes3.eager, themes3.staticVars).forEach(rule => {
// Hack to support multiple selectors on same component
if (rule.match(/::-webkit-scrollbar-button/)) {
@@ -133,8 +143,8 @@ export const getPreset = (val) => {
data.colors = { bg, fg, text, link, cRed, cBlue, cGreen, cOrange }
}
- return { theme: data, source: theme.source }
+ return { theme: data, source: theme.source, version: isV1 ? 1 : 2 }
})
}
-export const setPreset = (val) => getPreset(val).then(data => applyTheme(data.theme))
+export const setPreset = (val) => getPreset(val).then(data => applyTheme(data))