primevue
Version:
PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc
2 lines (1 loc) • 2.64 kB
JavaScript
import{DomHandler as e}from"primevue/utils";import{ref as t,readonly as r,getCurrentInstance as n,onMounted as o,nextTick as i,watch as u}from"vue";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){v(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function v(e,t,r){return(t=d(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e){var t=f(e,"string");return"symbol"===a(t)?t:String(t)}function f(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function m(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];n()?o(e):t?e():i(e)}var s=0;function p(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t(!1),a=t(n),l=t(null),v=e.isClient()?window.document:void 0,d=o.document,f=void 0===d?v:d,p=o.immediate,y=void 0===p||p,b=o.manual,O=void 0!==b&&b,g=o.name,j=void 0===g?"style_".concat(++s):g,h=o.id,w=void 0===h?void 0:h,P=o.media,S=void 0===P?void 0:P,E=o.nonce,C=void 0===E?void 0:E,x=o.props,D=void 0===x?{}:x,A=function(){},k=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(f){var o=c(c({},D),r),v=o.id||w,d=o.nonce||C;l.value=f.querySelector('style[data-primevue-style-id="'.concat(o.name||j,'"]'))||f.getElementById(v)||f.createElement("style"),l.value.isConnected||(a.value=t||n,e.setAttributes(l.value,{type:"text/css",id:v,media:S,nonce:d}),f.head.appendChild(l.value),e.setAttribute(l.value,"data-primevue-style-id",j),e.setAttributes(l.value,o)),i.value||(A=u(a,(function(e){l.value.textContent=e}),{immediate:!0}),i.value=!0)}};return y&&!O&&m(k),{id:w,name:j,css:a,unload:function(){f&&i.value&&(A(),e.isExist(l.value)&&f.head.removeChild(l.value),i.value=!1)},load:k,isLoaded:r(i)}}export{p as useStyle};