rippleui
Version:
Cleanest, modern and beatifull Tailwind CSS library.
1 lines • 3.14 kB
JavaScript
;var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const prefix_1=require("./utils/prefix"),isEmpty_1=require("./utils/isEmpty"),ligh_theme_1=require("./theme/ligh-theme"),var_theme_1=require("./theme/var-theme"),dark_theme_1=require("./theme/dark-theme"),plugin_1=__importDefault(require("tailwindcss/plugin")),fs_1=__importDefault(require("fs")),postcss_1=__importDefault(require("postcss")),postcss_js_1=__importDefault(require("postcss-js")),path_1=__importDefault(require("path")),default_schema_1=require("./colors/default-schema"),hexToRGB_1=require("./utils/hexToRGB"),extractNewVariables_1=require("./utils/extractNewVariables"),theme_1=require("./utils/theme"),theme_2=require("./utils/theme"),prefix_2=require("./prefix/prefix"),sortThemes_1=require("./utils/sortThemes"),basePath=path_1.default.resolve(__dirname,path_1.default.join("..","css")),baseCSS=fs_1.default.readFileSync(basePath+"/base.css","utf-8"),componentsCSS=fs_1.default.readFileSync(basePath+"/components.css","utf-8"),utilitiesCSS=fs_1.default.readFileSync(basePath+"/utilities.css","utf-8"),config=plugin_1.default.withOptions((e=>({addBase:t,addComponents:s,addUtilities:i,theme:r,config:a})=>{var l,o,m,h;const _=postcss_1.default.parse(baseCSS),u=postcss_1.default.parse(componentsCSS),c=postcss_1.default.parse(utilitiesCSS),f=postcss_js_1.default.objectify(_),d=postcss_js_1.default.objectify(u),n=postcss_js_1.default.objectify(c),p=a("rippleui")||Object.assign({},e)||{},g=null===(l=p.themes)||void 0===l?void 0:l.find((e=>"light"===e.themeName)),b=null===(o=p.themes)||void 0===o?void 0:o.find((e=>"dark"===e.themeName)),j=(null===(m=p.themes)||void 0===m?void 0:m.filter((e=>"light"!==e.themeName&&"dark"!==e.themeName)))||[];let x={defaultStyle:null===(h=p.defaultStyle)||void 0===h||h,removeThemes:p.removeThemes||[],prefix:p.prefix,themes:[Object.assign({themeName:"light",colorScheme:"light"},g),Object.assign({themeName:"dark",colorScheme:"dark"},b),...j]};if((0,isEmpty_1.isValid)(x)){x.defaultStyle&&t({":root, [data-theme]":Object.assign({},default_schema_1.defaultSchema)});const e=x.themes||[],s=x.removeThemes||[],i=(0,theme_1.removeThemes)(s,e);if(i.length>0){const e=i.map((e=>{const t=(0,prefix_1.addPrefix)(Object.assign({},e.colors)),s=(0,hexToRGB_1.palleteToRGB)(t),i=Object.assign(Object.assign({},e),{colors:s});let r;r="light"===e.themeName?(0,theme_2.mergeNestedObjects)(ligh_theme_1.lightTheme,i):"dark"===e.themeName?(0,theme_2.mergeNestedObjects)(dark_theme_1.darkTheme,i):i;return(0,theme_1.createTheme)(r)})).flat();t((0,sortThemes_1.sortThemes)(e))}}if(t(f),p.prefix){s((0,prefix_2.getSelectorsWithPrefix)(p.prefix,d))}else s(d);i(n)}),(e=>{let t=Object.assign({},var_theme_1.varTheme.colors);if((0,isEmpty_1.isValid)(e)){const s=e.themes||[];null==s||s.forEach((e=>{if(null==e?void 0:e.colors){const s=(0,extractNewVariables_1.extractNewVariables)(var_theme_1.varTheme.colors,e.colors);t=Object.assign(Object.assign({},t),s)}}))}return{theme:{extend:{colors:Object.assign({},t)}}}}));module.exports=config;