summaryrefslogtreecommitdiffstats
path: root/sticker.pinapelz.moe
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2026-05-27 00:53:18 -0700
committerPinapelz <yukais@pinapelz.com>2026-05-27 00:55:26 -0700
commit36e053f4f0a2f63c08f7c28b9492c067f1ca42bc (patch)
treec28973073c8e26775ee4d18d1016df44afdfeceb /sticker.pinapelz.moe
parenta01e0666fd66c367745cdaff76fcd6ea7568c31c (diff)
migrate pinapelz.moe -> pinapelz.com
Diffstat (limited to 'sticker.pinapelz.moe')
-rw-r--r--sticker.pinapelz.moe/esinstall.js23
-rw-r--r--sticker.pinapelz.moe/index.html23
-rw-r--r--sticker.pinapelz.moe/lib/htm/preact.js7
-rw-r--r--sticker.pinapelz.moe/package.json19
-rw-r--r--sticker.pinapelz.moe/packs/.gitkeep0
-rw-r--r--sticker.pinapelz.moe/packs/dank.json1
-rw-r--r--sticker.pinapelz.moe/packs/index.json7
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/APyHPuZmyRfUwwsEHijRGdjPbin47309 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/ASWmCLdLLTVqLwXptdkBMtwsbin29637 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/CLkWhgAkDubZmahPWinNMaScbin31164 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/DlLllEJSQYkOCBBzqVzdxuwRbin35734 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/MjoQgqCbNmTRuQfDngBPPoOCbin52103 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/OddXtQLRutxvLZWWxNicguMcbin28353 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/PdyEJxgwOfBCxySfSFYlgPzPbin90928 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/QURUNgNThYmIdzyasFdcLJnrbin17080 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/SzxfhuJJdFPYzoPvSDIBhWxbbin37322 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/XmPidyRFUqsIUfMJXlyMqKTgbin58621 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/ZBxiNUARoFZGoETjySzbKoAcbin26042 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/ZTckkllzHDrGCbrXBEqzDUYBbin45997 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/aUBbgTfxxfWapJXDzOGsGWGxbin39863 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/xpwjfgHzxJFTiJWIXMEvBBckbin89762 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/thumbnails/yLAyUjCErrmXBfcAAUxYygsPbin93010 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/packs/weeb.json1
-rw-r--r--sticker.pinapelz.moe/res/favorite.svg1
-rw-r--r--sticker.pinapelz.moe/res/giphy-dark.svg55
-rw-r--r--sticker.pinapelz.moe/res/giphy-light.svg54
-rw-r--r--sticker.pinapelz.moe/res/powered-by-giphy.pngbin7741 -> 0 bytes
-rw-r--r--sticker.pinapelz.moe/res/recent.svg1
-rw-r--r--sticker.pinapelz.moe/res/search.svg1
-rw-r--r--sticker.pinapelz.moe/res/settings.svg1
-rw-r--r--sticker.pinapelz.moe/src/frequently-used.js34
-rw-r--r--sticker.pinapelz.moe/src/giphy.js107
-rw-r--r--sticker.pinapelz.moe/src/index.js400
-rw-r--r--sticker.pinapelz.moe/src/search-box.js26
-rw-r--r--sticker.pinapelz.moe/src/spinner.js41
-rw-r--r--sticker.pinapelz.moe/src/widget-api.js77
-rw-r--r--sticker.pinapelz.moe/style/index.css1
-rw-r--r--sticker.pinapelz.moe/style/index.sass227
-rw-r--r--sticker.pinapelz.moe/style/spinner.css1
-rw-r--r--sticker.pinapelz.moe/style/spinner.sass68
-rw-r--r--sticker.pinapelz.moe/yarn.lock719
41 files changed, 0 insertions, 1895 deletions
diff --git a/sticker.pinapelz.moe/esinstall.js b/sticker.pinapelz.moe/esinstall.js
deleted file mode 100644
index 8cb5682..0000000
--- a/sticker.pinapelz.moe/esinstall.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const { install, printStats } = require("esinstall")
-
-install(
- [{
- specifier: "htm/preact",
- all: false,
- default: false,
- namespace: false,
- named: ["html", "render", "Component"],
- }],
- {
- dest: "./lib",
- sourceMap: false,
- treeshake: true,
- verbose: true,
- }
-).then(data => {
- const oldPrefix = "web_modules/"
- const newPrefix = "lib/"
- const spaces = " ".repeat(oldPrefix.length - newPrefix.length)
- console.log("Installation complete")
- console.log(printStats(data.stats).replace(oldPrefix, newPrefix + spaces))
-})
diff --git a/sticker.pinapelz.moe/index.html b/sticker.pinapelz.moe/index.html
deleted file mode 100644
index 527ea7b..0000000
--- a/sticker.pinapelz.moe/index.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no">
- <title>Maunium sticker picker</title>
-
- <link rel="modulepreload" href="src/widget-api.js"/>
- <link rel="modulepreload" href="src/frequently-used.js"/>
- <link rel="modulepreload" href="src/spinner.js"/>
- <link rel="modulepreload" href="src/giphy.js"/>
- <link rel="modulepreload" href="lib/htm/preact.js"/>
- <link rel="preload" href="packs/index.json" as="fetch" type="application/json" crossorigin/>
-
- <link rel="stylesheet" href="style/index.css"/>
- <link rel="stylesheet" href="style/spinner.css"/>
- <script src="src/index.js" type="module"></script>
- <script nomodule>document.body.innerText = "This sticker picker requires modern JavaScript"</script>
-</head>
-<body>
- <noscript>This sticker picker requires JavaScript</noscript>
-</body>
-</html>
diff --git a/sticker.pinapelz.moe/lib/htm/preact.js b/sticker.pinapelz.moe/lib/htm/preact.js
deleted file mode 100644
index ebf36ea..0000000
--- a/sticker.pinapelz.moe/lib/htm/preact.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var n,l,u,i,o,r,f,e,c,s,h={},p=[],v=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function w(n){var l=n.parentNode;l&&l.removeChild(n);}function _(l,u,t){var i,o,r,f={};for(r in u)"key"==r?i=u[r]:"ref"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return g(l,f,i,o,null)}function g(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u:r,__i:-1,__u:0};return null==r&&null!=l.vnode&&l.vnode(f),f}function k(n){return n.children}function b(n,l){this.props=n,this.context=l;}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?x(n):null}function C(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return C(n)}}function M(n){(!n.__d&&(n.__d=!0)&&i.push(n)&&!P.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||r)(P);}function P(){var n,u,t,o,r,e,c,s;for(i.sort(f);n=i.shift();)n.__d&&(u=i.length,o=void 0,e=(r=(t=n).__v).__e,c=[],s=[],t.__P&&((o=d({},r)).__v=r.__v+1,l.vnode&&l.vnode(o),O(t.__P,o,r,t.__n,t.__P.namespaceURI,32&r.__u?[e]:null,c,null==e?x(r):e,!!(32&r.__u),s),o.__v=r.__v,o.__.__k[o.__i]=o,j(c,o,s),o.__e!=e&&C(o)),i.length>u&&i.sort(f));P.__r=0;}function S(n,l,u,t,i,o,r,f,e,c,s){var a,v,y,d,w,_=t&&t.__k||p,g=l.length;for(u.__d=e,$(u,l,_),e=u.__d,a=0;a<g;a++)null!=(y=u.__k[a])&&"boolean"!=typeof y&&"function"!=typeof y&&(v=-1===y.__i?h:_[y.__i]||h,y.__i=a,O(n,y,v,i,o,r,f,e,c,s),d=y.__e,y.ref&&v.ref!=y.ref&&(v.ref&&N(v.ref,null,y),s.push(y.ref,y.__c||d,y)),null==w&&null!=d&&(w=d),65536&y.__u||v.__k===y.__k?(e&&!e.isConnected&&(e=x(v)),e=I(y,e,n)):"function"==typeof y.type&&void 0!==y.__d?e=y.__d:d&&(e=d.nextSibling),y.__d=void 0,y.__u&=-196609);u.__d=e,u.__e=w;}function $(n,l,u){var t,i,o,r,f,e=l.length,c=u.length,s=c,a=0;for(n.__k=[],t=0;t<e;t++)r=t+a,null!=(i=n.__k[t]=null==(i=l[t])||"boolean"==typeof i||"function"==typeof i?null:"string"==typeof i||"number"==typeof i||"bigint"==typeof i||i.constructor==String?g(null,i,null,null,null):y(i)?g(k,{children:i},null,null,null):void 0===i.constructor&&i.__b>0?g(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=L(i,u,r,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,"function"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f===r+1?a++:f>r?s>e-r?a+=f-r:a--:f<r?f==r-1&&(a=f-r):a=0,f!==t+a&&(i.__u|=65536))):(o=u[r])&&null==o.key&&o.__e&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V(o,o,!1),u[r]=null,s--);if(s)for(t=0;t<c;t++)null!=(o=u[t])&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V(o,o));}function I(n,l,u){var t,i;if("function"==typeof n.type){for(t=n.__k,i=0;t&&i<t.length;i++)t[i]&&(t[i].__=n,l=I(t[i],l,u));return l}n.__e!=l&&(u.insertBefore(n.__e,l||null),l=n.__e);do{l=l&&l.nextSibling;}while(null!=l&&8===l.nodeType);return l}function L(n,l,u,t){var i=n.key,o=n.type,r=u-1,f=u+1,e=l[u];if(null===e||e&&i==e.key&&o===e.type&&0==(131072&e.__u))return u;if(t>(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f<l.length;){if(r>=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--;}if(f<l.length){if((e=l[f])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return f;f++;}}return -1}function T(n,l,u){"-"===l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||v.test(l)?u:u+"px";}function A(n,l,u,t,i){var o;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||T(n.style,l,"");if(u)for(l in u)t&&u[l]===t[l]||T(n.style,l,u[l]);}else if("o"===l[0]&&"n"===l[1])o=l!==(l=l.replace(/(PointerCapture)$|Capture$/i,"$1")),l=l.toLowerCase()in n||"onFocusOut"===l||"onFocusIn"===l?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t?u.u=t.u:(u.u=e,n.addEventListener(l,o?s:c,o)):n.removeEventListener(l,o?s:c,o);else {if("http://www.w3.org/2000/svg"==i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=l&&"height"!=l&&"href"!=l&&"list"!=l&&"form"!=l&&"tabIndex"!=l&&"download"!=l&&"rowSpan"!=l&&"colSpan"!=l&&"role"!=l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&"-"!==l[4]?n.removeAttribute(l):n.setAttribute(l,u));}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=e++;else if(u.t<t.u)return;return t(l.event?l.event(u):u)}}}function O(n,u,t,i,o,r,f,e,c,s){var a,h,p,v,w,_,g,m,x,C,M,P,$,I,H,L=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),r=[e=u.__e=t.__e]),(a=l.__b)&&a(u);n:if("function"==typeof L)try{if(m=u.props,x=(a=L.contextType)&&i[a.__c],C=a?x?x.props.value:a.__:i,t.__c?g=(h=u.__c=t.__c).__=h.__E:("prototype"in L&&L.prototype.render?u.__c=h=new L(m,C):(u.__c=h=new b(m,C),h.constructor=L,h.render=q),x&&x.sub(h),h.props=m,h.state||(h.state={}),h.context=C,h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),null==h.__s&&(h.__s=h.state),null!=L.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,L.getDerivedStateFromProps(m,h.__s))),v=h.props,w=h.state,h.__v=u,p)null==L.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else {if(null==L.getDerivedStateFromProps&&m!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,C),!h.__e&&(null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,C)||u.__v===t.__v)){for(u.__v!==t.__v&&(h.props=m,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.forEach(function(n){n&&(n.__=u);}),M=0;M<h._sb.length;M++)h.__h.push(h._sb[M]);h._sb=[],h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,C),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,w,_);});}if(h.context=C,h.props=m,h.__P=n,h.__e=!1,P=l.__r,$=0,"prototype"in L&&L.prototype.render){for(h.state=h.__s,h.__d=!1,P&&P(u),a=h.render(h.props,h.state,h.context),I=0;I<h._sb.length;I++)h.__h.push(h._sb[I]);h._sb=[];}else do{h.__d=!1,P&&P(u),a=h.render(h.props,h.state,h.context),h.state=h.__s;}while(h.__d&&++$<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),p||null==h.getSnapshotBeforeUpdate||(_=h.getSnapshotBeforeUpdate(v,w)),S(n,y(H=null!=a&&a.type===k&&null==a.key?a.props.children:a)?H:[H],u,t,i,o,r,f,e,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&f.push(h),g&&(h.__E=h.__=null);}catch(n){u.__v=null,c||null!=r?(u.__e=e,u.__u|=c?160:32,r[r.indexOf(e)]=null):(u.__e=t.__e,u.__k=t.__k),l.__e(n,u,t);}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=z(t.__e,u,t,i,o,r,f,c,s);(a=l.diffed)&&a(u);}function j(n,u,t){u.__d=void 0;for(var i=0;i<t.length;i++)N(t[i],t[++i],t[++i]);l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l.__e(n,u.__v);}});}function z(l,u,t,i,o,r,f,e,c){var s,a,p,v,d,_,g,m=t.props,k=u.props,b=u.type;if("svg"===b?o="http://www.w3.org/2000/svg":"math"===b?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),null!=r)for(s=0;s<r.length;s++)if((d=r[s])&&"setAttribute"in d==!!b&&(b?d.localName===b:3===d.nodeType)){l=d,r[s]=null;break}if(null==l){if(null===b)return document.createTextNode(k);l=document.createElementNS(o,b,k.is&&k),r=null,e=!1;}if(null===b)m===k||e&&l.data===k||(l.data=k);else {if(r=r&&n.call(l.childNodes),m=t.props||h,!e&&null!=r)for(m={},s=0;s<l.attributes.length;s++)m[(d=l.attributes[s]).name]=d.value;for(s in m)if(d=m[s],"children"==s);else if("dangerouslySetInnerHTML"==s)p=d;else if("key"!==s&&!(s in k)){if("value"==s&&"defaultValue"in k||"checked"==s&&"defaultChecked"in k)continue;A(l,s,null,d,o);}for(s in k)d=k[s],"children"==s?v=d:"dangerouslySetInnerHTML"==s?a=d:"value"==s?_=d:"checked"==s?g=d:"key"===s||e&&"function"!=typeof d||m[s]===d||A(l,s,d,m[s],o);if(a)e||p&&(a.__html===p.__html||a.__html===l.innerHTML)||(l.innerHTML=a.__html),u.__k=[];else if(p&&(l.innerHTML=""),S(l,y(v)?v:[v],u,t,i,"foreignObject"===b?"http://www.w3.org/1999/xhtml":o,r,f,r?r[0]:t.__k&&x(t,0),e,c),null!=r)for(s=r.length;s--;)null!=r[s]&&w(r[s]);e||(s="value",void 0!==_&&(_!==l[s]||"progress"===b&&!_||"option"===b&&_!==m[s])&&A(l,s,_,m[s],o),s="checked",void 0!==g&&g!==l[s]&&A(l,s,g,m[s],o));}return l}function N(n,u,t){try{"function"==typeof n?n(u):n.current=u;}catch(n){l.__e(n,t);}}function V(n,u,t){var i,o;if(l.unmount&&l.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||N(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(n){l.__e(n,u);}i.base=i.__P=null;}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&V(i[o],u,t||"function"!=typeof n.type);t||null==n.__e||w(n.__e),n.__c=n.__=n.__e=n.__d=void 0;}function q(n,l,u){return this.constructor(n,u)}function B(u,t,i){var o,r,f,e;l.__&&l.__(u,t),r=(o="function"==typeof i)?null:i&&i.__k||t.__k,f=[],e=[],O(t,u=(!o&&i||t).__k=_(k,null,[u]),r||h,h,t.namespaceURI,!o&&i?[i]:r?null:t.firstChild?n.call(t.childNodes):null,f,!o&&i?i:r?r.__e:t.firstChild,o,e),j(f,u,e);}n=p.slice,l={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l;}throw n}},u=0,b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this));},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this));},b.prototype.render=k,i=[],r="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},P.__r=0,e=0,c=F(!1),s=F(!0),0;
-
-var n$1=function(t,s,r,e){var u;s[0]=0;for(var h=1;h<s.length;h++){var p=s[h++],a=s[h]?(s[0]|=p?1:2,r[s[h++]]):s[++h];3===p?e[0]=a:4===p?e[1]=Object.assign(e[1]||{},a):5===p?(e[1]=e[1]||{})[s[++h]]=a:6===p?e[1][s[++h]]+=a+"":p?(u=t.apply(a,n$1(t,a,r,["",null])),e.push(u),a[0]?s[0]|=2:(s[h-2]=0,s[h]=u)):e.push(a);}return e},t=new Map;function e$1(s){var r=t.get(this);return r||(r=new Map,t.set(this,r)),(r=n$1(this,r.get(s)||(r.set(s,r=function(n){for(var t,s,r=1,e="",u="",h=[0],p=function(n){1===r&&(n||(e=e.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?h.push(0,n,e):3===r&&(n||e)?(h.push(3,n,e),r=2):2===r&&"..."===e&&n?h.push(4,n,0):2===r&&e&&!n?h.push(5,0,!0,e):r>=5&&((e||!n&&5===r)&&(h.push(r,0,e,s),r=6),n&&(h.push(r,n,0,s),r=6)),e="";},a=0;a<n.length;a++){a&&(1===r&&p(),p(a));for(var l=0;l<n[a].length;l++)t=n[a][l],1===r?"<"===t?(p(),h=[h],r=3):e+=t:4===r?"--"===e&&">"===t?(r=1,e=""):e=t+e[0]:u?t===u?u="":e+=t:'"'===t||"'"===t?u=t:">"===t?(p(),r=1):r&&("="===t?(r=5,s=e,e=""):"/"===t&&(r<5||">"===n[a][l+1])?(p(),3===r&&(h=h[0]),r=h,(h=h[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(p(),r=2):e+=t),3===r&&"!--"===e&&(r=4,h=h[0]);}return p(),h}(s)),r),arguments,[])).length>1?r:r[0]}
-
-var m=e$1.bind(_);
-
-export { b as Component, m as html, B as render };
diff --git a/sticker.pinapelz.moe/package.json b/sticker.pinapelz.moe/package.json
deleted file mode 100644
index 44fe1ea..0000000
--- a/sticker.pinapelz.moe/package.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": "maunium-stickerpicker",
- "version": "0.1.0",
- "description": "A fast and simple Matrix sticker picker widget",
- "repository": "https://github.com/maunium/stickerpicker",
- "author": "Tulir Asokan <tulir@maunium.net>",
- "license": "AGPL-3.0-or-later",
- "private": true,
- "scripts": {
- "esinstall": "node ./esinstall.js",
- "sass": "sass --no-source-map --style=compressed style/"
- },
- "dependencies": {
- "esinstall": "^1.1.7",
- "htm": "^3.1.0",
- "preact": "^10.5.14",
- "sass": "^1.42.1"
- }
-}
diff --git a/sticker.pinapelz.moe/packs/.gitkeep b/sticker.pinapelz.moe/packs/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/sticker.pinapelz.moe/packs/.gitkeep
+++ /dev/null
diff --git a/sticker.pinapelz.moe/packs/dank.json b/sticker.pinapelz.moe/packs/dank.json
deleted file mode 100644
index e5f2766..0000000
--- a/sticker.pinapelz.moe/packs/dank.json
+++ /dev/null
@@ -1 +0,0 @@
-{"title": "dank", "id": "dank", "stickers": [{"body": "aware", "url": "mxc://chat.moekyun.me/QURUNgNThYmIdzyasFdcLJnr", "info": {"w": 112, "h": 112, "size": 17080, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/QURUNgNThYmIdzyasFdcLJnr", "thumbnail_info": {"w": 112, "h": 112, "size": 17080, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:3f0e3edace04fed69af1606f7c3c74591e4b1e3d1a296ad7340dd2b39214f099"}, {"body": "classic", "url": "mxc://chat.moekyun.me/ZBxiNUARoFZGoETjySzbKoAc", "info": {"w": 128, "h": 128, "size": 26042, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/ZBxiNUARoFZGoETjySzbKoAc", "thumbnail_info": {"w": 128, "h": 128, "size": 26042, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:b9bec6f6748663456f72c7689db38e0f76e64a0e0496529d9515139fee067922"}, {"body": "smiley_good", "url": "mxc://chat.moekyun.me/PdyEJxgwOfBCxySfSFYlgPzP", "info": {"w": 256, "h": 256, "size": 90928, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/PdyEJxgwOfBCxySfSFYlgPzP", "thumbnail_info": {"w": 256, "h": 256, "size": 90928, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:57878fa8ccf13f58320c8cf07b266130984b4ed5ad35cfc87b67bc78fb2f7625"}, {"body": "smiley_grrr", "url": "mxc://chat.moekyun.me/xpwjfgHzxJFTiJWIXMEvBBck", "info": {"w": 256, "h": 256, "size": 89762, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/xpwjfgHzxJFTiJWIXMEvBBck", "thumbnail_info": {"w": 256, "h": 256, "size": 89762, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:76efdc3e86754261cfb6c93afe9ff5d25f2d4adbd45235a9670f5dbea6e1f74e"}, {"body": "smiley_no_no", "url": "mxc://chat.moekyun.me/yLAyUjCErrmXBfcAAUxYygsP", "info": {"w": 256, "h": 256, "size": 93010, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/yLAyUjCErrmXBfcAAUxYygsP", "thumbnail_info": {"w": 256, "h": 256, "size": 93010, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:1071abbf8e31ed12d226d5f078630d46b13ae377c9a3276e27f458076e42759a"}, {"body": "smiley_whatever", "url": "mxc://chat.moekyun.me/XmPidyRFUqsIUfMJXlyMqKTg", "info": {"w": 256, "h": 256, "size": 58621, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/XmPidyRFUqsIUfMJXlyMqKTg", "thumbnail_info": {"w": 256, "h": 256, "size": 58621, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:0f22af4ab47f63fcb9676537aa74aa3d0b6c8f606fe9e956f52b7ddfdc67ebf7"}, {"body": "xqc_ok", "url": "mxc://chat.moekyun.me/ZTckkllzHDrGCbrXBEqzDUYB", "info": {"w": 160, "h": 160, "size": 45997, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/ZTckkllzHDrGCbrXBEqzDUYB", "thumbnail_info": {"w": 160, "h": 160, "size": 45997, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:bb49d28ed249cd3f01023ecfa99e2be2af901f737a0249aefbe53b31203197f5"}]} \ No newline at end of file
diff --git a/sticker.pinapelz.moe/packs/index.json b/sticker.pinapelz.moe/packs/index.json
deleted file mode 100644
index cdb8d7d..0000000
--- a/sticker.pinapelz.moe/packs/index.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "packs": [
- "weeb.json",
- "dank.json"
- ],
- "homeserver_url": "https://chat.moekyun.me"
-} \ No newline at end of file
diff --git a/sticker.pinapelz.moe/packs/thumbnails/APyHPuZmyRfUwwsEHijRGdjP b/sticker.pinapelz.moe/packs/thumbnails/APyHPuZmyRfUwwsEHijRGdjP
deleted file mode 100644
index 931a057..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/APyHPuZmyRfUwwsEHijRGdjP
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/ASWmCLdLLTVqLwXptdkBMtws b/sticker.pinapelz.moe/packs/thumbnails/ASWmCLdLLTVqLwXptdkBMtws
deleted file mode 100644
index cdf240a..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/ASWmCLdLLTVqLwXptdkBMtws
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/CLkWhgAkDubZmahPWinNMaSc b/sticker.pinapelz.moe/packs/thumbnails/CLkWhgAkDubZmahPWinNMaSc
deleted file mode 100644
index 20ab20f..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/CLkWhgAkDubZmahPWinNMaSc
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/DlLllEJSQYkOCBBzqVzdxuwR b/sticker.pinapelz.moe/packs/thumbnails/DlLllEJSQYkOCBBzqVzdxuwR
deleted file mode 100644
index e486283..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/DlLllEJSQYkOCBBzqVzdxuwR
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/MjoQgqCbNmTRuQfDngBPPoOC b/sticker.pinapelz.moe/packs/thumbnails/MjoQgqCbNmTRuQfDngBPPoOC
deleted file mode 100644
index a912611..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/MjoQgqCbNmTRuQfDngBPPoOC
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/OddXtQLRutxvLZWWxNicguMc b/sticker.pinapelz.moe/packs/thumbnails/OddXtQLRutxvLZWWxNicguMc
deleted file mode 100644
index 5a12b37..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/OddXtQLRutxvLZWWxNicguMc
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/PdyEJxgwOfBCxySfSFYlgPzP b/sticker.pinapelz.moe/packs/thumbnails/PdyEJxgwOfBCxySfSFYlgPzP
deleted file mode 100644
index 4ce4ec4..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/PdyEJxgwOfBCxySfSFYlgPzP
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/QURUNgNThYmIdzyasFdcLJnr b/sticker.pinapelz.moe/packs/thumbnails/QURUNgNThYmIdzyasFdcLJnr
deleted file mode 100644
index f161e15..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/QURUNgNThYmIdzyasFdcLJnr
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/SzxfhuJJdFPYzoPvSDIBhWxb b/sticker.pinapelz.moe/packs/thumbnails/SzxfhuJJdFPYzoPvSDIBhWxb
deleted file mode 100644
index 706c10d..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/SzxfhuJJdFPYzoPvSDIBhWxb
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/XmPidyRFUqsIUfMJXlyMqKTg b/sticker.pinapelz.moe/packs/thumbnails/XmPidyRFUqsIUfMJXlyMqKTg
deleted file mode 100644
index 2cdcf19..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/XmPidyRFUqsIUfMJXlyMqKTg
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/ZBxiNUARoFZGoETjySzbKoAc b/sticker.pinapelz.moe/packs/thumbnails/ZBxiNUARoFZGoETjySzbKoAc
deleted file mode 100644
index 11f60e7..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/ZBxiNUARoFZGoETjySzbKoAc
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/ZTckkllzHDrGCbrXBEqzDUYB b/sticker.pinapelz.moe/packs/thumbnails/ZTckkllzHDrGCbrXBEqzDUYB
deleted file mode 100644
index e6e259b..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/ZTckkllzHDrGCbrXBEqzDUYB
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/aUBbgTfxxfWapJXDzOGsGWGx b/sticker.pinapelz.moe/packs/thumbnails/aUBbgTfxxfWapJXDzOGsGWGx
deleted file mode 100644
index 79a10b8..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/aUBbgTfxxfWapJXDzOGsGWGx
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/xpwjfgHzxJFTiJWIXMEvBBck b/sticker.pinapelz.moe/packs/thumbnails/xpwjfgHzxJFTiJWIXMEvBBck
deleted file mode 100644
index 581048b..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/xpwjfgHzxJFTiJWIXMEvBBck
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/thumbnails/yLAyUjCErrmXBfcAAUxYygsP b/sticker.pinapelz.moe/packs/thumbnails/yLAyUjCErrmXBfcAAUxYygsP
deleted file mode 100644
index 2b949b8..0000000
--- a/sticker.pinapelz.moe/packs/thumbnails/yLAyUjCErrmXBfcAAUxYygsP
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/packs/weeb.json b/sticker.pinapelz.moe/packs/weeb.json
deleted file mode 100644
index 80550cf..0000000
--- a/sticker.pinapelz.moe/packs/weeb.json
+++ /dev/null
@@ -1 +0,0 @@
-{"title": "weeb", "id": "weeb", "stickers": [{"body": "erina_i_may_be_dumb", "url": "mxc://chat.moekyun.me/SzxfhuJJdFPYzoPvSDIBhWxb", "info": {"w": 146, "h": 160, "size": 37322, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/SzxfhuJJdFPYzoPvSDIBhWxb", "thumbnail_info": {"w": 146, "h": 160, "size": 37322, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:a8e636aef053b1b3214e7afeb8f2539a3fc5dee9a011fabe0c9e4300f73da242"}, {"body": "miku_honest_reaction", "url": "mxc://chat.moekyun.me/OddXtQLRutxvLZWWxNicguMc", "info": {"w": 160, "h": 112, "size": 28353, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/OddXtQLRutxvLZWWxNicguMc", "thumbnail_info": {"w": 160, "h": 112, "size": 28353, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:d4dde21efae2eab7be830a3d65bc78176d898052c8bfaf96d784083b58668ef2"}, {"body": "not_bad", "url": "mxc://chat.moekyun.me/CLkWhgAkDubZmahPWinNMaSc", "info": {"w": 160, "h": 160, "size": 31164, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/CLkWhgAkDubZmahPWinNMaSc", "thumbnail_info": {"w": 160, "h": 160, "size": 31164, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:575e12e9e5452bb44270f13c1942c1ec3c5598a1a59f35358fbf90cb4e1cc71d"}, {"body": "peko_interesting", "url": "mxc://chat.moekyun.me/DlLllEJSQYkOCBBzqVzdxuwR", "info": {"w": 160, "h": 156, "size": 35734, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/DlLllEJSQYkOCBBzqVzdxuwR", "thumbnail_info": {"w": 160, "h": 156, "size": 35734, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:752763fa8f4d19f77b131267ca2a35ed233d62335bafb27b165ca248d00e0b84"}, {"body": "peko_unbelievable", "url": "mxc://chat.moekyun.me/MjoQgqCbNmTRuQfDngBPPoOC", "info": {"w": 160, "h": 160, "size": 52103, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/MjoQgqCbNmTRuQfDngBPPoOC", "thumbnail_info": {"w": 160, "h": 160, "size": 52103, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:618e4ea2b509bdb2c761f8fcafdbe42f56690b028edaa68e510843bd8859d5f1"}, {"body": "senmei_caught_4k", "url": "mxc://chat.moekyun.me/aUBbgTfxxfWapJXDzOGsGWGx", "info": {"w": 160, "h": 160, "size": 39863, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/aUBbgTfxxfWapJXDzOGsGWGx", "thumbnail_info": {"w": 160, "h": 160, "size": 39863, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:04e25a3a8de7d9da6eac994c013c831ada8c674b6dc5d61628ec0a082a45dc4c"}, {"body": "tsukasa_lewd", "url": "mxc://chat.moekyun.me/ASWmCLdLLTVqLwXptdkBMtws", "info": {"w": 160, "h": 160, "size": 29637, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/ASWmCLdLLTVqLwXptdkBMtws", "thumbnail_info": {"w": 160, "h": 160, "size": 29637, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:8dac5d9222770fe41ad4a120042416cb5db9e76501561942e0c0ffcbc78681dc"}, {"body": "weeb_fuck_everything", "url": "mxc://chat.moekyun.me/APyHPuZmyRfUwwsEHijRGdjP", "info": {"w": 140, "h": 160, "size": 47309, "mimetype": "image/png", "thumbnail_url": "mxc://chat.moekyun.me/APyHPuZmyRfUwwsEHijRGdjP", "thumbnail_info": {"w": 140, "h": 160, "size": 47309, "mimetype": "image/png"}}, "msgtype": "m.sticker", "id": "sha256:53246fc04cf8899b6311be5c8ca25673012d061b5f9245e13bc6e3271ef53892"}]} \ No newline at end of file
diff --git a/sticker.pinapelz.moe/res/favorite.svg b/sticker.pinapelz.moe/res/favorite.svg
deleted file mode 100644
index 4af2b49..0000000
--- a/sticker.pinapelz.moe/res/favorite.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg height='100px' width='100px' fill="#000000" xmlns:x="http://ns.adobe.com/Extensibility/1.0/" xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/" xmlns:graph="http://ns.adobe.com/Graphs/1.0/" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve"><g><g i:extraneous="self"><path d="M77,95.3c-0.7,0-1.4-0.2-2-0.6l-25.1-16l-25.1,16c-1.3,0.8-2.9,0.8-4.1-0.1c-1.2-0.9-1.8-2.4-1.4-3.9l7.5-28.9l-23-18.9 c-1.2-1-1.6-2.5-1.2-4c0.5-1.4,1.8-2.4,3.3-2.5l29.8-1.8L46.6,6.9c1.1-2.8,5.7-2.8,6.8,0l10.9,27.8L94,36.4 c1.5,0.1,2.8,1.1,3.3,2.5c0.5,1.4,0,3-1.2,4l-23,19l7.5,28.8c0.4,1.5-0.2,3-1.4,3.9C78.6,95,77.8,95.3,77,95.3z M49.9,70.6 c0.7,0,1.4,0.2,2,0.6l19.2,12.3l-5.7-22c-0.4-1.4,0.1-2.9,1.2-3.8l17.6-14.5l-22.7-1.4c-1.4-0.1-2.7-1-3.2-2.3L50,18.3l-8.3,21.2 c-0.5,1.3-1.8,2.2-3.2,2.3l-22.8,1.4l17.5,14.4c1.1,0.9,1.6,2.4,1.2,3.8l-5.7,22.1l19.2-12.2C48.5,70.8,49.2,70.6,49.9,70.6z"></path></g></g></svg> \ No newline at end of file
diff --git a/sticker.pinapelz.moe/res/giphy-dark.svg b/sticker.pinapelz.moe/res/giphy-dark.svg
deleted file mode 100644
index 9b47567..0000000
--- a/sticker.pinapelz.moe/res/giphy-dark.svg
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- height="534"
- width="427.20001"
- viewBox="0 0 27.990145 35"
- version="1.1"
- id="svg24"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg">
- <defs
- id="defs28" />
- <g
- fill="none"
- fill-rule="evenodd"
- id="g22"
- transform="translate(-0.02883895)">
- <path
- d="M 4,4 H 24 V 31 H 4 Z"
- fill="#000000"
- id="path2"
- style="fill:#ffffff;fill-opacity:1" />
- <g
- fill-rule="nonzero"
- id="g16">
- <path
- d="M 0,3 H 4 V 32 H 0 Z"
- fill="#04ff8e"
- id="path4" />
- <path
- d="m 24,11 h 4 v 21 h -4 z"
- fill="#8e2eff"
- id="path6" />
- <path
- d="m 0,31 h 28 v 4 H 0 Z"
- fill="#00c5ff"
- id="path8" />
- <path
- d="M 0,0 H 16 V 4 H 0 Z"
- fill="#fff152"
- id="path10" />
- <path
- d="M 24,8 V 4 H 20 V 0 H 16 V 12 H 28 V 8"
- fill="#ff5b5b"
- id="path12" />
- <path
- d="m 24,16 v -4 h 4"
- fill="#551c99"
- id="path14" />
- </g>
- <path
- d="M 16,0 V 4 H 12"
- fill="#999131"
- id="path18" />
- </g>
-</svg>
diff --git a/sticker.pinapelz.moe/res/giphy-light.svg b/sticker.pinapelz.moe/res/giphy-light.svg
deleted file mode 100644
index 8016e2c..0000000
--- a/sticker.pinapelz.moe/res/giphy-light.svg
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- height="534"
- width="427.20001"
- viewBox="0 0 27.990145 35"
- version="1.1"
- id="svg24"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg">
- <defs
- id="defs28" />
- <g
- fill="none"
- fill-rule="evenodd"
- id="g22"
- transform="translate(-0.02883895)">
- <path
- d="M 4,4 H 24 V 31 H 4 Z"
- fill="#000000"
- id="path2" />
- <g
- fill-rule="nonzero"
- id="g16">
- <path
- d="M 0,3 H 4 V 32 H 0 Z"
- fill="#04ff8e"
- id="path4" />
- <path
- d="m 24,11 h 4 v 21 h -4 z"
- fill="#8e2eff"
- id="path6" />
- <path
- d="m 0,31 h 28 v 4 H 0 Z"
- fill="#00c5ff"
- id="path8" />
- <path
- d="M 0,0 H 16 V 4 H 0 Z"
- fill="#fff152"
- id="path10" />
- <path
- d="M 24,8 V 4 H 20 V 0 H 16 V 12 H 28 V 8"
- fill="#ff5b5b"
- id="path12" />
- <path
- d="m 24,16 v -4 h 4"
- fill="#551c99"
- id="path14" />
- </g>
- <path
- d="M 16,0 V 4 H 12"
- fill="#999131"
- id="path18" />
- </g>
-</svg>
diff --git a/sticker.pinapelz.moe/res/powered-by-giphy.png b/sticker.pinapelz.moe/res/powered-by-giphy.png
deleted file mode 100644
index 41861e6..0000000
--- a/sticker.pinapelz.moe/res/powered-by-giphy.png
+++ /dev/null
Binary files differ
diff --git a/sticker.pinapelz.moe/res/recent.svg b/sticker.pinapelz.moe/res/recent.svg
deleted file mode 100644
index 59be87d..0000000
--- a/sticker.pinapelz.moe/res/recent.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg height='100px' width='100px' fill="#000000" xmlns:x="http://ns.adobe.com/Extensibility/1.0/" xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/" xmlns:graph="http://ns.adobe.com/Graphs/1.0/" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve"><g><g i:extraneous="self"><g><path d="M84,17.3c-17.8-17.8-46.7-18-64.8-0.5l-6.4-6.4c-0.8-0.8-2-1.1-3.2-0.8C8.7,9.9,7.7,10.9,7.5,12L2.6,35.6 c-0.2,1.1,0.1,2.1,0.8,2.8c0.8,0.8,1.8,1.1,2.9,0.8l23.6-4.9c1.2-0.2,2.1-1,2.4-2.2c0.3-1.1,0-2.4-0.8-3.2L25,22.6 C39.9,8.3,63.6,8.5,78.2,23.1C93,37.9,93,62,78.2,76.9C71,84.1,61.5,88,51.3,88s-19.7-4-26.9-11.1c-5.6-5.6-9.3-12.7-10.6-20.5 c-0.4-2.2-2.5-3.8-4.7-3.4c-2.2,0.4-3.7,2.5-3.4,4.7c1.6,9.5,6.1,18.1,12.9,24.9c8.7,8.7,20.3,13.5,32.7,13.5s24-4.8,32.7-13.5 C102,64.6,102,35.3,84,17.3z"></path><path d="M51.6,21c-2.3,0-4.1,1.8-4.1,4.1V50c0,1.5,0.8,2.9,2.1,3.6l13.2,7.3c0.6,0.4,1.3,0.5,2,0.5c1.4,0,2.8-0.8,3.6-2.1 c1.1-2,0.4-4.5-1.6-5.6l-11.1-6.1V25.1C55.7,22.8,53.9,21,51.6,21z"></path></g></g></g></svg> \ No newline at end of file
diff --git a/sticker.pinapelz.moe/res/search.svg b/sticker.pinapelz.moe/res/search.svg
deleted file mode 100644
index 7be3396..0000000
--- a/sticker.pinapelz.moe/res/search.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M9.145 18.29c-5.042 0-9.145-4.102-9.145-9.145s4.103-9.145 9.145-9.145 9.145 4.103 9.145 9.145-4.102 9.145-9.145 9.145zm0-15.167c-3.321 0-6.022 2.702-6.022 6.022s2.702 6.022 6.022 6.022 6.023-2.702 6.023-6.022-2.702-6.022-6.023-6.022zm9.263 12.443c-.817 1.176-1.852 2.188-3.046 2.981l5.452 5.453 3.014-3.013-5.42-5.421z"/></svg> \ No newline at end of file
diff --git a/sticker.pinapelz.moe/res/settings.svg b/sticker.pinapelz.moe/res/settings.svg
deleted file mode 100644
index 51f966f..0000000
--- a/sticker.pinapelz.moe/res/settings.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg height='100px' width='100px' fill="#000000" xmlns:x="http://ns.adobe.com/Extensibility/1.0/" xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/" xmlns:graph="http://ns.adobe.com/Graphs/1.0/" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve"><g><g i:extraneous="self"><g><path d="M5273.1,2400.1v-2c0-2.8-5-4-9.7-4s-9.7,1.3-9.7,4v2c0,1.8,0.7,3.6,2,4.9l5,4.9c0.3,0.3,0.4,0.6,0.4,1v6.4 c0,0.4,0.2,0.7,0.6,0.8l2.9,0.9c0.5,0.1,1-0.2,1-0.8v-7.2c0-0.4,0.2-0.7,0.4-1l5.1-5C5272.4,2403.7,5273.1,2401.9,5273.1,2400.1z M5263.4,2400c-4.8,0-7.4-1.3-7.5-1.8v0c0.1-0.5,2.7-1.8,7.5-1.8c4.8,0,7.3,1.3,7.5,1.8C5270.7,2398.7,5268.2,2400,5263.4,2400z"></path><path d="M5268.4,2410.3c-0.6,0-1,0.4-1,1c0,0.6,0.4,1,1,1h4.3c0.6,0,1-0.4,1-1c0-0.6-0.4-1-1-1H5268.4z"></path><path d="M5272.7,2413.7h-4.3c-0.6,0-1,0.4-1,1c0,0.6,0.4,1,1,1h4.3c0.6,0,1-0.4,1-1C5273.7,2414.1,5273.3,2413.7,5272.7,2413.7z"></path><path d="M5272.7,2417h-4.3c-0.6,0-1,0.4-1,1c0,0.6,0.4,1,1,1h4.3c0.6,0,1-0.4,1-1C5273.7,2417.5,5273.3,2417,5272.7,2417z"></path></g><g><path d="M50,30.5c-10.8,0-19.5,8.8-19.5,19.5S39.2,69.5,50,69.5c10.8,0,19.5-8.8,19.5-19.5S60.8,30.5,50,30.5z M50,63.6 c-7.5,0-13.6-6.1-13.6-13.6S42.5,36.4,50,36.4c7.5,0,13.6,6.1,13.6,13.6S57.5,63.6,50,63.6z"></path><path d="M94.8,39.1l-13-1.3c-0.2-0.6-0.5-1.1-0.7-1.7L89.4,26c1-1.2,0.9-2.9-0.2-3.9L78,10.8c-1.1-1.1-2.8-1.2-3.9-0.2l-10.1,8.3 c-0.6-0.3-1.1-0.5-1.7-0.7l-1.3-13c-0.2-1.5-1.4-2.7-2.9-2.7H42.1c-1.5,0-2.8,1.1-2.9,2.7l-1.3,13c-0.6,0.2-1.1,0.5-1.7,0.7 L26,10.6c-1.2-1-2.9-0.9-3.9,0.2L10.8,22c-1.1,1.1-1.2,2.8-0.2,3.9l8.3,10.1c-0.3,0.6-0.5,1.1-0.7,1.7l-13,1.3 c-1.5,0.2-2.7,1.4-2.7,2.9v15.9c0,1.5,1.1,2.8,2.7,2.9l13,1.3c0.2,0.6,0.5,1.1,0.7,1.7L10.6,74c-1,1.2-0.9,2.9,0.2,3.9L22,89.2 c1.1,1.1,2.8,1.2,3.9,0.2l10.1-8.3c0.6,0.3,1.1,0.5,1.7,0.7l1.3,13c0.2,1.5,1.4,2.7,2.9,2.7h15.9c1.5,0,2.8-1.1,2.9-2.7l1.3-13 c0.6-0.2,1.1-0.5,1.7-0.7L74,89.4c1.2,1,2.9,0.9,3.9-0.2L89.2,78c1.1-1.1,1.2-2.8,0.2-3.9l-8.3-10.1c0.3-0.6,0.5-1.1,0.7-1.7 l13-1.3c1.5-0.2,2.6-1.4,2.6-2.9V42.1C97.5,40.6,96.4,39.3,94.8,39.1z M91.6,55.3l-12.2,1.2c-1.2,0.1-2.2,0.9-2.5,2 c-0.5,1.5-1.1,2.9-1.8,4.4c-0.5,1-0.4,2.3,0.3,3.2l7.8,9.5l-7.4,7.4l-9.5-7.8c-0.9-0.7-2.2-0.9-3.2-0.3c-1.5,0.8-2.9,1.4-4.4,1.8 c-1.1,0.4-1.9,1.3-2,2.5l-1.2,12.2H44.7l-1.2-12.2c-0.1-1.2-0.9-2.2-2-2.5c-1.5-0.5-2.9-1.1-4.4-1.8c-1-0.5-2.3-0.4-3.2,0.3 l-9.5,7.8l-7.4-7.4l7.8-9.5c0.7-0.9,0.9-2.2,0.3-3.2c-0.8-1.5-1.4-2.9-1.8-4.4c-0.4-1.1-1.3-1.9-2.5-2L8.4,55.3V44.7l12.2-1.2 c1.2-0.1,2.2-0.9,2.5-2c0.5-1.5,1.1-2.9,1.8-4.4c0.5-1,0.4-2.3-0.3-3.2l-7.8-9.5l7.4-7.4l9.5,7.8c0.9,0.7,2.2,0.9,3.2,0.3 c1.5-0.8,2.9-1.4,4.4-1.8c1.1-0.4,1.9-1.3,2-2.5l1.2-12.2h10.5l1.2,12.2c0.1,1.2,0.9,2.2,2,2.5c1.5,0.5,2.9,1.1,4.4,1.8 c1,0.5,2.3,0.4,3.2-0.3l9.5-7.8l7.4,7.4l-7.8,9.5c-0.7,0.9-0.9,2.2-0.3,3.2c0.8,1.5,1.4,2.9,1.8,4.4c0.4,1.1,1.3,1.9,2.5,2 l12.2,1.2V55.3z"></path></g></g></g></svg> \ No newline at end of file
diff --git a/sticker.pinapelz.moe/src/frequently-used.js b/sticker.pinapelz.moe/src/frequently-used.js
deleted file mode 100644
index a754e9a..0000000
--- a/sticker.pinapelz.moe/src/frequently-used.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// maunium-stickerpicker - A fast and simple Matrix sticker picker widget.
-// Copyright (C) 2020 Tulir Asokan
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see <https://www.gnu.org/licenses/>.
-const FREQUENTLY_USED = JSON.parse(window.localStorage.mauFrequentlyUsedStickerIDs || "{}")
-let FREQUENTLY_USED_SORTED = null
-
-export const add = id => {
- const [count] = FREQUENTLY_USED[id] || [0]
- FREQUENTLY_USED[id] = [count + 1, Date.now()]
- window.localStorage.mauFrequentlyUsedStickerIDs = JSON.stringify(FREQUENTLY_USED)
- FREQUENTLY_USED_SORTED = null
-}
-
-export const get = (limit = 16) => {
- if (FREQUENTLY_USED_SORTED === null) {
- FREQUENTLY_USED_SORTED = Object.entries(FREQUENTLY_USED)
- .sort(([, [count1, date1]], [, [count2, date2]]) =>
- count2 === count1 ? date2 - date1 : count2 - count1)
- .map(([emoji]) => emoji)
- }
- return FREQUENTLY_USED_SORTED.slice(0, limit)
-}
diff --git a/sticker.pinapelz.moe/src/giphy.js b/sticker.pinapelz.moe/src/giphy.js
deleted file mode 100644
index 35172bb..0000000
--- a/sticker.pinapelz.moe/src/giphy.js
+++ /dev/null
@@ -1,107 +0,0 @@
-import {Component, html} from "../lib/htm/preact.js";
-import * as widgetAPI from "./widget-api.js";
-import {SearchBox} from "./search-box.js";
-
-const GIPHY_SEARCH_DEBOUNCE = 1000
-let GIPHY_API_KEY = "HQku8974Uq5MZn3MZns46kXn2R4GDm75"
-let GIPHY_MXC_PREFIX = "mxc://giphy.mau.dev/"
-
-export function giphyIsEnabled() {
- return GIPHY_API_KEY !== ""
-}
-
-export function setGiphyAPIKey(apiKey, mxcPrefix) {
- GIPHY_API_KEY = apiKey
- if (mxcPrefix) {
- GIPHY_MXC_PREFIX = mxcPrefix
- }
-}
-
-export class GiphySearchTab extends Component {
- constructor(props) {
- super(props)
- this.state = {
- searchTerm: "",
- gifs: [],
- loading: false,
- error: null,
- }
- this.handleGifClick = this.handleGifClick.bind(this)
- this.searchKeyUp = this.searchKeyUp.bind(this)
- this.updateGifSearchQuery = this.updateGifSearchQuery.bind(this)
- this.searchTimeout = null
- }
-
- async makeGifSearchRequest() {
- try {
- const resp = await fetch(`https://api.giphy.com/v1/gifs/search?q=${this.state.searchTerm}&api_key=${GIPHY_API_KEY}`)
- // TODO handle error responses properly?
- const data = await resp.json()
- if (data.data.length === 0) {
- this.setState({gifs: [], error: "No results"})
- } else {
- this.setState({gifs: data.data, error: null})
- }
- } catch (error) {
- this.setState({error})
- }
- }
-
- componentWillUnmount() {
- clearTimeout(this.searchTimeout)
- }
-
- searchKeyUp(event) {
- if (event.key === "Enter") {
- clearTimeout(this.searchTimeout)
- this.makeGifSearchRequest()
- }
- }
-
- updateGifSearchQuery(event) {
- this.setState({searchTerm: event.target.value})
- clearTimeout(this.searchTimeout)
- this.searchTimeout = setTimeout(() => this.makeGifSearchRequest(), GIPHY_SEARCH_DEBOUNCE)
- }
-
- handleGifClick(gif) {
- widgetAPI.sendSticker({
- "body": gif.title,
- "info": {
- "h": +gif.images.original.height,
- "w": +gif.images.original.width,
- "size": +gif.images.original.size,
- "mimetype": "image/webp",
- },
- "msgtype": "m.image",
- "url": GIPHY_MXC_PREFIX + gif.id,
-
- "id": gif.id,
- "filename": gif.id + ".webp",
- })
- }
-
- render() {
- // TODO display loading state?
- return html`
- <${SearchBox} onInput=${this.updateGifSearchQuery} onKeyUp=${this.searchKeyUp} value=${this.state.searchTerm} placeholder="Find GIFs"/>
- <div class="pack-list">
- <section class="stickerpack" id="pack-giphy">
- <div class="error">
- ${this.state.error}
- </div>
- <div class="sticker-list">
- ${this.state.gifs.map((gif) => html`
- <div class="sticker" onClick=${() => this.handleGifClick(gif)} data-gif-id=${gif.id}>
- <img src=${gif.images.fixed_height.url} alt=${gif.title} class="visible" data=/>
- </div>
- `)}
- </div>
- <div class="footer powered-by-giphy">
- <img src="./res/powered-by-giphy.png" alt="Powered by GIPHY"/>
- </div>
- </section>
- </div>
- `
- }
-}
diff --git a/sticker.pinapelz.moe/src/index.js b/sticker.pinapelz.moe/src/index.js
deleted file mode 100644
index 9f545b8..0000000
--- a/sticker.pinapelz.moe/src/index.js
+++ /dev/null
@@ -1,400 +0,0 @@
-// maunium-stickerpicker - A fast and simple Matrix sticker picker widget.
-// Copyright (C) 2020 Tulir Asokan
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see <https://www.gnu.org/licenses/>.
-import {html, render, Component} from "../lib/htm/preact.js"
-import {Spinner} from "./spinner.js"
-import {SearchBox} from "./search-box.js"
-import {giphyIsEnabled, GiphySearchTab, setGiphyAPIKey} from "./giphy.js"
-import * as widgetAPI from "./widget-api.js"
-import * as frequent from "./frequently-used.js"
-
-// The base URL for fetching packs. The app will first fetch ${PACK_BASE_URL}/index.json,
-// then ${PACK_BASE_URL}/${packFile} for each packFile in the packs object of the index.json file.
-const PACKS_BASE_URL = "packs"
-
-let INDEX = `${PACKS_BASE_URL}/index.json`
-const params = new URLSearchParams(document.location.search)
-if (params.has('config')) {
- INDEX = params.get("config")
-}
-
-const makeThumbnailURL = mxc => `${PACKS_BASE_URL}/thumbnails/${mxc.split("/").slice(-1)[0]}`
-
-// We need to detect iOS webkit because it has a bug related to scrolling non-fixed divs
-// This is also used to fix scrolling to sections on Element iOS
-const isMobileSafari = navigator.userAgent.match(/(iPod|iPhone|iPad)/) && navigator.userAgent.match(/AppleWebKit/)
-
-const supportedThemes = ["light", "dark", "black"]
-
-const defaultState = {
- packs: [],
- filtering: {
- searchTerm: "",
- packs: [],
- },
-}
-
-class App extends Component {
- constructor(props) {
- super(props)
- this.defaultTheme = params.get("theme")
- this.state = {
- viewingGifs: false,
- packs: defaultState.packs,
- loading: true,
- error: null,
- stickersPerRow: parseInt(localStorage.mauStickersPerRow || "4"),
- theme: localStorage.mauStickerThemeOverride || this.defaultTheme,
- frequentlyUsed: {
- id: "frequently-used",
- title: "Frequently used",
- stickerIDs: frequent.get(),
- stickers: [],
- },
- filtering: defaultState.filtering,
- }
- if (!supportedThemes.includes(this.state.theme)) {
- this.state.theme = "light"
- }
- if (!supportedThemes.includes(this.defaultTheme)) {
- this.defaultTheme = "light"
- }
- this.stickersByID = new Map(JSON.parse(localStorage.mauFrequentlyUsedStickerCache || "[]"))
- this.state.frequentlyUsed.stickers = this._getStickersByID(this.state.frequentlyUsed.stickerIDs)
- this.imageObserver = null
- this.packListRef = null
- this.navRef = null
- this.searchStickers = this.searchStickers.bind(this)
- this.sendSticker = this.sendSticker.bind(this)
- this.navScroll = this.navScroll.bind(this)
- this.reloadPacks = this.reloadPacks.bind(this)
- this.observeSectionIntersections = this.observeSectionIntersections.bind(this)
- this.observeImageIntersections = this.observeImageIntersections.bind(this)
- }
-
- _getStickersByID(ids) {
- return ids.map(id => this.stickersByID.get(id)).filter(sticker => !!sticker)
- }
-
- updateFrequentlyUsed() {
- const stickerIDs = frequent.get()
- const stickers = this._getStickersByID(stickerIDs)
- this.setState({
- frequentlyUsed: {
- ...this.state.frequentlyUsed,
- stickerIDs,
- stickers,
- },
- })
- localStorage.mauFrequentlyUsedStickerCache = JSON.stringify(stickers.map(sticker => [sticker.id, sticker]))
- }
-
- searchStickers(e) {
- const sanitizeString = s => s.toLowerCase().trim()
- const searchTerm = sanitizeString(e.target.value)
-
- const allPacks = [this.state.frequentlyUsed, ...this.state.packs]
- const packsWithFilteredStickers = allPacks.map(pack => ({
- ...pack,
- stickers: pack.stickers.filter(sticker =>
- sanitizeString(sticker.body).includes(searchTerm) ||
- sanitizeString(sticker.id).includes(searchTerm)
- ),
- }))
-
- this.setState({
- filtering: {
- ...this.state.filtering,
- searchTerm,
- packs: packsWithFilteredStickers.filter(({stickers}) => !!stickers.length),
- },
- })
- }
-
- setStickersPerRow(val) {
- localStorage.mauStickersPerRow = val
- document.documentElement.style.setProperty("--stickers-per-row", localStorage.mauStickersPerRow)
- this.setState({
- stickersPerRow: val,
- })
- this.packListRef.scrollTop = this.packListRef.scrollHeight
- }
-
- setTheme(theme) {
- if (theme === "default") {
- delete localStorage.mauStickerThemeOverride
- this.setState({theme: this.defaultTheme})
- } else {
- localStorage.mauStickerThemeOverride = theme
- this.setState({theme: theme})
- }
- }
-
- reloadPacks() {
- this.imageObserver.disconnect()
- this.sectionObserver.disconnect()
- this.setState({
- packs: defaultState.packs,
- filtering: defaultState.filtering,
- })
- this._loadPacks(true)
- }
-
- _loadPacks(disableCache = false) {
- const cache = disableCache ? "no-cache" : undefined
- fetch(INDEX, {cache}).then(async indexRes => {
- if (indexRes.status >= 400) {
- this.setState({
- loading: false,
- error: indexRes.status !== 404 ? indexRes.statusText : null,
- })
- return
- }
- const indexData = await indexRes.json()
- if (indexData.giphy_api_key !== undefined) {
- setGiphyAPIKey(indexData.giphy_api_key, indexData.giphy_mxc_prefix)
- }
- // TODO only load pack metadata when scrolled into view?
- for (const packFile of indexData.packs) {
- let packRes
- if (packFile.startsWith("https://") || packFile.startsWith("http://")) {
- packRes = await fetch(packFile, {cache})
- } else {
- packRes = await fetch(`${PACKS_BASE_URL}/${packFile}`, {cache})
- }
- const packData = await packRes.json()
- for (const sticker of packData.stickers) {
- this.stickersByID.set(sticker.id, sticker)
- }
- this.setState({
- packs: [...this.state.packs, packData],
- loading: false,
- })
- }
- this.updateFrequentlyUsed()
- }, error => this.setState({loading: false, error}))
- }
-
- componentDidMount() {
- document.documentElement.style.setProperty("--stickers-per-row", this.state.stickersPerRow.toString())
- this._loadPacks()
- this.imageObserver = new IntersectionObserver(this.observeImageIntersections, {
- rootMargin: "100px",
- })
- this.sectionObserver = new IntersectionObserver(this.observeSectionIntersections)
- }
-
- observeImageIntersections(intersections) {
- for (const entry of intersections) {
- const img = entry.target.children.item(0)
- if (entry.isIntersecting) {
- img.setAttribute("src", img.getAttribute("data-src"))
- img.classList.add("visible")
- } else {
- img.removeAttribute("src")
- img.classList.remove("visible")
- }
- }
- }
-
- observeSectionIntersections(intersections) {
- const navWidth = this.navRef.getBoundingClientRect().width
- let minX = 0, maxX = navWidth
- let minXElem = null
- let maxXElem = null
- for (const entry of intersections) {
- const packID = entry.target.getAttribute("data-pack-id")
- if (!packID) {
- continue
- }
- const navElement = document.getElementById(`nav-${packID}`)
- if (entry.isIntersecting) {
- navElement.classList.add("visible")
- const bb = navElement.getBoundingClientRect()
- if (bb.x < minX) {
- minX = bb.x
- minXElem = navElement
- } else if (bb.right > maxX) {
- maxX = bb.right
- maxXElem = navElement
- }
- } else {
- navElement.classList.remove("visible")
- }
- }
- if (minXElem !== null) {
- minXElem.scrollIntoView({inline: "start"})
- } else if (maxXElem !== null) {
- maxXElem.scrollIntoView({inline: "end"})
- }
- }
-
- componentDidUpdate() {
- if (this.packListRef === null) {
- return
- }
- for (const elem of this.packListRef.getElementsByClassName("sticker")) {
- this.imageObserver.observe(elem)
- }
- for (const elem of this.packListRef.children) {
- this.sectionObserver.observe(elem)
- }
- }
-
- componentWillUnmount() {
- this.imageObserver.disconnect()
- this.sectionObserver.disconnect()
- }
-
- sendSticker(evt) {
- const id = evt.currentTarget.getAttribute("data-sticker-id")
- const sticker = this.stickersByID.get(id)
- frequent.add(id)
- this.updateFrequentlyUsed()
- widgetAPI.sendSticker(sticker)
- }
-
- navScroll(evt) {
- this.navRef.scrollLeft += evt.deltaY
- }
-
- render() {
- const theme = `theme-${this.state.theme}`
- const filterActive = !!this.state.filtering.searchTerm
- const packs = filterActive
- ? this.state.filtering.packs
- : [this.state.frequentlyUsed, ...this.state.packs]
-
- if (this.state.loading) {
- return html`
- <main class="spinner ${theme}">
- <${Spinner} size=${80} green/>
- </main>
- `
- } else if (this.state.error) {
- return html`
- <main class="error ${theme}">
- <h1>Failed to load packs</h1>
- <p>${this.state.error}</p>
- </main>
- `
- } else if (this.state.packs.length === 0) {
- return html`
- <main class="empty ${theme}"><h1>No packs found 😿</h1></main>
- `
- }
-
- const onClickOverride = this.state.viewingGifs
- ? (evt, packID) => {
- evt.preventDefault()
- this.setState({viewingGifs: false}, () => {
- scrollToSection(null, packID)
- })
- } : null
- const switchToGiphy = () => this.setState({viewingGifs: true, filtering: defaultState.filtering})
-
- return html`
- <main class="has-content ${theme}">
- <nav onWheel=${this.navScroll} ref=${elem => this.navRef = elem}>
- ${giphyIsEnabled() && html`
- <${NavBarItem} pack=${{id: "giphy", title: "GIPHY"}} iconOverride="giphy" onClickOverride=${switchToGiphy} extraClass=${this.state.viewingGifs ? "visible" : ""}/>
- `}
- <${NavBarItem} pack=${this.state.frequentlyUsed} iconOverride="recent" onClickOverride=${onClickOverride}/>
- ${this.state.packs.map(pack => html`<${NavBarItem} id=${pack.id} pack=${pack} onClickOverride=${onClickOverride}/>`)}
- <${NavBarItem} pack=${{id: "settings", title: "Settings"}} iconOverride="settings" onClickOverride=${onClickOverride}/>
- </nav>
-
- ${this.state.viewingGifs ? html`
- <${GiphySearchTab}/>
- ` : html`
- <${SearchBox} onInput=${this.searchStickers} value=${this.state.filtering.searchTerm ?? ""}/>
- <div class="pack-list ${isMobileSafari ? "ios-safari-hack" : ""}" ref=${(elem) => (this.packListRef = elem)}>
- ${filterActive && packs.length === 0
- ? html`<div class="search-empty"><h1>No stickers match your search</h1></div>`
- : null}
- ${packs.map((pack) => html`<${Pack} id=${pack.id} pack=${pack} send=${this.sendSticker}/>`)}
- <${Settings} app=${this}/>
- </div>
- `}
- </main>`
- }
-}
-
-const Settings = ({app}) => html`
- <section class="stickerpack settings" id="pack-settings" data-pack-id="settings">
- <h1>Settings</h1>
- <div class="settings-list">
- <button onClick=${app.reloadPacks}>Reload</button>
- <div>
- <label for="stickers-per-row">Stickers per row: ${app.state.stickersPerRow}</label>
- <input type="range" min=2 max=10 id="stickers-per-row" id="stickers-per-row"
- value=${app.state.stickersPerRow}
- onInput=${evt => app.setStickersPerRow(evt.target.value)}/>
- </div>
- <div>
- <label for="theme">Theme: </label>
- <select name="theme" id="theme" onChange=${evt => app.setTheme(evt.target.value)}>
- <option value="default">Default</option>
- <option value="light">Light</option>
- <option value="dark">Dark</option>
- <option value="black">Black</option>
- </select>
- </div>
- </div>
- </section>
-`
-
-// By default we just let the browser handle scrolling to sections, but webviews on Element iOS
-// open the link in the browser instead of just scrolling there, so we need to scroll manually:
-const scrollToSection = (evt, id) => {
- const pack = document.getElementById(`pack-${id}`)
- if (pack) {
- pack.scrollIntoView({block: "start", behavior: "instant"})
- }
- evt?.preventDefault()
-}
-
-const NavBarItem = ({pack, iconOverride = null, onClickOverride = null, extraClass = null}) => html`
- <a href="#pack-${pack.id}" id="nav-${pack.id}" data-pack-id=${pack.id} title=${pack.title} class="${extraClass}"
- onClick=${onClickOverride ? (evt => onClickOverride(evt, pack.id)) : (isMobileSafari ? (evt => scrollToSection(evt, pack.id)) : undefined)}>
- <div class="sticker">
- ${iconOverride ? html`
- <span class="icon icon-${iconOverride}"/>
- ` : html`
- <img src=${makeThumbnailURL(pack.stickers[0].url)}
- alt=${pack.stickers[0].body} class="visible" />
- `}
- </div>
- </a>
-`
-
-const Pack = ({pack, send}) => html`
- <section class="stickerpack" id="pack-${pack.id}" data-pack-id=${pack.id}>
- <h1>${pack.title}</h1>
- <div class="sticker-list">
- ${pack.stickers.map(sticker => html`
- <${Sticker} key=${sticker.id} content=${sticker} send=${send}/>
- `)}
- </div>
- </section>
-`
-
-const Sticker = ({content, send}) => html`
- <div class="sticker" onClick=${send} data-sticker-id=${content.id}>
- <img data-src=${makeThumbnailURL(content.url)} alt=${content.body} title=${content.body}/>
- </div>
-`
-
-render(html`<${App}/>`, document.body)
diff --git a/sticker.pinapelz.moe/src/search-box.js b/sticker.pinapelz.moe/src/search-box.js
deleted file mode 100644
index b25769f..0000000
--- a/sticker.pinapelz.moe/src/search-box.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// maunium-stickerpicker - A fast and simple Matrix sticker picker widget.
-// Copyright (C) 2020 Tulir Asokan
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see <https://www.gnu.org/licenses/>.
-import {html} from "../lib/htm/preact.js"
-
-export const SearchBox = ({onInput, onKeyUp, value, placeholder = 'Find stickers'}) => {
- const component = html`
- <div class="search-box">
- <input type="text" placeholder=${placeholder} value=${value} onInput=${onInput} onKeyUp=${onKeyUp}/>
- <span class="icon icon-search"/>
- </div>
- `
- return component
-}
diff --git a/sticker.pinapelz.moe/src/spinner.js b/sticker.pinapelz.moe/src/spinner.js
deleted file mode 100644
index e89dd02..0000000
--- a/sticker.pinapelz.moe/src/spinner.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// maunium-stickerpicker - A fast and simple Matrix sticker picker widget.
-// Copyright (C) 2020 Tulir Asokan
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see <https://www.gnu.org/licenses/>.
-import { html } from "../lib/htm/preact.js"
-
-export const Spinner = ({ size = 40, noCenter = false, noMargin = false, green = false }) => {
- let margin = 0
- if (!isNaN(+size)) {
- size = +size
- margin = noMargin ? 0 : `${Math.round(size / 6)}px`
- size = `${size}px`
- }
- const noInnerMargin = !noCenter || !margin
- const comp = html`
- <div style="width: ${size}; height: ${size}; margin: ${noInnerMargin ? 0 : margin} 0;"
- class="sk-chase ${green && "green"}">
- <div class="sk-chase-dot" />
- <div class="sk-chase-dot" />
- <div class="sk-chase-dot" />
- <div class="sk-chase-dot" />
- <div class="sk-chase-dot" />
- <div class="sk-chase-dot" />
- </div>
- `
- if (!noCenter) {
- return html`<div style="margin: ${margin} 0;" class="sk-center-wrapper">${comp}</div>`
- }
- return comp
-}
diff --git a/sticker.pinapelz.moe/src/widget-api.js b/sticker.pinapelz.moe/src/widget-api.js
deleted file mode 100644
index d9964a7..0000000
--- a/sticker.pinapelz.moe/src/widget-api.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// maunium-stickerpicker - A fast and simple Matrix sticker picker widget.
-// Copyright (C) 2020 Tulir Asokan
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see <https://www.gnu.org/licenses/>.
-let widgetId = null
-
-window.onmessage = event => {
- if (!window.parent || !event.data) {
- return
- }
-
- const request = event.data
- if (!request.requestId || !request.widgetId || !request.action || request.api !== "toWidget") {
- return
- }
-
- if (widgetId) {
- if (widgetId !== request.widgetId) {
- return
- }
- } else {
- widgetId = request.widgetId
- }
-
- let response
-
- if (request.action === "visibility") {
- response = {}
- } else if (request.action === "capabilities") {
- response = { capabilities: ["m.sticker"] }
- } else {
- response = { error: { message: "Action not supported" } }
- }
-
- window.parent.postMessage({ ...request, response }, event.origin)
-}
-
-export function sendSticker(content) {
- const data = {
- content: { ...content },
- // `name` is for Element Web (and also the spec)
- // Element Android uses content -> body as the name
- name: content.body,
- }
- // Custom field that stores the ID even for non-telegram stickers
- delete data.content.id
-
- // This is for Element iOS
- const widgetData = {
- ...data,
- description: content.body,
- file: content.filename ?? `${content.id}.png`,
- }
- delete widgetData.content.filename
- // Element iOS explodes if there are extra fields present
- delete widgetData.content["net.maunium.telegram.sticker"]
-
- window.parent.postMessage({
- api: "fromWidget",
- action: "m.sticker",
- requestId: `sticker-${Date.now()}`,
- widgetId,
- data,
- widgetData,
- }, "*")
-}
diff --git a/sticker.pinapelz.moe/style/index.css b/sticker.pinapelz.moe/style/index.css
deleted file mode 100644
index f73124e..0000000
--- a/sticker.pinapelz.moe/style/index.css
+++ /dev/null
@@ -1 +0,0 @@
-*{font-family:sans-serif}body{margin:0}h1{font-size:1rem}:root{--stickers-per-row: 4;--sticker-size: calc(100vw / var(--stickers-per-row))}main{color:var(--text-color)}main.spinner{margin-top:5rem}main.error,main.empty{margin:2rem}main.empty{text-align:center}main.has-content{position:fixed;top:0;left:0;right:0;bottom:0;display:grid;grid-template-rows:calc(12vw + 2px) min-content auto}main.theme-light{--highlight-color: #eee;--search-box-color: var(--highlight-color);--text-color: black;background-color:#fff}main.theme-dark{--highlight-color: #444;--search-box-color: #383e4b;--text-color: white;background-color:#22262e}main.theme-dark .icon.icon-giphy{background-image:url(../res/giphy-dark.svg)}main.theme-black{--highlight-color: #222;--search-box-color: var(--highlight-color);--text-color: white;background-color:#000}main.theme-black .icon.icon-giphy{background-image:url(../res/giphy-dark.svg)}div.powered-by-giphy{padding:1rem}div.powered-by-giphy>img{width:100%}.icon{width:100%;height:100%;background-color:var(--text-color);mask-size:contain;-webkit-mask-size:contain;mask-image:var(--icon-image);-webkit-mask-image:var(--icon-image)}.icon.icon-settings{--icon-image: url(../res/settings.svg)}.icon.icon-recent{--icon-image: url(../res/recent.svg)}.icon.icon.icon-search{--icon-image: url(../res/search.svg)}.icon.icon.icon-giphy{background:center/contain no-repeat url(../res/giphy-light.svg);mask:unset}nav{display:flex;overflow-x:auto}nav>a{border-bottom:2px solid rgba(0,0,0,0)}nav>a.visible{border-bottom-color:green}nav>a>div.sticker{width:12vw;height:12vw}div.pack-list,nav{scrollbar-width:none}div.pack-list::-webkit-scrollbar,nav::-webkit-scrollbar{display:none}div.pack-list{overflow-y:auto}div.pack-list.ios-safari-hack{position:fixed;top:calc(calc(12vw + 2px) + calc(2 * 0.7rem + 2 * 0.5rem + 1rem));bottom:0;left:0;right:0;-webkit-overflow-scrolling:touch}div.search-empty{margin:1.2rem;text-align:center}section.stickerpack{margin-top:.75rem}section.stickerpack>div.sticker-list{display:flex;flex-wrap:wrap}section.stickerpack>h1{margin:0 0 0 .75rem}section.stickerpack#pack-giphy{display:flex;justify-content:space-between;flex-direction:column;min-height:100%}div.sticker{display:flex;padding:4px;cursor:pointer;position:relative;width:var(--sticker-size);height:var(--sticker-size);box-sizing:border-box}div.sticker:hover{background-color:var(--highlight-color)}div.sticker>img{display:none;width:100%;object-fit:contain}div.sticker>img.visible{display:initial}div.sticker>.icon{width:70%;height:70%;margin:15%}div.search-box{position:relative;display:flex}div.search-box>input[type=text]{flex-grow:1;background-color:var(--search-box-color);outline:none;border:none;border-radius:.25rem;height:1rem;padding:.7rem;padding-right:calc(1rem + 0.7rem);margin:.5rem;font-size:1rem;color:var(--text-color)}div.search-box>span.icon{display:flex;position:absolute;top:calc(50% - 1rem/2);right:1rem;width:1rem;height:1rem;box-sizing:border-box}div.settings-list{display:flex;flex-direction:column}div.settings-list>*{margin:.5rem}div.settings-list button{padding:.5rem;border-radius:.25rem}div.settings-list input{width:100%}
diff --git a/sticker.pinapelz.moe/style/index.sass b/sticker.pinapelz.moe/style/index.sass
deleted file mode 100644
index 1269be5..0000000
--- a/sticker.pinapelz.moe/style/index.sass
+++ /dev/null
@@ -1,227 +0,0 @@
-// maunium-stickerpicker - A fast and simple Matrix sticker picker widget.
-// Copyright (C) 2020 Tulir Asokan
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-*
- font-family: sans-serif
-
-body
- margin: 0
-
-h1
- font-size: 1rem
-
-\:root
- --stickers-per-row: 4
- --sticker-size: calc(100vw / var(--stickers-per-row))
-
-$nav-sticker-size: 12vw
-$nav-bottom-highlight: 2px
-$nav-height: calc(#{$nav-sticker-size} + #{$nav-bottom-highlight})
-$nav-height-inverse: calc(-#{$nav-sticker-size} - #{$nav-bottom-highlight})
-
-$search-box-icon-size: 1rem
-$search-box-input-height: 1rem
-$search-box-input-padding: .7rem
-$search-box-input-margin: .5rem
-$search-box-height: calc(2 * #{$search-box-input-padding} + 2 * #{$search-box-input-margin} + #{$search-box-input-height})
-
-main
- color: var(--text-color)
-
- &.spinner
- margin-top: 5rem
-
- &.error, &.empty
- margin: 2rem
-
- &.empty
- text-align: center
-
- &.has-content
- position: fixed
- top: 0
- left: 0
- right: 0
- bottom: 0
- display: grid
- grid-template-rows: $nav-height min-content auto
-
-main.theme-light
- --highlight-color: #eee
- --search-box-color: var(--highlight-color)
- --text-color: black
- background-color: white
-
-main.theme-dark
- --highlight-color: #444
- --search-box-color: #383e4b
- --text-color: white
- background-color: #22262e
-
- .icon.icon-giphy
- background-image: url(../res/giphy-dark.svg)
-
-main.theme-black
- --highlight-color: #222
- --search-box-color: var(--highlight-color)
- --text-color: white
- background-color: black
-
- .icon.icon-giphy
- background-image: url(../res/giphy-dark.svg)
-
-div.powered-by-giphy
- padding: 1rem
- > img
- width: 100%
-
-.icon
- width: 100%
- height: 100%
- background-color: var(--text-color)
- mask-size: contain
- -webkit-mask-size: contain
- mask-image: var(--icon-image)
- -webkit-mask-image: var(--icon-image)
-
- &.icon-settings
- --icon-image: url(../res/settings.svg)
-
- &.icon-recent
- --icon-image: url(../res/recent.svg)
-
- &.icon.icon-search
- --icon-image: url(../res/search.svg)
-
- &.icon.icon-giphy
- background: center / contain no-repeat url(../res/giphy-light.svg)
- mask: unset
-
-nav
- display: flex
- overflow-x: auto
-
- > a
- border-bottom: $nav-bottom-highlight solid transparent
-
- &.visible
- border-bottom-color: green
-
- > div.sticker
- width: $nav-sticker-size
- height: $nav-sticker-size
-
-div.pack-list, nav
- scrollbar-width: none
-
- &::-webkit-scrollbar
- display: none
-
-div.pack-list
- overflow-y: auto
-
-div.pack-list.ios-safari-hack
- position: fixed
- top: calc(#{$nav-height} + #{$search-box-height})
- bottom: 0
- left: 0
- right: 0
- -webkit-overflow-scrolling: touch
-
-div.search-empty
- margin: 1.2rem
- text-align: center
-
-section.stickerpack
- margin-top: .75rem
-
- > div.sticker-list
- display: flex
- flex-wrap: wrap
-
- > h1
- margin: 0 0 0 .75rem
-
-section.stickerpack#pack-giphy
- display: flex
- justify-content: space-between
- flex-direction: column
- min-height: 100%
-
-div.sticker
- display: flex
- padding: 4px
- cursor: pointer
- position: relative
- width: var(--sticker-size)
- height: var(--sticker-size)
- box-sizing: border-box
-
- &:hover
- background-color: var(--highlight-color)
-
- > img
- display: none
- width: 100%
- object-fit: contain
-
- &.visible
- display: initial
-
- > .icon
- width: 70%
- height: 70%
- margin: 15%
-
-div.search-box
- position: relative
- display: flex
-
- >input[type="text"]
- flex-grow: 1
- background-color: var(--search-box-color)
- outline: none
- border: none
- border-radius: .25rem
- height: $search-box-input-height
- padding: $search-box-input-padding
- padding-right: calc(#{$search-box-icon-size} + #{$search-box-input-padding})
- margin: $search-box-input-margin
- font-size: 1rem
- color: var(--text-color)
-
- >span.icon
- display: flex
- position: absolute
- top: calc(50% - #{$search-box-icon-size} / 2)
- right: $search-box-icon-size
- width: $search-box-icon-size
- height: $search-box-icon-size
- box-sizing: border-box
-
-div.settings-list
- display: flex
- flex-direction: column
-
- > *
- margin: .5rem
-
- button
- padding: .5rem
- border-radius: .25rem
-
- input
- width: 100%
diff --git a/sticker.pinapelz.moe/style/spinner.css b/sticker.pinapelz.moe/style/spinner.css
deleted file mode 100644
index de03d9c..0000000
--- a/sticker.pinapelz.moe/style/spinner.css
+++ /dev/null
@@ -1 +0,0 @@
-.sk-center-wrapper{width:100%;display:flex;justify-content:space-around}.sk-chase{position:relative;animation:sk-chase 2.5s infinite linear both}.sk-chase.green>.sk-chase-dot:before{background-color:#00c853}.sk-chase>.sk-chase-dot{width:100%;height:100%;position:absolute;left:0;top:0;animation:sk-chase-dot 2s infinite ease-in-out both}.sk-chase>.sk-chase-dot:before{content:"";display:block;width:25%;height:25%;border-radius:100%;animation:sk-chase-dot-before 2s infinite ease-in-out both;background-color:#fff}.sk-chase>.sk-chase-dot:nth-child(1){animation-delay:-1.1s}.sk-chase>.sk-chase-dot:nth-child(2){animation-delay:-1s}.sk-chase>.sk-chase-dot:nth-child(3){animation-delay:-0.9s}.sk-chase>.sk-chase-dot:nth-child(4){animation-delay:-0.8s}.sk-chase>.sk-chase-dot:nth-child(5){animation-delay:-0.7s}.sk-chase>.sk-chase-dot:nth-child(6){animation-delay:-0.6s}.sk-chase>.sk-chase-dot:nth-child(1):before{animation-delay:-1.1s}.sk-chase>.sk-chase-dot:nth-child(2):before{animation-delay:-1s}.sk-chase>.sk-chase-dot:nth-child(3):before{animation-delay:-0.9s}.sk-chase>.sk-chase-dot:nth-child(4):before{animation-delay:-0.8s}.sk-chase>.sk-chase-dot:nth-child(5):before{animation-delay:-0.7s}.sk-chase>.sk-chase-dot:nth-child(6):before{animation-delay:-0.6s}@keyframes sk-chase{100%{transform:rotate(360deg)}}@keyframes sk-chase-dot{80%,100%{transform:rotate(360deg)}}@keyframes sk-chase-dot-before{50%{transform:scale(0.4)}100%,0%{transform:scale(1)}}
diff --git a/sticker.pinapelz.moe/style/spinner.sass b/sticker.pinapelz.moe/style/spinner.sass
deleted file mode 100644
index cbc9042..0000000
--- a/sticker.pinapelz.moe/style/spinner.sass
+++ /dev/null
@@ -1,68 +0,0 @@
-// Chase spinner from https://tobiasahlin.com/spinkit/. MIT license
-.sk-center-wrapper
- width: 100%
- display: flex
- justify-content: space-around
-
-.sk-chase
- position: relative
- animation: sk-chase 2.5s infinite linear both
-
- &.green > .sk-chase-dot:before
- background-color: #00C853
-
- > .sk-chase-dot
- width: 100%
- height: 100%
- position: absolute
- left: 0
- top: 0
- animation: sk-chase-dot 2.0s infinite ease-in-out both
-
- &:before
- content: ''
- display: block
- width: 25%
- height: 25%
- border-radius: 100%
- animation: sk-chase-dot-before 2.0s infinite ease-in-out both
- background-color: #FFF
-
- &:nth-child(1)
- animation-delay: -1.1s
- &:nth-child(2)
- animation-delay: -1.0s
- &:nth-child(3)
- animation-delay: -0.9s
- &:nth-child(4)
- animation-delay: -0.8s
- &:nth-child(5)
- animation-delay: -0.7s
- &:nth-child(6)
- animation-delay: -0.6s
- &:nth-child(1):before
- animation-delay: -1.1s
- &:nth-child(2):before
- animation-delay: -1.0s
- &:nth-child(3):before
- animation-delay: -0.9s
- &:nth-child(4):before
- animation-delay: -0.8s
- &:nth-child(5):before
- animation-delay: -0.7s
- &:nth-child(6):before
- animation-delay: -0.6s
-
-@keyframes sk-chase
- 100%
- transform: rotate(360deg)
-
-@keyframes sk-chase-dot
- 80%, 100%
- transform: rotate(360deg)
-
-@keyframes sk-chase-dot-before
- 50%
- transform: scale(0.4)
- 100%, 0%
- transform: scale(1.0)
diff --git a/sticker.pinapelz.moe/yarn.lock b/sticker.pinapelz.moe/yarn.lock
deleted file mode 100644
index de00773..0000000
--- a/sticker.pinapelz.moe/yarn.lock
+++ /dev/null
@@ -1,719 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@rollup/plugin-commonjs@^16.0.0":
- version "16.0.0"
- resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-16.0.0.tgz#169004d56cd0f0a1d0f35915d31a036b0efe281f"
- integrity sha512-LuNyypCP3msCGVQJ7ki8PqYdpjfEkE/xtFa5DqlF+7IBD0JsfMZ87C58heSwIMint58sAUZbt3ITqOmdQv/dXw==
- dependencies:
- "@rollup/pluginutils" "^3.1.0"
- commondir "^1.0.1"
- estree-walker "^2.0.1"
- glob "^7.1.6"
- is-reference "^1.2.1"
- magic-string "^0.25.7"
- resolve "^1.17.0"
-
-"@rollup/plugin-inject@^4.0.0", "@rollup/plugin-inject@^4.0.2":
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-4.0.4.tgz#fbeee66e9a700782c4f65c8b0edbafe58678fbc2"
- integrity sha512-4pbcU4J/nS+zuHk+c+OL3WtmEQhqxlZ9uqfjQMQDOHOPld7PsCd8k5LWs8h5wjwJN7MgnAn768F2sDxEP4eNFQ==
- dependencies:
- "@rollup/pluginutils" "^3.1.0"
- estree-walker "^2.0.1"
- magic-string "^0.25.7"
-
-"@rollup/plugin-json@^4.0.0":
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3"
- integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==
- dependencies:
- "@rollup/pluginutils" "^3.0.8"
-
-"@rollup/plugin-node-resolve@^10.0.0":
- version "10.0.0"
- resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz#44064a2b98df7530e66acf8941ff262fc9b4ead8"
- integrity sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A==
- dependencies:
- "@rollup/pluginutils" "^3.1.0"
- "@types/resolve" "1.17.1"
- builtin-modules "^3.1.0"
- deepmerge "^4.2.2"
- is-module "^1.0.0"
- resolve "^1.17.0"
-
-"@rollup/plugin-replace@^2.4.2":
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a"
- integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==
- dependencies:
- "@rollup/pluginutils" "^3.1.0"
- magic-string "^0.25.7"
-
-"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
- integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
- dependencies:
- "@types/estree" "0.0.39"
- estree-walker "^1.0.1"
- picomatch "^2.2.2"
-
-"@types/estree@*":
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
- integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
-
-"@types/estree@0.0.39":
- version "0.0.39"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
- integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
-
-"@types/node@*":
- version "20.12.12"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.12.tgz#7cbecdf902085cec634fdb362172dfe12b8f2050"
- integrity sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==
- dependencies:
- undici-types "~5.26.4"
-
-"@types/resolve@1.17.1":
- version "1.17.1"
- resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
- integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==
- dependencies:
- "@types/node" "*"
-
-acorn-walk@^8.2.0:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa"
- integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==
-
-acorn@^8.7.0:
- version "8.11.3"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
- integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
-
-anymatch@~3.1.2:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
- integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-assert@^1.4.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.1.tgz#038ab248e4ff078e7bc2485ba6e6388466c78f76"
- integrity sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==
- dependencies:
- object.assign "^4.1.4"
- util "^0.10.4"
-
-balanced-match@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
- integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-
-binary-extensions@^2.0.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
- integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-braces@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
- dependencies:
- fill-range "^7.0.1"
-
-builtin-modules@^3.1.0, builtin-modules@^3.2.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6"
- integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==
-
-builtins@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88"
- integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==
-
-call-bind@^1.0.5:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9"
- integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
- dependencies:
- es-define-property "^1.0.0"
- es-errors "^1.3.0"
- function-bind "^1.1.2"
- get-intrinsic "^1.2.4"
- set-function-length "^1.2.1"
-
-"chokidar@>=3.0.0 <4.0.0":
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
- integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
- dependencies:
- anymatch "~3.1.2"
- braces "~3.0.2"
- glob-parent "~5.1.2"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.6.0"
- optionalDependencies:
- fsevents "~2.3.2"
-
-cjs-module-lexer@^1.2.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c"
- integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==
-
-commondir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
- integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
-
-cross-spawn@^7.0.3:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
- integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-deepmerge@^4.2.2:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
- integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
-
-define-data-property@^1.0.1, define-data-property@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
- integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
- dependencies:
- es-define-property "^1.0.0"
- es-errors "^1.3.0"
- gopd "^1.0.1"
-
-define-properties@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c"
- integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==
- dependencies:
- define-data-property "^1.0.1"
- has-property-descriptors "^1.0.0"
- object-keys "^1.1.1"
-
-es-define-property@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845"
- integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
- dependencies:
- get-intrinsic "^1.2.4"
-
-es-errors@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
- integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
-
-es-module-lexer@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.6.0.tgz#e72ab05b7412e62b9be37c37a09bdb6000d706f0"
- integrity sha512-f8kcHX1ArhllUtb/wVSyvygoKCznIjnxhLxy7TCvIiMdT7fL4ZDTIKaadMe6eLvOXg6Wk02UeoFgUoZ2EKZZUA==
-
-esinstall@^1.1.7:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/esinstall/-/esinstall-1.1.7.tgz#ceabeb4b8685bf48c805a503e292dfafe4e0cb22"
- integrity sha512-irDsrIF7fZ5BCQEAV5gmH+4nsK6JhnkI9C9VloXdmzJLbM1EcshPw8Ap95UUGc4ZJdzGeOrjV+jgKjQ/Z7Q3pg==
- dependencies:
- "@rollup/plugin-commonjs" "^16.0.0"
- "@rollup/plugin-inject" "^4.0.2"
- "@rollup/plugin-json" "^4.0.0"
- "@rollup/plugin-node-resolve" "^10.0.0"
- "@rollup/plugin-replace" "^2.4.2"
- builtin-modules "^3.2.0"
- cjs-module-lexer "^1.2.1"
- es-module-lexer "^0.6.0"
- execa "^5.1.1"
- is-valid-identifier "^2.0.2"
- kleur "^4.1.1"
- mkdirp "^1.0.3"
- picomatch "^2.3.0"
- resolve "^1.20.0"
- rimraf "^3.0.0"
- rollup "~2.37.1"
- rollup-plugin-polyfill-node "^0.6.2"
- slash "~3.0.0"
- validate-npm-package-name "^3.0.0"
- vm2 "^3.9.2"
-
-estree-walker@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
- integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
-
-estree-walker@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
- integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
-
-execa@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
- integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
- dependencies:
- cross-spawn "^7.0.3"
- get-stream "^6.0.0"
- human-signals "^2.1.0"
- is-stream "^2.0.0"
- merge-stream "^2.0.0"
- npm-run-path "^4.0.1"
- onetime "^5.1.2"
- signal-exit "^3.0.3"
- strip-final-newline "^2.0.0"
-
-fill-range@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
- dependencies:
- to-regex-range "^5.0.1"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-
-fsevents@~2.1.2:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
- integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
-
-fsevents@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
- integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
-
-function-bind@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
- integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
-
-get-intrinsic@^1.1.3, get-intrinsic@^1.2.4:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd"
- integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
- dependencies:
- es-errors "^1.3.0"
- function-bind "^1.1.2"
- has-proto "^1.0.1"
- has-symbols "^1.0.3"
- hasown "^2.0.0"
-
-get-stream@^6.0.0:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
- integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
-
-glob-parent@~5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
-glob@^7.1.3, glob@^7.1.6:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
- integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.1.1"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-gopd@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
- integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
- dependencies:
- get-intrinsic "^1.1.3"
-
-has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
- integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
- dependencies:
- es-define-property "^1.0.0"
-
-has-proto@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd"
- integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==
-
-has-symbols@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
- integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
-
-hasown@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
- integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
- dependencies:
- function-bind "^1.1.2"
-
-htm@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/htm/-/htm-3.1.1.tgz#49266582be0dc66ed2235d5ea892307cc0c24b78"
- integrity sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==
-
-human-signals@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
- integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
-
-immutable@^4.0.0:
- version "4.3.6"
- resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.6.tgz#6a05f7858213238e587fb83586ffa3b4b27f0447"
- integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-inherits@2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
- integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
-
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
-is-core-module@^2.13.0:
- version "2.13.1"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384"
- integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
- dependencies:
- hasown "^2.0.0"
-
-is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
- integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
-
-is-glob@^4.0.1, is-glob@~4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
- integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-module@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
- integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-reference@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
- integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==
- dependencies:
- "@types/estree" "*"
-
-is-stream@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
- integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
-
-is-valid-identifier@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/is-valid-identifier/-/is-valid-identifier-2.0.2.tgz#146d9dbf29821b8118580b039d2203aa4bd1da4b"
- integrity sha512-mpS5EGqXOwzXtKAg6I44jIAqeBfntFLxpAth1rrKbxtKyI6LPktyDYpHBI+tHlduhhX/SF26mFXmxQu995QVqg==
- dependencies:
- assert "^1.4.1"
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-
-kleur@^4.1.1:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"
- integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
-
-magic-string@^0.25.7:
- version "0.25.9"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
- integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
- dependencies:
- sourcemap-codec "^1.4.8"
-
-merge-stream@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
- integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-
-mimic-fn@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
- integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-
-minimatch@^3.1.1:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
- dependencies:
- brace-expansion "^1.1.7"
-
-mkdirp@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-npm-run-path@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
- integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
- dependencies:
- path-key "^3.0.0"
-
-object-keys@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
-object.assign@^4.1.4:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0"
- integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==
- dependencies:
- call-bind "^1.0.5"
- define-properties "^1.2.1"
- has-symbols "^1.0.3"
- object-keys "^1.1.1"
-
-once@^1.3.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
- dependencies:
- wrappy "1"
-
-onetime@^5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
- integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
- dependencies:
- mimic-fn "^2.1.0"
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-
-path-key@^3.0.0, path-key@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
- integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-
-path-parse@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
- integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
- integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-
-preact@^10.5.14:
- version "10.22.0"
- resolved "https://registry.yarnpkg.com/preact/-/preact-10.22.0.tgz#a50f38006ae438d255e2631cbdaf7488e6dd4e16"
- integrity sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==
-
-readdirp@~3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
- integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
- dependencies:
- picomatch "^2.2.1"
-
-resolve@^1.17.0, resolve@^1.20.0:
- version "1.22.8"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
- integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
- dependencies:
- is-core-module "^2.13.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-rimraf@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
- integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
- dependencies:
- glob "^7.1.3"
-
-rollup-plugin-polyfill-node@^0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/rollup-plugin-polyfill-node/-/rollup-plugin-polyfill-node-0.6.2.tgz#dea62e00f5cc2c174e4b4654b5daab79b1a92fc3"
- integrity sha512-gMCVuR0zsKq0jdBn8pSXN1Ejsc458k2QsFFvQdbHoM0Pot5hEnck+pBP/FDwFS6uAi77pD3rDTytsaUStsOMlA==
- dependencies:
- "@rollup/plugin-inject" "^4.0.0"
-
-rollup@~2.37.1:
- version "2.37.1"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.37.1.tgz#aa7aadffd75c80393f9314f9857e851b0ffd34e7"
- integrity sha512-V3ojEeyGeSdrMSuhP3diBb06P+qV4gKQeanbDv+Qh/BZbhdZ7kHV0xAt8Yjk4GFshq/WjO7R4c7DFM20AwTFVQ==
- optionalDependencies:
- fsevents "~2.1.2"
-
-sass@^1.42.1:
- version "1.77.2"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.2.tgz#18d4ed2eefc260cdc8099c5439ec1303fd5863aa"
- integrity sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA==
- dependencies:
- chokidar ">=3.0.0 <4.0.0"
- immutable "^4.0.0"
- source-map-js ">=0.6.2 <2.0.0"
-
-set-function-length@^1.2.1:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
- integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
- dependencies:
- define-data-property "^1.1.4"
- es-errors "^1.3.0"
- function-bind "^1.1.2"
- get-intrinsic "^1.2.4"
- gopd "^1.0.1"
- has-property-descriptors "^1.0.2"
-
-shebang-command@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
- integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
- dependencies:
- shebang-regex "^3.0.0"
-
-shebang-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
- integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
-signal-exit@^3.0.3:
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
- integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
-
-slash@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-"source-map-js@>=0.6.2 <2.0.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af"
- integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
-
-sourcemap-codec@^1.4.8:
- version "1.4.8"
- resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
- integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
-
-strip-final-newline@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
- integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-
-supports-preserve-symlinks-flag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
- integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-undici-types@~5.26.4:
- version "5.26.5"
- resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
- integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
-
-util@^0.10.4:
- version "0.10.4"
- resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
- integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==
- dependencies:
- inherits "2.0.3"
-
-validate-npm-package-name@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e"
- integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==
- dependencies:
- builtins "^1.0.3"
-
-vm2@^3.9.2:
- version "3.9.19"
- resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.19.tgz#be1e1d7a106122c6c492b4d51c2e8b93d3ed6a4a"
- integrity sha512-J637XF0DHDMV57R6JyVsTak7nIL8gy5KH4r1HiwWLf/4GBbb5MKL5y7LpmF4A8E2nR6XmzpmMFQ7V7ppPTmUQg==
- dependencies:
- acorn "^8.7.0"
- acorn-walk "^8.2.0"
-
-which@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage