/** * HugeRTE version 1.0.12 (2026-06-29) * Copyright (c) 2022 Ephox Corporation DBA Tiny Technologies, Inc. * Copyright (c) 2026 HugeRTE contributors * Licensed under the MIT license (https://github.com/hugerte/hugerte/blob/main/LICENSE.TXT) */ /** * This file bundles the code of DOMPurify, which is dual-licensed under the Mozilla Public License v2.0 and the Apache License, Version 2.0, meaning you can use it under either one of those licenses. * Copyright 2024 Dr.-Ing. Mario Heiderich, Cure53 and other contributors * https://github.com/cure53/DOMPurify/blob/main/LICENSE * The latest original code of DOMPurify can be found at https://github.com/cure53/DOMPurify. */ !function(){"use strict";const e=Object.getPrototypeOf,t=(e,t,o)=>{var n;return!!o(e,t.prototype)||(null===(n=e.constructor)||void 0===n?void 0:n.name)===t.name},o=e=>o=>(e=>{const o=typeof e;return null===e?"null":"object"===o&&Array.isArray(e)?"array":"object"===o&&t(e,String,(e,t)=>t.isPrototypeOf(e))?"string":o})(o)===e,n=e=>t=>typeof t===e,r=e=>t=>e===t,s=o("string"),a=o("object"),i=o=>((o,n)=>a(o)&&t(o,n,(t,o)=>e(t)===o))(o,Object),l=o("array"),c=r(null),d=n("boolean"),u=r(void 0),m=e=>null==e,g=e=>!m(e),p=n("function"),h=n("number"),f=(e,t)=>{if(l(e)){for(let o=0,n=e.length;o{},v=e=>()=>e(),y=(e,t)=>(...o)=>e(t.apply(null,o)),x=e=>()=>e,w=e=>e,S=(e,t)=>e===t;function C(e,...t){return(...o)=>{const n=t.concat(o);return e.apply(null,n)}}const k=e=>t=>!e(t),O=e=>()=>{throw new Error(e)},_=e=>e(),T=x(!1),E=x(!0);class A{constructor(e,t){this.tag=e,this.value=t}static some(e){return new A(!0,e)}static none(){return A.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?A.some(e(this.value)):A.none()}bind(e){return this.tag?e(this.value):A.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:A.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return g(e)?A.some(e):A.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}A.singletonNone=new A(!1);const M=Array.prototype.slice,D=Array.prototype.indexOf,B=Array.prototype.push,I=(e,t)=>D.call(e,t),F=(e,t)=>{const o=I(e,t);return-1===o?A.none():A.some(o)},R=(e,t)=>I(e,t)>-1,N=(e,t)=>{for(let o=0,n=e.length;o{const o=[];for(let n=0;n{const o=[];for(let n=0;n{const o=e.length,n=new Array(o);for(let r=0;r{for(let o=0,n=e.length;o{const o=[],n=[];for(let r=0,s=e.length;r{const o=[];for(let n=0,r=e.length;n(((e,t)=>{for(let o=e.length-1;o>=0;o--)t(e[o],o)})(e,(e,n)=>{o=t(o,e,n)}),o),j=(e,t,o)=>(P(e,(e,n)=>{o=t(o,e,n)}),o),G=(e,t)=>((e,t,o)=>{for(let n=0,r=e.length;n{for(let o=0,n=e.length;o{const t=[];for(let o=0,n=e.length;oY(V(e,t)),X=(e,t)=>{for(let o=0,n=e.length;o{const t=M.call(e,0);return t.reverse(),t},J=(e,t)=>U(e,e=>!R(t,e)),Q=(e,t)=>{const o={};for(let n=0,r=e.length;n[e],ee=(e,t)=>{const o=M.call(e,0);return o.sort(t),o},te=(e,t)=>t>=0&&tte(e,0),ne=e=>te(e,e.length-1),re=p(Array.from)?Array.from:e=>M.call(e),se=(e,t)=>{for(let o=0;o{const o=ae(e);for(let n=0,r=o.length;nde(e,(e,o)=>({k:o,v:t(e,o)})),de=(e,t)=>{const o={};return le(e,(e,n)=>{const r=t(e,n);o[r.k]=r.v}),o},ue=e=>(t,o)=>{e[o]=t},me=(e,t,o,n)=>{le(e,(e,r)=>{(t(e,r)?o:n)(e,r)})},ge=(e,t)=>{const o={};return me(e,t,ue(o),b),o},pe=(e,t)=>{const o=[];return le(e,(e,n)=>{o.push(t(e,n))}),o},he=(e,t)=>{const o=ae(e);for(let n=0,r=o.length;npe(e,w),be=(e,t)=>ve(e,t)?A.from(e[t]):A.none(),ve=(e,t)=>ie.call(e,t),ye=(e,t)=>ve(e,t)&&void 0!==e[t]&&null!==e[t],xe=(e,t,o=S)=>e.exists(e=>o(e,t)),we=e=>{const t=[],o=e=>{t.push(e)};for(let t=0;te.isSome()&&t.isSome()?A.some(o(e.getOrDie(),t.getOrDie())):A.none(),Ce=(e,t)=>null!=e?A.some(t(e)):A.none(),ke=(e,t)=>e?A.some(t):A.none(),Oe=(e,t,o)=>""===t||e.length>=t.length&&e.substr(o,o+t.length)===t,_e=(e,t)=>Ee(e,t)?((e,t)=>e.substring(t))(e,t.length):e,Te=(e,t,o=0,n)=>{const r=e.indexOf(t,o);return-1!==r&&(!!u(n)||r+t.length<=n)},Ee=(e,t)=>Oe(e,t,0),Ae=(e,t)=>Oe(e,t,e.length-t.length),Me=(Do=/^\s+|\s+$/g,e=>e.replace(Do,"")),De=e=>e.length>0,Be=e=>!De(e),Ie=e=>void 0!==e.style&&p(e.style.getPropertyValue),Fe=e=>{if(null==e)throw new Error("Node cannot be null or undefined");return{dom:e}},Re=(e,t)=>{const o=(t||document).createElement("div");if(o.innerHTML=e,!o.hasChildNodes()||o.childNodes.length>1){const t="HTML does not have a single root node";throw console.error(t,e),new Error(t)}return Fe(o.childNodes[0])},Ne=(e,t)=>{const o=(t||document).createElement(e);return Fe(o)},ze=(e,t)=>{const o=(t||document).createTextNode(e);return Fe(o)},Le=Fe,Ve="undefined"!=typeof window?window:Function("return this;")(),Pe=(e,t)=>((e,t)=>{let o=null!=t?t:Ve;for(let t=0;t{const t=Pe("ownerDocument.defaultView",e);return a(e)&&((e=>((e,t)=>{const o=((e,t)=>Pe(e,t))(e,t);if(null==o)throw new Error(e+" not available on this browser");return o})("HTMLElement",e))(t).prototype.isPrototypeOf(e)||/^HTML\w*Element$/.test(He(e).constructor.name))},We=e=>e.dom.nodeName.toLowerCase(),je=e=>t=>(e=>e.dom.nodeType)(t)===e,Ge=e=>$e(e)&&Ue(e.dom),$e=je(1),Ye=je(3),qe=je(9),Xe=je(11),Ke=e=>t=>$e(t)&&We(t)===e,Je=(e,t)=>{const o=e.dom;if(1!==o.nodeType)return!1;{const e=o;if(void 0!==e.matches)return e.matches(t);if(void 0!==e.msMatchesSelector)return e.msMatchesSelector(t);if(void 0!==e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(void 0!==e.mozMatchesSelector)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")}},Qe=e=>1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType||0===e.childElementCount,Ze=(e,t)=>{const o=void 0===t?document:t.dom;return Qe(o)?A.none():A.from(o.querySelector(e)).map(Le)},et=(e,t)=>e.dom===t.dom,tt=(e,t)=>{const o=e.dom,n=t.dom;return o!==n&&o.contains(n)},ot=e=>Le(e.dom.ownerDocument),nt=e=>qe(e)?e:ot(e),rt=e=>Le(nt(e).dom.documentElement),st=e=>Le(nt(e).dom.defaultView),at=e=>A.from(e.dom.parentNode).map(Le),it=e=>A.from(e.dom.parentElement).map(Le),lt=e=>A.from(e.dom.offsetParent).map(Le),ct=e=>V(e.dom.childNodes,Le),dt=(e,t)=>{const o=e.dom.childNodes;return A.from(o[t]).map(Le)},ut=e=>dt(e,0),mt=(e,t)=>({element:e,offset:t}),gt=(e,t)=>{const o=ct(e);return o.length>0&&tXe(e)&&g(e.dom.host),ht=p(Element.prototype.attachShadow)&&p(Node.prototype.getRootNode),ft=x(ht),bt=ht?e=>Le(e.dom.getRootNode()):nt,vt=e=>pt(e)?e:Le(nt(e).dom.body),yt=e=>{const t=bt(e);return pt(t)?A.some(t):A.none()},xt=e=>Le(e.dom.host),wt=e=>{const t=Ye(e)?e.dom.parentNode:e.dom;if(null==t||null===t.ownerDocument)return!1;const o=t.ownerDocument;return yt(Le(t)).fold(()=>o.body.contains(t),(n=wt,r=xt,e=>n(r(e))));var n,r},St=()=>Ct(Le(document)),Ct=e=>{const t=e.dom.body;if(null==t)throw new Error("Body is not available yet");return Le(t)},kt=(e,t,o)=>{if(!(s(o)||d(o)||h(o)))throw console.error("Invalid call to Attribute.set. Key ",t,":: Value ",o,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,o+"")},Ot=(e,t,o)=>{kt(e.dom,t,o)},_t=(e,t)=>{const o=e.dom;le(t,(e,t)=>{kt(o,t,e)})},Tt=(e,t)=>{const o=e.dom.getAttribute(t);return null===o?void 0:o},Et=(e,t)=>A.from(Tt(e,t)),At=(e,t)=>{const o=e.dom;return!(!o||!o.hasAttribute)&&o.hasAttribute(t)},Mt=(e,t)=>{e.dom.removeAttribute(t)},Dt=(e,t,o)=>{if(!s(o))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",o,":: Element ",e),new Error("CSS value must be a string: "+o);Ie(e)&&e.style.setProperty(t,o)},Bt=(e,t)=>{Ie(e)&&e.style.removeProperty(t)},It=(e,t,o)=>{const n=e.dom;Dt(n,t,o)},Ft=(e,t)=>{const o=e.dom;le(t,(e,t)=>{Dt(o,t,e)})},Rt=(e,t)=>{const o=e.dom;le(t,(e,t)=>{e.fold(()=>{Bt(o,t)},e=>{Dt(o,t,e)})})},Nt=(e,t)=>{const o=e.dom,n=window.getComputedStyle(o).getPropertyValue(t);return""!==n||wt(e)?n:zt(o,t)},zt=(e,t)=>Ie(e)?e.style.getPropertyValue(t):"",Lt=(e,t)=>{const o=e.dom,n=zt(o,t);return A.from(n).filter(e=>e.length>0)},Vt=e=>{const t={},o=e.dom;if(Ie(o))for(let e=0;e{const n=Ne(e);return It(n,t,o),Lt(n,t).isSome()},Ht=(e,t)=>{const o=e.dom;Bt(o,t),xe(Et(e,"style").map(Me),"")&&Mt(e,"style")},Ut=e=>e.dom.offsetWidth,Wt=(e,t)=>{const o=o=>{const n=t(o);if(n<=0||null===n){const t=Nt(o,e);return parseFloat(t)||0}return n},n=(e,t)=>j(t,(t,o)=>{const n=Nt(e,o),r=void 0===n?0:parseInt(n,10);return isNaN(r)?t:t+r},0);return{set:(t,o)=>{if(!h(o)&&!o.match(/^[0-9]+$/))throw new Error(e+".set accepts only positive integer values. Value was "+o);const n=t.dom;Ie(n)&&(n.style[e]=o+"px")},get:o,getOuter:o,aggregate:n,max:(e,t,o)=>{const r=n(e,o);return t>r?t-r:0}}},jt=Wt("height",e=>{const t=e.dom;return wt(e)?t.getBoundingClientRect().height:t.offsetHeight}),Gt=e=>jt.get(e),$t=e=>jt.getOuter(e),Yt=(e,t)=>({left:e,top:t,translate:(o,n)=>Yt(e+o,t+n)}),qt=Yt,Xt=(e,t)=>void 0!==e?e:void 0!==t?t:0,Kt=e=>{const t=e.dom.ownerDocument,o=t.body,n=t.defaultView,r=t.documentElement;if(o===e.dom)return qt(o.offsetLeft,o.offsetTop);const s=Xt(null==n?void 0:n.pageYOffset,r.scrollTop),a=Xt(null==n?void 0:n.pageXOffset,r.scrollLeft),i=Xt(r.clientTop,o.clientTop),l=Xt(r.clientLeft,o.clientLeft);return Jt(e).translate(a-l,s-i)},Jt=e=>{const t=e.dom,o=t.ownerDocument.body;return o===t?qt(o.offsetLeft,o.offsetTop):wt(e)?(e=>{const t=e.getBoundingClientRect();return qt(t.left,t.top)})(t):qt(0,0)},Qt=Wt("width",e=>e.dom.offsetWidth),Zt=e=>Qt.get(e),eo=e=>Qt.getOuter(e),to=e=>{let t,o=!1;return(...n)=>(o||(o=!0,t=e.apply(null,n)),t)},oo=()=>no(0,0),no=(e,t)=>({major:e,minor:t}),ro={nu:no,detect:(e,t)=>{const o=String(t).toLowerCase();return 0===e.length?oo():((e,t)=>{const o=((e,t)=>{for(let o=0;oNumber(t.replace(o,"$"+e));return no(n(1),n(2))})(e,o)},unknown:oo},so=(e,t)=>{const o=String(t).toLowerCase();return G(e,e=>e.search(o))},ao=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,io=e=>t=>Te(t,e),lo=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>Te(e,"edge/")&&Te(e,"chrome")&&Te(e,"safari")&&Te(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,ao],search:e=>Te(e,"chrome")&&!Te(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>Te(e,"msie")||Te(e,"trident")},{name:"Opera",versionRegexes:[ao,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:io("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:io("firefox")},{name:"Safari",versionRegexes:[ao,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(Te(e,"safari")||Te(e,"mobile/"))&&Te(e,"applewebkit")}],co=[{name:"Windows",search:io("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>Te(e,"iphone")||Te(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:io("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:io("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:io("linux"),versionRegexes:[]},{name:"Solaris",search:io("sunos"),versionRegexes:[]},{name:"FreeBSD",search:io("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:io("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],uo={browsers:x(lo),oses:x(co)},mo="Edge",go="Chromium",po="Opera",ho="Firefox",fo="Safari",bo=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isEdge:n(mo),isChromium:n(go),isIE:n("IE"),isOpera:n(po),isFirefox:n(ho),isSafari:n(fo)}},vo=()=>bo({current:void 0,version:ro.unknown()}),yo=bo,xo=(x(mo),x(go),x("IE"),x(po),x(ho),x(fo),"Windows"),wo="Android",So="Linux",Co="macOS",ko="Solaris",Oo="FreeBSD",_o="ChromeOS",To=e=>{const t=e.current,o=e.version,n=e=>()=>t===e;return{current:t,version:o,isWindows:n(xo),isiOS:n("iOS"),isAndroid:n(wo),isMacOS:n(Co),isLinux:n(So),isSolaris:n(ko),isFreeBSD:n(Oo),isChromeOS:n(_o)}},Eo=()=>To({current:void 0,version:ro.unknown()}),Ao=To,Mo=(x(xo),x("iOS"),x(wo),x(So),x(Co),x(ko),x(Oo),x(_o),e=>window.matchMedia(e).matches);var Do;let Bo=to(()=>((e,t,o)=>{const n=uo.browsers(),r=uo.oses(),s=t.bind(e=>((e,t)=>se(t.brands,t=>{const o=t.brand.toLowerCase();return G(e,e=>{var t;return o===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())}).map(e=>({current:e.name,version:ro.nu(parseInt(t.version,10),0)}))}))(n,e)).orThunk(()=>((e,t)=>so(e,t).map(e=>{const o=ro.detect(e.versionRegexes,t);return{current:e.name,version:o}}))(n,e)).fold(vo,yo),a=((e,t)=>so(e,t).map(e=>{const o=ro.detect(e.versionRegexes,t);return{current:e.name,version:o}}))(r,e).fold(Eo,Ao),i=((e,t,o,n)=>{const r=e.isiOS()&&!0===/ipad/i.test(o),s=e.isiOS()&&!r,a=e.isiOS()||e.isAndroid(),i=a||n("(pointer:coarse)"),l=r||!s&&a&&n("(min-device-width:768px)"),c=s||a&&!l,d=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(o),u=!c&&!l&&!d;return{isiPad:x(r),isiPhone:x(s),isTablet:x(l),isPhone:x(c),isTouch:x(i),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:x(d),isDesktop:x(u)}})(a,s,e,o);return{browser:s,os:a,deviceType:i}})(navigator.userAgent,A.from(navigator.userAgentData),Mo));const Io=()=>Bo(),Fo=e=>{const t=Le((e=>{if(ft()&&g(e.target)){const t=Le(e.target);if($e(t)&&(e=>g(e.dom.shadowRoot))(t)&&e.composed&&e.composedPath){const t=e.composedPath();if(t)return oe(t)}}return A.from(e.target)})(e).getOr(e.target)),o=()=>e.stopPropagation(),n=()=>e.preventDefault(),r=y(n,o);return((e,t,o,n,r,s,a)=>({target:e,x:t,y:o,stop:n,prevent:r,kill:s,raw:a}))(t,e.clientX,e.clientY,o,n,r,e)},Ro=(e,t,o,n,r)=>{const s=((e,t)=>o=>{e(o)&&t(Fo(o))})(o,n);return e.dom.addEventListener(t,s,r),{unbind:C(No,e,t,s,r)}},No=(e,t,o,n)=>{e.dom.removeEventListener(t,o,n)},zo=(e,t)=>{at(e).each(o=>{o.dom.insertBefore(t.dom,e.dom)})},Lo=(e,t)=>{const o=(e=>A.from(e.dom.nextSibling).map(Le))(e);o.fold(()=>{at(e).each(e=>{Po(e,t)})},e=>{zo(e,t)})},Vo=(e,t)=>{ut(e).fold(()=>{Po(e,t)},o=>{e.dom.insertBefore(t.dom,o.dom)})},Po=(e,t)=>{e.dom.appendChild(t.dom)},Ho=(e,t)=>{P(t,t=>{Po(e,t)})},Uo=e=>{e.dom.textContent="",P(ct(e),e=>{Wo(e)})},Wo=e=>{const t=e.dom;null!==t.parentNode&&t.parentNode.removeChild(t)},jo=e=>{const t=void 0!==e?e.dom:document,o=t.body.scrollLeft||t.documentElement.scrollLeft,n=t.body.scrollTop||t.documentElement.scrollTop;return qt(o,n)},Go=(e,t,o)=>{const n=(void 0!==o?o.dom:document).defaultView;n&&n.scrollTo(e,t)},$o=(e,t,o,n)=>({x:e,y:t,width:o,height:n,right:e+o,bottom:t+n}),Yo=e=>{const t=void 0===e?window:e,o=t.document,n=jo(Le(o));return(e=>{const t=void 0===e?window:e;return Io().browser.isFirefox()?A.none():A.from(t.visualViewport)})(t).fold(()=>{const e=t.document.documentElement,o=e.clientWidth,r=e.clientHeight;return $o(n.left,n.top,o,r)},e=>$o(Math.max(e.pageLeft,n.left),Math.max(e.pageTop,n.top),e.width,e.height))},qo=()=>Le(document),Xo=(e,t)=>e.view(t).fold(x([]),t=>{const o=e.owner(t),n=Xo(e,o);return[t].concat(n)});var Ko=Object.freeze({__proto__:null,view:e=>{var t;return(e.dom===document?A.none():A.from(null===(t=e.dom.defaultView)||void 0===t?void 0:t.frameElement)).map(Le)},owner:e=>ot(e)});const Jo=e=>{const t=qo(),o=jo(t),n=((e,t)=>{const o=t.owner(e),n=Xo(t,o);return A.some(n)})(e,Ko);return n.fold(C(Kt,e),t=>{const n=Jt(e),r=W(t,(e,t)=>{const o=Jt(t);return{left:e.left+o.left,top:e.top+o.top}},{left:0,top:0});return qt(r.left+n.left+o.left,r.top+n.top+o.top)})},Qo=(e,t,o,n)=>({x:e,y:t,width:o,height:n,right:e+o,bottom:t+n}),Zo=e=>{const t=Kt(e),o=eo(e),n=$t(e);return Qo(t.left,t.top,o,n)},en=e=>{const t=Jo(e),o=eo(e),n=$t(e);return Qo(t.left,t.top,o,n)},tn=(e,t)=>{const o=Math.max(e.x,t.x),n=Math.max(e.y,t.y),r=Math.min(e.right,t.right),s=Math.min(e.bottom,t.bottom);return Qo(o,n,r-o,s-n)},on=()=>Yo(window);var nn=hugerte.util.Tools.resolve("hugerte.ThemeManager");const rn=e=>{const t=t=>t(e),o=x(e),n=()=>r,r={tag:!0,inner:e,fold:(t,o)=>o(e),isValue:E,isError:T,map:t=>an.value(t(e)),mapError:n,bind:t,exists:t,forall:t,getOr:o,or:n,getOrThunk:o,orThunk:n,getOrDie:o,each:t=>{t(e)},toOptional:()=>A.some(e)};return r},sn=e=>{const t=()=>o,o={tag:!1,inner:e,fold:(t,o)=>t(e),isValue:T,isError:E,map:t,mapError:t=>an.error(t(e)),bind:t,exists:T,forall:E,getOr:w,or:w,getOrThunk:_,orThunk:_,getOrDie:O(String(e)),each:b,toOptional:A.none};return o},an={value:rn,error:sn,fromOption:(e,t)=>e.fold(()=>sn(t),rn)};var ln;!function(e){e[e.Error=0]="Error",e[e.Value=1]="Value"}(ln||(ln={}));const cn=(e,t,o)=>e.stype===ln.Error?t(e.serror):o(e.svalue),dn=e=>({stype:ln.Value,svalue:e}),un=e=>({stype:ln.Error,serror:e}),mn=dn,gn=un,pn=cn,hn=(e,t,o,n)=>({tag:"field",key:e,newKey:t,presence:o,prop:n}),fn=(e,t,o)=>{switch(e.tag){case"field":return t(e.key,e.newKey,e.presence,e.prop);case"custom":return o(e.newKey,e.instantiator)}},bn=e=>(...t)=>{if(0===t.length)throw new Error("Can't merge zero objects");const o={};for(let n=0;ni(e)&&i(t)?vn(e,t):t),yn=bn((e,t)=>t),xn=e=>({tag:"defaultedThunk",process:e}),wn=e=>xn(x(e)),Sn=e=>({tag:"mergeWithThunk",process:e}),Cn=e=>{const t=(e=>{const t=[],o=[];return P(e,e=>{cn(e,e=>o.push(e),e=>t.push(e))}),{values:t,errors:o}})(e);return t.errors.length>0?(o=t.errors,y(gn,Y)(o)):mn(t.values);var o},kn=e=>a(e)&&ae(e).length>100?" removed due to size":JSON.stringify(e,null,2),On=(e,t)=>gn([{path:e,getErrorInfo:t}]),_n=e=>({extract:(t,o)=>((e,t)=>e.stype===ln.Error?t(e.serror):e)(e(o),e=>((e,t)=>On(e,x(t)))(t,e)),toString:x("val")}),Tn=_n(mn),En=(e,t,o,n)=>n(be(e,t).getOrThunk(()=>o(e))),An=(e,t,o,n,r)=>{const s=e=>r.extract(t.concat([n]),e),a=e=>e.fold(()=>mn(A.none()),e=>((e,t)=>e.stype===ln.Value?{stype:ln.Value,svalue:t(e.svalue)}:e)(r.extract(t.concat([n]),e),A.some));switch(e.tag){case"required":return((e,t,o,n)=>be(t,o).fold(()=>((e,t,o)=>On(e,()=>'Could not find valid *required* value for "'+t+'" in '+kn(o)))(e,o,t),n))(t,o,n,s);case"defaultedThunk":return En(o,n,e.process,s);case"option":return((e,t,o)=>o(be(e,t)))(o,n,a);case"defaultedOptionThunk":return((e,t,o,n)=>n(be(e,t).map(t=>!0===t?o(e):t)))(o,n,e.process,a);case"mergeWithThunk":return En(o,n,x({}),t=>{const n=vn(e.process(o),t);return s(n)})}},Mn=e=>({extract:(t,o)=>e().extract(t,o),toString:()=>e().toString()}),Dn=e=>ae(ge(e,g)),Bn=e=>{const t=In(e),o=W(e,(e,t)=>fn(t,t=>vn(e,{[t]:!0}),x(e)),{});return{extract:(e,n)=>{const r=d(n)?[]:Dn(n),s=U(r,e=>!ye(o,e));return 0===s.length?t.extract(e,n):((e,t)=>On(e,()=>"There are unsupported fields: ["+t.join(", ")+"] specified"))(e,s)},toString:t.toString}},In=e=>({extract:(t,o)=>((e,t,o)=>{const n={},r=[];for(const s of o)fn(s,(o,s,a,i)=>{const l=An(a,e,t,o,i);pn(l,e=>{r.push(...e)},e=>{n[s]=e})},(e,o)=>{n[e]=o(t)});return r.length>0?gn(r):mn(n)})(t,o,e),toString:()=>{const t=V(e,e=>fn(e,(e,t,o,n)=>e+" -> "+n.toString(),(e,t)=>"state("+e+")"));return"obj{\n"+t.join("\n")+"}"}}),Fn=e=>({extract:(t,o)=>{const n=V(o,(o,n)=>e.extract(t.concat(["["+n+"]"]),o));return Cn(n)},toString:()=>"array("+e.toString()+")"}),Rn=(e,t)=>{const o=void 0!==t?t:w;return{extract:(t,n)=>{const r=[];for(const s of e){const e=s.extract(t,n);if(e.stype===ln.Value)return{stype:ln.Value,svalue:o(e.svalue)};r.push(e)}return Cn(r)},toString:()=>"oneOf("+V(e,e=>e.toString()).join(", ")+")"}},Nn=(e,t)=>({extract:(o,n)=>{const r=ae(n),s=((t,o)=>Fn(_n(e)).extract(t,o))(o,r);return((e,t)=>e.stype===ln.Value?t(e.svalue):e)(s,e=>{const r=V(e,e=>hn(e,e,{tag:"required",process:{}},t));return In(r).extract(o,n)})},toString:()=>"setOf("+t.toString()+")"}),zn=y(Fn,In),Ln=x(Tn),Vn=(e,t)=>_n(o=>{const n=typeof o;return e(o)?mn(o):gn(`Expected type: ${t} but got: ${n}`)}),Pn=Vn(h,"number"),Hn=Vn(s,"string"),Un=Vn(d,"boolean"),Wn=Vn(p,"function"),jn=e=>{if(Object(e)!==e)return!0;switch({}.toString.call(e).slice(8,-1)){case"Boolean":case"Number":case"String":case"Date":case"RegExp":case"Blob":case"FileList":case"ImageData":case"ImageBitmap":case"ArrayBuffer":return!0;case"Array":case"Object":return Object.keys(e).every(t=>jn(e[t]));default:return!1}},Gn=_n(e=>jn(e)?mn(e):gn("Expected value to be acceptable for sending via postMessage")),$n=(e,t)=>({extract:(o,n)=>be(n,e).fold(()=>((e,t)=>On(e,()=>'Choice schema did not contain choice key: "'+t+'"'))(o,e),e=>((e,t,o,n)=>be(o,n).fold(()=>((e,t,o)=>On(e,()=>'The chosen schema: "'+o+'" did not exist in branches: '+kn(t)))(e,o,n),o=>o.extract(e.concat(["branch: "+n]),t)))(o,n,t,e)),toString:()=>"chooseOn("+e+"). Possible values: "+ae(t)}),Yn=e=>_n(t=>e(t).fold(gn,mn)),qn=(e,t)=>Nn(t=>e(t).fold(un,dn),t),Xn=(e,t,o)=>{return n=((e,t,o)=>((e,t)=>e.stype===ln.Error?{stype:ln.Error,serror:t(e.serror)}:e)(t.extract([e],o),e=>({input:o,errors:e})))(e,t,o),cn(n,an.error,an.value);var n},Kn=e=>e.fold(e=>{throw new Error(Qn(e))},w),Jn=(e,t,o)=>Kn(Xn(e,t,o)),Qn=e=>"Errors: \n"+(e=>{const t=e.length>10?e.slice(0,10).concat([{path:[],getErrorInfo:x("... (only showing first ten failures)")}]):e;return V(t,e=>"Failed path: ("+e.path.join(" > ")+")\n"+e.getErrorInfo())})(e.errors).join("\n")+"\n\nInput object: "+kn(e.input),Zn=(e,t)=>$n(e,ce(t,In)),er=(e,t)=>((e,t)=>{const o=to(t);return{extract:(e,t)=>o().extract(e,t),toString:()=>o().toString()}})(0,t),tr=hn,or=(e,t)=>({tag:"custom",newKey:e,instantiator:t}),nr=e=>Yn(t=>R(e,t)?an.value(t):an.error(`Unsupported value: "${t}", choose one of "${e.join(", ")}".`)),rr=e=>tr(e,e,{tag:"required",process:{}},Ln()),sr=(e,t)=>tr(e,e,{tag:"required",process:{}},t),ar=e=>sr(e,Pn),ir=e=>sr(e,Hn),lr=(e,t)=>tr(e,e,{tag:"required",process:{}},nr(t)),cr=e=>sr(e,Wn),dr=(e,t)=>tr(e,e,{tag:"required",process:{}},In(t)),ur=(e,t)=>tr(e,e,{tag:"required",process:{}},zn(t)),mr=(e,t)=>tr(e,e,{tag:"required",process:{}},Fn(t)),gr=e=>tr(e,e,{tag:"option",process:{}},Ln()),pr=(e,t)=>tr(e,e,{tag:"option",process:{}},t),hr=e=>pr(e,Pn),fr=e=>pr(e,Hn),br=(e,t)=>pr(e,nr(t)),vr=e=>pr(e,Wn),yr=(e,t)=>pr(e,Fn(t)),xr=(e,t)=>pr(e,In(t)),wr=(e,t)=>tr(e,e,wn(t),Ln()),Sr=(e,t,o)=>tr(e,e,wn(t),o),Cr=(e,t)=>Sr(e,t,Pn),kr=(e,t)=>Sr(e,t,Hn),Or=(e,t,o)=>Sr(e,t,nr(o)),_r=(e,t)=>Sr(e,t,Un),Tr=(e,t)=>Sr(e,t,Wn),Er=(e,t,o)=>Sr(e,t,Fn(o)),Ar=(e,t,o)=>Sr(e,t,In(o)),Mr=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}},Dr=e=>{if(!l(e))throw new Error("cases must be an array");if(0===e.length)throw new Error("there must be at least one case");const t=[],o={};return P(e,(n,r)=>{const s=ae(n);if(1!==s.length)throw new Error("one and only one name per case");const a=s[0],i=n[a];if(void 0!==o[a])throw new Error("duplicate key detected:"+a);if("cata"===a)throw new Error("cannot have a case named cata (sorry)");if(!l(i))throw new Error("case arguments must be an array");t.push(a),o[a]=(...o)=>{const n=o.length;if(n!==i.length)throw new Error("Wrong number of arguments to case "+a+". Expected "+i.length+" ("+i+"), got "+n);return{fold:(...t)=>{if(t.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+t.length);return t[r].apply(null,o)},match:e=>{const n=ae(e);if(t.length!==n.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+"\nActual: "+n.join(","));if(!X(t,e=>R(n,e)))throw new Error("Not all branches were specified when using match. Specified: "+n.join(", ")+"\nRequired: "+t.join(", "));return e[a].apply(null,o)},log:e=>{console.log(e,{constructors:t,constructor:a,params:o})}}}}),o};Dr([{bothErrors:["error1","error2"]},{firstError:["error1","value2"]},{secondError:["value1","error2"]},{bothValues:["value1","value2"]}]);const Br=(e,t)=>((e,t)=>({[e]:t}))(e,t),Ir=e=>(e=>{const t={};return P(e,e=>{t[e.key]=e.value}),t})(e),Fr=e=>p(e)?e:T,Rr=(e,t,o)=>{let n=e.dom;const r=Fr(o);for(;n.parentNode;){n=n.parentNode;const e=Le(n),o=t(e);if(o.isSome())return o;if(r(e))break}return A.none()},Nr=(e,t,o)=>{const n=t(e),r=Fr(o);return n.orThunk(()=>r(e)?A.none():Rr(e,t,r))},zr=(e,t)=>et(e.element,t.event.target),Lr={can:E,abort:T,run:b},Vr=e=>{if(!ye(e,"can")&&!ye(e,"abort")&&!ye(e,"run"))throw new Error("EventHandler defined by: "+JSON.stringify(e,null,2)+" does not have can, abort, or run!");return{...Lr,...e}},Pr=x,Hr=Pr("touchstart"),Ur=Pr("touchmove"),Wr=Pr("touchend"),jr=Pr("touchcancel"),Gr=Pr("mousedown"),$r=Pr("mousemove"),Yr=Pr("mouseout"),qr=Pr("mouseup"),Xr=Pr("mouseover"),Kr=Pr("focusin"),Jr=Pr("focusout"),Qr=Pr("keydown"),Zr=Pr("keyup"),es=Pr("input"),ts=Pr("change"),os=Pr("click"),ns=Pr("transitioncancel"),rs=Pr("transitionend"),ss=Pr("transitionstart"),as=Pr("selectstart"),is=e=>x("alloy."+e),ls={tap:is("tap")},cs=is("focus"),ds=is("blur.post"),us=is("paste.post"),ms=is("receive"),gs=is("execute"),ps=is("focus.item"),hs=ls.tap,fs=is("longpress"),bs=is("sandbox.close"),vs=is("typeahead.cancel"),ys=is("system.init"),xs=is("system.touchmove"),ws=is("system.touchend"),Ss=is("system.scroll"),Cs=is("system.resize"),ks=is("system.attached"),Os=is("system.detached"),_s=is("system.dismissRequested"),Ts=is("system.repositionRequested"),Es=is("focusmanager.shifted"),As=is("slotcontainer.visibility"),Ms=is("system.external.element.scroll"),Ds=is("change.tab"),Bs=is("dismiss.tab"),Is=is("highlight"),Fs=is("dehighlight"),Rs=(e,t)=>{Vs(e,e.element,t,{})},Ns=(e,t,o)=>{Vs(e,e.element,t,o)},zs=e=>{Rs(e,gs())},Ls=(e,t,o)=>{Vs(e,t,o,{})},Vs=(e,t,o,n)=>{const r={target:t,...n};e.getSystem().triggerEvent(o,t,r)},Ps=(e,t,o,n)=>{e.getSystem().triggerEvent(o,t,n.event)},Hs=e=>Ir(e),Us=(e,t)=>({key:e,value:Vr({abort:t})}),Ws=e=>({key:e,value:Vr({run:(e,t)=>{t.event.prevent()}})}),js=(e,t)=>({key:e,value:Vr({run:t})}),Gs=(e,t,o)=>({key:e,value:Vr({run:(e,n)=>{t.apply(void 0,[e,n].concat(o))}})}),$s=e=>t=>({key:e,value:Vr({run:(e,o)=>{zr(e,o)&&t(e,o)}})}),Ys=(e,t,o)=>((e,t)=>js(e,(o,n)=>{o.getSystem().getByUid(t).each(t=>{Ps(t,t.element,e,n)})}))(e,t.partUids[o]),qs=(e,t)=>js(e,(e,o)=>{const n=o.event,r=e.getSystem().getByDom(n.target).getOrThunk(()=>Nr(n.target,t=>e.getSystem().getByDom(t).toOptional(),T).getOr(e));t(e,r,o)}),Xs=e=>js(e,(e,t)=>{t.cut()}),Ks=e=>js(e,(e,t)=>{t.stop()}),Js=(e,t)=>$s(e)(t),Qs=$s(ks()),Zs=$s(Os()),ea=$s(ys()),ta=(ia=gs(),e=>js(ia,e)),oa=e=>e.dom.innerHTML,na=(e,t)=>{const o=ot(e).dom,n=Le(o.createDocumentFragment()),r=((e,t)=>{const o=(t||document).createElement("div");return o.innerHTML=e,ct(Le(o))})(t,o);Ho(n,r),Uo(e),Po(e,n)},ra=(e,t)=>Le(e.dom.cloneNode(t)),sa=e=>(e=>{if(pt(e))return"#shadow-root";{const t=(e=>ra(e,!1))(e);return(e=>{const t=Ne("div"),o=Le(e.dom.cloneNode(!0));return Po(t,o),oa(t)})(t)}})(e),aa=Hs([(e=>({key:e,value:Vr({can:(e,t)=>{const o=t.event,n=o.originator,r=o.target;return!((e,t,o)=>et(t,e.element)&&!et(t,o))(e,n,r)||(console.warn(cs()+" did not get interpreted by the desired target. \nOriginator: "+sa(n)+"\nTarget: "+sa(r)+"\nCheck the "+cs()+" event handlers"),!1)}})}))(cs())]);var ia,la=Object.freeze({__proto__:null,events:aa});let ca=0;const da=e=>{const t=(new Date).getTime(),o=Math.floor(1e9*Math.random());return ca++,e+"_"+o+ca+String(t)},ua=x("alloy-id-"),ma=x("data-alloy-id"),ga=ua(),pa=ma(),ha=(e,t)=>{Object.defineProperty(e.dom,pa,{value:t,writable:!0})},fa=e=>{const t=$e(e)?e.dom[pa]:null;return A.from(t)},ba=e=>da(e),va=w,ya=e=>{const t=t=>`The component must be in a context to execute: ${t}`+(e?"\n"+sa(e().element)+" is not in context.":""),o=e=>()=>{throw new Error(t(e))},n=e=>()=>{console.warn(t(e))};return{debugInfo:x("fake"),triggerEvent:n("triggerEvent"),triggerFocus:n("triggerFocus"),triggerEscape:n("triggerEscape"),broadcast:n("broadcast"),broadcastOn:n("broadcastOn"),broadcastEvent:n("broadcastEvent"),build:o("build"),buildOrPatch:o("buildOrPatch"),addToWorld:o("addToWorld"),removeFromWorld:o("removeFromWorld"),addToGui:o("addToGui"),removeFromGui:o("removeFromGui"),getByUid:o("getByUid"),getByDom:o("getByDom"),isConnected:T}},xa=ya(),wa=e=>V(e,e=>Ae(e,"/*")?e.substring(0,e.length-2):e),Sa=(e,t)=>{const o=e.toString(),n=o.indexOf(")")+1,r=o.indexOf("("),s=o.substring(r+1,n-1).split(/,\s*/);return e.toFunctionAnnotation=()=>({name:t,parameters:wa(s)}),e},Ca=da("alloy-premade"),ka=e=>(Object.defineProperty(e.element.dom,Ca,{value:e.uid,writable:!0}),Br(Ca,e)),Oa=e=>be(e,Ca),_a=e=>((e,t)=>{const o=t.toString(),n=o.indexOf(")")+1,r=o.indexOf("("),s=o.substring(r+1,n-1).split(/,\s*/);return e.toFunctionAnnotation=()=>({name:"OVERRIDE",parameters:wa(s.slice(1))}),e})((t,...o)=>e(t.getApis(),t,...o),e),Ta={init:()=>Ea({readState:x("No State required")})},Ea=e=>e,Aa=(e,t)=>{const o={};return le(e,(e,n)=>{le(e,(e,r)=>{const s=be(o,r).getOr([]);o[r]=s.concat([t(n,e)])})}),o},Ma=e=>({classes:u(e.classes)?[]:e.classes,attributes:u(e.attributes)?{}:e.attributes,styles:u(e.styles)?{}:e.styles}),Da=e=>e.cHandler,Ba=(e,t)=>({name:e,handler:t}),Ia=(e,t)=>{const o={};return P(e,e=>{o[e.name()]=e.handlers(t)}),o},Fa=(e,t,o)=>{const n=t[o];return n?((e,t,o,n)=>{try{const r=ee(o,(o,r)=>{const s=o[t],a=r[t],i=n.indexOf(s),l=n.indexOf(a);if(-1===i)throw new Error("The ordering for "+e+" does not have an entry for "+s+".\nOrder specified: "+JSON.stringify(n,null,2));if(-1===l)throw new Error("The ordering for "+e+" does not have an entry for "+a+".\nOrder specified: "+JSON.stringify(n,null,2));return i(e=>{const t=(e=>(...t)=>j(e,(e,o)=>e&&(e=>e.can)(o).apply(void 0,t),!0))(e),o=(e=>(...t)=>j(e,(e,o)=>e||(e=>e.abort)(o).apply(void 0,t),!1))(e);return{can:t,abort:o,run:(...t)=>{P(e,e=>{e.run.apply(void 0,t)})}}})(V(e,e=>e.handler))):((e,t)=>an.error(["The event ("+e+') has more than one behaviour that listens to it.\nWhen this occurs, you must specify an event ordering for the behaviours in your spec (e.g. [ "listing", "toggling" ]).\nThe behaviours that can trigger it are: '+JSON.stringify(V(t,e=>e.name),null,2)]))(o,e)},Ra=(e,t)=>((e,t)=>{const o=(e=>{const t=[],o=[];return P(e,e=>{e.fold(e=>{t.push(e)},e=>{o.push(e)})}),{errors:t,values:o}})(e);return o.errors.length>0?(n=o.errors,an.error(Y(n))):((e,t)=>0===e.length?an.value(t):an.value(vn(t,yn.apply(void 0,e))))(o.values,t);var n})(pe(e,(e,o)=>(1===e.length?an.value(e[0].handler):Fa(e,t,o)).map(n=>{const r=(e=>{const t=(e=>p(e)?{can:E,abort:T,run:e}:e)(e);return(e,o,...n)=>{const r=[e,o].concat(n);t.abort.apply(void 0,r)?o.stop():t.can.apply(void 0,r)&&t.run.apply(void 0,r)}})(n),s=e.length>1?U(t[o],t=>N(e,e=>e.name===t)).join(" > "):e[0].name;return Br(o,((e,t)=>({handler:e,purpose:t}))(r,s))})),{}),Na="alloy.base.behaviour",za=In([tr("dom","dom",{tag:"required",process:{}},In([rr("tag"),wr("styles",{}),wr("classes",[]),wr("attributes",{}),gr("value"),gr("innerHtml")])),rr("components"),rr("uid"),wr("events",{}),wr("apis",{}),tr("eventOrder","eventOrder",(mi={[gs()]:["disabling",Na,"toggling","typeaheadevents"],[cs()]:[Na,"focusing","keying"],[ys()]:[Na,"disabling","toggling","representing"],[es()]:[Na,"representing","streaming","invalidating"],[Os()]:[Na,"representing","item-events","toolbar-button-events","tooltipping"],[Gr()]:["focusing",Na,"item-type-events"],[Hr()]:["focusing",Na,"item-type-events"],[Xr()]:["item-type-events","tooltipping"],[ms()]:["receiving","reflecting","tooltipping"]},Sn(x(mi))),Ln()),gr("domModification")]),La=e=>e.events,Va=(e,t)=>{const o=Tt(e,t);return void 0===o||""===o?[]:o.split(" ")},Pa=e=>void 0!==e.dom.classList,Ha=e=>Va(e,"class"),Ua=(e,t)=>((e,t,o)=>{const n=Va(e,t).concat([o]);return Ot(e,t,n.join(" ")),!0})(e,"class",t),Wa=(e,t)=>((e,t,o)=>{const n=U(Va(e,t),e=>e!==o);return n.length>0?Ot(e,t,n.join(" ")):Mt(e,t),!1})(e,"class",t),ja=(e,t)=>{Pa(e)?e.dom.classList.add(t):Ua(e,t)},Ga=e=>{0===(Pa(e)?e.dom.classList:Ha(e)).length&&Mt(e,"class")},$a=(e,t)=>{Pa(e)?e.dom.classList.remove(t):Wa(e,t),Ga(e)},Ya=(e,t)=>Pa(e)&&e.dom.classList.contains(t),qa=(e,t)=>{P(t,t=>{ja(e,t)})},Xa=(e,t)=>{P(t,t=>{$a(e,t)})},Ka=e=>Pa(e)?(e=>{const t=e.dom.classList,o=new Array(t.length);for(let e=0;ee.dom.value,Qa=(e,t)=>{if(void 0===t)throw new Error("Value.set was undefined");e.dom.value=t},Za=(e,t,o)=>{o.fold(()=>Po(e,t),e=>{et(e,t)||(zo(e,t),Wo(e))})},ei=(e,t,o)=>{const n=V(t,o),r=ct(e);return P(r.slice(n.length),Wo),n},ti=(e,t,o,n)=>{const r=dt(e,t),s=n(o,r),a=((e,t,o)=>dt(e,t).map(e=>{if(o.exists(t=>!et(t,e))){const t=o.map(We).getOr("span"),n=Ne(t);return zo(e,n),n}return e}))(e,t,r);return Za(e,s.element,a),s},oi=(e,t)=>{const o=ae(e),n=ae(t),r=J(n,o),s=(e=>{const o={},n={};return me(e,(e,o)=>!ve(t,o)||e!==t[o],ue(o),ue(n)),{t:o,f:n}})(e).t;return{toRemove:r,toSet:s}},ni=(e,t)=>{const o=t.filter(t=>We(t)===e.tag&&!(e=>e.innerHtml.isSome()&&e.domChildren.length>0)(e)&&!(e=>ve(e.dom,Ca))(t)).bind(t=>((e,t)=>{try{const o=((e,t)=>{const{class:o,style:n,...r}=(e=>j(e.dom.attributes,(e,t)=>(e[t.name]=t.value,e),{}))(t),{toSet:s,toRemove:a}=oi(e.attributes,r),i=Vt(t),{toSet:l,toRemove:c}=oi(e.styles,i),d=Ka(t),u=J(d,e.classes),m=J(e.classes,d);return P(a,e=>Mt(t,e)),_t(t,s),qa(t,m),Xa(t,u),P(c,e=>Ht(t,e)),Ft(t,l),e.innerHtml.fold(()=>{const o=e.domChildren;((e,t)=>{ei(e,t,(t,o)=>{const n=dt(e,o);return Za(e,t,n),t})})(t,o)},e=>{na(t,e)}),(()=>{const o=t,n=e.value.getOrUndefined();n!==Ja(o)&&Qa(o,null!=n?n:"")})(),t})(e,t);return A.some(o)}catch(e){return A.none()}})(e,t)).getOrThunk(()=>(e=>{const t=Ne(e.tag);_t(t,e.attributes),qa(t,e.classes),Ft(t,e.styles),e.innerHtml.each(e=>na(t,e));const o=e.domChildren;return Ho(t,o),e.value.each(e=>{Qa(t,e)}),t})(e));return ha(o,e.uid),o},ri=e=>{const t=(e=>{const t=be(e,"behaviours").getOr({});return q(ae(t),e=>{const o=t[e];return g(o)?[o.me]:[]})})(e);return((e,t)=>((e,t)=>{const o=V(t,e=>xr(e.name(),[rr("config"),wr("state",Ta)])),n=Xn("component.behaviours",In(o),e.behaviours).fold(t=>{throw new Error(Qn(t)+"\nComplete spec:\n"+JSON.stringify(e,null,2))},w);return{list:t,data:ce(n,e=>{const t=e.map(e=>({config:e.config,state:e.state.init(e.config)}));return x(t)})}})(e,t))(e,t)},si=(e,t)=>{const o=()=>m,n=Mr(xa),r=Kn((e=>Xn("custom.definition",za,e))(e)),s=ri(e),a=(e=>e.list)(s),i=(e=>e.data)(s),l=((e,t,o)=>{const n={...(r=e).dom,uid:r.uid,domChildren:V(r.components,e=>e.element)};var r;const s=(e=>e.domModification.fold(()=>Ma({}),Ma))(e),a={"alloy.base.modification":s},i=t.length>0?((e,t,o,n)=>{const r={...t};P(o,t=>{r[t.name()]=t.exhibit(e,n)});const s=Aa(r,(e,t)=>({name:e,modification:t})),a=e=>W(e,(e,t)=>({...t.modification,...e}),{}),i=W(s.classes,(e,t)=>t.modification.concat(e),[]),l=a(s.attributes),c=a(s.styles);return Ma({classes:i,attributes:l,styles:c})})(o,a,t,n):s;return l=n,c=i,{...l,attributes:{...l.attributes,...c.attributes},styles:{...l.styles,...c.styles},classes:l.classes.concat(c.classes)};var l,c})(r,a,i),c=ni(l,t),d=((e,t,o)=>{const n={"alloy.base.behaviour":La(e)};return((e,t,o,n)=>{const r=((e,t,o)=>{const n={...o,...Ia(t,e)};return Aa(n,Ba)})(e,o,n);return Ra(r,t)})(o,e.eventOrder,t,n).getOrDie()})(r,a,i),u=Mr(r.components),m={uid:e.uid,getSystem:n.get,config:t=>{const o=i;return(p(o[t.name()])?o[t.name()]:()=>{throw new Error("Could not find "+t.name()+" in "+JSON.stringify(e,null,2))})()},hasConfigured:e=>p(i[e.name()]),spec:e,readState:e=>i[e]().map(e=>e.state.readState()).getOr("not enabled"),getApis:()=>r.apis,connect:e=>{n.set(e)},disconnect:()=>{n.set(ya(o))},element:c,syncComponents:()=>{const e=ct(c),t=q(e,e=>n.get().getByDom(e).fold(()=>[],Z));u.set(t)},components:u.get,events:d};return m},ai=e=>{const t=ze(e);return ii({element:t})},ii=e=>{const t=Jn("external.component",Bn([rr("element"),gr("uid")]),e),o=Mr(ya()),n=t.uid.getOrThunk(()=>ba("external"));ha(t.element,n);const r={uid:n,getSystem:o.get,config:A.none,hasConfigured:T,connect:e=>{o.set(e)},disconnect:()=>{o.set(ya(()=>r))},getApis:()=>({}),element:t.element,spec:e,readState:x("No state"),syncComponents:b,components:x([]),events:{}};return ka(r)},li=ba,ci=(e,t)=>Oa(e).getOrThunk(()=>((e,t)=>{const{events:o,...n}=va(e),r=((e,t)=>{const o=be(e,"components").getOr([]);return t.fold(()=>V(o,di),e=>V(o,(t,o)=>ci(t,dt(e,o))))})(n,t),s={...n,events:{...la,...o},components:r};return an.value(si(s,t))})((e=>ve(e,"uid"))(e)?e:{uid:li(""),...e},t).getOrDie()),di=e=>ci(e,A.none()),ui=ka;var mi,gi=(e,t,o,n,r)=>e(o,n)?A.some(o):p(r)&&r(o)?A.none():t(o,n,r);const pi=(e,t,o)=>{let n=e.dom;const r=p(o)?o:T;for(;n.parentNode;){n=n.parentNode;const e=Le(n);if(t(e))return A.some(e);if(r(e))break}return A.none()},hi=(e,t,o)=>gi((e,t)=>t(e),pi,e,t,o),fi=(e,t,o)=>hi(e,t,o).isSome(),bi=(e,t,o)=>pi(e,e=>Je(e,t),o),vi=(e,t)=>(e=>G(e.dom.childNodes,e=>{return o=Le(e),Je(o,t);var o}).map(Le))(e),yi=(e,t)=>Ze(t,e),xi=(e,t,o)=>gi((e,t)=>Je(e,t),bi,e,t,o),wi="aria-controls",Si=()=>{const e=da(wi);return{id:e,link:t=>{Ot(t,wi,e)},unlink:e=>{Mt(e,wi)}}},Ci=(e,t)=>fi(t,t=>et(t,e.element),T)||((e,t)=>(e=>hi(e,e=>{if(!$e(e))return!1;const t=Tt(e,"id");return void 0!==t&&t.indexOf(wi)>-1}).bind(e=>{const t=Tt(e,"id"),o=bt(e);return yi(o,`[${wi}="${t}"]`)}))(t).exists(t=>Ci(e,t)))(e,t);var ki;!function(e){e[e.STOP=0]="STOP",e[e.NORMAL=1]="NORMAL",e[e.LOGGING=2]="LOGGING"}(ki||(ki={}));const Oi=Mr({}),_i=["alloy/data/Fields","alloy/debugging/Debugging"],Ti=(e,t,o)=>((e,t,o)=>{switch(be(Oi.get(),e).orThunk(()=>{const t=ae(Oi.get());return se(t,t=>e.indexOf(t)>-1?A.some(Oi.get()[t]):A.none())}).getOr(ki.NORMAL)){case ki.NORMAL:return o(Ei());case ki.LOGGING:{const n=((e,t)=>{const o=[],n=(new Date).getTime();return{logEventCut:(e,t,n)=>{o.push({outcome:"cut",target:t,purpose:n})},logEventStopped:(e,t,n)=>{o.push({outcome:"stopped",target:t,purpose:n})},logNoParent:(e,t,n)=>{o.push({outcome:"no-parent",target:t,purpose:n})},logEventNoHandlers:(e,t)=>{o.push({outcome:"no-handlers-left",target:t})},logEventResponse:(e,t,n)=>{o.push({outcome:"response",purpose:n,target:t})},write:()=>{const r=(new Date).getTime();R(["mousemove","mouseover","mouseout",ys()],e)||console.log(e,{event:e,time:r-n,target:t.dom,sequence:V(o,e=>R(["cut","stopped","response"],e.outcome)?"{"+e.purpose+"} "+e.outcome+" at ("+sa(e.target)+")":e.outcome)})}}})(e,t),r=o(n);return n.write(),r}case ki.STOP:return!0}})(e,t,o),Ei=x({logEventCut:b,logEventStopped:b,logNoParent:b,logEventNoHandlers:b,logEventResponse:b,write:b}),Ai=x([rr("menu"),rr("selectedMenu")]),Mi=x([rr("item"),rr("selectedItem")]);x(In(Mi().concat(Ai())));const Di=x(In(Mi())),Bi=dr("initSize",[rr("numColumns"),rr("numRows")]),Ii=()=>dr("markers",[rr("backgroundMenu")].concat(Ai()).concat(Mi())),Fi=e=>dr("markers",V(e,rr)),Ri=(e,t,o)=>((()=>{const e=new Error;if(void 0!==e.stack){const t=e.stack.split("\n");G(t,e=>e.indexOf("alloy")>0&&!N(_i,t=>e.indexOf(t)>-1)).getOr("unknown")}})(),tr(t,t,o,Yn(e=>an.value((...t)=>e.apply(void 0,t))))),Ni=e=>Ri(0,e,wn(b)),zi=e=>Ri(0,e,wn(A.none)),Li=e=>Ri(0,e,{tag:"required",process:{}}),Vi=e=>Ri(0,e,{tag:"required",process:{}}),Pi=(e,t)=>or(e,x(t)),Hi=e=>or(e,w),Ui=x(Bi),Wi=(e,t,o,n,r,s,a,i=!1)=>({x:e,y:t,bubble:o,direction:n,placement:r,restriction:s,label:`${a}-${r}`,alwaysFit:i}),ji=Dr([{southeast:[]},{southwest:[]},{northeast:[]},{northwest:[]},{south:[]},{north:[]},{east:[]},{west:[]}]),Gi=ji.southeast,$i=ji.southwest,Yi=ji.northeast,qi=ji.northwest,Xi=ji.south,Ki=ji.north,Ji=ji.east,Qi=ji.west,Zi=(e,t,o,n)=>{const r=e+t;return r>n?o:rMath.min(Math.max(e,t),o),tl=(e,t)=>Q(["left","right","top","bottom"],o=>be(t,o).map(t=>((e,t)=>{switch(t){case 1:return e.x;case 0:return e.x+e.width;case 2:return e.y;case 3:return e.y+e.height}})(e,t))),ol="layout",nl=e=>e.x,rl=(e,t)=>e.x+e.width/2-t.width/2,sl=(e,t)=>e.x+e.width-t.width,al=(e,t)=>e.y-t.height,il=e=>e.y+e.height,ll=(e,t)=>e.y+e.height/2-t.height/2,cl=(e,t,o)=>Wi(nl(e),il(e),o.southeast(),Gi(),"southeast",tl(e,{left:1,top:3}),ol),dl=(e,t,o)=>Wi(sl(e,t),il(e),o.southwest(),$i(),"southwest",tl(e,{right:0,top:3}),ol),ul=(e,t,o)=>Wi(nl(e),al(e,t),o.northeast(),Yi(),"northeast",tl(e,{left:1,bottom:2}),ol),ml=(e,t,o)=>Wi(sl(e,t),al(e,t),o.northwest(),qi(),"northwest",tl(e,{right:0,bottom:2}),ol),gl=(e,t,o)=>Wi(rl(e,t),al(e,t),o.north(),Ki(),"north",tl(e,{bottom:2}),ol),pl=(e,t,o)=>Wi(rl(e,t),il(e),o.south(),Xi(),"south",tl(e,{top:3}),ol),hl=(e,t,o)=>Wi((e=>e.x+e.width)(e),ll(e,t),o.east(),Ji(),"east",tl(e,{left:0}),ol),fl=(e,t,o)=>Wi(((e,t)=>e.x-t.width)(e,t),ll(e,t),o.west(),Qi(),"west",tl(e,{right:1}),ol),bl=()=>[cl,dl,ul,ml,pl,gl,hl,fl],vl=()=>[dl,cl,ml,ul,pl,gl,hl,fl],yl=()=>[ul,ml,cl,dl,gl,pl],xl=()=>[ml,ul,dl,cl,gl,pl],wl=()=>[cl,dl,ul,ml,pl,gl],Sl=()=>[dl,cl,ml,ul,pl,gl];var Cl=Object.freeze({__proto__:null,events:e=>Hs([js(ms(),(t,o)=>{const n=e.channels,r=ae(n),s=o,a=((e,t)=>t.universal?e:U(e,e=>R(t.channels,e)))(r,s);P(a,e=>{const o=n[e],r=o.schema,a=Jn("channel["+e+"] data\nReceiver: "+sa(t.element),r,s.data);o.onReceive(t,a)})})])}),kl=[sr("channels",qn(an.value,Bn([Li("onReceive"),wr("schema",Ln())])))];const Ol=(e,t,o)=>ea((n,r)=>{o(n,e,t)}),_l=e=>({key:e,value:void 0}),Tl=(e,t,o,n,r,s,a)=>{const i=e=>ye(e,o)?e[o]():A.none(),l=ce(r,(e,t)=>((e,t,o)=>((e,t,o)=>{const n=o.toString(),r=n.indexOf(")")+1,s=n.indexOf("("),a=n.substring(s+1,r-1).split(/,\s*/);return e.toFunctionAnnotation=()=>({name:t,parameters:wa(a.slice(0,1).concat(a.slice(3)))}),e})((n,...r)=>{const s=[n].concat(r);return n.config({name:x(e)}).fold(()=>{throw new Error("We could not find any behaviour configuration for: "+e+". Using API: "+o)},e=>{const o=Array.prototype.slice.call(s,1);return t.apply(void 0,[n,e.config,e.state].concat(o))})},o,t))(o,e,t)),c={...ce(s,(e,t)=>Sa(e,t)),...l,revoke:C(_l,o),config:t=>{const n=Jn(o+"-config",e,t);return{key:o,value:{config:n,me:c,configAsRaw:to(()=>Jn(o+"-config",e,t)),initialConfig:t,state:a}}},schema:x(t),exhibit:(e,t)=>Se(i(e),be(n,"exhibit"),(e,o)=>o(t,e.config,e.state)).getOrThunk(()=>Ma({})),name:x(o),handlers:e=>i(e).map(e=>be(n,"events").getOr(()=>({}))(e.config,e.state)).getOr({})};return c},El=e=>Ir(e),Al=Bn([rr("fields"),rr("name"),wr("active",{}),wr("apis",{}),wr("state",Ta),wr("extra",{})]),Ml=e=>{const t=Jn("Creating behaviour: "+e.name,Al,e);return((e,t,o,n,r,s)=>{const a=Bn(e),i=xr(t,[(l=e,pr("config",Bn(l)))]);var l;return Tl(a,i,t,o,n,r,s)})(t.fields,t.name,t.active,t.apis,t.extra,t.state)},Dl=Bn([rr("branchKey"),rr("branches"),rr("name"),wr("active",{}),wr("apis",{}),wr("state",Ta),wr("extra",{})]),Bl=e=>{const t=Jn("Creating behaviour: "+e.name,Dl,e);return((e,t,o,n,r,s)=>{const a=e,i=xr(t,[pr("config",e)]);return Tl(a,i,t,o,n,r,s)})(Zn(t.branchKey,t.branches),t.name,t.active,t.apis,t.extra,t.state)},Il=x(void 0),Fl=Ml({fields:kl,name:"receiving",active:Cl});var Rl=Object.freeze({__proto__:null,exhibit:(e,t)=>Ma({classes:[],styles:t.useFixed()?{}:{position:"relative"}})});const Nl=(e,t=!1)=>e.dom.focus({preventScroll:t}),zl=e=>e.dom.blur(),Ll=e=>{const t=bt(e).dom;return e.dom===t.activeElement},Vl=(e=qo())=>A.from(e.dom.activeElement).map(Le),Pl=e=>Vl(bt(e)).filter(t=>e.dom.contains(t.dom)),Hl=(e,t)=>{const o=bt(t),n=Vl(o).bind(e=>{const o=t=>et(e,t);return o(t)?A.some(t):((e,t)=>{const o=e=>{for(let n=0;n{Vl(o).filter(t=>et(t,e)).fold(()=>{Nl(e)},b)}),r},Ul=(e,t,o,n,r)=>{const s=e=>e+"px";return{position:e,left:t.map(s),top:o.map(s),right:n.map(s),bottom:r.map(s)}},Wl=(e,t)=>{Rt(e,(e=>({...e,position:A.some(e.position)}))(t))},jl=Dr([{none:[]},{relative:["x","y","width","height"]},{fixed:["x","y","width","height"]}]),Gl=(e,t,o,n,r,s)=>{const a=t.rect,i=a.x-o,l=a.y-n,c=r-(i+a.width),d=s-(l+a.height),u=A.some(i),m=A.some(l),g=A.some(c),p=A.some(d),h=A.none();return t.direction.fold(()=>Ul(e,u,m,h,h),()=>Ul(e,h,m,g,h),()=>Ul(e,u,h,h,p),()=>Ul(e,h,h,g,p),()=>Ul(e,u,m,h,h),()=>Ul(e,u,h,h,p),()=>Ul(e,u,m,h,h),()=>Ul(e,h,m,g,h))},$l=(e,t)=>e.fold(()=>{const e=t.rect;return Ul("absolute",A.some(e.x),A.some(e.y),A.none(),A.none())},(e,o,n,r)=>Gl("absolute",t,e,o,n,r),(e,o,n,r)=>Gl("fixed",t,e,o,n,r)),Yl=(e,t)=>{const o=C(Jo,t),n=e.fold(o,o,()=>{const e=jo();return Jo(t).translate(-e.left,-e.top)}),r=eo(t),s=$t(t);return Qo(n.left,n.top,r,s)},ql=(e,t)=>t.fold(()=>e.fold(on,on,Qo),t=>e.fold(x(t),x(t),()=>{const o=Xl(e,t.x,t.y);return Qo(o.left,o.top,t.width,t.height)})),Xl=(e,t,o)=>{const n=qt(t,o);return e.fold(x(n),x(n),()=>{const e=jo();return n.translate(-e.left,-e.top)})};jl.none;const Kl=jl.relative,Jl=jl.fixed,Ql="data-alloy-placement",Zl=e=>Et(e,Ql),ec=Dr([{fit:["reposition"]},{nofit:["reposition","visibleW","visibleH","isVisible"]}]),tc=(e,t,o,n)=>{const r=e.bubble,s=r.offset,a=((e,t,o)=>{const n=(n,r)=>t[n].map(t=>{const s="top"===n||"bottom"===n,a=s?o.top:o.left,i=("left"===n||"top"===n?Math.max:Math.min)(t,r)+a;return s?el(i,e.y,e.bottom):el(i,e.x,e.right)}).getOr(r),r=n("left",e.x),s=n("top",e.y),a=n("right",e.right),i=n("bottom",e.bottom);return Qo(r,s,a-r,i-s)})(n,e.restriction,s),i=e.x+s.left,l=e.y+s.top,c=Qo(i,l,t,o),{originInBounds:d,sizeInBounds:u,visibleW:m,visibleH:g}=((e,t)=>{const{x:o,y:n,right:r,bottom:s}=t,{x:a,y:i,right:l,bottom:c,width:d,height:u}=e;return{originInBounds:a>=o&&a<=r&&i>=n&&i<=s,sizeInBounds:l<=r&&l>=o&&c<=s&&c>=n,visibleW:Math.min(d,a>=o?r-a:l-o),visibleH:Math.min(u,i>=n?s-i:c-n)}})(c,a),p=d&&u,h=p?c:((e,t)=>{const{x:o,y:n,right:r,bottom:s}=t,{x:a,y:i,width:l,height:c}=e,d=Math.max(o,r-l),u=Math.max(n,s-c),m=el(a,o,d),g=el(i,n,u),p=Math.min(m+l,r)-m,h=Math.min(g+c,s)-g;return Qo(m,g,p,h)})(c,a),f=h.width>0&&h.height>0,{maxWidth:b,maxHeight:v}=((e,t,o)=>{const n=x(t.bottom-o.y),r=x(o.bottom-t.y),s=((e,t,o,n)=>e.fold(t,t,n,n,t,n,o,o))(e,r,r,n),a=x(t.right-o.x),i=x(o.right-t.x),l=((e,t,o,n)=>e.fold(t,n,t,n,o,o,t,n))(e,i,i,a);return{maxWidth:l,maxHeight:s}})(e.direction,h,n),y={rect:h,maxHeight:v,maxWidth:b,direction:e.direction,placement:e.placement,classes:{on:r.classesOn,off:r.classesOff},layout:e.label,testY:l};return p||e.alwaysFit?ec.fit(y):ec.nofit(y,m,g,f)},oc=e=>{const t=Mr(A.none()),o=()=>t.get().each(e);return{clear:()=>{o(),t.set(A.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{o(),t.set(A.some(e))}}},nc=()=>oc(e=>e.unbind()),rc=()=>{const e=oc(b);return{...e,on:t=>e.get().each(t)}},sc=E,ac=(e,t,o)=>((e,t,o,n)=>Ro(e,t,o,n,!1))(e,t,sc,o),ic=(e,t,o)=>((e,t,o,n)=>Ro(e,t,o,n,!0))(e,t,sc,o),lc=Fo,cc=["top","bottom","right","left"],dc="data-alloy-transition-timer",uc=(e,t,o,n,r,a)=>{const i=((e,t,o)=>o.exists(o=>{const n=e.mode;return"all"===n||o[n]!==t[n]}))(n,r,a);if(i||((e,t)=>((e,t)=>X(t,t=>Ya(e,t)))(e,t.classes))(e,n)){It(e,"position",o.position);const a=Yl(t,e),l=$l(t,{...r,rect:a}),c=Q(cc,e=>l[e]);((e,t)=>{const o=e=>parseFloat(e).toFixed(3);return he(t,(t,n)=>!((e,t,o=S)=>Se(e,t,o).getOr(e.isNone()&&t.isNone()))(e[n].map(o),t.map(o))).isSome()})(o,c)&&(Rt(e,c),i&&((e,t)=>{qa(e,t.classes),Et(e,dc).each(t=>{clearTimeout(parseInt(t,10)),Mt(e,dc)}),((e,t)=>{const o=nc(),n=nc();let r;const a=t=>{var o;const n=null!==(o=t.raw.pseudoElement)&&void 0!==o?o:"";return et(t.target,e)&&Be(n)&&R(cc,t.raw.propertyName)},i=s=>{if(m(s)||a(s)){o.clear(),n.clear();const a=null==s?void 0:s.raw.type;(m(a)||a===rs())&&(clearTimeout(r),Mt(e,dc),Xa(e,t.classes))}},l=ac(e,ss(),t=>{a(t)&&(l.unbind(),o.set(ac(e,rs(),i)),n.set(ac(e,ns(),i)))}),c=(e=>{const t=t=>{const o=Nt(e,t).split(/\s*,\s*/);return U(o,De)},o=e=>{if(s(e)&&/^[\d.]+/.test(e)){const t=parseFloat(e);return Ae(e,"ms")?t:1e3*t}return 0},n=t("transition-delay"),r=t("transition-duration");return j(r,(e,t,r)=>{const s=o(n[r])+o(t);return Math.max(e,s)},0)})(e);requestAnimationFrame(()=>{r=setTimeout(i,c+17),Ot(e,dc,r)})})(e,t)})(e,n),Ut(e))}else Xa(e,n.classes)},mc=(e,t)=>{((e,t)=>{const o=jt.max(e,t,["margin-top","border-top-width","padding-top","padding-bottom","border-bottom-width","margin-bottom"]);It(e,"max-height",o+"px")})(e,Math.floor(t))},gc=x((e,t)=>{mc(e,t),Ft(e,{"overflow-x":"hidden","overflow-y":"auto"})}),pc=x((e,t)=>{mc(e,t)}),hc=(e,t,o)=>void 0===e[t]?o:e[t],fc=(e,t,o,n)=>{const r=((e,t,o,n)=>{Ht(t,"max-height"),Ht(t,"max-width");const r={width:eo(s=t),height:$t(s)};var s;return((e,t,o,n,r,s)=>{const a=n.width,i=n.height,l=(t,l,c,d,u)=>{const m=t(o,n,r,e,s),g=tc(m,a,i,s);return g.fold(x(g),(e,t,o,n)=>(u===n?o>d||t>c:!u&&n)?g:ec.nofit(l,c,d,u))};return j(t,(e,t)=>{const o=C(l,t);return e.fold(x(e),o)},ec.nofit({rect:o,maxHeight:n.height,maxWidth:n.width,direction:Gi(),placement:"southeast",classes:{on:[],off:[]},layout:"none",testY:o.y},-1,-1,!1)).fold(w,w)})(t,n.preference,e,r,o,n.bounds)})(e,t,o,n);return((e,t,o)=>{const n=$l(o.origin,t);o.transition.each(r=>{uc(e,o.origin,n,r,t,o.lastPlacement)}),Wl(e,n)})(t,r,n),((e,t)=>{((e,t)=>{Ot(e,Ql,t)})(e,t.placement)})(t,r),((e,t)=>{const o=t.classes;Xa(e,o.off),qa(e,o.on)})(t,r),((e,t,o)=>{(0,o.maxHeightFunction)(e,t.maxHeight)})(t,r,n),((e,t,o)=>{(0,o.maxWidthFunction)(e,t.maxWidth)})(t,r,n),{layout:r.layout,placement:r.placement}},bc=["valignCentre","alignLeft","alignRight","alignCentre","top","bottom","left","right","inset"],vc=(e,t,o,n=1)=>{const r=e*n,s=t*n,a=e=>be(o,e).getOr([]),i=(e,t,o)=>{const n=J(bc,o);return{offset:qt(e,t),classesOn:q(o,a),classesOff:q(n,a)}};return{southeast:()=>i(-e,t,["top","alignLeft"]),southwest:()=>i(e,t,["top","alignRight"]),south:()=>i(-e/2,t,["top","alignCentre"]),northeast:()=>i(-e,-t,["bottom","alignLeft"]),northwest:()=>i(e,-t,["bottom","alignRight"]),north:()=>i(-e/2,-t,["bottom","alignCentre"]),east:()=>i(e,-t/2,["valignCentre","left"]),west:()=>i(-e,-t/2,["valignCentre","right"]),insetNortheast:()=>i(r,s,["top","alignLeft","inset"]),insetNorthwest:()=>i(-r,s,["top","alignRight","inset"]),insetNorth:()=>i(-r/2,s,["top","alignCentre","inset"]),insetSoutheast:()=>i(r,-s,["bottom","alignLeft","inset"]),insetSouthwest:()=>i(-r,-s,["bottom","alignRight","inset"]),insetSouth:()=>i(-r/2,-s,["bottom","alignCentre","inset"]),insetEast:()=>i(-r,-s/2,["valignCentre","right","inset"]),insetWest:()=>i(r,-s/2,["valignCentre","left","inset"])}},yc=()=>vc(0,0,{}),xc=w,wc=(e,t)=>o=>"rtl"===Sc(o)?t:e,Sc=e=>"rtl"===Nt(e,"direction")?"rtl":"ltr";var Cc;!function(e){e.TopToBottom="toptobottom",e.BottomToTop="bottomtotop"}(Cc||(Cc={}));const kc="data-alloy-vertical-dir",Oc=e=>fi(e,e=>$e(e)&&Tt(e,"data-alloy-vertical-dir")===Cc.BottomToTop),_c=()=>xr("layouts",[rr("onLtr"),rr("onRtl"),gr("onBottomLtr"),gr("onBottomRtl")]),Tc=(e,t,o,n,r,s,a)=>{const i=a.map(Oc).getOr(!1),l=t.layouts.map(t=>t.onLtr(e)),c=t.layouts.map(t=>t.onRtl(e)),d=i?t.layouts.bind(t=>t.onBottomLtr.map(t=>t(e))).or(l).getOr(r):l.getOr(o),u=i?t.layouts.bind(t=>t.onBottomRtl.map(t=>t(e))).or(c).getOr(s):c.getOr(n);return wc(d,u)(e)};var Ec=[rr("hotspot"),gr("bubble"),wr("overrides",{}),_c(),Pi("placement",(e,t,o)=>{const n=t.hotspot,r=Yl(o,n.element),s=Tc(e.element,t,wl(),Sl(),yl(),xl(),A.some(t.hotspot.element));return A.some(xc({anchorBox:r,bubble:t.bubble.getOr(yc()),overrides:t.overrides,layouts:s}))})],Ac=[rr("x"),rr("y"),wr("height",0),wr("width",0),wr("bubble",yc()),wr("overrides",{}),_c(),Pi("placement",(e,t,o)=>{const n=Xl(o,t.x,t.y),r=Qo(n.left,n.top,t.width,t.height),s=Tc(e.element,t,bl(),vl(),bl(),vl(),A.none());return A.some(xc({anchorBox:r,bubble:t.bubble,overrides:t.overrides,layouts:s}))})];const Mc=Dr([{screen:["point"]},{absolute:["point","scrollLeft","scrollTop"]}]),Dc=e=>e.fold(w,(e,t,o)=>e.translate(-t,-o)),Bc=e=>e.fold(w,w),Ic=e=>j(e,(e,t)=>e.translate(t.left,t.top),qt(0,0)),Fc=e=>{const t=V(e,Bc);return Ic(t)},Rc=Mc.screen,Nc=Mc.absolute,zc=(e,t,o)=>{const n=ot(e.element),r=jo(n),s=((e,t,o)=>{const n=st(o.root).dom;return A.from(n.frameElement).map(Le).filter(t=>{const o=ot(t),n=ot(e.element);return et(o,n)}).map(Kt)})(e,0,o).getOr(r);return Nc(s,r.left,r.top)},Lc=(e,t,o,n)=>{const r=Rc(qt(e,t));return A.some(((e,t,o)=>({point:e,width:t,height:o}))(r,o,n))},Vc=(e,t,o,n,r)=>e.map(e=>{const s=[t,e.point],a=(i=()=>Fc(s),l=()=>Fc(s),c=()=>(e=>{const t=V(e,Dc);return Ic(t)})(s),n.fold(i,l,c));var i,l,c;const d=(p=a.left,h=a.top,f=e.width,b=e.height,{x:p,y:h,width:f,height:b}),u=o.showAbove?yl():wl(),m=o.showAbove?xl():Sl(),g=Tc(r,o,u,m,u,m,A.none());var p,h,f,b;return xc({anchorBox:d,bubble:o.bubble.getOr(yc()),overrides:o.overrides,layouts:g})});var Pc=[rr("node"),rr("root"),gr("bubble"),_c(),wr("overrides",{}),wr("showAbove",!1),Pi("placement",(e,t,o)=>{const n=zc(e,0,t);return t.node.filter(wt).bind(r=>{const s=r.dom.getBoundingClientRect(),a=Lc(s.left,s.top,s.width,s.height),i=t.node.getOr(e.element);return Vc(a,n,t,o,i)})})];const Hc=(e,t,o,n)=>({start:e,soffset:t,finish:o,foffset:n}),Uc=Dr([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),Wc=(Uc.before,Uc.on,Uc.after,e=>e.fold(w,w,w)),jc=Dr([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),Gc={domRange:jc.domRange,relative:jc.relative,exact:jc.exact,exactFromRange:e=>jc.exact(e.start,e.soffset,e.finish,e.foffset),getWin:e=>{const t=(e=>e.match({domRange:e=>Le(e.startContainer),relative:(e,t)=>Wc(e),exact:(e,t,o,n)=>e}))(e);return st(t)},range:Hc},$c=(e,t,o)=>{const n=e.document.createRange();var r;return r=n,t.fold(e=>{r.setStartBefore(e.dom)},(e,t)=>{r.setStart(e.dom,t)},e=>{r.setStartAfter(e.dom)}),((e,t)=>{t.fold(t=>{e.setEndBefore(t.dom)},(t,o)=>{e.setEnd(t.dom,o)},t=>{e.setEndAfter(t.dom)})})(n,o),n},Yc=(e,t,o,n,r)=>{const s=e.document.createRange();return s.setStart(t.dom,o),s.setEnd(n.dom,r),s},qc=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),Xc=Dr([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),Kc=(e,t,o)=>t(Le(o.startContainer),o.startOffset,Le(o.endContainer),o.endOffset),Jc=(e,t)=>((e,t)=>{const o=((e,t)=>t.match({domRange:e=>({ltr:x(e),rtl:A.none}),relative:(t,o)=>({ltr:to(()=>$c(e,t,o)),rtl:to(()=>A.some($c(e,o,t)))}),exact:(t,o,n,r)=>({ltr:to(()=>Yc(e,t,o,n,r)),rtl:to(()=>A.some(Yc(e,n,r,t,o)))})}))(e,t);return((e,t)=>{const o=t.ltr();return o.collapsed?t.rtl().filter(e=>!1===e.collapsed).map(e=>Xc.rtl(Le(e.endContainer),e.endOffset,Le(e.startContainer),e.startOffset)).getOrThunk(()=>Kc(0,Xc.ltr,o)):Kc(0,Xc.ltr,o)})(0,o)})(e,t).match({ltr:(t,o,n,r)=>{const s=e.document.createRange();return s.setStart(t.dom,o),s.setEnd(n.dom,r),s},rtl:(t,o,n,r)=>{const s=e.document.createRange();return s.setStart(n.dom,r),s.setEnd(t.dom,o),s}});Xc.ltr,Xc.rtl;const Qc=(e,t,o)=>U(((e,t)=>{const o=p(t)?t:T;let n=e.dom;const r=[];for(;null!==n.parentNode&&void 0!==n.parentNode;){const e=n.parentNode,t=Le(e);if(r.push(t),!0===o(t))break;n=e}return r})(e,o),t),Zc=(e,t)=>((e,t)=>{const o=void 0===t?document:t.dom;return Qe(o)?[]:V(o.querySelectorAll(e),Le)})(t,e),ed=e=>{if(e.rangeCount>0){const t=e.getRangeAt(0),o=e.getRangeAt(e.rangeCount-1);return A.some(Hc(Le(t.startContainer),t.startOffset,Le(o.endContainer),o.endOffset))}return A.none()},td=e=>{if(null===e.anchorNode||null===e.focusNode)return ed(e);{const t=Le(e.anchorNode),o=Le(e.focusNode);return((e,t,o,n)=>{const r=((e,t,o,n)=>{const r=ot(e).dom.createRange();return r.setStart(e.dom,t),r.setEnd(o.dom,n),r})(e,t,o,n),s=et(e,o)&&t===n;return r.collapsed&&!s})(t,e.anchorOffset,o,e.focusOffset)?A.some(Hc(t,e.anchorOffset,o,e.focusOffset)):ed(e)}},od=(e,t)=>(e=>{const t=e.getClientRects(),o=t.length>0?t[0]:e.getBoundingClientRect();return o.width>0||o.height>0?A.some(o).map(qc):A.none()})(Jc(e,t)),nd=(e=>{const t=t=>e(t)?A.from(t.dom.nodeValue):A.none();return{get:o=>{if(!e(o))throw new Error("Can only get text value of a text node");return t(o).getOr("")},getOption:t,set:(t,o)=>{if(!e(t))throw new Error("Can only set raw text value of a text node");t.dom.nodeValue=o}}})(Ye),rd=(e,t)=>({element:e,offset:t}),sd=(e,t)=>Ye(e)?rd(e,t):((e,t)=>{const o=ct(e);if(0===o.length)return rd(e,t);if(tnd.get(e))(e).length:ct(e).length;return rd(e,t)}})(e,t),ad=e=>void 0!==e.foffset,id=(e,t)=>t.getSelection.getOrThunk(()=>()=>(e=>(e=>A.from(e.getSelection()))(e).filter(e=>e.rangeCount>0).bind(td))(e))().map(e=>{if(ad(e)){const t=sd(e.start,e.soffset),o=sd(e.finish,e.foffset);return Gc.range(t.element,t.offset,o.element,o.offset)}return e});var ld=[gr("getSelection"),rr("root"),gr("bubble"),_c(),wr("overrides",{}),wr("showAbove",!1),Pi("placement",(e,t,o)=>{const n=st(t.root).dom,r=zc(e,0,t),s=id(n,t).bind(e=>{if(ad(e)){const t=((e,t)=>(e=>{const t=e.getBoundingClientRect();return t.width>0||t.height>0?A.some(t).map(qc):A.none()})(Jc(e,t)))(n,Gc.exactFromRange(e)).orThunk(()=>{const t=ze("\ufeff");zo(e.start,t);const o=od(n,Gc.exact(t,0,t,1));return Wo(t),o});return t.bind(e=>Lc(e.left,e.top,e.width,e.height))}{const t=ce(e,e=>e.dom.getBoundingClientRect()),o={left:Math.min(t.firstCell.left,t.lastCell.left),right:Math.max(t.firstCell.right,t.lastCell.right),top:Math.min(t.firstCell.top,t.lastCell.top),bottom:Math.max(t.firstCell.bottom,t.lastCell.bottom)};return Lc(o.left,o.top,o.right-o.left,o.bottom-o.top)}}),a=id(n,t).bind(e=>ad(e)?$e(e.start)?A.some(e.start):it(e.start):A.some(e.firstCell)).getOr(e.element);return Vc(s,r,t,o,a)})];const cd="link-layout",dd=e=>e.x+e.width,ud=(e,t)=>e.x-t.width,md=(e,t)=>e.y-t.height+e.height,gd=e=>e.y,pd=(e,t,o)=>Wi(dd(e),gd(e),o.southeast(),Gi(),"southeast",tl(e,{left:0,top:2}),cd),hd=(e,t,o)=>Wi(ud(e,t),gd(e),o.southwest(),$i(),"southwest",tl(e,{right:1,top:2}),cd),fd=(e,t,o)=>Wi(dd(e),md(e,t),o.northeast(),Yi(),"northeast",tl(e,{left:0,bottom:3}),cd),bd=(e,t,o)=>Wi(ud(e,t),md(e,t),o.northwest(),qi(),"northwest",tl(e,{right:1,bottom:3}),cd),vd=()=>[pd,hd,fd,bd],yd=()=>[hd,pd,bd,fd];var xd=[rr("item"),_c(),wr("overrides",{}),Pi("placement",(e,t,o)=>{const n=Yl(o,t.item.element),r=Tc(e.element,t,vd(),yd(),vd(),yd(),A.none());return A.some(xc({anchorBox:n,bubble:yc(),overrides:t.overrides,layouts:r}))})],wd=Zn("type",{selection:ld,node:Pc,hotspot:Ec,submenu:xd,makeshift:Ac});const Sd=[mr("classes",Hn),Or("mode","all",["all","layout","placement"])],Cd=[wr("useFixed",T),gr("getBounds")],kd=[sr("anchor",wd),xr("transition",Sd)],Od=(e,t,o,n,r,s)=>{const a=Jn("placement.info",In(kd),r),i=a.anchor,l=n.element,c=o.get(n.uid);Hl(()=>{It(l,"position","fixed");const r=Lt(l,"visibility");It(l,"visibility","hidden");const d=t.useFixed()?(()=>{const e=document.documentElement;return Jl(0,0,e.clientWidth,e.clientHeight)})():(e=>{const t=Kt(e.element),o=e.element.dom.getBoundingClientRect();return Kl(t.left,t.top,o.width,o.height)})(e);i.placement(e,i,d).each(e=>{const r=s.orThunk(()=>t.getBounds.map(_)),i=((e,t,o,n,r,s)=>((e,t,o,n,r,s,a,i)=>{const l=hc(a,"maxHeightFunction",gc()),c=hc(a,"maxWidthFunction",b),d=e.anchorBox,u=e.origin,m={bounds:ql(u,s),origin:u,preference:n,maxHeightFunction:l,maxWidthFunction:c,lastPlacement:r,transition:i};return fc(d,t,o,m)})(((e,t)=>((e,t)=>({anchorBox:e,origin:t}))(e,t))(t.anchorBox,e),n.element,t.bubble,t.layouts,r,o,t.overrides,s))(d,e,r,n,c,a.transition);o.set(n.uid,i)}),r.fold(()=>{Ht(l,"visibility")},e=>{It(l,"visibility",e)}),Lt(l,"left").isNone()&&Lt(l,"top").isNone()&&Lt(l,"right").isNone()&&Lt(l,"bottom").isNone()&&xe(Lt(l,"position"),"fixed")&&Ht(l,"position")},l)};var _d=Object.freeze({__proto__:null,position:(e,t,o,n,r)=>{const s=A.none();Od(e,t,o,n,r,s)},positionWithinBounds:Od,getMode:(e,t,o)=>t.useFixed()?"fixed":"absolute",reset:(e,t,o,n)=>{const r=n.element;P(["position","left","right","top","bottom"],e=>Ht(r,e)),(e=>{Mt(e,Ql)})(r),o.clear(n.uid)}});const Td=Ml({fields:Cd,name:"positioning",active:Rl,apis:_d,state:Object.freeze({__proto__:null,init:()=>{let e={};return Ea({readState:()=>e,clear:t=>{g(t)?delete e[t]:e={}},set:(t,o)=>{e[t]=o},get:t=>be(e,t)})}})}),Ed=e=>e.getSystem().isConnected(),Ad=e=>{Rs(e,Os());const t=e.components();P(t,Ad)},Md=e=>{const t=e.components();P(t,Md),Rs(e,ks())},Dd=(e,t)=>{e.getSystem().addToWorld(t),wt(e.element)&&Md(t)},Bd=e=>{Ad(e),e.getSystem().removeFromWorld(e)},Id=(e,t)=>{Po(e.element,t.element)},Fd=(e,t)=>{Rd(e,t,Po)},Rd=(e,t,o)=>{e.getSystem().addToWorld(t),o(e.element,t.element),wt(e.element)&&Md(t),e.syncComponents()},Nd=e=>{Ad(e),Wo(e.element),e.getSystem().removeFromWorld(e)},zd=e=>{const t=at(e.element).bind(t=>e.getSystem().getByDom(t).toOptional());Nd(e),t.each(e=>{e.syncComponents()})},Ld=e=>{const t=e.components();P(t,Nd),Uo(e.element),e.syncComponents()},Vd=(e,t)=>{Hd(e,t,Po)},Pd=(e,t)=>{Hd(e,t,Lo)},Hd=(e,t,o)=>{o(e,t.element);const n=ct(t.element);P(n,e=>{t.getByDom(e).each(Md)})},Ud=e=>{const t=ct(e.element);P(t,t=>{e.getByDom(t).each(Ad)}),Wo(e.element)},Wd=(e,t,o,n)=>{o.get().each(t=>{Ld(e)});const r=t.getAttachPoint(e);Fd(r,e);const s=e.getSystem().build(n);return Fd(e,s),o.set(s),s},jd=(e,t,o,n)=>{const r=Wd(e,t,o,n);return t.onOpen(e,r),r},Gd=(e,t,o)=>{o.get().each(n=>{Ld(e),zd(e),t.onClose(e,n),o.clear()})},$d=(e,t,o)=>o.isOpen(),Yd=(e,t,o)=>{const n=t.getAttachPoint(e);It(e.element,"position",Td.getMode(n)),((e,t,o)=>{Lt(e.element,t).fold(()=>{Mt(e.element,o)},t=>{Ot(e.element,o,t)}),It(e.element,t,"hidden")})(e,"visibility",t.cloakVisibilityAttr)},qd=(e,t,o)=>{(e=>N(["top","left","right","bottom"],t=>Lt(e,t).isSome()))(e.element)||Ht(e.element,"position"),((e,t,o)=>{Et(e.element,o).fold(()=>Ht(e.element,t),o=>It(e.element,t,o))})(e,"visibility",t.cloakVisibilityAttr)};var Xd=Object.freeze({__proto__:null,cloak:Yd,decloak:qd,open:jd,openWhileCloaked:(e,t,o,n,r)=>{Yd(e,t),jd(e,t,o,n),r(),qd(e,t)},close:Gd,isOpen:$d,isPartOf:(e,t,o,n)=>$d(0,0,o)&&o.get().exists(o=>t.isPartOf(e,o,n)),getState:(e,t,o)=>o.get(),setContent:(e,t,o,n)=>o.get().map(()=>Wd(e,t,o,n))}),Kd=Object.freeze({__proto__:null,events:(e,t)=>Hs([js(bs(),(o,n)=>{Gd(o,e,t)})])}),Jd=[Ni("onOpen"),Ni("onClose"),rr("isPartOf"),rr("getAttachPoint"),wr("cloakVisibilityAttr","data-precloak-visibility")],Qd=Object.freeze({__proto__:null,init:()=>{const e=rc(),t=x("not-implemented");return Ea({readState:t,isOpen:e.isSet,clear:e.clear,set:e.set,get:e.get})}});const Zd=Ml({fields:Jd,name:"sandboxing",active:Kd,apis:Xd,state:Qd}),eu=x("dismiss.popups"),tu=x("reposition.popups"),ou=x("mouse.released"),nu=Bn([wr("isExtraPart",T),xr("fireEventInstead",[wr("event",_s())])]),ru=e=>{const t=Jn("Dismissal",nu,e);return{[eu()]:{schema:Bn([rr("target")]),onReceive:(e,o)=>{Zd.isOpen(e)&&(Zd.isPartOf(e,o.target)||t.isExtraPart(e,o.target)||t.fireEventInstead.fold(()=>Zd.close(e),t=>Rs(e,t.event)))}}}},su=Bn([xr("fireEventInstead",[wr("event",Ts())]),cr("doReposition")]),au=e=>{const t=Jn("Reposition",su,e);return{[tu()]:{onReceive:e=>{Zd.isOpen(e)&&t.fireEventInstead.fold(()=>t.doReposition(e),t=>Rs(e,t.event))}}}},iu=(e,t,o)=>{t.store.manager.onLoad(e,t,o)},lu=(e,t,o)=>{t.store.manager.onUnload(e,t,o)};var cu=Object.freeze({__proto__:null,onLoad:iu,onUnload:lu,setValue:(e,t,o,n)=>{t.store.manager.setValue(e,t,o,n)},getValue:(e,t,o)=>t.store.manager.getValue(e,t,o),getState:(e,t,o)=>o}),du=Object.freeze({__proto__:null,events:(e,t)=>{const o=e.resetOnDom?[Qs((o,n)=>{iu(o,e,t)}),Zs((o,n)=>{lu(o,e,t)})]:[Ol(e,t,iu)];return Hs(o)}});const uu=()=>{const e=Mr(null);return Ea({set:e.set,get:e.get,isNotSet:()=>null===e.get(),clear:()=>{e.set(null)},readState:()=>({mode:"memory",value:e.get()})})},mu=()=>{const e=Mr({}),t=Mr({});return Ea({readState:()=>({mode:"dataset",dataByValue:e.get(),dataByText:t.get()}),lookup:o=>be(e.get(),o).orThunk(()=>be(t.get(),o)),update:o=>{const n=e.get(),r=t.get(),s={},a={};P(o,e=>{s[e.value]=e,be(e,"meta").each(t=>{be(t,"text").each(t=>{a[t]=e})})}),e.set({...n,...s}),t.set({...r,...a})},clear:()=>{e.set({}),t.set({})}})};var gu=Object.freeze({__proto__:null,memory:uu,dataset:mu,manual:()=>Ea({readState:b}),init:e=>e.store.manager.state(e)});const pu=(e,t,o,n)=>{const r=t.store;o.update([n]),r.setValue(e,n),t.onSetValue(e,n)};var hu=[gr("initialValue"),rr("getFallbackEntry"),rr("getDataKey"),rr("setValue"),Pi("manager",{setValue:pu,getValue:(e,t,o)=>{const n=t.store,r=n.getDataKey(e);return o.lookup(r).getOrThunk(()=>n.getFallbackEntry(r))},onLoad:(e,t,o)=>{t.store.initialValue.each(n=>{pu(e,t,o,n)})},onUnload:(e,t,o)=>{o.clear()},state:mu})],fu=[rr("getValue"),wr("setValue",b),gr("initialValue"),Pi("manager",{setValue:(e,t,o,n)=>{t.store.setValue(e,n),t.onSetValue(e,n)},getValue:(e,t,o)=>t.store.getValue(e),onLoad:(e,t,o)=>{t.store.initialValue.each(o=>{t.store.setValue(e,o)})},onUnload:b,state:Ta.init})],bu=[gr("initialValue"),Pi("manager",{setValue:(e,t,o,n)=>{o.set(n),t.onSetValue(e,n)},getValue:(e,t,o)=>o.get(),onLoad:(e,t,o)=>{t.store.initialValue.each(e=>{o.isNotSet()&&o.set(e)})},onUnload:(e,t,o)=>{o.clear()},state:uu})],vu=[Sr("store",{mode:"memory"},Zn("mode",{memory:bu,manual:fu,dataset:hu})),Ni("onSetValue"),wr("resetOnDom",!1)];const yu=Ml({fields:vu,name:"representing",active:du,apis:cu,extra:{setValueFrom:(e,t)=>{const o=yu.getValue(t);yu.setValue(e,o)}},state:gu}),xu=(e,t)=>Ar(e,{},V(t,t=>{return o=t.name(),n="Cannot configure "+t.name()+" for "+e,tr(o,o,{tag:"option",process:{}},_n(e=>gn("The field: "+o+" is forbidden. "+n)));var o,n}).concat([or("dump",w)])),wu=e=>e.dump,Su=(e,t)=>({...El(t),...e.dump}),Cu=xu,ku=Su,Ou="placeholder",_u=Dr([{single:["required","valueThunk"]},{multiple:["required","valueThunks"]}]),Tu=e=>ve(e,"uiType"),Eu=(e,t,o,n)=>((e,t,o,n)=>Tu(o)&&o.uiType===Ou?((e,t,o,n)=>e.exists(e=>e!==o.owner)?_u.single(!0,x(o)):be(n,o.name).fold(()=>{throw new Error("Unknown placeholder component: "+o.name+"\nKnown: ["+ae(n)+"]\nNamespace: "+e.getOr("none")+"\nSpec: "+JSON.stringify(o,null,2))},e=>e.replace()))(e,0,o,n):_u.single(!1,x(o)))(e,0,o,n).fold((r,s)=>{const a=Tu(o)?s(t,o.config,o.validated):s(t),i=be(a,"components").getOr([]),l=q(i,o=>Eu(e,t,o,n));return[{...a,components:l}]},(e,n)=>{if(Tu(o)){const e=n(t,o.config,o.validated);return o.validated.preprocess.getOr(w)(e)}return n(t)}),Au=_u.single,Mu=_u.multiple,Du=x(Ou),Bu=Dr([{required:["data"]},{external:["data"]},{optional:["data"]},{group:["data"]}]),Iu=wr("factory",{sketch:w}),Fu=wr("schema",[]),Ru=rr("name"),Nu=tr("pname","pname",xn(e=>""),Ln()),zu=or("schema",()=>[gr("preprocess")]),Lu=wr("defaults",x({})),Vu=wr("overrides",x({})),Pu=In([Iu,Fu,Ru,Nu,Lu,Vu]),Hu=In([Iu,Fu,Ru,Lu,Vu]),Uu=In([Iu,Fu,Ru,Nu,Lu,Vu]),Wu=In([Iu,zu,Ru,rr("unit"),Nu,Lu,Vu]),ju=e=>e.fold(A.some,A.none,A.some,A.some),Gu=e=>{const t=e=>e.name;return e.fold(t,t,t,t)},$u=(e,t)=>o=>{const n=Jn("Converting part type",t,o);return e(n)},Yu=$u(Bu.required,Pu),qu=$u(Bu.external,Hu),Xu=$u(Bu.optional,Uu),Ku=$u(Bu.group,Wu),Ju=x("entirety");var Qu=Object.freeze({__proto__:null,required:Yu,external:qu,optional:Xu,group:Ku,asNamedPart:ju,name:Gu,asCommon:e=>e.fold(w,w,w,w),original:Ju});const Zu=(e,t,o,n)=>vn(t.defaults(e,o,n),o,{uid:e.partUids[t.name]},t.overrides(e,o,n)),em=(e,t)=>{const o={};return P(t,t=>{ju(t).each(t=>{const n=tm(e,t.pname);o[t.name]=o=>{const r=Jn("Part: "+t.name+" in "+e,In(t.schema),o);return{...n,config:o,validated:r}}})}),o},tm=(e,t)=>({uiType:Du(),owner:e,name:t}),om=(e,t,o)=>({uiType:Du(),owner:e,name:t,config:o,validated:{}}),nm=e=>q(e,e=>e.fold(A.none,A.some,A.none,A.none).map(e=>dr(e.name,e.schema.concat([Hi(Ju())]))).toArray()),rm=e=>V(e,Gu),sm=(e,t,o)=>((e,t,o)=>{const n={},r={};return P(o,e=>{e.fold(e=>{n[e.pname]=Au(!0,(t,o,n)=>e.factory.sketch(Zu(t,e,o,n)))},e=>{const o=t.parts[e.name];r[e.name]=x(e.factory.sketch(Zu(t,e,o[Ju()]),o))},e=>{n[e.pname]=Au(!1,(t,o,n)=>e.factory.sketch(Zu(t,e,o,n)))},e=>{n[e.pname]=Mu(!0,(t,o,n)=>{const r=t[e.name];return V(r,o=>e.factory.sketch(vn(e.defaults(t,o,n),o,e.overrides(t,o))))})})}),{internals:x(n),externals:x(r)}})(0,t,o),am=(e,t,o)=>((e,t,o,n)=>{const r=ce(n,(e,t)=>((e,t)=>{let o=!1;return{name:x(e),required:()=>t.fold((e,t)=>e,(e,t)=>e),used:()=>o,replace:()=>{if(o)throw new Error("Trying to use the same placeholder more than once: "+e);return o=!0,t}}})(t,e)),s=((e,t,o,n)=>q(o,o=>Eu(e,t,o,n)))(e,t,o,r);return le(r,o=>{if(!1===o.used()&&o.required())throw new Error("Placeholder: "+o.name()+" was not found in components list\nNamespace: "+e.getOr("none")+"\nComponents: "+JSON.stringify(t.components,null,2))}),s})(A.some(e),t,t.components,o),im=(e,t,o)=>{const n=t.partUids[o];return e.getSystem().getByUid(n).toOptional()},lm=(e,t,o)=>im(e,t,o).getOrDie("Could not find part: "+o),cm=(e,t,o)=>{const n={},r=t.partUids,s=e.getSystem();return P(o,e=>{n[e]=x(s.getByUid(r[e]))}),n},dm=(e,t)=>{const o=e.getSystem();return ce(t.partUids,(e,t)=>x(o.getByUid(e)))},um=e=>ae(e.partUids),mm=(e,t,o)=>{const n={},r=t.partUids,s=e.getSystem();return P(o,e=>{n[e]=x(s.getByUid(r[e]).getOrDie())}),n},gm=(e,t)=>{const o=rm(t);return Ir(V(o,t=>({key:t,value:e+"-"+t})))},pm=e=>tr("partUids","partUids",Sn(t=>gm(t.uid,e)),Ln());var hm=Object.freeze({__proto__:null,generate:em,generateOne:om,schemas:nm,names:rm,substitutes:sm,components:am,defaultUids:gm,defaultUidsSchema:pm,getAllParts:dm,getAllPartNames:um,getPart:im,getPartOrDie:lm,getParts:cm,getPartsOrDie:mm});const fm=(e,t,o,n,r)=>{const s=((e,t)=>(e.length>0?[dr("parts",e)]:[]).concat([rr("uid"),wr("dom",{}),wr("components",[]),Hi("originalSpec"),wr("debug.sketcher",{})]).concat(t))(n,r);return Jn(e+" [SpecSchema]",Bn(s.concat(t)),o)},bm=(e,t,o,n,r)=>{const s=vm(r),a=nm(o),i=pm(o),l=fm(e,t,s,a,[i]),c=sm(0,l,o);return n(l,am(e,l,c.internals()),s,c.externals())},vm=e=>(e=>ve(e,"uid"))(e)?e:{...e,uid:ba("uid")},ym=Bn([rr("name"),rr("factory"),rr("configFields"),wr("apis",{}),wr("extraApis",{})]),xm=Bn([rr("name"),rr("factory"),rr("configFields"),rr("partFields"),wr("apis",{}),wr("extraApis",{})]),wm=e=>{const t=Jn("Sketcher for "+e.name,ym,e),o=ce(t.apis,_a),n=ce(t.extraApis,(e,t)=>Sa(e,t));return{name:t.name,configFields:t.configFields,sketch:e=>((e,t,o,n)=>{const r=vm(n);return o(fm(e,t,r,[],[]),r)})(t.name,t.configFields,t.factory,e),...o,...n}},Sm=e=>{const t=Jn("Sketcher for "+e.name,xm,e),o=em(t.name,t.partFields),n=ce(t.apis,_a),r=ce(t.extraApis,(e,t)=>Sa(e,t));return{name:t.name,partFields:t.partFields,configFields:t.configFields,sketch:e=>bm(t.name,t.configFields,t.partFields,t.factory,e),parts:o,...n,...r}},Cm=e=>Ke("input")(e)&&"radio"!==Tt(e,"type")||Ke("textarea")(e);var km=Object.freeze({__proto__:null,getCurrent:(e,t,o)=>t.find(e)});const Om=[rr("find")],_m=Ml({fields:Om,name:"composing",apis:km}),Tm=["input","button","textarea","select"],Em=(e,t,o)=>{(t.disabled()?Fm:Rm)(e,t)},Am=(e,t)=>!0===t.useNative&&R(Tm,We(e.element)),Mm=e=>{Ot(e.element,"disabled","disabled")},Dm=e=>{Mt(e.element,"disabled")},Bm=e=>{Ot(e.element,"aria-disabled","true")},Im=e=>{Ot(e.element,"aria-disabled","false")},Fm=(e,t,o)=>{t.disableClass.each(t=>{ja(e.element,t)}),(Am(e,t)?Mm:Bm)(e),t.onDisabled(e)},Rm=(e,t,o)=>{t.disableClass.each(t=>{$a(e.element,t)}),(Am(e,t)?Dm:Im)(e),t.onEnabled(e)},Nm=(e,t)=>Am(e,t)?(e=>At(e.element,"disabled"))(e):(e=>"true"===Tt(e.element,"aria-disabled"))(e);var zm=Object.freeze({__proto__:null,enable:Rm,disable:Fm,isDisabled:Nm,onLoad:Em,set:(e,t,o,n)=>{(n?Fm:Rm)(e,t)}}),Lm=Object.freeze({__proto__:null,exhibit:(e,t)=>Ma({classes:t.disabled()?t.disableClass.toArray():[]}),events:(e,t)=>Hs([Us(gs(),(t,o)=>Nm(t,e)),Ol(e,t,Em)])}),Vm=[Tr("disabled",T),wr("useNative",!0),gr("disableClass"),Ni("onDisabled"),Ni("onEnabled")];const Pm=Ml({fields:Vm,name:"disabling",active:Lm,apis:zm}),Hm=(e,t,o,n)=>{const r=Zc(e.element,"."+t.highlightClass);P(r,o=>{N(n,e=>et(e.element,o))||($a(o,t.highlightClass),e.getSystem().getByDom(o).each(o=>{t.onDehighlight(e,o),Rs(o,Fs())}))})},Um=(e,t,o,n)=>{Hm(e,t,0,[n]),Wm(e,t,o,n)||(ja(n.element,t.highlightClass),t.onHighlight(e,n),Rs(n,Is()))},Wm=(e,t,o,n)=>Ya(n.element,t.highlightClass),jm=(e,t,o)=>yi(e.element,"."+t.itemClass).bind(t=>e.getSystem().getByDom(t).toOptional()),Gm=(e,t,o)=>{const n=Zc(e.element,"."+t.itemClass);return(n.length>0?A.some(n[n.length-1]):A.none()).bind(t=>e.getSystem().getByDom(t).toOptional())},$m=(e,t,o,n)=>{const r=Zc(e.element,"."+t.itemClass);return $(r,e=>Ya(e,t.highlightClass)).bind(t=>{const o=Zi(t,n,0,r.length-1);return e.getSystem().getByDom(r[o]).toOptional()})},Ym=(e,t,o)=>{const n=Zc(e.element,"."+t.itemClass);return we(V(n,t=>e.getSystem().getByDom(t).toOptional()))};var qm=Object.freeze({__proto__:null,dehighlightAll:(e,t,o)=>Hm(e,t,0,[]),dehighlight:(e,t,o,n)=>{Wm(e,t,o,n)&&($a(n.element,t.highlightClass),t.onDehighlight(e,n),Rs(n,Fs()))},highlight:Um,highlightFirst:(e,t,o)=>{jm(e,t).each(n=>{Um(e,t,o,n)})},highlightLast:(e,t,o)=>{Gm(e,t).each(n=>{Um(e,t,o,n)})},highlightAt:(e,t,o,n)=>{((e,t,o,n)=>{const r=Zc(e.element,"."+t.itemClass);return A.from(r[n]).fold(()=>an.error(new Error("No element found with index "+n)),e.getSystem().getByDom)})(e,t,0,n).fold(e=>{throw e},n=>{Um(e,t,o,n)})},highlightBy:(e,t,o,n)=>{const r=Ym(e,t);G(r,n).each(n=>{Um(e,t,o,n)})},isHighlighted:Wm,getHighlighted:(e,t,o)=>yi(e.element,"."+t.highlightClass).bind(t=>e.getSystem().getByDom(t).toOptional()),getFirst:jm,getLast:Gm,getPrevious:(e,t,o)=>$m(e,t,0,-1),getNext:(e,t,o)=>$m(e,t,0,1),getCandidates:Ym}),Xm=[rr("highlightClass"),rr("itemClass"),Ni("onHighlight"),Ni("onDehighlight")];const Km=Ml({fields:Xm,name:"highlighting",apis:qm}),Jm=[8],Qm=[9],Zm=[13],eg=[27],tg=[32],og=[37],ng=[38],rg=[39],sg=[40],ag=(e,t,o)=>{const n=K(e.slice(0,t)),r=K(e.slice(t+1));return G(n.concat(r),o)},ig=(e,t,o)=>{const n=K(e.slice(0,t));return G(n,o)},lg=(e,t,o)=>{const n=e.slice(0,t),r=e.slice(t+1);return G(r.concat(n),o)},cg=(e,t,o)=>{const n=e.slice(t+1);return G(n,o)},dg=e=>t=>{const o=t.raw;return R(e,o.which)},ug=e=>t=>X(e,e=>e(t)),mg=e=>!0===e.raw.shiftKey,gg=e=>!0===e.raw.ctrlKey,pg=k(mg),hg=(e,t)=>({matches:e,classification:t}),fg=(e,t,o)=>{t.exists(e=>o.exists(t=>et(t,e)))||Ns(e,Es(),{prevFocus:t,newFocus:o})},bg=()=>{const e=e=>Pl(e.element);return{get:e,set:(t,o)=>{const n=e(t);t.getSystem().triggerFocus(o,t.element);const r=e(t);fg(t,n,r)}}},vg=()=>{const e=e=>Km.getHighlighted(e).map(e=>e.element);return{get:e,set:(t,o)=>{const n=e(t);t.getSystem().getByDom(o).fold(b,e=>{Km.highlight(t,e)});const r=e(t);fg(t,n,r)}}};var yg;!function(e){e.OnFocusMode="onFocus",e.OnEnterOrSpaceMode="onEnterOrSpace",e.OnApiMode="onApi"}(yg||(yg={}));const xg=(e,t,o,n,r)=>{const s=(e,t,o,n,r)=>{return(s=o(e,t,n,r),a=t.event,G(s,e=>e.matches(a)).map(e=>e.classification)).bind(o=>o(e,t,n,r));var s,a},a={schema:()=>e.concat([wr("focusManager",bg()),Sr("focusInside","onFocus",Yn(e=>R(["onFocus","onEnterOrSpace","onApi"],e)?an.value(e):an.error("Invalid value for focusInside"))),Pi("handler",a),Pi("state",t),Pi("sendFocusIn",r)]),processKey:s,toEvents:(e,t)=>{const a=e.focusInside!==yg.OnFocusMode?A.none():r(e).map(o=>js(cs(),(n,r)=>{o(n,e,t),r.stop()})),i=[js(Qr(),(n,a)=>{s(n,a,o,e,t).fold(()=>{((o,n)=>{const s=dg(tg.concat(Zm))(n.event);e.focusInside===yg.OnEnterOrSpaceMode&&s&&zr(o,n)&&r(e).each(r=>{r(o,e,t),n.stop()})})(n,a)},e=>{a.stop()})}),js(Zr(),(o,r)=>{s(o,r,n,e,t).each(e=>{r.stop()})})];return Hs(a.toArray().concat(i))}};return a},wg=e=>{const t=[gr("onEscape"),gr("onEnter"),wr("selector",'[data-alloy-tabstop="true"]:not(:disabled)'),wr("firstTabstop",0),wr("useTabstopAt",E),gr("visibilitySelector")].concat([e]),o=(e,t)=>{const o=e.visibilitySelector.bind(e=>xi(t,e)).getOr(t);return Gt(o)>0},n=(e,t)=>t.focusManager.get(e).bind(e=>xi(e,t.selector)),r=(e,t,n)=>{((e,t)=>{const n=Zc(e.element,t.selector),r=U(n,e=>o(t,e));return A.from(r[t.firstTabstop])})(e,t).each(o=>{t.focusManager.set(e,o)})},s=(e,t,r,s)=>{const a=Zc(e.element,r.selector);return n(e,r).bind(t=>$(a,C(et,t)).bind(t=>((e,t,n,r,s)=>s(t,n,e=>((e,t)=>o(e,t)&&e.useTabstopAt(t))(r,e)).fold(()=>r.cyclic?A.some(!0):A.none(),t=>(r.focusManager.set(e,t),A.some(!0))))(e,a,t,r,s)))},a=(e,t,o)=>{const n=o.cyclic?ag:ig;return s(e,0,o,n)},i=(e,t,o)=>{const n=o.cyclic?lg:cg;return s(e,0,o,n)},l=x([hg(ug([mg,dg(Qm)]),a),hg(dg(Qm),i),hg(ug([pg,dg(Zm)]),(e,t,o)=>o.onEnter.bind(o=>o(e,t)))]),c=x([hg(dg(eg),(e,t,o)=>o.onEscape.bind(o=>o(e,t))),hg(dg(Qm),(e,t,o)=>n(e,o).filter(e=>!o.useTabstopAt(e)).bind(n=>((e=>(e=>at(e))(e).bind(ut).exists(t=>et(t,e)))(n)?a:i)(e,t,o)))]);return xg(t,Ta.init,l,c,()=>A.some(r))};var Sg=wg(or("cyclic",T)),Cg=wg(or("cyclic",E));const kg=(e,t,o)=>Cm(o)&&dg(tg)(t.event)?A.none():((e,t,o)=>(Ls(e,o,gs()),A.some(!0)))(e,0,o),Og=(e,t)=>A.some(!0),_g=[wr("execute",kg),wr("useSpace",!1),wr("useEnter",!0),wr("useControlEnter",!1),wr("useDown",!1)],Tg=(e,t,o)=>o.execute(e,t,e.element);var Eg=xg(_g,Ta.init,(e,t,o,n)=>{const r=o.useSpace&&!Cm(e.element)?tg:[],s=o.useEnter?Zm:[],a=o.useDown?sg:[],i=r.concat(s).concat(a);return[hg(dg(i),Tg)].concat(o.useControlEnter?[hg(ug([gg,dg(Zm)]),Tg)]:[])},(e,t,o,n)=>o.useSpace&&!Cm(e.element)?[hg(dg(tg),Og)]:[],()=>A.none());const Ag=()=>{const e=rc();return Ea({readState:()=>e.get().map(e=>({numRows:String(e.numRows),numColumns:String(e.numColumns)})).getOr({numRows:"?",numColumns:"?"}),setGridSize:(t,o)=>{e.set({numRows:t,numColumns:o})},getNumRows:()=>e.get().map(e=>e.numRows),getNumColumns:()=>e.get().map(e=>e.numColumns)})};var Mg=Object.freeze({__proto__:null,flatgrid:Ag,init:e=>e.state(e)});const Dg=e=>(t,o,n,r)=>{const s=e(t.element);return Rg(s,t,o,n,r)},Bg=(e,t)=>{const o=wc(e,t);return Dg(o)},Ig=(e,t)=>{const o=wc(t,e);return Dg(o)},Fg=e=>(t,o,n,r)=>Rg(e,t,o,n,r),Rg=(e,t,o,n,r)=>n.focusManager.get(t).bind(o=>e(t.element,o,n,r)).map(e=>(n.focusManager.set(t,e),!0)),Ng=Fg,zg=Fg,Lg=Fg,Vg=e=>!(e=>e.offsetWidth<=0&&e.offsetHeight<=0)(e.dom),Pg=(e,t,o)=>{const n=Zc(e,o);return(e=>$(e,e=>et(e,t)).map(t=>({index:t,candidates:e})))(U(n,Vg))},Hg=(e,t)=>$(e,e=>et(t,e)),Ug=(e,t,o,n)=>n(Math.floor(t/o),t%o).bind(t=>{const n=t.row*o+t.column;return n>=0&&nUg(e,t,n,(t,s)=>{const a=t===o-1?e.length-t*n:n,i=Zi(s,r,0,a-1);return A.some({row:t,column:i})}),jg=(e,t,o,n,r)=>Ug(e,t,n,(t,s)=>{const a=Zi(t,r,0,o-1),i=a===o-1?e.length-a*n:n,l=el(s,0,i-1);return A.some({row:a,column:l})}),Gg=[rr("selector"),wr("execute",kg),zi("onEscape"),wr("captureTab",!1),Ui()],$g=(e,t,o)=>{yi(e.element,t.selector).each(o=>{t.focusManager.set(e,o)})},Yg=e=>(t,o,n,r)=>Pg(t,o,n.selector).bind(t=>e(t.candidates,t.index,r.getNumRows().getOr(n.initSize.numRows),r.getNumColumns().getOr(n.initSize.numColumns))),qg=(e,t,o)=>o.captureTab?A.some(!0):A.none(),Xg=Yg((e,t,o,n)=>Wg(e,t,o,n,-1)),Kg=Yg((e,t,o,n)=>Wg(e,t,o,n,1)),Jg=Yg((e,t,o,n)=>jg(e,t,o,n,-1)),Qg=Yg((e,t,o,n)=>jg(e,t,o,n,1)),Zg=x([hg(dg(og),Bg(Xg,Kg)),hg(dg(rg),Ig(Xg,Kg)),hg(dg(ng),Ng(Jg)),hg(dg(sg),zg(Qg)),hg(ug([mg,dg(Qm)]),qg),hg(ug([pg,dg(Qm)]),qg),hg(dg(tg.concat(Zm)),(e,t,o,n)=>((e,t)=>t.focusManager.get(e).bind(e=>xi(e,t.selector)))(e,o).bind(n=>o.execute(e,t,n)))]),ep=x([hg(dg(eg),(e,t,o)=>o.onEscape(e,t)),hg(dg(tg),Og)]);var tp=xg(Gg,Ag,Zg,ep,()=>A.some($g));const op=(e,t,o,n,r)=>{const s=(e,t,o)=>r(e,t,n,0,o.length-1,o[t],t=>{return n=o[t],"button"===We(n)&&"disabled"===Tt(n,"disabled")?s(e,t,o):A.from(o[t]);var n});return Pg(e,o,t).bind(e=>{const t=e.index,o=e.candidates;return s(t,t,o)})},np=(e,t,o,n)=>op(e,t,o,n,(e,t,o,n,r,s,a)=>{const i=el(t+o,n,r);return i===e?A.from(s):a(i)}),rp=(e,t,o,n)=>op(e,t,o,n,(e,t,o,n,r,s,a)=>{const i=Zi(t,o,n,r);return i===e?A.none():a(i)}),sp=[rr("selector"),wr("getInitial",A.none),wr("execute",kg),zi("onEscape"),wr("executeOnMove",!1),wr("allowVertical",!0),wr("allowHorizontal",!0),wr("cycles",!0)],ap=(e,t,o)=>((e,t)=>t.focusManager.get(e).bind(e=>xi(e,t.selector)))(e,o).bind(n=>o.execute(e,t,n)),ip=(e,t,o)=>{t.getInitial(e).orThunk(()=>yi(e.element,t.selector)).each(o=>{t.focusManager.set(e,o)})},lp=(e,t,o)=>(o.cycles?rp:np)(e,o.selector,t,-1),cp=(e,t,o)=>(o.cycles?rp:np)(e,o.selector,t,1),dp=e=>(t,o,n,r)=>e(t,o,n,r).bind(()=>n.executeOnMove?ap(t,o,n):A.some(!0)),up=x([hg(dg(tg),Og),hg(dg(eg),(e,t,o)=>o.onEscape(e,t))]);var mp=xg(sp,Ta.init,(e,t,o,n)=>{const r=[...o.allowHorizontal?og:[]].concat(o.allowVertical?ng:[]),s=[...o.allowHorizontal?rg:[]].concat(o.allowVertical?sg:[]);return[hg(dg(r),dp(Bg(lp,cp))),hg(dg(s),dp(Ig(lp,cp))),hg(dg(Zm),ap),hg(dg(tg),ap)]},up,()=>A.some(ip));const gp=(e,t,o)=>A.from(e[t]).bind(e=>A.from(e[o]).map(e=>({rowIndex:t,columnIndex:o,cell:e}))),pp=(e,t,o,n)=>{const r=e[t].length,s=Zi(o,n,0,r-1);return gp(e,t,s)},hp=(e,t,o,n)=>{const r=Zi(o,n,0,e.length-1),s=e[r].length,a=el(t,0,s-1);return gp(e,r,a)},fp=(e,t,o,n)=>{const r=e[t].length,s=el(o+n,0,r-1);return gp(e,t,s)},bp=(e,t,o,n)=>{const r=el(o+n,0,e.length-1),s=e[r].length,a=el(t,0,s-1);return gp(e,r,a)},vp=[dr("selectors",[rr("row"),rr("cell")]),wr("cycles",!0),wr("previousSelector",A.none),wr("execute",kg)],yp=(e,t,o)=>{t.previousSelector(e).orThunk(()=>{const o=t.selectors;return yi(e.element,o.cell)}).each(o=>{t.focusManager.set(e,o)})},xp=(e,t)=>(o,n,r)=>{const s=r.cycles?e:t;return xi(n,r.selectors.row).bind(e=>{const t=Zc(e,r.selectors.cell);return Hg(t,n).bind(t=>{const n=Zc(o,r.selectors.row);return Hg(n,e).bind(e=>{const o=((e,t)=>V(e,e=>Zc(e,t.selectors.cell)))(n,r);return s(o,e,t).map(e=>e.cell)})})})},wp=xp((e,t,o)=>pp(e,t,o,-1),(e,t,o)=>fp(e,t,o,-1)),Sp=xp((e,t,o)=>pp(e,t,o,1),(e,t,o)=>fp(e,t,o,1)),Cp=xp((e,t,o)=>hp(e,o,t,-1),(e,t,o)=>bp(e,o,t,-1)),kp=xp((e,t,o)=>hp(e,o,t,1),(e,t,o)=>bp(e,o,t,1)),Op=x([hg(dg(og),Bg(wp,Sp)),hg(dg(rg),Ig(wp,Sp)),hg(dg(ng),Ng(Cp)),hg(dg(sg),zg(kp)),hg(dg(tg.concat(Zm)),(e,t,o)=>Pl(e.element).bind(n=>o.execute(e,t,n)))]),_p=x([hg(dg(tg),Og)]);var Tp=xg(vp,Ta.init,Op,_p,()=>A.some(yp));const Ep=[rr("selector"),wr("execute",kg),wr("moveOnTab",!1)],Ap=(e,t,o)=>o.focusManager.get(e).bind(n=>o.execute(e,t,n)),Mp=(e,t,o)=>{yi(e.element,t.selector).each(o=>{t.focusManager.set(e,o)})},Dp=(e,t,o)=>rp(e,o.selector,t,-1),Bp=(e,t,o)=>rp(e,o.selector,t,1),Ip=x([hg(dg(ng),Lg(Dp)),hg(dg(sg),Lg(Bp)),hg(ug([mg,dg(Qm)]),(e,t,o,n)=>o.moveOnTab?Lg(Dp)(e,t,o,n):A.none()),hg(ug([pg,dg(Qm)]),(e,t,o,n)=>o.moveOnTab?Lg(Bp)(e,t,o,n):A.none()),hg(dg(Zm),Ap),hg(dg(tg),Ap)]),Fp=x([hg(dg(tg),Og)]);var Rp=xg(Ep,Ta.init,Ip,Fp,()=>A.some(Mp));const Np=[zi("onSpace"),zi("onEnter"),zi("onShiftEnter"),zi("onLeft"),zi("onRight"),zi("onTab"),zi("onShiftTab"),zi("onUp"),zi("onDown"),zi("onEscape"),wr("stopSpaceKeyup",!1),gr("focusIn")];var zp=xg(Np,Ta.init,(e,t,o)=>[hg(dg(tg),o.onSpace),hg(ug([pg,dg(Zm)]),o.onEnter),hg(ug([mg,dg(Zm)]),o.onShiftEnter),hg(ug([mg,dg(Qm)]),o.onShiftTab),hg(ug([pg,dg(Qm)]),o.onTab),hg(dg(ng),o.onUp),hg(dg(sg),o.onDown),hg(dg(og),o.onLeft),hg(dg(rg),o.onRight),hg(dg(tg),o.onSpace)],(e,t,o)=>[...o.stopSpaceKeyup?[hg(dg(tg),Og)]:[],hg(dg(eg),o.onEscape)],e=>e.focusIn);const Lp=Sg.schema(),Vp=Cg.schema(),Pp=mp.schema(),Hp=tp.schema(),Up=Tp.schema(),Wp=Eg.schema(),jp=Rp.schema(),Gp=zp.schema(),$p=Bl({branchKey:"mode",branches:Object.freeze({__proto__:null,acyclic:Lp,cyclic:Vp,flow:Pp,flatgrid:Hp,matrix:Up,execution:Wp,menu:jp,special:Gp}),name:"keying",active:{events:(e,t)=>e.handler.toEvents(e,t)},apis:{focusIn:(e,t,o)=>{t.sendFocusIn(t).fold(()=>{e.getSystem().triggerFocus(e.element,e.element)},n=>{n(e,t,o)})},setGridSize:(e,t,o,n,r)=>{(e=>ye(e,"setGridSize"))(o)?o.setGridSize(n,r):console.error("Layout does not support setGridSize")}},state:Mg}),Yp=(e,t)=>{Hl(()=>{((e,t,o)=>{const n=e.components();(e=>{P(e.components(),e=>Wo(e.element)),Uo(e.element),e.syncComponents()})(e);const r=o(t),s=J(n,r);P(s,t=>{Ad(t),e.getSystem().removeFromWorld(t)}),P(r,t=>{Ed(t)?Id(e,t):(e.getSystem().addToWorld(t),Id(e,t),wt(e.element)&&Md(t))}),e.syncComponents()})(e,t,()=>V(t,e.getSystem().build))},e.element)},qp=(e,t)=>{Hl(()=>{((o,n)=>{const r=o.components(),s=q(n,e=>Oa(e).toArray());P(r,e=>{R(s,e)||Bd(e)});const a=((e,t,o)=>ei(e,t,(t,n)=>ti(e,n,t,o)))(e.element,t,e.getSystem().buildOrPatch),i=J(r,a);P(i,e=>{Ed(e)&&Bd(e)}),P(a,e=>{Ed(e)||Dd(o,e)}),o.syncComponents()})(e,t)},e.element)},Xp=(e,t,o,n)=>{Bd(t);const r=ti(e.element,o,n,e.getSystem().buildOrPatch);Dd(e,r),e.syncComponents()},Kp=(e,t,o)=>{const n=e.getSystem().build(o);Rd(e,n,t)},Jp=(e,t,o,n)=>{zd(t),Kp(e,(e,t)=>((e,t,o)=>{dt(e,o).fold(()=>{Po(e,t)},e=>{zo(e,t)})})(e,t,o),n)},Qp=(e,t)=>e.components(),Zp=(e,t,o,n,r)=>{const s=Qp(e);return A.from(s[n]).map(o=>(r.fold(()=>zd(o),r=>{(t.reuseDom?Xp:Jp)(e,o,n,r)}),o))};var eh=Object.freeze({__proto__:null,append:(e,t,o,n)=>{Kp(e,Po,n)},prepend:(e,t,o,n)=>{Kp(e,Vo,n)},remove:(e,t,o,n)=>{const r=Qp(e),s=G(r,e=>et(n.element,e.element));s.each(zd)},replaceAt:Zp,replaceBy:(e,t,o,n,r)=>{const s=Qp(e);return $(s,n).bind(o=>Zp(e,t,0,o,r))},set:(e,t,o,n)=>(t.reuseDom?qp:Yp)(e,n),contents:Qp});const th=Ml({fields:[_r("reuseDom",!0)],name:"replacing",apis:eh}),oh=(e,t)=>{const o=((e,t)=>{const o=Hs(t);return Ml({fields:[rr("enabled")],name:e,active:{events:x(o)}})})(e,t);return{key:e,value:{config:{},me:o,configAsRaw:x({}),initialConfig:{},state:Ta}}},nh=(e,t)=>{t.ignore||(Nl(e.element),t.onFocus(e))};var rh=Object.freeze({__proto__:null,focus:nh,blur:(e,t)=>{t.ignore||zl(e.element)},isFocused:e=>Ll(e.element)}),sh=Object.freeze({__proto__:null,exhibit:(e,t)=>{const o=t.ignore?{}:{attributes:{tabindex:"-1"}};return Ma(o)},events:e=>Hs([js(cs(),(t,o)=>{nh(t,e),o.stop()})].concat(e.stopMousedown?[js(Gr(),(e,t)=>{t.event.prevent()})]:[]))}),ah=[Ni("onFocus"),wr("stopMousedown",!1),wr("ignore",!1)];const ih=Ml({fields:ah,name:"focusing",active:sh,apis:rh}),lh=(e,t,o,n)=>{const r=o.get();o.set(n),((e,t,o)=>{t.toggleClass.each(t=>{o.get()?ja(e.element,t):$a(e.element,t)})})(e,t,o),((e,t,o)=>{const n=t.aria;n.update(e,n,o.get())})(e,t,o),r!==n&&t.onToggled(e,n)},ch=(e,t,o)=>{lh(e,t,o,!o.get())},dh=(e,t,o)=>{lh(e,t,o,t.selected)};var uh=Object.freeze({__proto__:null,onLoad:dh,toggle:ch,isOn:(e,t,o)=>o.get(),on:(e,t,o)=>{lh(e,t,o,!0)},off:(e,t,o)=>{lh(e,t,o,!1)},set:lh}),mh=Object.freeze({__proto__:null,exhibit:()=>Ma({}),events:(e,t)=>{const o=(n=e,r=t,s=ch,ta(e=>{s(e,n,r)}));var n,r,s;const a=Ol(e,t,dh);return Hs(Y([e.toggleOnExecute?[o]:[],[a]]))}});const gh=(e,t,o)=>{Ot(e.element,"aria-expanded",o)};var ph=[wr("selected",!1),gr("toggleClass"),wr("toggleOnExecute",!0),Ni("onToggled"),Sr("aria",{mode:"none"},Zn("mode",{pressed:[wr("syncWithExpanded",!1),Pi("update",(e,t,o)=>{Ot(e.element,"aria-pressed",o),t.syncWithExpanded&&gh(e,0,o)})],checked:[Pi("update",(e,t,o)=>{Ot(e.element,"aria-checked",o)})],expanded:[Pi("update",gh)],selected:[Pi("update",(e,t,o)=>{Ot(e.element,"aria-selected",o)})],none:[Pi("update",b)]}))];const hh=Ml({fields:ph,name:"toggling",active:mh,apis:uh,state:(fh=!1,{init:()=>{const e=Mr(fh);return{get:()=>e.get(),set:t=>e.set(t),clear:()=>e.set(fh),readState:()=>e.get()}}})});var fh;const bh=()=>{const e=(e,t)=>{t.stop(),zs(e)};return[js(os(),e),js(hs(),e),Xs(Hr()),Xs(Gr())]},vh=e=>Hs(Y([e.map(e=>ta((t,o)=>{e(t),o.stop()})).toArray(),bh()])),yh="alloy.item-hover",xh="alloy.item-focus",wh="alloy.item-toggled",Sh=e=>{(Pl(e.element).isNone()||ih.isFocused(e))&&(ih.isFocused(e)||ih.focus(e),Ns(e,yh,{item:e}))},Ch=e=>{Ns(e,xh,{item:e})},kh=x(yh),Oh=x(xh),_h=x(wh),Th=e=>e.toggling.map(e=>e.exclusive?"menuitemradio":"menuitemcheckbox").getOr("menuitem"),Eh=[rr("data"),rr("components"),rr("dom"),wr("hasSubmenu",!1),gr("toggling"),Cu("itemBehaviours",[hh,ih,$p,yu]),wr("ignoreFocus",!1),wr("domModification",{}),Pi("builder",e=>({dom:e.dom,domModification:{...e.domModification,attributes:{role:Th(e),...e.domModification.attributes,"aria-haspopup":e.hasSubmenu,...e.hasSubmenu?{"aria-expanded":!1}:{}}},behaviours:ku(e.itemBehaviours,[e.toggling.fold(hh.revoke,e=>hh.config((e=>({aria:{mode:"checked"},...ge(e,(e,t)=>"exclusive"!==t),onToggled:(t,o)=>{p(e.onToggled)&&e.onToggled(t,o),((e,t)=>{Ns(e,wh,{item:e,state:t})})(t,o)}}))(e))),ih.config({ignore:e.ignoreFocus,stopMousedown:e.ignoreFocus,onFocus:e=>{Ch(e)}}),$p.config({mode:"execution"}),yu.config({store:{mode:"memory",initialValue:e.data}}),oh("item-type-events",[...bh(),js(Xr(),Sh),js(ps(),ih.focus)])]),components:e.components,eventOrder:e.eventOrder})),wr("eventOrder",{})],Ah=[rr("dom"),rr("components"),Pi("builder",e=>({dom:e.dom,components:e.components,events:Hs([Ks(ps())])}))],Mh=x("item-widget"),Dh=x([Yu({name:"widget",overrides:e=>({behaviours:El([yu.config({store:{mode:"manual",getValue:t=>e.data,setValue:b}})])})})]),Bh=[rr("uid"),rr("data"),rr("components"),rr("dom"),wr("autofocus",!1),wr("ignoreFocus",!1),Cu("widgetBehaviours",[yu,ih,$p]),wr("domModification",{}),pm(Dh()),Pi("builder",e=>{const t=sm(Mh(),e,Dh()),o=am(Mh(),e,t.internals()),n=t=>im(t,e,"widget").map(e=>($p.focusIn(e),e)),r=(t,o)=>Cm(o.event.target)?A.none():e.autofocus?(o.setSource(t.element),A.none()):A.none();return{dom:e.dom,components:o,domModification:e.domModification,events:Hs([ta((e,t)=>{n(e).each(e=>{t.stop()})}),js(Xr(),Sh),js(ps(),(t,o)=>{e.autofocus?n(t):ih.focus(t)})]),behaviours:ku(e.widgetBehaviours,[yu.config({store:{mode:"memory",initialValue:e.data}}),ih.config({ignore:e.ignoreFocus,onFocus:e=>{Ch(e)}}),$p.config({mode:"special",focusIn:e.autofocus?e=>{n(e)}:Il(),onLeft:r,onRight:r,onEscape:(t,o)=>ih.isFocused(t)||e.autofocus?e.autofocus?(o.setSource(t.element),A.none()):A.none():(ih.focus(t),A.some(!0))})])}})],Ih=Zn("type",{widget:Bh,item:Eh,separator:Ah}),Fh=x([Ku({factory:{sketch:e=>{const t=Jn("menu.spec item",Ih,e);return t.builder(t)}},name:"items",unit:"item",defaults:(e,t)=>ve(t,"uid")?t:{...t,uid:ba("item")},overrides:(e,t)=>({type:t.type,ignoreFocus:e.fakeFocus,domModification:{classes:[e.markers.item]}})})]),Rh=x([rr("value"),rr("items"),rr("dom"),rr("components"),wr("eventOrder",{}),xu("menuBehaviours",[Km,yu,_m,$p]),Sr("movement",{mode:"menu",moveOnTab:!0},Zn("mode",{grid:[Ui(),Pi("config",(e,t)=>({mode:"flatgrid",selector:"."+e.markers.item,initSize:{numColumns:t.initSize.numColumns,numRows:t.initSize.numRows},focusManager:e.focusManager}))],matrix:[Pi("config",(e,t)=>({mode:"matrix",selectors:{row:t.rowSelector,cell:"."+e.markers.item},previousSelector:t.previousSelector,focusManager:e.focusManager})),rr("rowSelector"),wr("previousSelector",A.none)],menu:[wr("moveOnTab",!0),Pi("config",(e,t)=>({mode:"menu",selector:"."+e.markers.item,moveOnTab:t.moveOnTab,focusManager:e.focusManager}))]})),sr("markers",Di()),wr("fakeFocus",!1),wr("focusManager",bg()),Ni("onHighlight"),Ni("onDehighlight")]),Nh=x("alloy.menu-focus"),zh=Sm({name:"Menu",configFields:Rh(),partFields:Fh(),factory:(e,t,o,n)=>({uid:e.uid,dom:e.dom,markers:e.markers,behaviours:Su(e.menuBehaviours,[Km.config({highlightClass:e.markers.selectedItem,itemClass:e.markers.item,onHighlight:e.onHighlight,onDehighlight:e.onDehighlight}),yu.config({store:{mode:"memory",initialValue:e.value}}),_m.config({find:A.some}),$p.config(e.movement.config(e,e.movement))]),events:Hs([js(Oh(),(e,t)=>{const o=t.event;e.getSystem().getByDom(o.target).each(o=>{Km.highlight(e,o),t.stop(),Ns(e,Nh(),{menu:e,item:o})})}),js(kh(),(e,t)=>{const o=t.event.item;Km.highlight(e,o)}),js(_h(),(e,t)=>{const{item:o,state:n}=t.event;n&&"menuitemradio"===Tt(o.element,"role")&&((e,t)=>{const o=Zc(e.element,'[role="menuitemradio"][aria-checked="true"]');P(o,o=>{et(o,t.element)||e.getSystem().getByDom(o).each(e=>{hh.off(e)})})})(e,o)})]),components:t,eventOrder:e.eventOrder,domModification:{attributes:{role:"menu"}}})}),Lh=(e,t,o,n)=>be(o,n).bind(n=>be(e,n).bind(n=>{const r=Lh(e,t,o,n);return A.some([n].concat(r))})).getOr([]),Vh=e=>"prepared"===e.type?A.some(e.menu):A.none(),Ph=()=>{const e=Mr({}),t=Mr({}),o=Mr({}),n=rc(),r=Mr({}),s=e=>a(e).bind(Vh),a=e=>be(t.get(),e),i=t=>be(e.get(),t);return{setMenuBuilt:(e,o)=>{t.set({...t.get(),[e]:{type:"prepared",menu:o}})},setContents:(s,a,i,l)=>{n.set(s),e.set(i),t.set(a),r.set(l);const c=((e,t)=>{const o={};le(e,(e,t)=>{P(e,e=>{o[e]=t})});const n=t,r=de(t,(e,t)=>({k:e,v:t})),s=ce(r,(e,t)=>[t].concat(Lh(o,n,r,t)));return ce(o,e=>be(s,e).getOr([e]))})(l,i);o.set(c)},expand:t=>be(e.get(),t).map(e=>{const n=be(o.get(),t).getOr([]);return[e].concat(n)}),refresh:e=>be(o.get(),e),collapse:e=>be(o.get(),e).bind(e=>e.length>1?A.some(e.slice(1)):A.none()),lookupMenu:a,lookupItem:i,otherMenus:e=>{const t=r.get();return J(ae(t),e)},getPrimary:()=>n.get().bind(s),getMenus:()=>t.get(),clear:()=>{e.set({}),t.set({}),o.set({}),n.clear()},isClear:()=>n.get().isNone(),getTriggeringPath:(t,r)=>{const a=U(i(t).toArray(),e=>s(e).isSome());return be(o.get(),t).bind(t=>{const o=K(a.concat(t));return(e=>{const t=[];for(let o=0;o((t,o,n)=>s(t).bind(r=>(t=>he(e.get(),(e,o)=>e===t))(t).bind(e=>o(e).map(e=>({triggeredMenu:r,triggeringItem:e,triggeringPath:n})))))(t,r,o.slice(0,a+1)).fold(()=>xe(n.get(),t)?[]:[A.none()],e=>[A.some(e)])))})}}},Hh=Vh,Uh=da("tiered-menu-item-highlight"),Wh=da("tiered-menu-item-dehighlight");var jh;!function(e){e[e.HighlightMenuAndItem=0]="HighlightMenuAndItem",e[e.HighlightJustMenu=1]="HighlightJustMenu",e[e.HighlightNone=2]="HighlightNone"}(jh||(jh={}));const Gh=x("collapse-item"),$h=wm({name:"TieredMenu",configFields:[Vi("onExecute"),Vi("onEscape"),Li("onOpenMenu"),Li("onOpenSubmenu"),Ni("onRepositionMenu"),Ni("onCollapseMenu"),wr("highlightOnOpen",jh.HighlightMenuAndItem),dr("data",[rr("primary"),rr("menus"),rr("expansions")]),wr("fakeFocus",!1),Ni("onHighlightItem"),Ni("onDehighlightItem"),Ni("onHover"),Ii(),rr("dom"),wr("navigateOnHover",!0),wr("stayInDom",!1),xu("tmenuBehaviours",[$p,Km,_m,th]),wr("eventOrder",{})],apis:{collapseMenu:(e,t)=>{e.collapseMenu(t)},highlightPrimary:(e,t)=>{e.highlightPrimary(t)},repositionMenus:(e,t)=>{e.repositionMenus(t)}},factory:(e,t)=>{const o=rc(),n=Ph(),r=e=>yu.getValue(e).value,s=t=>ce(e.data.menus,(e,t)=>q(e.items,e=>"separator"===e.type?[]:[e.data.value])),a=Km.highlight,i=(t,o)=>{a(t,o),Km.getHighlighted(o).orThunk(()=>Km.getFirst(o)).each(n=>{e.fakeFocus?Km.highlight(o,n):Ls(t,n.element,ps())})},l=(e,t)=>we(V(t,t=>e.lookupMenu(t).bind(e=>"prepared"===e.type?A.some(e.menu):A.none()))),c=(t,o,n)=>{const r=l(o,o.otherMenus(n));P(r,o=>{Xa(o.element,[e.markers.backgroundMenu]),e.stayInDom||th.remove(t,o)})},d=(t,n)=>{const s=(t=>o.get().getOrThunk(()=>{const n={},s=Zc(t.element,`.${e.markers.item}`),a=U(s,e=>"true"===Tt(e,"aria-haspopup"));return P(a,e=>{t.getSystem().getByDom(e).each(e=>{const t=r(e);n[t]=e})}),o.set(n),n}))(t);le(s,(e,t)=>{const o=R(n,t);Ot(e.element,"aria-expanded",o)})},u=(t,o,n)=>A.from(n[0]).bind(r=>o.lookupMenu(r).bind(r=>{if("notbuilt"===r.type)return A.none();{const s=r.menu,a=l(o,n.slice(1));return P(a,t=>{ja(t.element,e.markers.backgroundMenu)}),wt(s.element)||th.append(t,ui(s)),Xa(s.element,[e.markers.backgroundMenu]),i(t,s),c(t,o,n),A.some(s)}}));let m;!function(e){e[e.HighlightSubmenu=0]="HighlightSubmenu",e[e.HighlightParent=1]="HighlightParent"}(m||(m={}));const g=(t,o,s=m.HighlightSubmenu)=>{if(o.hasConfigured(Pm)&&Pm.isDisabled(o))return A.some(o);{const a=r(o);return n.expand(a).bind(r=>(d(t,r),A.from(r[0]).bind(a=>n.lookupMenu(a).bind(i=>{const l=((e,t,o)=>{if("notbuilt"===o.type){const r=e.getSystem().build(o.nbMenu());return n.setMenuBuilt(t,r),r}return o.menu})(t,a,i);return wt(l.element)||th.append(t,ui(l)),e.onOpenSubmenu(t,o,l,K(r)),s===m.HighlightSubmenu?(Km.highlightFirst(l),u(t,n,r)):(Km.dehighlightAll(l),A.some(o))}))))}},p=(t,o)=>{const s=r(o);return n.collapse(s).bind(r=>(d(t,r),u(t,n,r).map(n=>(e.onCollapseMenu(t,o,n),n))))},h=t=>(o,n)=>xi(n.getSource(),`.${e.markers.item}`).bind(e=>o.getSystem().getByDom(e).toOptional().bind(e=>t(o,e).map(E))),f=Hs([js(Nh(),(e,t)=>{const o=t.event.item;n.lookupItem(r(o)).each(()=>{const o=t.event.menu;Km.highlight(e,o);const s=r(t.event.item);n.refresh(s).each(t=>c(e,n,t))})}),ta((t,o)=>{const n=o.event.target;t.getSystem().getByDom(n).each(o=>{0===r(o).indexOf("collapse-item")&&p(t,o),g(t,o,m.HighlightSubmenu).fold(()=>{e.onExecute(t,o)},b)})}),Qs((t,o)=>{(t=>{const o=((t,o,n)=>ce(n,(n,r)=>{const s=()=>zh.sketch({...n,value:r,markers:e.markers,fakeFocus:e.fakeFocus,onHighlight:(e,t)=>{Ns(e,Uh,{menuComp:e,itemComp:t})},onDehighlight:(e,t)=>{Ns(e,Wh,{menuComp:e,itemComp:t})},focusManager:e.fakeFocus?vg():bg()});return r===o?{type:"prepared",menu:t.getSystem().build(s())}:{type:"notbuilt",nbMenu:s}}))(t,e.data.primary,e.data.menus),r=s();return n.setContents(e.data.primary,o,e.data.expansions,r),n.getPrimary()})(t).each(o=>{th.append(t,ui(o)),e.onOpenMenu(t,o),e.highlightOnOpen===jh.HighlightMenuAndItem?i(t,o):e.highlightOnOpen===jh.HighlightJustMenu&&a(t,o)})}),js(Uh,(t,o)=>{e.onHighlightItem(t,o.event.menuComp,o.event.itemComp)}),js(Wh,(t,o)=>{e.onDehighlightItem(t,o.event.menuComp,o.event.itemComp)}),...e.navigateOnHover?[js(kh(),(t,o)=>{const s=o.event.item;((e,t)=>{const o=r(t);n.refresh(o).bind(t=>(d(e,t),u(e,n,t)))})(t,s),g(t,s,m.HighlightParent),e.onHover(t,s)})]:[]]),v=e=>Km.getHighlighted(e).bind(Km.getHighlighted),y={collapseMenu:e=>{v(e).each(t=>{p(e,t)})},highlightPrimary:e=>{n.getPrimary().each(t=>{i(e,t)})},repositionMenus:t=>{const o=n.getPrimary().bind(e=>v(t).bind(e=>{const t=r(e),o=fe(n.getMenus()),s=we(V(o,Hh));return n.getTriggeringPath(t,e=>((e,t,o)=>se(t,e=>{if(!e.getSystem().isConnected())return A.none();const t=Km.getCandidates(e);return G(t,e=>r(e)===o)}))(0,s,e))}).map(t=>({primary:e,triggeringPath:t})));o.fold(()=>{(e=>A.from(e.components()[0]).filter(e=>"menu"===Tt(e.element,"role")))(t).each(o=>{e.onRepositionMenu(t,o,[])})},({primary:o,triggeringPath:n})=>{e.onRepositionMenu(t,o,n)})}};return{uid:e.uid,dom:e.dom,markers:e.markers,behaviours:Su(e.tmenuBehaviours,[$p.config({mode:"special",onRight:h((e,t)=>Cm(t.element)?A.none():g(e,t,m.HighlightSubmenu)),onLeft:h((e,t)=>Cm(t.element)?A.none():p(e,t)),onEscape:h((t,o)=>p(t,o).orThunk(()=>e.onEscape(t,o).map(()=>t))),focusIn:(e,t)=>{n.getPrimary().each(t=>{Ls(e,t.element,ps())})}}),Km.config({highlightClass:e.markers.selectedMenu,itemClass:e.markers.menu}),_m.config({find:e=>Km.getHighlighted(e)}),th.config({})]),eventOrder:e.eventOrder,apis:y,events:f}},extraApis:{tieredData:(e,t,o)=>({primary:e,menus:t,expansions:o}),singleData:(e,t)=>({primary:e,menus:Br(e,t),expansions:{}}),collapseItem:e=>({value:da(Gh()),meta:{text:e}})}}),Yh=wm({name:"InlineView",configFields:[rr("lazySink"),Ni("onShow"),Ni("onHide"),vr("onEscape"),xu("inlineBehaviours",[Zd,yu,Fl]),xr("fireDismissalEventInstead",[wr("event",_s())]),xr("fireRepositionEventInstead",[wr("event",Ts())]),wr("getRelated",A.none),wr("isExtraPart",T),wr("eventOrder",A.none)],factory:(e,t)=>{const o=(t,o,n,r)=>{const s=e.lazySink(t).getOrDie();Zd.openWhileCloaked(t,o,()=>Td.positionWithinBounds(s,t,n,r())),yu.setValue(t,A.some({mode:"position",config:n,getBounds:r}))},n=(t,o,n,r)=>{const s=((e,t,o,n,r)=>{const s=()=>e.lazySink(t),a="horizontal"===n.type?{layouts:{onLtr:()=>wl(),onRtl:()=>Sl()}}:{},i=e=>(e=>2===e.length)(e)?a:{};return $h.sketch({dom:{tag:"div"},data:n.data,markers:n.menu.markers,highlightOnOpen:n.menu.highlightOnOpen,fakeFocus:n.menu.fakeFocus,onEscape:()=>(Zd.close(t),e.onEscape.map(e=>e(t)),A.some(!0)),onExecute:()=>A.some(!0),onOpenMenu:(e,t)=>{Td.positionWithinBounds(s().getOrDie(),t,o,r())},onOpenSubmenu:(e,t,o,n)=>{const r=s().getOrDie();Td.position(r,o,{anchor:{type:"submenu",item:t,...i(n)}})},onRepositionMenu:(e,t,n)=>{const a=s().getOrDie();Td.positionWithinBounds(a,t,o,r()),P(n,e=>{const t=i(e.triggeringPath);Td.position(a,e.triggeredMenu,{anchor:{type:"submenu",item:e.triggeringItem,...t}})})}})})(e,t,o,n,r);Zd.open(t,s),yu.setValue(t,A.some({mode:"menu",menu:s}))},r=t=>{Zd.isOpen(t)&&yu.getValue(t).each(o=>{switch(o.mode){case"menu":Zd.getState(t).each($h.repositionMenus);break;case"position":const n=e.lazySink(t).getOrDie();Td.positionWithinBounds(n,t,o.config,o.getBounds())}})},s={setContent:(e,t)=>{Zd.setContent(e,t)},showAt:(e,t,n)=>{const r=A.none;o(e,t,n,r)},showWithinBounds:o,showMenuAt:(e,t,o)=>{n(e,t,o,A.none)},showMenuWithinBounds:n,hide:e=>{Zd.isOpen(e)&&(yu.setValue(e,A.none()),Zd.close(e))},getContent:e=>Zd.getState(e),reposition:r,isOpen:Zd.isOpen};return{uid:e.uid,dom:e.dom,behaviours:Su(e.inlineBehaviours,[Zd.config({isPartOf:(t,o,n)=>Ci(o,n)||((t,o)=>e.getRelated(t).exists(e=>Ci(e,o)))(t,n),getAttachPoint:t=>e.lazySink(t).getOrDie(),onOpen:t=>{e.onShow(t)},onClose:t=>{e.onHide(t)}}),yu.config({store:{mode:"memory",initialValue:A.none()}}),Fl.config({channels:{...ru({isExtraPart:t.isExtraPart,...e.fireDismissalEventInstead.map(e=>({fireEventInstead:{event:e.event}})).getOr({})}),...au({...e.fireRepositionEventInstead.map(e=>({fireEventInstead:{event:e.event}})).getOr({}),doReposition:r})}})]),eventOrder:e.eventOrder,apis:s}},apis:{showAt:(e,t,o,n)=>{e.showAt(t,o,n)},showWithinBounds:(e,t,o,n,r)=>{e.showWithinBounds(t,o,n,r)},showMenuAt:(e,t,o,n)=>{e.showMenuAt(t,o,n)},showMenuWithinBounds:(e,t,o,n,r)=>{e.showMenuWithinBounds(t,o,n,r)},hide:(e,t)=>{e.hide(t)},isOpen:(e,t)=>e.isOpen(t),getContent:(e,t)=>e.getContent(t),setContent:(e,t,o)=>{e.setContent(t,o)},reposition:(e,t)=>{e.reposition(t)}}});var qh=hugerte.util.Tools.resolve("hugerte.util.Delay");const Xh=wm({name:"Button",factory:e=>{const t=vh(e.action),o=e.dom.tag,n=t=>be(e.dom,"attributes").bind(e=>be(e,t));return{uid:e.uid,dom:e.dom,components:e.components,events:t,behaviours:ku(e.buttonBehaviours,[ih.config({}),$p.config({mode:"execution",useSpace:!0,useEnter:!0})]),domModification:{attributes:"button"===o?{type:n("type").getOr("button"),...n("role").map(e=>({role:e})).getOr({})}:{role:e.role.getOr(n("role").getOr("button"))}},eventOrder:e.eventOrder}},configFields:[wr("uid",void 0),rr("dom"),wr("components",[]),Cu("buttonBehaviours",[ih,$p]),gr("action"),gr("role"),wr("eventOrder",{})]}),Kh=e=>{const t=Re(e),o=ct(t),n=(e=>{const t=void 0!==e.dom.attributes?e.dom.attributes:[];return j(t,(e,t)=>"class"===t.name?e:{...e,[t.name]:t.value},{})})(t),r=(e=>Array.prototype.slice.call(e.dom.classList,0))(t),s=0===o.length?{}:{innerHtml:oa(t)};return{tag:We(t),classes:r,attributes:n,...s}},Jh=e=>{const t=(e=>void 0!==e.uid)(e)&&ye(e,"uid")?e.uid:ba("memento");return{get:e=>e.getSystem().getByUid(t).getOrDie(),getOpt:e=>e.getSystem().getByUid(t).toOptional(),asSpec:()=>({...e,uid:t})}}; /*! @license DOMPurify 3.4.11 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.11/LICENSE */ function Qh(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=Array(t);o2?o-2:0),r=2;r1?t-1:0),n=1;n1?o-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:vf;if(tf&& // Make 'in' and truthy checks like Boolean(set.constructor) // independent of any properties defined on Object.prototype. // Prevent prototype setters from intercepting set as a this value. tf(e,null),!bf(t))return e;let n=t.length;for(;n--;){let r=t[n];if("string"==typeof r){const e=o(r);e!==r&&( // Config presets (e.g. tags.js, attrs.js) are immutable. of(t)||(t[n]=e),r=e)}e[r]=!0}return e} /** * Clean up an array to harden against CSPP * * @param array - The array to be cleaned. * @returns The cleaned version of the array */function Rf(e){for(let t=0;t/g),Jf=af(/\${[\w\W]*/g),Qf=af(/^data-[\-\w.\u00B7-\uFFFF]+$/),Zf=af(/^aria-[\-\w]+$/),eb=af(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),tb=af(/^(?:\w+script|data):/i),ob=af(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),nb=af(/^html$/i),rb=af(/^[a-z][.\w]*(-[.\w]+)+$/i),sb=af(/<[/\w!]/g),ab=af(/<[/\w]/g),ib=af(/<\/no(script|embed|frames)/i),lb=af(/\/>/i),cb=function(){return"undefined"==typeof window?null:window},db=function(e,t,o,n){return Ef(e,t)&&bf(e[t])?Ff(n.base?Nf(n.base):{},e[t],n.transform):o};var ub=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:cb();const o=t=>e(t);if(o.version="3.4.11",o.removed=[],!t||!t.document||9!==t.document.nodeType||!t.Element) // Not running in a browser, provide a factory function // so that you can pass your own Window return o.isSupported=!1,o;let n=t.document;const r=n,s=r.currentScript;t.DocumentFragment;const a=t.HTMLTemplateElement,i=t.Node,l=t.Element,c=t.NodeFilter;void 0===t.NamedNodeMap&&(t.NamedNodeMap||t.MozNamedAttrMap),t.HTMLFormElement;const d=t.DOMParser,u=t.trustedTypes,m=l.prototype,g=zf(m,"cloneNode"),p=zf(m,"remove"),h=zf(m,"nextSibling"),f=zf(m,"childNodes"),b=zf(m,"parentNode"),v=zf(m,"shadowRoot"),y=zf(m,"attributes"),x=i&&i.prototype?zf(i.prototype,"nodeType"):null,w=i&&i.prototype?zf(i.prototype,"nodeName"):null; // As per issue #47, the web-components registry is inherited by a // new document created via createHTMLDocument. As per the spec // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries) // a new empty registry is used when creating a template contents owner // document, so we use that as our parent document to ensure nothing // is inherited. if("function"==typeof a){const e=n.createElement("template");e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let S,C,k="",O=!1,_=0;const T=function(){if(_>0)throw Df('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},E=function(e){T(),_++;try{return S.createHTML(e)}finally{_--}},A=n,M=A.implementation,D=A.createNodeIterator,B=A.createDocumentFragment,I=A.getElementsByTagName,F=r.importNode;let R={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}; /** * Expose whether this browser supports running the full DOMPurify. */o.isSupported="function"==typeof ef&&"function"==typeof b&&M&&void 0!==M.createHTMLDocument;const N=Xf,z=Kf,L=Jf,V=Qf,P=Zf,H=tb,U=ob,W=rb;let j=eb,G=null; /** * We consider the elements and attributes below to be safe. Ideally * don't add any new ones but feel free to remove unwanted ones. */ /* allowed element names */const $=Ff({},[...Lf,...Vf,...Pf,...Uf,...jf]); /* Allowed attribute names */let Y=null;const q=Ff({},[...Gf,...$f,...Yf,...qf]); /* * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements. * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements) * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list) * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`. */let X=Object.seal(lf(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),K=null,J=null; /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */ /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */ const Q=Object.seal(lf(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})); /* Decide if ARIA attributes are okay */let Z=!0,ee=!0,te=!1,oe=!0,ne=!1,re=!0,se=!1,ae=!1,ie=null,le=null,ce=!1,de=!1,ue=!1,me=!1,ge=!0,pe=!1; /* Decide if custom data attributes are okay */const he="user-content-"; /* Keep element content when removing element? */let fe=!0,be=!1,ve={},ye=null; /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead * of importing it into a new Document and returning a sanitized copy */const xe=Ff({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script", // mirrors the selected