@primeuix/styled
Version:
Styled utilities for PrimeUI Libraries
2 lines (1 loc) • 23.1 kB
JavaScript
var nt=Object.defineProperty,ot=Object.defineProperties;var it=Object.getOwnPropertyDescriptors;var te=Object.getOwnPropertySymbols;var Se=Object.prototype.hasOwnProperty,Oe=Object.prototype.propertyIsEnumerable;var ye=(e,t,s)=>t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,y=(e,t)=>{for(var s in t||(t={}))Se.call(t,s)&&ye(e,s,t[s]);if(te)for(var s of te(t))Oe.call(t,s)&&ye(e,s,t[s]);return e},C=(e,t)=>ot(e,it(t));var V=(e,t)=>{var s={};for(var r in e)Se.call(e,r)&&t.indexOf(r)<0&&(s[r]=e[r]);if(e!=null&&te)for(var r of te(e))t.indexOf(r)<0&&Oe.call(e,r)&&(s[r]=e[r]);return s};import{deepMerge as at}from"@primeuix/utils/object";function xe(e,...t){return at(e,...t)}import{deepMerge as jt}from"@primeuix/utils/object";import{nestedKeys as Vt,toTokenKey as Rt}from"@primeuix/utils/object";import{EventBus as lt}from"@primeuix/utils/eventbus";var ct=lt(),R=ct;import{getKeyValue as ut,isArray as dt,isNotEmpty as mt,isNumber as le,isObject as _e,isString as D,matchRegex as se,toKebabCase as ht}from"@primeuix/utils/object";var P=/{([^}]*)}/g,re=/(\d+\s+[+*/-]\s+\d+)/g,ne=/var\([^)]+\)/g;function K(e){return D(e)?e.replace(/[A-Z]/g,(t,s)=>s===0?t:"."+t.toLowerCase()).toLowerCase():e}function zt(e,t){dt(e)?e.push(...t||[]):_e(e)&&Object.assign(e,t)}function Pe(e){return _e(e)&&Object.prototype.hasOwnProperty.call(e,"$value")&&Object.prototype.hasOwnProperty.call(e,"$type")?e.$value:e}function Gt(e,t=""){return["opacity","z-index","line-height","font-weight","flex","flex-grow","flex-shrink","order"].some(r=>t.endsWith(r))?e:`${e}`.trim().split(" ").map(i=>le(i)?`${i}px`:i).join(" ")}function pt(e){return e.replaceAll(/ /g,"").replace(/[^\w]/g,"-")}function oe(e="",t=""){return pt(`${D(e,!1)&&D(t,!1)?`${e}-`:e}${t}`)}function ce(e="",t=""){return`--${oe(e,t)}`}function gt(e=""){let t=(e.match(/{/g)||[]).length,s=(e.match(/}/g)||[]).length;return(t+s)%2!==0}function L(e,t="",s="",r=[],o){if(D(e)){let i=e.trim();if(gt(i))return;if(se(i,P)){let n=i.replaceAll(P,u=>{let a=u.replace(/{|}/g,"").split(".").filter(l=>!r.some(c=>se(l,c)));return`var(${ce(s,ht(a.join("-")))}${mt(o)?`, ${o}`:""})`});return se(n.replace(ne,"0"),re)?`calc(${n})`:n}return i}else if(le(e))return e}function It(e={},t){if(D(t)){let s=t.trim();return se(s,P)?s.replaceAll(P,r=>ut(e,r.replace(/{|}/g,""))):s}else if(le(t))return t}function $e(e,t,s){D(t,!1)&&e.push(`${t}:${s};`)}function j(e,t){return e?`${e}{${t}}`:""}function ue(e,t){if(e.indexOf("dt(")===-1)return e;function s(n,u){let m=[],a=0,l="",c=null,p=0;for(;a<=n.length;){let g=n[a];if((g==='"'||g==="'"||g==="`")&&n[a-1]!=="\\"&&(c=c===g?null:g),!c&&(g==="("&&p++,g===")"&&p--,(g===","||a===n.length)&&p===0)){let f=l.trim();f.startsWith("dt(")?m.push(ue(f,u)):m.push(r(f)),l="",a++;continue}g!==void 0&&(l+=g),a++}return m}function r(n){let u=n[0];if((u==='"'||u==="'"||u==="`")&&n[n.length-1]===u)return n.slice(1,-1);let m=Number(n);return isNaN(m)?n:m}let o=[],i=[];for(let n=0;n<e.length;n++)if(e[n]==="d"&&e.slice(n,n+3)==="dt(")i.push(n),n+=2;else if(e[n]===")"&&i.length>0){let u=i.pop();i.length===0&&o.push([u,n])}if(!o.length)return e;for(let n=o.length-1;n>=0;n--){let[u,m]=o[n],a=e.slice(u+3,m),l=s(a,t),c=t(...l);e=e.slice(0,u)+c+e.slice(m+1)}return e}import{escapeAttribute as we}from"@primeuix/utils/dom";import{isEmpty as vt,isNotEmpty as x,isObject as fe,matchRegex as Ct,minifyCSS as Ne,resolve as ie}from"@primeuix/utils/object";function ve(e){return e.length===4?`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`:e}function Ce(e){let t=parseInt(e.substring(1),16),s=t>>16&255,r=t>>8&255,o=t&255;return{r:s,g:r,b:o}}function ft(e,t,s){return`#${e.toString(16).padStart(2,"0")}${t.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}`}var Ve=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i,X=(e,t,s)=>{if(!Ve.test(e)||!Ve.test(t))return t;e=ve(e),t=ve(t);let i=(s/100*2-1+1)/2,n=1-i,u=Ce(e),m=Ce(t),a=Math.round(u.r*i+m.r*n),l=Math.round(u.g*i+m.g*n),c=Math.round(u.b*i+m.b*n);return ft(a,l,c)};import{matchRegex as kt}from"@primeuix/utils";var de=(e,t)=>X("#000000",e,t);var me=(e,t)=>X("#ffffff",e,t);var Re=[50,100,200,300,400,500,600,700,800,900,950],Tt=e=>{if(kt(e,P)){let t=e.replace(/{|}/g,"");return Re.reduce((s,r)=>(s[r]=`{${t}.${r}}`,s),{})}return Re.reduce((t,s,r)=>(t[s]=r<=5?me(e,(5-r)*19):de(e,(r-5)*15),t),{})};import{resolve as je}from"@primeuix/utils";import{isEmpty as bt,matchRegex as yt}from"@primeuix/utils/object";var St=(e,t)=>{let s=e.split("."),r="";for(let o=0;o<s.length;o++){let i=K(s[o]);t.lastIndex=0,!t.test(i)&&(r=r?`${r}.${i}`:i)}return r},he=(e,t,s,r,o)=>{if(typeof e!="string")return e!=null?e:S.getTokenValue(t);if(P.lastIndex=0,!P.test(e))return e;let i=t.slice(0,t.indexOf(".")),n=e.replace(P,u=>{let m=u.slice(1,-1),a=m.indexOf(".");if((a===-1?m:m.slice(0,a))!==i)return u;let l=S.getTokenValue(m);return l==null?u:`${l}`});return L(n,void 0,s,[r],o)},Ot=(e,t,s,r)=>{var l,c,p,g;let o=St(e,s),i=S.tokens,n=i.__strictCache;n||(n=new Map,Object.defineProperty(i,"__strictCache",{value:n,enumerable:!1,configurable:!0}));let u=r==null||typeof r!="object",m=u&&r!=null?`${t}|${o}|${r}`:`${t}|${o}`,a=u?n.get(m):void 0;if(a===void 0&&(!u||!n.has(m))){let f=(l=i[o])==null?void 0:l.paths,h=f==null?void 0:f.find(k=>k.scheme==="none"),d=(c=f==null?void 0:f.find(k=>k.scheme==="light"))!=null?c:h,T=(p=f==null?void 0:f.find(k=>k.scheme==="dark"))!=null?p:h;if(d&&T&&d!==T){let k=he(d.value,o,t,s,r),b=he(T.value,o,t,s,r);a=k===b?k:`light-dark(${k},${b})`}else a=he((g=d!=null?d:T)==null?void 0:g.value,o,t,s,r);u&&n.set(m,a)}return S.hasScopedTokenPath(o)?L(`{${o}}`,void 0,t,[s],a):a},us=e=>{var i,n,u;let t=S.getTheme(),s=`${(i=pe(t,e,void 0,"variable"))!=null?i:""}`,r=(u=(n=s.match(/--[\w-]+/g))==null?void 0:n[0])!=null?u:"",o=pe(t,e,void 0,"value");return{name:r,variable:s,value:o}},N=(e,t,s)=>pe(S.getTheme(),e,t,s),pe=(e={},t,s,r)=>{var m,a,l,c,p,g,f,h,d,T;if(!t)return"";let o=(m=S.defaults)==null?void 0:m.variable,i=(p=(a=e==null?void 0:e.options)==null?void 0:a.prefix)!=null?p:(c=(l=S.defaults)==null?void 0:l.options)==null?void 0:c.prefix,n=(T=(d=(g=e==null?void 0:e.options)==null?void 0:g.cssVariables)!=null?d:(h=(f=S.defaults)==null?void 0:f.options)==null?void 0:h.cssVariables)!=null?T:!0;if(r==="value")return S.getTokenValue(t);if(bt(r)&&!n)return Ot(t,i,o.excludedKeyRegex,s);let u=yt(t,P)?t:`{${t}}`;return L(u,void 0,i,[o.excludedKeyRegex],s)};var xt=(...e)=>{var t;return`${(t=N(...e))!=null?t:""}`};function gs(e,...t){if(e instanceof Array){let s=e.reduce((r,o,i)=>{var n;return r+o+((n=je(t[i],{dt:N}))!=null?n:"")},"");return ue(s,xt)}return je(e,{dt:N})}import{mergeKeys as Ee}from"@primeuix/utils/object";var A=(e={})=>{let{preset:t,options:s}=e;return{preset(r){return t=t?Ee(t,r):r,this},options(r){return s=s?y(y({},s),r):r,this},primaryPalette(r){let{semantic:o}=t||{};return t=C(y({},t),{semantic:C(y({},o),{primary:r})}),this},surfacePalette(r){var m,a,l;let o=(m=t==null?void 0:t.semantic)!=null?m:{},i=r&&Object.hasOwn(r,"light")?r.light:r,n=r&&Object.hasOwn(r,"dark")?r.dark:r,u={colorScheme:{light:y(y({},(a=o.colorScheme)==null?void 0:a.light),!!i&&{surface:i}),dark:y(y({},(l=o.colorScheme)==null?void 0:l.dark),!!n&&{surface:n})}};return t=C(y({},t),{semantic:y(y({},o),u)}),this},define({useDefaultPreset:r=!1,useDefaultOptions:o=!1}={}){return{preset:r?S.getPreset():t,options:o?S.getOptions():s}},update({mergePresets:r=!0,mergeOptions:o=!0}={}){let i={preset:r?Ee(S.getPreset(),t!=null?t:{}):t,options:o?y(y({},S.getOptions()),s):s};return S.setTheme(i),i},use(r){let o=this.define(r);return S.setTheme(o),o}}};import{isObject as _t,matchRegex as Pt,toKebabCase as $t}from"@primeuix/utils/object";function ge(e,t={}){let s=S.defaults.variable,{prefix:r=s.prefix,selector:o=s.selector,excludedKeyRegex:i=s.excludedKeyRegex}=t,n=[],u=[],m=[{node:e,path:r}];for(;m.length;){let{node:l,path:c}=m.pop();for(let p in l){let g=l[p],f=Pe(g),d=Pt(p,i)?oe(c):oe(c,$t(p));if(_t(f))m.push({node:f,path:d});else{let T=ce(d),k=L(f,d,r,[i]);$e(u,T,k==null?k:`${k}`);let b=d;r&&b.startsWith(r+"-")&&(b=b.slice(r.length+1)),n.push(b.replace(/-/g,"."))}}}let a=u.join("");return{value:u,tokens:n,declarations:a,css:j(o,a)}}var $={regex:{rules:{class:{pattern:/^\.([a-zA-Z][\w-]*)$/,resolve(e){return{type:"class",selector:e,matched:this.pattern.test(e.trim())}}},attr:{pattern:/^\[(.*)\]$/,resolve(e){return{type:"attr",selector:`:root${e},:host${e}`,matched:this.pattern.test(e.trim())}}},media:{pattern:/^ (.*)$/,resolve(e){return{type:"media",selector:e,matched:this.pattern.test(e.trim())}}},system:{pattern:/^system$/,resolve(e){return{type:"system",selector:"@media (prefers-color-scheme: dark)",matched:this.pattern.test(e.trim())}}},custom:{resolve(e){return{type:"custom",selector:e,matched:!0}}}},resolve(e){let t=Object.keys(this.rules).filter(s=>s!=="custom").map(s=>this.rules[s]);return[e].flat().map(s=>{var r;return(r=t.map(o=>o.resolve(s)).find(o=>o.matched))!=null?r:this.rules.custom.resolve(s)})}},_toVariables(e,t){return ge(e,{prefix:t==null?void 0:t.prefix})},getCommon({name:e="",theme:t={},params:s,set:r,defaults:o}){var k,b,O,v,E,_,w;let{preset:i,options:n}=t,u,m,a,l,c,p,g;if(x(i)){let{primitive:z,semantic:G,extend:I}=i,f=G||{},{colorScheme:ae}=f,U=V(f,["colorScheme"]),h=I||{},{colorScheme:H}=h,M=V(h,["colorScheme"]),d=ae||{},{dark:B}=d,W=V(d,["dark"]),T=H||{},{dark:q}=T,F=V(T,["dark"]),Z=x(z)?this._toVariables({primitive:z},n):{},J=x(U)?this._toVariables({semantic:U},n):{},Q=x(W)?this._toVariables({light:W},n):{},Y=x(B)?this._toVariables({dark:B},n):{},ee=x(M)?this._toVariables({semantic:M},n):{},Te=x(F)?this._toVariables({light:F},n):{},be=x(q)?this._toVariables({dark:q},n):{},[Ke,Xe]=[(k=Z.declarations)!=null?k:"",Z.tokens],[ze,Ge]=[(b=J.declarations)!=null?b:"",J.tokens||[]],[Ie,Ue]=[(O=Q.declarations)!=null?O:"",Q.tokens||[]],[He,We]=[(v=Y.declarations)!=null?v:"",Y.tokens||[]],[qe,Fe]=[(E=ee.declarations)!=null?E:"",ee.tokens||[]],[Ze,Je]=[(_=Te.declarations)!=null?_:"",Te.tokens||[]],[Qe,Ye]=[(w=be.declarations)!=null?w:"",be.tokens||[]];u=this.transformCSS(e,Ke,"light","variable",n,r,o),m=Xe;let et=this.transformCSS(e,`${ze}${Ie}`,"light","variable",n,r,o),tt=this.transformCSS(e,`${He}`,"dark","variable",n,r,o);a=`${et}${tt}`,l=[...new Set([...Ge,...Ue,...We])];let st=this.transformCSS(e,`${qe}${Ze}color-scheme:light`,"light","variable",n,r,o),rt=this.transformCSS(e,`${Qe}color-scheme:dark`,"dark","variable",n,r,o);c=`${st}${rt}`,p=[...new Set([...Fe,...Je,...Ye])],g=ie(i.css,{dt:N})}return{primitive:{css:u,tokens:m},semantic:{css:a,tokens:l},global:{css:c,tokens:p},style:g}},getPreset({name:e="",preset:t={},options:s,params:r,set:o,defaults:i,selector:n,isScopedTokenPaths:u}){var c,d,T,k;let m,a,l;if(x(t)&&((c=s==null?void 0:s.cssVariables)==null||c||u)){let b=e.replace("-directive",""),p=t,{colorScheme:O,extend:v,css:E}=p,_=V(p,["colorScheme","extend","css"]),g=v||{},{colorScheme:w}=g,z=V(g,["colorScheme"]),f=O||{},{dark:G}=f,I=V(f,["dark"]),h=w||{},{dark:ae}=h,U=V(h,["dark"]),H=x(_)?this._toVariables({[b]:y(y({},_),z)},s):{},M=x(I)?this._toVariables({[b]:y(y({},I),U)},s):{},B=x(G)?this._toVariables({[b]:y(y({},G),ae)},s):{},[W,q]=[(d=H.declarations)!=null?d:"",H.tokens||[]],[F,Z]=[(T=M.declarations)!=null?T:"",M.tokens||[]],[J,Q]=[(k=B.declarations)!=null?k:"",B.tokens||[]],Y=this.transformCSS(b,`${W}${F}`,"light","variable",s,o,i,n),ee=this.transformCSS(b,J,"dark","variable",s,o,i,n);m=`${Y}${ee}`,a=[...new Set([...q,...Z,...Q])],l=ie(E,{dt:N})}return{css:m,tokens:a,style:l}},getScopedSelector(e,t){if(!(!(t!=null&&t.scoped)||!e))return`[data-styled="${e}"]`},getPresetC({name:e="",theme:t={},params:s,set:r,defaults:o}){var a;let{preset:i,options:n}=t,u=(a=i==null?void 0:i.components)==null?void 0:a[e],m=this.getScopedSelector(e,n);return this.getPreset({name:e,preset:u,options:n,params:s,set:r,defaults:o,selector:m})},getPresetD({name:e="",theme:t={},params:s,set:r,defaults:o}){var l,c;let i=e.replace("-directive",""),{preset:n,options:u}=t,m=((l=n==null?void 0:n.components)==null?void 0:l[i])||((c=n==null?void 0:n.directives)==null?void 0:c[i]),a=this.getScopedSelector(i,u);return this.getPreset({name:i,preset:m,options:u,params:s,set:r,defaults:o,selector:a})},applyDarkColorScheme(e){let t=e.darkModeSelector;return!(t==="none"||t===!1)},getColorSchemeOption(e,t){var s;return this.applyDarkColorScheme(e)?this.regex.resolve(e.darkModeSelector===!0?t.options.darkModeSelector:(s=e.darkModeSelector)!=null?s:t.options.darkModeSelector):[]},getLayerOrder(e,t={},s,r){let{cssLayer:o}=t;return o?` ${ie(o.order||o.name||"primeui",s)}`:""},getCommonStyleSheet({name:e="",theme:t={},params:s,props:r={},set:o,defaults:i}){let n=this.getCommon({name:e,theme:t,params:s,set:o,defaults:i}),u=Object.entries(r).reduce((m,[a,l])=>(m.push(`${a}="${we(l)}"`),m),[]).join(" ");return Object.entries(n||{}).reduce((m,[a,l])=>{if(fe(l)&&Object.hasOwn(l,"css")){let c=Ne(l.css),p=`${a}-variables`;m.push(`<style type="text/css" data-primevue-style-id="${p}" ${u}>${c}</style>`)}return m},[]).join("")},getStyleSheet({name:e="",theme:t={},params:s,props:r={},set:o,defaults:i}){var a;let n={name:e,theme:t,params:s,set:o,defaults:i},u=(a=e.includes("-directive")?this.getPresetD(n):this.getPresetC(n))==null?void 0:a.css,m=Object.entries(r).reduce((l,[c,p])=>(l.push(`${c}="${we(p)}"`),l),[]).join(" ");return u?`<style type="text/css" data-primevue-style-id="${e}-variables" ${m}>${Ne(u)}</style>`:""},createTokens(e={},t,s="",r="",o={}){let i=function(a,l,c,p){return a.replace(P,g=>{var T;let f=g.slice(1,-1),h=this.tokens[f];if(!h)return console.warn(`Token not found for path: ${f}`),"__UNRESOLVED__";let d=h.computed(l,c,p);if(Array.isArray(d)&&d.length===2){let k=d[0].value,b=d[1].value;return k===b?k!=null?k:"__UNRESOLVED__":`light-dark(${k},${b})`}return(T=d==null?void 0:d.value)!=null?T:"__UNRESOLVED__"})},n=function(a,l,c,p){if(a.indexOf("light-dark(")===-1)return a;let g=[],f=a.length,h=0;for(;h<f;){let d=a.indexOf("light-dark(",h);if(d===-1){g.push(a.slice(h));break}g.push(a.slice(h,d));let T=1,k=d+11,b=-1;for(;k<f&&T>0;){let _=a.charCodeAt(k);_===40?T++:_===41?T--:_===44&&T===1&&b===-1&&(b=k),k++}if(T!==0||b===-1){g.push(a.slice(d));break}let O=a.slice(d+11,b).trim(),v=a.slice(b+1,k-1).trim(),E=l&&l!=="none"?l:null;if(E==="light")g.push(n.call(this,O,"light",c,p));else if(E==="dark")g.push(n.call(this,v,"dark",c,p));else{let _=i.call(this,n.call(this,O,"light",c,p),"light",c,p),w=i.call(this,n.call(this,v,"dark",c,p),"dark",c,p);g.push(_===w?_:`light-dark(${_},${w})`)}h=k}return g.join("")},u=function(a,l={},c=[]){if(c.includes(this.path))return console.warn(`Circular reference detected at ${this.path}`),{colorScheme:a,path:this.path,paths:l,value:void 0};c.push(this.path),l.name=this.path,l.binding||(l.binding={});let p=this.value;if(typeof this.value=="string"){let g=this.value.trim(),f=g.indexOf("light-dark(")!==-1,h=g.indexOf("{")!==-1;if(f||h){let d=f?n.call(this,g,a,l,c):g,T=d.indexOf("{")!==-1?i.call(this,d,a,l,c):d;re.lastIndex=0,ne.lastIndex=0,p=re.test(T.replace(ne,"0"))?`calc(${T})`:T}}return vt(l.binding)&&delete l.binding,c.pop(),{colorScheme:a,path:this.path,paths:l,value:typeof p=="string"&&p.indexOf("__UNRESOLVED__")!==-1?void 0:p}},m=(a,l,c)=>{Object.entries(a).forEach(([p,g])=>{let f=Ct(p,t.variable.excludedKeyRegex)?l:l?`${l}.${K(p)}`:K(p),h=c?`${c}.${p}`:p;fe(g)?m(g,f,h):(o[f]||(o[f]={paths:[],computed:(d,T={},k=[])=>{let b=o[f].paths;if(b.length===1){let O=b[0],v=O.scheme!=="none"?O.scheme:d;return O.computed(v,T.binding,k)}else if(d&&d!=="none")for(let O=0;O<b.length;O++){let v=b[O];if(v.scheme===d)return v.computed(d,T.binding,k)}return b.map(O=>O.computed(O.scheme,T[O.scheme],k))}}),o[f].paths.push({path:h,value:g,scheme:h.includes("colorScheme.light")?"light":h.includes("colorScheme.dark")?"dark":"none",computed:u,tokens:o}))})};return m(e,s,r),o},getTokenValue(e,t,s){var p,g,f;let r=e.__cache;r||(r=new Map,Object.defineProperty(e,"__cache",{value:r,enumerable:!1,configurable:!0}));let o=r.get(t);if(o!==void 0||r.has(t))return o;let i=s.variable.excludedKeyRegex,n=t.split("."),u=[];for(let h=0;h<n.length;h++){let d=n[h];i.lastIndex=0,i.test(d.toLowerCase())||u.push(d)}let m=u.join("."),a=t.indexOf("colorScheme.light")!==-1?"light":t.indexOf("colorScheme.dark")!==-1?"dark":void 0,l=e[m];if(!l){r.set(t,void 0);return}let c;if(a){let h=l.computed(a);if(Array.isArray(h)){for(let d=0;d<h.length;d++)if(((p=h[d])==null?void 0:p.colorScheme)===a){c=h[d].value;break}}else c=h==null?void 0:h.value}else{let h=l.computed("light"),d=l.computed("dark"),T,k;if(Array.isArray(h)){for(let b=0;b<h.length;b++)if(((g=h[b])==null?void 0:g.colorScheme)==="light"){T=h[b].value;break}}else T=h==null?void 0:h.value;if(Array.isArray(d)){for(let b=0;b<d.length;b++)if(((f=d[b])==null?void 0:f.colorScheme)==="dark"){k=d[b].value;break}}else k=d==null?void 0:d.value;T===void 0&&k===void 0?c=void 0:T===void 0?c=k:k===void 0||T===k?c=T:c=`light-dark(${T},${k})`}return r.set(t,c),c},getSelectorRule(e,t,s,r,o=":root,:host"){return s==="class"||s==="attr"?j(x(t)?`${e}${t},${e} ${t}`:e,r):j(e,j(t!=null?t:o,r))},transformCSS(e,t,s,r,o={},i,n,u){var m,a;if(x(t)){let{cssLayer:l}=o;if(r!=="style"){let c=this.getColorSchemeOption(o,n),p=(a=(m=n==null?void 0:n.variable)==null?void 0:m.selector)!=null?a:":root,:host";t=s==="dark"?c.reduce((g,{type:f,selector:h})=>(x(h)&&(g+=h.includes("[CSS]")?h.replace("[CSS]",t):this.getSelectorRule(h,u,f,t,p)),g),""):j(u!=null?u:p,t)}if(l){let c={name:"primeui",order:"primeui"};fe(l)&&(c.name=ie(l.name,{name:e,type:r})),x(c.name)&&(t=j(` ${c.name}`,t),i==null||i.layerNames(c.name))}return t}return""}};var S={defaults:{variable:{prefix:"p",selector:":root,:host",excludedKeyRegex:/^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states|extend|css)$/gi},options:{prefix:"p",darkModeSelector:"system",cssLayer:!1,cssVariables:!0,scoped:!1}},_theme:void 0,_layerNames:new Set,_loadedStyleNames:new Set,_loadingStyles:new Set,_tokens:{},_scopedTokenPaths:new Set,update(e={}){let{theme:t}=e;t&&(this._theme=C(y({},t),{options:y(y({},this.defaults.options),t.options)}),this._tokens=$.createTokens(this.preset,this.defaults),this.resetCaches())},get theme(){return this._theme},get preset(){var e;return((e=this.theme)==null?void 0:e.preset)||{}},get options(){var e;return((e=this.theme)==null?void 0:e.options)||{}},get tokens(){return this._tokens},hasScopedTokenPath(e){return this._scopedTokenPaths.has(e)},getScopedTokenPaths(){return[...this._scopedTokenPaths]},addScopedToken(e){let t=!1;return e&&Object.keys(e).length&&Vt(e).forEach(s=>{let r=Rt(s);this._scopedTokenPaths.has(r)||(this._scopedTokenPaths.add(r),t=!0)}),t},clearScopedTokenPaths(){this._scopedTokenPaths.clear()},getTheme(){return this.theme},setTheme(e){this.update({theme:e}),R.emit("theme:change",e)},getPreset(){return this.preset},setPreset(e){this._theme=C(y({},this.theme),{preset:e}),this._tokens=$.createTokens(e,this.defaults),this.resetCaches(),R.emit("preset:change",e),R.emit("theme:change",this.theme)},getOptions(){return this.options},setOptions(e){this._theme=C(y({},this.theme),{options:e}),this.resetStyleCaches(),R.emit("options:change",e),R.emit("theme:change",this.theme)},resetStyleCaches(){this.clearLoadedStyleNames(),this.clearLayerNames()},resetCaches(){this.resetStyleCaches(),this.clearScopedTokenPaths()},getLayerNames(){return[...this._layerNames]},setLayerNames(e){this._layerNames.add(e)},clearLayerNames(){this._layerNames.clear()},getLoadedStyleNames(){return this._loadedStyleNames},isStyleNameLoaded(e){return this._loadedStyleNames.has(e)},setLoadedStyleName(e){this._loadedStyleNames.add(e)},deleteLoadedStyleName(e){this._loadedStyleNames.delete(e)},clearLoadedStyleNames(){this._loadedStyleNames.clear()},getTokenValue(e){return $.getTokenValue(this.tokens,e,this.defaults)},getCommon(e="",t){return $.getCommon({name:e,theme:this.theme,params:t,defaults:this.defaults,set:{layerNames:this.setLayerNames.bind(this)}})},getComponent(e="",t){let s={name:e,theme:this.theme,params:t,defaults:this.defaults,set:{layerNames:this.setLayerNames.bind(this)}};return $.getPresetC(s)},getDirective(e="",t){let s={name:e,theme:this.theme,params:t,defaults:this.defaults,set:{layerNames:this.setLayerNames.bind(this)}};return $.getPresetD(s)},getCustomPreset(e="",t,s,r){let o={name:e,preset:t,options:this.options,selector:s,params:r,defaults:this.defaults,set:{layerNames:this.setLayerNames.bind(this)},isScopedTokenPaths:!0};return $.getPreset(o)},getLayerOrderCSS(e=""){return $.getLayerOrder(e,this.options,{names:this.getLayerNames()},this.defaults)},transformCSS(e="",t,s="style",r){return $.transformCSS(e,t,r,s,this.options,{layerNames:this.setLayerNames.bind(this)},this.defaults)},getCommonStyleSheet(e="",t,s={}){return $.getCommonStyleSheet({name:e,theme:this.theme,params:t,props:s,defaults:this.defaults,set:{layerNames:this.setLayerNames.bind(this)}})},getStyleSheet(e,t,s={}){return $.getStyleSheet({name:e,theme:this.theme,params:t,props:s,defaults:this.defaults,set:{layerNames:this.setLayerNames.bind(this)}})},onStyleMounted(e){this._loadingStyles.add(e)},onStyleUpdated(e){this._loadingStyles.add(e)},onStyleLoaded(e,{name:t}){this._loadingStyles.size&&(this._loadingStyles.delete(t),R.emit(`theme:${t}:load`,e),this._loadingStyles.size||R.emit("theme:load"))}};function De(...e){let t=jt(S.getPreset(),...e);return S.setPreset(t),t}function Le(e){return A().primaryPalette(e!=null?e:{}).update().preset}function Ae(e){return A().surfacePalette(e!=null?e:{}).update().preset}import{deepMerge as Et}from"@primeuix/utils/object";function Me(e,...t){let s=Et(e,...t);return S.setPreset(s),s}function Be(e){return A(e).update({mergePresets:!1,mergeOptions:!1})}import{createStyleMarkup as wt,isNotEmpty as Nt}from"@primeuix/utils";var ke=class{constructor({attrs:t}={}){this._styles=new Map,this._attrs=t||{}}get(t){return this._styles.get(t)}has(t){return this._styles.has(t)}delete(t){this._styles.delete(t)}clear(){this._styles.clear()}add(t,s){if(Nt(s)){let r={name:t,css:s,attrs:this._attrs,markup:wt(s,this._attrs)};this._styles.set(t,C(y({},r),{element:this.createStyleElement(r)}))}}update(){}getStyles(){return this._styles}getAllCSS(){return[...this._styles.values()].map(t=>t.css).filter(t=>!!t)}getAllMarkup(){return[...this._styles.values()].map(t=>t.markup).filter(t=>!!t)}getAllElements(){return[...this._styles.values()].map(t=>t.element)}createStyleElement(t={}){}},Dt=ke;export{us as $dt,A as $t,re as CALC_REGEX,P as EXPR_REGEX,Dt as StyleSheet,S as Theme,R as ThemeService,$ as ThemeUtils,ne as VAR_REGEX,gs as css,xe as definePreset,N as dt,pe as dtwt,ue as evaluateDtExpressions,It as getComputedValue,j as getRule,ce as getVariableName,L as getVariableValue,gt as hasOddBraces,zt as merge,X as mix,Tt as palette,$e as setProperty,de as shade,me as tint,pt as toNormalizePrefix,oe as toNormalizeVariable,K as toTokenKey,Gt as toUnit,Pe as toValue,ge as toVariables,De as updatePreset,Le as updatePrimaryPalette,Ae as updateSurfacePalette,Me as usePreset,Be as useTheme};