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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,12 +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. Truncated to 35 characters by default. */
16
+ /** Page title text (required). Used as fallback when no contextual item is selected. */
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
+ /** When true, truncates the title to 35 characters on `type="secondary"` (h2) and `type="tertiary"` (h3). Ignored for `type="primary"` (h1). */
21
+ accessor truncationTitle: boolean;
22
22
  /** Type of page title. Controls typography, color, icon scale, and heading level: `'primary'` (h1), `'secondary'` (h2), or `'tertiary'` (h3). */
23
23
  accessor type: string;
24
24
  /** Set this to `true` for AI theme. */
@@ -49,9 +49,8 @@ export declare class PageTitle extends LitElement {
49
49
  updated(changedProps: Map<string, unknown>): void;
50
50
  private _syncOptions;
51
51
  private _handleSlotChange;
52
- /** Default max characters for the displayed page title. */
53
- private static readonly TITLE_MAX_LENGTH;
54
52
  private _getFullTitle;
53
+ private _shouldTruncateTitle;
55
54
  private _getDisplayTitle;
56
55
  private _emitChange;
57
56
  /**
@@ -1 +1 @@
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
+ {"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;AAKzD;;;;;;;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,gJAAgJ;IAEhJ,QAAQ,CAAC,eAAe,UAAS;IAEjC,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,aAAa;IAQrB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,gBAAgB;IAOxB,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;IA0Cf,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,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`*,
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 u}from"../../../vendor/@kyndryl-design-system/shidoka-icons-DG_R4Jwh.js";import"./pageTitleOption.js";var v=o`*,
2
2
  *::before,
3
3
  *::after {
4
4
  box-sizing: border-box;
@@ -360,7 +360,7 @@ 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 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}">
363
+ }`;let f=(()=>{var o,f,y,k,x,b,w,z,_,T;let $,C,D,S,L,V,j,E,M,O,W,q,H=[h("kyn-page-title")],R=[],A=r,B=[],K=[],P=[],U=[],F=[],I=[],Y=[],G=[],J=[],N=[],Q=[],X=[],Z=[],ee=[],te=[],ie=[],ne=[],ae=[],oe=[],re=[];return C=class extends A{constructor(){super(...arguments),o.set(this,i(this,B,"")),f.set(this,(i(this,K),i(this,P,""))),y.set(this,(i(this,U),i(this,F,""))),k.set(this,(i(this,I),i(this,Y,!1))),x.set(this,(i(this,G),i(this,J,"primary"))),b.set(this,(i(this,N),i(this,Q,!1))),w.set(this,(i(this,X),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 truncationTitle(){return n(this,k,"f")}set truncationTitle(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}_shouldTruncateTitle(){return this.truncationTitle&&("secondary"===this.type||"tertiary"===this.type)}_getDisplayTitle(e){return!this._shouldTruncateTitle()||e.length<=35?e:`${e.slice(0,35)}...`}_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
364
  ${t}
365
365
  </h2>`;case"h3":return d`<h3 class="${g(e)}" title="${i}">
366
366
  ${t}
@@ -395,7 +395,7 @@ import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPr
395
395
  >
396
396
  <span class="contextual-label">${t}</span>
397
397
  <span class="chevron-icon ${this.open?"chevron-icon--open":""}">
398
- ${m(v)}
398
+ ${m(u)}
399
399
  </span>
400
400
  </button>`,i)}
401
401
  <div
@@ -407,5 +407,5 @@ import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPr
407
407
  <slot @slotchange="${this._handleSlotChange}"></slot>
408
408
  </div>
409
409
  </div>
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};
410
+ `}},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=A[Symbol.metadata])&&void 0!==e?e:null):void 0;D=[c({type:String})],S=[c({type:String})],L=[c({type:String})],V=[c({type:Boolean})],j=[c({type:String,reflect:!0})],E=[c({type:Boolean})],M=[c({type:Boolean,reflect:!0})],O=[c({type:Boolean,reflect:!0})],W=[c({type:String,reflect:!0})],q=[p({selector:"kyn-pagetitle-option"})],t(C,null,D,{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,K),t(C,null,S,{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},P,U),t(C,null,L,{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},F,I),t(C,null,V,{kind:"accessor",name:"truncationTitle",static:!1,private:!1,access:{has:e=>"truncationTitle"in e,get:e=>e.truncationTitle,set:(e,t)=>{e.truncationTitle=t}},metadata:i},Y,G),t(C,null,j,{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},J,N),t(C,null,E,{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},Q,X),t(C,null,M,{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,O,{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,q,{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},H,{kind:"class",name:C.name,metadata:i},null,R),C=$.value,i&&Object.defineProperty(C,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),C.styles=s(v),i(C,R),C})();export{f as PageTitle};
411
411
  //# sourceMappingURL=pageTitle.js.map
@@ -1 +1 @@
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":"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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/** Max characters for truncated secondary and tertiary page titles. */\nconst TITLE_MAX_LENGTH = 35;\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 /** When true, truncates the title to 35 characters on `type=\"secondary\"` (h2) and `type=\"tertiary\"` (h3). Ignored for `type=\"primary\"` (h1). */\n @property({ type: Boolean })\n accessor truncationTitle = 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 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 _shouldTruncateTitle(): boolean {\n return (\n this.truncationTitle &&\n (this.type === 'secondary' || this.type === 'tertiary')\n );\n }\n\n private _getDisplayTitle(fullTitle: string): string {\n if (!this._shouldTruncateTitle() || fullTitle.length <= TITLE_MAX_LENGTH) {\n return fullTitle;\n }\n return `${fullTitle.slice(0, 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 = 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_truncationTitle_accessor_storage","_subTitle_extraInitializers","_truncationTitle_initializers","_PageTitle_type_accessor_storage","_truncationTitle_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","truncationTitle","type","aiConnected","contextual","open","_options","connectedCallback","super","document","addEventListener","disconnectedCallback","removeEventListener","updated","changedProps","has","length","find","o","forEach","option","selected","_handleSlotChange","requestUpdate","_getFullTitle","text","_shouldTruncateTitle","_getDisplayTitle","fullTitle","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","_truncationTitle_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":"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"}