From 56e37b13727abdb9db1203082665d21558341de6 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 27 Feb 2023 20:17:51 +0100 Subject: [PATCH 1/3] fix: don't include `css-vars-ponyfill` chunk if not enabled --- src/module.ts | 4 ++++ src/runtime/components/CookieControl.vue | 16 +++------------- src/runtime/set-vars/native.ts | 5 +++++ src/runtime/set-vars/ponyfill.ts | 5 +++++ 4 files changed, 17 insertions(+), 13 deletions(-) create mode 100644 src/runtime/set-vars/native.ts create mode 100644 src/runtime/set-vars/ponyfill.ts diff --git a/src/module.ts b/src/module.ts index d6ce0f0f..538fb9c6 100644 --- a/src/module.ts +++ b/src/module.ts @@ -35,6 +35,10 @@ export default defineNuxtModule({ }, }, async setup(moduleOptions, nuxt) { + nuxt.options.alias['#cookie-control/set-vars'] = moduleOptions.isCssPonyfillEnabled + ? resolve(runtimeDir, 'set-vars/ponyfill') + : resolve(runtimeDir, 'set-vars/native') + nuxt.options.alias['#cookie-control'] = runtimeDir nuxt.options.build.transpile.push(runtimeDir) diff --git a/src/runtime/components/CookieControl.vue b/src/runtime/components/CookieControl.vue index 8b936c45..fc2b2976 100644 --- a/src/runtime/components/CookieControl.vue +++ b/src/runtime/components/CookieControl.vue @@ -196,6 +196,7 @@ import { setCookie, resolveTranslatable, } from '../methods' +import setCSSVariables from '#cookie-control/set-vars' import { useCookieControl } from '#imports' @@ -312,7 +313,7 @@ const toggleLabel = ($event: KeyboardEvent) => { } // lifecycle -onBeforeMount(async () => { +onBeforeMount(() => { if (moduleOptions.colors) { const variables: Record = {} @@ -320,18 +321,7 @@ onBeforeMount(async () => { variables[`cookie-control-${key}`] = `${moduleOptions.colors[key]}` } - if (moduleOptions.isCssPonyfillEnabled) { - const module = await import('css-vars-ponyfill') - const cssVars = module.default - cssVars({ variables }) - } else { - for (const cssVar in variables) { - document.documentElement.style.setProperty( - `--${cssVar}`, - variables[cssVar] - ) - } - } + setCSSVariables(variables) } if ( diff --git a/src/runtime/set-vars/native.ts b/src/runtime/set-vars/native.ts new file mode 100644 index 00000000..8806153c --- /dev/null +++ b/src/runtime/set-vars/native.ts @@ -0,0 +1,5 @@ +export default function (variables: Record) { + for (const cssVar in variables) { + document.documentElement.style.setProperty(`--${cssVar}`, variables[cssVar]) + } +} diff --git a/src/runtime/set-vars/ponyfill.ts b/src/runtime/set-vars/ponyfill.ts new file mode 100644 index 00000000..015b5de0 --- /dev/null +++ b/src/runtime/set-vars/ponyfill.ts @@ -0,0 +1,5 @@ +import cssVars from 'css-vars-ponyfill' + +export default function (variables: Record) { + cssVars({ variables }) +} From b3a54f60439cd4da7f4ecb5db95f7535934f8e17 Mon Sep 17 00:00:00 2001 From: Jonas Thelemann Date: Wed, 1 Mar 2023 01:06:28 +0100 Subject: [PATCH 2/3] chore(module): format file --- src/module.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/module.ts b/src/module.ts index 538fb9c6..3623d9ea 100644 --- a/src/module.ts +++ b/src/module.ts @@ -35,9 +35,10 @@ export default defineNuxtModule({ }, }, async setup(moduleOptions, nuxt) { - nuxt.options.alias['#cookie-control/set-vars'] = moduleOptions.isCssPonyfillEnabled - ? resolve(runtimeDir, 'set-vars/ponyfill') - : resolve(runtimeDir, 'set-vars/native') + nuxt.options.alias['#cookie-control/set-vars'] = + moduleOptions.isCssPonyfillEnabled + ? resolve(runtimeDir, 'set-vars/ponyfill') + : resolve(runtimeDir, 'set-vars/native') nuxt.options.alias['#cookie-control'] = runtimeDir nuxt.options.build.transpile.push(runtimeDir) From 7d96468bf5c7553ab32cfe91e4959f7c243823f2 Mon Sep 17 00:00:00 2001 From: Jonas Thelemann Date: Wed, 1 Mar 2023 01:09:39 +0100 Subject: [PATCH 3/3] chore(cookie-control): rename variable --- src/runtime/components/CookieControl.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/runtime/components/CookieControl.vue b/src/runtime/components/CookieControl.vue index fc2b2976..0926ee07 100644 --- a/src/runtime/components/CookieControl.vue +++ b/src/runtime/components/CookieControl.vue @@ -196,7 +196,7 @@ import { setCookie, resolveTranslatable, } from '../methods' -import setCSSVariables from '#cookie-control/set-vars' +import setCssVariables from '#cookie-control/set-vars' import { useCookieControl } from '#imports' @@ -321,7 +321,7 @@ onBeforeMount(() => { variables[`cookie-control-${key}`] = `${moduleOptions.colors[key]}` } - setCSSVariables(variables) + setCssVariables(variables) } if (