UNPKG

mithril

Version:

A framework for building brilliant applications

1 lines 24.5 kB
!function(){"use strict";function e(e,t,n,r,o,l){return{tag:e,key:t,attrs:n,children:r,text:o,dom:l,is:void 0,domSize:void 0,state:void 0,events:void 0,instance:void 0}}e.normalize=function(t){return Array.isArray(t)?e("[",void 0,void 0,e.normalizeChildren(t),void 0,void 0):null==t||"boolean"==typeof t?null:"object"==typeof t?t:e("#",void 0,void 0,String(t),void 0,void 0)},e.normalizeChildren=function(t){var n=[];if(t.length){for(var r=null!=t[0]&&null!=t[0].key,o=1;o<t.length;o++)if((null!=t[o]&&null!=t[o].key)!==r)throw new TypeError(!r||null!=t[o]&&"boolean"!=typeof t[o]?"In fragments, vnodes must either all have keys or none have keys.":"In fragments, vnodes must either all have keys or none have keys. You may wish to consider using an explicit keyed empty fragment, m.fragment({key: ...}), instead of a hole.");for(o=0;o<t.length;o++)n[o]=e.normalize(t[o])}return n};var t=function(t,n){return null==t||"object"==typeof t&&null==t.tag&&!Array.isArray(t)?1===n.length&&Array.isArray(n[0])&&(n=n[0]):(n=0===n.length&&Array.isArray(t)?t:[t,...n],t=void 0),e("",t&&t.key,t,n)},n={}.hasOwnProperty,r={},o=new Map([[r,!0]]),l=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,i=Object.create(null);function a(e){for(var t in e)if(n.call(e,t))return!1;return!0}function s(e){for(var t,n,s="div",u=[],c={},f=!0;t=l.exec(e);){var d=t[1],m=t[2];if(""===d&&""!==m)s=m;else if("#"===d)c.id=m;else if("."===d)u.push(m);else if("["===t[3][0]){var v=t[6];v&&(v=v.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),"class"===t[4]?u.push(v):(c[t[4]]=""===v?v:v||!0,("value"===(n=t[4])||"checked"===n||"selectedIndex"===n||"selected"===n)&&(f=!1))}}return u.length>0&&(c.className=u.join(" ")),a(c)?c=r:o.set(c,f),i[e]={tag:s,attrs:c,is:c.is}}function u(e,t){t.tag=e.tag;var o=t.attrs;if(null==o)return t.attrs=e.attrs,t.is=e.is,t;var l=n.call(o,"class"),i=l?o.class:o.className;return e.attrs!==r?(o=Object.assign({},e.attrs,o),null==i&&null==e.attrs.className||(o.className=null!=i?null!=e.attrs.className?String(e.attrs.className)+" "+String(i):i:e.attrs.className)):null!=i&&(o.className=i),l&&(o.class=null),"input"===e.tag&&n.call(o,"type")&&(o=Object.assign({type:o.type},o)),t.is=o.is,t.attrs=o,t}function c(n,r,...o){if(null==n||"string"!=typeof n&&"function"!=typeof n&&"function"!=typeof n.view)throw Error("The selector must be either a string or a component.");var l=t(r,o);return"string"==typeof n&&(l.children=e.normalizeChildren(l.children),"["!==n)?u(i[n]||s(n),l):(null==l.attrs&&(l.attrs={}),l.tag=n,l)}c.trust=function(t){return null==t&&(t=""),e("<",void 0,void 0,t,void 0,void 0)},c.fragment=function(n,...r){var o=t(n,r);return null==o.attrs&&(o.attrs={}),o.tag="[",o.children=e.normalizeChildren(o.children),o};var f=new WeakMap;var d={delayedRemoval:f,domFor:function*(e){var t=e.dom,n=e.domSize,r=f.get(t);if(null!=t)do{var o=t.nextSibling;f.get(t)===r&&(yield t,n--),t=o}while(n)}},m=d.delayedRemoval,v=d.domFor,p=function(){var t,n,r={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"};function l(e){return e.ownerDocument}function i(e){return e.attrs&&e.attrs.xmlns||r[e.tag]}function a(e,t){if(e.state!==t)throw new Error("'vnode.state' must not be modified.")}function s(e){var t=e.state;try{return this.apply(t,arguments)}finally{a(e,t)}}function u(e){try{return l(e).activeElement}catch(e){return null}}function c(e,t,n,r,o,l,i){for(var a=n;a<r;a++){var s=t[a];null!=s&&f(e,s,o,i,l)}}function f(e,t,n,r,o){var l=t.tag;if("string"==typeof l)switch(t.state={},null!=t.attrs&&Z(t.attrs,t,n),l){case"#":d(e,t,o);break;case"<":h(e,t,r,o);break;case"[":y(e,t,n,r,o);break;default:g(e,t,n,r,o)}else b(e,t,n,r,o)}function d(e,t,n){t.dom=l(e).createTextNode(t.children),R(e,t.dom,n)}var p={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"};function h(e,t,n,r){var o=t.children.match(/^\s*?<(\w+)/im)||[],i=l(e).createElement(p[o[1]]||"div");"http://www.w3.org/2000/svg"===n?(i.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+t.children+"</svg>",i=i.firstChild):i.innerHTML=t.children,t.dom=i.firstChild,t.domSize=i.childNodes.length;for(var a,s=l(e).createDocumentFragment();a=i.firstChild;)s.appendChild(a);R(e,s,r)}function y(e,t,n,r,o){var i=l(e).createDocumentFragment();if(null!=t.children){var a=t.children;c(i,a,0,a.length,n,null,r)}t.dom=i.firstChild,t.domSize=i.childNodes.length,R(e,i,o)}function g(e,t,n,r,o){var a=t.tag,s=t.attrs,u=t.is,f=(r=i(t)||r)?u?l(e).createElementNS(r,a,{is:u}):l(e).createElementNS(r,a):u?l(e).createElement(a,{is:u}):l(e).createElement(a);if(t.dom=f,null!=s&&U(t,s,r),R(e,f,o),!L(t)&&null!=t.children){var d=t.children;c(f,d,0,d.length,n,null,r),"select"===t.tag&&null!=s&&J(t,s)}}function w(t,n){var r;if("function"==typeof t.tag.view){if(t.state=Object.create(t.tag),null!=(r=t.state.view).$$reentrantLock$$)return;r.$$reentrantLock$$=!0}else{if(t.state=void 0,null!=(r=t.tag).$$reentrantLock$$)return;r.$$reentrantLock$$=!0,t.state=null!=t.tag.prototype&&"function"==typeof t.tag.prototype.view?new t.tag(t):t.tag(t)}if(Z(t.state,t,n),null!=t.attrs&&Z(t.attrs,t,n),t.instance=e.normalize(s.call(t.state.view,t)),t.instance===t)throw Error("A view cannot return the vnode it received as argument");r.$$reentrantLock$$=null}function b(e,t,n,r,o){w(t,n),null!=t.instance?(f(e,t.instance,n,r,o),t.dom=t.instance.dom,t.domSize=null!=t.dom?t.instance.domSize:0):t.domSize=0}function k(e,t,n,r,o,l){if(t!==n&&(null!=t||null!=n))if(null==t||0===t.length)c(e,n,0,n.length,r,o,l);else if(null==n||0===n.length)P(e,t,0,t.length);else{var i=null!=t[0]&&null!=t[0].key,a=null!=n[0]&&null!=n[0].key,s=0,u=0;if(!i)for(;u<t.length&&null==t[u];)u++;if(!a)for(;s<n.length&&null==n[s];)s++;if(i!==a)P(e,t,u,t.length),c(e,n,s,n.length,r,o,l);else if(a){for(var d,m,v,p,h,y=t.length-1,g=n.length-1;y>=u&&g>=s&&(v=t[y],p=n[g],v.key===p.key);)v!==p&&x(e,v,p,r,o,l),null!=p.dom&&(o=p.dom),y--,g--;for(;y>=u&&g>=s&&(d=t[u],m=n[s],d.key===m.key);)u++,s++,d!==m&&x(e,d,m,r,$(t,u,o),l);for(;y>=u&&g>=s&&s!==g&&d.key===p.key&&v.key===m.key;)I(e,v,h=$(t,u,o)),v!==m&&x(e,v,m,r,h,l),++s<=--g&&I(e,d,o),d!==p&&x(e,d,p,r,o,l),null!=p.dom&&(o=p.dom),u++,v=t[--y],p=n[g],d=t[u],m=n[s];for(;y>=u&&g>=s&&v.key===p.key;)v!==p&&x(e,v,p,r,o,l),null!=p.dom&&(o=p.dom),g--,v=t[--y],p=n[g];if(s>g)P(e,t,u,y+1);else if(u>y)c(e,n,s,g+1,r,o,l);else{var w,b,k=o,S=g-s+1,z=new Array(S),E=0,j=0,O=2147483647,C=0;for(j=0;j<S;j++)z[j]=-1;for(j=g;j>=s;j--){null==w&&(w=A(t,u,y+1));var T=w[(p=n[j]).key];null!=T&&(O=T<O?T:-1,z[j-s]=T,v=t[T],t[T]=null,v!==p&&x(e,v,p,r,o,l),null!=p.dom&&(o=p.dom),C++)}if(o=k,C!==y-u+1&&P(e,t,u,y+1),0===C)c(e,n,s,g+1,r,o,l);else if(-1===O)for(E=(b=N(z)).length-1,j=g;j>=s;j--)m=n[j],-1===z[j-s]?f(e,m,r,l,o):b[E]===j-s?E--:I(e,m,o),null!=m.dom&&(o=n[j].dom);else for(j=g;j>=s;j--)m=n[j],-1===z[j-s]&&f(e,m,r,l,o),null!=m.dom&&(o=n[j].dom)}}else{var R=t.length<n.length?t.length:n.length;for(s=s<u?s:u;s<R;s++)(d=t[s])===(m=n[s])||null==d&&null==m||(null==d?f(e,m,r,l,$(t,s+1,o)):null==m?F(e,d):x(e,d,m,r,$(t,s+1,o),l));t.length>R&&P(e,t,s,t.length),n.length>R&&c(e,n,s,n.length,r,o,l)}}}function x(e,t,n,r,o,l){var i=t.tag;if(i===n.tag&&t.is===n.is){if(n.state=t.state,n.events=t.events,te(n,t))return;if("string"==typeof i)switch(null!=n.attrs&&ee(n.attrs,n,r),i){case"#":S(t,n);break;case"<":z(e,t,n,l,o);break;case"[":E(e,t,n,r,o,l);break;default:j(t,n,r,l)}else O(e,t,n,r,o,l)}else F(e,t),f(e,n,r,l,o)}function S(e,t){e.children.toString()!==t.children.toString()&&(e.dom.nodeValue=t.children),t.dom=e.dom}function z(e,t,n,r,o){t.children!==n.children?(M(e,t),h(e,n,r,o)):(n.dom=t.dom,n.domSize=t.domSize)}function E(e,t,n,r,o,l){k(e,t.children,n.children,r,o,l);var i=0,a=n.children;if(n.dom=null,null!=a){for(var s=0;s<a.length;s++){var u=a[s];null!=u&&null!=u.dom&&(null==n.dom&&(n.dom=u.dom),i+=u.domSize||1)}1!==i&&(n.domSize=i)}}function j(e,t,n,r){var l=t.dom=e.dom;r=i(t)||r,(e.attrs!=t.attrs||null!=t.attrs&&!o.get(t.attrs))&&B(t,e.attrs,t.attrs,r),L(t)||k(l,e.children,t.children,n,null,r)}function O(t,n,r,o,l,i){if(r.instance=e.normalize(s.call(r.state.view,r)),r.instance===r)throw Error("A view cannot return the vnode it received as argument");ee(r.state,r,o),null!=r.attrs&&ee(r.attrs,r,o),null!=r.instance?(null==n.instance?f(t,r.instance,o,i,l):x(t,n.instance,r.instance,o,l,i),r.dom=r.instance.dom,r.domSize=r.instance.domSize):null!=n.instance?(F(t,n.instance),r.dom=void 0,r.domSize=0):(r.dom=n.dom,r.domSize=n.domSize)}function A(e,t,n){for(var r=Object.create(null);t<n;t++){var o=e[t];if(null!=o){var l=o.key;null!=l&&(r[l]=t)}}return r}var C,T=[];function N(e){var t=[0],n=0,r=0,o=0,l=T.length=e.length;for(o=0;o<l;o++)T[o]=e[o];for(o=0;o<l;++o)if(-1!==e[o]){var i=t[t.length-1];if(e[i]<e[o])T[o]=i,t.push(o);else{for(n=0,r=t.length-1;n<r;){var a=(n>>>1)+(r>>>1)+(n&r&1);e[t[a]]<e[o]?n=a+1:r=a}e[o]<e[t[n]]&&(n>0&&(T[o]=t[n-1]),t[n]=o)}}for(r=t[(n=t.length)-1];n-- >0;)t[n]=r,r=T[r];return T.length=0,t}function $(e,t,n){for(;t<e.length;t++)if(null!=e[t]&&null!=e[t].dom)return e[t].dom;return n}function I(e,t,n){if(null!=t.dom){var r;if(null==t.domSize)r=t.dom;else for(var o of(r=l(e).createDocumentFragment(),v(t)))r.appendChild(o);R(e,r,n)}}function R(e,t,n){null!=n?e.insertBefore(t,n):e.appendChild(t)}function L(e){if(null==e.attrs||null==e.attrs.contenteditable&&null==e.attrs.contentEditable)return!1;var t=e.children;if(null!=t&&1===t.length&&"<"===t[0].tag){var n=t[0].children;e.dom.innerHTML!==n&&(e.dom.innerHTML=n)}else if(null!=t&&0!==t.length)throw new Error("Child node of a contenteditable must be trusted.");return!0}function P(e,t,n,r){for(var o=n;o<r;o++){var l=t[o];null!=l&&F(e,l)}}function _(e,t,r,o){var l=t.state,i=s.call(r.onbeforeremove,t);if(null!=i){var u=n;for(var c of v(t))m.set(c,u);o.v++,Promise.resolve(i).finally((function(){a(t,l),D(e,t,o)}))}}function D(e,t,n){0==--n.v&&(q(t),M(e,t))}function F(e,t){var n={v:1};"string"!=typeof t.tag&&"function"==typeof t.state.onbeforeremove&&_(e,t,t.state,n),t.attrs&&"function"==typeof t.attrs.onbeforeremove&&_(e,t,t.attrs,n),D(e,t,n)}function M(e,t){if(null!=t.dom)if(null==t.domSize)e.removeChild(t.dom);else for(var n of v(t))e.removeChild(n)}function q(e){if("string"!=typeof e.tag&&"function"==typeof e.state.onremove&&s.call(e.state.onremove,e),e.attrs&&"function"==typeof e.attrs.onremove&&s.call(e.attrs.onremove,e),"string"!=typeof e.tag)null!=e.instance&&q(e.instance);else{null!=e.events&&(e.events._=null);var t=e.children;if(Array.isArray(t))for(var n=0;n<t.length;n++){var r=t[n];null!=r&&q(r)}}}function U(e,t,n){for(var r in t)H(e,r,null,t[r],n)}function H(e,t,n,r,o){if("key"!==t&&null!=r&&!G(t)&&(n!==r||Q(e,t)||"object"==typeof r)){if("o"===t[0]&&"n"===t[1])return Y(e,t,r);if("xlink:"===t.slice(0,6))e.dom.setAttributeNS("http://www.w3.org/1999/xlink",t.slice(6),r);else if("style"===t)W(e.dom,n,r);else if(V(e,t,o)){if("value"===t){if(("input"===e.tag||"textarea"===e.tag)&&e.dom.value===""+r)return;if("select"===e.tag&&null!==n&&e.dom.value===""+r)return;if("option"===e.tag&&null!==n&&e.dom.value===""+r)return;if("input"===e.tag&&"file"===e.attrs.type&&""+r!="")return void console.error("`value` is read-only on file inputs!")}"input"===e.tag&&"type"===t?e.dom.setAttribute(t,r):e.dom[t]=r}else"boolean"==typeof r?r?e.dom.setAttribute(t,""):e.dom.removeAttribute(t):e.dom.setAttribute("className"===t?"class":t,r)}}function K(e,t,n,r){if("key"!==t&&null!=n&&!G(t))if("o"===t[0]&&"n"===t[1])Y(e,t,void 0);else if("style"===t)W(e.dom,n,null);else if(!V(e,t,r)||"className"===t||"title"===t||"value"===t&&("option"===e.tag||"select"===e.tag&&-1===e.dom.selectedIndex&&e.dom===u(e.dom))||"input"===e.tag&&"type"===t){var o=t.indexOf(":");-1!==o&&(t=t.slice(o+1)),!1!==n&&e.dom.removeAttribute("className"===t?"class":t)}else e.dom[t]=null}function J(e,t){if("value"in t)if(null===t.value)-1!==e.dom.selectedIndex&&(e.dom.value=null);else{var n=""+t.value;e.dom.value===n&&-1!==e.dom.selectedIndex||(e.dom.value=n)}"selectedIndex"in t&&H(e,"selectedIndex",null,t.selectedIndex,void 0)}function B(e,t,n,r){var l;if(null!=t)for(var i in t!==n||o.has(n)||console.warn("Don't reuse attrs object, use new object for every redraw, this will throw in next major"),t)null==(l=t[i])||null!=n&&null!=n[i]||K(e,i,l,r);if(null!=n)for(var i in n)H(e,i,t&&t[i],n[i],r)}function Q(e,t){return"value"===t||"checked"===t||"selectedIndex"===t||"selected"===t&&(e.dom===u(e.dom)||"option"===e.tag&&e.dom.parentNode===u(e.dom))}function G(e){return"oninit"===e||"oncreate"===e||"onupdate"===e||"onremove"===e||"onbeforeremove"===e||"onbeforeupdate"===e}function V(e,t,n){return void 0===n&&(e.tag.indexOf("-")>-1||e.is||"href"!==t&&"list"!==t&&"form"!==t&&"width"!==t&&"height"!==t)&&t in e.dom}function W(e,t,n){if(t===n);else if(null==n)e.style="";else if("object"!=typeof n)e.style=n;else if(null==t||"object"!=typeof t)for(var r in e.style="",n){null!=(o=n[r])&&(r.includes("-")?e.style.setProperty(r,String(o)):e.style[r]=String(o))}else{for(var r in t)null!=t[r]&&null==n[r]&&(r.includes("-")?e.style.removeProperty(r):e.style[r]="");for(var r in n){var o;null!=(o=n[r])&&(o=String(o))!==String(t[r])&&(r.includes("-")?e.style.setProperty(r,o):e.style[r]=o)}}}function X(){this._=t}function Y(e,n,r){if(null!=e.events){if(e.events._=t,e.events[n]===r)return;null==r||"function"!=typeof r&&"object"!=typeof r?(null!=e.events[n]&&e.dom.removeEventListener(n.slice(2),e.events,!1),e.events[n]=void 0):(null==e.events[n]&&e.dom.addEventListener(n.slice(2),e.events,!1),e.events[n]=r)}else null==r||"function"!=typeof r&&"object"!=typeof r||(e.events=new X,e.dom.addEventListener(n.slice(2),e.events,!1),e.events[n]=r)}function Z(e,t,n){"function"==typeof e.oninit&&s.call(e.oninit,t),"function"==typeof e.oncreate&&n.push(s.bind(e.oncreate,t))}function ee(e,t,n){"function"==typeof e.onupdate&&n.push(s.bind(e.onupdate,t))}function te(e,t){do{var n;if(null!=e.attrs&&"function"==typeof e.attrs.onbeforeupdate)if(void 0!==(n=s.call(e.attrs.onbeforeupdate,e,t))&&!n)break;if("string"!=typeof e.tag&&"function"==typeof e.state.onbeforeupdate)if(void 0!==(n=s.call(e.state.onbeforeupdate,e,t))&&!n)break;return!1}while(0);return e.dom=t.dom,e.domSize=t.domSize,e.instance=t.instance,e.attrs=t.attrs,e.children=t.children,e.text=t.text,!0}return X.prototype=Object.create(null),X.prototype.handleEvent=function(e){var t,n=this["on"+e.type];"function"==typeof n?t=n.call(e.currentTarget,e):"function"==typeof n.handleEvent&&n.handleEvent(e);var r=this;null!=r._&&(!1!==e.redraw&&(0,r._)(),null!=t&&"function"==typeof t.then&&Promise.resolve(t).then((function(){null!=r._&&!1!==e.redraw&&(0,r._)()}))),!1===t&&(e.preventDefault(),e.stopPropagation())},function(r,o,l){if(!r)throw new TypeError("DOM element being rendered to does not exist.");if(null!=C&&r.contains(C))throw new TypeError("Node is currently being rendered to and thus is locked.");var i=t,a=C,s=[],c=u(r),f=r.namespaceURI;C=r,t="function"==typeof l?l:void 0,n={};try{null==r.vnodes&&(r.textContent=""),o=e.normalizeChildren(Array.isArray(o)?o:[o]),k(r,r.vnodes,o,s,null,"http://www.w3.org/1999/xhtml"===f?void 0:f),r.vnodes=o,null!=c&&u(r)!==c&&"function"==typeof c.focus&&c.focus();for(var d=0;d<s.length;d++)s[d]()}finally{t=i,C=a}}}("undefined"!=typeof window&&window),h=function(t,n,r){var o=[],l=!1,i=-1;function a(){for(i=0;i<o.length;i+=2)try{t(o[i],e(o[i+1]),s)}catch(e){r.error(e)}i=-1}function s(){l||(l=!0,n((function(){l=!1,a()})))}return s.sync=a,{mount:function(n,r){if(null!=r&&null==r.view&&"function"!=typeof r)throw new TypeError("m.mount expects a component, not a vnode.");var l=o.indexOf(n);l>=0&&(o.splice(l,2),l<=i&&(i-=2),t(n,[])),null!=r&&(o.push(n,r),t(n,e(r),s))},redraw:s}}(p,"undefined"!=typeof requestAnimationFrame?requestAnimationFrame:null,"undefined"!=typeof console?console:null),y=function(e){if("[object Object]"!==Object.prototype.toString.call(e))return"";var t=[];for(var n in e)r(n,e[n]);return t.join("&");function r(e,n){if(Array.isArray(n))for(var o=0;o<n.length;o++)r(e+"["+o+"]",n[o]);else if("[object Object]"===Object.prototype.toString.call(n))for(var o in n)r(e+"["+o+"]",n[o]);else t.push(encodeURIComponent(e)+(null!=n&&""!==n?"="+encodeURIComponent(n):""))}},g=function(e,t){if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw new SyntaxError("Template parameter names must be separated by either a '/', '-', or '.'.");if(null==t)return e;var n=e.indexOf("?"),r=e.indexOf("#"),o=r<0?e.length:r,l=n<0?o:n,i=e.slice(0,l),a={};Object.assign(a,t);var s=i.replace(/:([^\/\.-]+)(\.{3})?/g,(function(e,n,r){return delete a[n],null==t[n]?e:r?t[n]:encodeURIComponent(String(t[n]))})),u=s.indexOf("?"),c=s.indexOf("#"),f=c<0?s.length:c,d=u<0?f:u,m=s.slice(0,d);n>=0&&(m+=e.slice(n,o)),u>=0&&(m+=(n<0?"?":"&")+s.slice(u,f));var v=y(a);return v&&(m+=(n<0&&u<0?"?":"&")+v),r>=0&&(m+=e.slice(r)),c>=0&&(m+=(r<0?"":"&")+s.slice(c)),m},w=function(e,t){function r(e){return new Promise(e)}function o(t,r){return new Promise((function(o,i){t=g(t,r.params);var a,s=null!=r.method?r.method.toUpperCase():"GET",u=r.body,c=(null==r.serialize||r.serialize===JSON.serialize)&&!(u instanceof e.FormData||u instanceof e.URLSearchParams),f=r.responseType||("function"==typeof r.extract?"":"json"),d=new e.XMLHttpRequest,m=!1,v=!1,p=d,h=d.abort;for(var y in d.abort=function(){m=!0,h.call(this)},d.open(s,t,!1!==r.async,"string"==typeof r.user?r.user:void 0,"string"==typeof r.password?r.password:void 0),c&&null!=u&&!l(r,"content-type")&&d.setRequestHeader("Content-Type","application/json; charset=utf-8"),"function"==typeof r.deserialize||l(r,"accept")||d.setRequestHeader("Accept","application/json, text/*"),r.withCredentials&&(d.withCredentials=r.withCredentials),r.timeout&&(d.timeout=r.timeout),d.responseType=f,r.headers)n.call(r.headers,y)&&d.setRequestHeader(y,r.headers[y]);d.onreadystatechange=function(e){if(!m&&4===e.target.readyState)try{var n,l=e.target.status>=200&&e.target.status<300||304===e.target.status||/^file:\/\//i.test(t),a=e.target.response;if("json"===f){if(!e.target.responseType&&"function"!=typeof r.extract)try{a=JSON.parse(e.target.responseText)}catch(e){a=null}}else f&&"text"!==f||null==a&&(a=e.target.responseText);if("function"==typeof r.extract?(a=r.extract(e.target,r),l=!0):"function"==typeof r.deserialize&&(a=r.deserialize(a)),l){if("function"==typeof r.type)if(Array.isArray(a))for(var s=0;s<a.length;s++)a[s]=new r.type(a[s]);else a=new r.type(a);o(a)}else{var u=function(){try{n=e.target.responseText}catch(e){n=a}var t=new Error(n);t.code=e.target.status,t.response=a,i(t)};0===d.status?setTimeout((function(){v||u()})):u()}}catch(e){i(e)}},d.ontimeout=function(e){v=!0;var t=new Error("Request timed out");t.code=e.target.status,i(t)},"function"==typeof r.config&&(d=r.config(d,r,t)||d)!==p&&(a=d.abort,d.abort=function(){m=!0,a.call(this)}),null==u?d.send():"function"==typeof r.serialize?d.send(r.serialize(u)):u instanceof e.FormData||u instanceof e.URLSearchParams?d.send(u):d.send(JSON.stringify(u))}))}function l(e,t){for(var r in e.headers)if(n.call(e.headers,r)&&r.toLowerCase()===t)return!0;return!1}return r.prototype=Promise.prototype,r.__proto__=Promise,{request:function(e,n){"string"!=typeof e?(n=e,e=e.url):null==n&&(n={});var l=o(e,n);if(!0===n.background)return l;var i=0;function a(){0==--i&&"function"==typeof t&&t()}return function e(t){var n=t.then;return t.constructor=r,t.then=function(){i++;var r=n.apply(t,arguments);return r.then(a,(function(e){if(a(),0===i)throw e})),e(r)},t}(l)}}}("undefined"!=typeof window?window:null,h.redraw),b=h,k=d,x=function(){return c.apply(this,arguments)};x.m=c,x.trust=c.trust,x.fragment=c.fragment,x.Fragment="[",x.mount=b.mount;var S=c;function z(e){try{return decodeURIComponent(e)}catch(t){return e}}var E=function(e){if(""===e||null==e)return{};"?"===e.charAt(0)&&(e=e.slice(1));for(var t=e.split("&"),n={},r={},o=0;o<t.length;o++){var l=t[o].split("="),i=z(l[0]),a=2===l.length?z(l[1]):"";"true"===a?a=!0:"false"===a&&(a=!1);var s=i.split(/\]\[?|\[/),u=r;i.indexOf("[")>-1&&s.pop();for(var c=0;c<s.length;c++){var f=s[c],d=s[c+1],m=""==d||!isNaN(parseInt(d,10));if(""===f)null==n[i=s.slice(0,c).join()]&&(n[i]=Array.isArray(u)?u.length:0),f=n[i]++;else if("__proto__"===f)break;if(c===s.length-1)u[f]=a;else{var v=Object.getOwnPropertyDescriptor(u,f);null!=v&&(v=v.value),null==v&&(u[f]=v=m?[]:{}),u=v}}}return r},j=function(e){var t=e.indexOf("?"),n=e.indexOf("#"),r=n<0?e.length:n,o=t<0?r:t,l=e.slice(0,o).replace(/\/{2,}/g,"/");return l?"/"!==l[0]&&(l="/"+l):l="/",{path:l,params:t<0?{}:E(e.slice(t+1,r))}},O=new RegExp("^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$"),A=function(e,t){var r={};if(null!=t)for(var o in e)n.call(e,o)&&!O.test(o)&&t.indexOf(o)<0&&(r[o]=e[o]);else for(var o in e)n.call(e,o)&&!O.test(o)&&(r[o]=e[o]);return r};function C(e){try{return decodeURIComponent(e)}catch(t){return e}}x.route=function(t,n){var r,o,l,i,a,s,u,c,f=null==t?null:"function"==typeof t.setImmediate?t.setImmediate:t.setTimeout,d=Promise.resolve(),m=!1,v=!1,p=!1,h={onremove:function(){v=p=!1,t.removeEventListener("popstate",b,!1)},view:function(){var t=e(a,s.key,s);return i?i.render(t):[t]}},y=k.SKIP={};function w(){m=!1;var e=t.location.hash;"#"!==k.prefix[0]&&(e=t.location.search+e,"?"!==k.prefix[0]&&"/"!==(e=t.location.pathname+e)[0]&&(e="/"+e));var f=e.concat().replace(/(?:%[a-f89][a-f0-9])+/gim,C).slice(k.prefix.length),v=j(f);function g(e){console.error(e),k.set(l,null,{replace:!0})}Object.assign(v.params,t.history.state),function e(t){for(;t<o.length;t++)if(o[t].check(v)){var m=o[t].component,w=o[t].route,b=m,x=c=function(o){if(x===c){if(o===y)return e(t+1);a=null==o||"function"!=typeof o.view&&"function"!=typeof o?"div":o,s=v.params,u=f,c=null,i=m.render?m:null,p?n.redraw():(p=!0,n.mount(r,h))}};return void(m.view||"function"==typeof m?(m={},x(b)):m.onmatch?d.then((function(){return m.onmatch(v.params,f,w)})).then(x,f===l?null:g):x())}if(f===l)throw new Error("Could not resolve default route "+l+".");k.set(l,null,{replace:!0})}(0)}function b(){m||(m=!0,f(w))}function k(e,n,i){if(!e)throw new TypeError("DOM element being rendered to does not exist.");if(o=Object.keys(i).map((function(e){if("/"!==e[0])throw new SyntaxError("Routes must start with a '/'.");if(/:([^\/\.-]+)(\.{3})?:/.test(e))throw new SyntaxError("Route parameter names must be separated with either '/', '.', or '-'.");return{route:e,component:i[e],check:(t=e,n=j(t),r=Object.keys(n.params),o=[],l=new RegExp("^"+n.path.replace(/:([^\/.-]+)(\.{3}|\.(?!\.)|-)?|[\\^$*+.()|\[\]{}]/g,(function(e,t,n){return null==t?"\\"+e:(o.push({k:t,r:"..."===n}),"..."===n?"(.*)":"."===n?"([^/]+)\\.":"([^/]+)"+(n||""))}))+"\\/?$"),function(e){for(var t=0;t<r.length;t++)if(n.params[r[t]]!==e.params[r[t]])return!1;if(!o.length)return l.test(e.path);var i=l.exec(e.path);if(null==i)return!1;for(t=0;t<o.length;t++)e.params[o[t].k]=o[t].r?i[t+1]:decodeURIComponent(i[t+1]);return!0})};var t,n,r,o,l})),l=n,null!=n){var a=j(n);if(!o.some((function(e){return e.check(a)})))throw new ReferenceError("Default route doesn't match any known routes.")}r=e,t.addEventListener("popstate",b,!1),v=!0,w()}return k.set=function(e,n,r){if(null!=c&&((r=r||{}).replace=!0),c=null,e=g(e,n),v){b();var o=r?r.state:null,l=r?r.title:null;r&&r.replace?t.history.replaceState(o,l,k.prefix+e):t.history.pushState(o,l,k.prefix+e)}else t.location.href=k.prefix+e},k.get=function(){return u},k.prefix="#!",k.Link={view:function(e){var t,n,r,o=S(e.attrs.selector||"a",A(e.attrs,["options","params","selector","onclick"]),e.children);return(o.attrs.disabled=Boolean(o.attrs.disabled))?(o.attrs.href=null,o.attrs["aria-disabled"]="true"):(t=e.attrs.options,n=e.attrs.onclick,r=g(o.attrs.href,e.attrs.params),o.attrs.href=k.prefix+r,o.attrs.onclick=function(e){var o;"function"==typeof n?o=n.call(e.currentTarget,e):null==n||"object"!=typeof n||"function"==typeof n.handleEvent&&n.handleEvent(e),!1===o||e.defaultPrevented||0!==e.button&&0!==e.which&&1!==e.which||e.currentTarget.target&&"_self"!==e.currentTarget.target||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||(e.preventDefault(),e.redraw=!1,k.set(r,null,t))}),o}},k.param=function(e){return s&&null!=e?s[e]:s},k}("undefined"!=typeof window?window:null,b),x.render=p,x.redraw=b.redraw,x.request=w.request,x.parseQueryString=E,x.buildQueryString=y,x.parsePathname=j,x.buildPathname=g,x.vnode=e,x.censor=A,x.domFor=k.domFor,"undefined"!=typeof module?module.exports=x:window.m=x}();