@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.
- package/dist/cjs/css-escape.js +1 -1
- package/dist/cjs/css-parser.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/esm/css-escape.js +1 -1
- package/dist/esm/css-parser.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/types/index.d.ts +3 -2
- package/package.json +1 -1
package/dist/cjs/css-escape.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
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};
|
package/dist/cjs/css-parser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const
|
|
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
|
|
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}};
|
package/dist/esm/css-escape.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let
|
|
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};
|
package/dist/esm/css-parser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let
|
|
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
|
|
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};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -15,7 +15,8 @@ declare const hashClassNames: (html: string[], css: string, options?: {
|
|
|
15
15
|
orderClass?: {
|
|
16
16
|
oldClass: string;
|
|
17
17
|
newClass: string;
|
|
18
|
-
}[]
|
|
18
|
+
}[];
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
export {
|
|
21
|
+
export { hashClassNames };
|
|
22
|
+
export type { Node };
|