Guest User

Untitled

a guest
Nov 20th, 2019
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 77.81 KB | None | 0 0
  1. var app=function(){"use strict";function e(){}function t(e,t){for(const n in t)e[n]=t[n];return e}function n(e){return e()}function s(){return Object.create(null)}function i(e){e.forEach(n)}function o(e){return"function"==typeof e}function r(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function a(e,t,n){e.$$.on_destroy.push(function(e,t){const n=e.subscribe(t);return n.unsubscribe?()=>n.unsubscribe():n}(t,n))}function l(e,n,s){return e[1]?t({},t(n.$$scope.ctx,e[1](s?s(n):{}))):n.$$scope.ctx}function c(e){return null==e?"":e}function d(e,t){e.appendChild(t)}function u(e,t,n){e.insertBefore(t,n||null)}function h(e){e.parentNode.removeChild(e)}function m(e,t){for(let n=0;n<e.length;n+=1)e[n]&&e[n].d(t)}function p(e){return document.createElement(e)}function g(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}function f(e){return document.createTextNode(e)}function v(){return f(" ")}function w(e,t,n,s){return e.addEventListener(t,n,s),()=>e.removeEventListener(t,n,s)}function $(e,t,n){null==n?e.removeAttribute(t):e.setAttribute(t,n)}function y(e,t){t=""+t,e.data!==t&&(e.data=t)}function j(e,t){(null!=t||e.value)&&(e.value=t)}function k(e,t,n){e.classList[n?"add":"remove"](t)}let _;function x(e){_=e}function E(){if(!_)throw new Error("Function called outside component initialization");return _}function b(e){E().$$.on_mount.push(e)}function D(){const e=_;return(t,n)=>{const s=e.$$.callbacks[t];if(s){const i=function(e,t){const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,!1,!1,t),n}(t,n);s.slice().forEach(t=>{t.call(e,i)})}}}const I=[],C=[],S=[],M=[],N=Promise.resolve();let L=!1;function P(e){S.push(e)}function T(){const e=new Set;do{for(;I.length;){const e=I.shift();x(e),R(e.$$)}for(;C.length;)C.pop()();for(let t=0;t<S.length;t+=1){const n=S[t];e.has(n)||(n(),e.add(n))}S.length=0}while(I.length);for(;M.length;)M.pop()();L=!1}function R(e){e.fragment&&(e.update(e.dirty),i(e.before_update),e.fragment.p(e.dirty,e.ctx),e.dirty=null,e.after_update.forEach(P))}const A=new Set;let B;function z(){B={r:0,c:[],p:B}}function O(){B.r||i(B.c),B=B.p}function U(e,t){e&&e.i&&(A.delete(e),e.i(t))}function H(e,t,n,s){if(e&&e.o){if(A.has(e))return;A.add(e),B.c.push(()=>{A.delete(e),s&&(n&&e.d(1),s())}),e.o(t)}}const K="undefined"!=typeof window?window:global;function q(e,t){e.d(1),t.delete(e.key)}function V(e,t,n,s,i,o,r,a,l,c,d,u){let h=e.length,m=o.length,p=h;const g={};for(;p--;)g[e[p].key]=p;const f=[],v=new Map,w=new Map;for(p=m;p--;){const e=u(i,o,p),a=n(e);let l=r.get(a);l?s&&l.p(t,e):(l=c(a,e)).c(),v.set(a,f[p]=l),a in g&&w.set(a,Math.abs(p-g[a]))}const $=new Set,y=new Set;function j(e){U(e,1),e.m(a,d),r.set(e.key,e),d=e.first,m--}for(;h&&m;){const t=f[m-1],n=e[h-1],s=t.key,i=n.key;t===n?(d=t.first,h--,m--):v.has(i)?!r.has(s)||$.has(s)?j(t):y.has(i)?h--:w.get(s)>w.get(i)?(y.add(s),j(t)):($.add(i),h--):(l(n,r),h--)}for(;h--;){const t=e[h];v.has(t.key)||l(t,r)}for(;m;)j(f[m-1]);return f}function G(e,t,s){const{fragment:r,on_mount:a,on_destroy:l,after_update:c}=e.$$;r.m(t,s),P(()=>{const t=a.map(n).filter(o);l?l.push(...t):i(t),e.$$.on_mount=[]}),c.forEach(P)}function F(e,t){e.$$.fragment&&(i(e.$$.on_destroy),e.$$.fragment.d(t),e.$$.on_destroy=e.$$.fragment=null,e.$$.ctx={})}function W(e,t){e.$$.dirty||(I.push(e),L||(L=!0,N.then(T)),e.$$.dirty=s()),e.$$.dirty[t]=!0}function J(t,n,o,r,a,l){const c=_;x(t);const d=n.props||{},u=t.$$={fragment:null,ctx:null,props:l,update:e,not_equal:a,bound:s(),on_mount:[],on_destroy:[],before_update:[],after_update:[],context:new Map(c?c.$$.context:[]),callbacks:s(),dirty:null};let h=!1;var m;u.ctx=o?o(t,d,(e,n,s=n)=>(u.ctx&&a(u.ctx[e],u.ctx[e]=s)&&(u.bound[e]&&u.bound[e](s),h&&W(t,e)),n)):d,u.update(),h=!0,i(u.before_update),u.fragment=r(u.ctx),n.target&&(n.hydrate?u.fragment.l((m=n.target,Array.from(m.childNodes))):u.fragment.c(),n.intro&&U(t.$$.fragment),G(t,n.target,n.anchor),T()),x(c)}class Y{$destroy(){F(this,1),this.$destroy=e}$on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(){}}var Z,Q,X;!function(e){e.PING="PING",e.PONG="PONG",e.MESSAGE_NEW="MESSAGE_NEW",e.MESSAGE_EDIT="MESSAGE_EDIT",e.CHANNEL_JOIN="CHANNEL_JOIN",e.CHANNEL_LEAVE="CHANNEL_LEAVE"}(Z||(Z={})),function(e){e.public="public",e.private="private"}(Q||(Q={})),function(e){e.denied="denied",e.user="user",e.admin="admin"}(X||(X={}));const ee=(e={},t={})=>({method:"POST",headers:{...t,"Content-Type":"application/json"},body:JSON.stringify(e||{})}),te=e=>e.text().then(t=>{let n;try{n=JSON.parse(t)}catch(n){throw{code:"unknown",msg:`expecting JSON, got: ${t}`,status:e.status}}if(!e.ok)throw n;return n}),ne=new class{constructor(e,t){this.path="/rpc/RoomlioService/",this.register=((e,t)=>this.fetch(this.url("Register"),ee(e,t)).then(e=>te(e).then(e=>({channelID:e.channelID})))),this.currentUser=(e=>this.fetch(this.url("CurrentUser"),ee({},e)).then(e=>te(e).then(e=>({user:e.user})))),this.userCreate=((e,t)=>this.fetch(this.url("UserCreate"),ee(e,t)).then(e=>te(e).then(e=>({success:e.success})))),this.userCreateFromInvite=((e,t)=>this.fetch(this.url("UserCreateFromInvite"),ee(e,t)).then(e=>te(e).then(e=>({success:e.success})))),this.userLogin=((e,t)=>this.fetch(this.url("UserLogin"),ee(e,t)).then(e=>te(e).then(e=>({success:e.success})))),this.userLogout=(e=>this.fetch(this.url("UserLogout"),ee({},e)).then(e=>te(e).then(e=>({success:e.success})))),this.userInvite=((e,t)=>this.fetch(this.url("UserInvite"),ee(e,t)).then(e=>te(e).then(e=>({success:e.success})))),this.userInvitation=((e,t)=>this.fetch(this.url("UserInvitation"),ee(e,t)).then(e=>te(e).then(e=>({email:e.email,invitedBy:e.invitedBy})))),this.passwordResetEmail=((e,t)=>this.fetch(this.url("PasswordResetEmail"),ee(e,t)).then(e=>te(e).then(e=>({success:e.success})))),this.passwordReset=((e,t)=>this.fetch(this.url("PasswordReset"),ee(e,t)).then(e=>te(e).then(e=>({success:e.success})))),this.messageSend=((e,t)=>this.fetch(this.url("MessageSend"),ee(e,t)).then(e=>te(e).then(e=>({message:e.message})))),this.messageList=((e,t)=>this.fetch(this.url("MessageList"),ee(e,t)).then(e=>te(e).then(e=>({messages:e.messages,hasMore:e.hasMore})))),this.channelCreate=((e,t)=>this.fetch(this.url("ChannelCreate"),ee(e,t)).then(e=>te(e).then(e=>({channel:e.channel})))),this.channelInvite=((e,t)=>this.fetch(this.url("ChannelInvite"),ee(e,t)).then(e=>te(e).then(e=>({success:e.success})))),this.channelList=(e=>this.fetch(this.url("ChannelList"),ee({},e)).then(e=>te(e).then(e=>({channels:e.channels})))),this.hostname=e,this.fetch=t}url(e){return this.hostname+this.path+e}}("https://app.roomlio-stg.com",window.fetch.bind(window));const se=(ie=ie||Object.create(null),{on:function(e,t){(ie[e]||(ie[e]=[])).push(t)},off:function(e,t){ie[e]&&ie[e].splice(ie[e].indexOf(t)>>>0,1)},emit:function(e,t){(ie[e]||[]).slice().map(function(e){e(t)}),(ie["*"]||[]).slice().map(function(n){n(e,t)})}});var ie;const oe=()=>{Notification.requestPermission(function(e){})},re=[];function ae(t,n=e){let s;const i=[];function o(e){if(r(t,e)&&(t=e,s)){const e=!re.length;for(let e=0;e<i.length;e+=1){const n=i[e];n[1](),re.push(n,t)}if(e){for(let e=0;e<re.length;e+=2)re[e][0](re[e+1]);re.length=0}}}return{set:o,update:function(e){o(e(t))},subscribe:function(r,a=e){const l=[r,a];return i.push(l),1===i.length&&(s=n(o)||e),r(t),()=>{const e=i.indexOf(l);-1!==e&&i.splice(e,1),0===i.length&&(s(),s=null)}}}}const le=ae([]),ce=async function(e){let t=await ne.channelList();le.update(e=>t.channels)};function de(t){var n,s,i,o,r,a;return{c(){n=g("svg"),s=g("title"),i=f("Loading"),o=g("path"),r=g("path"),$(o,"class","spinner-circle svelte-3d7o4a"),$(o,"fill-rule","evenodd"),$(o,"clip-rule","evenodd"),$(o,"d","M12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19C15.866 19 19\n 15.866 19 12C19 8.13401 15.866 5 12 5ZM3 12C3 7.02944 7.02944 3 12 3C16.9706\n 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12Z"),$(r,"class","spinner-color-segment svelte-3d7o4a"),$(r,"fill-rule","evenodd"),$(r,"clip-rule","evenodd"),$(r,"d","M16.9497 7.05015C14.2161 4.31648 9.78392 4.31648 7.05025 7.05015C6.65973\n 7.44067 6.02656 7.44067 5.63604 7.05015C5.24551 6.65962 5.24551 6.02646\n 5.63604 5.63593C9.15076 2.12121 14.8492 2.12121 18.364 5.63593C18.7545\n 6.02646 18.7545 6.65962 18.364 7.05015C17.9734 7.44067 17.3403 7.44067\n 16.9497 7.05015Z"),$(n,"class",a=c(`spinner ${t.size}`)+" svelte-3d7o4a"),$(n,"viewBox","3 3 18 18"),$(n,"role","progressbar")},m(e,t){u(e,n,t),d(n,s),d(s,i),d(n,o),d(n,r)},p(e,t){e.size&&a!==(a=c(`spinner ${t.size}`)+" svelte-3d7o4a")&&$(n,"class",a)},i:e,o:e,d(e){e&&h(n)}}}function ue(e,t,n){let{size:s="medium"}=t;return e.$set=(e=>{"size"in e&&n("size",s=e.size)}),{size:s}}class he extends Y{constructor(e){super(),J(this,e,ue,de,r,["size"])}}function me(e){var n;const s=e.$$slots.default,i=function(e,t,n){if(e){const s=l(e,t,n);return e[0](s)}}(s,e,null);return{c(){i&&i.c()},l(e){i&&i.l(e)},m(e,t){i&&i.m(e,t),n=!0},p(e,n){i&&i.p&&e.$$scope&&i.p(function(e,n,s,i){return e[1]?t({},t(n.$$scope.changed||{},e[1](i?i(s):{}))):n.$$scope.changed||{}}(s,n,e,null),l(s,n,null))},i(e){n||(U(i,e),n=!0)},o(e){H(i,e),n=!1},d(e){i&&i.d(e)}}}function pe(t){var n,s,i=new he({props:{size:"small"}});return{c(){n=p("div"),i.$$.fragment.c(),$(n,"class","spinner-container svelte-1kfhlm8")},m(e,t){u(e,n,t),G(i,n,null),s=!0},p:e,i(e){s||(U(i.$$.fragment,e),s=!0)},o(e){H(i.$$.fragment,e),s=!1},d(e){e&&h(n),F(i)}}}function ge(e){var t,n,s,i,o,r,a,l=[pe,me],m=[];function g(e,t){return t.loading?0:1}return s=g(0,e),i=m[s]=l[s](e),{c(){t=p("button"),n=p("span"),i.c(),$(n,"class","btn-content svelte-1kfhlm8"),$(n,"tabindex","-1"),$(t,"class",o=c(`btn ${e.type} ${e.size}`)+" svelte-1kfhlm8"),t.disabled=e.disabled,k(t,"fullwidth",e.fullwidth),k(t,"shadow",e.shadow),k(t,"disabled",e.disabled),a=w(t,"click",e.onClick)},m(e,i){u(e,t,i),d(t,n),m[s].m(n,null),r=!0},p(e,a){var d=s;(s=g(0,a))===d?m[s].p(e,a):(z(),H(m[d],1,1,()=>{m[d]=null}),O(),(i=m[s])||(i=m[s]=l[s](a)).c(),U(i,1),i.m(n,null)),r&&!e.type&&!e.size||o===(o=c(`btn ${a.type} ${a.size}`)+" svelte-1kfhlm8")||$(t,"class",o),r&&!e.disabled||(t.disabled=a.disabled),(e.type||e.size||e.fullwidth)&&k(t,"fullwidth",a.fullwidth),(e.type||e.size||e.shadow)&&k(t,"shadow",a.shadow),(e.type||e.size||e.disabled)&&k(t,"disabled",a.disabled)},i(e){r||(U(i),r=!0)},o(e){H(i),r=!1},d(e){e&&h(t),m[s].d(),a()}}}function fe(e,t,n){let{disabled:s=!1,fullwidth:i=!1,loading:o=!1,shadow:r=!1,size:a="regular",type:l="primary"}=t;const c=D();let{$$slots:d={},$$scope:u}=t;return e.$set=(e=>{"disabled"in e&&n("disabled",s=e.disabled),"fullwidth"in e&&n("fullwidth",i=e.fullwidth),"loading"in e&&n("loading",o=e.loading),"shadow"in e&&n("shadow",r=e.shadow),"size"in e&&n("size",a=e.size),"type"in e&&n("type",l=e.type),"$$scope"in e&&n("$$scope",u=e.$$scope)}),{disabled:s,fullwidth:i,loading:o,shadow:r,size:a,type:l,onClick:()=>c("click"),$$slots:d,$$scope:u}}class ve extends Y{constructor(e){super(),J(this,e,fe,ge,r,["disabled","fullwidth","loading","shadow","size","type"])}}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var we,$e=(function(e,t){e.exports=function(){var e=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)},t=p,n=a,s=function(e){return l(a(e))},i=l,o=m,r=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^()])+)\\))?|\\(((?:\\\\.|[^()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e){for(var t,n=[],s=0,i=0,o="";null!=(t=r.exec(e));){var a=t[0],l=t[1],c=t.index;if(o+=e.slice(i,c),i=c+a.length,l)o+=l[1];else{o&&(n.push(o),o="");var u=t[2],h=t[3],m=t[4],p=t[5],g=t[6],f=t[7],v="+"===g||"*"===g,w="?"===g||"*"===g,$=u||"/",y=m||p||(f?".*":"[^"+$+"]+?");n.push({name:h||s++,prefix:u||"",delimiter:$,optional:w,repeat:v,pattern:d(y)})}}return i<e.length&&(o+=e.substr(i)),o&&n.push(o),n}function l(t){for(var n=new Array(t.length),s=0;s<t.length;s++)"object"==typeof t[s]&&(n[s]=new RegExp("^"+t[s].pattern+"$"));return function(s){for(var i="",o=s||{},r=0;r<t.length;r++){var a=t[r];if("string"!=typeof a){var l,c=o[a.name];if(null==c){if(a.optional)continue;throw new TypeError('Expected "'+a.name+'" to be defined')}if(e(c)){if(!a.repeat)throw new TypeError('Expected "'+a.name+'" to not repeat, but received "'+c+'"');if(0===c.length){if(a.optional)continue;throw new TypeError('Expected "'+a.name+'" to not be empty')}for(var d=0;d<c.length;d++){if(l=encodeURIComponent(c[d]),!n[r].test(l))throw new TypeError('Expected all "'+a.name+'" to match "'+a.pattern+'", but received "'+l+'"');i+=(0===d?a.prefix:a.delimiter)+l}}else{if(l=encodeURIComponent(c),!n[r].test(l))throw new TypeError('Expected "'+a.name+'" to match "'+a.pattern+'", but received "'+l+'"');i+=a.prefix+l}}else i+=a}return i}}function c(e){return e.replace(/([.+*?=^!:${}()[\]|\/])/g,"\\$1")}function d(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function u(e,t){return e.keys=t,e}function h(e){return e.sensitive?"":"i"}function m(e,t){for(var n=(t=t||{}).strict,s=!1!==t.end,i="",o=e[e.length-1],r="string"==typeof o&&/\/$/.test(o),a=0;a<e.length;a++){var l=e[a];if("string"==typeof l)i+=c(l);else{var d=c(l.prefix),u=l.pattern;l.repeat&&(u+="(?:"+d+u+")*"),u=l.optional?d?"(?:"+d+"("+u+"))?":"("+u+")?":d+"("+u+")",i+=u}}return n||(i=(r?i.slice(0,-2):i)+"(?:\\/(?=$))?"),i+=s?"$":n&&r?"":"(?=\\/|$)",new RegExp("^"+i,h(t))}function p(t,n,s){return e(n=n||[])?s||(s={}):(s=n,n=[]),t instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var s=0;s<n.length;s++)t.push({name:s,prefix:null,delimiter:null,optional:!1,repeat:!1,pattern:null});return u(e,t)}(t,n):e(t)?function(e,t,n){for(var s=[],i=0;i<e.length;i++)s.push(p(e[i],t,n).source);return u(new RegExp("(?:"+s.join("|")+")",h(n)),t)}(t,n,s):function(e,t,n){for(var s=a(e),i=m(s,n),o=0;o<s.length;o++)"string"!=typeof s[o]&&t.push(s[o]);return u(i,t)}(t,n,s)}t.parse=n,t.compile=s,t.tokensToFunction=i,t.tokensToRegExp=o;var g,f="undefined"!=typeof document,v="undefined"!=typeof window,w="undefined"!=typeof history,$="undefined"!=typeof process,y=f&&document.ontouchstart?"touchstart":"click",j=v&&!(!window.history.location&&!window.location);function k(){this.callbacks=[],this.exits=[],this.current="",this.len=0,this._decodeURLComponents=!0,this._base="",this._strict=!1,this._running=!1,this._hashbang=!1,this.clickHandler=this.clickHandler.bind(this),this._onpopstate=this._onpopstate.bind(this)}function _(e,t){if("function"==typeof e)return _.call(this,"*",e);if("function"==typeof t)for(var n=new E(e,null,this),s=1;s<arguments.length;++s)this.callbacks.push(n.middleware(arguments[s]));else"string"==typeof e?this["string"==typeof t?"redirect":"show"](e,t):this.start(e)}function x(e,t,n){var s=this.page=n||_,i=s._window,o=s._hashbang,r=s._getBase();"/"===e[0]&&0!==e.indexOf(r)&&(e=r+(o?"#!":"")+e);var a=e.indexOf("?");this.canonicalPath=e;var l=new RegExp("^"+r.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"));if(this.path=e.replace(l,"")||"/",o&&(this.path=this.path.replace("#!","")||"/"),this.title=f&&i.document.title,this.state=t||{},this.state.path=e,this.querystring=~a?s._decodeURLEncodedURIComponent(e.slice(a+1)):"",this.pathname=s._decodeURLEncodedURIComponent(~a?e.slice(0,a):e),this.params={},this.hash="",!o){if(!~this.path.indexOf("#"))return;var c=this.path.split("#");this.path=this.pathname=c[0],this.hash=s._decodeURLEncodedURIComponent(c[1])||"",this.querystring=this.querystring.split("#")[0]}}function E(e,n,s){this.page=s||b;var i=n||{};i.strict=i.strict||s._strict,this.path="*"===e?"(.*)":e,this.method="GET",this.regexp=t(this.path,this.keys=[],i)}k.prototype.configure=function(e){var t=e||{};this._window=t.window||v&&window,this._decodeURLComponents=!1!==t.decodeURLComponents,this._popstate=!1!==t.popstate&&v,this._click=!1!==t.click&&f,this._hashbang=!!t.hashbang;var n=this._window;this._popstate?n.addEventListener("popstate",this._onpopstate,!1):v&&n.removeEventListener("popstate",this._onpopstate,!1),this._click?n.document.addEventListener(y,this.clickHandler,!1):f&&n.document.removeEventListener(y,this.clickHandler,!1),this._hashbang&&v&&!w?n.addEventListener("hashchange",this._onpopstate,!1):v&&n.removeEventListener("hashchange",this._onpopstate,!1)},k.prototype.base=function(e){if(0===arguments.length)return this._base;this._base=e},k.prototype._getBase=function(){var e=this._base;if(e)return e;var t=v&&this._window&&this._window.location;return v&&this._hashbang&&t&&"file:"===t.protocol&&(e=t.pathname),e},k.prototype.strict=function(e){if(0===arguments.length)return this._strict;this._strict=e},k.prototype.start=function(e){var t=e||{};if(this.configure(t),!1!==t.dispatch){var n;if(this._running=!0,j){var s=this._window,i=s.location;n=this._hashbang&&~i.hash.indexOf("#!")?i.hash.substr(2)+i.search:this._hashbang?i.search+i.hash:i.pathname+i.search+i.hash}this.replace(n,null,!0,t.dispatch)}},k.prototype.stop=function(){if(this._running){this.current="",this.len=0,this._running=!1;var e=this._window;this._click&&e.document.removeEventListener(y,this.clickHandler,!1),v&&e.removeEventListener("popstate",this._onpopstate,!1),v&&e.removeEventListener("hashchange",this._onpopstate,!1)}},k.prototype.show=function(e,t,n,s){var i=new x(e,t,this),o=this.prevContext;return this.prevContext=i,this.current=i.path,!1!==n&&this.dispatch(i,o),!1!==i.handled&&!1!==s&&i.pushState(),i},k.prototype.back=function(e,t){var n=this;if(this.len>0){var s=this._window;w&&s.history.back(),this.len--}else e?setTimeout(function(){n.show(e,t)}):setTimeout(function(){n.show(n._getBase(),t)})},k.prototype.redirect=function(e,t){var n=this;"string"==typeof e&&"string"==typeof t&&_.call(this,e,function(e){setTimeout(function(){n.replace(t)},0)}),"string"==typeof e&&void 0===t&&setTimeout(function(){n.replace(e)},0)},k.prototype.replace=function(e,t,n,s){var i=new x(e,t,this),o=this.prevContext;return this.prevContext=i,this.current=i.path,i.init=n,i.save(),!1!==s&&this.dispatch(i,o),i},k.prototype.dispatch=function(e,t){var n=0,s=0,i=this;function o(){var t=i.callbacks[n++];if(e.path===i.current)return t?void t(e,o):function(e){if(!e.handled){var t=this._window;(this._hashbang?j&&this._getBase()+t.location.hash.replace("#!",""):j&&t.location.pathname+t.location.search)!==e.canonicalPath&&(this.stop(),e.handled=!1,j&&(t.location.href=e.canonicalPath))}}.call(i,e);e.handled=!1}t?function e(){var n=i.exits[s++];if(!n)return o();n(t,e)}():o()},k.prototype.exit=function(e,t){if("function"==typeof e)return this.exit("*",e);for(var n=new E(e,null,this),s=1;s<arguments.length;++s)this.exits.push(n.middleware(arguments[s]))},k.prototype.clickHandler=function(e){if(1===this._which(e)&&!(e.metaKey||e.ctrlKey||e.shiftKey||e.defaultPrevented)){var t=e.target,n=e.path||(e.composedPath?e.composedPath():null);if(n)for(var s=0;s<n.length;s++)if(n[s].nodeName&&"A"===n[s].nodeName.toUpperCase()&&n[s].href){t=n[s];break}for(;t&&"A"!==t.nodeName.toUpperCase();)t=t.parentNode;if(t&&"A"===t.nodeName.toUpperCase()){var i="object"==typeof t.href&&"SVGAnimatedString"===t.href.constructor.name;if(!t.hasAttribute("download")&&"external"!==t.getAttribute("rel")){var o=t.getAttribute("href");if((this._hashbang||!this._samePath(t)||!t.hash&&"#"!==o)&&!(o&&o.indexOf("mailto:")>-1)&&(i?!t.target.baseVal:!t.target)&&(i||this.sameOrigin(t.href))){var r=i?t.href.baseVal:t.pathname+t.search+(t.hash||"");r="/"!==r[0]?"/"+r:r,$&&r.match(/^\/[a-zA-Z]:\//)&&(r=r.replace(/^\/[a-zA-Z]:\//,"/"));var a=r,l=this._getBase();0===r.indexOf(l)&&(r=r.substr(l.length)),this._hashbang&&(r=r.replace("#!","")),(!l||a!==r||j&&"file:"===this._window.location.protocol)&&(e.preventDefault(),this.show(a))}}}}},k.prototype._onpopstate=(g=!1,v?(f&&"complete"===document.readyState?g=!0:window.addEventListener("load",function(){setTimeout(function(){g=!0},0)}),function(e){if(g)if(e.state){var t=e.state.path;this.replace(t,e.state)}else if(j){var n=this._window.location;this.show(n.pathname+n.search+n.hash,void 0,void 0,!1)}}):function(){}),k.prototype._which=function(e){return null==(e=e||v&&this._window.event).which?e.button:e.which},k.prototype._toURL=function(e){var t=this._window;if("function"==typeof URL&&j)return new URL(e,t.location.toString());if(f){var n=t.document.createElement("a");return n.href=e,n}},k.prototype.sameOrigin=function(e){if(!e||!j)return!1;var t=this._toURL(e),n=this._window,s=n.location;return s.protocol===t.protocol&&s.hostname===t.hostname&&(s.port===t.port||""===s.port&&80===t.port)},k.prototype._samePath=function(e){if(!j)return!1;var t=this._window,n=t.location;return e.pathname===n.pathname&&e.search===n.search},k.prototype._decodeURLEncodedURIComponent=function(e){return"string"!=typeof e?e:this._decodeURLComponents?decodeURIComponent(e.replace(/\+/g," ")):e},x.prototype.pushState=function(){var e=this.page,t=e._window,n=e._hashbang;e.len++,w&&t.history.pushState(this.state,this.title,n&&"/"!==this.path?"#!"+this.path:this.canonicalPath)},x.prototype.save=function(){var e=this.page;w&&e._window.history.replaceState(this.state,this.title,e._hashbang&&"/"!==this.path?"#!"+this.path:this.canonicalPath)},E.prototype.middleware=function(e){var t=this;return function(n,s){if(t.match(n.path,n.params))return e(n,s);s()}},E.prototype.match=function(e,t){var n=this.keys,s=e.indexOf("?"),i=~s?e.slice(0,s):e,o=this.regexp.exec(decodeURIComponent(i));if(!o)return!1;delete t[0];for(var r=1,a=o.length;r<a;++r){var l=n[r-1],c=this.page._decodeURLEncodedURIComponent(o[r]);void 0===c&&hasOwnProperty.call(t,l.name)||(t[l.name]=c)}return!0};var b=function e(){var t=new k;function n(){return _.apply(t,arguments)}return n.callbacks=t.callbacks,n.exits=t.exits,n.base=t.base.bind(t),n.strict=t.strict.bind(t),n.start=t.start.bind(t),n.stop=t.stop.bind(t),n.show=t.show.bind(t),n.back=t.back.bind(t),n.redirect=t.redirect.bind(t),n.replace=t.replace.bind(t),n.dispatch=t.dispatch.bind(t),n.exit=t.exit.bind(t),n.configure=t.configure.bind(t),n.sameOrigin=t.sameOrigin.bind(t),n.clickHandler=t.clickHandler.bind(t),n.create=e,Object.defineProperty(n,"len",{get:function(){return t.len},set:function(e){t.len=e}}),Object.defineProperty(n,"current",{get:function(){return t.current},set:function(e){t.current=e}}),n.Context=x,n.Route=E,n}(),D=b,I=b;return D.default=I,D}()}(we={exports:{}},we.exports),we.exports);function ye(e,t,n){const s=Object.create(e);return s.channel=t[n],s}function je(e){var t,n,s,i,o,r=e.channel.name+"";return{c(){t=p("a"),n=p("div"),s=f(r),$(n,"class","channel-link svelte-mimt8w"),k(n,"active",e.channelID===e.channel.ID),$(t,"class","nav-link svelte-mimt8w"),$(t,"href",i="/#/channel/"+e.channel.ID),o=w(t,"click",e.onClick)},m(e,i){u(e,t,i),d(t,n),d(n,s)},p(e,o){e.$channels&&r!==(r=o.channel.name+"")&&y(s,r),(e.channelID||e.$channels)&&k(n,"active",o.channelID===o.channel.ID),e.$channels&&i!==(i="/#/channel/"+o.channel.ID)&&$(t,"href",i)},d(e){e&&h(t),o()}}}function ke(t){var n,s,i,o,r,a,l;let c=t.$channels,g=[];for(let e=0;e<c.length;e+=1)g[e]=je(ye(t,c,e));return{c(){n=p("nav"),(s=p("div")).textContent="Your Rooms",i=v();for(let e=0;e<g.length;e+=1)g[e].c();o=v(),r=p("div"),(a=p("div")).textContent="Log out",$(s,"class","nav-section svelte-mimt8w"),$(a,"class","logout svelte-mimt8w"),$(r,"class","settings-container svelte-mimt8w"),$(n,"class","svelte-mimt8w"),l=w(a,"click",t.logout)},m(e,t){u(e,n,t),d(n,s),d(n,i);for(let e=0;e<g.length;e+=1)g[e].m(n,null);d(n,o),d(n,r),d(r,a)},p(e,t){if(e.$channels||e.channelID){let s;for(c=t.$channels,s=0;s<c.length;s+=1){const i=ye(t,c,s);g[s]?g[s].p(e,i):(g[s]=je(i),g[s].c(),g[s].m(n,o))}for(;s<g.length;s+=1)g[s].d(1);g.length=c.length}},i:e,o:e,d(e){e&&h(n),m(g,e),l()}}}function _e(e,t,n){let s;a(e,le,e=>{n("$channels",s=e)});let i,{channelID:o}=t;b(()=>{ce()});return e.$set=(e=>{"channelID"in e&&n("channelID",o=e.channelID)}),{channelID:o,logout:async()=>{try{await ne.userLogout(),$e.redirect("/login")}catch(e){i=e.msg}},onClick:()=>{const e=document.getElementById("new-message-input");e&&e.focus()},$channels:s}}class xe extends Y{constructor(e){super(),J(this,e,_e,ke,r,["channelID"])}}function Ee(t){return{c:e,m:e,p:e,i:e,o:e,d:e}}class be extends Y{constructor(e){super(),J(this,e,null,Ee,r,[])}}function De(t){var n,s,i,o,r;return{c(){n=p("div"),s=p("div"),i=v(),o=p("p"),r=f(t.date),$(s,"class","day-separator-line svelte-1y5nu7q"),$(o,"class","day-separator svelte-1y5nu7q"),$(n,"class","day-separator-container svelte-1y5nu7q")},m(e,t){u(e,n,t),d(n,s),d(n,i),d(n,o),d(o,r)},p(e,t){e.date&&y(r,t.date)},i:e,o:e,d(e){e&&h(n)}}}function Ie(e,t,n){let{date:s}=t;return e.$set=(e=>{"date"in e&&n("date",s=e.date)}),{date:s}}class Ce extends Y{constructor(e){super(),J(this,e,Ie,De,r,["date"])}}const Se=e=>{if(!e)return"unknown time";return Intl.DateTimeFormat("default",{hour:"numeric",minute:"numeric"}).format(new Date(e))},Me={parse:e=>e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/(\s+|^)(https?\S+\.\S{2,}(\s+|$))/g,' <a href="$2" target="_blank" rel="noopener noreferrer">$2</a> ')).replace(/[\*]([^\*]+)[\*]/g,"<b>$1</b>")).replace(/[\`]{3}([^\`]+)[\`]{3}/g,'<code class="multi">$1</code>')).replace(/[\`]([^\`]+)[\`]/g,'<code class="single">$1</code>')).replace(/[\~]([^\~]+)[\~]/g,"<del>$1</del>")).replace(/^\&\gt\;(.+)/gm,"<blockquote>$1</blockquote>")).replace(/(\s|^)\!\[(.*)\]\((https?:\/\/.+)\)(\s|$)/g,'<img src="$3" alt="$2" />')).replace(/(\s|^)\[(.*)\]\((https?:\/\/.+)\)(\s|$)/g,'<a href="$2" title="$4" target="_blank" rel="noopener noreferrer">$1</a>')).replace(/(\s+|^)_(.+?)_(\s+|$)/g,"$1<i>$2</i>$3")).replace(/:(([\w\-]|_)+):/g,'<img src="/assets/emojis/svgs/$1.v2.svg" alt="$1 emoji">')).replace(/\r?\n|\r/g,"<br>")).replace(/(\s|^)(:\))(\s|$)/g,'<img alt="slightly smiling face emoji" src="/assets/emojis/svgs/slightly_smiling_face.v2.svg">')).replace(/(\s|^)(:\()(\s|$)/g,'<img alt="slightly frowning face emoji" src="/assets/emojis/svgs/slightly_frowning_face.v2.svg">')).replace(/(\s|^)(;\))(\s|$)/g,'<img alt="winking face emoji" src="/assets/emojis/svgs/winking_face.v2.svg">')).replace(/(\s|^)(:P)(\s|$)/g,'<img alt="winking face with tongue emoji" src="/assets/emojis/svgs/winking_face_with_tongue.v2.svg">')).replace(/(\s|^)(:\/)(\s|$)/g,'<img alt="confused face with tongue emoji" src="/assets/emojis/svgs/confused_face.v2.svg">')).replace(/(\s|^)(:S)(\s|$)/g,'<img alt="zany face with tongue emoji" src="/assets/emojis/svgs/zany_face.v2.svg">'),sanitize:e=>{e=(e=e.replace(/<br\s*[\/]?>/gi,"\n")).replace(/(<([^>]+)>)/gi,"");var t=document.createElement("div");return t.textContent=e,t.innerHTML},decodeHTML:e=>{return(new DOMParser).parseFromString(e,"text/html").documentElement.textContent},EmojiToMD:e=>e.replace(/<img.*?svgs\/([\w\-]*?)\.[^>]+>/gm," :$1: ")};function Ne(t){var n,s,i,o,r,a,l,c,m,g,w,j=t.msg.fullName+"",k=Se(t.msg.createdAt)+"",_=Me.parse(t.msg.body)+"";return{c(){n=p("div"),s=p("div"),i=v(),o=p("div"),r=p("div"),a=f(j),l=v(),c=p("div"),m=f(k),g=v(),w=p("div"),$(s,"class","avatar svelte-nayhc3"),$(r,"class","author svelte-nayhc3"),$(c,"class","timestamp svelte-nayhc3"),$(o,"class","message-header svelte-nayhc3"),$(w,"class","message-body svelte-nayhc3"),$(n,"class","message svelte-nayhc3")},m(e,t){u(e,n,t),d(n,s),d(n,i),d(n,o),d(o,r),d(r,a),d(o,l),d(o,c),d(c,m),d(n,g),d(n,w),w.innerHTML=_},p(e,t){e.msg&&j!==(j=t.msg.fullName+"")&&y(a,j),e.msg&&k!==(k=Se(t.msg.createdAt)+"")&&y(m,k),e.msg&&_!==(_=Me.parse(t.msg.body)+"")&&(w.innerHTML=_)},i:e,o:e,d(e){e&&h(n)}}}function Le(e,t,n){let{msg:s}=t;return e.$set=(e=>{"msg"in e&&n("msg",s=e.msg)}),{msg:s}}class Pe extends Y{constructor(e){super(),J(this,e,Le,Ne,r,["msg"])}}const Te=e=>{console.error("handle error: ",e),401!==e.status?alert(JSON.stringify(e)):$e.redirect("/login")};function Re(e,t,n){const s=Object.create(e);return s.msg=t[n],s}function Ae(e,t,n){const s=Object.create(e);return s.msg=t[n],s}function Be(e){var t,n;return{c(){(t=p("div")).textContent="↓ new message ↓",$(t,"class","alert-new-message-below svelte-4lcmlo"),n=w(t,"click",e.scrollToBottom)},m(e,n){u(e,t,n)},d(e){e&&h(t),n()}}}function ze(e){var t,n=new Ce({props:{date:e.formatDate(e.msg.createdAt)}});return{c(){n.$$.fragment.c()},m(e,s){G(n,e,s),t=!0},p(e,t){var s={};e.msgs&&(s.date=t.formatDate(t.msg.createdAt)),n.$set(s)},i(e){t||(U(n.$$.fragment,e),t=!0)},o(e){H(n.$$.fragment,e),t=!1},d(e){F(n,e)}}}function Oe(e){var t,n,s=e.isNewDay(e.msg.createdAt),i=s&&ze(e),o=new Pe({props:{msg:e.msg}});return{c(){i&&i.c(),t=v(),o.$$.fragment.c()},m(e,s){i&&i.m(e,s),u(e,t,s),G(o,e,s),n=!0},p(e,n){e.msgs&&(s=n.isNewDay(n.msg.createdAt)),s?i?(i.p(e,n),U(i,1)):((i=ze(n)).c(),U(i,1),i.m(t.parentNode,t)):i&&(z(),H(i,1,1,()=>{i=null}),O());var r={};e.msgs&&(r.msg=n.msg),o.$set(r)},i(e){n||(U(i),U(o.$$.fragment,e),n=!0)},o(e){H(i),H(o.$$.fragment,e),n=!1},d(e){i&&i.d(e),e&&h(t),F(o,e)}}}function Ue(e){var t,n=new Ce({props:{date:e.formatDate(e.msg.createdAt)}});return{c(){n.$$.fragment.c()},m(e,s){G(n,e,s),t=!0},p(e,t){var s={};e.pendingMsgs&&(s.date=t.formatDate(t.msg.createdAt)),n.$set(s)},i(e){t||(U(n.$$.fragment,e),t=!0)},o(e){H(n.$$.fragment,e),t=!1},d(e){F(n,e)}}}function He(e){var t,n,s=e.isNewDay(e.msg.createdAt),i=s&&Ue(e),o=new Pe({props:{msg:e.msg}});return{c(){i&&i.c(),t=v(),o.$$.fragment.c()},m(e,s){i&&i.m(e,s),u(e,t,s),G(o,e,s),n=!0},p(e,n){e.pendingMsgs&&(s=n.isNewDay(n.msg.createdAt)),s?i?(i.p(e,n),U(i,1)):((i=Ue(n)).c(),U(i,1),i.m(t.parentNode,t)):i&&(z(),H(i,1,1,()=>{i=null}),O());var r={};e.pendingMsgs&&(r.msg=n.msg),o.$set(r)},i(e){n||(U(i),U(o.$$.fragment,e),n=!0)},o(e){H(i),H(o.$$.fragment,e),n=!1},d(e){i&&i.d(e),e&&h(t),F(o,e)}}}function Ke(e){var t,n,s,i,o,r=e.showNewMessageAlert&&Be(e);let a=e.msgs,l=[];for(let t=0;t<a.length;t+=1)l[t]=Oe(Ae(e,a,t));const c=e=>H(l[e],1,1,()=>{l[e]=null});let g=e.pendingMsgs,f=[];for(let t=0;t<g.length;t+=1)f[t]=He(Re(e,g,t));const y=e=>H(f[e],1,1,()=>{f[e]=null});return{c(){t=p("div"),r&&r.c(),n=v();for(let e=0;e<l.length;e+=1)l[e].c();s=v();for(let e=0;e<f.length;e+=1)f[e].c();$(t,"class","message-list svelte-4lcmlo"),o=w(t,"scroll",e.onScroll)},m(o,a){u(o,t,a),r&&r.m(t,null),d(t,n);for(let e=0;e<l.length;e+=1)l[e].m(t,null);d(t,s);for(let e=0;e<f.length;e+=1)f[e].m(t,null);e.div_binding(t),i=!0},p(e,i){if(i.showNewMessageAlert?r||((r=Be(i)).c(),r.m(t,n)):r&&(r.d(1),r=null),e.msgs||e.isNewDay||e.formatDate){let n;for(a=i.msgs,n=0;n<a.length;n+=1){const o=Ae(i,a,n);l[n]?(l[n].p(e,o),U(l[n],1)):(l[n]=Oe(o),l[n].c(),U(l[n],1),l[n].m(t,s))}for(z(),n=a.length;n<l.length;n+=1)c(n);O()}if(e.pendingMsgs||e.isNewDay||e.formatDate){let n;for(g=i.pendingMsgs,n=0;n<g.length;n+=1){const s=Re(i,g,n);f[n]?(f[n].p(e,s),U(f[n],1)):(f[n]=He(s),f[n].c(),U(f[n],1),f[n].m(t,null))}for(z(),n=g.length;n<f.length;n+=1)y(n);O()}},i(e){if(!i){for(let e=0;e<a.length;e+=1)U(l[e]);for(let e=0;e<g.length;e+=1)U(f[e]);i=!0}},o(e){l=l.filter(Boolean);for(let e=0;e<l.length;e+=1)H(l[e]);f=f.filter(Boolean);for(let e=0;e<f.length;e+=1)H(f[e]);i=!1},d(n){n&&h(t),r&&r.d(),m(l,n),m(f,n),e.div_binding(null),o()}}}function qe(e,t,n){const s=D();let i,o,{channelID:r,latestMsgID:a,pendingMsgs:l}=t,c=[],d="",u=0,h=!1;var m;m=(async()=>{o!==r&&(f(),o=r)}),E().$$.before_update.push(m),function(e){E().$$.after_update.push(e)}(()=>{v()});const p=e=>{const t={weekday:"long",month:"long",day:"numeric"},n=new Date(new Date).toLocaleDateString("en-US",t),s=new Date((new Date).setDate((new Date).getDate()-1)).toLocaleDateString("en-US",t),i=new Date(e).toLocaleDateString("en-US",t);switch(i){case n:return"Today";case s:return"Yesterday";default:return i}},g=async()=>{try{let e=await ne.messageList({channel:r,newerThan:c[0]&&c[c.length-1].ID}),t=await e.messages;l.length>0&&s("newFetchedMsgs",[...t]),n("msgs",c=await([...c,...t]))}catch(e){Te(e)}},f=async()=>{n("msgs",c=[]),await g(),w()},v=()=>{(()=>Math.abs(i.scrollHeight-i.scrollTop-i.clientHeight))()<200?w():n("showNewMessageAlert",h=!0)},w=()=>{n("msgListEl",i.scrollTop=i.scrollHeight,i)};return e.$set=(e=>{"channelID"in e&&n("channelID",r=e.channelID),"latestMsgID"in e&&n("latestMsgID",a=e.latestMsgID),"pendingMsgs"in e&&n("pendingMsgs",l=e.pendingMsgs)}),e.$$.update=((e={latestMsgID:1})=>{e.latestMsgID&&a&&g()}),{channelID:r,latestMsgID:a,pendingMsgs:l,msgListEl:i,msgs:c,showNewMessageAlert:h,formatDate:p,isNewDay:e=>{const t=p(e);return t!==d&&(d=t,!0)},onScroll:async e=>{const t=0===e.target.scrollTop;if(u=e.target.scrollTop,(()=>i.scrollHeight-i.scrollTop===i.clientHeight)()&&n("showNewMessageAlert",h=!1),t){const t=e.target.scrollHeight;await(async()=>{let e;try{e=await ne.messageList({channel:r,olderThan:c[0]&&c[0].ID})}catch(e){Te(e)}e.messages&&e.messages.length>0&&n("msgs",c=[...e.messages,...c])})();const s=e.target.scrollHeight-t;e.target.scrollTop=s}},scrollToBottom:w,div_binding:function(e){C[e?"unshift":"push"](()=>{n("msgListEl",i=e)})}}}class Ve extends Y{constructor(e){super(),J(this,e,qe,Ke,r,["channelID","latestMsgID","pendingMsgs"])}}const Ge=ae(""),Fe=ae(""),We=e=>{e.focus();let t=document.createRange();t.selectNodeContents(e),t.collapse(!1);let n=window.getSelection();n&&(n.removeAllRanges(),n.addRange(t))},Je=e=>`<img \n class="emoji" \n data-shortcode="${e.name}" \n src="./assets/emojis/svgs/${e.name}.v2.svg" \n alt="${e.name} emoji" \n width="24px" \n height="24px"\n >`,Ye=(e,t,n)=>{const s=(e=>{let t=document.createElement("template");return t.innerHTML=Je(e),t.content.firstChild})(e);t&&t.startContainer.parentNode.id===n.id?(t.insertNode(s),((e,t)=>{let n=window.getSelection();e.setStartAfter(t),e.collapse(!0),n&&(n.removeAllRanges(),n.addRange(e))})(t,s)):(n.innerHTML=n.innerHTML+Je(e),We(n))},Ze=(e,t)=>{let n=e;for(;n;){if(t.includes(n))return!1;n=n.parentNode}return!0};function Qe(e,t,n){const s=Object.create(e);return s.emoji=t[n],s.index=n,s}function Xe(e,t){var n,s,o,r,a,l,c,m,g,j,_,x=`:${t.emoji.name}:`+"";function E(){return t.mouseover_handler(t)}function b(){return t.click_handler_1(t)}return{key:e,first:null,c(){n=p("div"),s=p("img"),l=v(),c=p("span"),m=f(x),g=v(),$(s,"class","inline-emoji-img svelte-lwb0db"),$(s,"srcset","./assets/emojis/sheet_32_indexed_256.png 1x,\n ./assets/emojis/sheet_64_indexed_256.png 2x"),$(s,"src","./assets/emojis/sheet_32_indexed_256.png"),$(s,"alt",o=`${t.emoji.name} emoji`),$(s,"data-alt",r=t.emoji.name),$(s,"style",a=`object-position: -${t.getEmojiPosition(t.emoji.x)}px -${t.getEmojiPosition(t.emoji.y)}px`),$(c,"class","inline-emoji-name svelte-lwb0db"),$(n,"class","inline-emoji svelte-lwb0db"),$(n,"role","option"),$(n,"aria-selected",j=t.index===t.emjIndex),k(n,"selected",t.index===t.emjIndex),_=[w(n,"mouseover",E),w(n,"click",b)],this.first=n},m(e,t){u(e,n,t),d(n,s),d(n,l),d(n,c),d(c,m),d(n,g)},p(e,i){t=i,e.filteredEmjs&&o!==(o=`${t.emoji.name} emoji`)&&$(s,"alt",o),e.filteredEmjs&&r!==(r=t.emoji.name)&&$(s,"data-alt",r),e.filteredEmjs&&a!==(a=`object-position: -${t.getEmojiPosition(t.emoji.x)}px -${t.getEmojiPosition(t.emoji.y)}px`)&&$(s,"style",a),e.filteredEmjs&&x!==(x=`:${t.emoji.name}:`+"")&&y(m,x),(e.filteredEmjs||e.emjIndex)&&j!==(j=t.index===t.emjIndex)&&$(n,"aria-selected",j),(e.filteredEmjs||e.emjIndex)&&k(n,"selected",t.index===t.emjIndex)},d(e){e&&h(n),i(_)}}}function et(t){var n,s,i,o=[],r=new Map;document.body.addEventListener("click",t.click_handler);let a=t.filteredEmjs;const l=e=>e.emoji.name;for(let e=0;e<a.length;e+=1){let n=Qe(t,a,e),s=l(n);r.set(s,o[e]=Xe(s,n))}return{c(){n=v(),s=p("div"),i=p("div");for(let e=0;e<o.length;e+=1)o[e].c();$(i,"class","inline-emoji-picker-content svelte-lwb0db"),$(i,"role","listbox"),$(s,"class","inline-emoji-picker svelte-lwb0db")},m(e,r){u(e,n,r),u(e,s,r),d(s,i);for(let e=0;e<o.length;e+=1)o[e].m(i,null);t.div1_binding(s)},p(e,t){const n=t.filteredEmjs;o=V(o,e,l,1,t,n,r,i,q,Xe,null,Qe)},i:e,o:e,d(e){document.body.removeEventListener("click",t.click_handler),e&&(h(n),h(s));for(let e=0;e<o.length;e+=1)o[e].d();t.div1_binding(null)}}}const tt=33,nt=34;function st(e,t,n){let{term:s,key:i,keyTS:o}=t;const r=D();let a,l=[],c=[],d=0;b(async()=>{const e=await fetch("./assets/emojis/data/emojis.v2.json");n("emojis",l=await e.json())});const u=e=>{const t=[a];Ze(e.target,t)&&r("close")},h=e=>n("emjIndex",d=e);return e.$set=(e=>{"term"in e&&n("term",s=e.term),"key"in e&&n("key",i=e.key),"keyTS"in e&&n("keyTS",o=e.keyTS)}),e.$$.update=((e={emojis:1,term:1,filteredEmjs:1,keyTS:1,key:1,emjIndex:1})=>{if((e.emojis||e.term||e.filteredEmjs)&&l&&l.length>0&&s&&(n("filteredEmjs",c=(e=>{let t=e.replace(/^:/g,"");return l.filter(e=>e.name.toLowerCase().includes(t)).slice(0,7)})(s)),c&&0===c.length&&r("close"),n("emjIndex",d=0)),(e.keyTS||e.key||e.filteredEmjs||e.emjIndex)&&o)switch(i){case"ArrowUp":n("emjIndex",d=(e=>0===d?e-1:d-1)(c.length));break;case"ArrowDown":n("emjIndex",d=(e=>d===e-1?0:d+1)(c.length));break;case"Enter":case"Tab":r("selectEmoji",c[d]);break;case"Escape":r("close")}}),{term:s,key:i,keyTS:o,dispatch:r,inlineEmojiPickerEl:a,filteredEmjs:c,emjIndex:d,getEmojiPosition:e=>{return 2===window.devicePixelRatio?e*tt:e*nt},onBodyClick:u,onMouseover:h,click_handler:e=>u(e),mouseover_handler:({index:e})=>h(e),click_handler_1:({emoji:e})=>r("selectEmoji",e),div1_binding:function(e){C[e?"unshift":"push"](()=>{n("inlineEmojiPickerEl",a=e)})}}}class it extends Y{constructor(e){super(),J(this,e,st,et,r,["term","key","keyTS"])}}function ot(t){var n,s,o,r,a,l,c,m,f,y,j,k,_,x,E,b,D,I,C,S,M,N,L,P,T,R,A,B,z,O;return{c(){n=p("div"),s=g("svg"),o=g("path"),r=v(),a=g("svg"),l=g("g"),c=g("g"),m=g("path"),f=v(),y=g("svg"),j=g("path"),k=v(),_=g("svg"),x=g("path"),E=v(),b=g("svg"),D=g("g"),I=g("path"),C=g("g"),S=g("path"),M=g("g"),N=g("path"),L=v(),P=g("svg"),T=g("g"),R=g("path"),A=v(),B=g("svg"),z=g("path"),$(o,"d","M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22\n 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58\n 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5\n 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5\n 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z"),$(o,"class","svelte-5eidi3"),$(s,"class","quicklink svelte-5eidi3"),$(s,"width","24"),$(s,"height","24"),$(s,"tabindex","0"),$(s,"viewBox","0 0 24 24"),$(s,"xmlns","http://www.w3.org/2000/svg"),$(m,"d","M6.05,8.05c-2.73,2.73-2.73,7.15-0.02,9.88c1.47-3.4,4.09-6.24,7.36-7.93c-2.77,2.34-4.71,5.61-5.39,9.32\n c2.6,1.23,5.8,0.78,7.95-1.37C19.43,14.47,20,4,20,4S9.53,4.57,6.05,8.05z"),$(m,"class","svelte-5eidi3"),$(a,"class","quicklink svelte-5eidi3"),$(a,"width","24px"),$(a,"height","24px"),$(a,"tabindex","0"),$(a,"viewBox","0 0 24 24"),$(a,"xmlns","http://www.w3.org/2000/svg"),$(a,"enable-background","new 0 0 24 24"),$(j,"d","M18.06 22.99h1.66c.84 0 1.53-.64 1.63-1.46L23\n 5.05h-5V1h-1.97v4.05h-4.97l.3 2.34c1.71.47 3.31 1.32 4.27 2.26 1.44 1.42\n 2.43 2.89 2.43 5.29v8.05zM1 21.99V21h15.03v.99c0 .55-.45 1-1.01\n 1H2.01c-.56 0-1.01-.45-1.01-1zm15.03-7c0-8-15.03-8-15.03 0h15.03zM1.02\n 17h15v2h-15z"),$(j,"class","svelte-5eidi3"),$(y,"class","quicklink svelte-5eidi3"),$(y,"width","22"),$(y,"height","22"),$(y,"tabindex","0"),$(y,"viewBox","0 0 24 24"),$(y,"xmlns","http://www.w3.org/2000/svg"),$(x,"d","M21 16v-2l-8-5V3.5c0-.83-.67-1.5-1.5-1.5S10 2.67 10 3.5V9l-8\n 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5l8 2.5z"),$(x,"class","svelte-5eidi3"),$(_,"class","quicklink svelte-5eidi3"),$(_,"width","22"),$(_,"height","22"),$(_,"tabindex","0"),$(_,"viewBox","0 0 24 24"),$(_,"xmlns","http://www.w3.org/2000/svg"),$(I,"d","M3.81,6.28C2.67,7.9,2,9.87,2,12s0.67,4.1,1.81,5.72C6.23,16.95,8,14.68,8,12S6.23,7.05,3.81,6.28z"),$(I,"class","svelte-5eidi3"),$(S,"d","M20.19,6.28C17.77,7.05,16,9.32,16,12s1.77,4.95,4.19,5.72C21.33,16.1,22,14.13,22,12S21.33,7.9,20.19,6.28z"),$(S,"class","svelte-5eidi3"),$(N,"d","M14,12c0-3.28,1.97-6.09,4.79-7.33C17.01,3.02,14.63,2,12,2S6.99,3.02,5.21,4.67C8.03,5.91,10,8.72,10,12\n s-1.97,6.09-4.79,7.33C6.99,20.98,9.37,22,12,22s5.01-1.02,6.79-2.67C15.97,18.09,14,15.28,14,12z"),$(N,"class","svelte-5eidi3"),$(b,"class","quicklink svelte-5eidi3"),$(b,"width","22px"),$(b,"height","22px"),$(b,"tabindex","0"),$(b,"viewBox","0 0 24 24"),$(b,"xmlns","http://www.w3.org/2000/svg"),$(b,"enable-background","new 0 0 24 24"),$(R,"d","M12,3c-0.46,0-0.93,0.04-1.4,0.14C7.84,3.67,5.64,5.9,5.12,8.66c-0.48,2.61,0.48,5.01,2.22,6.56C7.77,15.6,8,16.13,8,16.69\n V19c0,1.1,0.9,2,2,2h0.28c0.35,0.6,0.98,1,1.72,1s1.38-0.4,1.72-1H14c1.1,0,2-0.9,2-2v-2.31c0-0.55,0.22-1.09,0.64-1.46\n C18.09,13.95,19,12.08,19,10C19,6.13,15.87,3,12,3z M14,19h-4v-1h4V19z\n M14,17h-4v-1h4V17z M12.5,11.41V14h-1v-2.59L9.67,9.59\n l0.71-0.71L12,10.5l1.62-1.62l0.71,0.71L12.5,11.41z"),$(R,"class","svelte-5eidi3"),$(P,"class","quicklink svelte-5eidi3"),$(P,"width","24px"),$(P,"height","24px"),$(P,"tabindex","0"),$(P,"viewBox","0 0 24 24"),$(P,"xmlns","http://www.w3.org/2000/svg"),$(z,"d","M8 5v14l11-7z"),$(z,"class","svelte-5eidi3"),$(B,"class","quicklink svelte-5eidi3"),$(B,"width","24"),$(B,"height","24"),$(B,"tabindex","0"),$(B,"viewBox","0 0 24 24"),$(B,"xmlns","http://www.w3.org/2000/svg"),$(n,"class","emoji-quicklinks svelte-5eidi3"),O=[w(s,"click",t.click_handler),w(a,"click",t.click_handler_1),w(y,"click",t.click_handler_2),w(_,"click",t.click_handler_3),w(b,"click",t.click_handler_4),w(P,"click",t.click_handler_5),w(B,"click",t.click_handler_6)]},m(e,t){u(e,n,t),d(n,s),d(s,o),d(n,r),d(n,a),d(a,l),d(l,c),d(c,m),d(n,f),d(n,y),d(y,j),d(n,k),d(n,_),d(_,x),d(n,E),d(n,b),d(b,D),d(D,I),d(b,C),d(C,S),d(b,M),d(M,N),d(n,L),d(n,P),d(P,T),d(T,R),d(n,A),d(n,B),d(B,z)},p:e,i:e,o:e,d(e){e&&h(n),i(O)}}}function rt(e){const t=D(),n=e=>{t("svgClicked",e)};return{onClick:n,click_handler:()=>n("Smileys & People"),click_handler_1:()=>n("Animals & Nature"),click_handler_2:()=>n("Food & Drink"),click_handler_3:()=>n("Travel & Places"),click_handler_4:()=>n("Activities"),click_handler_5:()=>n("Objects"),click_handler_6:()=>n("Symbols")}}class at extends Y{constructor(e){super(),J(this,e,rt,ot,r,[])}}const{Object:lt,document:ct}=K;function dt(e,t,n){const s=lt.create(e);return s.emoji=t[n],s}function ut(e,t,n){const s=lt.create(e);return s.category=t[n],s}function ht(e,t,n){const s=lt.create(e);return s.emoji=t[n],s}function mt(e){var t;let n=e.emojiCategories,s=[];for(let t=0;t<n.length;t+=1)s[t]=ft(ut(e,n,t));return{c(){for(let e=0;e<s.length;e+=1)s[e].c();t=f("")},m(e,n){for(let t=0;t<s.length;t+=1)s[t].m(e,n);u(e,t,n)},p(e,i){if(e.emojiCategories||e.emojisByCategory||e.getEmojiPosition){let o;for(n=i.emojiCategories,o=0;o<n.length;o+=1){const r=ut(i,n,o);s[o]?s[o].p(e,r):(s[o]=ft(r),s[o].c(),s[o].m(t.parentNode,t))}for(;o<s.length;o+=1)s[o].d(1);s.length=n.length}},d(e){m(s,e),e&&h(t)}}}function pt(e){var t,n=[],s=new Map;let i=e.filteredEmojis;const o=e=>e.emoji.name;for(let t=0;t<i.length;t+=1){let r=ht(e,i,t),a=o(r);s.set(a,n[t]=vt(a,r))}return{c(){t=p("div");for(let e=0;e<n.length;e+=1)n[e].c();$(t,"class","emojis filtered-emojis svelte-1h3r30d"),$(t,"id","emojis")},m(e,s){u(e,t,s);for(let e=0;e<n.length;e+=1)n[e].m(t,null)},p(e,i){const r=i.filteredEmojis;n=V(n,e,o,1,i,r,s,t,q,vt,null,ht)},d(e){e&&h(t);for(let e=0;e<n.length;e+=1)n[e].d()}}}function gt(e,t){var n,s,o,r,a,l;function c(){return t.mouseover_handler_1(t)}function m(){return t.click_handler_2(t)}return{key:e,first:null,c(){n=p("div"),$(s=p("img"),"class","emoji-img svelte-1h3r30d"),$(s,"loading","lazy"),$(s,"width","32"),$(s,"height","32"),$(s,"srcset","./assets/emojis/sheet_32_indexed_256.png 1x,\n ./assets/emojis/sheet_64_indexed_256.png 2x"),$(s,"src","./assets/emojis/sheet_32_indexed_256.png"),$(s,"alt",o=`${t.emoji.name} emoji`),$(s,"data-alt",r=t.emoji.name),$(s,"style",a=`object-position: -${t.getEmojiPosition(t.emoji.x)}px -${t.getEmojiPosition(t.emoji.y)}px`),$(n,"class","emoji svelte-1h3r30d"),l=[w(n,"mouseover",c),w(n,"click",m)],this.first=n},m(e,t){u(e,n,t),d(n,s)},p(e,n){t=n,(e.emojisByCategory||e.emojiCategories)&&o!==(o=`${t.emoji.name} emoji`)&&$(s,"alt",o),(e.emojisByCategory||e.emojiCategories)&&r!==(r=t.emoji.name)&&$(s,"data-alt",r),(e.emojisByCategory||e.emojiCategories)&&a!==(a=`object-position: -${t.getEmojiPosition(t.emoji.x)}px -${t.getEmojiPosition(t.emoji.y)}px`)&&$(s,"style",a)},d(e){e&&h(n),i(l)}}}function ft(e){var t,n,s,i,o,r,a=e.category+"",l=[],c=new Map;let m=e.emojisByCategory[e.category];const g=e=>e.emoji.name;for(let t=0;t<m.length;t+=1){let n=dt(e,m,t),s=g(n);c.set(s,l[t]=gt(s,n))}return{c(){t=p("h3"),n=f(a),s=v(),i=p("div");for(let e=0;e<l.length;e+=1)l[e].c();o=v(),$(t,"class","svelte-1h3r30d"),$(i,"class","emojis svelte-1h3r30d"),$(i,"id",r=e.category)},m(e,r){u(e,t,r),d(t,n),u(e,s,r),u(e,i,r);for(let e=0;e<l.length;e+=1)l[e].m(i,null);d(i,o)},p(e,t){e.emojiCategories&&a!==(a=t.category+"")&&y(n,a);const s=t.emojisByCategory[t.category];l=V(l,e,g,1,t,s,c,i,q,gt,o,dt),e.emojiCategories&&r!==(r=t.category)&&$(i,"id",r)},d(e){e&&(h(t),h(s),h(i));for(let e=0;e<l.length;e+=1)l[e].d()}}}function vt(e,t){var n,s,o,r,a,l,c;function m(){return t.mouseover_handler(t)}function g(){return t.click_handler_1(t)}return{key:e,first:null,c(){n=p("div"),s=p("img"),l=v(),$(s,"class","emoji-img svelte-1h3r30d"),$(s,"srcset","./assets/emojis/sheet_32_indexed_256.png 1x,\n ./assets/emojis/sheet_64_indexed_256.png 2x"),$(s,"src","./assets/emojis/sheet_32_indexed_256.png"),$(s,"alt",o=`${t.emoji.name} emoji`),$(s,"data-alt",r=t.emoji.name),$(s,"style",a=`object-position: -${t.getEmojiPosition(t.emoji.x)}px -${t.getEmojiPosition(t.emoji.y)}px`),$(n,"class","emoji svelte-1h3r30d"),c=[w(n,"mouseover",m),w(n,"click",g)],this.first=n},m(e,t){u(e,n,t),d(n,s),d(n,l)},p(e,n){t=n,e.filteredEmojis&&o!==(o=`${t.emoji.name} emoji`)&&$(s,"alt",o),e.filteredEmojis&&r!==(r=t.emoji.name)&&$(s,"data-alt",r),e.filteredEmojis&&a!==(a=`object-position: -${t.getEmojiPosition(t.emoji.x)}px -${t.getEmojiPosition(t.emoji.y)}px`)&&$(s,"style",a)},d(e){e&&h(n),i(c)}}}function wt(e){var t,n,s,i,o,r,a,l,c,m=e.hoveredEmoji.name+"";return{c(){t=p("img"),o=v(),r=p("p"),a=f(":"),l=f(m),c=f(":"),$(t,"class","emoji-img svelte-1h3r30d"),$(t,"srcset","./assets/emojis/sheet_32_indexed_256.png 1x,\n ./assets/emojis/sheet_64_indexed_256.png 2x"),$(t,"src","./assets/emojis/sheet_32_indexed_256.png"),$(t,"alt",n=`${e.hoveredEmoji.name} emoji`),$(t,"data-alt",s=e.hoveredEmoji.name),$(t,"style",i=`object-position: -${e.getEmojiPosition(e.hoveredEmoji.x)}px -${e.getEmojiPosition(e.hoveredEmoji.y)}px`),$(r,"class","hovered-emoji-text svelte-1h3r30d")},m(e,n){u(e,t,n),u(e,o,n),u(e,r,n),d(r,a),d(r,l),d(r,c)},p(e,o){e.hoveredEmoji&&n!==(n=`${o.hoveredEmoji.name} emoji`)&&$(t,"alt",n),e.hoveredEmoji&&s!==(s=o.hoveredEmoji.name)&&$(t,"data-alt",s),e.hoveredEmoji&&i!==(i=`object-position: -${o.getEmojiPosition(o.hoveredEmoji.x)}px -${o.getEmojiPosition(o.hoveredEmoji.y)}px`)&&$(t,"style",i),e.hoveredEmoji&&m!==(m=o.hoveredEmoji.name+"")&&y(l,m)},d(e){e&&(h(t),h(o),h(r))}}}function $t(e){var t,n,s,o,r,a,l,c,m,g,f,y,j;ct.body.addEventListener("keyup",e.keyup_handler),ct.body.addEventListener("click",e.click_handler);var k=new at({});function _(e,t){return t.isSearching?pt:mt}k.$on("svgClicked",e.svgClicked_handler);var x=_(0,e),E=x(e),b=e.hoveredEmoji&&wt(e);return{c(){t=v(),n=p("div"),s=p("div"),o=p("div"),k.$$.fragment.c(),r=v(),a=p("div"),l=p("input"),c=v(),m=p("div"),E.c(),g=v(),f=p("div"),b&&b.c(),$(l,"class","search-input svelte-1h3r30d"),$(l,"aria-label","Search"),$(l,"placeholder","Search"),$(l,"type","text"),l.autofocus=!0,$(a,"class","search-input-container svelte-1h3r30d"),$(o,"class","emoji-drawer-header svelte-1h3r30d"),$(m,"class","emojis-container svelte-1h3r30d"),$(f,"class","hovered-emoji-container svelte-1h3r30d"),$(s,"class","emoji-drawer-content svelte-1h3r30d"),$(n,"class","emoji-drawer svelte-1h3r30d"),j=[w(l,"input",e.onSearch),w(l,"keyup",e.onSearchKeyUp)]},m(i,h){u(i,t,h),u(i,n,h),d(n,s),d(s,o),G(k,o,null),d(o,r),d(o,a),d(a,l),d(s,c),d(s,m),E.m(m,null),d(s,g),d(s,f),b&&b.m(f,null),e.div5_binding(n),y=!0,l.focus()},p(e,t){x===(x=_(0,t))&&E?E.p(e,t):(E.d(1),(E=x(t))&&(E.c(),E.m(m,null))),t.hoveredEmoji?b?b.p(e,t):((b=wt(t)).c(),b.m(f,null)):b&&(b.d(1),b=null)},i(e){y||(U(k.$$.fragment,e),y=!0)},o(e){H(k.$$.fragment,e),y=!1},d(s){ct.body.removeEventListener("keyup",e.keyup_handler),ct.body.removeEventListener("click",e.click_handler),s&&(h(t),h(n)),F(k),E.d(),b&&b.d(),e.div5_binding(null),i(j)}}}const yt=33,jt=34;function kt(e,t,n){let{emojiDrawerButtonEl:s}=t;const i=D();let o,r=[],a=[],l=[],c="",d=!1,u=[];b(async()=>{const e=await fetch("./assets/emojis/data/emojis.v2.json"),t=await fetch("./assets/emojis/data/emojis-grouped.v2.json");n("emojisByCategory",r=await t.json()),n("emojiCategories",a=Object.keys(r)),u=await e.json()});const h=e=>{const t=e.detail;document.getElementById(t).scrollIntoView()},m=e=>{const t=e.target;Ze(t,[s,o])&&i("close")},p=e=>{"Escape"===e.key&&i("close")},g=e=>n("hoveredEmoji",c=e);return e.$set=(e=>{"emojiDrawerButtonEl"in e&&n("emojiDrawerButtonEl",s=e.emojiDrawerButtonEl)}),{emojiDrawerButtonEl:s,dispatch:i,emojiDrawerEl:o,emojisByCategory:r,emojiCategories:a,filteredEmojis:l,hoveredEmoji:c,isSearching:d,getEmojiPosition:e=>{return 2===window.devicePixelRatio?e*yt:e*jt},goToEmojiGroup:h,onBodyClick:m,onBodyKeyup:p,onSearch:e=>{const t=e.target.value.toLowerCase();n("isSearching",d=t.length>0),d&&n("filteredEmojis",l=(e=>u.filter(t=>t.name.toLowerCase().includes(e)).slice(0,32))(t))},onSearchKeyUp:e=>{"Enter"===e.key&&l&&l.length>0&&i("selectEmoji",l[0])},setHoveredEmoji:g,keyup_handler:e=>p(e),click_handler:e=>m(e),svgClicked_handler:e=>h(e),mouseover_handler:({emoji:e})=>g(e),click_handler_1:({emoji:e})=>i("selectEmoji",e),mouseover_handler_1:({emoji:e})=>g(e),click_handler_2:({emoji:e})=>i("selectEmoji",e),div5_binding:function(e){C[e?"unshift":"push"](()=>{n("emojiDrawerEl",o=e)})}}}class _t extends Y{constructor(e){super(),J(this,e,kt,$t,r,["emojiDrawerButtonEl"])}}function xt(e){var t,n=new it({props:{term:e.filterTerm,key:e.keypressKey,keyTS:e.keypressTimeStamp}});return n.$on("selectEmoji",e.onInlineEmojiSelected),n.$on("close",e.closeInlineEmojiPicker),{c(){n.$$.fragment.c()},m(e,s){G(n,e,s),t=!0},p(e,t){var s={};e.filterTerm&&(s.term=t.filterTerm),e.keypressKey&&(s.key=t.keypressKey),e.keypressTimeStamp&&(s.keyTS=t.keypressTimeStamp),n.$set(s)},i(e){t||(U(n.$$.fragment,e),t=!0)},o(e){H(n.$$.fragment,e),t=!1},d(e){F(n,e)}}}function Et(e){var t,n=new _t({props:{emojiDrawerButtonEl:e.emojiDrawerButtonEl}});return n.$on("selectEmoji",e.onDrawerEmojiSelected),n.$on("close",e.closeEmojiDrawer),{c(){n.$$.fragment.c()},m(e,s){G(n,e,s),t=!0},p(e,t){var s={};e.emojiDrawerButtonEl&&(s.emojiDrawerButtonEl=t.emojiDrawerButtonEl),n.$set(s)},i(e){t||(U(n.$$.fragment,e),t=!0)},o(e){H(n.$$.fragment,e),t=!1},d(e){F(n,e)}}}function bt(e){var t,n,s,o,r,a,l,c,m,f,y,j,k=e.openInlineEmojiPicker&&xt(e),_=e.openEmojiDrawer&&Et(e);return{c(){t=p("div"),n=p("div"),s=p("div"),r=v(),a=p("div"),l=g("svg"),c=g("path"),m=v(),k&&k.c(),f=v(),_&&_.c(),$(s,"class","message-input-content svelte-1j3j731"),$(s,"id","message-input-content"),$(s,"role","textbox"),$(s,"aria-label",o=`Message ${e.channelID}`),$(s,"aria-multiline","true"),$(s,"spellcheck","true"),$(s,"contenteditable","true"),$(s,"autofocus",""),$(c,"d","M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22\n 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8\n 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14\n 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7\n 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04\n 2.78 3.5 5.11 3.5z"),$(c,"class","svelte-1j3j731"),$(l,"class","emoji-drawer-button-content svelte-1j3j731"),$(l,"width","24"),$(l,"height","24"),$(l,"tabindex","-1"),$(l,"viewBox","0 0 24 24"),$(l,"xmlns","http://www.w3.org/2000/svg"),$(a,"class","emoji-drawer-button svelte-1j3j731"),$(a,"tabindex","0"),$(n,"class","message-input svelte-1j3j731"),$(t,"class","message-input-container svelte-1j3j731"),j=[w(s,"mouseleave",e.onMouseLeave),w(s,"keyup",e.onKeyup),w(s,"keydown",e.onKeydown),w(l,"click",e.toggleEmojiDrawer),w(a,"keyup",e.onEmojiButtonKeyup)]},m(i,o){u(i,t,o),d(t,n),d(n,s),e.div0_binding(s),d(n,r),d(n,a),d(a,l),d(l,c),e.svg_binding(l),d(n,m),k&&k.m(n,null),d(n,f),_&&_.m(n,null),y=!0,s.focus()},p(e,t){y&&!e.channelID||o===(o=`Message ${t.channelID}`)||$(s,"aria-label",o),t.openInlineEmojiPicker?k?(k.p(e,t),U(k,1)):((k=xt(t)).c(),U(k,1),k.m(n,f)):k&&(z(),H(k,1,1,()=>{k=null}),O()),t.openEmojiDrawer?_?(_.p(e,t),U(_,1)):((_=Et(t)).c(),U(_,1),_.m(n,null)):_&&(z(),H(_,1,1,()=>{_=null}),O())},i(e){y||(U(k),U(_),y=!0)},o(e){H(k),H(_),y=!1},d(n){n&&h(t),e.div0_binding(null),e.svg_binding(null),k&&k.d(),_&&_.d(),i(j)}}}let Dt=/:([\w]+):/g;function It(e,t,n){let s;a(e,Ge,e=>{n("$currentUser",s=e)});let{channelID:i=""}=t;const o=D(),r=["ArrowUp","ArrowDown","Enter","Escape","Tab"];let l,c,d,u,h,m,p=!1,g=!1;const f=(e,t)=>e.data.slice(0,t.index)+e.data.slice(t.index+t[0].length,e.data.length),v=(e,t)=>e>=t.beginning&&e<=t.end,w=e=>r.includes(e),$=(e,t)=>{y();let s=(e=>{let t,n=0,s=e.ownerDocument||e.document,i=s.defaultView||s.parentWindow;if(void 0!==i.getSelection){if((t=i.getSelection()).rangeCount>0){let t=i.getSelection().getRangeAt(0),s=t.cloneRange();s.selectNodeContents(e),s.setEnd(t.endContainer,t.endOffset),n=s.toString().length}}else if((t=s.selection)&&"Control"!==t.type){let i=t.createRange(),o=s.body.createTextRange();o.moveToElementText(e),o.setEndPoint("EndToEnd",i),n=o.text.length}return n})(c);for(let i of e){if(v(s,i)){w(t.key)||(n("openInlineEmojiPicker",g=!0),n("filterTerm",d=i.name)),n("keypressKey",u=t.key),n("keypressTimeStamp",h=t.timeStamp);break}n("openInlineEmojiPicker",g=!1)}},y=()=>{const e=window.getSelection();e&&e.rangeCount>0&&(m=e.getRangeAt(0))},j=e=>{const t=new RegExp(e,"g"),s=m.endOffset;let i,o;NodeList.prototype.forEach=Array.prototype.forEach,c.childNodes.forEach((e,r)=>{if(e===m.endContainer){let a=[];for(;a=t.exec(e.data);){const t={beginning:a.index,end:a.index+a[0].length};v(s,t)&&(o=a.index,i=e,n("msgInputEl",c.childNodes[r].data=f(e,a),c))}}}),_(i,o)},k=async()=>{let e=Me.sanitize(Me.EmojiToMD(c.innerHTML)).trim();if(""===e)return;let t=(new Date).getTime(),r={tmpID:t,userID:s.ID,fullName:s.fullName,body:Me.decodeHTML(e),channel:i,createdAt:Date.now(),unSanitized:!0};n("msgInputEl",c.innerHTML="",c);try{o("newPendingMsg",r);let e=await ne.messageSend(r);o("pendingMsgID",{id:e.message.ID,tmpID:t})}catch(e){Te(e)}},_=(e,t)=>{let n=document.createRange(),s=window.getSelection();m.setStart(e,t),m.collapse(!0),s.removeAllRanges(),s.addRange(n)};return e.$set=(e=>{"channelID"in e&&n("channelID",i=e.channelID)}),{channelID:i,emojiDrawerButtonEl:l,msgInputEl:c,filterTerm:d,keypressKey:u,keypressTimeStamp:h,openEmojiDrawer:p,openInlineEmojiPicker:g,closeEmojiDrawer:()=>n("openEmojiDrawer",p=!1),closeInlineEmojiPicker:()=>n("openInlineEmojiPicker",g=!1),onDrawerEmojiSelected:e=>{const t=e.detail;Ye(t,m,c),n("openEmojiDrawer",p=!1)},onEmojiButtonKeyup:e=>{"Enter"===e.key&&n("openEmojiDrawer",p=!0)},onInlineEmojiSelected:e=>{const t=e.detail;j(d),Ye(t,m,c),n("openInlineEmojiPicker",g=!1)},onKeydown:e=>{(g&&w(e.key)||!g&&"Enter"===e.key)&&e.preventDefault()},onKeyup:e=>{if("Enter"!==e.key||e.shiftKey||g){(e=>Dt.test(e))(c.innerHTML)&&(n("msgInputEl",c.innerHTML=c.innerHTML.replace(Dt,Me.parse),c),We(c),n("openInlineEmojiPicker",g=!1));const t=(e=>{const t=/:[a-z]{2,}/g;let n=[],s=[];for(;n=t.exec(e);){let e={name:n[0],beginning:n.index,end:n.index+n[0].length};s.push(e)}return s})(c.innerText);t&&$(t,e)}else k()},onMouseLeave:async e=>{y()},toggleEmojiDrawer:()=>{g&&n("openInlineEmojiPicker",g=!1),n("openEmojiDrawer",p=!p)},div0_binding:function(e){C[e?"unshift":"push"](()=>{n("msgInputEl",c=e)})},svg_binding:function(e){C[e?"unshift":"push"](()=>{n("emojiDrawerButtonEl",l=e)})}}}class Ct extends Y{constructor(e){super(),J(this,e,It,bt,r,["channelID"])}}function St(e){var t,n,s,i=new Ve({props:{channelID:e.channelID,pendingMsgs:e.pendingMsgs,latestMsgID:e.latestMsgID}});i.$on("newFetchedMsgs",e.onNewFetchedMsgs);var o=new Ct({props:{channelID:e.channelID}});return o.$on("newPendingMsg",e.onNewPendingMsg),o.$on("pendingMsgID",e.onPendingMsgID),{c(){t=p("div"),i.$$.fragment.c(),n=v(),o.$$.fragment.c(),$(t,"class","channel svelte-1r3lw2y")},m(e,r){u(e,t,r),G(i,t,null),d(t,n),G(o,t,null),s=!0},p(e,t){var n={};e.channelID&&(n.channelID=t.channelID),e.pendingMsgs&&(n.pendingMsgs=t.pendingMsgs),e.latestMsgID&&(n.latestMsgID=t.latestMsgID),i.$set(n);var s={};e.channelID&&(s.channelID=t.channelID),o.$set(s)},i(e){s||(U(i.$$.fragment,e),U(o.$$.fragment,e),s=!0)},o(e){H(i.$$.fragment,e),H(o.$$.fragment,e),s=!1},d(e){e&&h(t),F(i),F(o)}}}function Mt(e,t,n){let s,{channelID:i=""}=t,o=[];se.on(Z.MESSAGE_NEW,async e=>{i===e.channel&&n("latestMsgID",s=e.ID)});return e.$set=(e=>{"channelID"in e&&n("channelID",i=e.channelID)}),{channelID:i,latestMsgID:s,pendingMsgs:o,onNewPendingMsg:e=>{n("pendingMsgs",o=[...o,e.detail])},onPendingMsgID:e=>{o.forEach(t=>{t.tmpID===e.detail.tmpID&&(t.ID=e.detail.id)})},onNewFetchedMsgs:e=>{n("pendingMsgs",o=o.filter(t=>e.detail.find(e=>e.ID!==t.ID)))}}}class Nt extends Y{constructor(e){super(),J(this,e,Mt,St,r,["channelID"])}}function Lt(e){var t,n,s=new be({}),i=new Nt({props:{channelID:e.channelID}});return{c(){s.$$.fragment.c(),t=v(),i.$$.fragment.c()},m(e,o){G(s,e,o),u(e,t,o),G(i,e,o),n=!0},p(e,t){var n={};e.channelID&&(n.channelID=t.channelID),i.$set(n)},i(e){n||(U(s.$$.fragment,e),U(i.$$.fragment,e),n=!0)},o(e){H(s.$$.fragment,e),H(i.$$.fragment,e),n=!1},d(e){F(s,e),e&&h(t),F(i,e)}}}function Pt(e,t,n){let{channelID:s="",key:i="",name:o="",pk:r=""}=t;return b(async()=>{if(s)return;const e=await ne.register({publicKey:r,channelKey:i,name:o});n("channelID",s=await e.channelID)}),e.$set=(e=>{"channelID"in e&&n("channelID",s=e.channelID),"key"in e&&n("key",i=e.key),"name"in e&&n("name",o=e.name),"pk"in e&&n("pk",r=e.pk)}),{channelID:s,key:i,name:o,pk:r}}class Tt extends Y{constructor(e){super(),J(this,e,Pt,Lt,r,["channelID","key","name","pk"])}}function Rt(e){var t,n,s=new Tt({props:{pk:"aktchk3c1oskrdkkslbb",channelID:e.channelID}});return{c(){t=p("main"),s.$$.fragment.c(),$(t,"class","svelte-1yk5qq2")},m(e,i){u(e,t,i),G(s,t,null),n=!0},p(e,t){var n={};e.channelID&&(n.channelID=t.channelID),s.$set(n)},i(e){n||(U(s.$$.fragment,e),n=!0)},o(e){H(s.$$.fragment,e),n=!1},d(e){e&&h(t),F(s)}}}function At(e,t,n){let{channelID:s=""}=t;return e.$set=(e=>{"channelID"in e&&n("channelID",s=e.channelID)}),{channelID:s}}class Bt extends Y{constructor(e){super(),J(this,e,At,Rt,r,["channelID"])}}function zt(e){var t;return{c(){t=f("Invite users")},m(e,n){u(e,t,n)},d(e){e&&h(t)}}}function Ot(e){var t,n,s,i,o,r,a,l,c,m,g=new ve({props:{shadow:!0,loading:e.loading,$$slots:{default:[zt]},$$scope:{ctx:e}}});return g.$on("click",e.inviteUsers),{c(){t=p("div"),(n=p("h4")).textContent="Invite some other users to join your Roomlio account.",s=v(),i=p("div"),(o=p("label")).textContent="Enter emails separated by commas",r=v(),a=p("textarea"),l=v(),g.$$.fragment.c(),$(o,"for","invite-users"),$(a,"id","invite-users"),$(a,"placeholder","eg. amy@mycompany.com, sally@mycompany.com"),$(t,"class","invite-users svelte-1yq2tty"),m=w(a,"input",e.textarea_input_handler)},m(h,m){u(h,t,m),d(t,n),d(t,s),d(t,i),d(i,o),d(i,r),d(i,a),j(a,e.emails),d(t,l),G(g,t,null),c=!0},p(e,t){e.emails&&j(a,t.emails);var n={};e.loading&&(n.loading=t.loading),e.$$scope&&(n.$$scope={changed:e,ctx:t}),g.$set(n)},i(e){c||(U(g.$$.fragment,e),c=!0)},o(e){H(g.$$.fragment,e),c=!1},d(e){e&&h(t),F(g),m()}}}function Ut(e,t,n){let s="",i=!1;return{emails:s,loading:i,inviteUsers:async()=>{if(!i){n("loading",i=!0);try{await ne.userInvite({emails:s}),n("emails",s=""),n("loading",i=!1)}catch(e){Te(e),n("loading",i=!1)}}},textarea_input_handler:function(){s=this.value,n("emails",s)}}}class Ht extends Y{constructor(e){super(),J(this,e,Ut,Ot,r,[])}}function Kt(t){var n,s,i,o,r,a,l,c=new xe({props:{channelID:"todo"}}),m=new Ht({});return{c(){c.$$.fragment.c(),n=v(),s=p("div"),(i=p("h2")).textContent="Welcome to Roomlio!",o=v(),m.$$.fragment.c(),r=v(),(a=p("div")).textContent="← Or just chat in a channel on left",$(s,"class","welcome-page svelte-5qmob6")},m(e,t){G(c,e,t),u(e,n,t),u(e,s,t),d(s,i),d(s,o),G(m,s,null),d(s,r),d(s,a),l=!0},p:e,i(e){l||(U(c.$$.fragment,e),U(m.$$.fragment,e),l=!0)},o(e){H(c.$$.fragment,e),H(m.$$.fragment,e),l=!1},d(e){F(c,e),e&&(h(n),h(s)),F(m)}}}class qt extends Y{constructor(e){super(),J(this,e,null,Kt,r,[])}}function Vt(e){var t,n,s;return{c(){t=p("div"),n=f("Error: "),s=f(e.error),$(t,"class","error")},m(e,i){u(e,t,i),d(t,n),d(t,s)},p(e,t){e.error&&y(s,t.error)},d(e){e&&h(t)}}}function Gt(e){var t;return{c(){t=f("Log in")},m(e,n){u(e,t,n)},d(e){e&&h(t)}}}function Ft(e){var t,n,s,o,r,a,l,c,m,g,f,y,k,_,x,E=e.error&&Vt(e),b=new ve({props:{fullwidth:!0,shadow:!0,loading:e.loading,$$slots:{default:[Gt]},$$scope:{ctx:e}}});return b.$on("click",e.login),{c(){t=p("div"),n=p("div"),(s=p("h1")).textContent="Roomlio Login",o=v(),E&&E.c(),r=v(),a=p("input"),l=v(),c=p("input"),m=v(),b.$$.fragment.c(),g=v(),(f=p("a")).textContent="Forgot password?",y=v(),(k=p("a")).textContent="Don't have a user? Sign up now",$(a,"type","email"),$(a,"placeholder","Email"),$(a,"class","input"),$(a,"aria-label","email"),a.autofocus=!0,$(c,"type","password"),$(c,"placeholder","Password"),$(c,"class","input"),$(c,"aria-label","password"),$(f,"class","form-footer-link"),$(f,"href","/#/password-reset-email"),$(k,"class","form-footer-link"),$(k,"href","/#/signup"),$(n,"class","form"),$(t,"class","auth-container"),x=[w(a,"input",e.input0_input_handler),w(a,"keydown",e.handleKeydown),w(c,"input",e.input1_input_handler),w(c,"keydown",e.handleKeydown)]},m(i,h){u(i,t,h),d(t,n),d(n,s),d(n,o),E&&E.m(n,null),d(n,r),d(n,a),j(a,e.email),d(n,l),d(n,c),j(c,e.password),d(n,m),G(b,n,null),d(n,g),d(n,f),d(n,y),d(n,k),_=!0,a.focus()},p(e,t){t.error?E?E.p(e,t):((E=Vt(t)).c(),E.m(n,r)):E&&(E.d(1),E=null),e.email&&a.value!==t.email&&j(a,t.email),e.password&&c.value!==t.password&&j(c,t.password);var s={};e.loading&&(s.loading=t.loading),e.$$scope&&(s.$$scope={changed:e,ctx:t}),b.$set(s)},i(e){_||(U(b.$$.fragment,e),_=!0)},o(e){H(b.$$.fragment,e),_=!1},d(e){e&&h(t),E&&E.d(),F(b),i(x)}}}function Wt(e,t,n){let s,i="",o=!1,r="";const a=async()=>{if(!o){n("loading",o=!0);try{await ne.userLogin({email:i,password:r});$e.redirect("/"),n("loading",o=!1)}catch(e){n("error",s=e.msg),n("loading",o=!1)}}};return{email:i,error:s,loading:o,password:r,handleKeydown:async e=>{"Enter"===e.key&&a()},login:a,input0_input_handler:function(){i=this.value,n("email",i)},input1_input_handler:function(){r=this.value,n("password",r)}}}class Jt extends Y{constructor(e){super(),J(this,e,Wt,Ft,r,[])}}function Yt(e){var t,n,s,i=e.error.msg+"";return{c(){t=p("div"),n=f("Error: "),s=f(i),$(t,"class","error")},m(e,i){u(e,t,i),d(t,n),d(t,s)},p(e,t){e.error&&i!==(i=t.error.msg+"")&&y(s,i)},d(e){e&&h(t)}}}function Zt(e){var t;return{c(){t=f("Sign up")},m(e,n){u(e,t,n)},d(e){e&&h(t)}}}function Qt(e){var t,n,s,o,r,a,l,c,m,g,f,y,k,_,x,E=e.error&&Yt(e),b=new ve({props:{fullwidth:!0,shadow:!0,loading:e.loading,$$slots:{default:[Zt]},$$scope:{ctx:e}}});return b.$on("click",e.signup),{c(){t=p("div"),n=p("div"),(s=p("h1")).textContent="Signup for Roomlio",o=v(),E&&E.c(),r=v(),a=p("input"),l=v(),c=p("input"),m=v(),g=p("input"),f=v(),b.$$.fragment.c(),y=v(),(k=p("a")).textContent="Already have a user? Log in now",$(a,"type","email"),$(a,"placeholder","Email"),$(a,"class","input"),$(a,"aria-label","email"),a.autofocus=!0,$(c,"placeholder","Full Name"),$(c,"class","input"),$(c,"aria-label","full name"),$(g,"type","password"),$(g,"placeholder","Password"),$(g,"class","input"),$(g,"aria-label","password"),$(k,"class","form-footer-link"),$(k,"href","/#/login"),$(n,"class","form"),$(t,"class","auth-container"),x=[w(a,"input",e.input0_input_handler),w(a,"keydown",e.handleKeydown),w(c,"input",e.input1_input_handler),w(c,"keydown",e.handleKeydown),w(g,"input",e.input2_input_handler),w(g,"keydown",e.handleKeydown)]},m(i,h){u(i,t,h),d(t,n),d(n,s),d(n,o),E&&E.m(n,null),d(n,r),d(n,a),j(a,e.email),d(n,l),d(n,c),j(c,e.fullName),d(n,m),d(n,g),j(g,e.password),d(n,f),G(b,n,null),d(n,y),d(n,k),_=!0,a.focus()},p(e,t){t.error?E?E.p(e,t):((E=Yt(t)).c(),E.m(n,r)):E&&(E.d(1),E=null),e.email&&a.value!==t.email&&j(a,t.email),e.fullName&&c.value!==t.fullName&&j(c,t.fullName),e.password&&g.value!==t.password&&j(g,t.password);var s={};e.loading&&(s.loading=t.loading),e.$$scope&&(s.$$scope={changed:e,ctx:t}),b.$set(s)},i(e){_||(U(b.$$.fragment,e),_=!0)},o(e){H(b.$$.fragment,e),_=!1},d(e){e&&h(t),E&&E.d(),F(b),i(x)}}}function Xt(e,t,n){let s,i="",o="",r=!1,a="";const l=async()=>{if(!r){n("loading",r=!0);try{await ne.userCreate({email:i,password:a,fullName:o});$e.redirect("/"),n("loading",r=!1)}catch(e){n("error",s=e),n("loading",r=!1)}}};return{email:i,error:s,fullName:o,loading:r,password:a,handleKeydown:async e=>{"Enter"===e.key&&l()},signup:l,input0_input_handler:function(){i=this.value,n("email",i)},input1_input_handler:function(){o=this.value,n("fullName",o)},input2_input_handler:function(){a=this.value,n("password",a)}}}class en extends Y{constructor(e){super(),J(this,e,Xt,Qt,r,[])}}function tn(e){var t,n,s,i=e.error.msg+"";return{c(){t=p("div"),n=f("Error: "),s=f(i),$(t,"class","error")},m(e,i){u(e,t,i),d(t,n),d(t,s)},p(e,t){e.error&&i!==(i=t.error.msg+"")&&y(s,i)},d(e){e&&h(t)}}}function nn(t){var n,s;return{c(){n=p("div"),s=f(rn),$(n,"class","success-notification")},m(e,t){u(e,n,t),d(n,s)},p:e,d(e){e&&h(n)}}}function sn(e){var t;return{c(){t=f("Send password reset email")},m(e,n){u(e,t,n)},d(e){e&&h(t)}}}function on(e){var t,n,s,o,r,a,l,c,m,g,f=e.error&&tn(e),y=e.showSuccessNotification&&nn(),k=new ve({props:{fullwidth:!0,shadow:!0,loading:e.loading,$$slots:{default:[sn]},$$scope:{ctx:e}}});return k.$on("click",e.resetPassword),{c(){t=p("div"),n=p("div"),(s=p("h1")).textContent="Reset Roomlio Password",o=v(),f&&f.c(),r=v(),y&&y.c(),a=v(),l=p("input"),c=v(),k.$$.fragment.c(),$(l,"type","email"),$(l,"placeholder","Email"),$(l,"class","input"),$(l,"aria-label","email"),l.autofocus=!0,$(n,"class","form"),$(t,"class","auth-container"),g=[w(l,"input",e.input_input_handler),w(l,"keydown",e.handleKeydown)]},m(i,h){u(i,t,h),d(t,n),d(n,s),d(n,o),f&&f.m(n,null),d(n,r),y&&y.m(n,null),d(n,a),d(n,l),j(l,e.email),d(n,c),G(k,n,null),m=!0,l.focus()},p(e,t){t.error?f?f.p(e,t):((f=tn(t)).c(),f.m(n,r)):f&&(f.d(1),f=null),t.showSuccessNotification?y?y.p(e,t):((y=nn()).c(),y.m(n,a)):y&&(y.d(1),y=null),e.email&&l.value!==t.email&&j(l,t.email);var s={};e.loading&&(s.loading=t.loading),e.$$scope&&(s.$$scope={changed:e,ctx:t}),k.$set(s)},i(e){m||(U(k.$$.fragment,e),m=!0)},o(e){H(k.$$.fragment,e),m=!1},d(e){e&&h(t),f&&f.d(),y&&y.d(),F(k),i(g)}}}let rn="Check your email for password reset instructions.";function an(e,t,n){let s,i="",o=!1,r=!1;const a=async()=>{if(!o){n("loading",o=!0);try{await ne.passwordResetEmail({email:i});n("showSuccessNotification",r=!0),n("loading",o=!1)}catch(e){n("showSuccessNotification",r=!1),n("error",s=e),n("loading",o=!1)}}};return{email:i,error:s,loading:o,showSuccessNotification:r,handleKeydown:async e=>{"Enter"===e.key&&a()},resetPassword:a,input_input_handler:function(){i=this.value,n("email",i)}}}class ln extends Y{constructor(e){super(),J(this,e,an,on,r,[])}}function cn(e){var t,n,s=e.error.msg+"";return{c(){t=p("div"),n=f(s),$(t,"class","error")},m(e,s){u(e,t,s),d(t,n)},p(e,t){e.error&&s!==(s=t.error.msg+"")&&y(n,s)},d(e){e&&h(t)}}}function dn(e){var t;return{c(){t=f("Send password reset email")},m(e,n){u(e,t,n)},d(e){e&&h(t)}}}function un(e){var t,n,s,o,r,a,l,c,m,g=e.error&&cn(e),f=new ve({props:{fullwidth:!0,shadow:!0,loading:e.loading,$$slots:{default:[dn]},$$scope:{ctx:e}}});return f.$on("click",e.resetPassword),{c(){t=p("div"),n=p("div"),(s=p("h1")).textContent="Set New Roomlio Password",o=v(),g&&g.c(),r=v(),a=p("input"),l=v(),f.$$.fragment.c(),$(a,"type","password"),$(a,"placeholder","New password"),$(a,"class","input"),$(a,"aria-label","password"),a.autofocus=!0,$(n,"class","form"),$(t,"class","auth-container"),m=[w(a,"input",e.input_input_handler),w(a,"keydown",e.handleKeydown)]},m(i,h){u(i,t,h),d(t,n),d(n,s),d(n,o),g&&g.m(n,null),d(n,r),d(n,a),j(a,e.password),d(n,l),G(f,n,null),c=!0,a.focus()},p(e,t){t.error?g?g.p(e,t):((g=cn(t)).c(),g.m(n,r)):g&&(g.d(1),g=null),e.password&&a.value!==t.password&&j(a,t.password);var s={};e.loading&&(s.loading=t.loading),e.$$scope&&(s.$$scope={changed:e,ctx:t}),f.$set(s)},i(e){c||(U(f.$$.fragment,e),c=!0)},o(e){H(f.$$.fragment,e),c=!1},d(e){e&&h(t),g&&g.d(),F(f),i(m)}}}function hn(e,t,n){let s,{token:i}=t,o=!1,r="";const a=async()=>{if(!o){n("loading",o=!0);try{await ne.passwordReset({token:i,password:r});$e.redirect("/login"),n("loading",o=!1)}catch(e){n("error",s=e),n("loading",o=!1)}}};return e.$set=(e=>{"token"in e&&n("token",i=e.token)}),{token:i,error:s,loading:o,password:r,handleKeydown:async e=>{"Enter"===e.key&&a()},resetPassword:a,input_input_handler:function(){r=this.value,n("password",r)}}}class mn extends Y{constructor(e){super(),J(this,e,hn,un,r,["token"])}}function pn(e){var t,n,s,o,r,a,l,c,m,g,k,_,x,E,b,D=new ve({props:{fullwidth:!0,shadow:!0,loading:e.loading,$$slots:{default:[fn]},$$scope:{ctx:e}}});return D.$on("click",e.signup),{c(){t=p("div"),n=f("You have been invited to join Roomlio by "),s=f(e.invitedBy),o=f(". Create your\n account now to log in to your new dashboard."),r=v(),a=p("input"),l=v(),c=p("input"),m=v(),g=p("input"),k=v(),D.$$.fragment.c(),_=v(),(x=p("a")).textContent="Already have a user? Log in now",$(t,"class","info"),a.disabled=!0,a.value=e.email,$(a,"class","input input-disabled"),$(c,"placeholder","Full Name"),$(c,"class","input"),c.autofocus=!0,$(g,"type","password"),$(g,"placeholder","Password"),$(g,"class","input"),$(x,"href","/#/login"),b=[w(c,"input",e.input1_input_handler),w(g,"input",e.input2_input_handler)]},m(i,h){u(i,t,h),d(t,n),d(t,s),d(t,o),u(i,r,h),u(i,a,h),u(i,l,h),u(i,c,h),j(c,e.fullName),u(i,m,h),u(i,g,h),j(g,e.password),u(i,k,h),G(D,i,h),u(i,_,h),u(i,x,h),E=!0,c.focus()},p(e,t){E&&!e.invitedBy||y(s,t.invitedBy),E&&!e.email||(a.value=t.email),e.fullName&&c.value!==t.fullName&&j(c,t.fullName),e.password&&g.value!==t.password&&j(g,t.password);var n={};e.loading&&(n.loading=t.loading),e.$$scope&&(n.$$scope={changed:e,ctx:t}),D.$set(n)},i(e){E||(U(D.$$.fragment,e),E=!0)},o(e){H(D.$$.fragment,e),E=!1},d(e){e&&(h(t),h(r),h(a),h(l),h(c),h(m),h(g),h(k)),F(D,e),e&&(h(_),h(x)),i(b)}}}function gn(t){var n,s,i=t.error.msg+"";return{c(){n=p("div"),s=f(i),$(n,"class","error")},m(e,t){u(e,n,t),d(n,s)},p(e,t){e.error&&i!==(i=t.error.msg+"")&&y(s,i)},i:e,o:e,d(e){e&&h(n)}}}function fn(e){var t;return{c(){t=f("Sign up")},m(e,n){u(e,t,n)},d(e){e&&h(t)}}}function vn(e){var t,n,s,i,o,r,a,l=[gn,pn],c=[];function m(e,t){return t.error?0:1}return o=m(0,e),r=c[o]=l[o](e),{c(){t=p("div"),n=p("div"),(s=p("h3")).textContent="Complete your Roomlio Account",i=v(),r.c(),$(n,"class","form"),$(t,"class","auth-container")},m(e,r){u(e,t,r),d(t,n),d(n,s),d(n,i),c[o].m(n,null),a=!0},p(e,t){var s=o;(o=m(0,t))===s?c[o].p(e,t):(z(),H(c[s],1,1,()=>{c[s]=null}),O(),(r=c[o])||(r=c[o]=l[o](t)).c(),U(r,1),r.m(n,null))},i(e){a||(U(r),a=!0)},o(e){H(r),a=!1},d(e){e&&h(t),c[o].d()}}}function wn(e,t,n){let s,{token:i}=t,o="",r="",a="",l=!1,c="";b(()=>{d()});const d=async()=>{if(!l){n("loading",l=!0);try{const e=await ne.userInvitation({token:i});e.email?(n("email",o=e.email),n("invitedBy",a=e.invitedBy)):n("error",s={msg:"Invitation is not valid. Could be expired or wrong link."}),n("loading",l=!1)}catch(e){n("error",s=e),n("loading",l=!1)}}};return e.$set=(e=>{"token"in e&&n("token",i=e.token)}),{token:i,email:o,error:s,fullName:r,invitedBy:a,loading:l,password:c,signup:async()=>{try{await ne.userCreateFromInvite({token:i,password:c,fullName:r}),$e.redirect("/")}catch(e){n("error",s=e)}},input1_input_handler:function(){r=this.value,n("fullName",r)},input2_input_handler:function(){c=this.value,n("password",c)}}}class $n extends Y{constructor(e){super(),J(this,e,wn,vn,r,["token"])}}const{document:yn}=K;function jn(t){var n;return{c(){(n=p("div")).textContent="not found"},m(e,t){u(e,n,t)},p:e,i:e,o:e,d(e){e&&h(n)}}}function kn(e){var t,n,s=new mn({props:{token:e.ctx.params.token}});return{c(){t=p("div"),s.$$.fragment.c(),$(t,"class","logged-out-container svelte-1c8dm26")},m(e,i){u(e,t,i),G(s,t,null),n=!0},p(e,t){var n={};e.ctx&&(n.token=t.ctx.params.token),s.$set(n)},i(e){n||(U(s.$$.fragment,e),n=!0)},o(e){H(s.$$.fragment,e),n=!1},d(e){e&&h(t),F(s)}}}function _n(t){var n,s,i=new ln({});return{c(){n=p("div"),i.$$.fragment.c(),$(n,"class","logged-out-container svelte-1c8dm26")},m(e,t){u(e,n,t),G(i,n,null),s=!0},p:e,i(e){s||(U(i.$$.fragment,e),s=!0)},o(e){H(i.$$.fragment,e),s=!1},d(e){e&&h(n),F(i)}}}function xn(t){var n,s,i=new en({});return{c(){n=p("div"),i.$$.fragment.c(),$(n,"class","logged-out-container svelte-1c8dm26")},m(e,t){u(e,n,t),G(i,n,null),s=!0},p:e,i(e){s||(U(i.$$.fragment,e),s=!0)},o(e){H(i.$$.fragment,e),s=!1},d(e){e&&h(n),F(i)}}}function En(t){var n,s,i=new qt({});return{c(){n=p("div"),i.$$.fragment.c(),$(n,"class","logged-in-container svelte-1c8dm26")},m(e,t){u(e,n,t),G(i,n,null),s=!0},p:e,i(e){s||(U(i.$$.fragment,e),s=!0)},o(e){H(i.$$.fragment,e),s=!1},d(e){e&&h(n),F(i)}}}function bn(t){var n,s,i=new Jt({});return{c(){n=p("div"),i.$$.fragment.c(),$(n,"class","logged-out-container svelte-1c8dm26")},m(e,t){u(e,n,t),G(i,n,null),s=!0},p:e,i(e){s||(U(i.$$.fragment,e),s=!0)},o(e){H(i.$$.fragment,e),s=!1},d(e){e&&h(n),F(i)}}}function Dn(e){var t,n,s=new $n({props:{token:e.ctx.params.token}});return{c(){t=p("div"),s.$$.fragment.c(),$(t,"class","logged-out-container svelte-1c8dm26")},m(e,i){u(e,t,i),G(s,t,null),n=!0},p(e,t){var n={};e.ctx&&(n.token=t.ctx.params.token),s.$set(n)},i(e){n||(U(s.$$.fragment,e),n=!0)},o(e){H(s.$$.fragment,e),n=!1},d(e){e&&h(t),F(s)}}}function In(e){var t,n,s,i=new xe({props:{channelID:e.ctx.params.channel}}),o=new Bt({props:{channelID:e.ctx.params.channel}});return{c(){t=p("div"),i.$$.fragment.c(),n=v(),o.$$.fragment.c(),$(t,"class","logged-in-container svelte-1c8dm26")},m(e,r){u(e,t,r),G(i,t,null),d(t,n),G(o,t,null),s=!0},p(e,t){var n={};e.ctx&&(n.channelID=t.ctx.params.channel),i.$set(n);var s={};e.ctx&&(s.channelID=t.ctx.params.channel),o.$set(s)},i(e){s||(U(i.$$.fragment,e),U(o.$$.fragment,e),s=!0)},o(e){H(i.$$.fragment,e),H(o.$$.fragment,e),s=!1},d(e){e&&h(t),F(i),F(o)}}}function Cn(e){var t,n,s,i,o;yn.body.addEventListener("click",e.onClick);var r=[In,Dn,bn,En,xn,_n,kn,jn],a=[];function l(e,t){return"channel"===t.route?0:"invite"===t.route?1:"login"===t.route?2:"home"===t.route?3:"signup"===t.route?4:"password-reset-email"===t.route?5:"password-reset"===t.route?6:7}return s=l(0,e),i=a[s]=r[s](e),{c(){t=v(),n=p("div"),i.c(),$(n,"class","app svelte-1c8dm26")},m(e,i){u(e,t,i),u(e,n,i),a[s].m(n,null),o=!0},p(e,t){var o=s;(s=l(0,t))===o?a[s].p(e,t):(z(),H(a[o],1,1,()=>{a[o]=null}),O(),(i=a[s])||(i=a[s]=r[s](t)).c(),U(i,1),i.m(n,null))},i(e){o||(U(i),o=!0)},o(e){H(i),o=!1},d(i){yn.body.removeEventListener("click",e.onClick),i&&(h(t),h(n)),a[s].d()}}}function Sn(e,t,n){let s;a(e,Ge,e=>{n("$currentUser",s=e)});let{route:i,ctx:o}=t;se.on(Z.MESSAGE_NEW,e=>{s.ID===e.userID||document.hasFocus()||r(e)}),b(()=>{l(),oe(),"serviceWorker"in navigator&&(d(),h())});const r=e=>{"granted"==Notification.permission&&navigator.serviceWorker.getRegistration().then(function(t){var n={body:e.body.replace(/<[^>]*>?/gm,""),icon:"/assets/images/roomlio-icon-256.png",requireInteraction:!1,vibrate:[100,50,100],data:{channel:e.channel,url:`/#/channel/${e.channel}`}};t&&t.showNotification(e.fullName,n);let s=new Audio("/assets/media/notification.v3.mp3");s.volume=1,s.play(),"ExperimentalBadge"in window&&window.ExperimentalBadge.set()})},l=()=>{$e.base("/#"),$e("/",e=>c("home",e)),$e("/login",e=>c("login",e)),$e("/signup",e=>c("signup",e)),$e("/password-reset-email",e=>c("password-reset-email",e)),$e("/password-reset/:token",e=>c("password-reset",e)),$e("/channel/:channel",e=>c("channel",e)),$e("/invite/:token",e=>c("invite",e)),$e("*",e=>c("notfound",e)),$e()},c=(e,t)=>{n("route",i=e),n("ctx",o=t),u(i)&&(async()=>{try{let e=await ne.currentUser();await Ge.set(e.user),await Fe.set(e.user.accounts[0])}catch(e){Te(e)}})()},d=()=>{navigator.serviceWorker.register("sw.js").then(function(e){e.pushManager.getSubscription().then(function(e){})}).catch(function(e){})},u=e=>["home","channel"].includes(e),h=()=>{navigator.serviceWorker.ready.then(function(e){e.pushManager&&e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:m("BCG0HBvQltpDRurpzcJPO1swVlQ0can2bnLghKzPEji6EpJl7YqoSz1KMYCw3_HZS3c-wWohSJxm1xuFYogqvL8")}).then(function(e){JSON.stringify(e)}).catch(function(e){"denied"===Notification.permission?console.warn("Permission for notifications was denied"):console.error("Unable to subscribe to push",e)})})},m=e=>{for(var t=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),n=window.atob(t),s=new Uint8Array(n.length),i=0;i<n.length;++i)s[i]=n.charCodeAt(i);return s};return e.$set=(e=>{"route"in e&&n("route",i=e.route),"ctx"in e&&n("ctx",o=e.ctx)}),{route:i,ctx:o,onClick:()=>{"ExperimentalBadge"in window&&window.ExperimentalBadge.clear()}}}let Mn=!1;let Nn="",Ln=new Date;const Pn=async()=>{Ln=new Date;let e=await fetch("/client_version"),t=(await e.text()).split("\n")[0];return Nn=t,t};Pn();const Tn=async()=>{if((e=>{return e>Date.now()-3e5})(Ln))return;const e=await Pn();""!==e&&e!==Nn&&location.reload()};window.onfocus=function(){Tn()},window.onblur=function(){Tn()},(new class{constructor(){this.url="wss://app.roomlio-stg.com/ws"}init(){console.log("connecting to roomlio ws..."),Mn||(this.ws=new WebSocket(this.url),Mn=!0,this.ws.onopen=(()=>{console.log("roomlio ws connected"),this.pingCounter=this.pongCounter=0,this.pingInterval=setInterval(()=>{if(this.pingCounter-this.pongCounter>1&&1===this.ws.readyState)return console.log("Missed too many pongs. Closing websocket."),void this.ws.close();this.ws.send(JSON.stringify({eventType:Z.PING,id:(this.pingCounter++).toString()}))},1e4)}),this.ws.onmessage=(e=>{this.processEvents(JSON.parse(e.data))}),this.ws.onclose=(e=>{console.log("Socket is closed. Reconnect will be attempted in 5 seconds.",e.reason,e),Mn=!1,clearInterval(this.pingInterval),setTimeout(()=>this.init(),5e3)}),this.ws.onerror=(e=>{console.error("Socket encountered error: ",e,"Closing socket"),this.ws.close()}))}processEvents(e){e.forEach(e=>{switch(e.eventType){case Z.MESSAGE_NEW:se.emit(Z.MESSAGE_NEW,JSON.parse(e.payload));break;case Z.PONG:this.pongCounter=Number(e.id);break;case"reload":location.reload();default:console.log("event type not matched, ignoring")}})}}).init();const Rn=new class extends Y{constructor(e){super(),J(this,e,Sn,Cn,r,["route","ctx"])}}({target:document.body,props:{}});if("prod"!==JSON.stringify("stg")){(async()=>{let e=await fetch("/client_version"),t=await e.text();document.title=`[stg] ${document.title} ${t}`})()}return"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").then(function(e){},function(e){console.log("ServiceWorker registration failed: ",e)})}),Rn}();
Add Comment
Please, Sign In to add comment