UNPKG

@bitrix24/b24ui-nuxt

Version:

Bitrix24 UI-Kit for developing web applications REST API for NUXT & VUE

39 lines (38 loc) 1.05 kB
import { computed } from "vue"; import { defineNuxtPlugin, injectHead, useNuxtApp, useHead } from "#imports"; function removeTemporaryColorsStyle() { document.querySelector("[data-bitrix24-ui-colors]")?.remove(); } export default defineNuxtPlugin(() => { const nuxtApp = useNuxtApp(); const root = computed(() => { return `@layer theme { :root, :host { ${[].join("\n ")} } :root, :host, .light { ${[].join("\n ")} } .dark { ${[].join("\n ")} } }`; }); const headData = { style: [{ innerHTML: root, tagPriority: "critical", id: "bitrix24-ui-colors" }] }; if (import.meta.client && nuxtApp.isHydrating && !nuxtApp.payload.serverRendered) { if (typeof document !== "undefined") { const style = document.createElement("style"); style.innerHTML = root.value; style.setAttribute("data-bitrix24-ui-colors", ""); document.head.appendChild(style); injectHead().hooks.hookOnce("dom:rendered", removeTemporaryColorsStyle); } } useHead(headData); });