@kyndryl-design-system/shidoka-applications 2.118.0 → 2.118.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.
- package/components/global/header/headerLink.d.ts +4 -0
- package/components/global/header/headerLink.d.ts.map +1 -1
- package/components/global/header/headerLink.js +6 -6
- package/components/global/header/headerLink.js.map +1 -1
- package/components/reusable/stepper/index.js +1 -1
- package/components/reusable/stepper/stepper.d.ts +2 -0
- package/components/reusable/stepper/stepper.d.ts.map +1 -1
- package/components/reusable/stepper/stepper.js +4 -4
- package/components/reusable/stepper/stepper.js.map +1 -1
- package/components/reusable/stepper/stepperItem.d.ts +4 -0
- package/components/reusable/stepper/stepperItem.d.ts.map +1 -1
- package/components/reusable/stepper/stepperItem.js +12 -6
- package/components/reusable/stepper/stepperItem.js.map +1 -1
- package/custom-elements.json +1 -1
- package/package.json +1 -1
|
@@ -105,6 +105,10 @@ export declare class HeaderLink extends LitElement {
|
|
|
105
105
|
* @internal
|
|
106
106
|
*/
|
|
107
107
|
accessor _inheritedTruncate: boolean;
|
|
108
|
+
/** Reflects whether the owning nav has the `global-switcher-nav` class.
|
|
109
|
+
* @ignore
|
|
110
|
+
*/
|
|
111
|
+
accessor _inGlobalSwitcherNav: boolean;
|
|
108
112
|
/** Observer for `truncate-links` changes on the owning nav.
|
|
109
113
|
* @internal
|
|
110
114
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerLink.d.ts","sourceRoot":"","sources":["../../../../src/components/global/header/headerLink.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"headerLink.d.ts","sourceRoot":"","sources":["../../../../src/components/global/header/headerLink.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPrivateFieldGet as n,__classPrivateFieldSet as a}from"tslib";import{unsafeSVG as o}from"lit-html/directives/unsafe-svg.js";import{css as r,LitElement as s,unsafeCSS as l,html as
|
|
1
|
+
import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPrivateFieldGet as n,__classPrivateFieldSet as a}from"tslib";import{unsafeSVG as o}from"lit-html/directives/unsafe-svg.js";import{css as r,LitElement as s,unsafeCSS as l,html as h}from"lit";import{customElement as d,property as c,state as u,queryAssignedElements as m}from"lit/decorators.js";import{classMap as p}from"lit/directives/class-map.js";import{styleMap as v}from"lit/directives/style-map.js";import{ifDefined as k}from"lit/directives/if-defined.js";import{debounce as g}from"../../../common/helpers/helpers.js";import"../../reusable/textInput/textInput.js";import{d as f,f as y,g as x}from"../../../vendor/@kyndryl-design-system/shidoka-icons-DG_R4Jwh.js";import"deepmerge-ts";import"../../reusable/button/button.js";import"lit-html/directives/class-map.js";import"../../reusable/button/defs.js";import"../../../common/mixins/form-input.js";var w=r`*,
|
|
2
2
|
*::before,
|
|
3
3
|
*::after {
|
|
4
4
|
box-sizing: border-box;
|
|
@@ -267,7 +267,7 @@ import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPr
|
|
|
267
267
|
);
|
|
268
268
|
}
|
|
269
269
|
|
|
270
|
-
:host
|
|
270
|
+
:host([global-switcher-nav]) {
|
|
271
271
|
--kyn-header-link-flyout-background: var(
|
|
272
272
|
--kd-color-background-container-overlay-background
|
|
273
273
|
);
|
|
@@ -705,7 +705,7 @@ kyn-text-input {
|
|
|
705
705
|
overflow: visible;
|
|
706
706
|
text-overflow: clip;
|
|
707
707
|
white-space: normal;
|
|
708
|
-
}`;let b=(()=>{var r,b,_,T,C,L,W,M,
|
|
708
|
+
}`;let b=(()=>{var r,b,_,T,C,S,L,W,N,M,z,E,P,O,A,$,j,q,B,F,R,I,D,H,G,K,U,Y;let V,X,J,Q,Z,ee,te,ie,ne,ae,oe,re,se,le,he,de,ce,ue,me,pe,ve,ke,ge,fe,ye,xe,we,be,_e,Te,Ce=[d("kyn-header-link")],Se=[],Le=s,We=[],Ne=[],Me=[],ze=[],Ee=[],Pe=[],Oe=[],Ae=[],$e=[],je=[],qe=[],Be=[],Fe=[],Re=[],Ie=[],De=[],He=[],Ge=[],Ke=[],Ue=[],Ye=[],Ve=[],Xe=[],Je=[],Qe=[],Ze=[],et=[],tt=[],it=[],nt=[],at=[],ot=[],rt=[],st=[],lt=[],ht=[],dt=[],ct=[],ut=[],mt=[],pt=[],vt=[],kt=[],gt=[],ft=[],yt=[],xt=[],wt=[],bt=[],_t=[],Tt=[],Ct=[],St=[],Lt=[],Wt=[],Nt=[];return X=class extends Le{constructor(){super(...arguments),r.set(this,i(this,We,!1)),b.set(this,(i(this,Ne),i(this,Me,""))),_.set(this,(i(this,ze),i(this,Ee,"_self"))),T.set(this,(i(this,Pe),i(this,Oe,""))),C.set(this,(i(this,Ae),i(this,$e,!1))),S.set(this,(i(this,je),i(this,qe,1))),L.set(this,(i(this,Be),i(this,Fe,!1))),W.set(this,(i(this,Re),i(this,Ie,"Search"))),N.set(this,(i(this,De),i(this,He,6))),M.set(this,(i(this,Ge),i(this,Ke,0))),z.set(this,(i(this,Ue),i(this,Ye,!1))),E.set(this,(i(this,Ve),i(this,Xe,"Back"))),P.set(this,(i(this,Je),i(this,Qe,!1))),O.set(this,(i(this,Ze),i(this,et,""))),A.set(this,(i(this,tt),i(this,it,!1))),$.set(this,(i(this,nt),i(this,at,""))),j.set(this,(i(this,ot),i(this,rt,!1))),q.set(this,(i(this,st),i(this,lt,!1))),B.set(this,(i(this,ht),i(this,dt,0))),F.set(this,(i(this,ct),i(this,ut,!1))),R.set(this,(i(this,mt),i(this,pt,!1))),I.set(this,(i(this,vt),i(this,kt,""))),D.set(this,(i(this,gt),i(this,ft,0))),H.set(this,(i(this,yt),i(this,xt,void 0))),this._enterTimer=i(this,wt),G.set(this,i(this,bt,void 0)),this._viewChangeInProgress=(i(this,_t),!1),K.set(this,i(this,Tt,!1)),U.set(this,(i(this,Ct),i(this,St,!1))),this._truncateObserver=i(this,Lt),this._observedNav=null,Y.set(this,i(this,Wt,{})),this._handleColumnCountChange=(i(this,Nt),e=>{const t=e.detail;void 0!==(null==t?void 0:t.columnCount)&&(this.flyoutColumns=t.columnCount,this.fixedColumnWidths=Boolean(t.fixedColumnWidths))}),this._debounceResize=g((()=>{this.determineLevel(),this.open&&this._positionMenu()})),this._handleDocumentClick=e=>this.handleClickOut(e),this._handleNavChange=()=>{this._viewChangeInProgress=!0,clearTimeout(this._viewChangeTimer),this._viewChangeTimer=setTimeout((()=>{this._viewChangeInProgress=!1}),500)},this._syncInheritedTruncate=()=>{var e,t;this._inheritedTruncate=this._isInTruncatingNav(),this._inGlobalSwitcherNav=null!==(t=null===(e=this._resolveOwningNav())||void 0===e?void 0:e.classList.contains("global-switcher-nav"))&&void 0!==t&&t}}get open(){return n(this,r,"f")}set open(e){a(this,r,e,"f")}get href(){return n(this,b,"f")}set href(e){a(this,b,e,"f")}get target(){return n(this,_,"f")}set target(e){a(this,_,e,"f")}get rel(){return n(this,T,"f")}set rel(e){a(this,T,e,"f")}get isActive(){return n(this,C,"f")}set isActive(e){a(this,C,e,"f")}get level(){return n(this,S,"f")}set level(e){a(this,S,e,"f")}get divider(){return n(this,L,"f")}set divider(e){a(this,L,e,"f")}get searchLabel(){return n(this,W,"f")}set searchLabel(e){a(this,W,e,"f")}get searchThreshold(){return n(this,N,"f")}set searchThreshold(e){a(this,N,e,"f")}get linksPerColumn(){return n(this,M,"f")}set linksPerColumn(e){a(this,M,e,"f")}get hideSearch(){return n(this,z,"f")}set hideSearch(e){a(this,z,e,"f")}get backText(){return n(this,E,"f")}set backText(e){a(this,E,e,"f")}get leftPadding(){return n(this,P,"f")}set leftPadding(e){a(this,P,e,"f")}get linkTitle(){return n(this,O,"f")}set linkTitle(e){a(this,O,e,"f")}get truncate(){return n(this,A,"f")}set truncate(e){a(this,A,e,"f")}get _autoTitle(){return n(this,$,"f")}set _autoTitle(e){a(this,$,e,"f")}get hasCategorical(){return n(this,j,"f")}set hasCategorical(e){a(this,j,e,"f")}get hasMultiColumn(){return n(this,q,"f")}set hasMultiColumn(e){a(this,q,e,"f")}get flyoutColumns(){return n(this,B,"f")}set flyoutColumns(e){a(this,B,e,"f")}get fixedColumnWidths(){return n(this,F,"f")}set fixedColumnWidths(e){a(this,F,e,"f")}get fullWidthFlyout(){return n(this,R,"f")}set fullWidthFlyout(e){a(this,R,e,"f")}get _searchTerm(){return n(this,I,"f")}set _searchTerm(e){a(this,I,e,"f")}get _slottedLinkCount(){return n(this,D,"f")}set _slottedLinkCount(e){a(this,D,e,"f")}get slottedEls(){return n(this,H,"f")}set slottedEls(e){a(this,H,e,"f")}get _leaveTimer(){return n(this,G,"f")}set _leaveTimer(e){a(this,G,e,"f")}get _inheritedTruncate(){return n(this,K,"f")}set _inheritedTruncate(e){a(this,K,e,"f")}get _inGlobalSwitcherNav(){return n(this,U,"f")}set _inGlobalSwitcherNav(e){a(this,U,e,"f")}get menuPosition(){return n(this,Y,"f")}set menuPosition(e){a(this,Y,e,"f")}render(){const e={menu:this.slottedEls.length,[`level--${this.level}`]:!0,divider:this.divider,"full-width-flyout":this.fullWidthFlyout,open:this.open||1===this.level&&this.isActive},t=this.truncate||this._inheritedTruncate,i={"nav-link":!0,active:this.isActive,interactive:1==this.level,"padding-left":this.leftPadding,truncate:t},n={menu__content:!0,slotted:this.slottedEls.length},a=this.querySelectorAll(":scope > kyn-header-link, :scope > kyn-header-category > kyn-header-link"),r=!this.hideSearch&&a.length>=this.searchThreshold,s={wrapper:!0,"no-search":!r};return h`
|
|
709
709
|
<div
|
|
710
710
|
class="${p(e)}"
|
|
711
711
|
@pointerleave=${e=>this.handlePointerLeave(e)}
|
|
@@ -723,7 +723,7 @@ kyn-text-input {
|
|
|
723
723
|
<slot name="icon"></slot>
|
|
724
724
|
<slot @slotchange=${this._handleDefaultSlotChange}></slot>
|
|
725
725
|
|
|
726
|
-
${this.slottedEls.length?
|
|
726
|
+
${this.slottedEls.length?h` <span class="arrow">${o(f)}</span> `:null}
|
|
727
727
|
</a>
|
|
728
728
|
|
|
729
729
|
<div
|
|
@@ -739,7 +739,7 @@ kyn-text-input {
|
|
|
739
739
|
<span>${o(y)}</span>
|
|
740
740
|
${this.backText}
|
|
741
741
|
</button>
|
|
742
|
-
${r?
|
|
742
|
+
${r?h`
|
|
743
743
|
<kyn-text-input
|
|
744
744
|
hideLabel
|
|
745
745
|
size="sm"
|
|
@@ -768,5 +768,5 @@ kyn-text-input {
|
|
|
768
768
|
</div>
|
|
769
769
|
</div>
|
|
770
770
|
</div>
|
|
771
|
-
`}get _linksColumnStyles(){if(!this.hasCategorical&&this.linksPerColumn>0&&this._slottedLinkCount>this.linksPerColumn){return{"column-count":Math.ceil(this._slottedLinkCount/this.linksPerColumn).toString()}}return{}}_handleSearch(e){this._searchTerm=e.detail.value.toLowerCase(),this._searchFilter()}_searchFilter(){this.querySelectorAll(":scope > kyn-header-link, :scope > kyn-header-category > kyn-header-link").forEach((e=>{var t,i;const n=null===(t=e.shadowRoot)||void 0===t?void 0:t.querySelector("slot:not([name])"),a=null!==(i=null==n?void 0:n.assignedNodes({flatten:!0}))&&void 0!==i?i:[];let o="";for(let e=0;e<a.length;e++)o+=a[e].textContent.trim();o.toLowerCase().includes(this._searchTerm)?e.style.display="block":e.style.display="none"})),this._positionMenu()}_handleDefaultSlotChange(e){var t,i;const n=e.target.assignedNodes({flatten:!0});let a="";for(const e of n)a+=null!==(i=null===(t=e.textContent)||void 0===t?void 0:t.trim())&&void 0!==i?i:"";this._autoTitle=a.trim()}_handleBack(e){var t;e&&(e.preventDefault(),e.stopPropagation());const i=this.closest("kyn-header-categories");if(null==i?void 0:i.handleBackClick){i.handleBackClick(e);return(null!==(t=this.closest("kyn-header-nav"))&&void 0!==t?t:i).querySelectorAll("kyn-header-link[open]").forEach((e=>{e.removeAttribute("open"),"open"in e&&(e.open=!1)})),this._searchTerm="",void this._searchFilter()}this.open=!1,this._searchTerm="",this._searchFilter()}_handleLinksSlotChange(){var e;const t=null!==this.querySelector("kyn-header-categories"),i=null!==this.querySelector("kyn-header-category"),n=this.querySelector("kyn-tab-panel[visible] kyn-header-categories")||this.querySelector("kyn-header-categories");if(this.hasCategorical=t||i,this.hasMultiColumn=t,this.fixedColumnWidths=null!==(e=null==n?void 0:n.hasAttribute("fixed-column-widths"))&&void 0!==e&&e,n){const e=n.getAttribute("data-columns");this.flyoutColumns=e&&parseInt(e,10)||0}else this.flyoutColumns=0;const a=this.querySelectorAll(":scope > kyn-header-link");this._slottedLinkCount=a.length,this.requestUpdate()}get _isDesktopViewport(){return"undefined"==typeof window||window.innerWidth>=672}handlePointerEnter(e){"mouse"===e.pointerType&&this.slottedEls.length&&this._isDesktopViewport&&(clearTimeout(this._leaveTimer),this._closeOtherOpenLinks(),this._enterTimer=setTimeout((()=>{this._closeOtherOpenLinks(),this.open=!0}),150))}_closeOtherOpenLinks(){if(1===this.level){const e=this.parentElement;if(e){e.querySelectorAll(":scope > kyn-header-link").forEach((e=>{var t,i;e!==this&&(e._enterTimer&&(clearTimeout(e._enterTimer),e._enterTimer=void 0),e._leaveTimer&&(clearTimeout(e._leaveTimer),e._leaveTimer=void 0),e.open&&(e.open=!1,e.removeAttribute("open"),null===(i=(t=e).requestUpdate)||void 0===i||i.call(t)))}))}return}const e=this.closest("kyn-header-nav")||this.closest("kyn-tab-panel")||this.closest(".menu__content");if(e){e.querySelectorAll("kyn-header-link").forEach((e=>{var t,i;e!==this&&e.level===this.level&&(e._enterTimer&&(clearTimeout(e._enterTimer),e._enterTimer=void 0),e._leaveTimer&&(clearTimeout(e._leaveTimer),e._leaveTimer=void 0),e.open&&(e.open=!1,e.removeAttribute("open"),null===(i=(t=e).requestUpdate)||void 0===i||i.call(t)))}))}}handlePointerLeave(e){if(this._viewChangeInProgress)return;this._shouldAutoCollapse()&&"mouse"===e.pointerType&&this.slottedEls.length&&""===this._searchTerm&&this._isDesktopViewport&&(clearTimeout(this._enterTimer),this._leaveTimer=setTimeout((()=>{this.open=!1}),150))}_shouldAutoCollapse(){if(!this.hasCategorical&&!this.fullWidthFlyout)return!0;const e=this.closest("kyn-header-nav");return!(null==e?void 0:e.autoOpenFlyout)}handleClick(e){let t=!1;this.slottedEls.length?(t=!0,e.preventDefault(),this.open||this._closeOtherOpenLinks(),this.open=!this.open):this._closeOtherOpenLinks();const i=new CustomEvent("on-click",{detail:{origEvent:e,defaultPrevented:t}});this.dispatchEvent(i)}handleClickOut(e){e.composedPath().includes(this)||(this.open=!1,this._searchTerm="",this._searchFilter())}determineLevel(){var e,t,i;let n=1,a=this.parentNode;for(;a;){if("KYN-HEADER-LINK"===a.nodeName){n=(null!==(e=a.level)&&void 0!==e?e:1)+1;break}if("KYN-HEADER-CATEGORY"===a.nodeName&&"KYN-HEADER-LINK"===(null===(t=a.parentNode)||void 0===t?void 0:t.nodeName)){n=(null!==(i=a.parentNode.level)&&void 0!==i?i:1)+1;break}if(window.innerWidth<672&&"KYN-HEADER-FLYOUT"===a.nodeName){n=2;break}a=a.parentNode}this.level=n}_positionMenu(){var e,t,i,n;const a=null===(e=this.getBoundingClientRect)||void 0===e?void 0:e.call(this),o=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(".menu__content"),r=null===(i=null==o?void 0:o.getBoundingClientRect)||void 0===i?void 0:i.call(o);if(!a||!r)return;const s=a.top+a.height/2,l=r.height/2,d=s+l>window.innerHeight?s-l-(s+l-window.innerHeight)-16:s-l;if(1===this.level){let e=0;const t=this.closest("kyn-header-nav");if(t){const i=null===(n=t.shadowRoot)||void 0===n?void 0:n.querySelector(".menu__content");i&&(e=i.offsetHeight)}this.menuPosition={top:"64px",left:"0px",minHeight:e+"px"}}else{const e=d<64?64:d;this.menuPosition={top:e+"px",left:a.right+12+"px"}}}firstUpdated(){this.determineLevel(),this._handleLinksSlotChange()}updated(e){e.has("open")&&this.open&&requestAnimationFrame((()=>{this._positionMenu()})),e.has("flyoutColumns")&&this.open&&requestAnimationFrame((()=>{this._positionMenu()}))}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this._handleDocumentClick),window.addEventListener("resize",this._debounceResize),this.addEventListener("on-column-count-change",this._handleColumnCountChange),this.addEventListener("on-nav-change",this._handleNavChange),queueMicrotask((()=>{this._observeParentNavTruncate()}))}_resolveOwningNav(){var e,t;const i=this.closest("kyn-header-nav");if(i)return i;let n=this.getRootNode();for(;n instanceof ShadowRoot;){const i=null===(t=(e=n.host).closest)||void 0===t?void 0:t.call(e,"kyn-header-nav");if(i)return i;n=n.host.getRootNode()}return null}_observeParentNavTruncate(){const e=this._resolveOwningNav();this._observedNav!==e?(this._truncateObserver&&(this._truncateObserver.disconnect(),this._truncateObserver=void 0),this._observedNav=e,e&&(this._truncateObserver=new MutationObserver((()=>{this._syncInheritedTruncate()})),this._truncateObserver.observe(e,{attributes:!0,attributeFilter:["truncate-links"]})),this._syncInheritedTruncate()):this._syncInheritedTruncate()}_isInTruncatingNav(){var e,t;return null!==(t=null===(e=this._resolveOwningNav())||void 0===e?void 0:e.hasAttribute("truncate-links"))&&void 0!==t&&t}disconnectedCallback(){this._enterTimer&&(clearTimeout(this._enterTimer),this._enterTimer=void 0),this._leaveTimer&&(clearTimeout(this._leaveTimer),this._leaveTimer=void 0),this._viewChangeTimer&&(clearTimeout(this._viewChangeTimer),this._viewChangeTimer=void 0),document.removeEventListener("click",this._handleDocumentClick),window.removeEventListener("resize",this._debounceResize),this.removeEventListener("on-column-count-change",this._handleColumnCountChange),this.removeEventListener("on-nav-change",this._handleNavChange),this._truncateObserver&&(this._truncateObserver.disconnect(),this._truncateObserver=void 0),this._observedNav=null,super.disconnectedCallback()}},r=new WeakMap,b=new WeakMap,_=new WeakMap,T=new WeakMap,C=new WeakMap,L=new WeakMap,W=new WeakMap,M=new WeakMap,S=new WeakMap,z=new WeakMap,E=new WeakMap,P=new WeakMap,N=new WeakMap,O=new WeakMap,A=new WeakMap,$=new WeakMap,j=new WeakMap,q=new WeakMap,B=new WeakMap,F=new WeakMap,R=new WeakMap,I=new WeakMap,D=new WeakMap,H=new WeakMap,K=new WeakMap,U=new WeakMap,Y=new WeakMap,e(X,"HeaderLink"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=Ce[Symbol.metadata])&&void 0!==e?e:null):void 0;G=[c({type:Boolean,reflect:!0})],J=[c({type:String})],Q=[c({type:String})],Z=[c({type:String})],ee=[c({type:Boolean})],te=[u()],ie=[c({type:Boolean})],ne=[c({type:String})],ae=[c({type:Number})],oe=[c({type:Number})],re=[c({type:Boolean})],se=[c({type:String})],le=[c({type:Boolean})],de=[c({type:String,attribute:"link-title"})],he=[c({type:Boolean,reflect:!0})],ce=[u()],ue=[c({type:Boolean,reflect:!0,attribute:"has-categorical"})],me=[c({type:Boolean,reflect:!0,attribute:"has-multi-column"})],pe=[c({type:Number,reflect:!0,attribute:"data-flyout-columns"})],ve=[c({type:Boolean,reflect:!0,attribute:"fixed-column-widths"})],ke=[c({type:Boolean,reflect:!0,attribute:"full-width-flyout"})],ge=[u()],fe=[u()],ye=[m({slot:"links"})],xe=[u()],we=[u()],be=[u()],t(X,null,G,{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},Le,We),t(X,null,J,{kind:"accessor",name:"href",static:!1,private:!1,access:{has:e=>"href"in e,get:e=>e.href,set:(e,t)=>{e.href=t}},metadata:i},Me,Se),t(X,null,Q,{kind:"accessor",name:"target",static:!1,private:!1,access:{has:e=>"target"in e,get:e=>e.target,set:(e,t)=>{e.target=t}},metadata:i},ze,Ee),t(X,null,Z,{kind:"accessor",name:"rel",static:!1,private:!1,access:{has:e=>"rel"in e,get:e=>e.rel,set:(e,t)=>{e.rel=t}},metadata:i},Pe,Ne),t(X,null,ee,{kind:"accessor",name:"isActive",static:!1,private:!1,access:{has:e=>"isActive"in e,get:e=>e.isActive,set:(e,t)=>{e.isActive=t}},metadata:i},Oe,Ae),t(X,null,te,{kind:"accessor",name:"level",static:!1,private:!1,access:{has:e=>"level"in e,get:e=>e.level,set:(e,t)=>{e.level=t}},metadata:i},$e,je),t(X,null,ie,{kind:"accessor",name:"divider",static:!1,private:!1,access:{has:e=>"divider"in e,get:e=>e.divider,set:(e,t)=>{e.divider=t}},metadata:i},qe,Be),t(X,null,ne,{kind:"accessor",name:"searchLabel",static:!1,private:!1,access:{has:e=>"searchLabel"in e,get:e=>e.searchLabel,set:(e,t)=>{e.searchLabel=t}},metadata:i},Fe,Re),t(X,null,ae,{kind:"accessor",name:"searchThreshold",static:!1,private:!1,access:{has:e=>"searchThreshold"in e,get:e=>e.searchThreshold,set:(e,t)=>{e.searchThreshold=t}},metadata:i},Ie,De),t(X,null,oe,{kind:"accessor",name:"linksPerColumn",static:!1,private:!1,access:{has:e=>"linksPerColumn"in e,get:e=>e.linksPerColumn,set:(e,t)=>{e.linksPerColumn=t}},metadata:i},He,Ke),t(X,null,re,{kind:"accessor",name:"hideSearch",static:!1,private:!1,access:{has:e=>"hideSearch"in e,get:e=>e.hideSearch,set:(e,t)=>{e.hideSearch=t}},metadata:i},Ue,Ye),t(X,null,se,{kind:"accessor",name:"backText",static:!1,private:!1,access:{has:e=>"backText"in e,get:e=>e.backText,set:(e,t)=>{e.backText=t}},metadata:i},Ve,Xe),t(X,null,le,{kind:"accessor",name:"leftPadding",static:!1,private:!1,access:{has:e=>"leftPadding"in e,get:e=>e.leftPadding,set:(e,t)=>{e.leftPadding=t}},metadata:i},Ge,Je),t(X,null,de,{kind:"accessor",name:"linkTitle",static:!1,private:!1,access:{has:e=>"linkTitle"in e,get:e=>e.linkTitle,set:(e,t)=>{e.linkTitle=t}},metadata:i},Qe,Ze),t(X,null,he,{kind:"accessor",name:"truncate",static:!1,private:!1,access:{has:e=>"truncate"in e,get:e=>e.truncate,set:(e,t)=>{e.truncate=t}},metadata:i},et,tt),t(X,null,ce,{kind:"accessor",name:"_autoTitle",static:!1,private:!1,access:{has:e=>"_autoTitle"in e,get:e=>e._autoTitle,set:(e,t)=>{e._autoTitle=t}},metadata:i},it,nt),t(X,null,ue,{kind:"accessor",name:"hasCategorical",static:!1,private:!1,access:{has:e=>"hasCategorical"in e,get:e=>e.hasCategorical,set:(e,t)=>{e.hasCategorical=t}},metadata:i},at,ot),t(X,null,me,{kind:"accessor",name:"hasMultiColumn",static:!1,private:!1,access:{has:e=>"hasMultiColumn"in e,get:e=>e.hasMultiColumn,set:(e,t)=>{e.hasMultiColumn=t}},metadata:i},rt,st),t(X,null,pe,{kind:"accessor",name:"flyoutColumns",static:!1,private:!1,access:{has:e=>"flyoutColumns"in e,get:e=>e.flyoutColumns,set:(e,t)=>{e.flyoutColumns=t}},metadata:i},lt,dt),t(X,null,ve,{kind:"accessor",name:"fixedColumnWidths",static:!1,private:!1,access:{has:e=>"fixedColumnWidths"in e,get:e=>e.fixedColumnWidths,set:(e,t)=>{e.fixedColumnWidths=t}},metadata:i},ht,ct),t(X,null,ke,{kind:"accessor",name:"fullWidthFlyout",static:!1,private:!1,access:{has:e=>"fullWidthFlyout"in e,get:e=>e.fullWidthFlyout,set:(e,t)=>{e.fullWidthFlyout=t}},metadata:i},ut,mt),t(X,null,ge,{kind:"accessor",name:"_searchTerm",static:!1,private:!1,access:{has:e=>"_searchTerm"in e,get:e=>e._searchTerm,set:(e,t)=>{e._searchTerm=t}},metadata:i},pt,vt),t(X,null,fe,{kind:"accessor",name:"_slottedLinkCount",static:!1,private:!1,access:{has:e=>"_slottedLinkCount"in e,get:e=>e._slottedLinkCount,set:(e,t)=>{e._slottedLinkCount=t}},metadata:i},kt,gt),t(X,null,ye,{kind:"accessor",name:"slottedEls",static:!1,private:!1,access:{has:e=>"slottedEls"in e,get:e=>e.slottedEls,set:(e,t)=>{e.slottedEls=t}},metadata:i},ft,yt),t(X,null,xe,{kind:"accessor",name:"_leaveTimer",static:!1,private:!1,access:{has:e=>"_leaveTimer"in e,get:e=>e._leaveTimer,set:(e,t)=>{e._leaveTimer=t}},metadata:i},xt,wt),t(X,null,we,{kind:"accessor",name:"_inheritedTruncate",static:!1,private:!1,access:{has:e=>"_inheritedTruncate"in e,get:e=>e._inheritedTruncate,set:(e,t)=>{e._inheritedTruncate=t}},metadata:i},bt,_t),t(X,null,be,{kind:"accessor",name:"menuPosition",static:!1,private:!1,access:{has:e=>"menuPosition"in e,get:e=>e.menuPosition,set:(e,t)=>{e.menuPosition=t}},metadata:i},Tt,Ct),t(null,V={value:X},_e,{kind:"class",name:X.name,metadata:i},null,Te),X=V.value,i&&Object.defineProperty(X,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),X.styles=l(w),i(X,Te),X})();export{b as HeaderLink};
|
|
771
|
+
`}get _linksColumnStyles(){if(!this.hasCategorical&&this.linksPerColumn>0&&this._slottedLinkCount>this.linksPerColumn){return{"column-count":Math.ceil(this._slottedLinkCount/this.linksPerColumn).toString()}}return{}}_handleSearch(e){this._searchTerm=e.detail.value.toLowerCase(),this._searchFilter()}_searchFilter(){this.querySelectorAll(":scope > kyn-header-link, :scope > kyn-header-category > kyn-header-link").forEach((e=>{var t,i;const n=null===(t=e.shadowRoot)||void 0===t?void 0:t.querySelector("slot:not([name])"),a=null!==(i=null==n?void 0:n.assignedNodes({flatten:!0}))&&void 0!==i?i:[];let o="";for(let e=0;e<a.length;e++)o+=a[e].textContent.trim();o.toLowerCase().includes(this._searchTerm)?e.style.display="block":e.style.display="none"})),this._positionMenu()}_handleDefaultSlotChange(e){var t,i;const n=e.target.assignedNodes({flatten:!0});let a="";for(const e of n)a+=null!==(i=null===(t=e.textContent)||void 0===t?void 0:t.trim())&&void 0!==i?i:"";this._autoTitle=a.trim()}_handleBack(e){var t;e&&(e.preventDefault(),e.stopPropagation());const i=this.closest("kyn-header-categories");if(null==i?void 0:i.handleBackClick){i.handleBackClick(e);return(null!==(t=this.closest("kyn-header-nav"))&&void 0!==t?t:i).querySelectorAll("kyn-header-link[open]").forEach((e=>{e.removeAttribute("open"),"open"in e&&(e.open=!1)})),this._searchTerm="",void this._searchFilter()}this.open=!1,this._searchTerm="",this._searchFilter()}_handleLinksSlotChange(){var e;const t=null!==this.querySelector("kyn-header-categories"),i=null!==this.querySelector("kyn-header-category"),n=this.querySelector("kyn-tab-panel[visible] kyn-header-categories")||this.querySelector("kyn-header-categories");if(this.hasCategorical=t||i,this.hasMultiColumn=t,this.fixedColumnWidths=null!==(e=null==n?void 0:n.hasAttribute("fixed-column-widths"))&&void 0!==e&&e,n){const e=n.getAttribute("data-columns");this.flyoutColumns=e&&parseInt(e,10)||0}else this.flyoutColumns=0;const a=this.querySelectorAll(":scope > kyn-header-link");this._slottedLinkCount=a.length,this.requestUpdate()}get _isDesktopViewport(){return"undefined"==typeof window||window.innerWidth>=672}handlePointerEnter(e){"mouse"===e.pointerType&&this.slottedEls.length&&this._isDesktopViewport&&(clearTimeout(this._leaveTimer),this._closeOtherOpenLinks(),this._enterTimer=setTimeout((()=>{this._closeOtherOpenLinks(),this.open=!0}),150))}_closeOtherOpenLinks(){if(1===this.level){const e=this.parentElement;if(e){e.querySelectorAll(":scope > kyn-header-link").forEach((e=>{var t,i;e!==this&&(e._enterTimer&&(clearTimeout(e._enterTimer),e._enterTimer=void 0),e._leaveTimer&&(clearTimeout(e._leaveTimer),e._leaveTimer=void 0),e.open&&(e.open=!1,e.removeAttribute("open"),null===(i=(t=e).requestUpdate)||void 0===i||i.call(t)))}))}return}const e=this.closest("kyn-header-nav")||this.closest("kyn-tab-panel")||this.closest(".menu__content");if(e){e.querySelectorAll("kyn-header-link").forEach((e=>{var t,i;e!==this&&e.level===this.level&&(e._enterTimer&&(clearTimeout(e._enterTimer),e._enterTimer=void 0),e._leaveTimer&&(clearTimeout(e._leaveTimer),e._leaveTimer=void 0),e.open&&(e.open=!1,e.removeAttribute("open"),null===(i=(t=e).requestUpdate)||void 0===i||i.call(t)))}))}}handlePointerLeave(e){if(this._viewChangeInProgress)return;this._shouldAutoCollapse()&&"mouse"===e.pointerType&&this.slottedEls.length&&""===this._searchTerm&&this._isDesktopViewport&&(clearTimeout(this._enterTimer),this._leaveTimer=setTimeout((()=>{this.open=!1}),150))}_shouldAutoCollapse(){if(!this.hasCategorical&&!this.fullWidthFlyout)return!0;const e=this.closest("kyn-header-nav");return!(null==e?void 0:e.autoOpenFlyout)}handleClick(e){let t=!1;this.slottedEls.length?(t=!0,e.preventDefault(),this.open||this._closeOtherOpenLinks(),this.open=!this.open):this._closeOtherOpenLinks();const i=new CustomEvent("on-click",{detail:{origEvent:e,defaultPrevented:t}});this.dispatchEvent(i)}handleClickOut(e){e.composedPath().includes(this)||(this.open=!1,this._searchTerm="",this._searchFilter())}determineLevel(){var e,t,i;let n=1,a=this.parentNode;for(;a;){if("KYN-HEADER-LINK"===a.nodeName){n=(null!==(e=a.level)&&void 0!==e?e:1)+1;break}if("KYN-HEADER-CATEGORY"===a.nodeName&&"KYN-HEADER-LINK"===(null===(t=a.parentNode)||void 0===t?void 0:t.nodeName)){n=(null!==(i=a.parentNode.level)&&void 0!==i?i:1)+1;break}if(window.innerWidth<672&&"KYN-HEADER-FLYOUT"===a.nodeName){n=2;break}a=a.parentNode}this.level=n}_positionMenu(){var e,t,i,n;const a=null===(e=this.getBoundingClientRect)||void 0===e?void 0:e.call(this),o=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(".menu__content"),r=null===(i=null==o?void 0:o.getBoundingClientRect)||void 0===i?void 0:i.call(o);if(!a||!r)return;const s=a.top+a.height/2,l=r.height/2,h=s+l>window.innerHeight?s-l-(s+l-window.innerHeight)-16:s-l;if(1===this.level){let e=0;const t=this.closest("kyn-header-nav");if(t){const i=null===(n=t.shadowRoot)||void 0===n?void 0:n.querySelector(".menu__content");i&&(e=i.offsetHeight)}this.menuPosition={top:"64px",left:"0px",minHeight:e+"px"}}else{const e=h<64?64:h;this.menuPosition={top:e+"px",left:a.right+12+"px"}}}firstUpdated(){this.determineLevel(),this._handleLinksSlotChange()}updated(e){e.has("open")&&this.open&&requestAnimationFrame((()=>{this._positionMenu()})),e.has("flyoutColumns")&&this.open&&requestAnimationFrame((()=>{this._positionMenu()}))}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this._handleDocumentClick),window.addEventListener("resize",this._debounceResize),this.addEventListener("on-column-count-change",this._handleColumnCountChange),this.addEventListener("on-nav-change",this._handleNavChange),queueMicrotask((()=>{this._observeParentNavTruncate()}))}_resolveOwningNav(){var e,t;const i=this.closest("kyn-header-nav");if(i)return i;let n=this.getRootNode();for(;n instanceof ShadowRoot;){const i=null===(t=(e=n.host).closest)||void 0===t?void 0:t.call(e,"kyn-header-nav");if(i)return i;n=n.host.getRootNode()}return null}_observeParentNavTruncate(){const e=this._resolveOwningNav();this._observedNav!==e?(this._truncateObserver&&(this._truncateObserver.disconnect(),this._truncateObserver=void 0),this._observedNav=e,e&&(this._truncateObserver=new MutationObserver((()=>{this._syncInheritedTruncate()})),this._truncateObserver.observe(e,{attributes:!0,attributeFilter:["truncate-links"]})),this._syncInheritedTruncate()):this._syncInheritedTruncate()}_isInTruncatingNav(){var e,t;return null!==(t=null===(e=this._resolveOwningNav())||void 0===e?void 0:e.hasAttribute("truncate-links"))&&void 0!==t&&t}disconnectedCallback(){this._enterTimer&&(clearTimeout(this._enterTimer),this._enterTimer=void 0),this._leaveTimer&&(clearTimeout(this._leaveTimer),this._leaveTimer=void 0),this._viewChangeTimer&&(clearTimeout(this._viewChangeTimer),this._viewChangeTimer=void 0),document.removeEventListener("click",this._handleDocumentClick),window.removeEventListener("resize",this._debounceResize),this.removeEventListener("on-column-count-change",this._handleColumnCountChange),this.removeEventListener("on-nav-change",this._handleNavChange),this._truncateObserver&&(this._truncateObserver.disconnect(),this._truncateObserver=void 0),this._observedNav=null,super.disconnectedCallback()}},r=new WeakMap,b=new WeakMap,_=new WeakMap,T=new WeakMap,C=new WeakMap,S=new WeakMap,L=new WeakMap,W=new WeakMap,N=new WeakMap,M=new WeakMap,z=new WeakMap,E=new WeakMap,P=new WeakMap,O=new WeakMap,A=new WeakMap,$=new WeakMap,j=new WeakMap,q=new WeakMap,B=new WeakMap,F=new WeakMap,R=new WeakMap,I=new WeakMap,D=new WeakMap,H=new WeakMap,G=new WeakMap,K=new WeakMap,U=new WeakMap,Y=new WeakMap,e(X,"HeaderLink"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=Le[Symbol.metadata])&&void 0!==e?e:null):void 0;J=[c({type:Boolean,reflect:!0})],Q=[c({type:String})],Z=[c({type:String})],ee=[c({type:String})],te=[c({type:Boolean})],ie=[u()],ne=[c({type:Boolean})],ae=[c({type:String})],oe=[c({type:Number})],re=[c({type:Number})],se=[c({type:Boolean})],le=[c({type:String})],he=[c({type:Boolean})],de=[c({type:String,attribute:"link-title"})],ce=[c({type:Boolean,reflect:!0})],ue=[u()],me=[c({type:Boolean,reflect:!0,attribute:"has-categorical"})],pe=[c({type:Boolean,reflect:!0,attribute:"has-multi-column"})],ve=[c({type:Number,reflect:!0,attribute:"data-flyout-columns"})],ke=[c({type:Boolean,reflect:!0,attribute:"fixed-column-widths"})],ge=[c({type:Boolean,reflect:!0,attribute:"full-width-flyout"})],fe=[u()],ye=[u()],xe=[m({slot:"links"})],we=[u()],be=[u()],_e=[c({type:Boolean,reflect:!0,attribute:"global-switcher-nav"})],Te=[u()],t(X,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},We,Ne),t(X,null,Q,{kind:"accessor",name:"href",static:!1,private:!1,access:{has:e=>"href"in e,get:e=>e.href,set:(e,t)=>{e.href=t}},metadata:i},Me,ze),t(X,null,Z,{kind:"accessor",name:"target",static:!1,private:!1,access:{has:e=>"target"in e,get:e=>e.target,set:(e,t)=>{e.target=t}},metadata:i},Ee,Pe),t(X,null,ee,{kind:"accessor",name:"rel",static:!1,private:!1,access:{has:e=>"rel"in e,get:e=>e.rel,set:(e,t)=>{e.rel=t}},metadata:i},Oe,Ae),t(X,null,te,{kind:"accessor",name:"isActive",static:!1,private:!1,access:{has:e=>"isActive"in e,get:e=>e.isActive,set:(e,t)=>{e.isActive=t}},metadata:i},$e,je),t(X,null,ie,{kind:"accessor",name:"level",static:!1,private:!1,access:{has:e=>"level"in e,get:e=>e.level,set:(e,t)=>{e.level=t}},metadata:i},qe,Be),t(X,null,ne,{kind:"accessor",name:"divider",static:!1,private:!1,access:{has:e=>"divider"in e,get:e=>e.divider,set:(e,t)=>{e.divider=t}},metadata:i},Fe,Re),t(X,null,ae,{kind:"accessor",name:"searchLabel",static:!1,private:!1,access:{has:e=>"searchLabel"in e,get:e=>e.searchLabel,set:(e,t)=>{e.searchLabel=t}},metadata:i},Ie,De),t(X,null,oe,{kind:"accessor",name:"searchThreshold",static:!1,private:!1,access:{has:e=>"searchThreshold"in e,get:e=>e.searchThreshold,set:(e,t)=>{e.searchThreshold=t}},metadata:i},He,Ge),t(X,null,re,{kind:"accessor",name:"linksPerColumn",static:!1,private:!1,access:{has:e=>"linksPerColumn"in e,get:e=>e.linksPerColumn,set:(e,t)=>{e.linksPerColumn=t}},metadata:i},Ke,Ue),t(X,null,se,{kind:"accessor",name:"hideSearch",static:!1,private:!1,access:{has:e=>"hideSearch"in e,get:e=>e.hideSearch,set:(e,t)=>{e.hideSearch=t}},metadata:i},Ye,Ve),t(X,null,le,{kind:"accessor",name:"backText",static:!1,private:!1,access:{has:e=>"backText"in e,get:e=>e.backText,set:(e,t)=>{e.backText=t}},metadata:i},Xe,Je),t(X,null,he,{kind:"accessor",name:"leftPadding",static:!1,private:!1,access:{has:e=>"leftPadding"in e,get:e=>e.leftPadding,set:(e,t)=>{e.leftPadding=t}},metadata:i},Qe,Ze),t(X,null,de,{kind:"accessor",name:"linkTitle",static:!1,private:!1,access:{has:e=>"linkTitle"in e,get:e=>e.linkTitle,set:(e,t)=>{e.linkTitle=t}},metadata:i},et,tt),t(X,null,ce,{kind:"accessor",name:"truncate",static:!1,private:!1,access:{has:e=>"truncate"in e,get:e=>e.truncate,set:(e,t)=>{e.truncate=t}},metadata:i},it,nt),t(X,null,ue,{kind:"accessor",name:"_autoTitle",static:!1,private:!1,access:{has:e=>"_autoTitle"in e,get:e=>e._autoTitle,set:(e,t)=>{e._autoTitle=t}},metadata:i},at,ot),t(X,null,me,{kind:"accessor",name:"hasCategorical",static:!1,private:!1,access:{has:e=>"hasCategorical"in e,get:e=>e.hasCategorical,set:(e,t)=>{e.hasCategorical=t}},metadata:i},rt,st),t(X,null,pe,{kind:"accessor",name:"hasMultiColumn",static:!1,private:!1,access:{has:e=>"hasMultiColumn"in e,get:e=>e.hasMultiColumn,set:(e,t)=>{e.hasMultiColumn=t}},metadata:i},lt,ht),t(X,null,ve,{kind:"accessor",name:"flyoutColumns",static:!1,private:!1,access:{has:e=>"flyoutColumns"in e,get:e=>e.flyoutColumns,set:(e,t)=>{e.flyoutColumns=t}},metadata:i},dt,ct),t(X,null,ke,{kind:"accessor",name:"fixedColumnWidths",static:!1,private:!1,access:{has:e=>"fixedColumnWidths"in e,get:e=>e.fixedColumnWidths,set:(e,t)=>{e.fixedColumnWidths=t}},metadata:i},ut,mt),t(X,null,ge,{kind:"accessor",name:"fullWidthFlyout",static:!1,private:!1,access:{has:e=>"fullWidthFlyout"in e,get:e=>e.fullWidthFlyout,set:(e,t)=>{e.fullWidthFlyout=t}},metadata:i},pt,vt),t(X,null,fe,{kind:"accessor",name:"_searchTerm",static:!1,private:!1,access:{has:e=>"_searchTerm"in e,get:e=>e._searchTerm,set:(e,t)=>{e._searchTerm=t}},metadata:i},kt,gt),t(X,null,ye,{kind:"accessor",name:"_slottedLinkCount",static:!1,private:!1,access:{has:e=>"_slottedLinkCount"in e,get:e=>e._slottedLinkCount,set:(e,t)=>{e._slottedLinkCount=t}},metadata:i},ft,yt),t(X,null,xe,{kind:"accessor",name:"slottedEls",static:!1,private:!1,access:{has:e=>"slottedEls"in e,get:e=>e.slottedEls,set:(e,t)=>{e.slottedEls=t}},metadata:i},xt,wt),t(X,null,we,{kind:"accessor",name:"_leaveTimer",static:!1,private:!1,access:{has:e=>"_leaveTimer"in e,get:e=>e._leaveTimer,set:(e,t)=>{e._leaveTimer=t}},metadata:i},bt,_t),t(X,null,be,{kind:"accessor",name:"_inheritedTruncate",static:!1,private:!1,access:{has:e=>"_inheritedTruncate"in e,get:e=>e._inheritedTruncate,set:(e,t)=>{e._inheritedTruncate=t}},metadata:i},Tt,Ct),t(X,null,_e,{kind:"accessor",name:"_inGlobalSwitcherNav",static:!1,private:!1,access:{has:e=>"_inGlobalSwitcherNav"in e,get:e=>e._inGlobalSwitcherNav,set:(e,t)=>{e._inGlobalSwitcherNav=t}},metadata:i},St,Lt),t(X,null,Te,{kind:"accessor",name:"menuPosition",static:!1,private:!1,access:{has:e=>"menuPosition"in e,get:e=>e.menuPosition,set:(e,t)=>{e.menuPosition=t}},metadata:i},Wt,Nt),t(null,V={value:X},Ce,{kind:"class",name:X.name,metadata:i},null,Se),X=V.value,i&&Object.defineProperty(X,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),X.styles=l(w),i(X,Se),X})();export{b as HeaderLink};
|
|
772
772
|
//# sourceMappingURL=headerLink.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerLink.js","sources":["../../../../src/components/global/header/headerLink.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n state,\n queryAssignedElements,\n} from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { debounce } from '../../../common/helpers/helpers';\nimport HeaderLinkScss from './headerLink.scss?inline';\nimport '../../reusable/textInput';\nimport arrowIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-right.svg';\nimport backIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/arrow-left.svg';\nimport searchIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/search.svg';\n\nexport type HeaderLinkTarget = '_self' | '_blank' | '_parent' | '_top';\n\n/**\n * Component for navigation links within the Header.\n * @fires on-click - Captures the click event and emits the original event details. `detail:{ origEvent: Event ,defaultPrevented: boolean}`\n * @slot unnamed - Slot for link text/content.\n * @slot links - Slot for sublinks (up to two levels).\n * @slot icon - Slot for icon.\n */\n@customElement('kyn-header-link')\nexport class HeaderLink extends LitElement {\n static override styles = unsafeCSS(HeaderLinkScss);\n\n /** Link open state.\n * @internal\n */\n @property({ type: Boolean, reflect: true })\n accessor open = false;\n\n /** Link url. */\n @property({ type: String })\n accessor href = '';\n\n /** Defines a target attribute for where to load the URL. Possible options include \"_self\" (default), \"_blank\", \"_parent\", \"_top\" */\n @property({ type: String })\n accessor target: HeaderLinkTarget = '_self';\n\n /** Defines a relationship between a linked resource and the document. An empty string (default) means no particular relationship */\n @property({ type: String })\n accessor rel = '';\n\n /** Link active state, for example when URL path matches link href. */\n @property({ type: Boolean })\n accessor isActive = false;\n\n /** Link level, supports two levels.\n * @ignore\n */\n @state()\n accessor level = 1;\n\n /** DEPRECATED. Adds a 1px shadow to the bottom of the link. */\n @property({ type: Boolean })\n accessor divider = false;\n\n /** Label for sub-menu link search input, which is visible with > 5 sub-links. */\n @property({ type: String })\n accessor searchLabel = 'Search';\n\n /** Number of child links required to show search input. */\n @property({ type: Number })\n accessor searchThreshold = 6;\n\n /** Maximum number of links per column in plain (non-categorical) flyouts.\n * When set to a positive number and the slotted link count exceeds this value,\n * additional columns are created automatically. Default 0 (auto — no column splitting).\n */\n @property({ type: Number })\n accessor linksPerColumn = 0;\n\n /** Hide the search input regardless of the number of child links. */\n @property({ type: Boolean })\n accessor hideSearch = false;\n\n /** Text for mobile \"Back\" button. */\n @property({ type: String })\n accessor backText = 'Back';\n\n /** Add left padding when icon is not provided to align text with links that do have icons. */\n @property({ type: Boolean })\n accessor leftPadding = false;\n\n /** Title attribute for the link, shown as a tooltip on hover. Useful for truncated text.\n * @internal\n */\n @property({ type: String, attribute: 'link-title' })\n accessor linkTitle = '';\n\n /** When true, long text truncates with ellipsis. Default: false (text wraps normally). */\n @property({ type: Boolean, reflect: true })\n accessor truncate = false;\n\n /** Auto-derived title from slot content, used if linkTitle is not set.\n * @internal\n */\n @state()\n accessor _autoTitle = '';\n\n /** Indicates whether this link contains categorical navigation (kyn-header-categories or kyn-header-category).\n * @internal\n */\n @property({ type: Boolean, reflect: true, attribute: 'has-categorical' })\n accessor hasCategorical = false;\n\n /** Indicates whether this link contains multi-column categorical navigation (kyn-header-categories wrapper).\n * Used to distinguish multi-column flyouts from single-column category lists.\n * @internal\n */\n @property({ type: Boolean, reflect: true, attribute: 'has-multi-column' })\n accessor hasMultiColumn = false;\n\n /** Number of columns in the categorical flyout (for width adjustment).\n * @internal\n */\n @property({ type: Number, reflect: true, attribute: 'data-flyout-columns' })\n accessor flyoutColumns = 0;\n\n /** Mirrors `fixed-column-widths` from nested kyn-header-categories.\n * @internal\n */\n @property({ type: Boolean, reflect: true, attribute: 'fixed-column-widths' })\n accessor fixedColumnWidths = false;\n\n /** Forces the desktop flyout to use the full-width categorical Global Switcher layout. */\n @property({ type: Boolean, reflect: true, attribute: 'full-width-flyout' })\n accessor fullWidthFlyout = false;\n\n /** Current search term for filtering links in the flyout.\n * @internal\n */\n @state()\n accessor _searchTerm = '';\n\n /** Number of slotted plain links (non-categorical), used for column calculation.\n * @internal\n */\n @state()\n accessor _slottedLinkCount = 0;\n\n /**\n * Queries any slotted HTML elements.\n * @ignore\n */\n @queryAssignedElements({ slot: 'links' })\n accessor slottedEls!: Array<HTMLElement>;\n\n /** Timeout function to delay flyout open.\n * @internal\n */\n _enterTimer: any;\n\n /** Timeout function to delay flyout close.\n * @internal\n */\n @state()\n accessor _leaveTimer: any;\n\n /** Suppresses pointer-leave close during internal view transitions (e.g. \"More\" click).\n * @internal\n */\n private _viewChangeInProgress = false;\n\n /**\n * @internal\n */\n private _viewChangeTimer: any;\n\n /** Cached truncation state from parent nav\n * @internal\n */\n @state()\n accessor _inheritedTruncate = false;\n\n /** Observer for `truncate-links` changes on the owning nav.\n * @internal\n */\n private _truncateObserver?: MutationObserver;\n\n /**\n * @internal\n */\n private _observedNav: HTMLElement | null = null;\n\n /** Menu positioning\n * @internal\n */\n @state()\n accessor menuPosition: any = {};\n\n override render() {\n const classes = {\n menu: this.slottedEls.length,\n [`level--${this.level}`]: true,\n divider: this.divider,\n 'full-width-flyout': this.fullWidthFlyout,\n open: this.open || (this.level === 1 && this.isActive),\n };\n\n // Check if truncation should be applied (individual prop or inherited from nav)\n const shouldTruncate = this.truncate || this._inheritedTruncate;\n\n const linkClasses = {\n 'nav-link': true,\n active: this.isActive,\n interactive: this.level == 1,\n 'padding-left': this.leftPadding,\n truncate: shouldTruncate,\n };\n\n const menuClasses = {\n menu__content: true,\n slotted: this.slottedEls.length,\n };\n\n const Links = this.querySelectorAll(\n ':scope > kyn-header-link, :scope > kyn-header-category > kyn-header-link'\n );\n\n const showSearch = !this.hideSearch && Links.length >= this.searchThreshold;\n\n const wrapperClasses = {\n wrapper: true,\n 'no-search': !showSearch,\n };\n\n return html`\n <div\n class=\"${classMap(classes)}\"\n @pointerleave=${(e: PointerEvent) => this.handlePointerLeave(e)}\n @pointerenter=${(e: PointerEvent) => this.handlePointerEnter(e)}\n >\n <a\n target=${this.target}\n rel=${this.rel}\n href=${this.href}\n title=${ifDefined(\n this.linkTitle ||\n (this.slottedEls.length === 0 ? this._autoTitle : '') ||\n undefined\n )}\n class=${classMap(linkClasses)}\n @click=${(e: Event) => this.handleClick(e)}\n @pointerenter=${(e: PointerEvent) => this.handlePointerEnter(e)}\n >\n <slot name=\"icon\"></slot>\n <slot @slotchange=${this._handleDefaultSlotChange}></slot>\n\n ${this.slottedEls.length\n ? html` <span class=\"arrow\">${unsafeSVG(arrowIcon)}</span> `\n : null}\n </a>\n\n <div\n class=${classMap(menuClasses)}\n style=${styleMap(this.menuPosition)}\n >\n <div class=${classMap(wrapperClasses)}>\n <button\n class=\"go-back\"\n type=\"button\"\n @click=${(e: Event) => this._handleBack(e)}\n >\n <span>${unsafeSVG(backIcon)}</span>\n ${this.backText}\n </button>\n ${showSearch\n ? html`\n <kyn-text-input\n hideLabel\n size=\"sm\"\n type=\"search\"\n label=${this.searchLabel}\n placeholder=${this.searchLabel}\n value=${this._searchTerm}\n @on-input=${(e: Event) => this._handleSearch(e)}\n >\n <span slot=\"icon\" class=\"search-icon\">\n ${unsafeSVG(searchIcon)}\n </span>\n ${this.searchLabel}\n </kyn-text-input>\n `\n : null}\n\n <div\n class=\"links-columns\"\n style=${styleMap(this._linksColumnStyles)}\n >\n <slot\n name=\"links\"\n @slotchange=${this._handleLinksSlotChange}\n ></slot>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n\n /** Compute inline styles for the links-columns wrapper.\n * Only applies multi-column layout for plain (non-categorical) flyouts\n * when the number of links exceeds linksPerColumn.\n * @internal\n */\n private get _linksColumnStyles() {\n if (\n !this.hasCategorical &&\n this.linksPerColumn > 0 &&\n this._slottedLinkCount > this.linksPerColumn\n ) {\n const columnCount = Math.ceil(\n this._slottedLinkCount / this.linksPerColumn\n );\n return { 'column-count': columnCount.toString() };\n }\n return {};\n }\n\n private _handleSearch(e: any) {\n this._searchTerm = e.detail.value.toLowerCase();\n this._searchFilter();\n }\n\n private _searchFilter() {\n const Links: any = this.querySelectorAll(\n ':scope > kyn-header-link, :scope > kyn-header-category > kyn-header-link'\n );\n\n Links.forEach((link: any) => {\n // get link text\n const textSlot = link.shadowRoot?.querySelector(\n 'slot:not([name])'\n ) as HTMLSlotElement | null;\n const nodes: any = textSlot?.assignedNodes({ flatten: true }) ?? [];\n let linkText = '';\n for (let i = 0; i < nodes.length; i++) {\n linkText += nodes[i].textContent.trim();\n }\n\n if (linkText.toLowerCase().includes(this._searchTerm)) {\n link.style.display = 'block';\n } else {\n link.style.display = 'none';\n }\n });\n\n this._positionMenu();\n }\n\n /** Extract text content from the default slot to use as auto-title */\n private _handleDefaultSlotChange(e: Event) {\n const slot = e.target as HTMLSlotElement;\n const nodes = slot.assignedNodes({ flatten: true });\n let textContent = '';\n for (const node of nodes) {\n textContent += node.textContent?.trim() ?? '';\n }\n this._autoTitle = textContent.trim();\n }\n\n private _handleBack(e?: Event) {\n if (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n // detect if we're inside the categorized/mega nav variant\n const headerCategories = this.closest('kyn-header-categories') as\n | (HTMLElement & { handleBackClick?: (evt?: Event) => void })\n | null;\n\n if (headerCategories?.handleBackClick) {\n headerCategories.handleBackClick(e);\n\n // Close any open header links under this nav\n const navRoot =\n (this.closest('kyn-header-nav') as HTMLElement | null) ??\n headerCategories;\n\n const links = navRoot.querySelectorAll<HTMLElement & { open?: boolean }>(\n 'kyn-header-link[open]'\n );\n\n links.forEach((link) => {\n link.removeAttribute('open');\n if ('open' in link) {\n (link as any).open = false;\n }\n });\n\n // Clear local search for this column\n this._searchTerm = '';\n this._searchFilter();\n\n return;\n }\n\n // BASIC NAV:\n // Preserve original behavior: go up one level\n this.open = false;\n this._searchTerm = '';\n this._searchFilter();\n }\n\n private _handleLinksSlotChange() {\n // Detect if this link contains categorical navigation\n const hasCategories = this.querySelector('kyn-header-categories') !== null;\n const hasCategory = this.querySelector('kyn-header-category') !== null;\n const categoriesEl =\n this.querySelector('kyn-tab-panel[visible] kyn-header-categories') ||\n this.querySelector('kyn-header-categories');\n\n this.hasCategorical = hasCategories || hasCategory;\n this.hasMultiColumn = hasCategories; // Only true for multi-column wrapper\n this.fixedColumnWidths =\n categoriesEl?.hasAttribute('fixed-column-widths') ?? false;\n\n // Prime flyout column count before open so width/layout CSS can apply\n // without a second-pass visual snap.\n if (categoriesEl) {\n const dataCol = categoriesEl.getAttribute('data-columns');\n this.flyoutColumns = dataCol ? parseInt(dataCol, 10) || 0 : 0;\n } else {\n this.flyoutColumns = 0;\n }\n\n // Count direct child plain links for column wrapping\n const plainLinks = this.querySelectorAll(':scope > kyn-header-link');\n this._slottedLinkCount = plainLinks.length;\n\n this.requestUpdate();\n }\n\n /** Handle column count changes from slotted kyn-header-categories\n * @internal\n */\n private _handleColumnCountChange = (e: Event) => {\n const detail = (\n e as CustomEvent<{\n columnCount: number;\n fixedColumnWidths?: boolean;\n }>\n ).detail;\n if (detail?.columnCount !== undefined) {\n this.flyoutColumns = detail.columnCount;\n this.fixedColumnWidths = Boolean(detail.fixedColumnWidths);\n }\n };\n\n /**\n * @internal\n */\n private get _isDesktopViewport(): boolean {\n if (typeof window === 'undefined') return true;\n return window.innerWidth >= 672;\n }\n\n private handlePointerEnter(e: PointerEvent) {\n if (\n e.pointerType === 'mouse' &&\n this.slottedEls.length &&\n this._isDesktopViewport\n ) {\n clearTimeout(this._leaveTimer);\n\n // close other open sibling links immediately when entering any link with submenus\n this._closeOtherOpenLinks();\n\n this._enterTimer = setTimeout(() => {\n // Close siblings again right before opening to prevent race conditions\n this._closeOtherOpenLinks();\n this.open = true;\n }, 150);\n }\n }\n\n /** close other open header links at the same level\n * @internal\n */\n private _closeOtherOpenLinks(): void {\n // Strategy: Close all sibling header-links that are currently open\n // This handles the sidebar nav where links are direct children of header-nav\n\n // For level 1 links (main sidebar), find siblings via parent\n if (this.level === 1) {\n const parent = this.parentElement;\n if (parent) {\n // Find ALL level 1 links (not just open ones) to clear pending timers\n const siblingLinks = parent.querySelectorAll<\n HTMLElement & { open?: boolean; _enterTimer?: any }\n >(':scope > kyn-header-link');\n\n siblingLinks.forEach((link) => {\n if (link !== this) {\n // Clear any pending timers\n if ((link as any)._enterTimer) {\n clearTimeout((link as any)._enterTimer);\n (link as any)._enterTimer = undefined;\n }\n if ((link as any)._leaveTimer) {\n clearTimeout((link as any)._leaveTimer);\n (link as any)._leaveTimer = undefined;\n }\n // Force close - set property, remove attribute, and force re-render\n if ((link as any).open) {\n (link as any).open = false;\n link.removeAttribute('open');\n (link as any).requestUpdate?.();\n }\n }\n });\n }\n return;\n }\n\n // For nested links, find the nearest container and close same-level links\n const navContainer =\n this.closest('kyn-header-nav') ||\n this.closest('kyn-tab-panel') ||\n this.closest('.menu__content');\n\n if (navContainer) {\n const allLinks = navContainer.querySelectorAll<\n HTMLElement & { open?: boolean; level?: number; _enterTimer?: any }\n >('kyn-header-link');\n\n allLinks.forEach((link) => {\n if (link !== this && (link as any).level === this.level) {\n // Clear any pending timers\n if ((link as any)._enterTimer) {\n clearTimeout((link as any)._enterTimer);\n (link as any)._enterTimer = undefined;\n }\n if ((link as any)._leaveTimer) {\n clearTimeout((link as any)._leaveTimer);\n (link as any)._leaveTimer = undefined;\n }\n // Force close - set property, remove attribute, and force re-render\n if ((link as any).open) {\n (link as any).open = false;\n link.removeAttribute('open');\n (link as any).requestUpdate?.();\n }\n }\n });\n }\n }\n\n private handlePointerLeave(e: PointerEvent) {\n // Suppress close during internal view transitions (e.g. \"More\" → detail view).\n // The flyout resizes and the cursor may end up outside, but the user's intent\n // was to drill in — not to leave.\n if (this._viewChangeInProgress) {\n return;\n }\n\n // check both the link's own prop and parent nav's prop\n // if either is false, don't auto-close the flyout\n const shouldAutoCollapse = this._shouldAutoCollapse();\n if (!shouldAutoCollapse) {\n return;\n }\n\n if (\n e.pointerType === 'mouse' &&\n this.slottedEls.length &&\n this._searchTerm === '' &&\n this._isDesktopViewport\n ) {\n clearTimeout(this._enterTimer);\n this._leaveTimer = setTimeout(() => {\n this.open = false;\n }, 150);\n }\n }\n\n /** Check if flyout should auto-collapse based on parent nav's autoOpenFlyout.\n * Only applies to links containing categorical nav (kyn-header-categories).\n * @internal\n */\n private _shouldAutoCollapse(): boolean {\n // Non-categorical links always auto-collapse (preserve original behavior)\n if (!this.hasCategorical && !this.fullWidthFlyout) {\n return true;\n }\n\n const parentNav = this.closest('kyn-header-nav') as\n | (HTMLElement & { autoOpenFlyout?: string })\n | null;\n\n // If parent nav has autoOpenFlyout set (truthy), don't auto-collapse\n if (parentNav?.autoOpenFlyout) {\n return false;\n }\n\n return true;\n }\n\n private handleClick(e: Event) {\n let preventDefault = false;\n\n if (this.slottedEls.length) {\n preventDefault = true;\n e.preventDefault();\n // Close other open links before toggling this one\n if (!this.open) {\n this._closeOtherOpenLinks();\n }\n this.open = !this.open;\n } else {\n this._closeOtherOpenLinks();\n }\n\n const event = new CustomEvent('on-click', {\n detail: { origEvent: e, defaultPrevented: preventDefault },\n });\n this.dispatchEvent(event);\n }\n\n private handleClickOut(e: Event) {\n if (!e.composedPath().includes(this)) {\n this.open = false;\n this._searchTerm = '';\n this._searchFilter();\n }\n }\n\n private determineLevel() {\n let level = 1;\n let node: any = this.parentNode;\n\n // Traverse up the DOM tree\n while (node) {\n if (node.nodeName === 'KYN-HEADER-LINK') {\n level = (node.level ?? 1) + 1;\n break;\n } else if (\n node.nodeName === 'KYN-HEADER-CATEGORY' &&\n node.parentNode?.nodeName === 'KYN-HEADER-LINK'\n ) {\n level = (node.parentNode.level ?? 1) + 1;\n break;\n } else if (\n window.innerWidth < 672 &&\n node.nodeName === 'KYN-HEADER-FLYOUT'\n ) {\n level = 2;\n break;\n }\n node = node.parentNode;\n }\n\n this.level = level;\n }\n\n private _positionMenu() {\n const linkBounds = this.getBoundingClientRect?.();\n const menuEl =\n this.shadowRoot?.querySelector<HTMLElement>('.menu__content');\n const menuBounds = menuEl?.getBoundingClientRect?.();\n\n if (!linkBounds || !menuBounds) {\n return;\n }\n\n const Padding = 12;\n const HeaderHeight = 64;\n\n const linkHalf = linkBounds.top + linkBounds.height / 2;\n const menuHalf = menuBounds.height / 2;\n\n const topCandidate =\n linkHalf + menuHalf > window.innerHeight\n ? linkHalf - menuHalf - (linkHalf + menuHalf - window.innerHeight) - 16\n : linkHalf - menuHalf;\n\n if (this.level === 1) {\n // Keep level-1 flyouts pinned to the nav rail origin (legacy behavior).\n // This avoids viewport/header bound drift and keeps panels consistently aligned.\n let navMenuHeight = 0;\n const headerNav = this.closest('kyn-header-nav') as HTMLElement | null;\n if (headerNav) {\n const navMenu = headerNav.shadowRoot?.querySelector(\n '.menu__content'\n ) as HTMLElement | null;\n if (navMenu) {\n navMenuHeight = navMenu.offsetHeight;\n }\n }\n\n this.menuPosition = {\n top: HeaderHeight + 'px',\n left: '0px',\n minHeight: navMenuHeight + 'px',\n };\n } else {\n const top = topCandidate < HeaderHeight ? HeaderHeight : topCandidate;\n this.menuPosition = {\n top: top + 'px',\n left: linkBounds.right + Padding + 'px',\n };\n }\n }\n\n /** @internal */\n private _debounceResize = debounce(() => {\n this.determineLevel();\n if (this.open) {\n this._positionMenu();\n }\n });\n\n override firstUpdated() {\n this.determineLevel();\n this._handleLinksSlotChange();\n }\n\n override updated(changedProps: any) {\n // Re-position after render when the menu has its actual dimensions\n if (changedProps.has('open') && this.open) {\n // Use rAF to ensure the DOM has painted\n requestAnimationFrame(() => {\n this._positionMenu();\n });\n }\n\n // Re-position when column count changes (categories may render after flyout opens)\n if (changedProps.has('flyoutColumns') && this.open) {\n requestAnimationFrame(() => {\n this._positionMenu();\n });\n }\n }\n\n /**\n * @internal\n */\n private _handleDocumentClick = (e: Event) => this.handleClickOut(e);\n\n /** Suppress pointer-leave close when categories switch views (root ↔ detail).\n * @internal\n */\n private _handleNavChange = () => {\n this._viewChangeInProgress = true;\n clearTimeout(this._viewChangeTimer);\n // Allow enough time for the flyout to finish resizing before re-enabling close\n this._viewChangeTimer = setTimeout(() => {\n this._viewChangeInProgress = false;\n }, 500);\n };\n\n override connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._handleDocumentClick);\n window.addEventListener('resize', this._debounceResize);\n // Listen for column count changes from slotted kyn-header-categories\n this.addEventListener(\n 'on-column-count-change',\n this._handleColumnCountChange\n );\n // Suppress flyout close during internal view transitions (e.g. \"More\" click)\n this.addEventListener('on-nav-change', this._handleNavChange);\n // Check for truncation inheritance after DOM is ready\n queueMicrotask(() => {\n this._observeParentNavTruncate();\n });\n }\n\n /** Find the closest owning nav across shadow boundaries.\n * @internal\n */\n private _resolveOwningNav(): HTMLElement | null {\n const parentNav = this.closest('kyn-header-nav');\n if (parentNav) return parentNav as HTMLElement;\n\n let root = this.getRootNode();\n while (root instanceof ShadowRoot) {\n const nav = root.host.closest?.('kyn-header-nav');\n if (nav) {\n return nav as HTMLElement;\n }\n root = root.host.getRootNode();\n }\n\n return null;\n }\n\n /** Sync inherited truncate state with the owning nav.\n * @internal\n */\n private _syncInheritedTruncate = (): void => {\n this._inheritedTruncate = this._isInTruncatingNav();\n };\n\n /** Observe `truncate-links` changes on the owning nav.\n * @internal\n */\n private _observeParentNavTruncate(): void {\n const nav = this._resolveOwningNav();\n\n if (this._observedNav === nav) {\n this._syncInheritedTruncate();\n return;\n }\n\n if (this._truncateObserver) {\n this._truncateObserver.disconnect();\n this._truncateObserver = undefined;\n }\n\n this._observedNav = nav;\n\n if (nav) {\n this._truncateObserver = new MutationObserver(() => {\n this._syncInheritedTruncate();\n });\n this._truncateObserver.observe(nav, {\n attributes: true,\n attributeFilter: ['truncate-links'],\n });\n }\n\n this._syncInheritedTruncate();\n }\n\n /** Check if this link is inside a nav with truncate-links attribute\n * Uses getRootNode to traverse up through shadow DOM boundaries\n * @internal\n */\n private _isInTruncatingNav(): boolean {\n return this._resolveOwningNav()?.hasAttribute('truncate-links') ?? false;\n }\n\n override disconnectedCallback() {\n // clear timers to avoid callbacks after unmount\n if (this._enterTimer) {\n clearTimeout(this._enterTimer);\n this._enterTimer = undefined;\n }\n if (this._leaveTimer) {\n clearTimeout(this._leaveTimer);\n this._leaveTimer = undefined;\n }\n\n if (this._viewChangeTimer) {\n clearTimeout(this._viewChangeTimer);\n this._viewChangeTimer = undefined;\n }\n\n document.removeEventListener('click', this._handleDocumentClick);\n window.removeEventListener('resize', this._debounceResize);\n this.removeEventListener(\n 'on-column-count-change',\n this._handleColumnCountChange\n );\n this.removeEventListener('on-nav-change', this._handleNavChange);\n if (this._truncateObserver) {\n this._truncateObserver.disconnect();\n this._truncateObserver = undefined;\n }\n this._observedNav = null;\n super.disconnectedCallback();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-header-link': HeaderLink;\n }\n}\n"],"names":["HeaderLink","customElement","LitElement","_classThis","_classSuper","_HeaderLink_open_accessor_storage","set","this","__runInitializers","_open_initializers","_HeaderLink_href_accessor_storage","_open_extraInitializers","_href_initializers","_HeaderLink_target_accessor_storage","_href_extraInitializers","_target_initializers","_HeaderLink_rel_accessor_storage","_target_extraInitializers","_rel_initializers","_HeaderLink_isActive_accessor_storage","_rel_extraInitializers","_isActive_initializers","_HeaderLink_level_accessor_storage","_isActive_extraInitializers","_level_initializers","_HeaderLink_divider_accessor_storage","_level_extraInitializers","_divider_initializers","_HeaderLink_searchLabel_accessor_storage","_divider_extraInitializers","_searchLabel_initializers","_HeaderLink_searchThreshold_accessor_storage","_searchLabel_extraInitializers","_searchThreshold_initializers","_HeaderLink_linksPerColumn_accessor_storage","_searchThreshold_extraInitializers","_linksPerColumn_initializers","_HeaderLink_hideSearch_accessor_storage","_linksPerColumn_extraInitializers","_hideSearch_initializers","_HeaderLink_backText_accessor_storage","_hideSearch_extraInitializers","_backText_initializers","_HeaderLink_leftPadding_accessor_storage","_backText_extraInitializers","_leftPadding_initializers","_HeaderLink_linkTitle_accessor_storage","_leftPadding_extraInitializers","_linkTitle_initializers","_HeaderLink_truncate_accessor_storage","_linkTitle_extraInitializers","_truncate_initializers","_HeaderLink__autoTitle_accessor_storage","_truncate_extraInitializers","__autoTitle_initializers","_HeaderLink_hasCategorical_accessor_storage","__autoTitle_extraInitializers","_hasCategorical_initializers","_HeaderLink_hasMultiColumn_accessor_storage","_hasCategorical_extraInitializers","_hasMultiColumn_initializers","_HeaderLink_flyoutColumns_accessor_storage","_hasMultiColumn_extraInitializers","_flyoutColumns_initializers","_HeaderLink_fixedColumnWidths_accessor_storage","_flyoutColumns_extraInitializers","_fixedColumnWidths_initializers","_HeaderLink_fullWidthFlyout_accessor_storage","_fixedColumnWidths_extraInitializers","_fullWidthFlyout_initializers","_HeaderLink__searchTerm_accessor_storage","_fullWidthFlyout_extraInitializers","__searchTerm_initializers","_HeaderLink__slottedLinkCount_accessor_storage","__searchTerm_extraInitializers","__slottedLinkCount_initializers","_HeaderLink_slottedEls_accessor_storage","__slottedLinkCount_extraInitializers","_slottedEls_initializers","_enterTimer","_slottedEls_extraInitializers","_HeaderLink__leaveTimer_accessor_storage","__leaveTimer_initializers","_viewChangeInProgress","__leaveTimer_extraInitializers","_HeaderLink__inheritedTruncate_accessor_storage","__inheritedTruncate_initializers","_truncateObserver","__inheritedTruncate_extraInitializers","_observedNav","_HeaderLink_menuPosition_accessor_storage","_menuPosition_initializers","_handleColumnCountChange","_menuPosition_extraInitializers","e","detail","undefined","columnCount","flyoutColumns","fixedColumnWidths","Boolean","_debounceResize","debounce","determineLevel","open","_positionMenu","_handleDocumentClick","handleClickOut","_handleNavChange","clearTimeout","_viewChangeTimer","setTimeout","_syncInheritedTruncate","_inheritedTruncate","_isInTruncatingNav","__classPrivateFieldGet","value","__classPrivateFieldSet","href","target","rel","isActive","level","divider","searchLabel","searchThreshold","linksPerColumn","hideSearch","backText","leftPadding","linkTitle","truncate","_autoTitle","hasCategorical","hasMultiColumn","fullWidthFlyout","_searchTerm","_slottedLinkCount","slottedEls","_leaveTimer","menuPosition","render","classes","menu","length","shouldTruncate","linkClasses","active","interactive","menuClasses","menu__content","slotted","Links","querySelectorAll","showSearch","wrapperClasses","wrapper","html","classMap","handlePointerLeave","handlePointerEnter","ifDefined","handleClick","_handleDefaultSlotChange","unsafeSVG","arrowIcon","styleMap","_handleBack","backIcon","_handleSearch","searchIcon","_linksColumnStyles","_handleLinksSlotChange","Math","ceil","toString","toLowerCase","_searchFilter","forEach","link","textSlot","_a","shadowRoot","querySelector","nodes","_b","assignedNodes","flatten","linkText","i","textContent","trim","includes","style","display","node","preventDefault","stopPropagation","headerCategories","closest","handleBackClick","removeAttribute","hasCategories","hasCategory","categoriesEl","hasAttribute","dataCol","getAttribute","parseInt","plainLinks","requestUpdate","_isDesktopViewport","window","innerWidth","pointerType","_closeOtherOpenLinks","parent","parentElement","navContainer","_shouldAutoCollapse","parentNav","autoOpenFlyout","event","CustomEvent","origEvent","defaultPrevented","dispatchEvent","composedPath","parentNode","nodeName","_c","linkBounds","getBoundingClientRect","menuEl","menuBounds","call","linkHalf","top","height","menuHalf","topCandidate","innerHeight","navMenuHeight","headerNav","navMenu","_d","offsetHeight","HeaderHeight","left","minHeight","right","firstUpdated","updated","changedProps","has","requestAnimationFrame","connectedCallback","super","document","addEventListener","queueMicrotask","_observeParentNavTruncate","_resolveOwningNav","root","getRootNode","ShadowRoot","nav","host","disconnect","MutationObserver","observe","attributes","attributeFilter","disconnectedCallback","removeEventListener","property","type","reflect","_href_decorators","String","_target_decorators","_rel_decorators","_isActive_decorators","_level_decorators","state","_divider_decorators","_searchLabel_decorators","_searchThreshold_decorators","Number","_linksPerColumn_decorators","_hideSearch_decorators","_backText_decorators","_leftPadding_decorators","attribute","__autoTitle_decorators","_hasCategorical_decorators","_hasMultiColumn_decorators","_flyoutColumns_decorators","_fixedColumnWidths_decorators","_fullWidthFlyout_decorators","__searchTerm_decorators","__slottedLinkCount_decorators","_slottedEls_decorators","queryAssignedElements","slot","__leaveTimer_decorators","__inheritedTruncate_decorators","_menuPosition_decorators","__esDecorate","_open_decorators","kind","name","static","private","access","obj","get","metadata","_metadata","_linkTitle_decorators","_truncate_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","HeaderLinkScss"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"headerLink.js","sources":["../../../../src/components/global/header/headerLink.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n state,\n queryAssignedElements,\n} from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { debounce } from '../../../common/helpers/helpers';\nimport HeaderLinkScss from './headerLink.scss?inline';\nimport '../../reusable/textInput';\nimport arrowIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-right.svg';\nimport backIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/arrow-left.svg';\nimport searchIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/search.svg';\n\nexport type HeaderLinkTarget = '_self' | '_blank' | '_parent' | '_top';\n\n/**\n * Component for navigation links within the Header.\n * @fires on-click - Captures the click event and emits the original event details. `detail:{ origEvent: Event ,defaultPrevented: boolean}`\n * @slot unnamed - Slot for link text/content.\n * @slot links - Slot for sublinks (up to two levels).\n * @slot icon - Slot for icon.\n */\n@customElement('kyn-header-link')\nexport class HeaderLink extends LitElement {\n static override styles = unsafeCSS(HeaderLinkScss);\n\n /** Link open state.\n * @internal\n */\n @property({ type: Boolean, reflect: true })\n accessor open = false;\n\n /** Link url. */\n @property({ type: String })\n accessor href = '';\n\n /** Defines a target attribute for where to load the URL. Possible options include \"_self\" (default), \"_blank\", \"_parent\", \"_top\" */\n @property({ type: String })\n accessor target: HeaderLinkTarget = '_self';\n\n /** Defines a relationship between a linked resource and the document. An empty string (default) means no particular relationship */\n @property({ type: String })\n accessor rel = '';\n\n /** Link active state, for example when URL path matches link href. */\n @property({ type: Boolean })\n accessor isActive = false;\n\n /** Link level, supports two levels.\n * @ignore\n */\n @state()\n accessor level = 1;\n\n /** DEPRECATED. Adds a 1px shadow to the bottom of the link. */\n @property({ type: Boolean })\n accessor divider = false;\n\n /** Label for sub-menu link search input, which is visible with > 5 sub-links. */\n @property({ type: String })\n accessor searchLabel = 'Search';\n\n /** Number of child links required to show search input. */\n @property({ type: Number })\n accessor searchThreshold = 6;\n\n /** Maximum number of links per column in plain (non-categorical) flyouts.\n * When set to a positive number and the slotted link count exceeds this value,\n * additional columns are created automatically. Default 0 (auto — no column splitting).\n */\n @property({ type: Number })\n accessor linksPerColumn = 0;\n\n /** Hide the search input regardless of the number of child links. */\n @property({ type: Boolean })\n accessor hideSearch = false;\n\n /** Text for mobile \"Back\" button. */\n @property({ type: String })\n accessor backText = 'Back';\n\n /** Add left padding when icon is not provided to align text with links that do have icons. */\n @property({ type: Boolean })\n accessor leftPadding = false;\n\n /** Title attribute for the link, shown as a tooltip on hover. Useful for truncated text.\n * @internal\n */\n @property({ type: String, attribute: 'link-title' })\n accessor linkTitle = '';\n\n /** When true, long text truncates with ellipsis. Default: false (text wraps normally). */\n @property({ type: Boolean, reflect: true })\n accessor truncate = false;\n\n /** Auto-derived title from slot content, used if linkTitle is not set.\n * @internal\n */\n @state()\n accessor _autoTitle = '';\n\n /** Indicates whether this link contains categorical navigation (kyn-header-categories or kyn-header-category).\n * @internal\n */\n @property({ type: Boolean, reflect: true, attribute: 'has-categorical' })\n accessor hasCategorical = false;\n\n /** Indicates whether this link contains multi-column categorical navigation (kyn-header-categories wrapper).\n * Used to distinguish multi-column flyouts from single-column category lists.\n * @internal\n */\n @property({ type: Boolean, reflect: true, attribute: 'has-multi-column' })\n accessor hasMultiColumn = false;\n\n /** Number of columns in the categorical flyout (for width adjustment).\n * @internal\n */\n @property({ type: Number, reflect: true, attribute: 'data-flyout-columns' })\n accessor flyoutColumns = 0;\n\n /** Mirrors `fixed-column-widths` from nested kyn-header-categories.\n * @internal\n */\n @property({ type: Boolean, reflect: true, attribute: 'fixed-column-widths' })\n accessor fixedColumnWidths = false;\n\n /** Forces the desktop flyout to use the full-width categorical Global Switcher layout. */\n @property({ type: Boolean, reflect: true, attribute: 'full-width-flyout' })\n accessor fullWidthFlyout = false;\n\n /** Current search term for filtering links in the flyout.\n * @internal\n */\n @state()\n accessor _searchTerm = '';\n\n /** Number of slotted plain links (non-categorical), used for column calculation.\n * @internal\n */\n @state()\n accessor _slottedLinkCount = 0;\n\n /**\n * Queries any slotted HTML elements.\n * @ignore\n */\n @queryAssignedElements({ slot: 'links' })\n accessor slottedEls!: Array<HTMLElement>;\n\n /** Timeout function to delay flyout open.\n * @internal\n */\n _enterTimer: any;\n\n /** Timeout function to delay flyout close.\n * @internal\n */\n @state()\n accessor _leaveTimer: any;\n\n /** Suppresses pointer-leave close during internal view transitions (e.g. \"More\" click).\n * @internal\n */\n private _viewChangeInProgress = false;\n\n /**\n * @internal\n */\n private _viewChangeTimer: any;\n\n /** Cached truncation state from parent nav\n * @internal\n */\n @state()\n accessor _inheritedTruncate = false;\n\n /** Reflects whether the owning nav has the `global-switcher-nav` class.\n * @ignore\n */\n @property({ type: Boolean, reflect: true, attribute: 'global-switcher-nav' })\n accessor _inGlobalSwitcherNav = false;\n\n /** Observer for `truncate-links` changes on the owning nav.\n * @internal\n */\n private _truncateObserver?: MutationObserver;\n\n /**\n * @internal\n */\n private _observedNav: HTMLElement | null = null;\n\n /** Menu positioning\n * @internal\n */\n @state()\n accessor menuPosition: any = {};\n\n override render() {\n const classes = {\n menu: this.slottedEls.length,\n [`level--${this.level}`]: true,\n divider: this.divider,\n 'full-width-flyout': this.fullWidthFlyout,\n open: this.open || (this.level === 1 && this.isActive),\n };\n\n // Check if truncation should be applied (individual prop or inherited from nav)\n const shouldTruncate = this.truncate || this._inheritedTruncate;\n\n const linkClasses = {\n 'nav-link': true,\n active: this.isActive,\n interactive: this.level == 1,\n 'padding-left': this.leftPadding,\n truncate: shouldTruncate,\n };\n\n const menuClasses = {\n menu__content: true,\n slotted: this.slottedEls.length,\n };\n\n const Links = this.querySelectorAll(\n ':scope > kyn-header-link, :scope > kyn-header-category > kyn-header-link'\n );\n\n const showSearch = !this.hideSearch && Links.length >= this.searchThreshold;\n\n const wrapperClasses = {\n wrapper: true,\n 'no-search': !showSearch,\n };\n\n return html`\n <div\n class=\"${classMap(classes)}\"\n @pointerleave=${(e: PointerEvent) => this.handlePointerLeave(e)}\n @pointerenter=${(e: PointerEvent) => this.handlePointerEnter(e)}\n >\n <a\n target=${this.target}\n rel=${this.rel}\n href=${this.href}\n title=${ifDefined(\n this.linkTitle ||\n (this.slottedEls.length === 0 ? this._autoTitle : '') ||\n undefined\n )}\n class=${classMap(linkClasses)}\n @click=${(e: Event) => this.handleClick(e)}\n @pointerenter=${(e: PointerEvent) => this.handlePointerEnter(e)}\n >\n <slot name=\"icon\"></slot>\n <slot @slotchange=${this._handleDefaultSlotChange}></slot>\n\n ${this.slottedEls.length\n ? html` <span class=\"arrow\">${unsafeSVG(arrowIcon)}</span> `\n : null}\n </a>\n\n <div\n class=${classMap(menuClasses)}\n style=${styleMap(this.menuPosition)}\n >\n <div class=${classMap(wrapperClasses)}>\n <button\n class=\"go-back\"\n type=\"button\"\n @click=${(e: Event) => this._handleBack(e)}\n >\n <span>${unsafeSVG(backIcon)}</span>\n ${this.backText}\n </button>\n ${showSearch\n ? html`\n <kyn-text-input\n hideLabel\n size=\"sm\"\n type=\"search\"\n label=${this.searchLabel}\n placeholder=${this.searchLabel}\n value=${this._searchTerm}\n @on-input=${(e: Event) => this._handleSearch(e)}\n >\n <span slot=\"icon\" class=\"search-icon\">\n ${unsafeSVG(searchIcon)}\n </span>\n ${this.searchLabel}\n </kyn-text-input>\n `\n : null}\n\n <div\n class=\"links-columns\"\n style=${styleMap(this._linksColumnStyles)}\n >\n <slot\n name=\"links\"\n @slotchange=${this._handleLinksSlotChange}\n ></slot>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n\n /** Compute inline styles for the links-columns wrapper.\n * Only applies multi-column layout for plain (non-categorical) flyouts\n * when the number of links exceeds linksPerColumn.\n * @internal\n */\n private get _linksColumnStyles() {\n if (\n !this.hasCategorical &&\n this.linksPerColumn > 0 &&\n this._slottedLinkCount > this.linksPerColumn\n ) {\n const columnCount = Math.ceil(\n this._slottedLinkCount / this.linksPerColumn\n );\n return { 'column-count': columnCount.toString() };\n }\n return {};\n }\n\n private _handleSearch(e: any) {\n this._searchTerm = e.detail.value.toLowerCase();\n this._searchFilter();\n }\n\n private _searchFilter() {\n const Links: any = this.querySelectorAll(\n ':scope > kyn-header-link, :scope > kyn-header-category > kyn-header-link'\n );\n\n Links.forEach((link: any) => {\n // get link text\n const textSlot = link.shadowRoot?.querySelector(\n 'slot:not([name])'\n ) as HTMLSlotElement | null;\n const nodes: any = textSlot?.assignedNodes({ flatten: true }) ?? [];\n let linkText = '';\n for (let i = 0; i < nodes.length; i++) {\n linkText += nodes[i].textContent.trim();\n }\n\n if (linkText.toLowerCase().includes(this._searchTerm)) {\n link.style.display = 'block';\n } else {\n link.style.display = 'none';\n }\n });\n\n this._positionMenu();\n }\n\n /** Extract text content from the default slot to use as auto-title */\n private _handleDefaultSlotChange(e: Event) {\n const slot = e.target as HTMLSlotElement;\n const nodes = slot.assignedNodes({ flatten: true });\n let textContent = '';\n for (const node of nodes) {\n textContent += node.textContent?.trim() ?? '';\n }\n this._autoTitle = textContent.trim();\n }\n\n private _handleBack(e?: Event) {\n if (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n // detect if we're inside the categorized/mega nav variant\n const headerCategories = this.closest('kyn-header-categories') as\n | (HTMLElement & { handleBackClick?: (evt?: Event) => void })\n | null;\n\n if (headerCategories?.handleBackClick) {\n headerCategories.handleBackClick(e);\n\n // Close any open header links under this nav\n const navRoot =\n (this.closest('kyn-header-nav') as HTMLElement | null) ??\n headerCategories;\n\n const links = navRoot.querySelectorAll<HTMLElement & { open?: boolean }>(\n 'kyn-header-link[open]'\n );\n\n links.forEach((link) => {\n link.removeAttribute('open');\n if ('open' in link) {\n (link as any).open = false;\n }\n });\n\n // Clear local search for this column\n this._searchTerm = '';\n this._searchFilter();\n\n return;\n }\n\n // BASIC NAV:\n // Preserve original behavior: go up one level\n this.open = false;\n this._searchTerm = '';\n this._searchFilter();\n }\n\n private _handleLinksSlotChange() {\n // Detect if this link contains categorical navigation\n const hasCategories = this.querySelector('kyn-header-categories') !== null;\n const hasCategory = this.querySelector('kyn-header-category') !== null;\n const categoriesEl =\n this.querySelector('kyn-tab-panel[visible] kyn-header-categories') ||\n this.querySelector('kyn-header-categories');\n\n this.hasCategorical = hasCategories || hasCategory;\n this.hasMultiColumn = hasCategories; // Only true for multi-column wrapper\n this.fixedColumnWidths =\n categoriesEl?.hasAttribute('fixed-column-widths') ?? false;\n\n // Prime flyout column count before open so width/layout CSS can apply\n // without a second-pass visual snap.\n if (categoriesEl) {\n const dataCol = categoriesEl.getAttribute('data-columns');\n this.flyoutColumns = dataCol ? parseInt(dataCol, 10) || 0 : 0;\n } else {\n this.flyoutColumns = 0;\n }\n\n // Count direct child plain links for column wrapping\n const plainLinks = this.querySelectorAll(':scope > kyn-header-link');\n this._slottedLinkCount = plainLinks.length;\n\n this.requestUpdate();\n }\n\n /** Handle column count changes from slotted kyn-header-categories\n * @internal\n */\n private _handleColumnCountChange = (e: Event) => {\n const detail = (\n e as CustomEvent<{\n columnCount: number;\n fixedColumnWidths?: boolean;\n }>\n ).detail;\n if (detail?.columnCount !== undefined) {\n this.flyoutColumns = detail.columnCount;\n this.fixedColumnWidths = Boolean(detail.fixedColumnWidths);\n }\n };\n\n /**\n * @internal\n */\n private get _isDesktopViewport(): boolean {\n if (typeof window === 'undefined') return true;\n return window.innerWidth >= 672;\n }\n\n private handlePointerEnter(e: PointerEvent) {\n if (\n e.pointerType === 'mouse' &&\n this.slottedEls.length &&\n this._isDesktopViewport\n ) {\n clearTimeout(this._leaveTimer);\n\n // close other open sibling links immediately when entering any link with submenus\n this._closeOtherOpenLinks();\n\n this._enterTimer = setTimeout(() => {\n // Close siblings again right before opening to prevent race conditions\n this._closeOtherOpenLinks();\n this.open = true;\n }, 150);\n }\n }\n\n /** close other open header links at the same level\n * @internal\n */\n private _closeOtherOpenLinks(): void {\n // Strategy: Close all sibling header-links that are currently open\n // This handles the sidebar nav where links are direct children of header-nav\n\n // For level 1 links (main sidebar), find siblings via parent\n if (this.level === 1) {\n const parent = this.parentElement;\n if (parent) {\n // Find ALL level 1 links (not just open ones) to clear pending timers\n const siblingLinks = parent.querySelectorAll<\n HTMLElement & { open?: boolean; _enterTimer?: any }\n >(':scope > kyn-header-link');\n\n siblingLinks.forEach((link) => {\n if (link !== this) {\n // Clear any pending timers\n if ((link as any)._enterTimer) {\n clearTimeout((link as any)._enterTimer);\n (link as any)._enterTimer = undefined;\n }\n if ((link as any)._leaveTimer) {\n clearTimeout((link as any)._leaveTimer);\n (link as any)._leaveTimer = undefined;\n }\n // Force close - set property, remove attribute, and force re-render\n if ((link as any).open) {\n (link as any).open = false;\n link.removeAttribute('open');\n (link as any).requestUpdate?.();\n }\n }\n });\n }\n return;\n }\n\n // For nested links, find the nearest container and close same-level links\n const navContainer =\n this.closest('kyn-header-nav') ||\n this.closest('kyn-tab-panel') ||\n this.closest('.menu__content');\n\n if (navContainer) {\n const allLinks = navContainer.querySelectorAll<\n HTMLElement & { open?: boolean; level?: number; _enterTimer?: any }\n >('kyn-header-link');\n\n allLinks.forEach((link) => {\n if (link !== this && (link as any).level === this.level) {\n // Clear any pending timers\n if ((link as any)._enterTimer) {\n clearTimeout((link as any)._enterTimer);\n (link as any)._enterTimer = undefined;\n }\n if ((link as any)._leaveTimer) {\n clearTimeout((link as any)._leaveTimer);\n (link as any)._leaveTimer = undefined;\n }\n // Force close - set property, remove attribute, and force re-render\n if ((link as any).open) {\n (link as any).open = false;\n link.removeAttribute('open');\n (link as any).requestUpdate?.();\n }\n }\n });\n }\n }\n\n private handlePointerLeave(e: PointerEvent) {\n // Suppress close during internal view transitions (e.g. \"More\" → detail view).\n // The flyout resizes and the cursor may end up outside, but the user's intent\n // was to drill in — not to leave.\n if (this._viewChangeInProgress) {\n return;\n }\n\n // check both the link's own prop and parent nav's prop\n // if either is false, don't auto-close the flyout\n const shouldAutoCollapse = this._shouldAutoCollapse();\n if (!shouldAutoCollapse) {\n return;\n }\n\n if (\n e.pointerType === 'mouse' &&\n this.slottedEls.length &&\n this._searchTerm === '' &&\n this._isDesktopViewport\n ) {\n clearTimeout(this._enterTimer);\n this._leaveTimer = setTimeout(() => {\n this.open = false;\n }, 150);\n }\n }\n\n /** Check if flyout should auto-collapse based on parent nav's autoOpenFlyout.\n * Only applies to links containing categorical nav (kyn-header-categories).\n * @internal\n */\n private _shouldAutoCollapse(): boolean {\n // Non-categorical links always auto-collapse (preserve original behavior)\n if (!this.hasCategorical && !this.fullWidthFlyout) {\n return true;\n }\n\n const parentNav = this.closest('kyn-header-nav') as\n | (HTMLElement & { autoOpenFlyout?: string })\n | null;\n\n // If parent nav has autoOpenFlyout set (truthy), don't auto-collapse\n if (parentNav?.autoOpenFlyout) {\n return false;\n }\n\n return true;\n }\n\n private handleClick(e: Event) {\n let preventDefault = false;\n\n if (this.slottedEls.length) {\n preventDefault = true;\n e.preventDefault();\n // Close other open links before toggling this one\n if (!this.open) {\n this._closeOtherOpenLinks();\n }\n this.open = !this.open;\n } else {\n this._closeOtherOpenLinks();\n }\n\n const event = new CustomEvent('on-click', {\n detail: { origEvent: e, defaultPrevented: preventDefault },\n });\n this.dispatchEvent(event);\n }\n\n private handleClickOut(e: Event) {\n if (!e.composedPath().includes(this)) {\n this.open = false;\n this._searchTerm = '';\n this._searchFilter();\n }\n }\n\n private determineLevel() {\n let level = 1;\n let node: any = this.parentNode;\n\n // Traverse up the DOM tree\n while (node) {\n if (node.nodeName === 'KYN-HEADER-LINK') {\n level = (node.level ?? 1) + 1;\n break;\n } else if (\n node.nodeName === 'KYN-HEADER-CATEGORY' &&\n node.parentNode?.nodeName === 'KYN-HEADER-LINK'\n ) {\n level = (node.parentNode.level ?? 1) + 1;\n break;\n } else if (\n window.innerWidth < 672 &&\n node.nodeName === 'KYN-HEADER-FLYOUT'\n ) {\n level = 2;\n break;\n }\n node = node.parentNode;\n }\n\n this.level = level;\n }\n\n private _positionMenu() {\n const linkBounds = this.getBoundingClientRect?.();\n const menuEl =\n this.shadowRoot?.querySelector<HTMLElement>('.menu__content');\n const menuBounds = menuEl?.getBoundingClientRect?.();\n\n if (!linkBounds || !menuBounds) {\n return;\n }\n\n const Padding = 12;\n const HeaderHeight = 64;\n\n const linkHalf = linkBounds.top + linkBounds.height / 2;\n const menuHalf = menuBounds.height / 2;\n\n const topCandidate =\n linkHalf + menuHalf > window.innerHeight\n ? linkHalf - menuHalf - (linkHalf + menuHalf - window.innerHeight) - 16\n : linkHalf - menuHalf;\n\n if (this.level === 1) {\n // Keep level-1 flyouts pinned to the nav rail origin (legacy behavior).\n // This avoids viewport/header bound drift and keeps panels consistently aligned.\n let navMenuHeight = 0;\n const headerNav = this.closest('kyn-header-nav') as HTMLElement | null;\n if (headerNav) {\n const navMenu = headerNav.shadowRoot?.querySelector(\n '.menu__content'\n ) as HTMLElement | null;\n if (navMenu) {\n navMenuHeight = navMenu.offsetHeight;\n }\n }\n\n this.menuPosition = {\n top: HeaderHeight + 'px',\n left: '0px',\n minHeight: navMenuHeight + 'px',\n };\n } else {\n const top = topCandidate < HeaderHeight ? HeaderHeight : topCandidate;\n this.menuPosition = {\n top: top + 'px',\n left: linkBounds.right + Padding + 'px',\n };\n }\n }\n\n /** @internal */\n private _debounceResize = debounce(() => {\n this.determineLevel();\n if (this.open) {\n this._positionMenu();\n }\n });\n\n override firstUpdated() {\n this.determineLevel();\n this._handleLinksSlotChange();\n }\n\n override updated(changedProps: any) {\n // Re-position after render when the menu has its actual dimensions\n if (changedProps.has('open') && this.open) {\n // Use rAF to ensure the DOM has painted\n requestAnimationFrame(() => {\n this._positionMenu();\n });\n }\n\n // Re-position when column count changes (categories may render after flyout opens)\n if (changedProps.has('flyoutColumns') && this.open) {\n requestAnimationFrame(() => {\n this._positionMenu();\n });\n }\n }\n\n /**\n * @internal\n */\n private _handleDocumentClick = (e: Event) => this.handleClickOut(e);\n\n /** Suppress pointer-leave close when categories switch views (root ↔ detail).\n * @internal\n */\n private _handleNavChange = () => {\n this._viewChangeInProgress = true;\n clearTimeout(this._viewChangeTimer);\n // Allow enough time for the flyout to finish resizing before re-enabling close\n this._viewChangeTimer = setTimeout(() => {\n this._viewChangeInProgress = false;\n }, 500);\n };\n\n override connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._handleDocumentClick);\n window.addEventListener('resize', this._debounceResize);\n // Listen for column count changes from slotted kyn-header-categories\n this.addEventListener(\n 'on-column-count-change',\n this._handleColumnCountChange\n );\n // Suppress flyout close during internal view transitions (e.g. \"More\" click)\n this.addEventListener('on-nav-change', this._handleNavChange);\n // Check for truncation inheritance after DOM is ready\n queueMicrotask(() => {\n this._observeParentNavTruncate();\n });\n }\n\n /** Find the closest owning nav across shadow boundaries.\n * @internal\n */\n private _resolveOwningNav(): HTMLElement | null {\n const parentNav = this.closest('kyn-header-nav');\n if (parentNav) return parentNav as HTMLElement;\n\n let root = this.getRootNode();\n while (root instanceof ShadowRoot) {\n const nav = root.host.closest?.('kyn-header-nav');\n if (nav) {\n return nav as HTMLElement;\n }\n root = root.host.getRootNode();\n }\n\n return null;\n }\n\n /** Sync inherited truncate state with the owning nav.\n * @internal\n */\n private _syncInheritedTruncate = (): void => {\n this._inheritedTruncate = this._isInTruncatingNav();\n this._inGlobalSwitcherNav =\n this._resolveOwningNav()?.classList.contains('global-switcher-nav') ??\n false;\n };\n\n /** Observe `truncate-links` changes on the owning nav.\n * @internal\n */\n private _observeParentNavTruncate(): void {\n const nav = this._resolveOwningNav();\n\n if (this._observedNav === nav) {\n this._syncInheritedTruncate();\n return;\n }\n\n if (this._truncateObserver) {\n this._truncateObserver.disconnect();\n this._truncateObserver = undefined;\n }\n\n this._observedNav = nav;\n\n if (nav) {\n this._truncateObserver = new MutationObserver(() => {\n this._syncInheritedTruncate();\n });\n this._truncateObserver.observe(nav, {\n attributes: true,\n attributeFilter: ['truncate-links'],\n });\n }\n\n this._syncInheritedTruncate();\n }\n\n /** Check if this link is inside a nav with truncate-links attribute\n * Uses getRootNode to traverse up through shadow DOM boundaries\n * @internal\n */\n private _isInTruncatingNav(): boolean {\n return this._resolveOwningNav()?.hasAttribute('truncate-links') ?? false;\n }\n\n override disconnectedCallback() {\n // clear timers to avoid callbacks after unmount\n if (this._enterTimer) {\n clearTimeout(this._enterTimer);\n this._enterTimer = undefined;\n }\n if (this._leaveTimer) {\n clearTimeout(this._leaveTimer);\n this._leaveTimer = undefined;\n }\n\n if (this._viewChangeTimer) {\n clearTimeout(this._viewChangeTimer);\n this._viewChangeTimer = undefined;\n }\n\n document.removeEventListener('click', this._handleDocumentClick);\n window.removeEventListener('resize', this._debounceResize);\n this.removeEventListener(\n 'on-column-count-change',\n this._handleColumnCountChange\n );\n this.removeEventListener('on-nav-change', this._handleNavChange);\n if (this._truncateObserver) {\n this._truncateObserver.disconnect();\n this._truncateObserver = undefined;\n }\n this._observedNav = null;\n super.disconnectedCallback();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-header-link': HeaderLink;\n }\n}\n"],"names":["HeaderLink","customElement","LitElement","_classThis","_classSuper","_HeaderLink_open_accessor_storage","set","this","__runInitializers","_open_initializers","_HeaderLink_href_accessor_storage","_open_extraInitializers","_href_initializers","_HeaderLink_target_accessor_storage","_href_extraInitializers","_target_initializers","_HeaderLink_rel_accessor_storage","_target_extraInitializers","_rel_initializers","_HeaderLink_isActive_accessor_storage","_rel_extraInitializers","_isActive_initializers","_HeaderLink_level_accessor_storage","_isActive_extraInitializers","_level_initializers","_HeaderLink_divider_accessor_storage","_level_extraInitializers","_divider_initializers","_HeaderLink_searchLabel_accessor_storage","_divider_extraInitializers","_searchLabel_initializers","_HeaderLink_searchThreshold_accessor_storage","_searchLabel_extraInitializers","_searchThreshold_initializers","_HeaderLink_linksPerColumn_accessor_storage","_searchThreshold_extraInitializers","_linksPerColumn_initializers","_HeaderLink_hideSearch_accessor_storage","_linksPerColumn_extraInitializers","_hideSearch_initializers","_HeaderLink_backText_accessor_storage","_hideSearch_extraInitializers","_backText_initializers","_HeaderLink_leftPadding_accessor_storage","_backText_extraInitializers","_leftPadding_initializers","_HeaderLink_linkTitle_accessor_storage","_leftPadding_extraInitializers","_linkTitle_initializers","_HeaderLink_truncate_accessor_storage","_linkTitle_extraInitializers","_truncate_initializers","_HeaderLink__autoTitle_accessor_storage","_truncate_extraInitializers","__autoTitle_initializers","_HeaderLink_hasCategorical_accessor_storage","__autoTitle_extraInitializers","_hasCategorical_initializers","_HeaderLink_hasMultiColumn_accessor_storage","_hasCategorical_extraInitializers","_hasMultiColumn_initializers","_HeaderLink_flyoutColumns_accessor_storage","_hasMultiColumn_extraInitializers","_flyoutColumns_initializers","_HeaderLink_fixedColumnWidths_accessor_storage","_flyoutColumns_extraInitializers","_fixedColumnWidths_initializers","_HeaderLink_fullWidthFlyout_accessor_storage","_fixedColumnWidths_extraInitializers","_fullWidthFlyout_initializers","_HeaderLink__searchTerm_accessor_storage","_fullWidthFlyout_extraInitializers","__searchTerm_initializers","_HeaderLink__slottedLinkCount_accessor_storage","__searchTerm_extraInitializers","__slottedLinkCount_initializers","_HeaderLink_slottedEls_accessor_storage","__slottedLinkCount_extraInitializers","_slottedEls_initializers","_enterTimer","_slottedEls_extraInitializers","_HeaderLink__leaveTimer_accessor_storage","__leaveTimer_initializers","_viewChangeInProgress","__leaveTimer_extraInitializers","_HeaderLink__inheritedTruncate_accessor_storage","__inheritedTruncate_initializers","_HeaderLink__inGlobalSwitcherNav_accessor_storage","__inheritedTruncate_extraInitializers","__inGlobalSwitcherNav_initializers","_truncateObserver","__inGlobalSwitcherNav_extraInitializers","_observedNav","_HeaderLink_menuPosition_accessor_storage","_menuPosition_initializers","_handleColumnCountChange","_menuPosition_extraInitializers","e","detail","undefined","columnCount","flyoutColumns","fixedColumnWidths","Boolean","_debounceResize","debounce","determineLevel","open","_positionMenu","_handleDocumentClick","handleClickOut","_handleNavChange","clearTimeout","_viewChangeTimer","setTimeout","_syncInheritedTruncate","_inheritedTruncate","_isInTruncatingNav","_inGlobalSwitcherNav","_b","_a","_resolveOwningNav","classList","contains","__classPrivateFieldGet","value","__classPrivateFieldSet","href","target","rel","isActive","level","divider","searchLabel","searchThreshold","linksPerColumn","hideSearch","backText","leftPadding","linkTitle","truncate","_autoTitle","hasCategorical","hasMultiColumn","fullWidthFlyout","_searchTerm","_slottedLinkCount","slottedEls","_leaveTimer","menuPosition","render","classes","menu","length","shouldTruncate","linkClasses","active","interactive","menuClasses","menu__content","slotted","Links","querySelectorAll","showSearch","wrapperClasses","wrapper","html","classMap","handlePointerLeave","handlePointerEnter","ifDefined","handleClick","_handleDefaultSlotChange","unsafeSVG","arrowIcon","styleMap","_handleBack","backIcon","_handleSearch","searchIcon","_linksColumnStyles","_handleLinksSlotChange","Math","ceil","toString","toLowerCase","_searchFilter","forEach","link","textSlot","shadowRoot","querySelector","nodes","assignedNodes","flatten","linkText","i","textContent","trim","includes","style","display","node","preventDefault","stopPropagation","headerCategories","closest","handleBackClick","removeAttribute","hasCategories","hasCategory","categoriesEl","hasAttribute","dataCol","getAttribute","parseInt","plainLinks","requestUpdate","_isDesktopViewport","window","innerWidth","pointerType","_closeOtherOpenLinks","parent","parentElement","navContainer","_shouldAutoCollapse","parentNav","autoOpenFlyout","event","CustomEvent","origEvent","defaultPrevented","dispatchEvent","composedPath","parentNode","nodeName","_c","linkBounds","getBoundingClientRect","menuEl","menuBounds","call","linkHalf","top","height","menuHalf","topCandidate","innerHeight","navMenuHeight","headerNav","navMenu","_d","offsetHeight","HeaderHeight","left","minHeight","right","firstUpdated","updated","changedProps","has","requestAnimationFrame","connectedCallback","super","document","addEventListener","queueMicrotask","_observeParentNavTruncate","root","getRootNode","ShadowRoot","nav","host","disconnect","MutationObserver","observe","attributes","attributeFilter","disconnectedCallback","removeEventListener","property","type","reflect","_href_decorators","String","_target_decorators","_rel_decorators","_isActive_decorators","_level_decorators","state","_divider_decorators","_searchLabel_decorators","_searchThreshold_decorators","Number","_linksPerColumn_decorators","_hideSearch_decorators","_backText_decorators","_leftPadding_decorators","attribute","__autoTitle_decorators","_hasCategorical_decorators","_hasMultiColumn_decorators","_flyoutColumns_decorators","_fixedColumnWidths_decorators","_fullWidthFlyout_decorators","__searchTerm_decorators","__slottedLinkCount_decorators","_slottedEls_decorators","queryAssignedElements","slot","__leaveTimer_decorators","__inheritedTruncate_decorators","__inGlobalSwitcherNav_decorators","_menuPosition_decorators","__esDecorate","_open_decorators","kind","name","static","private","access","obj","get","metadata","_metadata","_linkTitle_decorators","_truncate_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","HeaderLinkScss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BaA,EAAU,+JADtBC,EAAc,6BACiBC,yVAARC,EAAA,cAAQC,qCAOrBC,EAAAC,IAAAC,KAAAC,EAAAD,KAAAE,IAAO,IAIPC,EAAAJ,IAAAC,MAAAC,EAAAD,KAAAI,IAAAH,EAAAD,KAAAK,GAAO,MAIPC,EAAAP,IAAAC,MAAAC,EAAAD,KAAAO,IAAAN,EAAAD,KAAAQ,GAA2B,WAI3BC,EAAAV,IAAAC,MAAAC,EAAAD,KAAAU,IAAAT,EAAAD,KAAAW,GAAM,MAINC,EAAAb,IAAAC,MAAAC,EAAAD,KAAAa,IAAAZ,EAAAD,KAAAc,IAAW,KAMXC,EAAAhB,IAAAC,MAAAC,EAAAD,KAAAgB,IAAAf,EAAAD,KAAAiB,GAAQ,KAIRC,EAAAnB,IAAAC,MAAAC,EAAAD,KAAAmB,IAAAlB,EAAAD,KAAAoB,IAAU,KAIVC,EAAAtB,IAAAC,MAAAC,EAAAD,KAAAsB,IAAArB,EAAAD,KAAAuB,GAAc,YAIdC,EAAAzB,IAAAC,MAAAC,EAAAD,KAAAyB,IAAAxB,EAAAD,KAAA0B,GAAkB,KAOlBC,EAAA5B,IAAAC,MAAAC,EAAAD,KAAA4B,IAAA3B,EAAAD,KAAA6B,GAAiB,KAIjBC,EAAA/B,IAAAC,MAAAC,EAAAD,KAAA+B,IAAA9B,EAAAD,KAAAgC,IAAa,KAIbC,EAAAlC,IAAAC,MAAAC,EAAAD,KAAAkC,IAAAjC,EAAAD,KAAAmC,GAAW,UAIXC,EAAArC,IAAAC,MAAAC,EAAAD,KAAAqC,IAAApC,EAAAD,KAAAsC,IAAc,KAMdC,EAAAxC,IAAAC,MAAAC,EAAAD,KAAAwC,IAAAvC,EAAAD,KAAAyC,GAAY,MAIZC,EAAA3C,IAAAC,MAAAC,EAAAD,KAAA2C,IAAA1C,EAAAD,KAAA4C,IAAW,KAMXC,EAAA9C,IAAAC,MAAAC,EAAAD,KAAA8C,IAAA7C,EAAAD,KAAA+C,GAAa,MAMbC,EAAAjD,IAAAC,MAAAC,EAAAD,KAAAiD,IAAAhD,EAAAD,KAAAkD,IAAiB,KAOjBC,EAAApD,IAAAC,MAAAC,EAAAD,KAAAoD,IAAAnD,EAAAD,KAAAqD,IAAiB,KAMjBC,EAAAvD,IAAAC,MAAAC,EAAAD,KAAAuD,IAAAtD,EAAAD,KAAAwD,GAAgB,KAMhBC,EAAA1D,IAAAC,MAAAC,EAAAD,KAAA0D,IAAAzD,EAAAD,KAAA2D,IAAoB,KAIpBC,EAAA7D,IAAAC,MAAAC,EAAAD,KAAA6D,IAAA5D,EAAAD,KAAA8D,IAAkB,KAMlBC,EAAAhE,IAAAC,MAAAC,EAAAD,KAAAgE,IAAA/D,EAAAD,KAAAiE,GAAc,MAMdC,EAAAnE,IAAAC,MAAAC,EAAAD,KAAAmE,IAAAlE,EAAAD,KAAAoE,GAAoB,KAOpBC,EAAAtE,IAAAC,MAAAC,EAAAD,KAAAsE,IAAArE,EAAAD,KAAAuE,QAAA,KAKTvE,KAAAwE,YAAWvE,EAAAD,KAAAyE,IAMFC,EAAA3E,IAAAC,KAAAC,EAAAD,KAAA2E,QAAA,IAKD3E,KAAA4E,uBAAqB3E,EAAAD,KAAA6E,KAAG,GAWvBC,EAAA/E,IAAAC,KAAAC,EAAAD,KAAA+E,IAAqB,IAMrBC,EAAAjF,IAAAC,MAAAC,EAAAD,KAAAiF,IAAAhF,EAAAD,KAAAkF,IAAuB,KAKxBlF,KAAAmF,kBAAiBlF,EAAAD,KAAAoF,IAKjBpF,KAAAqF,aAAmC,KAMlCC,EAAAvF,IAAAC,KAAAC,EAAAD,KAAAuF,GAAoB,CAAA,IAyPrBvF,KAAAwF,0BAAwBvF,EAAAD,KAAAyF,IAAIC,IAClC,MAAMC,EACJD,EAIAC,YAC0BC,KAAxBD,aAAM,EAANA,EAAQE,eACV7F,KAAK8F,cAAgBH,EAAOE,YAC5B7F,KAAK+F,kBAAoBC,QAAQL,EAAOI,mBAC1C,GAmQM/F,KAAAiG,gBAAkBC,GAAS,KACjClG,KAAKmG,iBACDnG,KAAKoG,MACPpG,KAAKqG,eACP,IA4BMrG,KAAAsG,qBAAwBZ,GAAa1F,KAAKuG,eAAeb,GAKzD1F,KAAAwG,iBAAmB,KACzBxG,KAAK4E,uBAAwB,EAC7B6B,aAAazG,KAAK0G,kBAElB1G,KAAK0G,iBAAmBC,YAAW,KACjC3G,KAAK4E,uBAAwB,CAAK,GACjC,IAAI,EA0CD5E,KAAA4G,uBAAyB,aAC/B5G,KAAK6G,mBAAqB7G,KAAK8G,qBAC/B9G,KAAK+G,qBACgE,QAAnEC,EAAwB,QAAxBC,EAAAjH,KAAKkH,2BAAmB,IAAAD,OAAA,EAAAA,EAAEE,UAAUC,SAAS,8BAAsB,IAAAJ,GAAAA,CAC9D,CAwEX,CA70BE,QAASZ,GAAI,OAAAiB,EAAArH,KAAAF,EAAA,IAAA,CAAb,QAASsG,CAAIkB,GAAAC,EAAAvH,KAAAF,EAAAwH,EAAA,IAAA,CAIb,QAASE,GAAI,OAAAH,EAAArH,KAAAG,EAAA,IAAA,CAAb,QAASqH,CAAIF,GAAAC,EAAAvH,KAAAG,EAAAmH,EAAA,IAAA,CAIb,UAASG,GAAM,OAAAJ,EAAArH,KAAAM,EAAA,IAAA,CAAf,UAASmH,CAAMH,GAAAC,EAAAvH,KAAAM,EAAAgH,EAAA,IAAA,CAIf,OAASI,GAAG,OAAAL,EAAArH,KAAAS,EAAA,IAAA,CAAZ,OAASiH,CAAGJ,GAAAC,EAAAvH,KAAAS,EAAA6G,EAAA,IAAA,CAIZ,YAASK,GAAQ,OAAAN,EAAArH,KAAAY,EAAA,IAAA,CAAjB,YAAS+G,CAAQL,GAAAC,EAAAvH,KAAAY,EAAA0G,EAAA,IAAA,CAMjB,SAASM,GAAK,OAAAP,EAAArH,KAAAe,EAAA,IAAA,CAAd,SAAS6G,CAAKN,GAAAC,EAAAvH,KAAAe,EAAAuG,EAAA,IAAA,CAId,WAASO,GAAO,OAAAR,EAAArH,KAAAkB,EAAA,IAAA,CAAhB,WAAS2G,CAAOP,GAAAC,EAAAvH,KAAAkB,EAAAoG,EAAA,IAAA,CAIhB,eAASQ,GAAW,OAAAT,EAAArH,KAAAqB,EAAA,IAAA,CAApB,eAASyG,CAAWR,GAAAC,EAAAvH,KAAAqB,EAAAiG,EAAA,IAAA,CAIpB,mBAASS,GAAe,OAAAV,EAAArH,KAAAwB,EAAA,IAAA,CAAxB,mBAASuG,CAAeT,GAAAC,EAAAvH,KAAAwB,EAAA8F,EAAA,IAAA,CAOxB,kBAASU,GAAc,OAAAX,EAAArH,KAAA2B,EAAA,IAAA,CAAvB,kBAASqG,CAAcV,GAAAC,EAAAvH,KAAA2B,EAAA2F,EAAA,IAAA,CAIvB,cAASW,GAAU,OAAAZ,EAAArH,KAAA8B,EAAA,IAAA,CAAnB,cAASmG,CAAUX,GAAAC,EAAAvH,KAAA8B,EAAAwF,EAAA,IAAA,CAInB,YAASY,GAAQ,OAAAb,EAAArH,KAAAiC,EAAA,IAAA,CAAjB,YAASiG,CAAQZ,GAAAC,EAAAvH,KAAAiC,EAAAqF,EAAA,IAAA,CAIjB,eAASa,GAAW,OAAAd,EAAArH,KAAAoC,EAAA,IAAA,CAApB,eAAS+F,CAAWb,GAAAC,EAAAvH,KAAAoC,EAAAkF,EAAA,IAAA,CAMpB,aAASc,GAAS,OAAAf,EAAArH,KAAAuC,EAAA,IAAA,CAAlB,aAAS6F,CAASd,GAAAC,EAAAvH,KAAAuC,EAAA+E,EAAA,IAAA,CAIlB,YAASe,GAAQ,OAAAhB,EAAArH,KAAA0C,EAAA,IAAA,CAAjB,YAAS2F,CAAQf,GAAAC,EAAAvH,KAAA0C,EAAA4E,EAAA,IAAA,CAMjB,cAASgB,GAAU,OAAAjB,EAAArH,KAAA6C,EAAA,IAAA,CAAnB,cAASyF,CAAUhB,GAAAC,EAAAvH,KAAA6C,EAAAyE,EAAA,IAAA,CAMnB,kBAASiB,GAAc,OAAAlB,EAAArH,KAAAgD,EAAA,IAAA,CAAvB,kBAASuF,CAAcjB,GAAAC,EAAAvH,KAAAgD,EAAAsE,EAAA,IAAA,CAOvB,kBAASkB,GAAc,OAAAnB,EAAArH,KAAAmD,EAAA,IAAA,CAAvB,kBAASqF,CAAclB,GAAAC,EAAAvH,KAAAmD,EAAAmE,EAAA,IAAA,CAMvB,iBAASxB,GAAa,OAAAuB,EAAArH,KAAAsD,EAAA,IAAA,CAAtB,iBAASwC,CAAawB,GAAAC,EAAAvH,KAAAsD,EAAAgE,EAAA,IAAA,CAMtB,qBAASvB,GAAiB,OAAAsB,EAAArH,KAAAyD,EAAA,IAAA,CAA1B,qBAASsC,CAAiBuB,GAAAC,EAAAvH,KAAAyD,EAAA6D,EAAA,IAAA,CAI1B,mBAASmB,GAAe,OAAApB,EAAArH,KAAA4D,EAAA,IAAA,CAAxB,mBAAS6E,CAAenB,GAAAC,EAAAvH,KAAA4D,EAAA0D,EAAA,IAAA,CAMxB,eAASoB,GAAW,OAAArB,EAAArH,KAAA+D,EAAA,IAAA,CAApB,eAAS2E,CAAWpB,GAAAC,EAAAvH,KAAA+D,EAAAuD,EAAA,IAAA,CAMpB,qBAASqB,GAAiB,OAAAtB,EAAArH,KAAAkE,EAAA,IAAA,CAA1B,qBAASyE,CAAiBrB,GAAAC,EAAAvH,KAAAkE,EAAAoD,EAAA,IAAA,CAO1B,cAASsB,GAAU,OAAAvB,EAAArH,KAAAqE,EAAA,IAAA,CAAnB,cAASuE,CAAUtB,GAAAC,EAAAvH,KAAAqE,EAAAiD,EAAA,IAAA,CAWnB,eAASuB,GAAW,OAAAxB,EAAArH,KAAA0E,EAAA,IAAA,CAApB,eAASmE,CAAWvB,GAAAC,EAAAvH,KAAA0E,EAAA4C,EAAA,IAAA,CAgBpB,sBAAST,GAAkB,OAAAQ,EAAArH,KAAA8E,EAAA,IAAA,CAA3B,sBAAS+B,CAAkBS,GAAAC,EAAAvH,KAAA8E,EAAAwC,EAAA,IAAA,CAM3B,wBAASP,GAAoB,OAAAM,EAAArH,KAAAgF,EAAA,IAAA,CAA7B,wBAAS+B,CAAoBO,GAAAC,EAAAvH,KAAAgF,EAAAsC,EAAA,IAAA,CAgB7B,gBAASwB,GAAY,OAAAzB,EAAArH,KAAAsF,EAAA,IAAA,CAArB,gBAASwD,CAAYxB,GAAAC,EAAAvH,KAAAsF,EAAAgC,EAAA,IAAA,CAEZ,MAAAyB,GACP,MAAMC,EAAU,CACdC,KAAMjJ,KAAK4I,WAAWM,OACtB,CAAC,UAAUlJ,KAAK4H,UAAU,EAC1BC,QAAS7H,KAAK6H,QACd,oBAAqB7H,KAAKyI,gBAC1BrC,KAAMpG,KAAKoG,MAAwB,IAAfpG,KAAK4H,OAAe5H,KAAK2H,UAIzCwB,EAAiBnJ,KAAKqI,UAAYrI,KAAK6G,mBAEvCuC,EAAc,CAClB,YAAY,EACZC,OAAQrJ,KAAK2H,SACb2B,YAA2B,GAAdtJ,KAAK4H,MAClB,eAAgB5H,KAAKmI,YACrBE,SAAUc,GAGNI,EAAc,CAClBC,eAAe,EACfC,QAASzJ,KAAK4I,WAAWM,QAGrBQ,EAAQ1J,KAAK2J,iBACjB,4EAGIC,GAAc5J,KAAKiI,YAAcyB,EAAMR,QAAUlJ,KAAK+H,gBAEtD8B,EAAiB,CACrBC,SAAS,EACT,aAAcF,GAGhB,OAAOG,CAAI;;iBAEEC,EAAShB;wBACDtD,GAAoB1F,KAAKiK,mBAAmBvE;wBAC5CA,GAAoB1F,KAAKkK,mBAAmBxE;;;mBAGlD1F,KAAKyH;gBACRzH,KAAK0H;iBACJ1H,KAAKwH;kBACJ2C,EACNnK,KAAKoI,YACyB,IAA3BpI,KAAK4I,WAAWM,OAAelJ,KAAKsI,WAAa,UAClD1C;kBAEIoE,EAASZ;mBACP1D,GAAa1F,KAAKoK,YAAY1E;0BACvBA,GAAoB1F,KAAKkK,mBAAmBxE;;;8BAGzC1F,KAAKqK;;YAEvBrK,KAAK4I,WAAWM,OACda,CAAI,wBAAwBO,EAAUC,aACtC;;;;kBAIIP,EAAST;kBACTiB,EAASxK,KAAK8I;;uBAETkB,EAASH;;;;uBAIRnE,GAAa1F,KAAKyK,YAAY/E;;sBAEhC4E,EAAUI;gBAChB1K,KAAKkI;;cAEP0B,EACEG,CAAI;;;;;4BAKQ/J,KAAK8H;kCACC9H,KAAK8H;4BACX9H,KAAK0I;gCACAhD,GAAa1F,KAAK2K,cAAcjF;;;wBAGzC4E,EAAUM;;sBAEZ5K,KAAK8H;;kBAGX;;;;sBAIM0C,EAASxK,KAAK6K;;;;8BAIN7K,KAAK8K;;;;;;KAOjC,CAOA,sBAAYD,GACV,IACG7K,KAAKuI,gBACNvI,KAAKgI,eAAiB,GACtBhI,KAAK2I,kBAAoB3I,KAAKgI,eAC9B,CAIA,MAAO,CAAE,eAHW+C,KAAKC,KACvBhL,KAAK2I,kBAAoB3I,KAAKgI,gBAEKiD,WACvC,CACA,MAAO,CAAA,CACT,CAEQ,aAAAN,CAAcjF,GACpB1F,KAAK0I,YAAchD,EAAEC,OAAO2B,MAAM4D,cAClClL,KAAKmL,eACP,CAEQ,aAAAA,GACanL,KAAK2J,iBACtB,4EAGIyB,SAASC,YAEb,MAAMC,EAA0B,QAAfrE,EAAAoE,EAAKE,kBAAU,IAAAtE,OAAA,EAAAA,EAAEuE,cAChC,oBAEIC,EAAuD,QAA1CzE,EAAAsE,eAAAA,EAAUI,cAAc,CAAEC,SAAS,WAAO,IAAA3E,EAAAA,EAAI,GACjE,IAAI4E,EAAW,GACf,IAAK,IAAIC,EAAI,EAAGA,EAAIJ,EAAMvC,OAAQ2C,IAChCD,GAAYH,EAAMI,GAAGC,YAAYC,OAG/BH,EAASV,cAAcc,SAAShM,KAAK0I,aACvC2C,EAAKY,MAAMC,QAAU,QAErBb,EAAKY,MAAMC,QAAU,MACvB,IAGFlM,KAAKqG,eACP,CAGQ,wBAAAgE,CAAyB3E,WAC/B,MACM+F,EADO/F,EAAE+B,OACIiE,cAAc,CAAEC,SAAS,IAC5C,IAAIG,EAAc,GAClB,IAAK,MAAMK,KAAQV,EACjBK,GAAuC,QAAxB9E,EAAgB,QAAhBC,EAAAkF,EAAKL,mBAAW,IAAA7E,OAAA,EAAAA,EAAE8E,cAAM,IAAA/E,EAAAA,EAAI,GAE7ChH,KAAKsI,WAAawD,EAAYC,MAChC,CAEQ,WAAAtB,CAAY/E,SACdA,IACFA,EAAE0G,iBACF1G,EAAE2G,mBAIJ,MAAMC,EAAmBtM,KAAKuM,QAAQ,yBAItC,GAAID,aAAgB,EAAhBA,EAAkBE,gBAAiB,CACrCF,EAAiBE,gBAAgB9G,GAsBjC,OAlBwD,QAAtDuB,EAACjH,KAAKuM,QAAQ,yBAAwC,IAAAtF,EAAAA,EACtDqF,GAEoB3C,iBACpB,yBAGIyB,SAASC,IACbA,EAAKoB,gBAAgB,QACjB,SAAUpB,IACXA,EAAajF,MAAO,EACvB,IAIFpG,KAAK0I,YAAc,QACnB1I,KAAKmL,eAGP,CAIAnL,KAAKoG,MAAO,EACZpG,KAAK0I,YAAc,GACnB1I,KAAKmL,eACP,CAEQ,sBAAAL,SAEN,MAAM4B,EAAgE,OAAhD1M,KAAKwL,cAAc,yBACnCmB,EAA4D,OAA9C3M,KAAKwL,cAAc,uBACjCoB,EACJ5M,KAAKwL,cAAc,iDACnBxL,KAAKwL,cAAc,yBASrB,GAPAxL,KAAKuI,eAAiBmE,GAAiBC,EACvC3M,KAAKwI,eAAiBkE,EACtB1M,KAAK+F,kBAC8C,QAAjDkB,EAAA2F,aAAY,EAAZA,EAAcC,aAAa,8BAAsB,IAAA5F,GAAAA,EAI/C2F,EAAc,CAChB,MAAME,EAAUF,EAAaG,aAAa,gBAC1C/M,KAAK8F,cAAgBgH,GAAUE,SAASF,EAAS,KAAW,CAC9D,MACE9M,KAAK8F,cAAgB,EAIvB,MAAMmH,EAAajN,KAAK2J,iBAAiB,4BACzC3J,KAAK2I,kBAAoBsE,EAAW/D,OAEpClJ,KAAKkN,eACP,CAqBA,sBAAYC,GACV,MAAsB,oBAAXC,QACJA,OAAOC,YAAc,GAC9B,CAEQ,kBAAAnD,CAAmBxE,GAEL,UAAlBA,EAAE4H,aACFtN,KAAK4I,WAAWM,QAChBlJ,KAAKmN,qBAEL1G,aAAazG,KAAK6I,aAGlB7I,KAAKuN,uBAELvN,KAAKwE,YAAcmC,YAAW,KAE5B3G,KAAKuN,uBACLvN,KAAKoG,MAAO,CAAI,GACf,KAEP,CAKQ,oBAAAmH,GAKN,GAAmB,IAAfvN,KAAK4H,MAAa,CACpB,MAAM4F,EAASxN,KAAKyN,cACpB,GAAID,EAAQ,CAEWA,EAAO7D,iBAE1B,4BAEWyB,SAASC,YAChBA,IAASrL,OAENqL,EAAa7G,cAChBiC,aAAc4E,EAAa7G,aAC1B6G,EAAa7G,iBAAcoB,GAEzByF,EAAaxC,cAChBpC,aAAc4E,EAAaxC,aAC1BwC,EAAaxC,iBAAcjD,GAGzByF,EAAajF,OACfiF,EAAajF,MAAO,EACrBiF,EAAKoB,gBAAgB,gBACrBzF,GAAAC,EAACoE,GAAa6B,uCAElB,GAEJ,CACA,MACF,CAGA,MAAMQ,EACJ1N,KAAKuM,QAAQ,mBACbvM,KAAKuM,QAAQ,kBACbvM,KAAKuM,QAAQ,kBAEf,GAAImB,EAAc,CACCA,EAAa/D,iBAE5B,mBAEOyB,SAASC,YACZA,IAASrL,MAASqL,EAAazD,QAAU5H,KAAK4H,QAE3CyD,EAAa7G,cAChBiC,aAAc4E,EAAa7G,aAC1B6G,EAAa7G,iBAAcoB,GAEzByF,EAAaxC,cAChBpC,aAAc4E,EAAaxC,aAC1BwC,EAAaxC,iBAAcjD,GAGzByF,EAAajF,OACfiF,EAAajF,MAAO,EACrBiF,EAAKoB,gBAAgB,gBACrBzF,GAAAC,EAACoE,GAAa6B,uCAElB,GAEJ,CACF,CAEQ,kBAAAjD,CAAmBvE,GAIzB,GAAI1F,KAAK4E,sBACP,OAKyB5E,KAAK2N,uBAMZ,UAAlBjI,EAAE4H,aACFtN,KAAK4I,WAAWM,QACK,KAArBlJ,KAAK0I,aACL1I,KAAKmN,qBAEL1G,aAAazG,KAAKwE,aAClBxE,KAAK6I,YAAclC,YAAW,KAC5B3G,KAAKoG,MAAO,CAAK,GAChB,KAEP,CAMQ,mBAAAuH,GAEN,IAAK3N,KAAKuI,iBAAmBvI,KAAKyI,gBAChC,OAAO,EAGT,MAAMmF,EAAY5N,KAAKuM,QAAQ,kBAK/B,QAAIqB,aAAS,EAATA,EAAWC,eAKjB,CAEQ,WAAAzD,CAAY1E,GAClB,IAAI0G,GAAiB,EAEjBpM,KAAK4I,WAAWM,QAClBkD,GAAiB,EACjB1G,EAAE0G,iBAEGpM,KAAKoG,MACRpG,KAAKuN,uBAEPvN,KAAKoG,MAAQpG,KAAKoG,MAElBpG,KAAKuN,uBAGP,MAAMO,EAAQ,IAAIC,YAAY,WAAY,CACxCpI,OAAQ,CAAEqI,UAAWtI,EAAGuI,iBAAkB7B,KAE5CpM,KAAKkO,cAAcJ,EACrB,CAEQ,cAAAvH,CAAeb,GAChBA,EAAEyI,eAAenC,SAAShM,QAC7BA,KAAKoG,MAAO,EACZpG,KAAK0I,YAAc,GACnB1I,KAAKmL,gBAET,CAEQ,cAAAhF,aACN,IAAIyB,EAAQ,EACRuE,EAAYnM,KAAKoO,WAGrB,KAAOjC,GAAM,CACX,GAAsB,oBAAlBA,EAAKkC,SAAgC,CACvCzG,GAAmB,QAAVX,EAAAkF,EAAKvE,aAAK,IAAAX,EAAAA,EAAI,GAAK,EAC5B,KACF,CAAO,GACa,wBAAlBkF,EAAKkC,UACyB,6BAA9BrH,EAAAmF,EAAKiC,iCAAYC,UACjB,CACAzG,GAA8B,QAArB0G,EAAAnC,EAAKiC,WAAWxG,aAAK,IAAA0G,EAAAA,EAAI,GAAK,EACvC,KACF,CAAO,GACLlB,OAAOC,WAAa,KACF,sBAAlBlB,EAAKkC,SACL,CACAzG,EAAQ,EACR,KACF,CACAuE,EAAOA,EAAKiC,UACd,CAEApO,KAAK4H,MAAQA,CACf,CAEQ,aAAAvB,eACN,MAAMkI,UAAatH,EAAAjH,KAAKwO,uDAClBC,EACW,QAAfzH,EAAAhH,KAAKuL,kBAAU,IAAAvE,OAAA,EAAAA,EAAEwE,cAA2B,kBACxCkD,EAA0C,QAA7BJ,EAAAG,aAAM,EAANA,EAAQD,6BAAqB,IAAAF,OAAA,EAAAA,EAAAK,KAAAF,GAEhD,IAAKF,IAAeG,EAClB,OAGF,MAGME,EAAWL,EAAWM,IAAMN,EAAWO,OAAS,EAChDC,EAAWL,EAAWI,OAAS,EAE/BE,EACJJ,EAAWG,EAAW3B,OAAO6B,YACzBL,EAAWG,GAAYH,EAAWG,EAAW3B,OAAO6B,aAAe,GACnEL,EAAWG,EAEjB,GAAmB,IAAf/O,KAAK4H,MAAa,CAGpB,IAAIsH,EAAgB,EACpB,MAAMC,EAAYnP,KAAKuM,QAAQ,kBAC/B,GAAI4C,EAAW,CACb,MAAMC,EAA8B,QAApBC,EAAAF,EAAU5D,kBAAU,IAAA8D,OAAA,EAAAA,EAAE7D,cACpC,kBAEE4D,IACFF,EAAgBE,EAAQE,aAE5B,CAEAtP,KAAK8I,aAAe,CAClB+F,IAAKU,OACLC,KAAM,MACNC,UAAWP,EAAgB,KAE/B,KAAO,CACL,MAAML,EAAMG,EA9BO,MA8BsCA,EACzDhP,KAAK8I,aAAe,CAClB+F,IAAKA,EAAM,KACXW,KAAMjB,EAAWmB,MAlCL,GAkCuB,KAEvC,CACF,CAUS,YAAAC,GACP3P,KAAKmG,iBACLnG,KAAK8K,wBACP,CAES,OAAA8E,CAAQC,GAEXA,EAAaC,IAAI,SAAW9P,KAAKoG,MAEnC2J,uBAAsB,KACpB/P,KAAKqG,eAAe,IAKpBwJ,EAAaC,IAAI,kBAAoB9P,KAAKoG,MAC5C2J,uBAAsB,KACpB/P,KAAKqG,eAAe,GAG1B,CAmBS,iBAAA2J,GACPC,MAAMD,oBACNE,SAASC,iBAAiB,QAASnQ,KAAKsG,sBACxC8G,OAAO+C,iBAAiB,SAAUnQ,KAAKiG,iBAEvCjG,KAAKmQ,iBACH,yBACAnQ,KAAKwF,0BAGPxF,KAAKmQ,iBAAiB,gBAAiBnQ,KAAKwG,kBAE5C4J,gBAAe,KACbpQ,KAAKqQ,2BAA2B,GAEpC,CAKQ,iBAAAnJ,WACN,MAAM0G,EAAY5N,KAAKuM,QAAQ,kBAC/B,GAAIqB,EAAW,OAAOA,EAEtB,IAAI0C,EAAOtQ,KAAKuQ,cAChB,KAAOD,aAAgBE,YAAY,CACjC,MAAMC,EAAuB,QAAjBzJ,GAAAC,EAAAqJ,EAAKI,MAAKnE,eAAO,IAAAvF,OAAA,EAAAA,EAAA2H,KAAA1H,EAAG,kBAChC,GAAIwJ,EACF,OAAOA,EAETH,EAAOA,EAAKI,KAAKH,aACnB,CAEA,OAAO,IACT,CAeQ,yBAAAF,GACN,MAAMI,EAAMzQ,KAAKkH,oBAEblH,KAAKqF,eAAiBoL,GAKtBzQ,KAAKmF,oBACPnF,KAAKmF,kBAAkBwL,aACvB3Q,KAAKmF,uBAAoBS,GAG3B5F,KAAKqF,aAAeoL,EAEhBA,IACFzQ,KAAKmF,kBAAoB,IAAIyL,kBAAiB,KAC5C5Q,KAAK4G,wBAAwB,IAE/B5G,KAAKmF,kBAAkB0L,QAAQJ,EAAK,CAClCK,YAAY,EACZC,gBAAiB,CAAC,qBAItB/Q,KAAK4G,0BArBH5G,KAAK4G,wBAsBT,CAMQ,kBAAAE,WACN,OAA+D,QAAxDE,EAAwB,QAAxBC,EAAAjH,KAAKkH,2BAAmB,IAAAD,OAAA,EAAAA,EAAE4F,aAAa,yBAAiB,IAAA7F,GAAAA,CACjE,CAES,oBAAAgK,GAEHhR,KAAKwE,cACPiC,aAAazG,KAAKwE,aAClBxE,KAAKwE,iBAAcoB,GAEjB5F,KAAK6I,cACPpC,aAAazG,KAAK6I,aAClB7I,KAAK6I,iBAAcjD,GAGjB5F,KAAK0G,mBACPD,aAAazG,KAAK0G,kBAClB1G,KAAK0G,sBAAmBd,GAG1BsK,SAASe,oBAAoB,QAASjR,KAAKsG,sBAC3C8G,OAAO6D,oBAAoB,SAAUjR,KAAKiG,iBAC1CjG,KAAKiR,oBACH,yBACAjR,KAAKwF,0BAEPxF,KAAKiR,oBAAoB,gBAAiBjR,KAAKwG,kBAC3CxG,KAAKmF,oBACPnF,KAAKmF,kBAAkBwL,aACvB3Q,KAAKmF,uBAAoBS,GAE3B5F,KAAKqF,aAAe,KACpB4K,MAAMe,sBACR,uiBA70BCE,EAAS,CAAEC,KAAMnL,QAASoL,SAAS,KAInCC,EAAA,CAAAH,EAAS,CAAEC,KAAMG,UAIjBC,EAAA,CAAAL,EAAS,CAAEC,KAAMG,UAIjBE,GAAA,CAAAN,EAAS,CAAEC,KAAMG,UAIjBG,GAAA,CAAAP,EAAS,CAAEC,KAAMnL,WAMjB0L,GAAA,CAAAC,KAIAC,GAAA,CAAAV,EAAS,CAAEC,KAAMnL,WAIjB6L,GAAA,CAAAX,EAAS,CAAEC,KAAMG,UAIjBQ,GAAA,CAAAZ,EAAS,CAAEC,KAAMY,UAOjBC,GAAA,CAAAd,EAAS,CAAEC,KAAMY,UAIjBE,GAAA,CAAAf,EAAS,CAAEC,KAAMnL,WAIjBkM,GAAA,CAAAhB,EAAS,CAAEC,KAAMG,UAIjBa,GAAA,CAAAjB,EAAS,CAAEC,KAAMnL,eAMjBkL,EAAS,CAAEC,KAAMG,OAAQc,UAAW,oBAIpClB,EAAS,CAAEC,KAAMnL,QAASoL,SAAS,KAMnCiB,GAAA,CAAAV,KAMAW,GAAA,CAAApB,EAAS,CAAEC,KAAMnL,QAASoL,SAAS,EAAMgB,UAAW,qBAOpDG,GAAA,CAAArB,EAAS,CAAEC,KAAMnL,QAASoL,SAAS,EAAMgB,UAAW,sBAMpDI,GAAA,CAAAtB,EAAS,CAAEC,KAAMY,OAAQX,SAAS,EAAMgB,UAAW,yBAMnDK,GAAA,CAAAvB,EAAS,CAAEC,KAAMnL,QAASoL,SAAS,EAAMgB,UAAW,yBAIpDM,GAAA,CAAAxB,EAAS,CAAEC,KAAMnL,QAASoL,SAAS,EAAMgB,UAAW,uBAMpDO,GAAA,CAAAhB,KAMAiB,GAAA,CAAAjB,KAOAkB,GAAA,CAAAC,EAAsB,CAAEC,KAAM,WAW9BC,GAAA,CAAArB,KAgBAsB,GAAA,CAAAtB,KAMAuB,GAAA,CAAAhC,EAAS,CAAEC,KAAMnL,QAASoL,SAAS,EAAMgB,UAAW,yBAgBpDe,GAAA,CAAAxB,KArKDyB,EAAAxT,EAAA,KAAAyT,EAAA,CAAAC,KAAA,WAAAC,KAAA,OAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,SAAAA,EAAAC,IAAAD,GAAAA,EAASvN,KAAIrG,IAAA,CAAA4T,EAAArM,KAAAqM,EAAJvN,KAAIkB,CAAA,GAAAuM,SAAAC,GAAA5T,GAAAE,IAIbgT,EAAAxT,EAAA,KAAAyR,EAAA,CAAAiC,KAAA,WAAAC,KAAA,OAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,SAAAA,EAAAC,IAAAD,GAAAA,EAASnM,KAAIzH,IAAA,CAAA4T,EAAArM,KAAAqM,EAAJnM,KAAIF,CAAA,GAAAuM,SAAAC,GAAAzT,GAAAE,IAIb6S,EAAAxT,EAAA,KAAA2R,EAAA,CAAA+B,KAAA,WAAAC,KAAA,SAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,WAAAA,EAAAC,IAAAD,GAAAA,EAASlM,OAAM1H,IAAA,CAAA4T,EAAArM,KAAAqM,EAANlM,OAAMH,CAAA,GAAAuM,SAAAC,GAAAtT,GAAAE,IAIf0S,EAAAxT,EAAA,KAAA4R,GAAA,CAAA8B,KAAA,WAAAC,KAAA,MAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,QAAAA,EAAAC,IAAAD,GAAAA,EAASjM,IAAG3H,IAAA,CAAA4T,EAAArM,KAAAqM,EAAHjM,IAAGJ,CAAA,GAAAuM,SAAAC,GAAAnT,GAAAE,IAIZuS,EAAAxT,EAAA,KAAA6R,GAAA,CAAA6B,KAAA,WAAAC,KAAA,WAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAAShM,SAAQ5H,IAAA,CAAA4T,EAAArM,KAAAqM,EAARhM,SAAQL,CAAA,GAAAuM,SAAAC,GAAAhT,GAAAE,IAMjBoS,EAAAxT,EAAA,KAAA8R,GAAA,CAAA4B,KAAA,WAAAC,KAAA,QAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,UAAAA,EAAAC,IAAAD,GAAAA,EAAS/L,MAAK7H,IAAA,CAAA4T,EAAArM,KAAAqM,EAAL/L,MAAKN,CAAA,GAAAuM,SAAAC,GAAA7S,GAAAE,IAIdiS,EAAAxT,EAAA,KAAAgS,GAAA,CAAA0B,KAAA,WAAAC,KAAA,UAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,YAAAA,EAAAC,IAAAD,GAAAA,EAAS9L,QAAO9H,IAAA,CAAA4T,EAAArM,KAAAqM,EAAP9L,QAAOP,CAAA,GAAAuM,SAAAC,GAAA1S,GAAAE,IAIhB8R,EAAAxT,EAAA,KAAAiS,GAAA,CAAAyB,KAAA,WAAAC,KAAA,cAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,gBAAAA,EAAAC,IAAAD,GAAAA,EAAS7L,YAAW/H,IAAA,CAAA4T,EAAArM,KAAAqM,EAAX7L,YAAWR,CAAA,GAAAuM,SAAAC,GAAAvS,GAAAE,IAIpB2R,EAAAxT,EAAA,KAAAkS,GAAA,CAAAwB,KAAA,WAAAC,KAAA,kBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,oBAAAA,EAAAC,IAAAD,GAAAA,EAAS5L,gBAAehI,IAAA,CAAA4T,EAAArM,KAAAqM,EAAf5L,gBAAeT,CAAA,GAAAuM,SAAAC,GAAApS,GAAAE,IAOxBwR,EAAAxT,EAAA,KAAAoS,GAAA,CAAAsB,KAAA,WAAAC,KAAA,iBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,mBAAAA,EAAAC,IAAAD,GAAAA,EAAS3L,eAAcjI,IAAA,CAAA4T,EAAArM,KAAAqM,EAAd3L,eAAcV,CAAA,GAAAuM,SAAAC,GAAAjS,GAAAE,IAIvBqR,EAAAxT,EAAA,KAAAqS,GAAA,CAAAqB,KAAA,WAAAC,KAAA,aAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,eAAAA,EAAAC,IAAAD,GAAAA,EAAS1L,WAAUlI,IAAA,CAAA4T,EAAArM,KAAAqM,EAAV1L,WAAUX,CAAA,GAAAuM,SAAAC,GAAA9R,GAAAE,IAInBkR,EAAAxT,EAAA,KAAAsS,GAAA,CAAAoB,KAAA,WAAAC,KAAA,WAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAASzL,SAAQnI,IAAA,CAAA4T,EAAArM,KAAAqM,EAARzL,SAAQZ,CAAA,GAAAuM,SAAAC,GAAA3R,GAAAE,IAIjB+Q,EAAAxT,EAAA,KAAAuS,GAAA,CAAAmB,KAAA,WAAAC,KAAA,cAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,gBAAAA,EAAAC,IAAAD,GAAAA,EAASxL,YAAWpI,IAAA,CAAA4T,EAAArM,KAAAqM,EAAXxL,YAAWb,CAAA,GAAAuM,SAAAC,GAAAxR,GAAAE,IAMpB4Q,EAAAxT,EAAA,KAAAmU,GAAA,CAAAT,KAAA,WAAAC,KAAA,YAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,cAAAA,EAAAC,IAAAD,GAAAA,EAASvL,UAASrI,IAAA,CAAA4T,EAAArM,KAAAqM,EAATvL,UAASd,CAAA,GAAAuM,SAAAC,GAAArR,GAAAE,IAIlByQ,EAAAxT,EAAA,KAAAoU,GAAA,CAAAV,KAAA,WAAAC,KAAA,WAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAAStL,SAAQtI,IAAA,CAAA4T,EAAArM,KAAAqM,EAARtL,SAAQf,CAAA,GAAAuM,SAAAC,GAAAlR,GAAAE,IAMjBsQ,EAAAxT,EAAA,KAAAyS,GAAA,CAAAiB,KAAA,WAAAC,KAAA,aAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,eAAAA,EAAAC,IAAAD,GAAAA,EAASrL,WAAUvI,IAAA,CAAA4T,EAAArM,KAAAqM,EAAVrL,WAAUhB,CAAA,GAAAuM,SAAAC,GAAA/Q,GAAAE,IAMnBmQ,EAAAxT,EAAA,KAAA0S,GAAA,CAAAgB,KAAA,WAAAC,KAAA,iBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,mBAAAA,EAAAC,IAAAD,GAAAA,EAASpL,eAAcxI,IAAA,CAAA4T,EAAArM,KAAAqM,EAAdpL,eAAcjB,CAAA,GAAAuM,SAAAC,GAAA5Q,GAAAE,IAOvBgQ,EAAAxT,EAAA,KAAA2S,GAAA,CAAAe,KAAA,WAAAC,KAAA,iBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,mBAAAA,EAAAC,IAAAD,GAAAA,EAASnL,eAAczI,IAAA,CAAA4T,EAAArM,KAAAqM,EAAdnL,eAAclB,CAAA,GAAAuM,SAAAC,GAAAzQ,GAAAE,IAMvB6P,EAAAxT,EAAA,KAAA4S,GAAA,CAAAc,KAAA,WAAAC,KAAA,gBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,kBAAAA,EAAAC,IAAAD,GAAAA,EAAS7N,cAAa/F,IAAA,CAAA4T,EAAArM,KAAAqM,EAAb7N,cAAawB,CAAA,GAAAuM,SAAAC,GAAAtQ,GAAAE,IAMtB0P,EAAAxT,EAAA,KAAA6S,GAAA,CAAAa,KAAA,WAAAC,KAAA,oBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,sBAAAA,EAAAC,IAAAD,GAAAA,EAAS5N,kBAAiBhG,IAAA,CAAA4T,EAAArM,KAAAqM,EAAjB5N,kBAAiBuB,CAAA,GAAAuM,SAAAC,GAAAnQ,GAAAE,IAI1BuP,EAAAxT,EAAA,KAAA8S,GAAA,CAAAY,KAAA,WAAAC,KAAA,kBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,oBAAAA,EAAAC,IAAAD,GAAAA,EAASlL,gBAAe1I,IAAA,CAAA4T,EAAArM,KAAAqM,EAAflL,gBAAenB,CAAA,GAAAuM,SAAAC,GAAAhQ,GAAAE,IAMxBoP,EAAAxT,EAAA,KAAA+S,GAAA,CAAAW,KAAA,WAAAC,KAAA,cAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,gBAAAA,EAAAC,IAAAD,GAAAA,EAASjL,YAAW3I,IAAA,CAAA4T,EAAArM,KAAAqM,EAAXjL,YAAWpB,CAAA,GAAAuM,SAAAC,GAAA7P,GAAAE,IAMpBiP,EAAAxT,EAAA,KAAAgT,GAAA,CAAAU,KAAA,WAAAC,KAAA,oBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,sBAAAA,EAAAC,IAAAD,GAAAA,EAAShL,kBAAiB5I,IAAA,CAAA4T,EAAArM,KAAAqM,EAAjBhL,kBAAiBrB,CAAA,GAAAuM,SAAAC,GAAA1P,GAAAE,IAO1B8O,EAAAxT,EAAA,KAAAiT,GAAA,CAAAS,KAAA,WAAAC,KAAA,aAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,eAAAA,EAAAC,IAAAD,GAAAA,EAAS/K,WAAU7I,IAAA,CAAA4T,EAAArM,KAAAqM,EAAV/K,WAAUtB,CAAA,GAAAuM,SAAAC,GAAAvP,GAAAE,IAWnB2O,EAAAxT,EAAA,KAAAoT,GAAA,CAAAM,KAAA,WAAAC,KAAA,cAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,gBAAAA,EAAAC,IAAAD,GAAAA,EAAS9K,YAAW9I,IAAA,CAAA4T,EAAArM,KAAAqM,EAAX9K,YAAWvB,CAAA,GAAAuM,SAAAC,GAAAnP,GAAAE,IAgBpBuO,EAAAxT,EAAA,KAAAqT,GAAA,CAAAK,KAAA,WAAAC,KAAA,qBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,uBAAAA,EAAAC,IAAAD,GAAAA,EAAS9M,mBAAkB9G,IAAA,CAAA4T,EAAArM,KAAAqM,EAAlB9M,mBAAkBS,CAAA,GAAAuM,SAAAC,GAAA/O,GAAAE,IAM3BmO,EAAAxT,EAAA,KAAAsT,GAAA,CAAAI,KAAA,WAAAC,KAAA,uBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,yBAAAA,EAAAC,IAAAD,GAAAA,EAAS5M,qBAAoBhH,IAAA,CAAA4T,EAAArM,KAAAqM,EAApB5M,qBAAoBO,CAAA,GAAAuM,SAAAC,GAAA5O,GAAAE,IAgB7BgO,EAAAxT,EAAA,KAAAuT,GAAA,CAAAG,KAAA,WAAAC,KAAA,eAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAA5D,IAAA6D,GAAA,iBAAAA,EAAAC,IAAAD,GAAAA,EAAS7K,aAAY/I,IAAA,CAAA4T,EAAArM,KAAAqM,EAAZ7K,aAAYxB,CAAA,GAAAuM,SAAAC,GAAAvO,GAAAE,IA7KvB2N,EAAA,KAAAa,EAAA,CAAA3M,MAAA1H,GAAAsU,GAAA,CAAAZ,KAAA,QAAAC,KAAA3T,EAAA2T,KAAAM,SAAAC,GAAA,KAAAK,kHACkBvU,EAAAwU,OAASC,EAAUC,GADxBrU,EAAAL,EAAAuU,OAAU"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{Stepper}from"./stepper.js";export{StepperItem}from"./stepperItem.js";export{StepperItemChild}from"./stepperItemChild.js";import"tslib";import"lit";import"lit/decorators.js";import"lit-html/directives/unsafe-svg.js";import"lit/directives/class-map.js";import"../../../vendor/@kyndryl-design-system/shidoka-icons-DG_R4Jwh.js";import"../link/link.js";import"lit
|
|
1
|
+
export{Stepper}from"./stepper.js";export{StepperItem}from"./stepperItem.js";export{StepperItemChild}from"./stepperItemChild.js";import"tslib";import"lit";import"lit/decorators.js";import"lit-html/directives/class-map.js";import"lit-html/directives/unsafe-svg.js";import"lit/directives/class-map.js";import"../../../vendor/@kyndryl-design-system/shidoka-icons-DG_R4Jwh.js";import"../link/link.js";import"lit/directives/if-defined.js";import"../link/defs.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -22,6 +22,8 @@ export declare class Stepper extends LitElement {
|
|
|
22
22
|
accessor stepperSize: string;
|
|
23
23
|
/** Curent index of stepper. Usefull for navigation logic like next, prev etc.*/
|
|
24
24
|
accessor currentIndex: number;
|
|
25
|
+
/** Whether step names preserve authored casing (title case) instead of uppercase. */
|
|
26
|
+
accessor applyTitleCase: boolean;
|
|
25
27
|
/**
|
|
26
28
|
* Queries any slotted step items.
|
|
27
29
|
* @ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/stepper/stepper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAQlD,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/stepper/stepper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAQlD,OAAO,eAAe,CAAC;AAGvB;;;;GAIG;AAEH,qBACa,OAAQ,SAAQ,UAAU;IACrC,OAAgB,MAAM,0BAA4B;IAElD;;;;;;;OAOG;IAEH,QAAQ,CAAC,WAAW,SAAe;IAEnC,8CAA8C;IAE9C,QAAQ,CAAC,QAAQ,UAAS;IAE1B,0CAA0C;IAE1C,QAAQ,CAAC,WAAW,SAAW;IAE/B,gFAAgF;IAEhF,QAAQ,CAAC,YAAY,SAAK;IAE1B,qFAAqF;IAErF,QAAQ,CAAC,cAAc,UAAS;IAEhC;;;OAGG;IAEH,QAAQ,CAAC,KAAK,EAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAEnB,MAAM;IAaf,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,wBAAwB;IAiBvB,OAAO,CAAC,iBAAiB,EAAE,GAAG;IAYvC,OAAO,CAAC,gBAAgB;IAYf,iBAAiB;IASjB,oBAAoB;CAO9B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,OAAO,CAAC;KACxB;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{__setFunctionName as e,__esDecorate as t,__runInitializers as s,__classPrivateFieldGet as i,__classPrivateFieldSet as
|
|
1
|
+
import{__setFunctionName as e,__esDecorate as t,__runInitializers as s,__classPrivateFieldGet as i,__classPrivateFieldSet as a}from"tslib";import{css as r,LitElement as p,unsafeCSS as n,html as l}from"lit";import{customElement as c,property as o,queryAssignedElements as d}from"lit/decorators.js";import"./stepperItem.js";import{classMap as h}from"lit-html/directives/class-map.js";import"lit-html/directives/unsafe-svg.js";import"lit/directives/class-map.js";import"../../../vendor/@kyndryl-design-system/shidoka-icons-DG_R4Jwh.js";import"../link/link.js";import"lit/directives/if-defined.js";import"../link/defs.js";import"./stepperItemChild.js";var m=r`*,
|
|
2
2
|
*::before,
|
|
3
3
|
*::after {
|
|
4
4
|
box-sizing: border-box;
|
|
@@ -47,11 +47,11 @@ import{__setFunctionName as e,__esDecorate as t,__runInitializers as s,__classPr
|
|
|
47
47
|
display: flex;
|
|
48
48
|
padding: 1px;
|
|
49
49
|
overflow-x: auto;
|
|
50
|
-
}`;let
|
|
50
|
+
}`;let u=(()=>{var r,u,v,k,y,f;let g,S,b,C,x,w,T,j,z=[c("kyn-stepper")],I=[],_=p,E=[],L=[],M=[],W=[],F=[],B=[],O=[],$=[],N=[],P=[],q=[],A=[];return S=class extends _{get stepperType(){return i(this,r,"f")}set stepperType(e){a(this,r,e,"f")}get vertical(){return i(this,u,"f")}set vertical(e){a(this,u,e,"f")}get stepperSize(){return i(this,v,"f")}set stepperSize(e){a(this,v,e,"f")}get currentIndex(){return i(this,k,"f")}set currentIndex(e){a(this,k,e,"f")}get applyTitleCase(){return i(this,y,"f")}set applyTitleCase(e){a(this,y,e,"f")}get steps(){return i(this,f,"f")}set steps(e){a(this,f,e,"f")}render(){return l`
|
|
51
51
|
<div
|
|
52
|
-
class=${this.vertical
|
|
52
|
+
class=${h({vertical:this.vertical,"horizontal-stepper-wrapper":!this.vertical})}
|
|
53
53
|
>
|
|
54
54
|
<slot @slotchange=${this._handleSlotChange}></slot>
|
|
55
55
|
</div>
|
|
56
|
-
`}_handleSlotChange(){this._updateChildren()}_updateChildren(){var e;this._determineFirstLastSteps(),null===(e=this.steps)||void 0===e||e.forEach((e=>{e.stepSize=this.stepperSize,e.vertical=this.vertical,e.stepperType=this.stepperType}))}_determineFirstLastSteps(){var e;(null===(e=this.steps)||void 0===e?void 0:e.length)>0&&(this.steps[0].isFirstStep=!0,this.steps[this.steps.length-1].isLastStep=!0,this.steps.length>=3&&(this.steps[this.steps.length-2].isSecondLastStep=!0),2===this.steps.length&&(this.steps[0].isTwoStepStepper=!0),this.steps.forEach(((e,t)=>e.stepIndex=t)))}updated(e){(e.has("stepperType")||e.has("stepperSize")||e.has("vertical"))&&this._updateChildren()}_handleStepClick(e){const t=new CustomEvent("on-click",{detail:{origEvent:e.detail.origEvent,step:e.detail.step,href:e.detail.href,stepIndex:e.detail.stepIndex}});this.dispatchEvent(t)}connectedCallback(){super.connectedCallback(),this.addEventListener("on-step-click",(e=>this._handleStepClick(e)))}disconnectedCallback(){this.removeEventListener("on-step-click",(e=>this._handleStepClick(e))),super.disconnectedCallback()}constructor(){super(...arguments),
|
|
56
|
+
`}_handleSlotChange(){this._updateChildren()}_updateChildren(){var e;this._determineFirstLastSteps(),null===(e=this.steps)||void 0===e||e.forEach((e=>{e.stepSize=this.stepperSize,e.applyTitleCase=this.applyTitleCase,e.vertical=this.vertical,e.stepperType=this.stepperType}))}_determineFirstLastSteps(){var e;(null===(e=this.steps)||void 0===e?void 0:e.length)>0&&(this.steps[0].isFirstStep=!0,this.steps[this.steps.length-1].isLastStep=!0,this.steps.length>=3&&(this.steps[this.steps.length-2].isSecondLastStep=!0),2===this.steps.length&&(this.steps[0].isTwoStepStepper=!0),this.steps.forEach(((e,t)=>e.stepIndex=t)))}updated(e){(e.has("stepperType")||e.has("stepperSize")||e.has("vertical")||e.has("applyTitleCase"))&&this._updateChildren()}_handleStepClick(e){const t=new CustomEvent("on-click",{detail:{origEvent:e.detail.origEvent,step:e.detail.step,href:e.detail.href,stepIndex:e.detail.stepIndex}});this.dispatchEvent(t)}connectedCallback(){super.connectedCallback(),this.addEventListener("on-step-click",(e=>this._handleStepClick(e)))}disconnectedCallback(){this.removeEventListener("on-step-click",(e=>this._handleStepClick(e))),super.disconnectedCallback()}constructor(){super(...arguments),r.set(this,s(this,E,"procedure")),u.set(this,(s(this,L),s(this,M,!1))),v.set(this,(s(this,W),s(this,F,"large"))),k.set(this,(s(this,B),s(this,O,0))),y.set(this,(s(this,$),s(this,N,!1))),f.set(this,(s(this,P),s(this,q,void 0))),s(this,A)}},r=new WeakMap,u=new WeakMap,v=new WeakMap,k=new WeakMap,y=new WeakMap,f=new WeakMap,e(S,"Stepper"),(()=>{var e;const s="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=_[Symbol.metadata])&&void 0!==e?e:null):void 0;b=[o({type:String})],C=[o({type:Boolean})],x=[o({type:String})],w=[o({type:Number})],T=[o({type:Boolean})],j=[d({selector:"kyn-stepper-item"})],t(S,null,b,{kind:"accessor",name:"stepperType",static:!1,private:!1,access:{has:e=>"stepperType"in e,get:e=>e.stepperType,set:(e,t)=>{e.stepperType=t}},metadata:s},E,L),t(S,null,C,{kind:"accessor",name:"vertical",static:!1,private:!1,access:{has:e=>"vertical"in e,get:e=>e.vertical,set:(e,t)=>{e.vertical=t}},metadata:s},M,W),t(S,null,x,{kind:"accessor",name:"stepperSize",static:!1,private:!1,access:{has:e=>"stepperSize"in e,get:e=>e.stepperSize,set:(e,t)=>{e.stepperSize=t}},metadata:s},F,B),t(S,null,w,{kind:"accessor",name:"currentIndex",static:!1,private:!1,access:{has:e=>"currentIndex"in e,get:e=>e.currentIndex,set:(e,t)=>{e.currentIndex=t}},metadata:s},O,$),t(S,null,T,{kind:"accessor",name:"applyTitleCase",static:!1,private:!1,access:{has:e=>"applyTitleCase"in e,get:e=>e.applyTitleCase,set:(e,t)=>{e.applyTitleCase=t}},metadata:s},N,P),t(S,null,j,{kind:"accessor",name:"steps",static:!1,private:!1,access:{has:e=>"steps"in e,get:e=>e.steps,set:(e,t)=>{e.steps=t}},metadata:s},q,A),t(null,g={value:S},z,{kind:"class",name:S.name,metadata:s},null,I),S=g.value,s&&Object.defineProperty(S,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s})})(),S.styles=n(m),s(S,I),S})();export{u as Stepper};
|
|
57
57
|
//# sourceMappingURL=stepper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepper.js","sources":["../../../../src/components/reusable/stepper/stepper.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n queryAssignedElements,\n} from 'lit/decorators.js';\n\nimport stepperStyles from './stepper.scss?inline';\nimport './stepperItem';\n\n/**\n * Stepper\n * @slot unnamed - Slot for step items.\n * @fires on-click - Captures the event and emits the active step and original event details when click on any step title. This is only for procedure type stepper. Status stepper doesn't emit this event.\n */\n\n@customElement('kyn-stepper')\nexport class Stepper extends LitElement {\n static override styles = unsafeCSS(stepperStyles);\n\n /** Stepper type `'procedure'` & `'status'`.\n *\n * procedure: Allows a user to move through a series of steps that need to be completed, such as filling out a series of forms. The user can therefore know where they are in the sequence, and can go back to previous steps if needed. Procedure should use the `'large'` size stepper.\n *\n * status: Should not allow the user navigate to previous steps for ex: sequential forms, payment gateway etc. Should use the `'small'` size to avoid unnecessary clutter.\n *\n * Note: Read the stepper guidelines for more info.\n */\n @property({ type: String })\n accessor stepperType = 'procedure';\n\n /** Wheter the stepper is in vertical type. */\n @property({ type: Boolean })\n accessor vertical = false;\n\n /** Stepper size `'large'` & `'small'`. */\n @property({ type: String })\n accessor stepperSize = 'large';\n\n /** Curent index of stepper. Usefull for navigation logic like next, prev etc.*/\n @property({ type: Number })\n accessor currentIndex = 0;\n\n /**\n * Queries any slotted step items.\n * @ignore\n */\n @queryAssignedElements({ selector: 'kyn-stepper-item' })\n accessor steps!: Array<any>;\n\n override render() {\n return html`\n <div\n class=${this.vertical\n ? 'vertical-stepper-wrapper'\n : 'horizontal-stepper-wrapper'}\n >\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n `;\n }\n\n private _handleSlotChange() {\n this._updateChildren();\n }\n\n private _updateChildren() {\n this._determineFirstLastSteps();\n\n this.steps?.forEach((step: any) => {\n step.stepSize = this.stepperSize;\n step.vertical = this.vertical;\n step.stepperType = this.stepperType;\n });\n }\n\n private _determineFirstLastSteps() {\n // this._updateContainerWidth();\n if (this.steps?.length > 0) {\n this.steps[0].isFirstStep = true;\n this.steps[this.steps.length - 1].isLastStep = true;\n\n if (this.steps.length >= 3) {\n this.steps[this.steps.length - 2].isSecondLastStep = true;\n }\n // Only 2 steps - 1st is left align and 2nd is right aligned\n if (this.steps.length === 2) {\n this.steps[0].isTwoStepStepper = true;\n }\n this.steps.forEach((step, index) => (step.stepIndex = index));\n }\n }\n\n override updated(changedProperties: any) {\n if (\n changedProperties.has('stepperType') ||\n changedProperties.has('stepperSize') ||\n changedProperties.has('vertical')\n ) {\n this._updateChildren();\n }\n }\n\n // Called when click on any step's title.\n private _handleStepClick(e: any) {\n const event = new CustomEvent('on-click', {\n detail: {\n origEvent: e.detail.origEvent,\n step: e.detail.step,\n href: e.detail.href,\n stepIndex: e.detail.stepIndex,\n },\n });\n this.dispatchEvent(event);\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n // capture step click event when click on step's title\n this.addEventListener('on-step-click', (e: any) =>\n this._handleStepClick(e)\n );\n }\n\n override disconnectedCallback() {\n this.removeEventListener('on-step-click', (e: any) =>\n this._handleStepClick(e)\n );\n\n super.disconnectedCallback();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-stepper': Stepper;\n }\n}\n"],"names":["Stepper","customElement","LitElement","_classThis","_classSuper","stepperType","__classPrivateFieldGet","this","_Stepper_stepperType_accessor_storage","value","__classPrivateFieldSet","vertical","_Stepper_vertical_accessor_storage","stepperSize","_Stepper_stepperSize_accessor_storage","currentIndex","_Stepper_currentIndex_accessor_storage","steps","_Stepper_steps_accessor_storage","render","html","_handleSlotChange","_updateChildren","_determineFirstLastSteps","_a","forEach","step","stepSize","length","isFirstStep","isLastStep","isSecondLastStep","isTwoStepStepper","index","stepIndex","updated","changedProperties","has","_handleStepClick","e","event","CustomEvent","detail","origEvent","href","dispatchEvent","connectedCallback","super","addEventListener","disconnectedCallback","removeEventListener","set","__runInitializers","_stepperType_initializers","_stepperType_extraInitializers","_vertical_initializers","_vertical_extraInitializers","_stepperSize_initializers","_stepperSize_extraInitializers","_currentIndex_initializers","_currentIndex_extraInitializers","_steps_initializers","_stepperType_decorators","property","type","String","_vertical_decorators","Boolean","_stepperSize_decorators","_currentIndex_decorators","Number","_steps_decorators","queryAssignedElements","selector","__esDecorate","kind","name","static","private","access","obj","get","metadata","_metadata","_steps_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","stepperStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stepper.js","sources":["../../../../src/components/reusable/stepper/stepper.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n queryAssignedElements,\n} from 'lit/decorators.js';\n\nimport stepperStyles from './stepper.scss?inline';\nimport './stepperItem';\nimport { classMap } from 'lit-html/directives/class-map.js';\n\n/**\n * Stepper\n * @slot unnamed - Slot for step items.\n * @fires on-click - Captures the event and emits the active step and original event details when click on any step title. This is only for procedure type stepper. Status stepper doesn't emit this event.\n */\n\n@customElement('kyn-stepper')\nexport class Stepper extends LitElement {\n static override styles = unsafeCSS(stepperStyles);\n\n /** Stepper type `'procedure'` & `'status'`.\n *\n * procedure: Allows a user to move through a series of steps that need to be completed, such as filling out a series of forms. The user can therefore know where they are in the sequence, and can go back to previous steps if needed. Procedure should use the `'large'` size stepper.\n *\n * status: Should not allow the user navigate to previous steps for ex: sequential forms, payment gateway etc. Should use the `'small'` size to avoid unnecessary clutter.\n *\n * Note: Read the stepper guidelines for more info.\n */\n @property({ type: String })\n accessor stepperType = 'procedure';\n\n /** Wheter the stepper is in vertical type. */\n @property({ type: Boolean })\n accessor vertical = false;\n\n /** Stepper size `'large'` & `'small'`. */\n @property({ type: String })\n accessor stepperSize = 'large';\n\n /** Curent index of stepper. Usefull for navigation logic like next, prev etc.*/\n @property({ type: Number })\n accessor currentIndex = 0;\n\n /** Whether step names preserve authored casing (title case) instead of uppercase. */\n @property({ type: Boolean })\n accessor applyTitleCase = false;\n\n /**\n * Queries any slotted step items.\n * @ignore\n */\n @queryAssignedElements({ selector: 'kyn-stepper-item' })\n accessor steps!: Array<any>;\n\n override render() {\n return html`\n <div\n class=${classMap({\n vertical: this.vertical,\n 'horizontal-stepper-wrapper': !this.vertical,\n })}\n >\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n `;\n }\n\n private _handleSlotChange() {\n this._updateChildren();\n }\n\n private _updateChildren() {\n this._determineFirstLastSteps();\n\n this.steps?.forEach((step: any) => {\n step.stepSize = this.stepperSize;\n step.applyTitleCase = this.applyTitleCase;\n step.vertical = this.vertical;\n step.stepperType = this.stepperType;\n });\n }\n\n private _determineFirstLastSteps() {\n // this._updateContainerWidth();\n if (this.steps?.length > 0) {\n this.steps[0].isFirstStep = true;\n this.steps[this.steps.length - 1].isLastStep = true;\n\n if (this.steps.length >= 3) {\n this.steps[this.steps.length - 2].isSecondLastStep = true;\n }\n // Only 2 steps - 1st is left align and 2nd is right aligned\n if (this.steps.length === 2) {\n this.steps[0].isTwoStepStepper = true;\n }\n this.steps.forEach((step, index) => (step.stepIndex = index));\n }\n }\n\n override updated(changedProperties: any) {\n if (\n changedProperties.has('stepperType') ||\n changedProperties.has('stepperSize') ||\n changedProperties.has('vertical') ||\n changedProperties.has('applyTitleCase')\n ) {\n this._updateChildren();\n }\n }\n\n // Called when click on any step's title.\n private _handleStepClick(e: any) {\n const event = new CustomEvent('on-click', {\n detail: {\n origEvent: e.detail.origEvent,\n step: e.detail.step,\n href: e.detail.href,\n stepIndex: e.detail.stepIndex,\n },\n });\n this.dispatchEvent(event);\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n // capture step click event when click on step's title\n this.addEventListener('on-step-click', (e: any) =>\n this._handleStepClick(e)\n );\n }\n\n override disconnectedCallback() {\n this.removeEventListener('on-step-click', (e: any) =>\n this._handleStepClick(e)\n );\n\n super.disconnectedCallback();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-stepper': Stepper;\n }\n}\n"],"names":["Stepper","customElement","LitElement","_classThis","_classSuper","stepperType","__classPrivateFieldGet","this","_Stepper_stepperType_accessor_storage","value","__classPrivateFieldSet","vertical","_Stepper_vertical_accessor_storage","stepperSize","_Stepper_stepperSize_accessor_storage","currentIndex","_Stepper_currentIndex_accessor_storage","applyTitleCase","_Stepper_applyTitleCase_accessor_storage","steps","_Stepper_steps_accessor_storage","render","html","classMap","_handleSlotChange","_updateChildren","_determineFirstLastSteps","_a","forEach","step","stepSize","length","isFirstStep","isLastStep","isSecondLastStep","isTwoStepStepper","index","stepIndex","updated","changedProperties","has","_handleStepClick","e","event","CustomEvent","detail","origEvent","href","dispatchEvent","connectedCallback","super","addEventListener","disconnectedCallback","removeEventListener","set","__runInitializers","_stepperType_initializers","_stepperType_extraInitializers","_vertical_initializers","_vertical_extraInitializers","_stepperSize_initializers","_stepperSize_extraInitializers","_currentIndex_initializers","_currentIndex_extraInitializers","_applyTitleCase_initializers","_applyTitleCase_extraInitializers","_steps_initializers","_stepperType_decorators","property","type","String","_vertical_decorators","Boolean","_stepperSize_decorators","_currentIndex_decorators","Number","_applyTitleCase_decorators","_steps_decorators","queryAssignedElements","selector","__esDecorate","kind","name","static","private","access","obj","get","metadata","_metadata","_steps_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","stepperStyles"],"mappings":"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"}
|