eva-css-fluid 1.0.4 → 2.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../src/_eva.scss","../src/_colors.scss","../src/_gradients.scss","../src/_theme.scss","../src/_reset.scss","../src/_font.scss","../src/_flex.scss","../src/_grid.scss","../src/_utils.scss"],"names":[],"mappings":"AAiMA;EA2DQ;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAgEA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;;AAnJJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAHJ;EACE;EAEE;;;AAQJ;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AC9KN;EAEE;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;;;AAwDF;EAEI;EACA;EAGE;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EARF;EACA;EAGE;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EARF;EACA;EAGE;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EARF;EACA;EAGE;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;EARF;EACA;EAGE;EAAA;EAAA;EAIA;EAAA;EAAA;EAAA;;;AAuBF;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAYN;EACE;;;AAvBF;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAYN;EACE;;;AAvBF;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAYN;EACE;;;AAvBF;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAON;AAAA;EAEE;;;AAnBF;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAVN;EACE;;AAGE;EACE;;AADF;EACE;;AADF;EACE;;AAIF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;;AAYN;EACE;;;AAoCJ;EACE;EACA;EACA;EACA;EAGA;EACA;EAEA;EACA;;;AC3LJ;EACE;EACA;EACA;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAYE;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AALF;EACE;;;AAGF;EACE;;;AAMN;EAAoB;;;AACpB;EAAkB;;;AAOlB;EAAO;;;AACP;EAAO;;;AACP;EAAO;;;AACP;EAAO;;;AACP;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AACR;EAAQ;;;AAKN;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAQjB;EAAW;;;AACX;EAAY;;;AACZ;EAAa;;;AAKb;EAAa;;;AACb;EAAU;;;AACV;EAAa;;;AACb;EAAW;;;AACX;EAAY;;;AAOZ;EAAY;;;AACZ;EAAiB;;;AACjB;EAAiB;;;AAQjB;EACE;IAAK;;EACL;IAAM;;EACN;IAAO;;;AC9HT;EAGE;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EAEA;EACA;EACA;;;AAIF;EAEE;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EAGA;EACA;EACA;EAEA;EACA;EACA;;;AAMF;EACE;EACA;;;AAGF;EACE;;AACA;EACE;;;AAMJ;EACE;;;AAGF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAIF;EACE;;;ACjGF;AAEA;AACA;AAAA;AAAA;EAGE;;;AAGF;AACA;EACE;EACA;EACA;;;AAGF;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAUE;;;AAGF;AACA;AAAA;EAEE;;;AAGF;AACA;EACE;EACA;;;AAGF;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;;AAGF;AACA;EACE;EACA;;;AAGF;AACA;AAAA;EAEE;EACA;;;AAGF;AACA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;;;ACtEF;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAIE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAKA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;;AAQF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAMF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAIJ;EACE;;AACA;EACE;EACA;;AACA;EACE;EACA;EACA;;;ACjDN;EACE;EACA;;AAMA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAOF;EACE;EACA;EACA;;AAGA;EAAU;;AACV;EAAW;EAAyB;;AACpC;EAAQ;;AACR;EAAU;;AACV;EAAW;;AACX;EAAW;;AAGX;EAAgB;EAA6B;;AAC7C;EAAiB;EAA6B;;AAC9C;EAAc;EAA6B;;AAC3C;EAAkB;EAA6B;;AAC/C;EAAmB;EAA6B;;AAGhD;EAAiB;EAAyB;;AAC1C;EAAkB;EAAyB;;AAC3C;EAAe;EAAyB;;AACxC;EAAmB;EAAyB;;AAC5C;EAAoB;EAAyB;;AAG7C;EAAc;EAA2B;;AACzC;EAAe;EAA2B;;AAC1C;EAAY;EAA2B;;AACvC;EAAgB;EAA2B;;AAC3C;EAAiB;EAA2B;;AAG5C;EAAgB;EAAgC;;AAChD;EAAiB;EAAgC;;AACjD;EAAc;EAAgC;;AAC9C;EAAkB;EAAgC;;AAClD;EAAmB;EAAgC;;AAGnD;EAAiB;EAA+B;;AAChD;EAAkB;EAA+B;;AACjD;EAAe;EAA+B;;AAC9C;EAAmB;EAA+B;;AAClD;EAAoB;EAA+B;;AAGnD;EAAiB;EAA+B;;AAChD;EAAkB;EAA+B;;AACjD;EAAe;EAA+B;;AAC9C;EAAmB;EAA+B;;AAClD;EAAoB;EAA+B;;AAOrD;EACE;EACA;EACA;;AAGA;EAAU;;AACV;EAAW;EAAyB;;AACpC;EAAQ;;AACR;EAAU;;AACV;EAAW;;AACX;EAAW;;AAGX;EAAgB;EAA6B;;AAC7C;EAAiB;EAA6B;;AAC9C;EAAc;EAA6B;;AAC3C;EAAkB;EAA6B;;AAC/C;EAAmB;EAA6B;;AAGhD;EAAiB;EAAyB;;AAC1C;EAAkB;EAAyB;;AAC3C;EAAe;EAAyB;;AACxC;EAAmB;EAAyB;;AAC5C;EAAoB;EAAyB;;AAG7C;EAAc;EAA2B;;AACzC;EAAe;EAA2B;;AAC1C;EAAY;EAA2B;;AACvC;EAAgB;EAA2B;;AAC3C;EAAiB;EAA2B;;AAG5C;EAAgB;EAAgC;;AAChD;EAAiB;EAAgC;;AACjD;EAAc;EAAgC;;AAC9C;EAAkB;EAAgC;;AAClD;EAAmB;EAAgC;;AAGnD;EAAiB;EAA+B;;AAChD;EAAkB;EAA+B;;AACjD;EAAe;EAA+B;;AAC9C;EAAmB;EAA+B;;AAClD;EAAoB;EAA+B;;AAGnD;EAAiB;EAA+B;;AAChD;EAAkB;EAA+B;;AACjD;EAAe;EAA+B;;AAC9C;EAAmB;EAA+B;;AAClD;EAAoB;EAA+B;;AAQrD;EAAkB;;AAClB;EAAmB;;AACnB;EAAgB;;AAChB;EAAkB;;AAClB;EAAmB;;AACnB;EAAmB;;AAGnB;EAAgB;;AAChB;EAAiB;;AACjB;EAAc;;AACd;EAAkB;;AAClB;EAAmB;;AAMnB;EAAkB;;AAClB;EAAmB;;AACnB;EAAgB;;AAChB;EAAkB;;AAClB;EAAmB;;AACnB;EAAmB;;AAMnB;EAAS;;AACT;EAAW;;AACX;EAAiB;;AAOf;EAAM;;AACN;EAAM;;;AASV;EAAU;;;AACV;EAAa;;;AACb;EAAgB;;;AAChB;EAAa;;;AAGb;EAAW;;;AAGX;EAAU;;;AACV;EAAU;;;AAMV;EAAa;;;AACb;EAAc;;;AACd;EAAe;;;AACf;EAAY;;;AACZ;EAAgB;;;AAChB;EAAiB;;;AAMjB;EAAe;;;AACf;EAAc;;;AACd;EAAc;;;AAIZ;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAAf;EAAe;;;AAQjB;EACE;EACA;;AAEA;AAAA;EACoB;;AAEpB;EAAkB;;;AAIpB;EACE;;AAEA;EAAoB;;AACpB;EACE;EACA;;;AAKJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;ACvRF;EACE;EACA;;;AAGF;EACE;;;AAUI;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAUR;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAIA;EATF;IASkC;;;AAChC;EAVF;IAUkC;;;AAChC;EAXF;IAWkC;;;AAChC;EAZF;IAYkC;;;AAChC;EAbF;IAamC;;;AACjC;EAdF;IAcmC;;;AACjC;EAfF;IAemC;;;AACjC;EAhBF;IAgBmC;;;AACjC;EAjBF;IAiBmC;;;AACjC;EAlBF;IAkBmC;;;;AAGnC;EACE;EACA;EACA;EACA;;;AAiBA;EACE;EACA;EACA;;;AAHF;EACE;EACA;EACA;;;AAHF;EACE;EACA;EACA;;;AAHF;EACE;EACA;EACA;;;AAHF;EACE;EACA;EACA;;;AAHF;EACE;EACA;EACA;;;AAHF;EACE;EACA;EACA;;;AAHF;EACE;EACA;EACA;;;AAHF;EACE;EACA;EACA;;;AAHF;EACE;EACA;EACA;;;AAHF;EACE;EACA;EACA;;;AAHF;EACE;EACA;EACA;;;AAMF;EACE;EACA;EAEA;;;AAJF;EACE;EACA;EAEA;;;AAJF;EACE;EACA;EAEA;;;AAJF;EACE;EACA;EAEA;;;AAJF;EACE;EACA;EAEA;;;AAJF;EACE;EACA;EAEA;;;AAJF;EACE;EACA;EAEA;;;AAJF;EACE;EACA;EAEA;;;AAJF;EACE;EACA;EAEA;;;AAJF;EACE;EACA;EAEA;;;AAJF;EACE;EACA;EAEA;;;AAJF;EACE;EACA;EAEA;;;AAUF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAWF;EAEI;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;;AAHN;EAEI;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;;AAHN;EAEI;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;;AAHN;EAEI;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;;AAHN;EAEI;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;;AAHN;EAEI;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;;ACjIR;EACE;;;AAGF;EACE;;AACA;EACE;EACA;EACA;;;AAGJ;EACE;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;AACA;EACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;AACA;EACE;;AACA;EACE;;;AAKN;EACE;;;AAIF;EACE","file":"test.css"}
@@ -0,0 +1,216 @@
1
+ /**
2
+ * EVA CSS Configuration Template
3
+ *
4
+ * Copy this file to your project root as eva.config.js
5
+ * or add the "eva" key to your package.json
6
+ */
7
+
8
+ module.exports = {
9
+ /**
10
+ * Size values for spacing utilities (padding, margin, gap, width, height, etc.)
11
+ * Extract these from your Figma design or design system
12
+ *
13
+ * @type {number[]}
14
+ * @required Must include 16 as a base size
15
+ */
16
+ sizes: [4, 8, 12, 16, 24, 32, 48, 64, 96, 128],
17
+
18
+ /**
19
+ * Font size values
20
+ * These will be converted to fluid clamp() values
21
+ *
22
+ * @type {number[]}
23
+ */
24
+ fontSizes: [12, 14, 16, 18, 20, 24, 32, 48],
25
+
26
+ /**
27
+ * Generate utility classes (true) or only CSS variables (false)
28
+ *
29
+ * @type {boolean}
30
+ * @default true
31
+ */
32
+ buildClass: true,
33
+
34
+ /**
35
+ * Add static px/rem values alongside fluid values for debugging
36
+ *
37
+ * @type {boolean}
38
+ * @default false
39
+ */
40
+ pxRemSuffix: false,
41
+
42
+ /**
43
+ * Use size values in variable names (e.g., var(--16) instead of var(--size-4))
44
+ *
45
+ * @type {boolean}
46
+ * @default true
47
+ */
48
+ nameBySize: true,
49
+
50
+ /**
51
+ * Enable custom class filtering mode
52
+ * When true, only generate classes specified in classConfig
53
+ *
54
+ * @type {boolean}
55
+ * @default false
56
+ */
57
+ customClass: false,
58
+
59
+ /**
60
+ * Configuration for custom class mode
61
+ * Specify which properties and sizes to generate
62
+ *
63
+ * @type {Object<string, number[]>}
64
+ *
65
+ * Available properties:
66
+ * - w, mw, h, mh (width, max-width, height, max-height)
67
+ * - p, px, py, pt, pb, pr, pl (padding)
68
+ * - m, mx, my, mt, mb, mr, ml (margin)
69
+ * - g, gap, br (gap, border-radius)
70
+ * - fs, lh (font-size, line-height)
71
+ *
72
+ * @example
73
+ * classConfig: {
74
+ * w: [50, 100], // Only .w-50 and .w-100
75
+ * px: [24], // Only .px-24 (note: single value, no trailing comma needed in JS)
76
+ * g: [24, 50] // Only .g-24 and .g-50
77
+ * }
78
+ */
79
+ classConfig: {
80
+ // w: [50, 100],
81
+ // px: [24],
82
+ // g: [24, 50]
83
+ },
84
+
85
+ /**
86
+ * Show configuration summary during compilation
87
+ *
88
+ * @type {boolean}
89
+ * @default false
90
+ */
91
+ debug: false,
92
+
93
+ /**
94
+ * Theme configuration
95
+ * Define your color palette with HEX or OKLCH values
96
+ *
97
+ * @type {Object}
98
+ */
99
+ theme: {
100
+ /**
101
+ * Theme name (used in CSS class .theme-{name})
102
+ *
103
+ * @type {string}
104
+ */
105
+ name: 'myproject',
106
+
107
+ /**
108
+ * Theme colors
109
+ * Use HEX colors (auto-converted to OKLCH) or OKLCH objects
110
+ *
111
+ * @type {Object<string, string|Object>}
112
+ *
113
+ * @example
114
+ * colors: {
115
+ * brand: '#ff5733', // HEX format
116
+ * accent: { lightness: 51.7, chroma: 0.293, hue: 289.66 } // OKLCH format
117
+ * }
118
+ */
119
+ colors: {
120
+ // Use HEX colors from your design (Figma, etc.)
121
+ brand: '#ff5733',
122
+ accent: '#7300ff',
123
+ extra: '#ffe500',
124
+
125
+ // Or use OKLCH values directly
126
+ dark: { lightness: 20, chroma: 0.05, hue: 200 },
127
+ light: { lightness: 95, chroma: 0.01, hue: 200 }
128
+ },
129
+
130
+ /**
131
+ * Light mode configuration
132
+ *
133
+ * @type {Object}
134
+ */
135
+ lightMode: {
136
+ lightness: 96.4,
137
+ darkness: 6.4
138
+ },
139
+
140
+ /**
141
+ * Dark mode configuration
142
+ *
143
+ * @type {Object}
144
+ */
145
+ darkMode: {
146
+ lightness: 5,
147
+ darkness: 95
148
+ },
149
+
150
+ /**
151
+ * Auto switch theme based on prefers-color-scheme
152
+ * false = manual switching with .toggle-theme class
153
+ *
154
+ * @type {boolean}
155
+ */
156
+ autoSwitch: false
157
+ },
158
+
159
+ /**
160
+ * Purge/tree-shaking configuration
161
+ * Remove unused CSS classes in production builds
162
+ *
163
+ * @type {Object}
164
+ */
165
+ purge: {
166
+ /**
167
+ * Enable purging
168
+ *
169
+ * @type {boolean}
170
+ * @default false
171
+ */
172
+ enabled: false,
173
+
174
+ /**
175
+ * Content files to scan for used classes
176
+ * Glob patterns supported
177
+ *
178
+ * @type {string[]}
179
+ */
180
+ content: [
181
+ '**/*.html',
182
+ '**/*.js',
183
+ '**/*.jsx',
184
+ '**/*.tsx',
185
+ '**/*.vue',
186
+ '**/*.svelte'
187
+ ],
188
+
189
+ /**
190
+ * Input CSS file to purge
191
+ *
192
+ * @type {string}
193
+ */
194
+ css: 'dist/eva.css',
195
+
196
+ /**
197
+ * Output path for purged CSS
198
+ *
199
+ * @type {string}
200
+ */
201
+ output: 'dist/eva-purged.css',
202
+
203
+ /**
204
+ * Classes/patterns to always keep (never purge)
205
+ * Supports string prefixes or regex patterns
206
+ *
207
+ * @type {(string|RegExp)[]}
208
+ */
209
+ safelist: [
210
+ 'theme-', // Keep all theme classes
211
+ 'current-', // Keep current- prefixed classes
212
+ 'toggle-theme', // Keep theme toggle
213
+ 'all-grads' // Keep gradient classes
214
+ ]
215
+ }
216
+ };
package/index.scss ADDED
@@ -0,0 +1,9 @@
1
+ // ===========================================
2
+ // EVA CSS FRAMEWORK - Package Entry Point
3
+ // ===========================================
4
+ // This file uses pkg: protocol for automatic
5
+ // node_modules resolution (Sass 1.71.0+)
6
+ // ===========================================
7
+
8
+ // Simply re-export the main source
9
+ @forward 'src/index.scss';
package/package.json CHANGED
@@ -1,23 +1,48 @@
1
1
  {
2
2
  "name": "eva-css-fluid",
3
- "version": "1.0.4",
3
+ "version": "2.0.0",
4
4
  "description": "Fluid design framework with OKLCH colors - Transform static designs into responsive fluid systems",
5
5
  "type": "module",
6
6
  "main": "src/index.scss",
7
7
  "sass": "src/index.scss",
8
8
  "style": "dist/eva.css",
9
+ "bin": {
10
+ "eva-css": "./cli.cjs"
11
+ },
9
12
  "exports": {
10
13
  ".": {
11
- "sass": "./src/index.scss",
14
+ "sass": "./index.scss",
12
15
  "style": "./dist/eva.css",
13
16
  "default": "./dist/eva.css"
14
17
  },
15
- "./src/*": "./src/*.scss"
18
+ "./src": {
19
+ "sass": "./src/index.scss",
20
+ "default": "./src/index.scss"
21
+ },
22
+ "./variables": {
23
+ "sass": "./src/variables.scss",
24
+ "default": "./src/variables.scss"
25
+ },
26
+ "./core": {
27
+ "sass": "./src/core.scss",
28
+ "default": "./src/core.scss"
29
+ },
30
+ "./colors": {
31
+ "sass": "./src/colors-only.scss",
32
+ "default": "./src/colors-only.scss"
33
+ },
34
+ "./src/*": "./src/*.scss",
35
+ "./package.json": "./package.json"
16
36
  },
17
37
  "files": [
18
38
  "src/",
19
39
  "dist/",
20
- "README.md"
40
+ "index.scss",
41
+ "cli.cjs",
42
+ "scripts/",
43
+ "eva.config.template.js",
44
+ "README.md",
45
+ "MIGRATION.md"
21
46
  ],
22
47
  "keywords": [
23
48
  "css",
@@ -32,10 +57,18 @@
32
57
  "eva"
33
58
  ],
34
59
  "scripts": {
35
- "build": "sass src/index.scss dist/eva.css --style=expanded",
36
- "build:min": "sass src/index.scss dist/eva.min.css --style=compressed",
60
+ "build": "node scripts/build-with-config.cjs",
61
+ "build:min": "node scripts/build-with-config.cjs --min",
62
+ "build:purge": "node scripts/build-with-config.cjs --purge",
63
+ "build:sass": "sass src/index.scss dist/eva.css --style=expanded",
64
+ "build:sass:min": "sass src/index.scss dist/eva.min.css --style=compressed",
37
65
  "watch": "sass --watch src/index.scss dist/eva.css",
38
- "dev": "npm run watch"
66
+ "dev": "npm run watch",
67
+ "validate:config": "node cli.cjs validate",
68
+ "generate:config": "node cli.cjs generate"
69
+ },
70
+ "dependencies": {
71
+ "eva-colors": "^2.0.0"
39
72
  },
40
73
  "devDependencies": {
41
74
  "sass": "^1.94.1"
@@ -0,0 +1,169 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Build EVA CSS with configuration file support
5
+ *
6
+ * This script:
7
+ * 1. Loads configuration from eva.config.js or package.json
8
+ * 2. Generates SCSS variables from config
9
+ * 3. Compiles SCSS to CSS
10
+ * 4. Optionally runs purge if enabled
11
+ */
12
+
13
+ const { execSync } = require('child_process');
14
+ const fs = require('fs');
15
+ const path = require('path');
16
+ const { loadConfig, generateScssConfig } = require('../src/config-loader.cjs');
17
+
18
+ const args = process.argv.slice(2);
19
+ const isMinified = args.includes('--min') || args.includes('--minify');
20
+ const isPurge = args.includes('--purge');
21
+
22
+ async function build() {
23
+ try {
24
+ console.log('🔧 EVA CSS Build Process\n');
25
+
26
+ // Step 1: Load configuration
27
+ const configResult = loadConfig({ silent: false });
28
+
29
+ let scssConfigPath = null;
30
+
31
+ let entryFile = 'src/index.scss';
32
+
33
+ if (configResult) {
34
+ // Step 2: Generate SCSS config from JSON
35
+ scssConfigPath = path.join(__dirname, '../src/_config-generated.scss');
36
+ generateScssConfig(configResult.config, scssConfigPath);
37
+ console.log(`✅ Generated SCSS configuration from ${configResult.source}\n`);
38
+
39
+ // Create a wrapper entry file that imports config first
40
+ const wrapperPath = path.join(__dirname, '../src/_build-entry.scss');
41
+
42
+ // Build the @use statement with all config variables
43
+ let useStatement = [
44
+ '// Auto-generated build entry file',
45
+ '// DO NOT EDIT - This file is temporary',
46
+ '',
47
+ '// Load generated config variables',
48
+ '@use "config-generated" as cfg;',
49
+ '',
50
+ '// Import _colors.scss with theme config',
51
+ '@use "colors" with ('
52
+ ];
53
+
54
+ // Add theme variables if theme is configured
55
+ if (configResult.config.theme) {
56
+ useStatement.push(' $theme-name: cfg.$theme-name,');
57
+ useStatement.push(' $auto-theme-switch: cfg.$auto-theme-switch,');
58
+ useStatement.push(' $theme-colors: cfg.$theme-colors,');
59
+ useStatement.push(' $light-mode-lightness: cfg.$light-mode-lightness,');
60
+ useStatement.push(' $light-mode-darkness: cfg.$light-mode-darkness,');
61
+ useStatement.push(' $dark-mode-lightness: cfg.$dark-mode-lightness,');
62
+ useStatement.push(' $dark-mode-darkness: cfg.$dark-mode-darkness');
63
+ }
64
+
65
+ useStatement.push(');');
66
+ useStatement.push('');
67
+ useStatement.push('// Import main framework with config');
68
+ useStatement.push('@use "index" with (');
69
+ useStatement.push(' $sizes: cfg.$sizes,');
70
+ useStatement.push(' $font-sizes: cfg.$font-sizes,');
71
+ useStatement.push(' $build-class: cfg.$build-class,');
72
+ useStatement.push(' $px-rem-suffix: cfg.$px-rem-suffix,');
73
+ useStatement.push(' $name-by-size: cfg.$name-by-size,');
74
+ useStatement.push(' $custom-class: cfg.$custom-class,');
75
+ useStatement.push(' $class-config: cfg.$class-config,');
76
+ useStatement.push(' $debug: cfg.$debug');
77
+ useStatement.push(');');
78
+
79
+ const wrapperContent = useStatement.join('\n');
80
+
81
+ fs.writeFileSync(wrapperPath, wrapperContent, 'utf8');
82
+ entryFile = 'src/_build-entry.scss';
83
+ } else {
84
+ console.log('ℹ️ Using SCSS variables (no config file found)\n');
85
+ }
86
+
87
+ // Step 3: Compile SCSS to CSS
88
+ const outputStyle = isMinified ? 'compressed' : 'expanded';
89
+ const outputFile = isMinified ? 'dist/eva.min.css' : 'dist/eva.css';
90
+
91
+ console.log(`📦 Compiling SCSS to ${outputFile}...`);
92
+
93
+ try {
94
+ execSync(
95
+ `sass ${entryFile} ${outputFile} --style=${outputStyle}`,
96
+ { stdio: 'inherit', cwd: path.join(__dirname, '..') }
97
+ );
98
+ console.log('✅ CSS compiled successfully\n');
99
+ } catch (error) {
100
+ console.error('❌ Failed to compile SCSS');
101
+ process.exit(1);
102
+ }
103
+
104
+ // Step 4: Run purge if enabled
105
+ if (configResult && configResult.config.purge && configResult.config.purge.enabled) {
106
+ console.log('🗜️ Purge is enabled in config, running CSS optimization...');
107
+
108
+ try {
109
+ const CSSPurger = require('../../eva-purge/src/purge.js');
110
+ const purgeConfig = {
111
+ ...configResult.config.purge,
112
+ css: outputFile,
113
+ output: configResult.config.purge.output || outputFile.replace('.css', '-purged.css')
114
+ };
115
+
116
+ const purger = new CSSPurger(purgeConfig);
117
+ await purger.purge();
118
+ } catch (error) {
119
+ console.warn('⚠️ Purge failed:', error.message);
120
+ console.warn(' Continuing without purge...\n');
121
+ }
122
+ } else if (isPurge) {
123
+ console.log('🗜️ Running manual purge (--purge flag)...');
124
+
125
+ try {
126
+ const CSSPurger = require('../../eva-purge/src/purge.js');
127
+ const purger = new CSSPurger({
128
+ css: outputFile,
129
+ output: outputFile.replace('.css', '-purged.css')
130
+ });
131
+ await purger.purge();
132
+ } catch (error) {
133
+ console.warn('⚠️ Purge failed:', error.message);
134
+ console.warn(' eva-purge package may not be installed\n');
135
+ }
136
+ }
137
+
138
+ // Step 5: Cleanup generated files
139
+ if (scssConfigPath && fs.existsSync(scssConfigPath)) {
140
+ fs.unlinkSync(scssConfigPath);
141
+ }
142
+
143
+ const wrapperPath = path.join(__dirname, '../src/_build-entry.scss');
144
+ if (fs.existsSync(wrapperPath)) {
145
+ fs.unlinkSync(wrapperPath);
146
+ }
147
+
148
+ console.log('✅ Build completed successfully!\n');
149
+
150
+ // Show file size
151
+ if (fs.existsSync(outputFile)) {
152
+ const stats = fs.statSync(outputFile);
153
+ const sizeKB = (stats.size / 1024).toFixed(2);
154
+ console.log(`📊 Output file size: ${sizeKB} KB`);
155
+ }
156
+
157
+ console.log('');
158
+
159
+ } catch (error) {
160
+ console.error(`\n❌ Build failed: ${error.message}\n`);
161
+ process.exit(1);
162
+ }
163
+ }
164
+
165
+ // Run build
166
+ build().catch(error => {
167
+ console.error('❌ Fatal error:', error);
168
+ process.exit(1);
169
+ });
package/src/_colors.scss CHANGED
@@ -3,7 +3,14 @@
3
3
  @use "sass:list";
4
4
 
5
5
  // Configuration du système de couleurs
6
+ // Ces variables peuvent être override par eva.config.cjs
6
7
  $auto-theme-switch: false !default; // true = changement automatique sur prefers-color-scheme, false = changement manuel avec .toggle-theme
8
+ $theme-name: 'eva' !default; // Nom du thème (défini par eva.config.cjs)
9
+ $theme-colors: () !default; // Couleurs du thème depuis config
10
+ $light-mode-lightness: 96.4% !default; // Lightness en mode clair
11
+ $light-mode-darkness: 6.4% !default; // Darkness en mode clair
12
+ $dark-mode-lightness: 5% !default; // Lightness en mode sombre
13
+ $dark-mode-darkness: 95% !default; // Darkness en mode sombre
7
14
 
8
15
  :root {
9
16
 
@@ -22,13 +29,13 @@ $auto-theme-switch: false !default; // true = changement automatique sur pre
22
29
  --extra-chroma: 0;
23
30
  --extra-hue: 0;
24
31
 
25
- --dark-lightness: var(--current-darkness);
26
- --dark-chroma: 0.05;
27
- --dark-hue: var(--brand-hue);
32
+ --dark-lightness: var(--current-darkness);
33
+ --dark-chroma: 0.05;
34
+ --dark-hue: var(--brand-hue);
28
35
 
29
- --light-lightness: var(--current-lightness);
30
- --light-chroma: 0.1;
31
- --light-hue: var(--brand-hue);
36
+ --light-lightness: var(--current-lightness);
37
+ --light-chroma: 0.1;
38
+ --light-hue: var(--brand-hue);
32
39
 
33
40
  --darker: -5%;
34
41
  --brighter: 10%;
@@ -105,6 +112,34 @@ $all-variations: list.join(list.join(("",), $fade-variations), $brightness-varia
105
112
 
106
113
  }
107
114
 
115
+ // Génération du thème depuis eva.config.cjs
116
+ @if list.length($theme-colors) > 0 {
117
+ .theme-#{$theme-name} {
118
+ @each $color-name, $color-values in $theme-colors {
119
+ --#{$color-name}-lightness: #{list.nth($color-values, 1)};
120
+ --#{$color-name}-chroma: #{list.nth($color-values, 2)};
121
+ --#{$color-name}-hue: #{list.nth($color-values, 3)};
122
+ }
123
+
124
+ --current-lightness: #{$light-mode-lightness};
125
+ --current-darkness: #{$light-mode-darkness};
126
+ }
127
+
128
+ @if $auto-theme-switch {
129
+ @media (prefers-color-scheme: dark) {
130
+ .theme-#{$theme-name} {
131
+ --current-lightness: #{$dark-mode-lightness};
132
+ --current-darkness: #{$dark-mode-darkness};
133
+ }
134
+ }
135
+ } @else {
136
+ .theme-#{$theme-name}.toggle-theme {
137
+ --current-lightness: #{$dark-mode-lightness};
138
+ --current-darkness: #{$dark-mode-darkness};
139
+ }
140
+ }
141
+ }
142
+
108
143
 
