@haxtheweb/haxcms-nodejs Iframe Phishing vulnerability
Description
HAX CMS PHP allows users to manage their microsite universe with a PHP backend. Prior to version 11.0.0, in the HAX site editor, users can create a website block to load another site in an iframe. The application allows users to supply a target URL in the website block. When the HAX site is visited, the client's browser will query the supplied URL. An authenticated attacker can create a HAX site with a website block pointing at an attacker-controlled server running Responder or a similar tool. The attacker can then conduct a phishing attack by convincing another user to visit their malicious HAX site to harvest credentials. Version 11.0.0 contains a patch for the issue.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
HAX CMS PHP prior to 11.0.0 allows authenticated attackers to load an iframe with a malicious URL, enabling credential harvesting via phishing.
Root
Cause
The vulnerability exists in the HAX site editor, where users can create a website block that loads another site in an iframe. The application does not validate or restrict the target URL supplied by the user, allowing arbitrary URLs to be embedded [1].
Exploitation
An authenticated attacker can create a HAX site with a website block pointing to an attacker-controlled server running Responder or a similar tool. The attacker then convinces another user to visit the malicious HAX site. When the victim visits, the iframe loads the attacker's server, which prompts the user to sign in, harvesting their credentials [4].
Impact
Successful exploitation allows the attacker to conduct a phishing attack and capture victim credentials, including password hashes, when the user enters them on the fake login prompt [4].
Mitigation
The issue is fixed in version 11.0.0 of HAX CMS PHP. Users should upgrade to the latest version to prevent this attack [1].
AI Insight generated on May 20, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
@haxtheweb/haxcms-nodejsnpm | < 11.0.0 | 11.0.0 |
Affected products
2- haxtheweb/issuesv5Range: < 11.0.0
Patches
15368eb9b278chttps://github.com/haxtheweb/issues/security/advisories/GHSA-v3ph-2q5q-cg88
18 files changed · +15740 −243
src/public/build/es6/node_modules/@haxtheweb/glossy-portfolio-theme/glossy-portfolio-theme.js+166 −15 modified@@ -2,35 +2,186 @@ * Copyright 2025 NazmanRosman * @license Apache-2.0, see LICENSE for full text. */ -import{html as o,css as t}from"../../lit/index.js";import{HAXCMSLitElementTheme as s}from"../haxcms-elements/lib/core/HAXCMSLitElementTheme.js";import{store as i}from"../haxcms-elements/lib/core/haxcms-site-store.js";import{autorun as r,toJS as e}from"../../mobx/dist/mobx.esm.js";import{DDDSuper as l}from"../d-d-d/d-d-d.js";import{I18NMixin as p}from"../i18n-manager/lib/I18NMixin.js";import"./lib/glossy-portfolio-card.js";import"./lib/glossy-portfolio-header.js";import"./lib/glossy-portfolio-page.js";import"./lib/glossy-portfolio-home.js";import"./lib/glossy-portfolio-grid.js";import"./lib/glossy-portfolio-about.js";export class GlossyPortfolioTheme extends(l(p(s))){static get tag(){return"glossy-portfolio-theme"}constructor(){super(),this.title="",this.currentView="home",this.t=this.t||{},this.t={...this.t,title:"Title"}}static get properties(){return{...super.properties,title:{type:String},currentView:{type:String}}}disconnectedCallback(){if(this.__disposer)for(var o in this.__disposer)this.__disposer[o].dispose();super.disconnectedCallback()}static get styles(){return[super.styles,t` - :host{ +import{html as t,css as e}from"../../lit/index.js";import{HAXCMSLitElementTheme as o}from"../haxcms-elements/lib/core/HAXCMSLitElementTheme.js";import{store as i}from"../haxcms-elements/lib/core/haxcms-site-store.js";import{autorun as r,toJS as s}from"../../mobx/dist/mobx.esm.js";import{DDDSuper as a}from"../d-d-d/d-d-d.js";import{I18NMixin as l}from"../i18n-manager/lib/I18NMixin.js";import{DDDVariables as n}from"../d-d-d/lib/DDDStyles.js";import"../haxcms-elements/lib/ui-components/active-item/site-active-title.js";import"../bootstrap-theme/lib/BootstrapBreadcrumb.js";import"../haxcms-elements/lib/ui-components/navigation/site-breadcrumb.js";import"./lib/glossy-portfolio-card.js";import"./lib/glossy-portfolio-header.js";import"./lib/glossy-portfolio-footer.js";import"./lib/glossy-portfolio-home.js";import"./lib/glossy-portfolio-grid.js";import"./lib/glossy-portfolio-about.js";import"./lib/glossy-portfolio-breadcrumb.js";export class GlossyPortfolioTheme extends(a(l(o))){static get tag(){return"glossy-portfolio-theme"}constructor(){super(),this.title="",this.activeLayout="grid",this.activeParent="",this.relatedItems=[],this.childrenArray=[],this.__disposer=this.__disposer||[],r((t=>{const e=s(i.activeItem);if(e){this.activeItem=e,this.activeParent=i.manifest.items.find((t=>e.parent===t.id))||"";const t=i.getItemChildren(i.activeId);t&&(t.length>0?(this.setLayout("grid"),this.childrenArray=[...t]):e.parent?(this.childrenArray=[],this.setLayout("media")):(this.childrenArray=[],this.setLayout("text")))}this.__disposer.push(t)})),r((t=>{const e=s(i.activeItem);if(e){if(this.activeItem=e,this.activeItem.metadata.relatedItems){let t=i.findItem(e.metadata.relatedItems);this.relatedItems.some((e=>e.id===t.id))||this.relatedItems.push(t)}this.__disposer.push(t)}}))}static get properties(){return{...super.properties,title:{type:String},activeLayout:{type:String},activeItems:{type:Array},activeParent:{type:Object},relatedItem:{type:Object},childrenArray:{type:Array},categoryTags:{type:Array},items:{type:Object}}}disconnectedCallback(){if(this.__disposer)for(var t in this.__disposer)this.__disposer[t].dispose();super.disconnectedCallback()}setLayout(t){globalThis.document&&globalThis.document.startViewTransition?globalThis.document.startViewTransition((()=>{this.activeLayout=t})):this.activeLayout=t}firstUpdated(t){super.firstUpdated(t);let e=globalThis.DesignSystemManager.requestAvailability();e.addDesignSystem({name:"glossy-portfolio-theme",styles:[...GlossyPortfolioTheme.styles,n],fonts:["https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap","https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap","https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"],hax:!0}),e.active="glossy-portfolio-theme"}static get styles(){return[super.styles,e` + * { + box-sizing: border-box; + --bg-color: #111111; --main-font: "Manrope", "Manrope Placeholder", sans-serif; --max-width: 1200px; --page-padding: 0 25px; + --link-color: #6cddff; + --link-color-hover: #9ae7ff; + --main-font-size: 18px; + --mobile-page-padding: 0 15px; + - } - - + :root, html, body{ + /* font-size: 124px; */ + font-family: var(--main-font); + color: white; + background-color: var(--bg-color); + font-size: var(--main-font-size); + + } + :host { display: block; color: var(--ddd-theme-primary); - background-color: var(--bg-color); font-family: var(--main-font); margin: auto; box-sizing: border-box; overflow: visible; min-height: 100vh; + background-color: var(--bg-color); + + } + /* text style */ + p, a, blockquote, pre, code, span, strong, em { + margin: 1em 0; /* Top and bottom margins equal to the font size, no left/right margin */ + font-size: 1rem; + font-weight: 400; + line-height: 1.8; + font-family: inherit; + + } + + li{ + font-size: 1rem; + font-weight: 400; + line-height: 1.8; + font-family: inherit; + } + + ol, ul{ + margin-bottom: 1em; + } + + p, h1, h2, h3, h4, h5, h6, li, a, blockquote, pre, code, span, strong, em { + max-width: 840px; + /* letter-spacing: .01em; */ + } + h1, h2, h3, h4, h5, h6 { + margin: 0.5em 0; /* Slightly smaller margins for headings */ + } + h1 { + font-size: 3rem; + font-weight: 700; + line-height: 1.2; + font-family: inherit; + + } + + h2 { + font-size: 2rem; + font-weight: 700; + line-height: 1.3; + font-family: inherit; + + } + h3{ + font-size: 1.75rem; /* 28px if root font size is 16px */ + font-weight: 700; + line-height: 1.4; + font-family: inherit; + + } + + a { + + text-decoration: none; + color: var(--link-color); /* Sky Blue */ + font-family: inherit; + + } + + a:hover { + color: var(--link-color-hover); /* Bright Cyan for hover effect */ + text-decoration: underline; + } + + /* wrapper style */ + site-active-title h1{ + margin-bottom: 0; + /* margin-top: 0.25em; */ + } + .wrapper { + /* min-width: 100%; */ + max-width: var(--max-width); + padding: var(--page-padding); + /* background-color: red; */ + margin: 0 auto; + + } + + #contentcontainer { + min-width: 100%; + } + + site-breadcrumb { + color: white; + } + + glossy-portfolio-footer{ + position: relative; + bottom: 0; + width: 100%; + } + .body-wrapper { + display: flex; + flex-direction: column; + min-height: 100vh; + } + + .grow { + flex: 1 0 auto; /* Allow this element to grow and fill available space */ + } + .not-grow { + flex: 0 0 auto; /* Prevent this element from growing */ } - `]}render(){if("home"===this.currentView)return o` - <div id="contentcontainer"> - <div id="slot"><slot></slot></div> - </div> - <glossy-portfolio-home></glossy-portfolio-home> - <!-- <glossy-portfolio-about></glossy-portfolio-about> --> - <!-- <glossy-portfolio-page></glossy-portfolio-page> --> - <!-- <glossy-portfolio-grid class="projects"></glossy-portfolio-grid> --> - `}static get haxProperties(){return new URL(`./lib/${this.tag}.haxProperties.json`,import.meta.url).href}}globalThis.customElements.define(GlossyPortfolioTheme.tag,GlossyPortfolioTheme); \ No newline at end of file + + /* Extra small devices (phones) */ + @media (max-width: 575.98px) { + :root, html, body{ + /* font-size: 124px; */ + font-family: var(--main-font); + color: white; + background-color: var(--bg-color); + font-size: 14px; + + } + } + `]}render(){const e=this.activeItem?.title||"Default Title";return t` + <!-- temporary margin-top --> +<div class="body-wrapper" style="margin-top: 150px"> + <div id="contentcontainer" class="grow"> + <div class="wrapper"> + <glossy-portfolio-breadcrumb></glossy-portfolio-breadcrumb> + + <site-active-title></site-active-title> + <div id="slot"><slot></slot></div> + </div> + + </div> + + <glossy-portfolio-header></glossy-portfolio-header> + + <!-- display grid of children items --> + ${this.childrenArray&&this.childrenArray.length>0?t` <glossy-portfolio-grid class="grow" title=${e} .data=${this.childrenArray} style=""></glossy-portfolio-grid>`:""} + + <!-- display grid of related items --> + ${this.relatedItems&&this.relatedItems.length>0?t` <glossy-portfolio-grid class="grow" title="RELATED CONTENT" .data=${this.relatedItems} style=""></glossy-portfolio-grid>`:""} + <footer><glossy-portfolio-footer class="not-grow"></glossy-portfolio-footer></footer> + <!-- <glossy-portfolio-footer></glossy-portfolio-footer> --> + + + +</div> + + + + +`}static get haxProperties(){return new URL(`./lib/${this.tag}.haxProperties.json`,import.meta.url).href}}globalThis.customElements.define(GlossyPortfolioTheme.tag,GlossyPortfolioTheme); \ No newline at end of file
src/public/build/es6/node_modules/@haxtheweb/glossy-portfolio-theme/lib/components/data (1).json+15307 −0 addedsrc/public/build/es6/node_modules/@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-breadcrumb.js+77 −0 added@@ -0,0 +1,77 @@ +/** + * Copyright 2025 NazmanRosman + * @license Apache-2.0, see LICENSE for full text. + */ +import{LitElement as e,html as t,css as i}from"../../../lit/index.js";import{DDDSuper as s}from"../../d-d-d/d-d-d.js";import{I18NMixin as r}from"../../i18n-manager/lib/I18NMixin.js";import{SiteBreadcrumb as o}from"../../haxcms-elements/lib/ui-components/navigation/site-breadcrumb.js";import{store as l}from"../../haxcms-elements/lib/core/haxcms-site-store.js";import{autorun as a,toJS as m}from"../../../mobx/dist/mobx.esm.js";export class GlossyPortfolioBreadcrumb extends(s(r(e))){static get tag(){return"glossy-portfolio-breadcrumb"}static get styles(){return[super.styles,i` + :host { + display: block; + box-sizing: border-box; + } + ol.breadcrumb{ + list-style: none; + margin: 0; + padding: 0; + display: flex; + flex-direction: row; + flex-wrap: wrap; + font-family: inherit; + font-size: 0.9rem; + gap: 8px; + list-style: ">"; + list-style-position: inside; /* Place bullets inside the container */ + + } + + + ol.breadcrumb li { + /* padding-left: 8px; */ + font-size: 0.9rem; + font-weight: 300; + } + ol.breadcrumb li a { + margin-left: 4px; + font-size: 0.9rem; + /* color: var(--link-color); */ + color: #ffffffa6; + font-weight: 400; + } + ol.breadcrumb li a:hover { + color: var(--link-color); + + } + ol.breadcrumb li::marker { + font-size: 0.9rem; + color: #ffffffa6; + } + ol.breadcrumb li:last-child a{ + color: white; + } + ol.breadcrumb li:last-child a:hover{ + text-decoration: none; + cursor: default + } + ol.breadcrumb li:first-child::marker { + content: ""; + + } + ol.breadcrumb li:first-child a { + margin-left: 0; + + } + + + `]}constructor(){super(),this.__disposer=[],this.items=[],this.includeHome=!1,this.t=this.t||{},this.t={...this.t,home:"Home"}}render(){return t` ${this.items.length>0?t` + <ol + class="breadcrumb" + itemscope + itemtype="https://schema.org/BreadcrumbList" + > + ${this.items.map((e=>t`<li + itemprop="itemListElement" + itemscope + itemtype="https://schema.org/ListItem" + > + <a itemprop="item" href="${e.slug}">${e.title}</a> + </li>`))} + </ol> + `:""}`}static get properties(){return{...super.properties,items:{type:Array},editMode:{type:Boolean,reflect:!0,attribute:"edit-mode"},includeHome:{type:Boolean,reflect:!0,attribute:"include-home"}}}firstUpdated(e){super.firstUpdated&&super.firstUpdated(e),a((e=>{this.editMode=m(l.editMode),this.__disposer.push(e)})),a((e=>{this._activeItemChanged(m(l.activeItem)),this.__disposer.push(e)}))}_activeItemChanged(e){const t=e;if(t&&this.shadowRoot){var i=[{title:t.title,slug:t.slug}];let e=t,s=m(l.routerManifest);for(;e&&null!=e.parent;)e=s.items.find((t=>t.id==e.parent)),e&&i.unshift({title:e.title,slug:e.slug});this.includeHome&&i.unshift({title:this.t.home,slug:l.homeLink}),this.includeHome||1!==i.length?this.includeHome&&2===i.length&&i[0].slug===i[1].slug?this.items=[]:this.items=[...i]:this.items=[]}}disconnectedCallback(){for(var e in this.__disposer)this.__disposer[e].dispose();super.disconnectedCallback()}static get haxProperties(){return new URL(`./lib/${this.tag}.haxProperties.json`,import.meta.url).href}}globalThis.customElements.define(GlossyPortfolioBreadcrumb.tag,GlossyPortfolioBreadcrumb); \ No newline at end of file
src/public/build/es6/node_modules/@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-card.js+9 −11 modified@@ -2,7 +2,7 @@ * Copyright 2025 NazmanRosman * @license Apache-2.0, see LICENSE for full text. */ -import{LitElement as t,html as o,css as r}from"../../../lit/index.js";import{DDDSuper as i}from"../../d-d-d/d-d-d.js";import{I18NMixin as a}from"../../i18n-manager/lib/I18NMixin.js";export class GlossyPortfolioCard extends(i(a(t))){static get tag(){return"glossy-portfolio-card"}constructor(){super(),this.title="Title",this.thumbnail="impactra.png",this.link="https://google.com",this.tags=[],this.t=this.t||{},this.t={...this.t,title:"Title"}}static get properties(){return{...super.properties,title:{type:String},thumbnail:{type:String},link:{type:String},tags:{type:Array}}}static get styles(){return[super.styles,r` +import{LitElement as t,html as o,css as r}from"../../../lit/index.js";import{DDDSuper as i}from"../../d-d-d/d-d-d.js";import{I18NMixin as a}from"../../i18n-manager/lib/I18NMixin.js";export class GlossyPortfolioCard extends(i(a(t))){static get tag(){return"glossy-portfolio-card"}constructor(){super(),this.title="Title",this.thumbnail="https://img.freepik.com/premium-photo/cool-cat-wearing-pink-sunglasses-with-neon-light-background_514761-16858.jpg",this.slug="https://google.com",this.tags=[]}static get properties(){return{...super.properties,title:{type:String},thumbnail:{type:String},slug:{type:String},tags:{type:Array}}}static get styles(){return[super.styles,r` :host { display: block; @@ -35,12 +35,12 @@ import{LitElement as t,html as o,css as r}from"../../../lit/index.js";import{DDD bottom: 36px; left: 36px; font-family: "Manrope", "Manrope Placeholder", sans-serif; - font-size: 22px; + font-size: 1.25rem; color: white; opacity: 0; font-weight: 500; text-shadow: 1px 1px 7px rgba(0, 0, 0, 0.5); /* Horizontal offset, vertical offset, blur radius, color */ - + width: 70%; } .arrow{ @@ -97,24 +97,22 @@ import{LitElement as t,html as o,css as r}from"../../../lit/index.js";import{DDD } .arrow-shape{ - opacity: 1; - transform: scale(0.3) rotate(0); - right:24px; + display: none; } .arrow-box{ - opacity: 0.3; - right:24px; + display: none; } } `]}render(){return o` -<a href="https://google.com" target="_blank" rel="noopener"> +<a href=${this.slug}> <div class="container"> - <img src=${`/lib/thumbnails/${this.thumbnail}`} class="thumbnail"> + <img src=${this.thumbnail} class="thumbnail"> <div class="title">${this.title}</div> <div class="arrow arrow-box"></div> - <img src="lib/components/arrow.png" class="arrow arrow-shape"> + <!-- <img src="lib/components/arrow.png" class="arrow arrow-shape"> --> + <img src="https://github.com/NazmanRosman/graphic-portfolio/blob/main/lib/components/arrow.png?raw=true" class="arrow arrow-shape"> </div> </a> `}static get haxProperties(){return new URL(`./lib/${this.tag}.haxProperties.json`,import.meta.url).href}}globalThis.customElements.define(GlossyPortfolioCard.tag,GlossyPortfolioCard); \ No newline at end of file
src/public/build/es6/node_modules/@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-footer.js+62 −0 added@@ -0,0 +1,62 @@ +/** + * Copyright 2025 NazmanRosman + * @license Apache-2.0, see LICENSE for full text. + */ +import{LitElement as e,html as t,css as i}from"../../../lit/index.js";import{DDDSuper as s}from"../../d-d-d/d-d-d.js";import{I18NMixin as r}from"../../i18n-manager/lib/I18NMixin.js";import{store as n}from"../../haxcms-elements/lib/core/haxcms-site-store.js";import{autorun as a,toJS as o}from"../../../mobx/dist/mobx.esm.js";import{licenseList as l}from"../../license-element/license-element.js";export class GlossyPortfolioFooter extends(s(r(e))){static get tag(){return"glossy-portfolio-footer"}constructor(){super(),this.title="Title",this.homeLink="",this.__disposer=this.__disposer||[],a((e=>{this.manifest=o(n.manifest);let t=new l;this.manifest.license&&t[this.manifest.license]&&(this.licenseName=t[this.manifest.license].name,this.licenseLink=t[this.manifest.license].link,this.licenseImage=t[this.manifest.license].image),this.__disposer.push(e)})),a((e=>{this.lastUpdated=new Date(1e3*n.manifest.metadata.site.updated).toDateString(),this.copyrightYear=new Date(1e3*n.manifest.metadata.site.created).getFullYear(),this.__disposer.push(e)}))}static get properties(){return{...super.properties,title:{type:String},thumbnail:{type:String},link:{type:String},topItems:{type:Array}}}static get styles(){return[super.styles,i` + *{ + box-sizing: border-box; + } + .background{ + background-color: #161616; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + } + .wrapper { + height: auto; + padding: var(--page-padding); + padding-top: 20px; + padding-bottom: 20px; + display: grid; + grid-template-columns: 1fr auto 1fr; /* Three columns: left, center, right */ + align-items: center; + width: 100%; + max-width: var(--max-width); + + + } + p { + margin: 0; + font-family: Inter; + color: #ffffff97; + font-size: 0.8rem; + text-align: center; /* Center-align text inside the grid cell */ + font-weight: 300; + } + .item { + justify-self: start; /* Align left-side text to the start */ + } + .center { + justify-self: center; /* Center-align the copyright text */ + } + .license { + justify-self: end; /* Align the license image to the end */ + } + + + `]}render(){return t` +<div class="background"> + <div class="wrapper"> + <p class="item"> Last updated: ${this.lastUpdated} </p> + <p class="center">© ${this.copyrightYear} </p> + <div class="license item"> + <a href="${this.licenseLink}" target="_blank"> + <img src="${this.licenseImage}" alt="${this.licenseName}" /> + </a> + </div> + </div> +</div> + + + `}static get haxProperties(){return new URL(`./lib/${this.tag}.haxProperties.json`,import.meta.url).href}}globalThis.customElements.define(GlossyPortfolioFooter.tag,GlossyPortfolioFooter); \ No newline at end of file
src/public/build/es6/node_modules/@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-grid.js+11 −9 modified@@ -2,7 +2,7 @@ * Copyright 2025 NazmanRosman * @license Apache-2.0, see LICENSE for full text. */ -import{LitElement as t,html as i,css as e}from"../../../lit/index.js";import{DDDSuper as a}from"../../d-d-d/d-d-d.js";import{I18NMixin as r}from"../../i18n-manager/lib/I18NMixin.js";import{store as s}from"../../haxcms-elements/lib/core/haxcms-site-store.js";import{autorun as o,toJS as l}from"../../../mobx/dist/mobx.esm.js";export class GlossyPortfolioGrid extends(a(r(t))){static get tag(){return"glossy-portfolio-grid"}constructor(){super(),this.title="Title",this.thumbnail="impactra.png",this.link="https://google.com",this.filtersList=new Set,this.filteredData=[],this.data=[],this.activeFilter="",this.t=this.t||{},this.t={...this.t,title:"Title"},o((()=>{this.data=l(s.manifest.items),console.log(this.data)}))}static get properties(){return{...super.properties,title:{type:String},thumbnail:{type:String},link:{type:String},filteredData:{type:Array},data:{type:Array},filtersList:{type:Array}}}static get styles(){return[super.styles,e` +import{LitElement as t,html as i,css as e}from"../../../lit/index.js";import{DDDSuper as a}from"../../d-d-d/d-d-d.js";import{I18NMixin as r}from"../../i18n-manager/lib/I18NMixin.js";import{store as s}from"../../haxcms-elements/lib/core/haxcms-site-store.js";import{autorun as o,toJS as l}from"../../../mobx/dist/mobx.esm.js";export class GlossyPortfolioGrid extends(a(r(t))){static get tag(){return"glossy-portfolio-grid"}constructor(){super(),this.filtersList=[],this.filteredData=[],this.data=[],this.activeFilter=""}static get properties(){return{...super.properties,filteredData:{type:Array},data:{type:Array},filtersList:{type:Array}}}static get styles(){return[super.styles,e` :host { display: block; color: white; @@ -23,16 +23,17 @@ import{LitElement as t,html as i,css as e}from"../../../lit/index.js";import{DDD width: 100%; padding: var(--page-padding); min-height: 100vh; + padding-bottom: 30px; } .projects-header{ display: flex; justify-content: space-between; padding: 50px 0; max-width: 100%; } - .latest-projects{ - font-size: 18px; - font-weight: 500; + .grid-title{ + font-size: 1rem; + font-weight: 800; letter-spacing: 1.7px; } @@ -49,7 +50,7 @@ import{LitElement as t,html as i,css as e}from"../../../lit/index.js";import{DDD .filter{ font-family: "Inter", "Inter Placeholder", sans-serif; - font-size: 16px; + font-size: 1rem; color: rgb(153, 153, 153); } .card-container { @@ -97,7 +98,7 @@ import{LitElement as t,html as i,css as e}from"../../../lit/index.js";import{DDD <div class = "container-background"> <div class="projects-header"> - <div class="latest-projects">LATEST PROJECTS</div> + <div class="grid-title">${this.title.toUpperCase()}</div> <div class="filters"> <button class="filter active" name="all" @click="${this.updateFilter}">All</button> @@ -112,14 +113,15 @@ import{LitElement as t,html as i,css as e}from"../../../lit/index.js";import{DDD </div> <div class="card-container"> - ${this.filteredData.map((t=>i` <glossy-portfolio-card class="card" title="${t.title}" - thumbnail=${t.thumbnail}> + thumbnail=${t.metadata.images[0]?t.metadata.images[0]:"https://img.freepik.com/premium-photo/cool-cat-wearing-pink-sunglasses-with-neon-light-background_514761-16858.jpg"} + slug="${t.slug}" + > </glossy-portfolio-card> `))} </div> </div> -`}capitalizeWords(t){return t.split(" ").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join(" ")}updated(t){super.updated(t),t.has("data")&&(this.data.sort(((t,i)=>t.title.localeCompare(i.title))),this.filteredData=this.data,this.data.forEach((t=>{void 0!==t.metadata.tags&&null!==t.metadata.tags&&t.metadata.tags.split(",").length>0&&this.filtersList.add(t.metadata.tags.split(",")[0])})))}_updateFilter(t,i){this.activeFilter=t.getAttribute("name");this.renderRoot.querySelectorAll(".filter").forEach((t=>t.classList.remove("active"))),i.classList.add("active"),this.filterData()}updateFilter(t){const i=t.target,e=t.currentTarget;globalThis.document.startViewTransition?globalThis.document.startViewTransition((()=>{this._updateFilter(i,e)})):this._updateFilter(i,e)}filterData(){"all"===this.activeFilter?this.filteredData=this.data:(this.filteredData=[],this.data.forEach((t=>{t.tag===this.activeFilter&&this.filteredData.push(t)})))}static get haxProperties(){return new URL(`./lib/${this.tag}.haxProperties.json`,import.meta.url).href}}globalThis.customElements.define(GlossyPortfolioGrid.tag,GlossyPortfolioGrid); \ No newline at end of file +`}capitalizeWords(t){return t.split(" ").map((t=>t.charAt(0).toUpperCase()+t.slice(1))).join(" ")}updated(t){super.updated(t),t.has("data")&&this.data&&this.data.length>0&&(this.filteredData=this.data,this.filtersList=[],this.data.forEach((t=>{if(void 0!==t.metadata.tags&&null!==t.metadata.tags&&t.metadata.tags.split(",").length>0){const i=t.metadata.tags.split(",")[0];this.filtersList.includes(i)||this.filtersList.push(i)}})))}_updateFilter(t,i){this.activeFilter=t.getAttribute("name");this.renderRoot.querySelectorAll(".filter").forEach((t=>t.classList.remove("active"))),i.classList.add("active"),this.filterData()}updateFilter(t){const i=t.target,e=t.currentTarget;globalThis.document.startViewTransition?globalThis.document.startViewTransition((()=>{this._updateFilter(i,e)})):this._updateFilter(i,e)}filterData(){"all"===this.activeFilter?this.filteredData=this.data:(this.filteredData=[],this.data.forEach((t=>{t.metadata.tags&&t.metadata.tags.includes(this.activeFilter)&&this.filteredData.push(t)})))}static get haxProperties(){return new URL(`./lib/${this.tag}.haxProperties.json`,import.meta.url).href}}globalThis.customElements.define(GlossyPortfolioGrid.tag,GlossyPortfolioGrid); \ No newline at end of file
src/public/build/es6/node_modules/@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-header.js+91 −40 modified@@ -2,17 +2,19 @@ * Copyright 2025 NazmanRosman * @license Apache-2.0, see LICENSE for full text. */ -import{LitElement as i,html as t,css as e}from"../../../lit/index.js";import{DDDSuper as n}from"../../d-d-d/d-d-d.js";import{I18NMixin as o}from"../../i18n-manager/lib/I18NMixin.js";export class GlossyPortfolioHeader extends(n(o(i))){static get tag(){return"glossy-portfolio-header"}constructor(){super(),this.title="Title",this.thumbnail="impactra.png",this.link="https://google.com",this.t=this.t||{},this.t={...this.t,title:"Title"}}static get properties(){return{...super.properties,title:{type:String},thumbnail:{type:String},link:{type:String}}}static get styles(){return[super.styles,e` +import{LitElement as e,html as t,css as i}from"../../../lit/index.js";import{DDDSuper as o}from"../../d-d-d/d-d-d.js";import{I18NMixin as r}from"../../i18n-manager/lib/I18NMixin.js";import{store as a}from"../../haxcms-elements/lib/core/haxcms-site-store.js";import{autorun as s,toJS as n}from"../../../mobx/dist/mobx.esm.js";export class GlossyPortfolioHeader extends(o(r(e))){static get tag(){return"glossy-portfolio-header"}constructor(){super(),this.title="Title",this.homeLink="",this.__disposer=this.__disposer||[],s((e=>{let t=a.getItemChildren(null);t&&t.length>0&&(this.topItems=[...t]),this.__disposer.push(e)})),s((e=>{this.homeLink=n(a.homeLink),this.__disposer.push(e)})),s((e=>{this.logo=n(a.logo),console.log(this.logo),this.__disposer.push(e)}))}static get properties(){return{...super.properties,title:{type:String},thumbnail:{type:String},link:{type:String},topItems:{type:Array}}}static get styles(){return[super.styles,i` :host { display: block; - font-family: var(--ddd-font-navigation); /* min-width: 400px; */ height: auto; + background-color: #1d1d1d; } *{ box-sizing: border-box; + margin: 0; + padding: 0; } ul{ @@ -21,28 +23,31 @@ import{LitElement as i,html as t,css as e}from"../../../lit/index.js";import{DDD } .container{ + background: linear-gradient(180deg, rgba(17, 17, 17, 1) 0%, rgba(17, 17, 17, 0) 100%);; + display: flex; justify-content: space-between; align-items: center; z-index: 10; position: fixed; top: 0px; width: 100vw; - display: flex; position: fixed; left: 0; right: 0; - padding: 30px 50px 10px 50px; - height: 80px; - /* background-color: #11111150; */ + padding: 50px 50px 40px 50px; + /* temporary */ + margin-top: 50px; + max-height: 80px; font-family: var(--main-font); - /* position: relative; */ + overflow-x: auto; + overflow-y: hidden; + } .nav-links li{ - font-size: 18px; - font-weight: 500; + font-weight: 700; font-family: var(--main-font); } @@ -54,8 +59,9 @@ import{LitElement as i,html as t,css as e}from"../../../lit/index.js";import{DDD } .logo{ - /* background-color: blue; */ - width: 70px; + max-height: 60px; + min-height: 60px; + flex: 0 0 auto; position: relative; z-index: 10; } @@ -65,38 +71,71 @@ import{LitElement as i,html as t,css as e}from"../../../lit/index.js";import{DDD flex-direction: row; align-items: center; gap: 50px; - font-size: 18px; list-style: none; } + li{ + flex: 0 1 auto; + text-align: center; + } .nav-links{ transition: all 0.3s ease-in-out; - } - a{ + a, div.header-link{ all: unset; color: white; + text-decoration: none; + font-weight: 500; + font-size: 1rem; + + } + a .active-title, div.header-link .active-title { + font-weight: 800; + } + a:hover, div.header-lik:hover{ + /* all: unset; */ + color: white; + /* font-weight: 500; */ + } button{ all: unset; cursor: pointer; } + /* Extra small devices (phones) */ @media (max-width: 575.98px) { /* Styles for phones */ .container{ - font-size: 9px; - padding: 15px 0px; - + /* padding: 15px 0px; */ + padding: 0; background: var(--bg-color); - - } - .container{ flex-wrap: wrap; - height: auto; + align-items: center; + position: fixed; + top: 0; + bottom: 0; + overflow-y: scroll; + overflow-x: hidden; + align-content: start; + height: 60px; + } + + .logo-hamburger{ + display: flex; + justify-content: space-between; + width: 100%; + max-height: 60px; + flex: 0 0 auto; + } + + /* active after hamburger is clicked */ .container.active{ - padding: 15px 0 0 0; + /* padding: 15px 0 0 0; */ + height: auto; + max-height: 100vh; + overflow-y: scroll; } .nav-links.active{ display: flex; @@ -107,30 +146,31 @@ import{LitElement as i,html as t,css as e}from"../../../lit/index.js";import{DDD gap: 0px; width: 100vw; - padding: 20px 0 0 0; + padding: 0; border-radius: 10px; + } - .nav-links li{ - font-size: 16px; - } .hamburger{ display: block; padding-right: 15px; } - .logo{ - width: 60px; + svg.logo{ + /* max-height: 60px; */ + max-height: 60px; padding-left: 15px; + } - + + + /* nav links */ li, a.right-side-item{ display: flex; flex-direction: column; justify-content: center; width: 100vw; - /* background-color:blue; */ text-align: center; /* Centers the text horizontally */ height: 80px; @@ -141,6 +181,7 @@ import{LitElement as i,html as t,css as e}from"../../../lit/index.js";import{DDD text-decoration: none; /* Ensures underline is removed on hover */ } + } @@ -157,19 +198,29 @@ import{LitElement as i,html as t,css as e}from"../../../lit/index.js";import{DDD - `]}openHamburger(){const i=this.renderRoot.querySelector(".nav-links"),t=this.renderRoot.querySelector(".container");i.classList.toggle("active"),t.classList.toggle("active")}render(){return t` + `]}openHamburger(){const e=this.renderRoot.querySelector(".nav-links"),t=this.renderRoot.querySelector(".container");e.classList.toggle("active"),t.classList.toggle("active")}render(){return t` <div class="container"> - <img class="logo" src="lib/components/logo.svg" > - <button> - <img @click="${this.openHamburger}" class="hamburger" src="../lib/components/hamburger.svg" width="70px"> - </button> + <!-- <img class="logo" src="lib/components/logo.svg" > --> + <div class="logo-hamburger"> + <a href="${this.homeLink}"> + <img class="logo" src="${function getPostLogo(e){return e.metadata.image?e.metadata.image:a.manifest.metadata.theme.variables.image?n(a.manifest.metadata.theme.variables.image):n(a.manifest.metadata.site.logo)}(a.manifest)}" alt="Logo" /> + </a> + <button> + <!-- <img @click="" class="hamburger" src="../lib/components/hamburger.svg" width="70px"> --> + <svg class="hamburger" @click="${this.openHamburger}" width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> + <g id="SVGRepo_bgCarrier" stroke-width="0"/> + <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/> + <g id="SVGRepo_iconCarrier"> <path d="M4 18L20 18" stroke="#ffffff" stroke-width="2" stroke-linecap="round"/> <path d="M4 12L20 12" stroke="#ffffff" stroke-width="2" stroke-linecap="round"/> <path d="M4 6L20 6" stroke="#ffffff" stroke-width="2" stroke-linecap="round"/> </g> + </svg> + + </button> + </div> <ul class="nav-links"> - <li><a class="right-side-item"><div clas="link">Work</div></a></li> - <li><a class="right-side-item"><div clas="link">Play</div></a></li> - <li><a class="right-side-item"><div clas="link">About</div></a></li> - <li><a class="right-side-item"><div clas="link">Resume</div></a></li> + ${Array.from(this.topItems).map((e=>t` + <li><a class="right-side-item" href="${e.slug}"><div class="header-link ${this.toKebabCase(e.title)}">${e.title}</div></a></li> + `))} </ul> </div> -`}static get haxProperties(){return new URL(`./lib/${this.tag}.haxProperties.json`,import.meta.url).href}}globalThis.customElements.define(GlossyPortfolioHeader.tag,GlossyPortfolioHeader); \ No newline at end of file +`}toKebabCase(e){return e.replace(/\s+/g,"-")}static get haxProperties(){return new URL(`./lib/${this.tag}.haxProperties.json`,import.meta.url).href}}globalThis.customElements.define(GlossyPortfolioHeader.tag,GlossyPortfolioHeader); \ No newline at end of file
src/public/build/es6/node_modules/@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-home.js+3 −2 modified@@ -2,7 +2,7 @@ * Copyright 2025 NazmanRosman * @license Apache-2.0, see LICENSE for full text. */ -import{LitElement as t,html as i,css as o}from"../../../lit/index.js";import{DDDSuper as e}from"../../d-d-d/d-d-d.js";import{I18NMixin as r}from"../../i18n-manager/lib/I18NMixin.js";export class GlossyPortfolioHome extends(e(r(t))){static get tag(){return"glossy-portfolio-home"}constructor(){super(),this.title="Title",this.t=this.t||{},this.t={...this.t,title:"Title"}}static get properties(){return{...super.properties,title:{type:String}}}static get styles(){return[super.styles,o` +import{LitElement as t,html as i,css as o}from"../../../lit/index.js";import{DDDSuper as e}from"../../d-d-d/d-d-d.js";import{I18NMixin as r}from"../../i18n-manager/lib/I18NMixin.js";export class GlossyPortfolioHome extends(e(r(t))){static get tag(){return"glossy-portfolio-home"}constructor(){super(),this.title="Title"}static get properties(){return{...super.properties,title:{type:String}}}static get styles(){return[super.styles,o` :host { display: block; @@ -29,7 +29,8 @@ import{LitElement as t,html as i,css as o}from"../../../lit/index.js";import{DDD } .background{ - background-image: url("lib/components/bg.webp"); + /* background-image: url("lib/components/bg.webp"); */ + background-image: url("https://github.com/NazmanRosman/graphic-portfolio/raw/refs/heads/main/lib/components/bg.webp"); background-attachment: fixed; background-size: cover; /* background-color: gray; */
src/public/build/es6/node_modules/@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-page.js+0 −155 removed@@ -1,155 +0,0 @@ -/** - * Copyright 2025 NazmanRosman - * @license Apache-2.0, see LICENSE for full text. - */ -import{LitElement as e,html as t,css as i}from"../../../lit/index.js";import{DDDSuper as a}from"../../d-d-d/d-d-d.js";import{I18NMixin as r}from"../../i18n-manager/lib/I18NMixin.js";export class GlossyPortfolioPage extends(a(r(e))){static get tag(){return"glossy-portfolio-page"}constructor(){super(),this.title="Title",this.t=this.t||{},this.t={...this.t,title:"Title"}}static get properties(){return{...super.properties,title:{type:String}}}static get styles(){return[super.styles,i` - :host { - display: block; - /* line-height: 2rem; */ - margin: 0; - --project-title-font-size: 28px; - --project-header-font-size: 64px; - --body-font-size: 20px; - font-size: var(--body-font-size); - background-color: var(--bg-color); - } - - h1, p, h2, h3{ - margin: 0; - } - h3{ - font-weight: 500; - margin-top: 50px; - padding: 0 0 20px 0; - - } - p{ - line-height: 170%; - margin: 0 0 20px 0; - } - - - .wrapper{ - display: flex; - flex-direction: column; - - max-width: var(--max-width); - margin: 0 auto ; - padding: var(--page-padding); - padding-top: 130px; - color: white; - /* overflow: visible; */ - } - - .text{ - max-width: 840px; - } - - h2.project-title{ - margin: 0; - font-weight: 500; - font-size: var(--project-title-font-size); - } - - h1.project-header{ - margin: 40px 0; - font-weight: 400; - font-size: var(--project-header-font-size); - - } - - - .details-table{ - margin: 40px 0 40px 0; - display: grid; - /* border: 1px solid red; */ - grid-template-columns: repeat(2, 1fr); - gap: 10px; - justify-content: center; - max-width: var(--max-width); - line-height: 170%; - } - .detail-header{ - color:rgb(128, 128, 128); - } - @media (max-width: 575.98px) { - img{ - width: 100%; - height: auto; - } - .details-table{ - grid-template-columns: 1fr; - font-size: 16px; - gap: 7px; - margin:0 0 20px 0; - - } - h2.project-title{ - font-size: 20px; - } - h1.project-header{ - font-size: 36px; - margin: 20px 0; - } - p{ - font-size: 16px; - } - .wrapper{ - padding: var(--mobile-page-padding); - padding-top: 100px; - } - - } - - - `]}render(){return t` - <glossy-portfolio-header></glossy-portfolio-header> -<div class="wrapper"> - <div class="text"> - - <h2 class="project-title">Rune Wars</h2> - <h1 class="project-header">The future of games.</h1> - <p>Gaming has long been defined by isolated screens.</p> - <p>Augmented reality, however, is upending all of that. The future of gaming is physical, social, and immersed in the real world.</p> - <p>Introducing Rune Wars, the first multi-player game built on Snap's Spectacles</p> - <p><b>- Winner of Snap Inc.'s Prize @ Immerse The Bay 2024 Hackathon -</b></p> - </div> - - <div class="text"> - - <div class="details-table"> - - <div class="detail-section"> - <div class="detail-header">Date</div> - <div class="detail-text">November 2024</div> - </div> - <div class="detail-section"> - <div class="detail-header">Duration</div> - <div class="detail-text">36 hours</div> - </div> - <div class="detail-section"> - <div class="detail-header">Type</div> - <div class="detail-text">Design, prototyping, AR</div> - </div> - <div class="detail-section"> - <div class="detail-header">Achievement</div> - <div class="detail-text">Winner of Snap Inc.'s Prize @ Immerse The Bay 2024 Hackathon</div> - </div> - - </div> - </div> - - <img src="lib/thumbnails/impactra.png" width="700px"> - <div class="text"> - <h3>A Vision of Spatial Play.</h3> - <p>Rune Wars is a simple multiplayer combat system helping people connect and exercise in a more engaging way.</p> - - <p>Two people play as warriors battling for their honour.</p> - - <p>Players shoot rune-enforced stones from one hand using a pinch gesture, and use the other hand to raise temporary walls from the ground using a pinch + drag gesture. These walls are destroyed after 5 seconds.</p> - - <p>To win, a player reduce their opponent’s health to zero</p> - </div> - -</div> -`}static get haxProperties(){return new URL(`./lib/${this.tag}.haxProperties.json`,import.meta.url).href}}globalThis.customElements.define(GlossyPortfolioPage.tag,GlossyPortfolioPage); \ No newline at end of file
src/public/build/es6/node_modules/@haxtheweb/hax-body/lib/hax-store.js+1 −1 modified@@ -10,4 +10,4 @@ import{LitElement as e,html as t,nothing as i}from"../../../lit/index.js";import > </li> `))} - </ul>`:null,value:{name:"Search "+i.details.title,context:"/",index:i.index,detail:i,program:async(e,t)=>{const a=S(HAXStore.activeApp),o=S(HAXStore.appList[t.index]);a.index!=o.index&&(HAXStore.activeApp=S(HAXStore.appList[t.index]));let r={};r[Object.keys(t.detail.connection.operations.browse.search)[0]]=e,HAXStore.appSearch.updateSearchValues(r);let n=await HAXStore.appSearch.loadAppData(),s=[];return await n.forEach((async e=>{var t=e.map,a=e.type;a&&null!=a&&""!=a&&"undefined"!=a||!t.source||(a=HAXStore.guessGizmoType(t));let o=HAXStore.guessGizmo(a,t,!1,!0);o.length>0&&void 0!==o[0].tag&&(o[0].nextToActive=!0),s.push({title:e.title,image:e.image,tags:[],value:{value:o[0].tag,eventName:"insert-tag",properties:o[0].properties},context:["/","/sources/"+i.details.title.toLowerCase()],eventName:"hax-super-daemon-insert-tag",path:"/sources/"+i.details.title.toLowerCase()})})),s}},context:["HAX","/"],eventName:"super-daemon-run-program",path:"/sources/"+i.details.title.toLowerCase(),priority:"local files"===i.details.title.toLowerCase()?-100:0}),i.connection&&i.connection.protocol&&i.connection.url){let e=globalThis.document.createElement("link");e.rel="preconnect",e.href=i.connection.protocol+"://"+i.connection.url,globalThis.document.head.appendChild(e)}void 0!==e.target.parentElement&&"HAX-STORE"===e.target.parentElement.tagName&&e.target.parentElement.removeChild(e.target)}}_haxStoreRegisterStax(e){e.detail&&(e.detail.index=this.staxList.length,this.staxList=[...this.staxList,e.detail],this.write("staxList",this.staxList,this),void 0!==e.target.parentElement&&"HAX-STORE"===e.target.parentElement.tagName&&e.target.parentElement.removeChild(e.target))}activeBodyIgnoreActive(e){this.activeHaxBody.__ignoreActive=e}dashToCamel(e){return e.replace(/-([a-z])/g,(function(e){return e[1].toUpperCase()}))}async htmlToHaxElements(e){let t=[],i=globalThis.document.createElement("div");if(i.innerHTML=e,i.children){const e=this.validTagList,a=i.children;for(let i=0;i<a.length;i++)void 0!==a[i].tagName&&e.includes(a[i].tagName.toLowerCase())&&t.push(await c(a[i],null))}return t}async nodeToContent(e){if(this.testHook(e,"preProcessNodeToContent")&&(e=await this.runHook(e,"preProcessNodeToContent",[e])),e&&!e.tagName)return e;let t=e.tagName.toLowerCase();this._isSandboxed&&"webview"===t&&(t="iframe");var i="";i+="<"+t;var a=this.elementList[t],o={},r=["data-hax-ray","data-hax-layout","data-hax-grid","data-hax-active",'="true"',"contenteditable","draggable","role"];for(let t=0;t<r.length;t++)e.removeAttribute(r[t]);d(e);for(let t=0,i=e.attributes.length;t<i;++t){var n=e.attributes.item(t).nodeName,s=e.attributes.item(t).value;"style"==n||typeof s!=typeof Object&&s.constructor!==Array?null!=s&&"null"!=s&&(!0===s||"true"===s?o[n]=!0:!1===s||("string"==typeof s&&""!==s?(s=(s=(s=(s=s.replace(new RegExp("&","g"),"&")).replace(new RegExp('"',"g"),""")).replace(new RegExp("<","g"),"<")).replace(new RegExp(">","g"),">"),o[n]=s):""===s?(""==s&&""!=e.attributes.item(t).value&&(s=e.attributes.item(t).value),o[n]=s):o[n]=s)):o[n]=JSON.stringify(s).replace(new RegExp('"',"g"),""")}let l;if(globalThis.customElements.get(t)&&(l=globalThis.customElements.get(t).properties),void 0===l&&(l=e.__data),void 0!==l)for(let t in l){n=m(t),s=null;void 0!==e[t]&&(s=e[t]),l[t].readOnly||l[t].computed||s===l[t].value||n.startsWith("__")||(null==s||"object"!=typeof s&&s.constructor!==Array?null!=s&&"null"!=s&&(!0===s||"true"===s?o[n]=!0:!1===s||("string"==typeof s&&""!==s?(s=(s=(s=(s=s.replace(new RegExp("&","g"),"&")).replace(new RegExp('"',"g"),""")).replace(new RegExp("<","g"),"<")).replace(new RegExp(">","g"),">"),o[n]=s):""===s?""==s&&""!=l[t].value?s=l[t].value:""===s&&l[t].value:o[n]=s)):(s.constructor===Array&&s!=[]||"object"==typeof s&&s!={})&&(o[n]=JSON.stringify(s).replace(new RegExp('"',"g"),""")))}if(void 0!==a&&void 0!==a.saveOptions.unsetAttributes)for(let e in a.saveOptions.unsetAttributes)delete o[a.saveOptions.unsetAttributes[e]];let c=["inner-text","inner-html","tabindex","guestinstance"];for(let e in c)void 0!==o[c[e]]&&delete o[c[e]];void 0!==o.id&&""===o.id&&delete o.id,delete o.draggable,delete o.contenteditable,delete o.role,delete o["data-hax-ray"],delete o["data-hax-layout"],delete o["data-hax-grid"],delete o["data-hax-active"],""==o.class&&delete o.class;for(let e in o)!0===o[e]?i+=" "+e:i+=" "+e+'="'+o[e]+'"';if(["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].includes(t)?i+="/>":i+=">",void 0===a||!a.saveOptions.wipeSlot){let t=e.childNodes;if(t.length>0)for(let e=0,a=t.length;e<a;e++)if(void 0!==t[e].tagName)if((!this.HTMLPrimativeTest(t[e])||this.HTMLPrimativeTest(t[e])&&t[e].children.length>0)&&"TEMPLATE"!==t[e].tagName)i+=await this.nodeToContent(t[e]);else{for(let i=0;i<r.length;i++)t[e].removeAttribute(r[i]);d(t[e]),i+=t[e].outerHTML}else 8===t[e].nodeType?i+="\x3c!-- "+t[e].textContent+" --\x3e":1!==t[e].nodeType&&void 0!==t[e].textContent&&"undefined"!==t[e].textContent&&(i+=g(t[e].textContent))}return this.testHook(e,"progressiveEnhancement")&&(i+=await this.runHook(e,"progressiveEnhancement",[e])),"span"===t?i+="</"+t+">":"hr"===t||"br"===t||"img"===t||(i+="</"+t+">\n"),i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=i.replace(/ /gm," ")).replace(/ data-hax-ray="(\s|.)*?"/gim,"")).replace(/ data-hax-active="(\s|.)*?"/gim,"")).replace(/ class=""/gim,"")).replace(/ style=""/gim,"")).replace(/ contenteditable="(\s|.)*?"/gim,"")).replace(/<span style="(.*?)">/gim,"<span>")).replace(/<span>\s*?<\/span>/g," ")).replace(/<span><br\/><\/span>/gm,"")).replace(/<strong style="(.*?)">/gim,"<strong>")).replace(/<b style="(.*?)">/gim,"<b>")).replace(/<strike style="(.*?)">/gim,"<strike>")).replace(/<em style="(.*?)">/gim,"<em>")).replace(/<i style="(.*?)">/gim,"<i>")).replace(/<p>(\s*)<\/p>/gm,"<p></p>")).replace(/<p> <\/p>/gm,"<p></p>")).replace(/<p><br\/><\/p>/gm,"<p></p>")).replace(/<p><br><\/p>/gm,"<p></p>"),this.testHook(e,"postProcessNodeToContent")&&(i=await this.runHook(e,"postProcessNodeToContent",[i])),i}HTMLPrimativeTest(e){return void 0!==e.tagName&&-1==e.tagName.indexOf("-")}getHaxAppStoreTargets(e){return S(this.appList).filter((t=>{if(void 0!==t.connection.operations.add){let i=t.connection.operations.add;if(void 0!==i.acceptsGizmoTypes&&i.acceptsGizmoTypes.includes(e))return!0}return!1}))}async refreshActiveNodeForm(){this.haxTray.activeHaxElement=await c(this.haxTray.activeNode,null),await this.haxTray._setupForm()}haxElementPrototype(e,t,i=""){return{tag:e.tag,properties:t,content:i,gizmo:e}}async getHAXSlot(e){if(this.isTextElement(e))return e.innerHTML;let t="";var i=e.childNodes;if(i.length>0)for(let e=0,a=i.length;e<a;e++){if(!i[e])return;void 0!==i[e].tagName?i[e].tagName.indexOf("-")>0?t+=" "+await this.nodeToContent(i[e])+"\n":t+=" "+i[e].outerHTML+"\n":8===i[e].nodeType?t+="\x3c!-- "+i[e].textContent+" --\x3e":1!==i[e].nodeType&&void 0!==i[e].textContent&&"undefined"!==i[e].textContent&&(t+=i[e].textContent)}return t}async _haxStoreRegisterProperties(e){if(e.detail&&e.detail.properties&&e.detail.tag){if(!this.elementList[e.detail.tag]){let t=e.detail;t.properties=await this.attemptGizmoTranslation(t.tag,t.properties);let i=t.properties.gizmo;if(i){i.tag=t.tag;let e=this.gizmoList;e.push(i),this.gizmoList=[...e],this.write("gizmoList",e,this),i.meta&&(i.meta.inlineOnly||i.meta.hidden)||N.defineOption({title:i.title,icon:i.icon,tags:i.tags||[],value:{value:i.tag,eventName:"insert-tag",demoSchema:!0},context:["HAX"],eventName:"hax-super-daemon-insert-tag",path:"HAX/insert/block/"+i.tag})}this.elementList[t.tag]=t.properties,this.validTagList.find((e=>e===t.tag))||this.validTagList.push(t.tag),"grid"!=t.properties.type||this.validGridTagList.find((e=>e===t.tag))||this.validGridTagList.push(t.tag),globalThis.customElements.get(e.detail.tag)&&this.testHook(globalThis.document.createElement(e.detail.tag),"gizmoRegistration")&&await this.runHook(globalThis.document.createElement(e.detail.tag),"gizmoRegistration",[this])}void 0!==e.target.parentElement&&"HAX-AUTOLOADER"===e.target.parentElement.tagName&&this.haxAutoloader.removeChild(e.target)}}get activeGizmo(){let e=S(this._calculateActiveGizmo(this.activeNode));return this.write("activeGizmo",e,this),e}get activeNodeIndex(){let e=null;return this.activeNode&&Array.from(S(this.activeHaxBody).children).map(((t,i)=>{S(this.activeNode)!==t&&S(this.activeNode).parentElement!==t||(e=i)})),e}async attemptGizmoTranslation(e,t){var i=await A.loadNamespaceFile(e+".haxProperties");if(!i&&"en"==this.globalPreferences.haxLang&&globalThis.customElements.get(e)&&globalThis.customElements.get(e).haxProperties&&"string"==typeof(i=globalThis.customElements.get(e).haxProperties)&&(i=await fetch(i).then((e=>!(!e||!e.json)&&e.json()))),i){if(t.gizmo&&i.gizmo)for(let e in i.gizmo)t.gizmo[e]=i.gizmo[e];if(t.settings&&i.settings){let e={advanced:"advanced",configure:"configure"};for(let a in e)if(t.settings[a]&&i.settings[a])for(let e in i.settings[a])for(let o in i.settings[a][e])t.settings[a][e][o]=i.settings[a][e][o]}if(t.demoSchema&&i.demoSchema)for(let e in i.demoSchema)if(i.demoSchema[e].properties)for(let a in i.demoSchema[e].properties)t.demoSchema[e].properties[a]=i.demoSchema[e].properties[a]}return t}}globalThis.customElements.define(HaxStore.tag,HaxStore);export{HaxStore};globalThis.HaxStore=globalThis.HaxStore||{},globalThis.HaxStore.requestAvailability=function(){return globalThis.HaxStore.instance||(globalThis.HaxStore.instance=globalThis.document.createElement("hax-store"),globalThis.document.body.appendChild(globalThis.HaxStore.instance)),globalThis.HaxStore.instance};export const HAXStore=globalThis.HaxStore.requestAvailability();globalThis.Hax=globalThis.Hax||{},globalThis.Hax.add=function(e){if(HAXStore.elementList[e]){let t,i=HAXStore.haxSchemaFromTag(e);t=i.gizmo.tag&&i.demoSchema&&i.demoSchema[0]?h(i.demoSchema[0]):globalThis.document.createElement(e),HAXStore.activeHaxBody.haxReplaceNode(HAXStore.activeNode,t),HAXStore.activeHaxBody.__focusLogic(t)}else HAXStore.toast(`${e} is not a valid tag`)},globalThis.Hax.delete=function(){null!=HAXStore.activeNode&&HAXStore.activeHaxBody.haxDeleteNode(HAXStore.activeNode)},globalThis.Hax.duplicate=function(){HAXStore.activeHaxBody.haxDuplicateNode(HAXStore.activeNode)},globalThis.Hax.move=function(e=!0){e?HAXStore.activeHaxBody.haxMoveGridPlate(HAXStore.activeNode,-1):HAXStore.activeHaxBody.haxMoveGridPlate(HAXStore.activeNode)},globalThis.Hax.grid=function(e=!0){HAXStore.activeHaxBody.haxGridPlateOps(e)},globalThis.Hax.set=function(e,t){HAXStore.write(e,t,window)},globalThis.Hax.get=function(e){return HAXStore[e]},globalThis.Hax.export=async function(){return await HAXStore.activeHaxBody.haxToContent()},globalThis.Hax.import=function(e="<p></p>"){return HAXStore.activeHaxBody.importContent(e)}; \ No newline at end of file + </ul>`:null,value:{name:"Search "+i.details.title,context:"/",index:i.index,detail:i,program:async(e,t)=>{const a=S(HAXStore.activeApp),o=S(HAXStore.appList[t.index]);a.index!=o.index&&(HAXStore.activeApp=S(HAXStore.appList[t.index]));let r={};r[Object.keys(t.detail.connection.operations.browse.search)[0]]=e,HAXStore.appSearch.updateSearchValues(r);let n=await HAXStore.appSearch.loadAppData(),s=[];return await n.forEach((async e=>{var t=e.map,a=e.type;a&&null!=a&&""!=a&&"undefined"!=a||!t.source||(a=HAXStore.guessGizmoType(t));let o=HAXStore.guessGizmo(a,t,!1,!0);o.length>0&&void 0!==o[0].tag&&(o[0].nextToActive=!0),s.push({title:e.title,image:e.image,tags:[],value:{value:o[0].tag,eventName:"insert-tag",properties:o[0].properties},context:["/","/sources/"+i.details.title.toLowerCase()],eventName:"hax-super-daemon-insert-tag",path:"/sources/"+i.details.title.toLowerCase()})})),s}},context:["HAX","/"],eventName:"super-daemon-run-program",path:"/sources/"+i.details.title.toLowerCase(),priority:"local files"===i.details.title.toLowerCase()?-100:0}),i.connection&&i.connection.protocol&&i.connection.url){let e=globalThis.document.createElement("link");e.rel="preconnect",e.href=i.connection.protocol+"://"+i.connection.url,globalThis.document.head.appendChild(e)}void 0!==e.target.parentElement&&"HAX-STORE"===e.target.parentElement.tagName&&e.target.parentElement.removeChild(e.target)}}_haxStoreRegisterStax(e){e.detail&&(e.detail.index=this.staxList.length,this.staxList=[...this.staxList,e.detail],this.write("staxList",this.staxList,this),void 0!==e.target.parentElement&&"HAX-STORE"===e.target.parentElement.tagName&&e.target.parentElement.removeChild(e.target))}activeBodyIgnoreActive(e){this.activeHaxBody.__ignoreActive=e}dashToCamel(e){return e.replace(/-([a-z])/g,(function(e){return e[1].toUpperCase()}))}async htmlToHaxElements(e){let t=[],i=globalThis.document.createElement("div");if(i.innerHTML=e,i.children){const e=this.validTagList,a=i.children;for(let i=0;i<a.length;i++)void 0!==a[i].tagName&&e.includes(a[i].tagName.toLowerCase())&&t.push(await c(a[i],null))}return t}async nodeToContent(e){if(this.testHook(e,"preProcessNodeToContent")&&(e=await this.runHook(e,"preProcessNodeToContent",[e])),e&&!e.tagName)return e;let t=e.tagName.toLowerCase();this._isSandboxed&&"webview"===t&&(t="iframe"),"iframe"===t&&e.setAttribute("sandbox","allow-scripts allow-same-origin");var i="";i+="<"+t;var a=this.elementList[t],o={},r=["data-hax-ray","data-hax-layout","data-hax-grid","data-hax-active",'="true"',"contenteditable","draggable","role"];for(let t=0;t<r.length;t++)e.removeAttribute(r[t]);d(e);for(let t=0,i=e.attributes.length;t<i;++t){var n=e.attributes.item(t).nodeName,s=e.attributes.item(t).value;"style"==n||typeof s!=typeof Object&&s.constructor!==Array?null!=s&&"null"!=s&&(!0===s||"true"===s?o[n]=!0:!1===s||("string"==typeof s&&""!==s?(s=(s=(s=(s=s.replace(new RegExp("&","g"),"&")).replace(new RegExp('"',"g"),""")).replace(new RegExp("<","g"),"<")).replace(new RegExp(">","g"),">"),o[n]=s):""===s?(""==s&&""!=e.attributes.item(t).value&&(s=e.attributes.item(t).value),o[n]=s):o[n]=s)):o[n]=JSON.stringify(s).replace(new RegExp('"',"g"),""")}let l;if(globalThis.customElements.get(t)&&(l=globalThis.customElements.get(t).properties),void 0===l&&(l=e.__data),void 0!==l)for(let t in l){n=m(t),s=null;void 0!==e[t]&&(s=e[t]),l[t].readOnly||l[t].computed||s===l[t].value||n.startsWith("__")||(null==s||"object"!=typeof s&&s.constructor!==Array?null!=s&&"null"!=s&&(!0===s||"true"===s?o[n]=!0:!1===s||("string"==typeof s&&""!==s?(s=(s=(s=(s=s.replace(new RegExp("&","g"),"&")).replace(new RegExp('"',"g"),""")).replace(new RegExp("<","g"),"<")).replace(new RegExp(">","g"),">"),o[n]=s):""===s?""==s&&""!=l[t].value?s=l[t].value:""===s&&l[t].value:o[n]=s)):(s.constructor===Array&&s!=[]||"object"==typeof s&&s!={})&&(o[n]=JSON.stringify(s).replace(new RegExp('"',"g"),""")))}if(void 0!==a&&void 0!==a.saveOptions.unsetAttributes)for(let e in a.saveOptions.unsetAttributes)delete o[a.saveOptions.unsetAttributes[e]];let c=["inner-text","inner-html","tabindex","guestinstance"];for(let e in c)void 0!==o[c[e]]&&delete o[c[e]];void 0!==o.id&&""===o.id&&delete o.id,delete o.draggable,delete o.contenteditable,delete o.role,delete o["data-hax-ray"],delete o["data-hax-layout"],delete o["data-hax-grid"],delete o["data-hax-active"],""==o.class&&delete o.class;for(let e in o)!0===o[e]?i+=" "+e:i+=" "+e+'="'+o[e]+'"';if(["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].includes(t)?i+="/>":i+=">",void 0===a||!a.saveOptions.wipeSlot){let t=e.childNodes;if(t.length>0)for(let e=0,a=t.length;e<a;e++)if(void 0!==t[e].tagName)if((!this.HTMLPrimativeTest(t[e])||this.HTMLPrimativeTest(t[e])&&t[e].children.length>0)&&"TEMPLATE"!==t[e].tagName)i+=await this.nodeToContent(t[e]);else{for(let i=0;i<r.length;i++)t[e].removeAttribute(r[i]);d(t[e]),i+=t[e].outerHTML}else 8===t[e].nodeType?i+="\x3c!-- "+t[e].textContent+" --\x3e":1!==t[e].nodeType&&void 0!==t[e].textContent&&"undefined"!==t[e].textContent&&(i+=g(t[e].textContent))}return this.testHook(e,"progressiveEnhancement")&&(i+=await this.runHook(e,"progressiveEnhancement",[e])),"span"===t?i+="</"+t+">":"hr"===t||"br"===t||"img"===t||(i+="</"+t+">\n"),i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=i.replace(/ /gm," ")).replace(/ data-hax-ray="(\s|.)*?"/gim,"")).replace(/ data-hax-active="(\s|.)*?"/gim,"")).replace(/ class=""/gim,"")).replace(/ style=""/gim,"")).replace(/ contenteditable="(\s|.)*?"/gim,"")).replace(/<span style="(.*?)">/gim,"<span>")).replace(/<span>\s*?<\/span>/g," ")).replace(/<span><br\/><\/span>/gm,"")).replace(/<strong style="(.*?)">/gim,"<strong>")).replace(/<b style="(.*?)">/gim,"<b>")).replace(/<strike style="(.*?)">/gim,"<strike>")).replace(/<em style="(.*?)">/gim,"<em>")).replace(/<i style="(.*?)">/gim,"<i>")).replace(/<p>(\s*)<\/p>/gm,"<p></p>")).replace(/<p> <\/p>/gm,"<p></p>")).replace(/<p><br\/><\/p>/gm,"<p></p>")).replace(/<p><br><\/p>/gm,"<p></p>"),this.testHook(e,"postProcessNodeToContent")&&(i=await this.runHook(e,"postProcessNodeToContent",[i])),i}HTMLPrimativeTest(e){return void 0!==e.tagName&&-1==e.tagName.indexOf("-")}getHaxAppStoreTargets(e){return S(this.appList).filter((t=>{if(void 0!==t.connection.operations.add){let i=t.connection.operations.add;if(void 0!==i.acceptsGizmoTypes&&i.acceptsGizmoTypes.includes(e))return!0}return!1}))}async refreshActiveNodeForm(){this.haxTray.activeHaxElement=await c(this.haxTray.activeNode,null),await this.haxTray._setupForm()}haxElementPrototype(e,t,i=""){return{tag:e.tag,properties:t,content:i,gizmo:e}}async getHAXSlot(e){if(this.isTextElement(e))return e.innerHTML;let t="";var i=e.childNodes;if(i.length>0)for(let e=0,a=i.length;e<a;e++){if(!i[e])return;void 0!==i[e].tagName?i[e].tagName.indexOf("-")>0?t+=" "+await this.nodeToContent(i[e])+"\n":t+=" "+i[e].outerHTML+"\n":8===i[e].nodeType?t+="\x3c!-- "+i[e].textContent+" --\x3e":1!==i[e].nodeType&&void 0!==i[e].textContent&&"undefined"!==i[e].textContent&&(t+=i[e].textContent)}return t}async _haxStoreRegisterProperties(e){if(e.detail&&e.detail.properties&&e.detail.tag){if(!this.elementList[e.detail.tag]){let t=e.detail;t.properties=await this.attemptGizmoTranslation(t.tag,t.properties);let i=t.properties.gizmo;if(i){i.tag=t.tag;let e=this.gizmoList;e.push(i),this.gizmoList=[...e],this.write("gizmoList",e,this),i.meta&&(i.meta.inlineOnly||i.meta.hidden)||N.defineOption({title:i.title,icon:i.icon,tags:i.tags||[],value:{value:i.tag,eventName:"insert-tag",demoSchema:!0},context:["HAX"],eventName:"hax-super-daemon-insert-tag",path:"HAX/insert/block/"+i.tag})}this.elementList[t.tag]=t.properties,this.validTagList.find((e=>e===t.tag))||this.validTagList.push(t.tag),"grid"!=t.properties.type||this.validGridTagList.find((e=>e===t.tag))||this.validGridTagList.push(t.tag),globalThis.customElements.get(e.detail.tag)&&this.testHook(globalThis.document.createElement(e.detail.tag),"gizmoRegistration")&&await this.runHook(globalThis.document.createElement(e.detail.tag),"gizmoRegistration",[this])}void 0!==e.target.parentElement&&"HAX-AUTOLOADER"===e.target.parentElement.tagName&&this.haxAutoloader.removeChild(e.target)}}get activeGizmo(){let e=S(this._calculateActiveGizmo(this.activeNode));return this.write("activeGizmo",e,this),e}get activeNodeIndex(){let e=null;return this.activeNode&&Array.from(S(this.activeHaxBody).children).map(((t,i)=>{S(this.activeNode)!==t&&S(this.activeNode).parentElement!==t||(e=i)})),e}async attemptGizmoTranslation(e,t){var i=await A.loadNamespaceFile(e+".haxProperties");if(!i&&"en"==this.globalPreferences.haxLang&&globalThis.customElements.get(e)&&globalThis.customElements.get(e).haxProperties&&"string"==typeof(i=globalThis.customElements.get(e).haxProperties)&&(i=await fetch(i).then((e=>!(!e||!e.json)&&e.json()))),i){if(t.gizmo&&i.gizmo)for(let e in i.gizmo)t.gizmo[e]=i.gizmo[e];if(t.settings&&i.settings){let e={advanced:"advanced",configure:"configure"};for(let a in e)if(t.settings[a]&&i.settings[a])for(let e in i.settings[a])for(let o in i.settings[a][e])t.settings[a][e][o]=i.settings[a][e][o]}if(t.demoSchema&&i.demoSchema)for(let e in i.demoSchema)if(i.demoSchema[e].properties)for(let a in i.demoSchema[e].properties)t.demoSchema[e].properties[a]=i.demoSchema[e].properties[a]}return t}}globalThis.customElements.define(HaxStore.tag,HaxStore);export{HaxStore};globalThis.HaxStore=globalThis.HaxStore||{},globalThis.HaxStore.requestAvailability=function(){return globalThis.HaxStore.instance||(globalThis.HaxStore.instance=globalThis.document.createElement("hax-store"),globalThis.document.body.appendChild(globalThis.HaxStore.instance)),globalThis.HaxStore.instance};export const HAXStore=globalThis.HaxStore.requestAvailability();globalThis.Hax=globalThis.Hax||{},globalThis.Hax.add=function(e){if(HAXStore.elementList[e]){let t,i=HAXStore.haxSchemaFromTag(e);t=i.gizmo.tag&&i.demoSchema&&i.demoSchema[0]?h(i.demoSchema[0]):globalThis.document.createElement(e),HAXStore.activeHaxBody.haxReplaceNode(HAXStore.activeNode,t),HAXStore.activeHaxBody.__focusLogic(t)}else HAXStore.toast(`${e} is not a valid tag`)},globalThis.Hax.delete=function(){null!=HAXStore.activeNode&&HAXStore.activeHaxBody.haxDeleteNode(HAXStore.activeNode)},globalThis.Hax.duplicate=function(){HAXStore.activeHaxBody.haxDuplicateNode(HAXStore.activeNode)},globalThis.Hax.move=function(e=!0){e?HAXStore.activeHaxBody.haxMoveGridPlate(HAXStore.activeNode,-1):HAXStore.activeHaxBody.haxMoveGridPlate(HAXStore.activeNode)},globalThis.Hax.grid=function(e=!0){HAXStore.activeHaxBody.haxGridPlateOps(e)},globalThis.Hax.set=function(e,t){HAXStore.write(e,t,window)},globalThis.Hax.get=function(e){return HAXStore[e]},globalThis.Hax.export=async function(){return await HAXStore.activeHaxBody.haxToContent()},globalThis.Hax.import=function(e="<p></p>"){return HAXStore.activeHaxBody.importContent(e)}; \ No newline at end of file
src/public/build/es6/node_modules/@haxtheweb/haxcms-elements/lib/core/haxcms-site-builder.js+1 −1 modified@@ -41,4 +41,4 @@ import{LitElement as e,html as t,css as a}from"../../../../lit/index.js";import{ <slot name="haxcms-site-editor-ui-suffix-buttons"></slot> <slot name="haxcms-site-editor-ui-main-menu"></slot> <slot name="haxcms-site-editor-ui-topbar-character-button"></slot> - `}_updateManifest(e){this.manifest={...e}}_updateLoading(e){this.loading=e.detail.value}hashCode(e){return e.split("").reduce(((e,t)=>0|(e=(e<<5)-e+t.charCodeAt(0))),0)}nodeNormalizeIDs(e){if(e.tagName&&null==e.getAttribute("id")&&["H1","H2","H3","H4","H5","H6"].includes(e.tagName))if(e.getAttribute("resource"))e.setAttribute("id",e.getAttribute("resource"));else{let t=e.tagName.toLowerCase()+"-"+this.hashCode(e.innerText);e.setAttribute("id",t)}}_updateActiveItemContent(e){if(e){let t=globalThis.document.createElement("div");t.innerHTML=e;for(const e of t.childNodes)this.nodeNormalizeIDs(e);e=t.innerHTML,this.__pageContent=e,this._activeItemContentChanged(this.__pageContent,d(h.activeItem))}else h.cmsSiteEditorBackend.instance&&h.cmsSiteEditorBackend.instance.updateActiveItemContent&&h.cmsSiteEditorBackend.instance.updateActiveItemContent()}display404Error(){if(h.themeElement){let e=globalThis.document.createDocumentFragment(),t=globalThis.document.createElement("p");t.innerHTML=`<strong>${h.getInternalRoute()}</strong> ${this.t.couldNotBeLocated}. ${this.t.hereAreSomePossibleRemedies}\n <ul>\n <li><a href="x/search?search=${h.getInternalRoute()}">${this.t.useSearchToLocateTheContentYouAreLookingFor}</a></li>\n <li><a href="./">${this.t.goToTheHomePage}</a></li>\n <li>${this.t.navigateToAnotherPageInTheMenu}</li>\n </ul>`,e.appendChild(t),s(h.themeElement,"*"),h.themeElement.appendChild(e)}}renderInternalRoute(){if(h.themeElement){let e=globalThis.document.createDocumentFragment();h.activeItem.component&&import(`../ui-components/routes/${h.activeItem.component}.js`).then((()=>{let t=globalThis.document.createElement(h.activeItem.component);e.appendChild(t),s(h.themeElement,"*"),h.themeElement.appendChild(e)}))}}async loadPageData(){if(this.activeItemLocation&&!this.loading){this.loading=!0;let e=`${this.outlineLocation}${this.activeItemLocation}`;this._timeStamp&&(-1!=e.indexOf("?")?e+=`&${this._timeStamp}`:e+=`?${this._timeStamp}`),"hax-internal-route.html"===this.activeItemLocation?(this.renderInternalRoute(),this.loading=!1):await fetch(e).then((e=>{if(e.ok)return e.text();this.display404Error()})).then((e=>{this._updateActiveItemContent(e),this.loading=!1})).catch((e=>{this.lastErrorChanged(e)}))}}async loadJOSData(){if(this.file){this.loading=!0;let e=`${this.outlineLocation}${this.file}`;try{let e=JSON.parse(this.file);this._updateManifest(e),this.loading=!1}catch(t){this._timeStamp&&""!=this._timeStamp&&(-1!=e.indexOf("?")?e+=`&${this._timeStamp}`:e+=`?${this._timeStamp}`);await fetch(e,{cache:"no-cache"}).then((e=>{if(e.ok)return e.json()})).then((e=>{this._updateManifest(e),this.loading=!1})).catch((e=>{this.lastErrorChanged(e)}))}}}updated(e){super.updated&&super.updated(e);let t=!1,a=!1;e.forEach(((e,i)=>{["outlineLocation","activeItemLocation"].includes(i)&&""!=this[i]&&(a=!0),["outlineLocation","file"].includes(i)&&""!=this[i]&&(t=!0),"_timeStamp"==i&&this[i]&&(t=!0,a=!0),"themeData"==i?this._themeChanged(this[i],e):"themeName"==i?this._themeNameChanged(this[i],e):"outlineLocation"==i?this.dispatchEvent(new CustomEvent("outline-location-changed",{bubbles:!0,cancelable:!0,composed:!0,detail:this[i]})):"manifest"==i&&(this.dispatchEvent(new CustomEvent("manifest-changed",{bubbles:!0,cancelable:!0,composed:!0,detail:this[i]})),this._manifestChanged(this[i],e))})),t&&this.__ready&&this.loadJOSData(),a&&this.__ready&&this.loadPageData()}static get properties(){return{...super.properties,activeItemLocation:{type:String,attribute:"active-item-location"},disableFeatures:{type:String,reflect:!0,attribute:"disable-features"},_timeStamp:{type:String},isLoggedIn:{type:Boolean,reflect:!0,attribute:"is-logged-in"},queryParams:{type:Object},loading:{type:Boolean,reflect:!0},outlineLocation:{type:String,attribute:"outline-location"},manifest:{type:Object},themeData:{type:Object},themeName:{type:String},__imported:{type:Object},themeLoaded:{type:Boolean,reflect:!0,attribute:"theme-loaded"},file:{type:String},baseURI:{type:String,attribute:"base-uri"}}}_themeNameChanged(e){e&&(h.themeElement&&h.themeElement.remove(),s(this,"*"),h.themeElement=globalThis.document.createElement(e),h.themeElement.classList.add("haxcms-theme-element"),this.appendChild(h.themeElement))}lastErrorChanged(e){e&&(console.error(e),e.detail&&e.detail.value?(globalThis&&globalThis.location&&globalThis.appSettings&&globalThis.appSettings.reloadOnError&&globalThis.location.reload(),h.toast(e.detail.value.status+" "+e.detail.value.statusText,5e3,{fire:!0})):globalThis&&globalThis.location&&globalThis.appSettings&&globalThis.appSettings.reloadOnError&&globalThis.location.reload())}constructor(){for(var e in super(),this.__pageContent="",this.windowControllers=new AbortController,this.t={...super.t,pageNotFound:"Page not found",navigateToAnotherPageInTheMenu:"Navigate to another page in the menu",couldNotBeLocated:"could not be located",hereAreSomePossibleRemedies:"Here are some possible remedies:",useSearchToLocateTheContentYouAreLookingFor:"Use Search to locate the content you are looking for",goToTheHomePage:"Go to the home page"},this.registerLocalization({context:this,namespace:"haxcms",localesPath:new URL("../../locales/haxcms.es.json",import.meta.url).href.replace("/haxcms.es.json","/"),locales:["es"]}),this._timeStamp=Math.floor(Date.now()/1e3),this.disableFeatures="",this.isLoggedIn=!1,this.__disposer=[],this.queryParams={},this.loading=!1,this.__imported={},this.themeLoaded=!1,this.outlineLocation="",this.activeItemLocation="",m.storePieces.siteBuilder=this,this.children)if(this.children[e].tagName&&this.children[e].getAttribute("slot")){const t=this.children[e].cloneNode(!0);let a=t.getAttribute("slot");switch(a){case"haxcms-site-editor-ui-prefix-avatar":case"haxcms-site-editor-ui-prefix-buttons":case"haxcms-site-editor-ui-suffix-buttons":case"haxcms-site-editor-ui-main-menu":case"haxcms-site-editor-ui-topbar-character-button":h.setupSlots[a].push(t)}}globalThis.addEventListener("hax-store-ready",this.storeReady.bind(this),{signal:this.windowControllers.signal}),globalThis.addEventListener("haxcms-trigger-update",this._triggerUpdatedData.bind(this),{signal:this.windowControllers.signal}),globalThis.addEventListener("haxcms-trigger-update-node",this._triggerUpdatedNode.bind(this),{signal:this.windowControllers.signal}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",darkToggle,{signal:this.windowControllers.signal}),r((()=>{l("app-hax-darkMode",d(h.darkMode)),d(h.darkMode)?globalThis.document.body.classList.add("dark-mode"):globalThis.document.body.classList.remove("dark-mode")})),r((()=>{this.isLoggedIn=d(h.isLoggedIn);const e=Math.floor(Date.now()/1e3);this.isLoggedIn&&!this.loggedInTime&&(this.loggedInTime=e,this._timeStamp=this.loggedInTime)}))}displayConsoleWarning(){setTimeout((()=>{console.warn("%c⚠️STOP⚠️","color: white; font-weight: bold; font-size: 5em;font-family: arial; background-color: darkred; border: 5px solid white; border: 5px solid white;"),console.warn('%cThis is a browser feature intended for developers. If someone told you to copy and paste something here to enable a hidden feature or "hack" someone\'s account, it is a scam and will give them access to your account.',"font-size: 1.5em; font-family: arial; color: white; background-color: darkred; ")}),3500)}displayConsoleLearnMore(){setTimeout((()=>{console.log("%c👩💻HAXcms🧑💻","color: white; font-weight: bold; padding: 10px; font-size: 5em;font-family: arial; background-color: black; border: 5px solid white; border: 5px solid white; font-style: italic;"),console.log("%cThis site was created using HAXcms.\nLearn more about HAXcms at https://hax.psu.edu/.","color: white; background-color: black; font-size: 1.5em; font-family: arial; padding: 10px;")}),3e3)}firstUpdated(e){super.firstUpdated&&super.firstUpdated(e),this.displayConsoleLearnMore(),this.__ready=!0,h.appReady=!0,globalThis.dispatchEvent(new CustomEvent("haxcms-ready",{bubbles:!0,composed:!0,cancelable:!1,detail:this})),import("./haxcms-editor-builder.js").then((e=>{import("./haxcms-toast.js"),this.editorBuilder=globalThis.document.createElement("haxcms-editor-builder"),this.parentNode?this.parentNode.insertBefore(this.editorBuilder,this):globalThis.document.body.appendChild(this.editorBuilder),"published"!==m.getApplicationContext()?this._timeStamp=Math.floor(Date.now()/1e3):this._timeStamp=""})).catch((e=>{console.warn(e)})),globalThis.dispatchEvent(new Event("resize")),setTimeout((()=>{r((e=>{if(this.themeData=d(h.themeData),this.themeData){const e=new URLSearchParams(globalThis.location.search),t=e.get("format");if(null!=t&&"print-page"===t)this.themeData.element="haxcms-print-theme";const a=e.get("disable-features");null!=a&&(this.disableFeatures=a)}this.themeData&&this.themeData.element!==this.themeName&&(this.themeName=this.themeData.element),this.__disposer.push(e)})),r((e=>{const t=d(h.activeItem);t&&this.__pageContent&&this._activeItemContentChanged(this.__pageContent,t),t&&t.location&&(this.activeItemLocation=t.location),this.__disposer.push(e)}))}),0)}disconnectedCallback(){for(var e in this.__disposer)this.__disposer[e].dispose();this.windowControllers.abort(),super.disconnectedCallback()}storeReady(e){h.cmsSiteEditor&&h.cmsSiteEditor.instance&&globalThis.HaxStore.requestAvailability().activeHaxBody&&h.activeItemContent&&globalThis.HaxStore.requestAvailability().activeHaxBody.importContent(h.activeItemContent)}replaceTagReplacement(e){for(var t=/\<(\w+?\-\w*.*)\s*?\>/gim,a=t.exec(e);null!=a;){let i=a[1].replace("<","").replace(">","");i.indexOf(" ")&&(i=i.split(" ")[0]),-1!=i.indexOf("-")&&(e=(e=e.replace("<"+i,'<replace-tag with="'+i+'" ')).replace("</"+i+">","</replace-tag>")),a=t.exec(e)}return e}_activeItemContentChanged(e,t){var a=e;null!==a&&t&&t.metadata&&(s(h.themeElement,"*"),a=`<page-break\n break-type="site"\n title="${t.title}"\n parent="${t.parent}"\n item-id="${t.id}"\n slug="${t.slug}"\n description="${t.description}"\n order="${t.order}"\n ${t.metadata.pageType?`page-type="${t.metadata.pageType}"`:""}\n ${t.metadata.tags?`tags="${t.metadata.tags}"`:""}\n ${t.metadata.hideInMenu?'hide-in-menu="hide-in-menu"':""}\n ${t.metadata.relatedItems?`related-items="${t.metadata.relatedItems}"`:""}\n ${t.metadata.image?`image="${t.metadata.image}"`:""}\n ${t.metadata.icon?`icon="${t.metadata.icon}"`:""}\n ${t.metadata.accentColor?`accent-color="${t.metadata.accentColor}"`:""}\n ${t.metadata.theme&&t.metadata.theme.key?`developer-theme="${t.metadata.theme.key}"`:""}\n ${t.metadata.locked?'locked="locked"':""}\n ${!1===t.metadata.published?"":'published="published"'} ></page-break>${a}`,a=i(a),h.activeItemContent=a,setTimeout((()=>{if(0===h.themeElement.childNodes.length){let e=document.createRange().createContextualFragment(this.replaceTagReplacement(a));h.themeElement.appendChild(e),this.dispatchEvent(new CustomEvent("json-outline-schema-active-body-changed",{bubbles:!0,composed:!0,cancelable:!1,detail:a}))}if(!globalThis.WCAutoload&&n(this.manifest,"metadata.node.dynamicElementLoader")){let t=o(a);const i=new URL("../../locales/haxcms.es.json",import.meta.url).href+"/../";for(var e in t){const a=t[e];this.manifest.metadata.node.dynamicElementLoader[a]&&!globalThis.customElements.get(a)&&import(`${i}../../../../${this.manifest.metadata.node.dynamicElementLoader[a]}`).then((e=>{})).catch((e=>{console.warn(e)}))}}else globalThis.WCAutoload&&setTimeout((()=>{globalThis.WCAutoload.process()}),0)}),5))}_triggerUpdatedData(e){this.isLoggedIn?this._timeStamp=Math.floor(Date.now()/1e3):this._timeStamp=""}_triggerUpdatedNode(e){this.loadPageData()}_manifestChanged(e,t){e&&e.metadata&&e.items&&h.loadManifest(e,this)}_themeChanged(e,t){if(e){this.themeLoaded=!1;let t=e;if(void 0!==this.__imported[t.element])this.themeLoaded=!0;else if(globalThis.WCAutoload)this.__imported[t.element]=t.element,this.themeLoaded=!0,setTimeout((()=>{globalThis.WCAutoload.process(),globalThis.dispatchEvent(new CustomEvent("haxcms-theme-ready",{bubbles:!0,composed:!0,cancelable:!1,detail:this}))}),5);else try{import(new URL("./../../../../../"+e.path,import.meta.url).href).then((e=>{this.__imported[t.element]=t.element,this.themeLoaded=!0}))}catch(e){this.themeLoaded=!0}}}}globalThis.HAXme=function(e=null){null==e&&(e="demo",globalThis.appSettings={login:"dist/dev/login.json",logout:"dist/dev/logout.json",saveNodePath:"dist/dev/saveNode.json",saveManifestPath:"dist/dev/saveManifestPath.json",createNodePath:"dist/dev/saveNode.json",deleteNodePath:"dist/dev/saveNode.json",saveOutlinePath:"dist/dev/saveNode.json",getSiteFieldsPath:"dist/dev/getSiteFieldsPath.json",getFormToken:"adskjadshjudfu823u823u8fu8fij",appStore:{url:"dist/dev/appstore.json"},jwt:"made-up-thing",themes:{"haxcms-dev-theme":{element:"haxcms-dev-theme",path:"@haxtheweb/haxcms-elements/lib/haxcms-dev-theme.js",name:"Developer theme"}}}),"demo"==e&&(globalThis.HAXCMSContext="demo"),globalThis.document.body&&(globalThis.document.body.querySelector("haxcms-editor-builder").__appliedContext=!1,globalThis.document.body.querySelector("haxcms-editor-builder").applyContext(e))},globalThis.customElements.define(HAXCMSSiteBuilder.tag,HAXCMSSiteBuilder);export{HAXCMSSiteBuilder}; \ No newline at end of file + `}_updateManifest(e){this.manifest={...e}}_updateLoading(e){this.loading=e.detail.value}hashCode(e){return e.split("").reduce(((e,t)=>0|(e=(e<<5)-e+t.charCodeAt(0))),0)}nodeNormalizeIDs(e){if(e.tagName&&null==e.getAttribute("id")&&["H1","H2","H3","H4","H5","H6"].includes(e.tagName))if(e.getAttribute("resource"))e.setAttribute("id",e.getAttribute("resource"));else{let t=e.tagName.toLowerCase()+"-"+this.hashCode(e.innerText);e.setAttribute("id",t)}}_updateActiveItemContent(e){if(e){let t=globalThis.document.createElement("div");t.innerHTML=e;for(const e of t.childNodes)this.nodeNormalizeIDs(e);e=t.innerHTML,this.__pageContent=e,this._activeItemContentChanged(this.__pageContent,d(h.activeItem))}else h.cmsSiteEditorBackend.instance&&h.cmsSiteEditorBackend.instance.updateActiveItemContent&&h.cmsSiteEditorBackend.instance.updateActiveItemContent()}display404Error(){if(h.themeElement){let e=globalThis.document.createDocumentFragment(),t=globalThis.document.createElement("p");t.innerHTML=`<strong>${h.getInternalRoute()}</strong> ${this.t.couldNotBeLocated}. ${this.t.hereAreSomePossibleRemedies}\n <ul>\n <li><a href="x/search?search=${h.getInternalRoute()}">${this.t.useSearchToLocateTheContentYouAreLookingFor}</a></li>\n <li><a href="./">${this.t.goToTheHomePage}</a></li>\n <li>${this.t.navigateToAnotherPageInTheMenu}</li>\n </ul>`,e.appendChild(t),s(h.themeElement,"*"),h.themeElement.appendChild(e)}}renderInternalRoute(){if(h.themeElement){let e=globalThis.document.createDocumentFragment();h.activeItem.component&&import(`../ui-components/routes/${h.activeItem.component}.js`).then((()=>{let t=globalThis.document.createElement(h.activeItem.component);e.appendChild(t),s(h.themeElement,"*"),h.themeElement.appendChild(e)}))}}async loadPageData(){if(this.activeItemLocation&&!this.loading){this.loading=!0;let e=`${this.outlineLocation}${this.activeItemLocation}`;this._timeStamp&&(-1!=e.indexOf("?")?e+=`&${this._timeStamp}`:e+=`?${this._timeStamp}`),"hax-internal-route.html"===this.activeItemLocation?(this.renderInternalRoute(),this.loading=!1):await fetch(e).then((e=>{if(e.ok)return e.text();this.display404Error()})).then((e=>{this._updateActiveItemContent(e),this.loading=!1})).catch((e=>{this.lastErrorChanged(e)}))}}async loadJOSData(){if(this.file){this.loading=!0;let e=`${this.outlineLocation}${this.file}`;try{let e=JSON.parse(this.file);this._updateManifest(e),this.loading=!1}catch(t){this._timeStamp&&""!=this._timeStamp&&(-1!=e.indexOf("?")?e+=`&${this._timeStamp}`:e+=`?${this._timeStamp}`);await fetch(e,{cache:"no-cache"}).then((e=>{if(e.ok)return e.json()})).then((e=>{this._updateManifest(e),this.loading=!1})).catch((e=>{this.lastErrorChanged(e)}))}}}updated(e){super.updated&&super.updated(e);let t=!1,a=!1;e.forEach(((e,i)=>{["outlineLocation","activeItemLocation"].includes(i)&&""!=this[i]&&(a=!0),["outlineLocation","file"].includes(i)&&""!=this[i]&&(t=!0),"_timeStamp"==i&&this[i]&&(t=!0,a=!0),"themeData"==i?this._themeChanged(this[i],e):"themeName"==i?this._themeNameChanged(this[i],e):"outlineLocation"==i?this.dispatchEvent(new CustomEvent("outline-location-changed",{bubbles:!0,cancelable:!0,composed:!0,detail:this[i]})):"manifest"==i&&(this.dispatchEvent(new CustomEvent("manifest-changed",{bubbles:!0,cancelable:!0,composed:!0,detail:this[i]})),this._manifestChanged(this[i],e))})),t&&this.__ready&&this.loadJOSData(),a&&this.__ready&&this.loadPageData()}static get properties(){return{...super.properties,activeItemLocation:{type:String,attribute:"active-item-location"},disableFeatures:{type:String,reflect:!0,attribute:"disable-features"},_timeStamp:{type:String},isLoggedIn:{type:Boolean,reflect:!0,attribute:"is-logged-in"},queryParams:{type:Object},loading:{type:Boolean,reflect:!0},outlineLocation:{type:String,attribute:"outline-location"},manifest:{type:Object},themeData:{type:Object},themeName:{type:String},__imported:{type:Object},themeLoaded:{type:Boolean,reflect:!0,attribute:"theme-loaded"},file:{type:String},baseURI:{type:String,attribute:"base-uri"}}}_themeNameChanged(e){e&&(h.themeElement&&h.themeElement.remove(),s(this,"*"),h.themeElement=globalThis.document.createElement(e),h.themeElement.classList.add("haxcms-theme-element"),this.appendChild(h.themeElement))}lastErrorChanged(e){e&&(console.error(e),e.detail&&e.detail.value?(globalThis&&globalThis.location&&globalThis.appSettings&&globalThis.appSettings.reloadOnError&&globalThis.location.reload(),h.toast(e.detail.value.status+" "+e.detail.value.statusText,5e3,{fire:!0})):globalThis&&globalThis.location&&globalThis.appSettings&&globalThis.appSettings.reloadOnError&&globalThis.location.reload())}constructor(){for(var e in super(),this.__pageContent="",this.windowControllers=new AbortController,this.t={...super.t,pageNotFound:"Page not found",navigateToAnotherPageInTheMenu:"Navigate to another page in the menu",couldNotBeLocated:"could not be located",hereAreSomePossibleRemedies:"Here are some possible remedies:",useSearchToLocateTheContentYouAreLookingFor:"Use Search to locate the content you are looking for",goToTheHomePage:"Go to the home page"},this.registerLocalization({context:this,namespace:"haxcms",localesPath:new URL("../../locales/haxcms.es.json",import.meta.url).href.replace("/haxcms.es.json","/"),locales:["es"]}),this._timeStamp=Math.floor(Date.now()/1e3),this.disableFeatures="",this.isLoggedIn=!1,this.__disposer=[],this.queryParams={},this.loading=!1,this.__imported={},this.themeLoaded=!1,this.outlineLocation="",this.activeItemLocation="",m.storePieces.siteBuilder=this,this.children)if(this.children[e].tagName&&this.children[e].getAttribute("slot")){const t=this.children[e].cloneNode(!0);let a=t.getAttribute("slot");switch(a){case"haxcms-site-editor-ui-prefix-avatar":case"haxcms-site-editor-ui-prefix-buttons":case"haxcms-site-editor-ui-suffix-buttons":case"haxcms-site-editor-ui-main-menu":case"haxcms-site-editor-ui-topbar-character-button":h.setupSlots[a].push(t)}}globalThis.addEventListener("hax-store-ready",this.storeReady.bind(this),{signal:this.windowControllers.signal}),globalThis.addEventListener("haxcms-trigger-update",this._triggerUpdatedData.bind(this),{signal:this.windowControllers.signal}),globalThis.addEventListener("haxcms-trigger-update-node",this._triggerUpdatedNode.bind(this),{signal:this.windowControllers.signal}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",darkToggle,{signal:this.windowControllers.signal}),r((()=>{l("app-hax-darkMode",d(h.darkMode)),d(h.darkMode)?globalThis.document.body.classList.add("dark-mode"):globalThis.document.body.classList.remove("dark-mode")})),r((()=>{this.isLoggedIn=d(h.isLoggedIn);const e=Math.floor(Date.now()/1e3);this.isLoggedIn&&!this.loggedInTime&&(this.loggedInTime=e,this._timeStamp=this.loggedInTime)}))}displayConsoleWarning(){setTimeout((()=>{console.warn("%c⚠️STOP⚠️","color: white; font-weight: bold; font-size: 5em;font-family: arial; background-color: darkred; border: 5px solid white; border: 5px solid white;"),console.warn('%cThis is a browser feature intended for developers. If someone told you to copy and paste something here to enable a hidden feature or "hack" someone\'s account, it is a scam and will give them access to your account.',"font-size: 1.5em; font-family: arial; color: white; background-color: darkred; ")}),3500)}displayConsoleLearnMore(){setTimeout((()=>{console.log("%c👩💻HAXcms🧑💻","color: white; font-weight: bold; padding: 10px; font-size: 5em;font-family: arial; background-color: black; border: 5px solid white; border: 5px solid white; font-style: italic;"),console.log("%cThis site was created using HAXcms.\nLearn more about HAXcms at https://hax.psu.edu/.","color: white; background-color: black; font-size: 1.5em; font-family: arial; padding: 10px;")}),3e3)}firstUpdated(e){super.firstUpdated&&super.firstUpdated(e),this.displayConsoleLearnMore(),this.__ready=!0,h.appReady=!0,globalThis.dispatchEvent(new CustomEvent("haxcms-ready",{bubbles:!0,composed:!0,cancelable:!1,detail:this})),import("./haxcms-editor-builder.js").then((e=>{import("./haxcms-toast.js"),this.editorBuilder=globalThis.document.createElement("haxcms-editor-builder"),this.parentNode?this.parentNode.insertBefore(this.editorBuilder,this):globalThis.document.body.appendChild(this.editorBuilder),"published"!==m.getApplicationContext()?this._timeStamp=Math.floor(Date.now()/1e3):this._timeStamp=""})).catch((e=>{console.warn(e)})),globalThis.dispatchEvent(new Event("resize")),setTimeout((()=>{r((e=>{if(this.themeData=d(h.themeData),this.themeData){const e=new URLSearchParams(globalThis.location.search),t=e.get("format");if(null!=t&&"print-page"===t)this.themeData.element="haxcms-print-theme";const a=e.get("disable-features");null!=a&&(this.disableFeatures=a)}this.themeData&&this.themeData.element!==this.themeName&&(this.themeName=this.themeData.element),this.__disposer.push(e)})),r((e=>{const t=d(h.activeItem);t&&this.__pageContent&&this._activeItemContentChanged(this.__pageContent,t),t&&t.location&&(this.activeItemLocation="",setTimeout((()=>{this.activeItemLocation=t.location}),0)),this.__disposer.push(e)}))}),0)}disconnectedCallback(){for(var e in this.__disposer)this.__disposer[e].dispose();this.windowControllers.abort(),super.disconnectedCallback()}storeReady(e){h.cmsSiteEditor&&h.cmsSiteEditor.instance&&globalThis.HaxStore.requestAvailability().activeHaxBody&&h.activeItemContent&&globalThis.HaxStore.requestAvailability().activeHaxBody.importContent(h.activeItemContent)}replaceTagReplacement(e){for(var t=/\<(\w+?\-\w*.*)\s*?\>/gim,a=t.exec(e);null!=a;){let i=a[1].replace("<","").replace(">","");i.indexOf(" ")&&(i=i.split(" ")[0]),-1!=i.indexOf("-")&&(e=(e=e.replace("<"+i,'<replace-tag with="'+i+'" ')).replace("</"+i+">","</replace-tag>")),a=t.exec(e)}return e}_activeItemContentChanged(e,t){var a=e;null!==a&&t&&t.metadata&&(s(h.themeElement,"*"),a=`<page-break\n break-type="site"\n title="${t.title}"\n parent="${t.parent}"\n item-id="${t.id}"\n slug="${t.slug}"\n description="${t.description}"\n order="${t.order}"\n ${t.metadata.pageType?`page-type="${t.metadata.pageType}"`:""}\n ${t.metadata.tags?`tags="${t.metadata.tags}"`:""}\n ${t.metadata.hideInMenu?'hide-in-menu="hide-in-menu"':""}\n ${t.metadata.relatedItems?`related-items="${t.metadata.relatedItems}"`:""}\n ${t.metadata.image?`image="${t.metadata.image}"`:""}\n ${t.metadata.icon?`icon="${t.metadata.icon}"`:""}\n ${t.metadata.accentColor?`accent-color="${t.metadata.accentColor}"`:""}\n ${t.metadata.theme&&t.metadata.theme.key?`developer-theme="${t.metadata.theme.key}"`:""}\n ${t.metadata.locked?'locked="locked"':""}\n ${!1===t.metadata.published?"":'published="published"'} ></page-break>${a}`,a=i(a),h.activeItemContent=a,setTimeout((()=>{if(0===h.themeElement.childNodes.length){let e=document.createRange().createContextualFragment(this.replaceTagReplacement(a));h.themeElement.appendChild(e),this.dispatchEvent(new CustomEvent("json-outline-schema-active-body-changed",{bubbles:!0,composed:!0,cancelable:!1,detail:a}))}if(!globalThis.WCAutoload&&n(this.manifest,"metadata.node.dynamicElementLoader")){let t=o(a);const i=new URL("../../locales/haxcms.es.json",import.meta.url).href+"/../";for(var e in t){const a=t[e];this.manifest.metadata.node.dynamicElementLoader[a]&&!globalThis.customElements.get(a)&&import(`${i}../../../../${this.manifest.metadata.node.dynamicElementLoader[a]}`).then((e=>{})).catch((e=>{console.warn(e)}))}}else globalThis.WCAutoload&&setTimeout((()=>{globalThis.WCAutoload.process()}),0)}),5))}_triggerUpdatedData(e){this.isLoggedIn?this._timeStamp=Math.floor(Date.now()/1e3):this._timeStamp=""}_triggerUpdatedNode(e){this.loadPageData()}_manifestChanged(e,t){e&&e.metadata&&e.items&&h.loadManifest(e,this)}_themeChanged(e,t){if(e){this.themeLoaded=!1;let t=e;if(void 0!==this.__imported[t.element])this.themeLoaded=!0;else if(globalThis.WCAutoload)this.__imported[t.element]=t.element,this.themeLoaded=!0,setTimeout((()=>{globalThis.WCAutoload.process(),globalThis.dispatchEvent(new CustomEvent("haxcms-theme-ready",{bubbles:!0,composed:!0,cancelable:!1,detail:this}))}),5);else try{import(new URL("./../../../../../"+e.path,import.meta.url).href).then((e=>{this.__imported[t.element]=t.element,this.themeLoaded=!0}))}catch(e){this.themeLoaded=!0}}}}globalThis.HAXme=function(e=null){null==e&&(e="demo",globalThis.appSettings={login:"dist/dev/login.json",logout:"dist/dev/logout.json",saveNodePath:"dist/dev/saveNode.json",saveManifestPath:"dist/dev/saveManifestPath.json",createNodePath:"dist/dev/saveNode.json",deleteNodePath:"dist/dev/saveNode.json",saveOutlinePath:"dist/dev/saveNode.json",getSiteFieldsPath:"dist/dev/getSiteFieldsPath.json",getFormToken:"adskjadshjudfu823u823u8fu8fij",appStore:{url:"dist/dev/appstore.json"},jwt:"made-up-thing",themes:{"haxcms-dev-theme":{element:"haxcms-dev-theme",path:"@haxtheweb/haxcms-elements/lib/haxcms-dev-theme.js",name:"Developer theme"}}}),"demo"==e&&(globalThis.HAXCMSContext="demo"),globalThis.document.body&&(globalThis.document.body.querySelector("haxcms-editor-builder").__appliedContext=!1,globalThis.document.body.querySelector("haxcms-editor-builder").applyContext(e))},globalThis.customElements.define(HAXCMSSiteBuilder.tag,HAXCMSSiteBuilder);export{HAXCMSSiteBuilder}; \ No newline at end of file
src/public/build/es6/node_modules/@haxtheweb/haxcms-elements/lib/core/haxcms-site-editor-ui.js+1 −0 modified@@ -380,6 +380,7 @@ import{html as e,css as t,unsafeCSS as o}from"../../../../lit/index.js";import{s href="${this.backLink}" class="haxLogo" id="backtosites" + title="${this.backText}" part="hax-logo" > <simple-icon-lite icon="hax:hax2022"></simple-icon-lite>
src/public/build/es6/node_modules/@haxtheweb/haxcms-elements/lib/core/haxcms-site-store.js+1 −1 modified@@ -1 +1 @@ -import{observable as e,makeObservable as t,computed as i,autorun as a,toJS as s,configure as n}from"../../../../mobx/dist/mobx.esm.js";import{varExists as r,varGet as o,localStorageGet as l}from"../../../utils/utils.js";import{JsonOutlineSchema as c}from"../../../json-outline-schema/json-outline-schema.js";import{DeviceDetails as m}from"../../../replace-tag/lib/PerformanceDetect.js";import{SimpleIconsetStore as d}from"../../../simple-icon/lib/simple-iconset.js";import{UserScaffoldInstance as h}from"../../../user-scaffold/user-scaffold.js";n({enforceActions:!1});export function iconFromPageType(e){switch(e){case"content":return"lrn:page";case"assessment":return"lrn:assessment";case"quiz":return"lrn:quiz";case"submission":return"icons:move-to-inbox";case"lesson":return"hax:lesson";case"module":return"hax:module";case"unit":return"hax:unit";case"task":return"hax:task";case"activity":return"hax:ticket";case"project":return"hax:bulletin-board";case"practice":return"hax:shovel";case"connection":return"courseicons:chem-connection";case"knowledge":return"courseicons:knowledge";case"strategy":case"discuss":case"make":case"observe":case"present":case"read":case"reflect":case"research":case"watch":return"courseicons:strategy";case"listen":return"courseicons:listen";case"write":return"lrn:write"}return"courseicons:learning-objectives"}export const store=new class Store{constructor(){this.badDevice=!1,this.internalRoutes={search:{},views:{},tags:{}},this.evaluatebadDevice(),this.location=null,this.currentRouterLocation={},this.jwt=null,this.version=null,this.soundStatus=l("app-hax-soundStatus",!0),this.darkMode=!!l("app-hax-darkMode")&&l("app-hax-darkMode"),this.setupSlots={"haxcms-site-editor-ui-prefix-avatar":[],"haxcms-site-editor-ui-prefix-buttons":[],"haxcms-site-editor-ui-suffix-buttons":[],"haxcms-site-editor-ui-main-menu":[],"haxcms-site-editor-ui-topbar-character-button":[]},fetch(new URL("../../package.json",import.meta.url)).then((e=>e.json())).then((e=>this.version=e.version)),this.appReady=!1,this.editMode=!1,this.manifest=null,this.pageAllowed=!1,this.activeItemContent="",this.themeElement=null,this.themeStyleElement=globalThis.document.createElement("style"),this.themeStyleElement.id="haxcms-theme-global-style-element",this.t={close:"Close",search:"Search",views:"Content views",tags:"Content tags",pageNotFound:"Page not found"},this.activeId=null,this.userData={},this.cmsSiteEditor={instance:null},this.cmsSiteEditorBackend={instance:null},this._registration={},t(this,{location:e.ref,currentRouterLocation:e.ref,internalRoutes:e,editMode:e,jwt:e,userData:e,manifest:e,activeItemContent:e,themeElement:e,version:e,routerManifest:i,siteTitle:i,siteDescription:i,isLoggedIn:i,themeData:i,regionData:i,entityData:i,homeLink:i,activeId:e,activeItem:i,activeItemFields:i,activeManifestIndex:i,activeManifestIndexCounter:i,activeTitle:i,activeTags:i,parentTitle:i,ancestorTitle:i,ancestorItem:i,pageCounter:i,darkMode:e,soundStatus:e,appReady:e,badDevice:e,pageAllowed:e})}get entityData(){if(this.manifest&&this.manifest.items){var e={};return this.manifest.items.map((t=>{t.metadata&&(e[t.id]={id:t.id,title:t.title,color:t.metadata.color||null,icon:t.metadata.icon||null,type:t.metadata.entityType||"page"})})),e}}get regionData(){if(this.manifest){return r(this.manifest,"metadata.theme.regions")?this.manifest.metadata.theme.regions:{header:null,sidebarFirst:null,sidebarSecond:null,contentTop:null,contentBottom:null,footerPrimary:null,footerSecondary:null}}}getUniqueSlugName(e,t=null,i=!1){let a=e;if(null!=t&&null!=t.parent&&""!=t.parent&&i){let i=t,s=[e];for(;i=this.findItem(i.parent);){let e=i.slug.split("/");s.unshift(e.pop())}a=e=s.join("/")}let s=0,n=!1;for(;!n;)for(var r in n=!0,this.manifest.items){let i=this.manifest.items[r];if(a==i.slug){if(null!=t&&i.id==t.id)return a;s++,a=e+"-"+s,n=!1}}return a.toLowerCase().split(" ").join("-").replace(/[^0-9\-\/a-z]/gi,"")}async evaluatebadDevice(){this.badDevice=await m.badDevice(),this.badDevice&&(this.soundStatus=!1)}playSound(e){if(this.soundStatus&&this.appReady)try{switch(e){case"click":case"click2":case"coin":case"coin2":case"hit":case"success":case"error":"error"==e&&(e="hit"),this.audio=new Audio(new URL(`../../../app-hax/lib/assets/sounds/${e}.mp3`,import.meta.url).href),this.audio.volume=.3,this.audio.play();break;default:this.audio=new Audio(new URL("../../../app-hax/lib/assets/sounds/hit.mp3",import.meta.url).href),this.audio.volume=.3,this.audio.play(),console.warn(`${e} is not a valid sound file yet`)}}catch(e){console.warn(e)}}toast(e,t=2e3,i={},a="capsule",s=this.t.close,n=null,r=null){this.appReady&&globalThis.dispatchEvent(new CustomEvent("haxcms-toast-show",{bubbles:!0,composed:!0,cancelable:!0,detail:{text:e,duration:t,classStyle:a,closeText:s,eventCallback:n,slot:r,...i}}))}async loadManifest(e,t=null){if(null==t&&window&&(t=window),r(e,"metadata.siteName")){let t=o(e,"publishing.git",{});e.metadata.site={name:e.metadata.siteName,git:t,created:e.metadata.created,updated:e.metadata.updated},e.metadata.theme.variables={image:e.metadata.image,icon:e.metadata.icon,hexCode:e.metadata.hexCode,cssVariable:e.metadata.cssVariable},e.metadata.node={dynamicElementLoader:e.metadata.dynamicElementLoader,fields:e.metadata.fields},delete e.metadata.publishing,delete e.metadata.created,delete e.metadata.updated,delete e.metadata.siteName,delete e.metadata.image,delete e.metadata.icon,delete e.metadata.hexCode,delete e.metadata.cssVariable,delete e.metadata.dynamicElementLoader,delete e.metadata.fields}await e.items.forEach(((e,t,i)=>{e.slug||(i[t].slug=e.location.replace("pages/","").replace("/index.html","")),e.metadata.hasOwnProperty("published")||(i[t].metadata.published=!0),i[t].order=Number(i[t].order),e.metadata.hasOwnProperty("locked")||(i[t].metadata.locked=!1),e.metadata.hasOwnProperty("status")||(i[t].metadata.status="")}));var i=new c,a=i.itemsToNodes(e.items),s=i.nodesToItems(a),n=[];for(var l in s)n.push(e.items.find((e=>e.id===s[l].id)));globalThis.document.documentElement&&e.metadata.site.lang&&(globalThis.document.documentElement.lang=e.metadata.site.lang,globalThis.dispatchEvent(new CustomEvent("languagechange",{detail:e.metadata.site.lang}))),e.items=n,this.manifest=e,t.dispatchEvent(new CustomEvent("json-outline-schema-changed",{bubbles:!0,composed:!0,cancelable:!1,detail:e})),globalThis.dispatchEvent(new CustomEvent("haxcms-item-rebuild",{bubbles:!0,composed:!0,cancelable:!1,detail:!0}))}cmsSiteEditorAvailability(){return this.cmsSiteEditor.instance||(this.cmsSiteEditor.instance=globalThis.document.createElement("haxcms-site-editor")),this.cmsSiteEditor.instance}get processedItems(){}getItemChildren(e){if(this.manifest&&this.manifest.items)return this.manifest.items.filter((t=>t.parent===e))}_computeItems(e,t,i,a,s){if(s){let n,r=[],o=[];switch(s.items.forEach((e=>{e.parent||r.push(e)})),a){case"parent":n=s.items.find((e=>i===e.id)),n&&(i=n.parent);break;case"ancestor":for(n=s.items.find((e=>i===e.id));n&&null!=n.parent;)n=s.items.find((e=>e.id==n.parent));n&&(i=n.id)}return r.forEach(((a,s)=>{this._spiderChildren(a,o,e,t,i,!1)})),o}}_setChildren(e,t){const i=t.filter((t=>e.id===t.parent));e.children=i,e.children.length>0&&e.children.forEach((e=>{this._setChildren(e,t)}))}get routerManifest(){const e=this.manifest;if(globalThis.document.body.dispatchEvent(new CustomEvent("json-outline-schema-changed",{bubbles:!0,composed:!0,cancelable:!1,detail:e})),e&&void 0!==e.items){let t=e.items.map((t=>{let i=null,a=null,s=e.items.find((e=>t.parent===e.id));s&&(i=s.location,a=s.slug);let n=t.metadata,r=t.location,o=t.slug;return n&&n.pageType&&!n.icon&&(t.metadata.icon=iconFromPageType(n.pageType)),Object.assign({},t,{parentLocation:i,parentSlug:a,location:r,slug:o,metadata:n})}));if(t.forEach(((e,i)=>{this._setChildren(e,t)})),!0===o(e,"metadata.site.settings.publishPagesOn",!0)){const filterHiddenParentsRecursive=e=>{if(!1===e.metadata.published)return!1;const i=t.find((t=>t.id===e.parent));return!i||filterHiddenParentsRecursive(i)};this.isLoggedIn||(t=t.filter((e=>filterHiddenParentsRecursive(e))))}return Object.assign({},e,{items:t})}}get siteTitle(){return this.manifest&&this.manifest.title?this.manifest.title:""}get siteDescription(){return this.manifest&&this.manifest.description?this.manifest.description:""}get homeLink(){if(this.manifest){const e=this.manifest.items.find((e=>void 0!==e.id));if(e)return e.slug}return"/"}get activeItem(){let e=this.findItem(this.activeId);if(this.activeId&&HAXcmsStore.storePieces&&HAXcmsStore.storePieces.siteRouter&&null==e&&"404"===this.activeId){e={id:"404",_internalRoute:!0,title:this.t.pageNotFound,location:"hax-fake-404.html"};const t=store.getInternalRoute();t&&store.internalRoutes[t]&&("function"==typeof store.internalRoutes[t].callback&&store.internalRoutes[t].callback(),e={id:"x/"+t,_internalRoute:!0,component:`site-${t}-route`,title:this.t[t]||t,location:"hax-internal-route.html"})}return e||null}get activeItemFields(){if(this.activeItem&&this.activeItem.metadata){let e={title:this.activeItem.title,description:this.activeItem.description,location:this.activeItem.location,slug:this.activeItem.slug,created:this.activeItem.metadata.created,updated:this.activeItem.metadata.created};if(this.activeItem.metadata.fields)return Object.assign({},e,this.activeItem.metadata.fields)}}get themeData(){if(this.manifest){var e={};return e=r(this.manifest,"metadata.theme")?this.manifest.metadata.theme:{"haxcms-basic-theme":{element:"haxcms-basic-theme",path:"@haxtheweb/haxcms-elements/lib/core/themes/haxcms-basic-theme.js",name:"Basic theme",variables:{icon:"icons:record-voice-over",hexCode:"#da004e",cssVariable:"pink",image:"assets/banner.jpg",imageAlt:"",imageLink:""},regions:{header:null,sidebarFirst:null,sidebarSecond:null,contentTop:null,contentBottom:null,footerPrimary:null,footerSecondary:null}}},this.activeItem&&r(this.activeItem,"metadata.theme")?this.activeItem.metadata.theme:e}}get activeManifestIndex(){if(this.manifest&&this.manifest.items&&this.activeId)for(var e in this.manifest.items)if(this.manifest.items[e].id===this.activeId)return parseInt(e);return-1}get activeRouterManifestIndex(){if(this.routerManifest&&this.routerManifest.items&&this.activeId)for(var e in this.routerManifest.items)if(this.routerManifest.items[e].id===this.activeId)return parseInt(e);return-1}get activeManifestIndexCounter(){return null!==this.activeManifestIndex?1+this.activeManifestIndex:0}get activeTitle(){return this.activeItem?this.activeItem.title:""}get activeTags(){return this.activeItem&&this.activeItem.metadata&&this.activeItem.metadata.tags?this.activeItem.metadata.tags:null}get parentTitle(){if(this.manifest&&this.activeItem){let e=this.manifest.items.find((e=>this.activeItem.parent===e.id));if(e)return e.title}return""}get pageCounter(){return{current:this.activeManifestIndexCounter,total:this.manifest.items.length}}get siblingsPrevNext(){if(this.manifest.items&&this.activeItem){const e=this.manifest.items.filter((e=>e.parent===this.activeItem.parent)),t=e.findIndex((e=>e.id===this.activeItem.id));return{prev:e[t-1]||null,next:e[t+1]||null}}return{prev:null,next:null}}get isLoggedIn(){return!(!this.jwt||"null"==this.jwt)}get ancestorTitle(){if(this.manifest&&this.activeItem){let e=this.manifest.items.find((e=>this.activeItem.parent===e.id));for(;e&&null!=e.parent;)e=this.manifest.items.find((t=>t.id==e.parent));if(e)return e.title}return""}get ancestorItem(){if(this.manifest&&this.activeItem){let e=this.manifest.items.find((e=>this.activeItem.parent===e.id));for(;e&&null!=e.parent;)e=this.manifest.items.find((t=>t.id==e.parent));if(e)return e}return null}findItem(e){return this.manifest&&e?this.manifest.items.find((t=>t.id===e)):null}async getLastChildItem(e){if(this.manifest){let t={};return await this.manifest.items.map((i=>{i.parent===e&&(void 0===t.order||t.order<i.order)&&(t=i)})),t}return null}async findItemAsObject(e,t="id",i="item",a=!0){if(this.manifest&&e){var n=await this.manifest.items.find((i=>i[t]===e));if(a&&(n=s(n)),"item"==i)return n;if("parent"==i&&n.parent)return s(await this.manifest.items.find((e=>n.parent===e.id)))}return null}fallbackItemSlug(){if(this.manifest&&this.activeItem){if(this.activeManifestIndex>0&&this.manifest.items[this.activeManifestIndex-1])return this.manifest.items[this.activeManifestIndex-1].slug;if(this.activeManifestIndex<this.manifest.items.length-1&&this.manifest.items[this.activeManifestIndex+1])return this.manifest.items[this.activeManifestIndex+1].slug}return null}getManifestItems(e=!0){return e?s(this.manifest.items):this.manifest.items}getManifest(e=!0){return e?s(this.manifest):this.manifest}async addItem(e){var t=new c;let i=t.newItem();e.id&&(i.id=e.id),e.indent&&(i.indent=e.indent),i.location=e.location,i.slug=e.slug,i.order=e.order,i.parent=e.parent,i.title=e.title,i.metadata=e.metadata,t.items=s(this.manifest.items);let a={...t.validateItem(i)};t.items.push(a);var n=t.itemsToNodes(t.items),r=t.nodesToItems(n),o=[];for(var l in r)o.push(t.items.find((e=>e.id===r[l].id)));return this.manifest.items.replace(o),globalThis.dispatchEvent(new CustomEvent("json-outline-schema-changed",{bubbles:!0,composed:!0,cancelable:!1,detail:this.manifest})),globalThis.dispatchEvent(new CustomEvent("haxcms-item-rebuild",{bubbles:!0,composed:!0,cancelable:!1,detail:!0})),this.findItem(i.id)}removeItem(e){const t=this.findItem(e);if(t)if("new"===t.metadata.status){const e=this.manifest.items.indexOf(t);e>-1&&this.manifest.items.splice(e,1)}else t.metadata.status="delete"}spiderChildren(e,t,i,a,s,n,r){e.id===s||n?(n||(n=!0,!r&&e.indent>=i&&(i+=e.indent,a+=e.indent)),e.indent>=i&&e.indent<=a&&t.push(e),e.children.length>0&&e.children.forEach((e=>{this.spiderChildren(e,t,i,a,s,n,r)}))):e.children.length>0&&e.children.forEach((e=>{this.spiderChildren(e,t,a,s,n,r)}))}getInternalRoute(){return!!(this.currentRouterLocation&&this.currentRouterLocation.params&&this.currentRouterLocation.params[0])&&this.currentRouterLocation.params[0].replace("x/","")}computeItems(e,t,i,a,s,n){if(s){let r,o=[],l=[];switch(s.items.forEach((e=>{e.parent||o.push(e)})),a){case"parent":r=s.items.find((e=>i===e.id)),r&&(i=r.parent);break;case"ancestor":for(r=s.items.find((e=>i===e.id));r&&null!=r.parent;)r=s.items.find((e=>e.id==r.parent));r&&(i=r.id)}return s.items.forEach(((a,s)=>{store.spiderChildren(a,l,e,t,i,!1,n)})),l}}};globalThis.HAXCMS=globalThis.HAXCMS||{},globalThis.HAXCMS.setTheme=function(e){globalThis.HAXCMS.instance.store.manifest.metadata.theme.element=e},globalThis.HAXCMS.requestAvailability=()=>(globalThis.HAXCMS.instance||(globalThis.HAXCMS.instance=globalThis.document.createElement("haxcms-site-store"),globalThis.document.body.appendChild(globalThis.HAXCMS.instance)),globalThis.HAXCMS.instance);export const HAXcmsStore=globalThis.HAXCMS.requestAvailability();class HAXCMSSiteStore extends HTMLElement{constructor(){super(),this.storePieces={},this.store=store,this.source="",globalThis.addEventListener("playaudio",this.playSoundEvent.bind(this)),a((()=>{if(store.location&&store.location.route&&store.location.route.component){const e=store.location.route.name;if(store.manifest.items.find((t=>t.id===e)))store.activeId=e;else{const e=store.manifest.items.find((e=>void 0!==e.id));e&&(store.activeId=e.id)}}})),a((()=>{const e=s(store.findItem(store.activeId));e&&(globalThis.document.body.dispatchEvent(new CustomEvent("json-outline-schema-active-item-changed",{bubbles:!0,composed:!0,cancelable:!1,detail:e})),globalThis.document.title=store.activeTitle)})),a((()=>{if(store.appReady){const e=globalThis.document.querySelector('link[rel="icon"]');e&&(this.faviconSiteDefault=e.href,this.faviconInstance=e)}})),a((()=>{const e=h.readMemory("versionLatest");store.version&&e!=store.version&&(null==e&&h.writeMemory("versionInitial",store.version,"long"),h.writeMemory("versionLatest",store.version,"long"))})),a((()=>{const e=s(store.editMode);globalThis.HaxStore&&globalThis.HaxStore.requestAvailability()&&globalThis.HaxStore.requestAvailability().write&&(globalThis.dispatchEvent(new CustomEvent("haxcms-edit-mode-changed",{bubbles:!0,composed:!0,cancelable:!1,detail:e})),globalThis.HaxStore.requestAvailability().editMode=e,globalThis.HaxStore.requestAvailability().toastShowEventName="haxcms-toast-show")}))}playSoundEvent(e){this.store.playSound(e.detail.sound)}connectedCallback(){globalThis.document.body.appendChild(this.store.themeStyleElement)}disconnectedCallback(){this.store.themeStyleElement.remove(),this.store.themeStyleElement=globalThis.document.createElement("style")}resetFavicon(){this.setFavicon()}setFavicon(e=null,t=!0){e?t&&(e=d.getIcon(e)):e=this.faviconSiteDefault,this.faviconInstance&&this.faviconInstance.setAttribute("href",e)}resetCursor(){this.setCursor()}setCursor(e=null,t=!0){e?(t&&(e=d.getIcon(e)),globalThis.document.body.style.cursor=`url("${e}") 16 16, pointer`):globalThis.document.body.style.removeProperty("cursor")}getApplicationContext(){let e="";if("undefined"!=typeof DatArchive)e="beaker";else switch(globalThis.HAXCMSContext){case"published":case"nodejs":case"php":case"11ty":case"demo":case"desktop":case"local":case"userfs":e=globalThis.HAXCMSContext;break;default:e="php"}return e}static get tag(){return"haxcms-site-store"}static get observedAttributes(){return["source"]}set source(e){this[name]=e,e&&this.setAttribute("source",e)}get source(){return this.getAttribute("source")}attributeChangedCallback(e,t,i){"source"==e&&""!=i&&fetch(this[e]).then((e=>e.json())).then((e=>{this.store.loadManifest(e)})).catch((e=>{console.warn(e)}))}}globalThis.customElements.define(HAXCMSSiteStore.tag,HAXCMSSiteStore);export{HAXCMSSiteStore}; \ No newline at end of file +import{observable as e,makeObservable as t,computed as i,autorun as a,toJS as s,configure as n}from"../../../../mobx/dist/mobx.esm.js";import{varExists as r,varGet as o,localStorageGet as l}from"../../../utils/utils.js";import{JsonOutlineSchema as c}from"../../../json-outline-schema/json-outline-schema.js";import{DeviceDetails as m}from"../../../replace-tag/lib/PerformanceDetect.js";import{SimpleIconsetStore as d}from"../../../simple-icon/lib/simple-iconset.js";import{UserScaffoldInstance as h}from"../../../user-scaffold/user-scaffold.js";n({enforceActions:!1});export function iconFromPageType(e){switch(e){case"content":return"lrn:page";case"assessment":return"lrn:assessment";case"quiz":return"lrn:quiz";case"submission":return"icons:move-to-inbox";case"lesson":return"hax:lesson";case"module":return"hax:module";case"unit":return"hax:unit";case"task":return"hax:task";case"activity":return"hax:ticket";case"project":return"hax:bulletin-board";case"practice":return"hax:shovel";case"connection":return"courseicons:chem-connection";case"knowledge":return"courseicons:knowledge";case"strategy":case"discuss":case"make":case"observe":case"present":case"read":case"reflect":case"research":case"watch":return"courseicons:strategy";case"listen":return"courseicons:listen";case"write":return"lrn:write"}return"courseicons:learning-objectives"}export const store=new class Store{constructor(){this.badDevice=!1,this.internalRoutes={search:{},views:{},tags:{}},this.evaluatebadDevice(),this.location=null,this.currentRouterLocation={},this.jwt=null,this.version=null,this.soundStatus=l("app-hax-soundStatus",!0),this.darkMode=!!l("app-hax-darkMode")&&l("app-hax-darkMode"),this.setupSlots={"haxcms-site-editor-ui-prefix-avatar":[],"haxcms-site-editor-ui-prefix-buttons":[],"haxcms-site-editor-ui-suffix-buttons":[],"haxcms-site-editor-ui-main-menu":[],"haxcms-site-editor-ui-topbar-character-button":[]},fetch(new URL("../../package.json",import.meta.url)).then((e=>e.json())).then((e=>this.version=e.version)),this.appReady=!1,this.editMode=!1,this.manifest=null,this.pageAllowed=!1,this.activeItemContent="",this.themeElement=null,this.themeStyleElement=globalThis.document.createElement("style"),this.themeStyleElement.id="haxcms-theme-global-style-element",this.t={close:"Close",search:"Search",views:"Content views",tags:"Content tags",pageNotFound:"Page not found"},this.activeId=null,this.userData={},this.cmsSiteEditor={instance:null},this.cmsSiteEditorBackend={instance:null},this._registration={},t(this,{location:e.ref,currentRouterLocation:e.ref,internalRoutes:e,editMode:e,jwt:e,userData:e,manifest:e,activeItemContent:e,themeElement:e,version:e,routerManifest:i,siteTitle:i,siteDescription:i,isLoggedIn:i,themeData:i,regionData:i,entityData:i,homeLink:i,activeId:e,activeItem:i,activeItemFields:i,activeManifestIndex:i,activeManifestIndexCounter:i,activeTitle:i,activeTags:i,parentTitle:i,ancestorTitle:i,ancestorItem:i,pageCounter:i,darkMode:e,soundStatus:e,appReady:e,badDevice:e,pageAllowed:e})}get entityData(){if(this.manifest&&this.manifest.items){var e={};return this.manifest.items.map((t=>{t.metadata&&(e[t.id]={id:t.id,title:t.title,color:t.metadata.color||null,icon:t.metadata.icon||null,type:t.metadata.entityType||"page"})})),e}}get regionData(){if(this.manifest){return r(this.manifest,"metadata.theme.regions")?this.manifest.metadata.theme.regions:{header:null,sidebarFirst:null,sidebarSecond:null,contentTop:null,contentBottom:null,footerPrimary:null,footerSecondary:null}}}getUniqueSlugName(e,t=null,i=!1){let a=e;if(null!=t&&null!=t.parent&&""!=t.parent&&i){let i=t,s=[e];for(;i=this.findItem(i.parent);){let e=i.slug.split("/");s.unshift(e.pop())}a=e=s.join("/")}let s=0,n=!1;for(;!n;)for(var r in n=!0,this.manifest.items){let i=this.manifest.items[r];if(a==i.slug){if(null!=t&&i.id==t.id)return a;s++,a=e+"-"+s,n=!1}}return a.toLowerCase().split(" ").join("-").replace(/[^0-9\-\/a-z]/gi,"")}async evaluatebadDevice(){this.badDevice=await m.badDevice(),this.badDevice&&(this.soundStatus=!1)}playSound(e){if(this.soundStatus&&this.appReady)try{switch(e){case"click":case"click2":case"coin":case"coin2":case"hit":case"success":case"error":"error"==e&&(e="hit"),this.audio=new Audio(new URL(`../../../app-hax/lib/assets/sounds/${e}.mp3`,import.meta.url).href),this.audio.volume=.3,this.audio.play();break;default:this.audio=new Audio(new URL("../../../app-hax/lib/assets/sounds/hit.mp3",import.meta.url).href),this.audio.volume=.3,this.audio.play(),console.warn(`${e} is not a valid sound file yet`)}}catch(e){console.warn(e)}}toast(e,t=2e3,i={},a="capsule",s=this.t.close,n=null,r=null){this.appReady&&globalThis.dispatchEvent(new CustomEvent("haxcms-toast-show",{bubbles:!0,composed:!0,cancelable:!0,detail:{text:e,duration:t,classStyle:a,closeText:s,eventCallback:n,slot:r,...i}}))}async loadManifest(e,t=null){if(null==t&&window&&(t=window),r(e,"metadata.siteName")){let t=o(e,"publishing.git",{});e.metadata.site={name:e.metadata.siteName,git:t,created:e.metadata.created,updated:e.metadata.updated},e.metadata.theme.variables={image:e.metadata.image,icon:e.metadata.icon,hexCode:e.metadata.hexCode,cssVariable:e.metadata.cssVariable},e.metadata.node={dynamicElementLoader:e.metadata.dynamicElementLoader,fields:e.metadata.fields},delete e.metadata.publishing,delete e.metadata.created,delete e.metadata.updated,delete e.metadata.siteName,delete e.metadata.image,delete e.metadata.icon,delete e.metadata.hexCode,delete e.metadata.cssVariable,delete e.metadata.dynamicElementLoader,delete e.metadata.fields}await e.items.forEach(((e,t,i)=>{e.slug||(i[t].slug=e.location.replace("pages/","").replace("/index.html","")),e.metadata.hasOwnProperty("published")||(i[t].metadata.published=!0),i[t].order=Number(i[t].order),e.metadata.hasOwnProperty("locked")||(i[t].metadata.locked=!1),e.metadata.hasOwnProperty("status")||(i[t].metadata.status="")}));var i=new c,a=i.itemsToNodes(e.items),s=i.nodesToItems(a),n=[];for(var l in s)n.push(e.items.find((e=>e.id===s[l].id)));globalThis.document.documentElement&&e.metadata.site.lang&&(globalThis.document.documentElement.lang=e.metadata.site.lang,globalThis.dispatchEvent(new CustomEvent("languagechange",{detail:e.metadata.site.lang}))),e.items=n,this.manifest=e,t.dispatchEvent(new CustomEvent("json-outline-schema-changed",{bubbles:!0,composed:!0,cancelable:!1,detail:e})),globalThis.dispatchEvent(new CustomEvent("haxcms-item-rebuild",{bubbles:!0,composed:!0,cancelable:!1,detail:!0}))}cmsSiteEditorAvailability(){return this.cmsSiteEditor.instance||(this.cmsSiteEditor.instance=globalThis.document.createElement("haxcms-site-editor")),this.cmsSiteEditor.instance}get processedItems(){}getItemChildren(e){if(this.manifest&&this.manifest.items)return this.manifest.items.filter((t=>t.parent===e))}_computeItems(e,t,i,a,s){if(s){let n,r=[],o=[];switch(s.items.forEach((e=>{e.parent||r.push(e)})),a){case"parent":n=s.items.find((e=>i===e.id)),n&&(i=n.parent);break;case"ancestor":for(n=s.items.find((e=>i===e.id));n&&null!=n.parent;)n=s.items.find((e=>e.id==n.parent));n&&(i=n.id)}return r.forEach(((a,s)=>{this._spiderChildren(a,o,e,t,i,!1)})),o}}_setChildren(e,t){const i=t.filter((t=>e.id===t.parent));e.children=i,e.children.length>0&&e.children.forEach((e=>{this._setChildren(e,t)}))}get routerManifest(){const e=this.manifest;if(globalThis.document.body.dispatchEvent(new CustomEvent("json-outline-schema-changed",{bubbles:!0,composed:!0,cancelable:!1,detail:e})),e&&void 0!==e.items){let t=e.items.map((t=>{let i=null,a=null,s=e.items.find((e=>t.parent===e.id));s&&(i=s.location,a=s.slug);let n=t.metadata,r=t.location,o=t.slug;return n&&n.pageType&&!n.icon&&(t.metadata.icon=iconFromPageType(n.pageType)),Object.assign({},t,{parentLocation:i,parentSlug:a,location:r,slug:o,metadata:n})}));if(t.forEach(((e,i)=>{this._setChildren(e,t)})),!0===o(e,"metadata.site.settings.publishPagesOn",!0)){const filterHiddenParentsRecursive=e=>{if(!1===e.metadata.published)return!1;const i=t.find((t=>t.id===e.parent));return!i||filterHiddenParentsRecursive(i)};this.isLoggedIn||(t=t.filter((e=>filterHiddenParentsRecursive(e))))}return Object.assign({},e,{items:t})}}get siteTitle(){return this.manifest&&this.manifest.title?this.manifest.title:""}get siteDescription(){return this.manifest&&this.manifest.description?this.manifest.description:""}get homeLink(){if(this.manifest){const e=this.manifest.items.find((e=>void 0!==e.id));if(e)return e.slug}return"/"}get activeItem(){let e=this.findItem(this.activeId);if(this.activeId&&HAXcmsStore.storePieces&&HAXcmsStore.storePieces.siteRouter&&null==e&&"404"===this.activeId){e={id:"404",_internalRoute:!0,title:this.t.pageNotFound,location:"hax-fake-404.html"};const t=store.getInternalRoute();t&&store.internalRoutes[t]&&("function"==typeof store.internalRoutes[t].callback&&store.internalRoutes[t].callback(),e={id:"x/"+t,_internalRoute:!0,component:`site-${t}-route`,title:this.t[t]||t,location:"hax-internal-route.html"})}return e||null}get activeItemFields(){if(this.activeItem&&this.activeItem.metadata){let e={title:this.activeItem.title,description:this.activeItem.description,location:this.activeItem.location,slug:this.activeItem.slug,created:this.activeItem.metadata.created,updated:this.activeItem.metadata.created};if(this.activeItem.metadata.fields)return Object.assign({},e,this.activeItem.metadata.fields)}}get themeData(){if(this.manifest){var e={};return e=r(this.manifest,"metadata.theme")?this.manifest.metadata.theme:{"haxcms-basic-theme":{element:"haxcms-basic-theme",path:"@haxtheweb/haxcms-elements/lib/core/themes/haxcms-basic-theme.js",name:"Basic theme",variables:{icon:"icons:record-voice-over",hexCode:"#da004e",cssVariable:"pink",image:"assets/banner.jpg",imageAlt:"",imageLink:""},regions:{header:null,sidebarFirst:null,sidebarSecond:null,contentTop:null,contentBottom:null,footerPrimary:null,footerSecondary:null}}},this.activeItem&&r(this.activeItem,"metadata.theme")?this.activeItem.metadata.theme:e}}get activeManifestIndex(){if(this.manifest&&this.manifest.items&&this.activeId)for(var e in this.manifest.items)if(this.manifest.items[e].id===this.activeId)return parseInt(e);return-1}get activeRouterManifestIndex(){if(this.routerManifest&&this.routerManifest.items&&this.activeId)for(var e in this.routerManifest.items)if(this.routerManifest.items[e].id===this.activeId)return parseInt(e);return-1}get activeManifestIndexCounter(){return null!==this.activeManifestIndex?1+this.activeManifestIndex:0}get activeTitle(){return this.activeItem?this.activeItem.title:""}get activeTags(){return this.activeItem&&this.activeItem.metadata&&this.activeItem.metadata.tags?this.activeItem.metadata.tags:null}get parentTitle(){if(this.manifest&&this.activeItem){let e=this.manifest.items.find((e=>this.activeItem.parent===e.id));if(e)return e.title}return""}get pageCounter(){return{current:this.activeManifestIndexCounter,total:this.manifest.items.length}}get siblingsPrevNext(){if(this.manifest.items&&this.activeItem){const e=this.manifest.items.filter((e=>e.parent===this.activeItem.parent)),t=e.findIndex((e=>e.id===this.activeItem.id));return{prev:e[t-1]||null,next:e[t+1]||null}}return{prev:null,next:null}}get isLoggedIn(){return!(!this.jwt||"null"==this.jwt)}get ancestorTitle(){if(this.manifest&&this.activeItem){let e=this.manifest.items.find((e=>this.activeItem.parent===e.id));for(;e&&null!=e.parent;)e=this.manifest.items.find((t=>t.id==e.parent));if(e)return e.title}return""}get ancestorItem(){if(this.manifest&&this.activeItem){let e=this.manifest.items.find((e=>this.activeItem.parent===e.id));for(;e&&null!=e.parent;)e=this.manifest.items.find((t=>t.id==e.parent));if(e)return e}return null}findItem(e){return this.manifest&&e?this.manifest.items.find((t=>t.id===e)):null}async getLastChildItem(e){if(this.manifest){let t={};return await this.manifest.items.map((i=>{i.parent===e&&(void 0===t.order||t.order<i.order)&&(t=i)})),t}return null}async findItemAsObject(e,t="id",i="item",a=!0){if(this.manifest&&e){var n=await this.manifest.items.find((i=>i[t]===e));if(a&&(n=s(n)),"item"==i)return n;if("parent"==i&&n.parent)return s(await this.manifest.items.find((e=>n.parent===e.id)))}return null}fallbackItemSlug(){if(this.manifest&&this.activeItem){if(this.activeManifestIndex>0&&this.manifest.items[this.activeManifestIndex-1])return this.manifest.items[this.activeManifestIndex-1].slug;if(this.activeManifestIndex<this.manifest.items.length-1&&this.manifest.items[this.activeManifestIndex+1])return this.manifest.items[this.activeManifestIndex+1].slug}return null}getManifestItems(e=!0){return e?s(this.manifest.items):this.manifest.items}getManifest(e=!0){return e?s(this.manifest):this.manifest}async addItem(e){var t=new c;let i=t.newItem();e.id&&(i.id=e.id),e.indent&&(i.indent=e.indent),i.location=e.location,i.slug=e.slug,i.order=e.order,i.parent=e.parent,i.title=e.title,i.metadata=e.metadata,t.items=s(this.manifest.items);let a={...t.validateItem(i)};t.items.push(a);var n=t.itemsToNodes(t.items),r=t.nodesToItems(n),o=[];for(var l in r)o.push(t.items.find((e=>e.id===r[l].id)));return this.manifest.items.replace(o),globalThis.dispatchEvent(new CustomEvent("json-outline-schema-changed",{bubbles:!0,composed:!0,cancelable:!1,detail:this.manifest})),globalThis.dispatchEvent(new CustomEvent("haxcms-item-rebuild",{bubbles:!0,composed:!0,cancelable:!1,detail:!0})),this.findItem(i.id)}removeItem(e){const t=this.findItem(e);if(t)if("new"===t.metadata.status){const e=this.manifest.items.indexOf(t);e>-1&&this.manifest.items.splice(e,1)}else t.metadata.status="delete"}spiderChildren(e,t,i,a,s,n,r){e.id===s||n?(n||(n=!0,!r&&e.indent>=i&&(i+=e.indent,a+=e.indent)),e.indent>=i&&e.indent<=a&&t.push(e),e.children.length>0&&e.children.forEach((e=>{this.spiderChildren(e,t,i,a,s,n,r)}))):e.children.length>0&&e.children.forEach((e=>{this.spiderChildren(e,t,a,s,n,r)}))}getInternalRoute(){return!!(this.currentRouterLocation&&this.currentRouterLocation.params&&this.currentRouterLocation.params[0])&&this.currentRouterLocation.params[0].replace("x/","")}computeItems(e,t,i,a,s,n){if(s){let r,o=[],l=[];switch(s.items.forEach((e=>{e.parent||o.push(e)})),a){case"parent":r=s.items.find((e=>i===e.id)),r&&(i=r.parent);break;case"ancestor":for(r=s.items.find((e=>i===e.id));r&&null!=r.parent;)r=s.items.find((e=>e.id==r.parent));r&&(i=r.id)}return s.items.forEach(((a,s)=>{store.spiderChildren(a,l,e,t,i,!1,n)})),l}}};globalThis.HAXCMS=globalThis.HAXCMS||{},globalThis.HAXCMS.setTheme=function(e){globalThis.HAXCMS.instance.store.manifest.metadata.theme.element=e},globalThis.HAXCMS.requestAvailability=()=>(globalThis.HAXCMS.instance||(globalThis.HAXCMS.instance=globalThis.document.createElement("haxcms-site-store"),globalThis.document.body.appendChild(globalThis.HAXCMS.instance)),globalThis.HAXCMS.instance);export const HAXcmsStore=globalThis.HAXCMS.requestAvailability();class HAXCMSSiteStore extends HTMLElement{constructor(){super(),this.storePieces={},this.store=store,this.source="",globalThis.addEventListener("playaudio",this.playSoundEvent.bind(this)),a((()=>{if(store.location&&store.location.route&&store.location.route.component){const e=store.location.route.name;if(store.manifest.items.find((t=>t.id===e)))store.activeId=e;else if(store.getInternalRoute())store.activeId="404";else{const e=store.manifest.items.find((e=>void 0!==e.id));e&&(store.activeId=e.id)}}})),a((()=>{const e=s(store.findItem(store.activeId));e&&(globalThis.document.body.dispatchEvent(new CustomEvent("json-outline-schema-active-item-changed",{bubbles:!0,composed:!0,cancelable:!1,detail:e})),globalThis.document.title=store.activeTitle)})),a((()=>{if(store.appReady){const e=globalThis.document.querySelector('link[rel="icon"]');e&&(this.faviconSiteDefault=e.href,this.faviconInstance=e)}})),a((()=>{const e=h.readMemory("versionLatest");store.version&&e!=store.version&&(null==e&&h.writeMemory("versionInitial",store.version,"long"),h.writeMemory("versionLatest",store.version,"long"))})),a((()=>{const e=s(store.editMode);globalThis.HaxStore&&globalThis.HaxStore.requestAvailability()&&globalThis.HaxStore.requestAvailability().write&&(globalThis.dispatchEvent(new CustomEvent("haxcms-edit-mode-changed",{bubbles:!0,composed:!0,cancelable:!1,detail:e})),globalThis.HaxStore.requestAvailability().editMode=e,globalThis.HaxStore.requestAvailability().toastShowEventName="haxcms-toast-show")}))}playSoundEvent(e){this.store.playSound(e.detail.sound)}connectedCallback(){globalThis.document.body.appendChild(this.store.themeStyleElement)}disconnectedCallback(){this.store.themeStyleElement.remove(),this.store.themeStyleElement=globalThis.document.createElement("style")}resetFavicon(){this.setFavicon()}setFavicon(e=null,t=!0){e?t&&(e=d.getIcon(e)):e=this.faviconSiteDefault,this.faviconInstance&&this.faviconInstance.setAttribute("href",e)}resetCursor(){this.setCursor()}setCursor(e=null,t=!0){e?(t&&(e=d.getIcon(e)),globalThis.document.body.style.cursor=`url("${e}") 16 16, pointer`):globalThis.document.body.style.removeProperty("cursor")}getApplicationContext(){let e="";if("undefined"!=typeof DatArchive)e="beaker";else switch(globalThis.HAXCMSContext){case"published":case"nodejs":case"php":case"11ty":case"demo":case"desktop":case"local":case"userfs":e=globalThis.HAXCMSContext;break;default:e="php"}return e}static get tag(){return"haxcms-site-store"}static get observedAttributes(){return["source"]}set source(e){this[name]=e,e&&this.setAttribute("source",e)}get source(){return this.getAttribute("source")}attributeChangedCallback(e,t,i){"source"==e&&""!=i&&fetch(this[e]).then((e=>e.json())).then((e=>{this.store.loadManifest(e)})).catch((e=>{console.warn(e)}))}}globalThis.customElements.define(HAXCMSSiteStore.tag,HAXCMSSiteStore);export{HAXCMSSiteStore}; \ No newline at end of file
src/public/build/es6/node_modules/@haxtheweb/iframe-loader/iframe-loader.js+1 −1 modified@@ -26,7 +26,7 @@ import{LitElement as e,html as t,css as i}from"../../lit/index.js";import"./lib/ .loaded #loading-screen { display: none; } - `}constructor(){super(),this.invalidSource=!1,this.disabled=!1,this.loading=!0,this.height=500,this.width="100%",this.__iframe=null,this.querySelector("iframe")?(this.__iframe=this.querySelector("iframe"),this.__iframe.addEventListener("load",this.iframeLoadingCallback.bind(this)),this.__iframe.getAttribute("src")&&(this.source=this.__iframe.getAttribute("src"),this.height=this.__iframe.getAttribute("height")||this.height,this.width=this.__iframe.getAttribute("width")||this.width)):this.source=null,this.__mutationObserver=new MutationObserver((e=>{e.forEach((e=>{e.target.offsetHeight&&this.loading&&(this.height=e.target.offsetHeight)}))})),this.__observer=new MutationObserver((e=>{this.querySelector("iframe")&&(this.__iframe=this.querySelector("iframe"),this.source=this.__iframe.getAttribute("src"),this.__iframe.addEventListener("load",this.iframeLoadingCallback.bind(this)),this.__mutationObserver.observe(this.__iframe,{attributes:!0}))})),this.__observer.observe(this,{childList:!0}),this.querySelector("iframe-loader")&&this.querySelector("iframe-loader").remove()}iframeLoadingCallback(e){setTimeout((()=>{this.loading=!1,e&&e.path&&e.path[0]&&e.path[0].height&&(this.height=e.path[0].height)}),500)}haxHooks(){return{preProcessNodeToContent:"haxpreProcessNodeToContent",editModeChanged:"haxeditModeChanged",activeElementChanged:"haxactiveElementChanged"}}async haxpreProcessNodeToContent(e){return e.disabled=!1,e}haxactiveElementChanged(e,t){return this.disabled=!0,e.disabled=!0,e}haxeditModeChanged(e){this.disabled=e}static get haxProperties(){return new URL(`./lib/${this.tag}.haxProperties.json`,import.meta.url).href}firstUpdated(e){super.firstUpdated&&super.firstUpdated(e),this.querySelector("iframe")||(this.__iframe=globalThis.document.createElement("iframe"),this.__iframe.setAttribute("width",this.width),this.__iframe.setAttribute("height",this.height),this.__mutationObserver.observe(this.__iframe,{attributes:!0}),this.__iframe.setAttribute("src",this.source),this.appendChild(this.__iframe))}disconnectedCallback(){super.disconnectedCallback(),this.__iframe&&this.__iframe.removeEventListener("load",this.iframeLoadingCallback.bind(this)),this.__observer.disconnect()}updated(e){super.updated&&super.updated(e),e.forEach(((e,t)=>{this.invalidSource||("source"===t?this.__iframe?this.__iframe.setAttribute("src",this.source):(this.__iframe=globalThis.document.createElement("iframe"),this.__iframe.setAttribute("width",this.width),this.__iframe.setAttribute("height",this.height),this.__mutationObserver.observe(this.__iframe,{attributes:!0}),this.__iframe.setAttribute("src",this.source),this.appendChild(this.__iframe)):["height","width"].includes(t)&&this.__iframe&&this.__iframe.setAttribute(t,this[t]))}))}render(){return t` + `}constructor(){super(),this.invalidSource=!1,this.disabled=!1,this.loading=!0,this.height=500,this.width="100%",this.__iframe=null,this.querySelector("iframe")?(this.__iframe=this.querySelector("iframe"),this.__iframe.addEventListener("load",this.iframeLoadingCallback.bind(this)),this.__iframe.getAttribute("src")&&(this.source=this.__iframe.getAttribute("src"),this.height=this.__iframe.getAttribute("height")||this.height,this.width=this.__iframe.getAttribute("width")||this.width)):this.source=null,this.__mutationObserver=new MutationObserver((e=>{e.forEach((e=>{e.target.offsetHeight&&this.loading&&(this.height=e.target.offsetHeight)}))})),this.__observer=new MutationObserver((e=>{this.querySelector("iframe")&&(this.__iframe=this.querySelector("iframe"),this.source=this.__iframe.getAttribute("src"),this.__iframe.addEventListener("load",this.iframeLoadingCallback.bind(this)),this.__mutationObserver.observe(this.__iframe,{attributes:!0}))})),this.__observer.observe(this,{childList:!0}),this.querySelector("iframe-loader")&&this.querySelector("iframe-loader").remove()}iframeLoadingCallback(e){setTimeout((()=>{this.loading=!1,e&&e.path&&e.path[0]&&e.path[0].height&&(this.height=e.path[0].height)}),500)}haxHooks(){return{preProcessNodeToContent:"haxpreProcessNodeToContent",editModeChanged:"haxeditModeChanged",activeElementChanged:"haxactiveElementChanged"}}async haxpreProcessNodeToContent(e){return e.disabled=!1,e}haxactiveElementChanged(e,t){return this.source!==e.src&&(this.source=e.src),this.disabled=!0,e.disabled=!0,e}haxeditModeChanged(e){this.disabled=e}static get haxProperties(){return new URL(`./lib/${this.tag}.haxProperties.json`,import.meta.url).href}firstUpdated(e){super.firstUpdated&&super.firstUpdated(e),this.querySelector("iframe")||(this.__iframe=globalThis.document.createElement("iframe"),this.__iframe.setAttribute("width",this.width),this.__iframe.setAttribute("height",this.height),this.__mutationObserver.observe(this.__iframe,{attributes:!0}),this.__iframe.setAttribute("src",this.source),this.__iframe.setAttribute("sandbox","allow-scripts allow-same-origin"),this.appendChild(this.__iframe))}disconnectedCallback(){super.disconnectedCallback(),this.__iframe&&this.__iframe.removeEventListener("load",this.iframeLoadingCallback.bind(this)),this.__observer.disconnect()}updated(e){super.updated&&super.updated(e),e.forEach(((e,t)=>{this.invalidSource||("source"===t?this.__iframe?this.__iframe.setAttribute("src",this.source):(this.__iframe=globalThis.document.createElement("iframe"),this.__iframe.setAttribute("width",this.width),this.__iframe.setAttribute("height",this.height),this.__mutationObserver.observe(this.__iframe,{attributes:!0}),this.__iframe.setAttribute("src",this.source),this.appendChild(this.__iframe)):["height","width"].includes(t)&&this.__iframe&&this.__iframe.setAttribute(t,this[t]))}))}render(){return t` <div id="container" class="${this.loading?"loading":"loaded"}"> <div id="loading-screen" style="height:${this.height}px;"> <loading-indicator ?loading="${this.loading}"></loading-indicator>
src/public/build/es6/node_modules/@haxtheweb/iframe-loader/lib/iframe-loader.haxProperties.json+3 −3 modified@@ -70,10 +70,10 @@ }, "demoSchema": [ { - "tag": "iframe-loader", + "tag": "iframe", "properties": { - "source": "https://haxtheweb.org", - "disabled": true + "src": "https://haxtheweb.org", + "sandbox": "allow-scripts allow-same-origin" }, "content": "" }
src/public/build/es6/node_modules/@haxtheweb/la-tex/lib/latex2html5.js+1 −1 modifiedsrc/public/build/es6/node_modules/@haxtheweb/media-image/media-image.js+4 −2 modified@@ -11,6 +11,7 @@ import{LitElement as e,html as t,css as i}from"../../lit/index.js";import{Schema font-family: var(--ddd-font-secondary); font-weight: var(--ddd-font-secondary-light); font-size: var(--ddd-font-size-4xs); + color: light-dark(var(--media-image-color, black), var(---media-image-color, white)); } :host([card]) { @@ -26,8 +27,9 @@ import{LitElement as e,html as t,css as i}from"../../lit/index.js";import{Schema :host([box]) { padding: var(--ddd-spacing-5); - background-color: var(--ddd-theme-accent, var(--ddd-accent-2)); - } + background-color: light-dark(var(--ddd-theme-accent, var(--ddd-accent-2)), var(--ddd-theme-accent, var(--ddd-primary-4))); + } + @media screen and (min-width: 650px) { :host([size="small"]) { max-width: 35%;
src/public/wc-registry.json+1 −1 modified@@ -1 +1 @@ -{"focus-trap":"@a11y/focus-trap/focus-trap.js","local-time":"@github/time-elements/dist/local-time-element.js","relative-time":"@github/time-elements/dist/relative-time-element.js","time-ago":"@github/time-elements/dist/time-ago-element.js","time-until":"@github/time-elements/dist/time-until-element.js","model-viewer":"@google/model-viewer/dist/model-viewer.js","a11y-carousel":"@haxtheweb/a11y-carousel/a11y-carousel.js","a11y-carousel-button":"@haxtheweb/a11y-carousel/lib/a11y-carousel-button.js","a11y-collapse":"@haxtheweb/a11y-collapse/a11y-collapse.js","a11y-collapse-group":"@haxtheweb/a11y-collapse/lib/a11y-collapse-group.js","a11y-compare-image":"@haxtheweb/a11y-compare-image/a11y-compare-image.js","a11y-details":"@haxtheweb/a11y-details/a11y-details.js","a11y-figure":"@haxtheweb/a11y-figure/a11y-figure.js","a11y-gif-player":"@haxtheweb/a11y-gif-player/a11y-gif-player.js","a11y-media-player":"@haxtheweb/a11y-media-player/a11y-media-player.js","a11y-media-button":"@haxtheweb/a11y-media-player/lib/a11y-media-button.js","a11y-media-play-button":"@haxtheweb/a11y-media-player/lib/a11y-media-play-button.js","a11y-media-state-manager":"@haxtheweb/a11y-media-player/lib/a11y-media-state-manager.js","a11y-media-transcript-cue":"@haxtheweb/a11y-media-player/lib/a11y-media-transcript-cue.js","a11y-media-youtube":"@haxtheweb/a11y-media-player/lib/a11y-media-youtube.js","a11y-menu-button":"@haxtheweb/a11y-menu-button/a11y-menu-button.js","a11y-menu-button-item":"@haxtheweb/a11y-menu-button/lib/a11y-menu-button-item.js","a11y-tabs":"@haxtheweb/a11y-tabs/a11y-tabs.js","a11y-tab":"@haxtheweb/a11y-tabs/lib/a11y-tab.js","absolute-position-behavior":"@haxtheweb/absolute-position-behavior/absolute-position-behavior.js","absolute-position-state-manager":"@haxtheweb/absolute-position-behavior/lib/absolute-position-state-manager.js","accent-card":"@haxtheweb/accent-card/accent-card.js","aframe-player":"@haxtheweb/aframe-player/aframe-player.js","air-horn":"@haxtheweb/air-horn/air-horn.js","app-hax":"@haxtheweb/app-hax/app-hax.js","app-hax-theme":"@haxtheweb/app-hax/lib/app-hax-theme.js","random-word":"@haxtheweb/app-hax/lib/random-word/random-word.js","rpg-character-toast":"@haxtheweb/app-hax/lib/rpg-character-toast/rpg-character-toast.js","app-hax-button":"@haxtheweb/app-hax/lib/v1/app-hax-button.js","app-hax-hat-progress":"@haxtheweb/app-hax/lib/v1/app-hax-hat-progress.js","app-hax-label":"@haxtheweb/app-hax/lib/v1/app-hax-label.js","app-hax-search-bar":"@haxtheweb/app-hax/lib/v1/app-hax-search-bar.js","app-hax-search-results":"@haxtheweb/app-hax/lib/v1/app-hax-search-results.js","app-hax-site-bar":"@haxtheweb/app-hax/lib/v1/app-hax-site-bar.js","app-hax-site-button":"@haxtheweb/app-hax/lib/v1/app-hax-site-button.js","app-hax-site-details":"@haxtheweb/app-hax/lib/v1/app-hax-site-details.js","app-hax-site-login":"@haxtheweb/app-hax/lib/v1/app-hax-site-login.js","app-hax-steps":"@haxtheweb/app-hax/lib/v1/app-hax-steps.js","app-hax-toast":"@haxtheweb/app-hax/lib/v1/app-hax-toast.js","app-hax-top-bar":"@haxtheweb/app-hax/lib/v1/app-hax-top-bar.js","app-hax-user-menu-button":"@haxtheweb/app-hax/lib/v1/app-hax-user-menu-button.js","app-hax-user-menu":"@haxtheweb/app-hax/lib/v1/app-hax-user-menu.js","app-hax-wired-toggle":"@haxtheweb/app-hax/lib/v1/app-hax-wired-toggle.js","app-hax-backend-api":"@haxtheweb/app-hax/lib/v1/AppHaxBackendAPI.js","app-hax-router":"@haxtheweb/app-hax/lib/v1/AppHaxRouter.js","wired-darkmode-toggle":"@haxtheweb/app-hax/lib/wired-darkmode-toggle/wired-darkmode-toggle.js","audio-player":"@haxtheweb/audio-player/audio-player.js","awesome-explosion":"@haxtheweb/awesome-explosion/awesome-explosion.js","b-r":"@haxtheweb/b-r/b-r.js","barcode-reader":"@haxtheweb/barcode-reader/barcode-reader.js","beaker-broker":"@haxtheweb/beaker-broker/beaker-broker.js","bootstrap-theme":"@haxtheweb/bootstrap-theme/bootstrap-theme.js","bootstrap-breadcrumb":"@haxtheweb/bootstrap-theme/lib/BootstrapBreadcrumb.js","bootstrap-footer":"@haxtheweb/bootstrap-theme/lib/BootstrapFooter.js","bootstrap-search":"@haxtheweb/bootstrap-theme/lib/BootstrapSearch.js","chartist-render":"@haxtheweb/chartist-render/chartist-render.js","chat-agent":"@haxtheweb/chat-agent/chat-agent.js","chat-button":"@haxtheweb/chat-agent/lib/chat-button.js","chat-control-bar":"@haxtheweb/chat-agent/lib/chat-control-bar.js","chat-developer-panel":"@haxtheweb/chat-agent/lib/chat-developer-panel.js","chat-input":"@haxtheweb/chat-agent/lib/chat-input.js","chat-interface":"@haxtheweb/chat-agent/lib/chat-interface.js","chat-message":"@haxtheweb/chat-agent/lib/chat-message.js","chat-suggestion":"@haxtheweb/chat-agent/lib/chat-suggestion.js","check-it-out":"@haxtheweb/check-it-out/check-it-out.js","citation-element":"@haxtheweb/citation-element/citation-element.js","clean-one":"@haxtheweb/clean-one/clean-one.js","clean-one-search-box":"@haxtheweb/clean-one/lib/clean-one-search-box.js","clean-portfolio-theme":"@haxtheweb/clean-portfolio-theme/clean-portfolio-theme.js","clean-two":"@haxtheweb/clean-two/clean-two.js","cms-hax":"@haxtheweb/cms-hax/cms-hax.js","cms-block":"@haxtheweb/cms-hax/lib/cms-block.js","cms-entity":"@haxtheweb/cms-hax/lib/cms-entity.js","cms-token":"@haxtheweb/cms-hax/lib/cms-token.js","cms-views":"@haxtheweb/cms-hax/lib/cms-views.js","code-editor":"@haxtheweb/code-editor/code-editor.js","code-pen-button":"@haxtheweb/code-editor/lib/code-pen-button.js","monaco-element":"@haxtheweb/code-editor/lib/monaco-element/monaco-element.js","code-sample":"@haxtheweb/code-sample/code-sample.js","collection-list":"@haxtheweb/collection-list/collection-list.js","collection-item":"@haxtheweb/collection-list/lib/collection-item.js","collection-row":"@haxtheweb/collection-list/lib/collection-row.js","collections-theme-banner":"@haxtheweb/collection-list/lib/collections-theme-banner.js","collections-theme":"@haxtheweb/collection-list/lib/collections-theme.js","count-up":"@haxtheweb/count-up/count-up.js","course-design":"@haxtheweb/course-design/course-design.js","activity-box":"@haxtheweb/course-design/lib/activity-box.js","block-quote":"@haxtheweb/course-design/lib/block-quote.js","course-intro-header":"@haxtheweb/course-design/lib/course-intro-header.js","course-intro-lesson-plan":"@haxtheweb/course-design/lib/course-intro-lesson-plan.js","course-intro-lesson-plans":"@haxtheweb/course-design/lib/course-intro-lesson-plans.js","course-intro":"@haxtheweb/course-design/lib/course-intro.js","ebook-button":"@haxtheweb/course-design/lib/ebook-button.js","learning-component":"@haxtheweb/course-design/lib/learning-component.js","lrn-h5p":"@haxtheweb/course-design/lib/lrn-h5p.js","responsive-iframe":"@haxtheweb/course-design/lib/responsive-iframe.js","worksheet-download":"@haxtheweb/course-design/lib/worksheet-download.js","course-model":"@haxtheweb/course-model/course-model.js","model-info":"@haxtheweb/course-model/lib/model-info.js","model-option":"@haxtheweb/course-model/lib/model-option.js","csv-render":"@haxtheweb/csv-render/csv-render.js","d-d-d":"@haxtheweb/d-d-d/d-d-d.js","ddd-brochure-theme":"@haxtheweb/d-d-d/lib/ddd-brochure-theme.js","ddd-card":"@haxtheweb/d-d-d/lib/ddd-card.js","ddd-steps-list-item":"@haxtheweb/d-d-d/lib/ddd-steps-list-item.js","ddd-steps-list":"@haxtheweb/d-d-d/lib/ddd-steps-list.js","design-system":"@haxtheweb/d-d-d/lib/DesignSystemManager.js","mini-map":"@haxtheweb/d-d-d/lib/mini-map.js","d-d-docs":"@haxtheweb/d-d-docs/d-d-docs.js","data-viz":"@haxtheweb/data-viz/data-viz.js","date-card":"@haxtheweb/date-card/date-card.js","date-chip":"@haxtheweb/date-card/lib/date-chip.js","discord-embed":"@haxtheweb/discord-embed/discord-embed.js","disqus-embed":"@haxtheweb/disqus-embed/disqus-embed.js","haxcms-site-disqus":"@haxtheweb/disqus-embed/lib/haxcms-site-disqus.js","documentation-player":"@haxtheweb/documentation-player/documentation-player.js","dynamic-import-registry":"@haxtheweb/dynamic-import-registry/dynamic-import-registry.js","editable-outline":"@haxtheweb/editable-outline/editable-outline.js","editable-table":"@haxtheweb/editable-table/editable-table.js","editable-table-display":"@haxtheweb/editable-table/lib/editable-table-display.js","editable-table-edit":"@haxtheweb/editable-table/lib/editable-table-edit.js","editable-table-editor-rowcol":"@haxtheweb/editable-table/lib/editable-table-editor-rowcol.js","editable-table-filter":"@haxtheweb/editable-table/lib/editable-table-filter.js","editable-table-sort":"@haxtheweb/editable-table/lib/editable-table-sort.js","elmsln-loading":"@haxtheweb/elmsln-loading/elmsln-loading.js","enhanced-text":"@haxtheweb/enhanced-text/enhanced-text.js","event-badge":"@haxtheweb/event-badge/event-badge.js","example-hax-element":"@haxtheweb/example-hax-element/example-hax-element.js","example-haxcms-theme":"@haxtheweb/example-haxcms-theme/example-haxcms-theme.js","figure-label":"@haxtheweb/figure-label/figure-label.js","file-system-broker":"@haxtheweb/file-system-broker/file-system-broker.js","docx-file-system-broker":"@haxtheweb/file-system-broker/lib/docx-file-system-broker.js","xlsx-file-system-broker":"@haxtheweb/file-system-broker/lib/xlsx-file-system-broker.js","fill-in-the-blanks":"@haxtheweb/fill-in-the-blanks/fill-in-the-blanks.js","flash-card":"@haxtheweb/flash-card/flash-card.js","flash-card-answer-box":"@haxtheweb/flash-card/lib/flash-card-answer-box.js","flash-card-image-prompt":"@haxtheweb/flash-card/lib/flash-card-prompt-img.js","flash-card-set":"@haxtheweb/flash-card/lib/flash-card-set.js","fluid-type":"@haxtheweb/fluid-type/fluid-type.js","full-width-image":"@haxtheweb/full-width-image/full-width-image.js","fullscreen-behaviors":"@haxtheweb/fullscreen-behaviors/fullscreen-behaviors.js","future-terminal-text":"@haxtheweb/future-terminal-text/future-terminal-text.js","future-terminal-text-lite":"@haxtheweb/future-terminal-text/lib/future-terminal-text-lite.js","git-corner":"@haxtheweb/git-corner/git-corner.js","github-preview":"@haxtheweb/github-preview/github-preview.js","github-rpg-contributors":"@haxtheweb/github-preview/lib/github-rpg-contributors.js","wc-markdown":"@haxtheweb/github-preview/lib/wc-markdown.js","glossy-portfolio-theme":"@haxtheweb/glossy-portfolio-theme/glossy-portfolio-theme.js","glossy-portfolio-about":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-about.js","glossy-portfolio-card":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-card.js","glossy-portfolio-grid":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-grid.js","glossy-portfolio-header":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-header.js","glossy-portfolio-home":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-home.js","glossy-portfolio-page":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-page.js","grade-book":"@haxtheweb/grade-book/grade-book.js","grade-book-lite":"@haxtheweb/grade-book/lib/grade-book-lite.js","grade-book-pop-up":"@haxtheweb/grade-book/lib/grade-book-pop-up.js","grade-book-store":"@haxtheweb/grade-book/lib/grade-book-store.js","grade-book-student-block":"@haxtheweb/grade-book/lib/grade-book-student-block.js","grade-book-table":"@haxtheweb/grade-book/lib/grade-book-table.js","letter-grade-picker":"@haxtheweb/grade-book/lib/letter-grade-picker.js","letter-grade":"@haxtheweb/grade-book/lib/letter-grade.js","grid-plate":"@haxtheweb/grid-plate/grid-plate.js","h-a-x":"@haxtheweb/h-a-x/h-a-x.js","h5p-element":"@haxtheweb/h5p-element/h5p-element.js","h5p-wrapped-element":"@haxtheweb/h5p-element/lib/h5p-wrapped-element.js","hal-9000":"@haxtheweb/hal-9000/hal-9000.js","hal-9000-ui":"@haxtheweb/hal-9000/lib/hal-9000-ui/hal-9000-ui.js","hax-body":"@haxtheweb/hax-body/hax-body.js","hax-app-picker":"@haxtheweb/hax-body/lib/hax-app-picker.js","hax-app-search":"@haxtheweb/hax-body/lib/hax-app-search.js","hax-app":"@haxtheweb/hax-body/lib/hax-app.js","hax-autoloader":"@haxtheweb/hax-body/lib/hax-autoloader.js","hax-cancel-dialog":"@haxtheweb/hax-body/lib/hax-cancel-dialog.js","hax-context-item-textop":"@haxtheweb/hax-body/lib/hax-context-item-textop.js","hax-context-item":"@haxtheweb/hax-body/lib/hax-context-item.js","hax-element-demo":"@haxtheweb/hax-body/lib/hax-element-demo.js","hax-export-dialog":"@haxtheweb/hax-body/lib/hax-export-dialog.js","hax-gizmo-browser":"@haxtheweb/hax-body/lib/hax-gizmo-browser.js","hax-map":"@haxtheweb/hax-body/lib/hax-map.js","hax-picker":"@haxtheweb/hax-body/lib/hax-picker.js","hax-plate-context":"@haxtheweb/hax-body/lib/hax-plate-context.js","hax-preferences-dialog":"@haxtheweb/hax-body/lib/hax-preferences-dialog.js","hax-stax-browser":"@haxtheweb/hax-body/lib/hax-stax-browser.js","hax-store":"@haxtheweb/hax-body/lib/hax-store.js","hax-text-editor-button":"@haxtheweb/hax-body/lib/hax-text-editor-button.js","hax-text-editor-paste-button":"@haxtheweb/hax-body/lib/hax-text-editor-paste-button.js","hax-text-editor-toolbar":"@haxtheweb/hax-body/lib/hax-text-editor-toolbar.js","hax-text-editor":"@haxtheweb/hax-body/lib/hax-text-editor.js","hax-toolbar-item":"@haxtheweb/hax-body/lib/hax-toolbar-item.js","hax-toolbar-menu":"@haxtheweb/hax-body/lib/hax-toolbar-menu.js","hax-toolbar":"@haxtheweb/hax-body/lib/hax-toolbar.js","hax-tray-button":"@haxtheweb/hax-body/lib/hax-tray-button.js","hax-tray-upload":"@haxtheweb/hax-body/lib/hax-tray-upload.js","hax-tray":"@haxtheweb/hax-body/lib/hax-tray.js","hax-ui-styles":"@haxtheweb/hax-body/lib/hax-ui-styles.js","hax-upload-field":"@haxtheweb/hax-body/lib/hax-upload-field.js","hax-view-source":"@haxtheweb/hax-body/lib/hax-view-source.js","hax-cloud":"@haxtheweb/hax-cloud/hax-cloud.js","hax-logo":"@haxtheweb/hax-logo/hax-logo.js","haxcms-backend-beaker":"@haxtheweb/haxcms-elements/lib/core/backends/haxcms-backend-beaker.js","haxcms-backend-demo":"@haxtheweb/haxcms-elements/lib/core/backends/haxcms-backend-demo.js","haxcms-backend-nodejs":"@haxtheweb/haxcms-elements/lib/core/backends/haxcms-backend-nodejs.js","haxcms-backend-php":"@haxtheweb/haxcms-elements/lib/core/backends/haxcms-backend-php.js","haxcms-backend-userfs":"@haxtheweb/haxcms-elements/lib/core/backends/haxcms-backend-userfs.js","haxcms-darkmode-toggle":"@haxtheweb/haxcms-elements/lib/core/haxcms-darkmode-toggle.js","haxcms-editor-builder":"@haxtheweb/haxcms-elements/lib/core/haxcms-editor-builder.js","haxcms-outline-editor-dialog":"@haxtheweb/haxcms-elements/lib/core/haxcms-outline-editor-dialog.js","haxcms-share-dialog":"@haxtheweb/haxcms-elements/lib/core/haxcms-share-dialog.js","haxcms-site-builder":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-builder.js","haxcms-site-dashboard":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-dashboard.js","haxcms-site-editor-ui":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-editor-ui.js","haxcms-site-editor":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-editor.js","haxcms-site-insights":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-insights.js","haxcms-site-router":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-router.js","haxcms-site-store":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-store.js","haxcms-toast":"@haxtheweb/haxcms-elements/lib/core/haxcms-toast.js","haxcms-button-add":"@haxtheweb/haxcms-elements/lib/core/micros/haxcms-button-add.js","haxcms-basic-theme":"@haxtheweb/haxcms-elements/lib/core/themes/haxcms-basic-theme.js","haxcms-blank-theme":"@haxtheweb/haxcms-elements/lib/core/themes/haxcms-blank-theme.js","haxcms-minimalist-theme":"@haxtheweb/haxcms-elements/lib/core/themes/haxcms-minimalist-theme.js","haxcms-print-theme":"@haxtheweb/haxcms-elements/lib/core/themes/haxcms-print-theme.js","haxcms-slide-theme":"@haxtheweb/haxcms-elements/lib/core/themes/haxcms-slide-theme.js","haxcms-page-get-started":"@haxtheweb/haxcms-elements/lib/core/ui/haxcms-page-get-started.js","haxcms-dev-theme":"@haxtheweb/haxcms-elements/lib/development/haxcms-dev-theme.js","haxcms-theme-developer":"@haxtheweb/haxcms-elements/lib/development/haxcms-theme-developer.js","site-active-fields":"@haxtheweb/haxcms-elements/lib/ui-components/active-item/site-active-fields.js","site-active-media-banner":"@haxtheweb/haxcms-elements/lib/ui-components/active-item/site-active-media-banner.js","site-active-tags":"@haxtheweb/haxcms-elements/lib/ui-components/active-item/site-active-tags.js","site-active-title":"@haxtheweb/haxcms-elements/lib/ui-components/active-item/site-active-title.js","site-git-corner":"@haxtheweb/haxcms-elements/lib/ui-components/active-item/site-git-corner.js","site-share-widget":"@haxtheweb/haxcms-elements/lib/ui-components/active-item/site-share-widget.js","site-children-block":"@haxtheweb/haxcms-elements/lib/ui-components/blocks/site-children-block.js","site-outline-block":"@haxtheweb/haxcms-elements/lib/ui-components/blocks/site-outline-block.js","site-recent-content-block":"@haxtheweb/haxcms-elements/lib/ui-components/blocks/site-recent-content-block.js","site-drawer":"@haxtheweb/haxcms-elements/lib/ui-components/layout/site-drawer.js","site-footer":"@haxtheweb/haxcms-elements/lib/ui-components/layout/site-footer.js","site-modal":"@haxtheweb/haxcms-elements/lib/ui-components/layout/site-modal.js","site-region":"@haxtheweb/haxcms-elements/lib/ui-components/layout/site-region.js","active-when-visible":"@haxtheweb/haxcms-elements/lib/ui-components/magic/active-when-visible.js","site-ai-chat":"@haxtheweb/haxcms-elements/lib/ui-components/magic/site-ai-chat.js","site-collection-list":"@haxtheweb/haxcms-elements/lib/ui-components/magic/site-collection-list.js","site-view":"@haxtheweb/haxcms-elements/lib/ui-components/magic/site-view.js","site-breadcrumb":"@haxtheweb/haxcms-elements/lib/ui-components/navigation/site-breadcrumb.js","site-dot-indicator":"@haxtheweb/haxcms-elements/lib/ui-components/navigation/site-dot-indicator.js","site-menu-button":"@haxtheweb/haxcms-elements/lib/ui-components/navigation/site-menu-button.js","site-menu-content":"@haxtheweb/haxcms-elements/lib/ui-components/navigation/site-menu-content.js","site-menu":"@haxtheweb/haxcms-elements/lib/ui-components/navigation/site-menu.js","site-top-menu":"@haxtheweb/haxcms-elements/lib/ui-components/navigation/site-top-menu.js","site-query-menu-slice":"@haxtheweb/haxcms-elements/lib/ui-components/query/site-query-menu-slice.js","site-query":"@haxtheweb/haxcms-elements/lib/ui-components/query/site-query.js","site-render-query":"@haxtheweb/haxcms-elements/lib/ui-components/query/site-render-query.js","site-tags-route":"@haxtheweb/haxcms-elements/lib/ui-components/routes/site-tags-route.js","site-views-route":"@haxtheweb/haxcms-elements/lib/ui-components/routes/site-views-route.js","site-print-button":"@haxtheweb/haxcms-elements/lib/ui-components/site/site-print-button.js","site-remote-content":"@haxtheweb/haxcms-elements/lib/ui-components/site/site-remote-content.js","site-rss-button":"@haxtheweb/haxcms-elements/lib/ui-components/site/site-rss-button.js","site-search":"@haxtheweb/haxcms-elements/lib/ui-components/site/site-search.js","site-title":"@haxtheweb/haxcms-elements/lib/ui-components/site/site-title.js","site-uuid-link":"@haxtheweb/haxcms-elements/lib/ui-components/site/site-uuid-link.js","basic-template":"@haxtheweb/haxcms-elements/lib/ui-components/templates/basic-template.js","minimalist-template":"@haxtheweb/haxcms-elements/lib/ui-components/templates/minimalist-template.js","haxor-slevin":"@haxtheweb/haxor-slevin/haxor-slevin.js","hex-picker":"@haxtheweb/hex-picker/hex-picker.js","hexagon-loader":"@haxtheweb/hexagon-loader/hexagon-loader.js","hex-a-gon":"@haxtheweb/hexagon-loader/lib/hex-a-gon.js","html-block":"@haxtheweb/html-block/html-block.js","i18n-manager":"@haxtheweb/i18n-manager/i18n-manager.js","iframe-loader":"@haxtheweb/iframe-loader/iframe-loader.js","loading-indicator":"@haxtheweb/iframe-loader/lib/loading-indicator.js","image-compare-slider":"@haxtheweb/image-compare-slider/image-compare-slider.js","image-inspector":"@haxtheweb/image-inspector/image-inspector.js","img-pan-zoom":"@haxtheweb/img-pan-zoom/img-pan-zoom.js","img-loader":"@haxtheweb/img-pan-zoom/lib/img-loader.js","img-view-modal":"@haxtheweb/img-view-modal/img-view-modal.js","img-view-viewer":"@haxtheweb/img-view-modal/lib/img-view-viewer.js","inline-audio":"@haxtheweb/inline-audio/inline-audio.js","journey-theme":"@haxtheweb/journey-theme/journey-theme.js","journey-sidebar-theme":"@haxtheweb/journey-theme/lib/journey-sidebar-theme.js","journey-topbar-theme":"@haxtheweb/journey-theme/lib/journey-topbar-theme.js","json-editor":"@haxtheweb/json-editor/json-editor.js","json-outline-schema":"@haxtheweb/json-outline-schema/json-outline-schema.js","jos-render":"@haxtheweb/json-outline-schema/lib/jos-render.js","jwt-login":"@haxtheweb/jwt-login/jwt-login.js","la-tex":"@haxtheweb/la-tex/la-tex.js","lazy-image":"@haxtheweb/lazy-image-helpers/lazy-image-helpers.js","lazy-import-discover":"@haxtheweb/lazy-import-discover/lazy-import-discover.js","learn-two-theme":"@haxtheweb/learn-two-theme/learn-two-theme.js","lesson-overview":"@haxtheweb/lesson-overview/lesson-overview.js","lesson-highlight":"@haxtheweb/lesson-overview/lib/lesson-highlight.js","license-element":"@haxtheweb/license-element/license-element.js","lorem-data":"@haxtheweb/lorem-data/lorem-data.js","lrn-gitgraph":"@haxtheweb/lrn-gitgraph/lrn-gitgraph.js","lrn-math":"@haxtheweb/lrn-math/lrn-math.js","lrn-table":"@haxtheweb/lrn-table/lrn-table.js","lrn-vocab":"@haxtheweb/lrn-vocab/lrn-vocab.js","lrndesign-avatar":"@haxtheweb/lrndesign-avatar/lrndesign-avatar.js","lrndesign-bar":"@haxtheweb/lrndesign-chart/lib/lrndesign-bar.js","lrndesign-line":"@haxtheweb/lrndesign-chart/lib/lrndesign-line.js","lrndesign-pie":"@haxtheweb/lrndesign-chart/lib/lrndesign-pie.js","lrndesign-imagemap-hotspot":"@haxtheweb/lrndesign-imagemap/lib/lrndesign-imagemap-hotspot.js","lrndesign-imagemap":"@haxtheweb/lrndesign-imagemap/lrndesign-imagemap.js","lrndesign-sidenote":"@haxtheweb/lrndesign-sidenote/lrndesign-sidenote.js","lrndesign-timeline":"@haxtheweb/lrndesign-timeline/lrndesign-timeline.js","lrs-bridge-haxcms":"@haxtheweb/lrs-elements/lib/lrs-bridge-haxcms.js","lrs-bridge":"@haxtheweb/lrs-elements/lib/lrs-bridge.js","lrs-emitter":"@haxtheweb/lrs-elements/lib/lrs-emitter.js","lunr-search":"@haxtheweb/lunr-search/lunr-search.js","map-menu-builder":"@haxtheweb/map-menu/lib/map-menu-builder.js","map-menu-container":"@haxtheweb/map-menu/lib/map-menu-container.js","map-menu-header":"@haxtheweb/map-menu/lib/map-menu-header.js","map-menu-item":"@haxtheweb/map-menu/lib/map-menu-item.js","map-menu-submenu":"@haxtheweb/map-menu/lib/map-menu-submenu.js","map-menu":"@haxtheweb/map-menu/map-menu.js","mark-the-words":"@haxtheweb/mark-the-words/mark-the-words.js","matching-question":"@haxtheweb/matching-question/matching-question.js","md-block":"@haxtheweb/md-block/md-block.js","media-image":"@haxtheweb/media-image/media-image.js","media-quote":"@haxtheweb/media-quote/media-quote.js","meme-maker":"@haxtheweb/meme-maker/meme-maker.js","badge-sticker":"@haxtheweb/merit-badge/lib/badge-sticker.js","date-title":"@haxtheweb/merit-badge/lib/date-title.js","locked-badge":"@haxtheweb/merit-badge/lib/locked-badge.js","merit-badge":"@haxtheweb/merit-badge/merit-badge.js","micro-frontend-registry":"@haxtheweb/micro-frontend-registry/micro-frontend-registry.js","moar-sarcasm":"@haxtheweb/moar-sarcasm/moar-sarcasm.js","moment-element":"@haxtheweb/moment-element/moment-element.js","confetti-container":"@haxtheweb/multiple-choice/lib/confetti-container.js","short-answer-question":"@haxtheweb/multiple-choice/lib/short-answer-question.js","true-false-question":"@haxtheweb/multiple-choice/lib/true-false-question.js","multiple-choice":"@haxtheweb/multiple-choice/multiple-choice.js","midi-player":"@haxtheweb/music-player/lib/html-midi-player.js","music-player":"@haxtheweb/music-player/music-player.js","mutation-observer-import":"@haxtheweb/mutation-observer-import-mixin/mutation-observer-import-mixin.js","oer-schema":"@haxtheweb/oer-schema/oer-schema.js","outline-designer":"@haxtheweb/outline-designer/outline-designer.js","outline-player":"@haxtheweb/outline-player/outline-player.js","page-anchor":"@haxtheweb/page-break/lib/page-anchor.js","page-break-manager":"@haxtheweb/page-break/lib/page-break-manager.js","page-break-outline":"@haxtheweb/page-break/lib/page-break-outline.js","page-break":"@haxtheweb/page-break/page-break.js","page-contents-menu":"@haxtheweb/page-contents-menu/page-contents-menu.js","page-flag-comment":"@haxtheweb/page-flag/lib/page-flag-comment.js","page-flag":"@haxtheweb/page-flag/page-flag.js","page-scroll-position":"@haxtheweb/page-scroll-position/page-scroll-position.js","page-section":"@haxtheweb/page-section/page-section.js","paper-avatar":"@haxtheweb/paper-avatar/paper-avatar.js","paper-input-flagged":"@haxtheweb/paper-input-flagged/paper-input-flagged.js","paper-icon-step":"@haxtheweb/paper-stepper/lib/paper-icon-step.js","paper-icon-stepper":"@haxtheweb/paper-stepper/lib/paper-icon-stepper.js","paper-step":"@haxtheweb/paper-stepper/lib/paper-step.js","paper-stepper":"@haxtheweb/paper-stepper/paper-stepper.js","parallax-image":"@haxtheweb/parallax-image/parallax-image.js","pdf-browser-viewer":"@haxtheweb/pdf-browser-viewer/pdf-browser-viewer.js","person-testimonial":"@haxtheweb/person-testimonial/person-testimonial.js","place-holder":"@haxtheweb/place-holder/place-holder.js","play-list":"@haxtheweb/play-list/play-list.js","polaris-cta":"@haxtheweb/polaris-theme/lib/polaris-cta.js","polaris-flex-sidebar":"@haxtheweb/polaris-theme/lib/polaris-flex-sidebar.js","polaris-flex-theme":"@haxtheweb/polaris-theme/lib/polaris-flex-theme.js","polaris-invent-theme":"@haxtheweb/polaris-theme/lib/polaris-invent-theme.js","polaris-mark":"@haxtheweb/polaris-theme/lib/polaris-mark.js","polaris-story-card":"@haxtheweb/polaris-theme/lib/polaris-story-card.js","polaris-tile":"@haxtheweb/polaris-theme/lib/polaris-tile.js","polaris-theme":"@haxtheweb/polaris-theme/polaris-theme.js","portal-launcher":"@haxtheweb/portal-launcher/portal-launcher.js","post-card-photo":"@haxtheweb/post-card/lib/PostCardPhoto.js","post-card-postmark":"@haxtheweb/post-card/lib/PostCardPostmark.js","post-card-stamp":"@haxtheweb/post-card/lib/PostCardStamp.js","post-card":"@haxtheweb/post-card/post-card.js","pouch-db":"@haxtheweb/pouch-db/pouch-db.js","course-card":"@haxtheweb/product-card/lib/course-card.js","hax-element-card-list":"@haxtheweb/product-card/lib/hax-element-card-list.js","hax-element-list-selector":"@haxtheweb/product-card/lib/hax-element-list-selector.js","product-banner":"@haxtheweb/product-card/lib/product-banner.js","product-card":"@haxtheweb/product-card/product-card.js","product-glance":"@haxtheweb/product-glance/product-glance.js","product-offering":"@haxtheweb/product-offering/product-offering.js","progress-donut":"@haxtheweb/progress-donut/progress-donut.js","promise-progress-lite":"@haxtheweb/promise-progress/lib/promise-progress-lite.js","wc-preload-progress":"@haxtheweb/promise-progress/lib/wc-preload-progress.js","promise-progress":"@haxtheweb/promise-progress/promise-progress.js","qr-code":"@haxtheweb/q-r/lib/qr-code.js","q-r":"@haxtheweb/q-r/q-r.js","relative-heading-lite":"@haxtheweb/relative-heading/lib/relative-heading-lite.js","relative-heading-state-manager":"@haxtheweb/relative-heading/lib/relative-heading-state-manager.js","relative-heading":"@haxtheweb/relative-heading/relative-heading.js","performance-detect":"@haxtheweb/replace-tag/lib/PerformanceDetect.js","replace-tag":"@haxtheweb/replace-tag/replace-tag.js","responsive-grid-clear":"@haxtheweb/responsive-grid/lib/responsive-grid-clear.js","responsive-grid-col":"@haxtheweb/responsive-grid/lib/responsive-grid-col.js","responsive-grid-row":"@haxtheweb/responsive-grid/lib/responsive-grid-row.js","responsive-utility-element":"@haxtheweb/responsive-utility/lib/responsive-utility-element.js","responsive-utility":"@haxtheweb/responsive-utility/responsive-utility.js","retro-card":"@haxtheweb/retro-card/retro-card.js","rich-text-editor-button":"@haxtheweb/rich-text-editor/lib/buttons/rich-text-editor-button.js","rich-text-editor-emoji-picker":"@haxtheweb/rich-text-editor/lib/buttons/rich-text-editor-emoji-picker.js","rich-text-editor-heading-picker":"@haxtheweb/rich-text-editor/lib/buttons/rich-text-editor-heading-picker.js","rich-text-editor-icon-picker":"@haxtheweb/rich-text-editor/lib/buttons/rich-text-editor-icon-picker.js","rich-text-editor-image":"@haxtheweb/rich-text-editor/lib/buttons/rich-text-editor-image.js","rich-text-editor-link":"@haxtheweb/rich-text-editor/lib/buttons/rich-text-editor-link.js","rich-text-editor-picker":"@haxtheweb/rich-text-editor/lib/buttons/rich-text-editor-picker.js","rich-text-editor-prompt-button":"@haxtheweb/rich-text-editor/lib/buttons/rich-text-editor-prompt-button.js","rich-text-editor-source-code":"@haxtheweb/rich-text-editor/lib/buttons/rich-text-editor-source-code.js","rich-text-editor-symbol-picker":"@haxtheweb/rich-text-editor/lib/buttons/rich-text-editor-symbol-picker.js","rich-text-editor-underline":"@haxtheweb/rich-text-editor/lib/buttons/rich-text-editor-underline.js","rich-text-editor-unlink":"@haxtheweb/rich-text-editor/lib/buttons/rich-text-editor-unlink.js","link-preview-card":"@haxtheweb/rich-text-editor/lib/open-apis/link-preview-card.js","rich-text-editor-clipboard":"@haxtheweb/rich-text-editor/lib/singletons/rich-text-editor-clipboard.js","rich-text-editor-highlight":"@haxtheweb/rich-text-editor/lib/singletons/rich-text-editor-highlight.js","rich-text-editor-prompt":"@haxtheweb/rich-text-editor/lib/singletons/rich-text-editor-prompt.js","rich-text-editor-source":"@haxtheweb/rich-text-editor/lib/singletons/rich-text-editor-source.js","rich-text-editor-breadcrumbs":"@haxtheweb/rich-text-editor/lib/toolbars/rich-text-editor-breadcrumbs.js","rich-text-editor-toolbar-full":"@haxtheweb/rich-text-editor/lib/toolbars/rich-text-editor-toolbar-full.js","rich-text-editor-toolbar-mini":"@haxtheweb/rich-text-editor/lib/toolbars/rich-text-editor-toolbar-mini.js","rich-text-editor-toolbar":"@haxtheweb/rich-text-editor/lib/toolbars/rich-text-editor-toolbar.js","rich-text-editor":"@haxtheweb/rich-text-editor/rich-text-editor.js","rpg-character":"@haxtheweb/rpg-character/rpg-character.js","runkit-embed":"@haxtheweb/runkit-embed/runkit-embed.js","scroll-button":"@haxtheweb/scroll-button/scroll-button.js","self-check":"@haxtheweb/self-check/self-check.js","shadow-style":"@haxtheweb/shadow-style/shadow-style.js","simple-autocomplete-text-trigger":"@haxtheweb/simple-autocomplete/lib/simple-autocomplete-text-trigger.js","simple-autocomplete":"@haxtheweb/simple-autocomplete/simple-autocomplete.js","simple-blog-card":"@haxtheweb/simple-blog-card/simple-blog-card.js","simple-blog-footer":"@haxtheweb/simple-blog/lib/simple-blog-footer.js","simple-blog-header":"@haxtheweb/simple-blog/lib/simple-blog-header.js","simple-blog-listing":"@haxtheweb/simple-blog/lib/simple-blog-listing.js","simple-blog-overview":"@haxtheweb/simple-blog/lib/simple-blog-overview.js","simple-blog-post":"@haxtheweb/simple-blog/lib/simple-blog-post.js","simple-blog":"@haxtheweb/simple-blog/simple-blog.js","simple-colors-shared-styles":"@haxtheweb/simple-colors-shared-styles/simple-colors-shared-styles.js","simple-colors-swatch-info":"@haxtheweb/simple-colors/lib/demo/simple-colors-swatch-info.js","simple-colors-swatches":"@haxtheweb/simple-colors/lib/demo/simple-colors-swatches.js","simple-colors-picker":"@haxtheweb/simple-colors/lib/simple-colors-picker.js","simple-colors-polymer":"@haxtheweb/simple-colors/lib/simple-colors-polymer.js","simple-colors":"@haxtheweb/simple-colors/simple-colors.js","simple-cta":"@haxtheweb/simple-cta/simple-cta.js","simple-datetime":"@haxtheweb/simple-datetime/simple-datetime.js","simple-emoji":"@haxtheweb/simple-emoji/simple-emoji.js","simple-fields-array":"@haxtheweb/simple-fields/lib/simple-fields-array.js","simple-fields-code":"@haxtheweb/simple-fields/lib/simple-fields-code.js","simple-fields-combo":"@haxtheweb/simple-fields/lib/simple-fields-combo.js","simple-fields-container":"@haxtheweb/simple-fields/lib/simple-fields-container.js","simple-fields-field":"@haxtheweb/simple-fields/lib/simple-fields-field.js","simple-fields-fieldset":"@haxtheweb/simple-fields/lib/simple-fields-fieldset.js","simple-fields-form-lite":"@haxtheweb/simple-fields/lib/simple-fields-form-lite.js","simple-fields-form":"@haxtheweb/simple-fields/lib/simple-fields-form.js","simple-fields-html-block":"@haxtheweb/simple-fields/lib/simple-fields-html-block.js","simple-fields-lite":"@haxtheweb/simple-fields/lib/simple-fields-lite.js","simple-fields-tab":"@haxtheweb/simple-fields/lib/simple-fields-tab.js","simple-fields-tabs":"@haxtheweb/simple-fields/lib/simple-fields-tabs.js","simple-fields-tag-list":"@haxtheweb/simple-fields/lib/simple-fields-tag-list.js","simple-fields-upload":"@haxtheweb/simple-fields/lib/simple-fields-upload.js","simple-fields-url-combo-item":"@haxtheweb/simple-fields/lib/simple-fields-url-combo-item.js","simple-fields-url-combo":"@haxtheweb/simple-fields/lib/simple-fields-url-combo.js","simple-tag-lite":"@haxtheweb/simple-fields/lib/simple-tag-lite.js","simple-tag":"@haxtheweb/simple-fields/lib/simple-tag.js","simple-tags":"@haxtheweb/simple-fields/lib/simple-tags.js","simple-fields":"@haxtheweb/simple-fields/simple-fields.js","simple-icon-picker":"@haxtheweb/simple-icon-picker/simple-icon-picker.js","simple-icon-button-lite":"@haxtheweb/simple-icon/lib/simple-icon-button-lite.js","simple-icon-button":"@haxtheweb/simple-icon/lib/simple-icon-button.js","simple-icon-lite":"@haxtheweb/simple-icon/lib/simple-icon-lite.js","simple-iconset-demo":"@haxtheweb/simple-icon/lib/simple-iconset-demo.js","simple-iconset":"@haxtheweb/simple-icon/lib/simple-iconset.js","simple-icon":"@haxtheweb/simple-icon/simple-icon.js","simple-img":"@haxtheweb/simple-img/simple-img.js","simple-camera-snap":"@haxtheweb/simple-login/lib/simple-camera-snap.js","simple-login-avatar":"@haxtheweb/simple-login/lib/simple-login-avatar.js","simple-login-camera":"@haxtheweb/simple-login/lib/simple-login-camera.js","simple-login":"@haxtheweb/simple-login/simple-login.js","simple-modal-template":"@haxtheweb/simple-modal/lib/simple-modal-template.js","simple-modal":"@haxtheweb/simple-modal/simple-modal.js","simple-emoji-picker":"@haxtheweb/simple-picker/lib/simple-emoji-picker.js","simple-picker-option":"@haxtheweb/simple-picker/lib/simple-picker-option.js","simple-symbol-picker":"@haxtheweb/simple-picker/lib/simple-symbol-picker.js","simple-picker":"@haxtheweb/simple-picker/simple-picker.js","simple-popover-manager":"@haxtheweb/simple-popover/lib/simple-popover-manager.js","simple-popover-selection":"@haxtheweb/simple-popover/lib/simple-popover-selection.js","simple-tour":"@haxtheweb/simple-popover/lib/simple-tour.js","simple-popover":"@haxtheweb/simple-popover/simple-popover.js","simple-progress":"@haxtheweb/simple-progress/simple-progress.js","simple-range-input":"@haxtheweb/simple-range-input/simple-range-input.js","simple-search-content":"@haxtheweb/simple-search/lib/simple-search-content.js","simple-search-match":"@haxtheweb/simple-search/lib/simple-search-match.js","simple-search":"@haxtheweb/simple-search/simple-search.js","simple-toast-el":"@haxtheweb/simple-toast/lib/simple-toast-el.js","simple-toast":"@haxtheweb/simple-toast/simple-toast.js","simple-button-grid":"@haxtheweb/simple-toolbar/lib/simple-button-grid.js","simple-toolbar-button-group":"@haxtheweb/simple-toolbar/lib/simple-toolbar-button-group.js","simple-toolbar-button":"@haxtheweb/simple-toolbar/lib/simple-toolbar-button.js","simple-toolbar-field":"@haxtheweb/simple-toolbar/lib/simple-toolbar-field.js","simple-toolbar-menu-item":"@haxtheweb/simple-toolbar/lib/simple-toolbar-menu-item.js","simple-toolbar-menu":"@haxtheweb/simple-toolbar/lib/simple-toolbar-menu.js","simple-toolbar-more-button":"@haxtheweb/simple-toolbar/lib/simple-toolbar-more-button.js","simple-toolbar":"@haxtheweb/simple-toolbar/simple-toolbar.js","simple-tooltip":"@haxtheweb/simple-tooltip/simple-tooltip.js","social-share-link":"@haxtheweb/social-share-link/social-share-link.js","sorting-option":"@haxtheweb/sorting-question/lib/sorting-option.js","sorting-question":"@haxtheweb/sorting-question/sorting-question.js","spotify-embed":"@haxtheweb/spotify-embed/spotify-embed.js","star-rating":"@haxtheweb/star-rating/star-rating.js","stop-note":"@haxtheweb/stop-note/stop-note.js","super-daemon-row":"@haxtheweb/super-daemon/lib/super-daemon-row.js","super-daemon-search":"@haxtheweb/super-daemon/lib/super-daemon-search.js","super-daemon-toast":"@haxtheweb/super-daemon/lib/super-daemon-toast.js","super-daemon-ui":"@haxtheweb/super-daemon/lib/super-daemon-ui.js","super-daemon":"@haxtheweb/super-daemon/super-daemon.js","tagging-question":"@haxtheweb/tagging-question/tagging-question.js","terrible-best-themes":"@haxtheweb/terrible-themes/lib/terrible-best-themes.js","terrible-outlet-themes":"@haxtheweb/terrible-themes/lib/terrible-outlet-themes.js","terrible-productionz-themes":"@haxtheweb/terrible-themes/lib/terrible-productionz-themes.js","terrible-resume-themes":"@haxtheweb/terrible-themes/lib/terrible-resume-themes.js","terrible-themes":"@haxtheweb/terrible-themes/terrible-themes.js","training-button":"@haxtheweb/training-theme/lib/training-button.js","training-top":"@haxtheweb/training-theme/lib/training-top.js","training-theme":"@haxtheweb/training-theme/training-theme.js","twitter-embed-vanilla":"@haxtheweb/twitter-embed/lib/twitter-embed-vanilla.js","twitter-embed":"@haxtheweb/twitter-embed/twitter-embed.js","type-writer":"@haxtheweb/type-writer/type-writer.js","un-sdg":"@haxtheweb/un-sdg/un-sdg.js","undo-manager":"@haxtheweb/undo-manager/undo-manager.js","unity-webgl":"@haxtheweb/unity-webgl/unity-webgl.js","user-action":"@haxtheweb/user-action/user-action.js","user-scaffold":"@haxtheweb/user-scaffold/user-scaffold.js","lecture-anchor":"@haxtheweb/video-player/lib/lecture-anchor.js","lecture-player":"@haxtheweb/video-player/lib/lecture-player.js","video-player":"@haxtheweb/video-player/video-player.js","vocab-term":"@haxtheweb/vocab-term/vocab-term.js","voice-recorder":"@haxtheweb/voice-recorder/voice-recorder.js","wc-registry":"@haxtheweb/wc-autoload/wc-autoload.js","web-container-doc-player":"@haxtheweb/web-container/lib/web-container-doc-player.js","web-container-wc-registry-docs":"@haxtheweb/web-container/lib/web-container-wc-registry-docs.js","web-container":"@haxtheweb/web-container/web-container.js","wikipedia-query":"@haxtheweb/wikipedia-query/wikipedia-query.js","word-count":"@haxtheweb/word-count/word-count.js","wysiwyg-hax":"@haxtheweb/wysiwyg-hax/wysiwyg-hax.js","lit-virtualizer":"@lit-labs/virtualizer/lit-virtualizer.js","app-box":"@polymer/app-layout/app-box/app-box.js","app-drawer-layout":"@polymer/app-layout/app-drawer-layout/app-drawer-layout.js","app-drawer":"@polymer/app-layout/app-drawer/app-drawer.js","app-header-layout":"@polymer/app-layout/app-header-layout/app-header-layout.js","app-header":"@polymer/app-layout/app-header/app-header.js","x-container":"@polymer/app-layout/app-scroll-effects/test/x-container.js","app-toolbar":"@polymer/app-layout/app-toolbar/app-toolbar.js","iron-a11y-announcer":"@polymer/iron-a11y-announcer/iron-a11y-announcer.js","iron-a11y-keys":"@polymer/iron-a11y-keys/iron-a11y-keys.js","iron-ajax":"@polymer/iron-ajax/iron-ajax.js","iron-request":"@polymer/iron-ajax/iron-request.js","iron-autogrow-textarea":"@polymer/iron-autogrow-textarea/iron-autogrow-textarea.js","iron-component-page":"@polymer/iron-component-page/iron-component-page.js","demo-snippet":"@polymer/iron-demo-helpers/demo-snippet.js","url-bar":"@polymer/iron-demo-helpers/url-bar.js","iron-doc-api":"@polymer/iron-doc-viewer/iron-doc-api.js","iron-doc-behavior":"@polymer/iron-doc-viewer/iron-doc-behavior.js","iron-doc-class":"@polymer/iron-doc-viewer/iron-doc-class.js","iron-doc-demo":"@polymer/iron-doc-viewer/iron-doc-demo.js","iron-doc-element":"@polymer/iron-doc-viewer/iron-doc-element.js","iron-doc-function":"@polymer/iron-doc-viewer/iron-doc-function.js","iron-doc-hide-bar":"@polymer/iron-doc-viewer/iron-doc-hide-bar.js","iron-doc-mixin":"@polymer/iron-doc-viewer/iron-doc-mixin.js","iron-doc-module":"@polymer/iron-doc-viewer/iron-doc-module.js","iron-doc-namespace":"@polymer/iron-doc-viewer/iron-doc-namespace.js","iron-doc-nav":"@polymer/iron-doc-viewer/iron-doc-nav.js","iron-doc-property":"@polymer/iron-doc-viewer/iron-doc-property.js","iron-doc-summary":"@polymer/iron-doc-viewer/iron-doc-summary.js","iron-doc-viewer":"@polymer/iron-doc-viewer/iron-doc-viewer.js","iron-icon":"@polymer/iron-icon/iron-icon.js","iron-iconset-svg":"@polymer/iron-iconset-svg/iron-iconset-svg.js","iron-image":"@polymer/iron-image/iron-image.js","iron-input":"@polymer/iron-input/iron-input.js","iron-list":"@polymer/iron-list/iron-list.js","iron-location":"@polymer/iron-location/iron-location.js","iron-query-params":"@polymer/iron-location/iron-query-params.js","iron-media-query":"@polymer/iron-media-query/iron-media-query.js","iron-meta":"@polymer/iron-meta/iron-meta.js","iron-overlay-backdrop":"@polymer/iron-overlay-behavior/iron-overlay-backdrop.js","iron-pages":"@polymer/iron-pages/iron-pages.js","x-app":"@polymer/iron-resizable-behavior/demo/src/x-app.js","x-puck":"@polymer/iron-resizable-behavior/demo/src/x-puck.js","iron-selector":"@polymer/iron-selector/iron-selector.js","marked-element":"@polymer/marked-element/marked-element.js","cascaded-animation":"@polymer/neon-animation/animations/cascaded-animation.js","fade-in-animation":"@polymer/neon-animation/animations/fade-in-animation.js","fade-out-animation":"@polymer/neon-animation/animations/fade-out-animation.js","hero-animation":"@polymer/neon-animation/animations/hero-animation.js","opaque-animation":"@polymer/neon-animation/animations/opaque-animation.js","reverse-ripple-animation":"@polymer/neon-animation/animations/reverse-ripple-animation.js","ripple-animation":"@polymer/neon-animation/animations/ripple-animation.js","scale-down-animation":"@polymer/neon-animation/animations/scale-down-animation.js","scale-up-animation":"@polymer/neon-animation/animations/scale-up-animation.js","slide-down-animation":"@polymer/neon-animation/animations/slide-down-animation.js","slide-from-bottom-animation":"@polymer/neon-animation/animations/slide-from-bottom-animation.js","slide-from-left-animation":"@polymer/neon-animation/animations/slide-from-left-animation.js","slide-from-right-animation":"@polymer/neon-animation/animations/slide-from-right-animation.js","slide-from-top-animation":"@polymer/neon-animation/animations/slide-from-top-animation.js","slide-left-animation":"@polymer/neon-animation/animations/slide-left-animation.js","slide-right-animation":"@polymer/neon-animation/animations/slide-right-animation.js","slide-up-animation":"@polymer/neon-animation/animations/slide-up-animation.js","transform-animation":"@polymer/neon-animation/animations/transform-animation.js","x-card":"@polymer/neon-animation/demo/card/x-card.js","x-cards-list":"@polymer/neon-animation/demo/card/x-cards-list.js","my-animatable":"@polymer/neon-animation/demo/doc/my-animatable.js","my-dialog":"@polymer/neon-animation/demo/doc/my-dialog.js","animated-dropdown":"@polymer/neon-animation/demo/dropdown/animated-dropdown.js","animated-grid":"@polymer/neon-animation/demo/load/animated-grid.js","fullsize-page-with-card":"@polymer/neon-animation/demo/grid/fullsize-page-with-card.js","full-view":"@polymer/neon-animation/demo/list/full-view.js","list-demo":"@polymer/neon-animation/demo/list/list-demo.js","list-view":"@polymer/neon-animation/demo/list/list-view.js","full-page":"@polymer/neon-animation/demo/load/full-page.js","circles-page":"@polymer/neon-animation/demo/tiles/circles-page.js","squares-page":"@polymer/neon-animation/demo/tiles/squares-page.js","neon-animatable":"@polymer/neon-animation/neon-animatable.js","neon-animated-pages":"@polymer/neon-animation/neon-animated-pages.js","paper-card":"@polymer/paper-card/paper-card.js","paper-dialog-scrollable":"@polymer/paper-dialog-scrollable/paper-dialog-scrollable.js","paper-dialog":"@polymer/paper-dialog/paper-dialog.js","paper-icon-button-light":"@polymer/paper-icon-button/paper-icon-button-light.js","paper-icon-button":"@polymer/paper-icon-button/paper-icon-button.js","paper-input-char-counter":"@polymer/paper-input/paper-input-char-counter.js","paper-input-container":"@polymer/paper-input/paper-input-container.js","paper-input-error":"@polymer/paper-input/paper-input-error.js","paper-input":"@polymer/paper-input/paper-input.js","paper-textarea":"@polymer/paper-input/paper-textarea.js","paper-icon-item":"@polymer/paper-item/paper-icon-item.js","paper-item-body":"@polymer/paper-item/paper-item-body.js","paper-item":"@polymer/paper-item/paper-item.js","paper-progress":"@polymer/paper-progress/paper-progress.js","paper-ripple":"@polymer/paper-ripple/paper-ripple.js","paper-spinner-lite":"@polymer/paper-spinner/paper-spinner-lite.js","paper-spinner":"@polymer/paper-spinner/paper-spinner.js","paper-toast":"@polymer/paper-toast/paper-toast.js","array-selector":"@polymer/polymer/lib/elements/array-selector.js","custom-style":"@polymer/polymer/lib/elements/custom-style.js","dom-bind":"@polymer/polymer/lib/elements/dom-bind.js","dom-if":"@polymer/polymer/lib/elements/dom-if.js","dom-module":"@polymer/polymer/lib/elements/dom-module.js","dom-repeat":"@polymer/polymer/lib/elements/dom-repeat.js","prism-highlighter":"@polymer/prism-element/prism-highlighter.js","vaadin-button":"@vaadin/vaadin-button/src/vaadin-button.js","vaadin-checkbox-group":"@vaadin/vaadin-checkbox/src/vaadin-checkbox-group.js","vaadin-checkbox":"@vaadin/vaadin-checkbox/src/vaadin-checkbox.js","vaadin-grid-column-group":"@vaadin/vaadin-grid/src/vaadin-grid-column-group.js","vaadin-grid-column":"@vaadin/vaadin-grid/src/vaadin-grid-column.js","vaadin-grid-filter-column":"@vaadin/vaadin-grid/src/vaadin-grid-filter-column.js","vaadin-grid-filter":"@vaadin/vaadin-grid/src/vaadin-grid-filter.js","vaadin-grid-scroller":"@vaadin/vaadin-grid/src/vaadin-grid-scroller.js","vaadin-grid-selection-column":"@vaadin/vaadin-grid/src/vaadin-grid-selection-column.js","vaadin-grid-sort-column":"@vaadin/vaadin-grid/src/vaadin-grid-sort-column.js","vaadin-grid-sorter":"@vaadin/vaadin-grid/src/vaadin-grid-sorter.js","vaadin-grid-templatizer":"@vaadin/vaadin-grid/src/vaadin-grid-templatizer.js","vaadin-grid-tree-column":"@vaadin/vaadin-grid/src/vaadin-grid-tree-column.js","vaadin-grid-tree-toggle":"@vaadin/vaadin-grid/src/vaadin-grid-tree-toggle.js","vaadin-grid":"@vaadin/vaadin-grid/src/vaadin-grid.js","vaadin-lumo-styles":"@vaadin/vaadin-lumo-styles/version.js","vaadin-material-styles":"@vaadin/vaadin-material-styles/version.js","vaadin-progress-bar":"@vaadin/vaadin-progress-bar/src/vaadin-progress-bar.js","vaadin-email-field":"@vaadin/vaadin-text-field/src/vaadin-email-field.js","vaadin-integer-field":"@vaadin/vaadin-text-field/src/vaadin-integer-field.js","vaadin-number-field":"@vaadin/vaadin-text-field/src/vaadin-number-field.js","vaadin-password-field":"@vaadin/vaadin-text-field/src/vaadin-password-field.js","vaadin-text-area":"@vaadin/vaadin-text-field/src/vaadin-text-area.js","vaadin-text-field":"@vaadin/vaadin-text-field/src/vaadin-text-field.js","vaadin-upload-file":"@vaadin/vaadin-upload/src/vaadin-upload-file.js","vaadin-upload":"@vaadin/vaadin-upload/src/vaadin-upload.js","scrollable-component":"scrollable-component/index.js","web-dialog":"web-dialog/web-dialog.js"} \ No newline at end of file +{"focus-trap":"@a11y/focus-trap/focus-trap.js","local-time":"@github/time-elements/dist/local-time-element.js","relative-time":"@github/time-elements/dist/relative-time-element.js","time-ago":"@github/time-elements/dist/time-ago-element.js","time-until":"@github/time-elements/dist/time-until-element.js","model-viewer":"@google/model-viewer/dist/model-viewer.js","a11y-carousel":"@haxtheweb/a11y-carousel/a11y-carousel.js","a11y-carousel-button":"@haxtheweb/a11y-carousel/lib/a11y-carousel-button.js","a11y-collapse":"@haxtheweb/a11y-collapse/a11y-collapse.js","a11y-collapse-group":"@haxtheweb/a11y-collapse/lib/a11y-collapse-group.js","a11y-compare-image":"@haxtheweb/a11y-compare-image/a11y-compare-image.js","a11y-details":"@haxtheweb/a11y-details/a11y-details.js","a11y-figure":"@haxtheweb/a11y-figure/a11y-figure.js","a11y-gif-player":"@haxtheweb/a11y-gif-player/a11y-gif-player.js","a11y-media-player":"@haxtheweb/a11y-media-player/a11y-media-player.js","a11y-media-button":"@haxtheweb/a11y-media-player/lib/a11y-media-button.js","a11y-media-play-button":"@haxtheweb/a11y-media-player/lib/a11y-media-play-button.js","a11y-media-state-manager":"@haxtheweb/a11y-media-player/lib/a11y-media-state-manager.js","a11y-media-transcript-cue":"@haxtheweb/a11y-media-player/lib/a11y-media-transcript-cue.js","a11y-media-youtube":"@haxtheweb/a11y-media-player/lib/a11y-media-youtube.js","a11y-menu-button":"@haxtheweb/a11y-menu-button/a11y-menu-button.js","a11y-menu-button-item":"@haxtheweb/a11y-menu-button/lib/a11y-menu-button-item.js","a11y-tabs":"@haxtheweb/a11y-tabs/a11y-tabs.js","a11y-tab":"@haxtheweb/a11y-tabs/lib/a11y-tab.js","absolute-position-behavior":"@haxtheweb/absolute-position-behavior/absolute-position-behavior.js","absolute-position-state-manager":"@haxtheweb/absolute-position-behavior/lib/absolute-position-state-manager.js","accent-card":"@haxtheweb/accent-card/accent-card.js","aframe-player":"@haxtheweb/aframe-player/aframe-player.js","air-horn":"@haxtheweb/air-horn/air-horn.js","app-hax":"@haxtheweb/app-hax/app-hax.js","app-hax-theme":"@haxtheweb/app-hax/lib/app-hax-theme.js","random-word":"@haxtheweb/app-hax/lib/random-word/random-word.js","rpg-character-toast":"@haxtheweb/app-hax/lib/rpg-character-toast/rpg-character-toast.js","app-hax-button":"@haxtheweb/app-hax/lib/v1/app-hax-button.js","app-hax-hat-progress":"@haxtheweb/app-hax/lib/v1/app-hax-hat-progress.js","app-hax-label":"@haxtheweb/app-hax/lib/v1/app-hax-label.js","app-hax-search-bar":"@haxtheweb/app-hax/lib/v1/app-hax-search-bar.js","app-hax-search-results":"@haxtheweb/app-hax/lib/v1/app-hax-search-results.js","app-hax-site-bar":"@haxtheweb/app-hax/lib/v1/app-hax-site-bar.js","app-hax-site-button":"@haxtheweb/app-hax/lib/v1/app-hax-site-button.js","app-hax-site-details":"@haxtheweb/app-hax/lib/v1/app-hax-site-details.js","app-hax-site-login":"@haxtheweb/app-hax/lib/v1/app-hax-site-login.js","app-hax-steps":"@haxtheweb/app-hax/lib/v1/app-hax-steps.js","app-hax-toast":"@haxtheweb/app-hax/lib/v1/app-hax-toast.js","app-hax-top-bar":"@haxtheweb/app-hax/lib/v1/app-hax-top-bar.js","app-hax-user-menu-button":"@haxtheweb/app-hax/lib/v1/app-hax-user-menu-button.js","app-hax-user-menu":"@haxtheweb/app-hax/lib/v1/app-hax-user-menu.js","app-hax-wired-toggle":"@haxtheweb/app-hax/lib/v1/app-hax-wired-toggle.js","app-hax-backend-api":"@haxtheweb/app-hax/lib/v1/AppHaxBackendAPI.js","app-hax-router":"@haxtheweb/app-hax/lib/v1/AppHaxRouter.js","wired-darkmode-toggle":"@haxtheweb/app-hax/lib/wired-darkmode-toggle/wired-darkmode-toggle.js","audio-player":"@haxtheweb/audio-player/audio-player.js","awesome-explosion":"@haxtheweb/awesome-explosion/awesome-explosion.js","b-r":"@haxtheweb/b-r/b-r.js","barcode-reader":"@haxtheweb/barcode-reader/barcode-reader.js","beaker-broker":"@haxtheweb/beaker-broker/beaker-broker.js","bootstrap-theme":"@haxtheweb/bootstrap-theme/bootstrap-theme.js","bootstrap-breadcrumb":"@haxtheweb/bootstrap-theme/lib/BootstrapBreadcrumb.js","bootstrap-footer":"@haxtheweb/bootstrap-theme/lib/BootstrapFooter.js","bootstrap-search":"@haxtheweb/bootstrap-theme/lib/BootstrapSearch.js","chartist-render":"@haxtheweb/chartist-render/chartist-render.js","chat-agent":"@haxtheweb/chat-agent/chat-agent.js","chat-button":"@haxtheweb/chat-agent/lib/chat-button.js","chat-control-bar":"@haxtheweb/chat-agent/lib/chat-control-bar.js","chat-developer-panel":"@haxtheweb/chat-agent/lib/chat-developer-panel.js","chat-input":"@haxtheweb/chat-agent/lib/chat-input.js","chat-interface":"@haxtheweb/chat-agent/lib/chat-interface.js","chat-message":"@haxtheweb/chat-agent/lib/chat-message.js","chat-suggestion":"@haxtheweb/chat-agent/lib/chat-suggestion.js","check-it-out":"@haxtheweb/check-it-out/check-it-out.js","citation-element":"@haxtheweb/citation-element/citation-element.js","clean-one":"@haxtheweb/clean-one/clean-one.js","clean-one-search-box":"@haxtheweb/clean-one/lib/clean-one-search-box.js","clean-portfolio-theme":"@haxtheweb/clean-portfolio-theme/clean-portfolio-theme.js","clean-two":"@haxtheweb/clean-two/clean-two.js","cms-hax":"@haxtheweb/cms-hax/cms-hax.js","cms-block":"@haxtheweb/cms-hax/lib/cms-block.js","cms-entity":"@haxtheweb/cms-hax/lib/cms-entity.js","cms-token":"@haxtheweb/cms-hax/lib/cms-token.js","cms-views":"@haxtheweb/cms-hax/lib/cms-views.js","code-editor":"@haxtheweb/code-editor/code-editor.js","code-pen-button":"@haxtheweb/code-editor/lib/code-pen-button.js","monaco-element":"@haxtheweb/code-editor/lib/monaco-element/monaco-element.js","code-sample":"@haxtheweb/code-sample/code-sample.js","collection-list":"@haxtheweb/collection-list/collection-list.js","collection-item":"@haxtheweb/collection-list/lib/collection-item.js","collection-row":"@haxtheweb/collection-list/lib/collection-row.js","collections-theme-banner":"@haxtheweb/collection-list/lib/collections-theme-banner.js","collections-theme":"@haxtheweb/collection-list/lib/collections-theme.js","count-up":"@haxtheweb/count-up/count-up.js","course-design":"@haxtheweb/course-design/course-design.js","activity-box":"@haxtheweb/course-design/lib/activity-box.js","block-quote":"@haxtheweb/course-design/lib/block-quote.js","course-intro-header":"@haxtheweb/course-design/lib/course-intro-header.js","course-intro-lesson-plan":"@haxtheweb/course-design/lib/course-intro-lesson-plan.js","course-intro-lesson-plans":"@haxtheweb/course-design/lib/course-intro-lesson-plans.js","course-intro":"@haxtheweb/course-design/lib/course-intro.js","ebook-button":"@haxtheweb/course-design/lib/ebook-button.js","learning-component":"@haxtheweb/course-design/lib/learning-component.js","lrn-h5p":"@haxtheweb/course-design/lib/lrn-h5p.js","responsive-iframe":"@haxtheweb/course-design/lib/responsive-iframe.js","worksheet-download":"@haxtheweb/course-design/lib/worksheet-download.js","course-model":"@haxtheweb/course-model/course-model.js","model-info":"@haxtheweb/course-model/lib/model-info.js","model-option":"@haxtheweb/course-model/lib/model-option.js","csv-render":"@haxtheweb/csv-render/csv-render.js","d-d-d":"@haxtheweb/d-d-d/d-d-d.js","ddd-brochure-theme":"@haxtheweb/d-d-d/lib/ddd-brochure-theme.js","ddd-card":"@haxtheweb/d-d-d/lib/ddd-card.js","ddd-steps-list-item":"@haxtheweb/d-d-d/lib/ddd-steps-list-item.js","ddd-steps-list":"@haxtheweb/d-d-d/lib/ddd-steps-list.js","design-system":"@haxtheweb/d-d-d/lib/DesignSystemManager.js","mini-map":"@haxtheweb/d-d-d/lib/mini-map.js","d-d-docs":"@haxtheweb/d-d-docs/d-d-docs.js","data-viz":"@haxtheweb/data-viz/data-viz.js","date-card":"@haxtheweb/date-card/date-card.js","date-chip":"@haxtheweb/date-card/lib/date-chip.js","discord-embed":"@haxtheweb/discord-embed/discord-embed.js","disqus-embed":"@haxtheweb/disqus-embed/disqus-embed.js","haxcms-site-disqus":"@haxtheweb/disqus-embed/lib/haxcms-site-disqus.js","documentation-player":"@haxtheweb/documentation-player/documentation-player.js","dynamic-import-registry":"@haxtheweb/dynamic-import-registry/dynamic-import-registry.js","editable-outline":"@haxtheweb/editable-outline/editable-outline.js","editable-table":"@haxtheweb/editable-table/editable-table.js","editable-table-display":"@haxtheweb/editable-table/lib/editable-table-display.js","editable-table-edit":"@haxtheweb/editable-table/lib/editable-table-edit.js","editable-table-editor-rowcol":"@haxtheweb/editable-table/lib/editable-table-editor-rowcol.js","editable-table-filter":"@haxtheweb/editable-table/lib/editable-table-filter.js","editable-table-sort":"@haxtheweb/editable-table/lib/editable-table-sort.js","elmsln-loading":"@haxtheweb/elmsln-loading/elmsln-loading.js","enhanced-text":"@haxtheweb/enhanced-text/enhanced-text.js","event-badge":"@haxtheweb/event-badge/event-badge.js","example-hax-element":"@haxtheweb/example-hax-element/example-hax-element.js","example-haxcms-theme":"@haxtheweb/example-haxcms-theme/example-haxcms-theme.js","figure-label":"@haxtheweb/figure-label/figure-label.js","file-system-broker":"@haxtheweb/file-system-broker/file-system-broker.js","docx-file-system-broker":"@haxtheweb/file-system-broker/lib/docx-file-system-broker.js","xlsx-file-system-broker":"@haxtheweb/file-system-broker/lib/xlsx-file-system-broker.js","fill-in-the-blanks":"@haxtheweb/fill-in-the-blanks/fill-in-the-blanks.js","flash-card":"@haxtheweb/flash-card/flash-card.js","flash-card-answer-box":"@haxtheweb/flash-card/lib/flash-card-answer-box.js","flash-card-image-prompt":"@haxtheweb/flash-card/lib/flash-card-prompt-img.js","flash-card-set":"@haxtheweb/flash-card/lib/flash-card-set.js","fluid-type":"@haxtheweb/fluid-type/fluid-type.js","full-width-image":"@haxtheweb/full-width-image/full-width-image.js","fullscreen-behaviors":"@haxtheweb/fullscreen-behaviors/fullscreen-behaviors.js","future-terminal-text":"@haxtheweb/future-terminal-text/future-terminal-text.js","future-terminal-text-lite":"@haxtheweb/future-terminal-text/lib/future-terminal-text-lite.js","git-corner":"@haxtheweb/git-corner/git-corner.js","github-preview":"@haxtheweb/github-preview/github-preview.js","github-rpg-contributors":"@haxtheweb/github-preview/lib/github-rpg-contributors.js","wc-markdown":"@haxtheweb/github-preview/lib/wc-markdown.js","glossy-portfolio-theme":"@haxtheweb/glossy-portfolio-theme/glossy-portfolio-theme.js","glossy-portfolio-about":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-about.js","glossy-portfolio-breadcrumb":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-breadcrumb.js","glossy-portfolio-card":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-card.js","glossy-portfolio-footer":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-footer.js","glossy-portfolio-grid":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-grid.js","glossy-portfolio-header":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-header.js","glossy-portfolio-home":"@haxtheweb/glossy-portfolio-theme/lib/glossy-portfolio-home.js","grade-book":"@haxtheweb/grade-book/grade-book.js","grade-book-lite":"@haxtheweb/grade-book/lib/grade-book-lite.js","grade-book-pop-up":"@haxtheweb/grade-book/lib/grade-book-pop-up.js","grade-book-store":"@haxtheweb/grade-book/lib/grade-book-store.js","grade-book-student-block":"@haxtheweb/grade-book/lib/grade-book-student-block.js","grade-book-table":"@haxtheweb/grade-book/lib/grade-book-table.js","letter-grade-picker":"@haxtheweb/grade-book/lib/letter-grade-picker.js","letter-grade":"@haxtheweb/grade-book/lib/letter-grade.js","grid-plate":"@haxtheweb/grid-plate/grid-plate.js","h-a-x":"@haxtheweb/h-a-x/h-a-x.js","h5p-element":"@haxtheweb/h5p-element/h5p-element.js","h5p-wrapped-element":"@haxtheweb/h5p-element/lib/h5p-wrapped-element.js","hal-9000":"@haxtheweb/hal-9000/hal-9000.js","hal-9000-ui":"@haxtheweb/hal-9000/lib/hal-9000-ui/hal-9000-ui.js","hax-body":"@haxtheweb/hax-body/hax-body.js","hax-app-picker":"@haxtheweb/hax-body/lib/hax-app-picker.js","hax-app-search":"@haxtheweb/hax-body/lib/hax-app-search.js","hax-app":"@haxtheweb/hax-body/lib/hax-app.js","hax-autoloader":"@haxtheweb/hax-body/lib/hax-autoloader.js","hax-cancel-dialog":"@haxtheweb/hax-body/lib/hax-cancel-dialog.js","hax-context-item-textop":"@haxtheweb/hax-body/lib/hax-context-item-textop.js","hax-context-item":"@haxtheweb/hax-body/lib/hax-context-item.js","hax-element-demo":"@haxtheweb/hax-body/lib/hax-element-demo.js","hax-export-dialog":"@haxtheweb/hax-body/lib/hax-export-dialog.js","hax-gizmo-browser":"@haxtheweb/hax-body/lib/hax-gizmo-browser.js","hax-map":"@haxtheweb/hax-body/lib/hax-map.js","hax-picker":"@haxtheweb/hax-body/lib/hax-picker.js","hax-plate-context":"@haxtheweb/hax-body/lib/hax-plate-context.js","hax-preferences-dialog":"@haxtheweb/hax-body/lib/hax-preferences-dialog.js","hax-stax-browser":"@haxtheweb/hax-body/lib/hax-stax-browser.js","hax-store":"@haxtheweb/hax-body/lib/hax-store.js","hax-text-editor-button":"@haxtheweb/hax-body/lib/hax-text-editor-button.js","hax-text-editor-paste-button":"@haxtheweb/hax-body/lib/hax-text-editor-paste-button.js","hax-text-editor-toolbar":"@haxtheweb/hax-body/lib/hax-text-editor-toolbar.js","hax-text-editor":"@haxtheweb/hax-body/lib/hax-text-editor.js","hax-toolbar-item":"@haxtheweb/hax-body/lib/hax-toolbar-item.js","hax-toolbar-menu":"@haxtheweb/hax-body/lib/hax-toolbar-menu.js","hax-toolbar":"@haxtheweb/hax-body/lib/hax-toolbar.js","hax-tray-button":"@haxtheweb/hax-body/lib/hax-tray-button.js","hax-tray-upload":"@haxtheweb/hax-body/lib/hax-tray-upload.js","hax-tray":"@haxtheweb/hax-body/lib/hax-tray.js","hax-ui-styles":"@haxtheweb/hax-body/lib/hax-ui-styles.js","hax-upload-field":"@haxtheweb/hax-body/lib/hax-upload-field.js","hax-view-source":"@haxtheweb/hax-body/lib/hax-view-source.js","hax-cloud":"@haxtheweb/hax-cloud/hax-cloud.js","hax-logo":"@haxtheweb/hax-logo/hax-logo.js","haxcms-backend-beaker":"@haxtheweb/haxcms-elements/lib/core/backends/haxcms-backend-beaker.js","haxcms-backend-demo":"@haxtheweb/haxcms-elements/lib/core/backends/haxcms-backend-demo.js","haxcms-backend-nodejs":"@haxtheweb/haxcms-elements/lib/core/backends/haxcms-backend-nodejs.js","haxcms-backend-php":"@haxtheweb/haxcms-elements/lib/core/backends/haxcms-backend-php.js","haxcms-backend-userfs":"@haxtheweb/haxcms-elements/lib/core/backends/haxcms-backend-userfs.js","haxcms-darkmode-toggle":"@haxtheweb/haxcms-elements/lib/core/haxcms-darkmode-toggle.js","haxcms-editor-builder":"@haxtheweb/haxcms-elements/lib/core/haxcms-editor-builder.js","haxcms-outline-editor-dialog":"@haxtheweb/haxcms-elements/lib/core/haxcms-outline-editor-dialog.js","haxcms-share-dialog":"@haxtheweb/haxcms-elements/lib/core/haxcms-share-dialog.js","haxcms-site-builder":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-builder.js","haxcms-site-dashboard":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-dashboard.js","haxcms-site-editor-ui":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-editor-ui.js","haxcms-site-editor":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-editor.js","haxcms-site-insights":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-insights.js","haxcms-site-router":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-router.js","haxcms-site-store":"@haxtheweb/haxcms-elements/lib/core/haxcms-site-store.js","haxcms-toast":"@haxtheweb/haxcms-elements/lib/core/haxcms-toast.js","haxcms-button-add":"@haxtheweb/haxcms-elements/lib/core/micros/haxcms-button-add.js","haxcms-basic-theme":"@haxtheweb/haxcms-elements/lib/core/themes/haxcms-basic-theme.js","haxcms-blank-theme":"@haxtheweb/haxcms-elements/lib/core/themes/haxcms-blank-theme.js","haxcms-minimalist-theme":"@haxtheweb/haxcms-elements/lib/core/themes/haxcms-minimalist-theme.js","haxcms-print-theme":"@haxtheweb/haxcms-elements/lib/core/themes/haxcms-print-theme.js","haxcms-slide-theme":"@haxtheweb/haxcms-elements/lib/core/themes/haxcms-slide-theme.js","haxcms-page-get-started":"@haxtheweb/haxcms-elements/lib/core/ui/haxcms-page-get-started.js","haxcms-dev-theme":"@haxtheweb/haxcms-elements/lib/development/haxcms-dev-theme.js","haxcms-theme-developer":"@haxtheweb/haxcms-elements/lib/development/haxcms-theme-developer.js","site-active-fields":"@haxtheweb/haxcms-elements/lib/ui-components/active-item/site-active-fields.js","site-active-media-banner":"@haxtheweb/haxcms-elements/lib/ui-components/active-item/site-active-media-banner.js","site-active-tags":"@haxtheweb/haxcms-elements/lib/ui-components/active-item/site-active-tags.js","site-active-title":"@haxtheweb/haxcms-elements/lib/ui-components/active-item/site-active-title.js","site-git-corner":"@haxtheweb/haxcms-elements/lib/ui-components/active-item/site-git-corner.js","site-share-widget":"@haxtheweb/haxcms-elements/lib/ui-components/active-item/site-share-widget.js","site-children-block":"@haxtheweb/haxcms-elements/lib/ui-components/blocks/site-children-block.js","site-outline-block":"@haxtheweb/haxcms-elements/lib/ui-components/blocks/site-outline-block.js","site-recent-content-block":"@haxtheweb/haxcms-elements/lib/ui-components/blocks/site-recent-content-block.js","site-drawer":"@haxtheweb/haxcms-elements/lib/ui-components/layout/site-drawer.js","site-footer":"@haxtheweb/haxcms-elements/lib/ui-components/layout/site-footer.js","site-modal":"@haxtheweb/haxcms-elements/lib/ui-components/layout/site-modal.js","site-region":"@haxtheweb/haxcms-elements/lib/ui-components/layout/site-region.js","active-when-visible":"@haxtheweb/haxcms-elements/lib/ui-components/magic/active-when-visible.js","site-ai-chat":"@haxtheweb/haxcms-elements/lib/ui-components/magic/site-ai-chat.js","site-collection-list":"@haxtheweb/haxcms-elements/lib/ui-components/magic/site-collection-list.js","site-view":"@haxtheweb/haxcms-elements/lib/ui-components/magic/site-view.js","site-breadcrumb":"@haxtheweb/haxcms-elements/lib/ui-components/navigation/site-breadcrumb.js","site-dot-indicator":"@haxtheweb/haxcms-elements/lib/ui-components/navigation/site-dot-indicator.js","site-menu-button":"@haxtheweb/haxcms-elements/lib/ui-components/navigation/site-menu-button.js","site-menu-content":"@haxtheweb/haxcms-elements/lib/ui-components/navigation/site-menu-content.js","site-menu":"@haxtheweb/haxcms-elements/lib/ui-components ... [truncated]
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4- github.com/advisories/GHSA-v3ph-2q5q-cg88ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2025-49139ghsaADVISORY
- github.com/haxtheweb/haxcms-nodejs/commit/5368eb9b278ca47cd9a83b8d3e6216375615b8f5ghsax_refsource_MISCWEB
- github.com/haxtheweb/issues/security/advisories/GHSA-v3ph-2q5q-cg88ghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.