tw-clamp-css
Version:
TailwindCSS v4.0 compatible CSS clamp()
2 lines (1 loc) • 1.7 kB
JavaScript
var f=":",w=f.length;var c=(e,{cacheSize:t,prefix:r,experimentalParseClassName:o,extend:n={},override:s={}})=>(i(e,"cacheSize",t),i(e,"prefix",r),i(e,"experimentalParseClassName",o),l(e.theme,s.theme),l(e.classGroups,s.classGroups),l(e.conflictingClassGroups,s.conflictingClassGroups),l(e.conflictingClassGroupModifiers,s.conflictingClassGroupModifiers),i(e,"orderSensitiveModifiers",s.orderSensitiveModifiers),a(e.theme,n.theme),a(e.classGroups,n.classGroups),a(e.conflictingClassGroups,n.conflictingClassGroups),a(e.conflictingClassGroupModifiers,n.conflictingClassGroupModifiers),d(e,n,"orderSensitiveModifiers"),e),i=(e,t,r)=>{r!==void 0&&(e[t]=r)},l=(e,t)=>{if(t)for(let r in t)i(e,r,t[r])},a=(e,t)=>{if(t)for(let r in t)d(e,t,r)},d=(e,t,r)=>{let o=t[r];o!==void 0&&(e[r]=e[r]?e[r].concat(o):o)};var b=["xs","sm","base","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","8xl","9xl"],m=["0","1","2","3","4","5","6","7","8","9","10","11","12","14","16","20","24","28","32","36","40","44","48","52","56","60","64","72","80","96","112","128","144","160","176","192","px","0.5","1.5","2.5","3.5"],p=["2xs","xs","sm","md","lg","xl","2xl"];function u(e){return t=>{let r=t.split("-");return r.length<3||!e.includes(r[0])||!e.includes(r[1])||r[2]!=="clamp"?!1:!!(r.length===3||r.length===5&&p.includes(r[3])&&p.includes(r[4]))}}var g=u(b),h=u(m),x=["p","px","py","pt","pr","pb","pl","m","mx","my","mt","mr","mb","ml","gap","gap-x","gap-y","space-x","space-y","w","h","min-w","min-h","max-w","max-h","inset","inset-x","inset-y","top","right","bottom","left"];function k(e){let t=x.reduce((r,o)=>(r[o]=[{[o]:[h]}],r),{});return c(e,{extend:{classGroups:{"font-size":[{text:[g]}],...t}}})}export{k as withClamp};