@kyndryl-design-system/shidoka-applications 2.117.0 → 2.117.2

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.
@@ -13,10 +13,12 @@ export declare class PageTitle extends LitElement {
13
13
  static styles: import("lit").CSSResult;
14
14
  /** Headline text. */
15
15
  accessor headLine: string;
16
- /** Page title text (required). Used as fallback when no contextual item is selected. */
16
+ /** Page title text (required). Used as fallback when no contextual item is selected. Truncated to 35 characters by default. */
17
17
  accessor pageTitle: string;
18
18
  /** Page subtitle text. */
19
19
  accessor subTitle: string;
20
+ /** When true, disables the default 35-character title truncation. */
21
+ accessor truncationOverride: boolean;
20
22
  /** Type of page title. Controls typography, color, icon scale, and heading level: `'primary'` (h1), `'secondary'` (h2), or `'tertiary'` (h3). */
21
23
  accessor type: string;
22
24
  /** Set this to `true` for AI theme. */
@@ -47,6 +49,9 @@ export declare class PageTitle extends LitElement {
47
49
  updated(changedProps: Map<string, unknown>): void;
48
50
  private _syncOptions;
49
51
  private _handleSlotChange;
52
+ /** Default max characters for the displayed page title. */
53
+ private static readonly TITLE_MAX_LENGTH;
54
+ private _getFullTitle;
50
55
  private _getDisplayTitle;
51
56
  private _emitChange;
52
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pageTitle.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/pagetitle/pageTitle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAUlD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;GAOG;AAEH,qBACa,SAAU,SAAQ,UAAU;IACvC,OAAgB,MAAM,0BAA4B;IAElD,qBAAqB;IAErB,QAAQ,CAAC,QAAQ,SAAM;IAEvB,wFAAwF;IAExF,QAAQ,CAAC,SAAS,SAAM;IAExB,0BAA0B;IAE1B,QAAQ,CAAC,QAAQ,SAAM;IAEvB,iJAAiJ;IAEjJ,QAAQ,CAAC,IAAI,SAAa;IAE1B,uCAAuC;IAEvC,QAAQ,CAAC,WAAW,UAAS;IAE7B,qEAAqE;IAErE,QAAQ,CAAC,UAAU,UAAS;IAE5B,+CAA+C;IAE/C,QAAQ,CAAC,IAAI,UAAS;IAEtB;;OAEG;IAEH,QAAQ,CAAC,aAAa,SAAM;IAE5B;;;OAGG;IAEH,QAAQ,CAAC,QAAQ,EAAG,KAAK,CAAC,eAAe,CAAC,CAAC;IAE3C;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAItB;IAEF;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAaxB;IAEO,iBAAiB;IAMjB,oBAAoB;IAMpB,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMnD,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,qBAAqB;IAkC7B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,cAAc;IAcb,MAAM;IAwCf,OAAO,CAAC,sBAAsB;CAmC/B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,SAAS,CAAC;KAC7B;CACF"}
1
+ {"version":3,"file":"pageTitle.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/pagetitle/pageTitle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,MAAM,KAAK,CAAC;AAU3D,OAAO,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;GAOG;AAEH,qBACa,SAAU,SAAQ,UAAU;IACvC,OAAgB,MAAM,0BAA4B;IAElD,qBAAqB;IAErB,QAAQ,CAAC,QAAQ,SAAM;IAEvB,+HAA+H;IAE/H,QAAQ,CAAC,SAAS,SAAM;IAExB,0BAA0B;IAE1B,QAAQ,CAAC,QAAQ,SAAM;IAEvB,qEAAqE;IAErE,QAAQ,CAAC,kBAAkB,UAAS;IAEpC,iJAAiJ;IAEjJ,QAAQ,CAAC,IAAI,SAAa;IAE1B,uCAAuC;IAEvC,QAAQ,CAAC,WAAW,UAAS;IAE7B,qEAAqE;IAErE,QAAQ,CAAC,UAAU,UAAS;IAE5B,+CAA+C;IAE/C,QAAQ,CAAC,IAAI,UAAS;IAEtB;;OAEG;IAEH,QAAQ,CAAC,aAAa,SAAM;IAE5B;;;OAGG;IAEH,QAAQ,CAAC,QAAQ,EAAG,KAAK,CAAC,eAAe,CAAC,CAAC;IAE3C;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAItB;IAEF;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAaxB;IAEO,iBAAiB;IAMjB,oBAAoB;IAMpB,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMnD,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,iBAAiB;IAKzB,2DAA2D;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAE9C,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,qBAAqB;IAkC7B,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,cAAc;IAqBb,MAAM;IA2Cf,OAAO,CAAC,sBAAsB;CAqC/B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,SAAS,CAAC;KAC7B;CACF"}
@@ -1,4 +1,4 @@
1
- import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPrivateFieldGet as n,__classPrivateFieldSet as a}from"tslib";import{css as o,LitElement as r,unsafeCSS as s,html as l}from"lit";import{customElement as d,property as h,queryAssignedElements as c}from"lit/decorators.js";import{classMap as p}from"lit/directives/class-map.js";import{unsafeSVG as g}from"lit/directives/unsafe-svg.js";import{B as m}from"../../../vendor/@kyndryl-design-system/shidoka-icons-DG_R4Jwh.js";import"./pageTitleOption.js";var v=o`*,
1
+ import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPrivateFieldGet as n,__classPrivateFieldSet as a}from"tslib";import{css as o,LitElement as r,unsafeCSS as s,nothing as l,html as d}from"lit";import{customElement as h,property as c,queryAssignedElements as p}from"lit/decorators.js";import{classMap as g}from"lit/directives/class-map.js";import{unsafeSVG as m}from"lit/directives/unsafe-svg.js";import{B as v}from"../../../vendor/@kyndryl-design-system/shidoka-icons-DG_R4Jwh.js";import"./pageTitleOption.js";var u=o`*,
2
2
  *::before,
3
3
  *::after {
4
4
  box-sizing: border-box;
@@ -360,7 +360,13 @@ import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPr
360
360
  opacity: 1;
361
361
  visibility: visible;
362
362
  z-index: 11;
363
- }`;let u=(()=>{var o,u,f,y,k,x,b,w,z;let _,C,T,$,D,S,L,V,j,E,O,M=[d("kyn-page-title")],W=[],q=r,H=[],R=[],A=[],B=[],K=[],P=[],U=[],I=[],Y=[],F=[],G=[],J=[],N=[],Q=[],X=[],Z=[],ee=[],te=[];return C=class extends q{constructor(){super(...arguments),o.set(this,i(this,H,"")),u.set(this,(i(this,R),i(this,A,""))),f.set(this,(i(this,B),i(this,K,""))),y.set(this,(i(this,P),i(this,U,"primary"))),k.set(this,(i(this,I),i(this,Y,!1))),x.set(this,(i(this,F),i(this,G,!1))),b.set(this,(i(this,J),i(this,N,!1))),w.set(this,(i(this,Q),i(this,X,""))),z.set(this,(i(this,Z),i(this,ee,void 0))),this._onDocumentClick=(i(this,te),e=>{e.composedPath().includes(this)||this._closeDropdown()}),this._handleOptionClick=e=>{var t,i;const n=e.detail;e.stopPropagation();const a=this.selectedValue!==n.value;this.selectedValue=n.value,this._syncOptions(),a&&this._emitChange(n),this._closeDropdown(),null===(i=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(".contextual-trigger"))||void 0===i||i.focus()}}get headLine(){return n(this,o,"f")}set headLine(e){a(this,o,e,"f")}get pageTitle(){return n(this,u,"f")}set pageTitle(e){a(this,u,e,"f")}get subTitle(){return n(this,f,"f")}set subTitle(e){a(this,f,e,"f")}get type(){return n(this,y,"f")}set type(e){a(this,y,e,"f")}get aiConnected(){return n(this,k,"f")}set aiConnected(e){a(this,k,e,"f")}get contextual(){return n(this,x,"f")}set contextual(e){a(this,x,e,"f")}get open(){return n(this,b,"f")}set open(e){a(this,b,e,"f")}get selectedValue(){return n(this,w,"f")}set selectedValue(e){a(this,w,e,"f")}get _options(){return n(this,z,"f")}set _options(e){a(this,z,e,"f")}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this._onDocumentClick),this.addEventListener("on-option-click",this._handleOptionClick)}disconnectedCallback(){document.removeEventListener("click",this._onDocumentClick),this.removeEventListener("on-option-click",this._handleOptionClick),super.disconnectedCallback()}updated(e){e.has("selectedValue")&&this._syncOptions()}_syncOptions(){var e;if(!(null===(e=this._options)||void 0===e?void 0:e.length))return;this._options.find((e=>e.value===this.selectedValue))||!this._options.length?this._options.forEach((e=>{e.selected=e.value===this.selectedValue})):this.selectedValue=this._options[0].value}_handleSlotChange(){this._syncOptions(),this.requestUpdate()}_getDisplayTitle(){var e;if(this.contextual){const t=null===(e=this._options)||void 0===e?void 0:e.find((e=>e.selected));return(null==t?void 0:t.text)||this.pageTitle}return this.pageTitle}_emitChange(e){this.dispatchEvent(new CustomEvent("on-change",{detail:{value:e.value,text:e.text},bubbles:!0,composed:!0}))}_toggleDropdown(){this.open=!this.open}_closeDropdown(){this.open=!1}_handleTriggerKeydown(e){switch(e.key){case"Escape":this._closeDropdown();break;case"ArrowDown":e.preventDefault(),this.open||(this.open=!0),this.updateComplete.then((()=>{var e,t,i,n;null===(n=null===(i=null===(t=null===(e=this._options)||void 0===e?void 0:e[0])||void 0===t?void 0:t.shadowRoot)||void 0===i?void 0:i.querySelector('[role="option"]'))||void 0===n||n.focus()}));break;case"ArrowUp":e.preventDefault(),this.open||(this.open=!0),this.updateComplete.then((()=>{var e,t,i;const n=null===(e=this._options)||void 0===e?void 0:e[this._options.length-1];null===(i=null===(t=null==n?void 0:n.shadowRoot)||void 0===t?void 0:t.querySelector('[role="option"]'))||void 0===i||i.focus()}))}}_handleListboxKeydown(e){var t,i,n,a,o,r;if(!(null===(t=this._options)||void 0===t?void 0:t.length))return;if("ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"Escape"!==e.key)return;if("Escape"===e.key)return this._closeDropdown(),void(null===(n=null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector(".contextual-trigger"))||void 0===n||n.focus());e.preventDefault();const s=document.activeElement,l=this._options.findIndex((e=>{var t;return e===s||(null===(t=e.shadowRoot)||void 0===t?void 0:t.contains(s))})),d=l>=0?l:0;let h;h="ArrowDown"===e.key?d===this._options.length-1?0:d+1:0===d?this._options.length-1:d-1,null===(r=null===(o=null===(a=this._options[h])||void 0===a?void 0:a.shadowRoot)||void 0===o?void 0:o.querySelector('[role="option"]'))||void 0===r||r.focus()}_getHeadingTag(){switch(this.type){case"secondary":return"h2";case"tertiary":return"h3";default:return"h1"}}_renderHeading(e,t){switch(this._getHeadingTag()){case"h2":return l`<h2 class="${p(e)}">${t}</h2>`;case"h3":return l`<h3 class="${p(e)}">${t}</h3>`;default:return l`<h1 class="${p(e)}">${t}</h1>`}}render(){const e={"page-title":!0,[`page-title-${this.type}`]:!0,"ai-connected":this.aiConnected},t={"page-subtitle":!0,[`page-subtitle-${this.type}`]:!0},i=this._getDisplayTitle();return l`
363
+ }`;let f=(()=>{var o,f,y,k,x,b,w,z,_,T;let $,C,L,D,E,O,S,M,V,j,W,H,A=[h("kyn-page-title")],q=[],R=r,B=[],I=[],K=[],P=[],G=[],N=[],U=[],X=[],F=[],Y=[],J=[],Q=[],Z=[],ee=[],te=[],ie=[],ne=[],ae=[],oe=[],re=[];var se=C=class extends R{constructor(){super(...arguments),o.set(this,i(this,B,"")),f.set(this,(i(this,I),i(this,K,""))),y.set(this,(i(this,P),i(this,G,""))),k.set(this,(i(this,N),i(this,U,!1))),x.set(this,(i(this,X),i(this,F,"primary"))),b.set(this,(i(this,Y),i(this,J,!1))),w.set(this,(i(this,Q),i(this,Z,!1))),z.set(this,(i(this,ee),i(this,te,!1))),_.set(this,(i(this,ie),i(this,ne,""))),T.set(this,(i(this,ae),i(this,oe,void 0))),this._onDocumentClick=(i(this,re),e=>{e.composedPath().includes(this)||this._closeDropdown()}),this._handleOptionClick=e=>{var t,i;const n=e.detail;e.stopPropagation();const a=this.selectedValue!==n.value;this.selectedValue=n.value,this._syncOptions(),a&&this._emitChange(n),this._closeDropdown(),null===(i=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(".contextual-trigger"))||void 0===i||i.focus()}}get headLine(){return n(this,o,"f")}set headLine(e){a(this,o,e,"f")}get pageTitle(){return n(this,f,"f")}set pageTitle(e){a(this,f,e,"f")}get subTitle(){return n(this,y,"f")}set subTitle(e){a(this,y,e,"f")}get truncationOverride(){return n(this,k,"f")}set truncationOverride(e){a(this,k,e,"f")}get type(){return n(this,x,"f")}set type(e){a(this,x,e,"f")}get aiConnected(){return n(this,b,"f")}set aiConnected(e){a(this,b,e,"f")}get contextual(){return n(this,w,"f")}set contextual(e){a(this,w,e,"f")}get open(){return n(this,z,"f")}set open(e){a(this,z,e,"f")}get selectedValue(){return n(this,_,"f")}set selectedValue(e){a(this,_,e,"f")}get _options(){return n(this,T,"f")}set _options(e){a(this,T,e,"f")}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this._onDocumentClick),this.addEventListener("on-option-click",this._handleOptionClick)}disconnectedCallback(){document.removeEventListener("click",this._onDocumentClick),this.removeEventListener("on-option-click",this._handleOptionClick),super.disconnectedCallback()}updated(e){e.has("selectedValue")&&this._syncOptions()}_syncOptions(){var e;if(!(null===(e=this._options)||void 0===e?void 0:e.length))return;this._options.find((e=>e.value===this.selectedValue))||!this._options.length?this._options.forEach((e=>{e.selected=e.value===this.selectedValue})):this.selectedValue=this._options[0].value}_handleSlotChange(){this._syncOptions(),this.requestUpdate()}_getFullTitle(){var e;if(this.contextual){const t=null===(e=this._options)||void 0===e?void 0:e.find((e=>e.selected));return(null==t?void 0:t.text)||this.pageTitle}return this.pageTitle}_getDisplayTitle(e){return this.truncationOverride||e.length<=se.TITLE_MAX_LENGTH?e:`${e.slice(0,se.TITLE_MAX_LENGTH)}...`}_emitChange(e){this.dispatchEvent(new CustomEvent("on-change",{detail:{value:e.value,text:e.text},bubbles:!0,composed:!0}))}_toggleDropdown(){this.open=!this.open}_closeDropdown(){this.open=!1}_handleTriggerKeydown(e){switch(e.key){case"Escape":this._closeDropdown();break;case"ArrowDown":e.preventDefault(),this.open||(this.open=!0),this.updateComplete.then((()=>{var e,t,i,n;null===(n=null===(i=null===(t=null===(e=this._options)||void 0===e?void 0:e[0])||void 0===t?void 0:t.shadowRoot)||void 0===i?void 0:i.querySelector('[role="option"]'))||void 0===n||n.focus()}));break;case"ArrowUp":e.preventDefault(),this.open||(this.open=!0),this.updateComplete.then((()=>{var e,t,i;const n=null===(e=this._options)||void 0===e?void 0:e[this._options.length-1];null===(i=null===(t=null==n?void 0:n.shadowRoot)||void 0===t?void 0:t.querySelector('[role="option"]'))||void 0===i||i.focus()}))}}_handleListboxKeydown(e){var t,i,n,a,o,r;if(!(null===(t=this._options)||void 0===t?void 0:t.length))return;if("ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"Escape"!==e.key)return;if("Escape"===e.key)return this._closeDropdown(),void(null===(n=null===(i=this.shadowRoot)||void 0===i?void 0:i.querySelector(".contextual-trigger"))||void 0===n||n.focus());e.preventDefault();const s=document.activeElement,l=this._options.findIndex((e=>{var t;return e===s||(null===(t=e.shadowRoot)||void 0===t?void 0:t.contains(s))})),d=l>=0?l:0;let h;h="ArrowDown"===e.key?d===this._options.length-1?0:d+1:0===d?this._options.length-1:d-1,null===(r=null===(o=null===(a=this._options[h])||void 0===a?void 0:a.shadowRoot)||void 0===o?void 0:o.querySelector('[role="option"]'))||void 0===r||r.focus()}_getHeadingTag(){switch(this.type){case"secondary":return"h2";case"tertiary":return"h3";default:return"h1"}}_renderHeading(e,t,i=l){switch(this._getHeadingTag()){case"h2":return d`<h2 class="${g(e)}" title="${i}">
364
+ ${t}
365
+ </h2>`;case"h3":return d`<h3 class="${g(e)}" title="${i}">
366
+ ${t}
367
+ </h3>`;default:return d`<h1 class="${g(e)}" title="${i}">
368
+ ${t}
369
+ </h1>`}}render(){const e={"page-title":!0,[`page-title-${this.type}`]:!0,"ai-connected":this.aiConnected},t={"page-subtitle":!0,[`page-subtitle-${this.type}`]:!0},i=this._getFullTitle(),n=this._getDisplayTitle(i),a=n!==i?i:l;return d`
364
370
  <div class="page-title-wrapper">
