mancha 0.17.0 → 0.17.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +8 -7
- package/README.md +66 -6
- package/dist/browser.d.ts +2 -0
- package/dist/browser.js +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/css_gen_utils.js +323 -412
- package/dist/css_gen_utils.js.map +1 -1
- package/dist/dome.d.ts +1 -0
- package/dist/dome.js +15 -0
- package/dist/dome.js.map +1 -1
- package/dist/expressions/parser.js +9 -4
- package/dist/expressions/parser.js.map +1 -1
- package/dist/expressions/parser.test.js +44 -0
- package/dist/expressions/parser.test.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +1 -1
- package/dist/mancha.js +1 -1
- package/dist/plugins.js +94 -23
- package/dist/plugins.js.map +1 -1
- package/dist/renderer.js +4 -2
- package/dist/renderer.js.map +1 -1
- package/dist/safe_browser.js +1 -1
- package/dist/store.d.ts +10 -4
- package/dist/store.js +25 -9
- package/dist/store.js.map +1 -1
- package/dist/test_utils.d.ts +2 -0
- package/dist/test_utils.js +14 -1
- package/dist/test_utils.js.map +1 -1
- package/dist/trusted_attributes.js +2 -0
- package/dist/trusted_attributes.js.map +1 -1
- package/dist/type_checker.js +46 -15
- package/dist/type_checker.js.map +1 -1
- package/dist/worker.d.ts +2 -0
- package/dist/worker.js +1 -0
- package/dist/worker.js.map +1 -1
- package/docs/quickstart.md +164 -0
- package/package.json +3 -3
- package/tsec_exemptions.json +1 -1
package/dist/plugins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"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"}
|
package/dist/renderer.js
CHANGED
|
@@ -124,7 +124,7 @@ export class IRenderer extends SignalStore {
|
|
|
124
124
|
this.log("Preprocessing node:\n", nodeToString(node, 128));
|
|
125
125
|
// Resolve all the includes in the node.
|
|
126
126
|
await RendererPlugins.resolveIncludes.call(this, node, params);
|
|
127
|
-
// Resolve all the relative paths in the node.
|
|
127
|
+
// Resolve all the relative paths in the node (including :render).
|
|
128
128
|
await RendererPlugins.rebaseRelativePaths.call(this, node, params);
|
|
129
129
|
// Register all the custom elements in the node.
|
|
130
130
|
await RendererPlugins.registerCustomElements.call(this, node, params);
|
|
@@ -149,8 +149,10 @@ export class IRenderer extends SignalStore {
|
|
|
149
149
|
// Do these steps one at a time to avoid any potential race conditions.
|
|
150
150
|
for (const node of traverse(root, this._skipNodes)) {
|
|
151
151
|
this.log("Rendering node:\n", nodeToString(node, 128));
|
|
152
|
-
// Resolve
|
|
152
|
+
// Resolve :for first - creates copies before other plugins modify the template.
|
|
153
153
|
await RendererPlugins.resolveForAttribute.call(this, node, params);
|
|
154
|
+
// Resolve :render - creates subrenderer, mounts, then runs init after descendants.
|
|
155
|
+
await RendererPlugins.resolveRenderAttribute.call(this, node, params);
|
|
154
156
|
// Resolve the :data attribute in the node.
|
|
155
157
|
await RendererPlugins.resolveDataAttribute.call(this, node, params);
|
|
156
158
|
// Resolve the :text attribute in the node.
|
package/dist/renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAIrD;;;;;GAKG;AACH,MAAM,OAAgB,SAA6C,SAAQ,WAAc;IAE7E,SAAS,GAAY,KAAK,CAAC;IAClB,OAAO,GAAW,EAAE,CAAC;IAC/B,UAAU,GAAc,IAAI,GAAG,EAAE,CAAC;IAClC,eAAe,GAAsB,IAAI,GAAG,EAAE,CAAC;IAMxD;;;;;OAKG;IACH,KAAK,CAAC,IAAa;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,MAAqB;QACpD,OAAO,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACvF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,MAAqB;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAe,EACf,MAAoC;QAEpC,IAAI,CAAC,GAAG,CAAC,6CAA6C,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CACpB,KAAa,EACb,MAAoC;QAEpC,MAAM,YAAY,GAAgB,EAAE,CAAC;QACrC,IAAI,MAAM,EAAE,KAAK;YAAE,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACpC,GAAG,MAAM;YACT,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;YACvB,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,KAAa,EACb,MAAoC;QAEpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACpC,GAAG,MAAM;YACT,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;YACvB,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,MAAM,QAAQ,GAAG,IAAK,IAAI,CAAC,WAAmB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAc,CAAC;QAEpF,4EAA4E;QAE5E,sDAAsD;QACtD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAErC,iFAAiF;QACjF,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC;QAExE,mDAAmD;QAClD,QAAgB,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAEzD,OAAO,QAAqB,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,GAAG,IAAW;QAChB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAClB,IAAO,EACP,MAAqB;QAErB,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;QAE5D,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAChF,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3D,wCAAwC;YACxC,MAAM,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC/D,
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
|
package/dist/safe_browser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={};function t(e){0}class s{constructor(e,t){this.privateDoNotAccessOrElseWrappedAttributePrefix=t}toString(){return this.privateDoNotAccessOrElseWrappedAttributePrefix}}const r=s;function i(e){if(function(e){return e instanceof s}(e))return e.privateDoNotAccessOrElseWrappedAttributePrefix;throw new Error("")}function n(e){return Object.isFrozen(e)&&Object.isFrozen(e.raw)}function a(e){return-1===e.toString().indexOf("`")}a(e=>e``)||a(e=>e`\0`)||a(e=>e`\n`)||a(e=>e`\u0000`),n``&&n`\0`&&n`\n`&&n`\u0000`;function o(t){const s=t[0].toLowerCase();return new r(e,s)}let l,c="google#safe";function h(){var e;return""!==c&&null!==(e=function(){if("undefined"!=typeof window)return window.trustedTypes}())&&void 0!==e?e:null}class u{constructor(e,s){t(),this.privateDoNotAccessOrElseWrappedHtml=e}toString(){return this.privateDoNotAccessOrElseWrappedHtml.toString()}}function d(t,s){return null!=s?s:new u(t,e)}"undefined"!=typeof window&&window.TrustedHTML;function p(e){var t;const s=e;return d(s,null===(t=function(){var e,t;if(void 0===l)try{l=null!==(t=null===(e=h())||void 0===e?void 0:e.createPolicy(c,{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e}))&&void 0!==t?t:null}catch(e){l=null}return l}())||void 0===t?void 0:t.createHTML(s))}function f(e){var t;if(null===(t=h())||void 0===t?void 0:t.isHTML(e))return e;if(e instanceof u)return e.privateDoNotAccessOrElseWrappedHtml;throw new Error("")}"undefined"!=typeof window&&window.TrustedScriptURL;"undefined"!=typeof window&&window.TrustedScript;function _(e,t){t.appendChild(e);let s=(new XMLSerializer).serializeToString(t);return s=s.slice(s.indexOf(">")+1,s.lastIndexOf("</")),p(s)}const m=["data:","http:","https:","mailto:","ftp:"],E=/^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i;function v(e){if(!function(e){const t=!E.test(e);return t}(e))return e}function w(e){return v(e)}function b(e){const t=function(e){let t;try{t=new URL(e)}catch(e){return"https:"}return t.protocol}(e);return void 0!==t&&-1!==m.indexOf(t.toLowerCase())?e:"about:invalid#zClosurez"}function g(e,t){const s=t.createRange();s.selectNode(t.body);return function(e,t){return e.createContextualFragment(f(t))}(s,p(e))}function y(e){const t=e.nodeName;return"string"==typeof t?t:"FORM"}function A(e){return 3===e.nodeType}function T(e){const t=e.nodeType;return 1===t||"number"!=typeof t}var R,O;function P(e){try{return new URL(e,window.document.baseURI)}catch(e){return new URL("about:invalid")}}function I(e){return{valueOf:e}.valueOf()}!function(e){e[e.STYLE_TAG=0]="STYLE_TAG",e[e.STYLE_ATTRIBUTE=1]="STYLE_ATTRIBUTE",e[e.HTML_ATTRIBUTE=2]="HTML_ATTRIBUTE"}(R||(R={}));class N{constructor(e,t,s,r,i){this.allowedElements=e,this.elementPolicies=t,this.allowedGlobalAttributes=s,this.globalAttributePolicies=r,this.globallyAllowedAttributePrefixes=i}isAllowedElement(e){return"FORM"!==e&&(this.allowedElements.has(e)||this.elementPolicies.has(e))}getAttributePolicy(e,t){const s=this.elementPolicies.get(t);if(null==s?void 0:s.has(e))return s.get(e);if(this.allowedGlobalAttributes.has(e))return{policyAction:O.KEEP};const r=this.globalAttributePolicies.get(e);return r||(this.globallyAllowedAttributePrefixes&&[...this.globallyAllowedAttributePrefixes].some(t=>0===e.indexOf(t))?{policyAction:O.KEEP}:{policyAction:O.DROP})}}!function(e){e[e.DROP=0]="DROP",e[e.KEEP=1]="KEEP",e[e.KEEP_AND_SANITIZE_URL=2]="KEEP_AND_SANITIZE_URL",e[e.KEEP_AND_NORMALIZE=3]="KEEP_AND_NORMALIZE",e[e.KEEP_AND_SANITIZE_STYLE=4]="KEEP_AND_SANITIZE_STYLE",e[e.KEEP_AND_USE_RESOURCE_URL_POLICY=5]="KEEP_AND_USE_RESOURCE_URL_POLICY",e[e.KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET=6]="KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET"}(O||(O={}));const S=new Set(["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"]);const x=["ARTICLE","SECTION","NAV","ASIDE","H1","H2","H3","H4","H5","H6","HEADER","FOOTER","ADDRESS","P","HR","PRE","BLOCKQUOTE","OL","UL","LH","LI","DL","DT","DD","FIGURE","FIGCAPTION","MAIN","DIV","EM","STRONG","SMALL","S","CITE","Q","DFN","ABBR","RUBY","RB","RT","RTC","RP","DATA","TIME","CODE","VAR","SAMP","KBD","SUB","SUP","I","B","U","MARK","BDI","BDO","SPAN","BR","WBR","INS","DEL","PICTURE","PARAM","TRACK","MAP","TABLE","CAPTION","COLGROUP","COL","TBODY","THEAD","TFOOT","TR","TD","TH","SELECT","DATALIST","OPTGROUP","OPTION","OUTPUT","PROGRESS","METER","FIELDSET","LEGEND","DETAILS","SUMMARY","MENU","DIALOG","SLOT","CANVAS","FONT","CENTER","ACRONYM","BASEFONT","BIG","DIR","HGROUP","STRIKE","TT"],L=[["A",new Map([["href",{policyAction:O.KEEP_AND_SANITIZE_URL}]])],["AREA",new Map([["href",{policyAction:O.KEEP_AND_SANITIZE_URL}]])],["LINK",new Map([["href",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY,conditions:new Map([["rel",new Set(["alternate","author","bookmark","canonical","cite","help","icon","license","next","prefetch","dns-prefetch","prerender","preconnect","preload","prev","search","subresource"])]])}]])],["SOURCE",new Map([["src",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY}],["srcset",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET}]])],["IMG",new Map([["src",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY}],["srcset",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET}]])],["VIDEO",new Map([["src",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY}]])],["AUDIO",new Map([["src",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY}]])]],k=["title","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-current","aria-disabled","aria-dropeffect","aria-expanded","aria-haspopup","aria-hidden","aria-invalid","aria-label","aria-level","aria-live","aria-multiline","aria-multiselectable","aria-orientation","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","alt","align","autocapitalize","autocomplete","autocorrect","autofocus","autoplay","bgcolor","border","cellpadding","cellspacing","checked","color","cols","colspan","controls","datetime","disabled","download","draggable","enctype","face","formenctype","frameborder","height","hreflang","hidden","ismap","label","lang","loop","max","maxlength","media","minlength","min","multiple","muted","nonce","open","placeholder","preload","rel","required","reversed","role","rows","rowspan","selected","shape","size","sizes","slot","span","spellcheck","start","step","summary","translate","type","valign","value","width","wrap","itemscope","itemtype","itemid","itemprop","itemref"],C=[["dir",{policyAction:O.KEEP_AND_NORMALIZE,conditions:I(()=>new Map([["dir",new Set(["auto","ltr","rtl"])]]))}],["async",{policyAction:O.KEEP_AND_NORMALIZE,conditions:I(()=>new Map([["async",new Set(["async"])]]))}],["cite",{policyAction:O.KEEP_AND_SANITIZE_URL}],["loading",{policyAction:O.KEEP_AND_NORMALIZE,conditions:I(()=>new Map([["loading",new Set(["eager","lazy"])]]))}],["poster",{policyAction:O.KEEP_AND_SANITIZE_URL}],["target",{policyAction:O.KEEP_AND_NORMALIZE,conditions:I(()=>new Map([["target",new Set(["_self","_blank"])]]))}]],D=new N(new Set(x),new Map(L),new Set(k),new Map(C));new N(new Set(I(()=>x.concat(["STYLE"]))),new Map(L),new Set(I(()=>k.concat(["id","name","class"]))),new Map(I(()=>C.concat([["style",{policyAction:O.KEEP_AND_SANITIZE_STYLE}]]))));class U{constructor(e,s,r,i,n){this.sanitizerTable=e,this.styleElementSanitizer=r,this.styleAttributeSanitizer=i,this.resourceUrlPolicy=n,this.changes=[],t()}sanitizeAssertUnchanged(e){return this.sanitize(e)}sanitize(e){const t=document.implementation.createHTMLDocument("");return _(this.sanitizeToFragmentInternal(e,t),t.body)}sanitizeToFragment(e){const t=document.implementation.createHTMLDocument("");return this.sanitizeToFragmentInternal(e,t)}sanitizeToFragmentInternal(e,t){const s=g(e,t),r=document.createTreeWalker(s,5,e=>this.nodeFilter(e));let i=r.nextNode();const n=t.createDocumentFragment();let a=n;for(;null!==i;){let e;if(A(i))if(this.styleElementSanitizer&&"STYLE"===a.nodeName){const t=this.styleElementSanitizer(i.data);e=this.createTextNode(t)}else e=this.sanitizeTextNode(i);else{if(!T(i)){throw new Error("")}e=this.sanitizeElementNode(i,t)}if(a.appendChild(e),i=r.firstChild(),i)a=e;else for(;!(i=r.nextSibling())&&(i=r.parentNode());)a=a.parentNode}return n}createTextNode(e){return document.createTextNode(e)}sanitizeTextNode(e){return this.createTextNode(e.data)}sanitizeElementNode(e,t){const s=y(e),r=t.createElement(s),i=e.attributes;for(const{name:e,value:t}of i){const n=this.sanitizerTable.getAttributePolicy(e,s);if(this.satisfiesAllConditions(n.conditions,i))switch(n.policyAction){case O.KEEP:$(r,e,t);break;case O.KEEP_AND_SANITIZE_URL:const i=b(t);i!==t&&this.recordChange(`Url in attribute ${e} was modified during sanitization. Original url:"${t}" was sanitized to: "${i}"`),$(r,e,i);break;case O.KEEP_AND_NORMALIZE:$(r,e,t.toLowerCase());break;case O.KEEP_AND_SANITIZE_STYLE:if(this.styleAttributeSanitizer){$(r,e,this.styleAttributeSanitizer(t))}else $(r,e,t);break;case O.KEEP_AND_USE_RESOURCE_URL_POLICY:if(this.resourceUrlPolicy){const i={type:R.HTML_ATTRIBUTE,attributeName:e,tagName:s},n=P(t),a=this.resourceUrlPolicy(n,i);a&&$(r,e,a.toString())}else $(r,e,t);break;case O.KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET:if(this.resourceUrlPolicy){const i={type:R.HTML_ATTRIBUTE,attributeName:e,tagName:s},n=z(t),a={parts:[]};for(const e of n.parts){const t=P(e.url),s=this.resourceUrlPolicy(t,i);s&&a.parts.push({url:s.toString(),descriptor:e.descriptor})}$(r,e,M(a))}else $(r,e,t);break;case O.DROP:this.recordChange(`Attribute: ${e} was dropped`)}else this.recordChange(`Not all conditions satisfied for attribute: ${e}.`)}return r}nodeFilter(e){if(A(e))return 1;if(!T(e))return 2;const t=y(e);return null===t?(this.recordChange(`Node name was null for node: ${e}`),2):this.sanitizerTable.isAllowedElement(t)?1:(this.recordChange(`Element: ${t} was dropped`),2)}recordChange(e){0}satisfiesAllConditions(e,t){var s;if(!e)return!0;for(const[r,i]of e){const e=null===(s=t.getNamedItem(r))||void 0===s?void 0:s.value;if(e&&!i.has(e))return!1}return!0}}function $(e,t,s){e.setAttribute(t,s)}function z(e){const t=[];for(const s of e.split(",")){const[e,r]=s.trim().split(/\s+/,2);t.push({url:e,descriptor:r})}return{parts:t}}function M(e){return e.parts.map(e=>{const{url:t,descriptor:s}=e;return`${t}${s?` ${s}`:""}`}).join(" , ")}class F{constructor(){this.calledBuild=!1,this.sanitizerTable=D}onlyAllowElements(e){const t=new Set,s=new Map;for(let r of e){if(r=r.toUpperCase(),!this.sanitizerTable.isAllowedElement(r))throw new Error(`Element: ${r}, is not allowed by html5_contract.textpb`);const e=this.sanitizerTable.elementPolicies.get(r);void 0!==e?s.set(r,e):t.add(r)}return this.sanitizerTable=new N(t,s,this.sanitizerTable.allowedGlobalAttributes,this.sanitizerTable.globalAttributePolicies),this}allowCustomElement(e,t){const s=new Set(this.sanitizerTable.allowedElements),r=new Map(this.sanitizerTable.elementPolicies);if(e=e.toUpperCase(),i=e,S.has(i.toUpperCase())||!/^[a-z][-_.a-z0-9]*-[-_.a-z0-9]*$/i.test(i))throw new Error(`Element: ${e} is not a custom element`);var i;if(t){const s=new Map;for(const e of t)s.set(e,{policyAction:O.KEEP});r.set(e,s)}else s.add(e);return this.sanitizerTable=new N(s,r,this.sanitizerTable.allowedGlobalAttributes,this.sanitizerTable.globalAttributePolicies),this}onlyAllowAttributes(e){const t=new Set,s=new Map,r=new Map;for(const r of e)this.sanitizerTable.allowedGlobalAttributes.has(r)&&t.add(r),this.sanitizerTable.globalAttributePolicies.has(r)&&s.set(r,this.sanitizerTable.globalAttributePolicies.get(r));for(const[t,s]of this.sanitizerTable.elementPolicies.entries()){const i=new Map;for(const[t,r]of s.entries())e.has(t)&&i.set(t,r);r.set(t,i)}return this.sanitizerTable=new N(this.sanitizerTable.allowedElements,r,t,s),this}allowDataAttributes(e){const t=new Set(this.sanitizerTable.allowedGlobalAttributes);for(const s of e){if(0!==s.indexOf("data-"))throw new Error(`data attribute: ${s} does not begin with the prefix "data-"`);t.add(s)}return this.sanitizerTable=new N(this.sanitizerTable.allowedElements,this.sanitizerTable.elementPolicies,t,this.sanitizerTable.globalAttributePolicies),this}allowStyleAttributes(){const e=new Map(this.sanitizerTable.globalAttributePolicies);return e.set("style",{policyAction:O.KEEP_AND_SANITIZE_STYLE}),this.sanitizerTable=new N(this.sanitizerTable.allowedElements,this.sanitizerTable.elementPolicies,this.sanitizerTable.allowedGlobalAttributes,e),this}allowClassAttributes(){const e=new Set(this.sanitizerTable.allowedGlobalAttributes);return e.add("class"),this.sanitizerTable=new N(this.sanitizerTable.allowedElements,this.sanitizerTable.elementPolicies,e,this.sanitizerTable.globalAttributePolicies),this}allowIdAttributes(){const e=new Set(this.sanitizerTable.allowedGlobalAttributes);return e.add("id"),this.sanitizerTable=new N(this.sanitizerTable.allowedElements,this.sanitizerTable.elementPolicies,e,this.sanitizerTable.globalAttributePolicies),this}allowIdReferenceAttributes(){const e=new Set(this.sanitizerTable.allowedGlobalAttributes);return e.add("aria-activedescendant").add("aria-controls").add("aria-labelledby").add("aria-owns").add("for").add("list"),this.sanitizerTable=new N(this.sanitizerTable.allowedElements,this.sanitizerTable.elementPolicies,e,this.sanitizerTable.globalAttributePolicies),this}withResourceUrlPolicy(e){return this.resourceUrlPolicy=e,this}build(){if(this.calledBuild)throw new Error("this sanitizer has already called build");return this.calledBuild=!0,new U(this.sanitizerTable,e,void 0,void 0,this.resourceUrlPolicy)}}function G(e,t,s,r){if(0===e.length){throw new Error("")}const n=e.map(e=>i(e)),a=s.toLowerCase();if(n.every(e=>0!==a.indexOf(e)))throw new Error(`Attribute "${s}" does not match any of the allowed prefixes.`);t.setAttribute(s,r)}function K(e,t,s){return e.parseFromString(f(t),s)}Error;const H=[o`:`,o`style`,o`class`];function*W(e,t=new Set){const s=new Set,r=Array.from(e.childNodes).filter(e=>!t.has(e));for(yield e;r.length;){const e=r.shift();s.has(e)||(s.add(e),yield e),e.childNodes&&Array.from(e.childNodes).filter(e=>!t.has(e)).forEach(e=>r.push(e))}}function Y(e,t){return void 0!==e?.[t]}function B(e,t){return"function"==typeof e?.[t]}function V(e){return e.replace(/-./g,e=>e[1].toUpperCase())}function Z(e,t){return Y(e,"attribs")?e.attribs?.[t]??null:e.getAttribute?.(t)??null}function j(e,t,s=""){return Z(e,s+t)||(e.dataset?.[V(t)]??null)}function q(e,t,s){Y(e,"attribs")?e.attribs[t]=s:e.setAttribute?.(t,s)}function X(e,t,s){Y(e,"attribs")?e.attribs[t]=s:G(H,e,t,s)}function Q(e,t,s){switch(t){case"disabled":return void(e.disabled=s);case"selected":return void(e.selected=s);case"checked":return void(e.checked=s);default:e[t]=s}}function J(e,t){Y(e,"attribs")?delete e.attribs[t]:e.removeAttribute?.(t)}function ee(e,t,s=""){J(e,`${s}${t}`),J(e,`data-${t}`)}function te(e,t,s){if(Y(e,"attribs")&&Y(t,"attribs"))t.attribs[s]=e.attribs[s];else if(s.startsWith("data-")){const r=V(s.slice(5));t.dataset[r]=e.dataset?.[r]}else{const r=e?.getAttribute?.(s);X(t,s,r||"")}}function se(e){if(Y(e,"firstElementChild"))return e.firstElementChild;return Array.from(e.children).find(e=>1===e.nodeType)}function re(e,...t){if(B(e,"replaceWith"))return e.replaceWith(...t);{const s=e,r=s.parentNode,i=Array.from(r.childNodes).indexOf(s);t.forEach(e=>e.parentNode=r),r.childNodes=[].concat(Array.from(r.childNodes).slice(0,i)).concat(t).concat(Array.from(r.childNodes).slice(i+1))}}function ie(e,...t){B(e,"replaceChildren")?e.replaceChildren(...t):(e.childNodes=t,t.forEach(t=>t.parentNode=e))}function ne(e,t){return B(t,"appendChild")?e.appendChild(t):(e.childNodes.push(t),t.parentNode=e,t)}function ae(e,t){return B(t,"removeChild")?e.removeChild(t):(ie(e,...Array.from(e.childNodes).filter(e=>e!==t)),t)}function oe(e,t,s){return s?B(e,"insertBefore")?e.insertBefore(t,s):(re(s,t,s),t):ne(e,t)}function le(e,t=0){return e?e.length<=t?e:e.slice(0,t-1)+"…":""}function ce(e,t=0){return globalThis.DocumentFragment&&e instanceof DocumentFragment?Array.from(e.childNodes).map(e=>ce(e,t)).join(""):le(e.outerHTML||e.nodeValue||String(e),t)}function he(e){return e.includes("/")?e.split("/").slice(0,-1).join("/"):""}class ue{iterable;constructor(e){this.iterable=e}filter(e){return new ue(ue.filterGenerator(e,this.iterable))}map(e){return new ue(ue.mapGenerator(e,this.iterable))}find(e){for(const t of this.iterable)if(e(t))return t}array(){return Array.from(this.iterable)}*generator(){for(const e of this.iterable)yield e}static*filterGenerator(e,t){for(const s of t)e(s)&&(yield s)}static*mapGenerator(e,t){for(const s of t)yield e(s)}static equals(e,t){const s=e[Symbol.iterator](),r=t[Symbol.iterator]();let i=s.next(),n=r.next();for(;!i.done&&!n.done;){if(i.value!==n.value)return!1;i=s.next(),n=r.next()}return i.done===n.done}}var de;!function(e){e.resolveIncludes=async function(e,t){const s=e,r=s.tagName?.toLowerCase();if(!["include","link"].includes(r))return;if("link"===r&&"subresource"!==Z(s,"rel"))return;this.log("include directive found in:\n",ce(e,128)),this.log("include params:",t);const i="link"===s.tagName.toLocaleLowerCase()?"href":"src",n=Z(s,i);if(!n)throw new Error(`"${i}" attribute missing from ${ce(e,128)}.`);const a=[];"include"===r&&a.push("src"),"link"===r&&a.push("rel","href");const o=t=>{const r=se(t);for(const e of Array.from(s.attributes))r&&!a.includes(e.name)&&te(s,r,e.name);re(e,...t.childNodes)},l={...t,rootDocument:!1,maxdepth:t?.maxdepth-1};if(0===l.maxdepth)throw new Error("Maximum recursion depth reached.");if(n.includes("://")||n.startsWith("//"))this.log("Including remote file from absolute path:",n),await this.preprocessRemote(n,l).then(o);else if(t?.dirpath?.includes("://")||t?.dirpath?.startsWith("//")){const e=n.startsWith("/")?n:`${t.dirpath}/${n}`;this.log("Including remote file from relative path:",e),await this.preprocessRemote(e,l).then(o)}else if("/"===n.charAt(0))this.log("Including local file from absolute path:",n),await this.preprocessLocal(n,l).then(o);else{const e=t?.dirpath&&"."!==t?.dirpath?`${t?.dirpath}/${n}`:n;this.log("Including local file from relative path:",e),await this.preprocessLocal(e,l).then(o)}},e.rebaseRelativePaths=async function(e,t){const s=e,r=s.tagName?.toLowerCase();if(!t?.dirpath)return;const i=Z(s,"src"),n=Z(s,"href"),a=i||n;if(!a||((o=a).includes("://")||o.startsWith("/")||o.startsWith("#")||o.startsWith("data:")))return;var o;const l=`${t.dirpath}/${a}`;this.log("Rebasing relative path as:",l),Y(s,"attribs")?X(s,i?"src":"href",l):"img"===r?s.src=l:"a"===r?function(e,t){const s=w(t);void 0!==s&&(e.href=s)}(s,l):"source"===r||"audio"===r||"video"===r||"track"===r||"input"===r?s.src=l:"area"===r?function(e,t){const s=w(t);void 0!==s&&(e.href=s)}(s,l):this.log("Unable to rebase relative path for element:",r)},e.registerCustomElements=async function(e,t){const s=e,r=s.tagName?.toLowerCase(),i=(Z(s,"is")||Z(s,"alt"))?.toLowerCase();if(["template","div"].includes(r)&&i){if("div"===r&&"template"!==Z(s,"role"))return;this._customElements.has(i)||(this.log(`Registering custom element: ${i}\n`,ce(s,128)),this._customElements.set(i,s),ae(s.parentNode,s))}},e.resolveCustomElements=async function(e,t){const s=e,r=s.tagName?.toLowerCase();let i=r;if("div"===i&&(i=Z(s,"role")?.toLowerCase()||i),i&&this._customElements.has(i)){this.log(`Processing custom element: ${i}\n`,ce(s,128));const t=this._customElements.get(i),n=(t.content||t).cloneNode(!0),a=se(n);if(a)for(const e of Array.from(s.attributes))"div"===r&&"role"===e.name||te(s,a,e.name);const o=new ue(W(n)).find(e=>"slot"===e.tagName?.toLowerCase());o&&re(o,...s.childNodes),re(e,...n.childNodes)}},e.resolveTextNodeExpressions=async function(e,t){const s=e.nodeValue||"";if(3!==e.nodeType||!s?.trim())return;this.log("Processing node content value:\n",le(s,128));const r=new RegExp(/{{ ([^}]+) }}/gm),i=Array.from(s.matchAll(r)).map(e=>e[1]);return this.effect(function(){let t=s;for(const s of i){const r=this.eval(s,{$elem:e});t=t.replace(`{{ ${s} }}`,String(r))}e.nodeValue=t})},e.resolveDataAttribute=async function(e,t){if(this._skipNodes.has(e))return;const s=e,r=j(s,"data",":");if(r){this.log(":data attribute found in:\n",ce(e,128)),ee(s,"data",":");const i=t?.rootNode===e?this:this.subrenderer();e.renderer=i;const n=i.eval(r,{$elem:e});if(await Promise.all(Object.entries(n).map(([e,t])=>i._store.set(e,t))),i!==this)for(const t of W(e,this._skipNodes))this._skipNodes.add(t);await i.mount(e,t)}},e.resolveClassAttribute=async function(e,t){if(this._skipNodes.has(e))return;const s=e,r=j(s,"class",":");if(r){this.log(":class attribute found in:\n",ce(e,128)),ee(s,"class",":");const t=Z(s,"class")||"";return this.effect(function(){const i=this.eval(r,{$elem:e});X(s,"class",(i?`${t} ${i}`:t).trim())})}},e.resolveTextAttributes=async function(e,t){if(this._skipNodes.has(e))return;const s=e,r=j(s,"text",":");if(r){this.log(":text attribute found in:\n",ce(e,128)),ee(s,"text",":");const t=t=>this.textContent(e,t);return this.effect(function(){t(this.eval(r,{$elem:e}))})}},e.resolveHtmlAttribute=async function(e,t){if(this._skipNodes.has(e))return;const s=e,r=j(s,"html",":");return r?(this.log(":html attribute found in:\n",ce(e,128)),ee(s,"html",":"),this.effect(function(){const i=this.eval(r,{$elem:e});return new Promise(async e=>{const r=await this.preprocessString(i,t);await this.renderNode(r),ie(s,r),e()})})):void 0},e.resolveEventAttributes=async function(e,t){if(this._skipNodes.has(e))return;const s=e;for(const t of Array.from(s.attributes||[]))if(t.name.startsWith(":on:")||t.name.startsWith("data-on-")){let r="",i=[];if(t.name.startsWith(":on:")?[r,...i]=t.name.substring(4).split("."):t.name.startsWith("data-on-")&&([r,...i]=t.name.substring(8).split(".")),!r)throw new Error(`Invalid event attribute: ${t.name}`);this.log(t.name,"attribute found in:\n",ce(e,128)),ee(s,t.name);const n="submit"===r&&"FORM"===s.tagName.toUpperCase();e.addEventListener?.(r,s=>((i.includes("prevent")||n)&&s.preventDefault(),this.eval(t.value,{$elem:e,$event:s})))}},e.resolveForAttribute=async function(e,t){if(this._skipNodes.has(e))return;const s=e,r=j(s,"for",":")?.trim();if(r){this.log(":for attribute found in:\n",ce(e,128)),ee(s,"for",":");for(const t of W(e,this._skipNodes))this._skipNodes.add(t);const i=Z(s,"style")||"";q(s,"style","display: none;");const n=e.parentNode,a=this.createElement("template",e.ownerDocument);oe(n,a,e),ae(n,e),ne(a,e),this.log(":for template:\n",ce(a,128));const o=r.split(" in ",2);if(2!==o.length)throw new Error(`Invalid :for format: \`${r}\`. Expected "{key} in {expression}".`);const l=[],[c,h]=o;await this.effect(function(){const s=this.eval(h,{$elem:e});if(this.log(":for list items:",s),l.splice(0,l.length).forEach(e=>{ae(n,e),this._skipNodes.delete(e)}),!Array.isArray(s))return console.error(`Expression did not yield a list: \`${h}\` => \`${s}\``),Promise.resolve();const r=[];for(const n of s){const s=this.subrenderer();s._store.set(c,n);const a=e.cloneNode(!0);q(a,"style",i),l.push(a),this._skipNodes.add(a),r.push(s.mount(a,t)),this.log("Rendered list child:\n",ce(a,128))}const o=a.nextSibling;for(const e of l)oe(n,e,o);return Promise.all(r)})}},e.resolveBindAttribute=async function(e,t){if(this._skipNodes.has(e))return;const s=e,r=j(s,"bind",":");if(r){this.log(":bind attribute found in:\n",ce(e,128));const t=["change","input"],i=Z(s,":bind:on")?.split(",")||s.dataset?.bindOn?.split(",")||t;ee(s,"bind",":"),J(s,":bind:on"),J(s,"data-bind-on");const n="checkbox"===Z(s,"type")?"checked":"value";r.includes(".")||this.has(r)||this.set(r,""),this.effect(function(){const t=this.eval(r,{$elem:e});"checked"===n?s.checked=!!t:s.value=t});const a=`${r} = $elem.${n}`;for(const t of i)e.addEventListener(t,()=>this.eval(a,{$elem:e}))}},e.resolveShowAttribute=async function(e,t){if(this._skipNodes.has(e))return;const s=e,r=j(s,"show",":");if(r){this.log(":show attribute found in:\n",ce(e,128)),ee(s,"show",":");const t="none"===s.style?.display?"":s.style?.display??Z(s,"style")?.split(";")?.find(e=>"display"===e.split(":")[0])?.split(":")?.at(1)?.trim();this.effect(function(){const i=this.eval(r,{$elem:e});s.style?s.style.display=i?t:"none":X(s,"style",`display: ${i?t:"none"};`)})}},e.resolveCustomAttribute=async function(e,t){if(this._skipNodes.has(e))return;const s=e;for(const t of Array.from(s.attributes||[])){const r=":attr:",i="data-attr-";if(t.name.startsWith(r)||t.name.startsWith(i)){this.log(t.name,"attribute found in:\n",ce(e,128)),J(s,t.name);const n=t.name.split(r,2).at(-1)?.split(i,2).at(-1);this.effect(function(){const r=this.eval(t.value,{$elem:e});q(s,n,r)})}}},e.resolveCustomProperty=async function(e,t){if(this._skipNodes.has(e))return;const s=e;for(const t of Array.from(s.attributes||[])){const r=":prop:",i="data-prop-";if(t.name.startsWith(r)||t.name.startsWith(i)){this.log(t.name,"property found in:\n",ce(e,128)),J(s,t.name);const n=t.name.split(r,2).at(-1)?.split(i,2).at(-1),a=V(n);this.effect(function(){const r=this.eval(t.value,{$elem:e});Q(s,a,r)})}}},e.stripTypes=async function(e,t){const s=e;Z(s,":types")&&J(s,":types"),Z(s,"data-types")&&J(s,"data-types")}}(de||(de={}));const pe=new Set(["this","typeof"]),fe=new Set(["in"]),_e=new Set(["+","-","!","typeof"]),me=new Set(["=","+","-","*","/","%","^","==","!=",">","<",">=","<=","||","&&","??","&","===","!==","|","in"]),Ee={"!":0,":":0,",":0,")":0,"]":0,"}":0,"?":2,"??":3,"||":4,"&&":5,"|":6,"^":7,"&":8,"!=":9,"==":9,"!==":9,"===":9,">=":10,">":10,"<=":10,"<":10,in:10,"+":11,"-":11,"%":12,"/":12,"*":12,"(":13,"[":13,".":13,"?.":13,"{":13},ve={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,"===":(e,t)=>e===t,"!==":(e,t)=>e!==t,">":(e,t)=>e>t,">=":(e,t)=>e>=t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,"||":(e,t)=>e||t,"&&":(e,t)=>e&&t,"??":(e,t)=>e??t,"|":(e,t)=>t(e),in:(e,t)=>e in t},we={"+":e=>e,"-":e=>-e,"!":e=>!e,typeof:e=>typeof e};const be=new Set(["==","!=","<=",">=","||","&&","??","?."]),ge=new Set(["===","!=="]);var ye;!function(e){e[e.STRING=1]="STRING",e[e.IDENTIFIER=2]="IDENTIFIER",e[e.DOT=3]="DOT",e[e.COMMA=4]="COMMA",e[e.COLON=5]="COLON",e[e.INTEGER=6]="INTEGER",e[e.DECIMAL=7]="DECIMAL",e[e.OPERATOR=8]="OPERATOR",e[e.GROUPER=9]="GROUPER",e[e.KEYWORD=10]="KEYWORD",e[e.ARROW=11]="ARROW",e[e.OPTIONAL_DOT=12]="OPTIONAL_DOT",e[e.SPREAD=13]="SPREAD"}(ye||(ye={}));const Ae=(e,t,s=0)=>({kind:e,value:t,precedence:s}),Te=e=>9===e||10===e||13===e||32===e,Re=e=>95===e||36===e||65<=(e&=-33)&&e<=90,Oe=e=>Re(e)||Pe(e),Pe=e=>48<=e&&e<=57;class Ie{_input;_index=-1;_tokenStart=0;_next;constructor(e){this._input=e,this._advance()}nextToken(){for(;Te(this._next);)this._advance(!0);if(34===(e=this._next)||39===e)return this._tokenizeString();var e;if(Re(this._next))return this._tokenizeIdentOrKeyword();if(Pe(this._next))return this._tokenizeNumber();if(46===this._next)return this._tokenizeDot();if(44===this._next)return this._tokenizeComma();if(58===this._next)return this._tokenizeColon();if((e=>43===e||45===e||42===e||47===e||33===e||38===e||37===e||60===e||61===e||62===e||63===e||94===e||124===e)(this._next))return this._tokenizeOperator();if((e=>40===e||41===e||91===e||93===e||123===e||125===e)(this._next))return this._tokenizeGrouper();if(this._advance(),void 0!==this._next)throw new Error(`Expected end of input, got ${this._next}`)}_advance(e){this._index++,this._index<this._input.length?(this._next=this._input.charCodeAt(this._index),!0===e&&(this._tokenStart=this._index)):this._next=void 0}_getValue(e=0){const t=this._input.substring(this._tokenStart,this._index+e);return 0===e&&this._clearValue(),t}_clearValue(){this._tokenStart=this._index}_tokenizeString(){const e="unterminated string",t=this._next;for(this._advance(!0);this._next!==t;){if(void 0===this._next)throw new Error(e);if(92===this._next&&(this._advance(),void 0===this._next))throw new Error(e);this._advance()}const s=Ae(ye.STRING,this._getValue().replace(/\\(.)/g,(e,t)=>{switch(t){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"f":return"\f";default:return t}}));return this._advance(),s}_tokenizeIdentOrKeyword(){do{this._advance()}while(Oe(this._next));const e=this._getValue(),t=(s=e,pe.has(s)?ye.KEYWORD:fe.has(e)?ye.OPERATOR:ye.IDENTIFIER);var s;return Ae(t,e,Ee[e]??0)}_tokenizeNumber(){do{this._advance()}while(Pe(this._next));return 46===this._next?this._tokenizeDot():Ae(ye.INTEGER,this._getValue())}_tokenizeDot(){if(this._advance(),Pe(this._next))return this._tokenizeFraction();if(46===this._next){if(this._advance(),46===this._next)return this._advance(),this._clearValue(),Ae(ye.SPREAD,"...");throw new Error("Unexpected token ..")}return this._clearValue(),Ae(ye.DOT,".",13)}_tokenizeComma(){return this._advance(!0),Ae(ye.COMMA,",")}_tokenizeColon(){return this._advance(!0),Ae(ye.COLON,":")}_tokenizeFraction(){do{this._advance()}while(Pe(this._next));return Ae(ye.DECIMAL,this._getValue())}_tokenizeOperator(){this._advance();let e=this._getValue(2);if(ge.has(e))this._advance(),this._advance();else{if(e=this._getValue(1),"=>"===e)return this._advance(),Ae(ye.ARROW,e);be.has(e)&&this._advance()}return e=this._getValue(),"?."===e?Ae(ye.OPTIONAL_DOT,e,13):Ae(ye.OPERATOR,e,Ee[e])}_tokenizeGrouper(){const e=String.fromCharCode(this._next),t=Ae(ye.GROUPER,e,Ee[e]);return this._advance(!0),t}}class Ne{_kind;_tokenizer;_ast;_token;_value;constructor(e,t){this._tokenizer=new Ie(e),this._ast=t}parse(){this._advance();const e=this._parseExpression();if(this._token)throw new Error(`Unexpected token: ${this._token.value}`);return e}_advance(e,t){if(!this._matches(e,t))throw new Error(`Expected kind ${e} (${t}), was ${this._token?.kind} (${this._token?.value})`);const s=this._tokenizer.nextToken();this._token=s,this._kind=s?.kind,this._value=s?.value}_matches(e,t){return!(e&&this._kind!==e||t&&this._value!==t)}_parseExpression(){if(!this._token)return this._ast.empty();const e=this._parseUnary();return void 0===e?void 0:this._parsePrecedence(e,0)}_parsePrecedence(e,t){if(void 0===e)throw new Error("Expected left to be defined.");for(;this._token;)if(this._matches(ye.GROUPER,"(")){const t=this._parseArguments();e=this._ast.invoke(e,void 0,t)}else if(this._matches(ye.GROUPER,"[")){const t=this._parseIndex();e=this._ast.index(e,t)}else if(this._matches(ye.DOT)||this._matches(ye.OPTIONAL_DOT)){const t=this._kind===ye.OPTIONAL_DOT;if(this._advance(),t&&this._matches(ye.GROUPER,"[")){const t=this._parseIndex();e=this._ast.index(e,t,!0)}else if(t&&this._matches(ye.GROUPER,"(")){const t=this._parseArguments();e=this._ast.invoke(e,void 0,t,!0)}else{const s=this._parseUnary();e=this._makeInvokeOrGetter(e,s,t)}}else{if(this._matches(ye.KEYWORD))break;if(!(this._matches(ye.OPERATOR)&&this._token.precedence>=t))break;e="?"===this._value?this._parseTernary(e):this._parseBinary(e,this._token)}return e}_makeInvokeOrGetter(e,t,s){if(void 0===t)throw new Error("expected identifier");if("ID"===t.type)return this._ast.getter(e,t.value,s);if("Invoke"===t.type&&"ID"===t.receiver.type){const r=t.receiver;return this._ast.invoke(e,r.value,t.arguments,s)}throw new Error(`expected identifier: ${t}`)}_parseBinary(e,t){if(!me.has(t.value))throw new Error(`unknown operator: ${t.value}`);this._advance();let s=this._parseUnary();for(;(this._kind===ye.OPERATOR||this._kind===ye.DOT||this._kind===ye.GROUPER)&&this._token.precedence>t.precedence;)s=this._parsePrecedence(s,this._token.precedence);if(void 0===s)throw new Error(`Expected expression after ${t.value}`);return this._ast.binary(e,t.value,s)}_parseUnary(){if(this._matches(ye.KEYWORD,"typeof")){this._advance();const e=this._parsePrecedence(this._parsePrimary(),13);return this._ast.unary("typeof",e)}if(this._matches(ye.OPERATOR)){const e=this._value;if(this._advance(),"+"===e||"-"===e){if(this._matches(ye.INTEGER))return this._parseInteger(e);if(this._matches(ye.DECIMAL))return this._parseDecimal(e)}if(!_e.has(e))throw new Error(`unexpected token: ${e}`);const t=this._parsePrecedence(this._parsePrimary(),13);return this._ast.unary(e,t)}return this._parsePrimary()}_parseTernary(e){this._advance(ye.OPERATOR,"?");const t=this._parseExpression();this._advance(ye.COLON);const s=this._parseExpression();return this._ast.ternary(e,t,s)}_parsePrimary(){switch(this._kind){case ye.KEYWORD:const e=this._value;if("this"===e)return this._advance(),this._ast.id(e);if(pe.has(e))throw new Error(`unexpected keyword: ${e}`);throw new Error(`unrecognized keyword: ${e}`);case ye.IDENTIFIER:return this._parseInvokeOrIdentifier();case ye.STRING:return this._parseString();case ye.INTEGER:return this._parseInteger();case ye.DECIMAL:return this._parseDecimal();case ye.GROUPER:return"("===this._value?this._parseParenOrFunction():"{"===this._value?this._parseMap():"["===this._value?this._parseList():void 0;case ye.COLON:throw new Error('unexpected token ":"');default:return}}_parseList(){const e=[];do{if(this._advance(),this._matches(ye.GROUPER,"]"))break;if(this._matches(ye.SPREAD)){this._advance();const t=this._parseExpression();t&&e.push(this._ast.spreadElement(t))}else e.push(this._parseExpression())}while(this._matches(ye.COMMA));return this._advance(ye.GROUPER,"]"),this._ast.list(e)}_parseMap(){const e=[];do{if(this._advance(),this._matches(ye.GROUPER,"}"))break;if(this._matches(ye.SPREAD)){this._advance();const t=this._parseExpression();t&&e.push(this._ast.spreadProperty(t))}else{const t=this._value;(this._matches(ye.STRING)||this._matches(ye.IDENTIFIER))&&this._advance(),this._advance(ye.COLON);const s=this._parseExpression();s&&e.push(this._ast.property(t,s))}}while(this._matches(ye.COMMA));return this._advance(ye.GROUPER,"}"),this._ast.map(e)}_parseInvokeOrIdentifier(){const e=this._value;if("true"===e)return this._advance(),this._ast.literal(!0);if("false"===e)return this._advance(),this._ast.literal(!1);if("null"===e)return this._advance(),this._ast.literal(null);if("undefined"===e)return this._advance(),this._ast.literal(void 0);const t=this._parseIdentifier(),s=this._parseArguments();return s?this._ast.invoke(t,void 0,s):t}_parseIdentifier(){if(!this._matches(ye.IDENTIFIER))throw new Error(`expected identifier: ${this._value}`);const e=this._value;return this._advance(),this._ast.id(e)}_parseArguments(){if(!this._matches(ye.GROUPER,"("))return;const e=[];do{if(this._advance(),this._matches(ye.GROUPER,")"))break;if(this._matches(ye.SPREAD)){this._advance();const t=this._parseExpression();t&&e.push(this._ast.spreadElement(t))}else{const t=this._parseExpression();e.push(t)}}while(this._matches(ye.COMMA));return this._advance(ye.GROUPER,")"),e}_parseIndex(){this._advance();const e=this._parseExpression();return this._advance(ye.GROUPER,"]"),e}_parseParenOrFunction(){const e=this._parseArguments();if(this._matches(ye.ARROW)){this._advance();const t=this._parseExpression(),s=e?.map(e=>e.value)??[];return this._ast.arrowFunction(s,t)}return this._ast.paren(e[0])}_parseString(){const e=this._ast.literal(this._value);return this._advance(),e}_parseInteger(e=""){const t=this._ast.literal(parseInt(`${e}${this._value}`,10));return this._advance(),t}_parseDecimal(e=""){const t=this._ast.literal(parseFloat(`${e}${this._value}`));return this._advance(),t}}class Se{timeouts=new Map;debounce(e,t){return new Promise((s,r)=>{const i=this.timeouts.get(t);i&&clearTimeout(i),this.timeouts.set(t,setTimeout(()=>{try{s(t()),this.timeouts.delete(t)}catch(e){r(e)}},e))})}}const xe=new class{empty(){return{type:"Empty",evaluate:e=>e,getIds:e=>e}}literal(e){return{type:"Literal",value:e,evaluate(e){return this.value},getIds:e=>e}}id(e){return{type:"ID",value:e,evaluate(e){return"this"===this.value?e:e?.[this.value]},getIds(e){return e.push(this.value),e}}}unary(e,t){const s=we[e];return{type:"Unary",operator:e,child:t,evaluate(e){return s(this.child.evaluate(e))},getIds(e){return this.child.getIds(e)}}}binary(e,t,s){const r=ve[t];return{type:"Binary",operator:t,left:e,right:s,evaluate(e){if("="===this.operator){if("ID"!==this.left.type&&"Getter"!==this.left.type&&"Index"!==this.left.type)throw new Error(`Invalid assignment target: ${this.left}`);const t=this.right.evaluate(e);let s,r;return"Getter"===this.left.type?(s=this.left.receiver.evaluate(e),r=this.left.name):"Index"===this.left.type?(s=this.left.receiver.evaluate(e),r=String(this.left.argument.evaluate(e))):"ID"===this.left.type&&(s=e,r=this.left.value),void 0===s?void 0:s[r]=t}return r(this.left.evaluate(e),this.right.evaluate(e))},getIds(e){return this.left.getIds(e),this.right.getIds(e),e}}}getter(e,t,s){return{type:"Getter",receiver:e,name:t,optional:s,evaluate(e){const t=this.receiver.evaluate(e);if(!this.optional||null!=t)return t?.[this.name]},getIds(e){return this.receiver.getIds(e),e}}}invoke(e,t,s,r){if(null!=t&&"string"!=typeof t)throw new Error("method not a string");return{type:"Invoke",receiver:e,method:t,arguments:s,optional:r,evaluate(e){const t=this.receiver.evaluate(e);if(this.optional&&null==t)return;const s=this.method?t:e?.this??e,r=this.method?t?.[this.method]:t,i=this.arguments??[],n=[];for(const t of i)if("SpreadElement"===t?.type){const s=t.evaluate(e);s&&"function"==typeof s[Symbol.iterator]&&n.push(...s)}else n.push(t?.evaluate(e));return r?.apply?.(s,n)},getIds(e){return this.receiver.getIds(e),this.arguments?.forEach(t=>t?.getIds(e)),e}}}paren(e){return e}index(e,t,s){return{type:"Index",receiver:e,argument:t,optional:s,evaluate(e){const t=this.receiver.evaluate(e);if(this.optional&&null==t)return;const s=this.argument.evaluate(e);return t?.[s]},getIds(e){return this.receiver.getIds(e),e}}}ternary(e,t,s){return{type:"Ternary",condition:e,trueExpr:t,falseExpr:s,evaluate(e){return this.condition.evaluate(e)?this.trueExpr.evaluate(e):this.falseExpr.evaluate(e)},getIds(e){return this.condition.getIds(e),this.trueExpr.getIds(e),this.falseExpr.getIds(e),e}}}map(e){return{type:"Map",properties:e,evaluate(t){const s={};if(e&&this.properties)for(const e of this.properties)"SpreadProperty"===e.type?Object.assign(s,e.evaluate(t)):s[e.key]=e.value.evaluate(t);return s},getIds(t){if(e&&this.properties)for(const e of this.properties)"SpreadProperty"===e.type?e.expression.getIds(t):e.value.getIds(t);return t}}}property(e,t){return{type:"Property",key:e,value:t,evaluate(e){return this.value.evaluate(e)},getIds(e){return this.value.getIds(e)}}}list(e){return{type:"List",items:e,evaluate(e){if(!this.items)return[];const t=[];for(const s of this.items)if("SpreadElement"===s?.type){const r=s.evaluate(e);r&&"function"==typeof r[Symbol.iterator]&&t.push(...r)}else t.push(s?.evaluate(e));return t},getIds(e){return this.items?.forEach(t=>t?.getIds(e)),e}}}arrowFunction(e,t){return{type:"ArrowFunction",params:e,body:t,evaluate(e){const t=this.params,s=this.body;return function(...r){const i=Object.fromEntries(t.map((e,t)=>[e,r[t]])),n=new Proxy(e??{},{set:(e,t,s)=>(i.hasOwnProperty(t)&&(i[t]=s),e[t]=s),get:(e,t)=>i.hasOwnProperty(t)?i[t]:e[t]});return s.evaluate(n)}},getIds(e){return this.body.getIds(e).filter(e=>!this.params.includes(e))}}}spreadProperty(e){return{type:"SpreadProperty",expression:e,evaluate(e){return this.expression.evaluate(e)},getIds(e){return this.expression.getIds(e)}}}spreadElement(e){return{type:"SpreadElement",expression:e,evaluate(e){return this.expression.evaluate(e)},getIds(e){return this.expression.getIds(e)}}}},Le="__is_proxy__";function ke(e,t){const s=e?._store;return s?.has(t)?s.get(t):s?.has("$parent")?ke(s.get("$parent"),t):null}function Ce(e,t){const s=e?._store;return s?.has(t)?e:s?.has("$parent")?Ce(s.get("$parent"),t):null}class De extends Se{evalkeys=["$elem","$event"];expressionCache=new Map;observers=new Map;keyHandlers=new Map;_observer=null;_store=new Map;_lock=Promise.resolve();constructor(e){super();for(const[t,s]of Object.entries(e||{}))this.set(t,s)}wrapFunction(e){return(...t)=>e.call(this.$,...t)}wrapObject(e,t){return null==e||((s=e)instanceof De||!0===s[Le])||e.constructor!==Object&&!Array.isArray(e)?e:new Proxy(e,{deleteProperty:(e,s)=>"string"==typeof s&&s in e&&(delete e[s],t(),!0),set:(e,s,r,i)=>{"object"==typeof r&&null!==r&&(r=this.wrapObject(r,t));const n=Reflect.set(e,s,r,i);return t(),n},get:(e,t,s)=>t===Le||Reflect.get(e,t,s)});var s}watch(e,t){const s=Ce(this,e);if(!s)throw new Error(`Cannot watch key "${e}" as it does not exist in the store.`);s.observers.has(e)||s.observers.set(e,new Set),s.observers.get(e)?.has(t)||s.observers.get(e)?.add(t)}addKeyHandler(e,t){this.keyHandlers.has(e)||this.keyHandlers.set(e,new Set),this.keyHandlers.get(e).add(t)}async notify(e,t=10){const s=Ce(this,e),r=Array.from(s?.observers.get(e)||[]);await this.debounce(t,()=>Promise.all(r.map(e=>e.call(this.proxify(e)))))}get(e,t){return t&&this.watch(e,t),ke(this,e)}async set(e,t){if(t===this._store.get(e))return;const s=()=>this.notify(e);t&&"function"==typeof t&&(t=this.wrapFunction(t)),t&&"object"==typeof t&&(t=this.wrapObject(t,s)),function(e,t,s){const r=Ce(e,t);r?r._store.set(t,s):e._store.set(t,s)}(this,e,t);for(const[s,r]of this.keyHandlers.entries())if(s.test(e))for(const s of r)await Promise.resolve(s.call(this.$,e,t));await s()}async del(e){await this.set(e,null),this._store.delete(e),this.observers.delete(e)}keys(){return Array.from(this._store.keys())}has(e){return this._store.has(e)}effect(e){return e.call(this.proxify(e))}proxify(e){const t=Array.from(this._store.entries()).map(([e])=>e),s=Object.fromEntries(t.map(e=>[e,null]));return new Proxy(s,{has:(e,t)=>{if("string"==typeof t){if(Ce(this,t))return!0;if(Reflect.has(this,t))return!0}return Reflect.has(s,t)},get:(t,s,r)=>"string"==typeof s&&Ce(this,s)?this.get(s,e):"$"===s?this.proxify(e):Reflect.get(this,s,r),set:(e,t,s,r)=>("string"!=typeof t||t in this?Reflect.set(this,t,s,r):this.set(t,s),!0)})}get $(){return this.proxify()}makeEvalFunction(e){if(e.includes(";"))throw new Error("Complex expressions are not supported.");return(t,s)=>{const r=((e,t)=>new Ne(e,t).parse())(e,xe),i=new Proxy(s,{has:(e,s)=>s in e||s in t||s in globalThis,get(e,s){if("string"==typeof s)return s in e?e[s]:s in t?t[s]:globalThis[s]},set:(e,s,r)=>"string"==typeof s&&(s in e?(e[s]=r,!0):(t[s]=r,!0))});return r?.evaluate(i)}}cachedExpressionFunction(e){return e=e.trim(),this.expressionCache.has(e)||this.expressionCache.set(e,this.makeEvalFunction(e)),this.expressionCache.get(e)}eval(e,t={}){const s=this._observer?this:this.$;if(this._store.has(e))return s[e];{const r=this.cachedExpressionFunction(e);try{return r(s,t)}catch(t){return console.error(`Failed to evaluate expression: ${e}`),console.error(t),null}}}$resolve(e,t){const s={$pending:!0,$result:null,$error:null};return Promise.resolve().then(()=>e(t)).then(e=>{s.$result=e}).catch(e=>{s.$error=e instanceof Error?e:new Error(String(e))}).finally(()=>{s.$pending=!1}),s}}const Ue="$$";function $e(){return new URL(globalThis.window?.location?.href||"http://localhost/")}function ze(e){return`${Ue}${e}`}function Me(e){return e.keys().filter(e=>e.startsWith(Ue))}function Fe(e,t,s){const r=function(e){return e.substring(2)}(t);let i=!1;if(s){const t=String(s);e.searchParams.get(r)!==t&&(e.searchParams.set(r,t),i=!0)}else e.searchParams.has(r)&&(e.searchParams.delete(r),i=!0);return i}async function Ge(e){const t=$e();await async function(e,t){for(const[s,r]of t.searchParams.entries()){const t=ze(s);e.get(t)!==r&&await e.set(t,r)}}(e,t),function(e,t){let s=!1;for(const r of Me(t))Fe(e,r,t.get(r))&&(s=!0);s&&globalThis.window?.history?.replaceState({},"",e.toString())}(t,e),e.addKeyHandler(new RegExp("^\\$\\$"),(e,t)=>{const s=$e();Fe(s,e,t)&&globalThis.window?.history?.replaceState({},"",s.toString())}),globalThis.window?.addEventListener("popstate",function(e){return async()=>{const t=$e(),s=new Set;for(const[r,i]of t.searchParams.entries()){const t=ze(r);s.add(t),e.get(t)!==i&&e.set(t,i)}const r=Me(e);for(const t of r)s.has(t)||e.del(t)}}(e))}class Ke extends De{debugging=!1;dirpath="";_skipNodes=new Set;_customElements=new Map;debug(e){return this.debugging=e,this}async fetchRemote(e,t){return fetch(e,{cache:t?.cache??"default"}).then(e=>e.text())}async fetchLocal(e,t){return this.fetchRemote(e,t)}async preprocessString(e,t){this.log("Preprocessing string content with params:\n",t);const s=this.parseHTML(e,t);return await this.preprocessNode(s,t),s}async preprocessRemote(e,t){const s={};t?.cache&&(s.cache=t.cache);const r=await fetch(e,s).then(e=>e.text());return this.preprocessString(r,{...t,dirpath:he(e),rootDocument:t?.rootDocument??!e.endsWith(".tpl.html")})}async preprocessLocal(e,t){const s=await this.fetchLocal(e,t);return this.preprocessString(s,{...t,dirpath:he(e),rootDocument:t?.rootDocument??!e.endsWith(".tpl.html")})}subrenderer(){const e=(new this.constructor).debug(this.debugging);return e._store.set("$parent",this),e._store.set("$rootRenderer",this.get("$rootRenderer")??this),e._customElements=this._customElements,e}log(...e){this.debugging&&console.debug(...e)}async preprocessNode(e,t){t={dirpath:this.dirpath,maxdepth:10,...t};const s=new ue(W(e,this._skipNodes)).map(async e=>{this.log("Preprocessing node:\n",ce(e,128)),await de.resolveIncludes.call(this,e,t),await de.rebaseRelativePaths.call(this,e,t),await de.registerCustomElements.call(this,e,t),await de.resolveCustomElements.call(this,e,t)});return await Promise.all(s.generator()),e}async renderNode(e,t){for(const s of W(e,this._skipNodes))this.log("Rendering node:\n",ce(s,128)),await de.resolveForAttribute.call(this,s,t),await de.resolveDataAttribute.call(this,s,t),await de.resolveTextAttributes.call(this,s,t),await de.resolveHtmlAttribute.call(this,s,t),await de.resolveShowAttribute.call(this,s,t),await de.resolveClassAttribute.call(this,s,t),await de.resolveBindAttribute.call(this,s,t),await de.resolveEventAttributes.call(this,s,t),await de.resolveTextNodeExpressions.call(this,s,t),await de.resolveCustomAttribute.call(this,s,t),await de.resolveCustomProperty.call(this,s,t),await de.stripTypes.call(this,s,t);return e}async mount(e,t){t={...t,rootNode:e},Q(e,"renderer",this),this._store.set("$rootNode",e),this.has("$rootRenderer")||this._store.set("$rootRenderer",this),this.get("$rootRenderer")===this&&await Ge(this),await this.preprocessNode(e,t),await this.renderNode(e,t)}}const He=[":data",":for",":text",":html",":show",":class",":bind",":on:click",":on:click.prevent",":on:input",":on:input.prevent",":on:change",":on:change.prevent",":on:submit",":on:submit.prevent",":attr:src",":attr:href",":attr:title",":prop:checked",":prop:selected",":prop:disabled"],We=[...He.map(e=>(e=>`data-${e.slice(1).replace(":","-")}`)(e)),"data-testid"];class Ye extends Ke{impl="safe_browser";dirpath=he(globalThis.location?.href??"http://localhost/");parseHTML(e,t={rootDocument:!1}){for(const t of He)e=e.replace(new RegExp(`\\s:${t.slice(1)}=`,"g"),` data-${t.slice(1).replace(":","-")}=`);e=(e=(e=e.replace(/<include(.*) src="([^"]+)"(.*)><\/include>/g,'<link $1 rel="subresource" href="$2" $3>')).replace(/<template is="([^"]+)">([\s\S]*)<\/template>/g,'<div role="template" alt="$1">$2</div>')).replace(/<(\w+)-(\w+)(.*)>([\s\S]*)<\/(\w+)-(\w+)>/g,'<div role="$1-$2" $3>$4</div>');const s=(new F).allowDataAttributes(We).allowClassAttributes().allowStyleAttributes().build();if(this.log("parseHTML",e),this.log("sanitized",String(s.sanitize(e))),t.rootDocument){return K(new DOMParser,s.sanitize(e),"text/html")}return s.sanitizeToFragment(e)}serializeHTML(e){return(new XMLSerializer).serializeToString(e).replace(/\s?xmlns="[^"]+"/gm,"")}preprocessLocal(e,t){return this.preprocessRemote(e,t)}createElement(e,t){return(t||document).createElement(e)}textContent(e,t){e.textContent=t}}const Be=new Ye;export{Be as Mancha,Ye as Renderer};
|
|
1
|
+
const e={};function t(e){0}class s{constructor(e,t){this.privateDoNotAccessOrElseWrappedAttributePrefix=t}toString(){return this.privateDoNotAccessOrElseWrappedAttributePrefix}}const r=s;function i(e){if(function(e){return e instanceof s}(e))return e.privateDoNotAccessOrElseWrappedAttributePrefix;throw new Error("")}function n(e){return Object.isFrozen(e)&&Object.isFrozen(e.raw)}function a(e){return-1===e.toString().indexOf("`")}a(e=>e``)||a(e=>e`\0`)||a(e=>e`\n`)||a(e=>e`\u0000`),n``&&n`\0`&&n`\n`&&n`\u0000`;function o(t){const s=t[0].toLowerCase();return new r(e,s)}let l,c="google#safe";function h(){var e;return""!==c&&null!==(e=function(){if("undefined"!=typeof window)return window.trustedTypes}())&&void 0!==e?e:null}class u{constructor(e,s){t(),this.privateDoNotAccessOrElseWrappedHtml=e}toString(){return this.privateDoNotAccessOrElseWrappedHtml.toString()}}function d(t,s){return null!=s?s:new u(t,e)}"undefined"!=typeof window&&window.TrustedHTML;function p(e){var t;const s=e;return d(s,null===(t=function(){var e,t;if(void 0===l)try{l=null!==(t=null===(e=h())||void 0===e?void 0:e.createPolicy(c,{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e}))&&void 0!==t?t:null}catch(e){l=null}return l}())||void 0===t?void 0:t.createHTML(s))}function f(e){var t;if(null===(t=h())||void 0===t?void 0:t.isHTML(e))return e;if(e instanceof u)return e.privateDoNotAccessOrElseWrappedHtml;throw new Error("")}"undefined"!=typeof window&&window.TrustedScriptURL;"undefined"!=typeof window&&window.TrustedScript;function _(e,t){t.appendChild(e);let s=(new XMLSerializer).serializeToString(t);return s=s.slice(s.indexOf(">")+1,s.lastIndexOf("</")),p(s)}const m=["data:","http:","https:","mailto:","ftp:"],E=/^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i;function v(e){if(!function(e){const t=!E.test(e);return t}(e))return e}function w(e){return v(e)}function b(e){const t=function(e){let t;try{t=new URL(e)}catch(e){return"https:"}return t.protocol}(e);return void 0!==t&&-1!==m.indexOf(t.toLowerCase())?e:"about:invalid#zClosurez"}function g(e,t){const s=t.createRange();s.selectNode(t.body);return function(e,t){return e.createContextualFragment(f(t))}(s,p(e))}function y(e){const t=e.nodeName;return"string"==typeof t?t:"FORM"}function A(e){return 3===e.nodeType}function R(e){const t=e.nodeType;return 1===t||"number"!=typeof t}var T,O;function P(e){try{return new URL(e,window.document.baseURI)}catch(e){return new URL("about:invalid")}}function I(e){return{valueOf:e}.valueOf()}!function(e){e[e.STYLE_TAG=0]="STYLE_TAG",e[e.STYLE_ATTRIBUTE=1]="STYLE_ATTRIBUTE",e[e.HTML_ATTRIBUTE=2]="HTML_ATTRIBUTE"}(T||(T={}));class N{constructor(e,t,s,r,i){this.allowedElements=e,this.elementPolicies=t,this.allowedGlobalAttributes=s,this.globalAttributePolicies=r,this.globallyAllowedAttributePrefixes=i}isAllowedElement(e){return"FORM"!==e&&(this.allowedElements.has(e)||this.elementPolicies.has(e))}getAttributePolicy(e,t){const s=this.elementPolicies.get(t);if(null==s?void 0:s.has(e))return s.get(e);if(this.allowedGlobalAttributes.has(e))return{policyAction:O.KEEP};const r=this.globalAttributePolicies.get(e);return r||(this.globallyAllowedAttributePrefixes&&[...this.globallyAllowedAttributePrefixes].some(t=>0===e.indexOf(t))?{policyAction:O.KEEP}:{policyAction:O.DROP})}}!function(e){e[e.DROP=0]="DROP",e[e.KEEP=1]="KEEP",e[e.KEEP_AND_SANITIZE_URL=2]="KEEP_AND_SANITIZE_URL",e[e.KEEP_AND_NORMALIZE=3]="KEEP_AND_NORMALIZE",e[e.KEEP_AND_SANITIZE_STYLE=4]="KEEP_AND_SANITIZE_STYLE",e[e.KEEP_AND_USE_RESOURCE_URL_POLICY=5]="KEEP_AND_USE_RESOURCE_URL_POLICY",e[e.KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET=6]="KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET"}(O||(O={}));const S=new Set(["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"]);const x=["ARTICLE","SECTION","NAV","ASIDE","H1","H2","H3","H4","H5","H6","HEADER","FOOTER","ADDRESS","P","HR","PRE","BLOCKQUOTE","OL","UL","LH","LI","DL","DT","DD","FIGURE","FIGCAPTION","MAIN","DIV","EM","STRONG","SMALL","S","CITE","Q","DFN","ABBR","RUBY","RB","RT","RTC","RP","DATA","TIME","CODE","VAR","SAMP","KBD","SUB","SUP","I","B","U","MARK","BDI","BDO","SPAN","BR","WBR","INS","DEL","PICTURE","PARAM","TRACK","MAP","TABLE","CAPTION","COLGROUP","COL","TBODY","THEAD","TFOOT","TR","TD","TH","SELECT","DATALIST","OPTGROUP","OPTION","OUTPUT","PROGRESS","METER","FIELDSET","LEGEND","DETAILS","SUMMARY","MENU","DIALOG","SLOT","CANVAS","FONT","CENTER","ACRONYM","BASEFONT","BIG","DIR","HGROUP","STRIKE","TT"],k=[["A",new Map([["href",{policyAction:O.KEEP_AND_SANITIZE_URL}]])],["AREA",new Map([["href",{policyAction:O.KEEP_AND_SANITIZE_URL}]])],["LINK",new Map([["href",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY,conditions:new Map([["rel",new Set(["alternate","author","bookmark","canonical","cite","help","icon","license","next","prefetch","dns-prefetch","prerender","preconnect","preload","prev","search","subresource"])]])}]])],["SOURCE",new Map([["src",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY}],["srcset",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET}]])],["IMG",new Map([["src",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY}],["srcset",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET}]])],["VIDEO",new Map([["src",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY}]])],["AUDIO",new Map([["src",{policyAction:O.KEEP_AND_USE_RESOURCE_URL_POLICY}]])]],L=["title","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-current","aria-disabled","aria-dropeffect","aria-expanded","aria-haspopup","aria-hidden","aria-invalid","aria-label","aria-level","aria-live","aria-multiline","aria-multiselectable","aria-orientation","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","alt","align","autocapitalize","autocomplete","autocorrect","autofocus","autoplay","bgcolor","border","cellpadding","cellspacing","checked","color","cols","colspan","controls","datetime","disabled","download","draggable","enctype","face","formenctype","frameborder","height","hreflang","hidden","ismap","label","lang","loop","max","maxlength","media","minlength","min","multiple","muted","nonce","open","placeholder","preload","rel","required","reversed","role","rows","rowspan","selected","shape","size","sizes","slot","span","spellcheck","start","step","summary","translate","type","valign","value","width","wrap","itemscope","itemtype","itemid","itemprop","itemref"],C=[["dir",{policyAction:O.KEEP_AND_NORMALIZE,conditions:I(()=>new Map([["dir",new Set(["auto","ltr","rtl"])]]))}],["async",{policyAction:O.KEEP_AND_NORMALIZE,conditions:I(()=>new Map([["async",new Set(["async"])]]))}],["cite",{policyAction:O.KEEP_AND_SANITIZE_URL}],["loading",{policyAction:O.KEEP_AND_NORMALIZE,conditions:I(()=>new Map([["loading",new Set(["eager","lazy"])]]))}],["poster",{policyAction:O.KEEP_AND_SANITIZE_URL}],["target",{policyAction:O.KEEP_AND_NORMALIZE,conditions:I(()=>new Map([["target",new Set(["_self","_blank"])]]))}]],D=new N(new Set(x),new Map(k),new Set(L),new Map(C));new N(new Set(I(()=>x.concat(["STYLE"]))),new Map(k),new Set(I(()=>L.concat(["id","name","class"]))),new Map(I(()=>C.concat([["style",{policyAction:O.KEEP_AND_SANITIZE_STYLE}]]))));class ${constructor(e,s,r,i,n){this.sanitizerTable=e,this.styleElementSanitizer=r,this.styleAttributeSanitizer=i,this.resourceUrlPolicy=n,this.changes=[],t()}sanitizeAssertUnchanged(e){return this.sanitize(e)}sanitize(e){const t=document.implementation.createHTMLDocument("");return _(this.sanitizeToFragmentInternal(e,t),t.body)}sanitizeToFragment(e){const t=document.implementation.createHTMLDocument("");return this.sanitizeToFragmentInternal(e,t)}sanitizeToFragmentInternal(e,t){const s=g(e,t),r=document.createTreeWalker(s,5,e=>this.nodeFilter(e));let i=r.nextNode();const n=t.createDocumentFragment();let a=n;for(;null!==i;){let e;if(A(i))if(this.styleElementSanitizer&&"STYLE"===a.nodeName){const t=this.styleElementSanitizer(i.data);e=this.createTextNode(t)}else e=this.sanitizeTextNode(i);else{if(!R(i)){throw new Error("")}e=this.sanitizeElementNode(i,t)}if(a.appendChild(e),i=r.firstChild(),i)a=e;else for(;!(i=r.nextSibling())&&(i=r.parentNode());)a=a.parentNode}return n}createTextNode(e){return document.createTextNode(e)}sanitizeTextNode(e){return this.createTextNode(e.data)}sanitizeElementNode(e,t){const s=y(e),r=t.createElement(s),i=e.attributes;for(const{name:e,value:t}of i){const n=this.sanitizerTable.getAttributePolicy(e,s);if(this.satisfiesAllConditions(n.conditions,i))switch(n.policyAction){case O.KEEP:U(r,e,t);break;case O.KEEP_AND_SANITIZE_URL:const i=b(t);i!==t&&this.recordChange(`Url in attribute ${e} was modified during sanitization. Original url:"${t}" was sanitized to: "${i}"`),U(r,e,i);break;case O.KEEP_AND_NORMALIZE:U(r,e,t.toLowerCase());break;case O.KEEP_AND_SANITIZE_STYLE:if(this.styleAttributeSanitizer){U(r,e,this.styleAttributeSanitizer(t))}else U(r,e,t);break;case O.KEEP_AND_USE_RESOURCE_URL_POLICY:if(this.resourceUrlPolicy){const i={type:T.HTML_ATTRIBUTE,attributeName:e,tagName:s},n=P(t),a=this.resourceUrlPolicy(n,i);a&&U(r,e,a.toString())}else U(r,e,t);break;case O.KEEP_AND_USE_RESOURCE_URL_POLICY_FOR_SRCSET:if(this.resourceUrlPolicy){const i={type:T.HTML_ATTRIBUTE,attributeName:e,tagName:s},n=z(t),a={parts:[]};for(const e of n.parts){const t=P(e.url),s=this.resourceUrlPolicy(t,i);s&&a.parts.push({url:s.toString(),descriptor:e.descriptor})}U(r,e,M(a))}else U(r,e,t);break;case O.DROP:this.recordChange(`Attribute: ${e} was dropped`)}else this.recordChange(`Not all conditions satisfied for attribute: ${e}.`)}return r}nodeFilter(e){if(A(e))return 1;if(!R(e))return 2;const t=y(e);return null===t?(this.recordChange(`Node name was null for node: ${e}`),2):this.sanitizerTable.isAllowedElement(t)?1:(this.recordChange(`Element: ${t} was dropped`),2)}recordChange(e){0}satisfiesAllConditions(e,t){var s;if(!e)return!0;for(const[r,i]of e){const e=null===(s=t.getNamedItem(r))||void 0===s?void 0:s.value;if(e&&!i.has(e))return!1}return!0}}function U(e,t,s){e.setAttribute(t,s)}function z(e){const t=[];for(const s of e.split(",")){const[e,r]=s.trim().split(/\s+/,2);t.push({url:e,descriptor:r})}return{parts:t}}function M(e){return e.parts.map(e=>{const{url:t,descriptor:s}=e;return`${t}${s?` ${s}`:""}`}).join(" , ")}class F{constructor(){this.calledBuild=!1,this.sanitizerTable=D}onlyAllowElements(e){const t=new Set,s=new Map;for(let r of e){if(r=r.toUpperCase(),!this.sanitizerTable.isAllowedElement(r))throw new Error(`Element: ${r}, is not allowed by html5_contract.textpb`);const e=this.sanitizerTable.elementPolicies.get(r);void 0!==e?s.set(r,e):t.add(r)}return this.sanitizerTable=new N(t,s,this.sanitizerTable.allowedGlobalAttributes,this.sanitizerTable.globalAttributePolicies),this}allowCustomElement(e,t){const s=new Set(this.sanitizerTable.allowedElements),r=new Map(this.sanitizerTable.elementPolicies);if(e=e.toUpperCase(),i=e,S.has(i.toUpperCase())||!/^[a-z][-_.a-z0-9]*-[-_.a-z0-9]*$/i.test(i))throw new Error(`Element: ${e} is not a custom element`);var i;if(t){const s=new Map;for(const e of t)s.set(e,{policyAction:O.KEEP});r.set(e,s)}else s.add(e);return this.sanitizerTable=new N(s,r,this.sanitizerTable.allowedGlobalAttributes,this.sanitizerTable.globalAttributePolicies),this}onlyAllowAttributes(e){const t=new Set,s=new Map,r=new Map;for(const r of e)this.sanitizerTable.allowedGlobalAttributes.has(r)&&t.add(r),this.sanitizerTable.globalAttributePolicies.has(r)&&s.set(r,this.sanitizerTable.globalAttributePolicies.get(r));for(const[t,s]of this.sanitizerTable.elementPolicies.entries()){const i=new Map;for(const[t,r]of s.entries())e.has(t)&&i.set(t,r);r.set(t,i)}return this.sanitizerTable=new N(this.sanitizerTable.allowedElements,r,t,s),this}allowDataAttributes(e){const t=new Set(this.sanitizerTable.allowedGlobalAttributes);for(const s of e){if(0!==s.indexOf("data-"))throw new Error(`data attribute: ${s} does not begin with the prefix "data-"`);t.add(s)}return this.sanitizerTable=new N(this.sanitizerTable.allowedElements,this.sanitizerTable.elementPolicies,t,this.sanitizerTable.globalAttributePolicies),this}allowStyleAttributes(){const e=new Map(this.sanitizerTable.globalAttributePolicies);return e.set("style",{policyAction:O.KEEP_AND_SANITIZE_STYLE}),this.sanitizerTable=new N(this.sanitizerTable.allowedElements,this.sanitizerTable.elementPolicies,this.sanitizerTable.allowedGlobalAttributes,e),this}allowClassAttributes(){const e=new Set(this.sanitizerTable.allowedGlobalAttributes);return e.add("class"),this.sanitizerTable=new N(this.sanitizerTable.allowedElements,this.sanitizerTable.elementPolicies,e,this.sanitizerTable.globalAttributePolicies),this}allowIdAttributes(){const e=new Set(this.sanitizerTable.allowedGlobalAttributes);return e.add("id"),this.sanitizerTable=new N(this.sanitizerTable.allowedElements,this.sanitizerTable.elementPolicies,e,this.sanitizerTable.globalAttributePolicies),this}allowIdReferenceAttributes(){const e=new Set(this.sanitizerTable.allowedGlobalAttributes);return e.add("aria-activedescendant").add("aria-controls").add("aria-labelledby").add("aria-owns").add("for").add("list"),this.sanitizerTable=new N(this.sanitizerTable.allowedElements,this.sanitizerTable.elementPolicies,e,this.sanitizerTable.globalAttributePolicies),this}withResourceUrlPolicy(e){return this.resourceUrlPolicy=e,this}build(){if(this.calledBuild)throw new Error("this sanitizer has already called build");return this.calledBuild=!0,new $(this.sanitizerTable,e,void 0,void 0,this.resourceUrlPolicy)}}function G(e,t,s,r){if(0===e.length){throw new Error("")}const n=e.map(e=>i(e)),a=s.toLowerCase();if(n.every(e=>0!==a.indexOf(e)))throw new Error(`Attribute "${s}" does not match any of the allowed prefixes.`);t.setAttribute(s,r)}function K(e,t,s){return e.parseFromString(f(t),s)}Error;const H=[o`:`,o`style`,o`class`];function*W(e,t=new Set){const s=new Set,r=Array.from(e.childNodes).filter(e=>!t.has(e));for(yield e;r.length;){const e=r.shift();s.has(e)||(s.add(e),yield e),e.childNodes&&Array.from(e.childNodes).filter(e=>!t.has(e)).forEach(e=>r.push(e))}}function Y(e,t){return void 0!==e?.[t]}function B(e,t){return"function"==typeof e?.[t]}function V(e){return e.replace(/-./g,e=>e[1].toUpperCase())}function Z(e,t){return Y(e,"attribs")?e.attribs?.[t]??null:e.getAttribute?.(t)??null}function j(e,t){return Y(e,"attribs")?t in(e.attribs||{}):e.hasAttribute?.(t)??!1}function q(e,t,s=""){return Z(e,s+t)||Z(e,`data-${t}`)||(e.dataset?.[V(t)]??null)}function X(e,t,s){Y(e,"attribs")?e.attribs[t]=s:e.setAttribute?.(t,s)}function Q(e,t,s){Y(e,"attribs")?e.attribs[t]=s:G(H,e,t,s)}function J(e,t,s){switch(t){case"disabled":return void(e.disabled=s);case"selected":return void(e.selected=s);case"checked":return void(e.checked=s);default:e[t]=s}}function ee(e,t){Y(e,"attribs")?delete e.attribs[t]:e.removeAttribute?.(t)}function te(e,t,s=""){ee(e,`${s}${t}`),ee(e,`data-${t}`)}function se(e,t,s){if(Y(e,"attribs")&&Y(t,"attribs"))t.attribs[s]=e.attribs[s];else if(s.startsWith("data-")){const r=V(s.slice(5));t.dataset[r]=e.dataset?.[r]}else{const r=e?.getAttribute?.(s);Q(t,s,r||"")}}function re(e){if(Y(e,"firstElementChild"))return e.firstElementChild;return Array.from(e.children).find(e=>1===e.nodeType)}function ie(e,...t){if(B(e,"replaceWith"))return e.replaceWith(...t);{const s=e,r=s.parentNode,i=Array.from(r.childNodes).indexOf(s);t.forEach(e=>e.parentNode=r),r.childNodes=[].concat(Array.from(r.childNodes).slice(0,i)).concat(t).concat(Array.from(r.childNodes).slice(i+1))}}function ne(e,...t){B(e,"replaceChildren")?e.replaceChildren(...t):(e.childNodes=t,t.forEach(t=>t.parentNode=e))}function ae(e,t){return B(t,"appendChild")?e.appendChild(t):(e.childNodes.push(t),t.parentNode=e,t)}function oe(e,t){return B(t,"removeChild")?e.removeChild(t):(ne(e,...Array.from(e.childNodes).filter(e=>e!==t)),t)}function le(e,t,s){return s?B(e,"insertBefore")?e.insertBefore(t,s):(ie(s,t,s),t):ae(e,t)}function ce(e,t=0){return e?e.length<=t?e:e.slice(0,t-1)+"…":""}function he(e,t=0){return globalThis.DocumentFragment&&e instanceof DocumentFragment?Array.from(e.childNodes).map(e=>he(e,t)).join(""):ce(e.outerHTML||e.nodeValue||String(e),t)}function ue(e){return e.includes("/")?e.split("/").slice(0,-1).join("/"):""}class de{iterable;constructor(e){this.iterable=e}filter(e){return new de(de.filterGenerator(e,this.iterable))}map(e){return new de(de.mapGenerator(e,this.iterable))}find(e){for(const t of this.iterable)if(e(t))return t}array(){return Array.from(this.iterable)}*generator(){for(const e of this.iterable)yield e}static*filterGenerator(e,t){for(const s of t)e(s)&&(yield s)}static*mapGenerator(e,t){for(const s of t)yield e(s)}static equals(e,t){const s=e[Symbol.iterator](),r=t[Symbol.iterator]();let i=s.next(),n=r.next();for(;!i.done&&!n.done;){if(i.value!==n.value)return!1;i=s.next(),n=r.next()}return i.done===n.done}}var pe;!function(e){e.resolveIncludes=async function(e,t){const s=e,r=s.tagName?.toLowerCase();if(!["include","link"].includes(r))return;if("link"===r&&"subresource"!==Z(s,"rel"))return;this.log("include directive found in:\n",he(e,128)),this.log("include params:",t);const i="link"===s.tagName.toLocaleLowerCase()?"href":"src",n=Z(s,i);if(!n)throw new Error(`"${i}" attribute missing from ${he(e,128)}.`);const a=[];"include"===r&&a.push("src"),"link"===r&&a.push("rel","href");const o=t=>{const r=re(t);for(const e of Array.from(s.attributes))r&&!a.includes(e.name)&&se(s,r,e.name);ie(e,...t.childNodes)},l={...t,rootDocument:!1,maxdepth:t?.maxdepth-1};if(0===l.maxdepth)throw new Error("Maximum recursion depth reached.");if(n.includes("://")||n.startsWith("//"))this.log("Including remote file from absolute path:",n),await this.preprocessRemote(n,l).then(o);else if(t?.dirpath?.includes("://")||t?.dirpath?.startsWith("//")){const e=n.startsWith("/")?n:`${t.dirpath}/${n}`;this.log("Including remote file from relative path:",e),await this.preprocessRemote(e,l).then(o)}else if("/"===n.charAt(0))this.log("Including local file from absolute path:",n),await this.preprocessLocal(n,l).then(o);else{const e=t?.dirpath&&"."!==t?.dirpath?`${t?.dirpath}/${n}`:n;this.log("Including local file from relative path:",e),await this.preprocessLocal(e,l).then(o)}},e.rebaseRelativePaths=function(e,t){const s=e,r=s.tagName?.toLowerCase();if(!t?.dirpath)return;const i=Z(s,"src"),n=Z(s,"href"),a=q(s,"render",":"),o=i||n||a;if(!o||((l=o).includes("://")||l.startsWith("/")||l.startsWith("#")||l.startsWith("data:")))return;var l;const c=`${t.dirpath}/${o}`;this.log("Rebasing relative path as:",c),a?function(e,t,s,r=""){j(e,`${r}${t}`)?X(e,`${r}${t}`,s):j(e,`data-${t}`)?X(e,`data-${t}`,s):X(e,`${r}${t}`,s)}(s,"render",c,":"):Y(s,"attribs")?Q(s,i?"src":"href",c):"img"===r?s.src=c:"a"===r?function(e,t){const s=w(t);void 0!==s&&(e.href=s)}(s,c):"source"===r||"audio"===r||"video"===r||"track"===r||"input"===r?s.src=c:"area"===r?function(e,t){const s=w(t);void 0!==s&&(e.href=s)}(s,c):this.log("Unable to rebase relative path for element:",r)},e.registerCustomElements=function(t,s){const r=t,i=r.tagName?.toLowerCase(),n=(Z(r,"is")||Z(r,"alt"))?.toLowerCase();if(["template","div"].includes(i)&&n){if("div"===i&&"template"!==Z(r,"role"))return;if(!this._customElements.has(n)){this.log(`Registering custom element: ${n}\n`,he(r,128));const t=r.content||r,i=Array.from(W(t));for(let t=1;t<i.length;t++)e.rebaseRelativePaths.call(this,i[t],s);this._customElements.set(n,r),oe(r.parentNode,r)}}},e.resolveCustomElements=function(e,t){const s=e,r=s.tagName?.toLowerCase();let i=r;if("div"===i&&(i=Z(s,"role")?.toLowerCase()||i),i&&this._customElements.has(i)){this.log(`Processing custom element: ${i}\n`,he(s,128));const t=this._customElements.get(i),n=(t.content||t).cloneNode(!0),a=re(n);if(a)for(const e of Array.from(s.attributes))"div"===r&&"role"===e.name||se(s,a,e.name);const o=new de(W(n)).find(e=>"slot"===e.tagName?.toLowerCase());o&&ie(o,...s.childNodes),ie(e,...n.childNodes)}},e.resolveTextNodeExpressions=function(e,t){const s=e.nodeValue||"";if(3!==e.nodeType||!s?.trim())return;this.log("Processing node content value:\n",ce(s,128));const r=new RegExp(/{{ ([^}]+) }}/gm),i=Array.from(s.matchAll(r)).map(e=>e[1]);return this.effect(function(){let t=s;for(const s of i){const r=this.eval(s,{$elem:e});t=t.replace(`{{ ${s} }}`,String(r))}e.nodeValue=t})},e.resolveDataAttribute=async function(e,t){if(this._skipNodes.has(e))return;const s=e,r=q(s,"data",":");if(r){let i;this.log(":data attribute found in:\n",he(e,128)),te(s,"data",":"),Y(e,"renderer")?(i=e.renderer,this.log("Reusing existing subrenderer for node:",he(e,64))):(i=this.subrenderer(),J(e,"renderer",i),this.log("Created and attached new subrenderer for node:",he(e,64)));const n=i.eval(r,{$elem:e});if(await Promise.all(Object.entries(n).map(([e,t])=>i._store.set(e,t))),i===this)return;for(const t of W(e,this._skipNodes))this._skipNodes.add(t);await i.mount(e,t)}},e.resolveClassAttribute=function(e,t){if(this._skipNodes.has(e))return;const s=e,r=q(s,"class",":");if(r){this.log(":class attribute found in:\n",he(e,128)),te(s,"class",":");const t=Z(s,"class")||"";return this.effect(function(){const i=this.eval(r,{$elem:e});Q(s,"class",(i?`${t} ${i}`:t).trim())})}},e.resolveTextAttributes=function(e,t){if(this._skipNodes.has(e))return;const s=e,r=q(s,"text",":");if(r){this.log(":text attribute found in:\n",he(e,128)),te(s,"text",":");const t=t=>this.textContent(e,t);return this.effect(function(){t(this.eval(r,{$elem:e}))})}},e.resolveHtmlAttribute=async function(e,t){if(this._skipNodes.has(e))return;const s=e,r=q(s,"html",":");return r?(this.log(":html attribute found in:\n",he(e,128)),te(s,"html",":"),this.effect(function(){const i=this.eval(r,{$elem:e});return new Promise(async e=>{const r=await this.preprocessString(i,t);await this.renderNode(r),ne(s,r),e()})})):void 0},e.resolveEventAttributes=function(e,t){if(this._skipNodes.has(e))return;const s=e;for(const t of Array.from(s.attributes||[]))if(t.name.startsWith(":on:")||t.name.startsWith("data-on-")){let r="",i=[];if(t.name.startsWith(":on:")?[r,...i]=t.name.substring(4).split("."):t.name.startsWith("data-on-")&&([r,...i]=t.name.substring(8).split(".")),!r)throw new Error(`Invalid event attribute: ${t.name}`);this.log(t.name,"attribute found in:\n",he(e,128)),te(s,t.name);const n="submit"===r&&"FORM"===s.tagName.toUpperCase();e.addEventListener?.(r,s=>((i.includes("prevent")||n)&&s.preventDefault(),this.eval(t.value,{$elem:e,$event:s})))}},e.resolveForAttribute=async function(e,t){if(this._skipNodes.has(e))return;const s=e,r=q(s,"for",":")?.trim();if(r){this.log(":for attribute found in:\n",he(e,128)),te(s,"for",":");for(const t of W(e,this._skipNodes))this._skipNodes.add(t);const i=Z(s,"style")||"";X(s,"style","display: none;");const n=e.parentNode,a=this.createElement("template",e.ownerDocument);le(n,a,e),oe(n,e),ae(a,e),this.log(":for template:\n",he(a,128));const o=r.split(" in ",2);if(2!==o.length)throw new Error(`Invalid :for format: \`${r}\`. Expected "{key} in {expression}".`);const l=[],[c,h]=o;await this.effect(function(){const s=this.eval(h,{$elem:e});if(this.log(":for list items:",s),l.splice(0,l.length).forEach(e=>{oe(n,e),this._skipNodes.delete(e)}),!Array.isArray(s))return console.error(`Expression did not yield a list: \`${h}\` => \`${s}\``),Promise.resolve();const r=[];for(const n of s){const s=this.subrenderer();s._store.set(c,n);const a=e.cloneNode(!0);X(a,"style",i),l.push(a),this._skipNodes.add(a),r.push(s.mount(a,t)),this.log("Rendered list child:\n",he(a,128))}const o=a.nextSibling;for(const e of l)le(n,e,o);return Promise.all(r)})}},e.resolveBindAttribute=function(e,t){if(this._skipNodes.has(e))return;const s=e,r=q(s,"bind",":");if(r){this.log(":bind attribute found in:\n",he(e,128));const t=["change","input"],i=Z(s,":bind:on")?.split(",")||s.dataset?.bindOn?.split(",")||t;te(s,"bind",":"),ee(s,":bind:on"),ee(s,"data-bind-on");const n="checkbox"===Z(s,"type")?"checked":"value";r.includes(".")||this.has(r)||this.set(r,""),this.effect(function(){const t=this.eval(r,{$elem:e});"checked"===n?s.checked=!!t:s.value=t});const a=`${r} = $elem.${n}`;for(const t of i)e.addEventListener(t,()=>this.eval(a,{$elem:e}))}},e.resolveShowAttribute=function(e,t){if(this._skipNodes.has(e))return;const s=e,r=q(s,"show",":");if(r){this.log(":show attribute found in:\n",he(e,128)),te(s,"show",":");const t="none"===s.style?.display?"":s.style?.display??Z(s,"style")?.split(";")?.find(e=>"display"===e.split(":")[0])?.split(":")?.at(1)?.trim();this.effect(function(){const i=this.eval(r,{$elem:e});s.style?s.style.display=i?t:"none":Q(s,"style",`display: ${i?t:"none"};`)})}},e.resolveCustomAttribute=function(e,t){if(this._skipNodes.has(e))return;const s=e;for(const t of Array.from(s.attributes||[])){const r=":attr:",i="data-attr-";if(t.name.startsWith(r)||t.name.startsWith(i)){this.log(t.name,"attribute found in:\n",he(e,128)),ee(s,t.name);const n=t.name.split(r,2).at(-1)?.split(i,2).at(-1);this.effect(function(){const r=this.eval(t.value,{$elem:e});X(s,n,r)})}}},e.resolveCustomProperty=function(e,t){if(this._skipNodes.has(e))return;const s=e;for(const t of Array.from(s.attributes||[])){const r=":prop:",i="data-prop-";if(t.name.startsWith(r)||t.name.startsWith(i)){this.log(t.name,"property found in:\n",he(e,128)),ee(s,t.name);const n=t.name.split(r,2).at(-1)?.split(i,2).at(-1),a=V(n);this.effect(function(){const r=this.eval(t.value,{$elem:e});J(s,a,r)})}}},e.stripTypes=function(e,t){const s=e;Z(s,":types")&&ee(s,":types"),Z(s,"data-types")&&ee(s,"data-types")},e.resolveRenderAttribute=async function(e,t){if(this._skipNodes.has(e))return;const s=e,r=q(s,"render",":");if(!r)return;let i;this.log(`:render attribute found: ${r}`),te(s,"render",":"),Y(e,"renderer")?(i=e.renderer,this.log("Reusing existing subrenderer for :render:",he(e,64))):(i=this.subrenderer(),J(s,"renderer",i)),await i.mount(e,t);for(const t of W(e,this._skipNodes))this._skipNodes.add(t);try{const e=await import(r);"function"==typeof e.default?await e.default(s,i):void 0!==e.default&&console.warn(`Module ${r} default export is not a function`)}catch(e){console.error(`Failed to execute render init from ${r}:`,e)}}}(pe||(pe={}));const fe=new Set(["this","typeof"]),_e=new Set(["in"]),me=new Set(["+","-","!","typeof"]),Ee=new Set(["=","+","-","*","/","%","^","==","!=",">","<",">=","<=","||","&&","??","&","===","!==","|","in"]),ve={"!":0,":":0,",":0,")":0,"]":0,"}":0,"?":2,"??":3,"||":4,"&&":5,"|":6,"^":7,"&":8,"!=":9,"==":9,"!==":9,"===":9,">=":10,">":10,"<=":10,"<":10,in:10,"+":11,"-":11,"%":12,"/":12,"*":12,"(":13,"[":13,".":13,"?.":13,"{":13},we={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,"===":(e,t)=>e===t,"!==":(e,t)=>e!==t,">":(e,t)=>e>t,">=":(e,t)=>e>=t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,"||":(e,t)=>e||t,"&&":(e,t)=>e&&t,"??":(e,t)=>e??t,"|":(e,t)=>t(e),in:(e,t)=>e in t},be={"+":e=>e,"-":e=>-e,"!":e=>!e,typeof:e=>typeof e};const ge=new Set(["==","!=","<=",">=","||","&&","??","?."]),ye=new Set(["===","!=="]);var Ae;!function(e){e[e.STRING=1]="STRING",e[e.IDENTIFIER=2]="IDENTIFIER",e[e.DOT=3]="DOT",e[e.COMMA=4]="COMMA",e[e.COLON=5]="COLON",e[e.INTEGER=6]="INTEGER",e[e.DECIMAL=7]="DECIMAL",e[e.OPERATOR=8]="OPERATOR",e[e.GROUPER=9]="GROUPER",e[e.KEYWORD=10]="KEYWORD",e[e.ARROW=11]="ARROW",e[e.OPTIONAL_DOT=12]="OPTIONAL_DOT",e[e.SPREAD=13]="SPREAD"}(Ae||(Ae={}));const Re=(e,t,s=0)=>({kind:e,value:t,precedence:s}),Te=e=>9===e||10===e||13===e||32===e,Oe=e=>95===e||36===e||65<=(e&=-33)&&e<=90,Pe=e=>Oe(e)||Ie(e),Ie=e=>48<=e&&e<=57;class Ne{_input;_index=-1;_tokenStart=0;_next;constructor(e){this._input=e,this._advance()}nextToken(){for(;Te(this._next);)this._advance(!0);if(34===(e=this._next)||39===e)return this._tokenizeString();var e;if(Oe(this._next))return this._tokenizeIdentOrKeyword();if(Ie(this._next))return this._tokenizeNumber();if(46===this._next)return this._tokenizeDot();if(44===this._next)return this._tokenizeComma();if(58===this._next)return this._tokenizeColon();if((e=>43===e||45===e||42===e||47===e||33===e||38===e||37===e||60===e||61===e||62===e||63===e||94===e||124===e)(this._next))return this._tokenizeOperator();if((e=>40===e||41===e||91===e||93===e||123===e||125===e)(this._next))return this._tokenizeGrouper();if(this._advance(),void 0!==this._next)throw new Error(`Expected end of input, got ${this._next}`)}_advance(e){this._index++,this._index<this._input.length?(this._next=this._input.charCodeAt(this._index),!0===e&&(this._tokenStart=this._index)):this._next=void 0}_getValue(e=0){const t=this._input.substring(this._tokenStart,this._index+e);return 0===e&&this._clearValue(),t}_clearValue(){this._tokenStart=this._index}_tokenizeString(){const e="unterminated string",t=this._next;for(this._advance(!0);this._next!==t;){if(void 0===this._next)throw new Error(e);if(92===this._next&&(this._advance(),void 0===this._next))throw new Error(e);this._advance()}const s=Re(Ae.STRING,this._getValue().replace(/\\(.)/g,(e,t)=>{switch(t){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"f":return"\f";default:return t}}));return this._advance(),s}_tokenizeIdentOrKeyword(){do{this._advance()}while(Pe(this._next));const e=this._getValue(),t=(s=e,fe.has(s)?Ae.KEYWORD:_e.has(e)?Ae.OPERATOR:Ae.IDENTIFIER);var s;return Re(t,e,ve[e]??0)}_tokenizeNumber(){do{this._advance()}while(Ie(this._next));return 46===this._next?this._tokenizeDot():Re(Ae.INTEGER,this._getValue())}_tokenizeDot(){if(this._advance(),Ie(this._next))return this._tokenizeFraction();if(46===this._next){if(this._advance(),46===this._next)return this._advance(),this._clearValue(),Re(Ae.SPREAD,"...");throw new Error("Unexpected token ..")}return this._clearValue(),Re(Ae.DOT,".",13)}_tokenizeComma(){return this._advance(!0),Re(Ae.COMMA,",")}_tokenizeColon(){return this._advance(!0),Re(Ae.COLON,":")}_tokenizeFraction(){do{this._advance()}while(Ie(this._next));return Re(Ae.DECIMAL,this._getValue())}_tokenizeOperator(){this._advance();let e=this._getValue(2);if(ye.has(e))this._advance(),this._advance();else{if(e=this._getValue(1),"=>"===e)return this._advance(),Re(Ae.ARROW,e);ge.has(e)&&this._advance()}return e=this._getValue(),"?."===e?Re(Ae.OPTIONAL_DOT,e,13):Re(Ae.OPERATOR,e,ve[e])}_tokenizeGrouper(){const e=String.fromCharCode(this._next),t=Re(Ae.GROUPER,e,ve[e]);return this._advance(!0),t}}class Se{_kind;_tokenizer;_ast;_token;_value;constructor(e,t){this._tokenizer=new Ne(e),this._ast=t}parse(){this._advance();const e=this._parseExpression();if(this._token)throw new Error(`Unexpected token: ${this._token.value}`);return e}_advance(e,t){if(!this._matches(e,t))throw new Error(`Expected kind ${e} (${t}), was ${this._token?.kind} (${this._token?.value})`);const s=this._tokenizer.nextToken();this._token=s,this._kind=s?.kind,this._value=s?.value}_matches(e,t){return!(e&&this._kind!==e||t&&this._value!==t)}_parseExpression(){if(!this._token)return this._ast.empty();const e=this._parseUnary();return void 0===e?void 0:this._parsePrecedence(e,0)}_parsePrecedence(e,t){if(void 0===e)throw new Error("Expected left to be defined.");for(;this._token;)if(this._matches(Ae.GROUPER,"(")){const t=this._parseArguments();e=this._ast.invoke(e,void 0,t)}else if(this._matches(Ae.GROUPER,"[")){const t=this._parseIndex();e=this._ast.index(e,t)}else if(this._matches(Ae.DOT)||this._matches(Ae.OPTIONAL_DOT)){const t=this._kind===Ae.OPTIONAL_DOT;if(this._advance(),t&&this._matches(Ae.GROUPER,"[")){const t=this._parseIndex();e=this._ast.index(e,t,!0)}else if(t&&this._matches(Ae.GROUPER,"(")){const t=this._parseArguments();e=this._ast.invoke(e,void 0,t,!0)}else{const s=this._parseUnary();e=this._makeInvokeOrGetter(e,s,t)}}else{if(this._matches(Ae.KEYWORD))break;if(!(this._matches(Ae.OPERATOR)&&this._token.precedence>=t))break;e="?"===this._value?this._parseTernary(e):this._parseBinary(e,this._token)}return e}_makeInvokeOrGetter(e,t,s){if(void 0===t)throw new Error("expected identifier");if("ID"===t.type)return this._ast.getter(e,t.value,s);if("Invoke"===t.type&&"ID"===t.receiver.type){const r=t.receiver;return this._ast.invoke(e,r.value,t.arguments,s)}throw new Error(`expected identifier: ${t}`)}_parseBinary(e,t){if(!Ee.has(t.value))throw new Error(`unknown operator: ${t.value}`);this._advance();let s=this._parseUnary();for(;(this._kind===Ae.OPERATOR||this._kind===Ae.DOT||this._kind===Ae.GROUPER)&&this._token.precedence>t.precedence;)s=this._parsePrecedence(s,this._token.precedence);if(void 0===s)throw new Error(`Expected expression after ${t.value}`);return this._ast.binary(e,t.value,s)}_parseUnary(){if(this._matches(Ae.KEYWORD,"typeof")){this._advance();const e=this._parsePrecedence(this._parsePrimary(),13);return this._ast.unary("typeof",e)}if(this._matches(Ae.OPERATOR)){const e=this._value;if(this._advance(),"+"===e||"-"===e){if(this._matches(Ae.INTEGER))return this._parseInteger(e);if(this._matches(Ae.DECIMAL))return this._parseDecimal(e)}if(!me.has(e))throw new Error(`unexpected token: ${e}`);const t=this._parsePrecedence(this._parsePrimary(),13);return this._ast.unary(e,t)}return this._parsePrimary()}_parseTernary(e){this._advance(Ae.OPERATOR,"?");const t=this._parseExpression();this._advance(Ae.COLON);const s=this._parseExpression();return this._ast.ternary(e,t,s)}_parsePrimary(){switch(this._kind){case Ae.KEYWORD:const e=this._value;if("this"===e)return this._advance(),this._ast.id(e);if(fe.has(e))throw new Error(`unexpected keyword: ${e}`);throw new Error(`unrecognized keyword: ${e}`);case Ae.IDENTIFIER:return this._parseInvokeOrIdentifier();case Ae.STRING:return this._parseString();case Ae.INTEGER:return this._parseInteger();case Ae.DECIMAL:return this._parseDecimal();case Ae.GROUPER:return"("===this._value?this._parseParenOrFunction():"{"===this._value?this._parseMap():"["===this._value?this._parseList():void 0;case Ae.COLON:throw new Error('unexpected token ":"');default:return}}_parseList(){const e=[];do{if(this._advance(),this._matches(Ae.GROUPER,"]"))break;if(this._matches(Ae.SPREAD)){this._advance();const t=this._parseExpression();t&&e.push(this._ast.spreadElement(t))}else e.push(this._parseExpression())}while(this._matches(Ae.COMMA));return this._advance(Ae.GROUPER,"]"),this._ast.list(e)}_parseMap(){const e=[];do{if(this._advance(),this._matches(Ae.GROUPER,"}"))break;if(this._matches(Ae.SPREAD)){this._advance();const t=this._parseExpression();t&&e.push(this._ast.spreadProperty(t))}else{const t=this._value;if((this._matches(Ae.STRING)||this._matches(Ae.IDENTIFIER))&&this._advance(),this._matches(Ae.COLON)){this._advance(Ae.COLON);const s=this._parseExpression();s&&e.push(this._ast.property(t,s))}else e.push(this._ast.property(t,this._ast.id(t)))}}while(this._matches(Ae.COMMA));return this._advance(Ae.GROUPER,"}"),this._ast.map(e)}_parseInvokeOrIdentifier(){const e=this._value;if("true"===e)return this._advance(),this._ast.literal(!0);if("false"===e)return this._advance(),this._ast.literal(!1);if("null"===e)return this._advance(),this._ast.literal(null);if("undefined"===e)return this._advance(),this._ast.literal(void 0);const t=this._parseIdentifier(),s=this._parseArguments();return s?this._ast.invoke(t,void 0,s):t}_parseIdentifier(){if(!this._matches(Ae.IDENTIFIER))throw new Error(`expected identifier: ${this._value}`);const e=this._value;return this._advance(),this._ast.id(e)}_parseArguments(){if(!this._matches(Ae.GROUPER,"("))return;const e=[];do{if(this._advance(),this._matches(Ae.GROUPER,")"))break;if(this._matches(Ae.SPREAD)){this._advance();const t=this._parseExpression();t&&e.push(this._ast.spreadElement(t))}else{const t=this._parseExpression();e.push(t)}}while(this._matches(Ae.COMMA));return this._advance(Ae.GROUPER,")"),e}_parseIndex(){this._advance();const e=this._parseExpression();return this._advance(Ae.GROUPER,"]"),e}_parseParenOrFunction(){const e=this._parseArguments();if(this._matches(Ae.ARROW)){this._advance();const t=this._parseExpression(),s=e?.map(e=>e.value)??[];return this._ast.arrowFunction(s,t)}return this._ast.paren(e[0])}_parseString(){const e=this._ast.literal(this._value);return this._advance(),e}_parseInteger(e=""){const t=this._ast.literal(parseInt(`${e}${this._value}`,10));return this._advance(),t}_parseDecimal(e=""){const t=this._ast.literal(parseFloat(`${e}${this._value}`));return this._advance(),t}}class xe{timeouts=new Map;debounce(e,t){return new Promise((s,r)=>{const i=this.timeouts.get(t);i&&clearTimeout(i),this.timeouts.set(t,setTimeout(()=>{try{s(t()),this.timeouts.delete(t)}catch(e){r(e)}},e))})}}const ke=new class{empty(){return{type:"Empty",evaluate:e=>e,getIds:e=>e}}literal(e){return{type:"Literal",value:e,evaluate(e){return this.value},getIds:e=>e}}id(e){return{type:"ID",value:e,evaluate(e){return"this"===this.value?e:e?.[this.value]},getIds(e){return e.push(this.value),e}}}unary(e,t){const s=be[e];return{type:"Unary",operator:e,child:t,evaluate(e){return s(this.child.evaluate(e))},getIds(e){return this.child.getIds(e)}}}binary(e,t,s){const r=we[t];return{type:"Binary",operator:t,left:e,right:s,evaluate(e){if("="===this.operator){if("ID"!==this.left.type&&"Getter"!==this.left.type&&"Index"!==this.left.type)throw new Error(`Invalid assignment target: ${this.left}`);const t=this.right.evaluate(e);let s,r;return"Getter"===this.left.type?(s=this.left.receiver.evaluate(e),r=this.left.name):"Index"===this.left.type?(s=this.left.receiver.evaluate(e),r=String(this.left.argument.evaluate(e))):"ID"===this.left.type&&(s=e,r=this.left.value),void 0===s?void 0:s[r]=t}return r(this.left.evaluate(e),this.right.evaluate(e))},getIds(e){return this.left.getIds(e),this.right.getIds(e),e}}}getter(e,t,s){return{type:"Getter",receiver:e,name:t,optional:s,evaluate(e){const t=this.receiver.evaluate(e);if(!this.optional||null!=t)return t?.[this.name]},getIds(e){return this.receiver.getIds(e),e}}}invoke(e,t,s,r){if(null!=t&&"string"!=typeof t)throw new Error("method not a string");return{type:"Invoke",receiver:e,method:t,arguments:s,optional:r,evaluate(e){const t=this.receiver.evaluate(e);if(this.optional&&null==t)return;const s=this.method?t:e?.this??e,r=this.method?t?.[this.method]:t,i=this.arguments??[],n=[];for(const t of i)if("SpreadElement"===t?.type){const s=t.evaluate(e);s&&"function"==typeof s[Symbol.iterator]&&n.push(...s)}else n.push(t?.evaluate(e));return r?.apply?.(s,n)},getIds(e){return this.receiver.getIds(e),this.arguments?.forEach(t=>t?.getIds(e)),e}}}paren(e){return e}index(e,t,s){return{type:"Index",receiver:e,argument:t,optional:s,evaluate(e){const t=this.receiver.evaluate(e);if(this.optional&&null==t)return;const s=this.argument.evaluate(e);return t?.[s]},getIds(e){return this.receiver.getIds(e),e}}}ternary(e,t,s){return{type:"Ternary",condition:e,trueExpr:t,falseExpr:s,evaluate(e){return this.condition.evaluate(e)?this.trueExpr.evaluate(e):this.falseExpr.evaluate(e)},getIds(e){return this.condition.getIds(e),this.trueExpr.getIds(e),this.falseExpr.getIds(e),e}}}map(e){return{type:"Map",properties:e,evaluate(t){const s={};if(e&&this.properties)for(const e of this.properties)"SpreadProperty"===e.type?Object.assign(s,e.evaluate(t)):s[e.key]=e.value.evaluate(t);return s},getIds(t){if(e&&this.properties)for(const e of this.properties)"SpreadProperty"===e.type?e.expression.getIds(t):e.value.getIds(t);return t}}}property(e,t){return{type:"Property",key:e,value:t,evaluate(e){return this.value.evaluate(e)},getIds(e){return this.value.getIds(e)}}}list(e){return{type:"List",items:e,evaluate(e){if(!this.items)return[];const t=[];for(const s of this.items)if("SpreadElement"===s?.type){const r=s.evaluate(e);r&&"function"==typeof r[Symbol.iterator]&&t.push(...r)}else t.push(s?.evaluate(e));return t},getIds(e){return this.items?.forEach(t=>t?.getIds(e)),e}}}arrowFunction(e,t){return{type:"ArrowFunction",params:e,body:t,evaluate(e){const t=this.params,s=this.body;return function(...r){const i=Object.fromEntries(t.map((e,t)=>[e,r[t]])),n=new Proxy(e??{},{set:(e,t,s)=>(i.hasOwnProperty(t)&&(i[t]=s),e[t]=s),get:(e,t)=>i.hasOwnProperty(t)?i[t]:e[t]});return s.evaluate(n)}},getIds(e){return this.body.getIds(e).filter(e=>!this.params.includes(e))}}}spreadProperty(e){return{type:"SpreadProperty",expression:e,evaluate(e){return this.expression.evaluate(e)},getIds(e){return this.expression.getIds(e)}}}spreadElement(e){return{type:"SpreadElement",expression:e,evaluate(e){return this.expression.evaluate(e)},getIds(e){return this.expression.getIds(e)}}}},Le="__is_proxy__";function Ce(e,t){const s=e?._store;return s?.has(t)?s.get(t):s?.has("$parent")?Ce(s.get("$parent"),t):void 0}function De(e,t){const s=e?._store;return s?.has(t)?e:s?.has("$parent")?De(s.get("$parent"),t):null}class $e extends xe{evalkeys=["$elem","$event"];expressionCache=new Map;observers=new Map;keyHandlers=new Map;_observer=null;_store=new Map;_lock=Promise.resolve();constructor(e){super();for(const[t,s]of Object.entries(e||{}))this.set(t,s)}wrapFunction(e){return(...t)=>e.call(this.$,...t)}wrapObject(e,t){return null==e||((s=e)instanceof $e||!0===s[Le])||e.constructor!==Object&&!Array.isArray(e)?e:new Proxy(e,{deleteProperty:(e,s)=>"string"==typeof s&&s in e&&(delete e[s],t(),!0),set:(e,s,r,i)=>{"object"==typeof r&&null!==r&&(r=this.wrapObject(r,t));const n=Reflect.set(e,s,r,i);return t(),n},get:(e,t,s)=>t===Le||Reflect.get(e,t,s)});var s}watch(e,t){const s=De(this,e);if(!s)throw new Error(`Cannot watch key "${e}" as it does not exist in the store.`);s.observers.has(e)||s.observers.set(e,new Set),s.observers.get(e)?.has(t)||s.observers.get(e)?.add(t)}addKeyHandler(e,t){this.keyHandlers.has(e)||this.keyHandlers.set(e,new Set),this.keyHandlers.get(e).add(t)}async notify(e,t=10){const s=De(this,e),r=Array.from(s?.observers.get(e)||[]);await this.debounce(t,()=>Promise.all(r.map(e=>e.call(this.proxify(e)))))}get(e,t){return t&&this.watch(e,t),Ce(this,e)}async set(e,t){if(this._store.has(e)&&t===this._store.get(e))return;const s=()=>this.notify(e);t&&"function"==typeof t&&(t=this.wrapFunction(t)),t&&"object"==typeof t&&(t=this.wrapObject(t,s)),function(e,t,s){const r=De(e,t);r?r._store.set(t,s):e._store.set(t,s)}(this,e,t);for(const[s,r]of this.keyHandlers.entries())if(s.test(e))for(const s of r)await Promise.resolve(s.call(this.$,e,t));await s()}async del(e){await this.set(e,null),this._store.delete(e),this.observers.delete(e)}keys(){return Array.from(this._store.keys())}has(e){return this._store.has(e)}effect(e){return e.call(this.proxify(e))}proxify(e){const t=Array.from(this._store.entries()).map(([e])=>e),s=Object.fromEntries(t.map(e=>[e,null]));return new Proxy(s,{has:(e,t)=>{if("string"==typeof t){if(De(this,t))return!0;if(Reflect.has(this,t))return!0}return Reflect.has(s,t)},get:(t,s,r)=>{if("string"==typeof s){if(De(this,s))return this.get(s,e);if(e&&s!==Le&&!Reflect.has(this,s))return this.set(s,void 0),this.get(s,e)}return"$"===s?this.proxify(e):Reflect.get(this,s,r)},set:(e,t,s,r)=>("string"!=typeof t||t in this?Reflect.set(this,t,s,r):this.set(t,s),!0)})}get $(){return this.proxify()}makeEvalFunction(e){if(e.includes(";"))throw new Error("Complex expressions are not supported.");return(t,s)=>{const r=((e,t)=>new Se(e,t).parse())(e,ke),i=new Proxy(s,{has:(e,s)=>s in e||s in t||s in globalThis,get(e,s){if("string"==typeof s)return s in e?e[s]:s in t?t[s]:s in globalThis?globalThis[s]:t[s]},set:(e,s,r)=>"string"==typeof s&&(s in e?(e[s]=r,!0):(t[s]=r,!0))});return r?.evaluate(i)}}cachedExpressionFunction(e){return e=e.trim(),this.expressionCache.has(e)||this.expressionCache.set(e,this.makeEvalFunction(e)),this.expressionCache.get(e)}eval(e,t={}){const s=this._observer?this:this.$;if(this._store.has(e))return s[e];{const r=this.cachedExpressionFunction(e);try{return r(s,t)}catch(t){return console.error(`Failed to evaluate expression: ${e}`),console.error(t),null}}}$resolve(e,t){const s={$pending:!0,$result:null,$error:null};return Promise.resolve().then(()=>e(t)).then(e=>{s.$result=e}).catch(e=>{s.$error=e instanceof Error?e:new Error(String(e))}).finally(()=>{s.$pending=!1}),s}}const Ue="$$";function ze(){return new URL(globalThis.window?.location?.href||"http://localhost/")}function Me(e){return`${Ue}${e}`}function Fe(e){return e.keys().filter(e=>e.startsWith(Ue))}function Ge(e,t,s){const r=function(e){return e.substring(2)}(t);let i=!1;if(s){const t=String(s);e.searchParams.get(r)!==t&&(e.searchParams.set(r,t),i=!0)}else e.searchParams.has(r)&&(e.searchParams.delete(r),i=!0);return i}async function Ke(e){const t=ze();await async function(e,t){for(const[s,r]of t.searchParams.entries()){const t=Me(s);e.get(t)!==r&&await e.set(t,r)}}(e,t),function(e,t){let s=!1;for(const r of Fe(t))Ge(e,r,t.get(r))&&(s=!0);s&&globalThis.window?.history?.replaceState({},"",e.toString())}(t,e),e.addKeyHandler(new RegExp("^\\$\\$"),(e,t)=>{const s=ze();Ge(s,e,t)&&globalThis.window?.history?.replaceState({},"",s.toString())}),globalThis.window?.addEventListener("popstate",function(e){return async()=>{const t=ze(),s=new Set;for(const[r,i]of t.searchParams.entries()){const t=Me(r);s.add(t),e.get(t)!==i&&e.set(t,i)}const r=Fe(e);for(const t of r)s.has(t)||e.del(t)}}(e))}class He extends $e{debugging=!1;dirpath="";_skipNodes=new Set;_customElements=new Map;debug(e){return this.debugging=e,this}async fetchRemote(e,t){return fetch(e,{cache:t?.cache??"default"}).then(e=>e.text())}async fetchLocal(e,t){return this.fetchRemote(e,t)}async preprocessString(e,t){this.log("Preprocessing string content with params:\n",t);const s=this.parseHTML(e,t);return await this.preprocessNode(s,t),s}async preprocessRemote(e,t){const s={};t?.cache&&(s.cache=t.cache);const r=await fetch(e,s).then(e=>e.text());return this.preprocessString(r,{...t,dirpath:ue(e),rootDocument:t?.rootDocument??!e.endsWith(".tpl.html")})}async preprocessLocal(e,t){const s=await this.fetchLocal(e,t);return this.preprocessString(s,{...t,dirpath:ue(e),rootDocument:t?.rootDocument??!e.endsWith(".tpl.html")})}subrenderer(){const e=(new this.constructor).debug(this.debugging);return e._store.set("$parent",this),e._store.set("$rootRenderer",this.get("$rootRenderer")??this),e._customElements=this._customElements,e}log(...e){this.debugging&&console.debug(...e)}async preprocessNode(e,t){t={dirpath:this.dirpath,maxdepth:10,...t};const s=new de(W(e,this._skipNodes)).map(async e=>{this.log("Preprocessing node:\n",he(e,128)),await pe.resolveIncludes.call(this,e,t),await pe.rebaseRelativePaths.call(this,e,t),await pe.registerCustomElements.call(this,e,t),await pe.resolveCustomElements.call(this,e,t)});return await Promise.all(s.generator()),e}async renderNode(e,t){for(const s of W(e,this._skipNodes))this.log("Rendering node:\n",he(s,128)),await pe.resolveForAttribute.call(this,s,t),await pe.resolveRenderAttribute.call(this,s,t),await pe.resolveDataAttribute.call(this,s,t),await pe.resolveTextAttributes.call(this,s,t),await pe.resolveHtmlAttribute.call(this,s,t),await pe.resolveShowAttribute.call(this,s,t),await pe.resolveClassAttribute.call(this,s,t),await pe.resolveBindAttribute.call(this,s,t),await pe.resolveEventAttributes.call(this,s,t),await pe.resolveTextNodeExpressions.call(this,s,t),await pe.resolveCustomAttribute.call(this,s,t),await pe.resolveCustomProperty.call(this,s,t),await pe.stripTypes.call(this,s,t);return e}async mount(e,t){t={...t,rootNode:e},J(e,"renderer",this),this._store.set("$rootNode",e),this.has("$rootRenderer")||this._store.set("$rootRenderer",this),this.get("$rootRenderer")===this&&await Ke(this),await this.preprocessNode(e,t),await this.renderNode(e,t)}}const We=[":data",":for",":text",":html",":show",":class",":bind",":render",":on:click",":on:click.prevent",":on:input",":on:input.prevent",":on:change",":on:change.prevent",":on:submit",":on:submit.prevent",":attr:src",":attr:href",":attr:title",":attr:data-testid",":prop:checked",":prop:selected",":prop:disabled"],Ye=[...We.map(e=>(e=>`data-${e.slice(1).replace(":","-")}`)(e)),"data-testid"];class Be extends He{impl="safe_browser";dirpath=ue(globalThis.location?.href??"http://localhost/");parseHTML(e,t={rootDocument:!1}){for(const t of We)e=e.replace(new RegExp(`\\s:${t.slice(1)}=`,"g"),` data-${t.slice(1).replace(":","-")}=`);e=(e=(e=e.replace(/<include(.*) src="([^"]+)"(.*)><\/include>/g,'<link $1 rel="subresource" href="$2" $3>')).replace(/<template is="([^"]+)">([\s\S]*)<\/template>/g,'<div role="template" alt="$1">$2</div>')).replace(/<(\w+)-(\w+)(.*)>([\s\S]*)<\/(\w+)-(\w+)>/g,'<div role="$1-$2" $3>$4</div>');const s=(new F).allowDataAttributes(Ye).allowClassAttributes().allowStyleAttributes().build();if(this.log("parseHTML",e),this.log("sanitized",String(s.sanitize(e))),t.rootDocument){return K(new DOMParser,s.sanitize(e),"text/html")}return s.sanitizeToFragment(e)}serializeHTML(e){return(new XMLSerializer).serializeToString(e).replace(/\s?xmlns="[^"]+"/gm,"")}preprocessLocal(e,t){return this.preprocessRemote(e,t)}createElement(e,t){return(t||document).createElement(e)}textContent(e,t){e.textContent=t}}const Ve=new Be;export{Ve as Mancha,Be as Renderer};
|
package/dist/store.d.ts
CHANGED
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
* Internal store properties that are always present. These are managed by the framework
|
|
3
3
|
* and should not be set directly by users.
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
5
|
+
export type InternalStoreState = {
|
|
6
6
|
/** Reference to the parent store in a hierarchy. */
|
|
7
7
|
$parent?: SignalStore;
|
|
8
8
|
/** Reference to the root renderer instance. */
|
|
9
9
|
$rootRenderer?: SignalStore;
|
|
10
10
|
/** Reference to the root DOM node. */
|
|
11
11
|
$rootNode?: Node;
|
|
12
|
-
}
|
|
12
|
+
} & {
|
|
13
|
+
[key: `$$${string}`]: string | null;
|
|
14
|
+
};
|
|
13
15
|
/**
|
|
14
16
|
* Base type for user-defined store state. Uses `any` intentionally to allow flexible
|
|
15
17
|
* user-defined state types without requiring explicit index signatures.
|
|
@@ -31,7 +33,7 @@ declare abstract class IDebouncer {
|
|
|
31
33
|
}
|
|
32
34
|
/** Default debouncer time in millis. */
|
|
33
35
|
export declare const REACTIVE_DEBOUNCE_MILLIS = 10;
|
|
34
|
-
export declare function getAncestorValue(store: SignalStore | null, key: string): unknown
|
|
36
|
+
export declare function getAncestorValue(store: SignalStore | null, key: string): unknown;
|
|
35
37
|
export declare function getAncestorKeyStore(store: SignalStore | null, key: string): SignalStore | null;
|
|
36
38
|
export declare function setAncestorValue(store: SignalStore, key: string, value: unknown): void;
|
|
37
39
|
export declare function setNestedProperty(obj: Record<string, unknown>, path: string, value: unknown): void;
|
|
@@ -49,10 +51,14 @@ export declare class SignalStore<T extends StoreState = StoreState> extends IDeb
|
|
|
49
51
|
watch<T>(key: string, observer: Observer<T>): void;
|
|
50
52
|
addKeyHandler(pattern: RegExp, handler: KeyValueHandler): void;
|
|
51
53
|
notify(key: string, debounceMillis?: number): Promise<void>;
|
|
52
|
-
get<T>(key: string, observer?: Observer<T>): unknown
|
|
54
|
+
get<T>(key: string, observer?: Observer<T>): unknown;
|
|
53
55
|
set(key: string, value: unknown): Promise<void>;
|
|
54
56
|
del(key: string): Promise<void>;
|
|
55
57
|
keys(): string[];
|
|
58
|
+
/**
|
|
59
|
+
* Checks if a key exists in THIS store only (not ancestors).
|
|
60
|
+
* Use `get(key) !== null` to check if a key exists anywhere in the chain.
|
|
61
|
+
*/
|
|
56
62
|
has(key: string): boolean;
|
|
57
63
|
effect<T>(observer: Observer<T>): T;
|
|
58
64
|
private proxify;
|
package/dist/store.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as expressions from "./expressions/index.js";
|
|
2
2
|
class IDebouncer {
|
|
3
3
|
timeouts = new Map();
|
|
4
4
|
debounce(millis, callback) {
|
|
@@ -21,7 +21,7 @@ class IDebouncer {
|
|
|
21
21
|
/** Default debouncer time in millis. */
|
|
22
22
|
export const REACTIVE_DEBOUNCE_MILLIS = 10;
|
|
23
23
|
/** Shared AST factory. */
|
|
24
|
-
const AST_FACTORY = new
|
|
24
|
+
const AST_FACTORY = new expressions.EvalAstFactory();
|
|
25
25
|
/** Symbol used to identify proxified objects. */
|
|
26
26
|
const PROXY_MARKER = "__is_proxy__";
|
|
27
27
|
function isProxified(object) {
|
|
@@ -36,7 +36,7 @@ export function getAncestorValue(store, key) {
|
|
|
36
36
|
return getAncestorValue(map.get("$parent"), key);
|
|
37
37
|
}
|
|
38
38
|
else {
|
|
39
|
-
return
|
|
39
|
+
return undefined;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
export function getAncestorKeyStore(store, key) {
|
|
@@ -148,7 +148,8 @@ export class SignalStore extends IDebouncer {
|
|
|
148
148
|
return getAncestorValue(this, key);
|
|
149
149
|
}
|
|
150
150
|
async set(key, value) {
|
|
151
|
-
if
|
|
151
|
+
// Early return if the key exists in this store and has the same value.
|
|
152
|
+
if (this._store.has(key) && value === this._store.get(key))
|
|
152
153
|
return;
|
|
153
154
|
const callback = () => this.notify(key);
|
|
154
155
|
if (value && typeof value === "function") {
|
|
@@ -178,6 +179,10 @@ export class SignalStore extends IDebouncer {
|
|
|
178
179
|
keys() {
|
|
179
180
|
return Array.from(this._store.keys());
|
|
180
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Checks if a key exists in THIS store only (not ancestors).
|
|
184
|
+
* Use `get(key) !== null` to check if a key exists anywhere in the chain.
|
|
185
|
+
*/
|
|
181
186
|
has(key) {
|
|
182
187
|
return this._store.has(key);
|
|
183
188
|
}
|
|
@@ -199,10 +204,19 @@ export class SignalStore extends IDebouncer {
|
|
|
199
204
|
return Reflect.has(keyval, prop);
|
|
200
205
|
},
|
|
201
206
|
get: (_, prop, receiver) => {
|
|
202
|
-
if (typeof prop === "string"
|
|
203
|
-
|
|
207
|
+
if (typeof prop === "string") {
|
|
208
|
+
if (getAncestorKeyStore(this, prop)) {
|
|
209
|
+
return this.get(prop, observer);
|
|
210
|
+
}
|
|
211
|
+
// If the property is not found, but we are observing, we assume it's a
|
|
212
|
+
// state variable that hasn't been initialized yet. We initialize it to
|
|
213
|
+
// undefined so that we can watch it.
|
|
214
|
+
if (observer && prop !== PROXY_MARKER && !Reflect.has(this, prop)) {
|
|
215
|
+
this.set(prop, undefined);
|
|
216
|
+
return this.get(prop, observer);
|
|
217
|
+
}
|
|
204
218
|
}
|
|
205
|
-
|
|
219
|
+
if (prop === "$") {
|
|
206
220
|
return this.proxify(observer);
|
|
207
221
|
}
|
|
208
222
|
else {
|
|
@@ -234,7 +248,7 @@ export class SignalStore extends IDebouncer {
|
|
|
234
248
|
throw new Error("Complex expressions are not supported.");
|
|
235
249
|
}
|
|
236
250
|
return (thisArg, args) => {
|
|
237
|
-
const ast =
|
|
251
|
+
const ast = expressions.parse(expr, AST_FACTORY);
|
|
238
252
|
const scope = new Proxy(args, {
|
|
239
253
|
has(target, prop) {
|
|
240
254
|
return prop in target || prop in thisArg || prop in globalThis;
|
|
@@ -246,7 +260,9 @@ export class SignalStore extends IDebouncer {
|
|
|
246
260
|
return target[prop];
|
|
247
261
|
if (prop in thisArg)
|
|
248
262
|
return thisArg[prop];
|
|
249
|
-
|
|
263
|
+
if (prop in globalThis)
|
|
264
|
+
return globalThis[prop];
|
|
265
|
+
return thisArg[prop];
|
|
250
266
|
},
|
|
251
267
|
set(target, prop, value) {
|
|
252
268
|
if (typeof prop !== "string")
|
package/dist/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|