effcss 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /*
2
- * EffCSS v3.2.0
2
+ * EffCSS v3.3.0
3
3
  * {@link https://gitverse.ru/msabitov/effcss}
4
4
  * Copyright (c) Marat Sabitov
5
5
  * @license Apache-2.0
6
6
  */
7
- "function"==typeof SuppressedError&&SuppressedError;const t="@media",e="@container",s="@property",r="@keyframes",n="@layer",i="@scope",o="@supports",c=(e,s)=>{const r=t+` ${s||""}${s?" and ":""}(${e})`;return{s:r,q:e,t:s,toString:()=>r}};c.toString=()=>t;const a=t=>t+"px",l=t=>t+"vh",h=t=>t+"vw",u=t=>t+"vmin",d=t=>t+"vmax",p=t=>t+"rem",m=t=>t+"deg",f=t=>t+"ms",g=t=>t+"%",$=t=>t+"cqw",v=t=>t+"cqh",y=t=>t+"cqi",b=t=>t+"cqb",_=t=>t+"cqmin",k=t=>t+"cqmax",x=Object.fromEntries,S=Object.entries,j=":first-",w=":last-",q=":only-",O="child",A=":nth-",E="of-type",P=A+O,C=":focus",I={r:":root",h:":hover",f:C,fv:C+"-visible",a:":active",v:":visited",val:":valid",inv:":invalid",e:":empty",d:":disabled",rq:":required",o:":optional",m:":modal",l:":link",ph:":placeholder",ch:":checked",po:":popover-open",fc:j+O,lc:w+O,oc:q+O,odd:P+"(odd)",even:P+"(even)",ft:j+E,lt:w+E,ot:q+E,bef:"::before",aft:"::after",bd:"::backdrop"},W={has:":has",not:":not",is:":is",wh:":where",st:":state",nthc:P,ntho:A+E,dir:":dir",lang:":lang"},K="oklch",M=t=>K+`(${t})`,B=t=>M(`from ${t}`),L="def",N=t=>{const e=(e,s)=>"string"==typeof s?t(e,s):s;class s{constructor(t={}){this.state={l:e("l",L),c:e("c",L),h:e("h",L),a:e("a",L)},this.merge=t=>new s(Object.assign(this.state,t)),this.l=t=>this.merge({l:e("l",t)}),this.c=t=>this.merge({c:e("c",t)}),this.h=t=>this.merge({h:e("h",t)}),this.a=t=>this.merge({a:e("a",t)}),this.state=Object.assign(this.state,t)}get s(){return this.toString()}toString(){const{l:t,c:e,h:s,a:r}=this.state;return M(`${t} ${e} ${s} / ${r}`)}}return t=>new s(t)},R=(t,e=.1)=>B(`${t} calc(l + ${e}) c h / alpha)`),z=(t,e=.1)=>B(`${t} calc(l - ${e}) c h / alpha)`),H=(t,e=.1)=>B(`${t} l c h / calc(alpha + ${e}))`),T=(t,e=.1)=>B(`${t} l c h / calc(alpha - ${e}))`),V=(t,e=.04)=>B(`${t} l calc(c + ${e}) h / alpha)`),Z=(t,e=.04)=>B(`${t} l calc(c - ${e}) h / alpha)`),D=(t,e=30)=>B(`${t} l c calc(h${"number"==typeof e?e>0?" + "+e:" - "+-e:e}) / alpha)`),F=({base:t,mixin:e,method:s,bpart:r,mpart:n})=>`color-mix(in ${s||K}, ${t}${void 0!==r?` ${r}%`:""}, ${e}${void 0!==n?` ${n}%`:""})`,G=t=>({create:N(t),oklch:M,lighten:R,darken:z,saturate:V,desaturate:Z,fadein:H,fadeout:T,spin:D,mix:F}),J=Object.assign,Q=Object.entries,U=Array.isArray,X=(t,...e)=>e.length?e.reduce(((t,e)=>(Q(e).forEach((([e,s])=>{s&&"object"==typeof s&&t[e]?U(t[e])&&U(s)?t[e]=[...t[e],...s]:X(t[e],s||{}):t[e]=s})),t)),t):t,Y=(t,e,s)=>Object.entries(t).reduce(e,s),tt=(t,e,s)=>{var r,n,i;let o=""+t;return null==e?"":"object"==typeof e?(!s||(null===(r=s.startsWith)||void 0===r?void 0:r.call(s,"@"))||(null===(n=o.startsWith)||void 0===n?void 0:n.call(o,"&"))||(null===(i=o.startsWith)||void 0===i?void 0:i.call(o,"@"))?"":"&")+o+`{${Y(e,((t,e)=>t+tt(...e,o)),"")}}`:`${c=o,c.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}:${""+e};`;var c},et={dash:(...t)=>t.join("-"),comma:(...t)=>t.join(),space:(...t)=>t.join(" "),range:(t,e)=>Array.from(Array(t).entries()).reduce(((t,[s])=>J(t,e(s+1))),{}),each:(t,e)=>Q(t).reduce(((t,[s,r])=>J(t,e(s,r))),{}),merge:X,when:(t,e,s={})=>t?e:s},st="width: ",rt=t=>{const{scope:j,globalKey:w="",bp:q={}}=t,O=j(w),A=t=>O.varExp(...t.split(".")),E=t=>`calc(${t} * ${A("rtime")})`;return{compile:({key:t,maker:w})=>{const P=j(t),C=(t=>{const a={cp:1,lay:1,kf:1,cq:1},l=(s,r)=>{const n="string"==typeof r?r:t.name("cq",a.cq++),i=e+` ${n?n+" ":""}(${s})`;return{c:n,q:s,s:i,toString:()=>i}};l.toString=()=>e;const h=(e,r)=>{const n="--"+(e||t.name("cp",a.cp++)),i=s+" "+n;return{k:n,v:`var(${n})`,s:i,r:{[i]:{syntax:(null==r?void 0:r.syn)||'"*"',inherits:(null==r?void 0:r.inh)||!1,initialValue:null==r?void 0:r.ini}},toString:()=>i}};h.toString=()=>s;const u=e=>{const s=e||t.name("kf",a.kf++),n=r+" "+s;return{k:s,s:n,toString:()=>n}};u.toString=()=>r;const d=e=>{const s=e||t.name("lay",a.lay++),r=n+" "+s;return{k:s,s:r,toString:()=>r}};d.toString=()=>n,d.toString=()=>i;const p=(t="",e=!1)=>{const s=o+` ${e?"not ":""}(${t})`;return{c:t,n:e,s:s,toString:()=>s}};return p.toString=()=>o,{pr:h,kf:u,mq:c,cq:l,lay:d,sc:(t="",e="")=>{const s=i+` ${t?`(${t})`:""}${t&&e?" ":""}${e?`to (${e})`:""}`;return{r:t,l:e,s:s,toString:()=>s}},sup:p}})(P),K=t=>{const e=q[t]||t;return"number"==typeof e?e+"rem":""},M=t=>"min-"+st+K(t),B=t=>"max-"+st+K(t),L=(t,e)=>"string"==typeof e?C.cq(t,e):C.mq(t),N=(t,e,s)=>""+L(M(t)+") and ("+B(e),s),R={up:(t,e)=>""+L(M(t),e),down:(t,e)=>""+L(B(t),e),between:N,only:(t,e)=>N(t,t,e)};return z=w(Object.assign(et,{key:t,vars:A,time:E,bem:P.selector,pseudo:Object.assign(x(S(I).map((([t,e])=>{function s(t=""){return t+e}return s.toString=()=>e,[t,s]}))),x(S(W).map((([t,e])=>{function s(t,s=""){return s+e+`(${t})`}return s.toString=()=>e,[t,s]})))),color:G(O.varExp),units:{px:a,vh:l,vw:h,vmin:u,vmax:d,rem:p,deg:m,ms:f,pc:g,cqw:$,cqh:v,cqb:b,cqi:y,cqmin:_,cqmax:k},at:C,limit:R})),Y(z,((t,e)=>t+tt(...e)),"");var z}}};const nt=void 0,it=Object.entries,ot=Object.defineProperties,ct=t=>`data-${t}`,at=t=>"string"==typeof t,lt=t=>null!==t&&"object"==typeof t,ht=(t,e)=>`${t}${e?"__"+e:""}`,ut=t=>t.split("."),dt=(t,e)=>it(t).reduce(((t,[s,r])=>{if(lt(r)){const n=it(r);n.length?t.push(...n.reduce(((t,[r,n])=>{if((t=>null!==t&&t!==nt)(r)&&e&&t.push([s,r,nt,nt]),lt(n)){const e=it(n);e.length&&t.push(...e.reduce(((t,[e,n])=>{const i=typeof n;return"string"!==i&&"number"!==i||t.push([s,r,e,n]),t}),[]))}return t}),[])):t.push([s,nt,nt,nt])}return t}),[]),pt=(t,e,s,r)=>""+(ht(t,e)+(s?"_"+s:"")+(s&&r?"_"+r:"")),mt=(t,e,s,r)=>"."+pt(t,e,s,r),ft=(t,e,s,r)=>`[${ct(ht(t,e))}${s&&r?`~="${s}_${r}"`:s?`~="${s}"`:""}]`,gt={def:.75,c:.05,s:.65,m:.75,l:.85,n:.9},$t="effcss-provider",vt={theme:null,hydrate:null,mode:"a",prefix:"f"},yt={bp:{"3xs":18,"2xs":24,xs:30,sm:40,md:48,lg:64,xl:80,"2xl":96},vars:{"":{rtime:"200ms",rem:16,l:gt,h:{def:261.35,b:261.35,i:194.77,e:29.23,w:70.66,s:142.49},c:{def:.03,xs:.03,s:.06,m:.1,l:.15,xl:.25},a:{def:1,min:0,xs:.1,s:.25,m:.5,l:.75,xl:.9,max:1},t:{def:300,xs:100,s:200,m:300,l:450,xl:600,no:0,min:50,max:750},int:[...Array(12).keys()],fr:{0:0,"1/12":"0.0833","1/10":"0.1","1/6":"0.1667","1/5":"0.2","1/4":"0.25","3/10":"0.3","1/3":"0.3333","2/5":"0.4","5/12":"0.4167","1/2":"0.5","7/12":"0.5833","3/5":"0.6","2/3":"0.6667","7/10":"0.7","3/4":"0.75","4/5":"0.8","5/6":"0.8333","9/10":"0.9","11/12":"0.9167",1:"1"},ar:{1:1,"2/1":2,"1/2":.5,"4/3":1.3333,"3/4":.75,"9/16":.5625,"16/9":1.7778}},light:{l:gt},dark:{l:{def:.4,n:.25,s:.3,m:.4,l:.5,c:.95}}}},bt=({prefix:t})=>{let e=1;return{get base(){return t+0},get current(){return t+e},next(){return e++,this.current},reset(){e=1}}},_t=()=>{const t=new Set,e=new Map;return{use(s,r){const n=e.get(s);return n||(t.add(r),e.set(s,r),r)},useMany(t){return it(t).map((([t,e])=>this.use(e,t)))},getKey:t=>e.get(t),get keys(){return[...t]},get makers(){return Object.fromEntries(e.entries().map((([t,e])=>[e,t])))}}},kt="theme",xt=Object.assign,St=Object.entries,jt=Object.fromEntries,wt=(t,e)=>t.getAttribute(e)||vt[e];!function(t={}){const e=window.document,s=window.customElements;if(null==s?void 0:s.get($t))return!1;{class r extends HTMLScriptElement{constructor(){super(...arguments),this._c=_t(),this._m=function(){let t={},e={},s=[],r=[];const n=(t,e)=>(e.toString=()=>"effcss-"+t,e),i=t=>{var e;return t.adoptedStyleSheets=[...(null===(e=t.adoptedStyleSheets)||void 0===e?void 0:e.length)?[...t.adoptedStyleSheets].filter((t=>!(t+"").startsWith("effcss-"))):[],...s]},o=()=>{r=r.reduce(((t,e)=>{const s=e.deref();return s&&(i(s),t.push(e)),t}),[])},c=t=>s.findIndex((e=>e===t)),a=e=>e?t[e]:void 0,l=(e,r)=>{if(!t[e])return t[e]=n(e,r),s.push(t[e]),o(),!0},h=t=>{const e=a(t);return!!e&&-1!==c(e)};return{apply:i,notify:o,getIndex:c,get:a,has:t=>!!t&&!!a(t),getAll:()=>t,add:l,status:h,on:(...t)=>{const e=t.reduce(((t,e)=>{const r=a(e);return!(!r||h(e))&&(s.push(r),t)}),!0);return o(),e},off:(...t)=>{const e=t.reduce(((t,e)=>{const r=a(e);if(r&&h(e)){const e=c(r);return s.splice(e,1),t}return!1}),!0);return o(),e},remove:r=>{const n=a(r);if(!n)return;const i=c(n);return i>-1&&(s.splice(i,1),delete t[r],delete e[r]),o(),!0},removeAll:()=>(s.splice(0),t={},e={},o(),!0),pack:(t,e)=>{let s=new CSSStyleSheet;return s.replaceSync(e),s=n(t,s),!!s.cssRules.length&&l(t,s)},replace:(e,s)=>{const r=t[e];if(r)return r.replaceSync(s),o(),!0},register:t=>{r.findIndex((e=>e.deref()===t))>=0||(r.push(new WeakRef(t)),i(t))},unregister:t=>{const e=r.findIndex((e=>e.deref()===t));e>=0&&r.splice(e,1)}}}(),this._cust=(t={})=>{const{varName:e}=this._s(this._k.base);function s(t,r){return St(t).reduce(((t,[n,i])=>i&&"object"==typeof i?xt(t,s(i,[...r,n])):(t[e(...r,n)]=i,t)),{})}const r=jt(St(t||{}).map((([t,e])=>[t,s(e,[])]))),{"":n={},dark:i,light:o}=r,c=function(t,e){var s={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(s[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(t);n<r.length;n++)e.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(t,r[n])&&(s[r[n]]=t[r[n]])}return s}(r,["","dark","light"]);this._=({bem:t,each:e,when:s,vars:r,merge:a,at:{mq:l}})=>{const h="prefers-color-scheme",u={light:`${h}: light`,dark:`${h}: dark`};return a({[`:root:has(script[is=${$t}])`]:a({fontSize:r("rem")},n)},s(!!i,{[l(u.dark).s]:i}),s(!!o,{[l(u.light).s]:o}),e(c,((e,s)=>({[`:root:has(script[is=${$t}][${kt}=${e}])`]:s,[t(`..theme.${e}`)]:s}))))},this.use(this._,this._k.base)},this.use=(t,e)=>{const s=e||this._k.current;let r=this._c.use(t,s);return this._m&&!this._m.has(e)&&this._m.pack(r,this.css(t,r)),e||this._k.next(),this.resolve(r)},this.usePublic=t=>jt(St(t).map((([t,e])=>[t,this.use(e,t)]))),this.usePrivate=t=>t.map((t=>this.use(t))),this.resolve=t=>this._s(t||this._k.base).attr,this.css=(t,e)=>this._p.compile({key:e,maker:t}),this.status=t=>{const e=this.key(t);return!!e&&this._m.status(e)},this.on=(...t)=>this._m.on(...t.map(this.key)),this.off=(...t)=>this._m.off(...t.map(this.key)),this.key=t=>"string"==typeof t?t:this._c.getKey(t),this.stylesheets=(t=this._c.keys)=>t.map((t=>this._m.get(this.key(t))))}get prefix(){return wt(this,"prefix")||""}get mode(){return wt(this,"mode")}get hydrate(){return""===this.getAttribute("hydrate")}get settings(){return this._settings}set settings(t){var e,s,r;const n=xt({},this._settings,t),{makers:i,vars:o,bp:c,off:a}=n;c&&(null===(e=this._settings)||void 0===e?void 0:e.bp)!==c&&(this._p=rt({scope:this._s,globalKey:this._k.base,bp:c})),o&&(null===(s=this._settings)||void 0===s?void 0:s.vars)!==o&&this._cust(o),i&&(null===(r=this._settings)||void 0===r?void 0:r.makers)!==i&&(this._c.useMany(i),this.usePublic(i),(null==a?void 0:a.length)&&this._settings.off!==a&&this.off(...a),this.hydrate&&this._k.reset()),this._settings=n}set theme(t){t?this.setAttribute(kt,t):this.removeAttribute(kt)}get theme(){return wt(this,kt)||""}connectedCallback(){this._k=bt({prefix:this.prefix}),this._s=((t={})=>{const{mode:e}=t;let s,r;return t=>{const n=(...e)=>""+e.filter(Boolean).reduce(((t,e)=>`${t}-${e}`),t),i=(...t)=>"--"+n(...t);return"c"===e?(s=t=>{let e,s,r,i;return at(t)?([e,s,r,i]=ut(t),mt(n(e),s,r,i)):t&&dt(t).map((([t,e,s,r])=>mt(n(t),e,s,r))).join(",")},r=t=>{let e,s,r,i;const o="class";let c="";return Array.isArray(t)?c=[...t.reduce(((t,o)=>([e,s,r,i]=ut(o),t.add(pt(n(e),s)),r&&t.add(pt(n(e),s,r,i)),t)),new Set).values()].join(" "):at(t)?([e,s,r,i]=ut(t),c=pt(n(e),s,r,i)):c=t&&dt(t,!0).map((([t,e,s,r])=>pt(n(t),e,s,r))).join(" "),ot({[o]:c},{toString:{value:()=>`${o}="${c}"`}})}):(s=t=>{let e,s,r,i;return at(t)?([e,s,r,i]=ut(t),ft(n(e),s,r,i)):t&&dt(t).map((([t,e,s,r])=>ft(n(t),e,s,r))).join(",")},r=t=>{let e,s,r,i,o,c,a="";if(Array.isArray(t))c=t.reduce(((t,c)=>{[e,s,r,i]=ut(c);const l=ht(n(e),s);return o=ct(l),a=r?i?`${r}_${i}`:`${r}`:"",t[o]&&a?t[o]=t[o]+" "+a:t[o]=a,t}),{});else if(at(t)){[e,s,r,i]=ut(t);const l=ht(n(e),s);o=ct(l),a=r?i?`${r}_${i}`:`${r}`:"",c={[o]:a}}else c=t&&dt(t,!0).reduce(((t,[e,s,r,i])=>{const c=ht(n(e),s);o=ct(c);const l=r?i?`${r}_${i}`:`${r}`:"";return a=t[o]?t[o]+" "+l:l,t[o]=a,t}),{});return ot(c,{toString:{value:()=>it(c).map((([t,e])=>`${t}="${e}"`)).join(" ")}}),c}),{selector:s,attr:r,name:n,varName:i,varExp:(...t)=>`var(${i(...t)})`}}})({mode:this.mode});const s=this;this._n={set adoptedStyleSheets(t){s.dispatchEvent(new CustomEvent("effcsschanges",{detail:{styles:t},bubbles:!0}))}},this._m.register(this._n),this._m.register(e),this.settings=xt({},yt,t)}toString(){return`<script ${[...this.attributes].map((t=>t.value?`${t.name}="${t.value}"`:""===t.value?t.name:"")).filter(Boolean).join(" ")}>${this.textContent}<\/script>`}}s.define($t,r,{extends:"script"})}}();
7
+ "function"==typeof SuppressedError&&SuppressedError;const t="@media",e="@container",s="@property",r="@keyframes",i="@layer",n="@scope",o="@supports",c=(e,s)=>{const r=t+` ${s||""}${s?" and ":""}(${e})`;return{s:r,q:e,t:s,toString:()=>r}};c.toString=()=>t;const a=t=>t+"px",l=t=>t+"vh",h=t=>t+"vw",u=t=>t+"vmin",m=t=>t+"vmax",d=t=>t+"rem",p=t=>t+"deg",g=t=>t+"ms",f=t=>t+"%",v=t=>t+"cqw",$=t=>t+"cqh",b=t=>t+"cqi",y=t=>t+"cqb",_=t=>t+"cqmin",k=t=>t+"cqmax",x=Object.fromEntries,S=Object.entries,j=":first-",w=":last-",A=":only-",q="child",O=":nth-",E="of-type",z=O+q,C=":focus",P={r:":root",h:":hover",f:C,fv:C+"-visible",a:":active",v:":visited",val:":valid",inv:":invalid",e:":empty",d:":disabled",rq:":required",o:":optional",m:":modal",l:":link",ph:":placeholder",ch:":checked",po:":popover-open",fc:j+q,lc:w+q,oc:A+q,odd:z+"(odd)",even:z+"(even)",ft:j+E,lt:w+E,ot:A+E,bef:"::before",aft:"::after",bd:"::backdrop"},I={has:":has",not:":not",is:":is",wh:":where",st:":state",nthc:z,ntho:O+E,dir:":dir",lang:":lang"},W="oklch",K=t=>W+`(${t})`,M=t=>K(`from ${t}`),N="def",B=t=>{const e=(e,s)=>"string"==typeof s?t(e,s):s;class s{constructor(t={}){this.state={l:e("l",N),c:e("c",N),h:e("h",N),a:e("a",N)},this.merge=t=>new s(Object.assign(this.state,t)),this.l=t=>this.merge({l:e("l",t)}),this.c=t=>this.merge({c:e("c",t)}),this.h=t=>this.merge({h:e("h",t)}),this.a=t=>this.merge({a:e("a",t)}),this.state=Object.assign(this.state,t)}get s(){return this.toString()}toString(){const{l:t,c:e,h:s,a:r}=this.state;return K(`${t} ${e} ${s} / ${r}`)}}return t=>new s(t)},L=(t,e=.1)=>M(`${t} calc(l + ${e}) c h / alpha)`),R=(t,e=.1)=>M(`${t} calc(l - ${e}) c h / alpha)`),H=(t,e=.1)=>M(`${t} l c h / calc(alpha + ${e}))`),T=(t,e=.1)=>M(`${t} l c h / calc(alpha - ${e}))`),V=(t,e=.04)=>M(`${t} l calc(c + ${e}) h / alpha)`),Z=(t,e=.04)=>M(`${t} l calc(c - ${e}) h / alpha)`),D=(t,e=30)=>M(`${t} l c calc(h${"number"==typeof e?e>0?" + "+e:" - "+-e:e}) / alpha)`),F=({base:t,mixin:e,method:s,bpart:r,mpart:i})=>`color-mix(in ${s||W}, ${t}${void 0!==r?` ${r}%`:""}, ${e}${void 0!==i?` ${i}%`:""})`,G=t=>({create:B(t),oklch:K,lighten:L,darken:R,saturate:V,desaturate:Z,fadein:H,fadeout:T,spin:D,mix:F}),J=Object.assign,Q=Object.entries,U=Array.isArray,X=(t,...e)=>e.length?e.reduce(((t,e)=>(Q(e).forEach((([e,s])=>{s&&"object"==typeof s&&t[e]?U(t[e])&&U(s)?t[e]=[...t[e],...s]:X(t[e],s||{}):t[e]=s})),t)),t):t,Y=(t,e,s)=>Object.entries(t).reduce(e,s),tt=(t,e,s)=>{var r,i,n;let o=""+t;return null==e?"":"object"==typeof e?(!s||(null===(r=s.startsWith)||void 0===r?void 0:r.call(s,"@"))||(null===(i=o.startsWith)||void 0===i?void 0:i.call(o,"&"))||(null===(n=o.startsWith)||void 0===n?void 0:n.call(o,"@"))?"":"&")+o+`{${Y(e,((t,e)=>t+tt(...e,o)),"")}}`:`${c=o,c.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}:${""+e};`;var c},et={dash:(...t)=>t.join("-"),comma:(...t)=>t.join(),space:(...t)=>t.join(" "),range:(t,e)=>Array.from(Array(t).entries()).reduce(((t,[s])=>J(t,e(s+1))),{}),each:(t,e)=>Q(t).reduce(((t,[s,r])=>J(t,e(s,r))),{}),merge:X,when:(t,e,s={})=>t?e:s},st="width: ",rt=t=>{const{scope:j,globalKey:w="",bp:A={}}=t,q=j(w),O=t=>q.varExp(...t.split(".")),E=(t=1)=>`calc(${t} * ${O("rtime")})`;return{compile:({key:t,maker:w})=>{const z=j(t),C=(t=>{const a={cp:1,lay:1,kf:1,cq:1},l=(s,r)=>{const i="string"==typeof r?r:t.name("cq",a.cq++),n=e+` ${i?i+" ":""}(${s})`;return{c:i,q:s,s:n,toString:()=>n}};l.toString=()=>e;const h=(e,r)=>{const i="--"+(e||t.name("cp",a.cp++)),n=s+" "+i;return{k:i,v:`var(${i})`,s:n,r:{[n]:{syntax:(null==r?void 0:r.syn)||'"*"',inherits:(null==r?void 0:r.inh)||!1,initialValue:null==r?void 0:r.ini}},toString:()=>n}};h.toString=()=>s;const u=e=>{const s=e||t.name("kf",a.kf++),i=r+" "+s;return{k:s,s:i,toString:()=>i}};u.toString=()=>r;const m=e=>{const s=e||t.name("lay",a.lay++),r=i+" "+s;return{k:s,s:r,toString:()=>r}};m.toString=()=>i,m.toString=()=>n;const d=(t="",e=!1)=>{const s=o+` ${e?"not ":""}(${t})`;return{c:t,n:e,s:s,toString:()=>s}};return d.toString=()=>o,{pr:h,kf:u,mq:c,cq:l,lay:m,sc:(t="",e="")=>{const s=n+` ${t?`(${t})`:""}${t&&e?" ":""}${e?`to (${e})`:""}`;return{r:t,l:e,s:s,toString:()=>s}},sup:d}})(z),W=t=>{const e=A[t]||t;return"number"==typeof e?e+"rem":""},K=t=>"min-"+st+W(t),M=t=>"max-"+st+W(t),N=(t,e)=>"string"==typeof e?C.cq(t,e):C.mq(t),B=(t,e,s)=>""+N(K(t)+") and ("+M(e),s),L={up:(t,e)=>""+N(K(t),e),down:(t,e)=>""+N(M(t),e),between:B,only:(t,e)=>B(t,t,e)};return R=w(Object.assign(et,{key:t,vars:O,time:E,bem:z.selector,pseudo:Object.assign(x(S(P).map((([t,e])=>{function s(t=""){return t+e}return s.toString=()=>e,[t,s]}))),x(S(I).map((([t,e])=>{function s(t,s=""){return s+e+`(${t})`}return s.toString=()=>e,[t,s]})))),color:G(q.varExp),units:{px:a,vh:l,vw:h,vmin:u,vmax:m,rem:d,deg:p,ms:g,pc:f,cqw:v,cqh:$,cqb:y,cqi:b,cqmin:_,cqmax:k},at:C,limit:L})),Y(R,((t,e)=>t+tt(...e)),"");var R}}};const it=void 0,nt=Object.entries,ot=Object.defineProperties,ct=t=>`data-${t}`,at=t=>"string"==typeof t,lt=t=>null!==t&&"object"==typeof t,ht=(t,e)=>`${t}${e?"__"+e:""}`,ut=t=>t.split("."),mt=(t,e)=>nt(t).reduce(((t,[s,r])=>{if(lt(r)){const i=nt(r);i.length?t.push(...i.reduce(((t,[r,i])=>{if((t=>null!==t&&t!==it)(r)&&e&&t.push([s,r,it,it]),lt(i)){const e=nt(i);e.length&&t.push(...e.reduce(((t,[e,i])=>{const n=typeof i;return"string"!==n&&"number"!==n||t.push([s,r,e,i]),t}),[]))}return t}),[])):t.push([s,it,it,it])}return t}),[]),dt=(t,e,s,r)=>""+(ht(t,e)+(s?"_"+s:"")+(s&&r?"_"+r:"")),pt=(t,e,s,r)=>"."+dt(t,e,s,r),gt=(t,e,s,r)=>`[${ct(ht(t,e))}${s&&r?`~="${s}_${r}"`:s?`~="${s}"`:""}]`,ft={def:.75,c:.05,s:.65,m:.75,l:.85,n:.9},vt="effcss-provider",$t={theme:null,hydrate:null,mode:"a",prefix:"f",size:null,time:null},bt={bp:{"3xs":18,"2xs":24,xs:30,sm:40,md:48,lg:64,xl:80,"2xl":96},vars:{"":{rtime:"200ms",rem:"16px",l:ft,h:{def:261.35,b:261.35,i:194.77,e:29.23,w:70.66,s:142.49},c:{def:.03,xs:.03,s:.06,m:.1,l:.15,xl:.25},a:{def:1,min:0,xs:.1,s:.25,m:.5,l:.75,xl:.9,max:1},t:{def:300,xs:100,s:200,m:300,l:450,xl:600,no:0,min:50,max:750},int:[...Array(12).keys()],fr:{0:0,"1/12":"0.0833","1/10":"0.1","1/6":"0.1667","1/5":"0.2","1/4":"0.25","3/10":"0.3","1/3":"0.3333","2/5":"0.4","5/12":"0.4167","1/2":"0.5","7/12":"0.5833","3/5":"0.6","2/3":"0.6667","7/10":"0.7","3/4":"0.75","4/5":"0.8","5/6":"0.8333","9/10":"0.9","11/12":"0.9167",1:"1"},ar:{1:1,"2/1":2,"1/2":.5,"4/3":1.3333,"3/4":.75,"9/16":.5625,"16/9":1.7778}},light:{l:ft},dark:{l:{def:.4,n:.25,s:.3,m:.4,l:.5,c:.95}}}},yt=({prefix:t})=>{let e=1;return{get base(){return t+0},get current(){return t+e},next(){return e++,this.current},reset(){e=1}}},_t=()=>{const t=new Set,e=new Map;return{use(s,r){const i=e.get(s);return i||(t.add(r),e.set(s,r),r)},useMany(t){return nt(t).map((([t,e])=>this.use(e,t)))},getKey:t=>e.get(t),get keys(){return[...t]},get makers(){return Object.fromEntries(e.entries().map((([t,e])=>[e,t])))}}},kt="theme",xt=Object.assign,St=Object.entries,jt=Object.fromEntries,wt=(t,e)=>t.getAttribute(e)||$t[e];!function(t={}){const e=window.document,s=window.customElements;if(null==s?void 0:s.get(vt))return!1;{class r extends HTMLScriptElement{constructor(){super(...arguments),this._c=_t(),this._m=function(){let t={},e={},s=[],r=[];const i=(t,e)=>(e.toString=()=>"effcss-"+t,e),n=t=>{var e;return t.adoptedStyleSheets=[...(null===(e=t.adoptedStyleSheets)||void 0===e?void 0:e.length)?[...t.adoptedStyleSheets].filter((t=>!(t+"").startsWith("effcss-"))):[],...s]},o=()=>{r=r.reduce(((t,e)=>{const s=e.deref();return s&&(n(s),t.push(e)),t}),[])},c=t=>s.findIndex((e=>e===t)),a=e=>e?t[e]:void 0,l=(e,r)=>{if(!t[e])return t[e]=i(e,r),s.push(t[e]),o(),!0},h=t=>{const e=a(t);return!!e&&-1!==c(e)};return{apply:n,notify:o,getIndex:c,get:a,has:t=>!!t&&!!a(t),getAll:()=>t,add:l,status:h,on:(...t)=>{const e=t.reduce(((t,e)=>{const r=a(e);return!(!r||h(e))&&(s.push(r),t)}),!0);return o(),e},off:(...t)=>{const e=t.reduce(((t,e)=>{const r=a(e);if(r&&h(e)){const e=c(r);return s.splice(e,1),t}return!1}),!0);return o(),e},remove:r=>{const i=a(r);if(!i)return;const n=c(i);return n>-1&&(s.splice(n,1),delete t[r],delete e[r]),o(),!0},removeAll:()=>(s.splice(0),t={},e={},o(),!0),pack:(e,s)=>{let r=t[e]||new CSSStyleSheet;return r.replaceSync(s),r=i(e,r),!!r.cssRules.length&&l(e,r)},replace:(e,s)=>{const r=t[e];if(r)return r.replaceSync(s),o(),!0},register:t=>{r.findIndex((e=>e.deref()===t))>=0||(r.push(new WeakRef(t)),n(t))},unregister:t=>{const e=r.findIndex((e=>e.deref()===t));e>=0&&r.splice(e,1)}}}(),this._cust=(t={})=>{const{varName:e}=this._s(this._k.base);function s(t,r){return St(t).reduce(((t,[i,n])=>n&&"object"==typeof n?xt(t,s(n,[...r,i])):(t[e(...r,i)]=n,t)),{})}const r=jt(St(t||{}).map((([t,e])=>[t,s(e,[])]))),{"":i={},dark:n,light:o}=r,c=function(t,e){var s={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(s[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(s[r[i]]=t[r[i]])}return s}(r,["","dark","light"]),a=this.getAttribute("size"),l=this.getAttribute("time");this._=({bem:t,each:s,when:r,vars:h,merge:u,at:{mq:m},units:{px:d,ms:p}})=>{const g="prefers-color-scheme",f={light:`${g}: light`,dark:`${g}: dark`};return u({[`:root:has(script[is=${vt}])`]:u({fontSize:h("rem")},i)},r(!!n,{[m(f.dark).s]:n}),r(!!o,{[m(f.light).s]:o}),s(c,((e,s)=>({[`:root:has(script[is=${vt}][${kt}=${e}])`]:s,[t(`..theme.${e}`)]:s}))),r(!!a,{[`:root:has(script[is=${vt}][size])`]:{[e("","rem")]:d(a)}}),r(!!l,{[`:root:has(script[is=${vt}][time])`]:{[e("","rtime")]:p(l)}}))},this.use(this._,this._k.base,!0)},this.use=(t,e,s)=>{const r=e||this._k.current;let i=this._c.use(t,r);return(s||this._m&&!this._m.has(e))&&this._m.pack(i,this.css(t,i)),e||this._k.next(),this.resolve(i)},this.usePublic=t=>jt(St(t).map((([t,e])=>[t,this.use(e,t)]))),this.usePrivate=t=>t.map((t=>this.use(t))),this.resolve=t=>this._s(t||this._k.base).attr,this.css=(t,e)=>this._p.compile({key:e,maker:t}),this.status=t=>{const e=this.key(t);return!!e&&this._m.status(e)},this.on=(...t)=>this._m.on(...t.map(this.key)),this.off=(...t)=>this._m.off(...t.map(this.key)),this.key=t=>"string"==typeof t?t:this._c.getKey(t),this.stylesheets=(t=this._c.keys)=>t.map((t=>this._m.get(this.key(t))))}static get observedAttributes(){return["size","time"]}get prefix(){return wt(this,"prefix")||""}get mode(){return wt(this,"mode")}get hydrate(){return""===this.getAttribute("hydrate")}get settings(){return this._settings}set settings(t){var e,s,r;const i=xt({},this._settings,t),{makers:n,vars:o,bp:c,off:a}=i;c&&(null===(e=this._settings)||void 0===e?void 0:e.bp)!==c&&(this._p=rt({scope:this._s,globalKey:this._k.base,bp:c})),o&&(null===(s=this._settings)||void 0===s?void 0:s.vars)!==o&&this._cust(o),n&&(null===(r=this._settings)||void 0===r?void 0:r.makers)!==n&&(this._c.useMany(n),this.usePublic(n),(null==a?void 0:a.length)&&this._settings.off!==a&&this.off(...a),this.hydrate&&this._k.reset()),this._settings=i}set theme(t){t?this.setAttribute(kt,t):this.removeAttribute(kt)}get theme(){return wt(this,kt)||""}set size(t){null===t?this.removeAttribute("size"):this.setAttribute("size",t+"")}get size(){const t=this.getAttribute("size");return null!==t?Number(t):null}set time(t){null===t?this.removeAttribute("time"):this.setAttribute("time",t+"")}get time(){const t=this.getAttribute("time");return null!==t?Number(t):null}attributeChangedCallback(){var t;this._k&&this._cust(null===(t=this._settings)||void 0===t?void 0:t.vars)}connectedCallback(){this._k=yt({prefix:this.prefix}),this._s=((t={})=>{const{mode:e}=t;let s,r;return t=>{const i=(...e)=>""+e.filter(Boolean).reduce(((t,e)=>`${t}-${e}`),t),n=(...t)=>"--"+i(...t);return"c"===e?(s=t=>{let e,s,r,n;return at(t)?([e,s,r,n]=ut(t),pt(i(e),s,r,n)):t&&mt(t).map((([t,e,s,r])=>pt(i(t),e,s,r))).join(",")},r=t=>{let e,s,r,n;const o="class";let c="";return Array.isArray(t)?c=[...t.reduce(((t,o)=>([e,s,r,n]=ut(o),t.add(dt(i(e),s)),r&&t.add(dt(i(e),s,r,n)),t)),new Set).values()].join(" "):at(t)?([e,s,r,n]=ut(t),c=dt(i(e),s,r,n)):c=t&&mt(t,!0).map((([t,e,s,r])=>dt(i(t),e,s,r))).join(" "),ot({[o]:c},{toString:{value:()=>`${o}="${c}"`}})}):(s=t=>{let e,s,r,n;return at(t)?([e,s,r,n]=ut(t),gt(i(e),s,r,n)):t&&mt(t).map((([t,e,s,r])=>gt(i(t),e,s,r))).join(",")},r=t=>{let e,s,r,n,o,c,a="";if(Array.isArray(t))c=t.reduce(((t,c)=>{[e,s,r,n]=ut(c);const l=ht(i(e),s);return o=ct(l),a=r?n?`${r}_${n}`:`${r}`:"",t[o]&&a?t[o]=t[o]+" "+a:t[o]=a,t}),{});else if(at(t)){[e,s,r,n]=ut(t);const l=ht(i(e),s);o=ct(l),a=r?n?`${r}_${n}`:`${r}`:"",c={[o]:a}}else c=t&&mt(t,!0).reduce(((t,[e,s,r,n])=>{const c=ht(i(e),s);o=ct(c);const l=r?n?`${r}_${n}`:`${r}`:"";return a=t[o]?t[o]+" "+l:l,t[o]=a,t}),{});return ot(c,{toString:{value:()=>nt(c).map((([t,e])=>`${t}="${e}"`)).join(" ")}}),c}),{selector:s,attr:r,name:i,varName:n,varExp:(...t)=>`var(${n(...t)})`}}})({mode:this.mode});const s=this;this._n={set adoptedStyleSheets(t){s.dispatchEvent(new CustomEvent("effcsschanges",{detail:{styles:t},bubbles:!0}))}},this._m.register(this._n),this._m.register(e),this.settings=xt({},bt,t)}toString(){return`<script ${[...this.attributes].map((t=>t.value?`${t.name}="${t.value}"`:""===t.value?t.name:"")).filter(Boolean).join(" ")}>${this.textContent}<\/script>`}}s.define(vt,r,{extends:"script"})}}();
package/dist/consumer.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
- * EffCSS v3.2.0
2
+ * EffCSS v3.3.0
3
3
  * {@link https://gitverse.ru/msabitov/effcss}
4
4
  * Copyright (c) Marat Sabitov
5
5
  * @license Apache-2.0
6
6
  */
7
- const e=void 0,t=Object.entries,r=Object.defineProperties,n=e=>`data-${e}`,s=e=>"string"==typeof e,u=e=>null!==e&&"object"==typeof e,o=(e,t)=>`${e}${t?"__"+t:""}`,i=e=>e.split("."),a=(r,n)=>t(r).reduce(((r,[s,o])=>{if(u(o)){const i=t(o);i.length?r.push(...i.reduce(((r,[o,i])=>{if((t=>null!==t&&t!==e)(o)&&n&&r.push([s,o,e,e]),u(i)){const e=t(i);e.length&&r.push(...e.reduce(((e,[t,r])=>{const n=typeof r;return"string"!==n&&"number"!==n||e.push([s,o,t,r]),e}),[]))}return r}),[])):r.push([s,e,e,e])}return r}),[]),c=(e,t,r,n)=>""+(o(e,t)+(r?"_"+r:"")+(r&&n?"_"+n:"")),l=(e,t,r,n)=>"."+c(e,t,r,n),d=(e,t,r,s)=>`[${n(o(e,t))}${r&&s?`~="${r}_${s}"`:r?`~="${r}"`:""}]`,p="effcss-provider",m={theme:null,hydrate:null,mode:"a",prefix:"f"};Array(12).keys();const $=({prefix:e})=>{let t=1;return{get base(){return e+0},get current(){return e+t},next(){return t++,this.current},reset(){t=1}}},f=()=>{const e=new Set,r=new Map;return{use(t,n){const s=r.get(t);return s||(e.add(n),r.set(t,n),n)},useMany(e){return t(e).map((([e,t])=>this.use(t,e)))},getKey:e=>r.get(e),get keys(){return[...e]},get makers(){return Object.fromEntries(r.entries().map((([e,t])=>[t,e])))}}},g=(e={})=>{var u;let g,h,y,b,v=null===(u=null===globalThis||void 0===globalThis?void 0:globalThis.document)||void 0===u?void 0:u.querySelector(`script[is=${p}]`);if(v)return v;({prefix:h,mode:y,hydrate:b,theme:g}=Object.assign({},m,e));const j=new Set,x=()=>h||m.prefix,S=()=>y||m.mode,k=()=>""===b,O=$({prefix:x()}),_=((e={})=>{const{mode:u}=e;let p,m;return e=>{const $=(...t)=>""+t.filter(Boolean).reduce(((e,t)=>`${e}-${t}`),e),f=(...e)=>"--"+$(...e);return"c"===u?(p=e=>{let t,r,n,u;return s(e)?([t,r,n,u]=i(e),l($(t),r,n,u)):e&&a(e).map((([e,t,r,n])=>l($(e),t,r,n))).join(",")},m=e=>{let t,n,u,o;const l="class";let d="";return Array.isArray(e)?d=[...e.reduce(((e,r)=>([t,n,u,o]=i(r),e.add(c($(t),n)),u&&e.add(c($(t),n,u,o)),e)),new Set).values()].join(" "):s(e)?([t,n,u,o]=i(e),d=c($(t),n,u,o)):d=e&&a(e,!0).map((([e,t,r,n])=>c($(e),t,r,n))).join(" "),r({[l]:d},{toString:{value:()=>`${l}="${d}"`}})}):(p=e=>{let t,r,n,u;return s(e)?([t,r,n,u]=i(e),d($(t),r,n,u)):e&&a(e).map((([e,t,r,n])=>d($(e),t,r,n))).join(",")},m=e=>{let u,c,l,d,p,m,f="";if(Array.isArray(e))m=e.reduce(((e,t)=>{[u,c,l,d]=i(t);const r=o($(u),c);return p=n(r),f=l?d?`${l}_${d}`:`${l}`:"",e[p]&&f?e[p]=e[p]+" "+f:e[p]=f,e}),{});else if(s(e)){[u,c,l,d]=i(e);const t=o($(u),c);p=n(t),f=l?d?`${l}_${d}`:`${l}`:"",m={[p]:f}}else m=e&&a(e,!0).reduce(((e,[t,r,s,u])=>{const i=o($(t),r);p=n(i);const a=s?u?`${s}_${u}`:`${s}`:"";return f=e[p]?e[p]+" "+a:a,e[p]=f,e}),{});return r(m,{toString:{value:()=>t(m).map((([e,t])=>`${e}="${t}"`)).join(" ")}}),m}),{selector:p,attr:m,name:$,varName:f,varExp:(...e)=>`var(${f(...e)})`}}})({mode:S()}),A=f(),w=e=>"string"==typeof e?e:A.getKey(e),E=e=>_(e||O.base).attr,P=(e,t)=>{const r=t||O.current;let n=A.use(e,r);return t||O.next(),E(n)};return{get prefix(){return x()},get mode(){return S()},get hydrate(){return k()},set theme(e){g=e},get theme(){return g||""},get settings(){return{bp:undefined,vars:undefined,off:[...j],makers:A.makers}},set settings(e){},resolve:E,use:P,usePublic:e=>Object.fromEntries(Object.entries(e).map((([e,t])=>[e,P(t,e)]))),usePrivate:e=>e.map((e=>P(e))),css:()=>"",key:w,status:e=>{const t=w(e);return!!t&&!j.has(t)},on:(...e)=>e.map(w).reduce(((e,t)=>e&&!!t&&j.delete(t)),!0),off:(...e)=>e.map(w).reduce(((e,t)=>e&&!!t&&!!j.add(t)),!0),stylesheets:()=>[],toString(){const e=A.makers;delete e[O.base];const t=Object.entries({is:p,prefix:x(),mode:S(),hydrate:k(),theme:g}).map((([e,t])=>t?`${e}="${t}"`:""===t?e:"")).filter(Boolean).join(" "),r=`document.currentScript.settings = {makers: {${e?Object.entries(e).reduce(((e,[t,r])=>e+`${e?",":""}${t}: ${r.toString().replaceAll(/\s+/g," ")}`),""):""}},${j.size?` off: [${[...j]}]`:""}}`;return`<script ${t}>${r}<\/script>`}}};export{g as createConsumer};
7
+ const e=void 0,t=Object.entries,r=Object.defineProperties,n=e=>`data-${e}`,s=e=>"string"==typeof e,u=e=>null!==e&&"object"==typeof e,i=(e,t)=>`${e}${t?"__"+t:""}`,o=e=>e.split("."),l=(r,n)=>t(r).reduce(((r,[s,i])=>{if(u(i)){const o=t(i);o.length?r.push(...o.reduce(((r,[i,o])=>{if((t=>null!==t&&t!==e)(i)&&n&&r.push([s,i,e,e]),u(o)){const e=t(o);e.length&&r.push(...e.reduce(((e,[t,r])=>{const n=typeof r;return"string"!==n&&"number"!==n||e.push([s,i,t,r]),e}),[]))}return r}),[])):r.push([s,e,e,e])}return r}),[]),a=(e,t,r,n)=>""+(i(e,t)+(r?"_"+r:"")+(r&&n?"_"+n:"")),c=(e,t,r,n)=>"."+a(e,t,r,n),d=(e,t,r,s)=>`[${n(i(e,t))}${r&&s?`~="${r}_${s}"`:r?`~="${r}"`:""}]`,m="effcss-provider",p={theme:null,hydrate:null,mode:"a",prefix:"f",size:null,time:null};Array(12).keys();const $=({prefix:e})=>{let t=1;return{get base(){return e+0},get current(){return e+t},next(){return t++,this.current},reset(){t=1}}},g=()=>{const e=new Set,r=new Map;return{use(t,n){const s=r.get(t);return s||(e.add(n),r.set(t,n),n)},useMany(e){return t(e).map((([e,t])=>this.use(t,e)))},getKey:e=>r.get(e),get keys(){return[...e]},get makers(){return Object.fromEntries(r.entries().map((([e,t])=>[t,e])))}}},f=e=>null==e?null:Number(e),h=(e={})=>{var u;let h,y,b,v,j,x,S=null===(u=null===globalThis||void 0===globalThis?void 0:globalThis.document)||void 0===u?void 0:u.querySelector(`script[is=${m}]`);if(S)return S;({prefix:y,mode:b,hydrate:v,theme:h,size:j,time:x}=Object.assign({},p,e));let k=f(j),O=f(x);const _=new Set,z=()=>y||p.prefix,A=()=>b||p.mode,w=()=>""===v,E=$({prefix:z()}),P=((e={})=>{const{mode:u}=e;let m,p;return e=>{const $=(...t)=>""+t.filter(Boolean).reduce(((e,t)=>`${e}-${t}`),e),g=(...e)=>"--"+$(...e);return"c"===u?(m=e=>{let t,r,n,u;return s(e)?([t,r,n,u]=o(e),c($(t),r,n,u)):e&&l(e).map((([e,t,r,n])=>c($(e),t,r,n))).join(",")},p=e=>{let t,n,u,i;const c="class";let d="";return Array.isArray(e)?d=[...e.reduce(((e,r)=>([t,n,u,i]=o(r),e.add(a($(t),n)),u&&e.add(a($(t),n,u,i)),e)),new Set).values()].join(" "):s(e)?([t,n,u,i]=o(e),d=a($(t),n,u,i)):d=e&&l(e,!0).map((([e,t,r,n])=>a($(e),t,r,n))).join(" "),r({[c]:d},{toString:{value:()=>`${c}="${d}"`}})}):(m=e=>{let t,r,n,u;return s(e)?([t,r,n,u]=o(e),d($(t),r,n,u)):e&&l(e).map((([e,t,r,n])=>d($(e),t,r,n))).join(",")},p=e=>{let u,a,c,d,m,p,g="";if(Array.isArray(e))p=e.reduce(((e,t)=>{[u,a,c,d]=o(t);const r=i($(u),a);return m=n(r),g=c?d?`${c}_${d}`:`${c}`:"",e[m]&&g?e[m]=e[m]+" "+g:e[m]=g,e}),{});else if(s(e)){[u,a,c,d]=o(e);const t=i($(u),a);m=n(t),g=c?d?`${c}_${d}`:`${c}`:"",p={[m]:g}}else p=e&&l(e,!0).reduce(((e,[t,r,s,u])=>{const o=i($(t),r);m=n(o);const l=s?u?`${s}_${u}`:`${s}`:"";return g=e[m]?e[m]+" "+l:l,e[m]=g,e}),{});return r(p,{toString:{value:()=>t(p).map((([e,t])=>`${e}="${t}"`)).join(" ")}}),p}),{selector:m,attr:p,name:$,varName:g,varExp:(...e)=>`var(${g(...e)})`}}})({mode:A()}),T=g(),B=e=>"string"==typeof e?e:T.getKey(e),K=e=>P(e||E.base).attr,M=(e,t)=>{const r=t||E.current;let n=T.use(e,r);return t||E.next(),K(n)};return{get prefix(){return z()},get mode(){return A()},get hydrate(){return w()},set theme(e){h=e},get theme(){return h||""},get size(){return k},set size(e){k=e},get time(){return O},set time(e){O=e},get settings(){return{bp:undefined,vars:undefined,off:[..._],makers:T.makers}},set settings(e){},resolve:K,use:M,usePublic:e=>Object.fromEntries(Object.entries(e).map((([e,t])=>[e,M(t,e)]))),usePrivate:e=>e.map((e=>M(e))),css:()=>"",key:B,status:e=>{const t=B(e);return!!t&&!_.has(t)},on:(...e)=>e.map(B).reduce(((e,t)=>e&&!!t&&_.delete(t)),!0),off:(...e)=>e.map(B).reduce(((e,t)=>e&&!!t&&!!_.add(t)),!0),stylesheets:()=>[],toString(){const e=T.makers;delete e[E.base];const t=Object.entries({is:m,prefix:z(),mode:A(),hydrate:w(),theme:h,size:null!==k&&String(k),time:null!==O&&String(O)}).map((([e,t])=>t?`${e}="${t}"`:""===t?e:"")).filter(Boolean).join(" "),r=`document.currentScript.settings = {makers: {${e?Object.entries(e).reduce(((e,[t,r])=>e+`${e?",":""}${t}: ${r.toString().replaceAll(/\s+/g," ")}`),""):""}},${_.size?` off: [${[..._]}]`:""}}`;return`<script ${t}>${r}<\/script>`}}};export{h as createConsumer};
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
- * EffCSS v3.2.0
2
+ * EffCSS v3.3.0
3
3
  * {@link https://gitverse.ru/msabitov/effcss}
4
4
  * Copyright (c) Marat Sabitov
5
5
  * @license Apache-2.0
6
6
  */
7
- "function"==typeof SuppressedError&&SuppressedError;const t="@media",e="@container",s="@property",r="@keyframes",n="@layer",i="@scope",o="@supports",c=(e,s)=>{const r=t+` ${s||""}${s?" and ":""}(${e})`;return{s:r,q:e,t:s,toString:()=>r}};c.toString=()=>t;const a=t=>t+"px",l=t=>t+"vh",h=t=>t+"vw",u=t=>t+"vmin",d=t=>t+"vmax",p=t=>t+"rem",m=t=>t+"deg",f=t=>t+"ms",g=t=>t+"%",$=t=>t+"cqw",v=t=>t+"cqh",y=t=>t+"cqi",b=t=>t+"cqb",_=t=>t+"cqmin",k=t=>t+"cqmax",x=Object.fromEntries,S=Object.entries,j=":first-",w=":last-",q=":only-",O="child",A=":nth-",E="of-type",P=A+O,C=":focus",I={r:":root",h:":hover",f:C,fv:C+"-visible",a:":active",v:":visited",val:":valid",inv:":invalid",e:":empty",d:":disabled",rq:":required",o:":optional",m:":modal",l:":link",ph:":placeholder",ch:":checked",po:":popover-open",fc:j+O,lc:w+O,oc:q+O,odd:P+"(odd)",even:P+"(even)",ft:j+E,lt:w+E,ot:q+E,bef:"::before",aft:"::after",bd:"::backdrop"},W={has:":has",not:":not",is:":is",wh:":where",st:":state",nthc:P,ntho:A+E,dir:":dir",lang:":lang"},K="oklch",M=t=>K+`(${t})`,B=t=>M(`from ${t}`),L="def",N=t=>{const e=(e,s)=>"string"==typeof s?t(e,s):s;class s{constructor(t={}){this.state={l:e("l",L),c:e("c",L),h:e("h",L),a:e("a",L)},this.merge=t=>new s(Object.assign(this.state,t)),this.l=t=>this.merge({l:e("l",t)}),this.c=t=>this.merge({c:e("c",t)}),this.h=t=>this.merge({h:e("h",t)}),this.a=t=>this.merge({a:e("a",t)}),this.state=Object.assign(this.state,t)}get s(){return this.toString()}toString(){const{l:t,c:e,h:s,a:r}=this.state;return M(`${t} ${e} ${s} / ${r}`)}}return t=>new s(t)},R=(t,e=.1)=>B(`${t} calc(l + ${e}) c h / alpha)`),z=(t,e=.1)=>B(`${t} calc(l - ${e}) c h / alpha)`),H=(t,e=.1)=>B(`${t} l c h / calc(alpha + ${e}))`),T=(t,e=.1)=>B(`${t} l c h / calc(alpha - ${e}))`),V=(t,e=.04)=>B(`${t} l calc(c + ${e}) h / alpha)`),Z=(t,e=.04)=>B(`${t} l calc(c - ${e}) h / alpha)`),D=(t,e=30)=>B(`${t} l c calc(h${"number"==typeof e?e>0?" + "+e:" - "+-e:e}) / alpha)`),F=({base:t,mixin:e,method:s,bpart:r,mpart:n})=>`color-mix(in ${s||K}, ${t}${void 0!==r?` ${r}%`:""}, ${e}${void 0!==n?` ${n}%`:""})`,G=t=>({create:N(t),oklch:M,lighten:R,darken:z,saturate:V,desaturate:Z,fadein:H,fadeout:T,spin:D,mix:F}),J=Object.assign,Q=Object.entries,U=Array.isArray,X=(t,...e)=>e.length?e.reduce(((t,e)=>(Q(e).forEach((([e,s])=>{s&&"object"==typeof s&&t[e]?U(t[e])&&U(s)?t[e]=[...t[e],...s]:X(t[e],s||{}):t[e]=s})),t)),t):t,Y=(t,e,s)=>Object.entries(t).reduce(e,s),tt=(t,e,s)=>{var r,n,i;let o=""+t;return null==e?"":"object"==typeof e?(!s||(null===(r=s.startsWith)||void 0===r?void 0:r.call(s,"@"))||(null===(n=o.startsWith)||void 0===n?void 0:n.call(o,"&"))||(null===(i=o.startsWith)||void 0===i?void 0:i.call(o,"@"))?"":"&")+o+`{${Y(e,((t,e)=>t+tt(...e,o)),"")}}`:`${c=o,c.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}:${""+e};`;var c},et={dash:(...t)=>t.join("-"),comma:(...t)=>t.join(),space:(...t)=>t.join(" "),range:(t,e)=>Array.from(Array(t).entries()).reduce(((t,[s])=>J(t,e(s+1))),{}),each:(t,e)=>Q(t).reduce(((t,[s,r])=>J(t,e(s,r))),{}),merge:X,when:(t,e,s={})=>t?e:s},st="width: ",rt=t=>{const{scope:j,globalKey:w="",bp:q={}}=t,O=j(w),A=t=>O.varExp(...t.split(".")),E=t=>`calc(${t} * ${A("rtime")})`;return{compile:({key:t,maker:w})=>{const P=j(t),C=(t=>{const a={cp:1,lay:1,kf:1,cq:1},l=(s,r)=>{const n="string"==typeof r?r:t.name("cq",a.cq++),i=e+` ${n?n+" ":""}(${s})`;return{c:n,q:s,s:i,toString:()=>i}};l.toString=()=>e;const h=(e,r)=>{const n="--"+(e||t.name("cp",a.cp++)),i=s+" "+n;return{k:n,v:`var(${n})`,s:i,r:{[i]:{syntax:(null==r?void 0:r.syn)||'"*"',inherits:(null==r?void 0:r.inh)||!1,initialValue:null==r?void 0:r.ini}},toString:()=>i}};h.toString=()=>s;const u=e=>{const s=e||t.name("kf",a.kf++),n=r+" "+s;return{k:s,s:n,toString:()=>n}};u.toString=()=>r;const d=e=>{const s=e||t.name("lay",a.lay++),r=n+" "+s;return{k:s,s:r,toString:()=>r}};d.toString=()=>n,d.toString=()=>i;const p=(t="",e=!1)=>{const s=o+` ${e?"not ":""}(${t})`;return{c:t,n:e,s:s,toString:()=>s}};return p.toString=()=>o,{pr:h,kf:u,mq:c,cq:l,lay:d,sc:(t="",e="")=>{const s=i+` ${t?`(${t})`:""}${t&&e?" ":""}${e?`to (${e})`:""}`;return{r:t,l:e,s:s,toString:()=>s}},sup:p}})(P),K=t=>{const e=q[t]||t;return"number"==typeof e?e+"rem":""},M=t=>"min-"+st+K(t),B=t=>"max-"+st+K(t),L=(t,e)=>"string"==typeof e?C.cq(t,e):C.mq(t),N=(t,e,s)=>""+L(M(t)+") and ("+B(e),s),R={up:(t,e)=>""+L(M(t),e),down:(t,e)=>""+L(B(t),e),between:N,only:(t,e)=>N(t,t,e)};return z=w(Object.assign(et,{key:t,vars:A,time:E,bem:P.selector,pseudo:Object.assign(x(S(I).map((([t,e])=>{function s(t=""){return t+e}return s.toString=()=>e,[t,s]}))),x(S(W).map((([t,e])=>{function s(t,s=""){return s+e+`(${t})`}return s.toString=()=>e,[t,s]})))),color:G(O.varExp),units:{px:a,vh:l,vw:h,vmin:u,vmax:d,rem:p,deg:m,ms:f,pc:g,cqw:$,cqh:v,cqb:b,cqi:y,cqmin:_,cqmax:k},at:C,limit:R})),Y(z,((t,e)=>t+tt(...e)),"");var z}}};const nt=void 0,it=Object.entries,ot=Object.defineProperties,ct=t=>`data-${t}`,at=t=>"string"==typeof t,lt=t=>null!==t&&"object"==typeof t,ht=(t,e)=>`${t}${e?"__"+e:""}`,ut=t=>t.split("."),dt=(t,e)=>it(t).reduce(((t,[s,r])=>{if(lt(r)){const n=it(r);n.length?t.push(...n.reduce(((t,[r,n])=>{if((t=>null!==t&&t!==nt)(r)&&e&&t.push([s,r,nt,nt]),lt(n)){const e=it(n);e.length&&t.push(...e.reduce(((t,[e,n])=>{const i=typeof n;return"string"!==i&&"number"!==i||t.push([s,r,e,n]),t}),[]))}return t}),[])):t.push([s,nt,nt,nt])}return t}),[]),pt=(t,e,s,r)=>""+(ht(t,e)+(s?"_"+s:"")+(s&&r?"_"+r:"")),mt=(t,e,s,r)=>"."+pt(t,e,s,r),ft=(t,e,s,r)=>`[${ct(ht(t,e))}${s&&r?`~="${s}_${r}"`:s?`~="${s}"`:""}]`,gt={def:.75,c:.05,s:.65,m:.75,l:.85,n:.9},$t="effcss-provider",vt={theme:null,hydrate:null,mode:"a",prefix:"f"},yt={bp:{"3xs":18,"2xs":24,xs:30,sm:40,md:48,lg:64,xl:80,"2xl":96},vars:{"":{rtime:"200ms",rem:16,l:gt,h:{def:261.35,b:261.35,i:194.77,e:29.23,w:70.66,s:142.49},c:{def:.03,xs:.03,s:.06,m:.1,l:.15,xl:.25},a:{def:1,min:0,xs:.1,s:.25,m:.5,l:.75,xl:.9,max:1},t:{def:300,xs:100,s:200,m:300,l:450,xl:600,no:0,min:50,max:750},int:[...Array(12).keys()],fr:{0:0,"1/12":"0.0833","1/10":"0.1","1/6":"0.1667","1/5":"0.2","1/4":"0.25","3/10":"0.3","1/3":"0.3333","2/5":"0.4","5/12":"0.4167","1/2":"0.5","7/12":"0.5833","3/5":"0.6","2/3":"0.6667","7/10":"0.7","3/4":"0.75","4/5":"0.8","5/6":"0.8333","9/10":"0.9","11/12":"0.9167",1:"1"},ar:{1:1,"2/1":2,"1/2":.5,"4/3":1.3333,"3/4":.75,"9/16":.5625,"16/9":1.7778}},light:{l:gt},dark:{l:{def:.4,n:.25,s:.3,m:.4,l:.5,c:.95}}}},bt=({prefix:t})=>{let e=1;return{get base(){return t+0},get current(){return t+e},next(){return e++,this.current},reset(){e=1}}},_t=()=>{const t=new Set,e=new Map;return{use(s,r){const n=e.get(s);return n||(t.add(r),e.set(s,r),r)},useMany(t){return it(t).map((([t,e])=>this.use(e,t)))},getKey:t=>e.get(t),get keys(){return[...t]},get makers(){return Object.fromEntries(e.entries().map((([t,e])=>[e,t])))}}},kt="theme",xt=Object.assign,St=Object.entries,jt=Object.fromEntries,wt=(t,e)=>t.getAttribute(e)||vt[e];function qt(t={}){const e=window.document,s=window.customElements;if(null==s?void 0:s.get($t))return!1;{class r extends HTMLScriptElement{constructor(){super(...arguments),this._c=_t(),this._m=function(){let t={},e={},s=[],r=[];const n=(t,e)=>(e.toString=()=>"effcss-"+t,e),i=t=>{var e;return t.adoptedStyleSheets=[...(null===(e=t.adoptedStyleSheets)||void 0===e?void 0:e.length)?[...t.adoptedStyleSheets].filter((t=>!(t+"").startsWith("effcss-"))):[],...s]},o=()=>{r=r.reduce(((t,e)=>{const s=e.deref();return s&&(i(s),t.push(e)),t}),[])},c=t=>s.findIndex((e=>e===t)),a=e=>e?t[e]:void 0,l=(e,r)=>{if(!t[e])return t[e]=n(e,r),s.push(t[e]),o(),!0},h=t=>{const e=a(t);return!!e&&-1!==c(e)};return{apply:i,notify:o,getIndex:c,get:a,has:t=>!!t&&!!a(t),getAll:()=>t,add:l,status:h,on:(...t)=>{const e=t.reduce(((t,e)=>{const r=a(e);return!(!r||h(e))&&(s.push(r),t)}),!0);return o(),e},off:(...t)=>{const e=t.reduce(((t,e)=>{const r=a(e);if(r&&h(e)){const e=c(r);return s.splice(e,1),t}return!1}),!0);return o(),e},remove:r=>{const n=a(r);if(!n)return;const i=c(n);return i>-1&&(s.splice(i,1),delete t[r],delete e[r]),o(),!0},removeAll:()=>(s.splice(0),t={},e={},o(),!0),pack:(t,e)=>{let s=new CSSStyleSheet;return s.replaceSync(e),s=n(t,s),!!s.cssRules.length&&l(t,s)},replace:(e,s)=>{const r=t[e];if(r)return r.replaceSync(s),o(),!0},register:t=>{r.findIndex((e=>e.deref()===t))>=0||(r.push(new WeakRef(t)),i(t))},unregister:t=>{const e=r.findIndex((e=>e.deref()===t));e>=0&&r.splice(e,1)}}}(),this._cust=(t={})=>{const{varName:e}=this._s(this._k.base);function s(t,r){return St(t).reduce(((t,[n,i])=>i&&"object"==typeof i?xt(t,s(i,[...r,n])):(t[e(...r,n)]=i,t)),{})}const r=jt(St(t||{}).map((([t,e])=>[t,s(e,[])]))),{"":n={},dark:i,light:o}=r,c=function(t,e){var s={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(s[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(t);n<r.length;n++)e.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(t,r[n])&&(s[r[n]]=t[r[n]])}return s}(r,["","dark","light"]);this._=({bem:t,each:e,when:s,vars:r,merge:a,at:{mq:l}})=>{const h="prefers-color-scheme",u={light:`${h}: light`,dark:`${h}: dark`};return a({[`:root:has(script[is=${$t}])`]:a({fontSize:r("rem")},n)},s(!!i,{[l(u.dark).s]:i}),s(!!o,{[l(u.light).s]:o}),e(c,((e,s)=>({[`:root:has(script[is=${$t}][${kt}=${e}])`]:s,[t(`..theme.${e}`)]:s}))))},this.use(this._,this._k.base)},this.use=(t,e)=>{const s=e||this._k.current;let r=this._c.use(t,s);return this._m&&!this._m.has(e)&&this._m.pack(r,this.css(t,r)),e||this._k.next(),this.resolve(r)},this.usePublic=t=>jt(St(t).map((([t,e])=>[t,this.use(e,t)]))),this.usePrivate=t=>t.map((t=>this.use(t))),this.resolve=t=>this._s(t||this._k.base).attr,this.css=(t,e)=>this._p.compile({key:e,maker:t}),this.status=t=>{const e=this.key(t);return!!e&&this._m.status(e)},this.on=(...t)=>this._m.on(...t.map(this.key)),this.off=(...t)=>this._m.off(...t.map(this.key)),this.key=t=>"string"==typeof t?t:this._c.getKey(t),this.stylesheets=(t=this._c.keys)=>t.map((t=>this._m.get(this.key(t))))}get prefix(){return wt(this,"prefix")||""}get mode(){return wt(this,"mode")}get hydrate(){return""===this.getAttribute("hydrate")}get settings(){return this._settings}set settings(t){var e,s,r;const n=xt({},this._settings,t),{makers:i,vars:o,bp:c,off:a}=n;c&&(null===(e=this._settings)||void 0===e?void 0:e.bp)!==c&&(this._p=rt({scope:this._s,globalKey:this._k.base,bp:c})),o&&(null===(s=this._settings)||void 0===s?void 0:s.vars)!==o&&this._cust(o),i&&(null===(r=this._settings)||void 0===r?void 0:r.makers)!==i&&(this._c.useMany(i),this.usePublic(i),(null==a?void 0:a.length)&&this._settings.off!==a&&this.off(...a),this.hydrate&&this._k.reset()),this._settings=n}set theme(t){t?this.setAttribute(kt,t):this.removeAttribute(kt)}get theme(){return wt(this,kt)||""}connectedCallback(){this._k=bt({prefix:this.prefix}),this._s=((t={})=>{const{mode:e}=t;let s,r;return t=>{const n=(...e)=>""+e.filter(Boolean).reduce(((t,e)=>`${t}-${e}`),t),i=(...t)=>"--"+n(...t);return"c"===e?(s=t=>{let e,s,r,i;return at(t)?([e,s,r,i]=ut(t),mt(n(e),s,r,i)):t&&dt(t).map((([t,e,s,r])=>mt(n(t),e,s,r))).join(",")},r=t=>{let e,s,r,i;const o="class";let c="";return Array.isArray(t)?c=[...t.reduce(((t,o)=>([e,s,r,i]=ut(o),t.add(pt(n(e),s)),r&&t.add(pt(n(e),s,r,i)),t)),new Set).values()].join(" "):at(t)?([e,s,r,i]=ut(t),c=pt(n(e),s,r,i)):c=t&&dt(t,!0).map((([t,e,s,r])=>pt(n(t),e,s,r))).join(" "),ot({[o]:c},{toString:{value:()=>`${o}="${c}"`}})}):(s=t=>{let e,s,r,i;return at(t)?([e,s,r,i]=ut(t),ft(n(e),s,r,i)):t&&dt(t).map((([t,e,s,r])=>ft(n(t),e,s,r))).join(",")},r=t=>{let e,s,r,i,o,c,a="";if(Array.isArray(t))c=t.reduce(((t,c)=>{[e,s,r,i]=ut(c);const l=ht(n(e),s);return o=ct(l),a=r?i?`${r}_${i}`:`${r}`:"",t[o]&&a?t[o]=t[o]+" "+a:t[o]=a,t}),{});else if(at(t)){[e,s,r,i]=ut(t);const l=ht(n(e),s);o=ct(l),a=r?i?`${r}_${i}`:`${r}`:"",c={[o]:a}}else c=t&&dt(t,!0).reduce(((t,[e,s,r,i])=>{const c=ht(n(e),s);o=ct(c);const l=r?i?`${r}_${i}`:`${r}`:"";return a=t[o]?t[o]+" "+l:l,t[o]=a,t}),{});return ot(c,{toString:{value:()=>it(c).map((([t,e])=>`${t}="${e}"`)).join(" ")}}),c}),{selector:s,attr:r,name:n,varName:i,varExp:(...t)=>`var(${i(...t)})`}}})({mode:this.mode});const s=this;this._n={set adoptedStyleSheets(t){s.dispatchEvent(new CustomEvent("effcsschanges",{detail:{styles:t},bubbles:!0}))}},this._m.register(this._n),this._m.register(e),this.settings=xt({},yt,t)}toString(){return`<script ${[...this.attributes].map((t=>t.value?`${t.name}="${t.value}"`:""===t.value?t.name:"")).filter(Boolean).join(" ")}>${this.textContent}<\/script>`}}return s.define($t,r,{extends:"script"}),!0}}export{qt as defineProvider};
7
+ "function"==typeof SuppressedError&&SuppressedError;const t="@media",e="@container",s="@property",r="@keyframes",i="@layer",n="@scope",o="@supports",c=(e,s)=>{const r=t+` ${s||""}${s?" and ":""}(${e})`;return{s:r,q:e,t:s,toString:()=>r}};c.toString=()=>t;const a=t=>t+"px",l=t=>t+"vh",h=t=>t+"vw",u=t=>t+"vmin",m=t=>t+"vmax",d=t=>t+"rem",p=t=>t+"deg",g=t=>t+"ms",f=t=>t+"%",v=t=>t+"cqw",$=t=>t+"cqh",b=t=>t+"cqi",y=t=>t+"cqb",_=t=>t+"cqmin",k=t=>t+"cqmax",x=Object.fromEntries,S=Object.entries,j=":first-",w=":last-",A=":only-",q="child",O=":nth-",E="of-type",z=O+q,C=":focus",P={r:":root",h:":hover",f:C,fv:C+"-visible",a:":active",v:":visited",val:":valid",inv:":invalid",e:":empty",d:":disabled",rq:":required",o:":optional",m:":modal",l:":link",ph:":placeholder",ch:":checked",po:":popover-open",fc:j+q,lc:w+q,oc:A+q,odd:z+"(odd)",even:z+"(even)",ft:j+E,lt:w+E,ot:A+E,bef:"::before",aft:"::after",bd:"::backdrop"},I={has:":has",not:":not",is:":is",wh:":where",st:":state",nthc:z,ntho:O+E,dir:":dir",lang:":lang"},W="oklch",K=t=>W+`(${t})`,M=t=>K(`from ${t}`),N="def",B=t=>{const e=(e,s)=>"string"==typeof s?t(e,s):s;class s{constructor(t={}){this.state={l:e("l",N),c:e("c",N),h:e("h",N),a:e("a",N)},this.merge=t=>new s(Object.assign(this.state,t)),this.l=t=>this.merge({l:e("l",t)}),this.c=t=>this.merge({c:e("c",t)}),this.h=t=>this.merge({h:e("h",t)}),this.a=t=>this.merge({a:e("a",t)}),this.state=Object.assign(this.state,t)}get s(){return this.toString()}toString(){const{l:t,c:e,h:s,a:r}=this.state;return K(`${t} ${e} ${s} / ${r}`)}}return t=>new s(t)},L=(t,e=.1)=>M(`${t} calc(l + ${e}) c h / alpha)`),R=(t,e=.1)=>M(`${t} calc(l - ${e}) c h / alpha)`),H=(t,e=.1)=>M(`${t} l c h / calc(alpha + ${e}))`),T=(t,e=.1)=>M(`${t} l c h / calc(alpha - ${e}))`),V=(t,e=.04)=>M(`${t} l calc(c + ${e}) h / alpha)`),Z=(t,e=.04)=>M(`${t} l calc(c - ${e}) h / alpha)`),D=(t,e=30)=>M(`${t} l c calc(h${"number"==typeof e?e>0?" + "+e:" - "+-e:e}) / alpha)`),F=({base:t,mixin:e,method:s,bpart:r,mpart:i})=>`color-mix(in ${s||W}, ${t}${void 0!==r?` ${r}%`:""}, ${e}${void 0!==i?` ${i}%`:""})`,G=t=>({create:B(t),oklch:K,lighten:L,darken:R,saturate:V,desaturate:Z,fadein:H,fadeout:T,spin:D,mix:F}),J=Object.assign,Q=Object.entries,U=Array.isArray,X=(t,...e)=>e.length?e.reduce(((t,e)=>(Q(e).forEach((([e,s])=>{s&&"object"==typeof s&&t[e]?U(t[e])&&U(s)?t[e]=[...t[e],...s]:X(t[e],s||{}):t[e]=s})),t)),t):t,Y=(t,e,s)=>Object.entries(t).reduce(e,s),tt=(t,e,s)=>{var r,i,n;let o=""+t;return null==e?"":"object"==typeof e?(!s||(null===(r=s.startsWith)||void 0===r?void 0:r.call(s,"@"))||(null===(i=o.startsWith)||void 0===i?void 0:i.call(o,"&"))||(null===(n=o.startsWith)||void 0===n?void 0:n.call(o,"@"))?"":"&")+o+`{${Y(e,((t,e)=>t+tt(...e,o)),"")}}`:`${c=o,c.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase()))}:${""+e};`;var c},et={dash:(...t)=>t.join("-"),comma:(...t)=>t.join(),space:(...t)=>t.join(" "),range:(t,e)=>Array.from(Array(t).entries()).reduce(((t,[s])=>J(t,e(s+1))),{}),each:(t,e)=>Q(t).reduce(((t,[s,r])=>J(t,e(s,r))),{}),merge:X,when:(t,e,s={})=>t?e:s},st="width: ",rt=t=>{const{scope:j,globalKey:w="",bp:A={}}=t,q=j(w),O=t=>q.varExp(...t.split(".")),E=(t=1)=>`calc(${t} * ${O("rtime")})`;return{compile:({key:t,maker:w})=>{const z=j(t),C=(t=>{const a={cp:1,lay:1,kf:1,cq:1},l=(s,r)=>{const i="string"==typeof r?r:t.name("cq",a.cq++),n=e+` ${i?i+" ":""}(${s})`;return{c:i,q:s,s:n,toString:()=>n}};l.toString=()=>e;const h=(e,r)=>{const i="--"+(e||t.name("cp",a.cp++)),n=s+" "+i;return{k:i,v:`var(${i})`,s:n,r:{[n]:{syntax:(null==r?void 0:r.syn)||'"*"',inherits:(null==r?void 0:r.inh)||!1,initialValue:null==r?void 0:r.ini}},toString:()=>n}};h.toString=()=>s;const u=e=>{const s=e||t.name("kf",a.kf++),i=r+" "+s;return{k:s,s:i,toString:()=>i}};u.toString=()=>r;const m=e=>{const s=e||t.name("lay",a.lay++),r=i+" "+s;return{k:s,s:r,toString:()=>r}};m.toString=()=>i,m.toString=()=>n;const d=(t="",e=!1)=>{const s=o+` ${e?"not ":""}(${t})`;return{c:t,n:e,s:s,toString:()=>s}};return d.toString=()=>o,{pr:h,kf:u,mq:c,cq:l,lay:m,sc:(t="",e="")=>{const s=n+` ${t?`(${t})`:""}${t&&e?" ":""}${e?`to (${e})`:""}`;return{r:t,l:e,s:s,toString:()=>s}},sup:d}})(z),W=t=>{const e=A[t]||t;return"number"==typeof e?e+"rem":""},K=t=>"min-"+st+W(t),M=t=>"max-"+st+W(t),N=(t,e)=>"string"==typeof e?C.cq(t,e):C.mq(t),B=(t,e,s)=>""+N(K(t)+") and ("+M(e),s),L={up:(t,e)=>""+N(K(t),e),down:(t,e)=>""+N(M(t),e),between:B,only:(t,e)=>B(t,t,e)};return R=w(Object.assign(et,{key:t,vars:O,time:E,bem:z.selector,pseudo:Object.assign(x(S(P).map((([t,e])=>{function s(t=""){return t+e}return s.toString=()=>e,[t,s]}))),x(S(I).map((([t,e])=>{function s(t,s=""){return s+e+`(${t})`}return s.toString=()=>e,[t,s]})))),color:G(q.varExp),units:{px:a,vh:l,vw:h,vmin:u,vmax:m,rem:d,deg:p,ms:g,pc:f,cqw:v,cqh:$,cqb:y,cqi:b,cqmin:_,cqmax:k},at:C,limit:L})),Y(R,((t,e)=>t+tt(...e)),"");var R}}};const it=void 0,nt=Object.entries,ot=Object.defineProperties,ct=t=>`data-${t}`,at=t=>"string"==typeof t,lt=t=>null!==t&&"object"==typeof t,ht=(t,e)=>`${t}${e?"__"+e:""}`,ut=t=>t.split("."),mt=(t,e)=>nt(t).reduce(((t,[s,r])=>{if(lt(r)){const i=nt(r);i.length?t.push(...i.reduce(((t,[r,i])=>{if((t=>null!==t&&t!==it)(r)&&e&&t.push([s,r,it,it]),lt(i)){const e=nt(i);e.length&&t.push(...e.reduce(((t,[e,i])=>{const n=typeof i;return"string"!==n&&"number"!==n||t.push([s,r,e,i]),t}),[]))}return t}),[])):t.push([s,it,it,it])}return t}),[]),dt=(t,e,s,r)=>""+(ht(t,e)+(s?"_"+s:"")+(s&&r?"_"+r:"")),pt=(t,e,s,r)=>"."+dt(t,e,s,r),gt=(t,e,s,r)=>`[${ct(ht(t,e))}${s&&r?`~="${s}_${r}"`:s?`~="${s}"`:""}]`,ft={def:.75,c:.05,s:.65,m:.75,l:.85,n:.9},vt="effcss-provider",$t={theme:null,hydrate:null,mode:"a",prefix:"f",size:null,time:null},bt={bp:{"3xs":18,"2xs":24,xs:30,sm:40,md:48,lg:64,xl:80,"2xl":96},vars:{"":{rtime:"200ms",rem:"16px",l:ft,h:{def:261.35,b:261.35,i:194.77,e:29.23,w:70.66,s:142.49},c:{def:.03,xs:.03,s:.06,m:.1,l:.15,xl:.25},a:{def:1,min:0,xs:.1,s:.25,m:.5,l:.75,xl:.9,max:1},t:{def:300,xs:100,s:200,m:300,l:450,xl:600,no:0,min:50,max:750},int:[...Array(12).keys()],fr:{0:0,"1/12":"0.0833","1/10":"0.1","1/6":"0.1667","1/5":"0.2","1/4":"0.25","3/10":"0.3","1/3":"0.3333","2/5":"0.4","5/12":"0.4167","1/2":"0.5","7/12":"0.5833","3/5":"0.6","2/3":"0.6667","7/10":"0.7","3/4":"0.75","4/5":"0.8","5/6":"0.8333","9/10":"0.9","11/12":"0.9167",1:"1"},ar:{1:1,"2/1":2,"1/2":.5,"4/3":1.3333,"3/4":.75,"9/16":.5625,"16/9":1.7778}},light:{l:ft},dark:{l:{def:.4,n:.25,s:.3,m:.4,l:.5,c:.95}}}},yt=({prefix:t})=>{let e=1;return{get base(){return t+0},get current(){return t+e},next(){return e++,this.current},reset(){e=1}}},_t=()=>{const t=new Set,e=new Map;return{use(s,r){const i=e.get(s);return i||(t.add(r),e.set(s,r),r)},useMany(t){return nt(t).map((([t,e])=>this.use(e,t)))},getKey:t=>e.get(t),get keys(){return[...t]},get makers(){return Object.fromEntries(e.entries().map((([t,e])=>[e,t])))}}},kt="theme",xt=Object.assign,St=Object.entries,jt=Object.fromEntries,wt=(t,e)=>t.getAttribute(e)||$t[e];function At(t={}){const e=window.document,s=window.customElements;if(null==s?void 0:s.get(vt))return!1;{class r extends HTMLScriptElement{constructor(){super(...arguments),this._c=_t(),this._m=function(){let t={},e={},s=[],r=[];const i=(t,e)=>(e.toString=()=>"effcss-"+t,e),n=t=>{var e;return t.adoptedStyleSheets=[...(null===(e=t.adoptedStyleSheets)||void 0===e?void 0:e.length)?[...t.adoptedStyleSheets].filter((t=>!(t+"").startsWith("effcss-"))):[],...s]},o=()=>{r=r.reduce(((t,e)=>{const s=e.deref();return s&&(n(s),t.push(e)),t}),[])},c=t=>s.findIndex((e=>e===t)),a=e=>e?t[e]:void 0,l=(e,r)=>{if(!t[e])return t[e]=i(e,r),s.push(t[e]),o(),!0},h=t=>{const e=a(t);return!!e&&-1!==c(e)};return{apply:n,notify:o,getIndex:c,get:a,has:t=>!!t&&!!a(t),getAll:()=>t,add:l,status:h,on:(...t)=>{const e=t.reduce(((t,e)=>{const r=a(e);return!(!r||h(e))&&(s.push(r),t)}),!0);return o(),e},off:(...t)=>{const e=t.reduce(((t,e)=>{const r=a(e);if(r&&h(e)){const e=c(r);return s.splice(e,1),t}return!1}),!0);return o(),e},remove:r=>{const i=a(r);if(!i)return;const n=c(i);return n>-1&&(s.splice(n,1),delete t[r],delete e[r]),o(),!0},removeAll:()=>(s.splice(0),t={},e={},o(),!0),pack:(e,s)=>{let r=t[e]||new CSSStyleSheet;return r.replaceSync(s),r=i(e,r),!!r.cssRules.length&&l(e,r)},replace:(e,s)=>{const r=t[e];if(r)return r.replaceSync(s),o(),!0},register:t=>{r.findIndex((e=>e.deref()===t))>=0||(r.push(new WeakRef(t)),n(t))},unregister:t=>{const e=r.findIndex((e=>e.deref()===t));e>=0&&r.splice(e,1)}}}(),this._cust=(t={})=>{const{varName:e}=this._s(this._k.base);function s(t,r){return St(t).reduce(((t,[i,n])=>n&&"object"==typeof n?xt(t,s(n,[...r,i])):(t[e(...r,i)]=n,t)),{})}const r=jt(St(t||{}).map((([t,e])=>[t,s(e,[])]))),{"":i={},dark:n,light:o}=r,c=function(t,e){var s={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(s[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(s[r[i]]=t[r[i]])}return s}(r,["","dark","light"]),a=this.getAttribute("size"),l=this.getAttribute("time");this._=({bem:t,each:s,when:r,vars:h,merge:u,at:{mq:m},units:{px:d,ms:p}})=>{const g="prefers-color-scheme",f={light:`${g}: light`,dark:`${g}: dark`};return u({[`:root:has(script[is=${vt}])`]:u({fontSize:h("rem")},i)},r(!!n,{[m(f.dark).s]:n}),r(!!o,{[m(f.light).s]:o}),s(c,((e,s)=>({[`:root:has(script[is=${vt}][${kt}=${e}])`]:s,[t(`..theme.${e}`)]:s}))),r(!!a,{[`:root:has(script[is=${vt}][size])`]:{[e("","rem")]:d(a)}}),r(!!l,{[`:root:has(script[is=${vt}][time])`]:{[e("","rtime")]:p(l)}}))},this.use(this._,this._k.base,!0)},this.use=(t,e,s)=>{const r=e||this._k.current;let i=this._c.use(t,r);return(s||this._m&&!this._m.has(e))&&this._m.pack(i,this.css(t,i)),e||this._k.next(),this.resolve(i)},this.usePublic=t=>jt(St(t).map((([t,e])=>[t,this.use(e,t)]))),this.usePrivate=t=>t.map((t=>this.use(t))),this.resolve=t=>this._s(t||this._k.base).attr,this.css=(t,e)=>this._p.compile({key:e,maker:t}),this.status=t=>{const e=this.key(t);return!!e&&this._m.status(e)},this.on=(...t)=>this._m.on(...t.map(this.key)),this.off=(...t)=>this._m.off(...t.map(this.key)),this.key=t=>"string"==typeof t?t:this._c.getKey(t),this.stylesheets=(t=this._c.keys)=>t.map((t=>this._m.get(this.key(t))))}static get observedAttributes(){return["size","time"]}get prefix(){return wt(this,"prefix")||""}get mode(){return wt(this,"mode")}get hydrate(){return""===this.getAttribute("hydrate")}get settings(){return this._settings}set settings(t){var e,s,r;const i=xt({},this._settings,t),{makers:n,vars:o,bp:c,off:a}=i;c&&(null===(e=this._settings)||void 0===e?void 0:e.bp)!==c&&(this._p=rt({scope:this._s,globalKey:this._k.base,bp:c})),o&&(null===(s=this._settings)||void 0===s?void 0:s.vars)!==o&&this._cust(o),n&&(null===(r=this._settings)||void 0===r?void 0:r.makers)!==n&&(this._c.useMany(n),this.usePublic(n),(null==a?void 0:a.length)&&this._settings.off!==a&&this.off(...a),this.hydrate&&this._k.reset()),this._settings=i}set theme(t){t?this.setAttribute(kt,t):this.removeAttribute(kt)}get theme(){return wt(this,kt)||""}set size(t){null===t?this.removeAttribute("size"):this.setAttribute("size",t+"")}get size(){const t=this.getAttribute("size");return null!==t?Number(t):null}set time(t){null===t?this.removeAttribute("time"):this.setAttribute("time",t+"")}get time(){const t=this.getAttribute("time");return null!==t?Number(t):null}attributeChangedCallback(){var t;this._k&&this._cust(null===(t=this._settings)||void 0===t?void 0:t.vars)}connectedCallback(){this._k=yt({prefix:this.prefix}),this._s=((t={})=>{const{mode:e}=t;let s,r;return t=>{const i=(...e)=>""+e.filter(Boolean).reduce(((t,e)=>`${t}-${e}`),t),n=(...t)=>"--"+i(...t);return"c"===e?(s=t=>{let e,s,r,n;return at(t)?([e,s,r,n]=ut(t),pt(i(e),s,r,n)):t&&mt(t).map((([t,e,s,r])=>pt(i(t),e,s,r))).join(",")},r=t=>{let e,s,r,n;const o="class";let c="";return Array.isArray(t)?c=[...t.reduce(((t,o)=>([e,s,r,n]=ut(o),t.add(dt(i(e),s)),r&&t.add(dt(i(e),s,r,n)),t)),new Set).values()].join(" "):at(t)?([e,s,r,n]=ut(t),c=dt(i(e),s,r,n)):c=t&&mt(t,!0).map((([t,e,s,r])=>dt(i(t),e,s,r))).join(" "),ot({[o]:c},{toString:{value:()=>`${o}="${c}"`}})}):(s=t=>{let e,s,r,n;return at(t)?([e,s,r,n]=ut(t),gt(i(e),s,r,n)):t&&mt(t).map((([t,e,s,r])=>gt(i(t),e,s,r))).join(",")},r=t=>{let e,s,r,n,o,c,a="";if(Array.isArray(t))c=t.reduce(((t,c)=>{[e,s,r,n]=ut(c);const l=ht(i(e),s);return o=ct(l),a=r?n?`${r}_${n}`:`${r}`:"",t[o]&&a?t[o]=t[o]+" "+a:t[o]=a,t}),{});else if(at(t)){[e,s,r,n]=ut(t);const l=ht(i(e),s);o=ct(l),a=r?n?`${r}_${n}`:`${r}`:"",c={[o]:a}}else c=t&&mt(t,!0).reduce(((t,[e,s,r,n])=>{const c=ht(i(e),s);o=ct(c);const l=r?n?`${r}_${n}`:`${r}`:"";return a=t[o]?t[o]+" "+l:l,t[o]=a,t}),{});return ot(c,{toString:{value:()=>nt(c).map((([t,e])=>`${t}="${e}"`)).join(" ")}}),c}),{selector:s,attr:r,name:i,varName:n,varExp:(...t)=>`var(${n(...t)})`}}})({mode:this.mode});const s=this;this._n={set adoptedStyleSheets(t){s.dispatchEvent(new CustomEvent("effcsschanges",{detail:{styles:t},bubbles:!0}))}},this._m.register(this._n),this._m.register(e),this.settings=xt({},bt,t)}toString(){return`<script ${[...this.attributes].map((t=>t.value?`${t.name}="${t.value}"`:""===t.value?t.name:"")).filter(Boolean).join(" ")}>${this.textContent}<\/script>`}}return s.define(vt,r,{extends:"script"}),!0}}export{At as defineProvider};
@@ -39,7 +39,7 @@ interface IMakerParams extends ReturnType<typeof getBaseHandlers> {
39
39
  /**
40
40
  * Scalable time value
41
41
  */
42
- time: (coef: number) => string;
42
+ time: (coef?: number) => string;
43
43
  /**
44
44
  * Width limit queries
45
45
  */
@@ -21,6 +21,14 @@ export type TProviderAttrs = {
21
21
  * Theme
22
22
  */
23
23
  theme: string | null;
24
+ /**
25
+ * Root font size in px
26
+ */
27
+ size: string | null;
28
+ /**
29
+ * Root time in ms
30
+ */
31
+ time: string | null;
24
32
  };
25
33
  /**
26
34
  * Provider settings
@@ -37,6 +37,24 @@ export interface IStyleProvider {
37
37
  * @param val - theme value
38
38
  */
39
39
  set theme(val: string);
40
+ /**
41
+ * Get root size value
42
+ */
43
+ get size(): number | null;
44
+ /**
45
+ * Set root size value
46
+ * @param val - rem value in px
47
+ */
48
+ set size(val: number | null);
49
+ /**
50
+ * Get root time value
51
+ */
52
+ get time(): number | null;
53
+ /**
54
+ * Set root time value
55
+ * @param val - rem value in ms
56
+ */
57
+ set time(val: number | null);
40
58
  /**
41
59
  * Get provider settings
42
60
  */
@@ -48,9 +66,11 @@ export interface IStyleProvider {
48
66
  /**
49
67
  * Use stylesheet maker
50
68
  * @param maker - stylesheet maker
69
+ * @param key - stylesheet key
70
+ * @param force - force generation
51
71
  * @returns {@link TResolveAttr | attribute resolver}
52
72
  */
53
- use(maker: TStyleSheetMaker, key?: string): TResolveAttr;
73
+ use(maker: TStyleSheetMaker, key?: string, force?: boolean): TResolveAttr;
54
74
  /**
55
75
  * Use public stylesheet makers
56
76
  * @param makers - stylesheet makers
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effcss",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "Self-confident CSS-in-JS",
5
5
  "type": "module",
6
6
  "scripts": {