365
371
  <div class="icon-wrapper">
366
372
  <slot name="icon"></slot>
@@ -368,18 +374,18 @@ import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPr
368
374
 
369
375
  <div class="page-title-text-wrapper">
370
376
  <!-- Headline -->
371
- ${""!==this.headLine?l`<div class="page-headline">${this.headLine}</div>`:null}
377
+ ${""!==this.headLine?d`<div class="page-headline">${this.headLine}</div>`:null}
372
378
  <!-- Title -->
373
- ${this.contextual?this._renderContextualTitle(e,i):this._renderHeading(e,i)}
379
+ ${this.contextual?this._renderContextualTitle(e,n,a):this._renderHeading(e,n,a)}
374
380
  <!-- Subtitle -->
375
- ${""!==this.subTitle?l`<div class="${p(t)}">
381
+ ${""!==this.subTitle?d`<div class="${g(t)}">
376
382
  ${this.subTitle}
377
383
  </div>`:null}
378
384
  </div>
379
385
  </div>
380
- `}_renderContextualTitle(e,t){return l`
386
+ `}_renderContextualTitle(e,t,i=l){return d`
381
387
  <div class="contextual-wrapper">
382
- ${this._renderHeading(e,l`<button
388
+ ${this._renderHeading(e,d`<button
383
389
  class="contextual-trigger"
384
390
  aria-expanded="${this.open}"
385
391
  aria-haspopup="listbox"
@@ -389,9 +395,9 @@ import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPr
389
395
  >
390
396
  <span class="contextual-label">${t}</span>
391
397
  <span class="chevron-icon ${this.open?"chevron-icon--open":""}">
392
- ${g(m)}
398
+ ${m(v)}
393
399
  </span>
394
- </button>`)}
400
+ </button>`,i)}
395
401
  <div
396
402
  id="contextual-listbox"
397
403
  class="contextual-dropdown ${this.open?"contextual-dropdown--open":""}"
@@ -401,5 +407,5 @@ import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPr
401
407
  <slot @slotchange="${this._handleSlotChange}"></slot>
402
408
  </div>
403
409
  </div>
404
- `}},o=new WeakMap,u=new WeakMap,f=new WeakMap,y=new WeakMap,k=new WeakMap,x=new WeakMap,b=new WeakMap,w=new WeakMap,z=new WeakMap,e(C,"PageTitle"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=q[Symbol.metadata])&&void 0!==e?e:null):void 0;T=[h({type:String})],$=[h({type:String})],D=[h({type:String})],S=[h({type:String,reflect:!0})],L=[h({type:Boolean})],V=[h({type:Boolean,reflect:!0})],j=[h({type:Boolean,reflect:!0})],E=[h({type:String,reflect:!0})],O=[c({selector:"kyn-pagetitle-option"})],t(C,null,T,{kind:"accessor",name:"headLine",static:!1,private:!1,access:{has:e=>"headLine"in e,get:e=>e.headLine,set:(e,t)=>{e.headLine=t}},metadata:i},H,R),t(C,null,$,{kind:"accessor",name:"pageTitle",static:!1,private:!1,access:{has:e=>"pageTitle"in e,get:e=>e.pageTitle,set:(e,t)=>{e.pageTitle=t}},metadata:i},A,B),t(C,null,D,{kind:"accessor",name:"subTitle",static:!1,private:!1,access:{has:e=>"subTitle"in e,get:e=>e.subTitle,set:(e,t)=>{e.subTitle=t}},metadata:i},K,P),t(C,null,S,{kind:"accessor",name:"type",static:!1,private:!1,access:{has:e=>"type"in e,get:e=>e.type,set:(e,t)=>{e.type=t}},metadata:i},U,I),t(C,null,L,{kind:"accessor",name:"aiConnected",static:!1,private:!1,access:{has:e=>"aiConnected"in e,get:e=>e.aiConnected,set:(e,t)=>{e.aiConnected=t}},metadata:i},Y,F),t(C,null,V,{kind:"accessor",name:"contextual",static:!1,private:!1,access:{has:e=>"contextual"in e,get:e=>e.contextual,set:(e,t)=>{e.contextual=t}},metadata:i},G,J),t(C,null,j,{kind:"accessor",name:"open",static:!1,private:!1,access:{has:e=>"open"in e,get:e=>e.open,set:(e,t)=>{e.open=t}},metadata:i},N,Q),t(C,null,E,{kind:"accessor",name:"selectedValue",static:!1,private:!1,access:{has:e=>"selectedValue"in e,get:e=>e.selectedValue,set:(e,t)=>{e.selectedValue=t}},metadata:i},X,Z),t(C,null,O,{kind:"accessor",name:"_options",static:!1,private:!1,access:{has:e=>"_options"in e,get:e=>e._options,set:(e,t)=>{e._options=t}},metadata:i},ee,te),t(null,_={value:C},M,{kind:"class",name:C.name,metadata:i},null,W),C=_.value,i&&Object.defineProperty(C,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),C.styles=s(v),i(C,W),C})();export{u as PageTitle};
410
+ `}};return o=new WeakMap,f=new WeakMap,y=new WeakMap,k=new WeakMap,x=new WeakMap,b=new WeakMap,w=new WeakMap,z=new WeakMap,_=new WeakMap,T=new WeakMap,e(C,"PageTitle"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=R[Symbol.metadata])&&void 0!==e?e:null):void 0;L=[c({type:String})],D=[c({type:String})],E=[c({type:String})],O=[c({type:Boolean})],S=[c({type:String,reflect:!0})],M=[c({type:Boolean})],V=[c({type:Boolean,reflect:!0})],j=[c({type:Boolean,reflect:!0})],W=[c({type:String,reflect:!0})],H=[p({selector:"kyn-pagetitle-option"})],t(C,null,L,{kind:"accessor",name:"headLine",static:!1,private:!1,access:{has:e=>"headLine"in e,get:e=>e.headLine,set:(e,t)=>{e.headLine=t}},metadata:i},B,I),t(C,null,D,{kind:"accessor",name:"pageTitle",static:!1,private:!1,access:{has:e=>"pageTitle"in e,get:e=>e.pageTitle,set:(e,t)=>{e.pageTitle=t}},metadata:i},K,P),t(C,null,E,{kind:"accessor",name:"subTitle",static:!1,private:!1,access:{has:e=>"subTitle"in e,get:e=>e.subTitle,set:(e,t)=>{e.subTitle=t}},metadata:i},G,N),t(C,null,O,{kind:"accessor",name:"truncationOverride",static:!1,private:!1,access:{has:e=>"truncationOverride"in e,get:e=>e.truncationOverride,set:(e,t)=>{e.truncationOverride=t}},metadata:i},U,X),t(C,null,S,{kind:"accessor",name:"type",static:!1,private:!1,access:{has:e=>"type"in e,get:e=>e.type,set:(e,t)=>{e.type=t}},metadata:i},F,Y),t(C,null,M,{kind:"accessor",name:"aiConnected",static:!1,private:!1,access:{has:e=>"aiConnected"in e,get:e=>e.aiConnected,set:(e,t)=>{e.aiConnected=t}},metadata:i},J,Q),t(C,null,V,{kind:"accessor",name:"contextual",static:!1,private:!1,access:{has:e=>"contextual"in e,get:e=>e.contextual,set:(e,t)=>{e.contextual=t}},metadata:i},Z,ee),t(C,null,j,{kind:"accessor",name:"open",static:!1,private:!1,access:{has:e=>"open"in e,get:e=>e.open,set:(e,t)=>{e.open=t}},metadata:i},te,ie),t(C,null,W,{kind:"accessor",name:"selectedValue",static:!1,private:!1,access:{has:e=>"selectedValue"in e,get:e=>e.selectedValue,set:(e,t)=>{e.selectedValue=t}},metadata:i},ne,ae),t(C,null,H,{kind:"accessor",name:"_options",static:!1,private:!1,access:{has:e=>"_options"in e,get:e=>e._options,set:(e,t)=>{e._options=t}},metadata:i},oe,re),t(null,$={value:C},A,{kind:"class",name:C.name,metadata:i},null,q),se=C=$.value,i&&Object.defineProperty(C,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),C.styles=s(u),C.TITLE_MAX_LENGTH=35,i(C,q),se=C})();export{f as PageTitle};
405
411
  //# sourceMappingURL=pageTitle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pageTitle.js","sources":["../../../../src/components/reusable/pagetitle/pageTitle.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n queryAssignedElements,\n} from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport downIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/24/chevron-down.svg';\nimport PageTitleScss from './pageTitle.scss?inline';\nimport './pageTitleOption';\nimport type { PageTitleOption } from './pageTitleOption';\n\n/**\n * Page Title\n *\n * If the contextual variant is used to trigger navigation, consider using anchor elements instead, as buttons do not convey destination information to assistive technology users.\n * @slot icon - Slot for icon. Use a duotone icon up to 56px for `type=\"primary\"`, or a monotone icon sized to match smaller types.\n * @slot unnamed - Slot for `kyn-pagetitle-option` elements when using the contextual variant.\n * @fires on-change - Fired when a contextual dropdown item is selected. Detail: `{ value: string, text: string }`.\n */\n\n@customElement('kyn-page-title')\nexport class PageTitle extends LitElement {\n static override styles = unsafeCSS(PageTitleScss);\n\n /** Headline text. */\n @property({ type: String })\n accessor headLine = '';\n\n /** Page title text (required). Used as fallback when no contextual item is selected. */\n @property({ type: String })\n accessor pageTitle = '';\n\n /** Page subtitle text. */\n @property({ type: String })\n accessor subTitle = '';\n\n /** Type of page title. Controls typography, color, icon scale, and heading level: `'primary'` (h1), `'secondary'` (h2), or `'tertiary'` (h3). */\n @property({ type: String, reflect: true })\n accessor type = 'primary';\n\n /** Set this to `true` for AI theme. */\n @property({ type: Boolean })\n accessor aiConnected = false;\n\n /** Enables the contextual dropdown variant with a chevron toggle. */\n @property({ type: Boolean, reflect: true })\n accessor contextual = false;\n\n /** Whether the contextual dropdown is open. */\n @property({ type: Boolean, reflect: true })\n accessor open = false;\n\n /** The value of the currently selected contextual item. Auto-selects first item if not set.\n * @internal\n */\n @property({ type: String, reflect: true })\n accessor selectedValue = '';\n\n /**\n * Slotted `kyn-pagetitle-option` elements.\n * @internal\n */\n @queryAssignedElements({ selector: 'kyn-pagetitle-option' })\n accessor _options!: Array<PageTitleOption>;\n\n /**\n * @ignore\n */\n private _onDocumentClick = (e: Event) => {\n if (!e.composedPath().includes(this)) {\n this._closeDropdown();\n }\n };\n\n /**\n * @ignore\n */\n private _handleOptionClick = (e: Event) => {\n const detail = (e as CustomEvent).detail;\n e.stopPropagation();\n const changed = this.selectedValue !== detail.value;\n this.selectedValue = detail.value;\n this._syncOptions();\n if (changed) {\n this._emitChange(detail);\n }\n this._closeDropdown();\n this.shadowRoot\n ?.querySelector<HTMLButtonElement>('.contextual-trigger')\n ?.focus();\n };\n\n override connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._onDocumentClick);\n this.addEventListener('on-option-click', this._handleOptionClick);\n }\n\n override disconnectedCallback() {\n document.removeEventListener('click', this._onDocumentClick);\n this.removeEventListener('on-option-click', this._handleOptionClick);\n super.disconnectedCallback();\n }\n\n override updated(changedProps: Map<string, unknown>) {\n if (changedProps.has('selectedValue')) {\n this._syncOptions();\n }\n }\n\n private _syncOptions() {\n if (!this._options?.length) return;\n\n // Auto-select first if selectedValue doesn't match any option\n const match = this._options.find((o) => o.value === this.selectedValue);\n if (!match && this._options.length) {\n this.selectedValue = this._options[0].value;\n return; // will re-trigger via updated()\n }\n\n this._options.forEach((option) => {\n option.selected = option.value === this.selectedValue;\n });\n }\n\n private _handleSlotChange() {\n this._syncOptions();\n this.requestUpdate();\n }\n\n private _getDisplayTitle(): string {\n if (this.contextual) {\n const selected = this._options?.find((o) => o.selected);\n return selected?.text || this.pageTitle;\n }\n return this.pageTitle;\n }\n\n private _emitChange(item: { value: string; text: string }) {\n this.dispatchEvent(\n new CustomEvent('on-change', {\n detail: { value: item.value, text: item.text },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n /**\n * @internal\n */\n private _toggleDropdown() {\n this.open = !this.open;\n }\n\n private _closeDropdown() {\n this.open = false;\n }\n\n private _handleTriggerKeydown(e: KeyboardEvent) {\n switch (e.key) {\n case 'Escape':\n this._closeDropdown();\n break;\n case 'ArrowDown':\n e.preventDefault();\n if (!this.open) {\n this.open = true;\n }\n this.updateComplete.then(() => {\n this._options?.[0]?.shadowRoot\n ?.querySelector<HTMLElement>('[role=\"option\"]')\n ?.focus();\n });\n break;\n case 'ArrowUp':\n e.preventDefault();\n if (!this.open) {\n this.open = true;\n }\n this.updateComplete.then(() => {\n const last = this._options?.[this._options.length - 1];\n last?.shadowRoot\n ?.querySelector<HTMLElement>('[role=\"option\"]')\n ?.focus();\n });\n break;\n }\n }\n\n private _handleListboxKeydown(e: KeyboardEvent) {\n if (!this._options?.length) return;\n if (e.key !== 'ArrowDown' && e.key !== 'ArrowUp' && e.key !== 'Escape')\n return;\n\n if (e.key === 'Escape') {\n this._closeDropdown();\n this.shadowRoot\n ?.querySelector<HTMLButtonElement>('.contextual-trigger')\n ?.focus();\n return;\n }\n\n e.preventDefault();\n\n // Find currently focused option\n const activeEl = document.activeElement;\n const idx = this._options.findIndex(\n (o) => o === activeEl || o.shadowRoot?.contains(activeEl as Node)\n );\n const currentIdx = idx >= 0 ? idx : 0;\n\n let nextIdx: number;\n if (e.key === 'ArrowDown') {\n nextIdx = currentIdx === this._options.length - 1 ? 0 : currentIdx + 1;\n } else {\n nextIdx = currentIdx === 0 ? this._options.length - 1 : currentIdx - 1;\n }\n\n this._options[nextIdx]?.shadowRoot\n ?.querySelector<HTMLElement>('[role=\"option\"]')\n ?.focus();\n }\n\n private _getHeadingTag(): 'h1' | 'h2' | 'h3' {\n switch (this.type) {\n case 'secondary':\n return 'h2';\n case 'tertiary':\n return 'h3';\n default:\n return 'h1';\n }\n }\n\n private _renderHeading(\n classes: Record<string, boolean>,\n content: unknown\n ) {\n switch (this._getHeadingTag()) {\n case 'h2':\n return html`<h2 class=\"${classMap(classes)}\">${content}</h2>`;\n case 'h3':\n return html`<h3 class=\"${classMap(classes)}\">${content}</h3>`;\n default:\n return html`<h1 class=\"${classMap(classes)}\">${content}</h1>`;\n }\n }\n\n override render() {\n const classes = {\n 'page-title': true,\n [`page-title-${this.type}`]: true,\n 'ai-connected': this.aiConnected,\n };\n\n const subTitleClasses = {\n 'page-subtitle': true,\n [`page-subtitle-${this.type}`]: true,\n };\n\n const displayTitle = this._getDisplayTitle();\n\n return html`\n <div class=\"page-title-wrapper\">\n <div class=\"icon-wrapper\">\n <slot name=\"icon\"></slot>\n </div>\n\n <div class=\"page-title-text-wrapper\">\n <!-- Headline -->\n ${this.headLine !== ''\n ? html`<div class=\"page-headline\">${this.headLine}</div>`\n : null}\n <!-- Title -->\n ${this.contextual\n ? this._renderContextualTitle(classes, displayTitle)\n : this._renderHeading(classes, displayTitle)}\n <!-- Subtitle -->\n ${this.subTitle !== ''\n ? html`<div class=\"${classMap(subTitleClasses)}\">\n ${this.subTitle}\n </div>`\n : null}\n </div>\n </div>\n `;\n }\n\n private _renderContextualTitle(\n classes: Record<string, boolean>,\n displayTitle: string\n ) {\n return html`\n <div class=\"contextual-wrapper\">\n ${this._renderHeading(\n classes,\n html`<button\n class=\"contextual-trigger\"\n aria-expanded=\"${this.open}\"\n aria-haspopup=\"listbox\"\n aria-controls=\"contextual-listbox\"\n @click=\"${this._toggleDropdown}\"\n @keydown=\"${this._handleTriggerKeydown}\"\n >\n <span class=\"contextual-label\">${displayTitle}</span>\n <span class=\"chevron-icon ${this.open ? 'chevron-icon--open' : ''}\">\n ${unsafeSVG(downIcon)}\n </span>\n </button>`\n )}\n <div\n id=\"contextual-listbox\"\n class=\"contextual-dropdown ${this.open\n ? 'contextual-dropdown--open'\n : ''}\"\n role=\"listbox\"\n @keydown=\"${this._handleListboxKeydown}\"\n >\n <slot @slotchange=\"${this._handleSlotChange}\"></slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-page-title': PageTitle;\n }\n}\n"],"names":["PageTitle","customElement","LitElement","_classThis","_classSuper","_PageTitle_headLine_accessor_storage","set","this","__runInitializers","_headLine_initializers","_PageTitle_pageTitle_accessor_storage","_headLine_extraInitializers","_pageTitle_initializers","_PageTitle_subTitle_accessor_storage","_pageTitle_extraInitializers","_subTitle_initializers","_PageTitle_type_accessor_storage","_subTitle_extraInitializers","_type_initializers","_PageTitle_aiConnected_accessor_storage","_type_extraInitializers","_aiConnected_initializers","_PageTitle_contextual_accessor_storage","_aiConnected_extraInitializers","_contextual_initializers","_PageTitle_open_accessor_storage","_contextual_extraInitializers","_open_initializers","_PageTitle_selectedValue_accessor_storage","_open_extraInitializers","_selectedValue_initializers","_PageTitle__options_accessor_storage","_selectedValue_extraInitializers","__options_initializers","_onDocumentClick","__options_extraInitializers","e","composedPath","includes","_closeDropdown","_handleOptionClick","detail","stopPropagation","changed","selectedValue","value","_syncOptions","_emitChange","_b","_a","shadowRoot","querySelector","focus","headLine","__classPrivateFieldGet","__classPrivateFieldSet","pageTitle","subTitle","type","aiConnected","contextual","open","_options","connectedCallback","super","document","addEventListener","disconnectedCallback","removeEventListener","updated","changedProps","has","length","find","o","forEach","option","selected","_handleSlotChange","requestUpdate","_getDisplayTitle","text","item","dispatchEvent","CustomEvent","bubbles","composed","_toggleDropdown","_handleTriggerKeydown","key","preventDefault","updateComplete","then","_d","_c","last","_handleListboxKeydown","activeEl","activeElement","idx","findIndex","contains","currentIdx","nextIdx","_f","_e","_getHeadingTag","_renderHeading","classes","content","html","classMap","render","subTitleClasses","displayTitle","_renderContextualTitle","unsafeSVG","downIcon","_headLine_decorators","property","String","_pageTitle_decorators","_subTitle_decorators","reflect","_aiConnected_decorators","Boolean","__options_decorators","queryAssignedElements","selector","__esDecorate","kind","name","static","private","access","obj","get","metadata","_metadata","_type_decorators","_contextual_decorators","_open_decorators","_selectedValue_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","PageTitleScss"],"mappings":"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"}
