@kodaris/krubble-app-components 1.0.137 → 1.0.138

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,7 @@
9
9
  * Copyright 2019 Google LLC
10
10
  * SPDX-License-Identifier: BSD-3-Clause
11
11
  */
12
- const t$3=globalThis,e$7=t$3.ShadowRoot&&(void 0===t$3.ShadyCSS||t$3.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$3=Symbol(),o$6=new WeakMap;let n$4 = class n{constructor(t,e,o){if(this._$cssResult$=true,o!==s$3)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$7&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o$6.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$6.set(s,t));}return t}toString(){return this.cssText}};const r$4=t=>new n$4("string"==typeof t?t:t+"",void 0,s$3),i$6=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(true===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1],t[0]);return new n$4(o,t,s$3)},S$1=(s,o)=>{if(e$7)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement("style"),n=t$3.litNonce;void 0!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$3=e$7?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$4(e)})(t):t;
12
+ const t$4=globalThis,e$7=t$4.ShadowRoot&&(void 0===t$4.ShadyCSS||t$4.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$3=Symbol(),o$6=new WeakMap;let n$4 = class n{constructor(t,e,o){if(this._$cssResult$=true,o!==s$3)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$7&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o$6.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$6.set(s,t));}return t}toString(){return this.cssText}};const r$4=t=>new n$4("string"==typeof t?t:t+"",void 0,s$3),i$6=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(true===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1],t[0]);return new n$4(o,t,s$3)},S$1=(s,o)=>{if(e$7)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement("style"),n=t$4.litNonce;void 0!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$3=e$7?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$4(e)})(t):t;
13
13
 
14
14
  /**
15
15
  * @license
@@ -22,7 +22,7 @@
22
22
  * Copyright 2017 Google LLC
23
23
  * SPDX-License-Identifier: BSD-3-Clause
24
24
  */
25
- const t$2=globalThis,i$4=t=>t,s$2=t$2.trustedTypes,e$5=s$2?s$2.createPolicy("lit-html",{createHTML:t=>t}):void 0,h$1="$lit$",o$4=`lit$${Math.random().toFixed(9).slice(2)}$`,n$2="?"+o$4,r$2=`<${n$2}>`,l=document,c$1=()=>l.createComment(""),a=t=>null===t||"object"!=typeof t&&"function"!=typeof t,u$2=Array.isArray,d=t=>u$2(t)||"function"==typeof t?.[Symbol.iterator],f="[ \t\n\f\r]",v$1=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,_=/-->/g,m$1=/>/g,p$1=RegExp(`>|${f}(?:([^\\s"'>=/]+)(${f}*=${f}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),g=/'/g,$=/"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),E=Symbol.for("lit-noChange"),A=Symbol.for("lit-nothing"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u$2(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==e$5?e$5.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?"<svg>":3===i?"<math>":"",c=v$1;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v$1?"!--"===u[1]?c=_:void 0!==u[1]?c=m$1:void 0!==u[2]?(y.test(u[2])&&(n=RegExp("</"+u[2],"g")),c=p$1):void 0!==u[3]&&(c=p$1):c===p$1?">"===u[0]?(c=n??v$1,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p$1:'"'===u[3]?$:g):c===$||c===g?c=p$1:c===_||c===m$1?c=v$1:(c=p$1,n=void 0);const x=c===p$1&&t[i+1].startsWith("/>")?" ":"";l+=c===v$1?s+r$2:d>=0?(e.push(a),s.slice(0,d)+h$1+s.slice(d)+o$4+x):s+o$4+(-2===d?i:x);}return [V(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h$1)){const i=v[a++],s=r.getAttribute(t).split(o$4),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:"."===e[1]?I:"?"===e[1]?L:"@"===e[1]?z:H}),r.removeAttribute(t);}else t.startsWith(o$4)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o$4),i=t.length-1;if(i>0){r.textContent=s$2?s$2.emptyScript:"";for(let s=0;s<i;s++)r.append(t[s],c$1()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c$1());}}}else if(8===r.nodeType)if(r.data===n$2)d.push({type:2,index:l});else {let t=-1;for(;-1!==(t=r.data.indexOf(o$4,t+1));)d.push({type:7,index:l}),t+=o$4.length-1;}l++;}}static createElement(t,i){const s=l.createElement("template");return s.innerHTML=t,s}}function M$1(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(false),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M$1(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,true);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n];}o!==r?.index&&(h=P.nextNode(),o++);}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV) void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??true;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M$1(this,t,i),a(t)?t===A||null==t||""===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t);}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t));}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u$2(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c$1()),this.O(c$1()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(false,true,s);t!==this._$AB;){const s=i$4(t).nextSibling;i$4(t).remove(),t=s;}}setConnected(t){ void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t));}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A;}_$AI(t,i=this,s,e){const h=this.strings;let o=false;if(void 0===h)t=M$1(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M$1(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}}class I extends H{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===A?void 0:t;}}class L extends H{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A);}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=M$1(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t);}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){M$1(this,t);}}const j={I:k},B=t$2.litHtmlPolyfillSupport;B?.(S,k),(t$2.litHtmlVersions??=[]).push("3.3.2");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c$1(),t),t,void 0,s??{});}return h._$AI(t),h};
25
+ const t$3=globalThis,i$4=t=>t,s$2=t$3.trustedTypes,e$5=s$2?s$2.createPolicy("lit-html",{createHTML:t=>t}):void 0,h$1="$lit$",o$4=`lit$${Math.random().toFixed(9).slice(2)}$`,n$2="?"+o$4,r$2=`<${n$2}>`,l=document,c$1=()=>l.createComment(""),a=t=>null===t||"object"!=typeof t&&"function"!=typeof t,u$2=Array.isArray,d=t=>u$2(t)||"function"==typeof t?.[Symbol.iterator],f="[ \t\n\f\r]",v$1=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,_=/-->/g,m$1=/>/g,p$1=RegExp(`>|${f}(?:([^\\s"'>=/]+)(${f}*=${f}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),g=/'/g,$=/"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),E=Symbol.for("lit-noChange"),A=Symbol.for("lit-nothing"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u$2(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==e$5?e$5.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?"<svg>":3===i?"<math>":"",c=v$1;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v$1?"!--"===u[1]?c=_:void 0!==u[1]?c=m$1:void 0!==u[2]?(y.test(u[2])&&(n=RegExp("</"+u[2],"g")),c=p$1):void 0!==u[3]&&(c=p$1):c===p$1?">"===u[0]?(c=n??v$1,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p$1:'"'===u[3]?$:g):c===$||c===g?c=p$1:c===_||c===m$1?c=v$1:(c=p$1,n=void 0);const x=c===p$1&&t[i+1].startsWith("/>")?" ":"";l+=c===v$1?s+r$2:d>=0?(e.push(a),s.slice(0,d)+h$1+s.slice(d)+o$4+x):s+o$4+(-2===d?i:x);}return [V(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h$1)){const i=v[a++],s=r.getAttribute(t).split(o$4),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:"."===e[1]?I:"?"===e[1]?L:"@"===e[1]?z:H}),r.removeAttribute(t);}else t.startsWith(o$4)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o$4),i=t.length-1;if(i>0){r.textContent=s$2?s$2.emptyScript:"";for(let s=0;s<i;s++)r.append(t[s],c$1()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c$1());}}}else if(8===r.nodeType)if(r.data===n$2)d.push({type:2,index:l});else {let t=-1;for(;-1!==(t=r.data.indexOf(o$4,t+1));)d.push({type:7,index:l}),t+=o$4.length-1;}l++;}}static createElement(t,i){const s=l.createElement("template");return s.innerHTML=t,s}}function M$1(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(false),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M$1(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,true);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n];}o!==r?.index&&(h=P.nextNode(),o++);}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV) void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??true;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M$1(this,t,i),a(t)?t===A||null==t||""===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t);}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t));}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u$2(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c$1()),this.O(c$1()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(false,true,s);t!==this._$AB;){const s=i$4(t).nextSibling;i$4(t).remove(),t=s;}}setConnected(t){ void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t));}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A;}_$AI(t,i=this,s,e){const h=this.strings;let o=false;if(void 0===h)t=M$1(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M$1(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}}class I extends H{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===A?void 0:t;}}class L extends H{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A);}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=M$1(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t);}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){M$1(this,t);}}const j={I:k},B=t$3.litHtmlPolyfillSupport;B?.(S,k),(t$3.litHtmlVersions??=[]).push("3.3.2");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c$1(),t),t,void 0,s??{});}return h._$AI(t),h};
26
26
 
