UNPKG

tw-clamp-css

Version:
2 lines (1 loc) 2.47 kB
var F=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var L=(i,t)=>{for(var o in t)F(i,o,{get:t[o],enumerable:!0})},O=(i,t,o,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of P(t))!I.call(i,a)&&a!==o&&F(i,a,{get:()=>t[a],enumerable:!(e=C(t,a))||e.enumerable});return i};var _=i=>O(F({},"__esModule",{value:!0}),i);var A={};L(A,{default:()=>q});module.exports=_(A);function V(i,t){return{handler:i,config:t}}V.withOptions=function(i,t=()=>({})){function o(e){return{handler:i(e),config:t(e)}}return o.__isOptionsFunction=!0,o};var w=V;function f(i,t,o,e){let a=Number.parseFloat(i),n=Number.parseFloat(t),r=Number.parseFloat(o),l=Number.parseFloat(e),u=(n-a)/(l-r),p=Number(a.toFixed(3)),d=u>=0?`${p}rem + ${u.toFixed(4)} * (100vw - ${r}rem)`:`${p}rem - ${Math.abs(u).toFixed(4)} * (100vw - ${r}rem)`,m=Number(Math.min(a,n).toFixed(3)),c=Number(Math.max(a,n).toFixed(3));return`clamp(${m}rem, calc(${d}), ${c}rem)`}var j=w(function({matchUtilities:i,theme:t}){i({clamp:o=>{let e=o.split("-");if(e.length<3)return{};let a=e[0]==="";a&&e.shift();let n=e[0],r=e[1],l=e[2];if(e[3]!=="clamp")return{};let p=t("fontSize"),d=t("spacing"),m=t("screens"),c=e[4]?m[e[4]]:m.sm,x=e[5]?m[e[5]]:m.xl;if(n==="text"){let g=p[r][0],N=p[l][0],H=p[r][1].lineHeight,v=p[l][1].lineHeight,y=parseFloat(g),z=parseFloat(N),k=y*parseFloat(H),B=z*parseFloat(v),M=f(y,z,parseFloat(c),parseFloat(x)),R=f(k,B,parseFloat(c),parseFloat(x));return{"font-size":M,"line-height":R}}let h={p:"padding",px:"padding-left",py:"padding-top",pt:"padding-top",pr:"padding-right",pb:"padding-bottom",pl:"padding-left",m:"margin",mx:"margin-left",my:"margin-top",mt:"margin-top",mr:"margin-right",mb:"margin-bottom",ml:"margin-left",gap:"gap","gap-x":"column-gap","gap-y":"row-gap",w:"width",h:"height","min-w":"min-width","min-h":"min-height","max-w":"max-width","max-h":"max-height",inset:"inset","inset-x":"left","inset-y":"top",top:"top",right:"right",bottom:"bottom",left:"left",size:"size"}[n];if(!h)return{};let $=d[r],S=d[l],b=f(parseFloat($),parseFloat(S),parseFloat(c),parseFloat(x)),s=a?`-${b}`:b;if(n==="size")return{width:s,height:s};if(n==="px"||n==="mx"||n==="inset-x"){let g=n==="px"?"padding-right":n==="mx"?"margin-right":"right";return{[h]:s,[g]:s}}if(n==="py"||n==="my"||n==="inset-y"){let g=n==="py"?"padding-bottom":n==="my"?"margin-bottom":"bottom";return{[h]:s,[g]:s}}return{[h]:s}}})}),q=j;