@kyndryl-design-system/shidoka-applications 2.58.0 → 2.58.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/reusable/dropdown/dropdown.d.ts.map +1 -1
- package/components/reusable/dropdown/dropdown.js +4 -3
- package/components/reusable/dropdown/dropdown.js.map +1 -1
- package/components/reusable/pagetitle/pageTitle.js +16 -16
- package/components/reusable/table/index.js +1 -1
- package/components/reusable/table/table.d.ts +1 -1
- package/components/reusable/table/table.d.ts.map +1 -1
- package/components/reusable/table/table.js +1 -1
- package/components/reusable/table/table.skeleton.js +1 -1
- package/index.js +1 -1
- package/package.json +3 -3
- package/{table-BSga3CPd.js → table-CjVS72wk.js} +2 -2
- package/table-CjVS72wk.js.map +1 -0
- package/table-BSga3CPd.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/dropdown/dropdown.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/dropdown/dropdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -779,7 +779,7 @@ kyn-tag-group {
|
|
|
779
779
|
--kd-color-border-variants-focus: var(
|
|
780
780
|
--kd-color-background-button-secondary-ai-focused
|
|
781
781
|
);
|
|
782
|
-
}`;const y={title:"Dropdown",selectedOptions:"List of selected options",requiredText:"Required",errorText:"Error",clearAll:"Clear all",clear:"Clear",addItem:"Add item...",add:"Add"},w="Enter",E="Escape",S="ArrowDown"
|
|
782
|
+
}`;const y={title:"Dropdown",selectedOptions:"List of selected options",requiredText:"Required",errorText:"Error",clearAll:"Clear all",clear:"Clear",addItem:"Add item...",add:"Add"},w="Enter",E="Escape",S="ArrowDown",$="ArrowUp";let _=(()=>{var r,_,O,T,z,C,A,M,I,W,D,N,q,V,L,j,B,K,P,R,U,Y,H,F,G,J,Q,X,Z,ee,te,ie,se,ae,le;let ne,oe,re,de,he,ce,pe,ue,me,ve,ge,fe,be,ke,xe,ye,we,Ee,Se,$e,_e,Oe,Te,ze,Ce,Ae,Me,Ie,We,De,Ne,qe,Ve,Le,je,Be,Ke,Pe=[h("kyn-dropdown")],Re=[],Ue=v(m),Ye=[],He=[],Fe=[],Ge=[],Je=[],Qe=[],Xe=[],Ze=[],et=[],tt=[],it=[],st=[],at=[],lt=[],nt=[],ot=[],rt=[],dt=[],ht=[],ct=[],pt=[],ut=[],mt=[],vt=[],gt=[],ft=[],bt=[],kt=[],xt=[],yt=[],wt=[],Et=[],St=[],$t=[],_t=[],Ot=[],Tt=[],zt=[],Ct=[],At=[],Mt=[],It=[],Wt=[],Dt=[],Nt=[],qt=[],Vt=[],Lt=[],jt=[],Bt=[],Kt=[],Pt=[],Rt=[],Ut=[],Yt=[],Ht=[],Ft=[],Gt=[],Jt=[],Qt=[],Xt=[],Zt=[],ei=[],ti=[],ii=[],si=[],ai=[],li=[],ni=[],oi=[];return oe=class extends Ue{constructor(){super(...arguments),r.set(this,i(this,Ye,"")),_.set(this,(i(this,He),i(this,Fe,"md"))),O.set(this,(i(this,Ge),i(this,Je,"default"))),T.set(this,(i(this,Qe),i(this,Xe,!1))),z.set(this,(i(this,Ze),i(this,et,""))),C.set(this,(i(this,tt),i(this,it,""))),A.set(this,(i(this,st),i(this,at,!1))),M.set(this,(i(this,lt),i(this,nt,!1))),I.set(this,(i(this,ot),i(this,rt,!1))),W.set(this,(i(this,dt),i(this,ht,!1))),D.set(this,(i(this,ct),i(this,pt,!1))),N.set(this,(i(this,ut),i(this,mt,!1))),q.set(this,(i(this,vt),i(this,gt,!1))),V.set(this,(i(this,ft),i(this,bt,!1))),L.set(this,(i(this,kt),i(this,xt,!1))),j.set(this,(i(this,yt),i(this,wt,!1))),B.set(this,(i(this,Et),i(this,St,"Select all"))),K.set(this,(i(this,$t),i(this,_t,"initial"))),P.set(this,(i(this,Ot),i(this,Tt,"auto"))),R.set(this,(i(this,zt),i(this,Ct,!1))),U.set(this,(i(this,At),i(this,Mt,!1))),Y.set(this,(i(this,It),i(this,Wt,y))),H.set(this,(i(this,Dt),i(this,Nt,!1))),F.set(this,(i(this,qt),i(this,Vt,y))),G.set(this,(i(this,Lt),i(this,jt,""))),J.set(this,(i(this,Bt),i(this,Kt,""))),Q.set(this,(i(this,Pt),i(this,Rt,""))),X.set(this,(i(this,Ut),i(this,Yt,"Dropdown menu options."))),Z.set(this,(i(this,Ht),i(this,Ft,void 0))),ee.set(this,(i(this,Gt),i(this,Jt,void 0))),te.set(this,(i(this,Qt),i(this,Xt,void 0))),ie.set(this,(i(this,Zt),i(this,ei,void 0))),se.set(this,(i(this,ti),i(this,ii,void 0))),ae.set(this,(i(this,si),i(this,ai,!1))),le.set(this,(i(this,li),i(this,ni,[]))),this.searchTextEntered=(i(this,oi),!1),this.prevSearchKeydownIndex=-1,this._onDocumentClick=e=>this._handleClickOut(e),this._onChildClick=e=>this._handleClick(e),this._onChildRemove=e=>this._handleRemoveOption(),this._onChildBlur=e=>this._handleBlur(e)}get label(){return s(this,r,"f")}set label(e){a(this,r,e,"f")}get size(){return s(this,_,"f")}set size(e){a(this,_,e,"f")}get kind(){return s(this,O,"f")}set kind(e){a(this,O,e,"f")}get inline(){return s(this,T,"f")}set inline(e){a(this,T,e,"f")}get caption(){return s(this,z,"f")}set caption(e){a(this,z,e,"f")}get placeholder(){return s(this,C,"f")}set placeholder(e){a(this,C,e,"f")}get open(){return s(this,A,"f")}set open(e){a(this,A,e,"f")}get searchable(){return s(this,M,"f")}set searchable(e){a(this,M,e,"f")}get enhanced(){return s(this,I,"f")}set enhanced(e){a(this,I,e,"f")}get filterSearch(){return s(this,W,"f")}set filterSearch(e){a(this,W,e,"f")}get multiple(){return s(this,D,"f")}set multiple(e){a(this,D,e,"f")}get required(){return s(this,N,"f")}set required(e){a(this,N,e,"f")}get hideLabel(){return s(this,q,"f")}set hideLabel(e){a(this,q,e,"f")}get disabled(){return s(this,V,"f")}set disabled(e){a(this,V,e,"f")}get hideTags(){return s(this,L,"f")}set hideTags(e){a(this,L,e,"f")}get selectAll(){return s(this,j,"f")}set selectAll(e){a(this,j,e,"f")}get selectAllText(){return s(this,B,"f")}set selectAllText(e){a(this,B,e,"f")}get menuMinWidth(){return s(this,K,"f")}set menuMinWidth(e){a(this,K,e,"f")}get openDirection(){return s(this,P,"f")}set openDirection(e){a(this,P,e,"f")}get selectAllChecked(){return s(this,R,"f")}set selectAllChecked(e){a(this,R,e,"f")}get selectAllIndeterminate(){return s(this,U,"f")}set selectAllIndeterminate(e){a(this,U,e,"f")}get textStrings(){return s(this,Y,"f")}set textStrings(e){a(this,Y,e,"f")}get allowAddOption(){return s(this,H,"f")}set allowAddOption(e){a(this,H,e,"f")}get _textStrings(){return s(this,F,"f")}set _textStrings(e){a(this,F,e,"f")}get newOptionValue(){return s(this,G,"f")}set newOptionValue(e){a(this,G,e,"f")}get text(){return s(this,J,"f")}set text(e){a(this,J,e,"f")}get searchText(){return s(this,Q,"f")}set searchText(e){a(this,Q,e,"f")}get assistiveText(){return s(this,X,"f")}set assistiveText(e){a(this,X,e,"f")}get options(){return Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option"))}get selectedOptions(){return this.options.filter((e=>e.hasAttribute("selected")))}get searchEl(){return s(this,Z,"f")}set searchEl(e){a(this,Z,e,"f")}get buttonEl(){return s(this,ee,"f")}set buttonEl(e){a(this,ee,e,"f")}get listboxEl(){return s(this,te,"f")}set listboxEl(e){a(this,te,e,"f")}get clearMultipleEl(){return s(this,ie,"f")}set clearMultipleEl(e){a(this,ie,e,"f")}get addOptionInputEl(){return s(this,se,"f")}set addOptionInputEl(e){a(this,se,e,"f")}get _openUpwards(){return s(this,ae,"f")}set _openUpwards(e){a(this,ae,e,"f")}get _tags(){return s(this,le,"f")}set _tags(e){a(this,le,e,"f")}render(){var e;const t={dropdown:!0,[`ai-connected-${"ai"===this.kind}`]:!0};return o`
|
|
783
783
|
<div
|
|
784
784
|
class=${l(t)}
|
|
785
785
|
?disabled=${this.disabled}
|
|
@@ -870,6 +870,7 @@ kyn-tag-group {
|
|
|
870
870
|
<div
|
|
871
871
|
id="options"
|
|
872
872
|
class=${l({options:!0,open:this.open,upwards:this._openUpwards})}
|
|
873
|
+
style="min-width: ${this.menuMinWidth};"
|
|
873
874
|
aria-hidden=${!this.open}
|
|
874
875
|
@keydown=${this.handleListKeydown}
|
|
875
876
|
@blur=${this.handleListBlur}
|
|
@@ -947,7 +948,7 @@ kyn-tag-group {
|
|
|
947
948
|
</div>
|
|
948
949
|
${this.renderHelperContent()}
|
|
949
950
|
</div>
|
|
950
|
-
`}_onAddOptionInputKeydown(e){switch(e.stopPropagation(),e.key){case w:this._handleAddOption();break;case E:this.newOptionValue="",this.open=!1,this.buttonEl.focus();break;case S:this.handleKeyboard(e,40,"addOption");break;case
|
|
951
|
+
`}_onAddOptionInputKeydown(e){switch(e.stopPropagation(),e.key){case w:this._handleAddOption();break;case E:this.newOptionValue="",this.open=!1,this.buttonEl.focus();break;case S:this.handleKeyboard(e,40,"addOption");break;case $:this.handleKeyboard(e,38,"addOption")}}_onAddOptionInputFocus(){this.assistiveText="Add new option input"}handleAnchorClick(e){var t,i,s;if(this.disabled)return;const a=((null===(t=e.composedPath)||void 0===t?void 0:t.call(e))||[]).some((e=>{var t;return null===(t=null==e?void 0:e.classList)||void 0===t?void 0:t.contains("options")}))||(null===(s=null===(i=e.target)||void 0===i?void 0:i.closest)||void 0===s?void 0:s.call(i,"kyn-dropdown-option, kyn-enhanced-dropdown-option, .add-option"));a||this.handleClick()}handleAnchorKeydown(e){this.disabled||this.handleButtonKeydown(e)}_handleAddOption(){const e=this.newOptionValue.trim();e&&(this.dispatchEvent(new CustomEvent("on-add-option",{detail:{value:e}})),this.newOptionValue="")}renderHelperContent(){return o`
|
|
951
952
|
${this.multiple&&!this.hideTags&&this._tags.length?o`
|
|
952
953
|
<kyn-tag-group
|
|
953
954
|
filter
|
|
@@ -991,5 +992,5 @@ kyn-tag-group {
|
|
|
991
992
|
${this.assistiveText}
|
|
992
993
|
</div>
|
|
993
994
|
</div>
|
|
994
|
-
`}firstUpdated(){""===this.placeholder&&(this.searchable?this.placeholder="Search":this.multiple?this.placeholder="Select items":this.placeholder="Select an option")}handleSlotChange(){this.updateChildOptions(),this._updateOptions(),this._updateSelectedText()}updateChildOptions(){var e;(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#children")).assignedElements({flatten:!0}).forEach((e=>{"KYN-DROPDOWN-OPTION"!==e.tagName&&"KYN-ENHANCED-DROPDOWN-OPTION"!==e.tagName||(e.allowAddOption=this.allowAddOption)}))}handleClick(){this.disabled||(this.open=!this.open,this.searchable?this.searchEl.focus():this.buttonEl.focus())}handleButtonKeydown(e){this.handleKeyboard(e,e.keyCode,"button")}handleListKeydown(e){9!==e.keyCode&&e.preventDefault(),this.handleKeyboard(e,e.keyCode,"list")}_handleListFocus(){var e;const t=[...Array.from((null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".select-all"))||[]),...this.options.filter((e=>"none"!==e.style.display))],i=t.find((e=>!e.disabled));i&&(t.forEach((e=>e.highlighted=!1)),(!("tabIndex"in i)||i.tabIndex<0)&&(i.tabIndex=0),i.focus(),i.scrollIntoView({block:"nearest"}),this.assistiveText=i.text||"Option")}handleListBlur(e){if(this.multiple)return;this.options.forEach((e=>e.highlighted=!1));const t=e.relatedTarget;t&&(t.closest("kyn-dropdown-option")||t.closest("kyn-enhanced-dropdown-option")||t.classList.contains("search")||t.closest(".add-option"))||(this.open=!1,this.assistiveText="Dropdown menu options.")}handleKeyboard(e,t,i){var s;const a=[0,32],l=[...Array.from((null===(s=this.shadowRoot)||void 0===s?void 0:s.querySelectorAll(".select-all"))||[]),...this.options.filter((e=>"none"!==e.style.display))],n=l.find((e=>e.highlighted)),o=l.find((e=>e.selected));let r=n?l.indexOf(n):o?l.indexOf(o):0;a.includes(t)&&e.preventDefault();const d=this.open;if("button"===i||"addOption"===i){let s=a.includes(t)||13===t||40==t||38==t;if(e.target===this.clearMultipleEl&&13===t&&(s=!1,l[r].highlighted=!1,l[r].selected=!l[r].selected,r=0,13!==t))return;s&&(this.open=!0,this.allowAddOption&&"button"===i&&13===t?setTimeout((()=>{var e;null===(e=this.addOptionInputEl)||void 0===e||e.focus()}),100):this.multiple||""===this.value||l[r].scrollIntoView({block:"nearest"}))}switch(t){case 0:case 32:case 13:return l[r].highlighted=!0,void(d&&(this.multiple?(l[r].selected=!l[r].selected,this._handleClick({detail:{value:l[r].value,selected:l[r].selected}})):(l.forEach((e=>e.selected=!1)),l[r].selected=!0,this.updateValue(l[r].value,!0),this.emitValue(),this.open=!1,this.assistiveText=`Selected ${l[r].value}`)));case 40:{let e=n||o?r===l.length-1?0:r+1:0;return l[e].disabled&&(e=e===l.length-1?0:e+1),l[e].focus(),l[r].highlighted=!1,l[e].highlighted=!0,l[e].scrollIntoView({block:"nearest"}),void(this.assistiveText=l[e].text)}case 38:{let e=0===r?l.length-1:r-1;return l[e].disabled&&(e=0===e?l.length-1:e-1),l[e].focus(),l[r].highlighted=!1,l[e].highlighted=!0,l[e].scrollIntoView({block:"nearest"}),void(this.assistiveText=l[e].text)}case 27:return this.open=!1,this.searchable?this.searchEl.focus():this.buttonEl.focus(),void(this.assistiveText="Dropdown menu options.");default:return}}handleClearMultiple(e){var t;if(e.stopPropagation(),this.multiple){const e=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("slot#children")).assignedElements().filter((e=>e.selected&&e.disabled)).map((e=>e.value));this.value=e.length?e:[]}else this.value="";this._validate(!0,!1),this._updateSelectedOptions(),this.emitValue();const i=new CustomEvent("on-clear-all",{detail:{value:this.value}});this.dispatchEvent(i)}handleTagClear(e){this.updateValue(e.value,!1),this._updateSelectedOptions(),this.emitValue()}handleClear(e){e.stopPropagation(),this.text="",this.searchText="",this.searchEl.value="",this._emitSearch(),this.filterSearch&&this.options.map((e=>{e.style.display="block"})),this.multiple||(this.value="",this._validate(!0,!1),this._updateSelectedOptions(),this.emitValue())}handleSearchClick(e){var t;e.stopPropagation(),this.open=!0,""===(null!==(t=this.searchText)&&void 0!==t?t:"").trim()&&(this.searchText="")}handleSearchKeydown(e){e.stopPropagation();const t=this.options.find((e=>e.highlighted)),i=this.options.findIndex((e=>e.highlighted));this.searchTextEntered=!1,13===e.keyCode&&(this.searchTextEntered=!0,t?(this.prevSearchKeydownIndex!==i&&(this.multiple?t.selected=!t.selected:(this.options.forEach((e=>e.selected=!1)),t.selected=!0,this.open=!1),this.updateValue(t.value,t.selected)),t.selected?(this.assistiveText=`Selected ${t.innerHTML}`,this.prevSearchKeydownIndex=i):this.assistiveText=`Deselected ${t.innerHTML}`):this.assistiveText="No item matched."),27===e.keyCode&&(this.open=!1,this.buttonEl.focus())}handleSearchInput(e){const t=e.target.value;if(this.searchText=t,this.open=!0,this._emitSearch(),this.filterSearch)this.options.map((e=>{let i=e.text;if("KYN-ENHANCED-DROPDOWN-OPTION"===e.tagName){const t=e.querySelector('[slot="title"]');i=t&&t.textContent.trim()?t.textContent.trim():e.displayText||e.value}i.toLowerCase().includes(t.toLowerCase())?e.style.display="block":e.style.display="none"}));else{const e=this.options.filter((e=>{let i=e.text;if("KYN-ENHANCED-DROPDOWN-OPTION"===e.tagName){const t=e.querySelector('[slot="title"]');i=t&&t.textContent.trim()?t.textContent.trim():e.displayText||e.value}return i.toLowerCase().startsWith(t.toLowerCase())}));this.options.forEach((e=>e.highlighted=!1)),""!==t&&e.length&&(e[0].highlighted=!0,e[0].scrollIntoView({block:"nearest"}),this.searchTextEntered&&(this.assistiveText="Option Matched"))}}_updateSelectedOptions(){this.options.forEach((e=>{this.multiple?e.selected=this.value.includes(e.value):e.selected=this.value===e.value}))}_handleClick(e){var t;if("selectAll"===e.detail.value){this.selectAllChecked=e.detail.selected;const i=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("slot#children")).assignedElements().filter((e=>e.selected&&e.disabled)).map((e=>e.value));e.detail.selected?(this.value=this.options.filter((e=>!e.disabled||e.disabled&&e.selected)).map((e=>e.value)),this.assistiveText="Selected all items."):(this.value=i.length?i:[],this.assistiveText="Deselected all items."),this._validate(!0,!1)}else this.updateValue(e.detail.value,e.detail.selected),this.assistiveText=e.detail.selected?`Selected ${e.detail.value}`:`Deselected ${e.detail.value}`;this._updateSelectedOptions(),this.multiple||(this.open=!1),this.emitValue()}_handleBlur(e){const t=e.detail.origEvent.relatedTarget;(!t||"kyn-dropdown-option"!==(null==t?void 0:t.localName)&&"kyn-enhanced-dropdown-option"!==(null==t?void 0:t.localName)&&"kyn-dropdown"!==t.localName)&&(this.open=!1)}_handleClickOut(e){e.composedPath().includes(this)||(this.open=!1)}connectedCallback(){super.connectedCallback(),this._onConnected(),document.addEventListener("click",this._onDocumentClick),this.addEventListener("on-click",this._onChildClick),this.addEventListener("on-remove-option",this._onChildRemove),this.addEventListener("on-blur",this._onChildBlur)}disconnectedCallback(){this._onDisconnected(),document.removeEventListener("click",this._onDocumentClick),this.removeEventListener("on-click",this._onChildClick),this.removeEventListener("on-remove-option",this._onChildRemove),this.removeEventListener("on-blur",this._onChildBlur),super.disconnectedCallback()}updateValue(e,t=!1){if(this.multiple){const i=""===this.value?[]:JSON.parse(JSON.stringify(this.value));if(t)i.push(e);else{const t=i.indexOf(e);i.splice(t,1)}this.value=i}else this.value=e;this._validate(!0,!1),this.multiple||(this.searchable?this.searchEl.focus():this.buttonEl.focus())}_validate(e,t){const i={customError:""!==this.invalidText,valueMissing:this.required&&(!this.value||this.multiple&&!this.value.length||!this.multiple&&""===this.value)},s=this.required&&!this.value.length?"Please fill out this field.":"",a=""!==this.invalidText?this.invalidText:s,l=this.buttonEl||this.listboxEl;l?this._internals.setValidity(i,a,l):this._internals.setValidity(i,a),e&&(this._internalValidationMsg=s),t&&this._internals.reportValidity()}emitValue(){const e=new CustomEvent("on-change",{detail:{value:this.value}});this.dispatchEvent(e)}_emitSearch(){const e=new CustomEvent("on-search",{detail:{searchText:this.searchText}});this.dispatchEvent(e)}willUpdate(e){e.has("textStrings")&&(this._textStrings=g(y,this.textStrings))}updated(e){super.updated(e),e.has("kind")&&(this.dispatchEvent(new CustomEvent("kind-changed",{detail:this.kind,bubbles:!0,composed:!0})),this.classList.toggle("ai-connected-true","ai"===this.kind));const t=this.shadowRoot;if(t){if(e.has("open")){const e=t.querySelector('slot[name="anchor"]'),i=null==e?void 0:e.assignedElements({flatten:!0}),s=null==i?void 0:i.find((e=>!e.querySelector(".clear-multiple-icon"))),a=null==s?void 0:s.querySelector('span[slot="icon"]');a&&(a.style.transition="transform 0.2s ease-in-out",a.style.transform=this.open?"rotate(180deg)":"rotate(0deg)")}if(this._onUpdated(e),e.has("value")){this._updateOptions();const e=t.querySelector("slot#children"),i=e?e.assignedElements().filter((e=>!e.hasAttribute("disabled"))):[],s=i.filter((e=>e.hasAttribute("selected")));this.selectAllChecked=s.length===i.length,this.selectAllIndeterminate=s.length>0&&s.length<i.length,this._updateTags(),this._updateSelectedText()}if(e.has("open")||e.has("openDirection")){if(this.open&&(this.options.forEach((e=>e.highlighted=!1)),!this.searchable&&this.listboxEl&&(this.listboxEl.focus({preventScroll:!0}),this.assistiveText="Selecting items. Use up and down arrow keys to navigate.")),"up"===this.openDirection)this._openUpwards=!0;else if("down"===this.openDirection)this._openUpwards=!1;else if(this.open){const e=this.buttonEl.getBoundingClientRect();this._openUpwards=e.top>.6*window.innerHeight}if(this.open&&!this.multiple){const e=this.options.find((e=>e.selected));null==e||e.scrollIntoView({block:"nearest"})}}e.has("multiple")&&this.options.forEach((e=>e.multiple=this.multiple)),e.has("searchText")&&this.searchEl&&(this.searchEl.value=this.searchText),e.has("allowAddOption")&&this.updateChildOptions()}}get hasSearch(){var e;return(null!==(e=this.searchText)&&void 0!==e?e:"").trim().length>0}_updateTags(){if(this.multiple){const e=Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option")),t=[];e&&(e.forEach((e=>{if(e.selected){let i=e.textContent;if("KYN-ENHANCED-DROPDOWN-OPTION"===e.tagName){const t=e.querySelector('[slot="title"]');i=t&&t.textContent.trim()?t.textContent.trim():e.displayText||e.value}else i=e.textContent.trim();t.push({value:e.value,text:i,disabled:e.disabled})}})),this._tags=t)}}_updateOptions(){Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option")).forEach((e=>{if(e.multiple=this.multiple,this.multiple){const t=this.value.includes(e.value);e.selected=t}else e.selected=this.value===e.value}))}_handleInputNewOption(e){const t=e.target;this.newOptionValue=t.value}_handleRemoveOption(){this.assistiveText="MY option removed ",setTimeout((()=>{this.open=!1,this.buttonEl.focus()}),100)}_updateSelectedText(){const e=Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option"));if(!this.multiple){if(e.length&&""!==this.value){const t=e.find((e=>e.value===this.value));if(t)if("KYN-ENHANCED-DROPDOWN-OPTION"===t.tagName){const e=t.querySelector('[slot="title"]');e&&e.textContent.trim()?this.text=e.textContent.trim():this.text=t.displayText||this.value}else this.text=t.textContent.trim();else this.text="",console.warn(`No dropdown option found with value: ${this.value}`)}this.searchable&&this.text&&(this.searchText=this.text===this.placeholder?"":this.text,this.searchEl.value=this.searchText)}}},r=new WeakMap,$=new WeakMap,O=new WeakMap,T=new WeakMap,z=new WeakMap,C=new WeakMap,A=new WeakMap,M=new WeakMap,I=new WeakMap,W=new WeakMap,D=new WeakMap,N=new WeakMap,q=new WeakMap,V=new WeakMap,L=new WeakMap,j=new WeakMap,B=new WeakMap,K=new WeakMap,P=new WeakMap,R=new WeakMap,U=new WeakMap,Y=new WeakMap,H=new WeakMap,F=new WeakMap,G=new WeakMap,J=new WeakMap,Q=new WeakMap,X=new WeakMap,Z=new WeakMap,ee=new WeakMap,te=new WeakMap,ie=new WeakMap,se=new WeakMap,ae=new WeakMap,le=new WeakMap,e(oe,"Dropdown"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=Ue[Symbol.metadata])&&void 0!==e?e:null):void 0;re=[p({type:String})],de=[p({type:String})],he=[p({type:String,attribute:"kind"})],ce=[p({type:Boolean})],pe=[p({type:String})],ue=[p({type:String})],me=[p({type:Boolean,reflect:!0})],ve=[p({type:Boolean})],ge=[p({type:Boolean})],fe=[p({type:Boolean})],be=[p({type:Boolean})],ke=[p({type:Boolean})],xe=[p({type:Boolean})],ye=[p({type:Boolean})],we=[p({type:Boolean})],Ee=[p({type:Boolean})],Se=[p({type:String})],_e=[p({type:String})],$e=[p({type:String})],Oe=[p({type:Boolean})],Te=[p({type:Boolean})],ze=[p({type:Object})],Ce=[p({type:Boolean})],Ae=[d()],Me=[d()],Ie=[d()],We=[p({type:String})],De=[d()],Ne=[u(".search")],qe=[u(".select")],Ve=[u(".options")],Le=[u(".clear-multiple")],je=[u(".add-option-input")],Be=[d()],Ke=[d()],t(oe,null,re,{kind:"accessor",name:"label",static:!1,private:!1,access:{has:e=>"label"in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:i},Ye,He),t(oe,null,de,{kind:"accessor",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:i},Fe,Ge),t(oe,null,he,{kind:"accessor",name:"kind",static:!1,private:!1,access:{has:e=>"kind"in e,get:e=>e.kind,set:(e,t)=>{e.kind=t}},metadata:i},Je,Qe),t(oe,null,ce,{kind:"accessor",name:"inline",static:!1,private:!1,access:{has:e=>"inline"in e,get:e=>e.inline,set:(e,t)=>{e.inline=t}},metadata:i},Xe,Ze),t(oe,null,pe,{kind:"accessor",name:"caption",static:!1,private:!1,access:{has:e=>"caption"in e,get:e=>e.caption,set:(e,t)=>{e.caption=t}},metadata:i},et,tt),t(oe,null,ue,{kind:"accessor",name:"placeholder",static:!1,private:!1,access:{has:e=>"placeholder"in e,get:e=>e.placeholder,set:(e,t)=>{e.placeholder=t}},metadata:i},it,st),t(oe,null,me,{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},at,lt),t(oe,null,ve,{kind:"accessor",name:"searchable",static:!1,private:!1,access:{has:e=>"searchable"in e,get:e=>e.searchable,set:(e,t)=>{e.searchable=t}},metadata:i},nt,ot),t(oe,null,ge,{kind:"accessor",name:"enhanced",static:!1,private:!1,access:{has:e=>"enhanced"in e,get:e=>e.enhanced,set:(e,t)=>{e.enhanced=t}},metadata:i},rt,dt),t(oe,null,fe,{kind:"accessor",name:"filterSearch",static:!1,private:!1,access:{has:e=>"filterSearch"in e,get:e=>e.filterSearch,set:(e,t)=>{e.filterSearch=t}},metadata:i},ht,ct),t(oe,null,be,{kind:"accessor",name:"multiple",static:!1,private:!1,access:{has:e=>"multiple"in e,get:e=>e.multiple,set:(e,t)=>{e.multiple=t}},metadata:i},pt,ut),t(oe,null,ke,{kind:"accessor",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,t)=>{e.required=t}},metadata:i},mt,vt),t(oe,null,xe,{kind:"accessor",name:"hideLabel",static:!1,private:!1,access:{has:e=>"hideLabel"in e,get:e=>e.hideLabel,set:(e,t)=>{e.hideLabel=t}},metadata:i},gt,ft),t(oe,null,ye,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:i},bt,kt),t(oe,null,we,{kind:"accessor",name:"hideTags",static:!1,private:!1,access:{has:e=>"hideTags"in e,get:e=>e.hideTags,set:(e,t)=>{e.hideTags=t}},metadata:i},xt,yt),t(oe,null,Ee,{kind:"accessor",name:"selectAll",static:!1,private:!1,access:{has:e=>"selectAll"in e,get:e=>e.selectAll,set:(e,t)=>{e.selectAll=t}},metadata:i},wt,Et),t(oe,null,Se,{kind:"accessor",name:"selectAllText",static:!1,private:!1,access:{has:e=>"selectAllText"in e,get:e=>e.selectAllText,set:(e,t)=>{e.selectAllText=t}},metadata:i},St,_t),t(oe,null,_e,{kind:"accessor",name:"menuMinWidth",static:!1,private:!1,access:{has:e=>"menuMinWidth"in e,get:e=>e.menuMinWidth,set:(e,t)=>{e.menuMinWidth=t}},metadata:i},$t,Ot),t(oe,null,$e,{kind:"accessor",name:"openDirection",static:!1,private:!1,access:{has:e=>"openDirection"in e,get:e=>e.openDirection,set:(e,t)=>{e.openDirection=t}},metadata:i},Tt,zt),t(oe,null,Oe,{kind:"accessor",name:"selectAllChecked",static:!1,private:!1,access:{has:e=>"selectAllChecked"in e,get:e=>e.selectAllChecked,set:(e,t)=>{e.selectAllChecked=t}},metadata:i},Ct,At),t(oe,null,Te,{kind:"accessor",name:"selectAllIndeterminate",static:!1,private:!1,access:{has:e=>"selectAllIndeterminate"in e,get:e=>e.selectAllIndeterminate,set:(e,t)=>{e.selectAllIndeterminate=t}},metadata:i},Mt,It),t(oe,null,ze,{kind:"accessor",name:"textStrings",static:!1,private:!1,access:{has:e=>"textStrings"in e,get:e=>e.textStrings,set:(e,t)=>{e.textStrings=t}},metadata:i},Wt,Dt),t(oe,null,Ce,{kind:"accessor",name:"allowAddOption",static:!1,private:!1,access:{has:e=>"allowAddOption"in e,get:e=>e.allowAddOption,set:(e,t)=>{e.allowAddOption=t}},metadata:i},Nt,qt),t(oe,null,Ae,{kind:"accessor",name:"_textStrings",static:!1,private:!1,access:{has:e=>"_textStrings"in e,get:e=>e._textStrings,set:(e,t)=>{e._textStrings=t}},metadata:i},Vt,Lt),t(oe,null,Me,{kind:"accessor",name:"newOptionValue",static:!1,private:!1,access:{has:e=>"newOptionValue"in e,get:e=>e.newOptionValue,set:(e,t)=>{e.newOptionValue=t}},metadata:i},jt,Bt),t(oe,null,Ie,{kind:"accessor",name:"text",static:!1,private:!1,access:{has:e=>"text"in e,get:e=>e.text,set:(e,t)=>{e.text=t}},metadata:i},Kt,Pt),t(oe,null,We,{kind:"accessor",name:"searchText",static:!1,private:!1,access:{has:e=>"searchText"in e,get:e=>e.searchText,set:(e,t)=>{e.searchText=t}},metadata:i},Rt,Ut),t(oe,null,De,{kind:"accessor",name:"assistiveText",static:!1,private:!1,access:{has:e=>"assistiveText"in e,get:e=>e.assistiveText,set:(e,t)=>{e.assistiveText=t}},metadata:i},Yt,Ht),t(oe,null,Ne,{kind:"accessor",name:"searchEl",static:!1,private:!1,access:{has:e=>"searchEl"in e,get:e=>e.searchEl,set:(e,t)=>{e.searchEl=t}},metadata:i},Ft,Gt),t(oe,null,qe,{kind:"accessor",name:"buttonEl",static:!1,private:!1,access:{has:e=>"buttonEl"in e,get:e=>e.buttonEl,set:(e,t)=>{e.buttonEl=t}},metadata:i},Jt,Qt),t(oe,null,Ve,{kind:"accessor",name:"listboxEl",static:!1,private:!1,access:{has:e=>"listboxEl"in e,get:e=>e.listboxEl,set:(e,t)=>{e.listboxEl=t}},metadata:i},Xt,Zt),t(oe,null,Le,{kind:"accessor",name:"clearMultipleEl",static:!1,private:!1,access:{has:e=>"clearMultipleEl"in e,get:e=>e.clearMultipleEl,set:(e,t)=>{e.clearMultipleEl=t}},metadata:i},ei,ti),t(oe,null,je,{kind:"accessor",name:"addOptionInputEl",static:!1,private:!1,access:{has:e=>"addOptionInputEl"in e,get:e=>e.addOptionInputEl,set:(e,t)=>{e.addOptionInputEl=t}},metadata:i},ii,si),t(oe,null,Be,{kind:"accessor",name:"_openUpwards",static:!1,private:!1,access:{has:e=>"_openUpwards"in e,get:e=>e._openUpwards,set:(e,t)=>{e._openUpwards=t}},metadata:i},ai,li),t(oe,null,Ke,{kind:"accessor",name:"_tags",static:!1,private:!1,access:{has:e=>"_tags"in e,get:e=>e._tags,set:(e,t)=>{e._tags=t}},metadata:i},ni,oi),t(null,ne={value:oe},Pe,{kind:"class",name:oe.name,metadata:i},null,Re),oe=ne.value,i&&Object.defineProperty(oe,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),oe.styles=c(x),i(oe,Re),oe})();export{$ as Dropdown};
|
|
995
|
+
`}firstUpdated(){""===this.placeholder&&(this.searchable?this.placeholder="Search":this.multiple?this.placeholder="Select items":this.placeholder="Select an option")}handleSlotChange(){this.updateChildOptions(),this._updateOptions(),this._updateSelectedText()}updateChildOptions(){var e;(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#children")).assignedElements({flatten:!0}).forEach((e=>{"KYN-DROPDOWN-OPTION"!==e.tagName&&"KYN-ENHANCED-DROPDOWN-OPTION"!==e.tagName||(e.allowAddOption=this.allowAddOption)}))}handleClick(){this.disabled||(this.open=!this.open,this.searchable?this.searchEl.focus():this.buttonEl.focus())}handleButtonKeydown(e){this.handleKeyboard(e,e.keyCode,"button")}handleListKeydown(e){9!==e.keyCode&&e.preventDefault(),this.handleKeyboard(e,e.keyCode,"list")}_handleListFocus(){var e;const t=[...Array.from((null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".select-all"))||[]),...this.options.filter((e=>"none"!==e.style.display))],i=t.find((e=>!e.disabled));i&&(t.forEach((e=>e.highlighted=!1)),(!("tabIndex"in i)||i.tabIndex<0)&&(i.tabIndex=0),i.focus(),i.scrollIntoView({block:"nearest"}),this.assistiveText=i.text||"Option")}handleListBlur(e){if(this.multiple)return;this.options.forEach((e=>e.highlighted=!1));const t=e.relatedTarget;t&&(t.closest("kyn-dropdown-option")||t.closest("kyn-enhanced-dropdown-option")||t.classList.contains("search")||t.closest(".add-option"))||(this.open=!1,this.assistiveText="Dropdown menu options.")}handleKeyboard(e,t,i){var s;const a=[0,32],l=[...Array.from((null===(s=this.shadowRoot)||void 0===s?void 0:s.querySelectorAll(".select-all"))||[]),...this.options.filter((e=>"none"!==e.style.display))],n=l.find((e=>e.highlighted)),o=l.find((e=>e.selected));let r=n?l.indexOf(n):o?l.indexOf(o):0;a.includes(t)&&e.preventDefault();const d=this.open;if("button"===i||"addOption"===i){let s=a.includes(t)||13===t||40==t||38==t;if(e.target===this.clearMultipleEl&&13===t&&(s=!1,l[r].highlighted=!1,l[r].selected=!l[r].selected,r=0,13!==t))return;s&&(this.open=!0,this.allowAddOption&&"button"===i&&13===t?setTimeout((()=>{var e;null===(e=this.addOptionInputEl)||void 0===e||e.focus()}),100):this.multiple||""===this.value||l[r].scrollIntoView({block:"nearest"}))}switch(t){case 0:case 32:case 13:return l[r].highlighted=!0,void(d&&(this.multiple?(l[r].selected=!l[r].selected,this._handleClick({detail:{value:l[r].value,selected:l[r].selected}})):(l.forEach((e=>e.selected=!1)),l[r].selected=!0,this.updateValue(l[r].value,!0),this.emitValue(),this.open=!1,this.assistiveText=`Selected ${l[r].value}`)));case 40:{let e=n||o?r===l.length-1?0:r+1:0;return l[e].disabled&&(e=e===l.length-1?0:e+1),l[e].focus(),l[r].highlighted=!1,l[e].highlighted=!0,l[e].scrollIntoView({block:"nearest"}),void(this.assistiveText=l[e].text)}case 38:{let e=0===r?l.length-1:r-1;return l[e].disabled&&(e=0===e?l.length-1:e-1),l[e].focus(),l[r].highlighted=!1,l[e].highlighted=!0,l[e].scrollIntoView({block:"nearest"}),void(this.assistiveText=l[e].text)}case 27:return this.open=!1,this.searchable?this.searchEl.focus():this.buttonEl.focus(),void(this.assistiveText="Dropdown menu options.");default:return}}handleClearMultiple(e){var t;if(e.stopPropagation(),this.multiple){const e=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("slot#children")).assignedElements().filter((e=>e.selected&&e.disabled)).map((e=>e.value));this.value=e.length?e:[]}else this.value="";this._validate(!0,!1),this._updateSelectedOptions(),this.emitValue();const i=new CustomEvent("on-clear-all",{detail:{value:this.value}});this.dispatchEvent(i)}handleTagClear(e){this.updateValue(e.value,!1),this._updateSelectedOptions(),this.emitValue()}handleClear(e){e.stopPropagation(),this.text="",this.searchText="",this.searchEl.value="",this._emitSearch(),this.filterSearch&&this.options.map((e=>{e.style.display="block"})),this.multiple||(this.value="",this._validate(!0,!1),this._updateSelectedOptions(),this.emitValue())}handleSearchClick(e){var t;e.stopPropagation(),this.open=!0,""===(null!==(t=this.searchText)&&void 0!==t?t:"").trim()&&(this.searchText="")}handleSearchKeydown(e){e.stopPropagation();const t=this.options.find((e=>e.highlighted)),i=this.options.findIndex((e=>e.highlighted));this.searchTextEntered=!1,13===e.keyCode&&(this.searchTextEntered=!0,t?(this.prevSearchKeydownIndex!==i&&(this.multiple?t.selected=!t.selected:(this.options.forEach((e=>e.selected=!1)),t.selected=!0,this.open=!1),this.updateValue(t.value,t.selected)),t.selected?(this.assistiveText=`Selected ${t.innerHTML}`,this.prevSearchKeydownIndex=i):this.assistiveText=`Deselected ${t.innerHTML}`):this.assistiveText="No item matched."),27===e.keyCode&&(this.open=!1,this.buttonEl.focus())}handleSearchInput(e){const t=e.target.value;if(this.searchText=t,this.open=!0,this._emitSearch(),this.filterSearch)this.options.map((e=>{let i=e.text;if("KYN-ENHANCED-DROPDOWN-OPTION"===e.tagName){const t=e.querySelector('[slot="title"]');i=t&&t.textContent.trim()?t.textContent.trim():e.displayText||e.value}i.toLowerCase().includes(t.toLowerCase())?e.style.display="block":e.style.display="none"}));else{const e=this.options.filter((e=>{let i=e.text;if("KYN-ENHANCED-DROPDOWN-OPTION"===e.tagName){const t=e.querySelector('[slot="title"]');i=t&&t.textContent.trim()?t.textContent.trim():e.displayText||e.value}return i.toLowerCase().startsWith(t.toLowerCase())}));this.options.forEach((e=>e.highlighted=!1)),""!==t&&e.length&&(e[0].highlighted=!0,e[0].scrollIntoView({block:"nearest"}),this.searchTextEntered&&(this.assistiveText="Option Matched"))}}_updateSelectedOptions(){this.options.forEach((e=>{this.multiple?e.selected=this.value.includes(e.value):e.selected=this.value===e.value}))}_handleClick(e){var t;if("selectAll"===e.detail.value){this.selectAllChecked=e.detail.selected;const i=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("slot#children")).assignedElements().filter((e=>e.selected&&e.disabled)).map((e=>e.value));e.detail.selected?(this.value=this.options.filter((e=>!e.disabled||e.disabled&&e.selected)).map((e=>e.value)),this.assistiveText="Selected all items."):(this.value=i.length?i:[],this.assistiveText="Deselected all items."),this._validate(!0,!1)}else this.updateValue(e.detail.value,e.detail.selected),this.assistiveText=e.detail.selected?`Selected ${e.detail.value}`:`Deselected ${e.detail.value}`;this._updateSelectedOptions(),this.multiple||(this.open=!1),this.emitValue()}_handleBlur(e){const t=e.detail.origEvent.relatedTarget;(!t||"kyn-dropdown-option"!==(null==t?void 0:t.localName)&&"kyn-enhanced-dropdown-option"!==(null==t?void 0:t.localName)&&"kyn-dropdown"!==t.localName)&&(this.open=!1)}_handleClickOut(e){e.composedPath().includes(this)||(this.open=!1)}connectedCallback(){super.connectedCallback(),this._onConnected(),document.addEventListener("click",this._onDocumentClick),this.addEventListener("on-click",this._onChildClick),this.addEventListener("on-remove-option",this._onChildRemove),this.addEventListener("on-blur",this._onChildBlur)}disconnectedCallback(){this._onDisconnected(),document.removeEventListener("click",this._onDocumentClick),this.removeEventListener("on-click",this._onChildClick),this.removeEventListener("on-remove-option",this._onChildRemove),this.removeEventListener("on-blur",this._onChildBlur),super.disconnectedCallback()}updateValue(e,t=!1){if(this.multiple){const i=""===this.value?[]:JSON.parse(JSON.stringify(this.value));if(t)i.push(e);else{const t=i.indexOf(e);i.splice(t,1)}this.value=i}else this.value=e;this._validate(!0,!1),this.multiple||(this.searchable?this.searchEl.focus():this.buttonEl.focus())}_validate(e,t){const i={customError:""!==this.invalidText,valueMissing:this.required&&(!this.value||this.multiple&&!this.value.length||!this.multiple&&""===this.value)},s=this.required&&!this.value.length?"Please fill out this field.":"",a=""!==this.invalidText?this.invalidText:s,l=this.buttonEl||this.listboxEl;l?this._internals.setValidity(i,a,l):this._internals.setValidity(i,a),e&&(this._internalValidationMsg=s),t&&this._internals.reportValidity()}emitValue(){const e=new CustomEvent("on-change",{detail:{value:this.value}});this.dispatchEvent(e)}_emitSearch(){const e=new CustomEvent("on-search",{detail:{searchText:this.searchText}});this.dispatchEvent(e)}willUpdate(e){e.has("textStrings")&&(this._textStrings=g(y,this.textStrings))}updated(e){super.updated(e),e.has("kind")&&(this.dispatchEvent(new CustomEvent("kind-changed",{detail:this.kind,bubbles:!0,composed:!0})),this.classList.toggle("ai-connected-true","ai"===this.kind));const t=this.shadowRoot;if(t){if(e.has("open")){const e=t.querySelector('slot[name="anchor"]'),i=null==e?void 0:e.assignedElements({flatten:!0}),s=null==i?void 0:i.find((e=>!e.querySelector(".clear-multiple-icon"))),a=null==s?void 0:s.querySelector('span[slot="icon"]');a&&(a.style.transition="transform 0.2s ease-in-out",a.style.transform=this.open?"rotate(180deg)":"rotate(0deg)")}if(this._onUpdated(e),e.has("value")){this._updateOptions();const e=t.querySelector("slot#children"),i=e?e.assignedElements().filter((e=>!e.hasAttribute("disabled"))):[],s=i.filter((e=>e.hasAttribute("selected")));this.selectAllChecked=s.length===i.length,this.selectAllIndeterminate=s.length>0&&s.length<i.length,this._updateTags(),this._updateSelectedText()}if(e.has("open")||e.has("openDirection")){if(this.open&&(this.options.forEach((e=>e.highlighted=!1)),!this.searchable&&this.listboxEl&&(this.listboxEl.focus({preventScroll:!0}),this.assistiveText="Selecting items. Use up and down arrow keys to navigate.")),"up"===this.openDirection)this._openUpwards=!0;else if("down"===this.openDirection)this._openUpwards=!1;else if(this.open){const e=this.buttonEl.getBoundingClientRect();this._openUpwards=e.top>.6*window.innerHeight}if(this.open&&!this.multiple){const e=this.options.find((e=>e.selected));null==e||e.scrollIntoView({block:"nearest"})}}e.has("multiple")&&this.options.forEach((e=>e.multiple=this.multiple)),e.has("searchText")&&this.searchEl&&(this.searchEl.value=this.searchText),e.has("allowAddOption")&&this.updateChildOptions()}}get hasSearch(){var e;return(null!==(e=this.searchText)&&void 0!==e?e:"").trim().length>0}_updateTags(){if(this.multiple){const e=Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option")),t=[];e&&(e.forEach((e=>{if(e.selected){let i=e.textContent;if("KYN-ENHANCED-DROPDOWN-OPTION"===e.tagName){const t=e.querySelector('[slot="title"]');i=t&&t.textContent.trim()?t.textContent.trim():e.displayText||e.value}else i=e.textContent.trim();t.push({value:e.value,text:i,disabled:e.disabled})}})),this._tags=t)}}_updateOptions(){Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option")).forEach((e=>{if(e.multiple=this.multiple,this.multiple){const t=this.value.includes(e.value);e.selected=t}else e.selected=this.value===e.value}))}_handleInputNewOption(e){const t=e.target;this.newOptionValue=t.value}_handleRemoveOption(){this.assistiveText="MY option removed ",setTimeout((()=>{this.open=!1,this.buttonEl.focus()}),100)}_updateSelectedText(){const e=Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option"));if(!this.multiple){if(e.length&&""!==this.value){const t=e.find((e=>e.value===this.value));if(t)if("KYN-ENHANCED-DROPDOWN-OPTION"===t.tagName){const e=t.querySelector('[slot="title"]');e&&e.textContent.trim()?this.text=e.textContent.trim():this.text=t.displayText||this.value}else this.text=t.textContent.trim();else this.text="",console.warn(`No dropdown option found with value: ${this.value}`)}this.searchable&&this.text&&(this.searchText=this.text===this.placeholder?"":this.text,this.searchEl.value=this.searchText)}}},r=new WeakMap,_=new WeakMap,O=new WeakMap,T=new WeakMap,z=new WeakMap,C=new WeakMap,A=new WeakMap,M=new WeakMap,I=new WeakMap,W=new WeakMap,D=new WeakMap,N=new WeakMap,q=new WeakMap,V=new WeakMap,L=new WeakMap,j=new WeakMap,B=new WeakMap,K=new WeakMap,P=new WeakMap,R=new WeakMap,U=new WeakMap,Y=new WeakMap,H=new WeakMap,F=new WeakMap,G=new WeakMap,J=new WeakMap,Q=new WeakMap,X=new WeakMap,Z=new WeakMap,ee=new WeakMap,te=new WeakMap,ie=new WeakMap,se=new WeakMap,ae=new WeakMap,le=new WeakMap,e(oe,"Dropdown"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=Ue[Symbol.metadata])&&void 0!==e?e:null):void 0;re=[p({type:String})],de=[p({type:String})],he=[p({type:String,attribute:"kind"})],ce=[p({type:Boolean})],pe=[p({type:String})],ue=[p({type:String})],me=[p({type:Boolean,reflect:!0})],ve=[p({type:Boolean})],ge=[p({type:Boolean})],fe=[p({type:Boolean})],be=[p({type:Boolean})],ke=[p({type:Boolean})],xe=[p({type:Boolean})],ye=[p({type:Boolean})],we=[p({type:Boolean})],Ee=[p({type:Boolean})],Se=[p({type:String})],$e=[p({type:String})],_e=[p({type:String})],Oe=[p({type:Boolean})],Te=[p({type:Boolean})],ze=[p({type:Object})],Ce=[p({type:Boolean})],Ae=[d()],Me=[d()],Ie=[d()],We=[p({type:String})],De=[d()],Ne=[u(".search")],qe=[u(".select")],Ve=[u(".options")],Le=[u(".clear-multiple")],je=[u(".add-option-input")],Be=[d()],Ke=[d()],t(oe,null,re,{kind:"accessor",name:"label",static:!1,private:!1,access:{has:e=>"label"in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:i},Ye,He),t(oe,null,de,{kind:"accessor",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:i},Fe,Ge),t(oe,null,he,{kind:"accessor",name:"kind",static:!1,private:!1,access:{has:e=>"kind"in e,get:e=>e.kind,set:(e,t)=>{e.kind=t}},metadata:i},Je,Qe),t(oe,null,ce,{kind:"accessor",name:"inline",static:!1,private:!1,access:{has:e=>"inline"in e,get:e=>e.inline,set:(e,t)=>{e.inline=t}},metadata:i},Xe,Ze),t(oe,null,pe,{kind:"accessor",name:"caption",static:!1,private:!1,access:{has:e=>"caption"in e,get:e=>e.caption,set:(e,t)=>{e.caption=t}},metadata:i},et,tt),t(oe,null,ue,{kind:"accessor",name:"placeholder",static:!1,private:!1,access:{has:e=>"placeholder"in e,get:e=>e.placeholder,set:(e,t)=>{e.placeholder=t}},metadata:i},it,st),t(oe,null,me,{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},at,lt),t(oe,null,ve,{kind:"accessor",name:"searchable",static:!1,private:!1,access:{has:e=>"searchable"in e,get:e=>e.searchable,set:(e,t)=>{e.searchable=t}},metadata:i},nt,ot),t(oe,null,ge,{kind:"accessor",name:"enhanced",static:!1,private:!1,access:{has:e=>"enhanced"in e,get:e=>e.enhanced,set:(e,t)=>{e.enhanced=t}},metadata:i},rt,dt),t(oe,null,fe,{kind:"accessor",name:"filterSearch",static:!1,private:!1,access:{has:e=>"filterSearch"in e,get:e=>e.filterSearch,set:(e,t)=>{e.filterSearch=t}},metadata:i},ht,ct),t(oe,null,be,{kind:"accessor",name:"multiple",static:!1,private:!1,access:{has:e=>"multiple"in e,get:e=>e.multiple,set:(e,t)=>{e.multiple=t}},metadata:i},pt,ut),t(oe,null,ke,{kind:"accessor",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,t)=>{e.required=t}},metadata:i},mt,vt),t(oe,null,xe,{kind:"accessor",name:"hideLabel",static:!1,private:!1,access:{has:e=>"hideLabel"in e,get:e=>e.hideLabel,set:(e,t)=>{e.hideLabel=t}},metadata:i},gt,ft),t(oe,null,ye,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:i},bt,kt),t(oe,null,we,{kind:"accessor",name:"hideTags",static:!1,private:!1,access:{has:e=>"hideTags"in e,get:e=>e.hideTags,set:(e,t)=>{e.hideTags=t}},metadata:i},xt,yt),t(oe,null,Ee,{kind:"accessor",name:"selectAll",static:!1,private:!1,access:{has:e=>"selectAll"in e,get:e=>e.selectAll,set:(e,t)=>{e.selectAll=t}},metadata:i},wt,Et),t(oe,null,Se,{kind:"accessor",name:"selectAllText",static:!1,private:!1,access:{has:e=>"selectAllText"in e,get:e=>e.selectAllText,set:(e,t)=>{e.selectAllText=t}},metadata:i},St,$t),t(oe,null,$e,{kind:"accessor",name:"menuMinWidth",static:!1,private:!1,access:{has:e=>"menuMinWidth"in e,get:e=>e.menuMinWidth,set:(e,t)=>{e.menuMinWidth=t}},metadata:i},_t,Ot),t(oe,null,_e,{kind:"accessor",name:"openDirection",static:!1,private:!1,access:{has:e=>"openDirection"in e,get:e=>e.openDirection,set:(e,t)=>{e.openDirection=t}},metadata:i},Tt,zt),t(oe,null,Oe,{kind:"accessor",name:"selectAllChecked",static:!1,private:!1,access:{has:e=>"selectAllChecked"in e,get:e=>e.selectAllChecked,set:(e,t)=>{e.selectAllChecked=t}},metadata:i},Ct,At),t(oe,null,Te,{kind:"accessor",name:"selectAllIndeterminate",static:!1,private:!1,access:{has:e=>"selectAllIndeterminate"in e,get:e=>e.selectAllIndeterminate,set:(e,t)=>{e.selectAllIndeterminate=t}},metadata:i},Mt,It),t(oe,null,ze,{kind:"accessor",name:"textStrings",static:!1,private:!1,access:{has:e=>"textStrings"in e,get:e=>e.textStrings,set:(e,t)=>{e.textStrings=t}},metadata:i},Wt,Dt),t(oe,null,Ce,{kind:"accessor",name:"allowAddOption",static:!1,private:!1,access:{has:e=>"allowAddOption"in e,get:e=>e.allowAddOption,set:(e,t)=>{e.allowAddOption=t}},metadata:i},Nt,qt),t(oe,null,Ae,{kind:"accessor",name:"_textStrings",static:!1,private:!1,access:{has:e=>"_textStrings"in e,get:e=>e._textStrings,set:(e,t)=>{e._textStrings=t}},metadata:i},Vt,Lt),t(oe,null,Me,{kind:"accessor",name:"newOptionValue",static:!1,private:!1,access:{has:e=>"newOptionValue"in e,get:e=>e.newOptionValue,set:(e,t)=>{e.newOptionValue=t}},metadata:i},jt,Bt),t(oe,null,Ie,{kind:"accessor",name:"text",static:!1,private:!1,access:{has:e=>"text"in e,get:e=>e.text,set:(e,t)=>{e.text=t}},metadata:i},Kt,Pt),t(oe,null,We,{kind:"accessor",name:"searchText",static:!1,private:!1,access:{has:e=>"searchText"in e,get:e=>e.searchText,set:(e,t)=>{e.searchText=t}},metadata:i},Rt,Ut),t(oe,null,De,{kind:"accessor",name:"assistiveText",static:!1,private:!1,access:{has:e=>"assistiveText"in e,get:e=>e.assistiveText,set:(e,t)=>{e.assistiveText=t}},metadata:i},Yt,Ht),t(oe,null,Ne,{kind:"accessor",name:"searchEl",static:!1,private:!1,access:{has:e=>"searchEl"in e,get:e=>e.searchEl,set:(e,t)=>{e.searchEl=t}},metadata:i},Ft,Gt),t(oe,null,qe,{kind:"accessor",name:"buttonEl",static:!1,private:!1,access:{has:e=>"buttonEl"in e,get:e=>e.buttonEl,set:(e,t)=>{e.buttonEl=t}},metadata:i},Jt,Qt),t(oe,null,Ve,{kind:"accessor",name:"listboxEl",static:!1,private:!1,access:{has:e=>"listboxEl"in e,get:e=>e.listboxEl,set:(e,t)=>{e.listboxEl=t}},metadata:i},Xt,Zt),t(oe,null,Le,{kind:"accessor",name:"clearMultipleEl",static:!1,private:!1,access:{has:e=>"clearMultipleEl"in e,get:e=>e.clearMultipleEl,set:(e,t)=>{e.clearMultipleEl=t}},metadata:i},ei,ti),t(oe,null,je,{kind:"accessor",name:"addOptionInputEl",static:!1,private:!1,access:{has:e=>"addOptionInputEl"in e,get:e=>e.addOptionInputEl,set:(e,t)=>{e.addOptionInputEl=t}},metadata:i},ii,si),t(oe,null,Be,{kind:"accessor",name:"_openUpwards",static:!1,private:!1,access:{has:e=>"_openUpwards"in e,get:e=>e._openUpwards,set:(e,t)=>{e._openUpwards=t}},metadata:i},ai,li),t(oe,null,Ke,{kind:"accessor",name:"_tags",static:!1,private:!1,access:{has:e=>"_tags"in e,get:e=>e._tags,set:(e,t)=>{e._tags=t}},metadata:i},ni,oi),t(null,ne={value:oe},Pe,{kind:"class",name:oe.name,metadata:i},null,Re),oe=ne.value,i&&Object.defineProperty(oe,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),oe.styles=c(x),i(oe,Re),oe})();export{_ as Dropdown};
|
|
995
996
|
//# sourceMappingURL=dropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.js","sources":["../../../../src/components/reusable/dropdown/dropdown.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, PropertyValues, html, unsafeCSS } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport DropdownScss from './dropdown.scss?inline';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport { deepmerge } from 'deepmerge-ts';\n\nimport './dropdownOption';\nimport './enhancedDropdownOption';\nimport '../tag';\nimport '../button';\n\nimport { DropdownOption } from './dropdownOption';\nimport { EnhancedDropdownOption } from './enhancedDropdownOption';\n\nimport downIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-down.svg';\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/error-filled.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\nconst _defaultTextStrings = {\n title: 'Dropdown',\n selectedOptions: 'List of selected options',\n requiredText: 'Required',\n errorText: 'Error',\n clearAll: 'Clear all',\n clear: 'Clear',\n addItem: 'Add item...',\n add: 'Add',\n};\n\nconst KEY = {\n Enter: 'Enter',\n Escape: 'Escape',\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n} as const;\n\n/**\n * Dropdown, single select.\n * @fires on-change - Captures the dropdown change event and emits the selected value and original event details. `detail:{ value: string/array }`\n * @fires on-search - Capture the search input event and emits the search text.`detail:{ searchText: string }`\n * @fires on-clear-all - Captures the the multi-select clear all button click event and emits the value. `detail:{ value: array }`\n * @fires on-add-option - Captures the add button click and emits the newly added option. `detail:{ value: string }`\n * @slot unnamed - Slot for dropdown options.\n * @slot tooltip - Slot for tooltip.\n * @slot anchor - Slot for custom dropdown anchor element. If not provided, defaults to standard input-style anchor.\n * @attr {string/array} [value=''/[]] - The selected value(s) of the input. For single select, it is a string. For multi-select, it is an array of strings.\n * @attr {string} [name=''] - The name of the input, used for form submission.\n * @attr {string} [invalidText=''] - The custom validation message when the input is invalid.\n */\n@customElement('kyn-dropdown')\nexport class Dropdown extends FormMixin(LitElement) {\n static override styles = unsafeCSS(DropdownScss);\n\n /** Label text. */\n @property({ type: String })\n accessor label = '';\n\n /** Dropdown size/height. \"sm\", \"md\", or \"lg\". */\n @property({ type: String })\n accessor size = 'md';\n\n /** Dropdown kind. */\n @property({ type: String, attribute: 'kind' })\n accessor kind: 'ai' | 'default' = 'default';\n\n /** Dropdown inline style type. */\n @property({ type: Boolean })\n accessor inline = false;\n\n /** Optional text beneath the input. */\n @property({ type: String })\n accessor caption = '';\n\n /** Dropdown placeholder. */\n @property({ type: String })\n accessor placeholder = '';\n\n /** Listbox/drawer open state. */\n @property({ type: Boolean, reflect: true })\n accessor open = false;\n\n /** Makes the dropdown searchable. */\n @property({ type: Boolean })\n accessor searchable = false;\n\n /** Makes the dropdown enhanced. */\n @property({ type: Boolean })\n accessor enhanced = false;\n\n /** Searchable variant filters results. */\n @property({ type: Boolean })\n accessor filterSearch = false;\n\n /** Enabled multi-select functionality. */\n @property({ type: Boolean })\n accessor multiple = false;\n\n /** Makes the dropdown required. */\n @property({ type: Boolean })\n accessor required = false;\n\n /** Visually hide the label. */\n @property({ type: Boolean })\n accessor hideLabel = false;\n\n /** Dropdown disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Hide the tags below multi-select. */\n @property({ type: Boolean })\n accessor hideTags = false;\n\n /** Adds a \"Select all\" option to the top of a multi-select dropdown. */\n @property({ type: Boolean })\n accessor selectAll = false;\n\n /** \"Select all\" text customization. */\n @property({ type: String })\n accessor selectAllText = 'Select all';\n\n /** Menu CSS min-width value. */\n @property({ type: String })\n accessor menuMinWidth = 'initial';\n\n /** Controls direction that dropdown opens. */\n @property({ type: String })\n accessor openDirection: 'auto' | 'up' | 'down' = 'auto';\n\n /** Is \"Select All\" box checked.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllChecked = false;\n\n /** Is \"Select All\" indeterminate.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllIndeterminate = false;\n\n /** Text string customization. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Enables the \"Add New Option\" feature. */\n @property({ type: Boolean })\n accessor allowAddOption = false;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /**\n * New dropdown option value.\n * @ignore\n */\n @state()\n accessor newOptionValue = '';\n\n /**\n * Selected option text, automatically derived.\n * @ignore\n */\n @state()\n accessor text = '';\n\n /**\n * Search input value.\n */\n @property({ type: String })\n accessor searchText = '';\n\n /**\n * Assistive text for screen readers.\n * @ignore\n */\n @state()\n accessor assistiveText = 'Dropdown menu options.';\n\n /**\n * Queries any slotted options, default or enhanced.\n * @ignore\n */\n protected get options(): Array<DropdownOption | EnhancedDropdownOption> {\n return Array.from(\n this.querySelectorAll<DropdownOption | EnhancedDropdownOption>(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option'\n )\n );\n }\n\n /**\n * Queries any slotted selected options.\n * @ignore\n */\n protected get selectedOptions(): Array<\n DropdownOption | EnhancedDropdownOption\n > {\n return this.options.filter(\n (opt): opt is DropdownOption | EnhancedDropdownOption =>\n opt.hasAttribute('selected')\n );\n }\n\n /**\n * Queries the .search DOM element.\n * @ignore\n */\n @query('.search')\n accessor searchEl!: HTMLInputElement;\n\n /**\n * Queries the .select DOM element.\n * @ignore\n */\n @query('.select')\n accessor buttonEl!: HTMLElement;\n\n /**\n * Queries the .options DOM element.\n * @ignore\n */\n @query('.options')\n accessor listboxEl!: HTMLElement;\n\n /**\n * Queries the .clear-multiple DOM element.\n * @ignore\n */\n @query('.clear-multiple')\n accessor clearMultipleEl!: HTMLElement;\n\n /**\n * Queries the .add-option-input DOM element.\n * @ignore\n */\n @query('.add-option-input')\n accessor addOptionInputEl!: HTMLInputElement;\n\n /**\n * Open drawer upwards.\n * @ignore\n */\n @state()\n accessor _openUpwards = false;\n\n /**\n * Tags value/text reference.\n * @ignore\n */\n @state()\n accessor _tags: Array<object> = [];\n\n /** Toggles on clicking enter key in the search input.\n * @internal\n */\n searchTextEntered: any = false;\n\n /** Toggles on clicking enter key in the search input.\n * @internal\n */\n prevSearchKeydownIndex = -1;\n\n private _onDocumentClick = (e: Event) => this._handleClickOut(e);\n private _onChildClick = (e: Event) => this._handleClick(e as any);\n private _onChildRemove = (_e: Event) => this._handleRemoveOption();\n private _onChildBlur = (e: Event) => this._handleBlur(e as any);\n\n override render() {\n const mainDropdownClasses = {\n dropdown: true,\n [`ai-connected-${this.kind === 'ai'}`]: true,\n };\n\n return html`\n <div\n class=${classMap(mainDropdownClasses)}\n ?disabled=${this.disabled}\n ?open=${this.open}\n ?inline=${this.inline}\n ?searchable=${this.searchable}\n >\n <label\n id=\"label-${this.name}\"\n class=\"label-text ${this.hideLabel || this.inline ? 'sr-only' : ''}\"\n for=${this.name}\n >\n ${this.required\n ? html`<abbr\n class=\"required\"\n title=${this._textStrings.requiredText}\n role=\"img\"\n aria-label=${this._textStrings?.requiredText || 'Required'}\n >*</abbr\n >`\n : null}\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </label>\n\n <div\n class=${classMap({\n wrapper: true,\n open: this.open,\n })}\n >\n <div\n class=\"custom\"\n @click=${(e: MouseEvent) => this.handleAnchorClick(e)}\n @keydown=${(e: KeyboardEvent) => this.handleAnchorKeydown(e)}\n >\n <slot name=\"anchor\">\n <div\n class=\"${classMap({\n select: true,\n 'input-custom': true,\n 'size--sm': this.size === 'sm',\n 'size--lg': this.size === 'lg',\n inline: this.inline,\n })}\"\n aria-labelledby=\"label-${this.name}\"\n aria-expanded=${this.open}\n aria-controls=\"options\"\n role=\"combobox\"\n id=${this.name}\n name=${this.name}\n title=${this._textStrings.title}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?invalid=${this._isInvalid}\n tabindex=${this.disabled ? '' : this.searchable ? '-1' : '0'}\n @mousedown=${(e: any) => {\n if (!this.searchable) {\n e.preventDefault();\n }\n }}\n @blur=${(e: any) => e.stopPropagation()}\n >\n ${this.multiple && this.value.length\n ? html`\n <button\n class=\"clear-multiple\"\n aria-label=\"${this.value\n .length} items selected. Clear selections\"\n ?disabled=${this.disabled}\n title=${this._textStrings.clear}\n @click=${(e: Event) => this.handleClearMultiple(e)}\n >\n ${this.value.length}\n <span style=\"display:flex;\" class=\"clear-multiple-icon\"\n >${unsafeSVG(clearIcon)}</span\n >\n </button>\n `\n : null}\n ${this.searchable\n ? html`\n <input\n class=\"search\"\n type=\"text\"\n placeholder=${this.placeholder}\n value=${this.searchText}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled}\n @keydown=${(e: any) => this.handleSearchKeydown(e)}\n @input=${(e: any) => this.handleSearchInput(e)}\n @blur=${(e: any) => e.stopPropagation()}\n @click=${(e: any) => this.handleSearchClick(e)}\n />\n `\n : html`\n <span\n class=\"${classMap({\n 'placeholder-text': this.text === '',\n })}\"\n >\n ${this.multiple\n ? this.placeholder\n : this.value === ''\n ? this.placeholder\n : this.text}\n </span>\n `}\n\n <span class=\"arrow-icon\">${unsafeSVG(downIcon)}</span>\n </div>\n </slot>\n\n <div\n id=\"options\"\n class=${classMap({\n options: true,\n open: this.open,\n upwards: this._openUpwards,\n })}\n aria-hidden=${!this.open}\n @keydown=${this.handleListKeydown}\n @blur=${this.handleListBlur}\n @focus=${this._handleListFocus}\n >\n ${this.allowAddOption\n ? html`\n <div class=\"add-option\">\n <input\n class=\"add-option-input\"\n type=\"text\"\n placeholder=${this._textStrings.addItem}\n .value=${this.newOptionValue}\n aria-label=\"Add new option\"\n @input=${this._handleInputNewOption}\n @keydown=${this._onAddOptionInputKeydown}\n @focus=${this._onAddOptionInputFocus}\n />\n <kyn-button\n type=\"button\"\n size=\"small\"\n kind=\"secondary\"\n @on-click=${this._handleAddOption}\n >\n ${this._textStrings.add}\n </kyn-button>\n </div>\n `\n : null}\n\n <div role=\"listbox\" aria-labelledby=\"label-${this.name}\">\n ${this.multiple && this.selectAll\n ? html`\n ${this.enhanced\n ? html`\n <kyn-enhanced-dropdown-option\n class=\"select-all\"\n value=\"selectAll\"\n multiple\n ?selected=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?disabled=${this.disabled}\n >\n ${this.selectAllText}\n </kyn-enhanced-dropdown-option>\n `\n : html`\n <kyn-dropdown-option\n class=\"select-all\"\n value=\"selectAll\"\n multiple\n ?selected=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?disabled=${this.disabled}\n >\n ${this.selectAllText}\n </kyn-dropdown-option>\n `}\n `\n : null}\n\n <slot\n id=\"children\"\n @slotchange=${() => this.handleSlotChange()}\n ></slot>\n </div>\n </div>\n </div>\n ${this.hasSearch && this.open\n ? html`\n <kyn-button\n ?disabled=${this.disabled}\n class=\"clear-button dropdown-clear\"\n kind=\"ghost\"\n size=\"small\"\n description=${this._textStrings.clearAll}\n @click=${(e: Event) => this.handleClear(e)}\n >\n <span style=\"display:flex;\">${unsafeSVG(clearIcon)}</span>\n </kyn-button>\n `\n : null}\n </div>\n ${this.renderHelperContent()}\n </div>\n `;\n }\n\n private _onAddOptionInputKeydown(e: KeyboardEvent) {\n e.stopPropagation();\n switch (e.key) {\n case KEY.Enter:\n this._handleAddOption();\n break;\n case KEY.Escape:\n this.newOptionValue = '';\n this.open = false;\n this.buttonEl.focus();\n break;\n case KEY.ArrowDown:\n this.handleKeyboard(e, 40, 'addOption');\n break;\n case KEY.ArrowUp:\n this.handleKeyboard(e, 38, 'addOption');\n break;\n }\n }\n\n private _onAddOptionInputFocus() {\n this.assistiveText = 'Add new option input';\n }\n\n private handleAnchorClick(e: MouseEvent) {\n if (this.disabled) return;\n\n const path = (e.composedPath?.() || []) as Array<EventTarget>;\n const isInOptions =\n path.some((t) => (t as HTMLElement)?.classList?.contains('options')) ||\n (e.target as HTMLElement)?.closest?.(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option, .add-option'\n );\n\n if (isInOptions) return;\n\n this.handleClick();\n }\n private handleAnchorKeydown(e: any) {\n if (this.disabled) return;\n this.handleButtonKeydown(e);\n }\n\n private _handleAddOption() {\n const v = this.newOptionValue.trim();\n if (!v) return;\n this.dispatchEvent(\n new CustomEvent('on-add-option', { detail: { value: v } })\n );\n this.newOptionValue = '';\n }\n\n private renderHelperContent() {\n return html`\n ${\n this.multiple && !this.hideTags && this._tags.length\n ? html`\n <kyn-tag-group\n filter\n role=\"list\"\n aria-label=${this._textStrings.selectedOptions}\n >\n ${this._tags.map((tag: any) => {\n return html`\n <kyn-tag\n role=\"listitem\"\n label=${tag.text}\n ?disabled=${this.disabled || tag.disabled}\n @on-close=${() => this.handleTagClear(tag)}\n ></kyn-tag>\n `;\n })}\n </kyn-tag-group>\n `\n : null\n }\n ${\n this.caption !== ''\n ? html`\n <div class=\"caption\" aria-disabled=${this.disabled}>\n ${this.caption}\n </div>\n `\n : null\n }\n ${\n this._isInvalid\n ? html`\n <div class=\"error\">\n <span\n class=\"error-icon\"\n role=\"img\"\n title=${this._textStrings.errorText}\n aria-label=${this._textStrings.errorText}\n >${unsafeSVG(errorIcon)}</span\n >\n ${this.invalidText || this._internalValidationMsg}\n </div>\n `\n : null\n }\n\n <div\n class=\"assistive-text\"\n role=\"status\"\n aria-live=\"assertive\"\n aria-relevant=\"additions text\"\n >\n ${this.assistiveText}\n </div>\n </div>\n `;\n }\n\n override firstUpdated() {\n // set a default placeholder if none provided\n if (this.placeholder === '') {\n if (this.searchable) {\n this.placeholder = 'Search';\n } else {\n if (this.multiple) {\n this.placeholder = 'Select items';\n } else {\n this.placeholder = 'Select an option';\n }\n }\n }\n }\n\n private handleSlotChange() {\n this.updateChildOptions();\n this._updateOptions();\n this._updateSelectedText();\n }\n\n private updateChildOptions() {\n // Get all slotted kyn-dropdown-option elements\n const slot = this.shadowRoot?.querySelector('#children') as HTMLSlotElement;\n const options = slot.assignedElements({ flatten: true }) as HTMLElement[];\n\n // Pass allowAddOption to each kyn-dropdown-option\n options.forEach((option) => {\n if (\n option.tagName === 'KYN-DROPDOWN-OPTION' ||\n option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION'\n ) {\n (option as any).allowAddOption = this.allowAddOption;\n }\n });\n }\n\n private handleClick() {\n if (!this.disabled) {\n this.open = !this.open;\n\n // focus search input if searchable\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n }\n }\n\n private handleButtonKeydown(e: any) {\n this.handleKeyboard(e, e.keyCode, 'button');\n }\n\n private handleListKeydown(e: any) {\n const TAB_KEY_CODE = 9;\n\n if (e.keyCode !== TAB_KEY_CODE) {\n e.preventDefault();\n }\n\n this.handleKeyboard(e, e.keyCode, 'list');\n }\n\n private _handleListFocus() {\n const selectAllOptions = Array.from(\n this.shadowRoot?.querySelectorAll('.select-all') || []\n ) as any[];\n const filteredOptions = this.options.filter(\n (option: any) => option.style.display !== 'none'\n );\n const visibleOptions = [...selectAllOptions, ...filteredOptions] as any[];\n\n const firstEnabled = visibleOptions.find((o: any) => !o.disabled) as any;\n if (!firstEnabled) return;\n\n visibleOptions.forEach((o: any) => (o.highlighted = false));\n\n if (!('tabIndex' in firstEnabled) || firstEnabled.tabIndex < 0) {\n firstEnabled.tabIndex = 0;\n }\n firstEnabled.focus();\n firstEnabled.scrollIntoView({ block: 'nearest' });\n this.assistiveText = firstEnabled.text || 'Option';\n }\n\n private handleListBlur(e: FocusEvent): void {\n if (this.multiple) {\n return;\n }\n\n this.options.forEach((o) => (o.highlighted = false));\n const target = e.relatedTarget as HTMLElement | null;\n\n if (\n target &&\n (target.closest('kyn-dropdown-option') ||\n target.closest('kyn-enhanced-dropdown-option') ||\n target.classList.contains('search') ||\n target.closest('.add-option'))\n ) {\n return;\n }\n\n this.open = false;\n this.assistiveText = 'Dropdown menu options.';\n }\n\n private handleKeyboard(e: any, keyCode: number, target: string) {\n const SPACEBAR_KEY_CODE = [0, 32];\n const ENTER_KEY_CODE = 13;\n const DOWN_ARROW_KEY_CODE = 40;\n const UP_ARROW_KEY_CODE = 38;\n const ESCAPE_KEY_CODE = 27;\n\n // get highlighted element + index and selected element\n const selectAllOptions = Array.from(\n this.shadowRoot?.querySelectorAll('.select-all') || []\n ) as any[];\n const filteredOptions = this.options.filter(\n (option: any) => option.style.display !== 'none'\n );\n const visibleOptions = [...selectAllOptions, ...filteredOptions] as any[];\n // visibleOptions.forEach((e) => (e.tabIndex = 0));\n\n const highlightedEl = visibleOptions.find(\n (option: any) => option.highlighted\n );\n const selectedEl = visibleOptions.find((option: any) => option.selected);\n let highlightedIndex = highlightedEl\n ? visibleOptions.indexOf(highlightedEl)\n : selectedEl\n ? visibleOptions.indexOf(selectedEl)\n : 0;\n\n // prevent page scroll on spacebar press\n if (SPACEBAR_KEY_CODE.includes(keyCode)) {\n e.preventDefault();\n }\n\n const isListboxElOpened = this.open;\n // open the listbox\n if (target === 'button' || target === 'addOption') {\n let openDropdown =\n SPACEBAR_KEY_CODE.includes(keyCode) ||\n keyCode === ENTER_KEY_CODE ||\n keyCode == DOWN_ARROW_KEY_CODE ||\n keyCode == UP_ARROW_KEY_CODE;\n\n if (e.target === this.clearMultipleEl && keyCode === ENTER_KEY_CODE) {\n openDropdown = false;\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[highlightedIndex].selected =\n !visibleOptions[highlightedIndex].selected;\n highlightedIndex = 0;\n if (keyCode !== ENTER_KEY_CODE) return;\n }\n\n if (openDropdown) {\n this.open = true;\n\n if (\n this.allowAddOption &&\n target === 'button' &&\n keyCode === ENTER_KEY_CODE\n ) {\n setTimeout(() => {\n this.addOptionInputEl?.focus();\n }, 100);\n } else {\n // scroll to highlighted option\n if (!this.multiple && this.value !== '') {\n visibleOptions[highlightedIndex].scrollIntoView({\n block: 'nearest',\n });\n }\n }\n }\n }\n switch (keyCode) {\n case 0:\n case 32:\n case ENTER_KEY_CODE: {\n // select highlighted option\n visibleOptions[highlightedIndex].highlighted = true;\n if (isListboxElOpened) {\n if (this.multiple) {\n visibleOptions[highlightedIndex].selected =\n !visibleOptions[highlightedIndex].selected;\n this._handleClick({\n detail: {\n value: visibleOptions[highlightedIndex].value,\n selected: visibleOptions[highlightedIndex].selected,\n },\n });\n } else {\n visibleOptions.forEach((e) => (e.selected = false));\n visibleOptions[highlightedIndex].selected = true;\n this.updateValue(visibleOptions[highlightedIndex].value, true);\n this.emitValue();\n\n this.open = false;\n this.assistiveText = `Selected ${visibleOptions[highlightedIndex].value}`;\n }\n }\n return;\n }\n case DOWN_ARROW_KEY_CODE: {\n // go to next option\n let nextIndex =\n !highlightedEl && !selectedEl\n ? 0\n : highlightedIndex === visibleOptions.length - 1\n ? 0\n : highlightedIndex + 1;\n\n // skip disabled options\n if (visibleOptions[nextIndex].disabled) {\n nextIndex =\n nextIndex === visibleOptions.length - 1 ? 0 : nextIndex + 1;\n }\n\n visibleOptions[nextIndex].focus();\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[nextIndex].highlighted = true;\n\n // scroll to option\n visibleOptions[nextIndex].scrollIntoView({ block: 'nearest' });\n\n this.assistiveText = visibleOptions[nextIndex].text;\n return;\n }\n case UP_ARROW_KEY_CODE: {\n // go to previous option\n let nextIndex =\n highlightedIndex === 0\n ? visibleOptions.length - 1\n : highlightedIndex - 1;\n\n // skip disabled options\n if (visibleOptions[nextIndex].disabled) {\n nextIndex =\n nextIndex === 0 ? visibleOptions.length - 1 : nextIndex - 1;\n }\n\n visibleOptions[nextIndex].focus();\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[nextIndex].highlighted = true;\n\n // scroll to option\n visibleOptions[nextIndex].scrollIntoView({ block: 'nearest' });\n\n this.assistiveText = visibleOptions[nextIndex].text;\n return;\n }\n case ESCAPE_KEY_CODE: {\n // close listbox\n this.open = false;\n\n // restore focus\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n\n this.assistiveText = 'Dropdown menu options.';\n return;\n }\n default: {\n return;\n }\n }\n }\n\n private handleClearMultiple(e: any) {\n e.stopPropagation();\n\n // clear values\n if (this.multiple) {\n const Slot: any = this.shadowRoot?.querySelector('slot#children');\n const Options: Array<any> = Slot.assignedElements();\n const DisabledSelectedOptions: Array<any> = Options.filter(\n (option: any) => option.selected && option.disabled\n ).map((option: any) => option.value);\n\n this.value = DisabledSelectedOptions.length\n ? DisabledSelectedOptions\n : [];\n } else {\n this.value = '';\n }\n\n this._validate(true, false);\n this._updateSelectedOptions();\n this.emitValue();\n\n const event = new CustomEvent('on-clear-all', {\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private handleTagClear(tag: any) {\n // remove value\n this.updateValue(tag.value, false);\n this._updateSelectedOptions();\n this.emitValue();\n }\n\n private handleClear(e: any) {\n e.stopPropagation();\n\n // reset search input text\n this.text = '';\n this.searchText = '';\n this.searchEl.value = '';\n\n this._emitSearch();\n\n if (this.filterSearch) {\n // reveal all options\n this.options.map((option: any) => {\n option.style.display = 'block';\n });\n }\n\n // clear selection for single select\n if (!this.multiple) {\n this.value = '';\n this._validate(true, false);\n this._updateSelectedOptions();\n this.emitValue();\n }\n }\n\n private handleSearchClick(e: any) {\n e.stopPropagation();\n this.open = true;\n if ((this.searchText ?? '').trim() === '') this.searchText = '';\n }\n\n private handleSearchKeydown(e: any) {\n e.stopPropagation();\n\n const ENTER_KEY_CODE = 13;\n const ESCAPE_KEY_CODE = 27;\n const option = this.options.find((option) => option.highlighted);\n const highlightedIndex = this.options.findIndex(\n (option) => option.highlighted\n );\n this.searchTextEntered = false;\n // select option\n if (e.keyCode === ENTER_KEY_CODE) {\n this.searchTextEntered = true;\n if (option) {\n if (this.prevSearchKeydownIndex !== highlightedIndex) {\n if (this.multiple) {\n option.selected = !option.selected;\n } else {\n this.options.forEach((e) => (e.selected = false));\n option.selected = true;\n this.open = false;\n }\n this.updateValue(option.value, option.selected);\n }\n\n if (option.selected) {\n this.assistiveText = `Selected ${option.innerHTML}`;\n this.prevSearchKeydownIndex = highlightedIndex;\n } else {\n this.assistiveText = `Deselected ${option.innerHTML}`;\n }\n } else {\n this.assistiveText = 'No item matched.';\n }\n }\n\n // close listbox\n if (e.keyCode === ESCAPE_KEY_CODE) {\n this.open = false;\n this.buttonEl.focus();\n }\n }\n\n private handleSearchInput(e: any) {\n const value = e.target.value;\n this.searchText = value;\n this.open = true;\n\n this._emitSearch();\n\n if (this.filterSearch) {\n // hide items that don't match\n this.options.map((option: any) => {\n let searchText = option.text;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n searchText = titleSlot.textContent.trim();\n } else {\n searchText = option.displayText || option.value;\n }\n }\n\n if (searchText.toLowerCase().includes(value.toLowerCase())) {\n option.style.display = 'block';\n } else {\n option.style.display = 'none';\n }\n });\n } else {\n // find matches\n const options = this.options.filter((option: any) => {\n let searchText = option.text;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n searchText = titleSlot.textContent.trim();\n } else {\n searchText = option.displayText || option.value;\n }\n }\n\n return searchText.toLowerCase().startsWith(value.toLowerCase());\n });\n\n // reset options highlighted state\n this.options.forEach((option) => (option.highlighted = false));\n\n // option highlight and scroll\n if (value !== '' && options.length) {\n options[0].highlighted = true;\n options[0].scrollIntoView({ block: 'nearest' });\n if (this.searchTextEntered) this.assistiveText = 'Option Matched';\n }\n }\n }\n\n private _updateSelectedOptions() {\n // set selected state for each option\n this.options.forEach((option: any) => {\n if (this.multiple) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n }\n\n private _handleClick(e: any) {\n if (e.detail.value === 'selectAll') {\n this.selectAllChecked = e.detail.selected;\n\n const Slot: any = this.shadowRoot?.querySelector('slot#children');\n const Options: Array<any> = Slot.assignedElements();\n const DisabledSelectedOptions: Array<any> = Options.filter(\n (option: any) => option.selected && option.disabled\n ).map((option: any) => option.value);\n\n if (e.detail.selected) {\n this.value = this.options\n .filter(\n (option) => !option.disabled || (option.disabled && option.selected)\n )\n .map((option) => option.value);\n this.assistiveText = 'Selected all items.';\n } else {\n this.value = DisabledSelectedOptions.length\n ? DisabledSelectedOptions\n : [];\n this.assistiveText = 'Deselected all items.';\n }\n\n this._validate(true, false);\n } else {\n this.updateValue(e.detail.value, e.detail.selected);\n this.assistiveText = e.detail.selected\n ? `Selected ${e.detail.value}`\n : `Deselected ${e.detail.value}`;\n }\n\n this._updateSelectedOptions();\n\n if (!this.multiple) {\n this.open = false;\n }\n\n // emit selected value\n this.emitValue();\n }\n\n private _handleBlur(e: any) {\n const relatedTarget = e.detail.origEvent.relatedTarget;\n\n if (\n !relatedTarget ||\n (relatedTarget?.localName !== 'kyn-dropdown-option' &&\n relatedTarget?.localName !== 'kyn-enhanced-dropdown-option' &&\n relatedTarget.localName !== 'kyn-dropdown')\n ) {\n this.open = false;\n }\n }\n\n private _handleClickOut(e: Event) {\n if (!e.composedPath().includes(this)) {\n this.open = false;\n }\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this._onConnected();\n\n document.addEventListener('click', this._onDocumentClick);\n\n this.addEventListener('on-click', this._onChildClick);\n this.addEventListener('on-remove-option', this._onChildRemove);\n this.addEventListener('on-blur', this._onChildBlur);\n }\n\n override disconnectedCallback() {\n this._onDisconnected();\n\n document.removeEventListener('click', this._onDocumentClick);\n this.removeEventListener('on-click', this._onChildClick);\n this.removeEventListener('on-remove-option', this._onChildRemove);\n this.removeEventListener('on-blur', this._onChildBlur);\n\n super.disconnectedCallback();\n }\n\n private updateValue(value: string, selected = false) {\n // set value\n if (this.multiple) {\n const values =\n this.value === '' ? [] : JSON.parse(JSON.stringify(this.value));\n\n // update array\n if (selected) {\n values.push(value);\n } else {\n const index = values.indexOf(value);\n values.splice(index, 1);\n }\n\n this.value = values;\n } else {\n this.value = value;\n }\n\n this._validate(true, false);\n\n // reset focus\n if (!this.multiple) {\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n }\n }\n\n private _validate(interacted: Boolean, report: Boolean) {\n // set validity flags\n const Validity = {\n customError: this.invalidText !== '',\n valueMissing:\n this.required &&\n (!this.value ||\n (this.multiple && !this.value.length) ||\n (!this.multiple && this.value === '')),\n };\n\n // set validationMessage\n const InternalMsg =\n this.required && !this.value.length ? 'Please fill out this field.' : '';\n const ValidationMessage =\n this.invalidText !== '' ? this.invalidText : InternalMsg;\n\n const validationAnchor = this.buttonEl || this.listboxEl;\n\n if (validationAnchor) {\n this._internals.setValidity(\n Validity,\n ValidationMessage,\n validationAnchor\n );\n } else {\n this._internals.setValidity(Validity, ValidationMessage);\n }\n\n if (interacted) {\n this._internalValidationMsg = InternalMsg;\n }\n\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n private emitValue() {\n const event = new CustomEvent('on-change', {\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private _emitSearch() {\n const event = new CustomEvent('on-search', {\n detail: {\n searchText: this.searchText,\n },\n });\n this.dispatchEvent(event);\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n\n override updated(changedProps: PropertyValues) {\n super.updated(changedProps);\n\n if (changedProps.has('kind')) {\n this.dispatchEvent(\n new CustomEvent('kind-changed', {\n detail: this.kind,\n bubbles: true,\n composed: true,\n })\n );\n\n this.classList.toggle('ai-connected-true', this.kind === 'ai');\n }\n\n const root = this.shadowRoot;\n if (!root) return;\n\n if (changedProps.has('open')) {\n const slot = root.querySelector<HTMLSlotElement>('slot[name=\"anchor\"]');\n const assigned = slot?.assignedElements({ flatten: true }) as\n | HTMLElement[]\n | undefined;\n const btn = assigned?.find(\n (el) => !el.querySelector('.clear-multiple-icon')\n );\n const icon = btn?.querySelector<HTMLElement>('span[slot=\"icon\"]');\n if (icon) {\n icon.style.transition = 'transform 0.2s ease-in-out';\n icon.style.transform = this.open ? 'rotate(180deg)' : 'rotate(0deg)';\n }\n }\n\n this._onUpdated(changedProps);\n\n if (changedProps.has('value')) {\n this._updateOptions();\n\n const childrenSlot = root.querySelector<HTMLSlotElement>('slot#children');\n const options = childrenSlot\n ? childrenSlot\n .assignedElements()\n .filter((o): o is HTMLElement => !o.hasAttribute('disabled'))\n : [];\n const selected = options.filter((o) => o.hasAttribute('selected'));\n\n this.selectAllChecked = selected.length === options.length;\n this.selectAllIndeterminate =\n selected.length > 0 && selected.length < options.length;\n\n this._updateTags();\n this._updateSelectedText();\n }\n\n if (changedProps.has('open') || changedProps.has('openDirection')) {\n if (this.open) {\n this.options.forEach((o) => (o.highlighted = false));\n\n if (!this.searchable && this.listboxEl) {\n this.listboxEl.focus({ preventScroll: true });\n this.assistiveText =\n 'Selecting items. Use up and down arrow keys to navigate.';\n }\n }\n\n if (this.openDirection === 'up') {\n this._openUpwards = true;\n } else if (this.openDirection === 'down') {\n this._openUpwards = false;\n } else if (this.open) {\n const rect = this.buttonEl.getBoundingClientRect();\n this._openUpwards = rect.top > window.innerHeight * 0.6;\n }\n\n if (this.open && !this.multiple) {\n const firstSelected = this.options.find((o) => o.selected);\n firstSelected?.scrollIntoView({ block: 'nearest' });\n }\n }\n\n if (changedProps.has('multiple')) {\n this.options.forEach((opt) => (opt.multiple = this.multiple));\n }\n\n if (changedProps.has('searchText') && this.searchEl) {\n this.searchEl.value = this.searchText;\n }\n\n if (changedProps.has('allowAddOption')) {\n this.updateChildOptions();\n }\n }\n\n private get hasSearch(): boolean {\n return (this.searchText ?? '').trim().length > 0;\n }\n\n // add selected options to Tags array\n private _updateTags() {\n if (this.multiple) {\n const Options: any = Array.from(\n this.querySelectorAll(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option'\n )\n );\n const Tags: Array<object> = [];\n\n if (Options) {\n Options.forEach((option: any) => {\n if (option.selected) {\n let text = option.textContent;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n text = titleSlot.textContent.trim();\n } else {\n text = option.displayText || option.value;\n }\n } else {\n text = option.textContent.trim();\n }\n\n Tags.push({\n value: option.value,\n text: text,\n disabled: option.disabled,\n });\n }\n });\n\n this._tags = Tags;\n }\n }\n }\n\n private _updateOptions() {\n const Options: any = Array.from(\n this.querySelectorAll('kyn-dropdown-option, kyn-enhanced-dropdown-option')\n );\n\n Options.forEach((option: any) => {\n // set option multiple state\n option.multiple = this.multiple;\n\n if (this.multiple) {\n const Selected = this.value.includes(option.value);\n // set option selected state\n option.selected = Selected;\n } else {\n option.selected = this.value === option.value;\n }\n });\n }\n\n private _handleInputNewOption(e: Event) {\n const target = e.target as HTMLInputElement;\n this.newOptionValue = target.value;\n }\n\n private _handleRemoveOption() {\n this.assistiveText = 'MY option removed ';\n setTimeout(() => {\n this.open = false;\n this.buttonEl.focus();\n }, 100);\n }\n\n private _updateSelectedText() {\n // update selected option text\n const AllOptions: any = Array.from(\n this.querySelectorAll('kyn-dropdown-option, kyn-enhanced-dropdown-option')\n );\n\n if (!this.multiple) {\n if (AllOptions.length && this.value !== '') {\n const option = AllOptions.find(\n (option: any) => option.value === this.value\n );\n if (option) {\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n this.text = titleSlot.textContent.trim();\n } else {\n this.text = option.displayText || this.value;\n }\n } else {\n this.text = option.textContent.trim();\n }\n } else {\n this.text = '';\n console.warn(`No dropdown option found with value: ${this.value}`);\n }\n }\n\n if (this.searchable && this.text) {\n this.searchText = this.text === this.placeholder ? '' : this.text;\n this.searchEl.value = this.searchText;\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-dropdown': Dropdown;\n }\n}\n"],"names":["_defaultTextStrings","title","selectedOptions","requiredText","errorText","clearAll","clear","addItem","add","KEY","Dropdown","customElement","FormMixin","LitElement","_classThis","_classSuper","_Dropdown_label_accessor_storage","set","this","__runInitializers","_label_initializers","_Dropdown_size_accessor_storage","_label_extraInitializers","_size_initializers","_Dropdown_kind_accessor_storage","_size_extraInitializers","_kind_initializers","_Dropdown_inline_accessor_storage","_kind_extraInitializers","_inline_initializers","_Dropdown_caption_accessor_storage","_inline_extraInitializers","_caption_initializers","_Dropdown_placeholder_accessor_storage","_caption_extraInitializers","_placeholder_initializers","_Dropdown_open_accessor_storage","_placeholder_extraInitializers","_open_initializers","_Dropdown_searchable_accessor_storage","_open_extraInitializers","_searchable_initializers","_Dropdown_enhanced_accessor_storage","_searchable_extraInitializers","_enhanced_initializers","_Dropdown_filterSearch_accessor_storage","_enhanced_extraInitializers","_filterSearch_initializers","_Dropdown_multiple_accessor_storage","_filterSearch_extraInitializers","_multiple_initializers","_Dropdown_required_accessor_storage","_multiple_extraInitializers","_required_initializers","_Dropdown_hideLabel_accessor_storage","_required_extraInitializers","_hideLabel_initializers","_Dropdown_disabled_accessor_storage","_hideLabel_extraInitializers","_disabled_initializers","_Dropdown_hideTags_accessor_storage","_disabled_extraInitializers","_hideTags_initializers","_Dropdown_selectAll_accessor_storage","_hideTags_extraInitializers","_selectAll_initializers","_Dropdown_selectAllText_accessor_storage","_selectAll_extraInitializers","_selectAllText_initializers","_Dropdown_menuMinWidth_accessor_storage","_selectAllText_extraInitializers","_menuMinWidth_initializers","_Dropdown_openDirection_accessor_storage","_menuMinWidth_extraInitializers","_openDirection_initializers","_Dropdown_selectAllChecked_accessor_storage","_openDirection_extraInitializers","_selectAllChecked_initializers","_Dropdown_selectAllIndeterminate_accessor_storage","_selectAllChecked_extraInitializers","_selectAllIndeterminate_initializers","_Dropdown_textStrings_accessor_storage","_selectAllIndeterminate_extraInitializers","_textStrings_initializers","_Dropdown_allowAddOption_accessor_storage","_textStrings_extraInitializers","_allowAddOption_initializers","_Dropdown__textStrings_accessor_storage","_allowAddOption_extraInitializers","__textStrings_initializers","_Dropdown_newOptionValue_accessor_storage","__textStrings_extraInitializers","_newOptionValue_initializers","_Dropdown_text_accessor_storage","_newOptionValue_extraInitializers","_text_initializers","_Dropdown_searchText_accessor_storage","_text_extraInitializers","_searchText_initializers","_Dropdown_assistiveText_accessor_storage","_searchText_extraInitializers","_assistiveText_initializers","_Dropdown_searchEl_accessor_storage","_assistiveText_extraInitializers","_searchEl_initializers","_Dropdown_buttonEl_accessor_storage","_searchEl_extraInitializers","_buttonEl_initializers","_Dropdown_listboxEl_accessor_storage","_buttonEl_extraInitializers","_listboxEl_initializers","_Dropdown_clearMultipleEl_accessor_storage","_listboxEl_extraInitializers","_clearMultipleEl_initializers","_Dropdown_addOptionInputEl_accessor_storage","_clearMultipleEl_extraInitializers","_addOptionInputEl_initializers","_Dropdown__openUpwards_accessor_storage","_addOptionInputEl_extraInitializers","__openUpwards_initializers","_Dropdown__tags_accessor_storage","__openUpwards_extraInitializers","__tags_initializers","searchTextEntered","__tags_extraInitializers","prevSearchKeydownIndex","_onDocumentClick","e","_handleClickOut","_onChildClick","_handleClick","_onChildRemove","_e","_handleRemoveOption","_onChildBlur","_handleBlur","label","__classPrivateFieldGet","value","__classPrivateFieldSet","size","kind","inline","caption","placeholder","open","searchable","enhanced","filterSearch","multiple","required","hideLabel","disabled","hideTags","selectAll","selectAllText","menuMinWidth","openDirection","selectAllChecked","selectAllIndeterminate","textStrings","allowAddOption","_textStrings","newOptionValue","text","searchText","assistiveText","options","Array","from","querySelectorAll","filter","opt","hasAttribute","searchEl","buttonEl","listboxEl","clearMultipleEl","addOptionInputEl","_openUpwards","_tags","render","mainDropdownClasses","dropdown","html","classMap","name","_a","wrapper","handleAnchorClick","handleAnchorKeydown","select","_isInvalid","preventDefault","stopPropagation","length","handleClearMultiple","unsafeSVG","clearIcon","handleSearchKeydown","handleSearchInput","handleSearchClick","downIcon","upwards","handleListKeydown","handleListBlur","_handleListFocus","_handleInputNewOption","_onAddOptionInputKeydown","_onAddOptionInputFocus","_handleAddOption","handleSlotChange","hasSearch","handleClear","renderHelperContent","key","focus","handleKeyboard","isInOptions","composedPath","call","some","t","classList","contains","_c","_b","target","closest","handleClick","handleButtonKeydown","v","trim","dispatchEvent","CustomEvent","detail","map","tag","handleTagClear","errorIcon","invalidText","_internalValidationMsg","firstUpdated","updateChildOptions","_updateOptions","_updateSelectedText","shadowRoot","querySelector","assignedElements","flatten","forEach","option","tagName","keyCode","visibleOptions","style","display","firstEnabled","find","o","highlighted","tabIndex","scrollIntoView","block","relatedTarget","SPACEBAR_KEY_CODE","highlightedEl","selectedEl","selected","highlightedIndex","indexOf","includes","isListboxElOpened","openDropdown","setTimeout","updateValue","emitValue","nextIndex","DisabledSelectedOptions","_validate","_updateSelectedOptions","event","_emitSearch","findIndex","innerHTML","titleSlot","textContent","displayText","toLowerCase","startsWith","origEvent","localName","connectedCallback","super","_onConnected","document","addEventListener","disconnectedCallback","_onDisconnected","removeEventListener","values","JSON","parse","stringify","push","index","splice","interacted","report","Validity","customError","valueMissing","InternalMsg","ValidationMessage","validationAnchor","_internals","setValidity","reportValidity","willUpdate","changedProps","has","deepmerge","updated","bubbles","composed","toggle","root","slot","assigned","btn","el","icon","transition","transform","_onUpdated","childrenSlot","_updateTags","preventScroll","rect","getBoundingClientRect","top","window","innerHeight","firstSelected","Options","Tags","Selected","AllOptions","console","warn","_label_decorators","property","type","String","_size_decorators","attribute","_inline_decorators","Boolean","_caption_decorators","_placeholder_decorators","reflect","_searchable_decorators","_enhanced_decorators","_filterSearch_decorators","_multiple_decorators","_required_decorators","_hideLabel_decorators","_disabled_decorators","_hideTags_decorators","_selectAll_decorators","_selectAllText_decorators","_menuMinWidth_decorators","_openDirection_decorators","_selectAllChecked_decorators","_selectAllIndeterminate_decorators","_textStrings_decorators","Object","_allowAddOption_decorators","__textStrings_decorators","state","_newOptionValue_decorators","_text_decorators","_searchText_decorators","_assistiveText_decorators","query","__openUpwards_decorators","__tags_decorators","__esDecorate","static","private","access","obj","get","metadata","_metadata","_kind_decorators","_open_decorators","_searchEl_decorators","_buttonEl_decorators","_listboxEl_decorators","_clearMultipleEl_decorators","_addOptionInputEl_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","DropdownScss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoBA,MAAMA,EAAsB,CAC1BC,MAAO,WACPC,gBAAiB,2BACjBC,aAAc,WACdC,UAAW,QACXC,SAAU,YACVC,MAAO,QACPC,QAAS,cACTC,IAAK,OAGDC,EACG,QADHA,EAEI,SAFJA,EAGO,YAHPA,EAIK,cAiBEC,EAAQ,6MADpBC,EAAc,0BACeC,EAAUC,8aAAlBC,GAAA,cAAQC,qCAKnBC,EAAAC,IAAAC,KAAAC,EAAAD,KAAAE,GAAQ,KAIRC,EAAAJ,IAAAC,MAAAC,EAAAD,KAAAI,IAAAH,EAAAD,KAAAK,GAAO,QAIPC,EAAAP,IAAAC,MAAAC,EAAAD,KAAAO,IAAAN,EAAAD,KAAAQ,GAAyB,aAIzBC,EAAAV,IAAAC,MAAAC,EAAAD,KAAAU,IAAAT,EAAAD,KAAAW,IAAS,KAITC,EAAAb,IAAAC,MAAAC,EAAAD,KAAAa,IAAAZ,EAAAD,KAAAc,GAAU,MAIVC,EAAAhB,IAAAC,MAAAC,EAAAD,KAAAgB,IAAAf,EAAAD,KAAAiB,GAAc,MAIdC,EAAAnB,IAAAC,MAAAC,EAAAD,KAAAmB,IAAAlB,EAAAD,KAAAoB,IAAO,KAIPC,EAAAtB,IAAAC,MAAAC,EAAAD,KAAAsB,IAAArB,EAAAD,KAAAuB,IAAa,KAIbC,EAAAzB,IAAAC,MAAAC,EAAAD,KAAAyB,IAAAxB,EAAAD,KAAA0B,IAAW,KAIXC,EAAA5B,IAAAC,MAAAC,EAAAD,KAAA4B,IAAA3B,EAAAD,KAAA6B,IAAe,KAIfC,EAAA/B,IAAAC,MAAAC,EAAAD,KAAA+B,IAAA9B,EAAAD,KAAAgC,IAAW,KAIXC,EAAAlC,IAAAC,MAAAC,EAAAD,KAAAkC,IAAAjC,EAAAD,KAAAmC,IAAW,KAIXC,EAAArC,IAAAC,MAAAC,EAAAD,KAAAqC,IAAApC,EAAAD,KAAAsC,IAAY,KAIZC,EAAAxC,IAAAC,MAAAC,EAAAD,KAAAwC,IAAAvC,EAAAD,KAAAyC,IAAW,KAIXC,EAAA3C,IAAAC,MAAAC,EAAAD,KAAA2C,IAAA1C,EAAAD,KAAA4C,IAAW,KAIXC,EAAA9C,IAAAC,MAAAC,EAAAD,KAAA8C,IAAA7C,EAAAD,KAAA+C,IAAY,KAIZC,EAAAjD,IAAAC,MAAAC,EAAAD,KAAAiD,IAAAhD,EAAAD,KAAAkD,GAAgB,gBAIhBC,EAAApD,IAAAC,MAAAC,EAAAD,KAAAoD,IAAAnD,EAAAD,KAAAqD,GAAe,aAIfC,EAAAvD,IAAAC,MAAAC,EAAAD,KAAAuD,IAAAtD,EAAAD,KAAAwD,GAAwC,UAMxCC,EAAA1D,IAAAC,MAAAC,EAAAD,KAAA0D,IAAAzD,EAAAD,KAAA2D,IAAmB,KAMnBC,EAAA7D,IAAAC,MAAAC,EAAAD,KAAA6D,IAAA5D,EAAAD,KAAA8D,IAAyB,KAIzBC,EAAAhE,IAAAC,MAAAC,EAAAD,KAAAgE,IAAA/D,EAAAD,KAAAiE,GAAcnF,KAIdoF,EAAAnE,IAAAC,MAAAC,EAAAD,KAAAmE,IAAAlE,EAAAD,KAAAoE,IAAiB,KAMjBC,EAAAtE,IAAAC,MAAAC,EAAAD,KAAAsE,IAAArE,EAAAD,KAAAuE,GAAezF,KAOf0F,EAAAzE,IAAAC,MAAAC,EAAAD,KAAAyE,IAAAxE,EAAAD,KAAA0E,GAAiB,MAOjBC,EAAA5E,IAAAC,MAAAC,EAAAD,KAAA4E,IAAA3E,EAAAD,KAAA6E,GAAO,MAMPC,EAAA/E,IAAAC,MAAAC,EAAAD,KAAA+E,IAAA9E,EAAAD,KAAAgF,GAAa,MAObC,EAAAlF,IAAAC,MAAAC,EAAAD,KAAAkF,IAAAjF,EAAAD,KAAAmF,GAAgB,4BAgChBC,EAAArF,IAAAC,MAAAC,EAAAD,KAAAqF,IAAApF,EAAAD,KAAAsF,QAAA,KAOAC,GAAAxF,IAAAC,MAAAC,EAAAD,KAAAwF,IAAAvF,EAAAD,KAAAyF,QAAA,KAOAC,GAAA3F,IAAAC,MAAAC,EAAAD,KAAA2F,IAAA1F,EAAAD,KAAA4F,QAAA,KAOAC,GAAA9F,IAAAC,MAAAC,EAAAD,KAAA8F,IAAA7F,EAAAD,KAAA+F,QAAA,KAOAC,GAAAjG,IAAAC,MAAAC,EAAAD,KAAAiG,IAAAhG,EAAAD,KAAAkG,QAAA,KAOAC,GAAApG,IAAAC,MAAAC,EAAAD,KAAAoG,IAAAnG,EAAAD,KAAAqG,IAAe,KAOfC,GAAAvG,IAAAC,MAAAC,EAAAD,KAAAuG,IAAAtG,EAAAD,KAAAwG,GAAuB,MAKhCxG,KAAAyG,mBAAiBxG,EAAAD,KAAA0G,KAAQ,GAKzB1G,KAAA2G,wBAAyB,EAEjB3G,KAAA4G,iBAAoBC,GAAa7G,KAAK8G,gBAAgBD,GACtD7G,KAAA+G,cAAiBF,GAAa7G,KAAKgH,aAAaH,GAChD7G,KAAAiH,eAAkBC,GAAclH,KAAKmH,sBACrCnH,KAAAoH,aAAgBP,GAAa7G,KAAKqH,YAAYR,GAtNtD,SAASS,GAAK,OAAAC,EAAAvH,KAAAF,EAAA,IAAA,CAAd,SAASwH,CAAKE,GAAAC,EAAAzH,KAAAF,EAAA0H,EAAA,IAAA,CAId,QAASE,GAAI,OAAAH,EAAAvH,KAAAG,EAAA,IAAA,CAAb,QAASuH,CAAIF,GAAAC,EAAAzH,KAAAG,EAAAqH,EAAA,IAAA,CAIb,QAASG,GAAI,OAAAJ,EAAAvH,KAAAM,EAAA,IAAA,CAAb,QAASqH,CAAIH,GAAAC,EAAAzH,KAAAM,EAAAkH,EAAA,IAAA,CAIb,UAASI,GAAM,OAAAL,EAAAvH,KAAAS,EAAA,IAAA,CAAf,UAASmH,CAAMJ,GAAAC,EAAAzH,KAAAS,EAAA+G,EAAA,IAAA,CAIf,WAASK,GAAO,OAAAN,EAAAvH,KAAAY,EAAA,IAAA,CAAhB,WAASiH,CAAOL,GAAAC,EAAAzH,KAAAY,EAAA4G,EAAA,IAAA,CAIhB,eAASM,GAAW,OAAAP,EAAAvH,KAAAe,EAAA,IAAA,CAApB,eAAS+G,CAAWN,GAAAC,EAAAzH,KAAAe,EAAAyG,EAAA,IAAA,CAIpB,QAASO,GAAI,OAAAR,EAAAvH,KAAAkB,EAAA,IAAA,CAAb,QAAS6G,CAAIP,GAAAC,EAAAzH,KAAAkB,EAAAsG,EAAA,IAAA,CAIb,cAASQ,GAAU,OAAAT,EAAAvH,KAAAqB,EAAA,IAAA,CAAnB,cAAS2G,CAAUR,GAAAC,EAAAzH,KAAAqB,EAAAmG,EAAA,IAAA,CAInB,YAASS,GAAQ,OAAAV,EAAAvH,KAAAwB,EAAA,IAAA,CAAjB,YAASyG,CAAQT,GAAAC,EAAAzH,KAAAwB,EAAAgG,EAAA,IAAA,CAIjB,gBAASU,GAAY,OAAAX,EAAAvH,KAAA2B,EAAA,IAAA,CAArB,gBAASuG,CAAYV,GAAAC,EAAAzH,KAAA2B,EAAA6F,EAAA,IAAA,CAIrB,YAASW,GAAQ,OAAAZ,EAAAvH,KAAA8B,EAAA,IAAA,CAAjB,YAASqG,CAAQX,GAAAC,EAAAzH,KAAA8B,EAAA0F,EAAA,IAAA,CAIjB,YAASY,GAAQ,OAAAb,EAAAvH,KAAAiC,EAAA,IAAA,CAAjB,YAASmG,CAAQZ,GAAAC,EAAAzH,KAAAiC,EAAAuF,EAAA,IAAA,CAIjB,aAASa,GAAS,OAAAd,EAAAvH,KAAAoC,EAAA,IAAA,CAAlB,aAASiG,CAASb,GAAAC,EAAAzH,KAAAoC,EAAAoF,EAAA,IAAA,CAIlB,YAASc,GAAQ,OAAAf,EAAAvH,KAAAuC,EAAA,IAAA,CAAjB,YAAS+F,CAAQd,GAAAC,EAAAzH,KAAAuC,EAAAiF,EAAA,IAAA,CAIjB,YAASe,GAAQ,OAAAhB,EAAAvH,KAAA0C,EAAA,IAAA,CAAjB,YAAS6F,CAAQf,GAAAC,EAAAzH,KAAA0C,EAAA8E,EAAA,IAAA,CAIjB,aAASgB,GAAS,OAAAjB,EAAAvH,KAAA6C,EAAA,IAAA,CAAlB,aAAS2F,CAAShB,GAAAC,EAAAzH,KAAA6C,EAAA2E,EAAA,IAAA,CAIlB,iBAASiB,GAAa,OAAAlB,EAAAvH,KAAAgD,EAAA,IAAA,CAAtB,iBAASyF,CAAajB,GAAAC,EAAAzH,KAAAgD,EAAAwE,EAAA,IAAA,CAItB,gBAASkB,GAAY,OAAAnB,EAAAvH,KAAAmD,EAAA,IAAA,CAArB,gBAASuF,CAAYlB,GAAAC,EAAAzH,KAAAmD,EAAAqE,EAAA,IAAA,CAIrB,iBAASmB,GAAa,OAAApB,EAAAvH,KAAAsD,EAAA,IAAA,CAAtB,iBAASqF,CAAanB,GAAAC,EAAAzH,KAAAsD,EAAAkE,EAAA,IAAA,CAMtB,oBAASoB,GAAgB,OAAArB,EAAAvH,KAAAyD,EAAA,IAAA,CAAzB,oBAASmF,CAAgBpB,GAAAC,EAAAzH,KAAAyD,EAAA+D,EAAA,IAAA,CAMzB,0BAASqB,GAAsB,OAAAtB,EAAAvH,KAAA4D,EAAA,IAAA,CAA/B,0BAASiF,CAAsBrB,GAAAC,EAAAzH,KAAA4D,EAAA4D,EAAA,IAAA,CAI/B,eAASsB,GAAW,OAAAvB,EAAAvH,KAAA+D,EAAA,IAAA,CAApB,eAAS+E,CAAWtB,GAAAC,EAAAzH,KAAA+D,EAAAyD,EAAA,IAAA,CAIpB,kBAASuB,GAAc,OAAAxB,EAAAvH,KAAAkE,EAAA,IAAA,CAAvB,kBAAS6E,CAAcvB,GAAAC,EAAAzH,KAAAkE,EAAAsD,EAAA,IAAA,CAMvB,gBAASwB,GAAY,OAAAzB,EAAAvH,KAAAqE,EAAA,IAAA,CAArB,gBAAS2E,CAAYxB,GAAAC,EAAAzH,KAAAqE,EAAAmD,EAAA,IAAA,CAOrB,kBAASyB,GAAc,OAAA1B,EAAAvH,KAAAwE,EAAA,IAAA,CAAvB,kBAASyE,CAAczB,GAAAC,EAAAzH,KAAAwE,EAAAgD,EAAA,IAAA,CAOvB,QAAS0B,GAAI,OAAA3B,EAAAvH,KAAA2E,EAAA,IAAA,CAAb,QAASuE,CAAI1B,GAAAC,EAAAzH,KAAA2E,EAAA6C,EAAA,IAAA,CAMb,cAAS2B,GAAU,OAAA5B,EAAAvH,KAAA8E,EAAA,IAAA,CAAnB,cAASqE,CAAU3B,GAAAC,EAAAzH,KAAA8E,EAAA0C,EAAA,IAAA,CAOnB,iBAAS4B,GAAa,OAAA7B,EAAAvH,KAAAiF,EAAA,IAAA,CAAtB,iBAASmE,CAAa5B,GAAAC,EAAAzH,KAAAiF,EAAAuC,EAAA,IAAA,CAMtB,WAAc6B,GACZ,OAAOC,MAAMC,KACXvJ,KAAKwJ,iBACH,sDASN,mBAAcxK,GAGZ,OAAOgB,KAAKqJ,QAAQI,QACjBC,GACCA,EAAIC,aAAa,cASvB,YAASC,GAAQ,OAAArC,EAAAvH,KAAAoF,EAAA,IAAA,CAAjB,YAASwE,CAAQpC,GAAAC,EAAAzH,KAAAoF,EAAAoC,EAAA,IAAA,CAOjB,YAASqC,GAAQ,OAAAtC,EAAAvH,KAAAuF,GAAA,IAAA,CAAjB,YAASsE,CAAQrC,GAAAC,EAAAzH,KAAAuF,GAAAiC,EAAA,IAAA,CAOjB,aAASsC,GAAS,OAAAvC,EAAAvH,KAAA0F,GAAA,IAAA,CAAlB,aAASoE,CAAStC,GAAAC,EAAAzH,KAAA0F,GAAA8B,EAAA,IAAA,CAOlB,mBAASuC,GAAe,OAAAxC,EAAAvH,KAAA6F,GAAA,IAAA,CAAxB,mBAASkE,CAAevC,GAAAC,EAAAzH,KAAA6F,GAAA2B,EAAA,IAAA,CAOxB,oBAASwC,GAAgB,OAAAzC,EAAAvH,KAAAgG,GAAA,IAAA,CAAzB,oBAASgE,CAAgBxC,GAAAC,EAAAzH,KAAAgG,GAAAwB,EAAA,IAAA,CAOzB,gBAASyC,GAAY,OAAA1C,EAAAvH,KAAAmG,GAAA,IAAA,CAArB,gBAAS8D,CAAYzC,GAAAC,EAAAzH,KAAAmG,GAAAqB,EAAA,IAAA,CAOrB,SAAS0C,GAAK,OAAA3C,EAAAvH,KAAAsG,GAAA,IAAA,CAAd,SAAS4D,CAAK1C,GAAAC,EAAAzH,KAAAsG,GAAAkB,EAAA,IAAA,CAiBL,MAAA2C,SACP,MAAMC,EAAsB,CAC1BC,UAAU,EACV,CAAC,gBAA8B,OAAdrK,KAAK2H,SAAkB,GAG1C,OAAO2C,CAAI;;gBAECC,EAASH;oBACLpK,KAAKsI;gBACTtI,KAAK+H;kBACH/H,KAAK4H;sBACD5H,KAAKgI;;;sBAGLhI,KAAKwK;8BACGxK,KAAKqI,WAAarI,KAAK4H,OAAS,UAAY;gBAC1D5H,KAAKwK;;YAETxK,KAAKoI,SACHkC,CAAI;;wBAEMtK,KAAKgJ,aAAa/J;;8BAEI,UAAjBe,KAAKgJ,oBAAY,IAAAyB,OAAA,EAAAA,EAAExL,eAAgB;;iBAGlD;YACFe,KAAKsH;;;;;kBAKCiD,EAAS,CACfG,SAAS,EACT3C,KAAM/H,KAAK+H;;;;qBAKDlB,GAAkB7G,KAAK2K,kBAAkB9D;uBACvCA,GAAqB7G,KAAK4K,oBAAoB/D;;;;yBAI7C0D,EAAS,CAChBM,QAAQ,EACR,gBAAgB,EAChB,WAA0B,OAAd7K,KAAK0H,KACjB,WAA0B,OAAd1H,KAAK0H,KACjBE,OAAQ5H,KAAK4H;yCAEU5H,KAAKwK;gCACdxK,KAAK+H;;;qBAGhB/H,KAAKwK;uBACHxK,KAAKwK;wBACJxK,KAAKgJ,aAAajK;4BACdiB,KAAKoI;4BACLpI,KAAKsI;2BACNtI,KAAK8K;2BACL9K,KAAKsI,SAAW,GAAKtI,KAAKgI,WAAa,KAAO;6BAC3CnB,IACP7G,KAAKgI,YACRnB,EAAEkE;wBAGGlE,GAAWA,EAAEmE;;kBAEpBhL,KAAKmI,UAAYnI,KAAKwH,MAAMyD,OAC1BX,CAAI;;;sCAGctK,KAAKwH,MAChByD;oCACSjL,KAAKsI;gCACTtI,KAAKgJ,aAAa5J;iCAChByH,GAAa7G,KAAKkL,oBAAoBrE;;0BAE9C7G,KAAKwH,MAAMyD;;6BAERE,EAAUC;;;sBAInB;kBACFpL,KAAKgI,WACHsC,CAAI;;;;sCAIctK,KAAK8H;gCACX9H,KAAKmJ;oCACDnJ,KAAKsI;wCACDtI,KAAKsI;mCACTzB,GAAW7G,KAAKqL,oBAAoBxE;iCACtCA,GAAW7G,KAAKsL,kBAAkBzE;gCACnCA,GAAWA,EAAEmE;iCACZnE,GAAW7G,KAAKuL,kBAAkB1E;;sBAGhDyD,CAAI;;iCAESC,EAAS,CAChB,mBAAkC,KAAdvK,KAAKkJ;;0BAGzBlJ,KAAKmI,UAEY,KAAfnI,KAAKwH,MADLxH,KAAK8H,YAGL9H,KAAKkJ;;;;2CAIUiC,EAAUK;;;;;;sBAM/BjB,EAAS,CACflB,SAAS,EACTtB,KAAM/H,KAAK+H,KACX0D,QAASzL,KAAKiK;6BAEDjK,KAAK+H;yBACT/H,KAAK0L;sBACR1L,KAAK2L;uBACJ3L,KAAK4L;;gBAEZ5L,KAAK+I,eACHuB,CAAI;;;;;sCAKgBtK,KAAKgJ,aAAa3J;iCACvBW,KAAKiJ;;iCAELjJ,KAAK6L;mCACH7L,KAAK8L;iCACP9L,KAAK+L;;;;;;oCAMF/L,KAAKgM;;0BAEfhM,KAAKgJ,aAAa1J;;;oBAI1B;;2DAEyCU,KAAKwK;kBAC9CxK,KAAKmI,UAAYnI,KAAKwI,UACpB8B,CAAI;wBACAtK,KAAKiI,SACHqC,CAAI;;;;;0CAKYtK,KAAK4I;+CACA5I,KAAK6I;0CACV7I,KAAKsI;;gCAEftI,KAAKyI;;4BAGX6B,CAAI;;;;;0CAKYtK,KAAK4I;+CACA5I,KAAK6I;0CACV7I,KAAKsI;;gCAEftI,KAAKyI;;;sBAIjB;;;;gCAIY,IAAMzI,KAAKiM;;;;;YAK/BjM,KAAKkM,WAAalM,KAAK+H,KACrBuC,CAAI;;8BAEYtK,KAAKsI;;;;gCAIHtI,KAAKgJ,aAAa7J;2BACtB0H,GAAa7G,KAAKmM,YAAYtF;;gDAEVsE,EAAUC;;gBAG5C;;UAEJpL,KAAKoM;;MAKL,wBAAAN,CAAyBjF,GAE/B,OADAA,EAAEmE,kBACMnE,EAAEwF,KACR,KAAK9M,EACHS,KAAKgM,mBACL,MACF,KAAKzM,EACHS,KAAKiJ,eAAiB,GACtBjJ,KAAK+H,MAAO,EACZ/H,KAAK6J,SAASyC,QACd,MACF,KAAK/M,EACHS,KAAKuM,eAAe1F,EAAG,GAAI,aAC3B,MACF,KAAKtH,EACHS,KAAKuM,eAAe1F,EAAG,GAAI,cAKzB,sBAAAkF,GACN/L,KAAKoJ,cAAgB,uBAGf,iBAAAuB,CAAkB9D,aACxB,GAAI7G,KAAKsI,SAAU,OAEnB,MACMkE,IADsB,QAAd/B,EAAA5D,EAAE4F,oBAAY,IAAAhC,OAAA,EAAAA,EAAAiC,KAAA7F,KAAQ,IAE7B8F,MAAMC,IAAK,IAAAnC,EAAC,OAA6B,QAA7BA,EAACmC,aAAC,EAADA,EAAmBC,iBAAS,IAAApC,OAAA,EAAAA,EAAEqC,SAAS,UAAU,MACjC,QAAlCC,EAAyB,QAAzBC,EAACnG,EAAEoG,cAAsB,IAAAD,OAAA,EAAAA,EAAEE,eAAO,IAAAH,OAAA,EAAAA,EAAAL,KAAAM,EAChC,mEAGAR,GAEJxM,KAAKmN,cAEC,mBAAAvC,CAAoB/D,GACtB7G,KAAKsI,UACTtI,KAAKoN,oBAAoBvG,GAGnB,gBAAAmF,GACN,MAAMqB,EAAIrN,KAAKiJ,eAAeqE,OACzBD,IACLrN,KAAKuN,cACH,IAAIC,YAAY,gBAAiB,CAAEC,OAAQ,CAAEjG,MAAO6F,MAEtDrN,KAAKiJ,eAAiB,IAGhB,mBAAAmD,GACN,OAAO9B,CAAI;UAELtK,KAAKmI,WAAanI,KAAKuI,UAAYvI,KAAKkK,MAAMe,OAC1CX,CAAI;;;;+BAIatK,KAAKgJ,aAAahK;;oBAE7BgB,KAAKkK,MAAMwD,KAAKC,GACTrD,CAAI;;;gCAGCqD,EAAIzE;oCACAlJ,KAAKsI,UAAYqF,EAAIrF;oCACrB,IAAMtI,KAAK4N,eAAeD;;;;gBAMhD;UAGa,KAAjB3N,KAAK6H,QACDyC,CAAI;qDACmCtK,KAAKsI;oBACtCtI,KAAK6H;;gBAGX;UAGJ7H,KAAK8K,WACDR,CAAI;;;;;4BAKUtK,KAAKgJ,aAAa9J;iCACbc,KAAKgJ,aAAa9J;uBAC5BiM,EAAU0C;;oBAEb7N,KAAK8N,aAAe9N,KAAK+N;;gBAG/B;;;;;;;;YASF/N,KAAKoJ;;;MAMN,YAAA4E,GAEkB,KAArBhO,KAAK8H,cACH9H,KAAKgI,WACPhI,KAAK8H,YAAc,SAEf9H,KAAKmI,SACPnI,KAAK8H,YAAc,eAEnB9H,KAAK8H,YAAc,oBAMnB,gBAAAmE,GACNjM,KAAKiO,qBACLjO,KAAKkO,iBACLlO,KAAKmO,sBAGC,kBAAAF,UAEsB,QAAfxD,EAAAzK,KAAKoO,kBAAU,IAAA3D,OAAA,EAAAA,EAAE4D,cAAc,cACvBC,iBAAiB,CAAEC,SAAS,IAGzCC,SAASC,IAEM,wBAAnBA,EAAOC,SACY,iCAAnBD,EAAOC,UAEND,EAAe1F,eAAiB/I,KAAK+I,mBAKpC,WAAAoE,GACDnN,KAAKsI,WACRtI,KAAK+H,MAAQ/H,KAAK+H,KAGd/H,KAAKgI,WACPhI,KAAK4J,SAAS0C,QAEdtM,KAAK6J,SAASyC,SAKZ,mBAAAc,CAAoBvG,GAC1B7G,KAAKuM,eAAe1F,EAAGA,EAAE8H,QAAS,UAG5B,iBAAAjD,CAAkB7E,GACH,IAEjBA,EAAE8H,SACJ9H,EAAEkE,iBAGJ/K,KAAKuM,eAAe1F,EAAGA,EAAE8H,QAAS,QAG5B,gBAAA/C,SACN,MAMMgD,EAAiB,IANEtF,MAAMC,MACd,QAAfkB,EAAAzK,KAAKoO,kBAAU,IAAA3D,OAAA,EAAAA,EAAEjB,iBAAiB,iBAAkB,OAE9BxJ,KAAKqJ,QAAQI,QAClCgF,GAAyC,SAAzBA,EAAOI,MAAMC,WAI1BC,EAAeH,EAAeI,MAAMC,IAAYA,EAAE3G,WACnDyG,IAELH,EAAeJ,SAASS,GAAYA,EAAEC,aAAc,OAE9C,aAAcH,IAAiBA,EAAaI,SAAW,KAC3DJ,EAAaI,SAAW,GAE1BJ,EAAazC,QACbyC,EAAaK,eAAe,CAAEC,MAAO,YACrCrP,KAAKoJ,cAAgB2F,EAAa7F,MAAQ,UAGpC,cAAAyC,CAAe9E,GACrB,GAAI7G,KAAKmI,SACP,OAGFnI,KAAKqJ,QAAQmF,SAASS,GAAOA,EAAEC,aAAc,IAC7C,MAAMjC,EAASpG,EAAEyI,cAGfrC,IACCA,EAAOC,QAAQ,wBACdD,EAAOC,QAAQ,iCACfD,EAAOJ,UAAUC,SAAS,WAC1BG,EAAOC,QAAQ,kBAKnBlN,KAAK+H,MAAO,EACZ/H,KAAKoJ,cAAgB,0BAGf,cAAAmD,CAAe1F,EAAQ8H,EAAiB1B,SAC9C,MAAMsC,EAAoB,CAAC,EAAG,IAaxBX,EAAiB,IANEtF,MAAMC,MACd,QAAfkB,EAAAzK,KAAKoO,kBAAU,IAAA3D,OAAA,EAAAA,EAAEjB,iBAAiB,iBAAkB,OAE9BxJ,KAAKqJ,QAAQI,QAClCgF,GAAyC,SAAzBA,EAAOI,MAAMC,WAK1BU,EAAgBZ,EAAeI,MAClCP,GAAgBA,EAAOS,cAEpBO,EAAab,EAAeI,MAAMP,GAAgBA,EAAOiB,WAC/D,IAAIC,EAAmBH,EACnBZ,EAAegB,QAAQJ,GACvBC,EACAb,EAAegB,QAAQH,GACvB,EAGAF,EAAkBM,SAASlB,IAC7B9H,EAAEkE,iBAGJ,MAAM+E,EAAoB9P,KAAK+H,KAE/B,GAAe,WAAXkF,GAAkC,cAAXA,EAAwB,CACjD,IAAI8C,EACFR,EAAkBM,SAASlB,IAlCR,KAmCnBA,GAlCwB,IAmCxBA,GAlCsB,IAmCtBA,EAEF,GAAI9H,EAAEoG,SAAWjN,KAAK+J,iBAvCD,KAuCoB4E,IACvCoB,GAAe,EACfnB,EAAee,GAAkBT,aAAc,EAC/CN,EAAee,GAAkBD,UAC9Bd,EAAee,GAAkBD,SACpCC,EAAmB,EA5CA,KA6CfhB,GAA4B,OAG9BoB,IACF/P,KAAK+H,MAAO,EAGV/H,KAAK+I,gBACM,WAAXkE,GArDiB,KAsDjB0B,EAEAqB,YAAW,WACY,QAArBvF,EAAAzK,KAAKgK,wBAAgB,IAAAS,GAAAA,EAAE6B,OAAO,GAC7B,KAGEtM,KAAKmI,UAA2B,KAAfnI,KAAKwH,OACzBoH,EAAee,GAAkBP,eAAe,CAC9CC,MAAO,aAMjB,OAAQV,GACN,KAAK,EACL,KAAK,GACL,KAxEqB,GA+FnB,OArBAC,EAAee,GAAkBT,aAAc,OAC3CY,IACE9P,KAAKmI,UACPyG,EAAee,GAAkBD,UAC9Bd,EAAee,GAAkBD,SACpC1P,KAAKgH,aAAa,CAChByG,OAAQ,CACNjG,MAAOoH,EAAee,GAAkBnI,MACxCkI,SAAUd,EAAee,GAAkBD,cAI/Cd,EAAeJ,SAAS3H,GAAOA,EAAE6I,UAAW,IAC5Cd,EAAee,GAAkBD,UAAW,EAC5C1P,KAAKiQ,YAAYrB,EAAee,GAAkBnI,OAAO,GACzDxH,KAAKkQ,YAELlQ,KAAK+H,MAAO,EACZ/H,KAAKoJ,cAAgB,YAAYwF,EAAee,GAAkBnI,WAKxE,KAhG0B,GAgGA,CAExB,IAAI2I,EACDX,GAAkBC,EAEfE,IAAqBf,EAAe3D,OAAS,EAC7C,EACA0E,EAAmB,EAHnB,EAmBN,OAbIf,EAAeuB,GAAW7H,WAC5B6H,EACEA,IAAcvB,EAAe3D,OAAS,EAAI,EAAIkF,EAAY,GAG9DvB,EAAeuB,GAAW7D,QAC1BsC,EAAee,GAAkBT,aAAc,EAC/CN,EAAeuB,GAAWjB,aAAc,EAGxCN,EAAeuB,GAAWf,eAAe,CAAEC,MAAO,iBAElDrP,KAAKoJ,cAAgBwF,EAAeuB,GAAWjH,MAGjD,KAxHwB,GAwHA,CAEtB,IAAIiH,EACmB,IAArBR,EACIf,EAAe3D,OAAS,EACxB0E,EAAmB,EAgBzB,OAbIf,EAAeuB,GAAW7H,WAC5B6H,EACgB,IAAdA,EAAkBvB,EAAe3D,OAAS,EAAIkF,EAAY,GAG9DvB,EAAeuB,GAAW7D,QAC1BsC,EAAee,GAAkBT,aAAc,EAC/CN,EAAeuB,GAAWjB,aAAc,EAGxCN,EAAeuB,GAAWf,eAAe,CAAEC,MAAO,iBAElDrP,KAAKoJ,cAAgBwF,EAAeuB,GAAWjH,MAGjD,KA9IsB,GA0JpB,OAVAlJ,KAAK+H,MAAO,EAGR/H,KAAKgI,WACPhI,KAAK4J,SAAS0C,QAEdtM,KAAK6J,SAASyC,aAGhBtM,KAAKoJ,cAAgB,0BAGvB,QACE,QAKE,mBAAA8B,CAAoBrE,SAI1B,GAHAA,EAAEmE,kBAGEhL,KAAKmI,SAAU,CACjB,MAEMiI,GAF2B,QAAf3F,EAAAzK,KAAKoO,kBAAU,IAAA3D,OAAA,EAAAA,EAAE4D,cAAc,kBAChBC,mBACmB7E,QACjDgF,GAAgBA,EAAOiB,UAAYjB,EAAOnG,WAC3CoF,KAAKe,GAAgBA,EAAOjH,QAE9BxH,KAAKwH,MAAQ4I,EAAwBnF,OACjCmF,EACA,QAEJpQ,KAAKwH,MAAQ,GAGfxH,KAAKqQ,WAAU,GAAM,GACrBrQ,KAAKsQ,yBACLtQ,KAAKkQ,YAEL,MAAMK,EAAQ,IAAI/C,YAAY,eAAgB,CAC5CC,OAAQ,CACNjG,MAAOxH,KAAKwH,SAGhBxH,KAAKuN,cAAcgD,GAGb,cAAA3C,CAAeD,GAErB3N,KAAKiQ,YAAYtC,EAAInG,OAAO,GAC5BxH,KAAKsQ,yBACLtQ,KAAKkQ,YAGC,WAAA/D,CAAYtF,GAClBA,EAAEmE,kBAGFhL,KAAKkJ,KAAO,GACZlJ,KAAKmJ,WAAa,GAClBnJ,KAAK4J,SAASpC,MAAQ,GAEtBxH,KAAKwQ,cAEDxQ,KAAKkI,cAEPlI,KAAKqJ,QAAQqE,KAAKe,IAChBA,EAAOI,MAAMC,QAAU,OAAO,IAK7B9O,KAAKmI,WACRnI,KAAKwH,MAAQ,GACbxH,KAAKqQ,WAAU,GAAM,GACrBrQ,KAAKsQ,yBACLtQ,KAAKkQ,aAID,iBAAA3E,CAAkB1E,SACxBA,EAAEmE,kBACFhL,KAAK+H,MAAO,EAC2B,MAAnB,QAAf0C,EAAAzK,KAAKmJ,kBAAU,IAAAsB,EAAAA,EAAI,IAAI6C,SAAetN,KAAKmJ,WAAa,IAGvD,mBAAAkC,CAAoBxE,GAC1BA,EAAEmE,kBAEF,MAEMyD,EAASzO,KAAKqJ,QAAQ2F,MAAMP,GAAWA,EAAOS,cAC9CS,EAAmB3P,KAAKqJ,QAAQoH,WACnChC,GAAWA,EAAOS,cAErBlP,KAAKyG,mBAAoB,EANF,KAQnBI,EAAE8H,UACJ3O,KAAKyG,mBAAoB,EACrBgI,GACEzO,KAAK2G,yBAA2BgJ,IAC9B3P,KAAKmI,SACPsG,EAAOiB,UAAYjB,EAAOiB,UAE1B1P,KAAKqJ,QAAQmF,SAAS3H,GAAOA,EAAE6I,UAAW,IAC1CjB,EAAOiB,UAAW,EAClB1P,KAAK+H,MAAO,GAEd/H,KAAKiQ,YAAYxB,EAAOjH,MAAOiH,EAAOiB,WAGpCjB,EAAOiB,UACT1P,KAAKoJ,cAAgB,YAAYqF,EAAOiC,YACxC1Q,KAAK2G,uBAAyBgJ,GAE9B3P,KAAKoJ,cAAgB,cAAcqF,EAAOiC,aAG5C1Q,KAAKoJ,cAAgB,oBA5BD,KAiCpBvC,EAAE8H,UACJ3O,KAAK+H,MAAO,EACZ/H,KAAK6J,SAASyC,SAIV,iBAAAhB,CAAkBzE,GACxB,MAAMW,EAAQX,EAAEoG,OAAOzF,MAMvB,GALAxH,KAAKmJ,WAAa3B,EAClBxH,KAAK+H,MAAO,EAEZ/H,KAAKwQ,cAEDxQ,KAAKkI,aAEPlI,KAAKqJ,QAAQqE,KAAKe,IAChB,IAAItF,EAAasF,EAAOvF,KAExB,GAAuB,iCAAnBuF,EAAOC,QAA4C,CACrD,MAAMiC,EAAYlC,EAAOJ,cAAc,kBAErClF,EADEwH,GAAaA,EAAUC,YAAYtD,OACxBqD,EAAUC,YAAYtD,OAEtBmB,EAAOoC,aAAepC,EAAOjH,MAI1C2B,EAAW2H,cAAcjB,SAASrI,EAAMsJ,eAC1CrC,EAAOI,MAAMC,QAAU,QAEvBL,EAAOI,MAAMC,QAAU,cAGtB,CAEL,MAAMzF,EAAUrJ,KAAKqJ,QAAQI,QAAQgF,IACnC,IAAItF,EAAasF,EAAOvF,KAExB,GAAuB,iCAAnBuF,EAAOC,QAA4C,CACrD,MAAMiC,EAAYlC,EAAOJ,cAAc,kBAErClF,EADEwH,GAAaA,EAAUC,YAAYtD,OACxBqD,EAAUC,YAAYtD,OAEtBmB,EAAOoC,aAAepC,EAAOjH,MAI9C,OAAO2B,EAAW2H,cAAcC,WAAWvJ,EAAMsJ,cAAc,IAIjE9Q,KAAKqJ,QAAQmF,SAASC,GAAYA,EAAOS,aAAc,IAGzC,KAAV1H,GAAgB6B,EAAQ4B,SAC1B5B,EAAQ,GAAG6F,aAAc,EACzB7F,EAAQ,GAAG+F,eAAe,CAAEC,MAAO,YAC/BrP,KAAKyG,oBAAmBzG,KAAKoJ,cAAgB,oBAK/C,sBAAAkH,GAENtQ,KAAKqJ,QAAQmF,SAASC,IAChBzO,KAAKmI,SACPsG,EAAOiB,SAAW1P,KAAKwH,MAAMqI,SAASpB,EAAOjH,OAE7CiH,EAAOiB,SAAW1P,KAAKwH,QAAUiH,EAAOjH,SAKtC,YAAAR,CAAaH,SACnB,GAAuB,cAAnBA,EAAE4G,OAAOjG,MAAuB,CAClCxH,KAAK4I,iBAAmB/B,EAAE4G,OAAOiC,SAEjC,MAEMU,GAF2B,QAAf3F,EAAAzK,KAAKoO,kBAAU,IAAA3D,OAAA,EAAAA,EAAE4D,cAAc,kBAChBC,mBACmB7E,QACjDgF,GAAgBA,EAAOiB,UAAYjB,EAAOnG,WAC3CoF,KAAKe,GAAgBA,EAAOjH,QAE1BX,EAAE4G,OAAOiC,UACX1P,KAAKwH,MAAQxH,KAAKqJ,QACfI,QACEgF,IAAYA,EAAOnG,UAAamG,EAAOnG,UAAYmG,EAAOiB,WAE5DhC,KAAKe,GAAWA,EAAOjH,QAC1BxH,KAAKoJ,cAAgB,wBAErBpJ,KAAKwH,MAAQ4I,EAAwBnF,OACjCmF,EACA,GACJpQ,KAAKoJ,cAAgB,yBAGvBpJ,KAAKqQ,WAAU,GAAM,QAErBrQ,KAAKiQ,YAAYpJ,EAAE4G,OAAOjG,MAAOX,EAAE4G,OAAOiC,UAC1C1P,KAAKoJ,cAAgBvC,EAAE4G,OAAOiC,SAC1B,YAAY7I,EAAE4G,OAAOjG,QACrB,cAAcX,EAAE4G,OAAOjG,QAG7BxH,KAAKsQ,yBAEAtQ,KAAKmI,WACRnI,KAAK+H,MAAO,GAId/H,KAAKkQ,YAGC,WAAA7I,CAAYR,GAClB,MAAMyI,EAAgBzI,EAAE4G,OAAOuD,UAAU1B,gBAGtCA,GAC6B,yBAA7BA,eAAAA,EAAe2B,YACe,kCAA7B3B,aAAa,EAAbA,EAAe2B,YACa,iBAA5B3B,EAAc2B,aAEhBjR,KAAK+H,MAAO,GAIR,eAAAjB,CAAgBD,GACjBA,EAAE4F,eAAeoD,SAAS7P,QAC7BA,KAAK+H,MAAO,GAIP,iBAAAmJ,GACPC,MAAMD,oBACNlR,KAAKoR,eAELC,SAASC,iBAAiB,QAAStR,KAAK4G,kBAExC5G,KAAKsR,iBAAiB,WAAYtR,KAAK+G,eACvC/G,KAAKsR,iBAAiB,mBAAoBtR,KAAKiH,gBAC/CjH,KAAKsR,iBAAiB,UAAWtR,KAAKoH,cAG/B,oBAAAmK,GACPvR,KAAKwR,kBAELH,SAASI,oBAAoB,QAASzR,KAAK4G,kBAC3C5G,KAAKyR,oBAAoB,WAAYzR,KAAK+G,eAC1C/G,KAAKyR,oBAAoB,mBAAoBzR,KAAKiH,gBAClDjH,KAAKyR,oBAAoB,UAAWzR,KAAKoH,cAEzC+J,MAAMI,uBAGA,WAAAtB,CAAYzI,EAAekI,GAAW,GAE5C,GAAI1P,KAAKmI,SAAU,CACjB,MAAMuJ,EACW,KAAf1R,KAAKwH,MAAe,GAAKmK,KAAKC,MAAMD,KAAKE,UAAU7R,KAAKwH,QAG1D,GAAIkI,EACFgC,EAAOI,KAAKtK,OACP,CACL,MAAMuK,EAAQL,EAAO9B,QAAQpI,GAC7BkK,EAAOM,OAAOD,EAAO,GAGvB/R,KAAKwH,MAAQkK,OAEb1R,KAAKwH,MAAQA,EAGfxH,KAAKqQ,WAAU,GAAM,GAGhBrQ,KAAKmI,WACJnI,KAAKgI,WACPhI,KAAK4J,SAAS0C,QAEdtM,KAAK6J,SAASyC,SAKZ,SAAA+D,CAAU4B,EAAqBC,GAErC,MAAMC,EAAW,CACfC,YAAkC,KAArBpS,KAAK8N,YAClBuE,aACErS,KAAKoI,YACHpI,KAAKwH,OACJxH,KAAKmI,WAAanI,KAAKwH,MAAMyD,SAC5BjL,KAAKmI,UAA2B,KAAfnI,KAAKwH,QAIxB8K,EACJtS,KAAKoI,WAAapI,KAAKwH,MAAMyD,OAAS,8BAAgC,GAClEsH,EACiB,KAArBvS,KAAK8N,YAAqB9N,KAAK8N,YAAcwE,EAEzCE,EAAmBxS,KAAK6J,UAAY7J,KAAK8J,UAE3C0I,EACFxS,KAAKyS,WAAWC,YACdP,EACAI,EACAC,GAGFxS,KAAKyS,WAAWC,YAAYP,EAAUI,GAGpCN,IACFjS,KAAK+N,uBAAyBuE,GAG5BJ,GACFlS,KAAKyS,WAAWE,iBAIZ,SAAAzC,GACN,MAAMK,EAAQ,IAAI/C,YAAY,YAAa,CACzCC,OAAQ,CACNjG,MAAOxH,KAAKwH,SAGhBxH,KAAKuN,cAAcgD,GAGb,WAAAC,GACN,MAAMD,EAAQ,IAAI/C,YAAY,YAAa,CACzCC,OAAQ,CACNtE,WAAYnJ,KAAKmJ,cAGrBnJ,KAAKuN,cAAcgD,GAGZ,UAAAqC,CAAWC,GACdA,EAAaC,IAAI,iBACnB9S,KAAKgJ,aAAe+J,EAAUjU,EAAqBkB,KAAK8I,cAInD,OAAAkK,CAAQH,GACf1B,MAAM6B,QAAQH,GAEVA,EAAaC,IAAI,UACnB9S,KAAKuN,cACH,IAAIC,YAAY,eAAgB,CAC9BC,OAAQzN,KAAK2H,KACbsL,SAAS,EACTC,UAAU,KAIdlT,KAAK6M,UAAUsG,OAAO,oBAAmC,OAAdnT,KAAK2H,OAGlD,MAAMyL,EAAOpT,KAAKoO,WAClB,GAAKgF,EAAL,CAEA,GAAIP,EAAaC,IAAI,QAAS,CAC5B,MAAMO,EAAOD,EAAK/E,cAA+B,uBAC3CiF,EAAWD,eAAAA,EAAM/E,iBAAiB,CAAEC,SAAS,IAG7CgF,EAAMD,aAAQ,EAARA,EAAUtE,MACnBwE,IAAQA,EAAGnF,cAAc,0BAEtBoF,EAAOF,aAAG,EAAHA,EAAKlF,cAA2B,qBACzCoF,IACFA,EAAK5E,MAAM6E,WAAa,6BACxBD,EAAK5E,MAAM8E,UAAY3T,KAAK+H,KAAO,iBAAmB,gBAM1D,GAFA/H,KAAK4T,WAAWf,GAEZA,EAAaC,IAAI,SAAU,CAC7B9S,KAAKkO,iBAEL,MAAM2F,EAAeT,EAAK/E,cAA+B,iBACnDhF,EAAUwK,EACZA,EACGvF,mBACA7E,QAAQwF,IAAyBA,EAAEtF,aAAa,cACnD,GACE+F,EAAWrG,EAAQI,QAAQwF,GAAMA,EAAEtF,aAAa,cAEtD3J,KAAK4I,iBAAmB8G,EAASzE,SAAW5B,EAAQ4B,OACpDjL,KAAK6I,uBACH6G,EAASzE,OAAS,GAAKyE,EAASzE,OAAS5B,EAAQ4B,OAEnDjL,KAAK8T,cACL9T,KAAKmO,sBAGP,GAAI0E,EAAaC,IAAI,SAAWD,EAAaC,IAAI,iBAAkB,CAWjE,GAVI9S,KAAK+H,OACP/H,KAAKqJ,QAAQmF,SAASS,GAAOA,EAAEC,aAAc,KAExClP,KAAKgI,YAAchI,KAAK8J,YAC3B9J,KAAK8J,UAAUwC,MAAM,CAAEyH,eAAe,IACtC/T,KAAKoJ,cACH,6DAIqB,OAAvBpJ,KAAK2I,cACP3I,KAAKiK,cAAe,OACf,GAA2B,SAAvBjK,KAAK2I,cACd3I,KAAKiK,cAAe,OACf,GAAIjK,KAAK+H,KAAM,CACpB,MAAMiM,EAAOhU,KAAK6J,SAASoK,wBAC3BjU,KAAKiK,aAAe+J,EAAKE,IAA2B,GAArBC,OAAOC,YAGxC,GAAIpU,KAAK+H,OAAS/H,KAAKmI,SAAU,CAC/B,MAAMkM,EAAgBrU,KAAKqJ,QAAQ2F,MAAMC,GAAMA,EAAES,WACjD2E,SAAAA,EAAejF,eAAe,CAAEC,MAAO,aAIvCwD,EAAaC,IAAI,aACnB9S,KAAKqJ,QAAQmF,SAAS9E,GAASA,EAAIvB,SAAWnI,KAAKmI,WAGjD0K,EAAaC,IAAI,eAAiB9S,KAAK4J,WACzC5J,KAAK4J,SAASpC,MAAQxH,KAAKmJ,YAGzB0J,EAAaC,IAAI,mBACnB9S,KAAKiO,oBAzEI,EA6Eb,aAAY/B,SACV,OAAuB,QAAfzB,EAAAzK,KAAKmJ,kBAAU,IAAAsB,EAAAA,EAAI,IAAI6C,OAAOrC,OAAS,EAIzC,WAAA6I,GACN,GAAI9T,KAAKmI,SAAU,CACjB,MAAMmM,EAAehL,MAAMC,KACzBvJ,KAAKwJ,iBACH,sDAGE+K,EAAsB,GAExBD,IACFA,EAAQ9F,SAASC,IACf,GAAIA,EAAOiB,SAAU,CACnB,IAAIxG,EAAOuF,EAAOmC,YAElB,GAAuB,iCAAnBnC,EAAOC,QAA4C,CACrD,MAAMiC,EAAYlC,EAAOJ,cAAc,kBAErCnF,EADEyH,GAAaA,EAAUC,YAAYtD,OAC9BqD,EAAUC,YAAYtD,OAEtBmB,EAAOoC,aAAepC,EAAOjH,WAGtC0B,EAAOuF,EAAOmC,YAAYtD,OAG5BiH,EAAKzC,KAAK,CACRtK,MAAOiH,EAAOjH,MACd0B,KAAMA,EACNZ,SAAUmG,EAAOnG,eAKvBtI,KAAKkK,MAAQqK,IAKX,cAAArG,GACe5E,MAAMC,KACzBvJ,KAAKwJ,iBAAiB,sDAGhBgF,SAASC,IAIf,GAFAA,EAAOtG,SAAWnI,KAAKmI,SAEnBnI,KAAKmI,SAAU,CACjB,MAAMqM,EAAWxU,KAAKwH,MAAMqI,SAASpB,EAAOjH,OAE5CiH,EAAOiB,SAAW8E,OAElB/F,EAAOiB,SAAW1P,KAAKwH,QAAUiH,EAAOjH,SAKtC,qBAAAqE,CAAsBhF,GAC5B,MAAMoG,EAASpG,EAAEoG,OACjBjN,KAAKiJ,eAAiBgE,EAAOzF,MAGvB,mBAAAL,GACNnH,KAAKoJ,cAAgB,qBACrB4G,YAAW,KACThQ,KAAK+H,MAAO,EACZ/H,KAAK6J,SAASyC,OAAO,GACpB,KAGG,mBAAA6B,GAEN,MAAMsG,EAAkBnL,MAAMC,KAC5BvJ,KAAKwJ,iBAAiB,sDAGxB,IAAKxJ,KAAKmI,SAAU,CAClB,GAAIsM,EAAWxJ,QAAyB,KAAfjL,KAAKwH,MAAc,CAC1C,MAAMiH,EAASgG,EAAWzF,MACvBP,GAAgBA,EAAOjH,QAAUxH,KAAKwH,QAEzC,GAAIiH,EACF,GAAuB,iCAAnBA,EAAOC,QAA4C,CACrD,MAAMiC,EAAYlC,EAAOJ,cAAc,kBACnCsC,GAAaA,EAAUC,YAAYtD,OACrCtN,KAAKkJ,KAAOyH,EAAUC,YAAYtD,OAElCtN,KAAKkJ,KAAOuF,EAAOoC,aAAe7Q,KAAKwH,WAGzCxH,KAAKkJ,KAAOuF,EAAOmC,YAAYtD,YAGjCtN,KAAKkJ,KAAO,GACZwL,QAAQC,KAAK,wCAAwC3U,KAAKwH,SAI1DxH,KAAKgI,YAAchI,KAAKkJ,OAC1BlJ,KAAKmJ,WAAanJ,KAAKkJ,OAASlJ,KAAK8H,YAAc,GAAK9H,KAAKkJ,KAC7DlJ,KAAK4J,SAASpC,MAAQxH,KAAKmJ,upBA91ChCyL,GAAA,CAAAC,EAAS,CAAEC,KAAMC,UAIjBC,GAAA,CAAAH,EAAS,CAAEC,KAAMC,cAIjBF,EAAS,CAAEC,KAAMC,OAAQE,UAAW,UAIpCC,GAAA,CAAAL,EAAS,CAAEC,KAAMK,WAIjBC,GAAA,CAAAP,EAAS,CAAEC,KAAMC,UAIjBM,GAAA,CAAAR,EAAS,CAAEC,KAAMC,cAIjBF,EAAS,CAAEC,KAAMK,QAASG,SAAS,KAInCC,GAAA,CAAAV,EAAS,CAAEC,KAAMK,WAIjBK,GAAA,CAAAX,EAAS,CAAEC,KAAMK,WAIjBM,GAAA,CAAAZ,EAAS,CAAEC,KAAMK,WAIjBO,GAAA,CAAAb,EAAS,CAAEC,KAAMK,WAIjBQ,GAAA,CAAAd,EAAS,CAAEC,KAAMK,WAIjBS,GAAA,CAAAf,EAAS,CAAEC,KAAMK,WAIjBU,GAAA,CAAAhB,EAAS,CAAEC,KAAMK,WAIjBW,GAAA,CAAAjB,EAAS,CAAEC,KAAMK,WAIjBY,GAAA,CAAAlB,EAAS,CAAEC,KAAMK,WAIjBa,GAAA,CAAAnB,EAAS,CAAEC,KAAMC,UAIjBkB,GAAA,CAAApB,EAAS,CAAEC,KAAMC,UAIjBmB,GAAA,CAAArB,EAAS,CAAEC,KAAMC,UAMjBoB,GAAA,CAAAtB,EAAS,CAAEC,KAAMK,WAMjBiB,GAAA,CAAAvB,EAAS,CAAEC,KAAMK,WAIjBkB,GAAA,CAAAxB,EAAS,CAAEC,KAAMwB,UAIjBC,GAAA,CAAA1B,EAAS,CAAEC,KAAMK,WAMjBqB,GAAA,CAAAC,KAOAC,GAAA,CAAAD,KAOAE,GAAA,CAAAF,KAMAG,GAAA,CAAA/B,EAAS,CAAEC,KAAMC,UAOjB8B,GAAA,CAAAJ,SAgCAK,EAAM,gBAONA,EAAM,gBAONA,EAAM,iBAONA,EAAM,wBAONA,EAAM,sBAONC,GAAA,CAAAN,KAOAO,GAAA,CAAAP,KAtMDQ,EAAArX,GAAA,KAAAgV,GAAA,CAAAjN,KAAA,WAAA6C,KAAA,QAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,UAAAA,EAAAC,IAAAD,GAAAA,EAAS/P,MAAKvH,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAL/P,MAAKE,CAAA,GAAA+P,SAAAC,GAAAtX,GAAAE,IAId6W,EAAArX,GAAA,KAAAoV,GAAA,CAAArN,KAAA,WAAA6C,KAAA,OAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,SAAAA,EAAAC,IAAAD,GAAAA,EAAS3P,KAAI3H,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAJ3P,KAAIF,CAAA,GAAA+P,SAAAC,GAAAnX,GAAAE,IAIb0W,EAAArX,GAAA,KAAA6X,GAAA,CAAA9P,KAAA,WAAA6C,KAAA,OAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,SAAAA,EAAAC,IAAAD,GAAAA,EAAS1P,KAAI5H,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAJ1P,KAAIH,CAAA,GAAA+P,SAAAC,GAAAhX,GAAAE,IAIbuW,EAAArX,GAAA,KAAAsV,GAAA,CAAAvN,KAAA,WAAA6C,KAAA,SAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,WAAAA,EAAAC,IAAAD,GAAAA,EAASzP,OAAM7H,IAAA,CAAAsX,EAAA7P,KAAA6P,EAANzP,OAAMJ,CAAA,GAAA+P,SAAAC,GAAA7W,GAAAE,IAIfoW,EAAArX,GAAA,KAAAwV,GAAA,CAAAzN,KAAA,WAAA6C,KAAA,UAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,YAAAA,EAAAC,IAAAD,GAAAA,EAASxP,QAAO9H,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAPxP,QAAOL,CAAA,GAAA+P,SAAAC,GAAA1W,GAAAE,IAIhBiW,EAAArX,GAAA,KAAAyV,GAAA,CAAA1N,KAAA,WAAA6C,KAAA,cAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,gBAAAA,EAAAC,IAAAD,GAAAA,EAASvP,YAAW/H,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAXvP,YAAWN,CAAA,GAAA+P,SAAAC,GAAAvW,GAAAE,IAIpB8V,EAAArX,GAAA,KAAA8X,GAAA,CAAA/P,KAAA,WAAA6C,KAAA,OAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,SAAAA,EAAAC,IAAAD,GAAAA,EAAStP,KAAIhI,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAJtP,KAAIP,CAAA,GAAA+P,SAAAC,GAAApW,GAAAE,IAIb2V,EAAArX,GAAA,KAAA2V,GAAA,CAAA5N,KAAA,WAAA6C,KAAA,aAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,eAAAA,EAAAC,IAAAD,GAAAA,EAASrP,WAAUjI,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAVrP,WAAUR,CAAA,GAAA+P,SAAAC,GAAAjW,GAAAE,IAInBwV,EAAArX,GAAA,KAAA4V,GAAA,CAAA7N,KAAA,WAAA6C,KAAA,WAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAASpP,SAAQlI,IAAA,CAAAsX,EAAA7P,KAAA6P,EAARpP,SAAQT,CAAA,GAAA+P,SAAAC,GAAA9V,GAAAE,IAIjBqV,EAAArX,GAAA,KAAA6V,GAAA,CAAA9N,KAAA,WAAA6C,KAAA,eAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,iBAAAA,EAAAC,IAAAD,GAAAA,EAASnP,aAAYnI,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAZnP,aAAYV,CAAA,GAAA+P,SAAAC,GAAA3V,GAAAE,IAIrBkV,EAAArX,GAAA,KAAA8V,GAAA,CAAA/N,KAAA,WAAA6C,KAAA,WAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAASlP,SAAQpI,IAAA,CAAAsX,EAAA7P,KAAA6P,EAARlP,SAAQX,CAAA,GAAA+P,SAAAC,GAAAxV,GAAAE,IAIjB+U,EAAArX,GAAA,KAAA+V,GAAA,CAAAhO,KAAA,WAAA6C,KAAA,WAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAASjP,SAAQrI,IAAA,CAAAsX,EAAA7P,KAAA6P,EAARjP,SAAQZ,CAAA,GAAA+P,SAAAC,GAAArV,GAAAE,IAIjB4U,EAAArX,GAAA,KAAAgW,GAAA,CAAAjO,KAAA,WAAA6C,KAAA,YAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,cAAAA,EAAAC,IAAAD,GAAAA,EAAShP,UAAStI,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAThP,UAASb,CAAA,GAAA+P,SAAAC,GAAAlV,GAAAE,IAIlByU,EAAArX,GAAA,KAAAiW,GAAA,CAAAlO,KAAA,WAAA6C,KAAA,WAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAAS/O,SAAQvI,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAR/O,SAAQd,CAAA,GAAA+P,SAAAC,GAAA/U,GAAAE,IAIjBsU,EAAArX,GAAA,KAAAkW,GAAA,CAAAnO,KAAA,WAAA6C,KAAA,WAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAAS9O,SAAQxI,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAR9O,SAAQf,CAAA,GAAA+P,SAAAC,GAAA5U,GAAAE,IAIjBmU,EAAArX,GAAA,KAAAmW,GAAA,CAAApO,KAAA,WAAA6C,KAAA,YAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,cAAAA,EAAAC,IAAAD,GAAAA,EAAS7O,UAASzI,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAT7O,UAAShB,CAAA,GAAA+P,SAAAC,GAAAzU,GAAAE,IAIlBgU,EAAArX,GAAA,KAAAoW,GAAA,CAAArO,KAAA,WAAA6C,KAAA,gBAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,kBAAAA,EAAAC,IAAAD,GAAAA,EAAS5O,cAAa1I,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAb5O,cAAajB,CAAA,GAAA+P,SAAAC,GAAAtU,GAAAE,IAItB6T,EAAArX,GAAA,KAAAqW,GAAA,CAAAtO,KAAA,WAAA6C,KAAA,eAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,iBAAAA,EAAAC,IAAAD,GAAAA,EAAS3O,aAAY3I,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAZ3O,aAAYlB,CAAA,GAAA+P,SAAAC,GAAAnU,GAAAE,IAIrB0T,EAAArX,GAAA,KAAAsW,GAAA,CAAAvO,KAAA,WAAA6C,KAAA,gBAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,kBAAAA,EAAAC,IAAAD,GAAAA,EAAS1O,cAAa5I,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAb1O,cAAanB,CAAA,GAAA+P,SAAAC,GAAAhU,GAAAE,IAMtBuT,EAAArX,GAAA,KAAAuW,GAAA,CAAAxO,KAAA,WAAA6C,KAAA,mBAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,qBAAAA,EAAAC,IAAAD,GAAAA,EAASzO,iBAAgB7I,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAhBzO,iBAAgBpB,CAAA,GAAA+P,SAAAC,GAAA7T,GAAAE,IAMzBoT,EAAArX,GAAA,KAAAwW,GAAA,CAAAzO,KAAA,WAAA6C,KAAA,yBAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,2BAAAA,EAAAC,IAAAD,GAAAA,EAASxO,uBAAsB9I,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAtBxO,uBAAsBrB,CAAA,GAAA+P,SAAAC,GAAA1T,GAAAE,IAI/BiT,EAAArX,GAAA,KAAAyW,GAAA,CAAA1O,KAAA,WAAA6C,KAAA,cAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,gBAAAA,EAAAC,IAAAD,GAAAA,EAASvO,YAAW/I,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAXvO,YAAWtB,CAAA,GAAA+P,SAAAC,GAAAvT,GAAAE,IAIpB8S,EAAArX,GAAA,KAAA2W,GAAA,CAAA5O,KAAA,WAAA6C,KAAA,iBAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,mBAAAA,EAAAC,IAAAD,GAAAA,EAAStO,eAAchJ,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAdtO,eAAcvB,CAAA,GAAA+P,SAAAC,GAAApT,GAAAE,IAMvB2S,EAAArX,GAAA,KAAA4W,GAAA,CAAA7O,KAAA,WAAA6C,KAAA,eAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,iBAAAA,EAAAC,IAAAD,GAAAA,EAASrO,aAAYjJ,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAZrO,aAAYxB,CAAA,GAAA+P,SAAAC,GAAAjT,GAAAE,IAOrBwS,EAAArX,GAAA,KAAA8W,GAAA,CAAA/O,KAAA,WAAA6C,KAAA,iBAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,mBAAAA,EAAAC,IAAAD,GAAAA,EAASpO,eAAclJ,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAdpO,eAAczB,CAAA,GAAA+P,SAAAC,GAAA9S,GAAAE,IAOvBqS,EAAArX,GAAA,KAAA+W,GAAA,CAAAhP,KAAA,WAAA6C,KAAA,OAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,SAAAA,EAAAC,IAAAD,GAAAA,EAASnO,KAAInJ,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAJnO,KAAI1B,CAAA,GAAA+P,SAAAC,GAAA3S,GAAAE,IAMbkS,EAAArX,GAAA,KAAAgX,GAAA,CAAAjP,KAAA,WAAA6C,KAAA,aAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,eAAAA,EAAAC,IAAAD,GAAAA,EAASlO,WAAUpJ,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAVlO,WAAU3B,CAAA,GAAA+P,SAAAC,GAAAxS,GAAAE,IAOnB+R,EAAArX,GAAA,KAAAiX,GAAA,CAAAlP,KAAA,WAAA6C,KAAA,gBAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,kBAAAA,EAAAC,IAAAD,GAAAA,EAASjO,cAAarJ,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAbjO,cAAa5B,CAAA,GAAA+P,SAAAC,GAAArS,GAAAE,IAgCtB4R,EAAArX,GAAA,KAAA+X,GAAA,CAAAhQ,KAAA,WAAA6C,KAAA,WAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAASzN,SAAQ7J,IAAA,CAAAsX,EAAA7P,KAAA6P,EAARzN,SAAQpC,CAAA,GAAA+P,SAAAC,GAAAlS,GAAAE,IAOjByR,EAAArX,GAAA,KAAAgY,GAAA,CAAAjQ,KAAA,WAAA6C,KAAA,WAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAASxN,SAAQ9J,IAAA,CAAAsX,EAAA7P,KAAA6P,EAARxN,SAAQrC,CAAA,GAAA+P,SAAAC,GAAA/R,GAAAE,IAOjBsR,EAAArX,GAAA,KAAAiY,GAAA,CAAAlQ,KAAA,WAAA6C,KAAA,YAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,cAAAA,EAAAC,IAAAD,GAAAA,EAASvN,UAAS/J,IAAA,CAAAsX,EAAA7P,KAAA6P,EAATvN,UAAStC,CAAA,GAAA+P,SAAAC,GAAA5R,GAAAE,IAOlBmR,EAAArX,GAAA,KAAAkY,GAAA,CAAAnQ,KAAA,WAAA6C,KAAA,kBAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,oBAAAA,EAAAC,IAAAD,GAAAA,EAAStN,gBAAehK,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAftN,gBAAevC,CAAA,GAAA+P,SAAAC,GAAAzR,GAAAE,IAOxBgR,EAAArX,GAAA,KAAAmY,GAAA,CAAApQ,KAAA,WAAA6C,KAAA,mBAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,qBAAAA,EAAAC,IAAAD,GAAAA,EAASrN,iBAAgBjK,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAhBrN,iBAAgBxC,CAAA,GAAA+P,SAAAC,GAAAtR,GAAAE,IAOzB6Q,EAAArX,GAAA,KAAAmX,GAAA,CAAApP,KAAA,WAAA6C,KAAA,eAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,iBAAAA,EAAAC,IAAAD,GAAAA,EAASpN,aAAYlK,IAAA,CAAAsX,EAAA7P,KAAA6P,EAAZpN,aAAYzC,CAAA,GAAA+P,SAAAC,GAAAnR,GAAAE,IAOrB0Q,EAAArX,GAAA,KAAAoX,GAAA,CAAArP,KAAA,WAAA6C,KAAA,QAAA0M,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAtE,IAAAuE,GAAA,UAAAA,EAAAC,IAAAD,GAAAA,EAASnN,MAAKnK,IAAA,CAAAsX,EAAA7P,KAAA6P,EAALnN,MAAK1C,CAAA,GAAA+P,SAAAC,GAAAhR,GAAAE,IA5MhBuQ,EAAA,KAAAe,GAAA,CAAAxQ,MAAA5H,IAAAqY,GAAA,CAAAtQ,KAAA,QAAA6C,KAAA5K,GAAA4K,KAAA+M,SAAAC,GAAA,KAAAU,qHACkBtY,GAAAuY,OAASC,EAAUC,GADxBpY,EAAAL,GAAAsY,QAAQ"}
|
|
1
|
+
{"version":3,"file":"dropdown.js","sources":["../../../../src/components/reusable/dropdown/dropdown.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, PropertyValues, html, unsafeCSS } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport DropdownScss from './dropdown.scss?inline';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport { deepmerge } from 'deepmerge-ts';\n\nimport './dropdownOption';\nimport './enhancedDropdownOption';\nimport '../tag';\nimport '../button';\n\nimport { DropdownOption } from './dropdownOption';\nimport { EnhancedDropdownOption } from './enhancedDropdownOption';\n\nimport downIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-down.svg';\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/error-filled.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\nconst _defaultTextStrings = {\n title: 'Dropdown',\n selectedOptions: 'List of selected options',\n requiredText: 'Required',\n errorText: 'Error',\n clearAll: 'Clear all',\n clear: 'Clear',\n addItem: 'Add item...',\n add: 'Add',\n};\n\nconst KEY = {\n Enter: 'Enter',\n Escape: 'Escape',\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n} as const;\n\n/**\n * Dropdown, single select.\n * @fires on-change - Captures the dropdown change event and emits the selected value and original event details. `detail:{ value: string/array }`\n * @fires on-search - Capture the search input event and emits the search text.`detail:{ searchText: string }`\n * @fires on-clear-all - Captures the the multi-select clear all button click event and emits the value. `detail:{ value: array }`\n * @fires on-add-option - Captures the add button click and emits the newly added option. `detail:{ value: string }`\n * @slot unnamed - Slot for dropdown options.\n * @slot tooltip - Slot for tooltip.\n * @slot anchor - Slot for custom dropdown anchor element. If not provided, defaults to standard input-style anchor.\n * @attr {string/array} [value=''/[]] - The selected value(s) of the input. For single select, it is a string. For multi-select, it is an array of strings.\n * @attr {string} [name=''] - The name of the input, used for form submission.\n * @attr {string} [invalidText=''] - The custom validation message when the input is invalid.\n */\n@customElement('kyn-dropdown')\nexport class Dropdown extends FormMixin(LitElement) {\n static override styles = unsafeCSS(DropdownScss);\n\n /** Label text. */\n @property({ type: String })\n accessor label = '';\n\n /** Dropdown size/height. \"sm\", \"md\", or \"lg\". */\n @property({ type: String })\n accessor size = 'md';\n\n /** Dropdown kind. */\n @property({ type: String, attribute: 'kind' })\n accessor kind: 'ai' | 'default' = 'default';\n\n /** Dropdown inline style type. */\n @property({ type: Boolean })\n accessor inline = false;\n\n /** Optional text beneath the input. */\n @property({ type: String })\n accessor caption = '';\n\n /** Dropdown placeholder. */\n @property({ type: String })\n accessor placeholder = '';\n\n /** Listbox/drawer open state. */\n @property({ type: Boolean, reflect: true })\n accessor open = false;\n\n /** Makes the dropdown searchable. */\n @property({ type: Boolean })\n accessor searchable = false;\n\n /** Makes the dropdown enhanced. */\n @property({ type: Boolean })\n accessor enhanced = false;\n\n /** Searchable variant filters results. */\n @property({ type: Boolean })\n accessor filterSearch = false;\n\n /** Enabled multi-select functionality. */\n @property({ type: Boolean })\n accessor multiple = false;\n\n /** Makes the dropdown required. */\n @property({ type: Boolean })\n accessor required = false;\n\n /** Visually hide the label. */\n @property({ type: Boolean })\n accessor hideLabel = false;\n\n /** Dropdown disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Hide the tags below multi-select. */\n @property({ type: Boolean })\n accessor hideTags = false;\n\n /** Adds a \"Select all\" option to the top of a multi-select dropdown. */\n @property({ type: Boolean })\n accessor selectAll = false;\n\n /** \"Select all\" text customization. */\n @property({ type: String })\n accessor selectAllText = 'Select all';\n\n /** Menu CSS min-width value. */\n @property({ type: String })\n accessor menuMinWidth = 'initial';\n\n /** Controls direction that dropdown opens. */\n @property({ type: String })\n accessor openDirection: 'auto' | 'up' | 'down' = 'auto';\n\n /** Is \"Select All\" box checked.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllChecked = false;\n\n /** Is \"Select All\" indeterminate.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllIndeterminate = false;\n\n /** Text string customization. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Enables the \"Add New Option\" feature. */\n @property({ type: Boolean })\n accessor allowAddOption = false;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /**\n * New dropdown option value.\n * @ignore\n */\n @state()\n accessor newOptionValue = '';\n\n /**\n * Selected option text, automatically derived.\n * @ignore\n */\n @state()\n accessor text = '';\n\n /**\n * Search input value.\n */\n @property({ type: String })\n accessor searchText = '';\n\n /**\n * Assistive text for screen readers.\n * @ignore\n */\n @state()\n accessor assistiveText = 'Dropdown menu options.';\n\n /**\n * Queries any slotted options, default or enhanced.\n * @ignore\n */\n protected get options(): Array<DropdownOption | EnhancedDropdownOption> {\n return Array.from(\n this.querySelectorAll<DropdownOption | EnhancedDropdownOption>(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option'\n )\n );\n }\n\n /**\n * Queries any slotted selected options.\n * @ignore\n */\n protected get selectedOptions(): Array<\n DropdownOption | EnhancedDropdownOption\n > {\n return this.options.filter(\n (opt): opt is DropdownOption | EnhancedDropdownOption =>\n opt.hasAttribute('selected')\n );\n }\n\n /**\n * Queries the .search DOM element.\n * @ignore\n */\n @query('.search')\n accessor searchEl!: HTMLInputElement;\n\n /**\n * Queries the .select DOM element.\n * @ignore\n */\n @query('.select')\n accessor buttonEl!: HTMLElement;\n\n /**\n * Queries the .options DOM element.\n * @ignore\n */\n @query('.options')\n accessor listboxEl!: HTMLElement;\n\n /**\n * Queries the .clear-multiple DOM element.\n * @ignore\n */\n @query('.clear-multiple')\n accessor clearMultipleEl!: HTMLElement;\n\n /**\n * Queries the .add-option-input DOM element.\n * @ignore\n */\n @query('.add-option-input')\n accessor addOptionInputEl!: HTMLInputElement;\n\n /**\n * Open drawer upwards.\n * @ignore\n */\n @state()\n accessor _openUpwards = false;\n\n /**\n * Tags value/text reference.\n * @ignore\n */\n @state()\n accessor _tags: Array<object> = [];\n\n /** Toggles on clicking enter key in the search input.\n * @internal\n */\n searchTextEntered: any = false;\n\n /** Toggles on clicking enter key in the search input.\n * @internal\n */\n prevSearchKeydownIndex = -1;\n\n private _onDocumentClick = (e: Event) => this._handleClickOut(e);\n private _onChildClick = (e: Event) => this._handleClick(e as any);\n private _onChildRemove = (_e: Event) => this._handleRemoveOption();\n private _onChildBlur = (e: Event) => this._handleBlur(e as any);\n\n override render() {\n const mainDropdownClasses = {\n dropdown: true,\n [`ai-connected-${this.kind === 'ai'}`]: true,\n };\n\n return html`\n <div\n class=${classMap(mainDropdownClasses)}\n ?disabled=${this.disabled}\n ?open=${this.open}\n ?inline=${this.inline}\n ?searchable=${this.searchable}\n >\n <label\n id=\"label-${this.name}\"\n class=\"label-text ${this.hideLabel || this.inline ? 'sr-only' : ''}\"\n for=${this.name}\n >\n ${this.required\n ? html`<abbr\n class=\"required\"\n title=${this._textStrings.requiredText}\n role=\"img\"\n aria-label=${this._textStrings?.requiredText || 'Required'}\n >*</abbr\n >`\n : null}\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </label>\n\n <div\n class=${classMap({\n wrapper: true,\n open: this.open,\n })}\n >\n <div\n class=\"custom\"\n @click=${(e: MouseEvent) => this.handleAnchorClick(e)}\n @keydown=${(e: KeyboardEvent) => this.handleAnchorKeydown(e)}\n >\n <slot name=\"anchor\">\n <div\n class=\"${classMap({\n select: true,\n 'input-custom': true,\n 'size--sm': this.size === 'sm',\n 'size--lg': this.size === 'lg',\n inline: this.inline,\n })}\"\n aria-labelledby=\"label-${this.name}\"\n aria-expanded=${this.open}\n aria-controls=\"options\"\n role=\"combobox\"\n id=${this.name}\n name=${this.name}\n title=${this._textStrings.title}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?invalid=${this._isInvalid}\n tabindex=${this.disabled ? '' : this.searchable ? '-1' : '0'}\n @mousedown=${(e: any) => {\n if (!this.searchable) {\n e.preventDefault();\n }\n }}\n @blur=${(e: any) => e.stopPropagation()}\n >\n ${this.multiple && this.value.length\n ? html`\n <button\n class=\"clear-multiple\"\n aria-label=\"${this.value\n .length} items selected. Clear selections\"\n ?disabled=${this.disabled}\n title=${this._textStrings.clear}\n @click=${(e: Event) => this.handleClearMultiple(e)}\n >\n ${this.value.length}\n <span style=\"display:flex;\" class=\"clear-multiple-icon\"\n >${unsafeSVG(clearIcon)}</span\n >\n </button>\n `\n : null}\n ${this.searchable\n ? html`\n <input\n class=\"search\"\n type=\"text\"\n placeholder=${this.placeholder}\n value=${this.searchText}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled}\n @keydown=${(e: any) => this.handleSearchKeydown(e)}\n @input=${(e: any) => this.handleSearchInput(e)}\n @blur=${(e: any) => e.stopPropagation()}\n @click=${(e: any) => this.handleSearchClick(e)}\n />\n `\n : html`\n <span\n class=\"${classMap({\n 'placeholder-text': this.text === '',\n })}\"\n >\n ${this.multiple\n ? this.placeholder\n : this.value === ''\n ? this.placeholder\n : this.text}\n </span>\n `}\n\n <span class=\"arrow-icon\">${unsafeSVG(downIcon)}</span>\n </div>\n </slot>\n\n <div\n id=\"options\"\n class=${classMap({\n options: true,\n open: this.open,\n upwards: this._openUpwards,\n })}\n style=\"min-width: ${this.menuMinWidth};\"\n aria-hidden=${!this.open}\n @keydown=${this.handleListKeydown}\n @blur=${this.handleListBlur}\n @focus=${this._handleListFocus}\n >\n ${this.allowAddOption\n ? html`\n <div class=\"add-option\">\n <input\n class=\"add-option-input\"\n type=\"text\"\n placeholder=${this._textStrings.addItem}\n .value=${this.newOptionValue}\n aria-label=\"Add new option\"\n @input=${this._handleInputNewOption}\n @keydown=${this._onAddOptionInputKeydown}\n @focus=${this._onAddOptionInputFocus}\n />\n <kyn-button\n type=\"button\"\n size=\"small\"\n kind=\"secondary\"\n @on-click=${this._handleAddOption}\n >\n ${this._textStrings.add}\n </kyn-button>\n </div>\n `\n : null}\n\n <div role=\"listbox\" aria-labelledby=\"label-${this.name}\">\n ${this.multiple && this.selectAll\n ? html`\n ${this.enhanced\n ? html`\n <kyn-enhanced-dropdown-option\n class=\"select-all\"\n value=\"selectAll\"\n multiple\n ?selected=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?disabled=${this.disabled}\n >\n ${this.selectAllText}\n </kyn-enhanced-dropdown-option>\n `\n : html`\n <kyn-dropdown-option\n class=\"select-all\"\n value=\"selectAll\"\n multiple\n ?selected=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?disabled=${this.disabled}\n >\n ${this.selectAllText}\n </kyn-dropdown-option>\n `}\n `\n : null}\n\n <slot\n id=\"children\"\n @slotchange=${() => this.handleSlotChange()}\n ></slot>\n </div>\n </div>\n </div>\n ${this.hasSearch && this.open\n ? html`\n <kyn-button\n ?disabled=${this.disabled}\n class=\"clear-button dropdown-clear\"\n kind=\"ghost\"\n size=\"small\"\n description=${this._textStrings.clearAll}\n @click=${(e: Event) => this.handleClear(e)}\n >\n <span style=\"display:flex;\">${unsafeSVG(clearIcon)}</span>\n </kyn-button>\n `\n : null}\n </div>\n ${this.renderHelperContent()}\n </div>\n `;\n }\n\n private _onAddOptionInputKeydown(e: KeyboardEvent) {\n e.stopPropagation();\n switch (e.key) {\n case KEY.Enter:\n this._handleAddOption();\n break;\n case KEY.Escape:\n this.newOptionValue = '';\n this.open = false;\n this.buttonEl.focus();\n break;\n case KEY.ArrowDown:\n this.handleKeyboard(e, 40, 'addOption');\n break;\n case KEY.ArrowUp:\n this.handleKeyboard(e, 38, 'addOption');\n break;\n }\n }\n\n private _onAddOptionInputFocus() {\n this.assistiveText = 'Add new option input';\n }\n\n private handleAnchorClick(e: MouseEvent) {\n if (this.disabled) return;\n\n const path = (e.composedPath?.() || []) as Array<EventTarget>;\n const isInOptions =\n path.some((t) => (t as HTMLElement)?.classList?.contains('options')) ||\n (e.target as HTMLElement)?.closest?.(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option, .add-option'\n );\n\n if (isInOptions) return;\n\n this.handleClick();\n }\n private handleAnchorKeydown(e: any) {\n if (this.disabled) return;\n this.handleButtonKeydown(e);\n }\n\n private _handleAddOption() {\n const v = this.newOptionValue.trim();\n if (!v) return;\n this.dispatchEvent(\n new CustomEvent('on-add-option', { detail: { value: v } })\n );\n this.newOptionValue = '';\n }\n\n private renderHelperContent() {\n return html`\n ${\n this.multiple && !this.hideTags && this._tags.length\n ? html`\n <kyn-tag-group\n filter\n role=\"list\"\n aria-label=${this._textStrings.selectedOptions}\n >\n ${this._tags.map((tag: any) => {\n return html`\n <kyn-tag\n role=\"listitem\"\n label=${tag.text}\n ?disabled=${this.disabled || tag.disabled}\n @on-close=${() => this.handleTagClear(tag)}\n ></kyn-tag>\n `;\n })}\n </kyn-tag-group>\n `\n : null\n }\n ${\n this.caption !== ''\n ? html`\n <div class=\"caption\" aria-disabled=${this.disabled}>\n ${this.caption}\n </div>\n `\n : null\n }\n ${\n this._isInvalid\n ? html`\n <div class=\"error\">\n <span\n class=\"error-icon\"\n role=\"img\"\n title=${this._textStrings.errorText}\n aria-label=${this._textStrings.errorText}\n >${unsafeSVG(errorIcon)}</span\n >\n ${this.invalidText || this._internalValidationMsg}\n </div>\n `\n : null\n }\n\n <div\n class=\"assistive-text\"\n role=\"status\"\n aria-live=\"assertive\"\n aria-relevant=\"additions text\"\n >\n ${this.assistiveText}\n </div>\n </div>\n `;\n }\n\n override firstUpdated() {\n // set a default placeholder if none provided\n if (this.placeholder === '') {\n if (this.searchable) {\n this.placeholder = 'Search';\n } else {\n if (this.multiple) {\n this.placeholder = 'Select items';\n } else {\n this.placeholder = 'Select an option';\n }\n }\n }\n }\n\n private handleSlotChange() {\n this.updateChildOptions();\n this._updateOptions();\n this._updateSelectedText();\n }\n\n private updateChildOptions() {\n // Get all slotted kyn-dropdown-option elements\n const slot = this.shadowRoot?.querySelector('#children') as HTMLSlotElement;\n const options = slot.assignedElements({ flatten: true }) as HTMLElement[];\n\n // Pass allowAddOption to each kyn-dropdown-option\n options.forEach((option) => {\n if (\n option.tagName === 'KYN-DROPDOWN-OPTION' ||\n option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION'\n ) {\n (option as any).allowAddOption = this.allowAddOption;\n }\n });\n }\n\n private handleClick() {\n if (!this.disabled) {\n this.open = !this.open;\n\n // focus search input if searchable\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n }\n }\n\n private handleButtonKeydown(e: any) {\n this.handleKeyboard(e, e.keyCode, 'button');\n }\n\n private handleListKeydown(e: any) {\n const TAB_KEY_CODE = 9;\n\n if (e.keyCode !== TAB_KEY_CODE) {\n e.preventDefault();\n }\n\n this.handleKeyboard(e, e.keyCode, 'list');\n }\n\n private _handleListFocus() {\n const selectAllOptions = Array.from(\n this.shadowRoot?.querySelectorAll('.select-all') || []\n ) as any[];\n const filteredOptions = this.options.filter(\n (option: any) => option.style.display !== 'none'\n );\n const visibleOptions = [...selectAllOptions, ...filteredOptions] as any[];\n\n const firstEnabled = visibleOptions.find((o: any) => !o.disabled) as any;\n if (!firstEnabled) return;\n\n visibleOptions.forEach((o: any) => (o.highlighted = false));\n\n if (!('tabIndex' in firstEnabled) || firstEnabled.tabIndex < 0) {\n firstEnabled.tabIndex = 0;\n }\n firstEnabled.focus();\n firstEnabled.scrollIntoView({ block: 'nearest' });\n this.assistiveText = firstEnabled.text || 'Option';\n }\n\n private handleListBlur(e: FocusEvent): void {\n if (this.multiple) {\n return;\n }\n\n this.options.forEach((o) => (o.highlighted = false));\n const target = e.relatedTarget as HTMLElement | null;\n\n if (\n target &&\n (target.closest('kyn-dropdown-option') ||\n target.closest('kyn-enhanced-dropdown-option') ||\n target.classList.contains('search') ||\n target.closest('.add-option'))\n ) {\n return;\n }\n\n this.open = false;\n this.assistiveText = 'Dropdown menu options.';\n }\n\n private handleKeyboard(e: any, keyCode: number, target: string) {\n const SPACEBAR_KEY_CODE = [0, 32];\n const ENTER_KEY_CODE = 13;\n const DOWN_ARROW_KEY_CODE = 40;\n const UP_ARROW_KEY_CODE = 38;\n const ESCAPE_KEY_CODE = 27;\n\n // get highlighted element + index and selected element\n const selectAllOptions = Array.from(\n this.shadowRoot?.querySelectorAll('.select-all') || []\n ) as any[];\n const filteredOptions = this.options.filter(\n (option: any) => option.style.display !== 'none'\n );\n const visibleOptions = [...selectAllOptions, ...filteredOptions] as any[];\n // visibleOptions.forEach((e) => (e.tabIndex = 0));\n\n const highlightedEl = visibleOptions.find(\n (option: any) => option.highlighted\n );\n const selectedEl = visibleOptions.find((option: any) => option.selected);\n let highlightedIndex = highlightedEl\n ? visibleOptions.indexOf(highlightedEl)\n : selectedEl\n ? visibleOptions.indexOf(selectedEl)\n : 0;\n\n // prevent page scroll on spacebar press\n if (SPACEBAR_KEY_CODE.includes(keyCode)) {\n e.preventDefault();\n }\n\n const isListboxElOpened = this.open;\n // open the listbox\n if (target === 'button' || target === 'addOption') {\n let openDropdown =\n SPACEBAR_KEY_CODE.includes(keyCode) ||\n keyCode === ENTER_KEY_CODE ||\n keyCode == DOWN_ARROW_KEY_CODE ||\n keyCode == UP_ARROW_KEY_CODE;\n\n if (e.target === this.clearMultipleEl && keyCode === ENTER_KEY_CODE) {\n openDropdown = false;\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[highlightedIndex].selected =\n !visibleOptions[highlightedIndex].selected;\n highlightedIndex = 0;\n if (keyCode !== ENTER_KEY_CODE) return;\n }\n\n if (openDropdown) {\n this.open = true;\n\n if (\n this.allowAddOption &&\n target === 'button' &&\n keyCode === ENTER_KEY_CODE\n ) {\n setTimeout(() => {\n this.addOptionInputEl?.focus();\n }, 100);\n } else {\n // scroll to highlighted option\n if (!this.multiple && this.value !== '') {\n visibleOptions[highlightedIndex].scrollIntoView({\n block: 'nearest',\n });\n }\n }\n }\n }\n switch (keyCode) {\n case 0:\n case 32:\n case ENTER_KEY_CODE: {\n // select highlighted option\n visibleOptions[highlightedIndex].highlighted = true;\n if (isListboxElOpened) {\n if (this.multiple) {\n visibleOptions[highlightedIndex].selected =\n !visibleOptions[highlightedIndex].selected;\n this._handleClick({\n detail: {\n value: visibleOptions[highlightedIndex].value,\n selected: visibleOptions[highlightedIndex].selected,\n },\n });\n } else {\n visibleOptions.forEach((e) => (e.selected = false));\n visibleOptions[highlightedIndex].selected = true;\n this.updateValue(visibleOptions[highlightedIndex].value, true);\n this.emitValue();\n\n this.open = false;\n this.assistiveText = `Selected ${visibleOptions[highlightedIndex].value}`;\n }\n }\n return;\n }\n case DOWN_ARROW_KEY_CODE: {\n // go to next option\n let nextIndex =\n !highlightedEl && !selectedEl\n ? 0\n : highlightedIndex === visibleOptions.length - 1\n ? 0\n : highlightedIndex + 1;\n\n // skip disabled options\n if (visibleOptions[nextIndex].disabled) {\n nextIndex =\n nextIndex === visibleOptions.length - 1 ? 0 : nextIndex + 1;\n }\n\n visibleOptions[nextIndex].focus();\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[nextIndex].highlighted = true;\n\n // scroll to option\n visibleOptions[nextIndex].scrollIntoView({ block: 'nearest' });\n\n this.assistiveText = visibleOptions[nextIndex].text;\n return;\n }\n case UP_ARROW_KEY_CODE: {\n // go to previous option\n let nextIndex =\n highlightedIndex === 0\n ? visibleOptions.length - 1\n : highlightedIndex - 1;\n\n // skip disabled options\n if (visibleOptions[nextIndex].disabled) {\n nextIndex =\n nextIndex === 0 ? visibleOptions.length - 1 : nextIndex - 1;\n }\n\n visibleOptions[nextIndex].focus();\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[nextIndex].highlighted = true;\n\n // scroll to option\n visibleOptions[nextIndex].scrollIntoView({ block: 'nearest' });\n\n this.assistiveText = visibleOptions[nextIndex].text;\n return;\n }\n case ESCAPE_KEY_CODE: {\n // close listbox\n this.open = false;\n\n // restore focus\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n\n this.assistiveText = 'Dropdown menu options.';\n return;\n }\n default: {\n return;\n }\n }\n }\n\n private handleClearMultiple(e: any) {\n e.stopPropagation();\n\n // clear values\n if (this.multiple) {\n const Slot: any = this.shadowRoot?.querySelector('slot#children');\n const Options: Array<any> = Slot.assignedElements();\n const DisabledSelectedOptions: Array<any> = Options.filter(\n (option: any) => option.selected && option.disabled\n ).map((option: any) => option.value);\n\n this.value = DisabledSelectedOptions.length\n ? DisabledSelectedOptions\n : [];\n } else {\n this.value = '';\n }\n\n this._validate(true, false);\n this._updateSelectedOptions();\n this.emitValue();\n\n const event = new CustomEvent('on-clear-all', {\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private handleTagClear(tag: any) {\n // remove value\n this.updateValue(tag.value, false);\n this._updateSelectedOptions();\n this.emitValue();\n }\n\n private handleClear(e: any) {\n e.stopPropagation();\n\n // reset search input text\n this.text = '';\n this.searchText = '';\n this.searchEl.value = '';\n\n this._emitSearch();\n\n if (this.filterSearch) {\n // reveal all options\n this.options.map((option: any) => {\n option.style.display = 'block';\n });\n }\n\n // clear selection for single select\n if (!this.multiple) {\n this.value = '';\n this._validate(true, false);\n this._updateSelectedOptions();\n this.emitValue();\n }\n }\n\n private handleSearchClick(e: any) {\n e.stopPropagation();\n this.open = true;\n if ((this.searchText ?? '').trim() === '') this.searchText = '';\n }\n\n private handleSearchKeydown(e: any) {\n e.stopPropagation();\n\n const ENTER_KEY_CODE = 13;\n const ESCAPE_KEY_CODE = 27;\n const option = this.options.find((option) => option.highlighted);\n const highlightedIndex = this.options.findIndex(\n (option) => option.highlighted\n );\n this.searchTextEntered = false;\n // select option\n if (e.keyCode === ENTER_KEY_CODE) {\n this.searchTextEntered = true;\n if (option) {\n if (this.prevSearchKeydownIndex !== highlightedIndex) {\n if (this.multiple) {\n option.selected = !option.selected;\n } else {\n this.options.forEach((e) => (e.selected = false));\n option.selected = true;\n this.open = false;\n }\n this.updateValue(option.value, option.selected);\n }\n\n if (option.selected) {\n this.assistiveText = `Selected ${option.innerHTML}`;\n this.prevSearchKeydownIndex = highlightedIndex;\n } else {\n this.assistiveText = `Deselected ${option.innerHTML}`;\n }\n } else {\n this.assistiveText = 'No item matched.';\n }\n }\n\n // close listbox\n if (e.keyCode === ESCAPE_KEY_CODE) {\n this.open = false;\n this.buttonEl.focus();\n }\n }\n\n private handleSearchInput(e: any) {\n const value = e.target.value;\n this.searchText = value;\n this.open = true;\n\n this._emitSearch();\n\n if (this.filterSearch) {\n // hide items that don't match\n this.options.map((option: any) => {\n let searchText = option.text;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n searchText = titleSlot.textContent.trim();\n } else {\n searchText = option.displayText || option.value;\n }\n }\n\n if (searchText.toLowerCase().includes(value.toLowerCase())) {\n option.style.display = 'block';\n } else {\n option.style.display = 'none';\n }\n });\n } else {\n // find matches\n const options = this.options.filter((option: any) => {\n let searchText = option.text;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n searchText = titleSlot.textContent.trim();\n } else {\n searchText = option.displayText || option.value;\n }\n }\n\n return searchText.toLowerCase().startsWith(value.toLowerCase());\n });\n\n // reset options highlighted state\n this.options.forEach((option) => (option.highlighted = false));\n\n // option highlight and scroll\n if (value !== '' && options.length) {\n options[0].highlighted = true;\n options[0].scrollIntoView({ block: 'nearest' });\n if (this.searchTextEntered) this.assistiveText = 'Option Matched';\n }\n }\n }\n\n private _updateSelectedOptions() {\n // set selected state for each option\n this.options.forEach((option: any) => {\n if (this.multiple) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n }\n\n private _handleClick(e: any) {\n if (e.detail.value === 'selectAll') {\n this.selectAllChecked = e.detail.selected;\n\n const Slot: any = this.shadowRoot?.querySelector('slot#children');\n const Options: Array<any> = Slot.assignedElements();\n const DisabledSelectedOptions: Array<any> = Options.filter(\n (option: any) => option.selected && option.disabled\n ).map((option: any) => option.value);\n\n if (e.detail.selected) {\n this.value = this.options\n .filter(\n (option) => !option.disabled || (option.disabled && option.selected)\n )\n .map((option) => option.value);\n this.assistiveText = 'Selected all items.';\n } else {\n this.value = DisabledSelectedOptions.length\n ? DisabledSelectedOptions\n : [];\n this.assistiveText = 'Deselected all items.';\n }\n\n this._validate(true, false);\n } else {\n this.updateValue(e.detail.value, e.detail.selected);\n this.assistiveText = e.detail.selected\n ? `Selected ${e.detail.value}`\n : `Deselected ${e.detail.value}`;\n }\n\n this._updateSelectedOptions();\n\n if (!this.multiple) {\n this.open = false;\n }\n\n // emit selected value\n this.emitValue();\n }\n\n private _handleBlur(e: any) {\n const relatedTarget = e.detail.origEvent.relatedTarget;\n\n if (\n !relatedTarget ||\n (relatedTarget?.localName !== 'kyn-dropdown-option' &&\n relatedTarget?.localName !== 'kyn-enhanced-dropdown-option' &&\n relatedTarget.localName !== 'kyn-dropdown')\n ) {\n this.open = false;\n }\n }\n\n private _handleClickOut(e: Event) {\n if (!e.composedPath().includes(this)) {\n this.open = false;\n }\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this._onConnected();\n\n document.addEventListener('click', this._onDocumentClick);\n\n this.addEventListener('on-click', this._onChildClick);\n this.addEventListener('on-remove-option', this._onChildRemove);\n this.addEventListener('on-blur', this._onChildBlur);\n }\n\n override disconnectedCallback() {\n this._onDisconnected();\n\n document.removeEventListener('click', this._onDocumentClick);\n this.removeEventListener('on-click', this._onChildClick);\n this.removeEventListener('on-remove-option', this._onChildRemove);\n this.removeEventListener('on-blur', this._onChildBlur);\n\n super.disconnectedCallback();\n }\n\n private updateValue(value: string, selected = false) {\n // set value\n if (this.multiple) {\n const values =\n this.value === '' ? [] : JSON.parse(JSON.stringify(this.value));\n\n // update array\n if (selected) {\n values.push(value);\n } else {\n const index = values.indexOf(value);\n values.splice(index, 1);\n }\n\n this.value = values;\n } else {\n this.value = value;\n }\n\n this._validate(true, false);\n\n // reset focus\n if (!this.multiple) {\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n }\n }\n\n private _validate(interacted: Boolean, report: Boolean) {\n // set validity flags\n const Validity = {\n customError: this.invalidText !== '',\n valueMissing:\n this.required &&\n (!this.value ||\n (this.multiple && !this.value.length) ||\n (!this.multiple && this.value === '')),\n };\n\n // set validationMessage\n const InternalMsg =\n this.required && !this.value.length ? 'Please fill out this field.' : '';\n const ValidationMessage =\n this.invalidText !== '' ? this.invalidText : InternalMsg;\n\n const validationAnchor = this.buttonEl || this.listboxEl;\n\n if (validationAnchor) {\n this._internals.setValidity(\n Validity,\n ValidationMessage,\n validationAnchor\n );\n } else {\n this._internals.setValidity(Validity, ValidationMessage);\n }\n\n if (interacted) {\n this._internalValidationMsg = InternalMsg;\n }\n\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n private emitValue() {\n const event = new CustomEvent('on-change', {\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private _emitSearch() {\n const event = new CustomEvent('on-search', {\n detail: {\n searchText: this.searchText,\n },\n });\n this.dispatchEvent(event);\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n\n override updated(changedProps: PropertyValues) {\n super.updated(changedProps);\n\n if (changedProps.has('kind')) {\n this.dispatchEvent(\n new CustomEvent('kind-changed', {\n detail: this.kind,\n bubbles: true,\n composed: true,\n })\n );\n\n this.classList.toggle('ai-connected-true', this.kind === 'ai');\n }\n\n const root = this.shadowRoot;\n if (!root) return;\n\n if (changedProps.has('open')) {\n const slot = root.querySelector<HTMLSlotElement>('slot[name=\"anchor\"]');\n const assigned = slot?.assignedElements({ flatten: true }) as\n | HTMLElement[]\n | undefined;\n const btn = assigned?.find(\n (el) => !el.querySelector('.clear-multiple-icon')\n );\n const icon = btn?.querySelector<HTMLElement>('span[slot=\"icon\"]');\n if (icon) {\n icon.style.transition = 'transform 0.2s ease-in-out';\n icon.style.transform = this.open ? 'rotate(180deg)' : 'rotate(0deg)';\n }\n }\n\n this._onUpdated(changedProps);\n\n if (changedProps.has('value')) {\n this._updateOptions();\n\n const childrenSlot = root.querySelector<HTMLSlotElement>('slot#children');\n const options = childrenSlot\n ? childrenSlot\n .assignedElements()\n .filter((o): o is HTMLElement => !o.hasAttribute('disabled'))\n : [];\n const selected = options.filter((o) => o.hasAttribute('selected'));\n\n this.selectAllChecked = selected.length === options.length;\n this.selectAllIndeterminate =\n selected.length > 0 && selected.length < options.length;\n\n this._updateTags();\n this._updateSelectedText();\n }\n\n if (changedProps.has('open') || changedProps.has('openDirection')) {\n if (this.open) {\n this.options.forEach((o) => (o.highlighted = false));\n\n if (!this.searchable && this.listboxEl) {\n this.listboxEl.focus({ preventScroll: true });\n this.assistiveText =\n 'Selecting items. Use up and down arrow keys to navigate.';\n }\n }\n\n if (this.openDirection === 'up') {\n this._openUpwards = true;\n } else if (this.openDirection === 'down') {\n this._openUpwards = false;\n } else if (this.open) {\n const rect = this.buttonEl.getBoundingClientRect();\n this._openUpwards = rect.top > window.innerHeight * 0.6;\n }\n\n if (this.open && !this.multiple) {\n const firstSelected = this.options.find((o) => o.selected);\n firstSelected?.scrollIntoView({ block: 'nearest' });\n }\n }\n\n if (changedProps.has('multiple')) {\n this.options.forEach((opt) => (opt.multiple = this.multiple));\n }\n\n if (changedProps.has('searchText') && this.searchEl) {\n this.searchEl.value = this.searchText;\n }\n\n if (changedProps.has('allowAddOption')) {\n this.updateChildOptions();\n }\n }\n\n private get hasSearch(): boolean {\n return (this.searchText ?? '').trim().length > 0;\n }\n\n // add selected options to Tags array\n private _updateTags() {\n if (this.multiple) {\n const Options: any = Array.from(\n this.querySelectorAll(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option'\n )\n );\n const Tags: Array<object> = [];\n\n if (Options) {\n Options.forEach((option: any) => {\n if (option.selected) {\n let text = option.textContent;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n text = titleSlot.textContent.trim();\n } else {\n text = option.displayText || option.value;\n }\n } else {\n text = option.textContent.trim();\n }\n\n Tags.push({\n value: option.value,\n text: text,\n disabled: option.disabled,\n });\n }\n });\n\n this._tags = Tags;\n }\n }\n }\n\n private _updateOptions() {\n const Options: any = Array.from(\n this.querySelectorAll('kyn-dropdown-option, kyn-enhanced-dropdown-option')\n );\n\n Options.forEach((option: any) => {\n // set option multiple state\n option.multiple = this.multiple;\n\n if (this.multiple) {\n const Selected = this.value.includes(option.value);\n // set option selected state\n option.selected = Selected;\n } else {\n option.selected = this.value === option.value;\n }\n });\n }\n\n private _handleInputNewOption(e: Event) {\n const target = e.target as HTMLInputElement;\n this.newOptionValue = target.value;\n }\n\n private _handleRemoveOption() {\n this.assistiveText = 'MY option removed ';\n setTimeout(() => {\n this.open = false;\n this.buttonEl.focus();\n }, 100);\n }\n\n private _updateSelectedText() {\n // update selected option text\n const AllOptions: any = Array.from(\n this.querySelectorAll('kyn-dropdown-option, kyn-enhanced-dropdown-option')\n );\n\n if (!this.multiple) {\n if (AllOptions.length && this.value !== '') {\n const option = AllOptions.find(\n (option: any) => option.value === this.value\n );\n if (option) {\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n this.text = titleSlot.textContent.trim();\n } else {\n this.text = option.displayText || this.value;\n }\n } else {\n this.text = option.textContent.trim();\n }\n } else {\n this.text = '';\n console.warn(`No dropdown option found with value: ${this.value}`);\n }\n }\n\n if (this.searchable && this.text) {\n this.searchText = this.text === this.placeholder ? '' : this.text;\n this.searchEl.value = this.searchText;\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-dropdown': Dropdown;\n }\n}\n"],"names":["_defaultTextStrings","title","selectedOptions","requiredText","errorText","clearAll","clear","addItem","add","KEY","Dropdown","customElement","FormMixin","LitElement","_classThis","_classSuper","_Dropdown_label_accessor_storage","set","this","__runInitializers","_label_initializers","_Dropdown_size_accessor_storage","_label_extraInitializers","_size_initializers","_Dropdown_kind_accessor_storage","_size_extraInitializers","_kind_initializers","_Dropdown_inline_accessor_storage","_kind_extraInitializers","_inline_initializers","_Dropdown_caption_accessor_storage","_inline_extraInitializers","_caption_initializers","_Dropdown_placeholder_accessor_storage","_caption_extraInitializers","_placeholder_initializers","_Dropdown_open_accessor_storage","_placeholder_extraInitializers","_open_initializers","_Dropdown_searchable_accessor_storage","_open_extraInitializers","_searchable_initializers","_Dropdown_enhanced_accessor_storage","_searchable_extraInitializers","_enhanced_initializers","_Dropdown_filterSearch_accessor_storage","_enhanced_extraInitializers","_filterSearch_initializers","_Dropdown_multiple_accessor_storage","_filterSearch_extraInitializers","_multiple_initializers","_Dropdown_required_accessor_storage","_multiple_extraInitializers","_required_initializers","_Dropdown_hideLabel_accessor_storage","_required_extraInitializers","_hideLabel_initializers","_Dropdown_disabled_accessor_storage","_hideLabel_extraInitializers","_disabled_initializers","_Dropdown_hideTags_accessor_storage","_disabled_extraInitializers","_hideTags_initializers","_Dropdown_selectAll_accessor_storage","_hideTags_extraInitializers","_selectAll_initializers","_Dropdown_selectAllText_accessor_storage","_selectAll_extraInitializers","_selectAllText_initializers","_Dropdown_menuMinWidth_accessor_storage","_selectAllText_extraInitializers","_menuMinWidth_initializers","_Dropdown_openDirection_accessor_storage","_menuMinWidth_extraInitializers","_openDirection_initializers","_Dropdown_selectAllChecked_accessor_storage","_openDirection_extraInitializers","_selectAllChecked_initializers","_Dropdown_selectAllIndeterminate_accessor_storage","_selectAllChecked_extraInitializers","_selectAllIndeterminate_initializers","_Dropdown_textStrings_accessor_storage","_selectAllIndeterminate_extraInitializers","_textStrings_initializers","_Dropdown_allowAddOption_accessor_storage","_textStrings_extraInitializers","_allowAddOption_initializers","_Dropdown__textStrings_accessor_storage","_allowAddOption_extraInitializers","__textStrings_initializers","_Dropdown_newOptionValue_accessor_storage","__textStrings_extraInitializers","_newOptionValue_initializers","_Dropdown_text_accessor_storage","_newOptionValue_extraInitializers","_text_initializers","_Dropdown_searchText_accessor_storage","_text_extraInitializers","_searchText_initializers","_Dropdown_assistiveText_accessor_storage","_searchText_extraInitializers","_assistiveText_initializers","_Dropdown_searchEl_accessor_storage","_assistiveText_extraInitializers","_searchEl_initializers","_Dropdown_buttonEl_accessor_storage","_searchEl_extraInitializers","_buttonEl_initializers","_Dropdown_listboxEl_accessor_storage","_buttonEl_extraInitializers","_listboxEl_initializers","_Dropdown_clearMultipleEl_accessor_storage","_listboxEl_extraInitializers","_clearMultipleEl_initializers","_Dropdown_addOptionInputEl_accessor_storage","_clearMultipleEl_extraInitializers","_addOptionInputEl_initializers","_Dropdown__openUpwards_accessor_storage","_addOptionInputEl_extraInitializers","__openUpwards_initializers","_Dropdown__tags_accessor_storage","__openUpwards_extraInitializers","__tags_initializers","searchTextEntered","__tags_extraInitializers","prevSearchKeydownIndex","_onDocumentClick","e","_handleClickOut","_onChildClick","_handleClick","_onChildRemove","_e","_handleRemoveOption","_onChildBlur","_handleBlur","label","__classPrivateFieldGet","value","__classPrivateFieldSet","size","kind","inline","caption","placeholder","open","searchable","enhanced","filterSearch","multiple","required","hideLabel","disabled","hideTags","selectAll","selectAllText","menuMinWidth","openDirection","selectAllChecked","selectAllIndeterminate","textStrings","allowAddOption","_textStrings","newOptionValue","text","searchText","assistiveText","options","Array","from","querySelectorAll","filter","opt","hasAttribute","searchEl","buttonEl","listboxEl","clearMultipleEl","addOptionInputEl","_openUpwards","_tags","render","mainDropdownClasses","dropdown","html","classMap","name","_a","wrapper","handleAnchorClick","handleAnchorKeydown","select","_isInvalid","preventDefault","stopPropagation","length","handleClearMultiple","unsafeSVG","clearIcon","handleSearchKeydown","handleSearchInput","handleSearchClick","downIcon","upwards","handleListKeydown","handleListBlur","_handleListFocus","_handleInputNewOption","_onAddOptionInputKeydown","_onAddOptionInputFocus","_handleAddOption","handleSlotChange","hasSearch","handleClear","renderHelperContent","key","focus","handleKeyboard","isInOptions","composedPath","call","some","t","classList","contains","_c","_b","target","closest","handleClick","handleButtonKeydown","v","trim","dispatchEvent","CustomEvent","detail","map","tag","handleTagClear","errorIcon","invalidText","_internalValidationMsg","firstUpdated","updateChildOptions","_updateOptions","_updateSelectedText","shadowRoot","querySelector","assignedElements","flatten","forEach","option","tagName","keyCode","visibleOptions","style","display","firstEnabled","find","o","highlighted","tabIndex","scrollIntoView","block","relatedTarget","SPACEBAR_KEY_CODE","highlightedEl","selectedEl","selected","highlightedIndex","indexOf","includes","isListboxElOpened","openDropdown","setTimeout","updateValue","emitValue","nextIndex","DisabledSelectedOptions","_validate","_updateSelectedOptions","event","_emitSearch","findIndex","innerHTML","titleSlot","textContent","displayText","toLowerCase","startsWith","origEvent","localName","connectedCallback","super","_onConnected","document","addEventListener","disconnectedCallback","_onDisconnected","removeEventListener","values","JSON","parse","stringify","push","index","splice","interacted","report","Validity","customError","valueMissing","InternalMsg","ValidationMessage","validationAnchor","_internals","setValidity","reportValidity","willUpdate","changedProps","has","deepmerge","updated","bubbles","composed","toggle","root","slot","assigned","btn","el","icon","transition","transform","_onUpdated","childrenSlot","_updateTags","preventScroll","rect","getBoundingClientRect","top","window","innerHeight","firstSelected","Options","Tags","Selected","AllOptions","console","warn","_label_decorators","property","type","String","_size_decorators","attribute","_inline_decorators","Boolean","_caption_decorators","_placeholder_decorators","reflect","_searchable_decorators","_enhanced_decorators","_filterSearch_decorators","_multiple_decorators","_required_decorators","_hideLabel_decorators","_disabled_decorators","_hideTags_decorators","_selectAll_decorators","_selectAllText_decorators","_menuMinWidth_decorators","_openDirection_decorators","_selectAllChecked_decorators","_selectAllIndeterminate_decorators","_textStrings_decorators","Object","_allowAddOption_decorators","__textStrings_decorators","state","_newOptionValue_decorators","_text_decorators","_searchText_decorators","_assistiveText_decorators","query","__openUpwards_decorators","__tags_decorators","__esDecorate","static","private","access","obj","get","metadata","_metadata","_kind_decorators","_open_decorators","_searchEl_decorators","_buttonEl_decorators","_listboxEl_decorators","_clearMultipleEl_decorators","_addOptionInputEl_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","DropdownScss"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as e,a as i,b as t,c as a,d as n}from"../../../vendor/tslib-Ac8XvvSX.js";import{i as r,t as
|
|
1
|
+
import{_ as e,a as i,b as t,c as a,d as n}from"../../../vendor/tslib-Ac8XvvSX.js";import{i as r,t as d,r as l,n as o}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{e as h,x as s}from"../../../vendor/lit-html-BRBT5o_V.js";import{i as g}from"../../../vendor/lit-element-m-OqzV5s.js";var m=r`*,
|
|
2
2
|
*::before,
|
|
3
3
|
*::after {
|
|
4
4
|
box-sizing: border-box;
|
|
@@ -215,36 +215,36 @@ import{_ as e,a as i,b as t,c as a,d as n}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
215
215
|
}
|
|
216
216
|
.page-subtitle {
|
|
217
217
|
font-family: var(--kd-font-family-secondary);
|
|
218
|
-
font-size: var(--kd-font-size-
|
|
219
|
-
line-height: var(--kd-line-height-
|
|
218
|
+
font-size: var(--kd-font-size-body-2-sm);
|
|
219
|
+
line-height: var(--kd-line-height-body-2-sm);
|
|
220
220
|
font-weight: var(--kd-font-weight-regular);
|
|
221
|
-
letter-spacing: var(--kd-letter-spacing-
|
|
221
|
+
letter-spacing: var(--kd-letter-spacing-4);
|
|
222
222
|
color: var(--kd-color-text-level-secondary);
|
|
223
223
|
margin-top: 2px;
|
|
224
224
|
margin-bottom: 0;
|
|
225
225
|
}
|
|
226
226
|
@media (min-width: 42rem) {
|
|
227
227
|
.page-subtitle {
|
|
228
|
-
font-size: var(--kd-font-size-
|
|
229
|
-
line-height: var(--kd-line-height-
|
|
228
|
+
font-size: var(--kd-font-size-body-2-md);
|
|
229
|
+
line-height: var(--kd-line-height-body-2-md);
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
@media (min-width: 74rem) {
|
|
233
233
|
.page-subtitle {
|
|
234
|
-
font-size: var(--kd-font-size-
|
|
235
|
-
line-height: var(--kd-line-height-
|
|
234
|
+
font-size: var(--kd-font-size-body-2-lg);
|
|
235
|
+
line-height: var(--kd-line-height-body-2-lg);
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
238
|
@media (min-width: 82rem) {
|
|
239
239
|
.page-subtitle {
|
|
240
|
-
font-size: var(--kd-font-size-
|
|
241
|
-
line-height: var(--kd-line-height-
|
|
240
|
+
font-size: var(--kd-font-size-body-2-xlg);
|
|
241
|
+
line-height: var(--kd-line-height-body-2-xlg);
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
@media (min-width: 99rem) {
|
|
245
245
|
.page-subtitle {
|
|
246
|
-
font-size: var(--kd-font-size-
|
|
247
|
-
line-height: var(--kd-line-height-
|
|
246
|
+
font-size: var(--kd-font-size-body-2-max);
|
|
247
|
+
line-height: var(--kd-line-height-body-2-max);
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
250
|
|
|
@@ -252,7 +252,7 @@ import{_ as e,a as i,b as t,c as a,d as n}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
252
252
|
max-width: 56px;
|
|
253
253
|
max-height: 56px;
|
|
254
254
|
margin-right: 16px;
|
|
255
|
-
}`;let p=(()=>{var r,p,f,v,k;let c,y,b,
|
|
255
|
+
}`;let p=(()=>{var r,p,f,v,k;let c,y,b,z,w,u,x,T=[d("kyn-page-title")],S=[],$=g,L=[],C=[],j=[],M=[],W=[],O=[],P=[],B=[],H=[],_=[];return y=class extends ${get headLine(){return a(this,r,"f")}set headLine(e){n(this,r,e,"f")}get pageTitle(){return a(this,p,"f")}set pageTitle(e){n(this,p,e,"f")}get subTitle(){return a(this,f,"f")}set subTitle(e){n(this,f,e,"f")}get type(){return a(this,v,"f")}set type(e){n(this,v,e,"f")}get aiConnected(){return a(this,k,"f")}set aiConnected(e){n(this,k,e,"f")}render(){const e={"page-title":!0,[`page-title-${this.type}`]:!0,"ai-connected":this.aiConnected},i={"page-subtitle":!0,[`page-subtitle-${this.type}`]:!0};return s`
|
|
256
256
|
<div class="page-title-wrapper">
|
|
257
257
|
<div class="icon-wrapper">
|
|
258
258
|
<slot name="icon"></slot>
|
|
@@ -262,12 +262,12 @@ import{_ as e,a as i,b as t,c as a,d as n}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
262
262
|
<!-- Headline -->
|
|
263
263
|
${""!==this.headLine?s`<div class="page-headline">${this.headLine}</div>`:null}
|
|
264
264
|
<!-- Title -->
|
|
265
|
-
<h1 class="${
|
|
265
|
+
<h1 class="${h(e)}">${this.pageTitle}</h1>
|
|
266
266
|
<!-- Subtitle -->
|
|
267
|
-
${""!==this.subTitle?s`<div class="${
|
|
267
|
+
${""!==this.subTitle?s`<div class="${h(i)}">
|
|
268
268
|
${this.subTitle}
|
|
269
269
|
</div>`:null}
|
|
270
270
|
</div>
|
|
271
271
|
</div>
|
|
272
|
-
`}constructor(){super(...arguments),r.set(this,t(this,L,"")),p.set(this,(t(this,C),t(this,j,""))),f.set(this,(t(this,M),t(this,W,""))),v.set(this,(t(this,O),t(this,P,"primary"))),k.set(this,(t(this,B),t(this,H,!1))),t(this,_)}},r=new WeakMap,p=new WeakMap,f=new WeakMap,v=new WeakMap,k=new WeakMap,e(y,"PageTitle"),(()=>{var e;const t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=$[Symbol.metadata])&&void 0!==e?e:null):void 0;b=[
|
|
272
|
+
`}constructor(){super(...arguments),r.set(this,t(this,L,"")),p.set(this,(t(this,C),t(this,j,""))),f.set(this,(t(this,M),t(this,W,""))),v.set(this,(t(this,O),t(this,P,"primary"))),k.set(this,(t(this,B),t(this,H,!1))),t(this,_)}},r=new WeakMap,p=new WeakMap,f=new WeakMap,v=new WeakMap,k=new WeakMap,e(y,"PageTitle"),(()=>{var e;const t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=$[Symbol.metadata])&&void 0!==e?e:null):void 0;b=[o({type:String})],z=[o({type:String})],w=[o({type:String})],u=[o({type:String})],x=[o({type:Boolean})],i(y,null,b,{kind:"accessor",name:"headLine",static:!1,private:!1,access:{has:e=>"headLine"in e,get:e=>e.headLine,set:(e,i)=>{e.headLine=i}},metadata:t},L,C),i(y,null,z,{kind:"accessor",name:"pageTitle",static:!1,private:!1,access:{has:e=>"pageTitle"in e,get:e=>e.pageTitle,set:(e,i)=>{e.pageTitle=i}},metadata:t},j,M),i(y,null,w,{kind:"accessor",name:"subTitle",static:!1,private:!1,access:{has:e=>"subTitle"in e,get:e=>e.subTitle,set:(e,i)=>{e.subTitle=i}},metadata:t},W,O),i(y,null,u,{kind:"accessor",name:"type",static:!1,private:!1,access:{has:e=>"type"in e,get:e=>e.type,set:(e,i)=>{e.type=i}},metadata:t},P,B),i(y,null,x,{kind:"accessor",name:"aiConnected",static:!1,private:!1,access:{has:e=>"aiConnected"in e,get:e=>e.aiConnected,set:(e,i)=>{e.aiConnected=i}},metadata:t},H,_),i(null,c={value:y},T,{kind:"class",name:y.name,metadata:t},null,S),y=c.value,t&&Object.defineProperty(y,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})})(),y.styles=l(m),t(y,S),y})();export{p as PageTitle};
|
|
273
273
|
//# sourceMappingURL=pageTitle.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{T as Table}from"../../../table-
|
|
1
|
+
export{T as Table}from"../../../table-CjVS72wk.js";export{TableCell}from"./table-cell.js";export{TableRow}from"./table-row.js";export{TableBody}from"./table-body.js";export{TableHead}from"./table-head.js";export{TableHeader}from"./table-header.js";export{TableFoot}from"./table-foot.js";export{TableFooter}from"./table-footer.js";export{TableLegend}from"./table-legend.js";export{TableLegendItem}from"./table-legend-item.js";export{TableToolbar}from"./table-toolbar.js";export{TableContainer}from"./table-container.js";export{TableHeaderRow}from"./table-header-row.js";export{TableExpandedRow}from"./table-expanded-row.js";export{TableSkeleton}from"./table.skeleton.js";import"../../../vendor/tslib-Ac8XvvSX.js";import"../../../vendor/@lit/reactive-element-f91Vet7N.js";import"../../../vendor/lit-html-BRBT5o_V.js";import"../../../vendor/lit-element-m-OqzV5s.js";import"../../../vendor/@lit/context-nxMZ2CIX.js";import"./table-context.js";import"./defs.js";import"../../../vendor/@kyndryl-design-system/shidoka-icons-bi0_OAYf.js";import"../checkbox/checkbox.js";import"../../../vendor/deepmerge-ts-OFb5ej8y.js";import"../loaders/skeleton.js";import"../pagination/pagination.skeleton.js";import"../../../pagination-Ch_Cw4ij.js";import"../globalFilter/globalFilter.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -18,7 +18,7 @@ export declare class Table extends LitElement {
|
|
|
18
18
|
* selectable using checkboxes.
|
|
19
19
|
* @type {boolean}
|
|
20
20
|
*/
|
|
21
|
-
accessor checkboxSelection: boolean;
|
|
21
|
+
accessor checkboxSelection: boolean | undefined;
|
|
22
22
|
/**
|
|
23
23
|
* striped: Boolean indicating whether rows should have alternate
|
|
24
24
|
* coloring.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/table/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,cAAc,EAAa,MAAM,KAAK,CAAC;AAKlE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC;;;;;;GAMG;AAEH,qBACa,KAAM,SAAQ,UAAU;IACnC,OAAgB,MAAM,0BAAqB;IAE3C;;OAEG;IACH,SACkB,IAAI,SAAW;IAEjC;;;;OAIG;IAEH,QAAQ,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/table/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,cAAc,EAAa,MAAM,KAAK,CAAC;AAKlE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC;;;;;;GAMG;AAEH,qBACa,KAAM,SAAQ,UAAU;IACnC,OAAgB,MAAM,0BAAqB;IAE3C;;OAEG;IACH,SACkB,IAAI,SAAW;IAEjC;;;;OAIG;IAEH,QAAQ,CAAC,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IAEhD;;;;OAIG;IAEH,QAAQ,CAAC,OAAO,UAAS;IAEzB;;;;OAIG;IAEH,QAAQ,CAAC,YAAY,UAAS;IAE9B;;;;;OAKG;IAEH,QAAQ,CAAC,KAAK,UAAS;IAEvB;;;;;;SAMK;IAEL,QAAQ,CAAC,WAAW,UAAS;IAE7B;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2C;IAErE;;OAEG;IACM,OAAO,CAAC,iBAAiB,EAAE,cAAc;IAoBlD;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+B;IAE/D;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAE3C;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;IAEhD;;;;OAIG;IAEH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAE1D;;;;;OAKG;IAEH,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAS;IAEtD;;;;;OAKG;IAEH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAEhD;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAgCjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;;;;OAKG;IACI,0BAA0B;IAWjC;;;;OAIG;IACI,eAAe;IAItB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,sBAAsB;IAmBrB,iBAAiB;IAiBjB,oBAAoB;IAiBpB,YAAY;IAIZ,MAAM;CAGhB;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,KAAK,CAAC;KACpB;CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../../../vendor/tslib-Ac8XvvSX.js";import"../../../vendor/@lit/reactive-element-f91Vet7N.js";import"../../../vendor/lit-html-BRBT5o_V.js";import"../../../vendor/lit-element-m-OqzV5s.js";import"../../../vendor/@lit/context-nxMZ2CIX.js";import"./table-context.js";export{T as Table}from"../../../table-
|
|
1
|
+
import"../../../vendor/tslib-Ac8XvvSX.js";import"../../../vendor/@lit/reactive-element-f91Vet7N.js";import"../../../vendor/lit-html-BRBT5o_V.js";import"../../../vendor/lit-element-m-OqzV5s.js";import"../../../vendor/@lit/context-nxMZ2CIX.js";import"./table-context.js";export{T as Table}from"../../../table-CjVS72wk.js";
|
|
2
2
|
//# sourceMappingURL=table.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as e}from"../../../table-
|
|
1
|
+
import{c as e}from"../../../table-CjVS72wk.js";import"./table-cell.js";import"./table-row.js";import"./table-body.js";import"./table-head.js";import"./table-header.js";import"./table-foot.js";import"./table-footer.js";import"./table-legend.js";import"./table-legend-item.js";import"./table-toolbar.js";import"./table-container.js";import"./table-header-row.js";import"./table-expanded-row.js";import{_ as t,a,b as s,c as l,d as i}from"../../../vendor/tslib-Ac8XvvSX.js";import{t as n,i as o,r,n as d}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{x as h}from"../../../vendor/lit-html-BRBT5o_V.js";import{i as p}from"../../../vendor/lit-element-m-OqzV5s.js";import"../loaders/skeleton.js";import"../pagination/pagination.skeleton.js";import"../globalFilter/globalFilter.js";import"../../../vendor/@lit/context-nxMZ2CIX.js";import"./table-context.js";import"./defs.js";import"../../../vendor/@kyndryl-design-system/shidoka-icons-bi0_OAYf.js";import"../checkbox/checkbox.js";import"../../../vendor/deepmerge-ts-OFb5ej8y.js";import"../../../pagination-Ch_Cw4ij.js";(()=>{let e,l,i=[n("sample-filter-skeleton-component")],r=[],d=p;l=class extends d{render(){return h`
|
|
2
2
|
<kyn-global-filter>
|
|
3
3
|
<div class="left-wrapper">
|
|
4
4
|
<kyn-skeleton width="122px" class="left-content"></kyn-skeleton>
|
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{Header}from"./components/global/header/header.js";export{HeaderNav}from"./components/global/header/headerNav.js";export{HeaderLink}from"./components/global/header/headerLink.js";export{HeaderCategory}from"./components/global/header/headerCategory.js";export{HeaderDivider}from"./components/global/header/headerDivider.js";export{HeaderFlyouts}from"./components/global/header/headerFlyouts.js";export{HeaderFlyout}from"./components/global/header/headerFlyout.js";export{HeaderUserProfile}from"./components/global/header/headerUserProfile.js";export{HeaderPanelLink}from"./components/global/header/headerPanelLink.js";export{HeaderNotificationPanel}from"./components/global/header/headerNotificationPanel.js";export{LocalNav}from"./components/global/localNav/localNav.js";export{LocalNavLink}from"./components/global/localNav/localNavLink.js";export{LocalNavDivider}from"./components/global/localNav/localNavDivider.js";export{Footer}from"./components/global/footer/footer.js";export{UiShell}from"./components/global/uiShell/uiShell.js";export{RadioButton}from"./components/reusable/radioButton/radioButton.js";export{RadioButtonGroup}from"./components/reusable/radioButton/radioButtonGroup.js";export{Checkbox}from"./components/reusable/checkbox/checkbox.js";export{CheckboxGroup}from"./components/reusable/checkbox/checkboxGroup.js";export{CheckboxSubgroup}from"./components/reusable/checkbox/checkboxSubgroup.js";export{TextInput}from"./components/reusable/textInput/textInput.js";export{TextArea}from"./components/reusable/textArea/textArea.js";export{Avatar}from"./components/reusable/avatar/avatar.js";export{ToggleButton}from"./components/reusable/toggleButton/toggleButton.js";export{Dropdown}from"./components/reusable/dropdown/dropdown.js";export{DropdownOption}from"./components/reusable/dropdown/dropdownOption.js";export{DropdownCategory}from"./components/reusable/dropdown/dropdownCategory.js";import"./components/reusable/dropdown/enhancedDropdownOption.js";export{DatePicker}from"./components/reusable/datePicker/datepicker.js";export{DateRangePicker}from"./components/reusable/daterangepicker/daterangepicker.js";export{TimePicker}from"./components/reusable/timepicker/timepicker.js";export{ProgressBar}from"./components/reusable/progressBar/progressBar.js";export{BlockCodeView}from"./components/reusable/blockCodeView/blockCodeView.js";export{InlineCodeView}from"./components/reusable/inlineCodeView/inlineCodeView.js";export{Breadcrumbs}from"./components/reusable/breadcrumbs/breadcrumbs.js";export{T as Table}from"./table-
|
|
1
|
+
export{Header}from"./components/global/header/header.js";export{HeaderNav}from"./components/global/header/headerNav.js";export{HeaderLink}from"./components/global/header/headerLink.js";export{HeaderCategory}from"./components/global/header/headerCategory.js";export{HeaderDivider}from"./components/global/header/headerDivider.js";export{HeaderFlyouts}from"./components/global/header/headerFlyouts.js";export{HeaderFlyout}from"./components/global/header/headerFlyout.js";export{HeaderUserProfile}from"./components/global/header/headerUserProfile.js";export{HeaderPanelLink}from"./components/global/header/headerPanelLink.js";export{HeaderNotificationPanel}from"./components/global/header/headerNotificationPanel.js";export{LocalNav}from"./components/global/localNav/localNav.js";export{LocalNavLink}from"./components/global/localNav/localNavLink.js";export{LocalNavDivider}from"./components/global/localNav/localNavDivider.js";export{Footer}from"./components/global/footer/footer.js";export{UiShell}from"./components/global/uiShell/uiShell.js";export{RadioButton}from"./components/reusable/radioButton/radioButton.js";export{RadioButtonGroup}from"./components/reusable/radioButton/radioButtonGroup.js";export{Checkbox}from"./components/reusable/checkbox/checkbox.js";export{CheckboxGroup}from"./components/reusable/checkbox/checkboxGroup.js";export{CheckboxSubgroup}from"./components/reusable/checkbox/checkboxSubgroup.js";export{TextInput}from"./components/reusable/textInput/textInput.js";export{TextArea}from"./components/reusable/textArea/textArea.js";export{Avatar}from"./components/reusable/avatar/avatar.js";export{ToggleButton}from"./components/reusable/toggleButton/toggleButton.js";export{Dropdown}from"./components/reusable/dropdown/dropdown.js";export{DropdownOption}from"./components/reusable/dropdown/dropdownOption.js";export{DropdownCategory}from"./components/reusable/dropdown/dropdownCategory.js";import"./components/reusable/dropdown/enhancedDropdownOption.js";export{DatePicker}from"./components/reusable/datePicker/datepicker.js";export{DateRangePicker}from"./components/reusable/daterangepicker/daterangepicker.js";export{TimePicker}from"./components/reusable/timepicker/timepicker.js";export{ProgressBar}from"./components/reusable/progressBar/progressBar.js";export{BlockCodeView}from"./components/reusable/blockCodeView/blockCodeView.js";export{InlineCodeView}from"./components/reusable/inlineCodeView/inlineCodeView.js";export{Breadcrumbs}from"./components/reusable/breadcrumbs/breadcrumbs.js";export{T as Table}from"./table-CjVS72wk.js";export{TableCell}from"./components/reusable/table/table-cell.js";export{TableRow}from"./components/reusable/table/table-row.js";export{TableBody}from"./components/reusable/table/table-body.js";export{TableHead}from"./components/reusable/table/table-head.js";export{TableHeader}from"./components/reusable/table/table-header.js";export{TableFoot}from"./components/reusable/table/table-foot.js";export{TableFooter}from"./components/reusable/table/table-footer.js";export{TableLegend}from"./components/reusable/table/table-legend.js";export{TableLegendItem}from"./components/reusable/table/table-legend-item.js";export{TableToolbar}from"./components/reusable/table/table-toolbar.js";export{TableContainer}from"./components/reusable/table/table-container.js";export{TableHeaderRow}from"./components/reusable/table/table-header-row.js";export{TableExpandedRow}from"./components/reusable/table/table-expanded-row.js";import"./components/reusable/table/table.skeleton.js";export{Pagination}from"./components/reusable/pagination/Pagination.js";import"./components/reusable/pagination/pagination-items-range.js";import"./components/reusable/pagination/pagination-page-size-dropdown.js";import"./components/reusable/pagination/pagination-navigation-buttons.js";import"./components/reusable/pagination/pagination.skeleton.js";export{OverflowMenu}from"./components/reusable/overflowMenu/overflowMenu.js";export{OverflowMenuItem}from"./components/reusable/overflowMenu/overflowMenuItem.js";export{Tabs}from"./components/reusable/tabs/tabs.js";export{Tab}from"./components/reusable/tabs/tab.js";export{TabPanel}from"./components/reusable/tabs/tabPanel.js";export{Modal}from"./components/reusable/modal/modal.js";export{Tooltip}from"./components/reusable/tooltip/tooltip.js";export{Tag}from"./components/reusable/tag/tag.js";export{TagGroup}from"./components/reusable/tag/tagGroup.js";import"./components/reusable/tag/tag.skeleton.js";export{GlobalFilter}from"./components/reusable/globalFilter/globalFilter.js";export{SideDrawer}from"./components/reusable/sideDrawer/sideDrawer.js";export{PageTitle}from"./components/reusable/pagetitle/pageTitle.js";export{Notification}from"./components/reusable/notification/notification.js";export{NotificationContainer}from"./components/reusable/notification/notificationContainer.js";export{Widget}from"./components/reusable/widget/widget.js";export{WidgetDragHandle}from"./components/reusable/widget/widgetDragHandle.js";export{WidgetGridstack}from"./components/reusable/widget/widgetGridstack.js";export{Search}from"./components/reusable/search/search.js";export{Loader}from"./components/reusable/loaders/loader.js";export{LoaderInline}from"./components/reusable/loaders/inline.js";export{Skeleton}from"./components/reusable/loaders/skeleton.js";export{NumberInput}from"./components/reusable/numberInput/numberInput.js";export{SliderInput}from"./components/reusable/sliderInput/sliderInput.js";export{Popover}from"./components/reusable/popover/popover.js";export{createOptionsArray,debounce,stringToReactHtml}from"./common/helpers/helpers.js";export{Config,WidgetConstraints,WidgetSizes}from"./common/helpers/gridstack.js";export{SwiperConfig}from"./common/helpers/swiper.js";export{Stepper}from"./components/reusable/stepper/stepper.js";export{StepperItem}from"./components/reusable/stepper/stepperItem.js";export{StepperItemChild}from"./components/reusable/stepper/stepperItemChild.js";export{Button}from"./components/reusable/button/button.js";export{Link}from"./components/reusable/link/link.js";export{Accordion}from"./components/reusable/accordion/accordion.js";export{AccordionItem}from"./components/reusable/accordion/accordionItem.js";export{Card}from"./components/reusable/card/card.js";import"./components/reusable/card/vitalCard.skeleton.js";import"./components/reusable/card/informationalCard.skeleton.js";export{SplitButton}from"./components/reusable/splitButton/splitButton.js";export{SplitButtonOption}from"./components/reusable/splitButton/splitButtonOption.js";export{FloatingContainer}from"./components/reusable/floatingContainer/floatingContainer.js";export{AISourcesFeedback}from"./components/ai/sourcesFeedback/aiSourcesFeedback.js";export{InlineConfirm}from"./components/reusable/inlineConfirm/inlineConfirm.js";export{ColorInput}from"./components/reusable/colorInput/colorInput.js";import"./vendor/tslib-Ac8XvvSX.js";import"./vendor/@lit/reactive-element-f91Vet7N.js";import"./vendor/lit-html-BRBT5o_V.js";import"./vendor/lit-element-m-OqzV5s.js";import"./vendor/@kyndryl-design-system/shidoka-foundation-7uii0Jz8.js";import"./vendor/@kyndryl-design-system/shidoka-icons-bi0_OAYf.js";import"./vendor/deepmerge-ts-OFb5ej8y.js";import"./common/mixins/form-input.js";import"./common/helpers/flatpickr.js";import"./vendor/flatpickr-D1_FkiHZ.js";import"./common/flatpickrLangs.js";import"./shidoka-flatpickr-theme-Cyh88ZXb.js";import"./vendor/prismjs-1mvJofm2.js";import"./vendor/@lit/context-nxMZ2CIX.js";import"./components/reusable/table/table-context.js";import"./components/reusable/table/defs.js";import"./pagination-Ch_Cw4ij.js";import"./tag-B2B6WTaT.js";import"./components/reusable/badge/badge.js";import"./vendor/query-selector-shadow-dom-D9NRI6Ow.js";import"./vendor/gridstack-D_3XX7W5.js";import"./vendor/lottie-web-t-JWAnz9.js";import"./vendor/@floating-ui/dom-DatHEGLh.js";import"./vendor/@floating-ui/core-Psgh4TGO.js";import"./vendor/@floating-ui/utils-CqAU-KUi.js";import"./common/helpers/popoverHelper.js";import"./components/reusable/button/defs.js";import"./components/reusable/link/defs.js";import"./cardSample-CUzFck1J.js";import"./components/reusable/splitButton/defs.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kyndryl-design-system/shidoka-applications",
|
|
3
|
-
"version": "2.58.
|
|
3
|
+
"version": "2.58.2",
|
|
4
4
|
"description": "Shidoka Web Components for Applications",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "index.js",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"@typescript-eslint/parser": "^5.48.1",
|
|
70
70
|
"@vitest/browser": "^3.2.4",
|
|
71
71
|
"@vitest/coverage-v8": "^3.2.4",
|
|
72
|
-
"axe-playwright": "^2.0
|
|
72
|
+
"axe-playwright": "^2.1.0",
|
|
73
73
|
"chromatic": "^11.2.0",
|
|
74
74
|
"eslint": "^8.57.0",
|
|
75
75
|
"eslint-plugin-lit-a11y": "^1.1.0-next.1",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"husky": "^8.0.3",
|
|
78
78
|
"lint-staged": "^15.4.3",
|
|
79
79
|
"lit-analyzer": "^2.0.3",
|
|
80
|
-
"playwright": "^1.
|
|
80
|
+
"playwright": "^1.55.0",
|
|
81
81
|
"postcss": "^8.4.21",
|
|
82
82
|
"prettier": "^2.8.2",
|
|
83
83
|
"prismjs-components-importer": "^0.2.0",
|
|
@@ -30,5 +30,5 @@ kyn-tr.selected {
|
|
|
30
30
|
.pagination-skeleton-wrapper {
|
|
31
31
|
margin-top: 16px;
|
|
32
32
|
float: right;
|
|
33
|
-
}`;let _=(()=>{var o,_,b,u,m,g,R,f,x,v,C,y,S;let I,H,E,L,M,W,j,A,B,P,q,z,O,T,U,V=[c("kyn-table")],D=[],F=l,G=[],J=[],K=[],N=[],Q=[],X=[],Y=[],Z=[],$=[],ee=[],te=[],se=[],ae=[],ie=[],oe=[],de=[],ce=[],ne=[],he=[],re=[],le=[],pe=[],ke=[],we=[],_e=[],be=[];return H=class extends F{get role(){return a(this,o,"f")}set role(e){i(this,o,e,"f")}get checkboxSelection(){return a(this,_,"f")}set checkboxSelection(e){i(this,_,e,"f")}get striped(){return a(this,b,"f")}set striped(e){i(this,b,e,"f")}get stickyHeader(){return a(this,u,"f")}set stickyHeader(e){i(this,u,e,"f")}get dense(){return a(this,m,"f")}set dense(e){i(this,m,e,"f")}get fixedLayout(){return a(this,g,"f")}set fixedLayout(e){i(this,g,e,"f")}get _provider(){return a(this,R,"f")}set _provider(e){i(this,R,e,"f")}updated(e){if(super.updated(e),e.has("dense")||e.has("striped")||e.has("checkboxSelection")||e.has("stickyHeader")){const e={dense:this.dense,striped:this.striped,checkboxSelection:this.checkboxSelection,stickyHeader:this.stickyHeader};this._provider.setValue(e)}}get _tableHeaderRow(){return a(this,f,"f")}set _tableHeaderRow(e){i(this,f,e,"f")}get _allRows(){return a(this,x,"f")}set _allRows(e){i(this,x,e,"f")}get _selectedRows(){return a(this,v,"f")}set _selectedRows(e){i(this,v,e,"f")}get _selectedRowIds(){return a(this,C,"f")}set _selectedRowIds(e){i(this,C,e,"f")}get _headerCheckboxIndeterminate(){return a(this,y,"f")}set _headerCheckboxIndeterminate(e){i(this,y,e,"f")}get _headerCheckboxChecked(){return a(this,S,"f")}set _headerCheckboxChecked(e){i(this,S,e,"f")}_updateHeaderCheckbox(){var e;0===this._selectedRows.length||0===this._allRows.length?(this._headerCheckboxIndeterminate=!1,this._headerCheckboxChecked=!1):this._selectedRows.length===this._allRows.length?(this._headerCheckboxIndeterminate=!1,this._headerCheckboxChecked=!0):(this._headerCheckboxIndeterminate=!0,this._headerCheckboxChecked=!1),null===(e=this._tableHeaderRow)||void 0===e||e.updateHeaderCheckboxState(this._headerCheckboxIndeterminate,this._headerCheckboxChecked)}_handleRowSelectionChange(e){e.stopPropagation();const{target:t}=e,{_selectedRows:s}=this;if(!this.contains(t))return;s.includes(t)?(this._selectedRows=s.filter((e=>e!==t)),this._selectedRowIds.delete(t.rowId)):(this._selectedRows.push(t),this._selectedRowIds.add(t.rowId)),this._updateHeaderCheckbox();const a={bubbles:!1,cancelable:!0,composed:!0,detail:{selectedRow:t,selectedRows:this._selectedRows}};this.dispatchEvent(new CustomEvent("on-row-selection-change",a))}_toggleSelectionAll(e){e.stopPropagation();const{detail:{checked:t},target:s}=e,{_allRows:a}=this;if(!this.contains(s))return;a.forEach((e=>{e.disabled||(e.selected=t)})),this._selectedRows=[...a.filter((e=>e.selected))],this._selectedRowIds=new Set(this._selectedRows.map((e=>e.rowId))),this._updateHeaderCheckbox();const i={bubbles:!1,cancelable:!0,composed:!0,detail:{selectedRows:this._selectedRows}};this.dispatchEvent(new CustomEvent("on-all-rows-selection-change",i))}updateAfterExternalChanges(){this._allRows=Array.from(this.querySelectorAll("kyn-tr")),this._selectedRows=this._allRows.filter((e=>e.selected)),this._updateHeaderCheckbox(),this.requestUpdate()}getSelectedRows(){return this._selectedRows}_handleRowsChange(e){const{detail:{rows:t}}=e;e.stopPropagation(),this._allRows=t,this._updateSelectionStates(),this._updateHeaderCheckbox()}_updateSelectionStates(){const e=[];this._allRows.forEach((t=>{this._selectedRowIds.has(t.rowId)?(t.selected=!0,e.push(t)):t.selected&&(this._selectedRowIds.add(t.rowId),e.push(t))})),this._selectedRows=e}connectedCallback(){super.connectedCallback(),this.addEventListener("on-header-checkbox-toggle",this._toggleSelectionAll),this.addEventListener("on-row-select",this._handleRowSelectionChange),this.addEventListener("on-rows-change",this._handleRowsChange)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("on-header-checkbox-toggle",this._toggleSelectionAll),this.removeEventListener("on-row-select",this._handleRowSelectionChange),this.removeEventListener("on-rows-change",this._handleRowsChange)}firstUpdated(){this._tableHeaderRow=this.querySelector("kyn-header-tr")}render(){return r` <slot></slot> `}constructor(){super(...arguments),o.set(this,s(this,G,"table")),_.set(this,(s(this,J),s(this,K
|
|
34
|
-
//# sourceMappingURL=table-
|
|
33
|
+
}`;let _=(()=>{var o,_,b,u,m,g,R,f,x,v,C,y,S;let I,H,E,L,M,W,j,A,B,P,q,z,O,T,U,V=[c("kyn-table")],D=[],F=l,G=[],J=[],K=[],N=[],Q=[],X=[],Y=[],Z=[],$=[],ee=[],te=[],se=[],ae=[],ie=[],oe=[],de=[],ce=[],ne=[],he=[],re=[],le=[],pe=[],ke=[],we=[],_e=[],be=[];return H=class extends F{get role(){return a(this,o,"f")}set role(e){i(this,o,e,"f")}get checkboxSelection(){return a(this,_,"f")}set checkboxSelection(e){i(this,_,e,"f")}get striped(){return a(this,b,"f")}set striped(e){i(this,b,e,"f")}get stickyHeader(){return a(this,u,"f")}set stickyHeader(e){i(this,u,e,"f")}get dense(){return a(this,m,"f")}set dense(e){i(this,m,e,"f")}get fixedLayout(){return a(this,g,"f")}set fixedLayout(e){i(this,g,e,"f")}get _provider(){return a(this,R,"f")}set _provider(e){i(this,R,e,"f")}updated(e){if(super.updated(e),e.has("dense")||e.has("striped")||e.has("checkboxSelection")||e.has("stickyHeader")){const e={dense:this.dense,striped:this.striped,checkboxSelection:this.checkboxSelection,stickyHeader:this.stickyHeader};this._provider.setValue(e)}}get _tableHeaderRow(){return a(this,f,"f")}set _tableHeaderRow(e){i(this,f,e,"f")}get _allRows(){return a(this,x,"f")}set _allRows(e){i(this,x,e,"f")}get _selectedRows(){return a(this,v,"f")}set _selectedRows(e){i(this,v,e,"f")}get _selectedRowIds(){return a(this,C,"f")}set _selectedRowIds(e){i(this,C,e,"f")}get _headerCheckboxIndeterminate(){return a(this,y,"f")}set _headerCheckboxIndeterminate(e){i(this,y,e,"f")}get _headerCheckboxChecked(){return a(this,S,"f")}set _headerCheckboxChecked(e){i(this,S,e,"f")}_updateHeaderCheckbox(){var e;0===this._selectedRows.length||0===this._allRows.length?(this._headerCheckboxIndeterminate=!1,this._headerCheckboxChecked=!1):this._selectedRows.length===this._allRows.length?(this._headerCheckboxIndeterminate=!1,this._headerCheckboxChecked=!0):(this._headerCheckboxIndeterminate=!0,this._headerCheckboxChecked=!1),null===(e=this._tableHeaderRow)||void 0===e||e.updateHeaderCheckboxState(this._headerCheckboxIndeterminate,this._headerCheckboxChecked)}_handleRowSelectionChange(e){e.stopPropagation();const{target:t}=e,{_selectedRows:s}=this;if(!this.contains(t))return;s.includes(t)?(this._selectedRows=s.filter((e=>e!==t)),this._selectedRowIds.delete(t.rowId)):(this._selectedRows.push(t),this._selectedRowIds.add(t.rowId)),this._updateHeaderCheckbox();const a={bubbles:!1,cancelable:!0,composed:!0,detail:{selectedRow:t,selectedRows:this._selectedRows}};this.dispatchEvent(new CustomEvent("on-row-selection-change",a))}_toggleSelectionAll(e){e.stopPropagation();const{detail:{checked:t},target:s}=e,{_allRows:a}=this;if(!this.contains(s))return;a.forEach((e=>{e.disabled||(e.selected=t)})),this._selectedRows=[...a.filter((e=>e.selected))],this._selectedRowIds=new Set(this._selectedRows.map((e=>e.rowId))),this._updateHeaderCheckbox();const i={bubbles:!1,cancelable:!0,composed:!0,detail:{selectedRows:this._selectedRows}};this.dispatchEvent(new CustomEvent("on-all-rows-selection-change",i))}updateAfterExternalChanges(){this._allRows=Array.from(this.querySelectorAll("kyn-tr")),this._selectedRows=this._allRows.filter((e=>e.selected)),this._updateHeaderCheckbox(),this.requestUpdate()}getSelectedRows(){return this._selectedRows}_handleRowsChange(e){const{detail:{rows:t}}=e;e.stopPropagation(),this._allRows=t,this._updateSelectionStates(),this._updateHeaderCheckbox()}_updateSelectionStates(){const e=[];this._allRows.forEach((t=>{this._selectedRowIds.has(t.rowId)?(t.selected=!0,e.push(t)):t.selected&&(this._selectedRowIds.add(t.rowId),e.push(t))})),this._selectedRows=e}connectedCallback(){super.connectedCallback(),this.addEventListener("on-header-checkbox-toggle",this._toggleSelectionAll),this.addEventListener("on-row-select",this._handleRowSelectionChange),this.addEventListener("on-rows-change",this._handleRowsChange)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("on-header-checkbox-toggle",this._toggleSelectionAll),this.removeEventListener("on-row-select",this._handleRowSelectionChange),this.removeEventListener("on-rows-change",this._handleRowsChange)}firstUpdated(){this._tableHeaderRow=this.querySelector("kyn-header-tr")}render(){return r` <slot></slot> `}constructor(){super(...arguments),o.set(this,s(this,G,"table")),_.set(this,(s(this,J),s(this,K,void 0))),b.set(this,(s(this,N),s(this,Q,!1))),u.set(this,(s(this,X),s(this,Y,!1))),m.set(this,(s(this,Z),s(this,$,!1))),g.set(this,(s(this,ee),s(this,te,!1))),R.set(this,(s(this,se),s(this,ae,new p(this,k)))),f.set(this,(s(this,ie),s(this,oe,null))),x.set(this,(s(this,de),s(this,ce,[]))),v.set(this,(s(this,ne),s(this,he,[]))),C.set(this,(s(this,re),s(this,le,new Set))),y.set(this,(s(this,pe),s(this,ke,!1))),S.set(this,(s(this,we),s(this,_e,!1))),s(this,be)}},o=new WeakMap,_=new WeakMap,b=new WeakMap,u=new WeakMap,m=new WeakMap,g=new WeakMap,R=new WeakMap,f=new WeakMap,x=new WeakMap,v=new WeakMap,C=new WeakMap,y=new WeakMap,S=new WeakMap,e(H,"Table"),(()=>{var e;const s="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=F[Symbol.metadata])&&void 0!==e?e:null):void 0;E=[h({type:String,reflect:!0})],L=[h({type:Boolean})],M=[h({type:Boolean})],W=[h({type:Boolean})],j=[h({type:Boolean})],A=[h({type:Boolean})],B=[d()],P=[d()],q=[d()],z=[d()],O=[d()],T=[d()],U=[d()],t(H,null,E,{kind:"accessor",name:"role",static:!1,private:!1,access:{has:e=>"role"in e,get:e=>e.role,set:(e,t)=>{e.role=t}},metadata:s},G,J),t(H,null,L,{kind:"accessor",name:"checkboxSelection",static:!1,private:!1,access:{has:e=>"checkboxSelection"in e,get:e=>e.checkboxSelection,set:(e,t)=>{e.checkboxSelection=t}},metadata:s},K,N),t(H,null,M,{kind:"accessor",name:"striped",static:!1,private:!1,access:{has:e=>"striped"in e,get:e=>e.striped,set:(e,t)=>{e.striped=t}},metadata:s},Q,X),t(H,null,W,{kind:"accessor",name:"stickyHeader",static:!1,private:!1,access:{has:e=>"stickyHeader"in e,get:e=>e.stickyHeader,set:(e,t)=>{e.stickyHeader=t}},metadata:s},Y,Z),t(H,null,j,{kind:"accessor",name:"dense",static:!1,private:!1,access:{has:e=>"dense"in e,get:e=>e.dense,set:(e,t)=>{e.dense=t}},metadata:s},$,ee),t(H,null,A,{kind:"accessor",name:"fixedLayout",static:!1,private:!1,access:{has:e=>"fixedLayout"in e,get:e=>e.fixedLayout,set:(e,t)=>{e.fixedLayout=t}},metadata:s},te,se),t(H,null,B,{kind:"accessor",name:"_provider",static:!1,private:!1,access:{has:e=>"_provider"in e,get:e=>e._provider,set:(e,t)=>{e._provider=t}},metadata:s},ae,ie),t(H,null,P,{kind:"accessor",name:"_tableHeaderRow",static:!1,private:!1,access:{has:e=>"_tableHeaderRow"in e,get:e=>e._tableHeaderRow,set:(e,t)=>{e._tableHeaderRow=t}},metadata:s},oe,de),t(H,null,q,{kind:"accessor",name:"_allRows",static:!1,private:!1,access:{has:e=>"_allRows"in e,get:e=>e._allRows,set:(e,t)=>{e._allRows=t}},metadata:s},ce,ne),t(H,null,z,{kind:"accessor",name:"_selectedRows",static:!1,private:!1,access:{has:e=>"_selectedRows"in e,get:e=>e._selectedRows,set:(e,t)=>{e._selectedRows=t}},metadata:s},he,re),t(H,null,O,{kind:"accessor",name:"_selectedRowIds",static:!1,private:!1,access:{has:e=>"_selectedRowIds"in e,get:e=>e._selectedRowIds,set:(e,t)=>{e._selectedRowIds=t}},metadata:s},le,pe),t(H,null,T,{kind:"accessor",name:"_headerCheckboxIndeterminate",static:!1,private:!1,access:{has:e=>"_headerCheckboxIndeterminate"in e,get:e=>e._headerCheckboxIndeterminate,set:(e,t)=>{e._headerCheckboxIndeterminate=t}},metadata:s},ke,we),t(H,null,U,{kind:"accessor",name:"_headerCheckboxChecked",static:!1,private:!1,access:{has:e=>"_headerCheckboxChecked"in e,get:e=>e._headerCheckboxChecked,set:(e,t)=>{e._headerCheckboxChecked=t}},metadata:s},_e,be),t(null,I={value:H},V,{kind:"class",name:H.name,metadata:s},null,D),H=I.value,s&&Object.defineProperty(H,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:s})})(),H.styles=n(w),s(H,D),H})();export{_ as T,w as c};
|
|
34
|
+
//# sourceMappingURL=table-CjVS72wk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-CjVS72wk.js","sources":["../src/components/reusable/table/table.ts"],"sourcesContent":["import { LitElement, html, PropertyValues, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ContextProvider } from '@lit/context';\nimport { tableContext } from './table-context';\n\nimport { TableRow } from './table-row';\nimport { TableHeaderRow } from './table-header-row';\n\nimport styles from './table.scss?inline';\n\n/**\n * `kyn-table` Web Component.\n * This component provides a table with sorting, pagination, and selection capabilities.\n * It is designed to be used with the `kyn-table-toolbar` and `kyn-table-container` components.\n * @fires on-row-selection-change - Dispatched when the selection state of a row is toggled. `detail: { selectedRow: TableRow, selectedRows: Array<TableRow> }`\n * @fires on-all-rows-selection-change - Dispatched when the selection state of all rows is toggled. `detail:{ selectedRows: Array<TableRow> }`\n */\n\n@customElement('kyn-table')\nexport class Table extends LitElement {\n static override styles = unsafeCSS(styles);\n\n /** aria role.\n * @internal\n */\n @property({ type: String, reflect: true })\n override accessor role = 'table';\n\n /**\n * checkboxSelection: Boolean indicating whether rows should be\n * selectable using checkboxes.\n * @type {boolean}\n */\n @property({ type: Boolean })\n accessor checkboxSelection: boolean | undefined;\n\n /**\n * striped: Boolean indicating whether rows should have alternate\n * coloring.\n * @type {boolean}\n */\n @property({ type: Boolean })\n accessor striped = false;\n\n /**\n * stickyHeader: Boolean indicating whether the table header should be sticky.\n * Must also set a height or max-height on kyn-table-container.\n * @type {boolean}\n */\n @property({ type: Boolean })\n accessor stickyHeader = false;\n\n /**\n * dense: Boolean indicating whether the table should be displayed\n * in dense mode.\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean })\n accessor dense = false;\n\n /**\n * fixedLayout: Boolean indicating whether the table should have a fixed layout.\n * This will set the table's layout to fixed, which means the table and column widths\n * will be determined by the width of the columns and not by the content of the cells.\n * This can be useful when you want to have a consistent column width across multiple tables.\n * @type {boolean}\n * */\n @property({ type: Boolean })\n accessor fixedLayout = false;\n\n /**\n * _provider: Context provider for the table.\n * @ignore\n * @private\n */\n @state()\n private accessor _provider = new ContextProvider(this, tableContext);\n\n /**\n * updated: Lifecycle method called when the element is updated.\n */\n override updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n\n if (\n changedProperties.has('dense') ||\n changedProperties.has('striped') ||\n changedProperties.has('checkboxSelection') ||\n changedProperties.has('stickyHeader')\n ) {\n const newValues: Partial<any> = {\n dense: this.dense,\n striped: this.striped,\n checkboxSelection: this.checkboxSelection,\n stickyHeader: this.stickyHeader,\n };\n\n this._provider.setValue(newValues);\n }\n }\n\n /**\n * tableHeaderRow: Reference to the header row of the table.\n * @ignore\n * @private\n */\n @state()\n private accessor _tableHeaderRow: TableHeaderRow | null = null;\n\n /**\n * allRows: Array of objects representing each row in the data table.\n * @ignore\n * @private\n */\n @state()\n private accessor _allRows: TableRow[] = [];\n\n /**\n * selectedRows: Set of row ids that are currently selected.\n * @ignore\n * @private\n */\n @state()\n private accessor _selectedRows: TableRow[] = [];\n\n /**\n * selectedRowIds: Set of row ids that are currently selected.\n * @ignore\n * @private\n */\n @state()\n private accessor _selectedRowIds: Set<string> = new Set();\n\n /**\n * headerCheckboxIndeterminate: Boolean indicating whether the header\n * checkbox is in an indeterminate state.\n * @ignore\n * @private\n */\n @state()\n private accessor _headerCheckboxIndeterminate = false;\n\n /**\n * headerCheckboxChecked: Boolean indicating whether the header checkbox is\n * checked.\n * @ignore\n * @private\n */\n @state()\n private accessor _headerCheckboxChecked = false;\n\n /**\n * Updates the state of the header checkbox based on the number of\n * selected rows.\n * @private\n */\n private _updateHeaderCheckbox() {\n if (this._selectedRows.length === 0 || this._allRows.length === 0) {\n this._headerCheckboxIndeterminate = false;\n this._headerCheckboxChecked = false;\n } else if (this._selectedRows.length === this._allRows.length) {\n this._headerCheckboxIndeterminate = false;\n this._headerCheckboxChecked = true;\n } else {\n this._headerCheckboxIndeterminate = true;\n this._headerCheckboxChecked = false;\n }\n\n this._tableHeaderRow?.updateHeaderCheckboxState(\n this._headerCheckboxIndeterminate,\n this._headerCheckboxChecked\n );\n }\n\n /**\n * Handles the change of selection state for a specific row.\n */\n private _handleRowSelectionChange(event: CustomEvent) {\n event.stopPropagation();\n\n const { target } = event;\n const { _selectedRows: selectedRows } = this;\n\n if (!this.contains(target as TableRow)) {\n return;\n }\n\n if (selectedRows.includes(target as TableRow)) {\n this._selectedRows = selectedRows.filter((e) => e !== target);\n this._selectedRowIds.delete((target as TableRow).rowId);\n } else {\n this._selectedRows.push(target as TableRow);\n this._selectedRowIds.add((target as TableRow).rowId);\n }\n\n this._updateHeaderCheckbox();\n\n const init = {\n bubbles: false,\n cancelable: true,\n composed: true,\n detail: {\n selectedRow: target,\n selectedRows: this._selectedRows,\n },\n };\n this.dispatchEvent(new CustomEvent('on-row-selection-change', init));\n }\n\n /**\n * Toggles the selection state of all rows in the table.\n */\n private _toggleSelectionAll(event: CustomEvent) {\n event.stopPropagation();\n\n const {\n detail: { checked },\n target,\n } = event;\n const { _allRows: allRows } = this;\n\n if (!this.contains(target as TableRow)) {\n return;\n }\n\n allRows.forEach((row) => {\n if ((row as TableRow).disabled) return;\n\n (row as TableRow).selected = checked;\n });\n\n this._selectedRows = [...allRows.filter((row) => row.selected)];\n this._selectedRowIds = new Set(this._selectedRows.map((row) => row.rowId));\n\n this._updateHeaderCheckbox();\n\n const init = {\n bubbles: false,\n cancelable: true,\n composed: true,\n detail: {\n selectedRows: this._selectedRows,\n },\n };\n this.dispatchEvent(new CustomEvent('on-all-rows-selection-change', init));\n }\n\n /**\n * Resets the selection state of all rows in the table.\n * This method is called when the table is reset or cleared.\n * @public\n * @returns void\n */\n public updateAfterExternalChanges() {\n // Re-query the DOM to update the _allRows based on current children elements\n this._allRows = Array.from(this.querySelectorAll('kyn-tr'));\n\n // Update _selectedRows based on whether the row elements are marked as selected\n this._selectedRows = this._allRows.filter((row) => row.selected);\n\n this._updateHeaderCheckbox();\n this.requestUpdate();\n }\n\n /**\n * Returns the selected rows in the table.\n * @returns Array of selected rows.\n * @public\n */\n public getSelectedRows() {\n return this._selectedRows;\n }\n\n /**\n * Handles the change of rows in the table body.\n * @param {CustomEvent} event - The custom event containing the updated rows.\n * @private\n */\n private _handleRowsChange(event: CustomEvent) {\n const {\n detail: { rows },\n } = event;\n event.stopPropagation();\n\n this._allRows = rows;\n this._updateSelectionStates();\n this._updateHeaderCheckbox();\n }\n\n private _updateSelectionStates() {\n // Temporary array to hold updated selected rows\n const updatedSelectedRows: TableRow[] = [];\n\n // Loop through all rows to update their selected state and rebuild the selectedRows array\n this._allRows.forEach((row) => {\n if (this._selectedRowIds.has(row.rowId)) {\n row.selected = true; // Update the selected property if the rowId matches\n updatedSelectedRows.push(row); // Add the actual row element to the updated selected rows array\n } else if (row.selected) {\n this._selectedRowIds.add(row.rowId); // Add the rowId to the selectedRowIds set\n updatedSelectedRows.push(row); // Add the actual row element to the updated selected rows array\n }\n });\n\n // Replace the old selectedRows with the updated selected rows\n this._selectedRows = updatedSelectedRows;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener(\n 'on-header-checkbox-toggle',\n this._toggleSelectionAll as EventListener\n );\n this.addEventListener(\n 'on-row-select',\n this._handleRowSelectionChange as EventListener\n );\n this.addEventListener(\n 'on-rows-change',\n this._handleRowsChange as EventListener\n );\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener(\n 'on-header-checkbox-toggle',\n this._toggleSelectionAll as EventListener\n );\n this.removeEventListener(\n 'on-row-select',\n this._handleRowSelectionChange as EventListener\n );\n this.removeEventListener(\n 'on-rows-change',\n this._handleRowsChange as EventListener\n );\n }\n\n override firstUpdated() {\n this._tableHeaderRow = this.querySelector('kyn-header-tr');\n }\n\n override render() {\n return html` <slot></slot> `;\n }\n}\n\n// Define the custom element in the global namespace\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-table': Table;\n }\n}\n"],"names":["Table","customElement","LitElement","_classThis","_classSuper","role","__classPrivateFieldGet","this","_Table_role_accessor_storage","value","__classPrivateFieldSet","checkboxSelection","_Table_checkboxSelection_accessor_storage","striped","_Table_striped_accessor_storage","stickyHeader","_Table_stickyHeader_accessor_storage","dense","_Table_dense_accessor_storage","fixedLayout","_Table_fixedLayout_accessor_storage","_provider","_Table__provider_accessor_storage","updated","changedProperties","super","has","newValues","setValue","_tableHeaderRow","_Table__tableHeaderRow_accessor_storage","_allRows","_Table__allRows_accessor_storage","_selectedRows","_Table__selectedRows_accessor_storage","_selectedRowIds","_Table__selectedRowIds_accessor_storage","_headerCheckboxIndeterminate","_Table__headerCheckboxIndeterminate_accessor_storage","_headerCheckboxChecked","_Table__headerCheckboxChecked_accessor_storage","_updateHeaderCheckbox","length","_a","updateHeaderCheckboxState","_handleRowSelectionChange","event","stopPropagation","target","selectedRows","contains","includes","filter","e","delete","rowId","push","add","init","bubbles","cancelable","composed","detail","selectedRow","dispatchEvent","CustomEvent","_toggleSelectionAll","checked","allRows","forEach","row","disabled","selected","Set","map","updateAfterExternalChanges","Array","from","querySelectorAll","requestUpdate","getSelectedRows","_handleRowsChange","rows","_updateSelectionStates","updatedSelectedRows","connectedCallback","addEventListener","disconnectedCallback","removeEventListener","firstUpdated","querySelector","render","html","set","__runInitializers","_role_initializers","_role_extraInitializers","_checkboxSelection_initializers","_checkboxSelection_extraInitializers","_striped_initializers","_striped_extraInitializers","_stickyHeader_initializers","_stickyHeader_extraInitializers","_dense_initializers","_dense_extraInitializers","_fixedLayout_initializers","_fixedLayout_extraInitializers","__provider_initializers","ContextProvider","tableContext","__provider_extraInitializers","__tableHeaderRow_initializers","__tableHeaderRow_extraInitializers","__allRows_initializers","__allRows_extraInitializers","__selectedRows_initializers","__selectedRows_extraInitializers","__selectedRowIds_initializers","__selectedRowIds_extraInitializers","__headerCheckboxIndeterminate_initializers","__headerCheckboxIndeterminate_extraInitializers","__headerCheckboxChecked_initializers","property","type","String","reflect","_checkboxSelection_decorators","Boolean","_striped_decorators","_stickyHeader_decorators","_dense_decorators","_fixedLayout_decorators","__provider_decorators","state","__tableHeaderRow_decorators","__allRows_decorators","__selectedRows_decorators","__selectedRowIds_decorators","__headerCheckboxIndeterminate_decorators","__headerCheckboxChecked_decorators","__esDecorate","_role_decorators","kind","name","static","private","access","obj","get","metadata","_metadata","__headerCheckboxChecked_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS"],"mappings":"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"}
|
package/table-BSga3CPd.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table-BSga3CPd.js","sources":["../src/components/reusable/table/table.ts"],"sourcesContent":["import { LitElement, html, PropertyValues, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ContextProvider } from '@lit/context';\nimport { tableContext } from './table-context';\n\nimport { TableRow } from './table-row';\nimport { TableHeaderRow } from './table-header-row';\n\nimport styles from './table.scss?inline';\n\n/**\n * `kyn-table` Web Component.\n * This component provides a table with sorting, pagination, and selection capabilities.\n * It is designed to be used with the `kyn-table-toolbar` and `kyn-table-container` components.\n * @fires on-row-selection-change - Dispatched when the selection state of a row is toggled. `detail: { selectedRow: TableRow, selectedRows: Array<TableRow> }`\n * @fires on-all-rows-selection-change - Dispatched when the selection state of all rows is toggled. `detail:{ selectedRows: Array<TableRow> }`\n */\n\n@customElement('kyn-table')\nexport class Table extends LitElement {\n static override styles = unsafeCSS(styles);\n\n /** aria role.\n * @internal\n */\n @property({ type: String, reflect: true })\n override accessor role = 'table';\n\n /**\n * checkboxSelection: Boolean indicating whether rows should be\n * selectable using checkboxes.\n * @type {boolean}\n */\n @property({ type: Boolean })\n accessor checkboxSelection = false;\n\n /**\n * striped: Boolean indicating whether rows should have alternate\n * coloring.\n * @type {boolean}\n */\n @property({ type: Boolean })\n accessor striped = false;\n\n /**\n * stickyHeader: Boolean indicating whether the table header should be sticky.\n * Must also set a height or max-height on kyn-table-container.\n * @type {boolean}\n */\n @property({ type: Boolean })\n accessor stickyHeader = false;\n\n /**\n * dense: Boolean indicating whether the table should be displayed\n * in dense mode.\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean })\n accessor dense = false;\n\n /**\n * fixedLayout: Boolean indicating whether the table should have a fixed layout.\n * This will set the table's layout to fixed, which means the table and column widths\n * will be determined by the width of the columns and not by the content of the cells.\n * This can be useful when you want to have a consistent column width across multiple tables.\n * @type {boolean}\n * */\n @property({ type: Boolean })\n accessor fixedLayout = false;\n\n /**\n * _provider: Context provider for the table.\n * @ignore\n * @private\n */\n @state()\n private accessor _provider = new ContextProvider(this, tableContext);\n\n /**\n * updated: Lifecycle method called when the element is updated.\n */\n override updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n\n if (\n changedProperties.has('dense') ||\n changedProperties.has('striped') ||\n changedProperties.has('checkboxSelection') ||\n changedProperties.has('stickyHeader')\n ) {\n const newValues: Partial<any> = {\n dense: this.dense,\n striped: this.striped,\n checkboxSelection: this.checkboxSelection,\n stickyHeader: this.stickyHeader,\n };\n\n this._provider.setValue(newValues);\n }\n }\n\n /**\n * tableHeaderRow: Reference to the header row of the table.\n * @ignore\n * @private\n */\n @state()\n private accessor _tableHeaderRow: TableHeaderRow | null = null;\n\n /**\n * allRows: Array of objects representing each row in the data table.\n * @ignore\n * @private\n */\n @state()\n private accessor _allRows: TableRow[] = [];\n\n /**\n * selectedRows: Set of row ids that are currently selected.\n * @ignore\n * @private\n */\n @state()\n private accessor _selectedRows: TableRow[] = [];\n\n /**\n * selectedRowIds: Set of row ids that are currently selected.\n * @ignore\n * @private\n */\n @state()\n private accessor _selectedRowIds: Set<string> = new Set();\n\n /**\n * headerCheckboxIndeterminate: Boolean indicating whether the header\n * checkbox is in an indeterminate state.\n * @ignore\n * @private\n */\n @state()\n private accessor _headerCheckboxIndeterminate = false;\n\n /**\n * headerCheckboxChecked: Boolean indicating whether the header checkbox is\n * checked.\n * @ignore\n * @private\n */\n @state()\n private accessor _headerCheckboxChecked = false;\n\n /**\n * Updates the state of the header checkbox based on the number of\n * selected rows.\n * @private\n */\n private _updateHeaderCheckbox() {\n if (this._selectedRows.length === 0 || this._allRows.length === 0) {\n this._headerCheckboxIndeterminate = false;\n this._headerCheckboxChecked = false;\n } else if (this._selectedRows.length === this._allRows.length) {\n this._headerCheckboxIndeterminate = false;\n this._headerCheckboxChecked = true;\n } else {\n this._headerCheckboxIndeterminate = true;\n this._headerCheckboxChecked = false;\n }\n\n this._tableHeaderRow?.updateHeaderCheckboxState(\n this._headerCheckboxIndeterminate,\n this._headerCheckboxChecked\n );\n }\n\n /**\n * Handles the change of selection state for a specific row.\n */\n private _handleRowSelectionChange(event: CustomEvent) {\n event.stopPropagation();\n\n const { target } = event;\n const { _selectedRows: selectedRows } = this;\n\n if (!this.contains(target as TableRow)) {\n return;\n }\n\n if (selectedRows.includes(target as TableRow)) {\n this._selectedRows = selectedRows.filter((e) => e !== target);\n this._selectedRowIds.delete((target as TableRow).rowId);\n } else {\n this._selectedRows.push(target as TableRow);\n this._selectedRowIds.add((target as TableRow).rowId);\n }\n\n this._updateHeaderCheckbox();\n\n const init = {\n bubbles: false,\n cancelable: true,\n composed: true,\n detail: {\n selectedRow: target,\n selectedRows: this._selectedRows,\n },\n };\n this.dispatchEvent(new CustomEvent('on-row-selection-change', init));\n }\n\n /**\n * Toggles the selection state of all rows in the table.\n */\n private _toggleSelectionAll(event: CustomEvent) {\n event.stopPropagation();\n\n const {\n detail: { checked },\n target,\n } = event;\n const { _allRows: allRows } = this;\n\n if (!this.contains(target as TableRow)) {\n return;\n }\n\n allRows.forEach((row) => {\n if ((row as TableRow).disabled) return;\n\n (row as TableRow).selected = checked;\n });\n\n this._selectedRows = [...allRows.filter((row) => row.selected)];\n this._selectedRowIds = new Set(this._selectedRows.map((row) => row.rowId));\n\n this._updateHeaderCheckbox();\n\n const init = {\n bubbles: false,\n cancelable: true,\n composed: true,\n detail: {\n selectedRows: this._selectedRows,\n },\n };\n this.dispatchEvent(new CustomEvent('on-all-rows-selection-change', init));\n }\n\n /**\n * Resets the selection state of all rows in the table.\n * This method is called when the table is reset or cleared.\n * @public\n * @returns void\n */\n public updateAfterExternalChanges() {\n // Re-query the DOM to update the _allRows based on current children elements\n this._allRows = Array.from(this.querySelectorAll('kyn-tr'));\n\n // Update _selectedRows based on whether the row elements are marked as selected\n this._selectedRows = this._allRows.filter((row) => row.selected);\n\n this._updateHeaderCheckbox();\n this.requestUpdate();\n }\n\n /**\n * Returns the selected rows in the table.\n * @returns Array of selected rows.\n * @public\n */\n public getSelectedRows() {\n return this._selectedRows;\n }\n\n /**\n * Handles the change of rows in the table body.\n * @param {CustomEvent} event - The custom event containing the updated rows.\n * @private\n */\n private _handleRowsChange(event: CustomEvent) {\n const {\n detail: { rows },\n } = event;\n event.stopPropagation();\n\n this._allRows = rows;\n this._updateSelectionStates();\n this._updateHeaderCheckbox();\n }\n\n private _updateSelectionStates() {\n // Temporary array to hold updated selected rows\n const updatedSelectedRows: TableRow[] = [];\n\n // Loop through all rows to update their selected state and rebuild the selectedRows array\n this._allRows.forEach((row) => {\n if (this._selectedRowIds.has(row.rowId)) {\n row.selected = true; // Update the selected property if the rowId matches\n updatedSelectedRows.push(row); // Add the actual row element to the updated selected rows array\n } else if (row.selected) {\n this._selectedRowIds.add(row.rowId); // Add the rowId to the selectedRowIds set\n updatedSelectedRows.push(row); // Add the actual row element to the updated selected rows array\n }\n });\n\n // Replace the old selectedRows with the updated selected rows\n this._selectedRows = updatedSelectedRows;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener(\n 'on-header-checkbox-toggle',\n this._toggleSelectionAll as EventListener\n );\n this.addEventListener(\n 'on-row-select',\n this._handleRowSelectionChange as EventListener\n );\n this.addEventListener(\n 'on-rows-change',\n this._handleRowsChange as EventListener\n );\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener(\n 'on-header-checkbox-toggle',\n this._toggleSelectionAll as EventListener\n );\n this.removeEventListener(\n 'on-row-select',\n this._handleRowSelectionChange as EventListener\n );\n this.removeEventListener(\n 'on-rows-change',\n this._handleRowsChange as EventListener\n );\n }\n\n override firstUpdated() {\n this._tableHeaderRow = this.querySelector('kyn-header-tr');\n }\n\n override render() {\n return html` <slot></slot> `;\n }\n}\n\n// Define the custom element in the global namespace\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-table': Table;\n }\n}\n"],"names":["Table","customElement","LitElement","_classThis","_classSuper","role","__classPrivateFieldGet","this","_Table_role_accessor_storage","value","__classPrivateFieldSet","checkboxSelection","_Table_checkboxSelection_accessor_storage","striped","_Table_striped_accessor_storage","stickyHeader","_Table_stickyHeader_accessor_storage","dense","_Table_dense_accessor_storage","fixedLayout","_Table_fixedLayout_accessor_storage","_provider","_Table__provider_accessor_storage","updated","changedProperties","super","has","newValues","setValue","_tableHeaderRow","_Table__tableHeaderRow_accessor_storage","_allRows","_Table__allRows_accessor_storage","_selectedRows","_Table__selectedRows_accessor_storage","_selectedRowIds","_Table__selectedRowIds_accessor_storage","_headerCheckboxIndeterminate","_Table__headerCheckboxIndeterminate_accessor_storage","_headerCheckboxChecked","_Table__headerCheckboxChecked_accessor_storage","_updateHeaderCheckbox","length","_a","updateHeaderCheckboxState","_handleRowSelectionChange","event","stopPropagation","target","selectedRows","contains","includes","filter","e","delete","rowId","push","add","init","bubbles","cancelable","composed","detail","selectedRow","dispatchEvent","CustomEvent","_toggleSelectionAll","checked","allRows","forEach","row","disabled","selected","Set","map","updateAfterExternalChanges","Array","from","querySelectorAll","requestUpdate","getSelectedRows","_handleRowsChange","rows","_updateSelectionStates","updatedSelectedRows","connectedCallback","addEventListener","disconnectedCallback","removeEventListener","firstUpdated","querySelector","render","html","set","__runInitializers","_role_initializers","_role_extraInitializers","_checkboxSelection_initializers","_checkboxSelection_extraInitializers","_striped_initializers","_striped_extraInitializers","_stickyHeader_initializers","_stickyHeader_extraInitializers","_dense_initializers","_dense_extraInitializers","_fixedLayout_initializers","_fixedLayout_extraInitializers","__provider_initializers","ContextProvider","tableContext","__provider_extraInitializers","__tableHeaderRow_initializers","__tableHeaderRow_extraInitializers","__allRows_initializers","__allRows_extraInitializers","__selectedRows_initializers","__selectedRows_extraInitializers","__selectedRowIds_initializers","__selectedRowIds_extraInitializers","__headerCheckboxIndeterminate_initializers","__headerCheckboxIndeterminate_extraInitializers","__headerCheckboxChecked_initializers","property","type","String","reflect","_checkboxSelection_decorators","Boolean","_striped_decorators","_stickyHeader_decorators","_dense_decorators","_fixedLayout_decorators","__provider_decorators","state","__tableHeaderRow_decorators","__allRows_decorators","__selectedRows_decorators","__selectedRowIds_decorators","__headerCheckboxIndeterminate_decorators","__headerCheckboxChecked_decorators","__esDecorate","_role_decorators","kind","name","static","private","access","obj","get","metadata","_metadata","__headerCheckboxChecked_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS"],"mappings":"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"}
|