UNPKG

tailwind-semantic-setup

Version:

🧬 Smart multi-theme tool for better semantic Design Systems

3 lines (2 loc) • 3.78 kB
import r from"tailwindcss/plugin";import e from"color";function t(){return t=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},t.apply(this,arguments)}var n={primary:"#e0a82e","primary-dark":"#ba881c","primary-content":"#18182f",secondary:"#f9d72f","secondary-dark":"#e4bf07","secondary-content":"#18182f",accent:"#18182f","accent-dark":"#131325","accent-content":"#babaee",neutral:"#181830","neutral-dark":"#131325","neutral-content":"#babaee",root:"#ffffff","root-dark":"#e6e6e6","root-darkest":"#cfcfcf","root-content":"#333333",info:"#3abff8","info-content":"#002b3d",success:"#36d399","success-content":"#003320",warning:"#fbbd23","warning-content":"#382800",error:"#f87272","error-content":"#470000"},o=function(r){return r[0]+" "+r[1]+"% "+r[2]+"%"};function a(r){var t=e(r).hsl().round().array();return o(t)}function i(r,t){void 0===t&&(t=.3);var n=e(r).darken(t).hsl().round().array();return o(n)}function c(c){void 0===c&&(c={});var s=t({},{typography:!0,forms:!0,"line-clamp":!1,"aspect-ratio":!0},c),u=[r(function(r){var c=r.addBase,s=r.matchUtilities,u=r.addVariant,l=r.theme,f=(0,r.config)("semanticSetup.themes");c(function(r){return r.reduce(function(r,c){var s=c.name,u=c.colors,l=c.preferredColorScheme;!function(r){if(r&&!Array.isArray(r))throw new Error("Expected array, got "+r)}(l),function(r){if(!Object.values(r).every(function(r){return"string"==typeof r}))throw new Error("color values must be strings, got "+r)}(u);var f=function(r){var c=t({},n,r),s={};return Object.entries(c).forEach(function(t){var c=t[0],u=t[1],l="--"+c,f=r[c];if(f){var d=a(f);s[l]=d}else if(["root-dark","root-darkest"].includes(c)){var p="root",v=r[p];s[l]=i(null!=v?v:n[p],"root-darkest"===c?.16:.08)}else{var h=Boolean(n[c]),m=c.includes("-dark"),y=c.includes("-content");if(h&&(m||y)){var g=c.replace("-dark","").replace("-content",""),b=r[g],w=null!=b?b:n[g];s[l]=m?i(w):function(r,t){void 0===t&&(t=.8);var n=e(r),a=n.isDark()?e("white"):e("black"),i=n.mix(a,t).saturate(15).hsl().round().array();return o(i)}(w)}else{var k=a(u);s[l]=k}}}),s}(u);return r['[data-theme="'+s+'"]']=t({"color-scheme":null==l?void 0:l.join(" ")},f),r},{})}(f)),c({":root [data-theme]":{backgroundColor:"hsl(var(--root) / var(--tw-bg-opacity, 1))",color:"hsl(var(--root-content) / var(--tw-text-opacity, 1))"}}),s({wh:function(r){return{width:r,height:r}}},{values:l("spacing")}),s({circle:function(r){return{width:r,height:r,borderRadius:"100%"}}},{values:l("spacing")}),f.forEach(function(r){var e=r.name;u("theme-"+e,'[data-theme="'+e+'"] &')}),u("hocus",["&:hover","&:focus"]),u("optional","&:optional"),u("group-optional",":merge(.group):optional &"),u("peer-optional",":merge(.peer):optional ~ &")})];return s.typography&&u.push(require("@tailwindcss/typography")),s.forms&&u.push(require("@tailwindcss/forms")),s["line-clamp"]&&u.push(require("@tailwindcss/line-clamp")),s["aspect-ratio"]&&u.push(require("@tailwindcss/aspect-ratio")),u}function s(r){void 0===r&&(r={});var e,o,a=r.plugins,i=r.theme,s=void 0===i?{}:i,u=r.semanticSetup,l=void 0===u?{}:u;return t({},r,{plugins:[].concat(void 0===a?[]:a,c(l.plugins)),theme:t({},s,{colors:(e=l.themes,o={transparent:"transparent",current:"currentColor"},Array.from(new Set([].concat(Object.keys(n),e.map(function(r){return Object.keys(r.colors)}).flat(2)))).forEach(function(r){var e,t;o[r]=(e="--"+r,void 0===t&&(t=""),function(r){var n=r.opacityValue,o="var("+e+(t?", var("+t+")":"")+")";return void 0===n?"hsl("+o+")":"hsl("+o+" / "+n+")"})}),o),extend:null!=s&&s.extend?t({},s.extend,{colors:void 0}):void 0})})}export{s as withSemanticSetup}; //# sourceMappingURL=tailwind-semantic-setup.module.js.map