{"version":3,"file":"index.mjs","sources":["../../src/usestyle/UseStyle.js"],"sourcesContent":["/*\n * Ported from useStyleTag in @vueuse/core\n * https://github.com/vueuse\n */\nimport { isClient, isExist, setAttribute, setAttributes } from '@primeuix/utils/dom';\nimport { getCurrentInstance, nextTick, onMounted, readonly, ref, watch } from 'vue';\n\nfunction tryOnMounted(fn, sync = true) {\n if (getCurrentInstance()) onMounted(fn);\n else if (sync) fn();\n else nextTick(fn);\n}\n\nlet _id = 0;\n\nexport function useStyle(css, options = {}) {\n const isLoaded = ref(false);\n const cssRef = ref(css);\n const styleRef = ref(null);\n\n const defaultDocument = isClient() ? window.document : undefined;\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n name = `style_${++_id}`,\n id = undefined,\n media = undefined,\n nonce = undefined,\n first = false,\n onMounted: onStyleMounted = undefined,\n onUpdated: onStyleUpdated = undefined,\n onLoad: onStyleLoaded = undefined,\n props = {}\n } = options;\n\n let stop = () => {};\n\n /* @todo: Improve _options params */\n const load = (_css, _props = {}) => {\n if (!document) return;\n\n const _styleProps = { ...props, ..._props };\n const [_name, _id, _nonce] = [_styleProps.name || name, _styleProps.id || id, _styleProps.nonce || nonce];\n\n styleRef.value = document.querySelector(`style[data-primevue-style-id=\"${_name}\"]`) || document.getElementById(_id) || document.createElement('style');\n\n if (!styleRef.value.isConnected) {\n cssRef.value = _css || css;\n\n setAttributes(styleRef.value, {\n type: 'text/css',\n id: _id,\n media,\n nonce: _nonce\n });\n first ? document.head.prepend(styleRef.value) : document.head.appendChild(styleRef.value);\n setAttribute(styleRef.value, 'data-primevue-style-id', _name);\n setAttributes(styleRef.value, _styleProps);\n styleRef.value.onload = (event) => onStyleLoaded?.(event, { name: _name });\n onStyleMounted?.(_name);\n }\n\n if (isLoaded.value) return;\n\n stop = watch(\n cssRef,\n (value) => {\n styleRef.value.textContent = value;\n onStyleUpdated?.(_name);\n },\n { immediate: true }\n );\n\n isLoaded.value = true;\n };\n\n const unload = () => {\n if (!document || !isLoaded.value) return;\n stop();\n isExist(styleRef.value) && document.head.removeChild(styleRef.value);\n isLoaded.value = false;\n };\n\n if (immediate && !manual) tryOnMounted(load);\n\n /*if (!manual)\n tryOnScopeDispose(unload)*/\n\n return {\n id,\n name,\n el: styleRef,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n"],"names":["tryOnMounted","fn","sync","arguments","length","undefined","getCurrentInstance","onMounted","nextTick","_id","useStyle","css","options","isLoaded","ref","cssRef","styleRef","defaultDocument","isClient","window","document","_options$document","_options$immediate","immediate","_options$manual","manual","_options$name","name","concat","_options$id","id","_options$media","media","_options$nonce","nonce","_options$first","first","_options$onMounted","onStyleMounted","_options$onUpdated","onUpdated","onStyleUpdated","_options$onLoad","onLoad","onStyleLoaded","_options$props","props","stop","load","_css","_props","_styleProps","_objectSpread","_name","_nonce","value","querySelector","getElementById","createElement","isConnected","setAttributes","type","head","prepend","appendChild","setAttribute","onload","event","watch","textContent","unload","isExist","removeChild","el","readonly"],"mappings":"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"}