27
27
  /**
28
28
  * @license
@@ -30,6 +30,13 @@
30
30
  * SPDX-License-Identifier: BSD-3-Clause
31
31
  */const s$1=globalThis;let i$3 = class i extends y$1{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=D(r,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return E}};i$3._$litElement$=true,i$3["finalized"]=true,s$1.litElementHydrateSupport?.({LitElement:i$3});const o$3=s$1.litElementPolyfillSupport;o$3?.({LitElement:i$3});(s$1.litElementVersions??=[]).push("4.2.2");
32
32
 
33
+ /**
34
+ * @license
35
+ * Copyright 2017 Google LLC
36
+ * SPDX-License-Identifier: BSD-3-Clause
37
+ */
38
+ const t$2=t=>(e,o)=>{ void 0!==o?o.addInitializer(()=>{customElements.define(t,e);}):customElements.define(t,e);};
39
+
33
40
  /**
34
41
  * @license
35
42
  * Copyright 2017 Google LLC
@@ -74,7 +81,7 @@
74
81
  * SPDX-License-Identifier: BSD-3-Clause
75
82
  */const e=e$2(class extends i$2{constructor(t){if(super(t),t.type!==t$1.ATTRIBUTE||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter(s=>t[s]).join(" ")+" "}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter(t=>""!==t)));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)));}return E}});
76
83
 
77
- var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
84
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
78
85
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
79
86
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
80
87
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -270,16 +277,16 @@
270
277
  background: #d4f472;
271
278
  }
272
279
  `;
273
- __decorate$5([
280
+ __decorate$6([
274
281
  r()
275
282
  ], KRNavItemEdit.prototype, "label", void 0);
276
- __decorate$5([
283
+ __decorate$6([
277
284
  r()
278
285
  ], KRNavItemEdit.prototype, "icon", void 0);
279
- __decorate$5([
286
+ __decorate$6([
280
287
  r()
281
288
  ], KRNavItemEdit.prototype, "url", void 0);
282
- __decorate$5([
289
+ __decorate$6([
283
290
  r()
284
291
  ], KRNavItemEdit.prototype, "active", void 0);
285
292
  // Guarded registration: no-op if the tag is already defined, so a second copy of krubble on
@@ -2734,7 +2741,7 @@
2734
2741
  _Parser.parse;
2735
2742
  _Lexer.lex;
2736
2743
 
2737
- var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2744
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2738
2745
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2739
2746
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2740
2747
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -9160,195 +9167,195 @@
9160
9167
  }
9161
9168
 
9162
9169
  `;