109
144
 
110
145
  $suffix: "_";
package/src/_config.scss CHANGED
@@ -6,6 +6,8 @@
6
6
  // ===========================================
7
7
 
8
8
  @use "sass:list";
9
+ @use "sass:map";
10
+ @use "sass:meta";
9
11
 
10
12
  // ===========================================
11
13
  // SIZE CONFIGURATION
@@ -23,6 +25,14 @@ $build-class: true !default; // Generate utility classes
23
25
  $build-color-classes: true !default; // Generate color classes
24
26
  $custom-class: false !default; // Enable custom class filtering
25
27
  $name-by-size: true !default; // Use size values in variable names
28
+ $debug: false !default; // Show class generation summary
29
+
30
+ // ===========================================
31
+ // CUSTOM CLASS CONFIGURATION
32
+ // ===========================================
33
+ // Used when $custom-class is true to filter which classes are generated
34
+ // Example: (w: (50, 100), px: (24), g: (24, 50))
35
+ $class-config: () !default;
26
36
 
27
37
  // ===========================================
28
38
  // DERIVED CONFIGURATION
@@ -68,3 +78,48 @@ $properties: (
68
78
  $font-properties: (
69
79
  fs: font-size,
70
80
  );
81
+
82
+ // ===========================================
83
+ // CONFIGURATION VALIDATION
84
+ // ===========================================
85
+
86
+ // Validate that required base sizes exist
87
+ @if not list.index($sizes, 16) {
88
+ @error "EVA CSS: Size 16 is required as a base size. Please add 16 to your $sizes configuration.";
89
+ }
90
+
91
+ // Validate that sizes list is not empty
92
+ @if list.length($sizes) == 0 {
93
+ @error "EVA CSS: $sizes cannot be empty. Please provide at least one size value.";
94
+ }
95
+
96
+ // Validate that font-sizes list is not empty
97
+ @if list.length($font-sizes) == 0 {
98
+ @error "EVA CSS: $font-sizes cannot be empty. Please provide at least one font size value.";
99
+ }
100
+
101
+ // Validate custom-class configuration
102
+ @if $custom-class and meta.type-of($class-config) != "map" {
103
+ @error "EVA CSS: When $custom-class is true, $class-config must be a map. Example: (w: (50, 100), px: (24))";
104
+ }
105
+
106
+ // Validate that class-config properties exist in $properties
107
+ @if $custom-class and list.length(map.keys($class-config)) > 0 {
108
+ @each $key in map.keys($class-config) {
109
+ @if not map.has-key($properties, $key) {
110
+ @error "EVA CSS: Unknown property '#{$key}' in $class-config. Available properties: #{map.keys($properties)}";
111
+ }
112
+
113
+ // Validate that sizes in class-config exist in $sizes
114
+ $allowed-sizes: map.get($class-config, $key);
115
+ @if meta.type-of($allowed-sizes) != "list" {
116
+ @error "EVA CSS: Value for '#{$key}' in $class-config must be a list of sizes. Example: (24, 50, 100)";
117
+ }
118
+
119
+ @each $size in $allowed-sizes {
120
+ @if not list.index($sizes, $size) {
121
+ @error "EVA CSS: Size #{$size} in $class-config for property '#{$key}' is not in $sizes list. Available sizes: #{$sizes}";
122
+ }
123
+ }
124
+ }
125
+ }