brewwind 1.0.0 → 1.1.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.
- package/README.md +2 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +4 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# BrewWind
|
|
2
2
|
|
|
3
|
+
<img width="1501" height="500" alt="Image" src="https://github.com/user-attachments/assets/936c9e11-7c7b-4565-b362-b7d3a49e5b7c" />
|
|
4
|
+
|
|
3
5
|
A lightweight utility-class engine for browser projects.
|
|
4
6
|
|
|
5
7
|
BrewWind scans classes prefixed with `chai-` and applies inline styles at runtime.
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var x=Object.defineProperty;var oe=Object.getOwnPropertyDescriptor;var ne=Object.getOwnPropertyNames;var ae=Object.prototype.hasOwnProperty;var ie=(e,r)=>{for(var t in r)x(e,t,{get:r[t],enumerable:!0})},ce=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of ne(r))!ae.call(e,n)&&n!==t&&x(e,n,{get:()=>r[n],enumerable:!(o=oe(r,n))||o.enumerable});return e};var se=e=>ce(x({},"__esModule",{value:!0}),e);var Be={};ie(Be,{initBrewWind:()=>w});module.exports=se(Be);var fe={red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"}},l=fe;var B=(e,r)=>{let t="";r.length===3?t=r[2].replace(/[\[\]]/g,""):t=l[r[2]][r[3]],e.style.backgroundColor=t},E=(e,r)=>{let t="";r.length===4?t=l[r[2]][r[3]]:t=r[2].replace(/[\[\]]/g,""),e.style.color=t};var v={p:"padding",pt:"paddingTop",pr:"paddingRight",pb:"paddingBottom",pl:"paddingLeft",px:["paddingLeft","paddingRight"],py:["paddingTop","paddingBottom"]},L={m:"margin",mt:"marginTop",mr:"marginRight",mb:"marginBottom",ml:"marginLeft",mx:["marginLeft","marginRight"],my:["marginTop","marginBottom"]},D={gap:"gap","gap-x":"columnGap","gap-y":"rowGap"},b={0:"0px",1:"4px",2:"8px",3:"12px",4:"16px",5:"20px",6:"24px",7:"28px",8:"32px",9:"36px",10:"40px",11:"44px",12:"48px",sm:"8px",md:"16px",lg:"24px",xl:"32px","2xl":"48px","3xl":"64px","4xl":"96px","5xl":"128px"};var P=(e,r)=>{let t="";if(r.length!==3)return;let o=r[1],n=v[o],a=b[r[2]];!n||!a||(t=a,Array.isArray(n)?n.forEach(i=>{e.style[i]=t}):e.style[n]=t)},G=(e,r)=>{let t="";if(r.length!==3)return;let o=r[1],n=L[o],a=b[r[2]];!n||!a||(t=a,Array.isArray(n)?n.forEach(i=>{e.style[i]=t}):e.style[n]=t)},A=(e,r,t)=>{if(!t||r.length<3)return;let o=D[t],n=r[r.length-1],a=Number(n),i=b[n]||(Number.isFinite(a)?`${a*4}px`:void 0);!o||!i||(e.style[o]=i)};var j={b:"borderWidth",bt:"borderTopWidth",br:"borderRightWidth",bb:"borderBottomWidth",bl:"borderLeftWidth",bx:["borderLeftWidth","borderRightWidth"],by:["borderTopWidth","borderBottomWidth"]},k={none:"0",0:"0",1:"1px",2:"2px",4:"4px",8:"8px",sm:"1px",md:"2px",lg:"4px",xl:"8px"},z={rounded:"borderRadius","rounded-t":["borderTopLeftRadius","borderTopRightRadius"],"rounded-r":["borderTopRightRadius","borderBottomRightRadius"],"rounded-b":["borderBottomRightRadius","borderBottomLeftRadius"],"rounded-l":["borderTopLeftRadius","borderBottomLeftRadius"],"rounded-x":["borderTopLeftRadius","borderBottomRightRadius"],"rounded-y":["borderTopRightRadius","borderBottomLeftRadius"]},F={none:"0",sm:"0.125rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"};var ue=(e,r,t)=>{e.style[r]=t;let o=r.replace(/Width$/,"Style");o!==r&&(e.style[o]="solid")},M=(e,r,t,o)=>{Array.isArray(r)?r.forEach(n=>o(e,n,t)):o(e,r,t)},$=(e,r,t)=>{if(!t||r.length<3)return;let o=j[t],n=r[r.length-1],a=k[n];!o||!a||M(e,o,a,ue)},de=(e,r,t)=>{e.style[r]=t},O=(e,r,t)=>{if(!t||r.length<3)return;let o=z[t],n=r[r.length-1],a=F[n];!o||!a||M(e,o,a,de)},pe=(e,r=2)=>{if(e.length===4){let t=l[e[r]],o=e[r+1];return t?.[o]}return e[r]?.replace(/\[|\]/g,"")},K=(e,r)=>{if(r.length<3)return;let t=pe(r);t&&(e.style.borderColor=t)};var q={xs:"0.75rem",sm:"0.875rem",base:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"},y={thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"};var I=(e,r)=>{if(r.length!==3)return;if(y[r[2]]){e.style.fontWeight=y[r[2]];return}let t=r[2],o=q[t];o&&(e.style.fontSize=o)};var H={"text-left":"left","text-center":"center","text-right":"right","text-justify":"justify",flex:"flex","inline-flex":"inline-flex","flex-row":"row","flex-row-reverse":"row-reverse","flex-col":"column","flex-col-reverse":"column-reverse","items-start":"flex-start","items-center":"center","items-end":"flex-end","items-stretch":"stretch","justify-start":"flex-start","justify-center":"center","justify-end":"flex-end","justify-between":"space-between","justify-around":"space-around","justify-evenly":"space-evenly"};var le=e=>e.startsWith("text-")?"textAlign":e==="flex"||e==="inline-flex"?"display":e.startsWith("flex-")?"flexDirection":e.startsWith("items-")?"alignItems":e.startsWith("justify-")?"justifyContent":null,ge=e=>e.slice(1).join("-"),m=(e,r)=>{if(r.length<2)return!1;let t=ge(r),o=H[t];if(!o)return!1;let n=le(t);return n?(e.style[n]=o,!0):!1};var U={auto:"auto",full:"100%",screen:"100vw",min:"min-content",max:"max-content",fit:"fit-content","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%"},_={auto:"auto",full:"100%",screen:"100vh",min:"min-content",max:"max-content",fit:"fit-content","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%"};var J=(e,r)=>{if(r[e])return r[e];let t=Number(e);if(Number.isFinite(t))return`${t*4}px`},Q=(e,r,t)=>{if(!t||r.length<3)return;let o=r[r.length-1];if(t==="w"){let n=J(o,U);if(!n)return;e.style.width=n;return}if(t==="h"){let n=J(o,_);if(!n)return;e.style.height=n}};var X={static:"static",fixed:"fixed",absolute:"absolute",relative:"relative",sticky:"sticky"},Y={top:"top",right:"right",bottom:"bottom",left:"left"},V={auto:"auto",full:"100%","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%"};var be=e=>{if(e==="0")return"0px";if(V[e])return V[e];let r=Number(e);if(Number.isFinite(r))return`${r*4}px`},Z=(e,r)=>{let t=X[r];t&&(e.style.position=t)},C=(e,r,t)=>{if(!t||r.length<3)return;let o=Y[t],n=r[r.length-1],a=be(n);!o||!a||(e.style[o]=a)};var he=e=>{if(!e||e.length<2)return"";let r=e[1];return r==="rounded"&&e.length>3?`rounded-${e[2]}`:r==="gap"&&e.length>3?`gap-${e[2]}`:r},xe=(e,r)=>{let t=he(r);switch(t){case"bg":B(e,r);break;case"text":m(e,r)||E(e,r);break;case"gap":case"gap-x":case"gap-y":A(e,r,t);break;case"w":case"h":Q(e,r,t);break;case"p":case"px":case"py":case"pt":case"pr":case"pb":case"pl":P(e,r);break;case"m":case"mx":case"my":case"mt":case"mr":case"mb":case"ml":G(e,r);break;case"b":case"bt":case"br":case"bb":case"bl":case"bx":case"by":$(e,r,t);break;case"border":K(e,r);break;case"rounded":case"rounded-t":case"rounded-r":case"rounded-b":case"rounded-l":case"rounded-x":case"rounded-y":O(e,r,t);break;case"flex":case"inline":case"items":case"justify":m(e,r);break;case"font":I(e,r);break;case"static":case"fixed":case"absolute":case"relative":case"sticky":Z(e,t);break;case"top":case"right":case"bottom":case"left":C(e,r,t);break;default:console.warn(`This style type is not supported yet: ${t}`)}},g=xe;var R=new Map,u=e=>{if(R.has(e))return R.get(e);let r=e.split("-"),t=r[0]==="chai"?r:void 0;return R.set(e,t),t};var ye={bg:["backgroundColor"],"text-color":["color"],"text-align":["textAlign"],font:["fontSize","fontWeight"],gap:["gap","columnGap","rowGap"],padding:["padding","paddingTop","paddingRight","paddingBottom","paddingLeft"],margin:["margin","marginTop","marginRight","marginBottom","marginLeft"],"border-width":["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle"],"border-color":["borderColor"],radius:["borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],"flex-align":["display","flexDirection","alignItems","justifyContent"],size:["width","height"],position:["position"],offset:["top","right","bottom","left"]},me=e=>{if(!e||e.length<2)return"";let r=e[1];return r==="rounded"&&e.length>3?`rounded-${e[2]}`:r==="gap"&&e.length>3?`gap-${e[2]}`:r},T=e=>{switch(me(e)){case"bg":return"bg";case"text":{let t=e[2];return["left","center","right","justify"].includes(t)?"text-align":"text-color"}case"font":return"font";case"gap":case"gap-x":case"gap-y":return"gap";case"p":case"px":case"py":case"pt":case"pr":case"pb":case"pl":return"padding";case"m":case"mx":case"my":case"mt":case"mr":case"mb":case"ml":return"margin";case"b":case"bt":case"br":case"bb":case"bl":case"bx":case"by":return"border-width";case"border":return"border-color";case"rounded":case"rounded-t":case"rounded-r":case"rounded-b":case"rounded-l":case"rounded-x":case"rounded-y":return"radius";case"flex":case"inline":case"items":case"justify":return"flex-align";case"w":case"h":return"size";case"static":case"fixed":case"absolute":case"relative":case"sticky":return"position";case"top":case"right":case"bottom":case"left":return"offset";default:return null}},ee=(e,r)=>{if(!r||!r.startsWith("chai-"))return;let t=u(r);t&&g(e,t)},Ve=(e,r)=>{(ye[r]||[]).forEach(o=>{e.style[o]=""})},Re=(e,r)=>{r&&(Ve(e,r),e.classList.forEach(t=>{if(!t.startsWith("chai-"))return;let o=u(t);!o||T(o)!==r||g(e,o)}))},N=e=>{!e||!e.classList||e.classList.forEach(r=>{ee(e,r)})},Te=e=>{e instanceof Element&&(N(e),e.querySelectorAll('[class*="chai-"]').forEach(r=>N(r)))},h=e=>new Set((e||"").split(/\s+/).filter(Boolean)),we=(e,r)=>{let t=h(e),o=h(r),n=[];return o.forEach(a=>{!t.has(a)&&a.startsWith("chai-")&&n.push(a)}),n},Se=(e,r)=>{let t=h(e),o=h(r),n=[];return t.forEach(a=>{!o.has(a)&&a.startsWith("chai-")&&n.push(a)}),n},re=()=>{let e=new Map,r=null,t=(i,{classNames:s=null,recomputeGroups:f=null,full:d=!1}={})=>{if(!(i instanceof Element))return;let c=e.get(i)||{classNames:new Set,recomputeGroups:new Set,full:!1};if(d){c.full=!0,c.classNames.clear(),c.recomputeGroups.clear(),e.set(i,c);return}c.full||((s||[]).forEach(p=>c.classNames.add(p)),(f||[]).forEach(p=>c.recomputeGroups.add(p))),e.set(i,c)},o=()=>{e.forEach((i,s)=>{if(i.full){Te(s);return}i.recomputeGroups.forEach(f=>{Re(s,f)}),i.classNames.forEach(f=>{let d=u(f),c=d?T(d):null;c&&i.recomputeGroups.has(c)||ee(s,f)})}),e.clear(),r=null},n=()=>{r===null&&(r=window.requestAnimationFrame(o))},a=new MutationObserver(i=>{i.forEach(s=>{if(s.type==="attributes"){let f=we(s.oldValue,s.target.className),d=Se(s.oldValue,s.target.className),c=new Set;d.forEach(p=>{let S=u(p),W=S?T(S):null;W&&c.add(W)}),(f.length>0||c.size>0)&&t(s.target,{classNames:f,recomputeGroups:c});return}s.addedNodes.forEach(f=>{t(f,{full:!0})})}),n()});return a.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["class"],attributeOldValue:!0}),a};var te=()=>document.querySelectorAll('[class*="chai-"]');var We=()=>{te().forEach(r=>{r.classList.forEach(t=>{if(!t.startsWith("chai-"))return;let o=u(t);o&&g(r,o)})})},w=()=>typeof document>"u"?null:(We(),re());typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",w,{once:!0}):w());
|
|
1
|
+
var h=Object.defineProperty;var de=Object.getOwnPropertyDescriptor;var ge=Object.getOwnPropertyNames;var xe=Object.prototype.hasOwnProperty;var ye=(e,r)=>{for(var t in r)h(e,t,{get:r[t],enumerable:!0})},be=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of ge(r))!xe.call(e,n)&&n!==t&&h(e,n,{get:()=>r[n],enumerable:!(o=de(r,n))||o.enumerable});return e};var he=e=>be(h({},"__esModule",{value:!0}),e);var Ie={};ye(Ie,{initBrewWind:()=>E});module.exports=he(Ie);var me={red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"}},g=me;var P=(e,r)=>{let t="";r.length===3?t=r[2].replace(/[\[\]]/g,""):t=g[r[2]][r[3]],e.style.backgroundColor=t},k=(e,r)=>{let t="";r.length===4?t=g[r[2]][r[3]]:t=r[2].replace(/[\[\]]/g,""),e.style.color=t};var A={p:"padding",pt:"paddingTop",pr:"paddingRight",pb:"paddingBottom",pl:"paddingLeft",px:["paddingLeft","paddingRight"],py:["paddingTop","paddingBottom"]},D={m:"margin",mt:"marginTop",mr:"marginRight",mb:"marginBottom",ml:"marginLeft",mx:["marginLeft","marginRight"],my:["marginTop","marginBottom"]},$={gap:"gap","gap-x":"columnGap","gap-y":"rowGap"},x={0:"0px",1:"4px",2:"8px",3:"12px",4:"16px",5:"20px",6:"24px",7:"28px",8:"32px",9:"36px",10:"40px",11:"44px",12:"48px",sm:"8px",md:"16px",lg:"24px",xl:"32px","2xl":"48px","3xl":"64px","4xl":"96px","5xl":"128px"};var M=(e,r)=>{let t="";if(r.length!==3)return;let o=r[1],n=A[o],i=x[r[2]];!n||!i||(t=i,Array.isArray(n)?n.forEach(a=>{e.style[a]=t}):e.style[n]=t)},G=(e,r)=>{let t="";if(r.length!==3)return;let o=r[1],n=D[o],i=x[r[2]];!n||!i||(t=i,Array.isArray(n)?n.forEach(a=>{e.style[a]=t}):e.style[n]=t)},j=(e,r,t)=>{if(!t||r.length<3)return;let o=$[t],n=r[r.length-1],i=Number(n),a=x[n]||(Number.isFinite(i)?`${i*4}px`:void 0);!o||!a||(e.style[o]=a)};var I={b:"borderWidth",bt:"borderTopWidth",br:"borderRightWidth",bb:"borderBottomWidth",bl:"borderLeftWidth",bx:["borderLeftWidth","borderRightWidth"],by:["borderTopWidth","borderBottomWidth"]},O={none:"0",0:"0",1:"1px",2:"2px",4:"4px",8:"8px",sm:"1px",md:"2px",lg:"4px",xl:"8px"},F={rounded:"borderRadius","rounded-t":["borderTopLeftRadius","borderTopRightRadius"],"rounded-r":["borderTopRightRadius","borderBottomRightRadius"],"rounded-b":["borderBottomRightRadius","borderBottomLeftRadius"],"rounded-l":["borderTopLeftRadius","borderBottomLeftRadius"],"rounded-x":["borderTopLeftRadius","borderBottomRightRadius"],"rounded-y":["borderTopRightRadius","borderBottomLeftRadius"]},K={none:"0",sm:"0.125rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"};var we=(e,r,t)=>{e.style[r]=t;let o=r.replace(/Width$/,"Style");o!==r&&(e.style[o]="solid")},_=(e,r,t,o)=>{Array.isArray(r)?r.forEach(n=>o(e,n,t)):o(e,r,t)},q=(e,r,t)=>{if(!t||r.length<3)return;let o=I[t],n=r[r.length-1],i=O[n];!o||!i||_(e,o,i,we)},Ve=(e,r,t)=>{e.style[r]=t},H=(e,r,t)=>{if(!t||r.length<3)return;let o=F[t],n=r[r.length-1],i=K[n];!o||!i||_(e,o,i,Ve)},ze=(e,r=2)=>{if(e.length===4){let t=g[e[r]],o=e[r+1];return t?.[o]}return e[r]?.replace(/\[|\]/g,"")},Z=(e,r)=>{if(r.length<3)return;let t=ze(r);t&&(e.style.borderColor=t)};var U={xs:"0.75rem",sm:"0.875rem",base:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"},m={thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"};var J=(e,r)=>{if(r.length!==3)return;if(m[r[2]]){e.style.fontWeight=m[r[2]];return}let t=r[2],o=U[t];o&&(e.style.fontSize=o)};var Q={"text-left":"left","text-center":"center","text-right":"right","text-justify":"justify",flex:"flex","inline-flex":"inline-flex","flex-row":"row","flex-row-reverse":"row-reverse","flex-col":"column","flex-col-reverse":"column-reverse","items-start":"flex-start","items-center":"center","items-end":"flex-end","items-stretch":"stretch","justify-start":"flex-start","justify-center":"center","justify-end":"flex-end","justify-between":"space-between","justify-around":"space-around","justify-evenly":"space-evenly"};var Re=e=>e.startsWith("text-")?"textAlign":e==="flex"||e==="inline-flex"?"display":e.startsWith("flex-")?"flexDirection":e.startsWith("items-")?"alignItems":e.startsWith("justify-")?"justifyContent":null,We=e=>e.slice(1).join("-"),w=(e,r)=>{if(r.length<2)return!1;let t=We(r),o=Q[t];if(!o)return!1;let n=Re(t);return n?(e.style[n]=o,!0):!1};var X={auto:"auto",full:"100%",screen:"100vw",min:"min-content",max:"max-content",fit:"fit-content","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%"},Y={auto:"auto",full:"100%",screen:"100vh",min:"min-content",max:"max-content",fit:"fit-content","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%"};var C=(e,r)=>{if(r[e])return r[e];let t=Number(e);if(Number.isFinite(t))return`${t*4}px`},N=(e,r,t)=>{if(!t||r.length<3)return;let o=r[r.length-1];if(t==="w"){let n=C(o,X);if(!n)return;e.style.width=n;return}if(t==="h"){let n=C(o,Y);if(!n)return;e.style.height=n}};var ee={static:"static",fixed:"fixed",absolute:"absolute",relative:"relative",sticky:"sticky"},re={top:"top",right:"right",bottom:"bottom",left:"left"},V={auto:"auto",full:"100%","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%"};var Se=e=>{if(e==="0")return"0px";if(V[e])return V[e];let r=Number(e);if(Number.isFinite(r))return`${r*4}px`},te=(e,r)=>{let t=ee[r];t&&(e.style.position=t)},oe=(e,r,t)=>{if(!t||r.length<3)return;let o=re[t],n=r[r.length-1],i=Se(n);!o||!i||(e.style[o]=i)};var y={sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",inner:"inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)",none:"none"};var ne=(e,r)=>{let t=r[2];if(!t){e.style.boxShadow=y.base;return}if(y[t])e.style.boxShadow=y[t];else if(t.startsWith("[")&&t.endsWith("]")){let o=t.slice(1,-1).replaceAll("_"," ");e.style.boxShadow=o}else console.warn(`This shadow value is not supported yet: ${t}`)};var z={auto:"auto",default:"default",pointer:"pointer",wait:"wait",text:"text",move:"move",help:"help","not-allowed":"not-allowed",none:"none","context-menu":"context-menu",progress:"progress",cell:"cell",crosshair:"crosshair","vertical-text":"vertical-text",alias:"alias",copy:"copy","no-drop":"no-drop",grab:"grab",grabbing:"grabbing","all-scroll":"all-scroll","col-resize":"col-resize","row-resize":"row-resize","n-resize":"n-resize","e-resize":"e-resize","s-resize":"s-resize","w-resize":"w-resize","ne-resize":"ne-resize","nw-resize":"nw-resize","se-resize":"se-resize","sw-resize":"sw-resize","ew-resize":"ew-resize","ns-resize":"ns-resize","nesw-resize":"nesw-resize","nwse-resize":"nwse-resize","zoom-in":"zoom-in","zoom-out":"zoom-out"};var ie=(e,r)=>{let t=r[2];if(t)if(z[t])e.style.cursor=z[t];else if(t.startsWith("[")&&t.endsWith("]")){let o=t.slice(1,-1).replaceAll("_"," ");e.style.cursor=o}else console.warn(`This cursor value is not supported yet: ${t}`)};var R={0:"0",5:"0.05",10:"0.1",20:"0.2",25:"0.25",30:"0.3",40:"0.4",50:"0.5",60:"0.6",70:"0.7",75:"0.75",80:"0.8",90:"0.9",95:"0.95",100:"1"};var se=(e,r)=>{let t=r[2];if(t){if(R[t])e.style.opacity=R[t];else if(t.startsWith("[")&&t.endsWith("]")){let o=t.slice(1,-1).replaceAll("_"," ");e.style.opacity=o}}};var W={0:"0",10:"10",20:"20",30:"30",40:"40",50:"50",auto:"auto"};var ae=(e,r)=>{let t=r[2];if(t){if(W[t])e.style.zIndex=W[t];else if(t.startsWith("[")&&t.endsWith("]")){let o=t.slice(1,-1).replaceAll("_"," ");e.style.zIndex=o}}};var S={block:"block","inline-block":"inline-block",inline:"inline",flex:"flex","inline-flex":"inline-flex",hidden:"none",none:"none"};var ce=(e,r)=>{let t=r[1];if(S[t])e.style.display=S[t];else if(r[1]==="display"&&r.length>2){let o=r[2];o.startsWith("[")&&o.endsWith("]")&&(e.style.display=o.slice(1,-1).replaceAll("_"," "))}};var ve=e=>{if(!e||e.length<2)return"";let r=e[1];return r==="rounded"&&e.length>3?`rounded-${e[2]}`:r==="gap"&&e.length>3?`gap-${e[2]}`:r},Te=(e,r)=>{let t=ve(r);switch(t){case"bg":P(e,r);break;case"text":w(e,r)||k(e,r);break;case"gap":case"gap-x":case"gap-y":j(e,r,t);break;case"w":case"h":N(e,r,t);break;case"p":case"px":case"py":case"pt":case"pr":case"pb":case"pl":M(e,r);break;case"m":case"mx":case"my":case"mt":case"mr":case"mb":case"ml":G(e,r);break;case"b":case"bt":case"br":case"bb":case"bl":case"bx":case"by":q(e,r,t);break;case"border":Z(e,r);break;case"rounded":case"rounded-t":case"rounded-r":case"rounded-b":case"rounded-l":case"rounded-x":case"rounded-y":H(e,r,t);break;case"flex":case"inline":case"items":case"justify":w(e,r);break;case"font":J(e,r);break;case"static":case"fixed":case"absolute":case"relative":case"sticky":te(e,t);break;case"top":case"right":case"bottom":case"left":oe(e,r,t);break;case"shadow":ne(e,r);break;case"cursor":ie(e,r);break;case"opacity":se(e,r);break;case"z":ae(e,r);break;case"block":case"inline-block":case"hidden":case"display":ce(e,r);break;default:console.warn(`This style type is not supported yet: ${t}`)}},d=Te;var v=new Map,l=e=>{if(v.has(e))return v.get(e);let r=e.split("-"),t=r[0]==="chai"?r:void 0;return v.set(e,t),t};var Ee={bg:["backgroundColor"],"text-color":["color"],"text-align":["textAlign"],font:["fontSize","fontWeight"],gap:["gap","columnGap","rowGap"],padding:["padding","paddingTop","paddingRight","paddingBottom","paddingLeft"],margin:["margin","marginTop","marginRight","marginBottom","marginLeft"],"border-width":["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle"],"border-color":["borderColor"],radius:["borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],"flex-align":["display","flexDirection","alignItems","justifyContent"],size:["width","height"],position:["position"],offset:["top","right","bottom","left"]},Be=e=>{if(!e||e.length<2)return"";let r=e[1];return r==="rounded"&&e.length>3?`rounded-${e[2]}`:r==="gap"&&e.length>3?`gap-${e[2]}`:r},T=e=>{switch(Be(e)){case"bg":return"bg";case"text":{let t=e[2];return["left","center","right","justify"].includes(t)?"text-align":"text-color"}case"font":return"font";case"gap":case"gap-x":case"gap-y":return"gap";case"p":case"px":case"py":case"pt":case"pr":case"pb":case"pl":return"padding";case"m":case"mx":case"my":case"mt":case"mr":case"mb":case"ml":return"margin";case"b":case"bt":case"br":case"bb":case"bl":case"bx":case"by":return"border-width";case"border":return"border-color";case"rounded":case"rounded-t":case"rounded-r":case"rounded-b":case"rounded-l":case"rounded-x":case"rounded-y":return"radius";case"flex":case"inline":case"items":case"justify":return"flex-align";case"w":case"h":return"size";case"static":case"fixed":case"absolute":case"relative":case"sticky":return"position";case"top":case"right":case"bottom":case"left":return"offset";default:return null}},fe=(e,r)=>{if(!r||!r.startsWith("chai-"))return;let t=l(r);t&&d(e,t)},Le=(e,r)=>{(Ee[r]||[]).forEach(o=>{e.style[o]=""})},Pe=(e,r)=>{r&&(Le(e,r),e.classList.forEach(t=>{if(!t.startsWith("chai-"))return;let o=l(t);!o||T(o)!==r||d(e,o)}))},pe=e=>{!e||!e.classList||e.classList.forEach(r=>{fe(e,r)})},ke=e=>{e instanceof Element&&(pe(e),e.querySelectorAll('[class*="chai-"]').forEach(r=>pe(r)))},b=e=>new Set((e||"").split(/\s+/).filter(Boolean)),Ae=(e,r)=>{let t=b(e),o=b(r),n=[];return o.forEach(i=>{!t.has(i)&&i.startsWith("chai-")&&n.push(i)}),n},De=(e,r)=>{let t=b(e),o=b(r),n=[];return t.forEach(i=>{!o.has(i)&&i.startsWith("chai-")&&n.push(i)}),n},le=()=>{let e=new Map,r=null,t=(a,{classNames:s=null,recomputeGroups:c=null,full:f=!1}={})=>{if(!(a instanceof Element))return;let p=e.get(a)||{classNames:new Set,recomputeGroups:new Set,full:!1};if(f){p.full=!0,p.classNames.clear(),p.recomputeGroups.clear(),e.set(a,p);return}p.full||((s||[]).forEach(u=>p.classNames.add(u)),(c||[]).forEach(u=>p.recomputeGroups.add(u))),e.set(a,p)},o=()=>{e.forEach((a,s)=>{if(a.full){ke(s);return}a.recomputeGroups.forEach(c=>{Pe(s,c)}),a.classNames.forEach(c=>{let f=l(c),p=f?T(f):null;p&&a.recomputeGroups.has(p)||fe(s,c)})}),e.clear(),r=null},n=()=>{r===null&&(r=window.requestAnimationFrame(o))},i=new MutationObserver(a=>{a.forEach(s=>{if(s.type==="attributes"){let c=Ae(s.oldValue,s.target.className),f=De(s.oldValue,s.target.className),p=new Set;f.forEach(u=>{let B=l(u),L=B?T(B):null;L&&p.add(L)}),(c.length>0||p.size>0)&&t(s.target,{classNames:c,recomputeGroups:p});return}s.addedNodes.forEach(c=>{t(c,{full:!0})})}),n()});return i.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["class"],attributeOldValue:!0}),i};var ue=()=>document.querySelectorAll('[class*="chai-"]');var $e=["focus"],Me=(e,r)=>{let t=r.replace("hover:",""),o=l(t);if(!o)return;let n=document.createElement("div");d(n,o);let i={};for(let s=0;s<n.style.length;s++){let c=n.style[s];i[c]=n.style.getPropertyValue(c)}let a={};e.addEventListener("mouseenter",()=>{for(let s in i)a[s]=e.style.getPropertyValue(s),e.style.setProperty(s,i[s],"important")}),e.addEventListener("mouseleave",()=>{for(let s in a)a[s]?e.style.setProperty(s,a[s]):e.style.removeProperty(s);a={}})},Ge=(e,r)=>{let t=e.replace(`${r}:`,""),o=l(t);if(!o)return;let n=document.createElement("div");if(d(n,o),n.style.length===0)return;let i="";for(let c=0;c<n.style.length;c++){let f=n.style[c],p=n.style.getPropertyValue(f),u=n.style.getPropertyPriority(f);i+=`${f}: ${p}${u?" !important":""};`}let a=CSS.escape(e),s=`chai-style-${a}`;if(!document.getElementById(s)){let c=document.createElement("style");c.id=s,c.textContent=`.${a}:${r} { ${i} }`,document.head.appendChild(c)}},je=()=>{ue().forEach(r=>{r.classList.forEach(t=>{if(t.startsWith("hover:chai-")){Me(r,t);return}for(let n of $e)if(t.startsWith(`${n}:chai-`)){Ge(t,n);return}if(!t.startsWith("chai-"))return;let o=l(t);o&&d(r,o)})})},E=()=>typeof document>"u"?null:(je(),le());typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",E,{once:!0}):E());
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/index.js", "../src/constants/colors.js", "../src/properties/colors.js", "../src/constants/spacing.js", "../src/properties/spacing.js", "../src/constants/border.js", "../src/properties/border.js", "../src/constants/fonts.js", "../src/properties/fonts.js", "../src/constants/alignment.js", "../src/properties/alignment.js", "../src/constants/sizing.js", "../src/properties/sizing.js", "../src/constants/position.js", "../src/properties/position.js", "../src/core/apply.js", "../src/core/parser.js", "../src/core/observer.js", "../src/core/scanner.js"],
|
|
4
|
-
"sourcesContent": ["import applyStyles from \"./core/apply.js\";\nimport { initMutationObserver } from \"./core/observer.js\";\nimport { splitClassName } from \"./core/parser.js\";\nimport { chaiClassScanner } from \"./core/scanner.js\";\n\nconst initStyles = () => {\n const chaiElements = chaiClassScanner();\n chaiElements.forEach((element) => {\n element.classList.forEach((className) => {\n if (!className.startsWith(\"chai-\")) {\n return;\n }\n const classNameParts = splitClassName(className);\n if (!classNameParts) {\n return;\n }\n applyStyles(element, classNameParts);\n });\n });\n};\n\nexport const initBrewWind = () => {\n if (typeof document === \"undefined\") {\n return null;\n }\n\n initStyles();\n return initMutationObserver();\n};\n\nif (typeof document !== \"undefined\") {\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", initBrewWind, {\n once: true,\n });\n } else {\n initBrewWind();\n }\n}\n", "const colorsPalette = {\n red: {\n 50: \"#fef2f2\",\n 100: \"#fee2e2\",\n 200: \"#fecaca\",\n 300: \"#fca5a5\",\n 400: \"#f87171\",\n 500: \"#ef4444\",\n 600: \"#dc2626\",\n 700: \"#b91c1c\",\n 800: \"#991b1b\",\n 900: \"#7f1d1d\",\n },\n green: {\n 50: \"#f0fdf4\",\n 100: \"#dcfce7\",\n 200: \"#bbf7d0\",\n 300: \"#86efac\",\n 400: \"#4ade80\",\n 500: \"#22c55e\",\n 600: \"#16a34a\",\n 700: \"#15803d\",\n 800: \"#166534\",\n 900: \"#14532d\",\n },\n blue: {\n 50: \"#eff6ff\",\n 100: \"#dbeafe\",\n 200: \"#bfdbfe\",\n 300: \"#93c5fd\",\n 400: \"#60a5fa\",\n 500: \"#3b82f6\",\n 600: \"#2563eb\",\n 700: \"#1d4ed8\",\n 800: \"#1e40af\",\n 900: \"#1e3a8a\",\n },\n yellow: {\n 50: \"#fefce8\",\n 100: \"#fef9c3\",\n 200: \"#fef08a\",\n 300: \"#fde047\",\n 400: \"#facc15\",\n 500: \"#eab308\",\n 600: \"#ca8a04\",\n 700: \"#a16207\",\n 800: \"#854d0e\",\n 900: \"#713f12\",\n },\n orange: {\n 50: \"#fff7ed\",\n 100: \"#ffedd5\",\n 200: \"#fed7aa\",\n 300: \"#fdba74\",\n 400: \"#fb923c\",\n 500: \"#f97316\",\n 600: \"#ea580c\",\n 700: \"#c2410c\",\n 800: \"#9a3412\",\n 900: \"#7c2d12\",\n },\n purple: {\n 50: \"#faf5ff\",\n 100: \"#f3e8ff\",\n 200: \"#e9d5ff\",\n 300: \"#d8b4fe\",\n 400: \"#c084fc\",\n 500: \"#a855f7\",\n 600: \"#9333ea\",\n 700: \"#7e22ce\",\n 800: \"#6b21a8\",\n 900: \"#581c87\",\n },\n pink: {\n 50: \"#fdf2f8\",\n 100: \"#fce7f3\",\n 200: \"#fbcfe8\",\n 300: \"#f9a8d4\",\n 400: \"#f472b6\",\n 500: \"#ec4899\",\n 600: \"#db2777\",\n 700: \"#be185d\",\n 800: \"#9d174d\",\n 900: \"#831843\",\n },\n gray: {\n 50: \"#f9fafb\",\n 100: \"#f3f4f6\",\n 200: \"#e5e7eb\",\n 300: \"#d1d5db\",\n 400: \"#9ca3af\",\n 500: \"#6b7280\",\n 600: \"#4b5563\",\n 700: \"#374151\",\n 800: \"#1f2937\",\n 900: \"#111827\",\n },\n sky: {\n 50: \"#f0f9ff\",\n 100: \"#e0f2fe\",\n 200: \"#bae6fd\",\n 300: \"#7dd3fc\",\n 400: \"#38bdf8\",\n 500: \"#0ea5e9\",\n 600: \"#0284c7\",\n 700: \"#0369a1\",\n 800: \"#075985\",\n 900: \"#0c4a6e\",\n },\n cyan: {\n 50: \"#ecfeff\",\n 100: \"#cffafe\",\n 200: \"#a5f3fc\",\n 300: \"#67e8f9\",\n 400: \"#22d3ee\",\n 500: \"#06b6d4\",\n 600: \"#0891b2\",\n 700: \"#0e7490\",\n 800: \"#155e75\",\n 900: \"#164e63\",\n },\n indigo: {\n 50: \"#eef2ff\",\n 100: \"#e0e7ff\",\n 200: \"#c7d2fe\",\n 300: \"#a5b4fc\",\n 400: \"#818cf8\",\n 500: \"#6366f1\",\n 600: \"#4f46e5\",\n 700: \"#4338ca\",\n 800: \"#3730a3\",\n 900: \"#312e81\",\n },\n};\n\nexport default colorsPalette;\n", "import colorsPalette from \"../constants/colors.js\";\n\nconst applyBgColor = (element, splittedClassName) => {\n let color = \"\";\n if (splittedClassName.length === 3) {\n color = splittedClassName[2].replace(/[\\[\\]]/g, \"\");\n } else {\n color = colorsPalette[splittedClassName[2]][splittedClassName[3]];\n }\n element.style.backgroundColor = color;\n};\n\nconst applyTextColor = (element, splittedClassName) => {\n let color = \"\";\n if (splittedClassName.length === 4) {\n color = colorsPalette[splittedClassName[2]][splittedClassName[3]];\n } else {\n color = splittedClassName[2].replace(/[\\[\\]]/g, \"\");\n }\n element.style.color = color;\n};\n\nexport { applyBgColor, applyTextColor };\n", "export const paddingDirectionTypes = {\n p: \"padding\",\n pt: \"paddingTop\",\n pr: \"paddingRight\",\n pb: \"paddingBottom\",\n pl: \"paddingLeft\",\n px: [\"paddingLeft\", \"paddingRight\"],\n py: [\"paddingTop\", \"paddingBottom\"],\n};\n\nexport const marginDirectionTypes = {\n m: \"margin\",\n mt: \"marginTop\",\n mr: \"marginRight\",\n mb: \"marginBottom\",\n ml: \"marginLeft\",\n mx: [\"marginLeft\", \"marginRight\"],\n my: [\"marginTop\", \"marginBottom\"],\n};\n\nexport const gapDirectionTypes = {\n gap: \"gap\",\n \"gap-x\": \"columnGap\",\n \"gap-y\": \"rowGap\",\n};\n\nexport const spacingValues = {\n 0: \"0px\",\n 1: \"4px\",\n 2: \"8px\",\n 3: \"12px\",\n 4: \"16px\",\n 5: \"20px\",\n 6: \"24px\",\n 7: \"28px\",\n 8: \"32px\",\n 9: \"36px\",\n 10: \"40px\",\n 11: \"44px\",\n 12: \"48px\",\n sm: \"8px\",\n md: \"16px\",\n lg: \"24px\",\n xl: \"32px\",\n \"2xl\": \"48px\",\n \"3xl\": \"64px\",\n \"4xl\": \"96px\",\n \"5xl\": \"128px\",\n};\n", "import {\n gapDirectionTypes,\n marginDirectionTypes,\n paddingDirectionTypes,\n spacingValues as spacingScale,\n} from \"../constants/spacing.js\";\n\nexport const applyPadding = (element, splittedClassName) => {\n let paddingValue = \"\";\n if (splittedClassName.length !== 3) {\n return;\n }\n const paddingType = splittedClassName[1];\n const paddingDirection = paddingDirectionTypes[paddingType];\n const spacingValue = spacingScale[splittedClassName[2]];\n if (!paddingDirection || !spacingValue) {\n return;\n }\n paddingValue = spacingValue;\n if (Array.isArray(paddingDirection)) {\n paddingDirection.forEach((direction) => {\n element.style[direction] = paddingValue;\n });\n } else {\n element.style[paddingDirection] = paddingValue;\n }\n};\n\nexport const applyMargin = (element, splittedClassName) => {\n let marginValue = \"\";\n if (splittedClassName.length !== 3) {\n return;\n }\n const marginType = splittedClassName[1];\n const marginDirection = marginDirectionTypes[marginType];\n const spacingValue = spacingScale[splittedClassName[2]];\n if (!marginDirection || !spacingValue) {\n return;\n }\n marginValue = spacingValue;\n if (Array.isArray(marginDirection)) {\n marginDirection.forEach((direction) => {\n element.style[direction] = marginValue;\n });\n } else {\n element.style[marginDirection] = marginValue;\n }\n};\n\nexport const applyGap = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const gapDirection = gapDirectionTypes[styleType];\n const gapValueKey = splittedClassName[splittedClassName.length - 1];\n const numericGap = Number(gapValueKey);\n const gapValue =\n spacingScale[gapValueKey] ||\n (Number.isFinite(numericGap) ? `${numericGap * 4}px` : undefined);\n\n if (!gapDirection || !gapValue) {\n return;\n }\n\n element.style[gapDirection] = gapValue;\n};\n", "export const borderDirectionValues = {\n b: \"borderWidth\",\n bt: \"borderTopWidth\",\n br: \"borderRightWidth\",\n bb: \"borderBottomWidth\",\n bl: \"borderLeftWidth\",\n bx: [\"borderLeftWidth\", \"borderRightWidth\"],\n by: [\"borderTopWidth\", \"borderBottomWidth\"],\n};\n\nexport const borderWidthValues = {\n none: \"0\",\n 0: \"0\",\n 1: \"1px\",\n 2: \"2px\",\n 4: \"4px\",\n 8: \"8px\",\n sm: \"1px\",\n md: \"2px\",\n lg: \"4px\",\n xl: \"8px\",\n};\n\nexport const roundedDirectionValues = {\n rounded: \"borderRadius\",\n \"rounded-t\": [\"borderTopLeftRadius\", \"borderTopRightRadius\"],\n \"rounded-r\": [\"borderTopRightRadius\", \"borderBottomRightRadius\"],\n \"rounded-b\": [\"borderBottomRightRadius\", \"borderBottomLeftRadius\"],\n \"rounded-l\": [\"borderTopLeftRadius\", \"borderBottomLeftRadius\"],\n \"rounded-x\": [\"borderTopLeftRadius\", \"borderBottomRightRadius\"],\n \"rounded-y\": [\"borderTopRightRadius\", \"borderBottomLeftRadius\"],\n};\n\nexport const borderRadiusValues = {\n none: \"0\",\n sm: \"0.125rem\",\n md: \"0.375rem\",\n lg: \"0.5rem\",\n xl: \"0.75rem\",\n \"2xl\": \"1rem\",\n \"3xl\": \"1.5rem\",\n full: \"9999px\",\n};\n", "import {\n borderDirectionValues,\n borderRadiusValues,\n borderWidthValues,\n roundedDirectionValues,\n} from \"../constants/border.js\";\nimport colorsPalette from \"../constants/colors.js\";\n\nconst setBorderWidth = (element, property, widthValue) => {\n element.style[property] = widthValue;\n const styleProperty = property.replace(/Width$/, \"Style\");\n if (styleProperty !== property) {\n element.style[styleProperty] = \"solid\";\n }\n};\n\nconst applyProperties = (element, propertyOrProperties, value, setter) => {\n if (Array.isArray(propertyOrProperties)) {\n propertyOrProperties.forEach((property) => setter(element, property, value));\n } else {\n setter(element, propertyOrProperties, value);\n }\n};\n\nexport const applyBorder = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const directionProperty = borderDirectionValues[styleType];\n const borderValueKey = splittedClassName[splittedClassName.length - 1];\n const borderWidthValue = borderWidthValues[borderValueKey];\n\n if (!directionProperty || !borderWidthValue) {\n return;\n }\n\n applyProperties(element, directionProperty, borderWidthValue, setBorderWidth);\n};\n\nconst applyRadius = (element, property, value) => {\n element.style[property] = value;\n};\n\nexport const applyBorderRadius = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const radiusProperty = roundedDirectionValues[styleType];\n const radiusValueKey = splittedClassName[splittedClassName.length - 1];\n const borderRadiusValue = borderRadiusValues[radiusValueKey];\n\n if (!radiusProperty || !borderRadiusValue) {\n return;\n }\n\n applyProperties(element, radiusProperty, borderRadiusValue, applyRadius);\n};\n\nconst resolveColor = (splittedClassName, baseIndex = 2) => {\n if (splittedClassName.length === 4) {\n const palette = colorsPalette[splittedClassName[baseIndex]];\n const shade = splittedClassName[baseIndex + 1];\n return palette?.[shade];\n }\n\n return splittedClassName[baseIndex]?.replace(/\\[|\\]/g, \"\");\n};\n\nexport const applyBorderColor = (element, splittedClassName) => {\n if (splittedClassName.length < 3) {\n return;\n }\n\n const colorValue = resolveColor(splittedClassName);\n if (!colorValue) {\n return;\n }\n\n element.style.borderColor = colorValue;\n};\n", "export const fontSizeValues = {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n base: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n \"6xl\": \"3.75rem\",\n \"7xl\": \"4.5rem\",\n \"8xl\": \"6rem\",\n \"9xl\": \"8rem\",\n};\n\nexport const fontWeightValues = {\n thin: \"100\",\n extralight: \"200\",\n light: \"300\",\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n extrabold: \"800\",\n black: \"900\",\n};\n", "import { fontSizeValues, fontWeightValues } from \"../constants/fonts.js\";\n\nexport const applyFontSize = (element, splittedClassName) => {\n if (splittedClassName.length !== 3) {\n return;\n }\n if (fontWeightValues[splittedClassName[2]]) {\n element.style.fontWeight = fontWeightValues[splittedClassName[2]];\n return;\n }\n const fontSizeKey = splittedClassName[2];\n const fontSizeValue = fontSizeValues[fontSizeKey];\n if (!fontSizeValue) {\n return;\n }\n element.style.fontSize = fontSizeValue;\n};\n", "export const alignmentMappingValues = {\n \"text-left\": \"left\",\n \"text-center\": \"center\",\n \"text-right\": \"right\",\n \"text-justify\": \"justify\",\n \"flex\": \"flex\",\n \"inline-flex\": \"inline-flex\",\n \"flex-row\": \"row\",\n \"flex-row-reverse\": \"row-reverse\",\n \"flex-col\": \"column\",\n \"flex-col-reverse\": \"column-reverse\",\n \"items-start\": \"flex-start\",\n \"items-center\": \"center\",\n \"items-end\": \"flex-end\",\n \"items-stretch\": \"stretch\",\n \"justify-start\": \"flex-start\",\n \"justify-center\": \"center\",\n \"justify-end\": \"flex-end\",\n \"justify-between\": \"space-between\",\n \"justify-around\": \"space-around\",\n \"justify-evenly\": \"space-evenly\",\n};\n", "import { alignmentMappingValues } from \"../constants/alignment.js\";\n\nconst determineProperty = (key) => {\n if (key.startsWith(\"text-\")) {\n return \"textAlign\";\n }\n\n if (key === \"flex\" || key === \"inline-flex\") {\n return \"display\";\n }\n\n if (key.startsWith(\"flex-\")) {\n return \"flexDirection\";\n }\n\n if (key.startsWith(\"items-\")) {\n return \"alignItems\";\n }\n\n if (key.startsWith(\"justify-\")) {\n return \"justifyContent\";\n }\n\n return null;\n};\n\nconst resolveAlignmentKey = (splittedClassName) =>\n splittedClassName.slice(1).join(\"-\");\n\nexport const applyAlignment = (element, splittedClassName) => {\n if (splittedClassName.length < 2) {\n return false;\n }\n\n const key = resolveAlignmentKey(splittedClassName);\n const value = alignmentMappingValues[key];\n if (!value) {\n return false;\n }\n\n const property = determineProperty(key);\n if (!property) {\n return false;\n }\n\n element.style[property] = value;\n return true;\n};\n", "export const widthValues = {\n auto: \"auto\",\n full: \"100%\",\n screen: \"100vw\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\",\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n};\n\nexport const heightValues = {\n auto: \"auto\",\n full: \"100%\",\n screen: \"100vh\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\",\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n};\n", "import { heightValues, widthValues } from \"../constants/sizing.js\";\n\nconst resolveDimensionValue = (key, valuesMap) => {\n if (valuesMap[key]) {\n return valuesMap[key];\n }\n\n const numericValue = Number(key);\n if (Number.isFinite(numericValue)) {\n return `${numericValue * 4}px`;\n }\n\n return undefined;\n};\n\nexport const applyWidthHeight = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const valueKey = splittedClassName[splittedClassName.length - 1];\n if (styleType === \"w\") {\n const widthValue = resolveDimensionValue(valueKey, widthValues);\n if (!widthValue) {\n return;\n }\n\n element.style.width = widthValue;\n return;\n }\n\n if (styleType === \"h\") {\n const heightValue = resolveDimensionValue(valueKey, heightValues);\n if (!heightValue) {\n return;\n }\n\n element.style.height = heightValue;\n }\n};\n", "export const positionValues = {\n static: \"static\",\n fixed: \"fixed\",\n absolute: \"absolute\",\n relative: \"relative\",\n sticky: \"sticky\",\n};\n\nexport const offsetDirectionValues = {\n top: \"top\",\n right: \"right\",\n bottom: \"bottom\",\n left: \"left\",\n};\n\nexport const offsetValues = {\n auto: \"auto\",\n full: \"100%\",\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n};\n", "import {\n offsetDirectionValues,\n offsetValues,\n positionValues,\n} from \"../constants/position.js\";\n\nconst resolveOffsetValue = (key) => {\n if (key === \"0\") {\n return \"0px\";\n }\n\n if (offsetValues[key]) {\n return offsetValues[key];\n }\n\n const numericValue = Number(key);\n if (Number.isFinite(numericValue)) {\n return `${numericValue * 4}px`;\n }\n\n return undefined;\n};\n\nexport const applyPositionType = (element, styleType) => {\n const positionValue = positionValues[styleType];\n if (!positionValue) {\n return;\n }\n\n element.style.position = positionValue;\n};\n\nexport const applyOffset = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const direction = offsetDirectionValues[styleType];\n const offsetKey = splittedClassName[splittedClassName.length - 1];\n const offsetValue = resolveOffsetValue(offsetKey);\n\n if (!direction || !offsetValue) {\n return;\n }\n\n element.style[direction] = offsetValue;\n};\n", "import { applyBgColor, applyTextColor } from \"../properties/colors.js\";\nimport { applyMargin, applyPadding, applyGap } from \"../properties/spacing.js\";\nimport {\n applyBorder,\n applyBorderColor,\n applyBorderRadius,\n} from \"../properties/border.js\";\nimport { applyFontSize } from \"../properties/fonts.js\";\nimport { applyAlignment } from \"../properties/alignment.js\";\nimport { applyWidthHeight } from \"../properties/sizing.js\";\nimport { applyOffset, applyPositionType } from \"../properties/position.js\";\n\nconst getStyleType = (splittedClassName) => {\n if (!splittedClassName || splittedClassName.length < 2) {\n return \"\";\n }\n\n const baseStyle = splittedClassName[1];\n if (baseStyle === \"rounded\" && splittedClassName.length > 3) {\n return `rounded-${splittedClassName[2]}`;\n }\n\n if (baseStyle === \"gap\" && splittedClassName.length > 3) {\n return `gap-${splittedClassName[2]}`;\n }\n\n return baseStyle;\n};\n\nconst applyStyles = (element, splittedClassName) => {\n const styleType = getStyleType(splittedClassName);\n switch (styleType) {\n case \"bg\":\n applyBgColor(element, splittedClassName);\n break;\n case \"text\":\n if (!applyAlignment(element, splittedClassName)) {\n applyTextColor(element, splittedClassName);\n }\n break;\n case \"gap\":\n case \"gap-x\":\n case \"gap-y\":\n applyGap(element, splittedClassName, styleType);\n break;\n case \"w\":\n case \"h\":\n applyWidthHeight(element, splittedClassName, styleType);\n break;\n case \"p\":\n case \"px\":\n case \"py\":\n case \"pt\":\n case \"pr\":\n case \"pb\":\n case \"pl\":\n applyPadding(element, splittedClassName);\n break;\n case \"m\":\n case \"mx\":\n case \"my\":\n case \"mt\":\n case \"mr\":\n case \"mb\":\n case \"ml\":\n applyMargin(element, splittedClassName);\n break;\n case \"b\":\n case \"bt\":\n case \"br\":\n case \"bb\":\n case \"bl\":\n case \"bx\":\n case \"by\":\n applyBorder(element, splittedClassName, styleType);\n break;\n case \"border\":\n applyBorderColor(element, splittedClassName);\n break;\n case \"rounded\":\n case \"rounded-t\":\n case \"rounded-r\":\n case \"rounded-b\":\n case \"rounded-l\":\n case \"rounded-x\":\n case \"rounded-y\":\n applyBorderRadius(element, splittedClassName, styleType);\n break;\n case \"flex\":\n case \"inline\":\n case \"items\":\n case \"justify\":\n applyAlignment(element, splittedClassName);\n break;\n case \"font\":\n applyFontSize(element, splittedClassName);\n break;\n case \"static\":\n case \"fixed\":\n case \"absolute\":\n case \"relative\":\n case \"sticky\":\n applyPositionType(element, styleType);\n break;\n case \"top\":\n case \"right\":\n case \"bottom\":\n case \"left\":\n applyOffset(element, splittedClassName, styleType);\n break;\n default:\n console.warn(`This style type is not supported yet: ${styleType}`);\n }\n};\n\nexport default applyStyles;\n", "const classNameCache = new Map();\n\nexport const splitClassName = (className) => {\n if (classNameCache.has(className)) {\n return classNameCache.get(className);\n }\n\n const parts = className.split(\"-\");\n const parsed = parts[0] === \"chai\" ? parts : undefined;\n classNameCache.set(className, parsed);\n return parsed;\n};\n", "import applyStyles from \"./apply.js\";\nimport { splitClassName } from \"./parser.js\";\n\nconst GROUP_PROPERTIES = {\n bg: [\"backgroundColor\"],\n \"text-color\": [\"color\"],\n \"text-align\": [\"textAlign\"],\n font: [\"fontSize\", \"fontWeight\"],\n gap: [\"gap\", \"columnGap\", \"rowGap\"],\n padding: [\n \"padding\",\n \"paddingTop\",\n \"paddingRight\",\n \"paddingBottom\",\n \"paddingLeft\",\n ],\n margin: [\"margin\", \"marginTop\", \"marginRight\", \"marginBottom\", \"marginLeft\"],\n \"border-width\": [\n \"borderWidth\",\n \"borderTopWidth\",\n \"borderRightWidth\",\n \"borderBottomWidth\",\n \"borderLeftWidth\",\n \"borderStyle\",\n \"borderTopStyle\",\n \"borderRightStyle\",\n \"borderBottomStyle\",\n \"borderLeftStyle\",\n ],\n \"border-color\": [\"borderColor\"],\n radius: [\n \"borderRadius\",\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomRightRadius\",\n \"borderBottomLeftRadius\",\n ],\n \"flex-align\": [\"display\", \"flexDirection\", \"alignItems\", \"justifyContent\"],\n size: [\"width\", \"height\"],\n position: [\"position\"],\n offset: [\"top\", \"right\", \"bottom\", \"left\"],\n};\n\nconst getStyleType = (splittedClassName) => {\n if (!splittedClassName || splittedClassName.length < 2) {\n return \"\";\n }\n\n const baseStyle = splittedClassName[1];\n if (baseStyle === \"rounded\" && splittedClassName.length > 3) {\n return `rounded-${splittedClassName[2]}`;\n }\n\n if (baseStyle === \"gap\" && splittedClassName.length > 3) {\n return `gap-${splittedClassName[2]}`;\n }\n\n return baseStyle;\n};\n\nconst getGroupId = (splittedClassName) => {\n const styleType = getStyleType(splittedClassName);\n switch (styleType) {\n case \"bg\":\n return \"bg\";\n case \"text\": {\n const textType = splittedClassName[2];\n if ([\"left\", \"center\", \"right\", \"justify\"].includes(textType)) {\n return \"text-align\";\n }\n return \"text-color\";\n }\n case \"font\":\n return \"font\";\n case \"gap\":\n case \"gap-x\":\n case \"gap-y\":\n return \"gap\";\n case \"p\":\n case \"px\":\n case \"py\":\n case \"pt\":\n case \"pr\":\n case \"pb\":\n case \"pl\":\n return \"padding\";\n case \"m\":\n case \"mx\":\n case \"my\":\n case \"mt\":\n case \"mr\":\n case \"mb\":\n case \"ml\":\n return \"margin\";\n case \"b\":\n case \"bt\":\n case \"br\":\n case \"bb\":\n case \"bl\":\n case \"bx\":\n case \"by\":\n return \"border-width\";\n case \"border\":\n return \"border-color\";\n case \"rounded\":\n case \"rounded-t\":\n case \"rounded-r\":\n case \"rounded-b\":\n case \"rounded-l\":\n case \"rounded-x\":\n case \"rounded-y\":\n return \"radius\";\n case \"flex\":\n case \"inline\":\n case \"items\":\n case \"justify\":\n return \"flex-align\";\n case \"w\":\n case \"h\":\n return \"size\";\n case \"static\":\n case \"fixed\":\n case \"absolute\":\n case \"relative\":\n case \"sticky\":\n return \"position\";\n case \"top\":\n case \"right\":\n case \"bottom\":\n case \"left\":\n return \"offset\";\n default:\n return null;\n }\n};\n\nconst applyClassToElement = (element, className) => {\n if (!className || !className.startsWith(\"chai-\")) {\n return;\n }\n\n const classNameParts = splitClassName(className);\n if (!classNameParts) {\n return;\n }\n\n applyStyles(element, classNameParts);\n};\n\nconst clearGroupStyles = (element, groupId) => {\n const properties = GROUP_PROPERTIES[groupId] || [];\n properties.forEach((property) => {\n element.style[property] = \"\";\n });\n};\n\nconst recomputeGroupForElement = (element, groupId) => {\n if (!groupId) {\n return;\n }\n\n clearGroupStyles(element, groupId);\n element.classList.forEach((className) => {\n if (!className.startsWith(\"chai-\")) {\n return;\n }\n\n const classNameParts = splitClassName(className);\n if (!classNameParts || getGroupId(classNameParts) !== groupId) {\n return;\n }\n\n applyStyles(element, classNameParts);\n });\n};\n\nexport const applyChaiClasses = (element) => {\n if (!element || !element.classList) {\n return;\n }\n\n element.classList.forEach((className) => {\n applyClassToElement(element, className);\n });\n};\n\nconst applyToElementAndChildren = (element) => {\n if (!(element instanceof Element)) {\n return;\n }\n\n applyChaiClasses(element);\n element\n .querySelectorAll('[class*=\"chai-\"]')\n .forEach((child) => applyChaiClasses(child));\n};\n\nconst parseClassString = (classString) =>\n new Set((classString || \"\").split(/\\s+/).filter(Boolean));\n\nconst getAddedChaiClasses = (oldClassString, newClassString) => {\n const oldClasses = parseClassString(oldClassString);\n const newClasses = parseClassString(newClassString);\n\n const added = [];\n newClasses.forEach((className) => {\n if (!oldClasses.has(className) && className.startsWith(\"chai-\")) {\n added.push(className);\n }\n });\n\n return added;\n};\n\nconst getRemovedChaiClasses = (oldClassString, newClassString) => {\n const oldClasses = parseClassString(oldClassString);\n const newClasses = parseClassString(newClassString);\n\n const removed = [];\n oldClasses.forEach((className) => {\n if (!newClasses.has(className) && className.startsWith(\"chai-\")) {\n removed.push(className);\n }\n });\n\n return removed;\n};\n\nexport const initMutationObserver = () => {\n const pendingTargets = new Map();\n let rafId = null;\n\n const enqueueTarget = (\n element,\n { classNames = null, recomputeGroups = null, full = false } = {},\n ) => {\n if (!(element instanceof Element)) {\n return;\n }\n\n const existing = pendingTargets.get(element) || {\n classNames: new Set(),\n recomputeGroups: new Set(),\n full: false,\n };\n\n if (full) {\n existing.full = true;\n existing.classNames.clear();\n existing.recomputeGroups.clear();\n pendingTargets.set(element, existing);\n return;\n }\n\n if (!existing.full) {\n (classNames || []).forEach((className) =>\n existing.classNames.add(className),\n );\n (recomputeGroups || []).forEach((groupId) =>\n existing.recomputeGroups.add(groupId),\n );\n }\n\n pendingTargets.set(element, existing);\n };\n\n const flushPendingTargets = () => {\n pendingTargets.forEach((state, element) => {\n if (state.full) {\n applyToElementAndChildren(element);\n return;\n }\n\n state.recomputeGroups.forEach((groupId) => {\n recomputeGroupForElement(element, groupId);\n });\n\n state.classNames.forEach((className) => {\n const classNameParts = splitClassName(className);\n const groupId = classNameParts ? getGroupId(classNameParts) : null;\n if (groupId && state.recomputeGroups.has(groupId)) {\n return;\n }\n\n applyClassToElement(element, className);\n });\n });\n\n pendingTargets.clear();\n rafId = null;\n };\n\n const scheduleFlush = () => {\n if (rafId !== null) {\n return;\n }\n\n rafId = window.requestAnimationFrame(flushPendingTargets);\n };\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === \"attributes\") {\n const addedClasses = getAddedChaiClasses(\n mutation.oldValue,\n mutation.target.className,\n );\n const removedClasses = getRemovedChaiClasses(\n mutation.oldValue,\n mutation.target.className,\n );\n const groupsToRecompute = new Set();\n\n removedClasses.forEach((className) => {\n const classNameParts = splitClassName(className);\n const groupId = classNameParts ? getGroupId(classNameParts) : null;\n if (groupId) {\n groupsToRecompute.add(groupId);\n }\n });\n\n if (addedClasses.length > 0 || groupsToRecompute.size > 0) {\n enqueueTarget(mutation.target, {\n classNames: addedClasses,\n recomputeGroups: groupsToRecompute,\n });\n }\n return;\n }\n\n mutation.addedNodes.forEach((node) => {\n enqueueTarget(node, { full: true });\n });\n });\n\n scheduleFlush();\n });\n\n observer.observe(document.body, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [\"class\"],\n attributeOldValue: true,\n });\n\n return observer;\n};\n", "export const chaiClassScanner = () => {\n return document.querySelectorAll('[class*=\"chai-\"]');\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["index_exports", "__export", "initBrewWind", "__toCommonJS", "colorsPalette", "colors_default", "applyBgColor", "element", "splittedClassName", "color", "colors_default", "applyTextColor", "paddingDirectionTypes", "marginDirectionTypes", "gapDirectionTypes", "spacingValues", "applyPadding", "element", "splittedClassName", "paddingValue", "paddingType", "paddingDirection", "paddingDirectionTypes", "spacingValue", "spacingValues", "direction", "applyMargin", "marginValue", "marginType", "marginDirection", "marginDirectionTypes", "applyGap", "styleType", "gapDirection", "gapDirectionTypes", "gapValueKey", "numericGap", "gapValue", "borderDirectionValues", "borderWidthValues", "roundedDirectionValues", "borderRadiusValues", "setBorderWidth", "element", "property", "widthValue", "styleProperty", "applyProperties", "propertyOrProperties", "value", "setter", "applyBorder", "splittedClassName", "styleType", "directionProperty", "borderDirectionValues", "borderValueKey", "borderWidthValue", "borderWidthValues", "applyRadius", "applyBorderRadius", "radiusProperty", "roundedDirectionValues", "radiusValueKey", "borderRadiusValue", "borderRadiusValues", "resolveColor", "baseIndex", "palette", "colors_default", "shade", "applyBorderColor", "colorValue", "fontSizeValues", "fontWeightValues", "applyFontSize", "element", "splittedClassName", "fontWeightValues", "fontSizeKey", "fontSizeValue", "fontSizeValues", "alignmentMappingValues", "determineProperty", "key", "resolveAlignmentKey", "splittedClassName", "applyAlignment", "element", "value", "alignmentMappingValues", "property", "widthValues", "heightValues", "resolveDimensionValue", "key", "valuesMap", "numericValue", "applyWidthHeight", "element", "splittedClassName", "styleType", "valueKey", "widthValue", "widthValues", "heightValue", "heightValues", "positionValues", "offsetDirectionValues", "offsetValues", "resolveOffsetValue", "key", "offsetValues", "numericValue", "applyPositionType", "element", "styleType", "positionValue", "positionValues", "applyOffset", "splittedClassName", "direction", "offsetDirectionValues", "offsetKey", "offsetValue", "getStyleType", "splittedClassName", "baseStyle", "applyStyles", "element", "styleType", "applyBgColor", "applyAlignment", "applyTextColor", "applyGap", "applyWidthHeight", "applyPadding", "applyMargin", "applyBorder", "applyBorderColor", "applyBorderRadius", "applyFontSize", "applyPositionType", "applyOffset", "apply_default", "classNameCache", "splitClassName", "className", "parts", "parsed", "GROUP_PROPERTIES", "getStyleType", "splittedClassName", "baseStyle", "getGroupId", "textType", "applyClassToElement", "element", "className", "classNameParts", "splitClassName", "apply_default", "clearGroupStyles", "groupId", "property", "recomputeGroupForElement", "applyChaiClasses", "applyToElementAndChildren", "child", "parseClassString", "classString", "getAddedChaiClasses", "oldClassString", "newClassString", "oldClasses", "newClasses", "added", "getRemovedChaiClasses", "removed", "initMutationObserver", "pendingTargets", "rafId", "enqueueTarget", "classNames", "recomputeGroups", "full", "existing", "flushPendingTargets", "state", "scheduleFlush", "observer", "mutations", "mutation", "addedClasses", "removedClasses", "groupsToRecompute", "node", "chaiClassScanner", "
|
|
3
|
+
"sources": ["../src/index.js", "../src/constants/colors.js", "../src/properties/colors.js", "../src/constants/spacing.js", "../src/properties/spacing.js", "../src/constants/border.js", "../src/properties/border.js", "../src/constants/fonts.js", "../src/properties/fonts.js", "../src/constants/alignment.js", "../src/properties/alignment.js", "../src/constants/sizing.js", "../src/properties/sizing.js", "../src/constants/position.js", "../src/properties/position.js", "../src/constants/shadow.js", "../src/properties/shadow.js", "../src/constants/cursor.js", "../src/properties/cursor.js", "../src/constants/opacity.js", "../src/properties/opacity.js", "../src/constants/zindex.js", "../src/properties/zindex.js", "../src/constants/display.js", "../src/properties/display.js", "../src/core/apply.js", "../src/core/parser.js", "../src/core/observer.js", "../src/core/scanner.js"],
|
|
4
|
+
"sourcesContent": ["import applyStyles from \"./core/apply.js\";\nimport { initMutationObserver } from \"./core/observer.js\";\nimport { splitClassName } from \"./core/parser.js\";\nimport { chaiClassScanner } from \"./core/scanner.js\";\n\nconst modifiers = [\"focus\"];\n\nconst applyHover = (element, className) => {\n const baseClassName = className.replace(\"hover:\", \"\");\n const parts = splitClassName(baseClassName);\n if (!parts) return;\n\n const dummy = document.createElement(\"div\");\n applyStyles(dummy, parts);\n const hoverStyles = {};\n for (let i = 0; i < dummy.style.length; i++) {\n const prop = dummy.style[i];\n hoverStyles[prop] = dummy.style.getPropertyValue(prop);\n }\n\n let originalStyles = {};\n\n element.addEventListener(\"mouseenter\", () => {\n for (const prop in hoverStyles) {\n originalStyles[prop] = element.style.getPropertyValue(prop);\n element.style.setProperty(prop, hoverStyles[prop], \"important\");\n }\n });\n\n element.addEventListener(\"mouseleave\", () => {\n for (const prop in originalStyles) {\n if (originalStyles[prop]) {\n element.style.setProperty(prop, originalStyles[prop]);\n } else {\n element.style.removeProperty(prop);\n }\n }\n originalStyles = {};\n });\n};\n\nconst applyVariant = (className, variant) => {\n const baseClassName = className.replace(`${variant}:`, \"\");\n const parts = splitClassName(baseClassName);\n if (!parts) return;\n const dummy = document.createElement(\"div\");\n applyStyles(dummy, parts);\n\n if (dummy.style.length === 0) return;\n\n let cssText = \"\";\n for (let i = 0; i < dummy.style.length; i++) {\n const prop = dummy.style[i];\n const value = dummy.style.getPropertyValue(prop);\n const priority = dummy.style.getPropertyPriority(prop);\n cssText += `${prop}: ${value}${priority ? \" !important\" : \"\"};`;\n }\n\n const escapedClassName = CSS.escape(className);\n const styleId = `chai-style-${escapedClassName}`;\n\n if (!document.getElementById(styleId)) {\n const style = document.createElement(\"style\");\n style.id = styleId;\n style.textContent = `.${escapedClassName}:${variant} { ${cssText} }`;\n document.head.appendChild(style);\n }\n};\n\nconst initStyles = () => {\n const chaiElements = chaiClassScanner();\n chaiElements.forEach((element) => {\n element.classList.forEach((className) => {\n if (className.startsWith(\"hover:chai-\")) {\n applyHover(element, className);\n return;\n }\n\n for (const modifier of modifiers) {\n if (className.startsWith(`${modifier}:chai-`)) {\n applyVariant(className, modifier);\n return;\n }\n }\n\n if (!className.startsWith(\"chai-\")) {\n return;\n }\n const classNameParts = splitClassName(className);\n if (!classNameParts) {\n return;\n }\n applyStyles(element, classNameParts);\n });\n });\n};\n\nexport const initBrewWind = () => {\n if (typeof document === \"undefined\") {\n return null;\n }\n\n initStyles();\n return initMutationObserver();\n};\n\nif (typeof document !== \"undefined\") {\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", initBrewWind, {\n once: true,\n });\n } else {\n initBrewWind();\n }\n}\n", "const colorsPalette = {\n red: {\n 50: \"#fef2f2\",\n 100: \"#fee2e2\",\n 200: \"#fecaca\",\n 300: \"#fca5a5\",\n 400: \"#f87171\",\n 500: \"#ef4444\",\n 600: \"#dc2626\",\n 700: \"#b91c1c\",\n 800: \"#991b1b\",\n 900: \"#7f1d1d\",\n },\n green: {\n 50: \"#f0fdf4\",\n 100: \"#dcfce7\",\n 200: \"#bbf7d0\",\n 300: \"#86efac\",\n 400: \"#4ade80\",\n 500: \"#22c55e\",\n 600: \"#16a34a\",\n 700: \"#15803d\",\n 800: \"#166534\",\n 900: \"#14532d\",\n },\n blue: {\n 50: \"#eff6ff\",\n 100: \"#dbeafe\",\n 200: \"#bfdbfe\",\n 300: \"#93c5fd\",\n 400: \"#60a5fa\",\n 500: \"#3b82f6\",\n 600: \"#2563eb\",\n 700: \"#1d4ed8\",\n 800: \"#1e40af\",\n 900: \"#1e3a8a\",\n },\n yellow: {\n 50: \"#fefce8\",\n 100: \"#fef9c3\",\n 200: \"#fef08a\",\n 300: \"#fde047\",\n 400: \"#facc15\",\n 500: \"#eab308\",\n 600: \"#ca8a04\",\n 700: \"#a16207\",\n 800: \"#854d0e\",\n 900: \"#713f12\",\n },\n orange: {\n 50: \"#fff7ed\",\n 100: \"#ffedd5\",\n 200: \"#fed7aa\",\n 300: \"#fdba74\",\n 400: \"#fb923c\",\n 500: \"#f97316\",\n 600: \"#ea580c\",\n 700: \"#c2410c\",\n 800: \"#9a3412\",\n 900: \"#7c2d12\",\n },\n purple: {\n 50: \"#faf5ff\",\n 100: \"#f3e8ff\",\n 200: \"#e9d5ff\",\n 300: \"#d8b4fe\",\n 400: \"#c084fc\",\n 500: \"#a855f7\",\n 600: \"#9333ea\",\n 700: \"#7e22ce\",\n 800: \"#6b21a8\",\n 900: \"#581c87\",\n },\n pink: {\n 50: \"#fdf2f8\",\n 100: \"#fce7f3\",\n 200: \"#fbcfe8\",\n 300: \"#f9a8d4\",\n 400: \"#f472b6\",\n 500: \"#ec4899\",\n 600: \"#db2777\",\n 700: \"#be185d\",\n 800: \"#9d174d\",\n 900: \"#831843\",\n },\n gray: {\n 50: \"#f9fafb\",\n 100: \"#f3f4f6\",\n 200: \"#e5e7eb\",\n 300: \"#d1d5db\",\n 400: \"#9ca3af\",\n 500: \"#6b7280\",\n 600: \"#4b5563\",\n 700: \"#374151\",\n 800: \"#1f2937\",\n 900: \"#111827\",\n },\n sky: {\n 50: \"#f0f9ff\",\n 100: \"#e0f2fe\",\n 200: \"#bae6fd\",\n 300: \"#7dd3fc\",\n 400: \"#38bdf8\",\n 500: \"#0ea5e9\",\n 600: \"#0284c7\",\n 700: \"#0369a1\",\n 800: \"#075985\",\n 900: \"#0c4a6e\",\n },\n cyan: {\n 50: \"#ecfeff\",\n 100: \"#cffafe\",\n 200: \"#a5f3fc\",\n 300: \"#67e8f9\",\n 400: \"#22d3ee\",\n 500: \"#06b6d4\",\n 600: \"#0891b2\",\n 700: \"#0e7490\",\n 800: \"#155e75\",\n 900: \"#164e63\",\n },\n indigo: {\n 50: \"#eef2ff\",\n 100: \"#e0e7ff\",\n 200: \"#c7d2fe\",\n 300: \"#a5b4fc\",\n 400: \"#818cf8\",\n 500: \"#6366f1\",\n 600: \"#4f46e5\",\n 700: \"#4338ca\",\n 800: \"#3730a3\",\n 900: \"#312e81\",\n },\n};\n\nexport default colorsPalette;\n", "import colorsPalette from \"../constants/colors.js\";\n\nconst applyBgColor = (element, splittedClassName) => {\n let color = \"\";\n if (splittedClassName.length === 3) {\n color = splittedClassName[2].replace(/[\\[\\]]/g, \"\");\n } else {\n color = colorsPalette[splittedClassName[2]][splittedClassName[3]];\n }\n element.style.backgroundColor = color;\n};\n\nconst applyTextColor = (element, splittedClassName) => {\n let color = \"\";\n if (splittedClassName.length === 4) {\n color = colorsPalette[splittedClassName[2]][splittedClassName[3]];\n } else {\n color = splittedClassName[2].replace(/[\\[\\]]/g, \"\");\n }\n element.style.color = color;\n};\n\nexport { applyBgColor, applyTextColor };\n", "export const paddingDirectionTypes = {\n p: \"padding\",\n pt: \"paddingTop\",\n pr: \"paddingRight\",\n pb: \"paddingBottom\",\n pl: \"paddingLeft\",\n px: [\"paddingLeft\", \"paddingRight\"],\n py: [\"paddingTop\", \"paddingBottom\"],\n};\n\nexport const marginDirectionTypes = {\n m: \"margin\",\n mt: \"marginTop\",\n mr: \"marginRight\",\n mb: \"marginBottom\",\n ml: \"marginLeft\",\n mx: [\"marginLeft\", \"marginRight\"],\n my: [\"marginTop\", \"marginBottom\"],\n};\n\nexport const gapDirectionTypes = {\n gap: \"gap\",\n \"gap-x\": \"columnGap\",\n \"gap-y\": \"rowGap\",\n};\n\nexport const spacingValues = {\n 0: \"0px\",\n 1: \"4px\",\n 2: \"8px\",\n 3: \"12px\",\n 4: \"16px\",\n 5: \"20px\",\n 6: \"24px\",\n 7: \"28px\",\n 8: \"32px\",\n 9: \"36px\",\n 10: \"40px\",\n 11: \"44px\",\n 12: \"48px\",\n sm: \"8px\",\n md: \"16px\",\n lg: \"24px\",\n xl: \"32px\",\n \"2xl\": \"48px\",\n \"3xl\": \"64px\",\n \"4xl\": \"96px\",\n \"5xl\": \"128px\",\n};\n", "import {\n gapDirectionTypes,\n marginDirectionTypes,\n paddingDirectionTypes,\n spacingValues as spacingScale,\n} from \"../constants/spacing.js\";\n\nexport const applyPadding = (element, splittedClassName) => {\n let paddingValue = \"\";\n if (splittedClassName.length !== 3) {\n return;\n }\n const paddingType = splittedClassName[1];\n const paddingDirection = paddingDirectionTypes[paddingType];\n const spacingValue = spacingScale[splittedClassName[2]];\n if (!paddingDirection || !spacingValue) {\n return;\n }\n paddingValue = spacingValue;\n if (Array.isArray(paddingDirection)) {\n paddingDirection.forEach((direction) => {\n element.style[direction] = paddingValue;\n });\n } else {\n element.style[paddingDirection] = paddingValue;\n }\n};\n\nexport const applyMargin = (element, splittedClassName) => {\n let marginValue = \"\";\n if (splittedClassName.length !== 3) {\n return;\n }\n const marginType = splittedClassName[1];\n const marginDirection = marginDirectionTypes[marginType];\n const spacingValue = spacingScale[splittedClassName[2]];\n if (!marginDirection || !spacingValue) {\n return;\n }\n marginValue = spacingValue;\n if (Array.isArray(marginDirection)) {\n marginDirection.forEach((direction) => {\n element.style[direction] = marginValue;\n });\n } else {\n element.style[marginDirection] = marginValue;\n }\n};\n\nexport const applyGap = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const gapDirection = gapDirectionTypes[styleType];\n const gapValueKey = splittedClassName[splittedClassName.length - 1];\n const numericGap = Number(gapValueKey);\n const gapValue =\n spacingScale[gapValueKey] ||\n (Number.isFinite(numericGap) ? `${numericGap * 4}px` : undefined);\n\n if (!gapDirection || !gapValue) {\n return;\n }\n\n element.style[gapDirection] = gapValue;\n};\n", "export const borderDirectionValues = {\n b: \"borderWidth\",\n bt: \"borderTopWidth\",\n br: \"borderRightWidth\",\n bb: \"borderBottomWidth\",\n bl: \"borderLeftWidth\",\n bx: [\"borderLeftWidth\", \"borderRightWidth\"],\n by: [\"borderTopWidth\", \"borderBottomWidth\"],\n};\n\nexport const borderWidthValues = {\n none: \"0\",\n 0: \"0\",\n 1: \"1px\",\n 2: \"2px\",\n 4: \"4px\",\n 8: \"8px\",\n sm: \"1px\",\n md: \"2px\",\n lg: \"4px\",\n xl: \"8px\",\n};\n\nexport const roundedDirectionValues = {\n rounded: \"borderRadius\",\n \"rounded-t\": [\"borderTopLeftRadius\", \"borderTopRightRadius\"],\n \"rounded-r\": [\"borderTopRightRadius\", \"borderBottomRightRadius\"],\n \"rounded-b\": [\"borderBottomRightRadius\", \"borderBottomLeftRadius\"],\n \"rounded-l\": [\"borderTopLeftRadius\", \"borderBottomLeftRadius\"],\n \"rounded-x\": [\"borderTopLeftRadius\", \"borderBottomRightRadius\"],\n \"rounded-y\": [\"borderTopRightRadius\", \"borderBottomLeftRadius\"],\n};\n\nexport const borderRadiusValues = {\n none: \"0\",\n sm: \"0.125rem\",\n md: \"0.375rem\",\n lg: \"0.5rem\",\n xl: \"0.75rem\",\n \"2xl\": \"1rem\",\n \"3xl\": \"1.5rem\",\n full: \"9999px\",\n};\n", "import {\n borderDirectionValues,\n borderRadiusValues,\n borderWidthValues,\n roundedDirectionValues,\n} from \"../constants/border.js\";\nimport colorsPalette from \"../constants/colors.js\";\n\nconst setBorderWidth = (element, property, widthValue) => {\n element.style[property] = widthValue;\n const styleProperty = property.replace(/Width$/, \"Style\");\n if (styleProperty !== property) {\n element.style[styleProperty] = \"solid\";\n }\n};\n\nconst applyProperties = (element, propertyOrProperties, value, setter) => {\n if (Array.isArray(propertyOrProperties)) {\n propertyOrProperties.forEach((property) => setter(element, property, value));\n } else {\n setter(element, propertyOrProperties, value);\n }\n};\n\nexport const applyBorder = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const directionProperty = borderDirectionValues[styleType];\n const borderValueKey = splittedClassName[splittedClassName.length - 1];\n const borderWidthValue = borderWidthValues[borderValueKey];\n\n if (!directionProperty || !borderWidthValue) {\n return;\n }\n\n applyProperties(element, directionProperty, borderWidthValue, setBorderWidth);\n};\n\nconst applyRadius = (element, property, value) => {\n element.style[property] = value;\n};\n\nexport const applyBorderRadius = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const radiusProperty = roundedDirectionValues[styleType];\n const radiusValueKey = splittedClassName[splittedClassName.length - 1];\n const borderRadiusValue = borderRadiusValues[radiusValueKey];\n\n if (!radiusProperty || !borderRadiusValue) {\n return;\n }\n\n applyProperties(element, radiusProperty, borderRadiusValue, applyRadius);\n};\n\nconst resolveColor = (splittedClassName, baseIndex = 2) => {\n if (splittedClassName.length === 4) {\n const palette = colorsPalette[splittedClassName[baseIndex]];\n const shade = splittedClassName[baseIndex + 1];\n return palette?.[shade];\n }\n\n return splittedClassName[baseIndex]?.replace(/\\[|\\]/g, \"\");\n};\n\nexport const applyBorderColor = (element, splittedClassName) => {\n if (splittedClassName.length < 3) {\n return;\n }\n\n const colorValue = resolveColor(splittedClassName);\n if (!colorValue) {\n return;\n }\n\n element.style.borderColor = colorValue;\n};\n", "export const fontSizeValues = {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n base: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n \"6xl\": \"3.75rem\",\n \"7xl\": \"4.5rem\",\n \"8xl\": \"6rem\",\n \"9xl\": \"8rem\",\n};\n\nexport const fontWeightValues = {\n thin: \"100\",\n extralight: \"200\",\n light: \"300\",\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n extrabold: \"800\",\n black: \"900\",\n};\n", "import { fontSizeValues, fontWeightValues } from \"../constants/fonts.js\";\n\nexport const applyFontSize = (element, splittedClassName) => {\n if (splittedClassName.length !== 3) {\n return;\n }\n if (fontWeightValues[splittedClassName[2]]) {\n element.style.fontWeight = fontWeightValues[splittedClassName[2]];\n return;\n }\n const fontSizeKey = splittedClassName[2];\n const fontSizeValue = fontSizeValues[fontSizeKey];\n if (!fontSizeValue) {\n return;\n }\n element.style.fontSize = fontSizeValue;\n};\n", "export const alignmentMappingValues = {\n \"text-left\": \"left\",\n \"text-center\": \"center\",\n \"text-right\": \"right\",\n \"text-justify\": \"justify\",\n \"flex\": \"flex\",\n \"inline-flex\": \"inline-flex\",\n \"flex-row\": \"row\",\n \"flex-row-reverse\": \"row-reverse\",\n \"flex-col\": \"column\",\n \"flex-col-reverse\": \"column-reverse\",\n \"items-start\": \"flex-start\",\n \"items-center\": \"center\",\n \"items-end\": \"flex-end\",\n \"items-stretch\": \"stretch\",\n \"justify-start\": \"flex-start\",\n \"justify-center\": \"center\",\n \"justify-end\": \"flex-end\",\n \"justify-between\": \"space-between\",\n \"justify-around\": \"space-around\",\n \"justify-evenly\": \"space-evenly\",\n};\n", "import { alignmentMappingValues } from \"../constants/alignment.js\";\n\nconst determineProperty = (key) => {\n if (key.startsWith(\"text-\")) {\n return \"textAlign\";\n }\n\n if (key === \"flex\" || key === \"inline-flex\") {\n return \"display\";\n }\n\n if (key.startsWith(\"flex-\")) {\n return \"flexDirection\";\n }\n\n if (key.startsWith(\"items-\")) {\n return \"alignItems\";\n }\n\n if (key.startsWith(\"justify-\")) {\n return \"justifyContent\";\n }\n\n return null;\n};\n\nconst resolveAlignmentKey = (splittedClassName) =>\n splittedClassName.slice(1).join(\"-\");\n\nexport const applyAlignment = (element, splittedClassName) => {\n if (splittedClassName.length < 2) {\n return false;\n }\n\n const key = resolveAlignmentKey(splittedClassName);\n const value = alignmentMappingValues[key];\n if (!value) {\n return false;\n }\n\n const property = determineProperty(key);\n if (!property) {\n return false;\n }\n\n element.style[property] = value;\n return true;\n};\n", "export const widthValues = {\n auto: \"auto\",\n full: \"100%\",\n screen: \"100vw\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\",\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n};\n\nexport const heightValues = {\n auto: \"auto\",\n full: \"100%\",\n screen: \"100vh\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\",\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n};\n", "import { heightValues, widthValues } from \"../constants/sizing.js\";\n\nconst resolveDimensionValue = (key, valuesMap) => {\n if (valuesMap[key]) {\n return valuesMap[key];\n }\n\n const numericValue = Number(key);\n if (Number.isFinite(numericValue)) {\n return `${numericValue * 4}px`;\n }\n\n return undefined;\n};\n\nexport const applyWidthHeight = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const valueKey = splittedClassName[splittedClassName.length - 1];\n if (styleType === \"w\") {\n const widthValue = resolveDimensionValue(valueKey, widthValues);\n if (!widthValue) {\n return;\n }\n\n element.style.width = widthValue;\n return;\n }\n\n if (styleType === \"h\") {\n const heightValue = resolveDimensionValue(valueKey, heightValues);\n if (!heightValue) {\n return;\n }\n\n element.style.height = heightValue;\n }\n};\n", "export const positionValues = {\n static: \"static\",\n fixed: \"fixed\",\n absolute: \"absolute\",\n relative: \"relative\",\n sticky: \"sticky\",\n};\n\nexport const offsetDirectionValues = {\n top: \"top\",\n right: \"right\",\n bottom: \"bottom\",\n left: \"left\",\n};\n\nexport const offsetValues = {\n auto: \"auto\",\n full: \"100%\",\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n};\n", "import {\n offsetDirectionValues,\n offsetValues,\n positionValues,\n} from \"../constants/position.js\";\n\nconst resolveOffsetValue = (key) => {\n if (key === \"0\") {\n return \"0px\";\n }\n\n if (offsetValues[key]) {\n return offsetValues[key];\n }\n\n const numericValue = Number(key);\n if (Number.isFinite(numericValue)) {\n return `${numericValue * 4}px`;\n }\n\n return undefined;\n};\n\nexport const applyPositionType = (element, styleType) => {\n const positionValue = positionValues[styleType];\n if (!positionValue) {\n return;\n }\n\n element.style.position = positionValue;\n};\n\nexport const applyOffset = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const direction = offsetDirectionValues[styleType];\n const offsetKey = splittedClassName[splittedClassName.length - 1];\n const offsetValue = resolveOffsetValue(offsetKey);\n\n if (!direction || !offsetValue) {\n return;\n }\n\n element.style[direction] = offsetValue;\n};\n", "export const shadowMapping = {\n sm: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n base: \"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)\",\n md: \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n lg: \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n xl: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n \"2xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.25)\",\n inner: \"inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)\",\n none: \"none\",\n};", "import { shadowMapping } from \"../constants/shadow.js\";\n\nexport const applyShadow = (element, splittedClassName) => {\n const shadowValue = splittedClassName[2];\n if (!shadowValue) {\n element.style.boxShadow = shadowMapping.base;\n return;\n }\n\n if (shadowMapping[shadowValue]) {\n element.style.boxShadow = shadowMapping[shadowValue];\n } else if (shadowValue.startsWith(\"[\") && shadowValue.endsWith(\"]\")) {\n const arbitraryValue = shadowValue.slice(1, -1).replaceAll(\"_\", \" \");\n element.style.boxShadow = arbitraryValue;\n } else {\n console.warn(`This shadow value is not supported yet: ${shadowValue}`);\n }\n};", "export const cursorMapping = {\n auto: \"auto\",\n default: \"default\",\n pointer: \"pointer\",\n wait: \"wait\",\n text: \"text\",\n move: \"move\",\n help: \"help\",\n \"not-allowed\": \"not-allowed\",\n none: \"none\",\n \"context-menu\": \"context-menu\",\n progress: \"progress\",\n cell: \"cell\",\n crosshair: \"crosshair\",\n \"vertical-text\": \"vertical-text\",\n alias: \"alias\",\n copy: \"copy\",\n \"no-drop\": \"no-drop\",\n grab: \"grab\",\n grabbing: \"grabbing\",\n \"all-scroll\": \"all-scroll\",\n \"col-resize\": \"col-resize\",\n \"row-resize\": \"row-resize\",\n \"n-resize\": \"n-resize\",\n \"e-resize\": \"e-resize\",\n \"s-resize\": \"s-resize\",\n \"w-resize\": \"w-resize\",\n \"ne-resize\": \"ne-resize\",\n \"nw-resize\": \"nw-resize\",\n \"se-resize\": \"se-resize\",\n \"sw-resize\": \"sw-resize\",\n \"ew-resize\": \"ew-resize\",\n \"ns-resize\": \"ns-resize\",\n \"nesw-resize\": \"nesw-resize\",\n \"nwse-resize\": \"nwse-resize\",\n \"zoom-in\": \"zoom-in\",\n \"zoom-out\": \"zoom-out\",\n};\n", "import { cursorMapping } from \"../constants/cursor.js\";\n\nexport const applyCursor = (element, splittedClassName) => {\n const cursorValue = splittedClassName[2];\n if (!cursorValue) {\n return;\n }\n\n if (cursorMapping[cursorValue]) {\n element.style.cursor = cursorMapping[cursorValue];\n } else if (cursorValue.startsWith(\"[\") && cursorValue.endsWith(\"]\")) {\n const arbitraryValue = cursorValue.slice(1, -1).replaceAll(\"_\", \" \");\n element.style.cursor = arbitraryValue;\n } else {\n console.warn(`This cursor value is not supported yet: ${cursorValue}`);\n }\n};\n", "export const opacityMapping = {\n 0: \"0\",\n 5: \"0.05\",\n 10: \"0.1\",\n 20: \"0.2\",\n 25: \"0.25\",\n 30: \"0.3\",\n 40: \"0.4\",\n 50: \"0.5\",\n 60: \"0.6\",\n 70: \"0.7\",\n 75: \"0.75\",\n 80: \"0.8\",\n 90: \"0.9\",\n 95: \"0.95\",\n 100: \"1\",\n};\n", "import { opacityMapping } from \"../constants/opacity.js\";\n\nexport const applyOpacity = (element, splittedClassName) => {\n const opacityValue = splittedClassName[2];\n if (!opacityValue) {\n return;\n }\n\n if (opacityMapping[opacityValue]) {\n element.style.opacity = opacityMapping[opacityValue];\n } else if (opacityValue.startsWith(\"[\") && opacityValue.endsWith(\"]\")) {\n const arbitraryValue = opacityValue.slice(1, -1).replaceAll(\"_\", \" \");\n element.style.opacity = arbitraryValue;\n }\n};\n", "export const zIndexMapping = {\n 0: \"0\",\n 10: \"10\",\n 20: \"20\",\n 30: \"30\",\n 40: \"40\",\n 50: \"50\",\n auto: \"auto\",\n};\n", "import { zIndexMapping } from \"../constants/zindex.js\";\n\nexport const applyZIndex = (element, splittedClassName) => {\n const zValue = splittedClassName[2];\n if (!zValue) {\n return;\n }\n\n if (zIndexMapping[zValue]) {\n element.style.zIndex = zIndexMapping[zValue];\n } else if (zValue.startsWith(\"[\") && zValue.endsWith(\"]\")) {\n const arbitraryValue = zValue.slice(1, -1).replaceAll(\"_\", \" \");\n element.style.zIndex = arbitraryValue;\n }\n};\n", "export const displayMapping = {\n block: \"block\",\n \"inline-block\": \"inline-block\",\n inline: \"inline\",\n flex: \"flex\",\n \"inline-flex\": \"inline-flex\",\n hidden: \"none\",\n none: \"none\",\n};\n", "import { displayMapping } from \"../constants/display.js\";\n\nexport const applyDisplay = (element, splittedClassName) => {\n const displayValue = splittedClassName[1];\n if (displayMapping[displayValue]) {\n element.style.display = displayMapping[displayValue];\n } else if (splittedClassName[1] === \"display\" && splittedClassName.length > 2) {\n const value = splittedClassName[2];\n if (value.startsWith(\"[\") && value.endsWith(\"]\")) {\n element.style.display = value.slice(1, -1).replaceAll(\"_\", \" \");\n }\n }\n};\n", "import { applyBgColor, applyTextColor } from \"../properties/colors.js\";\nimport { applyMargin, applyPadding, applyGap } from \"../properties/spacing.js\";\nimport {\n applyBorder,\n applyBorderColor,\n applyBorderRadius,\n} from \"../properties/border.js\";\nimport { applyFontSize } from \"../properties/fonts.js\";\nimport { applyAlignment } from \"../properties/alignment.js\";\nimport { applyWidthHeight } from \"../properties/sizing.js\";\nimport { applyOffset, applyPositionType } from \"../properties/position.js\";\nimport { applyShadow } from \"../properties/shadow.js\";\nimport { applyCursor } from \"../properties/cursor.js\";\nimport { applyOpacity } from \"../properties/opacity.js\";\nimport { applyZIndex } from \"../properties/zindex.js\";\nimport { applyDisplay } from \"../properties/display.js\";\n\nconst getStyleType = (splittedClassName) => {\n if (!splittedClassName || splittedClassName.length < 2) {\n return \"\";\n }\n\n const baseStyle = splittedClassName[1];\n if (baseStyle === \"rounded\" && splittedClassName.length > 3) {\n return `rounded-${splittedClassName[2]}`;\n }\n\n if (baseStyle === \"gap\" && splittedClassName.length > 3) {\n return `gap-${splittedClassName[2]}`;\n }\n\n return baseStyle;\n};\n\nconst applyStyles = (element, splittedClassName) => {\n const styleType = getStyleType(splittedClassName);\n switch (styleType) {\n case \"bg\":\n applyBgColor(element, splittedClassName);\n break;\n case \"text\":\n if (!applyAlignment(element, splittedClassName)) {\n applyTextColor(element, splittedClassName);\n }\n break;\n case \"gap\":\n case \"gap-x\":\n case \"gap-y\":\n applyGap(element, splittedClassName, styleType);\n break;\n case \"w\":\n case \"h\":\n applyWidthHeight(element, splittedClassName, styleType);\n break;\n case \"p\":\n case \"px\":\n case \"py\":\n case \"pt\":\n case \"pr\":\n case \"pb\":\n case \"pl\":\n applyPadding(element, splittedClassName);\n break;\n case \"m\":\n case \"mx\":\n case \"my\":\n case \"mt\":\n case \"mr\":\n case \"mb\":\n case \"ml\":\n applyMargin(element, splittedClassName);\n break;\n case \"b\":\n case \"bt\":\n case \"br\":\n case \"bb\":\n case \"bl\":\n case \"bx\":\n case \"by\":\n applyBorder(element, splittedClassName, styleType);\n break;\n case \"border\":\n applyBorderColor(element, splittedClassName);\n break;\n case \"rounded\":\n case \"rounded-t\":\n case \"rounded-r\":\n case \"rounded-b\":\n case \"rounded-l\":\n case \"rounded-x\":\n case \"rounded-y\":\n applyBorderRadius(element, splittedClassName, styleType);\n break;\n case \"flex\":\n case \"inline\":\n case \"items\":\n case \"justify\":\n applyAlignment(element, splittedClassName);\n break;\n case \"font\":\n applyFontSize(element, splittedClassName);\n break;\n case \"static\":\n case \"fixed\":\n case \"absolute\":\n case \"relative\":\n case \"sticky\":\n applyPositionType(element, styleType);\n break;\n case \"top\":\n case \"right\":\n case \"bottom\":\n case \"left\":\n applyOffset(element, splittedClassName, styleType);\n break;\n case \"shadow\":\n applyShadow(element, splittedClassName);\n break;\n case \"cursor\":\n applyCursor(element, splittedClassName);\n break;\n case \"opacity\":\n applyOpacity(element, splittedClassName);\n break;\n case \"z\":\n applyZIndex(element, splittedClassName);\n break;\n case \"block\":\n case \"inline-block\":\n case \"hidden\":\n case \"display\":\n applyDisplay(element, splittedClassName);\n break;\n default:\n console.warn(`This style type is not supported yet: ${styleType}`);\n }\n};\n\nexport default applyStyles;\n", "const classNameCache = new Map();\n\nexport const splitClassName = (className) => {\n if (classNameCache.has(className)) {\n return classNameCache.get(className);\n }\n\n const parts = className.split(\"-\");\n const parsed = parts[0] === \"chai\" ? parts : undefined;\n classNameCache.set(className, parsed);\n return parsed;\n};\n", "import applyStyles from \"./apply.js\";\nimport { splitClassName } from \"./parser.js\";\n\nconst GROUP_PROPERTIES = {\n bg: [\"backgroundColor\"],\n \"text-color\": [\"color\"],\n \"text-align\": [\"textAlign\"],\n font: [\"fontSize\", \"fontWeight\"],\n gap: [\"gap\", \"columnGap\", \"rowGap\"],\n padding: [\n \"padding\",\n \"paddingTop\",\n \"paddingRight\",\n \"paddingBottom\",\n \"paddingLeft\",\n ],\n margin: [\"margin\", \"marginTop\", \"marginRight\", \"marginBottom\", \"marginLeft\"],\n \"border-width\": [\n \"borderWidth\",\n \"borderTopWidth\",\n \"borderRightWidth\",\n \"borderBottomWidth\",\n \"borderLeftWidth\",\n \"borderStyle\",\n \"borderTopStyle\",\n \"borderRightStyle\",\n \"borderBottomStyle\",\n \"borderLeftStyle\",\n ],\n \"border-color\": [\"borderColor\"],\n radius: [\n \"borderRadius\",\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomRightRadius\",\n \"borderBottomLeftRadius\",\n ],\n \"flex-align\": [\"display\", \"flexDirection\", \"alignItems\", \"justifyContent\"],\n size: [\"width\", \"height\"],\n position: [\"position\"],\n offset: [\"top\", \"right\", \"bottom\", \"left\"],\n};\n\nconst getStyleType = (splittedClassName) => {\n if (!splittedClassName || splittedClassName.length < 2) {\n return \"\";\n }\n\n const baseStyle = splittedClassName[1];\n if (baseStyle === \"rounded\" && splittedClassName.length > 3) {\n return `rounded-${splittedClassName[2]}`;\n }\n\n if (baseStyle === \"gap\" && splittedClassName.length > 3) {\n return `gap-${splittedClassName[2]}`;\n }\n\n return baseStyle;\n};\n\nconst getGroupId = (splittedClassName) => {\n const styleType = getStyleType(splittedClassName);\n switch (styleType) {\n case \"bg\":\n return \"bg\";\n case \"text\": {\n const textType = splittedClassName[2];\n if ([\"left\", \"center\", \"right\", \"justify\"].includes(textType)) {\n return \"text-align\";\n }\n return \"text-color\";\n }\n case \"font\":\n return \"font\";\n case \"gap\":\n case \"gap-x\":\n case \"gap-y\":\n return \"gap\";\n case \"p\":\n case \"px\":\n case \"py\":\n case \"pt\":\n case \"pr\":\n case \"pb\":\n case \"pl\":\n return \"padding\";\n case \"m\":\n case \"mx\":\n case \"my\":\n case \"mt\":\n case \"mr\":\n case \"mb\":\n case \"ml\":\n return \"margin\";\n case \"b\":\n case \"bt\":\n case \"br\":\n case \"bb\":\n case \"bl\":\n case \"bx\":\n case \"by\":\n return \"border-width\";\n case \"border\":\n return \"border-color\";\n case \"rounded\":\n case \"rounded-t\":\n case \"rounded-r\":\n case \"rounded-b\":\n case \"rounded-l\":\n case \"rounded-x\":\n case \"rounded-y\":\n return \"radius\";\n case \"flex\":\n case \"inline\":\n case \"items\":\n case \"justify\":\n return \"flex-align\";\n case \"w\":\n case \"h\":\n return \"size\";\n case \"static\":\n case \"fixed\":\n case \"absolute\":\n case \"relative\":\n case \"sticky\":\n return \"position\";\n case \"top\":\n case \"right\":\n case \"bottom\":\n case \"left\":\n return \"offset\";\n default:\n return null;\n }\n};\n\nconst applyClassToElement = (element, className) => {\n if (!className || !className.startsWith(\"chai-\")) {\n return;\n }\n\n const classNameParts = splitClassName(className);\n if (!classNameParts) {\n return;\n }\n\n applyStyles(element, classNameParts);\n};\n\nconst clearGroupStyles = (element, groupId) => {\n const properties = GROUP_PROPERTIES[groupId] || [];\n properties.forEach((property) => {\n element.style[property] = \"\";\n });\n};\n\nconst recomputeGroupForElement = (element, groupId) => {\n if (!groupId) {\n return;\n }\n\n clearGroupStyles(element, groupId);\n element.classList.forEach((className) => {\n if (!className.startsWith(\"chai-\")) {\n return;\n }\n\n const classNameParts = splitClassName(className);\n if (!classNameParts || getGroupId(classNameParts) !== groupId) {\n return;\n }\n\n applyStyles(element, classNameParts);\n });\n};\n\nexport const applyChaiClasses = (element) => {\n if (!element || !element.classList) {\n return;\n }\n\n element.classList.forEach((className) => {\n applyClassToElement(element, className);\n });\n};\n\nconst applyToElementAndChildren = (element) => {\n if (!(element instanceof Element)) {\n return;\n }\n\n applyChaiClasses(element);\n element\n .querySelectorAll('[class*=\"chai-\"]')\n .forEach((child) => applyChaiClasses(child));\n};\n\nconst parseClassString = (classString) =>\n new Set((classString || \"\").split(/\\s+/).filter(Boolean));\n\nconst getAddedChaiClasses = (oldClassString, newClassString) => {\n const oldClasses = parseClassString(oldClassString);\n const newClasses = parseClassString(newClassString);\n\n const added = [];\n newClasses.forEach((className) => {\n if (!oldClasses.has(className) && className.startsWith(\"chai-\")) {\n added.push(className);\n }\n });\n\n return added;\n};\n\nconst getRemovedChaiClasses = (oldClassString, newClassString) => {\n const oldClasses = parseClassString(oldClassString);\n const newClasses = parseClassString(newClassString);\n\n const removed = [];\n oldClasses.forEach((className) => {\n if (!newClasses.has(className) && className.startsWith(\"chai-\")) {\n removed.push(className);\n }\n });\n\n return removed;\n};\n\nexport const initMutationObserver = () => {\n const pendingTargets = new Map();\n let rafId = null;\n\n const enqueueTarget = (\n element,\n { classNames = null, recomputeGroups = null, full = false } = {},\n ) => {\n if (!(element instanceof Element)) {\n return;\n }\n\n const existing = pendingTargets.get(element) || {\n classNames: new Set(),\n recomputeGroups: new Set(),\n full: false,\n };\n\n if (full) {\n existing.full = true;\n existing.classNames.clear();\n existing.recomputeGroups.clear();\n pendingTargets.set(element, existing);\n return;\n }\n\n if (!existing.full) {\n (classNames || []).forEach((className) =>\n existing.classNames.add(className),\n );\n (recomputeGroups || []).forEach((groupId) =>\n existing.recomputeGroups.add(groupId),\n );\n }\n\n pendingTargets.set(element, existing);\n };\n\n const flushPendingTargets = () => {\n pendingTargets.forEach((state, element) => {\n if (state.full) {\n applyToElementAndChildren(element);\n return;\n }\n\n state.recomputeGroups.forEach((groupId) => {\n recomputeGroupForElement(element, groupId);\n });\n\n state.classNames.forEach((className) => {\n const classNameParts = splitClassName(className);\n const groupId = classNameParts ? getGroupId(classNameParts) : null;\n if (groupId && state.recomputeGroups.has(groupId)) {\n return;\n }\n\n applyClassToElement(element, className);\n });\n });\n\n pendingTargets.clear();\n rafId = null;\n };\n\n const scheduleFlush = () => {\n if (rafId !== null) {\n return;\n }\n\n rafId = window.requestAnimationFrame(flushPendingTargets);\n };\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === \"attributes\") {\n const addedClasses = getAddedChaiClasses(\n mutation.oldValue,\n mutation.target.className,\n );\n const removedClasses = getRemovedChaiClasses(\n mutation.oldValue,\n mutation.target.className,\n );\n const groupsToRecompute = new Set();\n\n removedClasses.forEach((className) => {\n const classNameParts = splitClassName(className);\n const groupId = classNameParts ? getGroupId(classNameParts) : null;\n if (groupId) {\n groupsToRecompute.add(groupId);\n }\n });\n\n if (addedClasses.length > 0 || groupsToRecompute.size > 0) {\n enqueueTarget(mutation.target, {\n classNames: addedClasses,\n recomputeGroups: groupsToRecompute,\n });\n }\n return;\n }\n\n mutation.addedNodes.forEach((node) => {\n enqueueTarget(node, { full: true });\n });\n });\n\n scheduleFlush();\n });\n\n observer.observe(document.body, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [\"class\"],\n attributeOldValue: true,\n });\n\n return observer;\n};\n", "export const chaiClassScanner = () => {\n return document.querySelectorAll('[class*=\"chai-\"]');\n};\n"],
|
|
5
|
+
"mappings": "saAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,kBAAAE,IAAA,eAAAC,GAAAH,ICAA,IAAMI,GAAgB,CACpB,IAAK,CACH,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EACA,MAAO,CACL,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EACA,KAAM,CACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EACA,OAAQ,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EACA,OAAQ,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EACA,OAAQ,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EACA,KAAM,CACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EACA,KAAM,CACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EACA,IAAK,CACH,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EACA,KAAM,CACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,EACA,OAAQ,CACN,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,SACP,CACF,EAEOC,EAAQD,GCrIf,IAAME,EAAe,CAACC,EAASC,IAAsB,CACnD,IAAIC,EAAQ,GACRD,EAAkB,SAAW,EAC/BC,EAAQD,EAAkB,CAAC,EAAE,QAAQ,UAAW,EAAE,EAElDC,EAAQC,EAAcF,EAAkB,CAAC,CAAC,EAAEA,EAAkB,CAAC,CAAC,EAElED,EAAQ,MAAM,gBAAkBE,CAClC,EAEME,EAAiB,CAACJ,EAASC,IAAsB,CACrD,IAAIC,EAAQ,GACRD,EAAkB,SAAW,EAC/BC,EAAQC,EAAcF,EAAkB,CAAC,CAAC,EAAEA,EAAkB,CAAC,CAAC,EAEhEC,EAAQD,EAAkB,CAAC,EAAE,QAAQ,UAAW,EAAE,EAEpDD,EAAQ,MAAM,MAAQE,CACxB,ECpBO,IAAMG,EAAwB,CACnC,EAAG,UACH,GAAI,aACJ,GAAI,eACJ,GAAI,gBACJ,GAAI,cACJ,GAAI,CAAC,cAAe,cAAc,EAClC,GAAI,CAAC,aAAc,eAAe,CACpC,EAEaC,EAAuB,CAClC,EAAG,SACH,GAAI,YACJ,GAAI,cACJ,GAAI,eACJ,GAAI,aACJ,GAAI,CAAC,aAAc,aAAa,EAChC,GAAI,CAAC,YAAa,cAAc,CAClC,EAEaC,EAAoB,CAC/B,IAAK,MACL,QAAS,YACT,QAAS,QACX,EAEaC,EAAgB,CAC3B,EAAG,MACH,EAAG,MACH,EAAG,MACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,MACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,MAAO,OACP,MAAO,OACP,MAAO,OACP,MAAO,OACT,ECzCO,IAAMC,EAAe,CAACC,EAASC,IAAsB,CAC1D,IAAIC,EAAe,GACnB,GAAID,EAAkB,SAAW,EAC/B,OAEF,IAAME,EAAcF,EAAkB,CAAC,EACjCG,EAAmBC,EAAsBF,CAAW,EACpDG,EAAeC,EAAaN,EAAkB,CAAC,CAAC,EAClD,CAACG,GAAoB,CAACE,IAG1BJ,EAAeI,EACX,MAAM,QAAQF,CAAgB,EAChCA,EAAiB,QAASI,GAAc,CACtCR,EAAQ,MAAMQ,CAAS,EAAIN,CAC7B,CAAC,EAEDF,EAAQ,MAAMI,CAAgB,EAAIF,EAEtC,EAEaO,EAAc,CAACT,EAASC,IAAsB,CACzD,IAAIS,EAAc,GAClB,GAAIT,EAAkB,SAAW,EAC/B,OAEF,IAAMU,EAAaV,EAAkB,CAAC,EAChCW,EAAkBC,EAAqBF,CAAU,EACjDL,EAAeC,EAAaN,EAAkB,CAAC,CAAC,EAClD,CAACW,GAAmB,CAACN,IAGzBI,EAAcJ,EACV,MAAM,QAAQM,CAAe,EAC/BA,EAAgB,QAASJ,GAAc,CACrCR,EAAQ,MAAMQ,CAAS,EAAIE,CAC7B,CAAC,EAEDV,EAAQ,MAAMY,CAAe,EAAIF,EAErC,EAEaI,EAAW,CAACd,EAASC,EAAmBc,IAAc,CACjE,GAAI,CAACA,GAAad,EAAkB,OAAS,EAC3C,OAGF,IAAMe,EAAeC,EAAkBF,CAAS,EAC1CG,EAAcjB,EAAkBA,EAAkB,OAAS,CAAC,EAC5DkB,EAAa,OAAOD,CAAW,EAC/BE,EACJb,EAAaW,CAAW,IACvB,OAAO,SAASC,CAAU,EAAI,GAAGA,EAAa,CAAC,KAAO,QAErD,CAACH,GAAgB,CAACI,IAItBpB,EAAQ,MAAMgB,CAAY,EAAII,EAChC,EClEO,IAAMC,EAAwB,CACnC,EAAG,cACH,GAAI,iBACJ,GAAI,mBACJ,GAAI,oBACJ,GAAI,kBACJ,GAAI,CAAC,kBAAmB,kBAAkB,EAC1C,GAAI,CAAC,iBAAkB,mBAAmB,CAC5C,EAEaC,EAAoB,CAC/B,KAAM,IACN,EAAG,IACH,EAAG,MACH,EAAG,MACH,EAAG,MACH,EAAG,MACH,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,KACN,EAEaC,EAAyB,CACpC,QAAS,eACT,YAAa,CAAC,sBAAuB,sBAAsB,EAC3D,YAAa,CAAC,uBAAwB,yBAAyB,EAC/D,YAAa,CAAC,0BAA2B,wBAAwB,EACjE,YAAa,CAAC,sBAAuB,wBAAwB,EAC7D,YAAa,CAAC,sBAAuB,yBAAyB,EAC9D,YAAa,CAAC,uBAAwB,wBAAwB,CAChE,EAEaC,EAAqB,CAChC,KAAM,IACN,GAAI,WACJ,GAAI,WACJ,GAAI,SACJ,GAAI,UACJ,MAAO,OACP,MAAO,SACP,KAAM,QACR,EClCA,IAAMC,GAAiB,CAACC,EAASC,EAAUC,IAAe,CACxDF,EAAQ,MAAMC,CAAQ,EAAIC,EAC1B,IAAMC,EAAgBF,EAAS,QAAQ,SAAU,OAAO,EACpDE,IAAkBF,IACpBD,EAAQ,MAAMG,CAAa,EAAI,QAEnC,EAEMC,EAAkB,CAACJ,EAASK,EAAsBC,EAAOC,IAAW,CACpE,MAAM,QAAQF,CAAoB,EACpCA,EAAqB,QAASJ,GAAaM,EAAOP,EAASC,EAAUK,CAAK,CAAC,EAE3EC,EAAOP,EAASK,EAAsBC,CAAK,CAE/C,EAEaE,EAAc,CAACR,EAASS,EAAmBC,IAAc,CACpE,GAAI,CAACA,GAAaD,EAAkB,OAAS,EAC3C,OAGF,IAAME,EAAoBC,EAAsBF,CAAS,EACnDG,EAAiBJ,EAAkBA,EAAkB,OAAS,CAAC,EAC/DK,EAAmBC,EAAkBF,CAAc,EAErD,CAACF,GAAqB,CAACG,GAI3BV,EAAgBJ,EAASW,EAAmBG,EAAkBf,EAAc,CAC9E,EAEMiB,GAAc,CAAChB,EAASC,EAAUK,IAAU,CAChDN,EAAQ,MAAMC,CAAQ,EAAIK,CAC5B,EAEaW,EAAoB,CAACjB,EAASS,EAAmBC,IAAc,CAC1E,GAAI,CAACA,GAAaD,EAAkB,OAAS,EAC3C,OAGF,IAAMS,EAAiBC,EAAuBT,CAAS,EACjDU,EAAiBX,EAAkBA,EAAkB,OAAS,CAAC,EAC/DY,EAAoBC,EAAmBF,CAAc,EAEvD,CAACF,GAAkB,CAACG,GAIxBjB,EAAgBJ,EAASkB,EAAgBG,EAAmBL,EAAW,CACzE,EAEMO,GAAe,CAACd,EAAmBe,EAAY,IAAM,CACzD,GAAIf,EAAkB,SAAW,EAAG,CAClC,IAAMgB,EAAUC,EAAcjB,EAAkBe,CAAS,CAAC,EACpDG,EAAQlB,EAAkBe,EAAY,CAAC,EAC7C,OAAOC,IAAUE,CAAK,CACxB,CAEA,OAAOlB,EAAkBe,CAAS,GAAG,QAAQ,SAAU,EAAE,CAC3D,EAEaI,EAAmB,CAAC5B,EAASS,IAAsB,CAC9D,GAAIA,EAAkB,OAAS,EAC7B,OAGF,IAAMoB,EAAaN,GAAad,CAAiB,EAC5CoB,IAIL7B,EAAQ,MAAM,YAAc6B,EAC9B,ECjFO,IAAMC,EAAiB,CAC5B,GAAI,UACJ,GAAI,WACJ,KAAM,OACN,GAAI,WACJ,GAAI,UACJ,MAAO,SACP,MAAO,WACP,MAAO,UACP,MAAO,OACP,MAAO,UACP,MAAO,SACP,MAAO,OACP,MAAO,MACT,EAEaC,EAAmB,CAC9B,KAAM,MACN,WAAY,MACZ,MAAO,MACP,OAAQ,MACR,OAAQ,MACR,SAAU,MACV,KAAM,MACN,UAAW,MACX,MAAO,KACT,ECxBO,IAAMC,EAAgB,CAACC,EAASC,IAAsB,CAC3D,GAAIA,EAAkB,SAAW,EAC/B,OAEF,GAAIC,EAAiBD,EAAkB,CAAC,CAAC,EAAG,CAC1CD,EAAQ,MAAM,WAAaE,EAAiBD,EAAkB,CAAC,CAAC,EAChE,MACF,CACA,IAAME,EAAcF,EAAkB,CAAC,EACjCG,EAAgBC,EAAeF,CAAW,EAC3CC,IAGLJ,EAAQ,MAAM,SAAWI,EAC3B,EChBO,IAAME,EAAyB,CACpC,YAAa,OACb,cAAe,SACf,aAAc,QACd,eAAgB,UAChB,KAAQ,OACR,cAAe,cACf,WAAY,MACZ,mBAAoB,cACpB,WAAY,SACZ,mBAAoB,iBACpB,cAAe,aACf,eAAgB,SAChB,YAAa,WACb,gBAAiB,UACjB,gBAAiB,aACjB,iBAAkB,SAClB,cAAe,WACf,kBAAmB,gBACnB,iBAAkB,eAClB,iBAAkB,cACpB,ECnBA,IAAMC,GAAqBC,GACrBA,EAAI,WAAW,OAAO,EACjB,YAGLA,IAAQ,QAAUA,IAAQ,cACrB,UAGLA,EAAI,WAAW,OAAO,EACjB,gBAGLA,EAAI,WAAW,QAAQ,EAClB,aAGLA,EAAI,WAAW,UAAU,EACpB,iBAGF,KAGHC,GAAuBC,GAC3BA,EAAkB,MAAM,CAAC,EAAE,KAAK,GAAG,EAExBC,EAAiB,CAACC,EAASF,IAAsB,CAC5D,GAAIA,EAAkB,OAAS,EAC7B,MAAO,GAGT,IAAMF,EAAMC,GAAoBC,CAAiB,EAC3CG,EAAQC,EAAuBN,CAAG,EACxC,GAAI,CAACK,EACH,MAAO,GAGT,IAAME,EAAWR,GAAkBC,CAAG,EACtC,OAAKO,GAILH,EAAQ,MAAMG,CAAQ,EAAIF,EACnB,IAJE,EAKX,EC/CO,IAAMG,EAAc,CACzB,KAAM,OACN,KAAM,OACN,OAAQ,QACR,IAAK,cACL,IAAK,cACL,IAAK,cACL,MAAO,MACP,MAAO,aACP,MAAO,aACP,MAAO,MACP,MAAO,MACP,MAAO,KACT,EAEaC,EAAe,CAC1B,KAAM,OACN,KAAM,OACN,OAAQ,QACR,IAAK,cACL,IAAK,cACL,IAAK,cACL,MAAO,MACP,MAAO,aACP,MAAO,aACP,MAAO,MACP,MAAO,MACP,MAAO,KACT,EC1BA,IAAMC,EAAwB,CAACC,EAAKC,IAAc,CAChD,GAAIA,EAAUD,CAAG,EACf,OAAOC,EAAUD,CAAG,EAGtB,IAAME,EAAe,OAAOF,CAAG,EAC/B,GAAI,OAAO,SAASE,CAAY,EAC9B,MAAO,GAAGA,EAAe,CAAC,IAI9B,EAEaC,EAAmB,CAACC,EAASC,EAAmBC,IAAc,CACzE,GAAI,CAACA,GAAaD,EAAkB,OAAS,EAC3C,OAGF,IAAME,EAAWF,EAAkBA,EAAkB,OAAS,CAAC,EAC/D,GAAIC,IAAc,IAAK,CACrB,IAAME,EAAaT,EAAsBQ,EAAUE,CAAW,EAC9D,GAAI,CAACD,EACH,OAGFJ,EAAQ,MAAM,MAAQI,EACtB,MACF,CAEA,GAAIF,IAAc,IAAK,CACrB,IAAMI,EAAcX,EAAsBQ,EAAUI,CAAY,EAChE,GAAI,CAACD,EACH,OAGFN,EAAQ,MAAM,OAASM,CACzB,CACF,ECvCO,IAAME,GAAiB,CAC5B,OAAQ,SACR,MAAO,QACP,SAAU,WACV,SAAU,WACV,OAAQ,QACV,EAEaC,GAAwB,CACnC,IAAK,MACL,MAAO,QACP,OAAQ,SACR,KAAM,MACR,EAEaC,EAAe,CAC1B,KAAM,OACN,KAAM,OACN,MAAO,MACP,MAAO,aACP,MAAO,aACP,MAAO,MACP,MAAO,MACP,MAAO,KACT,EClBA,IAAMC,GAAsBC,GAAQ,CAClC,GAAIA,IAAQ,IACV,MAAO,MAGT,GAAIC,EAAaD,CAAG,EAClB,OAAOC,EAAaD,CAAG,EAGzB,IAAME,EAAe,OAAOF,CAAG,EAC/B,GAAI,OAAO,SAASE,CAAY,EAC9B,MAAO,GAAGA,EAAe,CAAC,IAI9B,EAEaC,GAAoB,CAACC,EAASC,IAAc,CACvD,IAAMC,EAAgBC,GAAeF,CAAS,EACzCC,IAILF,EAAQ,MAAM,SAAWE,EAC3B,EAEaE,GAAc,CAACJ,EAASK,EAAmBJ,IAAc,CACpE,GAAI,CAACA,GAAaI,EAAkB,OAAS,EAC3C,OAGF,IAAMC,EAAYC,GAAsBN,CAAS,EAC3CO,EAAYH,EAAkBA,EAAkB,OAAS,CAAC,EAC1DI,EAAcd,GAAmBa,CAAS,EAE5C,CAACF,GAAa,CAACG,IAInBT,EAAQ,MAAMM,CAAS,EAAIG,EAC7B,EC9CO,IAAMC,EAAgB,CAC3B,GAAI,kCACJ,KAAM,oEACN,GAAI,wEACJ,GAAI,0EACJ,GAAI,4EACJ,MAAO,wCACP,MAAO,wCACP,KAAM,MACR,ECPO,IAAMC,GAAc,CAACC,EAASC,IAAsB,CACzD,IAAMC,EAAcD,EAAkB,CAAC,EACvC,GAAI,CAACC,EAAa,CAChBF,EAAQ,MAAM,UAAYG,EAAc,KACxC,MACF,CAEA,GAAIA,EAAcD,CAAW,EAC3BF,EAAQ,MAAM,UAAYG,EAAcD,CAAW,UAC1CA,EAAY,WAAW,GAAG,GAAKA,EAAY,SAAS,GAAG,EAAG,CACnE,IAAME,EAAiBF,EAAY,MAAM,EAAG,EAAE,EAAE,WAAW,IAAK,GAAG,EACnEF,EAAQ,MAAM,UAAYI,CAC5B,MACE,QAAQ,KAAK,2CAA2CF,CAAW,EAAE,CAEzE,ECjBO,IAAMG,EAAgB,CAC3B,KAAM,OACN,QAAS,UACT,QAAS,UACT,KAAM,OACN,KAAM,OACN,KAAM,OACN,KAAM,OACN,cAAe,cACf,KAAM,OACN,eAAgB,eAChB,SAAU,WACV,KAAM,OACN,UAAW,YACX,gBAAiB,gBACjB,MAAO,QACP,KAAM,OACN,UAAW,UACX,KAAM,OACN,SAAU,WACV,aAAc,aACd,aAAc,aACd,aAAc,aACd,WAAY,WACZ,WAAY,WACZ,WAAY,WACZ,WAAY,WACZ,YAAa,YACb,YAAa,YACb,YAAa,YACb,YAAa,YACb,YAAa,YACb,YAAa,YACb,cAAe,cACf,cAAe,cACf,UAAW,UACX,WAAY,UACd,ECnCO,IAAMC,GAAc,CAACC,EAASC,IAAsB,CACzD,IAAMC,EAAcD,EAAkB,CAAC,EACvC,GAAKC,EAIL,GAAIC,EAAcD,CAAW,EAC3BF,EAAQ,MAAM,OAASG,EAAcD,CAAW,UACvCA,EAAY,WAAW,GAAG,GAAKA,EAAY,SAAS,GAAG,EAAG,CACnE,IAAME,EAAiBF,EAAY,MAAM,EAAG,EAAE,EAAE,WAAW,IAAK,GAAG,EACnEF,EAAQ,MAAM,OAASI,CACzB,MACE,QAAQ,KAAK,2CAA2CF,CAAW,EAAE,CAEzE,EChBO,IAAMG,EAAiB,CAC5B,EAAG,IACH,EAAG,OACH,GAAI,MACJ,GAAI,MACJ,GAAI,OACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,OACJ,GAAI,MACJ,GAAI,MACJ,GAAI,OACJ,IAAK,GACP,ECdO,IAAMC,GAAe,CAACC,EAASC,IAAsB,CAC1D,IAAMC,EAAeD,EAAkB,CAAC,EACxC,GAAKC,GAIL,GAAIC,EAAeD,CAAY,EAC7BF,EAAQ,MAAM,QAAUG,EAAeD,CAAY,UAC1CA,EAAa,WAAW,GAAG,GAAKA,EAAa,SAAS,GAAG,EAAG,CACrE,IAAME,EAAiBF,EAAa,MAAM,EAAG,EAAE,EAAE,WAAW,IAAK,GAAG,EACpEF,EAAQ,MAAM,QAAUI,CAC1B,EACF,ECdO,IAAMC,EAAgB,CAC3B,EAAG,IACH,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,KAAM,MACR,ECNO,IAAMC,GAAc,CAACC,EAASC,IAAsB,CACzD,IAAMC,EAASD,EAAkB,CAAC,EAClC,GAAKC,GAIL,GAAIC,EAAcD,CAAM,EACtBF,EAAQ,MAAM,OAASG,EAAcD,CAAM,UAClCA,EAAO,WAAW,GAAG,GAAKA,EAAO,SAAS,GAAG,EAAG,CACzD,IAAME,EAAiBF,EAAO,MAAM,EAAG,EAAE,EAAE,WAAW,IAAK,GAAG,EAC9DF,EAAQ,MAAM,OAASI,CACzB,EACF,ECdO,IAAMC,EAAiB,CAC5B,MAAO,QACP,eAAgB,eAChB,OAAQ,SACR,KAAM,OACN,cAAe,cACf,OAAQ,OACR,KAAM,MACR,ECNO,IAAMC,GAAe,CAACC,EAASC,IAAsB,CAC1D,IAAMC,EAAeD,EAAkB,CAAC,EACxC,GAAIE,EAAeD,CAAY,EAC7BF,EAAQ,MAAM,QAAUG,EAAeD,CAAY,UAC1CD,EAAkB,CAAC,IAAM,WAAaA,EAAkB,OAAS,EAAG,CAC5E,IAAMG,EAAQH,EAAkB,CAAC,EAC7BG,EAAM,WAAW,GAAG,GAAKA,EAAM,SAAS,GAAG,IAC5CJ,EAAQ,MAAM,QAAUI,EAAM,MAAM,EAAG,EAAE,EAAE,WAAW,IAAK,GAAG,EAEpE,CACF,ECKA,IAAMC,GAAgBC,GAAsB,CAC1C,GAAI,CAACA,GAAqBA,EAAkB,OAAS,EACnD,MAAO,GAGT,IAAMC,EAAYD,EAAkB,CAAC,EACrC,OAAIC,IAAc,WAAaD,EAAkB,OAAS,EACjD,WAAWA,EAAkB,CAAC,CAAC,GAGpCC,IAAc,OAASD,EAAkB,OAAS,EAC7C,OAAOA,EAAkB,CAAC,CAAC,GAG7BC,CACT,EAEMC,GAAc,CAACC,EAASH,IAAsB,CAClD,IAAMI,EAAYL,GAAaC,CAAiB,EAChD,OAAQI,EAAW,CACjB,IAAK,KACHC,EAAaF,EAASH,CAAiB,EACvC,MACF,IAAK,OACEM,EAAeH,EAASH,CAAiB,GAC5CO,EAAeJ,EAASH,CAAiB,EAE3C,MACF,IAAK,MACL,IAAK,QACL,IAAK,QACHQ,EAASL,EAASH,EAAmBI,CAAS,EAC9C,MACF,IAAK,IACL,IAAK,IACHK,EAAiBN,EAASH,EAAmBI,CAAS,EACtD,MACF,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACHM,EAAaP,EAASH,CAAiB,EACvC,MACF,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACHW,EAAYR,EAASH,CAAiB,EACtC,MACF,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACHY,EAAYT,EAASH,EAAmBI,CAAS,EACjD,MACF,IAAK,SACHS,EAAiBV,EAASH,CAAiB,EAC3C,MACF,IAAK,UACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACHc,EAAkBX,EAASH,EAAmBI,CAAS,EACvD,MACF,IAAK,OACL,IAAK,SACL,IAAK,QACL,IAAK,UACHE,EAAeH,EAASH,CAAiB,EACzC,MACF,IAAK,OACHe,EAAcZ,EAASH,CAAiB,EACxC,MACF,IAAK,SACL,IAAK,QACL,IAAK,WACL,IAAK,WACL,IAAK,SACHgB,GAAkBb,EAASC,CAAS,EACpC,MACF,IAAK,MACL,IAAK,QACL,IAAK,SACL,IAAK,OACHa,GAAYd,EAASH,EAAmBI,CAAS,EACjD,MACF,IAAK,SACHc,GAAYf,EAASH,CAAiB,EACtC,MACF,IAAK,SACHmB,GAAYhB,EAASH,CAAiB,EACtC,MACF,IAAK,UACHoB,GAAajB,EAASH,CAAiB,EACvC,MACF,IAAK,IACHqB,GAAYlB,EAASH,CAAiB,EACtC,MACF,IAAK,QACL,IAAK,eACL,IAAK,SACL,IAAK,UACHsB,GAAanB,EAASH,CAAiB,EACvC,MACF,QACE,QAAQ,KAAK,yCAAyCI,CAAS,EAAE,CACrE,CACF,EAEOmB,EAAQrB,GC1If,IAAMsB,EAAiB,IAAI,IAEdC,EAAkBC,GAAc,CAC3C,GAAIF,EAAe,IAAIE,CAAS,EAC9B,OAAOF,EAAe,IAAIE,CAAS,EAGrC,IAAMC,EAAQD,EAAU,MAAM,GAAG,EAC3BE,EAASD,EAAM,CAAC,IAAM,OAASA,EAAQ,OAC7C,OAAAH,EAAe,IAAIE,EAAWE,CAAM,EAC7BA,CACT,ECRA,IAAMC,GAAmB,CACvB,GAAI,CAAC,iBAAiB,EACtB,aAAc,CAAC,OAAO,EACtB,aAAc,CAAC,WAAW,EAC1B,KAAM,CAAC,WAAY,YAAY,EAC/B,IAAK,CAAC,MAAO,YAAa,QAAQ,EAClC,QAAS,CACP,UACA,aACA,eACA,gBACA,aACF,EACA,OAAQ,CAAC,SAAU,YAAa,cAAe,eAAgB,YAAY,EAC3E,eAAgB,CACd,cACA,iBACA,mBACA,oBACA,kBACA,cACA,iBACA,mBACA,oBACA,iBACF,EACA,eAAgB,CAAC,aAAa,EAC9B,OAAQ,CACN,eACA,sBACA,uBACA,0BACA,wBACF,EACA,aAAc,CAAC,UAAW,gBAAiB,aAAc,gBAAgB,EACzE,KAAM,CAAC,QAAS,QAAQ,EACxB,SAAU,CAAC,UAAU,EACrB,OAAQ,CAAC,MAAO,QAAS,SAAU,MAAM,CAC3C,EAEMC,GAAgBC,GAAsB,CAC1C,GAAI,CAACA,GAAqBA,EAAkB,OAAS,EACnD,MAAO,GAGT,IAAMC,EAAYD,EAAkB,CAAC,EACrC,OAAIC,IAAc,WAAaD,EAAkB,OAAS,EACjD,WAAWA,EAAkB,CAAC,CAAC,GAGpCC,IAAc,OAASD,EAAkB,OAAS,EAC7C,OAAOA,EAAkB,CAAC,CAAC,GAG7BC,CACT,EAEMC,EAAcF,GAAsB,CAExC,OADkBD,GAAaC,CAAiB,EAC7B,CACjB,IAAK,KACH,MAAO,KACT,IAAK,OAAQ,CACX,IAAMG,EAAWH,EAAkB,CAAC,EACpC,MAAI,CAAC,OAAQ,SAAU,QAAS,SAAS,EAAE,SAASG,CAAQ,EACnD,aAEF,YACT,CACA,IAAK,OACH,MAAO,OACT,IAAK,MACL,IAAK,QACL,IAAK,QACH,MAAO,MACT,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACH,MAAO,UACT,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACH,MAAO,SACT,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACH,MAAO,eACT,IAAK,SACH,MAAO,eACT,IAAK,UACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACH,MAAO,SACT,IAAK,OACL,IAAK,SACL,IAAK,QACL,IAAK,UACH,MAAO,aACT,IAAK,IACL,IAAK,IACH,MAAO,OACT,IAAK,SACL,IAAK,QACL,IAAK,WACL,IAAK,WACL,IAAK,SACH,MAAO,WACT,IAAK,MACL,IAAK,QACL,IAAK,SACL,IAAK,OACH,MAAO,SACT,QACE,OAAO,IACX,CACF,EAEMC,GAAsB,CAACC,EAASC,IAAc,CAClD,GAAI,CAACA,GAAa,CAACA,EAAU,WAAW,OAAO,EAC7C,OAGF,IAAMC,EAAiBC,EAAeF,CAAS,EAC1CC,GAILE,EAAYJ,EAASE,CAAc,CACrC,EAEMG,GAAmB,CAACL,EAASM,IAAY,EAC1Bb,GAAiBa,CAAO,GAAK,CAAC,GACtC,QAASC,GAAa,CAC/BP,EAAQ,MAAMO,CAAQ,EAAI,EAC5B,CAAC,CACH,EAEMC,GAA2B,CAACR,EAASM,IAAY,CAChDA,IAILD,GAAiBL,EAASM,CAAO,EACjCN,EAAQ,UAAU,QAASC,GAAc,CACvC,GAAI,CAACA,EAAU,WAAW,OAAO,EAC/B,OAGF,IAAMC,EAAiBC,EAAeF,CAAS,EAC3C,CAACC,GAAkBL,EAAWK,CAAc,IAAMI,GAItDF,EAAYJ,EAASE,CAAc,CACrC,CAAC,EACH,EAEaO,GAAoBT,GAAY,CACvC,CAACA,GAAW,CAACA,EAAQ,WAIzBA,EAAQ,UAAU,QAASC,GAAc,CACvCF,GAAoBC,EAASC,CAAS,CACxC,CAAC,CACH,EAEMS,GAA6BV,GAAY,CACvCA,aAAmB,UAIzBS,GAAiBT,CAAO,EACxBA,EACG,iBAAiB,kBAAkB,EACnC,QAASW,GAAUF,GAAiBE,CAAK,CAAC,EAC/C,EAEMC,EAAoBC,GACxB,IAAI,KAAKA,GAAe,IAAI,MAAM,KAAK,EAAE,OAAO,OAAO,CAAC,EAEpDC,GAAsB,CAACC,EAAgBC,IAAmB,CAC9D,IAAMC,EAAaL,EAAiBG,CAAc,EAC5CG,EAAaN,EAAiBI,CAAc,EAE5CG,EAAQ,CAAC,EACf,OAAAD,EAAW,QAASjB,GAAc,CAC5B,CAACgB,EAAW,IAAIhB,CAAS,GAAKA,EAAU,WAAW,OAAO,GAC5DkB,EAAM,KAAKlB,CAAS,CAExB,CAAC,EAEMkB,CACT,EAEMC,GAAwB,CAACL,EAAgBC,IAAmB,CAChE,IAAMC,EAAaL,EAAiBG,CAAc,EAC5CG,EAAaN,EAAiBI,CAAc,EAE5CK,EAAU,CAAC,EACjB,OAAAJ,EAAW,QAAShB,GAAc,CAC5B,CAACiB,EAAW,IAAIjB,CAAS,GAAKA,EAAU,WAAW,OAAO,GAC5DoB,EAAQ,KAAKpB,CAAS,CAE1B,CAAC,EAEMoB,CACT,EAEaC,GAAuB,IAAM,CACxC,IAAMC,EAAiB,IAAI,IACvBC,EAAQ,KAENC,EAAgB,CACpBzB,EACA,CAAE,WAAA0B,EAAa,KAAM,gBAAAC,EAAkB,KAAM,KAAAC,EAAO,EAAM,EAAI,CAAC,IAC5D,CACH,GAAI,EAAE5B,aAAmB,SACvB,OAGF,IAAM6B,EAAWN,EAAe,IAAIvB,CAAO,GAAK,CAC9C,WAAY,IAAI,IAChB,gBAAiB,IAAI,IACrB,KAAM,EACR,EAEA,GAAI4B,EAAM,CACRC,EAAS,KAAO,GAChBA,EAAS,WAAW,MAAM,EAC1BA,EAAS,gBAAgB,MAAM,EAC/BN,EAAe,IAAIvB,EAAS6B,CAAQ,EACpC,MACF,CAEKA,EAAS,QACXH,GAAc,CAAC,GAAG,QAASzB,GAC1B4B,EAAS,WAAW,IAAI5B,CAAS,CACnC,GACC0B,GAAmB,CAAC,GAAG,QAASrB,GAC/BuB,EAAS,gBAAgB,IAAIvB,CAAO,CACtC,GAGFiB,EAAe,IAAIvB,EAAS6B,CAAQ,CACtC,EAEMC,EAAsB,IAAM,CAChCP,EAAe,QAAQ,CAACQ,EAAO/B,IAAY,CACzC,GAAI+B,EAAM,KAAM,CACdrB,GAA0BV,CAAO,EACjC,MACF,CAEA+B,EAAM,gBAAgB,QAASzB,GAAY,CACzCE,GAAyBR,EAASM,CAAO,CAC3C,CAAC,EAEDyB,EAAM,WAAW,QAAS9B,GAAc,CACtC,IAAMC,EAAiBC,EAAeF,CAAS,EACzCK,EAAUJ,EAAiBL,EAAWK,CAAc,EAAI,KAC1DI,GAAWyB,EAAM,gBAAgB,IAAIzB,CAAO,GAIhDP,GAAoBC,EAASC,CAAS,CACxC,CAAC,CACH,CAAC,EAEDsB,EAAe,MAAM,EACrBC,EAAQ,IACV,EAEMQ,EAAgB,IAAM,CACtBR,IAAU,OAIdA,EAAQ,OAAO,sBAAsBM,CAAmB,EAC1D,EAEMG,EAAW,IAAI,iBAAkBC,GAAc,CACnDA,EAAU,QAASC,GAAa,CAC9B,GAAIA,EAAS,OAAS,aAAc,CAClC,IAAMC,EAAetB,GACnBqB,EAAS,SACTA,EAAS,OAAO,SAClB,EACME,EAAiBjB,GACrBe,EAAS,SACTA,EAAS,OAAO,SAClB,EACMG,EAAoB,IAAI,IAE9BD,EAAe,QAASpC,GAAc,CACpC,IAAMC,EAAiBC,EAAeF,CAAS,EACzCK,EAAUJ,EAAiBL,EAAWK,CAAc,EAAI,KAC1DI,GACFgC,EAAkB,IAAIhC,CAAO,CAEjC,CAAC,GAEG8B,EAAa,OAAS,GAAKE,EAAkB,KAAO,IACtDb,EAAcU,EAAS,OAAQ,CAC7B,WAAYC,EACZ,gBAAiBE,CACnB,CAAC,EAEH,MACF,CAEAH,EAAS,WAAW,QAASI,GAAS,CACpCd,EAAcc,EAAM,CAAE,KAAM,EAAK,CAAC,CACpC,CAAC,CACH,CAAC,EAEDP,EAAc,CAChB,CAAC,EAED,OAAAC,EAAS,QAAQ,SAAS,KAAM,CAC9B,QAAS,GACT,UAAW,GACX,WAAY,GACZ,gBAAiB,CAAC,OAAO,EACzB,kBAAmB,EACrB,CAAC,EAEMA,CACT,EC3VO,IAAMO,GAAmB,IACvB,SAAS,iBAAiB,kBAAkB,E5BIrD,IAAMC,GAAY,CAAC,OAAO,EAEpBC,GAAa,CAACC,EAASC,IAAc,CACzC,IAAMC,EAAgBD,EAAU,QAAQ,SAAU,EAAE,EAC9CE,EAAQC,EAAeF,CAAa,EAC1C,GAAI,CAACC,EAAO,OAEZ,IAAME,EAAQ,SAAS,cAAc,KAAK,EAC1CC,EAAYD,EAAOF,CAAK,EACxB,IAAMI,EAAc,CAAC,EACrB,QAASC,EAAI,EAAGA,EAAIH,EAAM,MAAM,OAAQG,IAAK,CAC3C,IAAMC,EAAOJ,EAAM,MAAMG,CAAC,EAC1BD,EAAYE,CAAI,EAAIJ,EAAM,MAAM,iBAAiBI,CAAI,CACvD,CAEA,IAAIC,EAAiB,CAAC,EAEtBV,EAAQ,iBAAiB,aAAc,IAAM,CAC3C,QAAWS,KAAQF,EACjBG,EAAeD,CAAI,EAAIT,EAAQ,MAAM,iBAAiBS,CAAI,EAC1DT,EAAQ,MAAM,YAAYS,EAAMF,EAAYE,CAAI,EAAG,WAAW,CAElE,CAAC,EAEDT,EAAQ,iBAAiB,aAAc,IAAM,CAC3C,QAAWS,KAAQC,EACbA,EAAeD,CAAI,EACrBT,EAAQ,MAAM,YAAYS,EAAMC,EAAeD,CAAI,CAAC,EAEpDT,EAAQ,MAAM,eAAeS,CAAI,EAGrCC,EAAiB,CAAC,CACpB,CAAC,CACH,EAEMC,GAAe,CAACV,EAAWW,IAAY,CAC3C,IAAMV,EAAgBD,EAAU,QAAQ,GAAGW,CAAO,IAAK,EAAE,EACnDT,EAAQC,EAAeF,CAAa,EAC1C,GAAI,CAACC,EAAO,OACZ,IAAME,EAAQ,SAAS,cAAc,KAAK,EAG1C,GAFAC,EAAYD,EAAOF,CAAK,EAEpBE,EAAM,MAAM,SAAW,EAAG,OAE9B,IAAIQ,EAAU,GACd,QAASL,EAAI,EAAGA,EAAIH,EAAM,MAAM,OAAQG,IAAK,CAC3C,IAAMC,EAAOJ,EAAM,MAAMG,CAAC,EACpBM,EAAQT,EAAM,MAAM,iBAAiBI,CAAI,EACzCM,EAAWV,EAAM,MAAM,oBAAoBI,CAAI,EACrDI,GAAW,GAAGJ,CAAI,KAAKK,CAAK,GAAGC,EAAW,cAAgB,EAAE,GAC9D,CAEA,IAAMC,EAAmB,IAAI,OAAOf,CAAS,EACvCgB,EAAU,cAAcD,CAAgB,GAE9C,GAAI,CAAC,SAAS,eAAeC,CAAO,EAAG,CACrC,IAAMC,EAAQ,SAAS,cAAc,OAAO,EAC5CA,EAAM,GAAKD,EACXC,EAAM,YAAc,IAAIF,CAAgB,IAAIJ,CAAO,MAAMC,CAAO,KAChE,SAAS,KAAK,YAAYK,CAAK,CACjC,CACF,EAEMC,GAAa,IAAM,CACFC,GAAiB,EACzB,QAASpB,GAAY,CAChCA,EAAQ,UAAU,QAASC,GAAc,CACvC,GAAIA,EAAU,WAAW,aAAa,EAAG,CACvCF,GAAWC,EAASC,CAAS,EAC7B,MACF,CAEA,QAAWoB,KAAYvB,GACrB,GAAIG,EAAU,WAAW,GAAGoB,CAAQ,QAAQ,EAAG,CAC7CV,GAAaV,EAAWoB,CAAQ,EAChC,MACF,CAGF,GAAI,CAACpB,EAAU,WAAW,OAAO,EAC/B,OAEF,IAAMqB,EAAiBlB,EAAeH,CAAS,EAC1CqB,GAGLhB,EAAYN,EAASsB,CAAc,CACrC,CAAC,CACH,CAAC,CACH,EAEaC,EAAe,IACtB,OAAO,SAAa,IACf,MAGTJ,GAAW,EACJK,GAAqB,GAG1B,OAAO,SAAa,MAClB,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoBD,EAAc,CAC1D,KAAM,EACR,CAAC,EAEDA,EAAa",
|
|
6
|
+
"names": ["index_exports", "__export", "initBrewWind", "__toCommonJS", "colorsPalette", "colors_default", "applyBgColor", "element", "splittedClassName", "color", "colors_default", "applyTextColor", "paddingDirectionTypes", "marginDirectionTypes", "gapDirectionTypes", "spacingValues", "applyPadding", "element", "splittedClassName", "paddingValue", "paddingType", "paddingDirection", "paddingDirectionTypes", "spacingValue", "spacingValues", "direction", "applyMargin", "marginValue", "marginType", "marginDirection", "marginDirectionTypes", "applyGap", "styleType", "gapDirection", "gapDirectionTypes", "gapValueKey", "numericGap", "gapValue", "borderDirectionValues", "borderWidthValues", "roundedDirectionValues", "borderRadiusValues", "setBorderWidth", "element", "property", "widthValue", "styleProperty", "applyProperties", "propertyOrProperties", "value", "setter", "applyBorder", "splittedClassName", "styleType", "directionProperty", "borderDirectionValues", "borderValueKey", "borderWidthValue", "borderWidthValues", "applyRadius", "applyBorderRadius", "radiusProperty", "roundedDirectionValues", "radiusValueKey", "borderRadiusValue", "borderRadiusValues", "resolveColor", "baseIndex", "palette", "colors_default", "shade", "applyBorderColor", "colorValue", "fontSizeValues", "fontWeightValues", "applyFontSize", "element", "splittedClassName", "fontWeightValues", "fontSizeKey", "fontSizeValue", "fontSizeValues", "alignmentMappingValues", "determineProperty", "key", "resolveAlignmentKey", "splittedClassName", "applyAlignment", "element", "value", "alignmentMappingValues", "property", "widthValues", "heightValues", "resolveDimensionValue", "key", "valuesMap", "numericValue", "applyWidthHeight", "element", "splittedClassName", "styleType", "valueKey", "widthValue", "widthValues", "heightValue", "heightValues", "positionValues", "offsetDirectionValues", "offsetValues", "resolveOffsetValue", "key", "offsetValues", "numericValue", "applyPositionType", "element", "styleType", "positionValue", "positionValues", "applyOffset", "splittedClassName", "direction", "offsetDirectionValues", "offsetKey", "offsetValue", "shadowMapping", "applyShadow", "element", "splittedClassName", "shadowValue", "shadowMapping", "arbitraryValue", "cursorMapping", "applyCursor", "element", "splittedClassName", "cursorValue", "cursorMapping", "arbitraryValue", "opacityMapping", "applyOpacity", "element", "splittedClassName", "opacityValue", "opacityMapping", "arbitraryValue", "zIndexMapping", "applyZIndex", "element", "splittedClassName", "zValue", "zIndexMapping", "arbitraryValue", "displayMapping", "applyDisplay", "element", "splittedClassName", "displayValue", "displayMapping", "value", "getStyleType", "splittedClassName", "baseStyle", "applyStyles", "element", "styleType", "applyBgColor", "applyAlignment", "applyTextColor", "applyGap", "applyWidthHeight", "applyPadding", "applyMargin", "applyBorder", "applyBorderColor", "applyBorderRadius", "applyFontSize", "applyPositionType", "applyOffset", "applyShadow", "applyCursor", "applyOpacity", "applyZIndex", "applyDisplay", "apply_default", "classNameCache", "splitClassName", "className", "parts", "parsed", "GROUP_PROPERTIES", "getStyleType", "splittedClassName", "baseStyle", "getGroupId", "textType", "applyClassToElement", "element", "className", "classNameParts", "splitClassName", "apply_default", "clearGroupStyles", "groupId", "property", "recomputeGroupForElement", "applyChaiClasses", "applyToElementAndChildren", "child", "parseClassString", "classString", "getAddedChaiClasses", "oldClassString", "newClassString", "oldClasses", "newClasses", "added", "getRemovedChaiClasses", "removed", "initMutationObserver", "pendingTargets", "rafId", "enqueueTarget", "classNames", "recomputeGroups", "full", "existing", "flushPendingTargets", "state", "scheduleFlush", "observer", "mutations", "mutation", "addedClasses", "removedClasses", "groupsToRecompute", "node", "chaiClassScanner", "modifiers", "applyHover", "element", "className", "baseClassName", "parts", "splitClassName", "dummy", "apply_default", "hoverStyles", "i", "prop", "originalStyles", "applyVariant", "variant", "cssText", "value", "priority", "escapedClassName", "styleId", "style", "initStyles", "chaiClassScanner", "modifier", "classNameParts", "initBrewWind", "initMutationObserver"]
|
|
7
7
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var te={red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"}},l=te;var S=(e,r)=>{let t="";r.length===3?t=r[2].replace(/[\[\]]/g,""):t=l[r[2]][r[3]],e.style.backgroundColor=t},W=(e,r)=>{let t="";r.length===4?t=l[r[2]][r[3]]:t=r[2].replace(/[\[\]]/g,""),e.style.color=t};var B={p:"padding",pt:"paddingTop",pr:"paddingRight",pb:"paddingBottom",pl:"paddingLeft",px:["paddingLeft","paddingRight"],py:["paddingTop","paddingBottom"]},E={m:"margin",mt:"marginTop",mr:"marginRight",mb:"marginBottom",ml:"marginLeft",mx:["marginLeft","marginRight"],my:["marginTop","marginBottom"]},v={gap:"gap","gap-x":"columnGap","gap-y":"rowGap"},b={0:"0px",1:"4px",2:"8px",3:"12px",4:"16px",5:"20px",6:"24px",7:"28px",8:"32px",9:"36px",10:"40px",11:"44px",12:"48px",sm:"8px",md:"16px",lg:"24px",xl:"32px","2xl":"48px","3xl":"64px","4xl":"96px","5xl":"128px"};var L=(e,r)=>{let t="";if(r.length!==3)return;let o=r[1],n=B[o],a=b[r[2]];!n||!a||(t=a,Array.isArray(n)?n.forEach(i=>{e.style[i]=t}):e.style[n]=t)},D=(e,r)=>{let t="";if(r.length!==3)return;let o=r[1],n=E[o],a=b[r[2]];!n||!a||(t=a,Array.isArray(n)?n.forEach(i=>{e.style[i]=t}):e.style[n]=t)},P=(e,r,t)=>{if(!t||r.length<3)return;let o=v[t],n=r[r.length-1],a=Number(n),i=b[n]||(Number.isFinite(a)?`${a*4}px`:void 0);!o||!i||(e.style[o]=i)};var G={b:"borderWidth",bt:"borderTopWidth",br:"borderRightWidth",bb:"borderBottomWidth",bl:"borderLeftWidth",bx:["borderLeftWidth","borderRightWidth"],by:["borderTopWidth","borderBottomWidth"]},A={none:"0",0:"0",1:"1px",2:"2px",4:"4px",8:"8px",sm:"1px",md:"2px",lg:"4px",xl:"8px"},j={rounded:"borderRadius","rounded-t":["borderTopLeftRadius","borderTopRightRadius"],"rounded-r":["borderTopRightRadius","borderBottomRightRadius"],"rounded-b":["borderBottomRightRadius","borderBottomLeftRadius"],"rounded-l":["borderTopLeftRadius","borderBottomLeftRadius"],"rounded-x":["borderTopLeftRadius","borderBottomRightRadius"],"rounded-y":["borderTopRightRadius","borderBottomLeftRadius"]},k={none:"0",sm:"0.125rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"};var oe=(e,r,t)=>{e.style[r]=t;let o=r.replace(/Width$/,"Style");o!==r&&(e.style[o]="solid")},z=(e,r,t,o)=>{Array.isArray(r)?r.forEach(n=>o(e,n,t)):o(e,r,t)},F=(e,r,t)=>{if(!t||r.length<3)return;let o=G[t],n=r[r.length-1],a=A[n];!o||!a||z(e,o,a,oe)},ne=(e,r,t)=>{e.style[r]=t},M=(e,r,t)=>{if(!t||r.length<3)return;let o=j[t],n=r[r.length-1],a=k[n];!o||!a||z(e,o,a,ne)},ae=(e,r=2)=>{if(e.length===4){let t=l[e[r]],o=e[r+1];return t?.[o]}return e[r]?.replace(/\[|\]/g,"")},$=(e,r)=>{if(r.length<3)return;let t=ae(r);t&&(e.style.borderColor=t)};var O={xs:"0.75rem",sm:"0.875rem",base:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"},x={thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"};var K=(e,r)=>{if(r.length!==3)return;if(x[r[2]]){e.style.fontWeight=x[r[2]];return}let t=r[2],o=O[t];o&&(e.style.fontSize=o)};var q={"text-left":"left","text-center":"center","text-right":"right","text-justify":"justify",flex:"flex","inline-flex":"inline-flex","flex-row":"row","flex-row-reverse":"row-reverse","flex-col":"column","flex-col-reverse":"column-reverse","items-start":"flex-start","items-center":"center","items-end":"flex-end","items-stretch":"stretch","justify-start":"flex-start","justify-center":"center","justify-end":"flex-end","justify-between":"space-between","justify-around":"space-around","justify-evenly":"space-evenly"};var ie=e=>e.startsWith("text-")?"textAlign":e==="flex"||e==="inline-flex"?"display":e.startsWith("flex-")?"flexDirection":e.startsWith("items-")?"alignItems":e.startsWith("justify-")?"justifyContent":null,ce=e=>e.slice(1).join("-"),y=(e,r)=>{if(r.length<2)return!1;let t=ce(r),o=q[t];if(!o)return!1;let n=ie(t);return n?(e.style[n]=o,!0):!1};var I={auto:"auto",full:"100%",screen:"100vw",min:"min-content",max:"max-content",fit:"fit-content","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%"},H={auto:"auto",full:"100%",screen:"100vh",min:"min-content",max:"max-content",fit:"fit-content","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%"};var U=(e,r)=>{if(r[e])return r[e];let t=Number(e);if(Number.isFinite(t))return`${t*4}px`},_=(e,r,t)=>{if(!t||r.length<3)return;let o=r[r.length-1];if(t==="w"){let n=U(o,I);if(!n)return;e.style.width=n;return}if(t==="h"){let n=U(o,H);if(!n)return;e.style.height=n}};var J={static:"static",fixed:"fixed",absolute:"absolute",relative:"relative",sticky:"sticky"},Q={top:"top",right:"right",bottom:"bottom",left:"left"},m={auto:"auto",full:"100%","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%"};var se=e=>{if(e==="0")return"0px";if(m[e])return m[e];let r=Number(e);if(Number.isFinite(r))return`${r*4}px`},X=(e,r)=>{let t=J[r];t&&(e.style.position=t)},Y=(e,r,t)=>{if(!t||r.length<3)return;let o=Q[t],n=r[r.length-1],a=se(n);!o||!a||(e.style[o]=a)};var fe=e=>{if(!e||e.length<2)return"";let r=e[1];return r==="rounded"&&e.length>3?`rounded-${e[2]}`:r==="gap"&&e.length>3?`gap-${e[2]}`:r},ue=(e,r)=>{let t=fe(r);switch(t){case"bg":S(e,r);break;case"text":y(e,r)||W(e,r);break;case"gap":case"gap-x":case"gap-y":P(e,r,t);break;case"w":case"h":_(e,r,t);break;case"p":case"px":case"py":case"pt":case"pr":case"pb":case"pl":L(e,r);break;case"m":case"mx":case"my":case"mt":case"mr":case"mb":case"ml":D(e,r);break;case"b":case"bt":case"br":case"bb":case"bl":case"bx":case"by":F(e,r,t);break;case"border":$(e,r);break;case"rounded":case"rounded-t":case"rounded-r":case"rounded-b":case"rounded-l":case"rounded-x":case"rounded-y":M(e,r,t);break;case"flex":case"inline":case"items":case"justify":y(e,r);break;case"font":K(e,r);break;case"static":case"fixed":case"absolute":case"relative":case"sticky":X(e,t);break;case"top":case"right":case"bottom":case"left":Y(e,r,t);break;default:console.warn(`This style type is not supported yet: ${t}`)}},g=ue;var V=new Map,u=e=>{if(V.has(e))return V.get(e);let r=e.split("-"),t=r[0]==="chai"?r:void 0;return V.set(e,t),t};var de={bg:["backgroundColor"],"text-color":["color"],"text-align":["textAlign"],font:["fontSize","fontWeight"],gap:["gap","columnGap","rowGap"],padding:["padding","paddingTop","paddingRight","paddingBottom","paddingLeft"],margin:["margin","marginTop","marginRight","marginBottom","marginLeft"],"border-width":["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle"],"border-color":["borderColor"],radius:["borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],"flex-align":["display","flexDirection","alignItems","justifyContent"],size:["width","height"],position:["position"],offset:["top","right","bottom","left"]},pe=e=>{if(!e||e.length<2)return"";let r=e[1];return r==="rounded"&&e.length>3?`rounded-${e[2]}`:r==="gap"&&e.length>3?`gap-${e[2]}`:r},R=e=>{switch(pe(e)){case"bg":return"bg";case"text":{let t=e[2];return["left","center","right","justify"].includes(t)?"text-align":"text-color"}case"font":return"font";case"gap":case"gap-x":case"gap-y":return"gap";case"p":case"px":case"py":case"pt":case"pr":case"pb":case"pl":return"padding";case"m":case"mx":case"my":case"mt":case"mr":case"mb":case"ml":return"margin";case"b":case"bt":case"br":case"bb":case"bl":case"bx":case"by":return"border-width";case"border":return"border-color";case"rounded":case"rounded-t":case"rounded-r":case"rounded-b":case"rounded-l":case"rounded-x":case"rounded-y":return"radius";case"flex":case"inline":case"items":case"justify":return"flex-align";case"w":case"h":return"size";case"static":case"fixed":case"absolute":case"relative":case"sticky":return"position";case"top":case"right":case"bottom":case"left":return"offset";default:return null}},C=(e,r)=>{if(!r||!r.startsWith("chai-"))return;let t=u(r);t&&g(e,t)},le=(e,r)=>{(de[r]||[]).forEach(o=>{e.style[o]=""})},ge=(e,r)=>{r&&(le(e,r),e.classList.forEach(t=>{if(!t.startsWith("chai-"))return;let o=u(t);!o||R(o)!==r||g(e,o)}))},Z=e=>{!e||!e.classList||e.classList.forEach(r=>{C(e,r)})},be=e=>{e instanceof Element&&(Z(e),e.querySelectorAll('[class*="chai-"]').forEach(r=>Z(r)))},h=e=>new Set((e||"").split(/\s+/).filter(Boolean)),he=(e,r)=>{let t=h(e),o=h(r),n=[];return o.forEach(a=>{!t.has(a)&&a.startsWith("chai-")&&n.push(a)}),n},xe=(e,r)=>{let t=h(e),o=h(r),n=[];return t.forEach(a=>{!o.has(a)&&a.startsWith("chai-")&&n.push(a)}),n},N=()=>{let e=new Map,r=null,t=(i,{classNames:s=null,recomputeGroups:f=null,full:d=!1}={})=>{if(!(i instanceof Element))return;let c=e.get(i)||{classNames:new Set,recomputeGroups:new Set,full:!1};if(d){c.full=!0,c.classNames.clear(),c.recomputeGroups.clear(),e.set(i,c);return}c.full||((s||[]).forEach(p=>c.classNames.add(p)),(f||[]).forEach(p=>c.recomputeGroups.add(p))),e.set(i,c)},o=()=>{e.forEach((i,s)=>{if(i.full){be(s);return}i.recomputeGroups.forEach(f=>{ge(s,f)}),i.classNames.forEach(f=>{let d=u(f),c=d?R(d):null;c&&i.recomputeGroups.has(c)||C(s,f)})}),e.clear(),r=null},n=()=>{r===null&&(r=window.requestAnimationFrame(o))},a=new MutationObserver(i=>{i.forEach(s=>{if(s.type==="attributes"){let f=he(s.oldValue,s.target.className),d=xe(s.oldValue,s.target.className),c=new Set;d.forEach(p=>{let T=u(p),w=T?R(T):null;w&&c.add(w)}),(f.length>0||c.size>0)&&t(s.target,{classNames:f,recomputeGroups:c});return}s.addedNodes.forEach(f=>{t(f,{full:!0})})}),n()});return a.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["class"],attributeOldValue:!0}),a};var ee=()=>document.querySelectorAll('[class*="chai-"]');var ye=()=>{ee().forEach(r=>{r.classList.forEach(t=>{if(!t.startsWith("chai-"))return;let o=u(t);o&&g(r,o)})})},re=()=>typeof document>"u"?null:(ye(),N());typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",re,{once:!0}):re());export{re as initBrewWind};
|
|
1
|
+
var ue={red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81"}},g=ue;var B=(e,r)=>{let t="";r.length===3?t=r[2].replace(/[\[\]]/g,""):t=g[r[2]][r[3]],e.style.backgroundColor=t},L=(e,r)=>{let t="";r.length===4?t=g[r[2]][r[3]]:t=r[2].replace(/[\[\]]/g,""),e.style.color=t};var P={p:"padding",pt:"paddingTop",pr:"paddingRight",pb:"paddingBottom",pl:"paddingLeft",px:["paddingLeft","paddingRight"],py:["paddingTop","paddingBottom"]},k={m:"margin",mt:"marginTop",mr:"marginRight",mb:"marginBottom",ml:"marginLeft",mx:["marginLeft","marginRight"],my:["marginTop","marginBottom"]},A={gap:"gap","gap-x":"columnGap","gap-y":"rowGap"},x={0:"0px",1:"4px",2:"8px",3:"12px",4:"16px",5:"20px",6:"24px",7:"28px",8:"32px",9:"36px",10:"40px",11:"44px",12:"48px",sm:"8px",md:"16px",lg:"24px",xl:"32px","2xl":"48px","3xl":"64px","4xl":"96px","5xl":"128px"};var D=(e,r)=>{let t="";if(r.length!==3)return;let o=r[1],n=P[o],i=x[r[2]];!n||!i||(t=i,Array.isArray(n)?n.forEach(a=>{e.style[a]=t}):e.style[n]=t)},$=(e,r)=>{let t="";if(r.length!==3)return;let o=r[1],n=k[o],i=x[r[2]];!n||!i||(t=i,Array.isArray(n)?n.forEach(a=>{e.style[a]=t}):e.style[n]=t)},M=(e,r,t)=>{if(!t||r.length<3)return;let o=A[t],n=r[r.length-1],i=Number(n),a=x[n]||(Number.isFinite(i)?`${i*4}px`:void 0);!o||!a||(e.style[o]=a)};var G={b:"borderWidth",bt:"borderTopWidth",br:"borderRightWidth",bb:"borderBottomWidth",bl:"borderLeftWidth",bx:["borderLeftWidth","borderRightWidth"],by:["borderTopWidth","borderBottomWidth"]},j={none:"0",0:"0",1:"1px",2:"2px",4:"4px",8:"8px",sm:"1px",md:"2px",lg:"4px",xl:"8px"},I={rounded:"borderRadius","rounded-t":["borderTopLeftRadius","borderTopRightRadius"],"rounded-r":["borderTopRightRadius","borderBottomRightRadius"],"rounded-b":["borderBottomRightRadius","borderBottomLeftRadius"],"rounded-l":["borderTopLeftRadius","borderBottomLeftRadius"],"rounded-x":["borderTopLeftRadius","borderBottomRightRadius"],"rounded-y":["borderTopRightRadius","borderBottomLeftRadius"]},O={none:"0",sm:"0.125rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"};var de=(e,r,t)=>{e.style[r]=t;let o=r.replace(/Width$/,"Style");o!==r&&(e.style[o]="solid")},F=(e,r,t,o)=>{Array.isArray(r)?r.forEach(n=>o(e,n,t)):o(e,r,t)},K=(e,r,t)=>{if(!t||r.length<3)return;let o=G[t],n=r[r.length-1],i=j[n];!o||!i||F(e,o,i,de)},ge=(e,r,t)=>{e.style[r]=t},_=(e,r,t)=>{if(!t||r.length<3)return;let o=I[t],n=r[r.length-1],i=O[n];!o||!i||F(e,o,i,ge)},xe=(e,r=2)=>{if(e.length===4){let t=g[e[r]],o=e[r+1];return t?.[o]}return e[r]?.replace(/\[|\]/g,"")},q=(e,r)=>{if(r.length<3)return;let t=xe(r);t&&(e.style.borderColor=t)};var H={xs:"0.75rem",sm:"0.875rem",base:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.875rem","4xl":"2.25rem","5xl":"3rem","6xl":"3.75rem","7xl":"4.5rem","8xl":"6rem","9xl":"8rem"},h={thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"};var Z=(e,r)=>{if(r.length!==3)return;if(h[r[2]]){e.style.fontWeight=h[r[2]];return}let t=r[2],o=H[t];o&&(e.style.fontSize=o)};var U={"text-left":"left","text-center":"center","text-right":"right","text-justify":"justify",flex:"flex","inline-flex":"inline-flex","flex-row":"row","flex-row-reverse":"row-reverse","flex-col":"column","flex-col-reverse":"column-reverse","items-start":"flex-start","items-center":"center","items-end":"flex-end","items-stretch":"stretch","justify-start":"flex-start","justify-center":"center","justify-end":"flex-end","justify-between":"space-between","justify-around":"space-around","justify-evenly":"space-evenly"};var ye=e=>e.startsWith("text-")?"textAlign":e==="flex"||e==="inline-flex"?"display":e.startsWith("flex-")?"flexDirection":e.startsWith("items-")?"alignItems":e.startsWith("justify-")?"justifyContent":null,be=e=>e.slice(1).join("-"),m=(e,r)=>{if(r.length<2)return!1;let t=be(r),o=U[t];if(!o)return!1;let n=ye(t);return n?(e.style[n]=o,!0):!1};var J={auto:"auto",full:"100%",screen:"100vw",min:"min-content",max:"max-content",fit:"fit-content","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%"},Q={auto:"auto",full:"100%",screen:"100vh",min:"min-content",max:"max-content",fit:"fit-content","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%"};var X=(e,r)=>{if(r[e])return r[e];let t=Number(e);if(Number.isFinite(t))return`${t*4}px`},Y=(e,r,t)=>{if(!t||r.length<3)return;let o=r[r.length-1];if(t==="w"){let n=X(o,J);if(!n)return;e.style.width=n;return}if(t==="h"){let n=X(o,Q);if(!n)return;e.style.height=n}};var C={static:"static",fixed:"fixed",absolute:"absolute",relative:"relative",sticky:"sticky"},N={top:"top",right:"right",bottom:"bottom",left:"left"},w={auto:"auto",full:"100%","1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%"};var he=e=>{if(e==="0")return"0px";if(w[e])return w[e];let r=Number(e);if(Number.isFinite(r))return`${r*4}px`},ee=(e,r)=>{let t=C[r];t&&(e.style.position=t)},re=(e,r,t)=>{if(!t||r.length<3)return;let o=N[t],n=r[r.length-1],i=he(n);!o||!i||(e.style[o]=i)};var y={sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",inner:"inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)",none:"none"};var te=(e,r)=>{let t=r[2];if(!t){e.style.boxShadow=y.base;return}if(y[t])e.style.boxShadow=y[t];else if(t.startsWith("[")&&t.endsWith("]")){let o=t.slice(1,-1).replaceAll("_"," ");e.style.boxShadow=o}else console.warn(`This shadow value is not supported yet: ${t}`)};var V={auto:"auto",default:"default",pointer:"pointer",wait:"wait",text:"text",move:"move",help:"help","not-allowed":"not-allowed",none:"none","context-menu":"context-menu",progress:"progress",cell:"cell",crosshair:"crosshair","vertical-text":"vertical-text",alias:"alias",copy:"copy","no-drop":"no-drop",grab:"grab",grabbing:"grabbing","all-scroll":"all-scroll","col-resize":"col-resize","row-resize":"row-resize","n-resize":"n-resize","e-resize":"e-resize","s-resize":"s-resize","w-resize":"w-resize","ne-resize":"ne-resize","nw-resize":"nw-resize","se-resize":"se-resize","sw-resize":"sw-resize","ew-resize":"ew-resize","ns-resize":"ns-resize","nesw-resize":"nesw-resize","nwse-resize":"nwse-resize","zoom-in":"zoom-in","zoom-out":"zoom-out"};var oe=(e,r)=>{let t=r[2];if(t)if(V[t])e.style.cursor=V[t];else if(t.startsWith("[")&&t.endsWith("]")){let o=t.slice(1,-1).replaceAll("_"," ");e.style.cursor=o}else console.warn(`This cursor value is not supported yet: ${t}`)};var z={0:"0",5:"0.05",10:"0.1",20:"0.2",25:"0.25",30:"0.3",40:"0.4",50:"0.5",60:"0.6",70:"0.7",75:"0.75",80:"0.8",90:"0.9",95:"0.95",100:"1"};var ne=(e,r)=>{let t=r[2];if(t){if(z[t])e.style.opacity=z[t];else if(t.startsWith("[")&&t.endsWith("]")){let o=t.slice(1,-1).replaceAll("_"," ");e.style.opacity=o}}};var R={0:"0",10:"10",20:"20",30:"30",40:"40",50:"50",auto:"auto"};var ie=(e,r)=>{let t=r[2];if(t){if(R[t])e.style.zIndex=R[t];else if(t.startsWith("[")&&t.endsWith("]")){let o=t.slice(1,-1).replaceAll("_"," ");e.style.zIndex=o}}};var W={block:"block","inline-block":"inline-block",inline:"inline",flex:"flex","inline-flex":"inline-flex",hidden:"none",none:"none"};var se=(e,r)=>{let t=r[1];if(W[t])e.style.display=W[t];else if(r[1]==="display"&&r.length>2){let o=r[2];o.startsWith("[")&&o.endsWith("]")&&(e.style.display=o.slice(1,-1).replaceAll("_"," "))}};var me=e=>{if(!e||e.length<2)return"";let r=e[1];return r==="rounded"&&e.length>3?`rounded-${e[2]}`:r==="gap"&&e.length>3?`gap-${e[2]}`:r},we=(e,r)=>{let t=me(r);switch(t){case"bg":B(e,r);break;case"text":m(e,r)||L(e,r);break;case"gap":case"gap-x":case"gap-y":M(e,r,t);break;case"w":case"h":Y(e,r,t);break;case"p":case"px":case"py":case"pt":case"pr":case"pb":case"pl":D(e,r);break;case"m":case"mx":case"my":case"mt":case"mr":case"mb":case"ml":$(e,r);break;case"b":case"bt":case"br":case"bb":case"bl":case"bx":case"by":K(e,r,t);break;case"border":q(e,r);break;case"rounded":case"rounded-t":case"rounded-r":case"rounded-b":case"rounded-l":case"rounded-x":case"rounded-y":_(e,r,t);break;case"flex":case"inline":case"items":case"justify":m(e,r);break;case"font":Z(e,r);break;case"static":case"fixed":case"absolute":case"relative":case"sticky":ee(e,t);break;case"top":case"right":case"bottom":case"left":re(e,r,t);break;case"shadow":te(e,r);break;case"cursor":oe(e,r);break;case"opacity":ne(e,r);break;case"z":ie(e,r);break;case"block":case"inline-block":case"hidden":case"display":se(e,r);break;default:console.warn(`This style type is not supported yet: ${t}`)}},d=we;var S=new Map,l=e=>{if(S.has(e))return S.get(e);let r=e.split("-"),t=r[0]==="chai"?r:void 0;return S.set(e,t),t};var Ve={bg:["backgroundColor"],"text-color":["color"],"text-align":["textAlign"],font:["fontSize","fontWeight"],gap:["gap","columnGap","rowGap"],padding:["padding","paddingTop","paddingRight","paddingBottom","paddingLeft"],margin:["margin","marginTop","marginRight","marginBottom","marginLeft"],"border-width":["borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle"],"border-color":["borderColor"],radius:["borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],"flex-align":["display","flexDirection","alignItems","justifyContent"],size:["width","height"],position:["position"],offset:["top","right","bottom","left"]},ze=e=>{if(!e||e.length<2)return"";let r=e[1];return r==="rounded"&&e.length>3?`rounded-${e[2]}`:r==="gap"&&e.length>3?`gap-${e[2]}`:r},v=e=>{switch(ze(e)){case"bg":return"bg";case"text":{let t=e[2];return["left","center","right","justify"].includes(t)?"text-align":"text-color"}case"font":return"font";case"gap":case"gap-x":case"gap-y":return"gap";case"p":case"px":case"py":case"pt":case"pr":case"pb":case"pl":return"padding";case"m":case"mx":case"my":case"mt":case"mr":case"mb":case"ml":return"margin";case"b":case"bt":case"br":case"bb":case"bl":case"bx":case"by":return"border-width";case"border":return"border-color";case"rounded":case"rounded-t":case"rounded-r":case"rounded-b":case"rounded-l":case"rounded-x":case"rounded-y":return"radius";case"flex":case"inline":case"items":case"justify":return"flex-align";case"w":case"h":return"size";case"static":case"fixed":case"absolute":case"relative":case"sticky":return"position";case"top":case"right":case"bottom":case"left":return"offset";default:return null}},ce=(e,r)=>{if(!r||!r.startsWith("chai-"))return;let t=l(r);t&&d(e,t)},Re=(e,r)=>{(Ve[r]||[]).forEach(o=>{e.style[o]=""})},We=(e,r)=>{r&&(Re(e,r),e.classList.forEach(t=>{if(!t.startsWith("chai-"))return;let o=l(t);!o||v(o)!==r||d(e,o)}))},ae=e=>{!e||!e.classList||e.classList.forEach(r=>{ce(e,r)})},Se=e=>{e instanceof Element&&(ae(e),e.querySelectorAll('[class*="chai-"]').forEach(r=>ae(r)))},b=e=>new Set((e||"").split(/\s+/).filter(Boolean)),ve=(e,r)=>{let t=b(e),o=b(r),n=[];return o.forEach(i=>{!t.has(i)&&i.startsWith("chai-")&&n.push(i)}),n},Te=(e,r)=>{let t=b(e),o=b(r),n=[];return t.forEach(i=>{!o.has(i)&&i.startsWith("chai-")&&n.push(i)}),n},pe=()=>{let e=new Map,r=null,t=(a,{classNames:s=null,recomputeGroups:c=null,full:f=!1}={})=>{if(!(a instanceof Element))return;let p=e.get(a)||{classNames:new Set,recomputeGroups:new Set,full:!1};if(f){p.full=!0,p.classNames.clear(),p.recomputeGroups.clear(),e.set(a,p);return}p.full||((s||[]).forEach(u=>p.classNames.add(u)),(c||[]).forEach(u=>p.recomputeGroups.add(u))),e.set(a,p)},o=()=>{e.forEach((a,s)=>{if(a.full){Se(s);return}a.recomputeGroups.forEach(c=>{We(s,c)}),a.classNames.forEach(c=>{let f=l(c),p=f?v(f):null;p&&a.recomputeGroups.has(p)||ce(s,c)})}),e.clear(),r=null},n=()=>{r===null&&(r=window.requestAnimationFrame(o))},i=new MutationObserver(a=>{a.forEach(s=>{if(s.type==="attributes"){let c=ve(s.oldValue,s.target.className),f=Te(s.oldValue,s.target.className),p=new Set;f.forEach(u=>{let T=l(u),E=T?v(T):null;E&&p.add(E)}),(c.length>0||p.size>0)&&t(s.target,{classNames:c,recomputeGroups:p});return}s.addedNodes.forEach(c=>{t(c,{full:!0})})}),n()});return i.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["class"],attributeOldValue:!0}),i};var fe=()=>document.querySelectorAll('[class*="chai-"]');var Ee=["focus"],Be=(e,r)=>{let t=r.replace("hover:",""),o=l(t);if(!o)return;let n=document.createElement("div");d(n,o);let i={};for(let s=0;s<n.style.length;s++){let c=n.style[s];i[c]=n.style.getPropertyValue(c)}let a={};e.addEventListener("mouseenter",()=>{for(let s in i)a[s]=e.style.getPropertyValue(s),e.style.setProperty(s,i[s],"important")}),e.addEventListener("mouseleave",()=>{for(let s in a)a[s]?e.style.setProperty(s,a[s]):e.style.removeProperty(s);a={}})},Le=(e,r)=>{let t=e.replace(`${r}:`,""),o=l(t);if(!o)return;let n=document.createElement("div");if(d(n,o),n.style.length===0)return;let i="";for(let c=0;c<n.style.length;c++){let f=n.style[c],p=n.style.getPropertyValue(f),u=n.style.getPropertyPriority(f);i+=`${f}: ${p}${u?" !important":""};`}let a=CSS.escape(e),s=`chai-style-${a}`;if(!document.getElementById(s)){let c=document.createElement("style");c.id=s,c.textContent=`.${a}:${r} { ${i} }`,document.head.appendChild(c)}},Pe=()=>{fe().forEach(r=>{r.classList.forEach(t=>{if(t.startsWith("hover:chai-")){Be(r,t);return}for(let n of Ee)if(t.startsWith(`${n}:chai-`)){Le(t,n);return}if(!t.startsWith("chai-"))return;let o=l(t);o&&d(r,o)})})},le=()=>typeof document>"u"?null:(Pe(),pe());typeof document<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",le,{once:!0}):le());export{le as initBrewWind};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/constants/colors.js", "../src/properties/colors.js", "../src/constants/spacing.js", "../src/properties/spacing.js", "../src/constants/border.js", "../src/properties/border.js", "../src/constants/fonts.js", "../src/properties/fonts.js", "../src/constants/alignment.js", "../src/properties/alignment.js", "../src/constants/sizing.js", "../src/properties/sizing.js", "../src/constants/position.js", "../src/properties/position.js", "../src/core/apply.js", "../src/core/parser.js", "../src/core/observer.js", "../src/core/scanner.js", "../src/index.js"],
|
|
4
|
-
"sourcesContent": ["const colorsPalette = {\n red: {\n 50: \"#fef2f2\",\n 100: \"#fee2e2\",\n 200: \"#fecaca\",\n 300: \"#fca5a5\",\n 400: \"#f87171\",\n 500: \"#ef4444\",\n 600: \"#dc2626\",\n 700: \"#b91c1c\",\n 800: \"#991b1b\",\n 900: \"#7f1d1d\",\n },\n green: {\n 50: \"#f0fdf4\",\n 100: \"#dcfce7\",\n 200: \"#bbf7d0\",\n 300: \"#86efac\",\n 400: \"#4ade80\",\n 500: \"#22c55e\",\n 600: \"#16a34a\",\n 700: \"#15803d\",\n 800: \"#166534\",\n 900: \"#14532d\",\n },\n blue: {\n 50: \"#eff6ff\",\n 100: \"#dbeafe\",\n 200: \"#bfdbfe\",\n 300: \"#93c5fd\",\n 400: \"#60a5fa\",\n 500: \"#3b82f6\",\n 600: \"#2563eb\",\n 700: \"#1d4ed8\",\n 800: \"#1e40af\",\n 900: \"#1e3a8a\",\n },\n yellow: {\n 50: \"#fefce8\",\n 100: \"#fef9c3\",\n 200: \"#fef08a\",\n 300: \"#fde047\",\n 400: \"#facc15\",\n 500: \"#eab308\",\n 600: \"#ca8a04\",\n 700: \"#a16207\",\n 800: \"#854d0e\",\n 900: \"#713f12\",\n },\n orange: {\n 50: \"#fff7ed\",\n 100: \"#ffedd5\",\n 200: \"#fed7aa\",\n 300: \"#fdba74\",\n 400: \"#fb923c\",\n 500: \"#f97316\",\n 600: \"#ea580c\",\n 700: \"#c2410c\",\n 800: \"#9a3412\",\n 900: \"#7c2d12\",\n },\n purple: {\n 50: \"#faf5ff\",\n 100: \"#f3e8ff\",\n 200: \"#e9d5ff\",\n 300: \"#d8b4fe\",\n 400: \"#c084fc\",\n 500: \"#a855f7\",\n 600: \"#9333ea\",\n 700: \"#7e22ce\",\n 800: \"#6b21a8\",\n 900: \"#581c87\",\n },\n pink: {\n 50: \"#fdf2f8\",\n 100: \"#fce7f3\",\n 200: \"#fbcfe8\",\n 300: \"#f9a8d4\",\n 400: \"#f472b6\",\n 500: \"#ec4899\",\n 600: \"#db2777\",\n 700: \"#be185d\",\n 800: \"#9d174d\",\n 900: \"#831843\",\n },\n gray: {\n 50: \"#f9fafb\",\n 100: \"#f3f4f6\",\n 200: \"#e5e7eb\",\n 300: \"#d1d5db\",\n 400: \"#9ca3af\",\n 500: \"#6b7280\",\n 600: \"#4b5563\",\n 700: \"#374151\",\n 800: \"#1f2937\",\n 900: \"#111827\",\n },\n sky: {\n 50: \"#f0f9ff\",\n 100: \"#e0f2fe\",\n 200: \"#bae6fd\",\n 300: \"#7dd3fc\",\n 400: \"#38bdf8\",\n 500: \"#0ea5e9\",\n 600: \"#0284c7\",\n 700: \"#0369a1\",\n 800: \"#075985\",\n 900: \"#0c4a6e\",\n },\n cyan: {\n 50: \"#ecfeff\",\n 100: \"#cffafe\",\n 200: \"#a5f3fc\",\n 300: \"#67e8f9\",\n 400: \"#22d3ee\",\n 500: \"#06b6d4\",\n 600: \"#0891b2\",\n 700: \"#0e7490\",\n 800: \"#155e75\",\n 900: \"#164e63\",\n },\n indigo: {\n 50: \"#eef2ff\",\n 100: \"#e0e7ff\",\n 200: \"#c7d2fe\",\n 300: \"#a5b4fc\",\n 400: \"#818cf8\",\n 500: \"#6366f1\",\n 600: \"#4f46e5\",\n 700: \"#4338ca\",\n 800: \"#3730a3\",\n 900: \"#312e81\",\n },\n};\n\nexport default colorsPalette;\n", "import colorsPalette from \"../constants/colors.js\";\n\nconst applyBgColor = (element, splittedClassName) => {\n let color = \"\";\n if (splittedClassName.length === 3) {\n color = splittedClassName[2].replace(/[\\[\\]]/g, \"\");\n } else {\n color = colorsPalette[splittedClassName[2]][splittedClassName[3]];\n }\n element.style.backgroundColor = color;\n};\n\nconst applyTextColor = (element, splittedClassName) => {\n let color = \"\";\n if (splittedClassName.length === 4) {\n color = colorsPalette[splittedClassName[2]][splittedClassName[3]];\n } else {\n color = splittedClassName[2].replace(/[\\[\\]]/g, \"\");\n }\n element.style.color = color;\n};\n\nexport { applyBgColor, applyTextColor };\n", "export const paddingDirectionTypes = {\n p: \"padding\",\n pt: \"paddingTop\",\n pr: \"paddingRight\",\n pb: \"paddingBottom\",\n pl: \"paddingLeft\",\n px: [\"paddingLeft\", \"paddingRight\"],\n py: [\"paddingTop\", \"paddingBottom\"],\n};\n\nexport const marginDirectionTypes = {\n m: \"margin\",\n mt: \"marginTop\",\n mr: \"marginRight\",\n mb: \"marginBottom\",\n ml: \"marginLeft\",\n mx: [\"marginLeft\", \"marginRight\"],\n my: [\"marginTop\", \"marginBottom\"],\n};\n\nexport const gapDirectionTypes = {\n gap: \"gap\",\n \"gap-x\": \"columnGap\",\n \"gap-y\": \"rowGap\",\n};\n\nexport const spacingValues = {\n 0: \"0px\",\n 1: \"4px\",\n 2: \"8px\",\n 3: \"12px\",\n 4: \"16px\",\n 5: \"20px\",\n 6: \"24px\",\n 7: \"28px\",\n 8: \"32px\",\n 9: \"36px\",\n 10: \"40px\",\n 11: \"44px\",\n 12: \"48px\",\n sm: \"8px\",\n md: \"16px\",\n lg: \"24px\",\n xl: \"32px\",\n \"2xl\": \"48px\",\n \"3xl\": \"64px\",\n \"4xl\": \"96px\",\n \"5xl\": \"128px\",\n};\n", "import {\n gapDirectionTypes,\n marginDirectionTypes,\n paddingDirectionTypes,\n spacingValues as spacingScale,\n} from \"../constants/spacing.js\";\n\nexport const applyPadding = (element, splittedClassName) => {\n let paddingValue = \"\";\n if (splittedClassName.length !== 3) {\n return;\n }\n const paddingType = splittedClassName[1];\n const paddingDirection = paddingDirectionTypes[paddingType];\n const spacingValue = spacingScale[splittedClassName[2]];\n if (!paddingDirection || !spacingValue) {\n return;\n }\n paddingValue = spacingValue;\n if (Array.isArray(paddingDirection)) {\n paddingDirection.forEach((direction) => {\n element.style[direction] = paddingValue;\n });\n } else {\n element.style[paddingDirection] = paddingValue;\n }\n};\n\nexport const applyMargin = (element, splittedClassName) => {\n let marginValue = \"\";\n if (splittedClassName.length !== 3) {\n return;\n }\n const marginType = splittedClassName[1];\n const marginDirection = marginDirectionTypes[marginType];\n const spacingValue = spacingScale[splittedClassName[2]];\n if (!marginDirection || !spacingValue) {\n return;\n }\n marginValue = spacingValue;\n if (Array.isArray(marginDirection)) {\n marginDirection.forEach((direction) => {\n element.style[direction] = marginValue;\n });\n } else {\n element.style[marginDirection] = marginValue;\n }\n};\n\nexport const applyGap = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const gapDirection = gapDirectionTypes[styleType];\n const gapValueKey = splittedClassName[splittedClassName.length - 1];\n const numericGap = Number(gapValueKey);\n const gapValue =\n spacingScale[gapValueKey] ||\n (Number.isFinite(numericGap) ? `${numericGap * 4}px` : undefined);\n\n if (!gapDirection || !gapValue) {\n return;\n }\n\n element.style[gapDirection] = gapValue;\n};\n", "export const borderDirectionValues = {\n b: \"borderWidth\",\n bt: \"borderTopWidth\",\n br: \"borderRightWidth\",\n bb: \"borderBottomWidth\",\n bl: \"borderLeftWidth\",\n bx: [\"borderLeftWidth\", \"borderRightWidth\"],\n by: [\"borderTopWidth\", \"borderBottomWidth\"],\n};\n\nexport const borderWidthValues = {\n none: \"0\",\n 0: \"0\",\n 1: \"1px\",\n 2: \"2px\",\n 4: \"4px\",\n 8: \"8px\",\n sm: \"1px\",\n md: \"2px\",\n lg: \"4px\",\n xl: \"8px\",\n};\n\nexport const roundedDirectionValues = {\n rounded: \"borderRadius\",\n \"rounded-t\": [\"borderTopLeftRadius\", \"borderTopRightRadius\"],\n \"rounded-r\": [\"borderTopRightRadius\", \"borderBottomRightRadius\"],\n \"rounded-b\": [\"borderBottomRightRadius\", \"borderBottomLeftRadius\"],\n \"rounded-l\": [\"borderTopLeftRadius\", \"borderBottomLeftRadius\"],\n \"rounded-x\": [\"borderTopLeftRadius\", \"borderBottomRightRadius\"],\n \"rounded-y\": [\"borderTopRightRadius\", \"borderBottomLeftRadius\"],\n};\n\nexport const borderRadiusValues = {\n none: \"0\",\n sm: \"0.125rem\",\n md: \"0.375rem\",\n lg: \"0.5rem\",\n xl: \"0.75rem\",\n \"2xl\": \"1rem\",\n \"3xl\": \"1.5rem\",\n full: \"9999px\",\n};\n", "import {\n borderDirectionValues,\n borderRadiusValues,\n borderWidthValues,\n roundedDirectionValues,\n} from \"../constants/border.js\";\nimport colorsPalette from \"../constants/colors.js\";\n\nconst setBorderWidth = (element, property, widthValue) => {\n element.style[property] = widthValue;\n const styleProperty = property.replace(/Width$/, \"Style\");\n if (styleProperty !== property) {\n element.style[styleProperty] = \"solid\";\n }\n};\n\nconst applyProperties = (element, propertyOrProperties, value, setter) => {\n if (Array.isArray(propertyOrProperties)) {\n propertyOrProperties.forEach((property) => setter(element, property, value));\n } else {\n setter(element, propertyOrProperties, value);\n }\n};\n\nexport const applyBorder = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const directionProperty = borderDirectionValues[styleType];\n const borderValueKey = splittedClassName[splittedClassName.length - 1];\n const borderWidthValue = borderWidthValues[borderValueKey];\n\n if (!directionProperty || !borderWidthValue) {\n return;\n }\n\n applyProperties(element, directionProperty, borderWidthValue, setBorderWidth);\n};\n\nconst applyRadius = (element, property, value) => {\n element.style[property] = value;\n};\n\nexport const applyBorderRadius = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const radiusProperty = roundedDirectionValues[styleType];\n const radiusValueKey = splittedClassName[splittedClassName.length - 1];\n const borderRadiusValue = borderRadiusValues[radiusValueKey];\n\n if (!radiusProperty || !borderRadiusValue) {\n return;\n }\n\n applyProperties(element, radiusProperty, borderRadiusValue, applyRadius);\n};\n\nconst resolveColor = (splittedClassName, baseIndex = 2) => {\n if (splittedClassName.length === 4) {\n const palette = colorsPalette[splittedClassName[baseIndex]];\n const shade = splittedClassName[baseIndex + 1];\n return palette?.[shade];\n }\n\n return splittedClassName[baseIndex]?.replace(/\\[|\\]/g, \"\");\n};\n\nexport const applyBorderColor = (element, splittedClassName) => {\n if (splittedClassName.length < 3) {\n return;\n }\n\n const colorValue = resolveColor(splittedClassName);\n if (!colorValue) {\n return;\n }\n\n element.style.borderColor = colorValue;\n};\n", "export const fontSizeValues = {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n base: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n \"6xl\": \"3.75rem\",\n \"7xl\": \"4.5rem\",\n \"8xl\": \"6rem\",\n \"9xl\": \"8rem\",\n};\n\nexport const fontWeightValues = {\n thin: \"100\",\n extralight: \"200\",\n light: \"300\",\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n extrabold: \"800\",\n black: \"900\",\n};\n", "import { fontSizeValues, fontWeightValues } from \"../constants/fonts.js\";\n\nexport const applyFontSize = (element, splittedClassName) => {\n if (splittedClassName.length !== 3) {\n return;\n }\n if (fontWeightValues[splittedClassName[2]]) {\n element.style.fontWeight = fontWeightValues[splittedClassName[2]];\n return;\n }\n const fontSizeKey = splittedClassName[2];\n const fontSizeValue = fontSizeValues[fontSizeKey];\n if (!fontSizeValue) {\n return;\n }\n element.style.fontSize = fontSizeValue;\n};\n", "export const alignmentMappingValues = {\n \"text-left\": \"left\",\n \"text-center\": \"center\",\n \"text-right\": \"right\",\n \"text-justify\": \"justify\",\n \"flex\": \"flex\",\n \"inline-flex\": \"inline-flex\",\n \"flex-row\": \"row\",\n \"flex-row-reverse\": \"row-reverse\",\n \"flex-col\": \"column\",\n \"flex-col-reverse\": \"column-reverse\",\n \"items-start\": \"flex-start\",\n \"items-center\": \"center\",\n \"items-end\": \"flex-end\",\n \"items-stretch\": \"stretch\",\n \"justify-start\": \"flex-start\",\n \"justify-center\": \"center\",\n \"justify-end\": \"flex-end\",\n \"justify-between\": \"space-between\",\n \"justify-around\": \"space-around\",\n \"justify-evenly\": \"space-evenly\",\n};\n", "import { alignmentMappingValues } from \"../constants/alignment.js\";\n\nconst determineProperty = (key) => {\n if (key.startsWith(\"text-\")) {\n return \"textAlign\";\n }\n\n if (key === \"flex\" || key === \"inline-flex\") {\n return \"display\";\n }\n\n if (key.startsWith(\"flex-\")) {\n return \"flexDirection\";\n }\n\n if (key.startsWith(\"items-\")) {\n return \"alignItems\";\n }\n\n if (key.startsWith(\"justify-\")) {\n return \"justifyContent\";\n }\n\n return null;\n};\n\nconst resolveAlignmentKey = (splittedClassName) =>\n splittedClassName.slice(1).join(\"-\");\n\nexport const applyAlignment = (element, splittedClassName) => {\n if (splittedClassName.length < 2) {\n return false;\n }\n\n const key = resolveAlignmentKey(splittedClassName);\n const value = alignmentMappingValues[key];\n if (!value) {\n return false;\n }\n\n const property = determineProperty(key);\n if (!property) {\n return false;\n }\n\n element.style[property] = value;\n return true;\n};\n", "export const widthValues = {\n auto: \"auto\",\n full: \"100%\",\n screen: \"100vw\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\",\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n};\n\nexport const heightValues = {\n auto: \"auto\",\n full: \"100%\",\n screen: \"100vh\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\",\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n};\n", "import { heightValues, widthValues } from \"../constants/sizing.js\";\n\nconst resolveDimensionValue = (key, valuesMap) => {\n if (valuesMap[key]) {\n return valuesMap[key];\n }\n\n const numericValue = Number(key);\n if (Number.isFinite(numericValue)) {\n return `${numericValue * 4}px`;\n }\n\n return undefined;\n};\n\nexport const applyWidthHeight = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const valueKey = splittedClassName[splittedClassName.length - 1];\n if (styleType === \"w\") {\n const widthValue = resolveDimensionValue(valueKey, widthValues);\n if (!widthValue) {\n return;\n }\n\n element.style.width = widthValue;\n return;\n }\n\n if (styleType === \"h\") {\n const heightValue = resolveDimensionValue(valueKey, heightValues);\n if (!heightValue) {\n return;\n }\n\n element.style.height = heightValue;\n }\n};\n", "export const positionValues = {\n static: \"static\",\n fixed: \"fixed\",\n absolute: \"absolute\",\n relative: \"relative\",\n sticky: \"sticky\",\n};\n\nexport const offsetDirectionValues = {\n top: \"top\",\n right: \"right\",\n bottom: \"bottom\",\n left: \"left\",\n};\n\nexport const offsetValues = {\n auto: \"auto\",\n full: \"100%\",\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n};\n", "import {\n offsetDirectionValues,\n offsetValues,\n positionValues,\n} from \"../constants/position.js\";\n\nconst resolveOffsetValue = (key) => {\n if (key === \"0\") {\n return \"0px\";\n }\n\n if (offsetValues[key]) {\n return offsetValues[key];\n }\n\n const numericValue = Number(key);\n if (Number.isFinite(numericValue)) {\n return `${numericValue * 4}px`;\n }\n\n return undefined;\n};\n\nexport const applyPositionType = (element, styleType) => {\n const positionValue = positionValues[styleType];\n if (!positionValue) {\n return;\n }\n\n element.style.position = positionValue;\n};\n\nexport const applyOffset = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const direction = offsetDirectionValues[styleType];\n const offsetKey = splittedClassName[splittedClassName.length - 1];\n const offsetValue = resolveOffsetValue(offsetKey);\n\n if (!direction || !offsetValue) {\n return;\n }\n\n element.style[direction] = offsetValue;\n};\n", "import { applyBgColor, applyTextColor } from \"../properties/colors.js\";\nimport { applyMargin, applyPadding, applyGap } from \"../properties/spacing.js\";\nimport {\n applyBorder,\n applyBorderColor,\n applyBorderRadius,\n} from \"../properties/border.js\";\nimport { applyFontSize } from \"../properties/fonts.js\";\nimport { applyAlignment } from \"../properties/alignment.js\";\nimport { applyWidthHeight } from \"../properties/sizing.js\";\nimport { applyOffset, applyPositionType } from \"../properties/position.js\";\n\nconst getStyleType = (splittedClassName) => {\n if (!splittedClassName || splittedClassName.length < 2) {\n return \"\";\n }\n\n const baseStyle = splittedClassName[1];\n if (baseStyle === \"rounded\" && splittedClassName.length > 3) {\n return `rounded-${splittedClassName[2]}`;\n }\n\n if (baseStyle === \"gap\" && splittedClassName.length > 3) {\n return `gap-${splittedClassName[2]}`;\n }\n\n return baseStyle;\n};\n\nconst applyStyles = (element, splittedClassName) => {\n const styleType = getStyleType(splittedClassName);\n switch (styleType) {\n case \"bg\":\n applyBgColor(element, splittedClassName);\n break;\n case \"text\":\n if (!applyAlignment(element, splittedClassName)) {\n applyTextColor(element, splittedClassName);\n }\n break;\n case \"gap\":\n case \"gap-x\":\n case \"gap-y\":\n applyGap(element, splittedClassName, styleType);\n break;\n case \"w\":\n case \"h\":\n applyWidthHeight(element, splittedClassName, styleType);\n break;\n case \"p\":\n case \"px\":\n case \"py\":\n case \"pt\":\n case \"pr\":\n case \"pb\":\n case \"pl\":\n applyPadding(element, splittedClassName);\n break;\n case \"m\":\n case \"mx\":\n case \"my\":\n case \"mt\":\n case \"mr\":\n case \"mb\":\n case \"ml\":\n applyMargin(element, splittedClassName);\n break;\n case \"b\":\n case \"bt\":\n case \"br\":\n case \"bb\":\n case \"bl\":\n case \"bx\":\n case \"by\":\n applyBorder(element, splittedClassName, styleType);\n break;\n case \"border\":\n applyBorderColor(element, splittedClassName);\n break;\n case \"rounded\":\n case \"rounded-t\":\n case \"rounded-r\":\n case \"rounded-b\":\n case \"rounded-l\":\n case \"rounded-x\":\n case \"rounded-y\":\n applyBorderRadius(element, splittedClassName, styleType);\n break;\n case \"flex\":\n case \"inline\":\n case \"items\":\n case \"justify\":\n applyAlignment(element, splittedClassName);\n break;\n case \"font\":\n applyFontSize(element, splittedClassName);\n break;\n case \"static\":\n case \"fixed\":\n case \"absolute\":\n case \"relative\":\n case \"sticky\":\n applyPositionType(element, styleType);\n break;\n case \"top\":\n case \"right\":\n case \"bottom\":\n case \"left\":\n applyOffset(element, splittedClassName, styleType);\n break;\n default:\n console.warn(`This style type is not supported yet: ${styleType}`);\n }\n};\n\nexport default applyStyles;\n", "const classNameCache = new Map();\n\nexport const splitClassName = (className) => {\n if (classNameCache.has(className)) {\n return classNameCache.get(className);\n }\n\n const parts = className.split(\"-\");\n const parsed = parts[0] === \"chai\" ? parts : undefined;\n classNameCache.set(className, parsed);\n return parsed;\n};\n", "import applyStyles from \"./apply.js\";\nimport { splitClassName } from \"./parser.js\";\n\nconst GROUP_PROPERTIES = {\n bg: [\"backgroundColor\"],\n \"text-color\": [\"color\"],\n \"text-align\": [\"textAlign\"],\n font: [\"fontSize\", \"fontWeight\"],\n gap: [\"gap\", \"columnGap\", \"rowGap\"],\n padding: [\n \"padding\",\n \"paddingTop\",\n \"paddingRight\",\n \"paddingBottom\",\n \"paddingLeft\",\n ],\n margin: [\"margin\", \"marginTop\", \"marginRight\", \"marginBottom\", \"marginLeft\"],\n \"border-width\": [\n \"borderWidth\",\n \"borderTopWidth\",\n \"borderRightWidth\",\n \"borderBottomWidth\",\n \"borderLeftWidth\",\n \"borderStyle\",\n \"borderTopStyle\",\n \"borderRightStyle\",\n \"borderBottomStyle\",\n \"borderLeftStyle\",\n ],\n \"border-color\": [\"borderColor\"],\n radius: [\n \"borderRadius\",\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomRightRadius\",\n \"borderBottomLeftRadius\",\n ],\n \"flex-align\": [\"display\", \"flexDirection\", \"alignItems\", \"justifyContent\"],\n size: [\"width\", \"height\"],\n position: [\"position\"],\n offset: [\"top\", \"right\", \"bottom\", \"left\"],\n};\n\nconst getStyleType = (splittedClassName) => {\n if (!splittedClassName || splittedClassName.length < 2) {\n return \"\";\n }\n\n const baseStyle = splittedClassName[1];\n if (baseStyle === \"rounded\" && splittedClassName.length > 3) {\n return `rounded-${splittedClassName[2]}`;\n }\n\n if (baseStyle === \"gap\" && splittedClassName.length > 3) {\n return `gap-${splittedClassName[2]}`;\n }\n\n return baseStyle;\n};\n\nconst getGroupId = (splittedClassName) => {\n const styleType = getStyleType(splittedClassName);\n switch (styleType) {\n case \"bg\":\n return \"bg\";\n case \"text\": {\n const textType = splittedClassName[2];\n if ([\"left\", \"center\", \"right\", \"justify\"].includes(textType)) {\n return \"text-align\";\n }\n return \"text-color\";\n }\n case \"font\":\n return \"font\";\n case \"gap\":\n case \"gap-x\":\n case \"gap-y\":\n return \"gap\";\n case \"p\":\n case \"px\":\n case \"py\":\n case \"pt\":\n case \"pr\":\n case \"pb\":\n case \"pl\":\n return \"padding\";\n case \"m\":\n case \"mx\":\n case \"my\":\n case \"mt\":\n case \"mr\":\n case \"mb\":\n case \"ml\":\n return \"margin\";\n case \"b\":\n case \"bt\":\n case \"br\":\n case \"bb\":\n case \"bl\":\n case \"bx\":\n case \"by\":\n return \"border-width\";\n case \"border\":\n return \"border-color\";\n case \"rounded\":\n case \"rounded-t\":\n case \"rounded-r\":\n case \"rounded-b\":\n case \"rounded-l\":\n case \"rounded-x\":\n case \"rounded-y\":\n return \"radius\";\n case \"flex\":\n case \"inline\":\n case \"items\":\n case \"justify\":\n return \"flex-align\";\n case \"w\":\n case \"h\":\n return \"size\";\n case \"static\":\n case \"fixed\":\n case \"absolute\":\n case \"relative\":\n case \"sticky\":\n return \"position\";\n case \"top\":\n case \"right\":\n case \"bottom\":\n case \"left\":\n return \"offset\";\n default:\n return null;\n }\n};\n\nconst applyClassToElement = (element, className) => {\n if (!className || !className.startsWith(\"chai-\")) {\n return;\n }\n\n const classNameParts = splitClassName(className);\n if (!classNameParts) {\n return;\n }\n\n applyStyles(element, classNameParts);\n};\n\nconst clearGroupStyles = (element, groupId) => {\n const properties = GROUP_PROPERTIES[groupId] || [];\n properties.forEach((property) => {\n element.style[property] = \"\";\n });\n};\n\nconst recomputeGroupForElement = (element, groupId) => {\n if (!groupId) {\n return;\n }\n\n clearGroupStyles(element, groupId);\n element.classList.forEach((className) => {\n if (!className.startsWith(\"chai-\")) {\n return;\n }\n\n const classNameParts = splitClassName(className);\n if (!classNameParts || getGroupId(classNameParts) !== groupId) {\n return;\n }\n\n applyStyles(element, classNameParts);\n });\n};\n\nexport const applyChaiClasses = (element) => {\n if (!element || !element.classList) {\n return;\n }\n\n element.classList.forEach((className) => {\n applyClassToElement(element, className);\n });\n};\n\nconst applyToElementAndChildren = (element) => {\n if (!(element instanceof Element)) {\n return;\n }\n\n applyChaiClasses(element);\n element\n .querySelectorAll('[class*=\"chai-\"]')\n .forEach((child) => applyChaiClasses(child));\n};\n\nconst parseClassString = (classString) =>\n new Set((classString || \"\").split(/\\s+/).filter(Boolean));\n\nconst getAddedChaiClasses = (oldClassString, newClassString) => {\n const oldClasses = parseClassString(oldClassString);\n const newClasses = parseClassString(newClassString);\n\n const added = [];\n newClasses.forEach((className) => {\n if (!oldClasses.has(className) && className.startsWith(\"chai-\")) {\n added.push(className);\n }\n });\n\n return added;\n};\n\nconst getRemovedChaiClasses = (oldClassString, newClassString) => {\n const oldClasses = parseClassString(oldClassString);\n const newClasses = parseClassString(newClassString);\n\n const removed = [];\n oldClasses.forEach((className) => {\n if (!newClasses.has(className) && className.startsWith(\"chai-\")) {\n removed.push(className);\n }\n });\n\n return removed;\n};\n\nexport const initMutationObserver = () => {\n const pendingTargets = new Map();\n let rafId = null;\n\n const enqueueTarget = (\n element,\n { classNames = null, recomputeGroups = null, full = false } = {},\n ) => {\n if (!(element instanceof Element)) {\n return;\n }\n\n const existing = pendingTargets.get(element) || {\n classNames: new Set(),\n recomputeGroups: new Set(),\n full: false,\n };\n\n if (full) {\n existing.full = true;\n existing.classNames.clear();\n existing.recomputeGroups.clear();\n pendingTargets.set(element, existing);\n return;\n }\n\n if (!existing.full) {\n (classNames || []).forEach((className) =>\n existing.classNames.add(className),\n );\n (recomputeGroups || []).forEach((groupId) =>\n existing.recomputeGroups.add(groupId),\n );\n }\n\n pendingTargets.set(element, existing);\n };\n\n const flushPendingTargets = () => {\n pendingTargets.forEach((state, element) => {\n if (state.full) {\n applyToElementAndChildren(element);\n return;\n }\n\n state.recomputeGroups.forEach((groupId) => {\n recomputeGroupForElement(element, groupId);\n });\n\n state.classNames.forEach((className) => {\n const classNameParts = splitClassName(className);\n const groupId = classNameParts ? getGroupId(classNameParts) : null;\n if (groupId && state.recomputeGroups.has(groupId)) {\n return;\n }\n\n applyClassToElement(element, className);\n });\n });\n\n pendingTargets.clear();\n rafId = null;\n };\n\n const scheduleFlush = () => {\n if (rafId !== null) {\n return;\n }\n\n rafId = window.requestAnimationFrame(flushPendingTargets);\n };\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === \"attributes\") {\n const addedClasses = getAddedChaiClasses(\n mutation.oldValue,\n mutation.target.className,\n );\n const removedClasses = getRemovedChaiClasses(\n mutation.oldValue,\n mutation.target.className,\n );\n const groupsToRecompute = new Set();\n\n removedClasses.forEach((className) => {\n const classNameParts = splitClassName(className);\n const groupId = classNameParts ? getGroupId(classNameParts) : null;\n if (groupId) {\n groupsToRecompute.add(groupId);\n }\n });\n\n if (addedClasses.length > 0 || groupsToRecompute.size > 0) {\n enqueueTarget(mutation.target, {\n classNames: addedClasses,\n recomputeGroups: groupsToRecompute,\n });\n }\n return;\n }\n\n mutation.addedNodes.forEach((node) => {\n enqueueTarget(node, { full: true });\n });\n });\n\n scheduleFlush();\n });\n\n observer.observe(document.body, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [\"class\"],\n attributeOldValue: true,\n });\n\n return observer;\n};\n", "export const chaiClassScanner = () => {\n return document.querySelectorAll('[class*=\"chai-\"]');\n};\n", "import applyStyles from \"./core/apply.js\";\nimport { initMutationObserver } from \"./core/observer.js\";\nimport { splitClassName } from \"./core/parser.js\";\nimport { chaiClassScanner } from \"./core/scanner.js\";\n\nconst initStyles = () => {\n const chaiElements = chaiClassScanner();\n chaiElements.forEach((element) => {\n element.classList.forEach((className) => {\n if (!className.startsWith(\"chai-\")) {\n return;\n }\n const classNameParts = splitClassName(className);\n if (!classNameParts) {\n return;\n }\n applyStyles(element, classNameParts);\n });\n });\n};\n\nexport const initBrewWind = () => {\n if (typeof document === \"undefined\") {\n return null;\n }\n\n initStyles();\n return initMutationObserver();\n};\n\nif (typeof document !== \"undefined\") {\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", initBrewWind, {\n once: true,\n });\n } else {\n initBrewWind();\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["colorsPalette", "colors_default", "applyBgColor", "element", "splittedClassName", "color", "colors_default", "applyTextColor", "paddingDirectionTypes", "marginDirectionTypes", "gapDirectionTypes", "spacingValues", "applyPadding", "element", "splittedClassName", "paddingValue", "paddingType", "paddingDirection", "paddingDirectionTypes", "spacingValue", "spacingValues", "direction", "applyMargin", "marginValue", "marginType", "marginDirection", "marginDirectionTypes", "applyGap", "styleType", "gapDirection", "gapDirectionTypes", "gapValueKey", "numericGap", "gapValue", "borderDirectionValues", "borderWidthValues", "roundedDirectionValues", "borderRadiusValues", "setBorderWidth", "element", "property", "widthValue", "styleProperty", "applyProperties", "propertyOrProperties", "value", "setter", "applyBorder", "splittedClassName", "styleType", "directionProperty", "borderDirectionValues", "borderValueKey", "borderWidthValue", "borderWidthValues", "applyRadius", "applyBorderRadius", "radiusProperty", "roundedDirectionValues", "radiusValueKey", "borderRadiusValue", "borderRadiusValues", "resolveColor", "baseIndex", "palette", "colors_default", "shade", "applyBorderColor", "colorValue", "fontSizeValues", "fontWeightValues", "applyFontSize", "element", "splittedClassName", "fontWeightValues", "fontSizeKey", "fontSizeValue", "fontSizeValues", "alignmentMappingValues", "determineProperty", "key", "resolveAlignmentKey", "splittedClassName", "applyAlignment", "element", "value", "alignmentMappingValues", "property", "widthValues", "heightValues", "resolveDimensionValue", "key", "valuesMap", "numericValue", "applyWidthHeight", "element", "splittedClassName", "styleType", "valueKey", "widthValue", "widthValues", "heightValue", "heightValues", "positionValues", "offsetDirectionValues", "offsetValues", "resolveOffsetValue", "key", "offsetValues", "numericValue", "applyPositionType", "element", "styleType", "positionValue", "positionValues", "applyOffset", "splittedClassName", "direction", "offsetDirectionValues", "offsetKey", "offsetValue", "getStyleType", "splittedClassName", "baseStyle", "applyStyles", "element", "styleType", "applyBgColor", "applyAlignment", "applyTextColor", "applyGap", "applyWidthHeight", "applyPadding", "applyMargin", "applyBorder", "applyBorderColor", "applyBorderRadius", "applyFontSize", "applyPositionType", "applyOffset", "apply_default", "classNameCache", "splitClassName", "className", "parts", "parsed", "GROUP_PROPERTIES", "getStyleType", "splittedClassName", "baseStyle", "getGroupId", "textType", "applyClassToElement", "element", "className", "classNameParts", "splitClassName", "apply_default", "clearGroupStyles", "groupId", "property", "recomputeGroupForElement", "applyChaiClasses", "applyToElementAndChildren", "child", "parseClassString", "classString", "getAddedChaiClasses", "oldClassString", "newClassString", "oldClasses", "newClasses", "added", "getRemovedChaiClasses", "removed", "initMutationObserver", "pendingTargets", "rafId", "enqueueTarget", "classNames", "recomputeGroups", "full", "existing", "flushPendingTargets", "state", "scheduleFlush", "observer", "mutations", "mutation", "addedClasses", "removedClasses", "groupsToRecompute", "node", "chaiClassScanner", "
|
|
3
|
+
"sources": ["../src/constants/colors.js", "../src/properties/colors.js", "../src/constants/spacing.js", "../src/properties/spacing.js", "../src/constants/border.js", "../src/properties/border.js", "../src/constants/fonts.js", "../src/properties/fonts.js", "../src/constants/alignment.js", "../src/properties/alignment.js", "../src/constants/sizing.js", "../src/properties/sizing.js", "../src/constants/position.js", "../src/properties/position.js", "../src/constants/shadow.js", "../src/properties/shadow.js", "../src/constants/cursor.js", "../src/properties/cursor.js", "../src/constants/opacity.js", "../src/properties/opacity.js", "../src/constants/zindex.js", "../src/properties/zindex.js", "../src/constants/display.js", "../src/properties/display.js", "../src/core/apply.js", "../src/core/parser.js", "../src/core/observer.js", "../src/core/scanner.js", "../src/index.js"],
|
|
4
|
+
"sourcesContent": ["const colorsPalette = {\n red: {\n 50: \"#fef2f2\",\n 100: \"#fee2e2\",\n 200: \"#fecaca\",\n 300: \"#fca5a5\",\n 400: \"#f87171\",\n 500: \"#ef4444\",\n 600: \"#dc2626\",\n 700: \"#b91c1c\",\n 800: \"#991b1b\",\n 900: \"#7f1d1d\",\n },\n green: {\n 50: \"#f0fdf4\",\n 100: \"#dcfce7\",\n 200: \"#bbf7d0\",\n 300: \"#86efac\",\n 400: \"#4ade80\",\n 500: \"#22c55e\",\n 600: \"#16a34a\",\n 700: \"#15803d\",\n 800: \"#166534\",\n 900: \"#14532d\",\n },\n blue: {\n 50: \"#eff6ff\",\n 100: \"#dbeafe\",\n 200: \"#bfdbfe\",\n 300: \"#93c5fd\",\n 400: \"#60a5fa\",\n 500: \"#3b82f6\",\n 600: \"#2563eb\",\n 700: \"#1d4ed8\",\n 800: \"#1e40af\",\n 900: \"#1e3a8a\",\n },\n yellow: {\n 50: \"#fefce8\",\n 100: \"#fef9c3\",\n 200: \"#fef08a\",\n 300: \"#fde047\",\n 400: \"#facc15\",\n 500: \"#eab308\",\n 600: \"#ca8a04\",\n 700: \"#a16207\",\n 800: \"#854d0e\",\n 900: \"#713f12\",\n },\n orange: {\n 50: \"#fff7ed\",\n 100: \"#ffedd5\",\n 200: \"#fed7aa\",\n 300: \"#fdba74\",\n 400: \"#fb923c\",\n 500: \"#f97316\",\n 600: \"#ea580c\",\n 700: \"#c2410c\",\n 800: \"#9a3412\",\n 900: \"#7c2d12\",\n },\n purple: {\n 50: \"#faf5ff\",\n 100: \"#f3e8ff\",\n 200: \"#e9d5ff\",\n 300: \"#d8b4fe\",\n 400: \"#c084fc\",\n 500: \"#a855f7\",\n 600: \"#9333ea\",\n 700: \"#7e22ce\",\n 800: \"#6b21a8\",\n 900: \"#581c87\",\n },\n pink: {\n 50: \"#fdf2f8\",\n 100: \"#fce7f3\",\n 200: \"#fbcfe8\",\n 300: \"#f9a8d4\",\n 400: \"#f472b6\",\n 500: \"#ec4899\",\n 600: \"#db2777\",\n 700: \"#be185d\",\n 800: \"#9d174d\",\n 900: \"#831843\",\n },\n gray: {\n 50: \"#f9fafb\",\n 100: \"#f3f4f6\",\n 200: \"#e5e7eb\",\n 300: \"#d1d5db\",\n 400: \"#9ca3af\",\n 500: \"#6b7280\",\n 600: \"#4b5563\",\n 700: \"#374151\",\n 800: \"#1f2937\",\n 900: \"#111827\",\n },\n sky: {\n 50: \"#f0f9ff\",\n 100: \"#e0f2fe\",\n 200: \"#bae6fd\",\n 300: \"#7dd3fc\",\n 400: \"#38bdf8\",\n 500: \"#0ea5e9\",\n 600: \"#0284c7\",\n 700: \"#0369a1\",\n 800: \"#075985\",\n 900: \"#0c4a6e\",\n },\n cyan: {\n 50: \"#ecfeff\",\n 100: \"#cffafe\",\n 200: \"#a5f3fc\",\n 300: \"#67e8f9\",\n 400: \"#22d3ee\",\n 500: \"#06b6d4\",\n 600: \"#0891b2\",\n 700: \"#0e7490\",\n 800: \"#155e75\",\n 900: \"#164e63\",\n },\n indigo: {\n 50: \"#eef2ff\",\n 100: \"#e0e7ff\",\n 200: \"#c7d2fe\",\n 300: \"#a5b4fc\",\n 400: \"#818cf8\",\n 500: \"#6366f1\",\n 600: \"#4f46e5\",\n 700: \"#4338ca\",\n 800: \"#3730a3\",\n 900: \"#312e81\",\n },\n};\n\nexport default colorsPalette;\n", "import colorsPalette from \"../constants/colors.js\";\n\nconst applyBgColor = (element, splittedClassName) => {\n let color = \"\";\n if (splittedClassName.length === 3) {\n color = splittedClassName[2].replace(/[\\[\\]]/g, \"\");\n } else {\n color = colorsPalette[splittedClassName[2]][splittedClassName[3]];\n }\n element.style.backgroundColor = color;\n};\n\nconst applyTextColor = (element, splittedClassName) => {\n let color = \"\";\n if (splittedClassName.length === 4) {\n color = colorsPalette[splittedClassName[2]][splittedClassName[3]];\n } else {\n color = splittedClassName[2].replace(/[\\[\\]]/g, \"\");\n }\n element.style.color = color;\n};\n\nexport { applyBgColor, applyTextColor };\n", "export const paddingDirectionTypes = {\n p: \"padding\",\n pt: \"paddingTop\",\n pr: \"paddingRight\",\n pb: \"paddingBottom\",\n pl: \"paddingLeft\",\n px: [\"paddingLeft\", \"paddingRight\"],\n py: [\"paddingTop\", \"paddingBottom\"],\n};\n\nexport const marginDirectionTypes = {\n m: \"margin\",\n mt: \"marginTop\",\n mr: \"marginRight\",\n mb: \"marginBottom\",\n ml: \"marginLeft\",\n mx: [\"marginLeft\", \"marginRight\"],\n my: [\"marginTop\", \"marginBottom\"],\n};\n\nexport const gapDirectionTypes = {\n gap: \"gap\",\n \"gap-x\": \"columnGap\",\n \"gap-y\": \"rowGap\",\n};\n\nexport const spacingValues = {\n 0: \"0px\",\n 1: \"4px\",\n 2: \"8px\",\n 3: \"12px\",\n 4: \"16px\",\n 5: \"20px\",\n 6: \"24px\",\n 7: \"28px\",\n 8: \"32px\",\n 9: \"36px\",\n 10: \"40px\",\n 11: \"44px\",\n 12: \"48px\",\n sm: \"8px\",\n md: \"16px\",\n lg: \"24px\",\n xl: \"32px\",\n \"2xl\": \"48px\",\n \"3xl\": \"64px\",\n \"4xl\": \"96px\",\n \"5xl\": \"128px\",\n};\n", "import {\n gapDirectionTypes,\n marginDirectionTypes,\n paddingDirectionTypes,\n spacingValues as spacingScale,\n} from \"../constants/spacing.js\";\n\nexport const applyPadding = (element, splittedClassName) => {\n let paddingValue = \"\";\n if (splittedClassName.length !== 3) {\n return;\n }\n const paddingType = splittedClassName[1];\n const paddingDirection = paddingDirectionTypes[paddingType];\n const spacingValue = spacingScale[splittedClassName[2]];\n if (!paddingDirection || !spacingValue) {\n return;\n }\n paddingValue = spacingValue;\n if (Array.isArray(paddingDirection)) {\n paddingDirection.forEach((direction) => {\n element.style[direction] = paddingValue;\n });\n } else {\n element.style[paddingDirection] = paddingValue;\n }\n};\n\nexport const applyMargin = (element, splittedClassName) => {\n let marginValue = \"\";\n if (splittedClassName.length !== 3) {\n return;\n }\n const marginType = splittedClassName[1];\n const marginDirection = marginDirectionTypes[marginType];\n const spacingValue = spacingScale[splittedClassName[2]];\n if (!marginDirection || !spacingValue) {\n return;\n }\n marginValue = spacingValue;\n if (Array.isArray(marginDirection)) {\n marginDirection.forEach((direction) => {\n element.style[direction] = marginValue;\n });\n } else {\n element.style[marginDirection] = marginValue;\n }\n};\n\nexport const applyGap = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const gapDirection = gapDirectionTypes[styleType];\n const gapValueKey = splittedClassName[splittedClassName.length - 1];\n const numericGap = Number(gapValueKey);\n const gapValue =\n spacingScale[gapValueKey] ||\n (Number.isFinite(numericGap) ? `${numericGap * 4}px` : undefined);\n\n if (!gapDirection || !gapValue) {\n return;\n }\n\n element.style[gapDirection] = gapValue;\n};\n", "export const borderDirectionValues = {\n b: \"borderWidth\",\n bt: \"borderTopWidth\",\n br: \"borderRightWidth\",\n bb: \"borderBottomWidth\",\n bl: \"borderLeftWidth\",\n bx: [\"borderLeftWidth\", \"borderRightWidth\"],\n by: [\"borderTopWidth\", \"borderBottomWidth\"],\n};\n\nexport const borderWidthValues = {\n none: \"0\",\n 0: \"0\",\n 1: \"1px\",\n 2: \"2px\",\n 4: \"4px\",\n 8: \"8px\",\n sm: \"1px\",\n md: \"2px\",\n lg: \"4px\",\n xl: \"8px\",\n};\n\nexport const roundedDirectionValues = {\n rounded: \"borderRadius\",\n \"rounded-t\": [\"borderTopLeftRadius\", \"borderTopRightRadius\"],\n \"rounded-r\": [\"borderTopRightRadius\", \"borderBottomRightRadius\"],\n \"rounded-b\": [\"borderBottomRightRadius\", \"borderBottomLeftRadius\"],\n \"rounded-l\": [\"borderTopLeftRadius\", \"borderBottomLeftRadius\"],\n \"rounded-x\": [\"borderTopLeftRadius\", \"borderBottomRightRadius\"],\n \"rounded-y\": [\"borderTopRightRadius\", \"borderBottomLeftRadius\"],\n};\n\nexport const borderRadiusValues = {\n none: \"0\",\n sm: \"0.125rem\",\n md: \"0.375rem\",\n lg: \"0.5rem\",\n xl: \"0.75rem\",\n \"2xl\": \"1rem\",\n \"3xl\": \"1.5rem\",\n full: \"9999px\",\n};\n", "import {\n borderDirectionValues,\n borderRadiusValues,\n borderWidthValues,\n roundedDirectionValues,\n} from \"../constants/border.js\";\nimport colorsPalette from \"../constants/colors.js\";\n\nconst setBorderWidth = (element, property, widthValue) => {\n element.style[property] = widthValue;\n const styleProperty = property.replace(/Width$/, \"Style\");\n if (styleProperty !== property) {\n element.style[styleProperty] = \"solid\";\n }\n};\n\nconst applyProperties = (element, propertyOrProperties, value, setter) => {\n if (Array.isArray(propertyOrProperties)) {\n propertyOrProperties.forEach((property) => setter(element, property, value));\n } else {\n setter(element, propertyOrProperties, value);\n }\n};\n\nexport const applyBorder = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const directionProperty = borderDirectionValues[styleType];\n const borderValueKey = splittedClassName[splittedClassName.length - 1];\n const borderWidthValue = borderWidthValues[borderValueKey];\n\n if (!directionProperty || !borderWidthValue) {\n return;\n }\n\n applyProperties(element, directionProperty, borderWidthValue, setBorderWidth);\n};\n\nconst applyRadius = (element, property, value) => {\n element.style[property] = value;\n};\n\nexport const applyBorderRadius = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const radiusProperty = roundedDirectionValues[styleType];\n const radiusValueKey = splittedClassName[splittedClassName.length - 1];\n const borderRadiusValue = borderRadiusValues[radiusValueKey];\n\n if (!radiusProperty || !borderRadiusValue) {\n return;\n }\n\n applyProperties(element, radiusProperty, borderRadiusValue, applyRadius);\n};\n\nconst resolveColor = (splittedClassName, baseIndex = 2) => {\n if (splittedClassName.length === 4) {\n const palette = colorsPalette[splittedClassName[baseIndex]];\n const shade = splittedClassName[baseIndex + 1];\n return palette?.[shade];\n }\n\n return splittedClassName[baseIndex]?.replace(/\\[|\\]/g, \"\");\n};\n\nexport const applyBorderColor = (element, splittedClassName) => {\n if (splittedClassName.length < 3) {\n return;\n }\n\n const colorValue = resolveColor(splittedClassName);\n if (!colorValue) {\n return;\n }\n\n element.style.borderColor = colorValue;\n};\n", "export const fontSizeValues = {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n base: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n \"6xl\": \"3.75rem\",\n \"7xl\": \"4.5rem\",\n \"8xl\": \"6rem\",\n \"9xl\": \"8rem\",\n};\n\nexport const fontWeightValues = {\n thin: \"100\",\n extralight: \"200\",\n light: \"300\",\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n extrabold: \"800\",\n black: \"900\",\n};\n", "import { fontSizeValues, fontWeightValues } from \"../constants/fonts.js\";\n\nexport const applyFontSize = (element, splittedClassName) => {\n if (splittedClassName.length !== 3) {\n return;\n }\n if (fontWeightValues[splittedClassName[2]]) {\n element.style.fontWeight = fontWeightValues[splittedClassName[2]];\n return;\n }\n const fontSizeKey = splittedClassName[2];\n const fontSizeValue = fontSizeValues[fontSizeKey];\n if (!fontSizeValue) {\n return;\n }\n element.style.fontSize = fontSizeValue;\n};\n", "export const alignmentMappingValues = {\n \"text-left\": \"left\",\n \"text-center\": \"center\",\n \"text-right\": \"right\",\n \"text-justify\": \"justify\",\n \"flex\": \"flex\",\n \"inline-flex\": \"inline-flex\",\n \"flex-row\": \"row\",\n \"flex-row-reverse\": \"row-reverse\",\n \"flex-col\": \"column\",\n \"flex-col-reverse\": \"column-reverse\",\n \"items-start\": \"flex-start\",\n \"items-center\": \"center\",\n \"items-end\": \"flex-end\",\n \"items-stretch\": \"stretch\",\n \"justify-start\": \"flex-start\",\n \"justify-center\": \"center\",\n \"justify-end\": \"flex-end\",\n \"justify-between\": \"space-between\",\n \"justify-around\": \"space-around\",\n \"justify-evenly\": \"space-evenly\",\n};\n", "import { alignmentMappingValues } from \"../constants/alignment.js\";\n\nconst determineProperty = (key) => {\n if (key.startsWith(\"text-\")) {\n return \"textAlign\";\n }\n\n if (key === \"flex\" || key === \"inline-flex\") {\n return \"display\";\n }\n\n if (key.startsWith(\"flex-\")) {\n return \"flexDirection\";\n }\n\n if (key.startsWith(\"items-\")) {\n return \"alignItems\";\n }\n\n if (key.startsWith(\"justify-\")) {\n return \"justifyContent\";\n }\n\n return null;\n};\n\nconst resolveAlignmentKey = (splittedClassName) =>\n splittedClassName.slice(1).join(\"-\");\n\nexport const applyAlignment = (element, splittedClassName) => {\n if (splittedClassName.length < 2) {\n return false;\n }\n\n const key = resolveAlignmentKey(splittedClassName);\n const value = alignmentMappingValues[key];\n if (!value) {\n return false;\n }\n\n const property = determineProperty(key);\n if (!property) {\n return false;\n }\n\n element.style[property] = value;\n return true;\n};\n", "export const widthValues = {\n auto: \"auto\",\n full: \"100%\",\n screen: \"100vw\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\",\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n};\n\nexport const heightValues = {\n auto: \"auto\",\n full: \"100%\",\n screen: \"100vh\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\",\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n};\n", "import { heightValues, widthValues } from \"../constants/sizing.js\";\n\nconst resolveDimensionValue = (key, valuesMap) => {\n if (valuesMap[key]) {\n return valuesMap[key];\n }\n\n const numericValue = Number(key);\n if (Number.isFinite(numericValue)) {\n return `${numericValue * 4}px`;\n }\n\n return undefined;\n};\n\nexport const applyWidthHeight = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const valueKey = splittedClassName[splittedClassName.length - 1];\n if (styleType === \"w\") {\n const widthValue = resolveDimensionValue(valueKey, widthValues);\n if (!widthValue) {\n return;\n }\n\n element.style.width = widthValue;\n return;\n }\n\n if (styleType === \"h\") {\n const heightValue = resolveDimensionValue(valueKey, heightValues);\n if (!heightValue) {\n return;\n }\n\n element.style.height = heightValue;\n }\n};\n", "export const positionValues = {\n static: \"static\",\n fixed: \"fixed\",\n absolute: \"absolute\",\n relative: \"relative\",\n sticky: \"sticky\",\n};\n\nexport const offsetDirectionValues = {\n top: \"top\",\n right: \"right\",\n bottom: \"bottom\",\n left: \"left\",\n};\n\nexport const offsetValues = {\n auto: \"auto\",\n full: \"100%\",\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n};\n", "import {\n offsetDirectionValues,\n offsetValues,\n positionValues,\n} from \"../constants/position.js\";\n\nconst resolveOffsetValue = (key) => {\n if (key === \"0\") {\n return \"0px\";\n }\n\n if (offsetValues[key]) {\n return offsetValues[key];\n }\n\n const numericValue = Number(key);\n if (Number.isFinite(numericValue)) {\n return `${numericValue * 4}px`;\n }\n\n return undefined;\n};\n\nexport const applyPositionType = (element, styleType) => {\n const positionValue = positionValues[styleType];\n if (!positionValue) {\n return;\n }\n\n element.style.position = positionValue;\n};\n\nexport const applyOffset = (element, splittedClassName, styleType) => {\n if (!styleType || splittedClassName.length < 3) {\n return;\n }\n\n const direction = offsetDirectionValues[styleType];\n const offsetKey = splittedClassName[splittedClassName.length - 1];\n const offsetValue = resolveOffsetValue(offsetKey);\n\n if (!direction || !offsetValue) {\n return;\n }\n\n element.style[direction] = offsetValue;\n};\n", "export const shadowMapping = {\n sm: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n base: \"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)\",\n md: \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n lg: \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n xl: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n \"2xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.25)\",\n inner: \"inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)\",\n none: \"none\",\n};", "import { shadowMapping } from \"../constants/shadow.js\";\n\nexport const applyShadow = (element, splittedClassName) => {\n const shadowValue = splittedClassName[2];\n if (!shadowValue) {\n element.style.boxShadow = shadowMapping.base;\n return;\n }\n\n if (shadowMapping[shadowValue]) {\n element.style.boxShadow = shadowMapping[shadowValue];\n } else if (shadowValue.startsWith(\"[\") && shadowValue.endsWith(\"]\")) {\n const arbitraryValue = shadowValue.slice(1, -1).replaceAll(\"_\", \" \");\n element.style.boxShadow = arbitraryValue;\n } else {\n console.warn(`This shadow value is not supported yet: ${shadowValue}`);\n }\n};", "export const cursorMapping = {\n auto: \"auto\",\n default: \"default\",\n pointer: \"pointer\",\n wait: \"wait\",\n text: \"text\",\n move: \"move\",\n help: \"help\",\n \"not-allowed\": \"not-allowed\",\n none: \"none\",\n \"context-menu\": \"context-menu\",\n progress: \"progress\",\n cell: \"cell\",\n crosshair: \"crosshair\",\n \"vertical-text\": \"vertical-text\",\n alias: \"alias\",\n copy: \"copy\",\n \"no-drop\": \"no-drop\",\n grab: \"grab\",\n grabbing: \"grabbing\",\n \"all-scroll\": \"all-scroll\",\n \"col-resize\": \"col-resize\",\n \"row-resize\": \"row-resize\",\n \"n-resize\": \"n-resize\",\n \"e-resize\": \"e-resize\",\n \"s-resize\": \"s-resize\",\n \"w-resize\": \"w-resize\",\n \"ne-resize\": \"ne-resize\",\n \"nw-resize\": \"nw-resize\",\n \"se-resize\": \"se-resize\",\n \"sw-resize\": \"sw-resize\",\n \"ew-resize\": \"ew-resize\",\n \"ns-resize\": \"ns-resize\",\n \"nesw-resize\": \"nesw-resize\",\n \"nwse-resize\": \"nwse-resize\",\n \"zoom-in\": \"zoom-in\",\n \"zoom-out\": \"zoom-out\",\n};\n", "import { cursorMapping } from \"../constants/cursor.js\";\n\nexport const applyCursor = (element, splittedClassName) => {\n const cursorValue = splittedClassName[2];\n if (!cursorValue) {\n return;\n }\n\n if (cursorMapping[cursorValue]) {\n element.style.cursor = cursorMapping[cursorValue];\n } else if (cursorValue.startsWith(\"[\") && cursorValue.endsWith(\"]\")) {\n const arbitraryValue = cursorValue.slice(1, -1).replaceAll(\"_\", \" \");\n element.style.cursor = arbitraryValue;\n } else {\n console.warn(`This cursor value is not supported yet: ${cursorValue}`);\n }\n};\n", "export const opacityMapping = {\n 0: \"0\",\n 5: \"0.05\",\n 10: \"0.1\",\n 20: \"0.2\",\n 25: \"0.25\",\n 30: \"0.3\",\n 40: \"0.4\",\n 50: \"0.5\",\n 60: \"0.6\",\n 70: \"0.7\",\n 75: \"0.75\",\n 80: \"0.8\",\n 90: \"0.9\",\n 95: \"0.95\",\n 100: \"1\",\n};\n", "import { opacityMapping } from \"../constants/opacity.js\";\n\nexport const applyOpacity = (element, splittedClassName) => {\n const opacityValue = splittedClassName[2];\n if (!opacityValue) {\n return;\n }\n\n if (opacityMapping[opacityValue]) {\n element.style.opacity = opacityMapping[opacityValue];\n } else if (opacityValue.startsWith(\"[\") && opacityValue.endsWith(\"]\")) {\n const arbitraryValue = opacityValue.slice(1, -1).replaceAll(\"_\", \" \");\n element.style.opacity = arbitraryValue;\n }\n};\n", "export const zIndexMapping = {\n 0: \"0\",\n 10: \"10\",\n 20: \"20\",\n 30: \"30\",\n 40: \"40\",\n 50: \"50\",\n auto: \"auto\",\n};\n", "import { zIndexMapping } from \"../constants/zindex.js\";\n\nexport const applyZIndex = (element, splittedClassName) => {\n const zValue = splittedClassName[2];\n if (!zValue) {\n return;\n }\n\n if (zIndexMapping[zValue]) {\n element.style.zIndex = zIndexMapping[zValue];\n } else if (zValue.startsWith(\"[\") && zValue.endsWith(\"]\")) {\n const arbitraryValue = zValue.slice(1, -1).replaceAll(\"_\", \" \");\n element.style.zIndex = arbitraryValue;\n }\n};\n", "export const displayMapping = {\n block: \"block\",\n \"inline-block\": \"inline-block\",\n inline: \"inline\",\n flex: \"flex\",\n \"inline-flex\": \"inline-flex\",\n hidden: \"none\",\n none: \"none\",\n};\n", "import { displayMapping } from \"../constants/display.js\";\n\nexport const applyDisplay = (element, splittedClassName) => {\n const displayValue = splittedClassName[1];\n if (displayMapping[displayValue]) {\n element.style.display = displayMapping[displayValue];\n } else if (splittedClassName[1] === \"display\" && splittedClassName.length > 2) {\n const value = splittedClassName[2];\n if (value.startsWith(\"[\") && value.endsWith(\"]\")) {\n element.style.display = value.slice(1, -1).replaceAll(\"_\", \" \");\n }\n }\n};\n", "import { applyBgColor, applyTextColor } from \"../properties/colors.js\";\nimport { applyMargin, applyPadding, applyGap } from \"../properties/spacing.js\";\nimport {\n applyBorder,\n applyBorderColor,\n applyBorderRadius,\n} from \"../properties/border.js\";\nimport { applyFontSize } from \"../properties/fonts.js\";\nimport { applyAlignment } from \"../properties/alignment.js\";\nimport { applyWidthHeight } from \"../properties/sizing.js\";\nimport { applyOffset, applyPositionType } from \"../properties/position.js\";\nimport { applyShadow } from \"../properties/shadow.js\";\nimport { applyCursor } from \"../properties/cursor.js\";\nimport { applyOpacity } from \"../properties/opacity.js\";\nimport { applyZIndex } from \"../properties/zindex.js\";\nimport { applyDisplay } from \"../properties/display.js\";\n\nconst getStyleType = (splittedClassName) => {\n if (!splittedClassName || splittedClassName.length < 2) {\n return \"\";\n }\n\n const baseStyle = splittedClassName[1];\n if (baseStyle === \"rounded\" && splittedClassName.length > 3) {\n return `rounded-${splittedClassName[2]}`;\n }\n\n if (baseStyle === \"gap\" && splittedClassName.length > 3) {\n return `gap-${splittedClassName[2]}`;\n }\n\n return baseStyle;\n};\n\nconst applyStyles = (element, splittedClassName) => {\n const styleType = getStyleType(splittedClassName);\n switch (styleType) {\n case \"bg\":\n applyBgColor(element, splittedClassName);\n break;\n case \"text\":\n if (!applyAlignment(element, splittedClassName)) {\n applyTextColor(element, splittedClassName);\n }\n break;\n case \"gap\":\n case \"gap-x\":\n case \"gap-y\":\n applyGap(element, splittedClassName, styleType);\n break;\n case \"w\":\n case \"h\":\n applyWidthHeight(element, splittedClassName, styleType);\n break;\n case \"p\":\n case \"px\":\n case \"py\":\n case \"pt\":\n case \"pr\":\n case \"pb\":\n case \"pl\":\n applyPadding(element, splittedClassName);\n break;\n case \"m\":\n case \"mx\":\n case \"my\":\n case \"mt\":\n case \"mr\":\n case \"mb\":\n case \"ml\":\n applyMargin(element, splittedClassName);\n break;\n case \"b\":\n case \"bt\":\n case \"br\":\n case \"bb\":\n case \"bl\":\n case \"bx\":\n case \"by\":\n applyBorder(element, splittedClassName, styleType);\n break;\n case \"border\":\n applyBorderColor(element, splittedClassName);\n break;\n case \"rounded\":\n case \"rounded-t\":\n case \"rounded-r\":\n case \"rounded-b\":\n case \"rounded-l\":\n case \"rounded-x\":\n case \"rounded-y\":\n applyBorderRadius(element, splittedClassName, styleType);\n break;\n case \"flex\":\n case \"inline\":\n case \"items\":\n case \"justify\":\n applyAlignment(element, splittedClassName);\n break;\n case \"font\":\n applyFontSize(element, splittedClassName);\n break;\n case \"static\":\n case \"fixed\":\n case \"absolute\":\n case \"relative\":\n case \"sticky\":\n applyPositionType(element, styleType);\n break;\n case \"top\":\n case \"right\":\n case \"bottom\":\n case \"left\":\n applyOffset(element, splittedClassName, styleType);\n break;\n case \"shadow\":\n applyShadow(element, splittedClassName);\n break;\n case \"cursor\":\n applyCursor(element, splittedClassName);\n break;\n case \"opacity\":\n applyOpacity(element, splittedClassName);\n break;\n case \"z\":\n applyZIndex(element, splittedClassName);\n break;\n case \"block\":\n case \"inline-block\":\n case \"hidden\":\n case \"display\":\n applyDisplay(element, splittedClassName);\n break;\n default:\n console.warn(`This style type is not supported yet: ${styleType}`);\n }\n};\n\nexport default applyStyles;\n", "const classNameCache = new Map();\n\nexport const splitClassName = (className) => {\n if (classNameCache.has(className)) {\n return classNameCache.get(className);\n }\n\n const parts = className.split(\"-\");\n const parsed = parts[0] === \"chai\" ? parts : undefined;\n classNameCache.set(className, parsed);\n return parsed;\n};\n", "import applyStyles from \"./apply.js\";\nimport { splitClassName } from \"./parser.js\";\n\nconst GROUP_PROPERTIES = {\n bg: [\"backgroundColor\"],\n \"text-color\": [\"color\"],\n \"text-align\": [\"textAlign\"],\n font: [\"fontSize\", \"fontWeight\"],\n gap: [\"gap\", \"columnGap\", \"rowGap\"],\n padding: [\n \"padding\",\n \"paddingTop\",\n \"paddingRight\",\n \"paddingBottom\",\n \"paddingLeft\",\n ],\n margin: [\"margin\", \"marginTop\", \"marginRight\", \"marginBottom\", \"marginLeft\"],\n \"border-width\": [\n \"borderWidth\",\n \"borderTopWidth\",\n \"borderRightWidth\",\n \"borderBottomWidth\",\n \"borderLeftWidth\",\n \"borderStyle\",\n \"borderTopStyle\",\n \"borderRightStyle\",\n \"borderBottomStyle\",\n \"borderLeftStyle\",\n ],\n \"border-color\": [\"borderColor\"],\n radius: [\n \"borderRadius\",\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\",\n \"borderBottomRightRadius\",\n \"borderBottomLeftRadius\",\n ],\n \"flex-align\": [\"display\", \"flexDirection\", \"alignItems\", \"justifyContent\"],\n size: [\"width\", \"height\"],\n position: [\"position\"],\n offset: [\"top\", \"right\", \"bottom\", \"left\"],\n};\n\nconst getStyleType = (splittedClassName) => {\n if (!splittedClassName || splittedClassName.length < 2) {\n return \"\";\n }\n\n const baseStyle = splittedClassName[1];\n if (baseStyle === \"rounded\" && splittedClassName.length > 3) {\n return `rounded-${splittedClassName[2]}`;\n }\n\n if (baseStyle === \"gap\" && splittedClassName.length > 3) {\n return `gap-${splittedClassName[2]}`;\n }\n\n return baseStyle;\n};\n\nconst getGroupId = (splittedClassName) => {\n const styleType = getStyleType(splittedClassName);\n switch (styleType) {\n case \"bg\":\n return \"bg\";\n case \"text\": {\n const textType = splittedClassName[2];\n if ([\"left\", \"center\", \"right\", \"justify\"].includes(textType)) {\n return \"text-align\";\n }\n return \"text-color\";\n }\n case \"font\":\n return \"font\";\n case \"gap\":\n case \"gap-x\":\n case \"gap-y\":\n return \"gap\";\n case \"p\":\n case \"px\":\n case \"py\":\n case \"pt\":\n case \"pr\":\n case \"pb\":\n case \"pl\":\n return \"padding\";\n case \"m\":\n case \"mx\":\n case \"my\":\n case \"mt\":\n case \"mr\":\n case \"mb\":\n case \"ml\":\n return \"margin\";\n case \"b\":\n case \"bt\":\n case \"br\":\n case \"bb\":\n case \"bl\":\n case \"bx\":\n case \"by\":\n return \"border-width\";\n case \"border\":\n return \"border-color\";\n case \"rounded\":\n case \"rounded-t\":\n case \"rounded-r\":\n case \"rounded-b\":\n case \"rounded-l\":\n case \"rounded-x\":\n case \"rounded-y\":\n return \"radius\";\n case \"flex\":\n case \"inline\":\n case \"items\":\n case \"justify\":\n return \"flex-align\";\n case \"w\":\n case \"h\":\n return \"size\";\n case \"static\":\n case \"fixed\":\n case \"absolute\":\n case \"relative\":\n case \"sticky\":\n return \"position\";\n case \"top\":\n case \"right\":\n case \"bottom\":\n case \"left\":\n return \"offset\";\n default:\n return null;\n }\n};\n\nconst applyClassToElement = (element, className) => {\n if (!className || !className.startsWith(\"chai-\")) {\n return;\n }\n\n const classNameParts = splitClassName(className);\n if (!classNameParts) {\n return;\n }\n\n applyStyles(element, classNameParts);\n};\n\nconst clearGroupStyles = (element, groupId) => {\n const properties = GROUP_PROPERTIES[groupId] || [];\n properties.forEach((property) => {\n element.style[property] = \"\";\n });\n};\n\nconst recomputeGroupForElement = (element, groupId) => {\n if (!groupId) {\n return;\n }\n\n clearGroupStyles(element, groupId);\n element.classList.forEach((className) => {\n if (!className.startsWith(\"chai-\")) {\n return;\n }\n\n const classNameParts = splitClassName(className);\n if (!classNameParts || getGroupId(classNameParts) !== groupId) {\n return;\n }\n\n applyStyles(element, classNameParts);\n });\n};\n\nexport const applyChaiClasses = (element) => {\n if (!element || !element.classList) {\n return;\n }\n\n element.classList.forEach((className) => {\n applyClassToElement(element, className);\n });\n};\n\nconst applyToElementAndChildren = (element) => {\n if (!(element instanceof Element)) {\n return;\n }\n\n applyChaiClasses(element);\n element\n .querySelectorAll('[class*=\"chai-\"]')\n .forEach((child) => applyChaiClasses(child));\n};\n\nconst parseClassString = (classString) =>\n new Set((classString || \"\").split(/\\s+/).filter(Boolean));\n\nconst getAddedChaiClasses = (oldClassString, newClassString) => {\n const oldClasses = parseClassString(oldClassString);\n const newClasses = parseClassString(newClassString);\n\n const added = [];\n newClasses.forEach((className) => {\n if (!oldClasses.has(className) && className.startsWith(\"chai-\")) {\n added.push(className);\n }\n });\n\n return added;\n};\n\nconst getRemovedChaiClasses = (oldClassString, newClassString) => {\n const oldClasses = parseClassString(oldClassString);\n const newClasses = parseClassString(newClassString);\n\n const removed = [];\n oldClasses.forEach((className) => {\n if (!newClasses.has(className) && className.startsWith(\"chai-\")) {\n removed.push(className);\n }\n });\n\n return removed;\n};\n\nexport const initMutationObserver = () => {\n const pendingTargets = new Map();\n let rafId = null;\n\n const enqueueTarget = (\n element,\n { classNames = null, recomputeGroups = null, full = false } = {},\n ) => {\n if (!(element instanceof Element)) {\n return;\n }\n\n const existing = pendingTargets.get(element) || {\n classNames: new Set(),\n recomputeGroups: new Set(),\n full: false,\n };\n\n if (full) {\n existing.full = true;\n existing.classNames.clear();\n existing.recomputeGroups.clear();\n pendingTargets.set(element, existing);\n return;\n }\n\n if (!existing.full) {\n (classNames || []).forEach((className) =>\n existing.classNames.add(className),\n );\n (recomputeGroups || []).forEach((groupId) =>\n existing.recomputeGroups.add(groupId),\n );\n }\n\n pendingTargets.set(element, existing);\n };\n\n const flushPendingTargets = () => {\n pendingTargets.forEach((state, element) => {\n if (state.full) {\n applyToElementAndChildren(element);\n return;\n }\n\n state.recomputeGroups.forEach((groupId) => {\n recomputeGroupForElement(element, groupId);\n });\n\n state.classNames.forEach((className) => {\n const classNameParts = splitClassName(className);\n const groupId = classNameParts ? getGroupId(classNameParts) : null;\n if (groupId && state.recomputeGroups.has(groupId)) {\n return;\n }\n\n applyClassToElement(element, className);\n });\n });\n\n pendingTargets.clear();\n rafId = null;\n };\n\n const scheduleFlush = () => {\n if (rafId !== null) {\n return;\n }\n\n rafId = window.requestAnimationFrame(flushPendingTargets);\n };\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type === \"attributes\") {\n const addedClasses = getAddedChaiClasses(\n mutation.oldValue,\n mutation.target.className,\n );\n const removedClasses = getRemovedChaiClasses(\n mutation.oldValue,\n mutation.target.className,\n );\n const groupsToRecompute = new Set();\n\n removedClasses.forEach((className) => {\n const classNameParts = splitClassName(className);\n const groupId = classNameParts ? getGroupId(classNameParts) : null;\n if (groupId) {\n groupsToRecompute.add(groupId);\n }\n });\n\n if (addedClasses.length > 0 || groupsToRecompute.size > 0) {\n enqueueTarget(mutation.target, {\n classNames: addedClasses,\n recomputeGroups: groupsToRecompute,\n });\n }\n return;\n }\n\n mutation.addedNodes.forEach((node) => {\n enqueueTarget(node, { full: true });\n });\n });\n\n scheduleFlush();\n });\n\n observer.observe(document.body, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [\"class\"],\n attributeOldValue: true,\n });\n\n return observer;\n};\n", "export const chaiClassScanner = () => {\n return document.querySelectorAll('[class*=\"chai-\"]');\n};\n", "import applyStyles from \"./core/apply.js\";\nimport { initMutationObserver } from \"./core/observer.js\";\nimport { splitClassName } from \"./core/parser.js\";\nimport { chaiClassScanner } from \"./core/scanner.js\";\n\nconst modifiers = [\"focus\"];\n\nconst applyHover = (element, className) => {\n const baseClassName = className.replace(\"hover:\", \"\");\n const parts = splitClassName(baseClassName);\n if (!parts) return;\n\n const dummy = document.createElement(\"div\");\n applyStyles(dummy, parts);\n const hoverStyles = {};\n for (let i = 0; i < dummy.style.length; i++) {\n const prop = dummy.style[i];\n hoverStyles[prop] = dummy.style.getPropertyValue(prop);\n }\n\n let originalStyles = {};\n\n element.addEventListener(\"mouseenter\", () => {\n for (const prop in hoverStyles) {\n originalStyles[prop] = element.style.getPropertyValue(prop);\n element.style.setProperty(prop, hoverStyles[prop], \"important\");\n }\n });\n\n element.addEventListener(\"mouseleave\", () => {\n for (const prop in originalStyles) {\n if (originalStyles[prop]) {\n element.style.setProperty(prop, originalStyles[prop]);\n } else {\n element.style.removeProperty(prop);\n }\n }\n originalStyles = {};\n });\n};\n\nconst applyVariant = (className, variant) => {\n const baseClassName = className.replace(`${variant}:`, \"\");\n const parts = splitClassName(baseClassName);\n if (!parts) return;\n const dummy = document.createElement(\"div\");\n applyStyles(dummy, parts);\n\n if (dummy.style.length === 0) return;\n\n let cssText = \"\";\n for (let i = 0; i < dummy.style.length; i++) {\n const prop = dummy.style[i];\n const value = dummy.style.getPropertyValue(prop);\n const priority = dummy.style.getPropertyPriority(prop);\n cssText += `${prop}: ${value}${priority ? \" !important\" : \"\"};`;\n }\n\n const escapedClassName = CSS.escape(className);\n const styleId = `chai-style-${escapedClassName}`;\n\n if (!document.getElementById(styleId)) {\n const style = document.createElement(\"style\");\n style.id = styleId;\n style.textContent = `.${escapedClassName}:${variant} { ${cssText} }`;\n document.head.appendChild(style);\n }\n};\n\nconst initStyles = () => {\n const chaiElements = chaiClassScanner();\n chaiElements.forEach((element) => {\n element.classList.forEach((className) => {\n if (className.startsWith(\"hover:chai-\")) {\n applyHover(element, className);\n return;\n }\n\n for (const modifier of modifiers) {\n if (className.startsWith(`${modifier}:chai-`)) {\n applyVariant(className, modifier);\n return;\n }\n }\n\n if (!className.startsWith(\"chai-\")) {\n return;\n }\n const classNameParts = splitClassName(className);\n if (!classNameParts) {\n return;\n }\n applyStyles(element, classNameParts);\n });\n });\n};\n\nexport const initBrewWind = () => {\n if (typeof document === \"undefined\") {\n return null;\n }\n\n initStyles();\n return initMutationObserver();\n};\n\nif (typeof document !== \"undefined\") {\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", initBrewWind, {\n once: true,\n });\n } else {\n initBrewWind();\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["colorsPalette", "colors_default", "applyBgColor", "element", "splittedClassName", "color", "colors_default", "applyTextColor", "paddingDirectionTypes", "marginDirectionTypes", "gapDirectionTypes", "spacingValues", "applyPadding", "element", "splittedClassName", "paddingValue", "paddingType", "paddingDirection", "paddingDirectionTypes", "spacingValue", "spacingValues", "direction", "applyMargin", "marginValue", "marginType", "marginDirection", "marginDirectionTypes", "applyGap", "styleType", "gapDirection", "gapDirectionTypes", "gapValueKey", "numericGap", "gapValue", "borderDirectionValues", "borderWidthValues", "roundedDirectionValues", "borderRadiusValues", "setBorderWidth", "element", "property", "widthValue", "styleProperty", "applyProperties", "propertyOrProperties", "value", "setter", "applyBorder", "splittedClassName", "styleType", "directionProperty", "borderDirectionValues", "borderValueKey", "borderWidthValue", "borderWidthValues", "applyRadius", "applyBorderRadius", "radiusProperty", "roundedDirectionValues", "radiusValueKey", "borderRadiusValue", "borderRadiusValues", "resolveColor", "baseIndex", "palette", "colors_default", "shade", "applyBorderColor", "colorValue", "fontSizeValues", "fontWeightValues", "applyFontSize", "element", "splittedClassName", "fontWeightValues", "fontSizeKey", "fontSizeValue", "fontSizeValues", "alignmentMappingValues", "determineProperty", "key", "resolveAlignmentKey", "splittedClassName", "applyAlignment", "element", "value", "alignmentMappingValues", "property", "widthValues", "heightValues", "resolveDimensionValue", "key", "valuesMap", "numericValue", "applyWidthHeight", "element", "splittedClassName", "styleType", "valueKey", "widthValue", "widthValues", "heightValue", "heightValues", "positionValues", "offsetDirectionValues", "offsetValues", "resolveOffsetValue", "key", "offsetValues", "numericValue", "applyPositionType", "element", "styleType", "positionValue", "positionValues", "applyOffset", "splittedClassName", "direction", "offsetDirectionValues", "offsetKey", "offsetValue", "shadowMapping", "applyShadow", "element", "splittedClassName", "shadowValue", "shadowMapping", "arbitraryValue", "cursorMapping", "applyCursor", "element", "splittedClassName", "cursorValue", "cursorMapping", "arbitraryValue", "opacityMapping", "applyOpacity", "element", "splittedClassName", "opacityValue", "opacityMapping", "arbitraryValue", "zIndexMapping", "applyZIndex", "element", "splittedClassName", "zValue", "zIndexMapping", "arbitraryValue", "displayMapping", "applyDisplay", "element", "splittedClassName", "displayValue", "displayMapping", "value", "getStyleType", "splittedClassName", "baseStyle", "applyStyles", "element", "styleType", "applyBgColor", "applyAlignment", "applyTextColor", "applyGap", "applyWidthHeight", "applyPadding", "applyMargin", "applyBorder", "applyBorderColor", "applyBorderRadius", "applyFontSize", "applyPositionType", "applyOffset", "applyShadow", "applyCursor", "applyOpacity", "applyZIndex", "applyDisplay", "apply_default", "classNameCache", "splitClassName", "className", "parts", "parsed", "GROUP_PROPERTIES", "getStyleType", "splittedClassName", "baseStyle", "getGroupId", "textType", "applyClassToElement", "element", "className", "classNameParts", "splitClassName", "apply_default", "clearGroupStyles", "groupId", "property", "recomputeGroupForElement", "applyChaiClasses", "applyToElementAndChildren", "child", "parseClassString", "classString", "getAddedChaiClasses", "oldClassString", "newClassString", "oldClasses", "newClasses", "added", "getRemovedChaiClasses", "removed", "initMutationObserver", "pendingTargets", "rafId", "enqueueTarget", "classNames", "recomputeGroups", "full", "existing", "flushPendingTargets", "state", "scheduleFlush", "observer", "mutations", "mutation", "addedClasses", "removedClasses", "groupsToRecompute", "node", "chaiClassScanner", "modifiers", "applyHover", "element", "className", "baseClassName", "parts", "splitClassName", "dummy", "apply_default", "hoverStyles", "i", "prop", "originalStyles", "applyVariant", "variant", "cssText", "value", "priority", "escapedClassName", "styleId", "style", "initStyles", "chaiClassScanner", "modifier", "classNameParts", "initBrewWind", "initMutationObserver"]
|
|
7
7
|
}
|