@gem-sdk/hash-class-names 12.0.0-dev.124 → 12.0.0-dev.138

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.
@@ -1 +1 @@
1
- "use strict";const cssEscape=function(t){let e;if(0==arguments.length)throw TypeError("`CSS.escape` requires an argument.");let r=String(t),c=r.length,n=-1,s="",i=r.charCodeAt(0);if(1==c&&45==i)return"\\"+r;for(;++n<c;){if(0==(e=r.charCodeAt(n))){s+="�";continue}if(e>=1&&e<=31||127==e||0==n&&e>=48&&e<=57||1==n&&e>=48&&e<=57&&45==i){s+="\\"+e.toString(16)+" ";continue}if(e>=128||45==e||95==e||e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122){s+=r.charAt(n);continue}s+="\\"+r.charAt(n)}return s};exports.cssEscape=cssEscape;
1
+ "use strict";exports.cssEscape=function(t){let e;if(0==arguments.length)throw TypeError("`CSS.escape` requires an argument.");let r=String(t),n=r.length,i=-1,c="",o=r.charCodeAt(0);if(1==n&&45==o)return"\\"+r;for(;++i<n;){if(0==(e=r.charCodeAt(i))){c+="�";continue}if(e>=1&&e<=31||127==e||0==i&&e>=48&&e<=57||1==i&&e>=48&&e<=57&&45==o){c+="\\"+e.toString(16)+" ";continue}if(e>=128||45==e||95==e||e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122){c+=r.charAt(i);continue}c+="\\"+r.charAt(i)}return c};
@@ -1 +1 @@
1
- "use strict";const cssToJson=e=>{let t,l=e,r={children:{},attributes:""},s={},n=/(@media[^{]+\)).*?{([\s\S]+?})\s*}/g;for(;null!==(t=n.exec(e));){t.index===n.lastIndex&&n.lastIndex++;let e={media:"",style:""};t.forEach((t,r)=>{0==r&&(l=l.replaceAll(t,"")),1==r&&(e.media=t),2==r&&(e.style=t)}),s[e.media]=s[e.media]||[],s[e.media]?.push(e.style)}let o=parseCSS(l);for(let e in o)if(Object.prototype.hasOwnProperty.call(o,e)){let t=o[e];r.children[e]={children:{},attributes:t}}for(let e in s)if(Object.prototype.hasOwnProperty.call(s,e)){let t=s[e];if(t?.length){let l={children:{},attributes:""},s=parseCSS(t?.join(""));for(let e in s)if(Object.prototype.hasOwnProperty.call(s,e)){let t=s[e];l.children[e]={children:{},attributes:t}}r.children[e]=l}}return r},jsonToCss=(e,t)=>{let l="";for(let t in e.children)if(Object.prototype.hasOwnProperty.call(e.children,t)){let r=e.children[t];r&&(l+=jsonToCss(r,t))}return(l||(l=e?.attributes||""),t)?`${t}{${l}}`:l},parseCSS=e=>{let t;let l={},r=/((.|\n|\r|\t)*?){((.|\n|\r|\t)*?)}/gm;for(;null!==(t=r.exec(e));){t.index===r.lastIndex&&r.lastIndex++;let e={key:"",value:""};t.forEach((t,l)=>{1==l&&(e.key=t.trim()),3==l&&(e.value=t)}),l[e.key]=e.value}return l};exports.cssToJson=cssToJson,exports.jsonToCss=jsonToCss;
1
+ "use strict";const e=(t,l)=>{let r="";for(let l in t.children)if(Object.prototype.hasOwnProperty.call(t.children,l)){let n=t.children[l];n&&(r+=e(n,l))}return(r||(r=t?.attributes||""),l)?`${l}{${r}}`:r},t=e=>{let t;let l={},r=/((.|\n|\r|\t)*?){((.|\n|\r|\t)*?)}/gm;for(;null!==(t=r.exec(e));){t.index===r.lastIndex&&r.lastIndex++;let e={key:"",value:""};t.forEach((t,l)=>{1==l&&(e.key=t.trim()),3==l&&(e.value=t)}),l[e.key]=e.value}return l};exports.cssToJson=e=>{let l,r=e,n={children:{},attributes:""},i={},s=/(@media[^{]+\)).*?{([\s\S]+?})\s*}/g;for(;null!==(l=s.exec(e));){l.index===s.lastIndex&&s.lastIndex++;let e={media:"",style:""};l.forEach((t,l)=>{0==l&&(r=r.replaceAll(t,"")),1==l&&(e.media=t),2==l&&(e.style=t)}),i[e.media]=i[e.media]||[],i[e.media]?.push(e.style)}let a=t(r);for(let e in a)if(Object.prototype.hasOwnProperty.call(a,e)){let t=a[e];n.children[e]={children:{},attributes:t}}for(let e in i)if(Object.prototype.hasOwnProperty.call(i,e)){let l=i[e];if(l?.length){let r={children:{},attributes:""},i=t(l?.join(""));for(let e in i)if(Object.prototype.hasOwnProperty.call(i,e)){let t=i[e];r.children[e]={children:{},attributes:t}}n.children[e]=r}}return n},exports.jsonToCss=e;
package/dist/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var parse5=require("parse5"),cssEscape=require("./css-escape.js"),cssParser=require("./css-parser.js");const hashClassNames=(e,l,s)=>{let t="<!-- End extra file -->",{html:a,arrayMatch:r}=replaceLiquidToBKPlaceholder(e.join(t)),i=parse5.parseFragment(a),c=i.childNodes;if(c?.length){let e={},a={},i=(e,l)=>{if(e?.length)for(let s=0;s<e.length;s++){let t=e[s];if(t){let e=t.attrs?.find(e=>"data-keep-class"==e.name)?.value;!e&&(l(t),t.childNodes?.length&&i(t.childNodes,l))}}};i(c,l=>{if(l?.attrs?.length){let t=l.attrs.find(e=>"class"==e.name);if(t?.value){let r=t.value.split(" ");if(r?.length)for(let t=0;t<r.length;t++){let i=r[t]?.trim()||"";if(i=i.replace(/bk-liquid.*?bk-liquid/g,""),i=replacePseudoClasses(i),!(s?.ignoreClasses?.includes(i)||s?.classList&&!s.classList.includes(i))&&i){let s=e[i];if(s)replaceClass(l,i,s.hash);else for(;;){let s=`a${ID()}`;if(!a[s]){a[s]=!0,e[i]={hash:s},replaceClass(l,i,s);break}}}}}}});let o="";for(let e=0;e<c.length;e++){let l=c[e];l&&(o+=parse5.serializeOuter(l))}let n=[];for(let l in e)if(Object.prototype.hasOwnProperty.call(e,l)){let s=e[l];s?.hash&&n.push({oldClass:l,newClass:s.hash})}n.sort((e,l)=>e.oldClass.includes(l.oldClass)?-1:1);let d=l;if(d){let e=cssParser.cssToJson(d),l=e=>{for(let l in e.children)if(Object.prototype.hasOwnProperty.call(e.children,l)){let t=l,a=e.children[l],r=t.split(",");for(let e=0;e<r.length;e++){let l=r[e];if(l){let t=l.split(".");for(let e=0;e<t.length;e++){let l=t[e];if(l=replacePseudoClasses(l||""),(!s?.classList||s.classList.includes(l))&&l)for(let s=0;s<n.length;s++){let a=n[s];if(a){let s=!1;if(a.oldClass==l?s=!0:cssEscape.cssEscape(a.oldClass)==l&&(s=!0),s){t[e]=replaceSelector(t[e]||"",a.oldClass,a.newClass);break}}}}r[e]=t.join(".")}}(t=r.join(","))!=l&&a&&(e.children[t]=a,delete e.children[l])}if(e.children){for(let s in e.children)if(Object.prototype.hasOwnProperty.call(e.children,s)){let t=e.children[s];t&&l(t)}}};l(e),d=cssParser.jsonToCss(e)}return o=replaceBKPlaceholderToLiquid(o,r),s?.getOrderClass?{html:o.split(t),css:d,orderClass:s?.getOrderClass?n:[]}:{html:o.split(t),css:d}}return s?.getOrderClass?{html:e,css:l,orderClass:[]}:{html:e,css:l}},ID=function(){return Math.random().toString(36).substr(2,5)},replaceClass=(e,l,s)=>{if(e.attrs?.length){let t=e.attrs.find(e=>"class"==e.name);if(t?.value){let e=t.value.split(" ");for(let t=0;t<e.length;t++){let a=e[t];if(a){let r=replacePseudoClasses(a?.replace(/bk-liquid.*?bk-liquid/g,""));if(r==l){let r=a?.replace(l,s)||a;e[t]=r}}}t.value=e.join(" ")}}},replaceSelector=(e,l,s)=>{let t=e;return(t=t.replaceAll(l,s)).replaceAll(cssEscape.cssEscape(l),cssEscape.cssEscape(s))},replacePseudoClasses=e=>(e=e?.trim(),e=e?.replace(RegExp("\\[.*?\\]","gm"),""),e=e?.replace(")",""),e=e?.replace(/:(a(ctive|ny(-link)*)|checked|d(efault|i(r\(\)|sabled))|e(mpty|nabled)|f(irst(-(child|of-type))*|ullscreen|ocus)|hover|in(determinate|valid|-range)|la(ng\(\)|(st-(child|of-type)))|l(eft|ink)|n(ot\(\)|th-((last-)*(child|of-type)\(\)))|o(nly-(child|of-type)|ptional|ut-of-range)|r(e(ad-(only|write)|quired)|ight|oot)|scope|target|v(alid|isited))/g,""),e=e?.replace(/(active|hover|focus|disabled|first|last|mobile|tablet)\\:/g,""),e=e?.replace(/(active|hover|focus|disabled|first|last|mobile|tablet):/g,"")),replaceLiquidToBKPlaceholder=e=>{let l=/\{%(.|[\n\r\t])*?%\}|\{\{(.|[\n\r\t])*?\}\}/g,s=e.match(l);if(s?.length)for(let l=0;l<s.length;l++){let t=s[l];t&&(e=e.replace(t,"bk-liquid"+l+"bk-liquid"))}return{html:e,arrayMatch:s}},replaceBKPlaceholderToLiquid=(e,l)=>{if(l?.length)for(let s=0;s<l.length;s++){let t=l[s];t&&(e=(e=(e=e.replace("bk-liquid"+s+'bk-liquid=""',t)).replace("bk-liquid"+s+"bk-liquid=''",t)).replace("bk-liquid"+s+"bk-liquid",t))}return e};exports.hashClassNames=hashClassNames;
1
+ "use strict";var e=require("parse5"),l=require("./css-escape.js"),t=require("./css-parser.js");const s=(e,l,t)=>{if(e.attrs?.length){let s=e.attrs.find(e=>"class"==e.name);if(s?.value){let e=s.value.split(" ");for(let s=0;s<e.length;s++){let i=e[s];if(i){let a=r(i?.replace(/bk-liquid.*?bk-liquid/g,""));if(a==l){let r=i?.replace(l,t)||i;e[s]=r}}}s.value=e.join(" ")}}},i=(e,t,s)=>{let i=e;return(i=i.replaceAll(t,s)).replaceAll(l.cssEscape(t),l.cssEscape(s))},r=e=>(e=e?.trim(),e=e?.replace(RegExp("\\[.*?\\]","gm"),""),e=e?.replace(")",""),e=e?.replace(/:(a(ctive|ny(-link)*)|checked|d(efault|i(r\(\)|sabled))|e(mpty|nabled)|f(irst(-(child|of-type))*|ullscreen|ocus)|hover|in(determinate|valid|-range)|la(ng\(\)|(st-(child|of-type)))|l(eft|ink)|n(ot\(\)|th-((last-)*(child|of-type)\(\)))|o(nly-(child|of-type)|ptional|ut-of-range)|r(e(ad-(only|write)|quired)|ight|oot)|scope|target|v(alid|isited))/g,""),e=e?.replace(/(active|hover|focus|disabled|first|last|mobile|tablet)\\:/g,""),e=e?.replace(/(active|hover|focus|disabled|first|last|mobile|tablet):/g,"")),a=e=>{let l=e.match(/\{%(.|[\n\r\t])*?%\}|\{\{(.|[\n\r\t])*?\}\}/g);if(l?.length)for(let t=0;t<l.length;t++){let s=l[t];s&&(e=e.replace(s,"bk-liquid"+t+"bk-liquid"))}return{html:e,arrayMatch:l}},n=(e,l)=>{if(l?.length)for(let t=0;t<l.length;t++){let s=l[t];s&&(e=(e=(e=e.replace("bk-liquid"+t+'bk-liquid=""',s)).replace("bk-liquid"+t+"bk-liquid=''",s)).replace("bk-liquid"+t+"bk-liquid",s))}return e};exports.hashClassNames=(c,d,o)=>{let h="<!-- End extra file -->",{html:f,arrayMatch:p}=a(c.join(h)),u=e.parseFragment(f),g=u.childNodes;if(g?.length){let a={},c={},f=(e,l)=>{if(e?.length)for(let t=0;t<e.length;t++){let s=e[t];if(s){let e=s.attrs?.find(e=>"data-keep-class"==e.name)?.value;!e&&(l(s),s.childNodes?.length&&f(s.childNodes,l))}}};f(g,e=>{if(e?.attrs?.length){let l=e.attrs.find(e=>"class"==e.name);if(l?.value){let t=l.value.split(" ");if(t?.length)for(let l=0;l<t.length;l++){let i=t[l]?.trim()||"";if(i=i.replace(/bk-liquid.*?bk-liquid/g,""),i=r(i),!(o?.ignoreClasses?.includes(i)||o?.classList&&!o.classList.includes(i))&&i){let l=a[i];if(l)s(e,i,l.hash);else for(;;){let l=`a${Math.random().toString(36).substr(2,5)}`;if(!c[l]){c[l]=!0,a[i]={hash:l},s(e,i,l);break}}}}}}});let u="";for(let l=0;l<g.length;l++){let t=g[l];t&&(u+=e.serializeOuter(t))}let b=[];for(let e in a)if(Object.prototype.hasOwnProperty.call(a,e)){let l=a[e];l?.hash&&b.push({oldClass:e,newClass:l.hash})}b.sort((e,l)=>e.oldClass.includes(l.oldClass)?-1:1);let k=d;if(k){let e=t.cssToJson(k),s=e=>{for(let t in e.children)if(Object.prototype.hasOwnProperty.call(e.children,t)){let s=t,a=e.children[t],n=s.split(",");for(let e=0;e<n.length;e++){let t=n[e];if(t){let s=t.split(".");for(let e=0;e<s.length;e++){let t=s[e];if(t=r(t||""),(!o?.classList||o.classList.includes(t))&&t)for(let r=0;r<b.length;r++){let a=b[r];if(a){let r=!1;if(a.oldClass==t?r=!0:l.cssEscape(a.oldClass)==t&&(r=!0),r){s[e]=i(s[e]||"",a.oldClass,a.newClass);break}}}}n[e]=s.join(".")}}(s=n.join(","))!=t&&a&&(e.children[s]=a,delete e.children[t])}if(e.children){for(let l in e.children)if(Object.prototype.hasOwnProperty.call(e.children,l)){let t=e.children[l];t&&s(t)}}};s(e),k=t.jsonToCss(e)}return u=n(u,p),o?.getOrderClass?{html:u.split(h),css:k,orderClass:o?.getOrderClass?b:[]}:{html:u.split(h),css:k}}return o?.getOrderClass?{html:c,css:d,orderClass:[]}:{html:c,css:d}};
@@ -1 +1 @@
1
- let cssEscape=function(e){let t;if(0==arguments.length)throw TypeError("`CSS.escape` requires an argument.");let r=String(e),n=r.length,c=-1,i="",o=r.charCodeAt(0);if(1==n&&45==o)return"\\"+r;for(;++c<n;){if(0==(t=r.charCodeAt(c))){i+="�";continue}if(t>=1&&t<=31||127==t||0==c&&t>=48&&t<=57||1==c&&t>=48&&t<=57&&45==o){i+="\\"+t.toString(16)+" ";continue}if(t>=128||45==t||95==t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122){i+=r.charAt(c);continue}i+="\\"+r.charAt(c)}return i};export{cssEscape};
1
+ let t=function(t){let e;if(0==arguments.length)throw TypeError("`CSS.escape` requires an argument.");let r=String(t),n=r.length,i=-1,c="",o=r.charCodeAt(0);if(1==n&&45==o)return"\\"+r;for(;++i<n;){if(0==(e=r.charCodeAt(i))){c+="�";continue}if(e>=1&&e<=31||127==e||0==i&&e>=48&&e<=57||1==i&&e>=48&&e<=57&&45==o){c+="\\"+e.toString(16)+" ";continue}if(e>=128||45==e||95==e||e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122){c+=r.charAt(i);continue}c+="\\"+r.charAt(i)}return c};export{t as cssEscape};
@@ -1 +1 @@
1
- let cssToJson=e=>{let t,l=e,r={children:{},attributes:""},n={},s=/(@media[^{]+\)).*?{([\s\S]+?})\s*}/g;for(;null!==(t=s.exec(e));){t.index===s.lastIndex&&s.lastIndex++;let e={media:"",style:""};t.forEach((t,r)=>{0==r&&(l=l.replaceAll(t,"")),1==r&&(e.media=t),2==r&&(e.style=t)}),n[e.media]=n[e.media]||[],n[e.media]?.push(e.style)}let i=parseCSS(l);for(let e in i)if(Object.prototype.hasOwnProperty.call(i,e)){let t=i[e];r.children[e]={children:{},attributes:t}}for(let e in n)if(Object.prototype.hasOwnProperty.call(n,e)){let t=n[e];if(t?.length){let l={children:{},attributes:""},n=parseCSS(t?.join(""));for(let e in n)if(Object.prototype.hasOwnProperty.call(n,e)){let t=n[e];l.children[e]={children:{},attributes:t}}r.children[e]=l}}return r},jsonToCss=(e,t)=>{let l="";for(let t in e.children)if(Object.prototype.hasOwnProperty.call(e.children,t)){let r=e.children[t];r&&(l+=jsonToCss(r,t))}return(l||(l=e?.attributes||""),t)?`${t}{${l}}`:l},parseCSS=e=>{let t;let l={},r=/((.|\n|\r|\t)*?){((.|\n|\r|\t)*?)}/gm;for(;null!==(t=r.exec(e));){t.index===r.lastIndex&&r.lastIndex++;let e={key:"",value:""};t.forEach((t,l)=>{1==l&&(e.key=t.trim()),3==l&&(e.value=t)}),l[e.key]=e.value}return l};export{cssToJson,jsonToCss};
1
+ let e=e=>{let t,r=e,n={children:{},attributes:""},i={},a=/(@media[^{]+\)).*?{([\s\S]+?})\s*}/g;for(;null!==(t=a.exec(e));){t.index===a.lastIndex&&a.lastIndex++;let e={media:"",style:""};t.forEach((t,l)=>{0==l&&(r=r.replaceAll(t,"")),1==l&&(e.media=t),2==l&&(e.style=t)}),i[e.media]=i[e.media]||[],i[e.media]?.push(e.style)}let o=l(r);for(let e in o)if(Object.prototype.hasOwnProperty.call(o,e)){let t=o[e];n.children[e]={children:{},attributes:t}}for(let e in i)if(Object.prototype.hasOwnProperty.call(i,e)){let t=i[e];if(t?.length){let r={children:{},attributes:""},i=l(t?.join(""));for(let e in i)if(Object.prototype.hasOwnProperty.call(i,e)){let t=i[e];r.children[e]={children:{},attributes:t}}n.children[e]=r}}return n},t=(e,l)=>{let r="";for(let l in e.children)if(Object.prototype.hasOwnProperty.call(e.children,l)){let n=e.children[l];n&&(r+=t(n,l))}return(r||(r=e?.attributes||""),l)?`${l}{${r}}`:r},l=e=>{let t;let l={},r=/((.|\n|\r|\t)*?){((.|\n|\r|\t)*?)}/gm;for(;null!==(t=r.exec(e));){t.index===r.lastIndex&&r.lastIndex++;let e={key:"",value:""};t.forEach((t,l)=>{1==l&&(e.key=t.trim()),3==l&&(e.value=t)}),l[e.key]=e.value}return l};export{e as cssToJson,t as jsonToCss};
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- import{parseFragment as e,serializeOuter as l}from"parse5";import{cssEscape as t}from"./css-escape.js";import{cssToJson as s,jsonToCss as i}from"./css-parser.js";let hashClassNames=(r,a,c)=>{let o="<!-- End extra file -->",{html:d,arrayMatch:n}=replaceLiquidToBKPlaceholder(r.join(o)),h=e(d),p=h.childNodes;if(p?.length){let e={},r={},d=(e,l)=>{if(e?.length)for(let t=0;t<e.length;t++){let s=e[t];if(s){let e=s.attrs?.find(e=>"data-keep-class"==e.name)?.value;!e&&(l(s),s.childNodes?.length&&d(s.childNodes,l))}}};d(p,l=>{if(l?.attrs?.length){let t=l.attrs.find(e=>"class"==e.name);if(t?.value){let s=t.value.split(" ");if(s?.length)for(let t=0;t<s.length;t++){let i=s[t]?.trim()||"";if(i=i.replace(/bk-liquid.*?bk-liquid/g,""),i=replacePseudoClasses(i),!(c?.ignoreClasses?.includes(i)||c?.classList&&!c.classList.includes(i))&&i){let t=e[i];if(t)replaceClass(l,i,t.hash);else for(;;){let t=`a${ID()}`;if(!r[t]){r[t]=!0,e[i]={hash:t},replaceClass(l,i,t);break}}}}}}});let h="";for(let e=0;e<p.length;e++){let t=p[e];t&&(h+=l(t))}let f=[];for(let l in e)if(Object.prototype.hasOwnProperty.call(e,l)){let t=e[l];t?.hash&&f.push({oldClass:l,newClass:t.hash})}f.sort((e,l)=>e.oldClass.includes(l.oldClass)?-1:1);let u=a;if(u){let e=s(u),l=e=>{for(let l in e.children)if(Object.prototype.hasOwnProperty.call(e.children,l)){let s=l,i=e.children[l],r=s.split(",");for(let e=0;e<r.length;e++){let l=r[e];if(l){let s=l.split(".");for(let e=0;e<s.length;e++){let l=s[e];if(l=replacePseudoClasses(l||""),(!c?.classList||c.classList.includes(l))&&l)for(let i=0;i<f.length;i++){let r=f[i];if(r){let i=!1;if(r.oldClass==l?i=!0:t(r.oldClass)==l&&(i=!0),i){s[e]=replaceSelector(s[e]||"",r.oldClass,r.newClass);break}}}}r[e]=s.join(".")}}(s=r.join(","))!=l&&i&&(e.children[s]=i,delete e.children[l])}if(e.children){for(let t in e.children)if(Object.prototype.hasOwnProperty.call(e.children,t)){let s=e.children[t];s&&l(s)}}};l(e),u=i(e)}return h=replaceBKPlaceholderToLiquid(h,n),c?.getOrderClass?{html:h.split(o),css:u,orderClass:c?.getOrderClass?f:[]}:{html:h.split(o),css:u}}return c?.getOrderClass?{html:r,css:a,orderClass:[]}:{html:r,css:a}},ID=function(){return Math.random().toString(36).substr(2,5)},replaceClass=(e,l,t)=>{if(e.attrs?.length){let s=e.attrs.find(e=>"class"==e.name);if(s?.value){let e=s.value.split(" ");for(let s=0;s<e.length;s++){let i=e[s];if(i){let r=replacePseudoClasses(i?.replace(/bk-liquid.*?bk-liquid/g,""));if(r==l){let r=i?.replace(l,t)||i;e[s]=r}}}s.value=e.join(" ")}}},replaceSelector=(e,l,s)=>{let i=e;return(i=i.replaceAll(l,s)).replaceAll(t(l),t(s))},replacePseudoClasses=e=>(e=e?.trim(),e=e?.replace(RegExp("\\[.*?\\]","gm"),""),e=e?.replace(")",""),e=e?.replace(/:(a(ctive|ny(-link)*)|checked|d(efault|i(r\(\)|sabled))|e(mpty|nabled)|f(irst(-(child|of-type))*|ullscreen|ocus)|hover|in(determinate|valid|-range)|la(ng\(\)|(st-(child|of-type)))|l(eft|ink)|n(ot\(\)|th-((last-)*(child|of-type)\(\)))|o(nly-(child|of-type)|ptional|ut-of-range)|r(e(ad-(only|write)|quired)|ight|oot)|scope|target|v(alid|isited))/g,""),e=e?.replace(/(active|hover|focus|disabled|first|last|mobile|tablet)\\:/g,""),e=e?.replace(/(active|hover|focus|disabled|first|last|mobile|tablet):/g,"")),replaceLiquidToBKPlaceholder=e=>{let l=/\{%(.|[\n\r\t])*?%\}|\{\{(.|[\n\r\t])*?\}\}/g,t=e.match(l);if(t?.length)for(let l=0;l<t.length;l++){let s=t[l];s&&(e=e.replace(s,"bk-liquid"+l+"bk-liquid"))}return{html:e,arrayMatch:t}},replaceBKPlaceholderToLiquid=(e,l)=>{if(l?.length)for(let t=0;t<l.length;t++){let s=l[t];s&&(e=(e=(e=e.replace("bk-liquid"+t+'bk-liquid=""',s)).replace("bk-liquid"+t+"bk-liquid=''",s)).replace("bk-liquid"+t+"bk-liquid",s))}return e};export{hashClassNames};
1
+ import{parseFragment as e,serializeOuter as l}from"parse5";import{cssEscape as t}from"./css-escape.js";import{cssToJson as i,jsonToCss as s}from"./css-parser.js";let r=(r,f,p)=>{let u="<!-- End extra file -->",{html:g,arrayMatch:b}=c(r.join(u)),m=e(g),k=m.childNodes;if(k?.length){let e={},r={},c=(e,l)=>{if(e?.length)for(let t=0;t<e.length;t++){let i=e[t];if(i){let e=i.attrs?.find(e=>"data-keep-class"==e.name)?.value;!e&&(l(i),i.childNodes?.length&&c(i.childNodes,l))}}};c(k,l=>{if(l?.attrs?.length){let t=l.attrs.find(e=>"class"==e.name);if(t?.value){let i=t.value.split(" ");if(i?.length)for(let t=0;t<i.length;t++){let s=i[t]?.trim()||"";if(s=s.replace(/bk-liquid.*?bk-liquid/g,""),s=d(s),!(p?.ignoreClasses?.includes(s)||p?.classList&&!p.classList.includes(s))&&s){let t=e[s];if(t)n(l,s,t.hash);else for(;;){let t=`a${a()}`;if(!r[t]){r[t]=!0,e[s]={hash:t},n(l,s,t);break}}}}}}});let g="";for(let e=0;e<k.length;e++){let t=k[e];t&&(g+=l(t))}let m=[];for(let l in e)if(Object.prototype.hasOwnProperty.call(e,l)){let t=e[l];t?.hash&&m.push({oldClass:l,newClass:t.hash})}m.sort((e,l)=>e.oldClass.includes(l.oldClass)?-1:1);let C=f;if(C){let e=i(C),l=e=>{for(let l in e.children)if(Object.prototype.hasOwnProperty.call(e.children,l)){let i=l,s=e.children[l],r=i.split(",");for(let e=0;e<r.length;e++){let l=r[e];if(l){let i=l.split(".");for(let e=0;e<i.length;e++){let l=i[e];if(l=d(l||""),(!p?.classList||p.classList.includes(l))&&l)for(let s=0;s<m.length;s++){let r=m[s];if(r){let s=!1;if(r.oldClass==l?s=!0:t(r.oldClass)==l&&(s=!0),s){i[e]=o(i[e]||"",r.oldClass,r.newClass);break}}}}r[e]=i.join(".")}}(i=r.join(","))!=l&&s&&(e.children[i]=s,delete e.children[l])}if(e.children){for(let t in e.children)if(Object.prototype.hasOwnProperty.call(e.children,t)){let i=e.children[t];i&&l(i)}}};l(e),C=s(e)}return g=h(g,b),p?.getOrderClass?{html:g.split(u),css:C,orderClass:p?.getOrderClass?m:[]}:{html:g.split(u),css:C}}return p?.getOrderClass?{html:r,css:f,orderClass:[]}:{html:r,css:f}},a=function(){return Math.random().toString(36).substr(2,5)},n=(e,l,t)=>{if(e.attrs?.length){let i=e.attrs.find(e=>"class"==e.name);if(i?.value){let e=i.value.split(" ");for(let i=0;i<e.length;i++){let s=e[i];if(s){let r=d(s?.replace(/bk-liquid.*?bk-liquid/g,""));if(r==l){let r=s?.replace(l,t)||s;e[i]=r}}}i.value=e.join(" ")}}},o=(e,l,i)=>{let s=e;return(s=s.replaceAll(l,i)).replaceAll(t(l),t(i))},d=e=>(e=e?.trim(),e=e?.replace(RegExp("\\[.*?\\]","gm"),""),e=e?.replace(")",""),e=e?.replace(/:(a(ctive|ny(-link)*)|checked|d(efault|i(r\(\)|sabled))|e(mpty|nabled)|f(irst(-(child|of-type))*|ullscreen|ocus)|hover|in(determinate|valid|-range)|la(ng\(\)|(st-(child|of-type)))|l(eft|ink)|n(ot\(\)|th-((last-)*(child|of-type)\(\)))|o(nly-(child|of-type)|ptional|ut-of-range)|r(e(ad-(only|write)|quired)|ight|oot)|scope|target|v(alid|isited))/g,""),e=e?.replace(/(active|hover|focus|disabled|first|last|mobile|tablet)\\:/g,""),e=e?.replace(/(active|hover|focus|disabled|first|last|mobile|tablet):/g,"")),c=e=>{let l=e.match(/\{%(.|[\n\r\t])*?%\}|\{\{(.|[\n\r\t])*?\}\}/g);if(l?.length)for(let t=0;t<l.length;t++){let i=l[t];i&&(e=e.replace(i,"bk-liquid"+t+"bk-liquid"))}return{html:e,arrayMatch:l}},h=(e,l)=>{if(l?.length)for(let t=0;t<l.length;t++){let i=l[t];i&&(e=(e=(e=e.replace("bk-liquid"+t+'bk-liquid=""',i)).replace("bk-liquid"+t+"bk-liquid=''",i)).replace("bk-liquid"+t+"bk-liquid",i))}return e};export{r as hashClassNames};
@@ -15,7 +15,8 @@ declare const hashClassNames: (html: string[], css: string, options?: {
15
15
  orderClass?: {
16
16
  oldClass: string;
17
17
  newClass: string;
18
- }[] | undefined;
18
+ }[];
19
19
  };
20
20
 
21
- export { Node, hashClassNames };
21
+ export { hashClassNames };
22
+ export type { Node };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/hash-class-names",
3
- "version": "12.0.0-dev.124",
3
+ "version": "12.0.0-dev.138",
4
4
  "license": "MIT",
5
5
  "main": "dist/cjs/index.js",
6
6
  "scripts": {