@db-ux/wc-core-components 3.1.3 → 3.1.15
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/dist/cjs/db-accordion-item.cjs.entry.js +1 -3
- package/dist/cjs/db-accordion.cjs.entry.js +1 -3
- package/dist/cjs/db-badge.cjs.entry.js +1 -3
- package/dist/cjs/db-brand.cjs.entry.js +1 -3
- package/dist/cjs/db-button.cjs.entry.js +1 -3
- package/dist/cjs/db-card.cjs.entry.js +1 -3
- package/dist/cjs/db-checkbox.cjs.entry.js +1 -3
- package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js +1 -3
- package/dist/cjs/db-custom-select-form-field.cjs.entry.js +1 -3
- package/dist/cjs/db-custom-select.cjs.entry.js +25 -20
- package/dist/cjs/db-custom-select.entry.cjs.js.map +1 -1
- package/dist/cjs/db-divider.cjs.entry.js +1 -3
- package/dist/cjs/db-drawer.cjs.entry.js +1 -3
- package/dist/cjs/db-header.cjs.entry.js +1 -3
- package/dist/cjs/db-icon.cjs.entry.js +1 -3
- package/dist/cjs/db-infotext.cjs.entry.js +1 -3
- package/dist/cjs/db-link.cjs.entry.js +1 -3
- package/dist/cjs/db-navigation-item.cjs.entry.js +1 -3
- package/dist/cjs/db-navigation.cjs.entry.js +1 -3
- package/dist/cjs/db-notification.cjs.entry.js +1 -3
- package/dist/cjs/db-page.cjs.entry.js +1 -3
- package/dist/cjs/db-popover.cjs.entry.js +1 -3
- package/dist/cjs/db-radio.cjs.entry.js +1 -3
- package/dist/cjs/db-section.cjs.entry.js +1 -3
- package/dist/cjs/db-select.cjs.entry.js +2 -4
- package/dist/cjs/db-select.entry.cjs.js.map +1 -1
- package/dist/cjs/db-stack.cjs.entry.js +1 -3
- package/dist/cjs/db-switch.cjs.entry.js +1 -3
- package/dist/cjs/db-tab-item_3.cjs.entry.js +1 -3
- package/dist/cjs/db-tabs.cjs.entry.js +1 -3
- package/dist/cjs/db-textarea.cjs.entry.js +1 -3
- package/dist/cjs/db-tooltip.cjs.entry.js +7 -6
- package/dist/cjs/db-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/db-ux.cjs.js +2 -4
- package/dist/cjs/db-ux.cjs.js.map +1 -1
- package/dist/cjs/document-scroll-listener-BlwNKh0i.js.map +1 -1
- package/dist/cjs/floating-components-ogUqz72V.js.map +1 -1
- package/dist/cjs/{index-DUp8nuvw.js → index-C9Rhca83.js} +4 -9
- package/dist/cjs/index-C9Rhca83.js.map +1 -0
- package/dist/cjs/index-DjV59BYq.js.map +1 -1
- package/dist/cjs/index.cjs.js +1 -3
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -3
- package/dist/cjs/navigation-DauGE-qj.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/custom-select/custom-select.js +24 -17
- package/dist/collection/components/custom-select/custom-select.js.map +1 -1
- package/dist/collection/components/custom-select/model.js.map +1 -1
- package/dist/collection/components/select/select.js +1 -1
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.js +6 -3
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/utils/form-components.js +0 -2
- package/dist/collection/utils/form-components.js.map +1 -1
- package/dist/custom-elements.json +2 -2
- package/dist/db-ux/db-custom-select.entry.esm.js.map +1 -1
- package/dist/db-ux/db-select.entry.esm.js.map +1 -1
- package/dist/db-ux/db-tooltip.entry.esm.js.map +1 -1
- package/dist/db-ux/db-ux.esm.js +1 -1
- package/dist/db-ux/db-ux.esm.js.map +1 -1
- package/dist/db-ux/index.esm.js +1 -1
- package/dist/db-ux/index.esm.js.map +1 -1
- package/dist/db-ux/{p-22d04305.entry.js → p-0cea77e9.entry.js} +2 -2
- package/dist/db-ux/p-0cea77e9.entry.js.map +1 -0
- package/dist/db-ux/p-0f032718.entry.js +2 -0
- package/dist/db-ux/p-0f032718.entry.js.map +1 -0
- package/dist/db-ux/{p-03320f58.entry.js → p-15203628.entry.js} +2 -2
- package/dist/db-ux/p-15203628.entry.js.map +1 -0
- package/dist/db-ux/{p-f2c00c11.entry.js → p-31d8532f.entry.js} +2 -2
- package/dist/db-ux/p-31d8532f.entry.js.map +1 -0
- package/dist/db-ux/{p-689299ff.entry.js → p-5138e073.entry.js} +2 -2
- package/dist/db-ux/p-5138e073.entry.js.map +1 -0
- package/dist/db-ux/p-53b175ef.entry.js +2 -0
- package/dist/db-ux/p-53b175ef.entry.js.map +1 -0
- package/dist/db-ux/{p-4fd7a789.entry.js → p-5a727411.entry.js} +2 -2
- package/dist/db-ux/p-5a727411.entry.js.map +1 -0
- package/dist/db-ux/{p-d0d4b568.entry.js → p-6839aee1.entry.js} +2 -2
- package/dist/db-ux/p-6839aee1.entry.js.map +1 -0
- package/dist/db-ux/{p-95cd5423.entry.js → p-7781b021.entry.js} +2 -2
- package/dist/db-ux/p-7781b021.entry.js.map +1 -0
- package/dist/db-ux/{p-94b9cf45.entry.js → p-7a6af508.entry.js} +2 -2
- package/dist/db-ux/p-7a6af508.entry.js.map +1 -0
- package/dist/db-ux/{p-c706cc13.entry.js → p-8aee262b.entry.js} +2 -2
- package/dist/db-ux/p-8aee262b.entry.js.map +1 -0
- package/dist/db-ux/{p-6c155f36.entry.js → p-8d5578c8.entry.js} +2 -2
- package/dist/db-ux/p-8d5578c8.entry.js.map +1 -0
- package/dist/db-ux/{p-9046500e.entry.js → p-97114cd9.entry.js} +2 -2
- package/dist/db-ux/p-97114cd9.entry.js.map +1 -0
- package/dist/db-ux/{p-7c11b1d2.entry.js → p-97249510.entry.js} +2 -2
- package/dist/db-ux/p-97249510.entry.js.map +1 -0
- package/dist/db-ux/{p-f54b8f59.entry.js → p-97d43713.entry.js} +2 -2
- package/dist/db-ux/p-97d43713.entry.js.map +1 -0
- package/dist/db-ux/{p-cf095d6e.entry.js → p-9b3c4d53.entry.js} +2 -2
- package/dist/db-ux/p-9b3c4d53.entry.js.map +1 -0
- package/dist/db-ux/p-9d416e4d.entry.js +2 -0
- package/dist/db-ux/p-9d416e4d.entry.js.map +1 -0
- package/dist/db-ux/{p-290fc783.entry.js → p-9d814d7a.entry.js} +2 -2
- package/dist/db-ux/p-9d814d7a.entry.js.map +1 -0
- package/dist/db-ux/p-BwSmFFdU.js.map +1 -1
- package/dist/db-ux/p-DC9V_oNU.js.map +1 -1
- package/dist/db-ux/p-DOqgruSb.js +3 -0
- package/dist/db-ux/p-DOqgruSb.js.map +1 -0
- package/dist/db-ux/p-G-TursYV.js.map +1 -1
- package/dist/db-ux/p-YECpAE3G.js.map +1 -1
- package/dist/db-ux/{p-d06aba74.entry.js → p-ba53d150.entry.js} +2 -2
- package/dist/db-ux/p-ba53d150.entry.js.map +1 -0
- package/dist/db-ux/{p-93546310.entry.js → p-c3673bb2.entry.js} +2 -2
- package/dist/db-ux/p-c3673bb2.entry.js.map +1 -0
- package/dist/db-ux/{p-ea0bdeb1.entry.js → p-cad3a6ca.entry.js} +2 -2
- package/dist/db-ux/p-cad3a6ca.entry.js.map +1 -0
- package/dist/db-ux/{p-c5fd891e.entry.js → p-cfd1fc80.entry.js} +2 -2
- package/dist/db-ux/p-cfd1fc80.entry.js.map +1 -0
- package/dist/db-ux/{p-1e42a6f1.entry.js → p-d93d61bf.entry.js} +2 -2
- package/dist/db-ux/p-d93d61bf.entry.js.map +1 -0
- package/dist/db-ux/{p-66b8f789.entry.js → p-dab91ef7.entry.js} +2 -2
- package/dist/db-ux/p-dab91ef7.entry.js.map +1 -0
- package/dist/db-ux/{p-aef7d063.entry.js → p-daf5421b.entry.js} +2 -2
- package/dist/db-ux/p-daf5421b.entry.js.map +1 -0
- package/dist/db-ux/{p-bc1bd16f.entry.js → p-dc14db0e.entry.js} +2 -2
- package/dist/db-ux/p-dc14db0e.entry.js.map +1 -0
- package/dist/db-ux/p-e80a85c6.entry.js +2 -0
- package/dist/db-ux/p-e80a85c6.entry.js.map +1 -0
- package/dist/db-ux/{p-1e2fa5bc.entry.js → p-ec96cc5c.entry.js} +2 -2
- package/dist/db-ux/p-ec96cc5c.entry.js.map +1 -0
- package/dist/db-ux/{p-0d0eee33.entry.js → p-f1d86976.entry.js} +2 -2
- package/dist/db-ux/p-f1d86976.entry.js.map +1 -0
- package/dist/db-ux/{p-b3a908e1.entry.js → p-f2455023.entry.js} +2 -2
- package/dist/db-ux/p-f2455023.entry.js.map +1 -0
- package/dist/db-ux/p-sP2NlPcu.js.map +1 -1
- package/dist/esm/constants-DC9V_oNU.js.map +1 -1
- package/dist/esm/db-accordion-item.entry.js +1 -3
- package/dist/esm/db-accordion.entry.js +1 -3
- package/dist/esm/db-badge.entry.js +1 -3
- package/dist/esm/db-brand.entry.js +1 -3
- package/dist/esm/db-button.entry.js +1 -3
- package/dist/esm/db-card.entry.js +1 -3
- package/dist/esm/db-checkbox.entry.js +1 -3
- package/dist/esm/db-custom-select-dropdown_5.entry.js +1 -3
- package/dist/esm/db-custom-select-form-field.entry.js +1 -3
- package/dist/esm/db-custom-select.entry.js +25 -20
- package/dist/esm/db-custom-select.entry.js.map +1 -1
- package/dist/esm/db-divider.entry.js +1 -3
- package/dist/esm/db-drawer.entry.js +1 -3
- package/dist/esm/db-header.entry.js +1 -3
- package/dist/esm/db-icon.entry.js +1 -3
- package/dist/esm/db-infotext.entry.js +1 -3
- package/dist/esm/db-link.entry.js +1 -3
- package/dist/esm/db-navigation-item.entry.js +1 -3
- package/dist/esm/db-navigation.entry.js +1 -3
- package/dist/esm/db-notification.entry.js +1 -3
- package/dist/esm/db-page.entry.js +1 -3
- package/dist/esm/db-popover.entry.js +1 -3
- package/dist/esm/db-radio.entry.js +1 -3
- package/dist/esm/db-section.entry.js +1 -3
- package/dist/esm/db-select.entry.js +2 -4
- package/dist/esm/db-select.entry.js.map +1 -1
- package/dist/esm/db-stack.entry.js +1 -3
- package/dist/esm/db-switch.entry.js +1 -3
- package/dist/esm/db-tab-item_3.entry.js +1 -3
- package/dist/esm/db-tabs.entry.js +1 -3
- package/dist/esm/db-textarea.entry.js +1 -3
- package/dist/esm/db-tooltip.entry.js +7 -6
- package/dist/esm/db-tooltip.entry.js.map +1 -1
- package/dist/esm/db-ux.js +3 -5
- package/dist/esm/db-ux.js.map +1 -1
- package/dist/esm/document-scroll-listener-DC7DAxof.js.map +1 -1
- package/dist/esm/floating-components-G-TursYV.js.map +1 -1
- package/dist/esm/{index-5au6zD9r.js → index-DOqgruSb.js} +4 -9
- package/dist/esm/index-DOqgruSb.js.map +1 -0
- package/dist/esm/index-YECpAE3G.js.map +1 -1
- package/dist/esm/index.js +1 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +2 -4
- package/dist/esm/navigation--UdC9CzO.js.map +1 -1
- package/dist/types/components/custom-select/custom-select.d.ts +1 -1
- package/dist/types/components/custom-select/model.d.ts +1 -1
- package/dist/types/stencil-public-runtime.d.ts +23 -0
- package/dist/web-types.json +1 -1
- package/package.json +5 -9
- package/dist/cjs/db-accordion-item.cjs.entry.js.map +0 -1
- package/dist/cjs/db-accordion.cjs.entry.js.map +0 -1
- package/dist/cjs/db-badge.cjs.entry.js.map +0 -1
- package/dist/cjs/db-brand.cjs.entry.js.map +0 -1
- package/dist/cjs/db-button.cjs.entry.js.map +0 -1
- package/dist/cjs/db-card.cjs.entry.js.map +0 -1
- package/dist/cjs/db-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js.map +0 -1
- package/dist/cjs/db-custom-select-form-field.cjs.entry.js.map +0 -1
- package/dist/cjs/db-custom-select.cjs.entry.js.map +0 -1
- package/dist/cjs/db-divider.cjs.entry.js.map +0 -1
- package/dist/cjs/db-drawer.cjs.entry.js.map +0 -1
- package/dist/cjs/db-header.cjs.entry.js.map +0 -1
- package/dist/cjs/db-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/db-infotext.cjs.entry.js.map +0 -1
- package/dist/cjs/db-link.cjs.entry.js.map +0 -1
- package/dist/cjs/db-navigation-item.cjs.entry.js.map +0 -1
- package/dist/cjs/db-navigation.cjs.entry.js.map +0 -1
- package/dist/cjs/db-notification.cjs.entry.js.map +0 -1
- package/dist/cjs/db-page.cjs.entry.js.map +0 -1
- package/dist/cjs/db-popover.cjs.entry.js.map +0 -1
- package/dist/cjs/db-radio.cjs.entry.js.map +0 -1
- package/dist/cjs/db-section.cjs.entry.js.map +0 -1
- package/dist/cjs/db-select.cjs.entry.js.map +0 -1
- package/dist/cjs/db-stack.cjs.entry.js.map +0 -1
- package/dist/cjs/db-switch.cjs.entry.js.map +0 -1
- package/dist/cjs/db-tab-item_3.cjs.entry.js.map +0 -1
- package/dist/cjs/db-tabs.cjs.entry.js.map +0 -1
- package/dist/cjs/db-textarea.cjs.entry.js.map +0 -1
- package/dist/cjs/db-tooltip.cjs.entry.js.map +0 -1
- package/dist/cjs/index-DUp8nuvw.js.map +0 -1
- package/dist/db-ux/p-00ae55d5.entry.js +0 -2
- package/dist/db-ux/p-00ae55d5.entry.js.map +0 -1
- package/dist/db-ux/p-03320f58.entry.js.map +0 -1
- package/dist/db-ux/p-0d0eee33.entry.js.map +0 -1
- package/dist/db-ux/p-17f076c8.entry.js +0 -2
- package/dist/db-ux/p-17f076c8.entry.js.map +0 -1
- package/dist/db-ux/p-1e2fa5bc.entry.js.map +0 -1
- package/dist/db-ux/p-1e42a6f1.entry.js.map +0 -1
- package/dist/db-ux/p-22d04305.entry.js.map +0 -1
- package/dist/db-ux/p-290fc783.entry.js.map +0 -1
- package/dist/db-ux/p-4fd7a789.entry.js.map +0 -1
- package/dist/db-ux/p-5au6zD9r.js +0 -3
- package/dist/db-ux/p-5au6zD9r.js.map +0 -1
- package/dist/db-ux/p-66b8f789.entry.js.map +0 -1
- package/dist/db-ux/p-689299ff.entry.js.map +0 -1
- package/dist/db-ux/p-6c155f36.entry.js.map +0 -1
- package/dist/db-ux/p-7c11b1d2.entry.js.map +0 -1
- package/dist/db-ux/p-9046500e.entry.js.map +0 -1
- package/dist/db-ux/p-93546310.entry.js.map +0 -1
- package/dist/db-ux/p-94b9cf45.entry.js.map +0 -1
- package/dist/db-ux/p-95cd5423.entry.js.map +0 -1
- package/dist/db-ux/p-98d3666a.entry.js +0 -2
- package/dist/db-ux/p-98d3666a.entry.js.map +0 -1
- package/dist/db-ux/p-aef7d063.entry.js.map +0 -1
- package/dist/db-ux/p-b3a908e1.entry.js.map +0 -1
- package/dist/db-ux/p-bc1bd16f.entry.js.map +0 -1
- package/dist/db-ux/p-c5fd891e.entry.js.map +0 -1
- package/dist/db-ux/p-c706cc13.entry.js.map +0 -1
- package/dist/db-ux/p-cf095d6e.entry.js.map +0 -1
- package/dist/db-ux/p-d06aba74.entry.js.map +0 -1
- package/dist/db-ux/p-d0d4b568.entry.js.map +0 -1
- package/dist/db-ux/p-de70042e.entry.js +0 -2
- package/dist/db-ux/p-de70042e.entry.js.map +0 -1
- package/dist/db-ux/p-ea0bdeb1.entry.js.map +0 -1
- package/dist/db-ux/p-f2c00c11.entry.js.map +0 -1
- package/dist/db-ux/p-f54b8f59.entry.js.map +0 -1
- package/dist/esm/db-custom-select-dropdown_5.entry.js.map +0 -1
- package/dist/esm/db-tab-item_3.entry.js.map +0 -1
- package/dist/esm/index-5au6zD9r.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as t,h as s,F as h}from"./p-5au6zD9r.js";import{l as e,a as l,m as n,d as a,e as d,g as o,h as c,i as u,o as r,f,k as v,c as w,s as m}from"./p-DC9V_oNU.js";import{h as p,d as b,s as y,k as g,u as k,g as F,b as A,j as D,c as x}from"./p-YECpAE3G.js";import{D as C}from"./p-BRouKtF5.js";import{D as S}from"./p-BwSmFFdU.js";import{a as T}from"./p-G-TursYV.js";const L=class{constructor(s){i(this,s);this.amountChange=t(this,"amountChange");this.dropdownToggle=t(this,"dropdownToggle");this.optionSelected=t(this,"optionSelected");this.search=t(this,"search");this.showClearSelection=true;this.clearSelectionText="Clear selection";this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._selectId=undefined;this._labelId=undefined;this._summaryId=undefined;this._placeholderId=undefined;this._infoTextId=undefined;this._validity="no-validation";this._userInteraction=false;this._descByIds=undefined;this._selectedLabels="";this._selectedLabelsId=undefined;this._voiceOverFallback="";this._selectedOptions=[];this.selectAllEnabled=false;this.searchEnabled=false;this.amountOptions=0;this._values=[];this._options=[];this._hasNoOptions=false;this._documentClickListenerCallbackId=undefined;this._internalChangeTimestamp=0;this._documentScrollListenerCallbackId=undefined;this._observer=undefined;this._searchValue=undefined;this.selectAllChecked=false;this.selectAllIndeterminate=false;this.satisfyReact=function i(t){t.stopPropagation()}}handleDocumentScroll(i){var t,s;if(((t=i===null||i===void 0?void 0:i.target)===null||t===void 0?void 0:t.contains)&&((s=i===null||i===void 0?void 0:i.target)===null||s===void 0?void 0:s.contains(this.detailsRef))){this.handleAutoPlacement()}}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,t,s,h,l,n,a,d;if(this.selectRef){this.selectRef.value=this.getNativeSelectValue()}if(!((i=this.selectRef)===null||i===void 0?void 0:i.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((t=this.selectRef)===null||t===void 0?void 0:t.validationMessage)||e;if(p()){this._voiceOverFallback=this._invalidMessage;b((()=>this._voiceOverFallback=""),1e3)}if(this._userInteraction){this._validity=(s=this.validation)!==null&&s!==void 0?s:"invalid"}}else if(this.hasValidState()&&((h=this.selectRef)===null||h===void 0?void 0:h.validity.valid)&&this.required){this._descByIds=this._validMessageId;if(p()){this._voiceOverFallback=(l=this.validMessage)!==null&&l!==void 0?l:v;b((()=>this._voiceOverFallback=""),1e3)}this._validity=(n=this.validation)!==null&&n!==void 0?n:"valid"}else if(y(this.message,this.showMessage)){this._descByIds=this._messageId;this._validity=(a=this.validation)!==null&&a!==void 0?a:"no-validation"}else{this._descByIds=this._placeholderId;this._validity=(d=this.validation)!==null&&d!==void 0?d:"no-validation"}}handleDropdownToggle(i){var t,s;if(this.dropdownToggle){i.stopPropagation();this.dropdownToggle.emit(i)}if(i.target instanceof HTMLDetailsElement&&i.target.open){this._documentClickListenerCallbackId=(new C).addCallback((i=>this.handleDocumentClose(i)));this._documentScrollListenerCallbackId=(new S).addCallback((i=>this.handleDocumentScroll(i)));this.handleAutoPlacement();(t=this._observer)===null||t===void 0?void 0:t.observe(this.detailsRef);if(!i.target.dataset["test"]){this.handleOpenByKeyboardFocus()}}else{if(this._documentClickListenerCallbackId){(new C).removeCallback(this._documentClickListenerCallbackId)}if(this._documentScrollListenerCallbackId){(new S).removeCallback(this._documentScrollListenerCallbackId)}(s=this._observer)===null||s===void 0?void 0:s.unobserve(this.detailsRef)}}getNativeSelectValue(){var i,t;if((i=this._values)===null||i===void 0?void 0:i.length){return(t=this._values.at(0))!==null&&t!==void 0?t:""}return""}setDescById(i){var t;const s=[];if(i){s.push(i)}if(this._selectedLabelsId&&((t=this._selectedLabels)===null||t===void 0?void 0:t.length)){s.push(this._selectedLabelsId)}this._descByIds=s.join(" ")}getSelectAllLabel(){var i;return(i=this.selectAllLabel)!==null&&i!==void 0?i:l}getOptionLabel(i){var t,s,h;return(h=(t=i.label)!==null&&t!==void 0?t:(s=i.value)===null||s===void 0?void 0:s.toString())!==null&&h!==void 0?h:""}getOptionChecked(i){var t,s;if(i&&((t=this._values)===null||t===void 0?void 0:t.includes)){return(s=this._values)===null||s===void 0?void 0:s.includes(i)}return false}getTagRemoveLabel(i){if(this.removeTagsTexts&&this.removeTagsTexts.length>i){return this.removeTagsTexts.at(i)}else{return`${n} ${this._selectedOptions?this.getOptionLabel(this._selectedOptions[i]):""}`}}handleTagRemove(i,t){if(t){t.stopPropagation()}this.handleSelect(i.value);this.handleSummaryFocus()}handleAutoPlacement(){if(this.detailsRef){const i=this.detailsRef.querySelector("article");if(i){b((()=>{var t;T(i,this.detailsRef,(t=this.placement)!==null&&t!==void 0?t:"bottom")}),1)}}}handleArrowDownUp(i){var t,s,h,e,l,n,a;if((t=this.detailsRef)===null||t===void 0?void 0:t.open){if(self.document){const t=self.document.activeElement;if(t){const d=t.getAttribute("type")==="checkbox"||t.getAttribute("type")==="radio";if(d){const d=t===null||t===void 0?void 0:t.closest("li");if(i.key==="ArrowDown"||i.key==="ArrowRight"){if(d===null||d===void 0?void 0:d.nextElementSibling){(h=(s=d===null||d===void 0?void 0:d.nextElementSibling)===null||s===void 0?void 0:s.querySelector("input"))===null||h===void 0?void 0:h.focus()}else{this.handleFocusFirstDropdownCheckbox(t)}}else{if(d===null||d===void 0?void 0:d.previousElementSibling){(l=(e=d===null||d===void 0?void 0:d.previousElementSibling)===null||e===void 0?void 0:e.querySelector("input"))===null||l===void 0?void 0:l.focus()}else if(this.detailsRef.querySelector(`input[type="checkbox"]`)!==t){this.handleFocusFirstDropdownCheckbox(t)}else{const i=g(this.detailsRef);if(i){b((()=>{i.focus()}),100)}else{const i=Array.from((n=this.detailsRef)===null||n===void 0?void 0:n.querySelectorAll(`input[type="checkbox"],input[type="radio"]`));if(i.length){(a=i.at(-1))===null||a===void 0?void 0:a.focus()}}}}}else{if(t.getAttribute("type")==="search"&&(i.key==="ArrowUp"||i.key==="ArrowLeft")){this.handleClose(undefined,true);this.handleSummaryFocus()}else{this.handleFocusFirstDropdownCheckbox(t)}}}}}else if(i.key==="ArrowDown"||i.key==="ArrowRight"){this.handleAutoPlacement();if(this.detailsRef){this.detailsRef.open=true}this.handleOpenByKeyboardFocus()}i.stopPropagation();i.preventDefault()}handleKeyboardPress(i){var t,s;i.stopPropagation();if(i.key==="Escape"&&((t=this.detailsRef)===null||t===void 0?void 0:t.open)){this.handleClose(undefined,true);this.handleSummaryFocus()}else if(i.key==="Enter"&&((s=this.detailsRef)===null||s===void 0?void 0:s.open)){if(self.document){const t=self.document.activeElement;if(["checkbox","radio"].includes(t.getAttribute("type")||"")){t.click();i.preventDefault()}}}else if(i.key==="ArrowDown"||i.key==="ArrowUp"||i.key==="ArrowLeft"||i.key==="ArrowRight"){this.handleArrowDownUp(i)}}handleClose(i,t){if(this.detailsRef){if(t){this.detailsRef.open=false;this.handleSummaryFocus()}else if(this.detailsRef.open&&i){if(i.relatedTarget){const t=i.relatedTarget;if(!this.detailsRef.contains(t)){b((()=>this.detailsRef.open=false),1)}}}}}handleDocumentClose(i){var t,s;if(i){const h=typeof i.detail==="number"?i.target:(t=i.detail)===null||t===void 0?void 0:t.target;if(((s=this.detailsRef)===null||s===void 0?void 0:s.open)&&!this.detailsRef.contains(h)){this.detailsRef.open=false}}}handleOptionSelected(i){const t=(new Date).getTime()-this._internalChangeTimestamp<200;if(t)return;this._values=i;this._userInteraction=true;if(this.optionSelected){this.optionSelected.emit(i!==null&&i!==void 0?i:[])}this._internalChangeTimestamp=(new Date).getTime()}handleSelect(i){var t;if(i){if(this.multiple){if((t=this._values)===null||t===void 0?void 0:t.includes(i)){this.handleOptionSelected(this._values.filter((t=>t!==i)))}else{this.handleOptionSelected([...this._values||[],i])}}else{this.handleOptionSelected([i]);this.handleClose(undefined,true)}}}handleSelectAll(i){var t;i.stopPropagation();if(((t=this._values)===null||t===void 0?void 0:t.length)===this.amountOptions){this.handleOptionSelected([])}else{const i=this.searchEnabled&&this.searchInputRef?this.searchInputRef.value:undefined;this.handleOptionSelected(this.options?this.options.filter((t=>{var s;return!t.isGroupTitle&&(!i||((s=t.value)===null||s===void 0?void 0:s.toLowerCase().includes(i.toLowerCase())))})).map((i=>{var t;return(t=i.value)!==null&&t!==void 0?t:""})):[])}}handleFocusFirstDropdownCheckbox(i){if(this.detailsRef){const t=Array.from(this.detailsRef.querySelectorAll(`input[type="checkbox"],input[type="radio"]`));if(t.length){const s=t.at(0);const h=s===i&&t.length>1?t.at(1):s;if(h){b((()=>{h.focus()}),1)}}}}handleOpenByKeyboardFocus(){if(this.detailsRef){const i=g(this.detailsRef);if(i){b((()=>{i.focus()}),1)}else{this.handleFocusFirstDropdownCheckbox()}}}handleSearch(i){if(i===undefined){return}let t;if(typeof i==="string"){t=i}else{const s=i;s.stopPropagation();if(this.search){this.search.emit(s)}t=s.target.value;this._searchValue=t}if(!this.options||!t||t.length===0){this._options=this.options}else if(this.searchFilter){this._options=this.options.filter((i=>this.searchFilter(i,t)))}else{this._options=this.options.filter((i=>!i.isGroupTitle&&this.getOptionLabel(i).toLowerCase().includes(t.toLowerCase())))}}handleClearAll(i){i.stopPropagation();this.handleOptionSelected([]);this.handleSummaryFocus()}handleSummaryFocus(){var i;if(this.detailsRef){(i=this.detailsRef.querySelector("summary"))===null||i===void 0?void 0:i.focus()}}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let h=0;h<t.length;h++){const e=t.item(h);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){i.setAttribute(e.name,e.value);s.removeAttribute(e.name)}if(e&&e.name==="class"){const t=e.value.includes("hydrated");const h=e.value.replace("hydrated","").trim();const l=i.getAttribute("class");i.setAttribute(e.name,`${l?`${l} `:""}${h}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(e.name)}}}}}watch0Fn(){if(this.detailsRef){this.detailsRef.addEventListener("focusout",(i=>this.handleClose(i)))}}watch0(){this.watch0Fn()}watch1Fn(){if(this._id){const i=this._id+f;this._labelId=this._id+a;this._selectId=this._id+d;this._validMessageId=this._id+o;this._invalidMessageId=this._id+c;this._placeholderId=this._id+u;if(y(this.message,this.showMessage)){this.setDescById(i)}else{this.setDescById()}}}watch1(){this.watch1Fn()}watch2Fn(){var i;if(this.detailsRef){const t=this.detailsRef.querySelector("summary");if(t){t.setAttribute("aria-describedby",(i=this.ariaDescribedBy)!==null&&i!==void 0?i:this._descByIds||"")}}}watch2(){this.watch2Fn()}watch3Fn(){if(this.showNoResults!==undefined){this._hasNoOptions=this.showNoResults}else if(this._options){this._hasNoOptions=this._options.length===0}}watch3(){this.watch3Fn()}watch4Fn(){var i;this.selectAllEnabled=Boolean(this.multiple&&((i=this.showSelectAll)!==null&&i!==void 0?i:this.amountOptions>5))}watch4(){this.watch4Fn()}watch5Fn(){var i;this.searchEnabled=(i=this.showSearch)!==null&&i!==void 0?i:this.amountOptions>9}watch5(){this.watch5Fn()}watch6Fn(){var i;if(this.values&&Array.isArray(this.values)&&this.values!==this._values){this._values=(i=this.values)!==null&&i!==void 0?i:[]}}watch6(){this.watch6Fn()}watch7Fn(){if(this.selectRef){this.handleValidation()}}watch7(){this.watch7Fn()}watch8Fn(){this._validity=this.validation}watch8(){this.watch8Fn()}watch9Fn(){var i,t;if(((i=this._values)===null||i===void 0?void 0:i.length)===0){this.selectAllChecked=false;this.selectAllIndeterminate=false}else if(((t=this._values)===null||t===void 0?void 0:t.length)===this.amountOptions){this.selectAllIndeterminate=false;this.selectAllChecked=true}else if(this._values){this.selectAllIndeterminate=true}}watch9(){this.watch9Fn()}watch10Fn(){var i,t;this._options=this.options;this.amountOptions=(t=(i=this.options)===null||i===void 0?void 0:i.filter((i=>!i.isGroupTitle)).length)!==null&&t!==void 0?t:0}watch10(){this.watch10Fn()}watch11Fn(){this._searchValue=this.searchValue;if(this.searchValue){const i=this.searchValue;this.handleSearch(i)}}watch11(){this.watch11Fn()}watch12Fn(){var i,t;if((i=this.options)===null||i===void 0?void 0:i.length){this._selectedOptions=(t=this.options)===null||t===void 0?void 0:t.filter((i=>{var t,s;if(!i.value||!((t=this._values)===null||t===void 0?void 0:t["includes"])){return false}return!i.isGroupTitle&&((s=this._values)===null||s===void 0?void 0:s.includes(i.value))}))}}watch12(){this.watch12Fn()}watch13Fn(){var i,t,s;if(this.selectedLabels){this._selectedLabels=this.selectedLabels;return}if((i=this._selectedOptions)===null||i===void 0?void 0:i.length){if(this.transformSelectedLabels){const i=this._selectedOptions;const t=this.transformSelectedLabels;this._selectedLabels=t(i);return}if(this.selectedType==="amount"){this._selectedLabels=this.amountText?this.amountText:`${(t=this._selectedOptions)===null||t===void 0?void 0:t.length} ${r}`}else{this._selectedLabels=(s=this._selectedOptions)===null||s===void 0?void 0:s.map((i=>this.getOptionLabel(i))).join(", ")}}else{this._selectedLabels=""}}watch13(){this.watch13Fn()}watch14Fn(){var i,t;if(this.amountChange){this.amountChange.emit((t=(i=this._selectedOptions)===null||i===void 0?void 0:i.length)!==null&&t!==void 0?t:0)}}watch14(){this.watch14Fn()}watch15Fn(){if(this.selectAllRef){this.selectAllRef.indeterminate=Boolean(this.selectAllIndeterminate)}}watch15(){this.watch15Fn()}watch16Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this.selectRef)===null||i===void 0?void 0:i.validationMessage)||e}watch16(){this.watch16Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-custom-select");const t=(i=this.id)!==null&&i!==void 0?i:`custom-select-${k()}`;this._id=t;this._messageId=t+f;this._validMessageId=t+o;this._invalidMessageId=t+c;this._selectId=t+d;this._labelId=t+a;this._summaryId=t+"-summary";this._placeholderId=t+u;this._selectedLabelsId=t+"-selected-labels";this._infoTextId=t+"-info";this._invalidMessage=this.invalidMessage||e;if(typeof window!=="undefined"&&"IntersectionObserver"in window){this._observer=new IntersectionObserver((i=>{if(this.detailsRef){const t=i.find((({target:i})=>i===this.detailsRef));if(t&&!t.isIntersecting&&this.detailsRef.open){this.detailsRef.open=false}}}))}this.watch0Fn();this.watch1Fn();this.watch2Fn();this.watch3Fn();this.watch4Fn();this.watch5Fn();this.watch6Fn();this.watch7Fn();this.watch8Fn();this.watch9Fn();this.watch10Fn();this.watch11Fn();this.watch12Fn();this.watch13Fn();this.watch14Fn();this.watch15Fn();this.watch16Fn()}render(){var i,t,e,n,a,d,o,c,u,r,f,p,b,g,k;return s("div",{key:"7a39231219e20ce8f419ffa853224e09e1a74e33",class:x("db-custom-select",this.className),id:this._id,ref:i=>{this._ref=i},"aria-invalid":this._validity==="invalid","data-custom-validity":this._validity,"data-width":this.formFieldWidth,"data-variant":this.variant==="floating"&&this.selectedType==="tag"&&this.multiple?"above":this.variant,"data-required":F(this.required),"data-hide-asterisk":D(this.showRequiredAsterisk),"data-placement":this.placement,"data-selected-type":this.multiple?this.selectedType:"text","data-hide-label":D(this.showLabel),"data-icon":this.icon,"data-show-icon":F(this.showIcon)},s("label",{key:"c42d727407ff419b9a095f76a330779afd5f4f35",id:this._labelId},(i=this.label)!==null&&i!==void 0?i:l,s("select",{key:"22256b2ff320b5c0c79fa66a4b18e4132d963131",role:"none",hidden:true,id:this._selectId,tabIndex:-1,ref:i=>{this.selectRef=i},form:this.form,name:this.name,multiple:A(this.multiple,"multiple"),disabled:A(this.disabled,"disabled"),required:A(this.required,"required"),onChange:i=>this.satisfyReact(i)},((t=this.options)===null||t===void 0?void 0:t.length)?(e=this.options)===null||e===void 0?void 0:e.map((i=>s("option",{disabled:i.disabled,value:i.value,key:undefined},this.getOptionLabel(i)))):null)),s("details",{key:"861f083ee2b3864f92dabce6260efed806c9fcc0",ref:i=>{this.detailsRef=i},open:this.open,onToggle:i=>this.handleDropdownToggle(i),onKeyDown:i=>this.handleKeyboardPress(i)},s("slot",{key:"9a2d6ae0f30ed6cc56a665a7e4af2c7de0463d75"}),this.options?s(h,null,s("summary",{class:"db-custom-select-form-field",id:this._summaryId,"aria-disabled":F(this.disabled),"aria-labelledby":this._labelId},((n=this._selectedLabels)===null||n===void 0?void 0:n.length)?s("span",{"data-visually-hidden":F(this.selectedType==="tag"),id:this._selectedLabelsId},this._selectedLabels):null,this.selectedType==="tag"?s("div",null,(a=this._selectedOptions)===null||a===void 0?void 0:a.map(((i,t)=>s("db-tag",{emphasis:"strong",behavior:"removable",removeButton:this.getTagRemoveLabel(t),onRemove:t=>this.handleTagRemove(i,t),key:undefined},this.getOptionLabel(i))))):null),s("db-custom-select-dropdown",{width:this.dropdownWidth},this.searchEnabled?s("div",null,s("db-input",{type:"search",ref:i=>{this.searchInputRef=i},name:this._id,form:this._id,showLabel:false,value:this._searchValue,label:(d=this.searchLabel)!==null&&d!==void 0?d:l,placeholder:(o=this.searchPlaceholder)!==null&&o!==void 0?o:this.searchLabel,ariaDescribedBy:this._hasNoOptions||this.showLoading?this._infoTextId:undefined,onInput:i=>this.handleSearch(i)})):null,this._hasNoOptions||this.showLoading?s("db-infotext",{id:this._infoTextId,icon:this.showLoading?"circular_arrows":undefined,semantic:this.showLoading?"informational":"warning"},(c=this.showLoading?this.loadingText:this.noResultsText)!==null&&c!==void 0?c:w):s(h,null,this.selectAllEnabled?s("div",null,s("div",{class:"db-checkbox db-custom-select-list-item"},s("label",null,s("input",{type:"checkbox",value:"select-all",ref:i=>{this.selectAllRef=i},form:this._id,checked:this.selectAllChecked,onChange:i=>this.handleSelectAll(i)}),this.getSelectAllLabel()))):null,s("db-custom-select-list",{multiple:A(this.multiple,"multiple"),label:(r=(u=this.ariaListLabel)!==null&&u!==void 0?u:this.label)!==null&&r!==void 0?r:l},(f=this._options)===null||f===void 0?void 0:f.map((i=>s("db-custom-select-list-item",{type:this.multiple?"checkbox":"radio",showDivider:i.showDivider,icon:i.icon,isGroupTitle:i.isGroupTitle,groupTitle:this.getOptionLabel(i),name:this._id,checked:this.getOptionChecked(i.value),disabled:i.disabled,value:i.value,onChange:()=>this.handleSelect(i.value),key:undefined},!i.isGroupTitle?this.getOptionLabel(i):null))))),s("div",null,s("db-button",{variant:"ghost",width:"full",icon:"cross",size:"small",name:this._id,form:this._id,onClick:()=>this.handleClose(undefined,true)},(p=this.mobileCloseButtonText)!==null&&p!==void 0?p:m)))):null),((b=this.showClearSelection)!==null&&b!==void 0?b:true)&&((g=this._values)===null||g===void 0?void 0:g.length)?s("db-button",{icon:"cross",variant:"ghost",size:"small",noText:true,name:this._id,form:this._id,onClick:i=>this.handleClearAll(i)},this.clearSelectionText,s("db-tooltip",{placement:"top"},this.clearSelectionText)):null,s("span",{key:"9c0c84d8ec25f8d573f2876d1fb3b72e535913b5","aria-hidden":F(true),id:this._placeholderId},(k=this.placeholder)!==null&&k!==void 0?k:this.label),y(this.message,this.showMessage)?s("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?s("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||v):null,s("db-infotext",{key:"152f84c5a7806e9f3c10419529e601d7e28e46c7",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"0a1fca00e31f73536eaf2e1932e263b408b9fc5a","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{detailsRef:["watch0","watch2"],_id:["watch1"],_descByIds:["watch2"],showNoResults:["watch3"],showLoading:["watch3"],_options:["watch3"],showSelectAll:["watch4"],amountOptions:["watch4","watch5","watch9"],multiple:["watch4"],showSearch:["watch5"],values:["watch6"],_values:["watch7","watch9","watch12"],selectRef:["watch7","watch16"],validation:["watch8"],options:["watch10","watch12"],searchValue:["watch11"],_selectedOptions:["watch13","watch14"],selectedType:["watch13"],amountText:["watch13"],selectedLabels:["watch13"],transformSelectedLabels:["watch13"],selectAllIndeterminate:["watch15"],selectAllRef:["watch15"],invalidMessage:["watch16"]}}};export{L as db_custom_select};
|
|
2
|
-
//# sourceMappingURL=p-de70042e.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBCustomSelect","constructor","hostRef","this","showClearSelection","clearSelectionText","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_selectId","_labelId","_summaryId","_placeholderId","_infoTextId","_validity","_userInteraction","_descByIds","_selectedLabels","_selectedLabelsId","_voiceOverFallback","_selectedOptions","selectAllEnabled","searchEnabled","amountOptions","_values","_options","_hasNoOptions","_documentClickListenerCallbackId","_internalChangeTimestamp","_documentScrollListenerCallbackId","_observer","_searchValue","selectAllChecked","selectAllIndeterminate","satisfyReact","event","stopPropagation","handleDocumentScroll","_a","target","contains","_b","detailsRef","handleAutoPlacement","hasValidState","validMessage","validation","handleValidation","selectRef","value","getNativeSelectValue","validity","valid","invalidMessage","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","_d","required","_e","DEFAULT_VALID_MESSAGE","_f","stringPropVisible","message","showMessage","_g","_h","handleDropdownToggle","dropdownToggle","emit","HTMLDetailsElement","open","DocumentClickListener","addCallback","handleDocumentClose","DocumentScrollListener","observe","dataset","handleOpenByKeyboardFocus","removeCallback","unobserve","length","at","setDescById","descId","descByIds","push","join","getSelectAllLabel","selectAllLabel","DEFAULT_LABEL","getOptionLabel","option","label","toString","getOptionChecked","includes","getTagRemoveLabel","index","removeTagsTexts","DEFAULT_REMOVE","handleTagRemove","handleSelect","handleSummaryFocus","dropdown","querySelector","handleFixedDropdown","placement","handleArrowDownUp","self","document","activeElement","isCheckbox","getAttribute","listElement","closest","key","nextElementSibling","focus","handleFocusFirstDropdownCheckbox","previousElementSibling","search","getSearchInput","checkboxList","Array","from","querySelectorAll","handleClose","preventDefault","handleKeyboardPress","click","forceClose","relatedTarget","detail","handleOptionSelected","values","skip","Date","getTime","optionSelected","multiple","filter","v","handleSelectAll","searchValue","searchInputRef","options","isGroupTitle","toLowerCase","map","checkboxes","first","checkbox","handleSearch","valueOrEvent","filterText","searchFilter","handleClearAll","enableAttributePassing","element","customElementSelector","parent","attributes","i","attr","item","name","startsWith","setAttribute","removeAttribute","isWebComponent","replace","trim","currentClass","watch0Fn","addEventListener","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_LABEL_ID_SUFFIX","DEFAULT_SELECT_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","DEFAULT_PLACEHOLDER_ID_SUFFIX","watch1","watch2Fn","summary","ariaDescribedBy","watch2","watch3Fn","showNoResults","watch3","watch4Fn","Boolean","showSelectAll","watch4","watch5Fn","showSearch","watch5","watch6Fn","isArray","watch6","watch7Fn","watch7","watch8Fn","watch8","watch9Fn","watch9","watch10Fn","watch10","watch11Fn","sValue","watch11","watch12Fn","watch12","watch13Fn","selectedLabels","transformSelectedLabels","selectedOptions","transformFn","selectedType","amountText","DEFAULT_SELECTED","watch13","watch14Fn","amountChange","watch14","watch15Fn","selectAllRef","indeterminate","watch15","watch16Fn","watch16","componentDidLoad","_ref","mId","id","uuid","window","IntersectionObserver","payload","entry","find","isIntersecting","render","h","class","cls","className","ref","el","formFieldWidth","variant","getBooleanAsString","getHideProp","showRequiredAsterisk","showLabel","icon","showIcon","role","hidden","tabIndex","form","getBoolean","disabled","onChange","onToggle","onKeyDown","Fragment","emphasis","behavior","removeButton","onRemove","width","dropdownWidth","type","searchLabel","placeholder","searchPlaceholder","showLoading","onInput","semantic","loadingText","noResultsText","DEFAULT_MESSAGE","checked","_k","_j","ariaListLabel","_l","showDivider","groupTitle","size","onClick","_m","mobileCloseButtonText","DEFAULT_CLOSE_BUTTON","_o","_p","noText","_q","messageIcon"],"sources":["src/components/custom-select/custom-select.tsx"],"sourcesContent":["import {\n DEFAULT_CLOSE_BUTTON,\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_LABEL_ID_SUFFIX,\n DEFAULT_MESSAGE,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER_ID_SUFFIX,\n DEFAULT_REMOVE,\n DEFAULT_SELECT_ID_SUFFIX,\n DEFAULT_SELECTED,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport {\n ClickEvent,\n GeneralEvent,\n InputEvent,\n InteractionEvent,\n} from \"../../shared/model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getOptionKey,\n getSearchInput,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport { DocumentClickListener } from \"../../utils/document-click-listener\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\nimport { handleFixedDropdown } from \"../../utils/floating-components\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBButton } from \"../button/button\";\nimport { DBCustomSelectDropdown } from \"../custom-select-dropdown/custom-select-dropdown\";\nimport { DBCustomSelectListItem } from \"../custom-select-list-item/custom-select-list-item\";\nimport { DBCustomSelectList } from \"../custom-select-list/custom-select-list\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBInput } from \"../input/input\";\nimport { DBTag } from \"../tag/tag\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\nimport {\n CustomSelectOptionType,\n DBCustomSelectProps,\n DBCustomSelectState,\n} from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select\",\n})\nexport class DBCustomSelect {\n private _ref!: HTMLDivElement | any;\n private detailsRef!: HTMLDetailsElement | any;\n private selectRef!: HTMLSelectElement | any;\n private selectAllRef!: HTMLInputElement | any;\n private searchInputRef!: HTMLInputElement | any;\n @Prop() id: DBCustomSelectProps[\"id\"];\n @Prop() invalidMessage: DBCustomSelectProps[\"invalidMessage\"];\n @Prop() message: DBCustomSelectProps[\"message\"];\n @Prop() showMessage: DBCustomSelectProps[\"showMessage\"];\n @Prop() ariaDescribedBy: DBCustomSelectProps[\"ariaDescribedBy\"];\n @Prop() showNoResults: DBCustomSelectProps[\"showNoResults\"];\n @Prop() showLoading: DBCustomSelectProps[\"showLoading\"];\n @Prop() multiple: DBCustomSelectProps[\"multiple\"];\n @Prop() showSelectAll: DBCustomSelectProps[\"showSelectAll\"];\n @Prop() showSearch: DBCustomSelectProps[\"showSearch\"];\n @Prop() values: DBCustomSelectProps[\"values\"];\n @Prop() validation: DBCustomSelectProps[\"validation\"];\n @Prop() options: DBCustomSelectProps[\"options\"];\n @Prop() searchValue: DBCustomSelectProps[\"searchValue\"];\n @Prop() selectedLabels: DBCustomSelectProps[\"selectedLabels\"];\n @Prop()\n transformSelectedLabels: DBCustomSelectProps[\"transformSelectedLabels\"];\n @Prop() selectedType: DBCustomSelectProps[\"selectedType\"];\n @Prop() amountText: DBCustomSelectProps[\"amountText\"];\n @Event() amountChange: EventEmitter<\n Parameters<Required<DBCustomSelectProps>[\"onAmountChange\"]>[number]\n > | void;\n @Prop() validMessage: DBCustomSelectProps[\"validMessage\"];\n @Prop() required: DBCustomSelectProps[\"required\"];\n @Event() dropdownToggle: EventEmitter<\n Parameters<Required<DBCustomSelectProps>[\"onDropdownToggle\"]>[number]\n > | void;\n @Prop() selectAllLabel: DBCustomSelectProps[\"selectAllLabel\"];\n @Prop() removeTagsTexts: DBCustomSelectProps[\"removeTagsTexts\"];\n @Prop() placement: DBCustomSelectProps[\"placement\"];\n @Event() optionSelected: EventEmitter<\n Parameters<Required<DBCustomSelectProps>[\"onOptionSelected\"]>[number]\n > | void;\n @Event() search: EventEmitter<\n Parameters<Required<DBCustomSelectProps>[\"onSearch\"]>[number]\n > | void;\n @Prop() searchFilter: DBCustomSelectProps[\"searchFilter\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectProps[\"className\"];\n @Prop() formFieldWidth: DBCustomSelectProps[\"formFieldWidth\"];\n @Prop() variant: DBCustomSelectProps[\"variant\"];\n @Prop() showRequiredAsterisk: DBCustomSelectProps[\"showRequiredAsterisk\"];\n @Prop() showLabel: DBCustomSelectProps[\"showLabel\"];\n @Prop() icon: DBCustomSelectProps[\"icon\"];\n @Prop() showIcon: DBCustomSelectProps[\"showIcon\"];\n @Prop() label: DBCustomSelectProps[\"label\"];\n @Prop() form: DBCustomSelectProps[\"form\"];\n @Prop() name: DBCustomSelectProps[\"name\"];\n @Prop() disabled: DBCustomSelectProps[\"disabled\"];\n @Prop() open: DBCustomSelectProps[\"open\"];\n @Prop() dropdownWidth: DBCustomSelectProps[\"dropdownWidth\"];\n @Prop() searchLabel: DBCustomSelectProps[\"searchLabel\"];\n @Prop() searchPlaceholder: DBCustomSelectProps[\"searchPlaceholder\"];\n @Prop() ariaListLabel: DBCustomSelectProps[\"ariaListLabel\"];\n @Prop() loadingText: DBCustomSelectProps[\"loadingText\"];\n @Prop() noResultsText: DBCustomSelectProps[\"noResultsText\"];\n @Prop() mobileCloseButtonText: DBCustomSelectProps[\"mobileCloseButtonText\"];\n @Prop() showClearSelection: DBCustomSelectProps[\"showClearSelection\"] = true;\n @Prop() clearSelectionText: DBCustomSelectProps[\"clearSelectionText\"] =\n \"Clear selection\";\n @Prop() placeholder: DBCustomSelectProps[\"placeholder\"];\n @Prop() messageIcon: DBCustomSelectProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _selectId = undefined;\n @State() _labelId = undefined;\n @State() _summaryId = undefined;\n @State() _placeholderId = undefined;\n @State() _infoTextId = undefined;\n @State() _validity = \"no-validation\";\n @State() _userInteraction = false;\n @State() _descByIds = undefined;\n @State() _selectedLabels = \"\";\n @State() _selectedLabelsId = undefined;\n @State() _voiceOverFallback = \"\";\n @State() _selectedOptions = [];\n @State() selectAllEnabled = false;\n @State() searchEnabled = false;\n @State() amountOptions = 0;\n @State() _values = [];\n @State() _options = [];\n @State() _hasNoOptions = false;\n @State() _documentClickListenerCallbackId = undefined;\n @State() _internalChangeTimestamp = 0;\n @State() _documentScrollListenerCallbackId = undefined;\n @State() _observer = undefined;\n @State() _searchValue = undefined;\n @State() selectAllChecked = false;\n @State() selectAllIndeterminate = false;\n\n handleDocumentScroll(event: any) {\n if (event?.target?.contains && event?.target?.contains(this.detailsRef)) {\n this.handleAutoPlacement();\n }\n }\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n if (this.selectRef) {\n this.selectRef.value = this.getNativeSelectValue();\n }\n /* For a11y reasons we need to map the correct message with the select */\n if (!this.selectRef?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this.selectRef?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n if (this._userInteraction) {\n this._validity = this.validation ?? \"invalid\";\n }\n } else if (\n this.hasValidState() &&\n this.selectRef?.validity.valid &&\n this.required\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n this._validity = this.validation ?? \"valid\";\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n this._validity = this.validation ?? \"no-validation\";\n } else {\n this._descByIds = this._placeholderId;\n this._validity = this.validation ?? \"no-validation\";\n }\n }\n handleDropdownToggle(event: GeneralEvent<HTMLDetailsElement>) {\n if (this.dropdownToggle) {\n event.stopPropagation();\n this.dropdownToggle.emit(event);\n }\n if (event.target instanceof HTMLDetailsElement && event.target.open) {\n this._documentClickListenerCallbackId =\n new DocumentClickListener().addCallback((event) =>\n this.handleDocumentClose(event)\n );\n this._documentScrollListenerCallbackId =\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event)\n );\n this.handleAutoPlacement();\n this._observer?.observe(this.detailsRef);\n if (!event.target.dataset[\"test\"]) {\n // We need this workaround for snapshot testing\n this.handleOpenByKeyboardFocus();\n }\n } else {\n if (this._documentClickListenerCallbackId) {\n new DocumentClickListener().removeCallback(\n this._documentClickListenerCallbackId!\n );\n }\n if (this._documentScrollListenerCallbackId) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId!\n );\n }\n this._observer?.unobserve(this.detailsRef);\n }\n }\n getNativeSelectValue() {\n if (this._values?.length) {\n return this._values!.at(0) ?? \"\";\n }\n return \"\";\n }\n setDescById(descId?: string) {\n const descByIds: string[] = [];\n if (descId) {\n descByIds.push(descId);\n }\n if (this._selectedLabelsId && this._selectedLabels?.length) {\n descByIds.push(this._selectedLabelsId!);\n }\n this._descByIds = descByIds.join(\" \");\n }\n getSelectAllLabel() {\n return this.selectAllLabel ?? DEFAULT_LABEL;\n }\n getOptionLabel(option: CustomSelectOptionType) {\n return option.label ?? option.value?.toString() ?? \"\";\n }\n getOptionChecked(value?: string) {\n if (value && this._values?.includes) {\n return this._values?.includes(value!);\n }\n return false;\n }\n getTagRemoveLabel(index: number) {\n if (this.removeTagsTexts && this.removeTagsTexts!.length > index) {\n return this.removeTagsTexts!.at(index)!;\n } else {\n return `${DEFAULT_REMOVE} ${\n this._selectedOptions\n ? this.getOptionLabel(this._selectedOptions![index])\n : \"\"\n }`;\n }\n }\n handleTagRemove(\n option: CustomSelectOptionType,\n event?: ClickEvent<HTMLButtonElement> | void\n ) {\n if (event) {\n event.stopPropagation();\n }\n this.handleSelect(option.value);\n this.handleSummaryFocus();\n }\n handleAutoPlacement() {\n if (this.detailsRef) {\n const dropdown = this.detailsRef.querySelector(\"article\");\n if (dropdown) {\n // This is a workaround for Angular\n delay(() => {\n handleFixedDropdown(\n dropdown,\n this.detailsRef,\n (this.placement as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n }\n handleArrowDownUp(event: any) {\n if (this.detailsRef?.open) {\n if (self.document) {\n const activeElement = self.document.activeElement;\n if (activeElement) {\n // 1. we check if we are currently focusing a checkbox in the dropdown\n const isCheckbox =\n activeElement.getAttribute(\"type\") === \"checkbox\" ||\n activeElement.getAttribute(\"type\") === \"radio\";\n if (isCheckbox) {\n const listElement = activeElement?.closest(\"li\");\n if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n if (listElement?.nextElementSibling) {\n listElement?.nextElementSibling\n ?.querySelector(\"input\")\n ?.focus();\n } else {\n // We are on the last checkbox we move to the top checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n } else {\n if (listElement?.previousElementSibling) {\n listElement?.previousElementSibling\n ?.querySelector(\"input\")\n ?.focus();\n } else if (\n this.detailsRef.querySelector(`input[type=\"checkbox\"]`) !==\n activeElement\n ) {\n // We are on the top list checkbox but there is a select all checkbox as well\n this.handleFocusFirstDropdownCheckbox(activeElement);\n } else {\n // We are on the top checkbox, we need to move to the search\n // or to the last checkbox\n const search = getSearchInput(this.detailsRef);\n if (search) {\n delay(() => {\n search.focus();\n }, 100);\n } else {\n const checkboxList: HTMLInputElement[] = Array.from(\n this.detailsRef?.querySelectorAll(\n `input[type=\"checkbox\"],input[type=\"radio\"]`\n )\n );\n if (checkboxList.length) {\n checkboxList.at(-1)?.focus();\n }\n }\n }\n }\n } else {\n // 2. If we are on the search, and press up we go back to summary and close\n if (\n activeElement.getAttribute(\"type\") === \"search\" &&\n (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\")\n ) {\n this.handleClose(undefined, true);\n this.handleSummaryFocus();\n } else {\n // 3. Otherwise, we need to move to the first checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n }\n }\n }\n } else if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n // Open dropdown with arrows see https://www.w3.org/WAI/ARIA/apg/patterns/combobox/#keyboardinteraction\n this.handleAutoPlacement();\n if (this.detailsRef) {\n this.detailsRef.open = true;\n }\n this.handleOpenByKeyboardFocus();\n }\n event.stopPropagation();\n event.preventDefault();\n }\n handleKeyboardPress(event: any) {\n event.stopPropagation();\n if (event.key === \"Escape\" && this.detailsRef?.open) {\n this.handleClose(undefined, true);\n this.handleSummaryFocus();\n } else if (event.key === \"Enter\" && this.detailsRef?.open) {\n // Handle Enter key to select option like Space key\n if (self.document) {\n const activeElement = self.document.activeElement as HTMLInputElement;\n if (\n [\"checkbox\", \"radio\"].includes(\n activeElement.getAttribute(\"type\") || \"\"\n )\n ) {\n // Trigger click to simulate Space key behavior\n activeElement.click();\n event.preventDefault();\n }\n }\n } else if (\n event.key === \"ArrowDown\" ||\n event.key === \"ArrowUp\" ||\n event.key === \"ArrowLeft\" ||\n event.key === \"ArrowRight\"\n ) {\n this.handleArrowDownUp(event);\n }\n }\n handleClose(\n event?: InteractionEvent<HTMLDetailsElement> | void,\n forceClose?: boolean\n ) {\n if (this.detailsRef) {\n if (forceClose) {\n this.detailsRef.open = false;\n this.handleSummaryFocus();\n } else if (this.detailsRef.open && event) {\n if (event.relatedTarget) {\n const relatedTarget = event.relatedTarget as HTMLElement;\n if (!this.detailsRef.contains(relatedTarget)) {\n // We need to use delay here because the combination of `contains`\n // and changing the DOM element causes a race condition inside browser\n delay(() => (this.detailsRef.open = false), 1);\n }\n }\n }\n }\n }\n handleDocumentClose(event: any) {\n if (event) {\n // stencil is sending a custom event which wraps the pointer event into details\n const target =\n typeof event.detail === \"number\" ? event.target : event.detail?.target;\n if (this.detailsRef?.open && !this.detailsRef.contains(target)) {\n this.detailsRef.open = false;\n }\n }\n }\n handleOptionSelected(values: string[]) {\n const skip = new Date().getTime() - this._internalChangeTimestamp < 200;\n if (skip) return;\n this._values = values;\n this._userInteraction = true;\n if (this.optionSelected) {\n this.optionSelected.emit(values ?? []);\n }\n this._internalChangeTimestamp = new Date().getTime();\n }\n handleSelect(value?: string) {\n if (value) {\n if (this.multiple) {\n if (this._values?.includes(value)) {\n this.handleOptionSelected(\n this._values!.filter((v: string) => v !== value)\n );\n } else {\n this.handleOptionSelected([...(this._values || []), value]);\n }\n } else {\n this.handleOptionSelected([value]);\n this.handleClose(undefined, true);\n }\n }\n }\n handleSelectAll(event: any) {\n event.stopPropagation();\n if (this._values?.length === this.amountOptions) {\n this.handleOptionSelected([]);\n } else {\n const searchValue: string | undefined =\n this.searchEnabled && this.searchInputRef\n ? this.searchInputRef.value\n : undefined;\n this.handleOptionSelected(\n this.options\n ? this.options!.filter(\n (option) =>\n !option.isGroupTitle &&\n (!searchValue ||\n option.value\n ?.toLowerCase()\n .includes(searchValue.toLowerCase()))\n ).map((option) => option.value ?? \"\")\n : []\n );\n }\n }\n handleFocusFirstDropdownCheckbox(activeElement?: Element) {\n if (this.detailsRef) {\n const checkboxes: HTMLInputElement[] = Array.from(\n this.detailsRef.querySelectorAll(\n `input[type=\"checkbox\"],input[type=\"radio\"]`\n )\n );\n if (checkboxes.length) {\n const first = checkboxes.at(0);\n const checkbox =\n first === activeElement && checkboxes.length > 1\n ? checkboxes.at(1)\n : first;\n if (checkbox) {\n delay(() => {\n // Takes some time until element can be focused\n (checkbox as HTMLInputElement).focus();\n }, 1);\n }\n }\n }\n }\n handleOpenByKeyboardFocus() {\n if (this.detailsRef) {\n // Focus search if possible\n const search = getSearchInput(this.detailsRef);\n if (search) {\n delay(() => {\n // Takes some time until element can be focused\n search.focus();\n }, 1);\n } else {\n // Focus first checkbox otherwise\n this.handleFocusFirstDropdownCheckbox();\n }\n }\n }\n handleSearch(valueOrEvent?: InputEvent<HTMLInputElement> | string | void) {\n if (valueOrEvent === undefined) {\n return;\n }\n let filterText;\n if (typeof valueOrEvent === \"string\") {\n filterText = valueOrEvent;\n } else {\n const event = valueOrEvent as InputEvent<HTMLInputElement>;\n event.stopPropagation();\n if (this.search) {\n this.search.emit(event);\n }\n filterText = (event.target as HTMLInputElement).value;\n this._searchValue = filterText;\n }\n if (!this.options || !filterText || filterText.length === 0) {\n this._options = this.options;\n } else if (this.searchFilter) {\n this._options = this.options!.filter((option) =>\n this.searchFilter!(option, filterText)\n );\n } else {\n this._options = this.options!.filter(\n (option) =>\n !option.isGroupTitle &&\n this.getOptionLabel(option)\n .toLowerCase()\n .includes(filterText.toLowerCase())\n );\n }\n }\n handleClearAll(event: any) {\n event.stopPropagation();\n this.handleOptionSelected([]);\n this.handleSummaryFocus();\n }\n handleSummaryFocus() {\n if (this.detailsRef) {\n (this.detailsRef as HTMLDetailsElement).querySelector(\"summary\")?.focus();\n }\n }\n satisfyReact = function satisfyReact(event: any) {\n // This is a function to satisfy React\n event.stopPropagation();\n };\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.detailsRef) {\n this.detailsRef.addEventListener(\n \"focusout\",\n (event: InteractionEvent<HTMLDetailsElement>) => this.handleClose(event)\n );\n }\n }\n\n @Watch(\"detailsRef\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._labelId = this._id + DEFAULT_LABEL_ID_SUFFIX;\n this._selectId = this._id + DEFAULT_SELECT_ID_SUFFIX;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._placeholderId = this._id + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this.setDescById(messageId);\n } else {\n this.setDescById();\n }\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n if (this.detailsRef) {\n const summary = this.detailsRef.querySelector(\"summary\");\n if (summary) {\n summary.setAttribute(\n \"aria-describedby\",\n this.ariaDescribedBy ?? (this._descByIds || \"\")\n );\n }\n }\n }\n\n @Watch(\"detailsRef\")\n @Watch(\"_descByIds\")\n watch2() {\n this.watch2Fn();\n }\n\n watch3Fn() {\n if (this.showNoResults !== undefined) {\n this._hasNoOptions = this.showNoResults!;\n } else if (this._options) {\n this._hasNoOptions = this._options!.length === 0;\n }\n }\n\n @Watch(\"showNoResults\")\n @Watch(\"showLoading\")\n @Watch(\"_options\")\n watch3() {\n this.watch3Fn();\n }\n\n watch4Fn() {\n this.selectAllEnabled = Boolean(\n this.multiple && (this.showSelectAll ?? this.amountOptions > 5)\n );\n }\n\n @Watch(\"showSelectAll\")\n @Watch(\"amountOptions\")\n @Watch(\"multiple\")\n watch4() {\n this.watch4Fn();\n }\n\n watch5Fn() {\n this.searchEnabled = this.showSearch ?? this.amountOptions > 9;\n }\n\n @Watch(\"showSearch\")\n @Watch(\"amountOptions\")\n watch5() {\n this.watch5Fn();\n }\n\n watch6Fn() {\n if (\n this.values &&\n Array.isArray(this.values) &&\n this.values !== this._values\n ) {\n this._values = this.values ?? [];\n }\n }\n\n @Watch(\"values\")\n watch6() {\n this.watch6Fn();\n }\n\n watch7Fn() {\n if (this.selectRef) {\n this.handleValidation();\n }\n }\n\n @Watch(\"_values\")\n @Watch(\"selectRef\")\n watch7() {\n this.watch7Fn();\n }\n\n watch8Fn() {\n this._validity = this.validation;\n }\n\n @Watch(\"validation\")\n watch8() {\n this.watch8Fn();\n }\n\n watch9Fn() {\n if (this._values?.length === 0) {\n this.selectAllChecked = false;\n this.selectAllIndeterminate = false;\n } else if (this._values?.length === this.amountOptions) {\n this.selectAllIndeterminate = false;\n this.selectAllChecked = true;\n } else if (this._values) {\n this.selectAllIndeterminate = true;\n }\n }\n\n @Watch(\"_values\")\n @Watch(\"amountOptions\")\n watch9() {\n this.watch9Fn();\n }\n\n watch10Fn() {\n this._options = this.options;\n this.amountOptions =\n this.options?.filter((option) => !option.isGroupTitle).length ?? 0;\n }\n\n @Watch(\"options\")\n watch10() {\n this.watch10Fn();\n }\n\n watch11Fn() {\n this._searchValue = this.searchValue;\n if (this.searchValue) {\n const sValue = this.searchValue!; // <- workaround for Angular\n this.handleSearch(sValue);\n }\n }\n\n @Watch(\"searchValue\")\n watch11() {\n this.watch11Fn();\n }\n\n watch12Fn() {\n if (this.options?.length) {\n this._selectedOptions = this.options?.filter(\n (option: CustomSelectOptionType) => {\n if (!option.value || !this._values?.[\"includes\"]) {\n return false;\n }\n return !option.isGroupTitle && this._values?.includes(option.value);\n }\n );\n }\n }\n\n @Watch(\"options\")\n @Watch(\"_values\")\n watch12() {\n this.watch12Fn();\n }\n\n watch13Fn() {\n if (this.selectedLabels) {\n this._selectedLabels = this.selectedLabels;\n return;\n }\n if (this._selectedOptions?.length) {\n if (this.transformSelectedLabels) {\n // We need to add this to another ``const`` for Angular generated output to work\n const selectedOptions = this._selectedOptions;\n const transformFn = this.transformSelectedLabels!;\n this._selectedLabels = transformFn!(selectedOptions);\n return;\n }\n if (this.selectedType === \"amount\") {\n this._selectedLabels = this.amountText\n ? this.amountText\n : `${this._selectedOptions?.length} ${DEFAULT_SELECTED}`;\n } else {\n this._selectedLabels = this._selectedOptions\n ?.map((option: CustomSelectOptionType) => this.getOptionLabel(option))\n .join(\", \");\n }\n } else {\n this._selectedLabels = \"\";\n }\n }\n\n @Watch(\"_selectedOptions\")\n @Watch(\"selectedType\")\n @Watch(\"amountText\")\n @Watch(\"selectedLabels\")\n @Watch(\"transformSelectedLabels\")\n watch13() {\n this.watch13Fn();\n }\n\n watch14Fn() {\n if (this.amountChange) {\n this.amountChange.emit(this._selectedOptions?.length ?? 0);\n }\n }\n\n @Watch(\"_selectedOptions\")\n watch14() {\n this.watch14Fn();\n }\n\n watch15Fn() {\n if (this.selectAllRef) {\n this.selectAllRef.indeterminate = Boolean(this.selectAllIndeterminate);\n }\n }\n\n @Watch(\"selectAllIndeterminate\")\n @Watch(\"selectAllRef\")\n watch15() {\n this.watch15Fn();\n }\n\n watch16Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this.selectRef?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"selectRef\")\n @Watch(\"invalidMessage\")\n watch16() {\n this.watch16Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select\");\n const mId = this.id ?? `custom-select-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._selectId = mId + DEFAULT_SELECT_ID_SUFFIX;\n this._labelId = mId + DEFAULT_LABEL_ID_SUFFIX;\n this._summaryId = mId + \"-summary\";\n this._placeholderId = mId + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n this._selectedLabelsId = mId + \"-selected-labels\";\n this._infoTextId = mId + \"-info\";\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n if (typeof window !== \"undefined\" && \"IntersectionObserver\" in window) {\n this._observer = new IntersectionObserver((payload) => {\n if (this.detailsRef) {\n const entry = payload.find(\n ({ target }) => target === this.detailsRef\n );\n if (entry && !entry.isIntersecting && this.detailsRef.open) {\n this.detailsRef.open = false;\n }\n }\n });\n }\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n this.watch3Fn();\n this.watch4Fn();\n this.watch5Fn();\n this.watch6Fn();\n this.watch7Fn();\n this.watch8Fn();\n this.watch9Fn();\n this.watch10Fn();\n this.watch11Fn();\n this.watch12Fn();\n this.watch13Fn();\n this.watch14Fn();\n this.watch15Fn();\n this.watch16Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-custom-select\", this.className)}\n id={this._id}\n ref={(el: any) => {\n this._ref = el;\n }}\n aria-invalid={this._validity === \"invalid\"}\n data-custom-validity={this._validity}\n data-width={this.formFieldWidth}\n data-variant={\n this.variant === \"floating\" &&\n this.selectedType === \"tag\" &&\n this.multiple\n ? \"above\"\n : this.variant\n }\n data-required={getBooleanAsString(this.required)}\n data-hide-asterisk={getHideProp(this.showRequiredAsterisk)}\n data-placement={this.placement}\n data-selected-type={this.multiple ? this.selectedType : \"text\"}\n data-hide-label={getHideProp(this.showLabel)}\n data-icon={this.icon}\n data-show-icon={getBooleanAsString(this.showIcon)}\n >\n <label id={this._labelId}>\n {this.label ?? DEFAULT_LABEL}\n <select\n role=\"none\"\n hidden={true}\n id={this._selectId}\n tabIndex={-1}\n ref={(el: any) => {\n this.selectRef = el;\n }}\n form={this.form}\n name={this.name}\n multiple={getBoolean(this.multiple, \"multiple\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n onChange={(event) => this.satisfyReact(event)}\n >\n {this.options?.length\n ? this.options?.map((option) => (\n <option\n disabled={option.disabled}\n value={option.value}\n key={undefined}\n >\n {this.getOptionLabel(option)}\n </option>\n ))\n : null}\n </select>\n </label>\n <details\n ref={(el: any) => {\n this.detailsRef = el;\n }}\n open={this.open}\n onToggle={(event) => this.handleDropdownToggle(event)}\n onKeyDown={(event) => this.handleKeyboardPress(event)}\n >\n <slot></slot>\n {this.options ? (\n <Fragment>\n <summary\n class=\"db-custom-select-form-field\"\n id={this._summaryId}\n aria-disabled={getBooleanAsString(this.disabled)}\n aria-labelledby={this._labelId}\n >\n {this._selectedLabels?.length ? (\n <span\n data-visually-hidden={getBooleanAsString(\n this.selectedType === \"tag\"\n )}\n id={this._selectedLabelsId}\n >\n {this._selectedLabels}\n </span>\n ) : null}\n {this.selectedType === \"tag\" ? (\n <div>\n {this._selectedOptions?.map((option, index) => (\n <db-tag\n emphasis=\"strong\"\n behavior=\"removable\"\n removeButton={this.getTagRemoveLabel(index)}\n onRemove={(event) =>\n this.handleTagRemove(option, event)\n }\n key={undefined}\n >\n {this.getOptionLabel(option)}\n </db-tag>\n ))}\n </div>\n ) : null}\n </summary>\n <db-custom-select-dropdown width={this.dropdownWidth}>\n {this.searchEnabled ? (\n <div>\n <db-input\n type=\"search\"\n ref={(el: any) => {\n this.searchInputRef = el;\n }}\n name={this._id}\n form={this._id}\n showLabel={false}\n value={this._searchValue}\n label={this.searchLabel ?? DEFAULT_LABEL}\n placeholder={this.searchPlaceholder ?? this.searchLabel}\n ariaDescribedBy={\n this._hasNoOptions || this.showLoading\n ? this._infoTextId\n : undefined\n }\n onInput={(event) => this.handleSearch(event)}\n ></db-input>\n </div>\n ) : null}\n {this._hasNoOptions || this.showLoading ? (\n <db-infotext\n id={this._infoTextId}\n icon={this.showLoading ? \"circular_arrows\" : undefined}\n semantic={this.showLoading ? \"informational\" : \"warning\"}\n >\n {(this.showLoading\n ? this.loadingText\n : this.noResultsText) ?? DEFAULT_MESSAGE}\n </db-infotext>\n ) : (\n <Fragment>\n {this.selectAllEnabled ? (\n <div>\n <div class=\"db-checkbox db-custom-select-list-item\">\n <label>\n <input\n type=\"checkbox\"\n value=\"select-all\"\n ref={(el: any) => {\n this.selectAllRef = el;\n }}\n form={this._id}\n checked={this.selectAllChecked}\n onChange={(event) => this.handleSelectAll(event)}\n />\n {this.getSelectAllLabel()}\n </label>\n </div>\n </div>\n ) : null}\n <db-custom-select-list\n multiple={getBoolean(this.multiple, \"multiple\")}\n label={this.ariaListLabel ?? this.label ?? DEFAULT_LABEL}\n >\n {this._options?.map((option) => (\n <db-custom-select-list-item\n type={this.multiple ? \"checkbox\" : \"radio\"}\n showDivider={option.showDivider}\n icon={option.icon}\n isGroupTitle={option.isGroupTitle}\n groupTitle={this.getOptionLabel(option)}\n name={this._id}\n checked={this.getOptionChecked(option.value)}\n disabled={option.disabled}\n value={option.value}\n onChange={() => this.handleSelect(option.value)}\n key={undefined}\n >\n {!option.isGroupTitle\n ? this.getOptionLabel(option)\n : null}\n </db-custom-select-list-item>\n ))}\n </db-custom-select-list>\n </Fragment>\n )}\n <div>\n <db-button\n variant=\"ghost\"\n width=\"full\"\n icon=\"cross\"\n size=\"small\"\n name={this._id}\n form={this._id}\n onClick={() => this.handleClose(undefined, true)}\n >\n {this.mobileCloseButtonText ?? DEFAULT_CLOSE_BUTTON}\n </db-button>\n </div>\n </db-custom-select-dropdown>\n </Fragment>\n ) : null}\n </details>\n {(this.showClearSelection ?? true) && this._values?.length ? (\n <db-button\n icon=\"cross\"\n variant=\"ghost\"\n size=\"small\"\n noText={true}\n name={this._id}\n form={this._id}\n onClick={(event) => this.handleClearAll(event)}\n >\n {this.clearSelectionText}\n <db-tooltip placement=\"top\">{this.clearSelectionText}</db-tooltip>\n </db-button>\n ) : null}\n <span aria-hidden={getBooleanAsString(true)} id={this._placeholderId}>\n {this.placeholder ?? this.label}\n </span>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBStack","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","this","_ref","render","h","key","class","cls","className","ref","el","id","gap","variant","direction","alignment","justifyContent","getBooleanAsString","wrap"],"sources":["src/components/stack/stack.tsx"],"sourcesContent":["import { cls, getBooleanAsString } from \"../../utils\";\nimport { DBStackProps, DBStackState } from \"./model\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-stack\",\n})\nexport class DBStack {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBStackProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBStackProps[\"className\"];\n @Prop() gap: DBStackProps[\"gap\"];\n @Prop() variant: DBStackProps[\"variant\"];\n @Prop() direction: DBStackProps[\"direction\"];\n @Prop() alignment: DBStackProps[\"alignment\"];\n @Prop() justifyContent: DBStackProps[\"justifyContent\"];\n @Prop() wrap: DBStackProps[\"wrap\"];\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-stack\");\n }\n\n render() {\n return (\n <div\n class={cls(\"db-stack\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-gap={this.gap}\n data-variant={this.variant}\n data-direction={this.direction}\n data-alignment={this.alignment}\n data-justify-content={this.justifyContent}\n data-wrap={getBooleanAsString(this.wrap)}\n >\n <slot></slot>\n </div>\n );\n }\n}\n"],"mappings":"4FAaaA,EAAO,M,yBAgBV,sBAAAC,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,gBAAAW,GACEC,KAAKtB,uBAAuBsB,KAAKC,KAAM,W,CAGzC,MAAAC,GACE,OACEC,EACE,OAAAC,IAAA,2CAAAC,MAAOC,EAAI,WAAYN,KAAKO,WAC5BC,IAAMC,IACJT,KAAKC,KAAOQ,CAAE,EAEhBC,GAAIV,KAAKU,GAAE,WACDV,KAAKW,IAAG,eACJX,KAAKY,QACH,iBAAAZ,KAAKa,UACL,iBAAAb,KAAKc,UAAS,uBACRd,KAAKe,eAAc,YAC9BC,EAAmBhB,KAAKiB,OAEnCd,EAAa,QAAAC,IAAA,6C","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBCustomSelectFormField","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","this","_ref","render","h","key","class","cls","className","ref","el","id"],"sources":["src/components/custom-select-form-field/custom-select-form-field.tsx"],"sourcesContent":["import { cls } from \"../../utils\";\nimport { DBCustomSelectFormFieldProps } from \"./model\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-form-field\",\n})\nexport class DBCustomSelectFormField {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBCustomSelectFormFieldProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectFormFieldProps[\"className\"];\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-form-field\");\n }\n\n render() {\n return (\n <summary\n class={cls(\"db-custom-select-form-field\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n >\n <slot></slot>\n </summary>\n );\n }\n}\n"],"mappings":"qFAaaA,EAAuB,M,yBAU1B,sBAAAC,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,gBAAAW,GACEC,KAAKtB,uBAAuBsB,KAAKC,KAAM,8B,CAGzC,MAAAC,GACE,OACEC,EACE,WAAAC,IAAA,2CAAAC,MAAOC,EAAI,8BAA+BN,KAAKO,WAC/CC,IAAMC,IACJT,KAAKC,KAAOQ,CAAE,EAEhBC,GAAIV,KAAKU,IAETP,EAAa,QAAAC,IAAA,6C","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBAccordionItem","constructor","hostRef","this","_id","DEFAULT_ID","_open","_name","undefined","initialized","handleNameAttribute","_ref","setAttribute","attribute","value","call","handleToggle","event","preventDefault","newStateOpen","toggle","emit","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","watch1","componentDidLoad","id","uuid","defaultOpen","render","h","key","class","cls","className","getBooleanAsString","disabled","ref","el","open","onClick","headlinePlain","text"],"sources":["src/components/accordion-item/accordion-item.tsx"],"sourcesContent":["import { DEFAULT_ID } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls, getBooleanAsString, uuid } from \"../../utils\";\nimport { DBAccordionItemProps, DBAccordionItemState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot headline - TODO: Add description for slotHeadline\n */\n @Component({\n tag: \"db-accordion-item\",\n})\nexport class DBAccordionItem {\n private _ref!: HTMLDetailsElement | any;\n @Prop() id: DBAccordionItemProps[\"id\"];\n @Prop() defaultOpen: DBAccordionItemProps[\"defaultOpen\"];\n @Prop() name: DBAccordionItemProps[\"name\"];\n @Event() toggle: EventEmitter<\n Parameters<Required<DBAccordionItemProps>[\"onToggle\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBAccordionItemProps[\"className\"];\n @Prop() disabled: DBAccordionItemProps[\"disabled\"];\n @Prop() headlinePlain: DBAccordionItemProps[\"headlinePlain\"];\n @Prop() text: DBAccordionItemProps[\"text\"];\n @State() _id = DEFAULT_ID;\n @State() _open = false;\n @State() _name = undefined;\n @State() initialized = false;\n\n handleNameAttribute() {\n if (this._ref) {\n const setAttribute = this._ref.setAttribute;\n this._ref.setAttribute = (attribute: string, value: string) => {\n setAttribute.call(this._ref, attribute, value);\n if (attribute === \"name\") {\n this._name = value;\n }\n };\n }\n }\n handleToggle(event: ClickEvent<HTMLElement> | any) {\n // We need this for react https://github.com/facebook/react/issues/15486#issuecomment-488028431\n event?.preventDefault();\n const newStateOpen = !this._open;\n if (this.toggle) {\n this.toggle.emit(newStateOpen);\n }\n this._open = newStateOpen;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this._ref && this.initialized) {\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this.name) {\n this._name = this.name;\n }\n }\n\n @Watch(\"name\")\n watch1() {\n this.watch1Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-accordion-item\");\n this._id = this.id || \"accordion-item-\" + uuid();\n if (this.defaultOpen) {\n this._open = this.defaultOpen;\n }\n this.initialized = true;\n this.watch0Fn();\n this.watch1Fn();\n }\n\n render() {\n return (\n <li class={cls(\"db-accordion-item\", this.className)} id={this._id}>\n <details\n aria-disabled={getBooleanAsString(this.disabled)}\n ref={(el: any) => {\n this._ref = el;\n }}\n name={this._name}\n open={this._open}\n >\n <summary onClick={(event) => this.handleToggle(event)}>\n {this.headlinePlain ? this.headlinePlain : null}\n {!this.headlinePlain ? <slot name=\"headline\"></slot> : null}\n </summary>\n <div>{this.text ? this.text : <slot></slot>}</div>\n </details>\n </li>\n );\n }\n}\n"],"mappings":"yIAwBaA,EAAe,MAH3B,WAAAC,CAAAC,G,uCAeUC,KAAGC,IAAGC,EACNF,KAAKG,MAAG,MACRH,KAAKI,MAAGC,UACRL,KAAWM,YAAG,KAoHxB,CAlHC,mBAAAC,GACE,GAAIP,KAAKQ,KAAM,CACb,MAAMC,EAAeT,KAAKQ,KAAKC,aAC/BT,KAAKQ,KAAKC,aAAe,CAACC,EAAmBC,KAC3CF,EAAaG,KAAKZ,KAAKQ,KAAME,EAAWC,GACxC,GAAID,IAAc,OAAQ,CACxBV,KAAKI,MAAQO,C,IAKrB,YAAAE,CAAaC,GAEXA,IAAK,MAALA,SAAK,SAALA,EAAOC,iBACP,MAAMC,GAAgBhB,KAAKG,MAC3B,GAAIH,KAAKiB,OAAQ,CACfjB,KAAKiB,OAAOC,KAAKF,E,CAEnBhB,KAAKG,MAAQa,C,CAQP,sBAAAG,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQX,aAAakB,EAAKE,KAAMF,EAAKhB,OACrCW,EAAOS,gBAAgBJ,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMG,EAAiBL,EAAKhB,MAAMsB,SAAS,YAC3C,MAAMtB,EAAQgB,EAAKhB,MAAMuB,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAehB,EAAQiB,aAAa,SAC1CjB,EAAQX,aACNkB,EAAKE,KACL,GAAGO,EAAe,GAAGA,KAAkB,KAAKzB,KAE9C,GAAIqB,EAAgB,CAElBV,EAAOb,aAAa,QAAS,W,KACxB,CACLa,EAAOS,gBAAgBJ,EAAKE,K,KAOtC,QAAAS,G,CAOA,MAAAC,GACEvC,KAAKsC,U,CAGP,QAAAE,GACE,GAAIxC,KAAK6B,KAAM,CACb7B,KAAKI,MAAQJ,KAAK6B,I,EAKtB,MAAAY,GACEzC,KAAKwC,U,CAGP,gBAAAE,GACE1C,KAAKmB,uBAAuBnB,KAAKQ,KAAM,qBACvCR,KAAKC,IAAMD,KAAK2C,IAAM,kBAAoBC,IAC1C,GAAI5C,KAAK6C,YAAa,CACpB7C,KAAKG,MAAQH,KAAK6C,W,CAEpB7C,KAAKM,YAAc,KACnBN,KAAKsC,WACLtC,KAAKwC,U,CAGP,MAAAM,GACE,OACEC,EAAI,MAAAC,IAAA,2CAAAC,MAAOC,EAAI,oBAAqBlD,KAAKmD,WAAYR,GAAI3C,KAAKC,KAC5D8C,EAAA,WAAAC,IAAA,2DACiBI,EAAmBpD,KAAKqD,UACvCC,IAAMC,IACJvD,KAAKQ,KAAO+C,CAAE,EAEhB1B,KAAM7B,KAAKI,MACXoD,KAAMxD,KAAKG,OAEX4C,EAAA,WAAAC,IAAA,2CAASS,QAAU3C,GAAUd,KAAKa,aAAaC,IAC5Cd,KAAK0D,cAAgB1D,KAAK0D,cAAgB,MACzC1D,KAAK0D,cAAgBX,EAAA,QAAMlB,KAAK,aAAqB,MAEzDkB,EAAA,OAAAC,IAAA,4CAAMhD,KAAK2D,KAAO3D,KAAK2D,KAAOZ,EAAA,e","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.js","mappings":"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","names":[],"sources":["src/components/custom-select-dropdown/custom-select-dropdown.tsx","src/components/custom-select-list/custom-select-list.tsx","src/components/custom-select-list-item/custom-select-list-item.tsx","src/components/input/input.tsx","src/components/tag/tag.tsx"],"sourcesContent":["import { cls } from \"../../utils\";\nimport { DBCustomSelectDropdownProps } from \"./model\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-dropdown\",\n})\nexport class DBCustomSelectDropdown {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBCustomSelectDropdownProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectDropdownProps[\"className\"];\n @Prop() width: DBCustomSelectDropdownProps[\"width\"] = \"fixed\";\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-dropdown\");\n }\n\n render() {\n return (\n <article\n class={cls(\"db-custom-select-dropdown db-card\", this.className)}\n data-spacing=\"none\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-width={this.width}\n >\n <slot></slot>\n </article>\n );\n }\n}\n","import { cls } from \"../../utils\";\nimport { DBCustomSelectListProps } from \"./model\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-list\",\n})\nexport class DBCustomSelectList {\n private _ref!: HTMLDivElement | any;\n @Prop() multiple: DBCustomSelectListProps[\"multiple\"];\n @Prop() label: DBCustomSelectListProps[\"label\"];\n @Prop() id: DBCustomSelectListProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectListProps[\"className\"];\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-list\");\n }\n\n render() {\n return (\n <div\n class={cls(\"db-custom-select-list\", this.className)}\n role={this.multiple ? \"group\" : \"radiogroup\"}\n aria-label={this.label}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n >\n <ul>\n <slot></slot>\n </ul>\n </div>\n );\n }\n}\n","import { ChangeEvent } from \"../../shared/model\";\nimport { cls, getBoolean, getBooleanAsString, uuid } from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport {\n DBCustomSelectListItemProps,\n DBCustomSelectListItemState,\n} from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-list-item\",\n})\nexport class DBCustomSelectListItem {\n private _ref!: HTMLLIElement | any;\n @Prop() id: DBCustomSelectListItemProps[\"id\"];\n @Prop() isGroupTitle: DBCustomSelectListItemProps[\"isGroupTitle\"];\n @Prop() showDivider: DBCustomSelectListItemProps[\"showDivider\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBCustomSelectListItemProps>[\"onChange\"]>[number]\n > | void;\n @Prop() type: DBCustomSelectListItemProps[\"type\"];\n @Prop() checked: DBCustomSelectListItemProps[\"checked\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectListItemProps[\"className\"];\n @Prop() groupTitle: DBCustomSelectListItemProps[\"groupTitle\"];\n @Prop() icon: DBCustomSelectListItemProps[\"icon\"];\n @Prop() showIcon: DBCustomSelectListItemProps[\"showIcon\"];\n @Prop() name: DBCustomSelectListItemProps[\"name\"];\n @Prop() disabled: DBCustomSelectListItemProps[\"disabled\"];\n @Prop() value: DBCustomSelectListItemProps[\"value\"];\n @Prop() label: DBCustomSelectListItemProps[\"label\"];\n @State() _id = undefined;\n @State() hasDivider = false;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n }\n getIconTrailing() {\n if (this.isGroupTitle || this.type === \"checkbox\") {\n return;\n }\n return getBoolean(this.checked, \"checked\") ? \"check\" : \"x_placeholder\";\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this.hasDivider = Boolean(this.isGroupTitle || this.showDivider);\n }\n\n @Watch(\"isGroupTitle\")\n @Watch(\"showDivider\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-list-item\");\n this._id = this.id ?? `custom-select-list-item-${uuid()}`;\n this.watch0Fn();\n }\n\n render() {\n return (\n <li\n class={cls(\"db-custom-select-list-item\", this.className, {\n \"db-checkbox\": this.type === \"checkbox\" && !this.isGroupTitle,\n \"db-radio\": this.type !== \"checkbox\" && !this.isGroupTitle,\n })}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-divider={getBooleanAsString(this.hasDivider)}\n >\n {!this.isGroupTitle ? (\n <label\n data-icon={\n this.type !== \"checkbox\" && this.icon ? this.icon : undefined\n }\n data-show-icon={getBooleanAsString(this.showIcon)}\n data-icon-trailing={this.getIconTrailing()}\n >\n <input\n class=\"db-custom-select-list-item-checkbox\"\n data-disable-focus=\"true\"\n type={this.type}\n name={this.name}\n form={this.name}\n checked={getBoolean(this.checked, \"checked\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n value={this.value}\n onChange={(event) => this.handleChange(event)}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n ) : (\n <span>{this.groupTitle}</span>\n )}\n </li>\n );\n }\n}\n","import {\n DEFAULT_DATALIST_ID_SUFFIX,\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport {\n ChangeEvent,\n InputEvent,\n InteractionEvent,\n ValueLabelType,\n} from \"../../shared/model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getInputValue,\n getNumber,\n hasVoiceOver,\n isArrayOfStrings,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBInputProps, DBInputState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-input\",\n})\nexport class DBInput {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBInputProps[\"id\"];\n @Prop() invalidMessage: DBInputProps[\"invalidMessage\"];\n @Prop() dataListId: DBInputProps[\"dataListId\"];\n @Prop() message: DBInputProps[\"message\"];\n @Prop() showMessage: DBInputProps[\"showMessage\"];\n @Prop() value: DBInputProps[\"value\"];\n @Prop() validMessage: DBInputProps[\"validMessage\"];\n @Prop() validation: DBInputProps[\"validation\"];\n @Prop() required: DBInputProps[\"required\"];\n @Prop() minLength: DBInputProps[\"minLength\"];\n @Prop() maxLength: DBInputProps[\"maxLength\"];\n @Prop() pattern: DBInputProps[\"pattern\"];\n @Event() input: EventEmitter<\n Parameters<Required<DBInputProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBInputProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBInputProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBInputProps>[\"onFocus\"]>[number]\n > | void;\n @Prop() dataList: DBInputProps[\"dataList\"];\n @Prop({attribute: \"classname\"}) className: DBInputProps[\"className\"];\n @Prop() variant: DBInputProps[\"variant\"];\n @Prop() showLabel: DBInputProps[\"showLabel\"];\n @Prop() showIconLeading: DBInputProps[\"showIconLeading\"];\n @Prop() showIcon: DBInputProps[\"showIcon\"];\n @Prop() iconLeading: DBInputProps[\"iconLeading\"];\n @Prop() icon: DBInputProps[\"icon\"];\n @Prop() iconTrailing: DBInputProps[\"iconTrailing\"];\n @Prop() showRequiredAsterisk: DBInputProps[\"showRequiredAsterisk\"];\n @Prop() showIconTrailing: DBInputProps[\"showIconTrailing\"];\n @Prop() label: DBInputProps[\"label\"];\n @Prop() fieldSizing: DBInputProps[\"fieldSizing\"];\n @Prop() name: DBInputProps[\"name\"];\n @Prop() type: DBInputProps[\"type\"];\n @Prop() multiple: DBInputProps[\"multiple\"];\n @Prop() placeholder: DBInputProps[\"placeholder\"];\n @Prop() disabled: DBInputProps[\"disabled\"];\n @Prop() step: DBInputProps[\"step\"];\n @Prop() maxlength: DBInputProps[\"maxlength\"];\n @Prop() minlength: DBInputProps[\"minlength\"];\n @Prop() max: DBInputProps[\"max\"];\n @Prop() min: DBInputProps[\"min\"];\n @Prop() readOnly: DBInputProps[\"readOnly\"];\n @Prop() readonly: DBInputProps[\"readonly\"];\n @Prop() form: DBInputProps[\"form\"];\n @Prop() size: DBInputProps[\"size\"];\n @Prop() autocomplete: DBInputProps[\"autocomplete\"];\n @Prop() autofocus: DBInputProps[\"autofocus\"];\n @Prop() enterkeyhint: DBInputProps[\"enterkeyhint\"];\n @Prop() inputmode: DBInputProps[\"inputmode\"];\n @Prop() ariaDescribedBy: DBInputProps[\"ariaDescribedBy\"];\n @Prop() messageSize: DBInputProps[\"messageSize\"];\n @Prop() messageIcon: DBInputProps[\"messageIcon\"];\n @Prop() validMessageSize: DBInputProps[\"validMessageSize\"];\n @Prop() invalidMessageSize: DBInputProps[\"invalidMessageSize\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _dataListId = undefined;\n @State() _descByIds = undefined;\n @State() _value = undefined;\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the input */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength || this.pattern)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = undefined;\n }\n }\n handleInput(event: InputEvent<HTMLInputElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getDataList() {\n const _list = this.dataList;\n return Array.from(\n (isArrayOfStrings(_list)\n ? _list?.map((val: string) => ({\n value: val,\n label: undefined,\n }))\n : _list) || []\n );\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId =\n this.dataListId ?? this._id + DEFAULT_DATALIST_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n this.handleValidation();\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-input\");\n const mId = this.id ?? `input-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId = mId + DEFAULT_DATALIST_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-input\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n data-show-icon={getBooleanAsString(\n this.showIconLeading ?? this.showIcon\n )}\n data-icon={this.iconLeading ?? this.icon}\n data-icon-trailing={this.iconTrailing}\n data-hide-asterisk={getHideProp(this.showRequiredAsterisk)}\n data-show-icon-trailing={getBooleanAsString(this.showIconTrailing)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <input\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n data-field-sizing={this.fieldSizing}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n type={this.type || \"text\"}\n multiple={getBoolean(this.multiple, \"multiple\")}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n step={getNumber(this.step)}\n value={this.value ?? this._value}\n maxLength={getNumber(this.maxLength, this.maxlength)}\n minLength={getNumber(this.minLength, this.minlength)}\n max={getInputValue(this.max, this.type)}\n min={getInputValue(this.min, this.type)}\n readOnly={\n getBoolean(this.readOnly, \"readOnly\") ||\n getBoolean(this.readonly, \"readonly\")\n }\n form={this.form}\n pattern={this.pattern}\n size={this.size}\n autoComplete={this.autocomplete}\n autoFocus={getBoolean(this.autofocus, \"autofocus\")}\n enterKeyHint={this.enterkeyhint}\n inputMode={this.inputmode}\n onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n list={this.dataList && this._dataListId}\n aria-describedby={this.ariaDescribedBy ?? this._descByIds}\n />\n {this.dataList ? (\n <datalist id={this._dataListId}>\n {this.getDataList()?.map((option) => (\n <option\n key={this._dataListId + \"-option-\" + option.value}\n value={option.value}\n >\n {option.label}\n </option>\n ))}\n </datalist>\n ) : null}\n <slot></slot>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size={this.messageSize || \"small\"}\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n semantic=\"successful\"\n id={this._validMessageId}\n size={this.validMessageSize || \"small\"}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n semantic=\"critical\"\n id={this._invalidMessageId}\n size={this.invalidMessageSize || \"small\"}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n","import { DEFAULT_REMOVE } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\nimport { DBTagProps, DBTagState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Event,\n EventEmitter,\n Prop,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot content - TODO: Add description for slotContent\n */\n @Component({\n tag: \"db-tag\",\n})\nexport class DBTag {\n private _ref!: HTMLDivElement | any;\n @Event() remove: EventEmitter<\n Parameters<Required<DBTagProps>[\"remove\"]>[number]\n > | void;\n @Prop() removeButton: DBTagProps[\"removeButton\"];\n @Prop() id: DBTagProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTagProps[\"className\"];\n @Prop() semantic: DBTagProps[\"semantic\"];\n @Prop() emphasis: DBTagProps[\"emphasis\"];\n @Prop() icon: DBTagProps[\"icon\"];\n @Prop() showCheckState: DBTagProps[\"showCheckState\"];\n @Prop() showIcon: DBTagProps[\"showIcon\"];\n @Prop() noText: DBTagProps[\"noText\"];\n @Prop() overflow: DBTagProps[\"overflow\"];\n @Prop() text: DBTagProps[\"text\"];\n @Prop() behavior: DBTagProps[\"behavior\"];\n\n handleRemove(event?: ClickEvent<HTMLButtonElement> | void) {\n if (!event) return;\n event.stopPropagation();\n if (this.remove) {\n this.remove.emit(event);\n }\n }\n getRemoveButtonText() {\n if (this.removeButton) {\n return this.removeButton;\n }\n\n // TODO: We should think this through again, if we would really like to have default and especially english, instead of german labels in here\n return DEFAULT_REMOVE;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tag\");\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tag\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-semantic={this.semantic}\n data-emphasis={this.emphasis}\n data-icon={this.icon}\n data-show-check-state={getBooleanAsString(this.showCheckState ?? true)}\n data-show-icon={getBooleanAsString(this.showIcon)}\n data-no-text={getBooleanAsString(this.noText)}\n data-overflow={getBooleanAsString(this.overflow)}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n {this.text ? this.text : null}\n {this.behavior === \"removable\" ? (\n <button\n class=\"db-button db-tab-remove-button\"\n data-icon=\"cross\"\n data-size=\"small\"\n data-no-text=\"true\"\n data-variant=\"ghost\"\n type=\"button\"\n onClick={(event) => this.handleRemove(event)}\n >\n <db-tooltip variant=\"label\">\n {this.getRemoveButtonText()}\n </db-tooltip>\n </button>\n ) : null}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"db-tab-item.db-tab-list.db-tab-panel.entry.js","mappings":"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","names":[],"sources":["src/components/tab-item/tab-item.tsx","src/components/tab-list/tab-list.tsx","src/components/tab-panel/tab-panel.tsx"],"sourcesContent":["import { cls, getBoolean, getBooleanAsString } from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport type { DBTabItemProps, DBTabItemState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tab-item\",\n})\nexport class DBTabItem {\n private _ref!: HTMLInputElement | any;\n @Prop() active: DBTabItemProps[\"active\"];\n @Prop() name: DBTabItemProps[\"name\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBTabItemProps>[\"onChange\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTabItemProps[\"className\"];\n @Prop() id: DBTabItemProps[\"id\"];\n @Prop() iconLeading: DBTabItemProps[\"iconLeading\"];\n @Prop() icon: DBTabItemProps[\"icon\"];\n @Prop() iconTrailing: DBTabItemProps[\"iconTrailing\"];\n @Prop() showIconLeading: DBTabItemProps[\"showIconLeading\"];\n @Prop() showIcon: DBTabItemProps[\"showIcon\"];\n @Prop() showIconTrailing: DBTabItemProps[\"showIconTrailing\"];\n @Prop() noText: DBTabItemProps[\"noText\"];\n @Prop() disabled: DBTabItemProps[\"disabled\"];\n @Prop() checked: DBTabItemProps[\"checked\"];\n @Prop() label: DBTabItemProps[\"label\"];\n @State() _selected = false;\n @State() _name = undefined;\n @State() initialized = false;\n\n handleNameAttribute() {\n if (this._ref) {\n const setAttribute = this._ref.setAttribute;\n this._ref.setAttribute = (attribute: string, value: string) => {\n setAttribute.call(this._ref, attribute, value);\n if (attribute === \"name\") {\n this._name = value;\n }\n };\n }\n }\n handleChange(event: any) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n\n const selected = (event.target as any)?.[\"checked\"];\n this._selected = getBooleanAsString(selected);\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.initialized && this._ref) {\n if (this.active) {\n this._ref.click();\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this.name) {\n this._name = this.name;\n }\n }\n\n @Watch(\"name\")\n watch1() {\n this.watch1Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tab-item\");\n this.initialized = true;\n this.watch0Fn();\n this.watch1Fn();\n }\n\n render() {\n return (\n <li class={cls(\"db-tab-item\", this.className)} role=\"none\">\n <label\n htmlFor={this.id}\n data-icon={this.iconLeading ?? this.icon}\n data-icon-trailing={this.iconTrailing}\n data-show-icon={getBooleanAsString(\n this.showIconLeading ?? this.showIcon\n )}\n data-show-icon-trailing={getBooleanAsString(this.showIconTrailing)}\n data-no-text={getBooleanAsString(this.noText)}\n >\n <input\n type=\"radio\"\n role=\"tab\"\n disabled={getBoolean(this.disabled, \"disabled\")}\n aria-selected={this._selected}\n checked={getBoolean(this.checked, \"checked\")}\n ref={(el: any) => {\n this._ref = el;\n }}\n name={this._name}\n id={this.id}\n onInput={(event) => this.handleChange(event)}\n />\n {this.label ? this.label : null}\n <slot></slot>\n </label>\n </li>\n );\n }\n}\n","import { DEFAULT_ID } from \"../../shared/constants\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBTabListProps, DBTabListState } from \"./model\";\n\nimport { Component, h, Fragment, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tab-list\",\n})\nexport class DBTabList {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTabListProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTabListProps[\"className\"];\n @State() _id = DEFAULT_ID;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tab-list\");\n this._id = this.id || \"tab-list-\" + uuid();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tab-list\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n >\n <ul role=\"tablist\">\n <slot></slot>\n </ul>\n </div>\n );\n }\n}\n","import { cls } from \"../../utils\";\nimport { DBTabPanelProps, DBTabPanelState } from \"./model\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tab-panel\",\n})\nexport class DBTabPanel {\n private _ref!: HTMLDivElement | any;\n @Prop({attribute: \"classname\"}) className: DBTabPanelProps[\"className\"];\n @Prop() id: DBTabPanelProps[\"id\"];\n @Prop() content: DBTabPanelProps[\"content\"];\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tab-panel\");\n }\n\n render() {\n return (\n <section\n class={cls(\"db-tab-panel\", this.className)}\n role=\"tabpanel\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n >\n {this.content ? this.content : null}\n <slot></slot>\n </section>\n );\n }\n}\n"],"version":3}
|