9163
- __decorate$4([
9170
+ __decorate$5([
9164
9171
  n$1({ attribute: false })
9165
9172
  ], KRChatbot.prototype, "send", void 0);
9166
- __decorate$4([
9173
+ __decorate$5([
9167
9174
  n$1({ attribute: false })
9168
9175
  ], KRChatbot.prototype, "load", void 0);
9169
- __decorate$4([
9176
+ __decorate$5([
9170
9177
  n$1({ attribute: false })
9171
9178
  ], KRChatbot.prototype, "messages", void 0);
9172
- __decorate$4([
9179
+ __decorate$5([
9173
9180
  n$1({ type: String })
9174
9181
  ], KRChatbot.prototype, "label", void 0);
9175
- __decorate$4([
9182
+ __decorate$5([
9176
9183
  n$1({ type: String })
9177
9184
  ], KRChatbot.prototype, "placeholder", void 0);
9178
- __decorate$4([
9185
+ __decorate$5([
9179
9186
  n$1({
9180
9187
  type: Boolean,
9181
9188
  reflect: true
9182
9189
  })
9183
9190
  ], KRChatbot.prototype, "opened", void 0);
9184
- __decorate$4([
9191
+ __decorate$5([
9185
9192
  n$1({
9186
9193
  type: Boolean,
9187
9194
  attribute: 'hide-toggle',
9188
9195
  reflect: true
9189
9196
  })
9190
9197
  ], KRChatbot.prototype, "hideToggle", void 0);
9191
- __decorate$4([
9198
+ __decorate$5([
9192
9199
  n$1({
9193
9200
  type: String,
9194
9201
  reflect: true
9195
9202
  })
9196
9203
  ], KRChatbot.prototype, "variant", void 0);
9197
- __decorate$4([
9204
+ __decorate$5([
9198
9205
  n$1({
9199
9206
  type: Number,
9200
9207
  attribute: 'conversation-id',
9201
9208
  reflect: true
9202
9209
  })
9203
9210
  ], KRChatbot.prototype, "conversationId", void 0);
9204
- __decorate$4([
9211
+ __decorate$5([
9205
9212
  r()
9206
9213
  ], KRChatbot.prototype, "_inputValue", void 0);
9207
- __decorate$4([
9214
+ __decorate$5([
9208
9215
  r()
9209
9216
  ], KRChatbot.prototype, "_isStreaming", void 0);
9210
- __decorate$4([
9217
+ __decorate$5([
9211
9218
  r()
9212
9219
  ], KRChatbot.prototype, "_error", void 0);
9213
- __decorate$4([
9220
+ __decorate$5([
9214
9221
  r()
9215
9222
  ], KRChatbot.prototype, "_conversationTitle", void 0);
9216
- __decorate$4([
9223
+ __decorate$5([
9217
9224
  r()
9218
9225
  ], KRChatbot.prototype, "_contextWarning", void 0);
9219
- __decorate$4([
9226
+ __decorate$5([
9220
9227
  r()
9221
9228
  ], KRChatbot.prototype, "_contextLimitReached", void 0);
9222
- __decorate$4([
9229
+ __decorate$5([
9223
9230
  r()
9224
9231
  ], KRChatbot.prototype, "_contextLimitMessage", void 0);
9225
- __decorate$4([
9232
+ __decorate$5([
9226
9233
  r()
9227
9234
  ], KRChatbot.prototype, "_pendingActions", void 0);
9228
- __decorate$4([
9235
+ __decorate$5([
9229
9236
  r()
9230
9237
  ], KRChatbot.prototype, "_confirmationHighlighted", void 0);
9231
- __decorate$4([
9238
+ __decorate$5([
9232
9239
  r()
9233
9240
  ], KRChatbot.prototype, "_confirmationInFlight", void 0);
9234
- __decorate$4([
9241
+ __decorate$5([
9235
9242
  r()
9236
9243
  ], KRChatbot.prototype, "_telemetry", void 0);
9237
- __decorate$4([
9244
+ __decorate$5([
9238
9245
  r()
9239
9246
  ], KRChatbot.prototype, "_iterationLog", void 0);
9240
- __decorate$4([
9247
+ __decorate$5([
9241
9248
  r()
9242
9249
  ], KRChatbot.prototype, "_cacheCheckpoints", void 0);
9243
- __decorate$4([
9250
+ __decorate$5([
9244
9251
  r()
9245
9252
  ], KRChatbot.prototype, "_drawerOpen", void 0);
9246
- __decorate$4([
9253
+ __decorate$5([
9247
9254
  r()
9248
9255
  ], KRChatbot.prototype, "_drawerView", void 0);
9249
- __decorate$4([
9256
+ __decorate$5([
9250
9257
  r()
9251
9258
  ], KRChatbot.prototype, "_conversations", void 0);
9252
- __decorate$4([
9259
+ __decorate$5([
9253
9260
  r()
9254
9261
  ], KRChatbot.prototype, "_conversationsLoading", void 0);
9255
- __decorate$4([
9262
+ __decorate$5([
9256
9263
  r()
9257
9264
  ], KRChatbot.prototype, "_toolDetail", void 0);
9258
- __decorate$4([
9265
+ __decorate$5([
9259
9266
  r()
9260
9267
  ], KRChatbot.prototype, "_toolDetailCopied", void 0);
9261
- __decorate$4([
9268
+ __decorate$5([
9262
9269
  r()
9263
9270
  ], KRChatbot.prototype, "_toolDetailInputOpen", void 0);
9264
- __decorate$4([
9271
+ __decorate$5([
9265
9272
  r()
9266
9273
  ], KRChatbot.prototype, "_toolDetailOutputOpen", void 0);
9267
- __decorate$4([
9274
+ __decorate$5([
9268
9275
  r()
9269
9276
  ], KRChatbot.prototype, "_drawerWidth", void 0);
9270
- __decorate$4([
9277
+ __decorate$5([
9271
9278
  r()
9272
9279
  ], KRChatbot.prototype, "_isDrawerResizing", void 0);
9273
- __decorate$4([
9280
+ __decorate$5([
9274
9281
  r()
9275
9282
  ], KRChatbot.prototype, "_pendingConversationFiles", void 0);
9276
- __decorate$4([
9283
+ __decorate$5([
9277
9284
  r()
9278
9285
  ], KRChatbot.prototype, "_isDraggingFile", void 0);
9279
- __decorate$4([
9286
+ __decorate$5([
9280
9287
  r()
9281
9288
  ], KRChatbot.prototype, "_skillMenuOpened", void 0);
9282
- __decorate$4([
9289
+ __decorate$5([
9283
9290
  r()
9284
9291
  ], KRChatbot.prototype, "_skillQuery", void 0);
9285
- __decorate$4([
9292
+ __decorate$5([
9286
9293
  r()
9287
9294
  ], KRChatbot.prototype, "_orgSkills", void 0);
9288
- __decorate$4([
9295
+ __decorate$5([
9289
9296
  r()
9290
9297
  ], KRChatbot.prototype, "_globalSkills", void 0);
9291
- __decorate$4([
9298
+ __decorate$5([
9292
9299
  r()
9293
9300
  ], KRChatbot.prototype, "_invocableSkills", void 0);
9294
- __decorate$4([
9301
+ __decorate$5([
9295
9302
  r()
9296
9303
  ], KRChatbot.prototype, "_suggestedActions", void 0);
9297
- __decorate$4([
9304
+ __decorate$5([
9298
9305
  r()
9299
9306
  ], KRChatbot.prototype, "_aiFrameworkConfig", void 0);
9300
- __decorate$4([
9307
+ __decorate$5([
9301
9308
  r()
9302
9309
  ], KRChatbot.prototype, "_skillHighlighted", void 0);
9303
- __decorate$4([
9310
+ __decorate$5([
9304
9311
  r()
9305
9312
  ], KRChatbot.prototype, "_copiedIndex", void 0);
9306
- __decorate$4([
9313
+ __decorate$5([
9307
9314
  r()
9308
9315
  ], KRChatbot.prototype, "_skillBrowseOpened", void 0);
9309
- __decorate$4([
9316
+ __decorate$5([
9310
9317
  r()
9311
9318
  ], KRChatbot.prototype, "_skillBrowseSource", void 0);
9312
- __decorate$4([
9319
+ __decorate$5([
9313
9320
  r()
9314
9321
  ], KRChatbot.prototype, "_skillBrowseQuery", void 0);
9315
- __decorate$4([
9322
+ __decorate$5([
9316
9323
  r()
9317
9324
  ], KRChatbot.prototype, "_isDictating", void 0);
9318
- __decorate$4([
9325
+ __decorate$5([
9319
9326
  r()
9320
9327
  ], KRChatbot.prototype, "_mode", void 0);
9321
- __decorate$4([
9328
+ __decorate$5([
9322
9329
  r()
9323
9330
  ], KRChatbot.prototype, "_modeMenuOpened", void 0);
9324
- __decorate$4([
9331
+ __decorate$5([
9325
9332
  r()
9326
9333
  ], KRChatbot.prototype, "_showTools", void 0);
9327
- __decorate$4([
9334
+ __decorate$5([
9328
9335
  r()
9329
9336
  ], KRChatbot.prototype, "_showToolInputs", void 0);
9330
- __decorate$4([
9337
+ __decorate$5([
9331
9338
  r()
9332
9339
  ], KRChatbot.prototype, "_showConfirmationInput", void 0);
9333
- __decorate$4([
9340
+ __decorate$5([
9334
9341
  e$3('.panel')
9335
9342
  ], KRChatbot.prototype, "_panelEl", void 0);
9336
- __decorate$4([
9343
+ __decorate$5([
9337
9344
  e$3('.messages')
9338
9345
  ], KRChatbot.prototype, "_messagesEl", void 0);
9339
- __decorate$4([
9346
+ __decorate$5([
9340
9347
  e$3('.input')
9341
9348
  ], KRChatbot.prototype, "_inputEl", void 0);
9342
- __decorate$4([
9349
+ __decorate$5([
9343
9350
  e$3('.file-input')
9344
9351
  ], KRChatbot.prototype, "_fileInputEl", void 0);
9345
- __decorate$4([
9352
+ __decorate$5([
9346
9353
  e$3('.input-wrapper')
9347
9354
  ], KRChatbot.prototype, "_inputWrapperEl", void 0);
9348
- __decorate$4([
9355
+ __decorate$5([
9349
9356
  e$3('.skill-menu')
9350
9357
  ], KRChatbot.prototype, "_skillMenuEl", void 0);
9351
- __decorate$4([
9358
+ __decorate$5([
9352
9359
  e$3('.drawer__body')
9353
9360
  ], KRChatbot.prototype, "_drawerBodyEl", void 0);
9354
9361
  // Guarded registration: no-op if the tag is already defined, so a second copy of krubble on
@@ -9358,7 +9365,7 @@
9358
9365
  customElements.define('kr-chatbot', KRChatbot);
9359
9366
  }
9360
9367
 
9361
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
9368
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
9362
9369
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9363
9370
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9364
9371
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11388,98 +11395,98 @@
11388
11395
  }
11389
11396
  }
11390
11397
  `;
11391
- __decorate$3([
11398
+ __decorate$4([
11392
11399
  n$1({ type: String })
11393
11400
  ], KRScaffold.prototype, "logo", void 0);
11394
- __decorate$3([
11401
+ __decorate$4([
11395
11402
  n$1({ type: String })
11396
11403
  ], KRScaffold.prototype, "label", void 0);
11397
- __decorate$3([
11404
+ __decorate$4([
11398
11405
  n$1({
11399
11406
  type: String,
11400
11407
  attribute: 'home-url'
11401
11408
  })
11402
11409
  ], KRScaffold.prototype, "homeUrl", void 0);
11403
- __decorate$3([
11410
+ __decorate$4([
11404
11411
  n$1({
11405
11412
  type: String,
11406
11413
  reflect: true
11407
11414
  })
11408
11415
  ], KRScaffold.prototype, "scheme", void 0);
11409
- __decorate$3([
11416
+ __decorate$4([
11410
11417
  n$1({ type: Array })
11411
11418
  ], KRScaffold.prototype, "nav", void 0);
11412
- __decorate$3([
11419
+ __decorate$4([
11413
11420
  n$1({
11414
11421
  type: Boolean,
11415
11422
  attribute: 'nav-icons-displayed',
11416
11423
  reflect: true
11417
11424
  })
11418
11425
  ], KRScaffold.prototype, "navIconsDisplayed", void 0);
11419
- __decorate$3([
11426
+ __decorate$4([
11420
11427
  n$1({
11421
11428
  type: Boolean,
11422
11429
  attribute: 'nav-expanded'
11423
11430
  })
11424
11431
  ], KRScaffold.prototype, "navExpanded", void 0);
11425
- __decorate$3([
11432
+ __decorate$4([
11426
11433
  n$1({ type: Object })
11427
11434
  ], KRScaffold.prototype, "user", void 0);
11428
- __decorate$3([
11435
+ __decorate$4([
11429
11436
  n$1({ type: Boolean })
11430
11437
  ], KRScaffold.prototype, "subbar", void 0);
11431
- __decorate$3([
11438
+ __decorate$4([
11432
11439
  n$1({
11433
11440
  type: Boolean,
11434
11441
  attribute: 'nav-enabled'
11435
11442
  })
11436
11443
  ], KRScaffold.prototype, "navEnabled", void 0);
11437
- __decorate$3([
11444
+ __decorate$4([
11438
11445
  n$1({
11439
11446
  type: String,
11440
11447
  attribute: 'user-type'
11441
11448
  })
11442
11449
  ], KRScaffold.prototype, "userType", void 0);
11443
- __decorate$3([
11450
+ __decorate$4([
11444
11451
  n$1({ type: Array })
11445
11452
  ], KRScaffold.prototype, "breadcrumbs", void 0);
11446
- __decorate$3([
11453
+ __decorate$4([
11447
11454
  r()
11448
11455
  ], KRScaffold.prototype, "isDev", void 0);
11449
- __decorate$3([
11456
+ __decorate$4([
11450
11457
  r()
11451
11458
  ], KRScaffold.prototype, "navItemsExpanded", void 0);
11452
- __decorate$3([
11459
+ __decorate$4([
11453
11460
  r()
11454
11461
  ], KRScaffold.prototype, "navQuery", void 0);
11455
- __decorate$3([
11462
+ __decorate$4([
11456
11463
  r()
11457
11464
  ], KRScaffold.prototype, "activeNavItemId", void 0);
11458
- __decorate$3([
11465
+ __decorate$4([
11459
11466
  r()
11460
11467
  ], KRScaffold.prototype, "isNavScrolled", void 0);
11461
- __decorate$3([
11468
+ __decorate$4([
11462
11469
  r()
11463
11470
  ], KRScaffold.prototype, "isNavOpened", void 0);
11464
- __decorate$3([
11471
+ __decorate$4([
11465
11472
  r()
11466
11473
  ], KRScaffold.prototype, "isEditing", void 0);
11467
- __decorate$3([
11474
+ __decorate$4([
11468
11475
  r()
11469
11476
  ], KRScaffold.prototype, "isUserMenuOpen", void 0);
11470
- __decorate$3([
11477
+ __decorate$4([
11471
11478
  r()
11472
11479
  ], KRScaffold.prototype, "pref", void 0);
11473
- __decorate$3([
11480
+ __decorate$4([
11474
11481
  r()
11475
11482
  ], KRScaffold.prototype, "draggedNavItemId", void 0);
11476
- __decorate$3([
11483
+ __decorate$4([
11477
11484
  r()
11478
11485
  ], KRScaffold.prototype, "navItemDropTargetId", void 0);
11479
- __decorate$3([
11486
+ __decorate$4([
11480
11487
  r()
11481
11488
  ], KRScaffold.prototype, "navItemDropPosition", void 0);
11482
- __decorate$3([
11489
+ __decorate$4([
11483
11490
  r()
11484
11491
  ], KRScaffold.prototype, "pendingRequests", void 0);
11485
11492
  // Guarded registration: no-op if the tag is already defined, so a second copy of krubble on
@@ -11489,7 +11496,7 @@
11489
11496
  customElements.define('kr-scaffold', KRScaffold);
11490
11497
  }
11491
11498
 
11492
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
11499
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
11493
11500
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11494
11501
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11495
11502
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11523,7 +11530,7 @@
11523
11530
  * ```
11524
11531
  *
11525
11532
  * Actions render in a footer at the bottom of the nav column. With more than
11526
- * `maxVisibleActions` (default 3), the overflow collapses into a "More" dropdown.
11533
+ * `maxVisibleActions` (default 5), the overflow collapses into a "More" dropdown.
11527
11534
  * Listen for `action-click` to handle a click: `e.detail.action` is the action id.
11528
11535
  *
11529
11536
  * @slot - The main screen content
@@ -11533,7 +11540,7 @@
11533
11540
  * @property {KRScreenNavItem[]} items - Navigation items as JSON array
11534
11541
  * @property {string} activeId - Currently active item ID
11535
11542
  * @property {KRScreenNavAction[]} actions - Action buttons rendered in the nav footer
11536
- * @property {number} maxVisibleActions - Max inline actions before collapsing into a "More" dropdown (default 3)
11543
+ * @property {number} maxVisibleActions - Max inline actions before collapsing into a "More" dropdown (default 5)
11537
11544
  *
11538
11545
  * @fires action-click - When an action button (inline or overflow) is clicked; detail is `{ action: id }`
11539
11546
  */
@@ -11567,7 +11574,7 @@
11567
11574
  * used for the "More" button so the total footer button count never exceeds
11568
11575
  * this value.
11569
11576
  */
11570
- this.maxVisibleActions = 3;
11577
+ this.maxVisibleActions = 5;
11571
11578
  this.handlePopstate = () => {
11572
11579
  this.syncActiveFromUrl();
11573
11580
  };
@@ -11821,22 +11828,22 @@
11821
11828
  overflow-y: auto;
11822
11829
  }
11823
11830
  `;
11824
- __decorate$2([
11831
+ __decorate$3([
11825
11832
  n$1({ type: String })
11826
11833
  ], KRScreenNav.prototype, "label", void 0);
11827
- __decorate$2([
11834
+ __decorate$3([
11828
11835
  n$1({ type: String })
11829
11836
  ], KRScreenNav.prototype, "subLabel", void 0);
11830
- __decorate$2([
11837
+ __decorate$3([
11831
11838
  n$1({ type: Array })
11832
11839
  ], KRScreenNav.prototype, "items", void 0);
11833
- __decorate$2([
11840
+ __decorate$3([
11834
11841
  n$1({ type: String })
11835
11842
  ], KRScreenNav.prototype, "activeId", void 0);
11836
- __decorate$2([
11843
+ __decorate$3([
11837
11844
  n$1({ type: Array })
11838
11845
  ], KRScreenNav.prototype, "actions", void 0);
11839
- __decorate$2([
11846
+ __decorate$3([
11840
11847
  n$1({ type: Number })
11841
11848
  ], KRScreenNav.prototype, "maxVisibleActions", void 0);
11842
11849
  // Guarded registration: no-op if the tag is already defined, so a second copy of krubble on
@@ -11846,7 +11853,7 @@
11846
11853
  customElements.define('kr-screen-nav', KRScreenNav);
11847
11854
  }
11848
11855
 
11849
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
11856
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
11850
11857
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11851
11858
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11852
11859
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -11940,7 +11947,7 @@
11940
11947
  max-width: 700px;
11941
11948
  }
11942
11949
  `;
11943
- __decorate$1([
11950
+ __decorate$2([
11944
11951
  n$1({ type: String })
11945
11952
  ], KRScreenDetail.prototype, "title", void 0);
11946
11953
  // Guarded registration: no-op if the tag is already defined, so a second copy of krubble on
@@ -11950,7 +11957,7 @@
11950
11957
  customElements.define('kr-screen-detail', KRScreenDetail);
11951
11958
  }
11952
11959
 
11953
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
11960
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
11954
11961
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11955
11962
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11956
11963
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -12144,10 +12151,10 @@
12144
12151
  height: 18px;
12145
12152
  }
12146
12153
  `;
12147
- __decorate([
12154
+ __decorate$1([
12148
12155
  n$1({ type: Array })
12149
12156
  ], KRSubbar.prototype, "breadcrumbs", void 0);
12150
- __decorate([
12157
+ __decorate$1([
12151
12158
  n$1({ type: Boolean })
12152
12159
  ], KRSubbar.prototype, "menu", void 0);
12153
12160
  // Guarded registration: no-op if the tag is already defined, so a second copy of krubble on
@@ -12157,6 +12164,12 @@
12157
12164
  customElements.define('kr-subbar', KRSubbar);
12158
12165
  }
12159
12166
 
12167
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
12168
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
12169
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
12170
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12171
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12172
+ };
12160
12173
  class KRRouter {
12161
12174
  static configure(config) {
12162
12175
  KRRouter.base = config.base;
@@ -12173,9 +12186,171 @@
12173
12186
  if (!anchor.pathname.startsWith(KRRouter.base)) {
12174
12187
  return;
12175
12188
  }
12189
+ if (anchor.target === '_blank') {
12190
+ return;
12191
+ }
12176
12192
  e.preventDefault();
12177
12193
  KRRouter.navigate(anchor.pathname);
12178
12194
  });
12195
+ // Process each navigation. popstate covers every source — a link click, a KRRouter.navigate()
12196
+ // call (which dispatches one itself), and the browser's back/forward buttons.
12197
+ window.addEventListener('popstate', () => {
12198
+ KRRouter.handleNavigation();
12199
+ });
12200
+ // The initial page load fires no popstate, so process the URL the app booted on. Deferred to a
12201
+ // microtask rather than run synchronously: configure() is called while app.js is being evaluated
12202
+ // as an import, which happens BEFORE the importing module's body. Navigating synchronously here
12203
+ // would fire the first resolve() fetches before main.ts had run KRHttp.configure(), so they'd go
12204
+ // to the dev server's own origin (localhost:4201/api/...) instead of devUrl and 404.
12205
+ Promise.resolve().then(() => {
12206
+ KRRouter.handleNavigation();
12207
+ });
12208
+ }
12209
+ static handleNavigation() {
12210
+ const matched = KRRouter.matchRoutes();
12211
+ // Nothing matched (a stale or mistyped link). An unrecognized URL
12212
+ // shouldn't destroy the state of the screen the user is on.
12213
+ if (!matched.routes.length) {
12214
+ return;
12215
+ }
12216
+ // A route with children but no child segment in the URL resolves to its `default` child, so the
12217
+ // resolved url is longer than what's in the address bar (/pages/42 resolves pages/42/details).
12218
+ // Rewrite it so the URL reflects what's actually on screen.
12219
+ let resolvedPath = KRRouter.base;
12220
+ if (matched.url) {
12221
+ resolvedPath = KRRouter.base + '/' + matched.url;
12222
+ }
12223
+ if (window.location.pathname !== resolvedPath) {
12224
+ window.history.replaceState({}, '', resolvedPath);
12225
+ }
12226
+ // Drop cached entries for routes DEEPER than the URL we're navigating to — if the user navigates
12227
+ // up a level we assume they're moving on to a different task. This is what keeps the cache from
12228
+ // growing without bound.
12229
+ for (const key of KRRouter.routeCache.keys()) {
12230
+ if (matched.url.split('/').filter(s => s).length < key.split('/').filter(s => s).length) {
12231
+ KRRouter.routeCache.delete(key);
12232
+ }
12233
+ }
12234
+ const token = ++KRRouter.navToken;
12235
+ // Resolve every route's matching component (screen).
12236
+ Promise.all(matched.routes.map(match => {
12237
+ // Reuse the cached element for this url if we have one
12238
+ const cached = KRRouter.routeCache.get(match.url);
12239
+ if (cached) {
12240
+ return Promise.resolve(cached.el);
12241
+ }
12242
+ // Create and cache the screen element
12243
+ const el = document.createElement(match.route.component);
12244
+ KRRouter.routeCache.set(match.url, {
12245
+ el,
12246
+ scrolls: [],
12247
+ });
12248
+ // If the component class defines a static resolve(params), await it and hand the result to the
12249
+ // element as `routeSnapshot` = { params, data } before it mounts, so it paints with data instead
12250
+ // of flashing empty
12251
+ const constructor = customElements.get(match.route.component);
12252
+ if (constructor && typeof constructor.resolve === 'function') {
12253
+ return Promise.resolve(constructor.resolve(KRRouter.getParams())).then(data => {
12254
+ el.routeSnapshot = {
12255
+ params: match.params,
12256
+ data,
12257
+ };
12258
+ return el;
12259
+ });
12260
+ }
12261
+ return Promise.resolve(el);
12262
+ }))
12263
+ .then(elements => {
12264
+ // A newer navigation started while we were resolving — its elements are the current truth.
12265
+ if (token !== KRRouter.navToken) {
12266
+ return;
12267
+ }
12268
+ // ---- PASS 1: deactivate, deepest level first ----
12269
+ // Remove screen elements that no longer apply to the new current routes for the current url
12270
+ const levels = Array.from(KRRouter.outletContexts.keys()).sort((a, b) => b - a);
12271
+ for (const level of levels) {
12272
+ const context = KRRouter.outletContexts.get(level);
12273
+ if (!context?.outlet?.el || context.outlet.el === elements[level]) {
12274
+ continue;
12275
+ }
12276
+ // Capture the outgoing element's scroll positions into its cache entry, then unmount it.
12277
+ const outgoing = KRRouter.routeCache.get(context.url);
12278
+ if (outgoing) {
12279
+ outgoing.scrolls = KRRouter.getScrollableElements(context.outlet.el).map(scrollable => scrollable.scrollTop);
12280
+ }
12281
+ context.outlet.deactivate();
12282
+ context.element = null;
12283
+ context.url = '';
12284
+ }
12285
+ // Put each screen element into the appropriate router outlet
12286
+ elements.forEach((el, level) => {
12287
+ // First navigation to reach this depth has no context yet.
12288
+ let context = KRRouter.outletContexts.get(level);
12289
+ if (!context) {
12290
+ context = {
12291
+ outlet: null,
12292
+ element: null,
12293
+ url: '',
12294
+ };
12295
+ KRRouter.outletContexts.set(level, context);
12296
+ }
12297
+ context.element = el;
12298
+ context.url = matched.routes[level].url;
12299
+ if (context.outlet && context.outlet.el !== el) {
12300
+ context.outlet.activate(el);
12301
+ // Put back the scroll positions captured when the user last left this element.
12302
+ const cached = KRRouter.routeCache.get(context.url);
12303
+ if (cached?.scrolls.length) {
12304
+ setTimeout(() => {
12305
+ const scrollables = KRRouter.getScrollableElements(cached.el);
12306
+ cached.scrolls.forEach((top, index) => {
12307
+ if (scrollables[index]) {
12308
+ scrollables[index].scrollTop = top;
12309
+ }
12310
+ });
12311
+ }, 0);
12312
+ }
12313
+ }
12314
+ });
12315
+ });
12316
+ }
12317
+ // An outlet announces itself here when it connects and takes whatever element its context holds.
12318
+ static registerOutlet(level, outlet) {
12319
+ // No context yet when an outlet connects before a navigation
12320
+ let context = KRRouter.outletContexts.get(level);
12321
+ if (!context) {
12322
+ context = {
12323
+ outlet: null,
12324
+ element: null,
12325
+ url: '',
12326
+ };
12327
+ KRRouter.outletContexts.set(level, context);
12328
+ }
12329
+ context.outlet = outlet;
12330
+ // An outlet re-attached with its element already mounted (a cached parent coming back) must not
12331
+ // restore scroll again — that would overwrite the live position with a stale one.
12332
+ if (context.element && outlet.el !== context.element) {
12333
+ outlet.activate(context.element);
12334
+ // Same scroll restore as the activation pass in handleNavigation — this is the path taken when
12335
+ // the outlet didn't exist yet at navigation time, which for us is the common case.
12336
+ const cached = KRRouter.routeCache.get(context.url);
12337
+ if (cached?.scrolls.length) {
12338
+ setTimeout(() => {
12339
+ const scrollables = KRRouter.getScrollableElements(cached.el);
12340
+ cached.scrolls.forEach((top, index) => {
12341
+ if (scrollables[index]) {
12342
+ scrollables[index].scrollTop = top;
12343
+ }
12344
+ });
12345
+ }, 0);
12346
+ }
12347
+ }
12348
+ }
12349
+ static unregisterOutlet(level, outlet) {
12350
+ const context = KRRouter.outletContexts.get(level);
12351
+ if (context && context.outlet === outlet) {
12352
+ context.outlet = null;
12353
+ }
12179
12354
  }
12180
12355
  static navigate(path) {
12181
12356
  let fullPath = path;
@@ -12186,53 +12361,92 @@
12186
12361
  window.dispatchEvent(new PopStateEvent('popstate'));
12187
12362
  }
12188
12363
  static getParams() {
12189
- const matched = KRRouter.matchAll();
12364
+ const matched = KRRouter.matchRoutes();
12190
12365
  const params = {};
12191
- for (const match of matched) {
12366
+ for (const match of matched.routes) {
12192
12367
  for (const key in match.params) {
12193
12368
  params[key] = decodeURIComponent(match.params[key]);
12194
12369
  }
12195
12370
  }
12196
12371
  return params;
12197
12372
  }
12198
- static outlet(level) {
12199
- const matched = KRRouter.matchAll();
12200
- if (level >= matched.length) {
12201
- return null;
12202
- }
12203
- const match = matched[level];
12204
- const tag = match.route.component;
12205
- const cached = KRRouter.elementCache.get(level + ':' + tag);
12206
- if (cached) {
12207
- return cached;
12208
- }
12209
- // Clear old cache entry for this level
12210
- for (const key of KRRouter.elementCache.keys()) {
12211
- if (key.startsWith(level + ':')) {
12212
- KRRouter.elementCache.delete(key);
12213
- }
12214
- }
12215
- const el = document.createElement(tag);
12216
- KRRouter.elementCache.set(level + ':' + tag, el);
12217
- return el;
12218
- }
12219
- static matchAll() {
12220
- const path = window.location.pathname;
12221
- let relative = path;
12222
- if (path.startsWith(KRRouter.base)) {
12223
- relative = path.slice(KRRouter.base.length);
12373
+ // Every scrollable element in and under `root`, in document order — piercing shadow roots.
12374
+ static getScrollableElements(root) {
12375
+ const scrollables = [];
12376
+ // Depth-first pre-order, each node's shadow root before its light children. An explicit stack
12377
+ // rather than recursion; pushing children in reverse makes them pop in document order, which keeps
12378
+ // the sequence identical to the recursive walk this replaces. The ORDER is load-bearing: capture
12379
+ // and restore index into the returned list positionally, so both passes must enumerate the same
12380
+ // nodes in the same sequence.
12381
+ const stack = [root];
12382
+ while (stack.length) {
12383
+ const node = stack.pop();
12384
+ if (!node) {
12385
+ break;
12386
+ }
12387
+ const style = getComputedStyle(node);
12388
+ if (style.overflow === 'auto'
12389
+ || style.overflow === 'scroll'
12390
+ || style.overflowY === 'auto'
12391
+ || style.overflowY === 'scroll') {
12392
+ scrollables.push(node);
12393
+ }
12394
+ // Shadow children first so they occupy the same positions the recursion gave them.
12395
+ const children = [];
12396
+ if (node.shadowRoot) {
12397
+ children.push(...Array.from(node.shadowRoot.children));
12398
+ }
12399
+ children.push(...Array.from(node.children));
12400
+ for (let index = children.length - 1; index >= 0; index--) {
12401
+ stack.push(children[index]);
12402
+ }
12403
+ }
12404
+ return scrollables;
12405
+ }
12406
+ // Match the CURRENT browser URL against the route defs.
12407
+ //
12408
+ // Example, with base '/operations/app/ai-cms' and the routes configured in app.ts:
12409
+ //
12410
+ // URL /operations/app/ai-cms/pages/42/seo
12411
+ // segments ['pages', '42', 'seo'] (base stripped, split on '/')
12412
+ // returns {
12413
+ // routes: [
12414
+ // { route: { path: 'pages/:contentPageID', component: 'kt-page' }, params: { contentPageID: '42' }, url: 'pages/42' },
12415
+ // { route: { path: 'seo', component: 'kt-page-seo' }, params: {}, url: 'pages/42/seo' },
12416
+ // ],
12417
+ // url: 'pages/42/seo',
12418
+ // }
12419
+ //
12420
+ // Three other shapes worth knowing:
12421
+ //
12422
+ // .../pages/42 a route with children but no child segment resolves its `default` child, so this
12423
+ // returns BOTH levels and a url of 'pages/42/details' — longer than the address
12424
+ // bar. handleNavigation() is what syncs the URL to it; this function is pure and
12425
+ // never touches history.
12426
+ // .../ (no segments) matches the path:'' route, returning a single entry for kt-home.
12427
+ // .../nope no route matches, returning no routes and an empty url.
12428
+ static matchRoutes(routes = KRRouter.routes, segments) {
12429
+ // An empty array is a legitimate "nothing left to match" from a recursive call and stays as-is —
12430
+ // only a genuinely absent argument (the entry call) reaches for the browser URL.
12431
+ if (!segments) {
12432
+ let relative = window.location.pathname;
12433
+ if (relative.startsWith(KRRouter.base)) {
12434
+ relative = relative.slice(KRRouter.base.length);
12435
+ }
12436
+ segments = relative.split('/').filter(s => s);
12224
12437
  }
12225
- const segments = relative.split('/').filter(s => s);
12226
- return KRRouter.matchRoutes(KRRouter.routes, segments);
12227
- }
12228
- static matchRoutes(routes, segments) {
12229
12438
  for (const route of routes) {
12230
12439
  const routeSegments = route.path.split('/').filter(s => s);
12440
+ // index route {path: '', component: kt-home}
12231
12441
  if (routeSegments.length === 0 && segments.length === 0) {
12232
- return [{
12233
- route,
12234
- params: {}
12235
- }];
12442
+ return {
12443
+ routes: [{
12444
+ route,
12445
+ params: {},
12446
+ url: ''
12447
+ }],
12448
+ url: ''
12449
+ };
12236
12450
  }
12237
12451
  if (routeSegments.length === 0) {
12238
12452
  continue;
@@ -12255,56 +12469,86 @@
12255
12469
  continue;
12256
12470
  }
12257
12471
  const remaining = segments.slice(routeSegments.length);
12258
- // If there are remaining segments but no children, this route doesn't fully match — try next route
12259
- if (remaining.length > 0 && !route.children) {
12260
- continue;
12261
- }
12262
- const result = [{
12472
+ // This level's own resolved URL: the segments it consumed, with :params swapped for their real
12473
+ // values. Children come back from the recursion holding only THEIR portion, so we prefix each
12474
+ // with this as the recursion unwinds — every entry ends up with the full path from the root.
12475
+ const url = segments.slice(0, routeSegments.length).join('/');
12476
+ const matchedRoutes = [{
12263
12477
  route,
12264
- params
12478
+ params,
12479
+ url
12265
12480
  }];
12266
- if (route.children && remaining.length > 0) {
12267
- const childMatches = KRRouter.matchRoutes(route.children, remaining);
12268
- if (childMatches.length > 0) {
12269
- result.push(...childMatches);
12270
- return result;
12481
+ if (remaining.length > 0) {
12482
+ // Segments left over and nowhere to put them — this route doesn't fully match the URL, so try
12483
+ // the next one. Without this, a route would be accepted having consumed only part of the URL:
12484
+ // /pages/42/seo would match {path: 'pages'} and render the Pages list. It also narrows
12485
+ // route.children for the call below, which matters because matchRoutes' first parameter has a
12486
+ // DEFAULT — passing undefined would silently re-match from the top-level routes rather than
12487
+ // failing.
12488
+ if (!route.children) {
12489
+ continue;
12490
+ }
12491
+ const childMatch = KRRouter.matchRoutes(route.children, remaining);
12492
+ if (childMatch.routes.length > 0) {
12493
+ for (const child of childMatch.routes) {
12494
+ child.url = url + '/' + child.url;
12495
+ }
12496
+ matchedRoutes.push(...childMatch.routes);
12497
+ return {
12498
+ routes: matchedRoutes,
12499
+ url: url + '/' + childMatch.url
12500
+ };
12271
12501
  }
12272
12502
  }
12273
- // No remaining segments + default child — redirect
12503
+ // No remaining segments + a default child — resolve as though that child's segment were in the
12504
+ // URL. We do NOT rewrite the address bar here; matching stays pure. handleNavigation() syncs the
12505
+ // URL to the resolved `url` this returns.
12274
12506
  if (route.children && remaining.length === 0 && route.default) {
12275
- window.history.replaceState({}, '', window.location.pathname + '/' + route.default);
12276
- const childMatches = KRRouter.matchRoutes(route.children, [route.default]);
12277
- if (childMatches.length > 0) {
12278
- result.push(...childMatches);
12279
- return result;
12507
+ const childMatch = KRRouter.matchRoutes(route.children, [route.default]);
12508
+ if (childMatch.routes.length > 0) {
12509
+ for (const child of childMatch.routes) {
12510
+ child.url = url + '/' + child.url;
12511
+ }
12512
+ matchedRoutes.push(...childMatch.routes);
12513
+ return {
12514
+ routes: matchedRoutes,
12515
+ url: url + '/' + childMatch.url
12516
+ };
12280
12517
  }
12281
12518
  }
12282
- return result;
12519
+ return {
12520
+ routes: matchedRoutes,
12521
+ url
12522
+ };
12283
12523
  }
12284
- return [];
12524
+ return {
12525
+ routes: [],
12526
+ url: ''
12527
+ };
12285
12528
  }
12286
12529
  }
12287
12530
  KRRouter.base = '';
12288
12531
  KRRouter.routes = [];
12289
- KRRouter.elementCache = new Map();
12290
- class KRRouterOutlet extends i$3 {
12532
+ KRRouter.routeCache = new Map();
12533
+ // One context per nesting level — Angular's ChildrenOutletContexts, keyed by level rather than by
12534
+ // outlet name since we only have one (primary) outlet per level. Outlets are DRIVEN through these;
12535
+ // they never ask the router for anything.
12536
+ KRRouter.outletContexts = new Map();
12537
+ // One token per navigation. A slower navigation that has been superseded must not activate its
12538
+ // (stale) elements, so it checks the token before committing anything.
12539
+ KRRouter.navToken = 0;
12540
+ exports.RouterOutlet = class KRRouterOutlet extends i$3 {
12291
12541
  constructor() {
12292
12542
  super(...arguments);
12293
12543
  this.level = -1;
12294
- this.handlePopState = () => {
12295
- this.requestUpdate();
12296
- };
12544
+ // The element the router has told this outlet to show.
12545
+ this.el = null;
12297
12546
  }
12298
12547
  connectedCallback() {
12299
12548
  super.connectedCallback();
12300
- this.level = this.detectLevel();
12301
- window.addEventListener('popstate', this.handlePopState);
12302
- }
12303
- disconnectedCallback() {
12304
- super.disconnectedCallback();
12305
- window.removeEventListener('popstate', this.handlePopState);
12306
- }
12307
- detectLevel() {
12549
+ // This outlet's nesting depth = how many kr-router-outlet ancestors it has, which is only
12550
+ // knowable once attached. Walk up through shadow boundaries too (via ShadowRoot.host), since a
12551
+ // nested outlet lives inside its parent element's shadow root and parentNode stops at the root.
12308
12552
  let level = 0;
12309
12553
  let node = this;
12310
12554
  while (node) {
@@ -12322,32 +12566,41 @@
12322
12566
  node = null;
12323
12567
  }
12324
12568
  }
12325
- return level;
12569
+ this.level = level;
12570
+ KRRouter.registerOutlet(this.level, this);
12571
+ }
12572
+ disconnectedCallback() {
12573
+ super.disconnectedCallback();
12574
+ KRRouter.unregisterOutlet(this.level, this);
12575
+ }
12576
+ activate(el) {
12577
+ this.el = el;
12578
+ }
12579
+ deactivate() {
12580
+ this.el = null;
12326
12581
  }
12327
12582
  render() {
12328
- const el = KRRouter.outlet(this.level);
12329
- if (!el) {
12583
+ if (!this.el) {
12330
12584
  return b ``;
12331
12585
  }
12332
- return b `${el}`;
12586
+ return b `${this.el}`;
12333
12587
  }
12334
- }
12335
- KRRouterOutlet.styles = i$6 `
12588
+ };
12589
+ exports.RouterOutlet.styles = i$6 `
12336
12590
  :host {
12337
12591
  display: block;
12338
12592
  height: 100%;
12339
12593
  }
12340
12594
  `;
12341
- // Guarded registration: no-op if the tag is already defined, so a second copy of krubble on
12342
- // the page (e.g. the Operations shell loads krubble globally while an embedded app bundled its
12343
- // own copy) doesn't throw. First definition wins.
12344
- if (!customElements.get('kr-router-outlet')) {
12345
- customElements.define('kr-router-outlet', KRRouterOutlet);
12346
- }
12595
+ __decorate([
12596
+ r()
12597
+ ], exports.RouterOutlet.prototype, "el", void 0);
12598
+ exports.RouterOutlet = __decorate([
12599
+ t$2('kr-router-outlet')
12600
+ ], exports.RouterOutlet);
12347
12601
 
12348
12602
  exports.Chatbot = KRChatbot;
12349
12603
  exports.Router = KRRouter;
12350
- exports.RouterOutlet = KRRouterOutlet;
12351
12604
  exports.Scaffold = KRScaffold;
12352
12605
  exports.ScreenDetail = KRScreenDetail;
12353
12606
  exports.ScreenNav = KRScreenNav;