1
+ {"version":3,"file":"pageTitle.js","sources":["../../../../src/components/reusable/pagetitle/pageTitle.ts"],"sourcesContent":["import { LitElement, html, nothing, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n queryAssignedElements,\n} from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport downIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/24/chevron-down.svg';\nimport PageTitleScss from './pageTitle.scss?inline';\nimport './pageTitleOption';\nimport type { PageTitleOption } from './pageTitleOption';\n\n/**\n * Page Title\n *\n * If the contextual variant is used to trigger navigation, consider using anchor elements instead, as buttons do not convey destination information to assistive technology users.\n * @slot icon - Slot for icon. Use a duotone icon up to 56px for `type=\"primary\"`, or a monotone icon sized to match smaller types.\n * @slot unnamed - Slot for `kyn-pagetitle-option` elements when using the contextual variant.\n * @fires on-change - Fired when a contextual dropdown item is selected. Detail: `{ value: string, text: string }`.\n */\n\n@customElement('kyn-page-title')\nexport class PageTitle extends LitElement {\n static override styles = unsafeCSS(PageTitleScss);\n\n /** Headline text. */\n @property({ type: String })\n accessor headLine = '';\n\n /** Page title text (required). Used as fallback when no contextual item is selected. Truncated to 35 characters by default. */\n @property({ type: String })\n accessor pageTitle = '';\n\n /** Page subtitle text. */\n @property({ type: String })\n accessor subTitle = '';\n\n /** When true, disables the default 35-character title truncation. */\n @property({ type: Boolean })\n accessor truncationOverride = false;\n\n /** Type of page title. Controls typography, color, icon scale, and heading level: `'primary'` (h1), `'secondary'` (h2), or `'tertiary'` (h3). */\n @property({ type: String, reflect: true })\n accessor type = 'primary';\n\n /** Set this to `true` for AI theme. */\n @property({ type: Boolean })\n accessor aiConnected = false;\n\n /** Enables the contextual dropdown variant with a chevron toggle. */\n @property({ type: Boolean, reflect: true })\n accessor contextual = false;\n\n /** Whether the contextual dropdown is open. */\n @property({ type: Boolean, reflect: true })\n accessor open = false;\n\n /** The value of the currently selected contextual item. Auto-selects first item if not set.\n * @internal\n */\n @property({ type: String, reflect: true })\n accessor selectedValue = '';\n\n /**\n * Slotted `kyn-pagetitle-option` elements.\n * @internal\n */\n @queryAssignedElements({ selector: 'kyn-pagetitle-option' })\n accessor _options!: Array<PageTitleOption>;\n\n /**\n * @ignore\n */\n private _onDocumentClick = (e: Event) => {\n if (!e.composedPath().includes(this)) {\n this._closeDropdown();\n }\n };\n\n /**\n * @ignore\n */\n private _handleOptionClick = (e: Event) => {\n const detail = (e as CustomEvent).detail;\n e.stopPropagation();\n const changed = this.selectedValue !== detail.value;\n this.selectedValue = detail.value;\n this._syncOptions();\n if (changed) {\n this._emitChange(detail);\n }\n this._closeDropdown();\n this.shadowRoot\n ?.querySelector<HTMLButtonElement>('.contextual-trigger')\n ?.focus();\n };\n\n override connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._onDocumentClick);\n this.addEventListener('on-option-click', this._handleOptionClick);\n }\n\n override disconnectedCallback() {\n document.removeEventListener('click', this._onDocumentClick);\n this.removeEventListener('on-option-click', this._handleOptionClick);\n super.disconnectedCallback();\n }\n\n override updated(changedProps: Map<string, unknown>) {\n if (changedProps.has('selectedValue')) {\n this._syncOptions();\n }\n }\n\n private _syncOptions() {\n if (!this._options?.length) return;\n\n // Auto-select first if selectedValue doesn't match any option\n const match = this._options.find((o) => o.value === this.selectedValue);\n if (!match && this._options.length) {\n this.selectedValue = this._options[0].value;\n return; // will re-trigger via updated()\n }\n\n this._options.forEach((option) => {\n option.selected = option.value === this.selectedValue;\n });\n }\n\n private _handleSlotChange() {\n this._syncOptions();\n this.requestUpdate();\n }\n\n /** Default max characters for the displayed page title. */\n private static readonly TITLE_MAX_LENGTH = 35;\n\n private _getFullTitle(): string {\n if (this.contextual) {\n const selected = this._options?.find((o) => o.selected);\n return selected?.text || this.pageTitle;\n }\n return this.pageTitle;\n }\n\n private _getDisplayTitle(fullTitle: string): string {\n if (\n this.truncationOverride ||\n fullTitle.length <= PageTitle.TITLE_MAX_LENGTH\n ) {\n return fullTitle;\n }\n return `${fullTitle.slice(0, PageTitle.TITLE_MAX_LENGTH)}...`;\n }\n\n private _emitChange(item: { value: string; text: string }) {\n this.dispatchEvent(\n new CustomEvent('on-change', {\n detail: { value: item.value, text: item.text },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n /**\n * @internal\n */\n private _toggleDropdown() {\n this.open = !this.open;\n }\n\n private _closeDropdown() {\n this.open = false;\n }\n\n private _handleTriggerKeydown(e: KeyboardEvent) {\n switch (e.key) {\n case 'Escape':\n this._closeDropdown();\n break;\n case 'ArrowDown':\n e.preventDefault();\n if (!this.open) {\n this.open = true;\n }\n this.updateComplete.then(() => {\n this._options?.[0]?.shadowRoot\n ?.querySelector<HTMLElement>('[role=\"option\"]')\n ?.focus();\n });\n break;\n case 'ArrowUp':\n e.preventDefault();\n if (!this.open) {\n this.open = true;\n }\n this.updateComplete.then(() => {\n const last = this._options?.[this._options.length - 1];\n last?.shadowRoot\n ?.querySelector<HTMLElement>('[role=\"option\"]')\n ?.focus();\n });\n break;\n }\n }\n\n private _handleListboxKeydown(e: KeyboardEvent) {\n if (!this._options?.length) return;\n if (e.key !== 'ArrowDown' && e.key !== 'ArrowUp' && e.key !== 'Escape')\n return;\n\n if (e.key === 'Escape') {\n this._closeDropdown();\n this.shadowRoot\n ?.querySelector<HTMLButtonElement>('.contextual-trigger')\n ?.focus();\n return;\n }\n\n e.preventDefault();\n\n // Find currently focused option\n const activeEl = document.activeElement;\n const idx = this._options.findIndex(\n (o) => o === activeEl || o.shadowRoot?.contains(activeEl as Node)\n );\n const currentIdx = idx >= 0 ? idx : 0;\n\n let nextIdx: number;\n if (e.key === 'ArrowDown') {\n nextIdx = currentIdx === this._options.length - 1 ? 0 : currentIdx + 1;\n } else {\n nextIdx = currentIdx === 0 ? this._options.length - 1 : currentIdx - 1;\n }\n\n this._options[nextIdx]?.shadowRoot\n ?.querySelector<HTMLElement>('[role=\"option\"]')\n ?.focus();\n }\n\n private _getHeadingTag(): 'h1' | 'h2' | 'h3' {\n switch (this.type) {\n case 'secondary':\n return 'h2';\n case 'tertiary':\n return 'h3';\n default:\n return 'h1';\n }\n }\n\n private _renderHeading(\n classes: Record<string, boolean>,\n content: unknown,\n titleTooltip: string | typeof nothing = nothing\n ) {\n switch (this._getHeadingTag()) {\n case 'h2':\n return html`<h2 class=\"${classMap(classes)}\" title=\"${titleTooltip}\">\n ${content}\n </h2>`;\n case 'h3':\n return html`<h3 class=\"${classMap(classes)}\" title=\"${titleTooltip}\">\n ${content}\n </h3>`;\n default:\n return html`<h1 class=\"${classMap(classes)}\" title=\"${titleTooltip}\">\n ${content}\n </h1>`;\n }\n }\n\n override render() {\n const classes = {\n 'page-title': true,\n [`page-title-${this.type}`]: true,\n 'ai-connected': this.aiConnected,\n };\n\n const subTitleClasses = {\n 'page-subtitle': true,\n [`page-subtitle-${this.type}`]: true,\n };\n\n const fullTitle = this._getFullTitle();\n const displayTitle = this._getDisplayTitle(fullTitle);\n const titleTooltip =\n displayTitle !== fullTitle ? fullTitle : nothing;\n\n return html`\n <div class=\"page-title-wrapper\">\n <div class=\"icon-wrapper\">\n <slot name=\"icon\"></slot>\n </div>\n\n <div class=\"page-title-text-wrapper\">\n <!-- Headline -->\n ${this.headLine !== ''\n ? html`<div class=\"page-headline\">${this.headLine}</div>`\n : null}\n <!-- Title -->\n ${this.contextual\n ? this._renderContextualTitle(classes, displayTitle, titleTooltip)\n : this._renderHeading(classes, displayTitle, titleTooltip)}\n <!-- Subtitle -->\n ${this.subTitle !== ''\n ? html`<div class=\"${classMap(subTitleClasses)}\">\n ${this.subTitle}\n </div>`\n : null}\n </div>\n </div>\n `;\n }\n\n private _renderContextualTitle(\n classes: Record<string, boolean>,\n displayTitle: string,\n titleTooltip: string | typeof nothing = nothing\n ) {\n return html`\n <div class=\"contextual-wrapper\">\n ${this._renderHeading(\n classes,\n html`<button\n class=\"contextual-trigger\"\n aria-expanded=\"${this.open}\"\n aria-haspopup=\"listbox\"\n aria-controls=\"contextual-listbox\"\n @click=\"${this._toggleDropdown}\"\n @keydown=\"${this._handleTriggerKeydown}\"\n >\n <span class=\"contextual-label\">${displayTitle}</span>\n <span class=\"chevron-icon ${this.open ? 'chevron-icon--open' : ''}\">\n ${unsafeSVG(downIcon)}\n </span>\n </button>`,\n titleTooltip\n )}\n <div\n id=\"contextual-listbox\"\n class=\"contextual-dropdown ${this.open\n ? 'contextual-dropdown--open'\n : ''}\"\n role=\"listbox\"\n @keydown=\"${this._handleListboxKeydown}\"\n >\n <slot @slotchange=\"${this._handleSlotChange}\"></slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-page-title': PageTitle;\n }\n}\n"],"names":["PageTitle","customElement","LitElement","_classThis","_classSuper","_PageTitle_headLine_accessor_storage","set","this","__runInitializers","_headLine_initializers","_PageTitle_pageTitle_accessor_storage","_headLine_extraInitializers","_pageTitle_initializers","_PageTitle_subTitle_accessor_storage","_pageTitle_extraInitializers","_subTitle_initializers","_PageTitle_truncationOverride_accessor_storage","_subTitle_extraInitializers","_truncationOverride_initializers","_PageTitle_type_accessor_storage","_truncationOverride_extraInitializers","_type_initializers","_PageTitle_aiConnected_accessor_storage","_type_extraInitializers","_aiConnected_initializers","_PageTitle_contextual_accessor_storage","_aiConnected_extraInitializers","_contextual_initializers","_PageTitle_open_accessor_storage","_contextual_extraInitializers","_open_initializers","_PageTitle_selectedValue_accessor_storage","_open_extraInitializers","_selectedValue_initializers","_PageTitle__options_accessor_storage","_selectedValue_extraInitializers","__options_initializers","_onDocumentClick","__options_extraInitializers","e","composedPath","includes","_closeDropdown","_handleOptionClick","detail","stopPropagation","changed","selectedValue","value","_syncOptions","_emitChange","_b","_a","shadowRoot","querySelector","focus","headLine","__classPrivateFieldGet","__classPrivateFieldSet","pageTitle","subTitle","truncationOverride","type","aiConnected","contextual","open","_options","connectedCallback","super","document","addEventListener","disconnectedCallback","removeEventListener","updated","changedProps","has","length","find","o","forEach","option","selected","_handleSlotChange","requestUpdate","_getFullTitle","text","_getDisplayTitle","fullTitle","TITLE_MAX_LENGTH","slice","item","dispatchEvent","CustomEvent","bubbles","composed","_toggleDropdown","_handleTriggerKeydown","key","preventDefault","updateComplete","then","_d","_c","last","_handleListboxKeydown","activeEl","activeElement","idx","findIndex","contains","currentIdx","nextIdx","_f","_e","_getHeadingTag","_renderHeading","classes","content","titleTooltip","nothing","html","classMap","render","subTitleClasses","displayTitle","_renderContextualTitle","unsafeSVG","downIcon","_headLine_decorators","property","String","_pageTitle_decorators","_subTitle_decorators","_truncationOverride_decorators","Boolean","reflect","_aiConnected_decorators","__options_decorators","queryAssignedElements","selector","__esDecorate","kind","name","static","private","access","obj","get","metadata","_metadata","_type_decorators","_contextual_decorators","_open_decorators","_selectedValue_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","PageTitleScss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuBaA,EAAS,6DADrBC,EAAc,0BACgBC,6GAAR,IAAAF,GAAAG,EAAA,cAAQC,oCAKpBC,EAAAC,IAAAC,KAAAC,EAAAD,KAAAE,EAAW,KAIXC,EAAAJ,IAAAC,MAAAC,EAAAD,KAAAI,GAAAH,EAAAD,KAAAK,EAAY,MAIZC,EAAAP,IAAAC,MAAAC,EAAAD,KAAAO,GAAAN,EAAAD,KAAAQ,EAAW,MAIXC,EAAAV,IAAAC,MAAAC,EAAAD,KAAAU,GAAAT,EAAAD,KAAAW,GAAqB,KAIrBC,EAAAb,IAAAC,MAAAC,EAAAD,KAAAa,GAAAZ,EAAAD,KAAAc,EAAO,aAIPC,EAAAhB,IAAAC,MAAAC,EAAAD,KAAAgB,GAAAf,EAAAD,KAAAiB,GAAc,KAIdC,EAAAnB,IAAAC,MAAAC,EAAAD,KAAAmB,GAAAlB,EAAAD,KAAAoB,GAAa,KAIbC,EAAAtB,IAAAC,MAAAC,EAAAD,KAAAsB,IAAArB,EAAAD,KAAAuB,IAAO,KAMPC,EAAAzB,IAAAC,MAAAC,EAAAD,KAAAyB,IAAAxB,EAAAD,KAAA0B,GAAgB,MAOhBC,EAAA5B,IAAAC,MAAAC,EAAAD,KAAA4B,IAAA3B,EAAAD,KAAA6B,QAAA,KAKD7B,KAAA8B,kBAAgB7B,EAAAD,KAAA+B,IAAIC,IACrBA,EAAEC,eAAeC,SAASlC,OAC7BA,KAAKmC,gBACP,GAMMnC,KAAAoC,mBAAsBJ,YAC5B,MAAMK,EAAUL,EAAkBK,OAClCL,EAAEM,kBACF,MAAMC,EAAUvC,KAAKwC,gBAAkBH,EAAOI,MAC9CzC,KAAKwC,cAAgBH,EAAOI,MAC5BzC,KAAK0C,eACDH,GACFvC,KAAK2C,YAAYN,GAEnBrC,KAAKmC,iBAEsD,QAD3DS,EAAe,QAAfC,EAAA7C,KAAK8C,kBAAU,IAAAD,OAAA,EAAAA,EACXE,cAAiC,8BAAsB,IAAAH,GAAAA,EACvDI,OAAO,CAoQf,CAvUE,YAASC,GAAQ,OAAAC,EAAAlD,KAAAF,EAAA,IAAA,CAAjB,YAASmD,CAAQR,GAAAU,EAAAnD,KAAAF,EAAA2C,EAAA,IAAA,CAIjB,aAASW,GAAS,OAAAF,EAAAlD,KAAAG,EAAA,IAAA,CAAlB,aAASiD,CAASX,GAAAU,EAAAnD,KAAAG,EAAAsC,EAAA,IAAA,CAIlB,YAASY,GAAQ,OAAAH,EAAAlD,KAAAM,EAAA,IAAA,CAAjB,YAAS+C,CAAQZ,GAAAU,EAAAnD,KAAAM,EAAAmC,EAAA,IAAA,CAIjB,sBAASa,GAAkB,OAAAJ,EAAAlD,KAAAS,EAAA,IAAA,CAA3B,sBAAS6C,CAAkBb,GAAAU,EAAAnD,KAAAS,EAAAgC,EAAA,IAAA,CAI3B,QAASc,GAAI,OAAAL,EAAAlD,KAAAY,EAAA,IAAA,CAAb,QAAS2C,CAAId,GAAAU,EAAAnD,KAAAY,EAAA6B,EAAA,IAAA,CAIb,eAASe,GAAW,OAAAN,EAAAlD,KAAAe,EAAA,IAAA,CAApB,eAASyC,CAAWf,GAAAU,EAAAnD,KAAAe,EAAA0B,EAAA,IAAA,CAIpB,cAASgB,GAAU,OAAAP,EAAAlD,KAAAkB,EAAA,IAAA,CAAnB,cAASuC,CAAUhB,GAAAU,EAAAnD,KAAAkB,EAAAuB,EAAA,IAAA,CAInB,QAASiB,GAAI,OAAAR,EAAAlD,KAAAqB,EAAA,IAAA,CAAb,QAASqC,CAAIjB,GAAAU,EAAAnD,KAAAqB,EAAAoB,EAAA,IAAA,CAMb,iBAASD,GAAa,OAAAU,EAAAlD,KAAAwB,EAAA,IAAA,CAAtB,iBAASgB,CAAaC,GAAAU,EAAAnD,KAAAwB,EAAAiB,EAAA,IAAA,CAOtB,YAASkB,GAAQ,OAAAT,EAAAlD,KAAA2B,EAAA,IAAA,CAAjB,YAASgC,CAAQlB,GAAAU,EAAAnD,KAAA2B,EAAAc,EAAA,IAAA,CA6BR,iBAAAmB,GACPC,MAAMD,oBACNE,SAASC,iBAAiB,QAAS/D,KAAK8B,kBACxC9B,KAAK+D,iBAAiB,kBAAmB/D,KAAKoC,mBAChD,CAES,oBAAA4B,GACPF,SAASG,oBAAoB,QAASjE,KAAK8B,kBAC3C9B,KAAKiE,oBAAoB,kBAAmBjE,KAAKoC,oBACjDyB,MAAMG,sBACR,CAES,OAAAE,CAAQC,GACXA,EAAaC,IAAI,kBACnBpE,KAAK0C,cAET,CAEQ,YAAAA,SACN,KAAkB,QAAbG,EAAA7C,KAAK2D,gBAAQ,IAAAd,OAAA,EAAAA,EAAEwB,QAAQ,OAGdrE,KAAK2D,SAASW,MAAMC,GAAMA,EAAE9B,QAAUzC,KAAKwC,kBAC3CxC,KAAK2D,SAASU,OAK5BrE,KAAK2D,SAASa,SAASC,IACrBA,EAAOC,SAAWD,EAAOhC,QAAUzC,KAAKwC,aAAa,IALrDxC,KAAKwC,cAAgBxC,KAAK2D,SAAS,GAAGlB,KAO1C,CAEQ,iBAAAkC,GACN3E,KAAK0C,eACL1C,KAAK4E,eACP,CAKQ,aAAAC,SACN,GAAI7E,KAAKyD,WAAY,CACnB,MAAMiB,UAAW7B,EAAA7C,KAAK2D,+BAAUW,MAAMC,GAAMA,EAAEG,WAC9C,OAAOA,aAAQ,EAARA,EAAUI,OAAQ9E,KAAKoD,SAChC,CACA,OAAOpD,KAAKoD,SACd,CAEQ,gBAAA2B,CAAiBC,GACvB,OACEhF,KAAKsD,oBACL0B,EAAUX,QAAU5E,GAAUwF,iBAEvBD,EAEF,GAAGA,EAAUE,MAAM,EAAGzF,GAAUwF,sBACzC,CAEQ,WAAAtC,CAAYwC,GAClBnF,KAAKoF,cACH,IAAIC,YAAY,YAAa,CAC3BhD,OAAQ,CAAEI,MAAO0C,EAAK1C,MAAOqC,KAAMK,EAAKL,MACxCQ,SAAS,EACTC,UAAU,IAGhB,CAKQ,eAAAC,GACNxF,KAAK0D,MAAQ1D,KAAK0D,IACpB,CAEQ,cAAAvB,GACNnC,KAAK0D,MAAO,CACd,CAEQ,qBAAA+B,CAAsBzD,GAC5B,OAAQA,EAAE0D,KACR,IAAK,SACH1F,KAAKmC,iBACL,MACF,IAAK,YACHH,EAAE2D,iBACG3F,KAAK0D,OACR1D,KAAK0D,MAAO,GAEd1D,KAAK4F,eAAeC,MAAK,iBAE0B,QADjDC,EAA8B,kBAA9BlD,UAAAC,EAAA7C,KAAK2D,+BAAW,yBAAIb,kBAAU,IAAAiD,OAAA,EAAAA,EAC1BhD,cAA2B,0BAAkB,IAAA+C,GAAAA,EAC7C9C,OAAO,IAEb,MACF,IAAK,UACHhB,EAAE2D,iBACG3F,KAAK0D,OACR1D,KAAK0D,MAAO,GAEd1D,KAAK4F,eAAeC,MAAK,eACvB,MAAMG,EAAoB,QAAbnD,EAAA7C,KAAK2D,gBAAQ,IAAAd,OAAA,EAAAA,EAAG7C,KAAK2D,SAASU,OAAS,GAEH,QADjD0B,EAAgB,UAAhBC,aAAI,EAAJA,EAAMlD,kBAAU,IAAAF,OAAA,EAAAA,EACZG,cAA2B,0BAAkB,IAAAgD,GAAAA,EAC7C/C,OAAO,IAInB,CAEQ,qBAAAiD,CAAsBjE,mBAC5B,KAAkB,QAAba,EAAA7C,KAAK2D,gBAAQ,IAAAd,OAAA,EAAAA,EAAEwB,QAAQ,OAC5B,GAAc,cAAVrC,EAAE0D,KAAiC,YAAV1D,EAAE0D,KAA+B,WAAV1D,EAAE0D,IACpD,OAEF,GAAc,WAAV1D,EAAE0D,IAKJ,OAJA1F,KAAKmC,sBAEsD,QAD3D4D,EAAe,QAAfnD,EAAA5C,KAAK8C,kBAAU,IAAAF,OAAA,EAAAA,EACXG,cAAiC,8BAAsB,IAAAgD,GAAAA,EACvD/C,SAINhB,EAAE2D,iBAGF,MAAMO,EAAWpC,SAASqC,cACpBC,EAAMpG,KAAK2D,SAAS0C,WACvB9B,UAAM,OAAAA,IAAM2B,IAAwB,QAAZrD,EAAA0B,EAAEzB,kBAAU,IAAAD,OAAA,EAAAA,EAAEyD,SAASJ,GAAiB,IAE7DK,EAAaH,GAAO,EAAIA,EAAM,EAEpC,IAAII,EAEFA,EADY,cAAVxE,EAAE0D,IACMa,IAAevG,KAAK2D,SAASU,OAAS,EAAI,EAAIkC,EAAa,EAE5C,IAAfA,EAAmBvG,KAAK2D,SAASU,OAAS,EAAIkC,EAAa,EAItB,QADjDE,EAAkC,UAAZ,QAAtBX,EAAA9F,KAAK2D,SAAS6C,UAAQ,IAAAV,OAAA,EAAAA,EAAEhD,kBAAU,IAAA4D,OAAA,EAAAA,EAC9B3D,cAA2B,0BAAkB,IAAA0D,GAAAA,EAC7CzD,OACN,CAEQ,cAAA2D,GACN,OAAQ3G,KAAKuD,MACX,IAAK,YACH,MAAO,KACT,IAAK,WACH,MAAO,KACT,QACE,MAAO,KAEb,CAEQ,cAAAqD,CACNC,EACAC,EACAC,EAAwCC,GAExC,OAAQhH,KAAK2G,kBACX,IAAK,KACH,OAAOM,CAAI,cAAcC,EAASL,cAAoBE;YAClDD;eAEN,IAAK,KACH,OAAOG,CAAI,cAAcC,EAASL,cAAoBE;YAClDD;eAEN,QACE,OAAOG,CAAI,cAAcC,EAASL,cAAoBE;YAClDD;eAGV,CAES,MAAAK,GACP,MAAMN,EAAU,CACd,cAAc,EACd,CAAC,cAAc7G,KAAKuD,SAAS,EAC7B,eAAgBvD,KAAKwD,aAGjB4D,EAAkB,CACtB,iBAAiB,EACjB,CAAC,iBAAiBpH,KAAKuD,SAAS,GAG5ByB,EAAYhF,KAAK6E,gBACjBwC,EAAerH,KAAK+E,iBAAiBC,GACrC+B,EACJM,IAAiBrC,EAAYA,EAAYgC,EAE3C,OAAOC,CAAI;;;;;;;;YAQe,KAAlBjH,KAAKiD,SACHgE,CAAI,8BAA8BjH,KAAKiD,iBACvC;;YAEFjD,KAAKyD,WACHzD,KAAKsH,uBAAuBT,EAASQ,EAAcN,GACnD/G,KAAK4G,eAAeC,EAASQ,EAAcN;;YAE3B,KAAlB/G,KAAKqD,SACH4D,CAAI,eAAeC,EAASE;kBACxBpH,KAAKqD;sBAET;;;KAIZ,CAEQ,sBAAAiE,CACNT,EACAQ,EACAN,EAAwCC,GAExC,OAAOC,CAAI;;UAELjH,KAAK4G,eACLC,EACAI,CAAI;;6BAEejH,KAAK0D;;;sBAGZ1D,KAAKwF;wBACHxF,KAAKyF;;6CAEgB4B;wCACLrH,KAAK0D,KAAO,qBAAuB;gBAC3D6D,EAAUC;;qBAGhBT;;;uCAI6B/G,KAAK0D,KAC9B,4BACA;;sBAEQ1D,KAAKiG;;+BAEIjG,KAAK2E;;;KAIlC,6SAvUC8C,EAAA,CAAAC,EAAS,CAAEnE,KAAMoE,UAIjBC,EAAA,CAAAF,EAAS,CAAEnE,KAAMoE,UAIjBE,EAAA,CAAAH,EAAS,CAAEnE,KAAMoE,UAIjBG,EAAA,CAAAJ,EAAS,CAAEnE,KAAMwE,cAIjBL,EAAS,CAAEnE,KAAMoE,OAAQK,SAAS,KAIlCC,EAAA,CAAAP,EAAS,CAAEnE,KAAMwE,cAIjBL,EAAS,CAAEnE,KAAMwE,QAASC,SAAS,QAInCN,EAAS,CAAEnE,KAAMwE,QAASC,SAAS,QAMnCN,EAAS,CAAEnE,KAAMoE,OAAQK,SAAS,KAOlCE,EAAA,CAAAC,EAAsB,CAAEC,SAAU,0BAxCnCC,EAAAzI,EAAA,KAAA6H,EAAA,CAAAa,KAAA,WAAAC,KAAA,WAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAAS1F,SAAQlD,IAAA,CAAA4I,EAAAlG,KAAAkG,EAAR1F,SAAQR,CAAA,GAAAoG,SAAAC,GAAA5I,EAAAE,GAIjBiI,EAAAzI,EAAA,KAAAgI,EAAA,CAAAU,KAAA,WAAAC,KAAA,YAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,cAAAA,EAAAC,IAAAD,GAAAA,EAASvF,UAASrD,IAAA,CAAA4I,EAAAlG,KAAAkG,EAATvF,UAASX,CAAA,GAAAoG,SAAAC,GAAAzI,EAAAE,GAIlB8H,EAAAzI,EAAA,KAAAiI,EAAA,CAAAS,KAAA,WAAAC,KAAA,WAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAAStF,SAAQtD,IAAA,CAAA4I,EAAAlG,KAAAkG,EAARtF,SAAQZ,CAAA,GAAAoG,SAAAC,GAAAtI,EAAAE,GAIjB2H,EAAAzI,EAAA,KAAAkI,EAAA,CAAAQ,KAAA,WAAAC,KAAA,qBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,uBAAAA,EAAAC,IAAAD,GAAAA,EAASrF,mBAAkBvD,IAAA,CAAA4I,EAAAlG,KAAAkG,EAAlBrF,mBAAkBb,CAAA,GAAAoG,SAAAC,GAAAnI,EAAAE,GAI3BwH,EAAAzI,EAAA,KAAAmJ,EAAA,CAAAT,KAAA,WAAAC,KAAA,OAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,SAAAA,EAAAC,IAAAD,GAAAA,EAASpF,KAAIxD,IAAA,CAAA4I,EAAAlG,KAAAkG,EAAJpF,KAAId,CAAA,GAAAoG,SAAAC,GAAAhI,EAAAE,GAIbqH,EAAAzI,EAAA,KAAAqI,EAAA,CAAAK,KAAA,WAAAC,KAAA,cAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,gBAAAA,EAAAC,IAAAD,GAAAA,EAASnF,YAAWzD,IAAA,CAAA4I,EAAAlG,KAAAkG,EAAXnF,YAAWf,CAAA,GAAAoG,SAAAC,GAAA7H,EAAAE,GAIpBkH,EAAAzI,EAAA,KAAAoJ,EAAA,CAAAV,KAAA,WAAAC,KAAA,aAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,eAAAA,EAAAC,IAAAD,GAAAA,EAASlF,WAAU1D,IAAA,CAAA4I,EAAAlG,KAAAkG,EAAVlF,WAAUhB,CAAA,GAAAoG,SAAAC,GAAA1H,EAAAE,IAInB+G,EAAAzI,EAAA,KAAAqJ,EAAA,CAAAX,KAAA,WAAAC,KAAA,OAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,SAAAA,EAAAC,IAAAD,GAAAA,EAASjF,KAAI3D,IAAA,CAAA4I,EAAAlG,KAAAkG,EAAJjF,KAAIjB,CAAA,GAAAoG,SAAAC,GAAAvH,GAAAE,IAMb4G,EAAAzI,EAAA,KAAAsJ,EAAA,CAAAZ,KAAA,WAAAC,KAAA,gBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,kBAAAA,EAAAC,IAAAD,GAAAA,EAASnG,cAAazC,IAAA,CAAA4I,EAAAlG,KAAAkG,EAAbnG,cAAaC,CAAA,GAAAoG,SAAAC,GAAApH,GAAAE,IAOtByG,EAAAzI,EAAA,KAAAsI,EAAA,CAAAI,KAAA,WAAAC,KAAA,WAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAAShF,SAAQ5D,IAAA,CAAA4I,EAAAlG,KAAAkG,EAARhF,SAAQlB,CAAA,GAAAoG,SAAAC,GAAAjH,GAAAE,IA9CnBsG,EAAA,KAAAc,EAAA,CAAA1G,MAAA7C,GAAAwJ,EAAA,CAAAd,KAAA,QAAAC,KAAA3I,EAAA2I,KAAAM,SAAAC,GAAA,KAAAO,oHACkBzJ,EAAA0J,OAASC,EAAUC,GAiHX5J,EAAAqF,iBAAmB,GAlHhChF,EAAAL,EAAAyJ,SAAS"}