3 lines
21 KiB
JavaScript
3 lines
21 KiB
JavaScript
(e=>{"undefined"==typeof self&&"object"==typeof module?module.exports=e():self.Matsui=e("function"==typeof Matsui?Matsui:self.Matsui)})(e=>{Object.hasOwn||(Object.hasOwn=(e,t)=>Object.prototype.hasOwnProperty.call(e,t));let t=[],d=e=>e&&"object"==typeof e,h=()=>document.createTextNode("");function n(e,t){for(;e.nextSibling&&e.nextSibling!=t;)e.nextSibling.remove()}function a(){let e=document.createDocumentFragment(),t=h(),r=h();return e.append(t,r),{t:e,o:(...e)=>{n(t,r),t.after(...e)}}}let c=Symbol();function f(t){if(d(t)){let e=t[c];for(;e&&e!=t;)e=(t=e)[c]}return t}let o=Symbol(),i=Symbol(),p=Symbol("no change"),s=Symbol("replace"),y={apply(r,n,o){return d(n)?d(r)?(Array.isArray(n)||ArrayBuffer.isView(n)||n instanceof ArrayBuffer)?n:(n[s]&&(o?r[s]=!0:delete n[s]),Object.keys(n).forEach(e=>{var t=n[e];Object.hasOwn(r,e)?null!=t||o?r[e]=y.apply(r[e],t,o):delete r[e]:null==t&&!o||(r[e]=t)}),r):(o&&(n[s]=!0),n):n},make(n,o,e){if(!e||n!==o){if(!d(o))return o;if(!d(n))return o[s]=!0,o;if(Array.isArray(o))return o;let r={};return Object.keys(o).forEach(e=>{var t;Object.hasOwn(n,e)?void 0!==(t=y.make(n[e],o[e],!0))&&(r[e]=t):r[e]=o[e]}),Object.keys(n).forEach(e=>{Object.hasOwn(o,e)||(r[e]=null)}),e&&0==Object.keys(r).length?void 0:r}},tracked(e,t,r){if(!d(e))return e;let n=t,o=!1,i=p,l=null,a=()=>{var e;clearTimeout(l),i!==p&&(e=i,i=p,n(e))},u=(e,o)=>new Proxy(e,{get(e,t){var r=e[t];return t===c?e:d(r)?u(r,e=>o({[t]:e})):r},set(e,t,r,n){if(null==r)return delete n[t];if((r=f(r))===e[t])return!0;if(n=y.make(e[t],r),d(n))n[s]=!0;else if(r===e[t])return!0;return!!Reflect.set(e,t,r)&&(o({[t]:n}),!0)},deleteProperty(e,t){return!(t in e)||delete e[t]&&(o({[t]:null}),!0)}});return u(e,t=e=>{if(i!==p)i=y.apply(i,e,!0);else if(i=e,r)requestAnimationFrame(a),clearTimeout(l),l=setTimeout(a,0);else if(!o)for(;i!==p;)o=!0,a(),o=!1})},addHidden(e,n){return d(e)?new Proxy(e,{get(e,t){var r;return t===o?n:t===i||t===c?e:(e=e[t],r=d(n)&&t in n,y.addHidden(e,r?n[t]:p))},has(e,t){return t===o||t in e}}):e},getHidden(e,t){var r;return d(e)&&void 0!==(r=f(e[o]))?r===p?t:r:e},withoutHidden(e){return d(e)&&e[i]||e}},l=Symbol(),u=Symbol(),m=Symbol("accessed"),v=Symbol("list-keys"),w={tracked(e,n){if(!d(e))return n[m]=m,e;let o=Array.isArray(e);return new Proxy(e,{get(e,t){var r=e[t];return t===c||t===u?e:t===l?(n[m]=m,e):o&&"length"===t?(n[v]=v,r):("function"!=typeof r||r.prototype||(n[m]=m),t in n||(n[t]={}),w.tracked(r,n[t]))},ownKeys(e){return n[v]=v,Reflect.ownKeys(e)}})},pierce(e,t){return e&&e[t?u:l]||e},accessed:m},g=Symbol(),b=(i,r)=>{for(let e=0;e<i.length;++e)i[e][g]&&(i.splice(e,1,...i[e][g]),--e);if(r){let t=b(i);i=[e=>t(r(e))]}Object.freeze(i);let t=!0,l=[],n=null,e=o=>{o=w.pierce(o);let r=y.withoutHidden(o),e=f(r);if(t||n!==e)n=d(e)?e:null,t=!1,i.forEach((e,t)=>{t=l[t]={},e(w.tracked(r,t))});else{let n=y.getHidden(o,p);i.forEach((e,t)=>{var r;!function e(t,r){if(r!==p){if(t[m])return 1;if(!d(r)||Array.isArray(r)||r[s])return 1;if(t[v]){for(var n in r)if(e(t[n]||{},r[n]))return 1}else for(var o in r)if(t[o]&&e(t[o],r[o]))return 1}}(l[t],n)||(r=l[t]={},e(w.tracked(o,r,t)))})}};return e[g]=i,e},E=/\$\{/g;function j(n,o){let i=0;for(var l,a=[];l=E.exec(n);){a.push(n.slice(i,l.index));let e=l.index+2,t=e+1,r;for(;t<n.length;){if("}"==n[t]){var u=n.slice(e,t);try{r=null,new Function("return "+u);break}catch(e){r=e}}++t}if(r)return console.error(r),a.push(`{${r.message}}`),a.join("");a.push(o(n.slice(e,t))),E.lastIndex=i=t+1}return a.push(n.slice(i)),a.join("")}function O(e){let o=e.split(L);for(let n=1;n<o.length;n+=2){let e=o[n],t=e.slice(1,-1);if("{"==e[0])if("="==t)o[n]=()=>e=>e;else{let r=t.split(".");1==r.length?(r=r[0],o[n]=()=>e=>e?.[r]):o[n]=()=>t=>(r.forEach(e=>{t&&"object"==typeof t&&(t=t[e])}),t)}else o[n]=e=>e[t]}return t=>{let e=o.map(e=>"function"==typeof e?e(t):e).filter(e=>""!=e);return 1==e.length?e[0]:e.some(e=>"function"==typeof e)?t=>e.map(e=>"function"==typeof e?e(t):e).join(""):e.join("")}}function S(e){if(/^template$/i.test(e.tagName))return 1;for(var t of e.attributes||[])if("@"==t.name[0])return 1}function _(e){return/^script$/i.test(e.tagName)}function A(e){return e.slice(1).toLowerCase().replace(/-+(.)/g,(e,t)=>t.toUpperCase())}let L=/(\{[a-z0-9_=\.-]+\}|\uF74A[0-9]+\uF74B)/giu,$=/((\$[a-z0-9_-]+)*)(\{([a-z0-9_=\.-]+)\}|\uF74A([0-9]+)\uF74B)/giu,T=Symbol();function k(e){let f=e.content||e,s=[],d={},p=!1,m=(Array.from(f.childNodes).forEach(t=>{if("TEMPLATE"==t.tagName){var r=t.getAttribute("name");if(r){p=!0;let e=e=>null;t.hasAttribute("$filter")&&(e=O(t.getAttribute("$filter"))),d[r]={i:k(t),l:t.getAttribute("@scoped"),u:t[T],p:e},t.remove()}}}),function r(t,a){if(3==t.nodeType){var u=a,o=t.nodeValue;let e,n=0;for(;e=$.exec(o);){let i=o.slice(n,e.index),l=(n=$.lastIndex,e[1].split("$").slice(1)),t=e[4],r=e[5],a=null;if(t){let e="="==t?[]:t.split(".");a=t=>(e.forEach(e=>{t&&"object"==typeof t&&(t=t[e])}),t)}s.push((n,e)=>{let o=a||e[r];if("function"==typeof o)if("template"===l[0])(n=n.extend()).add("template",o),o=e=>e;else if("scoped"===l[0]){n=n.extend();let t=o;n.add("scoped",x(e=>t(e,n))),o=e=>e}return{m:u,v:(e,t,r)=>{i&&e.before(i),r=((n,e,o)=>{let i=e.map(e=>{var t=n.named[e];if(t)return t;let r="Template not found: "+e;return console.error(r),e=>({node:document.createTextNode(r),updates:[]})});return function t(r){if(r>=e.length)return o;let n=i[r];return e=>n(t(r+1))}(0)(n.dynamic)})(n,l,r),e.before(r.node),"function"==typeof o?t.push(b(r.updates,o)):r.updates.forEach(e=>e(o))}}})}if(0<n){let t=o.slice(n),r=t?e=>e.nodeValue=t:e=>e.remove();s.push(e=>({m:u,v:r}))}}else if(1===t.nodeType){if(S(t)&&a.length){if("TEMPLATE"==t.tagName&&t.hasAttribute("name"))throw Error('<template name=""> can only be immediate child');let i=t[T],l=k(t);return s.push((r,n)=>{let o;if(t.getAttribute("@scoped"))o=x(e=>{var t={};return n[i](t,e),l(r,t)});else{let e={};i?n[i](e):e=n,o=l(r,e)}return{m:a,v:(e,t,r)=>{r=o(r),e.replaceWith(r.node),t.push(b(r.updates))}}}),t.replaceWith(h())}if(_(t))return;for(var e of Array.from(t.attributes))((e,r,n)=>{if("$"==r.name[0]){e.removeAttribute(r.name);let p="-"==r.name[1],m=p?r.name.slice(2):A(r.name),t=O(r.value);s.push((f,e)=>{let s=t(e),d="function"==typeof s;return{m:n,v:(r,e,t)=>{let n=null,o,i=d?(...e)=>s(n,...e):s,l;var a,u,c;l=p?e=>{var t=d?i(r):s;null==t?r.removeAttribute(m):r.setAttribute(m,t)}:m in f.attributes?f.attributes[m](r,i,()=>n):(o=d?i:()=>s,a=r,u=m,c=o,"on"+u in a?void a.addEventListener(u,e=>c(e,a)):u in a?e=>{var t=c(a);try{a[u]=t}catch(e){null==t?a.removeAttribute(u):a.setAttribute(u,t)}}:e=>{var t=c(a);null==t&&a.hasAttribute(u)?a.removeAttribute(u):a.getAttribute(u)!=t&&a.setAttribute(u,t)}),e.push(e=>{n=e,l&&l(e),n=y.withoutHidden(w.pierce(e,!0))})}}})}})(t,e,a)}(t.childNodes||[]).forEach((e,t)=>{r(e,a.concat(t))})}(f,[]),{}),v=!1;for(var t of e.attributes||[]){var r;"@"==t.name[0]&&(v=!0,"scoped"!=(r=A(t.name)))&&(m[r]=O(t.value))}return(o,i)=>{var e,t=o;if(p||v)for(var l in o=o.extend(),d){let r=d[l],n=r.u;if(r.l){var a=x(e=>{var t={};return i[n](t,e),r.i(o,t)});o.add(l,a)}else{let e={};n?i[n](e):e=i;var a=r.p(e),u=r.i(o,e);o.add(l,u,a)}}let c=s.map(e=>e(o,i)),r=r=>{let n=f,o=(f=f.cloneNode(!0),[]),i=c.map(e=>{let t=n;return e.m.forEach(e=>t=t.childNodes[e]),t});return c.forEach((e,t)=>{e.v(i[t],o,r)}),{node:n,updates:o}};for(e in m){var n=o.transforms[e];if(!n)throw Error("Unknown transform: "+e);r=n(r,m[e](i),t,o)}return r}}let M=Symbol(),P=new WeakMap,N=/\uF74A!?[0-9]+\uF74B/gu,I=/^\uF74A![0-9]+\uF74B$/gu,F=new class R{attributes={};transforms={};named={};constructor(e){this.#h=e,this.attributes=Object.create(e?e.attributes:null),this.transforms=Object.create(e?e.transforms:null),this.named=Object.create(e?e.named:null),this.dynamic=r=>{let n=a(),o,i,l={};return{node:n.t,updates:[e=>{if(o&&l.filter(e))return i(e);var t=(o=this.getForData(e,l))(r||this.dynamic);i=b(t.updates),n.o(t.node),i(e)}]}}}#h;#g=[];extend(){return new R(this)}add(e,t,r){if("function"!=typeof(t="function"!=typeof t?t&&t.dynamic:t))throw Error("Template not a function");return e&&(this.named[e]=t),r&&this.#g.unshift({p:r,v:t}),this}addElement(e,t,r){return this.add(e,this.fromElement(t),r)}addAll(e){return(e="string"==typeof(e=e||"template")?document.querySelectorAll(e):e).forEach(e=>{let t=e.id||e.getAttribute("name"),r=null;e.hasAttribute("$filter")&&(r=O(e.getAttribute("$filter"))(null)),"TEMPLATE"===e.tagName&&t&&this.addElement(t,e,r)}),this}addTag(r,n){return(e,...t)=>{e=this.fromTag(e,...t),this.add(r,e,n)}}addScoped(e,t,r){this.add(e,x(t),r)}getForData(t,r){for(let e=0;e<this.#g.length;++e){var n=this.#g[e];if(n.p(t))return r&&(r.filter=n.p),n.v}if(this.#h)return this.#h.getForData(t,r);throw Error("No template for data")}fromElement(l){if("string"==typeof l){var e=document.querySelector(l);if(!e)throw Error("Invalid element:"+l);l=e}if(!l[M]){let u=0,c=e=>"\uf74a"+(e?"!":"")+ ++u+"\uf74b",f="__matsui_template",s={},d=[],e,t,r=l.content||l,n=(function t(r,e){function n(e){var t=c();return s[t]=f+`[${u}]=(${e});`,t}if(3===r.nodeType){var o=u,i=j(r.nodeValue,n);u>o&&(r.nodeValue=i)}else if(1===r.nodeType)if(_(r))11==r.getRootNode().nodeType&&(o=c(!0),s[o]=r.textContent,r.textContent=o,d.push(r));else if(i=e=>{for(var t of r.attributes)"$"!=t.name[0]&&"@"!=t.name[0]||(t.value=j(t.value,n))},S(r)&&!e){var o=c(!0),e=++u+"",l=c(!0),a=(r[T]=e,r.before(document.createTextNode(o)),(a=r.getAttribute("@scoped"))?`(${f},${a})`:f);s[o]=f+`[${e}]=${a}=>{`,i(),t(r.content||r,!0),r.after(document.createTextNode(l)),s[l]="};"}else{i();let e=r.firstChild;for(;e;)t(e),e=e.nextSibling}else{let e=r.firstChild;for(;e;)t(e),e=e.nextSibling}}(r,!0),l.getAttribute("@scoped")),o=e=>e,i=(Object.keys(s).length&&(e=n?f+","+n:f,t="/*"+l.outerHTML.replace(/\*\//g,"* /").replace(N,e=>`*/${s[e]}/*`)+"*/",o=new Function(e,t)),d.forEach(e=>e.remove()),function t(r){var e=_(r)?r.textContent:r.nodeValue;if(I.test(e))r.remove();else{let e=r.firstChild;for(;e;){var n=e.nextSibling;t(e),e=n}/^template$/i.test(r.tagName)&&t(r.content)}}(r),k(l));l[M]=r=>{var e;return n?x(e=>{var t={};return o(t,e),i(r,t)}):(e={},o(e),i(r,e))}}return l[M](this)}fromTag(t,...r){let e=P.get(t);if(!e){var n=[t[0]];for(let e=0;e<r.length;++e)n.push("\uf74a"+e+"\uf74b"),n.push(t[e+1]);var o=document.createElement("template");o.innerHTML=n.join(""),e=k(o),P.set(t,e)}var i={};for(let e=0;e<r.length;++e)i[e]=r[e];return e(this,i)}},U=(F.add("json",e=>{let t=h();return{node:t,updates:[e=>{t.nodeValue=JSON.stringify(e)}]}},e=>!0),F.add("text",e=>{let t=h();return{node:t,updates:[e=>{t.nodeValue=null==e?"":e}]}},e=>!d(e)),F.add("list",l=>{let e=document.createDocumentFragment(),a=[h()];e.appendChild(a[0]);let u,c,f=()=>{var e=a[a.length-2],t=a.pop();n(e,t),t.remove()},s=()=>{for(;1<a.length;)f();u=null,c=null};return{node:e,updates:[r=>{r=w.pierce(r);let n=y.getHidden(r,p);if(n!==p)if(d(r)){if(Array.isArray(r))u&&!c||(s(),u=[]);else{var t=Object.keys(r);if(r=t.map(e=>r[e]),u&&c){let e=0;for(;e<c.length&&t[e]==c[e];)++e;for(;u.length>e;)f(),u.pop()}else s(),u=[];c=t}for(;u.length>r.length;)f(),u.pop();for(u.forEach((e,t)=>{(c?c[t]:t)in n&&e(r[t])});u.length<r.length;){var e=u.length,o=l(l),i=void 0,i=(i=h(),a[a.length-1].after(i),a.push(i),i.before(o.node),b(o.updates));u.push(i),i(r[e])}}else s()}]}}),F.transforms.data=(t,r,e)=>{if("function"!=typeof(r=""==r?e=>e:r))throw Error("needs a data-function argument");return e=>((e=t(e)).updates=[b(e.updates,r)],e)},F.transforms.foreach=(r,e,t)=>{let n=t.named.list;return F.transforms.data(t=>n(e=>r(t)),e,t)},Symbol());function x(o){return t=>{let r,n=a();return{node:n.t,updates:[e=>{e=y.withoutHidden(w.pierce(e,!0)),e=o(e)(t),n.o(e.node),r=b(e.updates)},e=>r(e)]}}}function r(n,t){let o,i=[],l=(t,r)=>{i.forEach(e=>{r&&!e.j||e.v(t)})},a=(this.trackMerges=(e,t)=>(i.push({v:e,j:!!t}),this),this.addUpdates=(e,t)=>{let r=b([].concat(e));this.trackMerges(e=>{e=y.addHidden(o,e),r(e)},t),r(o)},e=>{n=e,o=y.tracked(n,l,!t)}),u=(a(n),Object.defineProperty(this,"data",{get(){return o},set(e){var t=y.make(n,e);d(t)&&(t[s]=!0),a(e),l(t,!0),d(t)&&delete t[s]}}),this.merge=(e,t)=>{var r=y.apply(n,e);r!==n&&a(r),l(e,!t)},(e,t,r,n)=>{if(!(e="string"==typeof e?document.querySelector(e):e))throw Error("invalid host");"string"==typeof t&&(t=(t=document.querySelector(t))&&F.fromElement(t)),r||"function"==typeof t||(r=t,t=null),r=r||F,t=(t=t||r.fromElement(e))(r.dynamic),this.addUpdates(t.updates,!0),r=t.node,n?e!==r&&e.replaceWith(r):e.append(r)});this.addTo=(e,t,r)=>(u(e,t,r,!1),this),this.replace=(e,t,r)=>(u(e,t,r,!0),this)}F.transforms.if=(i,l,e)=>(e[U]=l,r=>{let n=a(),o=null;return{node:n.t,updates:[e=>{var t;l(e)?(o||(t=i(r),n.o(t.node),o=b(t.updates)))(e):o&&(n.o(),o=null)}]}}),F.transforms.else=(e,t,r)=>{let n=r[U];if(n)return e=F.transforms.if(e,e=>!n(e),r),delete r[U],e;throw Error("@else must follow @if")},t=new r(t,!0);let D={merge:y,access:w,combineUpdates:b,getRaw:f,global:F,scoped:x,errors:t,Wrapped:r,wrap(e,t){return new r(e,t)},addTo(e,t,r){return D.wrap(t).addTo(e,r)},replace(e,t,r){return D.wrap(t).replace(e,r)}};return e&&setTimeout(e.bind(self,Matsui=D),0),D}),Matsui.interaction=(e=>{e.class=(r,n)=>{let o="";return e=>{var t=n();t!=o&&((o+"").split(/\s+/g).forEach(e=>{e&&r.classList.remove(e)}),(t+"").split(/\s+/g).forEach(e=>{e&&r.classList.add(e)}),o=t)}};var t=document.createElement("style");function u(e,t){return(t.ctrlKey||t.shiftKey)&&(e*=.1),t.metaKey||t.altKey?0<e?1/0:e<0?-1/0:0:e}function c(e){return!e.ctrlKey&&0==e.button}function f(t,r,n){t.hasAttribute("tabindex")||t.setAttribute("tabindex",0),t.addEventListener("keydown",e=>{r[e.key]&&(t.focus(),e.preventDefault(),e.stopPropagation(),r[e.key](e))}),n&&t.addEventListener("keyup",e=>{n[e.key]&&(e.preventDefault(),e.stopPropagation(),n[e.key](e))})}t.textContent=".interaction-implicit-focus :focus {outline: none;}",document.head.appendChild(t),window.addEventListener("pointerdown",e=>{document.body.classList.add("interaction-implicit-focus")},{capture:!0}),window.addEventListener("keydown",e=>{"Tab"==e.code&&document.body.classList.remove("interaction-implicit-focus")},{capture:!0}),window.addEventListener("keydown",e=>{"Escape"==e.code&&(document.body.classList.contains("interaction-implicit-focus")?e.target.blur():document.body.classList.add("interaction-implicit-focus"))}),e.value=(r,n,o)=>{let i="INPUT"==r.tagName&&"checkbox"==r.type,l="INPUT"==r.tagName&&("range"==r.type||"number"==r.type);if("string"!=typeof n)return e=>{r.value=n()};{let e=(n=n.split(".")).pop();function t(){let t=o();n.forEach(e=>t=t?.[e]),t&&(t[e]=i?r.checked:l?parseFloat(r.value):r.value)}return r.addEventListener("input",t),r.addEventListener("change",t),t=>{n.forEach(e=>t=t?.[e]),t&&(r.value=t[e],i)&&(r.checked=t[e])}}};let s=e.moveKeys=(t,r)=>{f(t,{ArrowDown:e=>r(0,u(1,e),t),ArrowUp:e=>r(0,u(-1,e),t),ArrowLeft:e=>r(u(-1,e),0,t),ArrowRight:e=>r(u(1,e),0,t),PageDown:e=>r(0,1/0,t),PageUp:e=>r(0,-1/0,t),Home:e=>r(-1/0,0,t),End:e=>r(1/0,0,t)})};return e.pointerLock=(e,t)=>{e._interactionPointerLock="function"==typeof t?t():""==t||t},e.move=(n,o)=>{n.classList.add("interaction-has-move"),n.style.touchAction="none",n.style.cursor=n.style.cursor||"grab";let t="grab",i,l;function r(e){e.preventDefault(),e.stopPropagation();let t=e.pageX-i,r=e.pageY-l;document.pointerLockElement==n&&(t=e.movementX,r=e.movementY),i=e.pageX,l=e.pageY,o(u(t,e),u(r,e),n)}let a=0;function e(e){n.classList.remove("interaction-move"),e.preventDefault(),e.stopPropagation(),document.pointerLockElement==n&&document.exitPointerLock(),e.pointerId&&n.releasePointerCapture(e.pointerId),--a<=0&&(a=0,n.removeEventListener("pointermove",r)),n.style.pointer=t}n.addEventListener("pointerdown",e=>{n.classList.add("interaction-move"),c(e)&&(e.preventDefault(),e.stopPropagation(),n.focus(),i=e.pageX,l=e.pageY,n.setPointerCapture(e.pointerId),n._interactionPointerLock&&n.requestPointerLock(),1==++a&&n.addEventListener("pointermove",r),t=n.style.pointer)}),n.addEventListener("pointerup",e),n.addEventListener("pointercancel",e),n.addEventListener("blur",e),s(n,(e,t,r)=>o(15*e,15*t,r))},e.scroll=(t,r)=>{t.classList.add("interaction-has-scroll"),t.addEventListener("wheel",e=>{e.preventDefault(),e.stopPropagation(),focus(),r(u(e.deltaX,e),u(e.deltaY,e),t)},{capture:!0})},e.press=(n,o)=>{n.classList.add("interaction-has-press");let i=0,l=0,a=!1,t=e=>{var t=Date.now(),r=t-l;l=t,300<r&&(i=0),n.classList.add("interaction-press"),a||o(++i,e,n),a=!0,e.pointerId&&n.setPointerCapture(e.pointerId)},e=e=>{e.preventDefault(),e.stopPropagation(),n.classList.remove("interaction-press"),a=!1,e.pointerId&&n.releasePointerCapture(e.pointerId)};f(n,{Enter:t," ":t},{Enter:e," ":e}),n.addEventListener("blur",e),n.addEventListener("pointerdown",e=>{c(e)&&(e.preventDefault(),e.stopPropagation(),n.focus(),t(e))}),n.addEventListener("pointerup",e),n.addEventListener("pointercancel",e)},e.unpress=(t,r)=>{t.classList.add("interaction-has-unpress");let n=null,o=e=>{n=Date.now(),e.preventDefault(),e.stopPropagation(),e.pointerId&&t.setPointerCapture(e.pointerId)},e=e=>{e.preventDefault(),e.stopPropagation(),null!=n&&r(e,.001*(Date.now()-n),t),n=null,e.pointerId&&t.releasePointerCapture(e.pointerId)};f(t,{Enter:o},{Enter:e}),t.addEventListener("blur",e),t.addEventListener("pointerdown",e=>{c(e)&&(t.focus(),o(e))}),t.addEventListener("pointerup",e)},e.click=(n,o)=>{let i=0,l=0;n.addEventListener("click",e=>{var t=Date.now(),r=t-l;l=t,300<r&&(i=0),o(++i,e,n)})},e.delete=(t,r)=>{t.addEventListener("keydown",e=>{"Delete"!=e.code&&"Backspace"!=e.code||(e.preventDefault(),e.stopPropagation(),r(e,t))})},e.done=(t,r)=>{let n="TEXTAREA"===t.tagName;n||t.hasAttribute("enterkeyhint")||t.setAttribute("enterkeyhint","done"),t.addEventListener("keydown",e=>{"Enter"!=e.key||n&&!e.metaKey&&!e.shiftKey||(e.preventDefault(),e.stopPropagation(),r(t.value,t))})},e.clipboard=(r,n)=>(r.classList.add("interaction-has-clipboard"),e.press(r,e=>{var t=n?"function"==typeof n?n(r):n:r.textContent;navigator.clipboard.writeText(t),r.classList.remove("interaction-clipboard"),r.classList.add("interaction-clipboard"),setTimeout(()=>{r.classList.remove("interaction-clipboard")},1e3)})),e.dropFileIf=(e,t)=>{e._interactionDropIfHandler=t},e.dropFile=(r,n)=>{r.classList.add("interaction-has-drop"),""==n&&(n=e=>{let t=r.parentNode;for(;t;){if(t._interactionDropHandler)return void t._interactionDropHandler(e);t=t.parentNode}}),r._interactionDropHandler=n;let o=r._interactionDropIfHandler||(e=>!0);function i(e){let t=[];return e.dataTransfer.items?[...e.dataTransfer.items].forEach(e=>{"file"===e.kind&&t.push(e.getAsFile())}):t=[...e.dataTransfer.files],t.length&&t}let l=null;r.addEventListener("dragenter",e=>{l=e.target;var t=i(e);t&&o(t,e)&&(r.classList.add("interaction-drop"),e.preventDefault(),e.stopPropagation())}),r.addEventListener("dragleave",e=>{e.target===l&&r.classList.remove("interaction-drop")}),r.addEventListener("dragover",e=>{e.preventDefault();var t=i(e);t&&o(t,e)||r.classList.remove("interaction-drop")}),r.addEventListener("drop",e=>{var t=i(e);r.classList.remove("interaction-drop"),document.querySelectorAll(".interaction-drop").forEach(e=>{e.classList.remove("interaction-drop")}),t&&o(t,e)&&(e.preventDefault(),e.stopPropagation(),n(t))}),"INPUT"==r.tagName&&"file"==r.type&&r.addEventListener("change",e=>{e.preventDefault();var t=[].slice.call(r.files,0);t.length&&t&&o(t,e)&&n(t)})},e.dialogWhen=(r,n)=>{if("DIALOG"!==r.tagName)throw Error("only use $dialog-when on <dialog>");function e(){r._interactionHasDialogClose||console.error("<dialog> closed with no $dialog-close to align the state")}return r.addEventListener("close",e),r.addEventListener("cancel",e),r.addEventListener("click",e=>{var t=(t=r.getBoundingClientRect()).top<=event.clientY&&event.clientY<=t.bottom&&t.left<=event.clientX&&event.clientX<=t.right;e.target!==r||t||r.close()},{capture:!0}),e=>{var t="function"==typeof n?n(r):n;t&&!r.open?r.showModal():!t&&r.open&&r.close()}},e.dialogClose=(t,r)=>{t._interactionHasDialogClose=!0,t.addEventListener("close",e=>r(t)),t.addEventListener("cancel",e=>r(t))},{keys:f}})(Matsui.global.attributes),Matsui.makeHash=(e,t)=>{var r=location.href.replace(/^[^#]*#?/,""),n=(e="string"!=typeof e?r.replace(/\?.*/,""):e)+((n=t&&"object"==typeof t?Object.keys(t).filter(e=>null!=t[e]).map(e=>""===t[e]?encodeURIComponent(e):[e,t[e]].map(encodeURIComponent).join("=")).join("&").replace(/%20/g,"+"):"")&&"?")+n;return{hash:n,push:n!=r&&r.replace(/\?.*/,"")!=e}},Matsui.merge.apply(Matsui.Wrapped.prototype,{syncHash(l){let a=this;function t(e){let t=location.href.replace(/^[^#]*#?/,""),r=t.replace(/\?.*/,""),n=t.substr(r.length+1),o={};n.replace(/\+/g,"%20").split("&").forEach(e=>{e&&(e=e.split("=").map(t=>{try{return decodeURIComponent(t)}catch(e){return t}}),o[e.shift()]=e.join("="))});var i=l(a.data);i.path!==r&&(i.path=r),i.query!==o&&(i.query=o),Matsui.merge.apply(i.state,Matsui.merge.make(i.state,e))}addEventListener("hashchange",e=>t(null)),addEventListener("popstate",e=>t(window.history.state)),t(window.history.state),a.addUpdates(e=>{var e=l(e),t=Matsui.makeHash(e.path,e.query),e=(e=Matsui.getRaw(Matsui.access.pierce(e.state)))&&JSON.parse(JSON.stringify(e));t.push?window.history.pushState(e,"","#"+t.hash):window.history.replaceState(e,"","#"+t.hash)})},syncLocalStorage(o){let i=this;function l(t){var e=o(i.data);if(null===t)for(var r in e)l(r);else{var n=localStorage.getItem(t);if(n)try{e[t]=JSON.parse(n)}catch(e){console.error("localStorage."+t,e)}}}addEventListener("storage",e=>l(e.key)),l(null),i.addUpdates(e=>{var t,r=o(e);for(t in r){var n=r[t];null==n?localStorage.removeItem(t):localStorage.setItem(t,JSON.stringify(n))}})}}),Matsui.version="latest";
|
|
//# sourceMappingURL=matsui-bundle.min.js.map
|