New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@glitz/core

Package Overview
Dependencies
Maintainers
1
Versions
71
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@glitz/core - npm Package Compare versions

Comparing version 3.0.0-alpha.8 to 3.0.0-alpha.9

181

cjs/index.development.js

@@ -536,9 +536,9 @@ 'use strict';

function createHashCounter(prefix) {
function createHashCounter(prefix, count, offset, msb, power) {
if (prefix === void 0) { prefix = ''; }
var count = 0;
var offset = 10;
var msb = 35;
var power = 1;
var increment = function () {
if (count === void 0) { count = 0; }
if (offset === void 0) { offset = 10; }
if (msb === void 0) { msb = 35; }
if (power === void 0) { power = 1; }
function increment() {
var virtualCount = count + offset;

@@ -555,9 +555,6 @@ if (virtualCount === msb) {

return prefix + virtualCount.toString(36);
};
}
return Object.assign(increment, {
reset: function () {
count = 0;
offset = 10;
msb = 35;
power = 1;
clone: function () {
return createHashCounter(prefix, count, offset, msb, power);
},

@@ -698,4 +695,4 @@ });

var prefix = options.prefix;
var incrementClassNameHash = createHashCounter(prefix);
var incrementKeyframesHash = createHashCounter(prefix);
var classNameHash = createHashCounter(prefix);
var keyframesHash = createHashCounter(prefix);
var mediaOrderOption = options.mediaOrder;

@@ -720,3 +717,3 @@ var mediaSheets = {};

insertStyleElement(element, insertBefore);
return (mediaInjectors[media] = new InjectorClient(element, incrementClassNameHash, incrementKeyframesHash));
return (mediaInjectors[media] = new InjectorClient(element, classNameHash, keyframesHash));
}

@@ -728,3 +725,3 @@ else {

var element = insertStyleElement(createStyleElement(media, identifier), initialMediaSheet);
return (plain = new InjectorClient(element, incrementClassNameHash, incrementKeyframesHash));
return (plain = new InjectorClient(element, classNameHash, keyframesHash));
}

@@ -747,6 +744,6 @@ };

mediaSheets[media] = element;
injector = mediaInjectors[media] = new InjectorClient(element, incrementClassNameHash, incrementKeyframesHash);
injector = mediaInjectors[media] = new InjectorClient(element, classNameHash, keyframesHash);
}
else {
injector = plain = new InjectorClient(element, incrementClassNameHash, incrementKeyframesHash);
injector = plain = new InjectorClient(element, classNameHash, keyframesHash);
}

@@ -785,13 +782,13 @@ hydrate(element.textContent, injector);

__extends(InjectorServer, _super);
function InjectorServer(classNameHash, keyframesHash) {
function InjectorServer(classNameHash, keyframesHash, postInjection, plainFullIndex, selectorFullIndex, keyframesFullIndex, fontFaceFullIndex, plainHydrationIndex, selectorHydrationIndex, keyframesHydrationIndex, fontFaceHydrationIndex) {
if (postInjection === void 0) { postInjection = false; }
if (plainFullIndex === void 0) { plainFullIndex = {}; }
if (selectorFullIndex === void 0) { selectorFullIndex = {}; }
if (keyframesFullIndex === void 0) { keyframesFullIndex = {}; }
if (fontFaceFullIndex === void 0) { fontFaceFullIndex = []; }
if (plainHydrationIndex === void 0) { plainHydrationIndex = {}; }
if (selectorHydrationIndex === void 0) { selectorHydrationIndex = {}; }
if (keyframesHydrationIndex === void 0) { keyframesHydrationIndex = {}; }
if (fontFaceHydrationIndex === void 0) { fontFaceHydrationIndex = []; }
var _this = this;
var plainFullIndex = {};
var selectorFullIndex = {};
var keyframesFullIndex = {};
var fontFaceFullIndex = [];
var plainHydrationIndex = {};
var selectorHydrationIndex = {};
var keyframesHydrationIndex = {};
var fontFaceHydrationIndex = [];
var forbidHydration = false;
var plainResultIndex = {};

@@ -807,3 +804,3 @@ var selectorResultIndex = {};

var _a, _b, _c;
forbidHydration = true;
postInjection = true;
var full = selector ? (selectorFullIndex[selector] = (_a = selectorFullIndex[selector]) !== null && _a !== void 0 ? _a : {}) : plainFullIndex;

@@ -823,3 +820,3 @@ if (full[block]) {

}, function (blockList) {
forbidHydration = true;
postInjection = true;
if (keyframesFullIndex[blockList]) {

@@ -832,3 +829,3 @@ return keyframesFullIndex[blockList];

}, function (block) {
forbidHydration = true;
postInjection = true;
if (fontFaceFullIndex.indexOf(block) === -1) {

@@ -886,10 +883,13 @@ fontFaceFullIndex.push(block);

};
function allowHydrationCheck() {
if (forbidHydration) {
throw new Error('Hydration is prohibited after injections');
}
function createPreActionCheck(action) {
return function () {
if (postInjection) {
throw new Error(action + " is prohibited after injections");
}
};
}
var preHydrationCheck = createPreActionCheck('Hydration');
_this.hydrateClassName = function (body, className, suffix) {
var _a, _b;
allowHydrationCheck();
preHydrationCheck();
classNameHash();

@@ -903,3 +903,3 @@ var full = suffix ? (selectorFullIndex[suffix] = (_a = selectorFullIndex[suffix]) !== null && _a !== void 0 ? _a : {}) : plainFullIndex;

_this.hydrateKeyframes = function (body, name) {
allowHydrationCheck();
preHydrationCheck();
keyframesHash();

@@ -910,45 +910,10 @@ keyframesFullIndex[body] = name;

_this.hydrateFontFace = function (body) {
allowHydrationCheck();
preHydrationCheck();
fontFaceFullIndex.push(body);
fontFaceHydrationIndex.push(body);
};
_this.reset = function () {
var _a;
plainFullIndex = {};
selectorFullIndex = {};
keyframesFullIndex = {};
fontFaceFullIndex = [];
plainResultIndex = {};
selectorResultIndex = {};
keyframesResultIndex = {};
fontFaceResultIndex = [];
plainStreamIndex = {};
selectorStreamIndex = {};
keyframesStreamIndex = {};
fontFaceStreamIndex = [];
var shouldDelete = true;
for (var body in plainHydrationIndex) {
shouldDelete = false;
classNameHash();
plainFullIndex[body] = plainHydrationIndex[body];
}
for (var selector in selectorHydrationIndex) {
for (var body in selectorHydrationIndex[selector]) {
shouldDelete = false;
classNameHash();
var index = (selectorFullIndex[selector] = (_a = selectorFullIndex[selector]) !== null && _a !== void 0 ? _a : {});
index[body] = selectorHydrationIndex[selector][body];
}
}
for (var body in keyframesHydrationIndex) {
shouldDelete = false;
keyframesHash();
keyframesFullIndex[body] = keyframesHydrationIndex[body];
}
for (var _i = 0, fontFaceHydrationIndex_1 = fontFaceHydrationIndex; _i < fontFaceHydrationIndex_1.length; _i++) {
var body = fontFaceHydrationIndex_1[_i];
shouldDelete = false;
fontFaceFullIndex.push(body);
}
return shouldDelete;
var preCloningCheck = createPreActionCheck('Cloning');
_this.clone = function (classNameHashClone, keyframesHashClone) {
preCloningCheck();
return new InjectorServer(classNameHashClone, keyframesHashClone, postInjection, clone(plainHydrationIndex), clone(selectorHydrationIndex), clone(keyframesHydrationIndex), fontFaceHydrationIndex.slice(0), clone(plainHydrationIndex), clone(selectorHydrationIndex), clone(keyframesHydrationIndex), fontFaceHydrationIndex.slice(0));
};

@@ -959,17 +924,26 @@ return _this;

}(Injector));
function clone(index) {
var copy = {};
for (var key in index) {
var value = index[key];
if (typeof value === 'string') {
copy[key] = value;
}
else {
copy[key] = clone(value);
}
}
return copy;
}
var GlitzServer = /** @class */ (function () {
function GlitzServer(options) {
var _this = this;
function GlitzServer(options, classNameHash, keyframesHash, plainInjector, mediaInjectors) {
if (options === void 0) { options = {}; }
var prefix = options.prefix;
var incrementClassNameHash = createHashCounter(prefix);
var incrementKeyframesHash = createHashCounter(prefix);
var plain;
var mediaInjectors = {};
if (classNameHash === void 0) { classNameHash = createHashCounter(options.prefix); }
if (keyframesHash === void 0) { keyframesHash = createHashCounter(options.prefix); }
if (mediaInjectors === void 0) { mediaInjectors = {}; }
var getInjector = function (media) {
return media
? (mediaInjectors[media] =
mediaInjectors[media] || new InjectorServer(incrementClassNameHash, incrementKeyframesHash))
: (plain = plain || new InjectorServer(incrementClassNameHash, incrementKeyframesHash));
? (mediaInjectors[media] = mediaInjectors[media] || new InjectorServer(classNameHash, keyframesHash))
: (plainInjector = plainInjector || new InjectorServer(classNameHash, keyframesHash));
};

@@ -981,4 +955,4 @@ this.injectStyle = createInjectStyle(getInjector, options.transformer);

var markup = '';
if (plain) {
markup += "<style data-" + identifier + ">" + plain.getStyleResult() + "</style>";
if (plainInjector) {
markup += "<style data-" + identifier + ">" + plainInjector.getStyleResult() + "</style>";
}

@@ -997,4 +971,4 @@ var medias = options.mediaOrder

var css = '';
if (plain) {
css += plain.getStyleStream();
if (plainInjector) {
css += plainInjector.getStyleStream();
}

@@ -1013,15 +987,10 @@ var medias = options.mediaOrder

};
this.reset = function (preserveHydration) {
if (preserveHydration === void 0) { preserveHydration = true; }
_this.injectStyle = createInjectStyle(getInjector, options.transformer);
incrementClassNameHash.reset();
incrementKeyframesHash.reset();
if (!preserveHydration || (plain && plain.reset())) {
plain = undefined;
}
this.clone = function () {
var classNameHashClone = classNameHash.clone();
var keyframesHashClone = keyframesHash.clone();
var mediaInjectorsClone = {};
for (var media in mediaInjectors) {
if (!preserveHydration || mediaInjectors[media].reset()) {
delete mediaInjectors[media];
}
mediaInjectorsClone[media] = mediaInjectors[media].clone(classNameHashClone, keyframesHashClone);
}
return new GlitzServer(options, classNameHashClone, keyframesHashClone, plainInjector === null || plainInjector === void 0 ? void 0 : plainInjector.clone(classNameHashClone, keyframesHashClone), mediaInjectorsClone);
};

@@ -1036,4 +1005,4 @@ }

var prefix = options.prefix;
var incrementClassNameHash = createHashCounter(prefix);
var incrementKeyframesHash = createHashCounter(prefix);
var classNameHash = createHashCounter(prefix);
var keyframesHash = createHashCounter(prefix);
var plain;

@@ -1043,4 +1012,4 @@ var mediaIndex = {};

return media
? (mediaIndex[media] = mediaIndex[media] || new InjectorServer(incrementClassNameHash, incrementKeyframesHash))
: (plain = plain || new InjectorServer(incrementClassNameHash, incrementKeyframesHash));
? (mediaIndex[media] = mediaIndex[media] || new InjectorServer(classNameHash, keyframesHash))
: (plain = plain || new InjectorServer(classNameHash, keyframesHash));
};

@@ -1047,0 +1016,0 @@ this.injectStyle = createInjectStyle(injector, options.transformer);

@@ -15,2 +15,2 @@ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};

PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */function t(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}var r=function(){return(r=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function n(e){var t,r="";for(t in e){var n=e[t];if("object"==typeof n)for(var o=0,a=n;o<a.length;o++){r&&(r+=";"),r+=i(t,a[o])}else r&&(r+=";"),r+=i(t,n)}return r}function i(e,t){return f(e)+":"+t}var o=/(?:^(ms|moz|webkit))|[A-Z]/g,a={};function f(e){return e in a?a[e]:a[e]=e.replace(o,"-$&").toLowerCase()}function u(e){for(var t={},r=Object.keys(e),n=r.length;n>0;n--)t[r[n-1]]=e[r[n-1]];return t}function c(e,t){return e+"{"+t+"}"}function s(e,t,r){return void 0===r&&(r=""),"."+c(e+r,t)}function l(e,t){return"@keyframes "+c(e,t)}function v(e){return c("@font-face",e)}function d(e,t){return"@media "+c(e,t)}var y=function(e,t,r){this.injectClassName=function(t,r){var i=n(t);return e(i,r)},this.injectKeyframes=function(e){var r="";for(var i in e)r+=c(i,n(e[i]));return t(r)},this.injectFontFace=function(e){var t={};for(var i in e)"fontFamily"!==i&&(t[i]=e[i]);var o=e.fontFamily;t.fontFamily=o;var a=n(t);return r(a),o}},h="@".charCodeAt(0),p=":".charCodeAt(0),m="[".charCodeAt(0);function g(e,t){var r={},n=function(n){var o=function(a,f,c,s,l){var v,d,y;void 0===c&&(c={});for(var g="",O=Object.keys(a),S=j(r,s,l),b=O.length;b>0;b--){var w=O[b-1],x=a[w];if("function"==typeof x&&(x=x(f)),null===x&&(x=void 0),"@keyframes"===w&&(w="animationName"),"@font-face"===w&&(w="fontFamily"),"animationName"===w||"fontFamily"===w||"object"!=typeof x||Array.isArray(x)){var C=j(c,s,l);if(!(w in C)){if("object"==typeof x){if("animationName"===w){for(var F=[].concat(x),A=[],k=0;k<F.length;k++){var R=F[k];if("object"==typeof R){var N={};for(var _ in R){var z=u(i(R[_],f));N[_]=t?t(z):z}A[k]=e().injectKeyframes(N)}}x=1===A.length?A[0]:A}if("fontFamily"===w){A=[];for(var E=0,K=[].concat(x);E<K.length;E++){var M=K[E];if("object"==typeof M){var T=u(i(M,f)),D=e().injectFontFace(t?t(T):T);-1===A.indexOf(D)&&A.push(D)}else A.push(M)}x=A.join(",")}}var G={};if(C[w]=G[w]=x,void 0!==x&&n)if("string"==typeof x||"number"==typeof x){var I=S[w]=S[w]||{};if(x in I){g+=" "+I[x];continue}g+=" "+(I[x]=e(s).injectClassName(t?t(G):G,l))}else g+=" "+e(s).injectClassName(t?t(G):G,l)}}else{var L=w.charCodeAt(0);if(L!==h&&L!==p&&L!==m){var P=Object.keys(x);for(k=P.length;k>0;k--){var q=P[k-1],H=x[q],U=!1;if("y"===q||"xy"===q){U=!0;B=o(((v={})[w+"Top"]=H,v[w+"Bottom"]=H,v),f,c,s,l);n&&(g+=B)}if("x"===q||"xy"===q){U=!0;B=o(((d={})[w+"Left"]=H,d[w+"Right"]=H,d),f,c,s,l);n&&(g+=B)}if(!U){B=o(((y={})[w+q[0].toUpperCase()+q.slice(1)]=H,y),f,c,s,l);n&&(g+=B)}}}else{var B=o(x,f,c,L===h?w.slice(7):s,L===p||L===m?(null!=l?l:"")+w:l);n&&(g+=B)}}}return n?g:c};return o},i=n(!1),o=n(!0);return function(e,t){void 0===t&&(t={});for(var r={},n="",i=(e=Array.isArray(e)?e:[e]).length-1;i>=0;i--)n+=o(e[i],t,r);return n.slice(1)}}function j(e,t,r){var n=e;return t&&(n=n[t]=n[t]||{}),r?n[r]=n[r]||{}:n}function O(e,t){var r=e.cssRules.length;try{e.insertRule(t,r)}catch(e){}}function S(e,t){var r=document.createElement("style");return e&&(r.media=e),r.dataset[t]="",r}function b(e,t){return document.head.insertBefore(e,t),e}function w(e){void 0===e&&(e="");var t=0,r=10,n=35,i=1,o=function(){var a=t+r;return a===n&&(r+=9*(n+1),n=Math.pow(36,++i)-1),t++,373===a?o():e+a.toString(36)};return Object.assign(o,{reset:function(){t=0,r=10,n=35,i=1}})}var x=function(e){function r(t,r,n){var i=this,o={},a={},f={},u=[],c=t.sheet;if(!function(e){return!!e&&"cssRules"in e}(c))throw new Error("HTMLStyleElement was not inserted properly into DOM");return(i=e.call(this,(function(e,t){var n,i=t?a[t]=null!==(n=a[t])&&void 0!==n?n:{}:o;if(i[e])return i[e];var f=r();return i[e]=f,O(c,s(f,e,t)),f}),(function(e){if(f[e])return f[e];var t=n();return f[e]=t,O(c,l(t,e)),t}),(function(e){-1===u.indexOf(e)&&(u.push(e),O(c,v(e)))}))||this).injectRaw=function(e){O(c,e)},i.hydrateClassName=function(e,t,n){var i;r(),(n?a[n]=null!==(i=a[n])&&void 0!==i?i:{}:o)[e]=t},i.hydrateKeyframes=function(e,t){n(),f[e]=t},i.hydrateFontFace=function(e){u.push(e)},i}return t(r,e),r}(y),C="{".charCodeAt(0),F="}".charCodeAt(0),A=/\.([\w]+)((?::.+)|(\[.+\]))?/,k=/@keyframes (.+)/,R=/@media (.+)/;function N(e){return function(t,r,n){for(var i=0,o="",a="",f="",u="",c=0;c<t.length;c++){var s=t[c],l=s.charCodeAt(0);if(o+=s,l!==C||(i++,a?2!==i:1!==i)){if(l===F){if(i--,a&&0===i){a="";continue}if(a?1===i:0===i){var v=null!=r?r:e(a);d=void 0;if(d=A.exec(f))v.hydrateClassName(u,d[1],d[2]);else if(d=k.exec(f))v.hydrateKeyframes(u,d[1]);else{if("@font-face"!==f)throw new Error("Unsupported CSS selector when hydrating in Glitz");v.hydrateFontFace(u)}n&&n(v,o),o="",f="",u="";continue}}(a?i>1:i>0)?u+=s:f+=s}else{var d;(d=R.exec(f))&&(a=d[1],o="",f="")}}}}var _=function(e){void 0===e&&(e={});var t,r=e.prefix,n=w(r),i=w(r),o=e.mediaOrder,a={},f=null,u={},c=e.identifier||"glitz",s=function(e){if(e){if(u[e])return u[e];var r=a[e]=S(e,c),s=null;if(o){var l=Object.keys(a).sort(o);f=a[l[0]],s=a[l[l.indexOf(e)+1]]||null}return b(r,s),u[e]=new x(r,n,i)}return t||(r=b(S(e,c),f),t=new x(r,n,i))};this.injectStyle=g(s,e.transformer);var l=this.hydrate=N(s),v=document.head.querySelectorAll("style[data-"+c+"]");if(v)for(var d=0,y=v;d<y.length;d++){var h=(C=y[d]).media,p=void 0;h?(f||(f=C),a[h]=C,p=u[h]=new x(C,n,i)):p=t=new x(C,n,i),l(C.textContent,p)}var m=document.body.querySelectorAll("style[data-"+c+"]");if(m)for(var j=0,O=m;j<O.length;j++){var C;l((C=O[j]).textContent,void 0,(function(e,t){return e.injectRaw(t)})),C.parentNode.removeChild(C)}},z=function(e){function r(t,r){var n=this,i={},o={},a={},f=[],u={},c={},d={},y=[],h=!1,p={},m={},g={},j=[],O={},S={},b={},w=[];function x(){if(h)throw new Error("Hydration is prohibited after injections")}return(n=e.call(this,(function(e,r){var n,a,f;h=!0;var u=r?o[r]=null!==(n=o[r])&&void 0!==n?n:{}:i;if(u[e])return u[e];var c=t(),s=r?m[r]=null!==(a=m[r])&&void 0!==a?a:{}:p,l=r?S[r]=null!==(f=S[r])&&void 0!==f?f:{}:O;return u[e]=s[e]=l[e]=c,c}),(function(e){if(h=!0,a[e])return a[e];var t=r();return a[e]=g[e]=b[e]=t,t}),(function(e){h=!0,-1===f.indexOf(e)&&(f.push(e),j.push(e),w.push(e))}))||this).getStyleResult=function(){for(var e="",t=0,r=j;t<r.length;t++){e+=v(i=r[t])}for(var n in g)e+=l(g[n],n);for(var i in p)e+=s(p[i],i);for(var o in m){var a=m[o];for(var i in a)e+=s(a[i],i,o)}return e},n.getStyleStream=function(){var e="";if(w.length>0){for(var t=0,r=w;t<r.length;t++){e+=v(i=r[t])}w.splice(0,w.length)}for(var n in b)e+=l(b[n],n),delete b[n];for(var i in O)e+=s(O[i],i),delete O[i];for(var o in S){var a=S[o];for(var i in a)e+=s(a[i],i,o);delete S[o]}return e},n.hydrateClassName=function(e,r,n){var a,f;x(),t();var s=n?o[n]=null!==(a=o[n])&&void 0!==a?a:{}:i,l=n?c[n]=null!==(f=c[n])&&void 0!==f?f:{}:u;s[e]=l[e]=r},n.hydrateKeyframes=function(e,t){x(),r(),a[e]=t,d[e]=t},n.hydrateFontFace=function(e){x(),f.push(e),y.push(e)},n.reset=function(){var e;i={},o={},a={},f=[],p={},m={},g={},j=[],O={},S={},b={},w=[];var n=!0;for(var s in u)n=!1,t(),i[s]=u[s];for(var l in c)for(var s in c[l]){n=!1,t(),(o[l]=null!==(e=o[l])&&void 0!==e?e:{})[s]=c[l][s]}for(var s in d)n=!1,r(),a[s]=d[s];for(var v=0,h=y;v<h.length;v++){s=h[v];n=!1,f.push(s)}return n},n}return t(r,e),r}(y),E=function(e){var t=this;void 0===e&&(e={});var r,n=e.prefix,i=w(n),o=w(n),a={},f=function(e){return e?a[e]=a[e]||new z(i,o):r=r||new z(i,o)};this.injectStyle=g(f,e.transformer),this.hydrate=N(f);var u=e.identifier||"glitz";this.getStyleMarkup=function(){var t="";r&&(t+="<style data-"+u+">"+r.getStyleResult()+"</style>");for(var n=0,i=e.mediaOrder?Object.keys(a).sort(e.mediaOrder):Object.keys(a);n<i.length;n++){var o=i[n];t+="<style data-"+u+' media="'+o+'">'+a[o].getStyleResult()+"</style>"}return t},this.getStyleStream=function(){var t,n="";r&&(n+=r.getStyleStream());for(var i=0,o=e.mediaOrder?Object.keys(a).sort(e.mediaOrder):Object.keys(a);i<o.length;i++){var f=o[i];n+=d(f,a[f].getStyleStream())}if(n)return["style",(t={},t["data-"+u]="",t),n]},this.reset=function(n){for(var u in void 0===n&&(n=!0),t.injectStyle=g(f,e.transformer),i.reset(),o.reset(),(!n||r&&r.reset())&&(r=void 0),a)n&&!a[u].reset()||delete a[u]}},K=function(e){void 0===e&&(e={});var t,r=e.prefix,n=w(r),i=w(r),o={};this.injectStyle=g((function(e){return e?o[e]=o[e]||new z(n,i):t=t||new z(n,i)}),e.transformer),this.getStyle=function(){var r="";t&&(r+=t.getStyleResult());for(var n=0,i=e.mediaOrder?Object.keys(o).sort(e.mediaOrder):Object.keys(o);n<i.length;n++){var a=i[n];r+=d(a,o[a].getStyleResult())}return r}};function M(e){var t,r="";for(t in e){r&&(r+=" and ");var n=e[t];r+=!0===n?"("+f(t)+")":"("+f(t)+": "+n+")"}return r}exports.DEFAULT_HYDRATION_IDENTIFIER="glitz",exports.GlitzClient=_,exports.GlitzServer=E,exports.GlitzStatic=K,exports.compose=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.reduceRight((function(e,t){return function(r){return t(e(r))}}))},exports.media=function(e,t){var r;return(r={})["@media "+("string"==typeof e?e:M(e))]=t,r},exports.query=M,exports.selector=function(e,t){var n;return"string"==typeof e?((n={})[e]=t,n):e.reduce((function(e,n){var i;return r(r({},e),((i={})[n]=t,i))}),{})};
***************************************************************************** */function t(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}var r=function(){return(r=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function n(e){var t,r="";for(t in e){var n=e[t];if("object"==typeof n)for(var o=0,a=n;o<a.length;o++){r&&(r+=";"),r+=i(t,a[o])}else r&&(r+=";"),r+=i(t,n)}return r}function i(e,t){return f(e)+":"+t}var o=/(?:^(ms|moz|webkit))|[A-Z]/g,a={};function f(e){return e in a?a[e]:a[e]=e.replace(o,"-$&").toLowerCase()}function u(e){for(var t={},r=Object.keys(e),n=r.length;n>0;n--)t[r[n-1]]=e[r[n-1]];return t}function c(e,t){return e+"{"+t+"}"}function l(e,t,r){return void 0===r&&(r=""),"."+c(e+r,t)}function v(e,t){return"@keyframes "+c(e,t)}function s(e){return c("@font-face",e)}function d(e,t){return"@media "+c(e,t)}var y=function(e,t,r){this.injectClassName=function(t,r){var i=n(t);return e(i,r)},this.injectKeyframes=function(e){var r="";for(var i in e)r+=c(i,n(e[i]));return t(r)},this.injectFontFace=function(e){var t={};for(var i in e)"fontFamily"!==i&&(t[i]=e[i]);var o=e.fontFamily;t.fontFamily=o;var a=n(t);return r(a),o}},h="@".charCodeAt(0),p=":".charCodeAt(0),m="[".charCodeAt(0);function g(e,t){var r={},n=function(n){var o=function(a,f,c,l,v){var s,d,y;void 0===c&&(c={});for(var g="",O=Object.keys(a),w=j(r,l,v),b=O.length;b>0;b--){var S=O[b-1],x=a[S];if("function"==typeof x&&(x=x(f)),null===x&&(x=void 0),"@keyframes"===S&&(S="animationName"),"@font-face"===S&&(S="fontFamily"),"animationName"===S||"fontFamily"===S||"object"!=typeof x||Array.isArray(x)){var C=j(c,l,v);if(!(S in C)){if("object"==typeof x){if("animationName"===S){for(var F=[].concat(x),A=[],k=0;k<F.length;k++){var R=F[k];if("object"==typeof R){var N={};for(var _ in R){var z=u(i(R[_],f));N[_]=t?t(z):z}A[k]=e().injectKeyframes(N)}}x=1===A.length?A[0]:A}if("fontFamily"===S){A=[];for(var E=0,K=[].concat(x);E<K.length;E++){var M=K[E];if("object"==typeof M){var T=u(i(M,f)),D=e().injectFontFace(t?t(T):T);-1===A.indexOf(D)&&A.push(D)}else A.push(M)}x=A.join(",")}}var G={};if(C[S]=G[S]=x,void 0!==x&&n)if("string"==typeof x||"number"==typeof x){var I=w[S]=w[S]||{};if(x in I){g+=" "+I[x];continue}g+=" "+(I[x]=e(l).injectClassName(t?t(G):G,v))}else g+=" "+e(l).injectClassName(t?t(G):G,v)}}else{var L=S.charCodeAt(0);if(L!==h&&L!==p&&L!==m){var P=Object.keys(x);for(k=P.length;k>0;k--){var q=P[k-1],H=x[q],U=!1;if("y"===q||"xy"===q){U=!0;B=o(((s={})[S+"Top"]=H,s[S+"Bottom"]=H,s),f,c,l,v);n&&(g+=B)}if("x"===q||"xy"===q){U=!0;B=o(((d={})[S+"Left"]=H,d[S+"Right"]=H,d),f,c,l,v);n&&(g+=B)}if(!U){B=o(((y={})[S+q[0].toUpperCase()+q.slice(1)]=H,y),f,c,l,v);n&&(g+=B)}}}else{var B=o(x,f,c,L===h?S.slice(7):l,L===p||L===m?(null!=v?v:"")+S:v);n&&(g+=B)}}}return n?g:c};return o},i=n(!1),o=n(!0);return function(e,t){void 0===t&&(t={});for(var r={},n="",i=(e=Array.isArray(e)?e:[e]).length-1;i>=0;i--)n+=o(e[i],t,r);return n.slice(1)}}function j(e,t,r){var n=e;return t&&(n=n[t]=n[t]||{}),r?n[r]=n[r]||{}:n}function O(e,t){var r=e.cssRules.length;try{e.insertRule(t,r)}catch(e){}}function w(e,t){var r=document.createElement("style");return e&&(r.media=e),r.dataset[t]="",r}function b(e,t){return document.head.insertBefore(e,t),e}function S(e,t,r,n,i){return void 0===e&&(e=""),void 0===t&&(t=0),void 0===r&&(r=10),void 0===n&&(n=35),void 0===i&&(i=1),Object.assign((function o(){var a=t+r;return a===n&&(r+=9*(n+1),n=Math.pow(36,++i)-1),t++,373===a?o():e+a.toString(36)}),{clone:function(){return S(e,t,r,n,i)}})}var x=function(e){function r(t,r,n){var i=this,o={},a={},f={},u=[],c=t.sheet;if(!function(e){return!!e&&"cssRules"in e}(c))throw new Error("HTMLStyleElement was not inserted properly into DOM");return(i=e.call(this,(function(e,t){var n,i=t?a[t]=null!==(n=a[t])&&void 0!==n?n:{}:o;if(i[e])return i[e];var f=r();return i[e]=f,O(c,l(f,e,t)),f}),(function(e){if(f[e])return f[e];var t=n();return f[e]=t,O(c,v(t,e)),t}),(function(e){-1===u.indexOf(e)&&(u.push(e),O(c,s(e)))}))||this).injectRaw=function(e){O(c,e)},i.hydrateClassName=function(e,t,n){var i;r(),(n?a[n]=null!==(i=a[n])&&void 0!==i?i:{}:o)[e]=t},i.hydrateKeyframes=function(e,t){n(),f[e]=t},i.hydrateFontFace=function(e){u.push(e)},i}return t(r,e),r}(y),C="{".charCodeAt(0),F="}".charCodeAt(0),A=/\.([\w]+)((?::.+)|(\[.+\]))?/,k=/@keyframes (.+)/,R=/@media (.+)/;function N(e){return function(t,r,n){for(var i=0,o="",a="",f="",u="",c=0;c<t.length;c++){var l=t[c],v=l.charCodeAt(0);if(o+=l,v!==C||(i++,a?2!==i:1!==i)){if(v===F){if(i--,a&&0===i){a="";continue}if(a?1===i:0===i){var s=null!=r?r:e(a);d=void 0;if(d=A.exec(f))s.hydrateClassName(u,d[1],d[2]);else if(d=k.exec(f))s.hydrateKeyframes(u,d[1]);else{if("@font-face"!==f)throw new Error("Unsupported CSS selector when hydrating in Glitz");s.hydrateFontFace(u)}n&&n(s,o),o="",f="",u="";continue}}(a?i>1:i>0)?u+=l:f+=l}else{var d;(d=R.exec(f))&&(a=d[1],o="",f="")}}}}var _=function(e){void 0===e&&(e={});var t,r=e.prefix,n=S(r),i=S(r),o=e.mediaOrder,a={},f=null,u={},c=e.identifier||"glitz",l=function(e){if(e){if(u[e])return u[e];var r=a[e]=w(e,c),l=null;if(o){var v=Object.keys(a).sort(o);f=a[v[0]],l=a[v[v.indexOf(e)+1]]||null}return b(r,l),u[e]=new x(r,n,i)}return t||(r=b(w(e,c),f),t=new x(r,n,i))};this.injectStyle=g(l,e.transformer);var v=this.hydrate=N(l),s=document.head.querySelectorAll("style[data-"+c+"]");if(s)for(var d=0,y=s;d<y.length;d++){var h=(C=y[d]).media,p=void 0;h?(f||(f=C),a[h]=C,p=u[h]=new x(C,n,i)):p=t=new x(C,n,i),v(C.textContent,p)}var m=document.body.querySelectorAll("style[data-"+c+"]");if(m)for(var j=0,O=m;j<O.length;j++){var C;v((C=O[j]).textContent,void 0,(function(e,t){return e.injectRaw(t)})),C.parentNode.removeChild(C)}},z=function(e){function r(t,n,i,o,a,f,u,c,d,y,h){void 0===i&&(i=!1),void 0===o&&(o={}),void 0===a&&(a={}),void 0===f&&(f={}),void 0===u&&(u=[]),void 0===c&&(c={}),void 0===d&&(d={}),void 0===y&&(y={}),void 0===h&&(h=[]);var p=this,m={},g={},j={},O=[],w={},b={},S={},x=[];function C(e){return function(){if(i)throw new Error(e+" is prohibited after injections")}}(p=e.call(this,(function(e,r){var n,f,u;i=!0;var c=r?a[r]=null!==(n=a[r])&&void 0!==n?n:{}:o;if(c[e])return c[e];var l=t(),v=r?g[r]=null!==(f=g[r])&&void 0!==f?f:{}:m,s=r?b[r]=null!==(u=b[r])&&void 0!==u?u:{}:w;return c[e]=v[e]=s[e]=l,l}),(function(e){if(i=!0,f[e])return f[e];var t=n();return f[e]=j[e]=S[e]=t,t}),(function(e){i=!0,-1===u.indexOf(e)&&(u.push(e),O.push(e),x.push(e))}))||this).getStyleResult=function(){for(var e="",t=0,r=O;t<r.length;t++){e+=s(i=r[t])}for(var n in j)e+=v(j[n],n);for(var i in m)e+=l(m[i],i);for(var o in g){var a=g[o];for(var i in a)e+=l(a[i],i,o)}return e},p.getStyleStream=function(){var e="";if(x.length>0){for(var t=0,r=x;t<r.length;t++){e+=s(i=r[t])}x.splice(0,x.length)}for(var n in S)e+=v(S[n],n),delete S[n];for(var i in w)e+=l(w[i],i),delete w[i];for(var o in b){var a=b[o];for(var i in a)e+=l(a[i],i,o);delete b[o]}return e};var F=C("Hydration");p.hydrateClassName=function(e,r,n){var i,f;F(),t();var u=n?a[n]=null!==(i=a[n])&&void 0!==i?i:{}:o,l=n?d[n]=null!==(f=d[n])&&void 0!==f?f:{}:c;u[e]=l[e]=r},p.hydrateKeyframes=function(e,t){F(),n(),f[e]=t,y[e]=t},p.hydrateFontFace=function(e){F(),u.push(e),h.push(e)};var A=C("Cloning");return p.clone=function(e,t){return A(),new r(e,t,i,E(c),E(d),E(y),h.slice(0),E(c),E(d),E(y),h.slice(0))},p}return t(r,e),r}(y);function E(e){var t={};for(var r in e){var n=e[r];t[r]="string"==typeof n?n:E(n)}return t}var K=function e(t,r,n,i,o){void 0===t&&(t={}),void 0===r&&(r=S(t.prefix)),void 0===n&&(n=S(t.prefix)),void 0===o&&(o={});var a=function(e){return e?o[e]=o[e]||new z(r,n):i=i||new z(r,n)};this.injectStyle=g(a,t.transformer),this.hydrate=N(a);var f=t.identifier||"glitz";this.getStyleMarkup=function(){var e="";i&&(e+="<style data-"+f+">"+i.getStyleResult()+"</style>");for(var r=0,n=t.mediaOrder?Object.keys(o).sort(t.mediaOrder):Object.keys(o);r<n.length;r++){var a=n[r];e+="<style data-"+f+' media="'+a+'">'+o[a].getStyleResult()+"</style>"}return e},this.getStyleStream=function(){var e,r="";i&&(r+=i.getStyleStream());for(var n=0,a=t.mediaOrder?Object.keys(o).sort(t.mediaOrder):Object.keys(o);n<a.length;n++){var u=a[n];r+=d(u,o[u].getStyleStream())}if(r)return["style",(e={},e["data-"+f]="",e),r]},this.clone=function(){var a=r.clone(),f=n.clone(),u={};for(var c in o)u[c]=o[c].clone(a,f);return new e(t,a,f,null==i?void 0:i.clone(a,f),u)}},M=function(e){void 0===e&&(e={});var t,r=e.prefix,n=S(r),i=S(r),o={};this.injectStyle=g((function(e){return e?o[e]=o[e]||new z(n,i):t=t||new z(n,i)}),e.transformer),this.getStyle=function(){var r="";t&&(r+=t.getStyleResult());for(var n=0,i=e.mediaOrder?Object.keys(o).sort(e.mediaOrder):Object.keys(o);n<i.length;n++){var a=i[n];r+=d(a,o[a].getStyleResult())}return r}};function T(e){var t,r="";for(t in e){r&&(r+=" and ");var n=e[t];r+=!0===n?"("+f(t)+")":"("+f(t)+": "+n+")"}return r}exports.DEFAULT_HYDRATION_IDENTIFIER="glitz",exports.GlitzClient=_,exports.GlitzServer=K,exports.GlitzStatic=M,exports.compose=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.reduceRight((function(e,t){return function(r){return t(e(r))}}))},exports.media=function(e,t){var r;return(r={})["@media "+("string"==typeof e?e:T(e))]=t,r},exports.query=T,exports.selector=function(e,t){var n;return"string"==typeof e?((n={})[e]=t,n):e.reduce((function(e,n){var i;return r(r({},e),((i={})[n]=t,i))}),{})};

@@ -470,8 +470,4 @@ const DEFAULT_HYDRATION_IDENTIFIER = 'glitz';

function createHashCounter(prefix = '') {
let count = 0;
let offset = 10;
let msb = 35;
let power = 1;
const increment = () => {
function createHashCounter(prefix = '', count = 0, offset = 10, msb = 35, power = 1) {
function increment() {
const virtualCount = count + offset;

@@ -488,9 +484,6 @@ if (virtualCount === msb) {

return prefix + virtualCount.toString(36);
};
}
return Object.assign(increment, {
reset() {
count = 0;
offset = 10;
msb = 35;
power = 1;
clone() {
return createHashCounter(prefix, count, offset, msb, power);
},

@@ -624,4 +617,4 @@ });

const prefix = options.prefix;
const incrementClassNameHash = createHashCounter(prefix);
const incrementKeyframesHash = createHashCounter(prefix);
const classNameHash = createHashCounter(prefix);
const keyframesHash = createHashCounter(prefix);
const mediaOrderOption = options.mediaOrder;

@@ -646,3 +639,3 @@ const mediaSheets = {};

insertStyleElement(element, insertBefore);
return (mediaInjectors[media] = new InjectorClient(element, incrementClassNameHash, incrementKeyframesHash));
return (mediaInjectors[media] = new InjectorClient(element, classNameHash, keyframesHash));
}

@@ -654,3 +647,3 @@ else {

const element = insertStyleElement(createStyleElement(media, identifier), initialMediaSheet);
return (plain = new InjectorClient(element, incrementClassNameHash, incrementKeyframesHash));
return (plain = new InjectorClient(element, classNameHash, keyframesHash));
}

@@ -672,6 +665,6 @@ };

mediaSheets[media] = element;
injector = mediaInjectors[media] = new InjectorClient(element, incrementClassNameHash, incrementKeyframesHash);
injector = mediaInjectors[media] = new InjectorClient(element, classNameHash, keyframesHash);
}
else {
injector = plain = new InjectorClient(element, incrementClassNameHash, incrementKeyframesHash);
injector = plain = new InjectorClient(element, classNameHash, keyframesHash);
}

@@ -707,22 +700,13 @@ hydrate(element.textContent, injector);

class InjectorServer extends Injector {
constructor(classNameHash, keyframesHash) {
let plainFullIndex = {};
let selectorFullIndex = {};
let keyframesFullIndex = {};
let fontFaceFullIndex = [];
const plainHydrationIndex = {};
const selectorHydrationIndex = {};
const keyframesHydrationIndex = {};
const fontFaceHydrationIndex = [];
let forbidHydration = false;
let plainResultIndex = {};
let selectorResultIndex = {};
let keyframesResultIndex = {};
let fontFaceResultIndex = [];
let plainStreamIndex = {};
let selectorStreamIndex = {};
let keyframesStreamIndex = {};
let fontFaceStreamIndex = [];
constructor(classNameHash, keyframesHash, postInjection = false, plainFullIndex = {}, selectorFullIndex = {}, keyframesFullIndex = {}, fontFaceFullIndex = [], plainHydrationIndex = {}, selectorHydrationIndex = {}, keyframesHydrationIndex = {}, fontFaceHydrationIndex = []) {
const plainResultIndex = {};
const selectorResultIndex = {};
const keyframesResultIndex = {};
const fontFaceResultIndex = [];
const plainStreamIndex = {};
const selectorStreamIndex = {};
const keyframesStreamIndex = {};
const fontFaceStreamIndex = [];
super((block, selector) => {
forbidHydration = true;
postInjection = true;
const full = selector ? (selectorFullIndex[selector] = selectorFullIndex[selector] ?? {}) : plainFullIndex;

@@ -742,3 +726,3 @@ if (full[block]) {

}, blockList => {
forbidHydration = true;
postInjection = true;
if (keyframesFullIndex[blockList]) {

@@ -751,3 +735,3 @@ return keyframesFullIndex[blockList];

}, block => {
forbidHydration = true;
postInjection = true;
if (fontFaceFullIndex.indexOf(block) === -1) {

@@ -803,9 +787,12 @@ fontFaceFullIndex.push(block);

};
function allowHydrationCheck() {
if (forbidHydration) {
throw new Error('Hydration is prohibited after injections');
}
function createPreActionCheck(action) {
return () => {
if (postInjection) {
throw new Error(`${action} is prohibited after injections`);
}
};
}
const preHydrationCheck = createPreActionCheck('Hydration');
this.hydrateClassName = (body, className, suffix) => {
allowHydrationCheck();
preHydrationCheck();
classNameHash();

@@ -819,3 +806,3 @@ const full = suffix ? (selectorFullIndex[suffix] = selectorFullIndex[suffix] ?? {}) : plainFullIndex;

this.hydrateKeyframes = (body, name) => {
allowHydrationCheck();
preHydrationCheck();
keyframesHash();

@@ -826,58 +813,32 @@ keyframesFullIndex[body] = name;

this.hydrateFontFace = body => {
allowHydrationCheck();
preHydrationCheck();
fontFaceFullIndex.push(body);
fontFaceHydrationIndex.push(body);
};
this.reset = () => {
plainFullIndex = {};
selectorFullIndex = {};
keyframesFullIndex = {};
fontFaceFullIndex = [];
plainResultIndex = {};
selectorResultIndex = {};
keyframesResultIndex = {};
fontFaceResultIndex = [];
plainStreamIndex = {};
selectorStreamIndex = {};
keyframesStreamIndex = {};
fontFaceStreamIndex = [];
let shouldDelete = true;
for (const body in plainHydrationIndex) {
shouldDelete = false;
classNameHash();
plainFullIndex[body] = plainHydrationIndex[body];
}
for (const selector in selectorHydrationIndex) {
for (const body in selectorHydrationIndex[selector]) {
shouldDelete = false;
classNameHash();
const index = (selectorFullIndex[selector] = selectorFullIndex[selector] ?? {});
index[body] = selectorHydrationIndex[selector][body];
}
}
for (const body in keyframesHydrationIndex) {
shouldDelete = false;
keyframesHash();
keyframesFullIndex[body] = keyframesHydrationIndex[body];
}
for (const body of fontFaceHydrationIndex) {
shouldDelete = false;
fontFaceFullIndex.push(body);
}
return shouldDelete;
const preCloningCheck = createPreActionCheck('Cloning');
this.clone = (classNameHashClone, keyframesHashClone) => {
preCloningCheck();
return new InjectorServer(classNameHashClone, keyframesHashClone, postInjection, clone(plainHydrationIndex), clone(selectorHydrationIndex), clone(keyframesHydrationIndex), fontFaceHydrationIndex.slice(0), clone(plainHydrationIndex), clone(selectorHydrationIndex), clone(keyframesHydrationIndex), fontFaceHydrationIndex.slice(0));
};
}
}
function clone(index) {
const copy = {};
for (const key in index) {
const value = index[key];
if (typeof value === 'string') {
copy[key] = value;
}
else {
copy[key] = clone(value);
}
}
return copy;
}
class GlitzServer {
constructor(options = {}) {
const prefix = options.prefix;
const incrementClassNameHash = createHashCounter(prefix);
const incrementKeyframesHash = createHashCounter(prefix);
let plain;
const mediaInjectors = {};
constructor(options = {}, classNameHash = createHashCounter(options.prefix), keyframesHash = createHashCounter(options.prefix), plainInjector, mediaInjectors = {}) {
const getInjector = (media) => media
? (mediaInjectors[media] =
mediaInjectors[media] || new InjectorServer(incrementClassNameHash, incrementKeyframesHash))
: (plain = plain || new InjectorServer(incrementClassNameHash, incrementKeyframesHash));
? (mediaInjectors[media] = mediaInjectors[media] || new InjectorServer(classNameHash, keyframesHash))
: (plainInjector = plainInjector || new InjectorServer(classNameHash, keyframesHash));
this.injectStyle = createInjectStyle(getInjector, options.transformer);

@@ -888,4 +849,4 @@ this.hydrate = createHydrate(getInjector);

let markup = '';
if (plain) {
markup += `<style data-${identifier}>${plain.getStyleResult()}</style>`;
if (plainInjector) {
markup += `<style data-${identifier}>${plainInjector.getStyleResult()}</style>`;
}

@@ -902,4 +863,4 @@ const medias = options.mediaOrder

let css = '';
if (plain) {
css += plain.getStyleStream();
if (plainInjector) {
css += plainInjector.getStyleStream();
}

@@ -917,14 +878,10 @@ const medias = options.mediaOrder

};
this.reset = (preserveHydration = true) => {
this.injectStyle = createInjectStyle(getInjector, options.transformer);
incrementClassNameHash.reset();
incrementKeyframesHash.reset();
if (!preserveHydration || (plain && plain.reset())) {
plain = undefined;
}
this.clone = () => {
const classNameHashClone = classNameHash.clone();
const keyframesHashClone = keyframesHash.clone();
const mediaInjectorsClone = {};
for (const media in mediaInjectors) {
if (!preserveHydration || mediaInjectors[media].reset()) {
delete mediaInjectors[media];
}
mediaInjectorsClone[media] = mediaInjectors[media].clone(classNameHashClone, keyframesHashClone);
}
return new GlitzServer(options, classNameHashClone, keyframesHashClone, plainInjector?.clone(classNameHashClone, keyframesHashClone), mediaInjectorsClone);
};

@@ -937,9 +894,9 @@ }

const prefix = options.prefix;
const incrementClassNameHash = createHashCounter(prefix);
const incrementKeyframesHash = createHashCounter(prefix);
const classNameHash = createHashCounter(prefix);
const keyframesHash = createHashCounter(prefix);
let plain;
const mediaIndex = {};
const injector = (media) => media
? (mediaIndex[media] = mediaIndex[media] || new InjectorServer(incrementClassNameHash, incrementKeyframesHash))
: (plain = plain || new InjectorServer(incrementClassNameHash, incrementKeyframesHash));
? (mediaIndex[media] = mediaIndex[media] || new InjectorServer(classNameHash, keyframesHash))
: (plain = plain || new InjectorServer(classNameHash, keyframesHash));
this.injectStyle = createInjectStyle(injector, options.transformer);

@@ -946,0 +903,0 @@ this.getStyle = () => {

@@ -532,9 +532,9 @@ var DEFAULT_HYDRATION_IDENTIFIER = 'glitz';

function createHashCounter(prefix) {
function createHashCounter(prefix, count, offset, msb, power) {
if (prefix === void 0) { prefix = ''; }
var count = 0;
var offset = 10;
var msb = 35;
var power = 1;
var increment = function () {
if (count === void 0) { count = 0; }
if (offset === void 0) { offset = 10; }
if (msb === void 0) { msb = 35; }
if (power === void 0) { power = 1; }
function increment() {
var virtualCount = count + offset;

@@ -551,9 +551,6 @@ if (virtualCount === msb) {

return prefix + virtualCount.toString(36);
};
}
return Object.assign(increment, {
reset: function () {
count = 0;
offset = 10;
msb = 35;
power = 1;
clone: function () {
return createHashCounter(prefix, count, offset, msb, power);
},

@@ -694,4 +691,4 @@ });

var prefix = options.prefix;
var incrementClassNameHash = createHashCounter(prefix);
var incrementKeyframesHash = createHashCounter(prefix);
var classNameHash = createHashCounter(prefix);
var keyframesHash = createHashCounter(prefix);
var mediaOrderOption = options.mediaOrder;

@@ -716,3 +713,3 @@ var mediaSheets = {};

insertStyleElement(element, insertBefore);
return (mediaInjectors[media] = new InjectorClient(element, incrementClassNameHash, incrementKeyframesHash));
return (mediaInjectors[media] = new InjectorClient(element, classNameHash, keyframesHash));
}

@@ -724,3 +721,3 @@ else {

var element = insertStyleElement(createStyleElement(media, identifier), initialMediaSheet);
return (plain = new InjectorClient(element, incrementClassNameHash, incrementKeyframesHash));
return (plain = new InjectorClient(element, classNameHash, keyframesHash));
}

@@ -743,6 +740,6 @@ };

mediaSheets[media] = element;
injector = mediaInjectors[media] = new InjectorClient(element, incrementClassNameHash, incrementKeyframesHash);
injector = mediaInjectors[media] = new InjectorClient(element, classNameHash, keyframesHash);
}
else {
injector = plain = new InjectorClient(element, incrementClassNameHash, incrementKeyframesHash);
injector = plain = new InjectorClient(element, classNameHash, keyframesHash);
}

@@ -781,13 +778,13 @@ hydrate(element.textContent, injector);

__extends(InjectorServer, _super);
function InjectorServer(classNameHash, keyframesHash) {
function InjectorServer(classNameHash, keyframesHash, postInjection, plainFullIndex, selectorFullIndex, keyframesFullIndex, fontFaceFullIndex, plainHydrationIndex, selectorHydrationIndex, keyframesHydrationIndex, fontFaceHydrationIndex) {
if (postInjection === void 0) { postInjection = false; }
if (plainFullIndex === void 0) { plainFullIndex = {}; }
if (selectorFullIndex === void 0) { selectorFullIndex = {}; }
if (keyframesFullIndex === void 0) { keyframesFullIndex = {}; }
if (fontFaceFullIndex === void 0) { fontFaceFullIndex = []; }
if (plainHydrationIndex === void 0) { plainHydrationIndex = {}; }
if (selectorHydrationIndex === void 0) { selectorHydrationIndex = {}; }
if (keyframesHydrationIndex === void 0) { keyframesHydrationIndex = {}; }
if (fontFaceHydrationIndex === void 0) { fontFaceHydrationIndex = []; }
var _this = this;
var plainFullIndex = {};
var selectorFullIndex = {};
var keyframesFullIndex = {};
var fontFaceFullIndex = [];
var plainHydrationIndex = {};
var selectorHydrationIndex = {};
var keyframesHydrationIndex = {};
var fontFaceHydrationIndex = [];
var forbidHydration = false;
var plainResultIndex = {};

@@ -803,3 +800,3 @@ var selectorResultIndex = {};

var _a, _b, _c;
forbidHydration = true;
postInjection = true;
var full = selector ? (selectorFullIndex[selector] = (_a = selectorFullIndex[selector]) !== null && _a !== void 0 ? _a : {}) : plainFullIndex;

@@ -819,3 +816,3 @@ if (full[block]) {

}, function (blockList) {
forbidHydration = true;
postInjection = true;
if (keyframesFullIndex[blockList]) {

@@ -828,3 +825,3 @@ return keyframesFullIndex[blockList];

}, function (block) {
forbidHydration = true;
postInjection = true;
if (fontFaceFullIndex.indexOf(block) === -1) {

@@ -882,10 +879,13 @@ fontFaceFullIndex.push(block);

};
function allowHydrationCheck() {
if (forbidHydration) {
throw new Error('Hydration is prohibited after injections');
}
function createPreActionCheck(action) {
return function () {
if (postInjection) {
throw new Error(action + " is prohibited after injections");
}
};
}
var preHydrationCheck = createPreActionCheck('Hydration');
_this.hydrateClassName = function (body, className, suffix) {
var _a, _b;
allowHydrationCheck();
preHydrationCheck();
classNameHash();

@@ -899,3 +899,3 @@ var full = suffix ? (selectorFullIndex[suffix] = (_a = selectorFullIndex[suffix]) !== null && _a !== void 0 ? _a : {}) : plainFullIndex;

_this.hydrateKeyframes = function (body, name) {
allowHydrationCheck();
preHydrationCheck();
keyframesHash();

@@ -906,45 +906,10 @@ keyframesFullIndex[body] = name;

_this.hydrateFontFace = function (body) {
allowHydrationCheck();
preHydrationCheck();
fontFaceFullIndex.push(body);
fontFaceHydrationIndex.push(body);
};
_this.reset = function () {
var _a;
plainFullIndex = {};
selectorFullIndex = {};
keyframesFullIndex = {};
fontFaceFullIndex = [];
plainResultIndex = {};
selectorResultIndex = {};
keyframesResultIndex = {};
fontFaceResultIndex = [];
plainStreamIndex = {};
selectorStreamIndex = {};
keyframesStreamIndex = {};
fontFaceStreamIndex = [];
var shouldDelete = true;
for (var body in plainHydrationIndex) {
shouldDelete = false;
classNameHash();
plainFullIndex[body] = plainHydrationIndex[body];
}
for (var selector in selectorHydrationIndex) {
for (var body in selectorHydrationIndex[selector]) {
shouldDelete = false;
classNameHash();
var index = (selectorFullIndex[selector] = (_a = selectorFullIndex[selector]) !== null && _a !== void 0 ? _a : {});
index[body] = selectorHydrationIndex[selector][body];
}
}
for (var body in keyframesHydrationIndex) {
shouldDelete = false;
keyframesHash();
keyframesFullIndex[body] = keyframesHydrationIndex[body];
}
for (var _i = 0, fontFaceHydrationIndex_1 = fontFaceHydrationIndex; _i < fontFaceHydrationIndex_1.length; _i++) {
var body = fontFaceHydrationIndex_1[_i];
shouldDelete = false;
fontFaceFullIndex.push(body);
}
return shouldDelete;
var preCloningCheck = createPreActionCheck('Cloning');
_this.clone = function (classNameHashClone, keyframesHashClone) {
preCloningCheck();
return new InjectorServer(classNameHashClone, keyframesHashClone, postInjection, clone(plainHydrationIndex), clone(selectorHydrationIndex), clone(keyframesHydrationIndex), fontFaceHydrationIndex.slice(0), clone(plainHydrationIndex), clone(selectorHydrationIndex), clone(keyframesHydrationIndex), fontFaceHydrationIndex.slice(0));
};

@@ -955,17 +920,26 @@ return _this;

}(Injector));
function clone(index) {
var copy = {};
for (var key in index) {
var value = index[key];
if (typeof value === 'string') {
copy[key] = value;
}
else {
copy[key] = clone(value);
}
}
return copy;
}
var GlitzServer = /** @class */ (function () {
function GlitzServer(options) {
var _this = this;
function GlitzServer(options, classNameHash, keyframesHash, plainInjector, mediaInjectors) {
if (options === void 0) { options = {}; }
var prefix = options.prefix;
var incrementClassNameHash = createHashCounter(prefix);
var incrementKeyframesHash = createHashCounter(prefix);
var plain;
var mediaInjectors = {};
if (classNameHash === void 0) { classNameHash = createHashCounter(options.prefix); }
if (keyframesHash === void 0) { keyframesHash = createHashCounter(options.prefix); }
if (mediaInjectors === void 0) { mediaInjectors = {}; }
var getInjector = function (media) {
return media
? (mediaInjectors[media] =
mediaInjectors[media] || new InjectorServer(incrementClassNameHash, incrementKeyframesHash))
: (plain = plain || new InjectorServer(incrementClassNameHash, incrementKeyframesHash));
? (mediaInjectors[media] = mediaInjectors[media] || new InjectorServer(classNameHash, keyframesHash))
: (plainInjector = plainInjector || new InjectorServer(classNameHash, keyframesHash));
};

@@ -977,4 +951,4 @@ this.injectStyle = createInjectStyle(getInjector, options.transformer);

var markup = '';
if (plain) {
markup += "<style data-" + identifier + ">" + plain.getStyleResult() + "</style>";
if (plainInjector) {
markup += "<style data-" + identifier + ">" + plainInjector.getStyleResult() + "</style>";
}

@@ -993,4 +967,4 @@ var medias = options.mediaOrder

var css = '';
if (plain) {
css += plain.getStyleStream();
if (plainInjector) {
css += plainInjector.getStyleStream();
}

@@ -1009,15 +983,10 @@ var medias = options.mediaOrder

};
this.reset = function (preserveHydration) {
if (preserveHydration === void 0) { preserveHydration = true; }
_this.injectStyle = createInjectStyle(getInjector, options.transformer);
incrementClassNameHash.reset();
incrementKeyframesHash.reset();
if (!preserveHydration || (plain && plain.reset())) {
plain = undefined;
}
this.clone = function () {
var classNameHashClone = classNameHash.clone();
var keyframesHashClone = keyframesHash.clone();
var mediaInjectorsClone = {};
for (var media in mediaInjectors) {
if (!preserveHydration || mediaInjectors[media].reset()) {
delete mediaInjectors[media];
}
mediaInjectorsClone[media] = mediaInjectors[media].clone(classNameHashClone, keyframesHashClone);
}
return new GlitzServer(options, classNameHashClone, keyframesHashClone, plainInjector === null || plainInjector === void 0 ? void 0 : plainInjector.clone(classNameHashClone, keyframesHashClone), mediaInjectorsClone);
};

@@ -1032,4 +1001,4 @@ }

var prefix = options.prefix;
var incrementClassNameHash = createHashCounter(prefix);
var incrementKeyframesHash = createHashCounter(prefix);
var classNameHash = createHashCounter(prefix);
var keyframesHash = createHashCounter(prefix);
var plain;

@@ -1039,4 +1008,4 @@ var mediaIndex = {};

return media
? (mediaIndex[media] = mediaIndex[media] || new InjectorServer(incrementClassNameHash, incrementKeyframesHash))
: (plain = plain || new InjectorServer(incrementClassNameHash, incrementKeyframesHash));
? (mediaIndex[media] = mediaIndex[media] || new InjectorServer(classNameHash, keyframesHash))
: (plain = plain || new InjectorServer(classNameHash, keyframesHash));
};

@@ -1043,0 +1012,0 @@ this.injectStyle = createInjectStyle(injector, options.transformer);

{
"name": "@glitz/core",
"version": "3.0.0-alpha.8",
"version": "3.0.0-alpha.9",
"main": "./cjs/index.js",

@@ -28,3 +28,3 @@ "module": "./mjs/index.js",

],
"gitHead": "ca3efc96460d9213d1c775ea37501987eef81ab5"
"gitHead": "613d22cf266d505482e35b4ab91034dbfcd20391"
}

@@ -11,4 +11,4 @@ import { Style, Theme } from '@glitz/type';

}, string] | undefined;
reset: (preserveHydration?: boolean) => void;
clone: () => GlitzServer<TStyle>;
constructor(options?: Options);
}
import Injector from '../core/Injector';
import { HashCounter } from '../utils/hash';
declare type Index<TValue = string> = Record<string, TValue>;
export default class InjectorServer extends Injector {

@@ -9,4 +10,5 @@ getStyleResult: () => string;

hydrateFontFace: (body: string) => void;
reset: () => boolean;
constructor(classNameHash: HashCounter, keyframesHash: HashCounter);
clone: (classNameHashClone: HashCounter, keyframesHashClone: HashCounter) => InjectorServer;
constructor(classNameHash: HashCounter, keyframesHash: HashCounter, postInjection?: boolean, plainFullIndex?: Index, selectorFullIndex?: Index<Index>, keyframesFullIndex?: Index, fontFaceFullIndex?: string[], plainHydrationIndex?: Index, selectorHydrationIndex?: Index<Index>, keyframesHydrationIndex?: Index, fontFaceHydrationIndex?: string[]);
}
export {};
export declare type HashCounter = {
(): string;
reset(): void;
clone(): HashCounter;
};
export declare function createHashCounter(prefix?: string): HashCounter;
export declare function createHashCounter(prefix?: string, count?: number, offset?: number, msb?: number, power?: number): HashCounter;
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc