@fower/parser
Advanced tools
Comparing version 1.31.0 to 1.32.0
@@ -150,5 +150,13 @@ 'use strict'; | ||
for (var _iterator = _createForOfIteratorHelperLoose(this.plugins), _step; !(_step = _iterator()).done;) { | ||
var plugin = _step.value; | ||
if (plugin.init) { | ||
plugin.init(props); | ||
} | ||
} | ||
if (props != null && props.className) { | ||
for (var _iterator = _createForOfIteratorHelperLoose(props.className.split(/\s+/)), _step; !(_step = _iterator()).done;) { | ||
var item = _step.value; | ||
for (var _iterator2 = _createForOfIteratorHelperLoose(props.className.split(/\s+/)), _step2; !(_step2 = _iterator2()).done;) { | ||
var item = _step2.value; | ||
entries.push([item, true]); | ||
@@ -235,7 +243,7 @@ } | ||
for (var _iterator2 = _createForOfIteratorHelperLoose(this.plugins), _step2; !(_step2 = _iterator2()).done;) { | ||
var plugin = _step2.value; | ||
for (var _iterator3 = _createForOfIteratorHelperLoose(this.plugins), _step3; !(_step3 = _iterator3()).done;) { | ||
var _plugin = _step3.value; | ||
if (plugin.afterAtomStyleCreate) { | ||
plugin.afterAtomStyleCreate(this); | ||
if (_plugin.afterAtomStyleCreate) { | ||
_plugin.afterAtomStyleCreate(this); | ||
} | ||
@@ -313,4 +321,4 @@ } | ||
_proto.autoDarkMode = function autoDarkMode() { | ||
for (var _iterator3 = _createForOfIteratorHelperLoose(this.atoms), _step3; !(_step3 = _iterator3()).done;) { | ||
var atom = _step3.value; | ||
for (var _iterator4 = _createForOfIteratorHelperLoose(this.atoms), _step4; !(_step4 = _iterator4()).done;) { | ||
var atom = _step4.value; | ||
var find = this.atoms.find(function (i) { | ||
@@ -478,4 +486,4 @@ return colorKeys.includes(i.type) && i.meta.mode === 'dark'; | ||
_proto.mutateAtom = function mutateAtom(atom) { | ||
for (var _iterator4 = _createForOfIteratorHelperLoose(this.plugins), _step4; !(_step4 = _iterator4()).done;) { | ||
var plugin = _step4.value; | ||
for (var _iterator5 = _createForOfIteratorHelperLoose(this.plugins), _step5; !(_step5 = _iterator5()).done;) { | ||
var plugin = _step5.value; | ||
if (!(plugin.isMatch != null && plugin.isMatch(atom.key))) continue; | ||
@@ -501,12 +509,12 @@ | ||
for (var _iterator5 = _createForOfIteratorHelperLoose(this.plugins), _step5; !(_step5 = _iterator5()).done;) { | ||
var _plugin = _step5.value; | ||
if (!(_plugin.isMatch != null && _plugin.isMatch(atom.key))) continue; | ||
for (var _iterator6 = _createForOfIteratorHelperLoose(this.plugins), _step6; !(_step6 = _iterator6()).done;) { | ||
var _plugin2 = _step6.value; | ||
if (!(_plugin2.isMatch != null && _plugin2.isMatch(atom.key))) continue; | ||
if (_plugin.beforeHandleAtom) { | ||
atom = _plugin.beforeHandleAtom(atom, this); | ||
if (_plugin2.beforeHandleAtom) { | ||
atom = _plugin2.beforeHandleAtom(atom, this); | ||
} | ||
if (_plugin.handleAtom) { | ||
atom = _plugin.handleAtom == null ? void 0 : _plugin.handleAtom(atom, this); | ||
if (_plugin2.handleAtom) { | ||
atom = _plugin2.handleAtom == null ? void 0 : _plugin2.handleAtom(atom, this); | ||
} | ||
@@ -526,7 +534,7 @@ | ||
for (var _iterator6 = _createForOfIteratorHelperLoose(parsed), _step6; !(_step6 = _iterator6()).done;) { | ||
var _step6$value = _step6.value, | ||
selector = _step6$value.selector, | ||
selectorType = _step6$value.selectorType, | ||
style = _step6$value.style; | ||
for (var _iterator7 = _createForOfIteratorHelperLoose(parsed), _step7; !(_step7 = _iterator7()).done;) { | ||
var _step7$value = _step7.value, | ||
selector = _step7$value.selector, | ||
selectorType = _step7$value.selectorType, | ||
style = _step7$value.style; | ||
var entries = Object.entries(style); | ||
@@ -582,3 +590,4 @@ if (!entries.length) continue; // entries.length is 1 | ||
_proto.makeResponsiveStyle = function makeResponsiveStyle(breakpoint, rule) { | ||
return "@media (min-width: " + breakpoint + ") {" + rule + "}"; | ||
var breakpoints = this.config.theme.breakpoints; | ||
return "@media (min-width: " + breakpoints[breakpoint] + ") {" + rule + "}"; | ||
} | ||
@@ -669,10 +678,11 @@ /** | ||
classPrefix = _this$config$mode$cla === void 0 ? '' : _this$config$mode$cla; | ||
var rules = []; // sort responsive style | ||
var rules = []; | ||
var breakpoints = this.config.theme.breakpoints; // sort responsive style | ||
this.atoms = this.atoms.sort(function (a, b) { | ||
return parseInt(b.meta.breakpoint || '0') - parseInt(a.meta.breakpoint || '0'); | ||
return parseInt(breakpoints[b.meta.breakpoint] || '0') - parseInt(breakpoints[a.meta.breakpoint] || '0'); | ||
}); | ||
var _loop = function _loop() { | ||
var atom = _step7.value; | ||
var atom = _step8.value; | ||
var rule = ''; | ||
@@ -730,9 +740,9 @@ var id = atom.id, | ||
for (var _iterator7 = _createForOfIteratorHelperLoose(this.atoms), _step7; !(_step7 = _iterator7()).done;) { | ||
for (var _iterator8 = _createForOfIteratorHelperLoose(this.atoms), _step8; !(_step8 = _iterator8()).done;) { | ||
var _ret = _loop(); | ||
if (_ret === "continue") continue; | ||
} | ||
} // console.log('this.atoms---', this.atoms) | ||
console.log('this.atoms---', this.atoms); | ||
return rules; | ||
@@ -739,0 +749,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@fower/atom"),t=require("@fower/store"),r=require("@fower/utils"),o=require("@fower/color-helper"),n=require("@fower/sheet"),i=require("@fower/css-object-processor");function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e}).apply(this,arguments)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}function u(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return a(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l=/(-columns|(^|[^e]-)padding|[^t]-spacing|l-align|rows|(^|(^border|[dkmnptx]|le|ne)-)width|^border|tom|[ek]-start|(o|[^e]-du)ration|us|(^|[^tv]-)left|(^|-)top|tance|rgin|e-offset|(er|g|n|t)-block|(^|[^tv]-)right|basis|[gnt]-inline|gap|(^|[^e]-)height|ness|(^|[^p]-)inset|[ek]-end|elay|tline|ve|dent|-rotate|n-rule|(c|ck|d|ne|t)-size)$/;function c(e){return l.test(e)}var d=["color","backgroundColor","borderColor"],f=["children","onClick","onChange","onBlur","className","placeholder"];exports.Parser=function(){function a(e){var r,o;void 0===e&&(e={}),this.props=e,this.atoms=[],this.getClassNameById=function(e){return t.store.config.prefix+e},this.traverseProps(e),null!=(r=t.store.config.mode)&&null!=(o=r.autoDarkMode)&&o.enabled&&this.autoDarkMode()}var l,p=a.prototype;return p.traverseProps=function(o){if(!r.isEmptyObj(o)){var n=this.config,i=n.pseudos,a=void 0===i?[]:i,l=n.mode.modeList,c=n.theme.breakpoints||{},d=Object.keys(c),p=l||[],m=a,h=o.excludedProps,v=void 0===h?[]:h,y=Object.entries(o);if(null!=o&&o.className)for(var b,g=u(o.className.split(/\s+/));!(b=g()).done;)y.push([b.value,!0]);for(var k=0,A=y;k<A.length;k++){var C=A[k],S=C[0],j=C[1];if(!v.includes(S)&&!f.includes(S)&&this.isValidProp(S,j))if("css"!==S){if(S.startsWith("_")){var O=S.replace(/^_/,""),w=Array.isArray(j)?j.reduce((function(e,t){var r;return s({},e,((r={})[t]=!0,r))}),{}):j;if(p.includes(O)){this.parseCSSObject(w,{mode:O});continue}if(d.includes(O)){this.parseCSSObject(w,{breakpoint:c[O]});continue}if(m.includes(O)){this.parseCSSObject(w,{pseudoPrefix:":",pseudo:O});continue}}var K=t.store.compositions.get(S);if(K){this.parseCSSObject(K,{});var P=new e.Atom({propKey:S,propValue:j});P.handled=!0,P.style={},this.addAtom(P)}else{var N=new e.Atom({propKey:S,propValue:j});try{this.mutateAtom(N),N.handled&&this.addAtom(N)}catch(e){continue}}}else this.parseCSSObject(j,{})}for(var V,x=u(this.plugins);!(V=x()).done;){var M=V.value;M.afterAtomStyleCreate&&M.afterAtomStyleCreate(this)}}},p.getAutoDarkModeAtom=function(o){var n;if(o.meta.mode)return null;if(!o.style)return null;var i=Object.entries(o.style);if(null==i||!i.length)return null;var a,u={},l=t.store.config,c=l.mode.autoDarkMode.mappings,f=l.theme.colors,p=i[0],m=p[0],h=p[1];if(!d.includes(m))return null;if(!f[h])return null;var v=(h.match(/^([a-z]+)(\d+)$/i)||[])[2];if(!1===c[h])return null;var y="color"===m,b="backgroundColor"===m,g="borderColor"===m;return f[a=c[h]?c[h]:h.replace(v,c[v])]?(y?u.propKey=a:b?u.propKey="bg"+r.upFirst(a):g&&(u.propKey="border"+r.upFirst(a)),u.propValue=!0):y?(u.propKey="color",u.propValue=a):b?(u.propKey="bg",u.propValue=a):g&&(u.propKey="borderColor",u.propValue=a),u.style=((n={})[m]=a,n),new e.Atom(s({},u,{meta:s({},o.meta,{mode:"dark"})}))},p.autoDarkMode=function(){for(var e,r=u(this.atoms);!(e=r()).done;){var o=e.value;if(!this.atoms.find((function(e){return d.includes(e.type)&&"dark"===e.meta.mode}))){var n=this.getAutoDarkModeAtom(o);if(n){var i=t.store.atomCache.get(n.id);this.addAtom(i||n)}}}},p.formatCssValue=function(e,o){if(!c(e))return o;var n;if(r.isPercentNumber(String(o)))return String(o).replace("p","%");if(!r.isNumber(o))return o;if((n=Number(o))<1&&n>0)return 100*n+"%";var i=t.store.config;return"none"!==i.unit?i.transformUnit?i.transformUnit(n):o+t.store.config.unit:n},p.styleToString=function(e,n){var i=this,s=n.important,a=n.colorPostfix;return Object.entries(e).reduce((function(e,n){var u=n[1],l=r.jsKeyToCssKey(n[0]),c=s?" !important":"",d=t.store.theme.colors;try{return e+(l+": ")+(u=a?o.formatColor((null==d?void 0:d[u])||u,a):i.formatCssValue(l,(null==d?void 0:d[u])||u))+c+";"}catch(e){return""}}),"")},p.addAtom=function(e){var r;t.store.atomCache.get(e.id)||t.store.atomCache.set(e.id,e);for(var o=n.styleSheet.getSsrAtomIds(),i=((null==(r=this.config.theme)?void 0:r.colors)||{}).modes,a=0,u=Object.entries(void 0===i?{}:i);a<u.length;a++){var l=u[a],c=l[0],d=l[1];if(e.style){var f=Object.entries(e.style);if(f.length){var p=f[0],m=p[0],h=d[p[1]];if(h){var v="--"+c,y=JSON.parse(JSON.stringify(e));y.key=e.key+v,y.id=e.id+v,y.meta=s({mode:c},e.meta),y.style[m]=h,o.includes(y.id)&&(y.inserted=!0),this.atoms.push(y)}}}}o.includes(e.id)&&(e.inserted=!0),this.atoms.push(e)},p.isValidProp=function(e,t){return"css"===e||!!e.startsWith("_")||!!Array.isArray(t)||!!["string","boolean","number","undefined"].includes(typeof t)},p.mutateAtom=function(e){for(var r,o=u(this.plugins);!(r=o()).done;){var n=r.value;null!=n.isMatch&&n.isMatch(e.key)&&n.beforeHandleAtom&&(e=n.beforeHandleAtom(e,this))}var i=t.store.atomCache.get(e.id);if(i)throw this.addAtom(i),new Error("atom is cached, add to this.atoms derectly, no need to mutate");if(e.handled)throw this.addAtom(e),new Error("atom is handled, add to this.atoms derectly ,no need to mutate");for(var s,a=u(this.plugins);!(s=a()).done;){var l=s.value;if(null!=l.isMatch&&l.isMatch(e.key)){l.beforeHandleAtom&&(e=l.beforeHandleAtom(e,this)),l.handleAtom&&(e=null==l.handleAtom?void 0:l.handleAtom(e,this)),e.handled=!0;break}}},p.parseCSSObject=function(r,o){void 0===o&&(o={});for(var n,a=u(i.parse(r));!(n=a()).done;){var l=n.value,c=l.selector,d=l.selectorType,f=l.style,p=Object.entries(f);if(p.length){var m=p[0],h={propKey:m[0],propValue:m[1],meta:s({},o)};if("pseudo"===d&&h.meta){var v=c.match(/(:+)(.+)/)||[],y=v[2];h.meta.pseudoPrefix=v[1],h.meta.pseudo=y}"child"===d&&h.meta&&(h.meta.childSelector=c);var b=new e.Atom(h);try{this.mutateAtom(b)}catch(e){continue}b.style||(b.style=f,b.handled=!0);var g=t.store.atomCache.get(b.id);this.addAtom(g||b)}}},p.makeResponsiveStyle=function(e,t){return"@media (min-width: "+e+") {"+t+"}"},p.getClassNames=function(){var e=this,t=[];this.atoms.reduce((function(r,o){if(!o.style||!Object.keys(o.style).length)return r;var n=r.findIndex((function(e){return e.styleKeysHash===o.styleKeysHash}));if(!o.isValid)return r;var i=e.getClassNameById(o.id);return-1===n?(t.push(i),r=[].concat(r,[o])):(r.splice(n,1,o),t.splice(n,1,i)),r}),[]);var r=this.props.className,o=(void 0===r?"":r).split(/\s+/).filter((function(e){return!t.includes(e)&&!!e}));return t=t.concat(o),this.hasResponsive&&t.unshift(this.uniqueClassName),t},p.toStyle=function(){var e=this;return this.atoms.reduce((function(o,n){if(!n.isValid)return o;var i=t.store.theme.colors,a=Object.entries(n.style).reduce((function(t,o){var n,a=o[0],u=o[1],l=e.formatCssValue(r.jsKeyToCssKey(a),i[u]||u);return s({},t,((n={})[a]=l,n))}),{});return s({},o,a)}),{})},p.toRules=function(e){var t=this;void 0===e&&(e=!1);var o=this.config.mode.classPrefix,n=void 0===o?"":o,i=[];this.atoms=this.atoms.sort((function(e,t){return parseInt(t.meta.breakpoint||"0")-parseInt(e.meta.breakpoint||"0")}));for(var s,a=function(){var o=s.value,a="",u=o.id,l=o.style,c=void 0===l?{}:l,d=o.meta;if(!o.isValid)return"continue";if(r.isEmptyObj(c))return"continue";var f=d.pseudo,p=d.pseudoPrefix,m=d.mode,h=d.breakpoint,v=void 0===h?"":h,y=d.childSelector,b=d.parentClass,g=!!t.atoms.find((function(e){return e.styleKeys===o.styleKeys&&(o.meta.breakpoint||e.meta.breakpoint)})),k=g||o.meta.breakpoint?"."+t.uniqueClassName:"";if(!e&&!g&&o.inserted)return"continue";o.inserted=!0;var A=t.getClassNameById(u),C=d.global?d.global:k+"."+A;if(m&&(C="."+n+m+" "+C),y&&(C=C+" "+y),f){var S=p+f;b?C="."+b+S+" "+C:C+=S}a=C+" { "+t.styleToString(c,o.meta)+" }",v&&(a=t.makeResponsiveStyle(v,a)),i.push(a)},l=u(this.atoms);!(s=l()).done;)a();return console.log("this.atoms---",this.atoms),i},p.getParsedProps=function(){var e=this.props,t=this.atoms;return r.isEmptyObj(e)?{}:Object.entries(e).reduce((function(e,r){var o=r[0],n=r[1];return/.*--(\d+)?[a-z]+$/i.test(o)||t.find((function(e){return[e.propKey,e.key,"css"].includes(o)}))||(e[o]=n),e}),{})},p.insertRule=function(){var e=this.toRules();n.styleSheet.insertStyles(e)},(l=[{key:"uniqueClassName",get:function(){return r.objectToClassName(Object.keys(this.props))}},{key:"hasResponsive",get:function(){return!!this.atoms.find((function(e){return!!e.meta.breakpoint}))}},{key:"config",get:function(){return t.store.config}},{key:"plugins",get:function(){return t.store.config.plugins}}])&&function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(a.prototype,l),a}(),exports.isUnitProp=c; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@fower/atom"),t=require("@fower/store"),r=require("@fower/utils"),o=require("@fower/color-helper"),n=require("@fower/sheet"),i=require("@fower/css-object-processor");function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e}).apply(this,arguments)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}function u(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return a(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l=/(-columns|(^|[^e]-)padding|[^t]-spacing|l-align|rows|(^|(^border|[dkmnptx]|le|ne)-)width|^border|tom|[ek]-start|(o|[^e]-du)ration|us|(^|[^tv]-)left|(^|-)top|tance|rgin|e-offset|(er|g|n|t)-block|(^|[^tv]-)right|basis|[gnt]-inline|gap|(^|[^e]-)height|ness|(^|[^p]-)inset|[ek]-end|elay|tline|ve|dent|-rotate|n-rule|(c|ck|d|ne|t)-size)$/;function c(e){return l.test(e)}var d=["color","backgroundColor","borderColor"],f=["children","onClick","onChange","onBlur","className","placeholder"];exports.Parser=function(){function a(e){var r,o;void 0===e&&(e={}),this.props=e,this.atoms=[],this.getClassNameById=function(e){return t.store.config.prefix+e},this.traverseProps(e),null!=(r=t.store.config.mode)&&null!=(o=r.autoDarkMode)&&o.enabled&&this.autoDarkMode()}var l,p=a.prototype;return p.traverseProps=function(o){if(!r.isEmptyObj(o)){for(var n,i=this.config,a=i.pseudos,l=void 0===a?[]:a,c=i.mode.modeList,d=i.theme.breakpoints||{},p=Object.keys(d),m=c||[],h=l,v=o.excludedProps,y=void 0===v?[]:v,b=Object.entries(o),g=u(this.plugins);!(n=g()).done;){var k=n.value;k.init&&k.init(o)}if(null!=o&&o.className)for(var A,C=u(o.className.split(/\s+/));!(A=C()).done;)b.push([A.value,!0]);for(var S=0,j=b;S<j.length;S++){var O=j[S],w=O[0],K=O[1];if(!y.includes(w)&&!f.includes(w)&&this.isValidProp(w,K))if("css"!==w){if(w.startsWith("_")){var P=w.replace(/^_/,""),N=Array.isArray(K)?K.reduce((function(e,t){var r;return s({},e,((r={})[t]=!0,r))}),{}):K;if(m.includes(P)){this.parseCSSObject(N,{mode:P});continue}if(p.includes(P)){this.parseCSSObject(N,{breakpoint:d[P]});continue}if(h.includes(P)){this.parseCSSObject(N,{pseudoPrefix:":",pseudo:P});continue}}var V=t.store.compositions.get(w);if(V){this.parseCSSObject(V,{});var x=new e.Atom({propKey:w,propValue:K});x.handled=!0,x.style={},this.addAtom(x)}else{var M=new e.Atom({propKey:w,propValue:K});try{this.mutateAtom(M),M.handled&&this.addAtom(M)}catch(e){continue}}}else this.parseCSSObject(K,{})}for(var I,q=u(this.plugins);!(I=q()).done;){var R=I.value;R.afterAtomStyleCreate&&R.afterAtomStyleCreate(this)}}},p.getAutoDarkModeAtom=function(o){var n;if(o.meta.mode)return null;if(!o.style)return null;var i=Object.entries(o.style);if(null==i||!i.length)return null;var a,u={},l=t.store.config,c=l.mode.autoDarkMode.mappings,f=l.theme.colors,p=i[0],m=p[0],h=p[1];if(!d.includes(m))return null;if(!f[h])return null;var v=(h.match(/^([a-z]+)(\d+)$/i)||[])[2];if(!1===c[h])return null;var y="color"===m,b="backgroundColor"===m,g="borderColor"===m;return f[a=c[h]?c[h]:h.replace(v,c[v])]?(y?u.propKey=a:b?u.propKey="bg"+r.upFirst(a):g&&(u.propKey="border"+r.upFirst(a)),u.propValue=!0):y?(u.propKey="color",u.propValue=a):b?(u.propKey="bg",u.propValue=a):g&&(u.propKey="borderColor",u.propValue=a),u.style=((n={})[m]=a,n),new e.Atom(s({},u,{meta:s({},o.meta,{mode:"dark"})}))},p.autoDarkMode=function(){for(var e,r=u(this.atoms);!(e=r()).done;){var o=e.value;if(!this.atoms.find((function(e){return d.includes(e.type)&&"dark"===e.meta.mode}))){var n=this.getAutoDarkModeAtom(o);if(n){var i=t.store.atomCache.get(n.id);this.addAtom(i||n)}}}},p.formatCssValue=function(e,o){if(!c(e))return o;var n;if(r.isPercentNumber(String(o)))return String(o).replace("p","%");if(!r.isNumber(o))return o;if((n=Number(o))<1&&n>0)return 100*n+"%";var i=t.store.config;return"none"!==i.unit?i.transformUnit?i.transformUnit(n):o+t.store.config.unit:n},p.styleToString=function(e,n){var i=this,s=n.important,a=n.colorPostfix;return Object.entries(e).reduce((function(e,n){var u=n[1],l=r.jsKeyToCssKey(n[0]),c=s?" !important":"",d=t.store.theme.colors;try{return e+(l+": ")+(u=a?o.formatColor((null==d?void 0:d[u])||u,a):i.formatCssValue(l,(null==d?void 0:d[u])||u))+c+";"}catch(e){return""}}),"")},p.addAtom=function(e){var r;t.store.atomCache.get(e.id)||t.store.atomCache.set(e.id,e);for(var o=n.styleSheet.getSsrAtomIds(),i=((null==(r=this.config.theme)?void 0:r.colors)||{}).modes,a=0,u=Object.entries(void 0===i?{}:i);a<u.length;a++){var l=u[a],c=l[0],d=l[1];if(e.style){var f=Object.entries(e.style);if(f.length){var p=f[0],m=p[0],h=d[p[1]];if(h){var v="--"+c,y=JSON.parse(JSON.stringify(e));y.key=e.key+v,y.id=e.id+v,y.meta=s({mode:c},e.meta),y.style[m]=h,o.includes(y.id)&&(y.inserted=!0),this.atoms.push(y)}}}}o.includes(e.id)&&(e.inserted=!0),this.atoms.push(e)},p.isValidProp=function(e,t){return"css"===e||!!e.startsWith("_")||!!Array.isArray(t)||!!["string","boolean","number","undefined"].includes(typeof t)},p.mutateAtom=function(e){for(var r,o=u(this.plugins);!(r=o()).done;){var n=r.value;null!=n.isMatch&&n.isMatch(e.key)&&n.beforeHandleAtom&&(e=n.beforeHandleAtom(e,this))}var i=t.store.atomCache.get(e.id);if(i)throw this.addAtom(i),new Error("atom is cached, add to this.atoms derectly, no need to mutate");if(e.handled)throw this.addAtom(e),new Error("atom is handled, add to this.atoms derectly ,no need to mutate");for(var s,a=u(this.plugins);!(s=a()).done;){var l=s.value;if(null!=l.isMatch&&l.isMatch(e.key)){l.beforeHandleAtom&&(e=l.beforeHandleAtom(e,this)),l.handleAtom&&(e=null==l.handleAtom?void 0:l.handleAtom(e,this)),e.handled=!0;break}}},p.parseCSSObject=function(r,o){void 0===o&&(o={});for(var n,a=u(i.parse(r));!(n=a()).done;){var l=n.value,c=l.selector,d=l.selectorType,f=l.style,p=Object.entries(f);if(p.length){var m=p[0],h={propKey:m[0],propValue:m[1],meta:s({},o)};if("pseudo"===d&&h.meta){var v=c.match(/(:+)(.+)/)||[],y=v[2];h.meta.pseudoPrefix=v[1],h.meta.pseudo=y}"child"===d&&h.meta&&(h.meta.childSelector=c);var b=new e.Atom(h);try{this.mutateAtom(b)}catch(e){continue}b.style||(b.style=f,b.handled=!0);var g=t.store.atomCache.get(b.id);this.addAtom(g||b)}}},p.makeResponsiveStyle=function(e,t){return"@media (min-width: "+this.config.theme.breakpoints[e]+") {"+t+"}"},p.getClassNames=function(){var e=this,t=[];this.atoms.reduce((function(r,o){if(!o.style||!Object.keys(o.style).length)return r;var n=r.findIndex((function(e){return e.styleKeysHash===o.styleKeysHash}));if(!o.isValid)return r;var i=e.getClassNameById(o.id);return-1===n?(t.push(i),r=[].concat(r,[o])):(r.splice(n,1,o),t.splice(n,1,i)),r}),[]);var r=this.props.className,o=(void 0===r?"":r).split(/\s+/).filter((function(e){return!t.includes(e)&&!!e}));return t=t.concat(o),this.hasResponsive&&t.unshift(this.uniqueClassName),t},p.toStyle=function(){var e=this;return this.atoms.reduce((function(o,n){if(!n.isValid)return o;var i=t.store.theme.colors,a=Object.entries(n.style).reduce((function(t,o){var n,a=o[0],u=o[1],l=e.formatCssValue(r.jsKeyToCssKey(a),i[u]||u);return s({},t,((n={})[a]=l,n))}),{});return s({},o,a)}),{})},p.toRules=function(e){var t=this;void 0===e&&(e=!1);var o=this.config.mode.classPrefix,n=void 0===o?"":o,i=[],s=this.config.theme.breakpoints;this.atoms=this.atoms.sort((function(e,t){return parseInt(s[t.meta.breakpoint]||"0")-parseInt(s[e.meta.breakpoint]||"0")}));for(var a,l=function(){var o=a.value,s="",u=o.id,l=o.style,c=void 0===l?{}:l,d=o.meta;if(!o.isValid)return"continue";if(r.isEmptyObj(c))return"continue";var f=d.pseudo,p=d.pseudoPrefix,m=d.mode,h=d.breakpoint,v=void 0===h?"":h,y=d.childSelector,b=d.parentClass,g=!!t.atoms.find((function(e){return e.styleKeys===o.styleKeys&&(o.meta.breakpoint||e.meta.breakpoint)})),k=g||o.meta.breakpoint?"."+t.uniqueClassName:"";if(!e&&!g&&o.inserted)return"continue";o.inserted=!0;var A=t.getClassNameById(u),C=d.global?d.global:k+"."+A;if(m&&(C="."+n+m+" "+C),y&&(C=C+" "+y),f){var S=p+f;b?C="."+b+S+" "+C:C+=S}s=C+" { "+t.styleToString(c,o.meta)+" }",v&&(s=t.makeResponsiveStyle(v,s)),i.push(s)},c=u(this.atoms);!(a=c()).done;)l();return i},p.getParsedProps=function(){var e=this.props,t=this.atoms;return r.isEmptyObj(e)?{}:Object.entries(e).reduce((function(e,r){var o=r[0],n=r[1];return/.*--(\d+)?[a-z]+$/i.test(o)||t.find((function(e){return[e.propKey,e.key,"css"].includes(o)}))||(e[o]=n),e}),{})},p.insertRule=function(){var e=this.toRules();n.styleSheet.insertStyles(e)},(l=[{key:"uniqueClassName",get:function(){return r.objectToClassName(Object.keys(this.props))}},{key:"hasResponsive",get:function(){return!!this.atoms.find((function(e){return!!e.meta.breakpoint}))}},{key:"config",get:function(){return t.store.config}},{key:"plugins",get:function(){return t.store.config.plugins}}])&&function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}(a.prototype,l),a}(),exports.isUnitProp=c; | ||
//# sourceMappingURL=parser.cjs.production.min.js.map |
@@ -146,5 +146,13 @@ import { Atom } from '@fower/atom'; | ||
for (var _iterator = _createForOfIteratorHelperLoose(this.plugins), _step; !(_step = _iterator()).done;) { | ||
var plugin = _step.value; | ||
if (plugin.init) { | ||
plugin.init(props); | ||
} | ||
} | ||
if (props != null && props.className) { | ||
for (var _iterator = _createForOfIteratorHelperLoose(props.className.split(/\s+/)), _step; !(_step = _iterator()).done;) { | ||
var item = _step.value; | ||
for (var _iterator2 = _createForOfIteratorHelperLoose(props.className.split(/\s+/)), _step2; !(_step2 = _iterator2()).done;) { | ||
var item = _step2.value; | ||
entries.push([item, true]); | ||
@@ -231,7 +239,7 @@ } | ||
for (var _iterator2 = _createForOfIteratorHelperLoose(this.plugins), _step2; !(_step2 = _iterator2()).done;) { | ||
var plugin = _step2.value; | ||
for (var _iterator3 = _createForOfIteratorHelperLoose(this.plugins), _step3; !(_step3 = _iterator3()).done;) { | ||
var _plugin = _step3.value; | ||
if (plugin.afterAtomStyleCreate) { | ||
plugin.afterAtomStyleCreate(this); | ||
if (_plugin.afterAtomStyleCreate) { | ||
_plugin.afterAtomStyleCreate(this); | ||
} | ||
@@ -309,4 +317,4 @@ } | ||
_proto.autoDarkMode = function autoDarkMode() { | ||
for (var _iterator3 = _createForOfIteratorHelperLoose(this.atoms), _step3; !(_step3 = _iterator3()).done;) { | ||
var atom = _step3.value; | ||
for (var _iterator4 = _createForOfIteratorHelperLoose(this.atoms), _step4; !(_step4 = _iterator4()).done;) { | ||
var atom = _step4.value; | ||
var find = this.atoms.find(function (i) { | ||
@@ -474,4 +482,4 @@ return colorKeys.includes(i.type) && i.meta.mode === 'dark'; | ||
_proto.mutateAtom = function mutateAtom(atom) { | ||
for (var _iterator4 = _createForOfIteratorHelperLoose(this.plugins), _step4; !(_step4 = _iterator4()).done;) { | ||
var plugin = _step4.value; | ||
for (var _iterator5 = _createForOfIteratorHelperLoose(this.plugins), _step5; !(_step5 = _iterator5()).done;) { | ||
var plugin = _step5.value; | ||
if (!(plugin.isMatch != null && plugin.isMatch(atom.key))) continue; | ||
@@ -497,12 +505,12 @@ | ||
for (var _iterator5 = _createForOfIteratorHelperLoose(this.plugins), _step5; !(_step5 = _iterator5()).done;) { | ||
var _plugin = _step5.value; | ||
if (!(_plugin.isMatch != null && _plugin.isMatch(atom.key))) continue; | ||
for (var _iterator6 = _createForOfIteratorHelperLoose(this.plugins), _step6; !(_step6 = _iterator6()).done;) { | ||
var _plugin2 = _step6.value; | ||
if (!(_plugin2.isMatch != null && _plugin2.isMatch(atom.key))) continue; | ||
if (_plugin.beforeHandleAtom) { | ||
atom = _plugin.beforeHandleAtom(atom, this); | ||
if (_plugin2.beforeHandleAtom) { | ||
atom = _plugin2.beforeHandleAtom(atom, this); | ||
} | ||
if (_plugin.handleAtom) { | ||
atom = _plugin.handleAtom == null ? void 0 : _plugin.handleAtom(atom, this); | ||
if (_plugin2.handleAtom) { | ||
atom = _plugin2.handleAtom == null ? void 0 : _plugin2.handleAtom(atom, this); | ||
} | ||
@@ -522,7 +530,7 @@ | ||
for (var _iterator6 = _createForOfIteratorHelperLoose(parsed), _step6; !(_step6 = _iterator6()).done;) { | ||
var _step6$value = _step6.value, | ||
selector = _step6$value.selector, | ||
selectorType = _step6$value.selectorType, | ||
style = _step6$value.style; | ||
for (var _iterator7 = _createForOfIteratorHelperLoose(parsed), _step7; !(_step7 = _iterator7()).done;) { | ||
var _step7$value = _step7.value, | ||
selector = _step7$value.selector, | ||
selectorType = _step7$value.selectorType, | ||
style = _step7$value.style; | ||
var entries = Object.entries(style); | ||
@@ -578,3 +586,4 @@ if (!entries.length) continue; // entries.length is 1 | ||
_proto.makeResponsiveStyle = function makeResponsiveStyle(breakpoint, rule) { | ||
return "@media (min-width: " + breakpoint + ") {" + rule + "}"; | ||
var breakpoints = this.config.theme.breakpoints; | ||
return "@media (min-width: " + breakpoints[breakpoint] + ") {" + rule + "}"; | ||
} | ||
@@ -665,10 +674,11 @@ /** | ||
classPrefix = _this$config$mode$cla === void 0 ? '' : _this$config$mode$cla; | ||
var rules = []; // sort responsive style | ||
var rules = []; | ||
var breakpoints = this.config.theme.breakpoints; // sort responsive style | ||
this.atoms = this.atoms.sort(function (a, b) { | ||
return parseInt(b.meta.breakpoint || '0') - parseInt(a.meta.breakpoint || '0'); | ||
return parseInt(breakpoints[b.meta.breakpoint] || '0') - parseInt(breakpoints[a.meta.breakpoint] || '0'); | ||
}); | ||
var _loop = function _loop() { | ||
var atom = _step7.value; | ||
var atom = _step8.value; | ||
var rule = ''; | ||
@@ -726,9 +736,9 @@ var id = atom.id, | ||
for (var _iterator7 = _createForOfIteratorHelperLoose(this.atoms), _step7; !(_step7 = _iterator7()).done;) { | ||
for (var _iterator8 = _createForOfIteratorHelperLoose(this.atoms), _step8; !(_step8 = _iterator8()).done;) { | ||
var _ret = _loop(); | ||
if (_ret === "continue") continue; | ||
} | ||
} // console.log('this.atoms---', this.atoms) | ||
console.log('this.atoms---', this.atoms); | ||
return rules; | ||
@@ -735,0 +745,0 @@ }; |
{ | ||
"name": "@fower/parser", | ||
"version": "1.31.0", | ||
"version": "1.32.0", | ||
"license": "MIT", | ||
@@ -24,10 +24,10 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"@fower/atom": "^1.31.0", | ||
"@fower/css-object-processor": "^1.31.0", | ||
"@fower/sheet": "^1.31.0", | ||
"@fower/store": "^1.31.0", | ||
"@fower/types": "^1.31.0", | ||
"@fower/utils": "^1.31.0" | ||
"@fower/atom": "^1.32.0", | ||
"@fower/css-object-processor": "^1.32.0", | ||
"@fower/sheet": "^1.32.0", | ||
"@fower/store": "^1.32.0", | ||
"@fower/types": "^1.32.0", | ||
"@fower/utils": "^1.32.0" | ||
}, | ||
"gitHead": "4031b8cbff3b4a419d2129a389a92036183c9a1e" | ||
"gitHead": "7d3be0bbe70399e3946db2e76b1c03595a3b84e1" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
164331
1432
Updated@fower/atom@^1.32.0
Updated@fower/sheet@^1.32.0
Updated@fower/store@^1.32.0
Updated@fower/types@^1.32.0
Updated@fower/utils@^1.32.0