Socket
Socket
Sign inDemoInstall

mithril

Package Overview
Dependencies
Maintainers
4
Versions
143
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mithril - npm Package Compare versions

Comparing version 2.2.4 to 2.2.5

.github/workflows/pr-create-release.yml

9

.github/PULL_REQUEST_TEMPLATE.md

@@ -20,13 +20,10 @@ <!--- Provide a general summary of your changes in the Title above -->

- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Documentation change
## Checklist:
## Checklist
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have read the **CONTRIBUTING** document.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
- [ ] I have updated `docs/changelog.md`
- [ ] My change requires a documentation update, and I've opened a pull request to update them already: https://github.com/MithrilJS/docs/pulls/NNNN
- [ ] I have read https://mithril.js.org/contributing.html.

@@ -41,3 +41,3 @@ <!--meta-description

- clone the forked repo to your computer (green button in GitHub)
- Switch to the `next` branch (run `git checkout next`)
- Switch to the `main` branch (run `git checkout main`)
- create a feature branch (run `git checkout -b the-feature-branch-name`)

@@ -44,0 +44,0 @@ - make your changes

# Release v2.2.5
### Patch Changes
#### [Bump the normal group across 1 directory with 2 updates (@dependabot[bot])](https://github.com/MithrilJS/mithril.js/pull/2976)
Bumps the normal group with 2 updates in the / directory: [chokidar](https://github.com/paulmillr/chokidar) and [eslint](https://github.com/eslint/eslint).
#### [Cleaning up code by making vnode.attrs always non-null (@kfule)](https://github.com/MithrilJS/mithril.js/pull/2977)
Commit f9e5163 made vnode.attrs always non-null, so there is no need for code to make vnode.attrs null or assume vnode.attrs is null.
# Release v2.2.4

@@ -3,0 +14,0 @@

@@ -19,3 +19,3 @@ <!--meta-description

Contributors should create their feature branch targetting the default branch `next`. When this branch is merged `pr-release` will either generate or update a release PR from `next` to `main`.
Contributors should create their feature branch targetting the default branch `main`. When this branch is merged `pr-release` will either generate or update a release PR from `main` to `release`.

@@ -30,9 +30,4 @@ The description and title will be managed by [pr-release], including the semver version.

There are two changelogs in the Mithril.js project
Currently, `docs/recent-changes.md` holds an automatically prepended log of changes, managed by pr-release. Ideally, I want to get rid of this and just have pr-release somehow push to https://github.com/MithrilJS/docs automatically, but that may take some work.
- `docs/changelog.md` a hand written curated reflection of changes to the codebase
- `docs/release.md` an automatically prepended log of changes, managed by pr-release
In future we may collapse these into a single file, the separation is due to the fact the `changelog.md` predates the `release.md` file.
## For maintainers

@@ -44,26 +39,2 @@

## Updating mithril.js.org
Fixes to documentation can land whenever, updates to the site are built and published via `scripts/update-docs.js`.
```bash
# These steps assume that MithrilJS/mithril.js is a git remote named "mithriljs"
# Ensure your next branch is up to date
$ git checkout next
$ git pull mithriljs next
# Splat the docs folder from next onto master
$ git checkout master
$ git checkout next -- ./docs
# Manually ensure that no new feature docs were added
$ node scripts/update-docs
```
After the docs build completes, the updated docs should appear on https://mithril.js.org in a few minutes.
**Note:** When updating the stable version with a release candidate out, ***make sure to update the index + navigation to point to the new stable version!!!***
[pr-release]: https://pr-release.org/

@@ -1,1 +0,1 @@

!function(){"use strict";function e(e,t,n,r,o,l){return{tag:e,key:t,attrs:n,children:r,text:o,dom:l,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(){var t,n=arguments[this],r=this+1;if(null==n?n={}:("object"!=typeof n||null!=n.tag||Array.isArray(n))&&(n={},r=this),arguments.length===r+1)t=arguments[r],Array.isArray(t)||(t=[t]);else for(t=[];r<arguments.length;)t.push(arguments[r++]);return e("",n.key,n,t)},n={}.hasOwnProperty,r=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,o={};function l(e){for(var t,n="div",l=[],i={};t=r.exec(e);){var a=t[1],u=t[2];if(""===a&&""!==u)n=u;else if("#"===a)i.id=u;else if("."===a)l.push(u);else if("["===t[3][0]){var s=t[6];s&&(s=s.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),"class"===t[4]?l.push(s):i[t[4]]=""===s?s:s||!0}}return l.length>0&&(i.className=l.join(" ")),o[e]={tag:n,attrs:i}}function i(e,t){var r=t.attrs,o=n.call(r,"class"),l=o?r.class:r.className;if(t.tag=e.tag,t.attrs={},!function(e){for(var t in e)if(n.call(e,t))return!1;return!0}(e.attrs)){var i={};for(var a in r)n.call(r,a)&&(i[a]=r[a]);r=i}for(var a in e.attrs)n.call(e.attrs,a)&&"className"!==a&&!n.call(r,a)&&(r[a]=e.attrs[a]);for(var a in null==l&&null==e.attrs.className||(r.className=null!=l?null!=e.attrs.className?String(e.attrs.className)+" "+String(l):l:null!=e.attrs.className?e.attrs.className:null),o&&(r.class=null),r)if(n.call(r,a)&&"key"!==a){t.attrs=r;break}return t}function a(n){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 r=t.apply(1,arguments);return"string"==typeof n&&(r.children=e.normalizeChildren(r.children),"["!==n)?i(o[n]||l(n),r):(r.tag=n,r)}a.trust=function(t){return null==t&&(t=""),e("<",void 0,void 0,t,void 0,void 0)},a.fragment=function(){var n=t.apply(0,arguments);return n.tag="[",n.children=e.normalizeChildren(n.children),n};var u=new WeakMap;var s={delayedRemoval:u,domFor:function*({dom:e,domSize0:t},{generation0:n}={}){if(null!=e)do{const{nextSibling:r}=e;u.get(e)===n&&(yield e,t--),e=r}while(t)}},f=s.delayedRemoval,c=s.domFor,d=function(){var t,n,r={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"};function o(e){return e.ownerDocument}function l(e){return e.attrs&&e.attrs.xmlns||r[e.tag]}function i(e,t){if(e.state!==t)throw new Error("'vnode.state' must not be modified.")}function a(e){var t=e.state;try{return this.apply(t,arguments)}finally{i(e,t)}}function u(e){try{return o(e).activeElement}catch(e){return null}}function s(e,t,n,r,o,l,i){for(var a=n;a<r;a++){var u=t[a];null!=u&&d(e,u,o,i,l)}}function d(t,n,r,i,u){var f=n.tag;if("string"==typeof f)switch(n.state={},null!=n.attrs&&F(n.attrs,n,r),f){case"#":!function(e,t,n){t.dom=o(e).createTextNode(t.children),x(e,t.dom,n)}(t,n,u);break;case"<":m(t,n,i,u);break;case"[":!function(e,t,n,r,l){var i=o(e).createDocumentFragment();if(null!=t.children){var a=t.children;s(i,a,0,a.length,n,null,r)}t.dom=i.firstChild,t.domSize=i.childNodes.length,x(e,i,l)}(t,n,r,i,u);break;default:!function(e,t,n,r,i){var a=t.tag,u=t.attrs,f=u&&u.is,c=(r=l(t)||r)?f?o(e).createElementNS(r,a,{is:f}):o(e).createElementNS(r,a):f?o(e).createElement(a,{is:f}):o(e).createElement(a);t.dom=c,null!=u&&function(e,t,n){"input"===e.tag&&null!=t.type&&e.dom.setAttribute("type",t.type);var r=null!=t&&"input"===e.tag&&"file"===t.type;for(var o in t)A(e,o,null,t[o],n,r)}(t,u,r);if(x(e,c,i),!k(t)&&null!=t.children){var d=t.children;s(c,d,0,d.length,n,null,r),"select"===t.tag&&null!=u&&function(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&&A(e,"selectedIndex",null,t.selectedIndex,void 0)}(t,u)}}(t,n,r,i,u)}else!function(t,n,r,o,l){(function(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)}F(t.state,t,n),null!=t.attrs&&F(t.attrs,t,n);if(t.instance=e.normalize(a.call(t.state.view,t)),t.instance===t)throw Error("A view cannot return the vnode it received as argument");r.$$reentrantLock$$=null})(n,r),null!=n.instance?(d(t,n.instance,r,o,l),n.dom=n.instance.dom,n.domSize=null!=n.dom?n.instance.domSize:0):n.domSize=0}(t,n,r,i,u)}var p={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"};function m(e,t,n,r){var l=t.children.match(/^\s*?<(\w+)/im)||[],i=o(e).createElement(p[l[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,u=o(e).createDocumentFragment();a=i.firstChild;)u.appendChild(a);x(e,u,r)}function v(e,t,n,r,o,l){if(t!==n&&(null!=t||null!=n))if(null==t||0===t.length)s(e,n,0,n.length,r,o,l);else if(null==n||0===n.length)S(e,t,0,t.length);else{var i=null!=t[0]&&null!=t[0].key,a=null!=n[0]&&null!=n[0].key,u=0,f=0;if(!i)for(;f<t.length&&null==t[f];)f++;if(!a)for(;u<n.length&&null==n[u];)u++;if(i!==a)S(e,t,f,t.length),s(e,n,u,n.length,r,o,l);else if(a){for(var c,p,m,v,x,k=t.length-1,z=n.length-1;k>=f&&z>=u&&(m=t[k],v=n[z],m.key===v.key);)m!==v&&h(e,m,v,r,o,l),null!=v.dom&&(o=v.dom),k--,z--;for(;k>=f&&z>=u&&(c=t[f],p=n[u],c.key===p.key);)f++,u++,c!==p&&h(e,c,p,r,w(t,f,o),l);for(;k>=f&&z>=u&&u!==z&&c.key===v.key&&m.key===p.key;)b(e,m,x=w(t,f,o)),m!==p&&h(e,m,p,r,x,l),++u<=--z&&b(e,c,o),c!==v&&h(e,c,v,r,o,l),null!=v.dom&&(o=v.dom),f++,m=t[--k],v=n[z],c=t[f],p=n[u];for(;k>=f&&z>=u&&m.key===v.key;)m!==v&&h(e,m,v,r,o,l),null!=v.dom&&(o=v.dom),z--,m=t[--k],v=n[z];if(u>z)S(e,t,f,k+1);else if(f>k)s(e,n,u,z+1,r,o,l);else{var j,A,C=o,O=z-u+1,T=new Array(O),N=0,$=0,L=2147483647,R=0;for($=0;$<O;$++)T[$]=-1;for($=z;$>=u;$--){null==j&&(j=y(t,f,k+1));var I=j[(v=n[$]).key];null!=I&&(L=I<L?I:-1,T[$-u]=I,m=t[I],t[I]=null,m!==v&&h(e,m,v,r,o,l),null!=v.dom&&(o=v.dom),R++)}if(o=C,R!==k-f+1&&S(e,t,f,k+1),0===R)s(e,n,u,z+1,r,o,l);else if(-1===L)for(N=(A=function(e){var t=[0],n=0,r=0,o=0,l=g.length=e.length;for(o=0;o<l;o++)g[o]=e[o];for(o=0;o<l;++o)if(-1!==e[o]){var i=t[t.length-1];if(e[i]<e[o])g[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&&(g[o]=t[n-1]),t[n]=o)}}n=t.length,r=t[n-1];for(;n-- >0;)t[n]=r,r=g[r];return g.length=0,t}(T)).length-1,$=z;$>=u;$--)p=n[$],-1===T[$-u]?d(e,p,r,l,o):A[N]===$-u?N--:b(e,p,o),null!=p.dom&&(o=n[$].dom);else for($=z;$>=u;$--)p=n[$],-1===T[$-u]&&d(e,p,r,l,o),null!=p.dom&&(o=n[$].dom)}}else{var P=t.length<n.length?t.length:n.length;for(u=u<f?u:f;u<P;u++)(c=t[u])===(p=n[u])||null==c&&null==p||(null==c?d(e,p,r,l,w(t,u+1,o)):null==p?E(e,c):h(e,c,p,r,w(t,u+1,o),l));t.length>P&&S(e,t,u,t.length),n.length>P&&s(e,n,u,n.length,r,o,l)}}}function h(t,n,r,o,i,u){var s=n.tag;if(s===r.tag){if(r.state=n.state,r.events=n.events,function(e,t){do{var n;if(null!=e.attrs&&"function"==typeof e.attrs.onbeforeupdate)if(void 0!==(n=a.call(e.attrs.onbeforeupdate,e,t))&&!n)break;if("string"!=typeof e.tag&&"function"==typeof e.state.onbeforeupdate)if(void 0!==(n=a.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}(r,n))return;if("string"==typeof s)switch(null!=r.attrs&&_(r.attrs,r,o),s){case"#":!function(e,t){e.children.toString()!==t.children.toString()&&(e.dom.nodeValue=t.children);t.dom=e.dom}(n,r);break;case"<":!function(e,t,n,r,o){t.children!==n.children?(z(e,t,void 0),m(e,n,r,o)):(n.dom=t.dom,n.domSize=t.domSize)}(t,n,r,u,i);break;case"[":!function(e,t,n,r,o,l){v(e,t.children,n.children,r,o,l);var i=0,a=n.children;if(n.dom=null,null!=a){for(var u=0;u<a.length;u++){var s=a[u];null!=s&&null!=s.dom&&(null==n.dom&&(n.dom=s.dom),i+=s.domSize||1)}1!==i&&(n.domSize=i)}}(t,n,r,o,i,u);break;default:!function(e,t,n,r){var o=t.dom=e.dom;r=l(t)||r,"textarea"===t.tag&&null==t.attrs&&(t.attrs={});(function(e,t,n,r){t&&t===n&&console.warn("Don't reuse attrs object, use new object for every redraw, this will throw in next major");if(null!=n){"input"===e.tag&&null!=n.type&&e.dom.setAttribute("type",n.type);var o="input"===e.tag&&"file"===n.type;for(var l in n)A(e,l,t&&t[l],n[l],r,o)}var i;if(null!=t)for(var l in t)null==(i=t[l])||null!=n&&null!=n[l]||C(e,l,i,r)})(t,e.attrs,t.attrs,r),k(t)||v(o,e.children,t.children,n,null,r)}(n,r,o,u)}else!function(t,n,r,o,l,i){if(r.instance=e.normalize(a.call(r.state.view,r)),r.instance===r)throw Error("A view cannot return the vnode it received as argument");_(r.state,r,o),null!=r.attrs&&_(r.attrs,r,o);null!=r.instance?(null==n.instance?d(t,r.instance,o,i,l):h(t,n.instance,r.instance,o,l,i),r.dom=r.instance.dom,r.domSize=r.instance.domSize):null!=n.instance?(E(t,n.instance),r.dom=void 0,r.domSize=0):(r.dom=n.dom,r.domSize=n.domSize)}(t,n,r,o,i,u)}else E(t,n),d(t,r,o,u,i)}function y(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 g=[];function w(e,t,n){for(;t<e.length;t++)if(null!=e[t]&&null!=e[t].dom)return e[t].dom;return n}function b(e,t,n){if(null!=t.dom){var r;if(null==t.domSize)r=t.dom;else for(var l of(r=o(e).createDocumentFragment(),c(t)))r.appendChild(l);x(e,r,n)}}function x(e,t,n){null!=n?e.insertBefore(t,n):e.appendChild(t)}function k(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 S(e,t,n,r){for(var o=n;o<r;o++){var l=t[o];null!=l&&E(e,l)}}function E(e,t){var r,o,l,u,s=0,d=t.state;"string"!=typeof t.tag&&"function"==typeof t.state.onbeforeremove&&(null!=(l=a.call(t.state.onbeforeremove,t))&&"function"==typeof l.then&&(s=1,r=l));t.attrs&&"function"==typeof t.attrs.onbeforeremove&&(null!=(l=a.call(t.attrs.onbeforeremove,t))&&"function"==typeof l.then&&(s|=2,o=l));if(i(t,d),s){for(var p of(u=n,c(t)))f.set(p,u);null!=r&&r.finally((function(){1&s&&((s&=2)||(i(t,d),j(t),z(e,t,u)))})),null!=o&&o.finally((function(){2&s&&((s&=1)||(i(t,d),j(t),z(e,t,u)))}))}else j(t),z(e,t,u)}function z(e,t,n){if(null!=t.dom)if(null==t.domSize)f.get(t.dom)===n&&e.removeChild(t.dom);else for(var r of c(t,{generation:n}))e.removeChild(r)}function j(e){if("string"!=typeof e.tag&&"function"==typeof e.state.onremove&&a.call(e.state.onremove,e),e.attrs&&"function"==typeof e.attrs.onremove&&a.call(e.attrs.onremove,e),"string"!=typeof e.tag)null!=e.instance&&j(e.instance);else{var t=e.children;if(Array.isArray(t))for(var n=0;n<t.length;n++){var r=t[n];null!=r&&j(r)}}}function A(e,t,n,r,o,l){if(!("key"===t||"is"===t||null==r||O(t)||n===r&&!function(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)}(e,t)&&"object"!=typeof r||"type"===t&&"input"===e.tag)){if("o"===t[0]&&"n"===t[1])return D(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)I(e.dom,n,r);else if(T(e,t,o)){if("value"===t){if(("input"===e.tag||"textarea"===e.tag)&&e.dom.value===""+r&&(l||e.dom===u(e.dom)))return;if("select"===e.tag&&null!==n&&e.dom.value===""+r)return;if("option"===e.tag&&null!==n&&e.dom.value===""+r)return;if(l&&""+r!="")return void console.error("`value` is read-only on file inputs!")}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 C(e,t,n,r){if("key"!==t&&"is"!==t&&null!=n&&!O(t))if("o"===t[0]&&"n"===t[1])D(e,t,void 0);else if("style"===t)I(e.dom,n,null);else if(!T(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 O(e){return"oninit"===e||"oncreate"===e||"onupdate"===e||"onremove"===e||"onbeforeremove"===e||"onbeforeupdate"===e}function T(e,t,n){return void 0===n&&(e.tag.indexOf("-")>-1||null!=e.attrs&&e.attrs.is||"href"!==t&&"list"!==t&&"form"!==t&&"width"!==t&&"height"!==t)&&t in e.dom}var N,$=/[A-Z]/g;function L(e){return"-"+e.toLowerCase()}function R(e){return"-"===e[0]&&"-"===e[1]?e:"cssFloat"===e?"float":e.replace($,L)}function I(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.cssText="",n){null!=(o=n[r])&&e.style.setProperty(R(r),String(o))}else{for(var r in n){var o;null!=(o=n[r])&&(o=String(o))!==String(t[r])&&e.style.setProperty(R(r),o)}for(var r in t)null!=t[r]&&null==n[r]&&e.style.removeProperty(R(r))}}function P(){this._=t}function D(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 P,e.dom.addEventListener(n.slice(2),e.events,!1),e.events[n]=r)}function F(e,t,n){"function"==typeof e.oninit&&a.call(e.oninit,t),"function"==typeof e.oncreate&&n.push(a.bind(e.oncreate,t))}function _(e,t,n){"function"==typeof e.onupdate&&n.push(a.bind(e.onupdate,t))}return P.prototype=Object.create(null),P.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),this._&&!1!==e.redraw&&(0,this._)(),!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!=N&&r.contains(N))throw new TypeError("Node is currently being rendered to and thus is locked.");var i=t,a=N,s=[],f=u(r),c=r.namespaceURI;N=r,t="function"==typeof l?l:void 0,n={};try{null==r.vnodes&&(r.textContent=""),o=e.normalizeChildren(Array.isArray(o)?o:[o]),v(r,r.vnodes,o,s,null,"http://www.w3.org/1999/xhtml"===c?void 0:c),r.vnodes=o,null!=f&&u(r)!==f&&"function"==typeof f.focus&&f.focus();for(var d=0;d<s.length;d++)s[d]()}finally{t=i,N=a}}}("undefined"!=typeof window&&window),p=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]),u)}catch(e){r.error(e)}i=-1}function u(){l||(l=!0,n((function(){l=!1,a()})))}return u.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),u))},redraw:u}}(d,"undefined"!=typeof requestAnimationFrame?requestAnimationFrame:null,"undefined"!=typeof console?console:null),m=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):""))}},v=Object.assign||function(e,t){for(var r in t)n.call(t,r)&&(e[r]=t[r])},h=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={};v(a,t);var u=i.replace(/:([^\/\.-]+)(\.{3})?/g,(function(e,n,r){return delete a[n],null==t[n]?e:r?t[n]:encodeURIComponent(String(t[n]))})),s=u.indexOf("?"),f=u.indexOf("#"),c=f<0?u.length:f,d=s<0?c:s,p=u.slice(0,d);n>=0&&(p+=e.slice(n,o)),s>=0&&(p+=(n<0?"?":"&")+u.slice(s,c));var h=m(a);return h&&(p+=(n<0&&s<0?"?":"&")+h),r>=0&&(p+=e.slice(r)),f>=0&&(p+=(r<0?"":"&")+u.slice(f)),p},y=function(e,t){function r(e){return new Promise(e)}function o(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(l,i){"string"!=typeof l?(i=l,l=l.url):null==i&&(i={});var a=function(t,r){return new Promise((function(l,i){t=h(t,r.params);var a,u=null!=r.method?r.method.toUpperCase():"GET",s=r.body,f=(null==r.serialize||r.serialize===JSON.serialize)&&!(s instanceof e.FormData||s instanceof e.URLSearchParams),c=r.responseType||("function"==typeof r.extract?"":"json"),d=new e.XMLHttpRequest,p=!1,m=!1,v=d,y=d.abort;for(var g in d.abort=function(){p=!0,y.call(this)},d.open(u,t,!1!==r.async,"string"==typeof r.user?r.user:void 0,"string"==typeof r.password?r.password:void 0),f&&null!=s&&!o(r,"content-type")&&d.setRequestHeader("Content-Type","application/json; charset=utf-8"),"function"==typeof r.deserialize||o(r,"accept")||d.setRequestHeader("Accept","application/json, text/*"),r.withCredentials&&(d.withCredentials=r.withCredentials),r.timeout&&(d.timeout=r.timeout),d.responseType=c,r.headers)n.call(r.headers,g)&&d.setRequestHeader(g,r.headers[g]);d.onreadystatechange=function(e){if(!p&&4===e.target.readyState)try{var n,o=e.target.status>=200&&e.target.status<300||304===e.target.status||/^file:\/\//i.test(t),a=e.target.response;if("json"===c){if(!e.target.responseType&&"function"!=typeof r.extract)try{a=JSON.parse(e.target.responseText)}catch(e){a=null}}else c&&"text"!==c||null==a&&(a=e.target.responseText);if("function"==typeof r.extract?(a=r.extract(e.target,r),o=!0):"function"==typeof r.deserialize&&(a=r.deserialize(a)),o){if("function"==typeof r.type)if(Array.isArray(a))for(var u=0;u<a.length;u++)a[u]=new r.type(a[u]);else a=new r.type(a);l(a)}else{var s=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(){m||s()})):s()}}catch(e){i(e)}},d.ontimeout=function(e){m=!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)!==v&&(a=d.abort,d.abort=function(){p=!0,a.call(this)}),null==s?d.send():"function"==typeof r.serialize?d.send(r.serialize(s)):s instanceof e.FormData||s instanceof e.URLSearchParams?d.send(s):d.send(JSON.stringify(s))}))}(l,i);if(!0===i.background)return a;var u=0;function s(){0==--u&&"function"==typeof t&&t()}return function e(t){var n=t.then;return t.constructor=r,t.then=function(){u++;var r=n.apply(t,arguments);return r.then(s,(function(e){if(s(),0===u)throw e})),e(r)},t}(a)}}}("undefined"!=typeof window?window:null,p.redraw),g=p,w=s,b=function(){return a.apply(this,arguments)};b.m=a,b.trust=a.trust,b.fragment=a.fragment,b.Fragment="[",b.mount=g.mount;var x=a;function k(e){try{return decodeURIComponent(e)}catch(t){return e}}var S=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=k(l[0]),a=2===l.length?k(l[1]):"";"true"===a?a=!0:"false"===a&&(a=!1);var u=i.split(/\]\[?|\[/),s=r;i.indexOf("[")>-1&&u.pop();for(var f=0;f<u.length;f++){var c=u[f],d=u[f+1],p=""==d||!isNaN(parseInt(d,10));if(""===c)null==n[i=u.slice(0,f).join()]&&(n[i]=Array.isArray(s)?s.length:0),c=n[i]++;else if("__proto__"===c)break;if(f===u.length-1)s[c]=a;else{var m=Object.getOwnPropertyDescriptor(s,c);null!=m&&(m=m.value),null==m&&(s[c]=m=p?[]:{}),s=m}}}return r},E=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?{}:S(e.slice(t+1,r))}},z=new RegExp("^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$"),j=function(e,t){var r={};if(null!=t)for(var o in e)n.call(e,o)&&!z.test(o)&&t.indexOf(o)<0&&(r[o]=e[o]);else for(var o in e)n.call(e,o)&&!z.test(o)&&(r[o]=e[o]);return r},A={};function C(e){try{return decodeURIComponent(e)}catch(t){return e}}b.route=function(t,n){var r,o,l,i,a,u,s=null==t?null:"function"==typeof t.setImmediate?t.setImmediate:t.setTimeout,f=Promise.resolve(),c=!1,d=!1,p=0,m=A,y={onbeforeupdate:function(){return!(!(p=p?2:1)||A===m)},onremove:function(){t.removeEventListener("popstate",b,!1),t.removeEventListener("hashchange",w,!1)},view:function(){if(p&&A!==m){var t=[e(l,i.key,i)];return m&&(t=m.render(t[0])),t}}},g=S.SKIP={};function w(){c=!1;var e=t.location.hash;"#"!==S.prefix[0]&&(e=t.location.search+e,"?"!==S.prefix[0]&&"/"!==(e=t.location.pathname+e)[0]&&(e="/"+e));var s=e.concat().replace(/(?:%[a-f89][a-f0-9])+/gim,C).slice(S.prefix.length),d=E(s);function h(e){console.error(e),k(o,null,{replace:!0})}v(d.params,t.history.state),function e(t){for(;t<r.length;t++)if(r[t].check(d)){var c=r[t].component,v=r[t].route,y=c,w=u=function(r){if(w===u){if(r===g)return e(t+1);l=null==r||"function"!=typeof r.view&&"function"!=typeof r?"div":r,i=d.params,a=s,u=null,m=c.render?c:null,2===p?n.redraw():(p=2,n.redraw.sync())}};return void(c.view||"function"==typeof c?(c={},w(y)):c.onmatch?f.then((function(){return c.onmatch(d.params,s,v)})).then(w,s===o?null:h):w("div"))}if(s===o)throw new Error("Could not resolve default route "+o+".");k(o,null,{replace:!0})}(0)}function b(){c||(c=!0,s(w))}function k(e,n,r){if(e=h(e,n),d){b();var o=r?r.state:null,l=r?r.title:null;r&&r.replace?t.history.replaceState(o,l,S.prefix+e):t.history.pushState(o,l,S.prefix+e)}else t.location.href=S.prefix+e}function S(e,l,i){if(!e)throw new TypeError("DOM element being rendered to does not exist.");if(r=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=E(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})),o=l,null!=l){var a=E(l);if(!r.some((function(e){return e.check(a)})))throw new ReferenceError("Default route doesn't match any known routes.")}"function"==typeof t.history.pushState?t.addEventListener("popstate",b,!1):"#"===S.prefix[0]&&t.addEventListener("hashchange",w,!1),d=!0,n.mount(e,y),w()}return S.set=function(e,t,n){null!=u&&((n=n||{}).replace=!0),u=null,k(e,t,n)},S.get=function(){return a},S.prefix="#!",S.Link={view:function(e){var t,n,r,o=x(e.attrs.selector||"a",j(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=h(o.attrs.href,e.attrs.params),o.attrs.href=S.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,S.set(r,null,t))}),o}},S.param=function(e){return i&&null!=e?i[e]:i},S}("undefined"!=typeof window?window:null,g),b.render=d,b.redraw=g.redraw,b.request=y.request,b.parseQueryString=S,b.buildQueryString=m,b.parsePathname=E,b.buildPathname=h,b.vnode=e,b.censor=j,b.domFor=w.domFor,"undefined"!=typeof module?module.exports=b:window.m=b}();
!function(){"use strict";function e(e,t,n,r,o,l){return{tag:e,key:t,attrs:n,children:r,text:o,dom:l,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(){var t,n=arguments[this],r=this+1;if(null==n?n={}:("object"!=typeof n||null!=n.tag||Array.isArray(n))&&(n={},r=this),arguments.length===r+1)t=arguments[r],Array.isArray(t)||(t=[t]);else for(t=[];r<arguments.length;)t.push(arguments[r++]);return e("",n.key,n,t)},n={}.hasOwnProperty,r=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,o={};function l(e){for(var t,n="div",l=[],i={};t=r.exec(e);){var a=t[1],u=t[2];if(""===a&&""!==u)n=u;else if("#"===a)i.id=u;else if("."===a)l.push(u);else if("["===t[3][0]){var s=t[6];s&&(s=s.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),"class"===t[4]?l.push(s):i[t[4]]=""===s?s:s||!0}}return l.length>0&&(i.className=l.join(" ")),o[e]={tag:n,attrs:i}}function i(e,t){var r=t.attrs,o=n.call(r,"class"),l=o?r.class:r.className;if(t.tag=e.tag,!function(e){for(var t in e)if(n.call(e,t))return!1;return!0}(e.attrs)){var i={};for(var a in r)n.call(r,a)&&(i[a]=r[a]);r=i}for(var a in e.attrs)n.call(e.attrs,a)&&"className"!==a&&!n.call(r,a)&&(r[a]=e.attrs[a]);return null==l&&null==e.attrs.className||(r.className=null!=l?null!=e.attrs.className?String(e.attrs.className)+" "+String(l):l:null!=e.attrs.className?e.attrs.className:null),o&&(r.class=null),t.attrs=r,t}function a(n){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 r=t.apply(1,arguments);return"string"==typeof n&&(r.children=e.normalizeChildren(r.children),"["!==n)?i(o[n]||l(n),r):(r.tag=n,r)}a.trust=function(t){return null==t&&(t=""),e("<",void 0,void 0,t,void 0,void 0)},a.fragment=function(){var n=t.apply(0,arguments);return n.tag="[",n.children=e.normalizeChildren(n.children),n};var u=new WeakMap;var s={delayedRemoval:u,domFor:function*({dom:e,domSize0:t},{generation0:n}={}){if(null!=e)do{const{nextSibling:r}=e;u.get(e)===n&&(yield e,t--),e=r}while(t)}},f=s.delayedRemoval,c=s.domFor,d=function(){var t,n,r={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"};function o(e){return e.ownerDocument}function l(e){return e.attrs&&e.attrs.xmlns||r[e.tag]}function i(e,t){if(e.state!==t)throw new Error("'vnode.state' must not be modified.")}function a(e){var t=e.state;try{return this.apply(t,arguments)}finally{i(e,t)}}function u(e){try{return o(e).activeElement}catch(e){return null}}function s(e,t,n,r,o,l,i){for(var a=n;a<r;a++){var u=t[a];null!=u&&d(e,u,o,i,l)}}function d(t,n,r,i,u){var f=n.tag;if("string"==typeof f)switch(n.state={},null!=n.attrs&&F(n.attrs,n,r),f){case"#":!function(e,t,n){t.dom=o(e).createTextNode(t.children),x(e,t.dom,n)}(t,n,u);break;case"<":m(t,n,i,u);break;case"[":!function(e,t,n,r,l){var i=o(e).createDocumentFragment();if(null!=t.children){var a=t.children;s(i,a,0,a.length,n,null,r)}t.dom=i.firstChild,t.domSize=i.childNodes.length,x(e,i,l)}(t,n,r,i,u);break;default:!function(e,t,n,r,i){var a=t.tag,u=t.attrs,f=u&&u.is,c=(r=l(t)||r)?f?o(e).createElementNS(r,a,{is:f}):o(e).createElementNS(r,a):f?o(e).createElement(a,{is:f}):o(e).createElement(a);t.dom=c,null!=u&&function(e,t,n){"input"===e.tag&&null!=t.type&&e.dom.setAttribute("type",t.type);var r=null!=t&&"input"===e.tag&&"file"===t.type;for(var o in t)A(e,o,null,t[o],n,r)}(t,u,r);if(x(e,c,i),!k(t)&&null!=t.children){var d=t.children;s(c,d,0,d.length,n,null,r),"select"===t.tag&&null!=u&&function(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&&A(e,"selectedIndex",null,t.selectedIndex,void 0)}(t,u)}}(t,n,r,i,u)}else!function(t,n,r,o,l){(function(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)}F(t.state,t,n),null!=t.attrs&&F(t.attrs,t,n);if(t.instance=e.normalize(a.call(t.state.view,t)),t.instance===t)throw Error("A view cannot return the vnode it received as argument");r.$$reentrantLock$$=null})(n,r),null!=n.instance?(d(t,n.instance,r,o,l),n.dom=n.instance.dom,n.domSize=null!=n.dom?n.instance.domSize:0):n.domSize=0}(t,n,r,i,u)}var p={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"};function m(e,t,n,r){var l=t.children.match(/^\s*?<(\w+)/im)||[],i=o(e).createElement(p[l[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,u=o(e).createDocumentFragment();a=i.firstChild;)u.appendChild(a);x(e,u,r)}function v(e,t,n,r,o,l){if(t!==n&&(null!=t||null!=n))if(null==t||0===t.length)s(e,n,0,n.length,r,o,l);else if(null==n||0===n.length)S(e,t,0,t.length);else{var i=null!=t[0]&&null!=t[0].key,a=null!=n[0]&&null!=n[0].key,u=0,f=0;if(!i)for(;f<t.length&&null==t[f];)f++;if(!a)for(;u<n.length&&null==n[u];)u++;if(i!==a)S(e,t,f,t.length),s(e,n,u,n.length,r,o,l);else if(a){for(var c,p,m,v,x,k=t.length-1,z=n.length-1;k>=f&&z>=u&&(m=t[k],v=n[z],m.key===v.key);)m!==v&&h(e,m,v,r,o,l),null!=v.dom&&(o=v.dom),k--,z--;for(;k>=f&&z>=u&&(c=t[f],p=n[u],c.key===p.key);)f++,u++,c!==p&&h(e,c,p,r,w(t,f,o),l);for(;k>=f&&z>=u&&u!==z&&c.key===v.key&&m.key===p.key;)b(e,m,x=w(t,f,o)),m!==p&&h(e,m,p,r,x,l),++u<=--z&&b(e,c,o),c!==v&&h(e,c,v,r,o,l),null!=v.dom&&(o=v.dom),f++,m=t[--k],v=n[z],c=t[f],p=n[u];for(;k>=f&&z>=u&&m.key===v.key;)m!==v&&h(e,m,v,r,o,l),null!=v.dom&&(o=v.dom),z--,m=t[--k],v=n[z];if(u>z)S(e,t,f,k+1);else if(f>k)s(e,n,u,z+1,r,o,l);else{var j,A,C=o,O=z-u+1,T=new Array(O),N=0,$=0,L=2147483647,R=0;for($=0;$<O;$++)T[$]=-1;for($=z;$>=u;$--){null==j&&(j=y(t,f,k+1));var I=j[(v=n[$]).key];null!=I&&(L=I<L?I:-1,T[$-u]=I,m=t[I],t[I]=null,m!==v&&h(e,m,v,r,o,l),null!=v.dom&&(o=v.dom),R++)}if(o=C,R!==k-f+1&&S(e,t,f,k+1),0===R)s(e,n,u,z+1,r,o,l);else if(-1===L)for(N=(A=function(e){var t=[0],n=0,r=0,o=0,l=g.length=e.length;for(o=0;o<l;o++)g[o]=e[o];for(o=0;o<l;++o)if(-1!==e[o]){var i=t[t.length-1];if(e[i]<e[o])g[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&&(g[o]=t[n-1]),t[n]=o)}}n=t.length,r=t[n-1];for(;n-- >0;)t[n]=r,r=g[r];return g.length=0,t}(T)).length-1,$=z;$>=u;$--)p=n[$],-1===T[$-u]?d(e,p,r,l,o):A[N]===$-u?N--:b(e,p,o),null!=p.dom&&(o=n[$].dom);else for($=z;$>=u;$--)p=n[$],-1===T[$-u]&&d(e,p,r,l,o),null!=p.dom&&(o=n[$].dom)}}else{var P=t.length<n.length?t.length:n.length;for(u=u<f?u:f;u<P;u++)(c=t[u])===(p=n[u])||null==c&&null==p||(null==c?d(e,p,r,l,w(t,u+1,o)):null==p?E(e,c):h(e,c,p,r,w(t,u+1,o),l));t.length>P&&S(e,t,u,t.length),n.length>P&&s(e,n,u,n.length,r,o,l)}}}function h(t,n,r,o,i,u){var s=n.tag;if(s===r.tag){if(r.state=n.state,r.events=n.events,function(e,t){do{var n;if(null!=e.attrs&&"function"==typeof e.attrs.onbeforeupdate)if(void 0!==(n=a.call(e.attrs.onbeforeupdate,e,t))&&!n)break;if("string"!=typeof e.tag&&"function"==typeof e.state.onbeforeupdate)if(void 0!==(n=a.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}(r,n))return;if("string"==typeof s)switch(null!=r.attrs&&_(r.attrs,r,o),s){case"#":!function(e,t){e.children.toString()!==t.children.toString()&&(e.dom.nodeValue=t.children);t.dom=e.dom}(n,r);break;case"<":!function(e,t,n,r,o){t.children!==n.children?(z(e,t,void 0),m(e,n,r,o)):(n.dom=t.dom,n.domSize=t.domSize)}(t,n,r,u,i);break;case"[":!function(e,t,n,r,o,l){v(e,t.children,n.children,r,o,l);var i=0,a=n.children;if(n.dom=null,null!=a){for(var u=0;u<a.length;u++){var s=a[u];null!=s&&null!=s.dom&&(null==n.dom&&(n.dom=s.dom),i+=s.domSize||1)}1!==i&&(n.domSize=i)}}(t,n,r,o,i,u);break;default:!function(e,t,n,r){var o=t.dom=e.dom;r=l(t)||r,function(e,t,n,r){t&&t===n&&console.warn("Don't reuse attrs object, use new object for every redraw, this will throw in next major");if(null!=n){"input"===e.tag&&null!=n.type&&e.dom.setAttribute("type",n.type);var o="input"===e.tag&&"file"===n.type;for(var l in n)A(e,l,t&&t[l],n[l],r,o)}var i;if(null!=t)for(var l in t)null==(i=t[l])||null!=n&&null!=n[l]||C(e,l,i,r)}(t,e.attrs,t.attrs,r),k(t)||v(o,e.children,t.children,n,null,r)}(n,r,o,u)}else!function(t,n,r,o,l,i){if(r.instance=e.normalize(a.call(r.state.view,r)),r.instance===r)throw Error("A view cannot return the vnode it received as argument");_(r.state,r,o),null!=r.attrs&&_(r.attrs,r,o);null!=r.instance?(null==n.instance?d(t,r.instance,o,i,l):h(t,n.instance,r.instance,o,l,i),r.dom=r.instance.dom,r.domSize=r.instance.domSize):null!=n.instance?(E(t,n.instance),r.dom=void 0,r.domSize=0):(r.dom=n.dom,r.domSize=n.domSize)}(t,n,r,o,i,u)}else E(t,n),d(t,r,o,u,i)}function y(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 g=[];function w(e,t,n){for(;t<e.length;t++)if(null!=e[t]&&null!=e[t].dom)return e[t].dom;return n}function b(e,t,n){if(null!=t.dom){var r;if(null==t.domSize)r=t.dom;else for(var l of(r=o(e).createDocumentFragment(),c(t)))r.appendChild(l);x(e,r,n)}}function x(e,t,n){null!=n?e.insertBefore(t,n):e.appendChild(t)}function k(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 S(e,t,n,r){for(var o=n;o<r;o++){var l=t[o];null!=l&&E(e,l)}}function E(e,t){var r,o,l,u,s=0,d=t.state;"string"!=typeof t.tag&&"function"==typeof t.state.onbeforeremove&&(null!=(l=a.call(t.state.onbeforeremove,t))&&"function"==typeof l.then&&(s=1,r=l));t.attrs&&"function"==typeof t.attrs.onbeforeremove&&(null!=(l=a.call(t.attrs.onbeforeremove,t))&&"function"==typeof l.then&&(s|=2,o=l));if(i(t,d),s){for(var p of(u=n,c(t)))f.set(p,u);null!=r&&r.finally((function(){1&s&&((s&=2)||(i(t,d),j(t),z(e,t,u)))})),null!=o&&o.finally((function(){2&s&&((s&=1)||(i(t,d),j(t),z(e,t,u)))}))}else j(t),z(e,t,u)}function z(e,t,n){if(null!=t.dom)if(null==t.domSize)f.get(t.dom)===n&&e.removeChild(t.dom);else for(var r of c(t,{generation:n}))e.removeChild(r)}function j(e){if("string"!=typeof e.tag&&"function"==typeof e.state.onremove&&a.call(e.state.onremove,e),e.attrs&&"function"==typeof e.attrs.onremove&&a.call(e.attrs.onremove,e),"string"!=typeof e.tag)null!=e.instance&&j(e.instance);else{var t=e.children;if(Array.isArray(t))for(var n=0;n<t.length;n++){var r=t[n];null!=r&&j(r)}}}function A(e,t,n,r,o,l){if(!("key"===t||"is"===t||null==r||O(t)||n===r&&!function(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)}(e,t)&&"object"!=typeof r||"type"===t&&"input"===e.tag)){if("o"===t[0]&&"n"===t[1])return D(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)I(e.dom,n,r);else if(T(e,t,o)){if("value"===t){if(("input"===e.tag||"textarea"===e.tag)&&e.dom.value===""+r&&(l||e.dom===u(e.dom)))return;if("select"===e.tag&&null!==n&&e.dom.value===""+r)return;if("option"===e.tag&&null!==n&&e.dom.value===""+r)return;if(l&&""+r!="")return void console.error("`value` is read-only on file inputs!")}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 C(e,t,n,r){if("key"!==t&&"is"!==t&&null!=n&&!O(t))if("o"===t[0]&&"n"===t[1])D(e,t,void 0);else if("style"===t)I(e.dom,n,null);else if(!T(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 O(e){return"oninit"===e||"oncreate"===e||"onupdate"===e||"onremove"===e||"onbeforeremove"===e||"onbeforeupdate"===e}function T(e,t,n){return void 0===n&&(e.tag.indexOf("-")>-1||null!=e.attrs&&e.attrs.is||"href"!==t&&"list"!==t&&"form"!==t&&"width"!==t&&"height"!==t)&&t in e.dom}var N,$=/[A-Z]/g;function L(e){return"-"+e.toLowerCase()}function R(e){return"-"===e[0]&&"-"===e[1]?e:"cssFloat"===e?"float":e.replace($,L)}function I(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.cssText="",n){null!=(o=n[r])&&e.style.setProperty(R(r),String(o))}else{for(var r in n){var o;null!=(o=n[r])&&(o=String(o))!==String(t[r])&&e.style.setProperty(R(r),o)}for(var r in t)null!=t[r]&&null==n[r]&&e.style.removeProperty(R(r))}}function P(){this._=t}function D(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 P,e.dom.addEventListener(n.slice(2),e.events,!1),e.events[n]=r)}function F(e,t,n){"function"==typeof e.oninit&&a.call(e.oninit,t),"function"==typeof e.oncreate&&n.push(a.bind(e.oncreate,t))}function _(e,t,n){"function"==typeof e.onupdate&&n.push(a.bind(e.onupdate,t))}return P.prototype=Object.create(null),P.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),this._&&!1!==e.redraw&&(0,this._)(),!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!=N&&r.contains(N))throw new TypeError("Node is currently being rendered to and thus is locked.");var i=t,a=N,s=[],f=u(r),c=r.namespaceURI;N=r,t="function"==typeof l?l:void 0,n={};try{null==r.vnodes&&(r.textContent=""),o=e.normalizeChildren(Array.isArray(o)?o:[o]),v(r,r.vnodes,o,s,null,"http://www.w3.org/1999/xhtml"===c?void 0:c),r.vnodes=o,null!=f&&u(r)!==f&&"function"==typeof f.focus&&f.focus();for(var d=0;d<s.length;d++)s[d]()}finally{t=i,N=a}}}("undefined"!=typeof window&&window),p=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]),u)}catch(e){r.error(e)}i=-1}function u(){l||(l=!0,n((function(){l=!1,a()})))}return u.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),u))},redraw:u}}(d,"undefined"!=typeof requestAnimationFrame?requestAnimationFrame:null,"undefined"!=typeof console?console:null),m=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):""))}},v=Object.assign||function(e,t){for(var r in t)n.call(t,r)&&(e[r]=t[r])},h=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={};v(a,t);var u=i.replace(/:([^\/\.-]+)(\.{3})?/g,(function(e,n,r){return delete a[n],null==t[n]?e:r?t[n]:encodeURIComponent(String(t[n]))})),s=u.indexOf("?"),f=u.indexOf("#"),c=f<0?u.length:f,d=s<0?c:s,p=u.slice(0,d);n>=0&&(p+=e.slice(n,o)),s>=0&&(p+=(n<0?"?":"&")+u.slice(s,c));var h=m(a);return h&&(p+=(n<0&&s<0?"?":"&")+h),r>=0&&(p+=e.slice(r)),f>=0&&(p+=(r<0?"":"&")+u.slice(f)),p},y=function(e,t){function r(e){return new Promise(e)}function o(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(l,i){"string"!=typeof l?(i=l,l=l.url):null==i&&(i={});var a=function(t,r){return new Promise((function(l,i){t=h(t,r.params);var a,u=null!=r.method?r.method.toUpperCase():"GET",s=r.body,f=(null==r.serialize||r.serialize===JSON.serialize)&&!(s instanceof e.FormData||s instanceof e.URLSearchParams),c=r.responseType||("function"==typeof r.extract?"":"json"),d=new e.XMLHttpRequest,p=!1,m=!1,v=d,y=d.abort;for(var g in d.abort=function(){p=!0,y.call(this)},d.open(u,t,!1!==r.async,"string"==typeof r.user?r.user:void 0,"string"==typeof r.password?r.password:void 0),f&&null!=s&&!o(r,"content-type")&&d.setRequestHeader("Content-Type","application/json; charset=utf-8"),"function"==typeof r.deserialize||o(r,"accept")||d.setRequestHeader("Accept","application/json, text/*"),r.withCredentials&&(d.withCredentials=r.withCredentials),r.timeout&&(d.timeout=r.timeout),d.responseType=c,r.headers)n.call(r.headers,g)&&d.setRequestHeader(g,r.headers[g]);d.onreadystatechange=function(e){if(!p&&4===e.target.readyState)try{var n,o=e.target.status>=200&&e.target.status<300||304===e.target.status||/^file:\/\//i.test(t),a=e.target.response;if("json"===c){if(!e.target.responseType&&"function"!=typeof r.extract)try{a=JSON.parse(e.target.responseText)}catch(e){a=null}}else c&&"text"!==c||null==a&&(a=e.target.responseText);if("function"==typeof r.extract?(a=r.extract(e.target,r),o=!0):"function"==typeof r.deserialize&&(a=r.deserialize(a)),o){if("function"==typeof r.type)if(Array.isArray(a))for(var u=0;u<a.length;u++)a[u]=new r.type(a[u]);else a=new r.type(a);l(a)}else{var s=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(){m||s()})):s()}}catch(e){i(e)}},d.ontimeout=function(e){m=!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)!==v&&(a=d.abort,d.abort=function(){p=!0,a.call(this)}),null==s?d.send():"function"==typeof r.serialize?d.send(r.serialize(s)):s instanceof e.FormData||s instanceof e.URLSearchParams?d.send(s):d.send(JSON.stringify(s))}))}(l,i);if(!0===i.background)return a;var u=0;function s(){0==--u&&"function"==typeof t&&t()}return function e(t){var n=t.then;return t.constructor=r,t.then=function(){u++;var r=n.apply(t,arguments);return r.then(s,(function(e){if(s(),0===u)throw e})),e(r)},t}(a)}}}("undefined"!=typeof window?window:null,p.redraw),g=p,w=s,b=function(){return a.apply(this,arguments)};b.m=a,b.trust=a.trust,b.fragment=a.fragment,b.Fragment="[",b.mount=g.mount;var x=a;function k(e){try{return decodeURIComponent(e)}catch(t){return e}}var S=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=k(l[0]),a=2===l.length?k(l[1]):"";"true"===a?a=!0:"false"===a&&(a=!1);var u=i.split(/\]\[?|\[/),s=r;i.indexOf("[")>-1&&u.pop();for(var f=0;f<u.length;f++){var c=u[f],d=u[f+1],p=""==d||!isNaN(parseInt(d,10));if(""===c)null==n[i=u.slice(0,f).join()]&&(n[i]=Array.isArray(s)?s.length:0),c=n[i]++;else if("__proto__"===c)break;if(f===u.length-1)s[c]=a;else{var m=Object.getOwnPropertyDescriptor(s,c);null!=m&&(m=m.value),null==m&&(s[c]=m=p?[]:{}),s=m}}}return r},E=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?{}:S(e.slice(t+1,r))}},z=new RegExp("^(?:key|oninit|oncreate|onbeforeupdate|onupdate|onbeforeremove|onremove)$"),j=function(e,t){var r={};if(null!=t)for(var o in e)n.call(e,o)&&!z.test(o)&&t.indexOf(o)<0&&(r[o]=e[o]);else for(var o in e)n.call(e,o)&&!z.test(o)&&(r[o]=e[o]);return r},A={};function C(e){try{return decodeURIComponent(e)}catch(t){return e}}b.route=function(t,n){var r,o,l,i,a,u,s=null==t?null:"function"==typeof t.setImmediate?t.setImmediate:t.setTimeout,f=Promise.resolve(),c=!1,d=!1,p=0,m=A,y={onbeforeupdate:function(){return!(!(p=p?2:1)||A===m)},onremove:function(){t.removeEventListener("popstate",b,!1),t.removeEventListener("hashchange",w,!1)},view:function(){if(p&&A!==m){var t=[e(l,i.key,i)];return m&&(t=m.render(t[0])),t}}},g=S.SKIP={};function w(){c=!1;var e=t.location.hash;"#"!==S.prefix[0]&&(e=t.location.search+e,"?"!==S.prefix[0]&&"/"!==(e=t.location.pathname+e)[0]&&(e="/"+e));var s=e.concat().replace(/(?:%[a-f89][a-f0-9])+/gim,C).slice(S.prefix.length),d=E(s);function h(e){console.error(e),k(o,null,{replace:!0})}v(d.params,t.history.state),function e(t){for(;t<r.length;t++)if(r[t].check(d)){var c=r[t].component,v=r[t].route,y=c,w=u=function(r){if(w===u){if(r===g)return e(t+1);l=null==r||"function"!=typeof r.view&&"function"!=typeof r?"div":r,i=d.params,a=s,u=null,m=c.render?c:null,2===p?n.redraw():(p=2,n.redraw.sync())}};return void(c.view||"function"==typeof c?(c={},w(y)):c.onmatch?f.then((function(){return c.onmatch(d.params,s,v)})).then(w,s===o?null:h):w("div"))}if(s===o)throw new Error("Could not resolve default route "+o+".");k(o,null,{replace:!0})}(0)}function b(){c||(c=!0,s(w))}function k(e,n,r){if(e=h(e,n),d){b();var o=r?r.state:null,l=r?r.title:null;r&&r.replace?t.history.replaceState(o,l,S.prefix+e):t.history.pushState(o,l,S.prefix+e)}else t.location.href=S.prefix+e}function S(e,l,i){if(!e)throw new TypeError("DOM element being rendered to does not exist.");if(r=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=E(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})),o=l,null!=l){var a=E(l);if(!r.some((function(e){return e.check(a)})))throw new ReferenceError("Default route doesn't match any known routes.")}"function"==typeof t.history.pushState?t.addEventListener("popstate",b,!1):"#"===S.prefix[0]&&t.addEventListener("hashchange",w,!1),d=!0,n.mount(e,y),w()}return S.set=function(e,t,n){null!=u&&((n=n||{}).replace=!0),u=null,k(e,t,n)},S.get=function(){return a},S.prefix="#!",S.Link={view:function(e){var t,n,r,o=x(e.attrs.selector||"a",j(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=h(o.attrs.href,e.attrs.params),o.attrs.href=S.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,S.set(r,null,t))}),o}},S.param=function(e){return i&&null!=e?i[e]:i},S}("undefined"!=typeof window?window:null,g),b.render=d,b.redraw=g.redraw,b.request=y.request,b.parseQueryString=S,b.buildQueryString=m,b.parsePathname=E,b.buildPathname=h,b.vnode=e,b.censor=j,b.domFor=w.domFor,"undefined"!=typeof module?module.exports=b:window.m=b}();
{
"name": "mithril",
"version": "2.2.4",
"version": "2.2.5",
"description": "A framework for building brilliant applications",

@@ -11,10 +11,6 @@ "author": "Leo Horie",

"scripts": {
"precommit": "lint-staged",
"watch": "run-p watch:**",
"watch:js": "node scripts/bundler browser.js -output mithril.js -watch",
"watch:docs": "node scripts/generate-docs --watch",
"watch:docs-lint": "node scripts/lint-docs --watch",
"build": "run-p build:browser build:min build:stream-min",
"build:browser": "node scripts/bundler browser.js -output mithril.js",
"build:docs": "node scripts/generate-docs",
"build:min": "node scripts/bundler browser.js -output mithril.min.js -minify -save",

@@ -25,3 +21,2 @@ "build:stream-min": "node scripts/minify-stream",

"lint:js": "eslint . --cache",
"lint:docs": "node scripts/lint-docs",
"perf": "node performance/test-perf.js",

@@ -34,29 +29,12 @@ "pretest": "npm run lint",

"devDependencies": {
"@alrra/travis-scripts": "^3.0.1",
"@babel/parser": "^7.7.5",
"benchmark": "^2.1.4",
"chokidar": "^3.2.1",
"escape-string-regexp": "^2.0.0",
"chokidar": "^4.0.1",
"eslint": "^8.9.0",
"gh-pages": "^6.1.1",
"glob": "^11.0.0",
"html-minifier-terser": "^7.2.0",
"istanbul": "^0.4.5",
"lint-staged": "^15.2.10",
"locater": "^1.3.0",
"marked": "^14.1.0",
"minimist": "^1.2.0",
"npm-run-all": "^4.1.5",
"ospec": "4.2.1",
"pinpoint": "^1.1.0",
"rimraf": "^6.0.1",
"semver": "^6.3.0",
"terser": "^4.3.4"
},
"lint-staged": {
"*.js": [
"eslint . --fix",
"git add"
]
}
}
# Mithril.js
[![npm Version](https://img.shields.io/npm/v/mithril.svg)](https://www.npmjs.com/package/mithril) &nbsp;
[![License](https://img.shields.io/npm/l/mithril.svg)](https://github.com/MithrilJS/mithril.js/blob/next/LICENSE) &nbsp;
[![License](https://img.shields.io/npm/l/mithril.svg)](https://github.com/MithrilJS/mithril.js/blob/main/LICENSE) &nbsp;
[![npm Downloads](https://img.shields.io/npm/dm/mithril.svg)](https://www.npmjs.com/package/mithril) &nbsp;
[![Build Status](https://img.shields.io/github/actions/workflow/status/MithrilJS/mithril.js/.github%2Fworkflows%2Ftest-next-push.yml)](https://www.npmjs.com/package/mithril) &nbsp;
[![Build Status](https://img.shields.io/github/actions/workflow/status/MithrilJS/mithril.js/.github%2Fworkflows%2Ftest-main-push.yml)](https://www.npmjs.com/package/mithril) &nbsp;
[![Donate at OpenCollective](https://img.shields.io/opencollective/all/mithriljs.svg?colorB=brightgreen)](https://opencollective.com/mithriljs) &nbsp;

@@ -18,3 +18,3 @@ [![Zulip, join chat](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://mithril.zulipchat.com/)

A modern client-side JavaScript framework for building Single Page Applications. It's small (<!-- size -->9.15 KB<!-- /size --> gzipped), fast and provides routing and XHR utilities out of the box.
A modern client-side JavaScript framework for building Single Page Applications. It's small (<!-- size -->9.12 KB<!-- /size --> gzipped), fast and provides routing and XHR utilities out of the box.

@@ -21,0 +21,0 @@ Mithril.js is used by companies like Vimeo and Nike, and open source platforms like Lichess 👍.

@@ -39,3 +39,2 @@ "use strict"

vnode.tag = state.tag
vnode.attrs = {}

@@ -68,8 +67,3 @@ if (!isEmpty(state.attrs)) {

for (var key in attrs) {
if (hasOwn.call(attrs, key) && key !== "key") {
vnode.attrs = attrs
break
}
}
vnode.attrs = attrs

@@ -76,0 +70,0 @@ return vnode

@@ -456,5 +456,2 @@ "use strict"

if (vnode.tag === "textarea") {
if (vnode.attrs == null) vnode.attrs = {}
}
updateAttrs(vnode, old.attrs, vnode.attrs, ns)

@@ -461,0 +458,0 @@ if (!maybeSetContentEditable(vnode)) {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc