diff --git a/dist/bundle.js b/dist/bundle.js index 09b3aa8..0e3d5db 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1 +1 @@ -"use strict";var e=require("pepka"),t=require("fela"),s=require("fela-dom"),r=require("fela-plugin-embedded"),n=require("fela-plugin-prefixer"),l=require("fela-plugin-fallback-value"),i=require("fela-plugin-unit");const c=Object.freeze({}),a=Object.freeze({f:"function",o:"object",s:"string"}),o=e=>e.replace(/-(\w)/gu,((e,t)=>t.toUpperCase())),u=(()=>{const e=/url\(.*?\)/g,t=/[,:;]/g;return s=>s.replace(e,(e=>e.replace(t,(e=>`\\${e}`))))})(),p=e.when(e.complement(e.isNil),e.replace(/([^\\])\\([^\\])/g,"$1$2")),f=e.both(e.complement(e.isEmpty),e.complement(e.isNil)),h=e.compose(e.equals("Object"),e.type),d=e.compose(e.equals("Window"),e.type),m=(e,t)=>{for(let s in t)h(e[s])&&h(t[s])?m(e[s],t[s]):e[s]=t[s];return e},g=(()=>{try{return d(window)}catch{return!1}})(),y=e.map(e.ifElse(e.compose(e.equals("Function"),e.type),e.identity,e.prop("default"))),w=(t,s)=>e.compose(e.map((([e,t])=>((e,t,s)=>s(...e[t]||[]))(s,e,t))),e.toPairs,y)(t);class ${s;rules={};get complex(){return null!==this.s.className&&null!==this.s.modifier}serialize(){const{className:e,modifier:t}=this.s;return(e?`.${e}`:"")+(t||"")}constructor(e){const t=e.match(/^\.[\w-_]+/);this.s={className:t?t[0].slice(1):null,modifier:t?e.slice(t[0].length)||null:e}}}const b=(e,t=0)=>{const s={};let r,n,l,i,c;for(c in e.rules)r=e.rules[c],r instanceof $?(n=r.complex?r.s.className:r.serialize(),l=0==t&&"."==n[0]?n.slice(1):"."==n[0]?`& ${n}`:n,i=r.complex?{[r.s.modifier]:b(r,t+1)}:b(r,t+1),s[l]?m(s[l],i):s[l]=i):s[c]=r;return s};class x{path=[];get out(){return b(this.path[0][0])}get depth(){return this.path.length}add(t){const s=e.last(this.path),r=[];for(const e of t){const t=new $(e);for(const e of s){const s=t.serialize(),n=e.rules[s];r.push(n||t),n||(e.rules[s]=t)}}this.path.push(r)}merge(t,s){if(f(s)&&f(t))for(const r of e.last(this.path))r.rules[t]=s}pop(){return this.path.pop()}constructor(){this.path.push([new $("__root")])}}const N=(()=>{const t=/^([\w-]+)(: *| +)(.*)$/,s=/^(([\|~\$@>\*\.:&\(\)\^="\-\[\]]+).*[ ,]*)+:?$/,r=/\s*,\s*/g,n=/(.*):$/;return(l,i,c)=>{let a;switch(!0){case"{"==i:l.add(c);break;case"}"==i:l.pop();break;case null!=(a=t.exec(i)):l.merge(p(o(a[1])),e.when(isNaN,p,(e=>{switch(e){case"undefined":case"":return;case"null":return null;default:return isNaN(+e)?e:+e}})(a[3])));break;case null!=(a=s.exec(i)):c.splice(0),c.push(...i.split(r).map((e=>e.replace(n,"$1"))))}}})(),v=e.curry((([e,t],s)=>{let r,n,l=s.length,i=e.length,c=0,a=[];for(r=0;r{const t=[];let s=0;for(let[r,n]of v(["[","]"],e))t.push(e.slice(s,r),`\${${e.slice(r+1,n).replace(/(\W|^)\$([a-zA-Z_]+)\b/g,"$1$$ps.$2").replace(/(\W|^)@(.+?)\b/g,"$1$t.$2")}}`),s=n+1;return t.push(e.slice(s)),t.join("")}))),k=e=>{const t=[];let s,r,n,l=0,i=[];for(s of e)if(l>0)switch(s){case"{":l++,i[i.length-1]+=s;break;case"}":if(1==--l){const e=new Function("$t,css,$ps",`return css\`\n ${S(i)}\n \``);t.push([n,(t,s)=>e(s,q,t)]),l=0,i.splice(0)}else i[i.length-1]+=s;break;default:i.push(s)}else r=s.indexOf("=>"),~r?(l=1,n=s.slice(0,r).trim().replace(/^\./,"")):t.push(s);return t},C=(()=>{const t=["\n","\r",";"],s=e=>t.includes(e),r=/(([\s^]+?\/\/.*$)|\/\*(.|[\n\r])*?\*\/)/gm;return n=>{const l=new x,i=[];return e.compose((()=>l.out),e.forEach((t=>{if("Array"==e.type(t))l.merge(t[0],t[1]);else if(t&&N(l,t,i),l.depth<1)throw new Error("lit-css parse error: unbalanced {} braces !")})),k,e.filter(e.complement(e.isEmpty)),e.map(e.trim),(c=t,t=>{const s=e.map(e.length,c),r=[];let n,l,i=0,a=c.length,o=t.length;for(n=0;n(s(n[r-1])||(t=";"+t),s(n[r+1])||(t+=";"),t))),u,e.replace(r,""))(n);var c}})(),q=(e,...t)=>C(((e,t)=>e.reduce(((e,s,r)=>e+s+(t.length>r?t[r]:"")),""))(e,t)),j=(e,t)=>e[t]||e[o(t)],_=(t,s,r,n)=>{switch(s||(s=c),typeof r){case a.f:return[r.name,[e=>r(e,n)]];case a.o:return[r.className,[e.always(r)]];case a.s:const l=((e,t,s)=>s.split(/[,\s\t]+/g).map((s=>[s,j(t,s)||j(e(),s)||c])))(t,s,r),i=[],o=[];for(const[e,r]of l)i.push(e),o.push(..._(t,s,r,n)[1]);return[i.join("_"),o];default:return["",[e.identity]]}},z={method:"f",defStyles:void 0,plugins:[],enhancers:[],preset:{unit:[]},ssr:!1};class E{static devClassNames=!1;renderer;_mixin;get mixin(){return Object.freeze(this._mixin)}get style(){return s.renderToMarkup(this.renderer)}constructor(o={}){const{method:u,ssr:p,preset:f,plugins:h,enhancers:d,...m}=((t,s={})=>e.compose(e.fromPairs,e.map((([t,r])=>{switch(e.type(r)){case"Array":return[t,[...r,...s[t]||[]]];case"Object":return[t,{...r,...s[t]||{}}];default:return[t,s[t]||r]}})),e.toPairs)(t))(z,o),y={...z.preset,...f||{}};if(o.fdef)throw new Error("fela-vue: Change deprecated `fdef` to `defStyles`!");this.renderer=t.createRenderer({...m,enhancers:d,plugins:w([i,r,n,l,...h],{0:y.unit})});const{renderer:$}=this,b=o.defStyles;let x,N;switch(typeof b){case a.o:[x,N]=[b.key,b.value];break;case a.f:[x,N]=["fdef",b]}g&&(p?s.rehydrate($):s.render($)),this._mixin=e.filter(e.identity,{methods:{[u](e,s={}){const[r,n]=_((e=>{let t,s=!1;return()=>s?t:(s=!0,t=e())})((()=>N?N(this):c)),this.style,e,this);return $.renderRule(((e,t,s)=>{if(s&&t&&"anonymous"!==t)return{[t]:(t,s)=>e(t,s)}[t];return e})(t.combineRules(...n),r,E.devClassNames),s)||void 0}},computed:b&&{[x](){return N(this)}}})}}exports.Renderer=E,exports.SvelteRenderer=class extends E{static get devClassNames(){return E.devClassNames}static set devClassNames(e){E.devClassNames=e}f;fdef;getCSS(){return e=>{const t={style:e,fdef:this.fdef};return(e,s)=>this.f.call(t,e,s)}}getLiteralCSS(){const e=this.getCSS();return(...t)=>e(q(...t))}constructor(e={}){super(e);const t=this.mixin;this.f=t.methods.f,this.fdef="function"==typeof e.defStyles?t.computed.fdef:e.defStyles&&t.computed[e.defStyles.key]}},exports.css=q; +"use strict";var e=require("pepka"),s=require("fela"),t=require("fela-dom"),r=require("fela-plugin-embedded"),n=require("fela-plugin-prefixer"),l=require("fela-plugin-fallback-value"),i=require("fela-plugin-unit");const c=Object.freeze({}),a=Object.freeze({f:"function",o:"object",s:"string"}),o=e=>e.replace(/-(\w)/gu,((e,s)=>s.toUpperCase())),u=(()=>{const e=/url\(.*?\)/g,s=/[,:;]/g;return t=>t.replace(e,(e=>e.replace(s,(e=>`\\${e}`))))})(),p=e.when(e.complement(e.isNil),e.replace(/([^\\])\\([^\\])/g,"$1$2")),f=e.both(e.complement(e.isEmpty),e.complement(e.isNil)),h=e.compose(e.equals("Object"),e.type),d=e.compose(e.equals("Window"),e.type),m=(e,s)=>{for(let t in s)h(e[t])&&h(s[t])?m(e[t],s[t]):e[t]=s[t];return e},g=(()=>{try{return d(window)}catch{return!1}})(),y=e.map(e.ifElse(e.compose(e.equals("Function"),e.type),e.identity,e.prop("default"))),w=(s,t)=>e.compose(e.map((([e,s])=>((e,s,t)=>t(...e[s]||[]))(t,e,s))),e.toPairs,y)(s);class ${s;rules={};get complex(){return null!==this.s.className&&null!==this.s.modifier}serialize(){const{className:e,modifier:s}=this.s;return(e?`.${e}`:"")+(s||"")}constructor(e){const s=e.match(/^\.[\w-_]+/);this.s={className:s?s[0].slice(1):null,modifier:s?e.slice(s[0].length)||null:e}}}const b=(e,s=0)=>{const t={};let r,n,l,i,c;for(c in e.rules)r=e.rules[c],r instanceof $?(n=r.complex?r.s.className:r.serialize(),l=0==s&&"."==n[0]?n.slice(1):"."==n[0]?`& ${n}`:n,i=r.complex?{[r.s.modifier]:b(r,s+1)}:b(r,s+1),t[l]?m(t[l],i):t[l]=i):t[c]=r;return t};class x{path=[];get out(){return b(this.path[0][0])}get depth(){return this.path.length}add(s){const t=e.last(this.path),r=[];for(const e of s){const s=new $(e);for(const e of t){const t=s.serialize(),n=e.rules[t];r.push(n||s),n||(e.rules[t]=s)}}this.path.push(r)}merge(s,t){if(f(t)&&f(s))for(const r of e.last(this.path))r.rules[s]=t}pop(){return this.path.pop()}constructor(){this.path.push([new $("__root")])}}const N=(()=>{const s=/^([\w-]+)(: *| +)(.*)$/,t=/^(([\|~\$@>\*\.:&\(\)\^="\-\[\]]+).*[ ,]*)+:?$/,r=/\s*,\s*/g,n=/(.*):$/;return(l,i,c)=>{let a;switch(!0){case"{"==i:l.add(c);break;case"}"==i:l.pop();break;case null!=(a=s.exec(i)):l.merge(p(o(a[1])),e.when(isNaN,p,(e=>{switch(e){case"undefined":case"":return;case"null":return null;default:return isNaN(+e)?e:+e}})(a[3])));break;case null!=(a=t.exec(i)):c.splice(0),c.push(...i.split(r).map((e=>e.replace(n,"$1"))))}}})(),v=e.curry((([e,s],t)=>{let r,n,l=t.length,i=e.length,c=0,a=[];for(r=0;r{const s=[];let t=0;for(let[r,n]of v(["[","]"],e))s.push(e.slice(t,r),`\${${e.slice(r+1,n).replace(/(\W|^)\$([a-zA-Z_]+)\b/g,"$1$$ps.$2").replace(/(\W|^)@(.+?)\b/g,"$1$t.$2")}}`),t=n+1;return s.push(e.slice(t)),s.join("")}))),S=e=>{const s=[];let t,r,n,l=0,i=[];for(t of e)if(l>0)switch(t){case"{":l++,i[i.length-1]+=t;break;case"}":if(1==--l){const e=new Function("$t,css,$ps",`return css\`\n ${C(i)}\n \``);s.push([n,(s,t)=>e(t,q,s)]),l=0,i.splice(0)}else i[i.length-1]+=t;break;default:i.push(t)}else r=t.indexOf("=>"),~r?(l=1,n=t.slice(0,r).trim().replace(/^\./,"")):s.push(t);return s},k=(()=>{const s=["\n","\r",";"],t=e=>s.includes(e),r=/(([\s^]+?\/\/.*$)|\/\*(.|[\n\r])*?\*\/)/gm;return n=>{const l=new x,i=[];return e.compose((()=>l.out),e.forEach((s=>{if("Array"==e.type(s))l.merge(s[0],s[1]);else if(s&&N(l,s,i),l.depth<1)throw new Error("lit-css parse error: unbalanced {} braces !")})),S,e.filter(e.complement(e.isEmpty)),e.map(e.trim),(c=s,s=>{const t=e.map(e.length,c),r=[];let n,l,i=0,a=c.length,o=s.length;for(n=0;n(t(n[r-1])||(s=";"+s),t(n[r+1])||(s+=";"),s))),u,e.replace(r,""))(n);var c}})(),q=(e,...s)=>k(((e,s)=>e.reduce(((e,t,r)=>e+t+(s.length>r?s[r]:"")),""))(e,s)),j=(e,s)=>e[s]||e[o(s)],_=(s,t,r,n)=>{switch(t||(t=c),typeof r){case a.f:return[r.name,[e=>r(e,n)]];case a.o:return[r.className,[e.always(r)]];case a.s:const l=((e,s,t)=>t.split(/[,\s\t]+/g).map((t=>[t,j(s,t)||j(e(),t)||c])))(s,t,r),i=[],o=[];for(const[e,r]of l)i.push(e),o.push(..._(s,t,r,n)[1]);return[i.join("_"),o];default:return["",[e.identity]]}},z={method:"f",defStyles:void 0,plugins:[],enhancers:[],preset:{unit:[]},ssr:!1};class E{static devClassNames=!1;renderer;_mixin;renderClasses;styl;get mixin(){return Object.freeze(this._mixin)}get style(){return t.renderToMarkup(this.renderer)}constructor(o={}){const{method:u,ssr:p,preset:f,plugins:h,enhancers:d,...m}=((s,t={})=>e.compose(e.fromPairs,e.map((([s,r])=>{switch(e.type(r)){case"Array":return[s,[...r,...t[s]||[]]];case"Object":return[s,{...r,...t[s]||{}}];default:return[s,t[s]||r]}})),e.toPairs)(s))(z,o),y={...z.preset,...f||{}},$=this;if(o.fdef)throw new Error("fela-vue: Change deprecated `fdef` to `defStyles`!");this.renderer=s.createRenderer({...m,enhancers:d,plugins:w([i,r,n,l,...h],{0:y.unit})});const{renderer:b}=this,x=o.defStyles;let N,v;switch(typeof x){case a.o:[N,v]=[x.key,x.value];break;case a.f:[N,v]=["fdef",x]}g&&(p?t.rehydrate(b):t.render(b)),this.renderClasses=function(e,t,r={}){const[n,l]=_((e=>{let s,t=!1;return()=>t?s:(t=!0,s=e())})((()=>v?v(this):c)),e,t,this);return b.renderRule(((e,s,t)=>{if(t&&s&&"anonymous"!==s)return{[s]:(s,t)=>e(s,t)}[s];return e})(s.combineRules(...l),n,E.devClassNames),r)||void 0},this.styl=e=>(...s)=>this.renderClasses(e,...s),this._mixin=e.filter(e.identity,{methods:{[u]:function(...e){return $.renderClasses.call(this,this.style,...e)}},computed:x&&{[N](){return v(this)}}})}}exports.Renderer=E,exports.SvelteRenderer=class extends E{static get devClassNames(){return E.devClassNames}static set devClassNames(e){E.devClassNames=e}f;fdef;getCSS(){return e=>{const s={style:e,fdef:this.fdef};return(e,t)=>this.f.call(s,e,t)}}getLiteralCSS(){const e=this.getCSS();return(...s)=>e(q(...s))}constructor(e={}){super(e);const s=this.mixin;this.f=s.methods.f,this.fdef="function"==typeof e.defStyles?s.computed.fdef:e.defStyles&&s.computed[e.defStyles.key]}},exports.css=q;