@db-ux/wc-core-components 3.0.0 → 3.0.1
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-checkbox.cjs.entry.js +5 -4
- package/dist/cjs/db-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/db-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.cjs.js.map +1 -1
- package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js +6 -5
- package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js.map +1 -1
- package/dist/cjs/db-custom-select.cjs.entry.js +20 -13
- package/dist/cjs/db-custom-select.cjs.entry.js.map +1 -1
- package/dist/cjs/db-custom-select.entry.cjs.js.map +1 -1
- package/dist/cjs/db-header.cjs.entry.js +13 -18
- package/dist/cjs/db-header.cjs.entry.js.map +1 -1
- package/dist/cjs/db-header.entry.cjs.js.map +1 -1
- package/dist/cjs/db-navigation-item.cjs.entry.js +2 -2
- package/dist/cjs/db-popover.cjs.entry.js +1 -1
- package/dist/cjs/db-select.cjs.entry.js +5 -4
- package/dist/cjs/db-select.cjs.entry.js.map +1 -1
- package/dist/cjs/db-select.entry.cjs.js.map +1 -1
- package/dist/cjs/db-textarea.cjs.entry.js +5 -4
- package/dist/cjs/db-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/db-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/db-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/db-ux.cjs.js +1 -1
- package/dist/cjs/{floating-components-BxBSpOv1.js → floating-components-ogUqz72V.js} +3 -2
- package/dist/cjs/{floating-components-BxBSpOv1.js.map → floating-components-ogUqz72V.js.map} +1 -1
- package/dist/cjs/index.cjs.js +113 -12
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{navigation-BNSnj0bl.js → navigation-DauGE-qj.js} +3 -3
- package/dist/cjs/{navigation-BNSnj0bl.js.map → navigation-DauGE-qj.js.map} +1 -1
- package/dist/collection/components/checkbox/checkbox.js +5 -4
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/custom-select/custom-select.js +55 -42
- 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/header/header.js +30 -34
- package/dist/collection/components/header/header.js.map +1 -1
- package/dist/collection/components/input/input.js +6 -5
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/select/select.js +5 -4
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/textarea/textarea.js +5 -4
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/collection/index.js +39 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/custom-elements.json +87 -102
- package/dist/db-ux/db-checkbox.entry.esm.js.map +1 -1
- package/dist/db-ux/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.esm.js.map +1 -1
- package/dist/db-ux/db-custom-select.entry.esm.js.map +1 -1
- package/dist/db-ux/db-header.entry.esm.js.map +1 -1
- package/dist/db-ux/db-select.entry.esm.js.map +1 -1
- package/dist/db-ux/db-textarea.entry.esm.js.map +1 -1
- package/dist/db-ux/db-ux.esm.js +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-340bb722.entry.js +2 -0
- package/dist/db-ux/p-340bb722.entry.js.map +1 -0
- package/dist/db-ux/p-3d7eb768.entry.js +2 -0
- package/dist/db-ux/p-3d7eb768.entry.js.map +1 -0
- package/dist/db-ux/p-6e35a260.entry.js +2 -0
- package/dist/db-ux/p-6e35a260.entry.js.map +1 -0
- package/dist/db-ux/p-84dd974f.entry.js +2 -0
- package/dist/db-ux/p-84dd974f.entry.js.map +1 -0
- package/dist/db-ux/p-8b41c30e.entry.js +2 -0
- package/dist/db-ux/p-8b41c30e.entry.js.map +1 -0
- package/dist/db-ux/{p-CifCRcqG.js → p-G-TursYV.js} +2 -2
- package/dist/db-ux/{p-CifCRcqG.js.map → p-G-TursYV.js.map} +1 -1
- package/dist/db-ux/p-a3541c03.entry.js +2 -0
- package/dist/db-ux/p-a3541c03.entry.js.map +1 -0
- package/dist/db-ux/{p-b7f2a0b9.entry.js → p-d4e3d1db.entry.js} +2 -2
- package/dist/db-ux/{p-30023526.entry.js → p-e9c323af.entry.js} +2 -2
- package/dist/db-ux/{p-914ca50e.entry.js → p-fdf5578d.entry.js} +2 -2
- package/dist/db-ux/{p-DdyDId49.js → p-sP2NlPcu.js} +2 -2
- package/dist/db-ux/{p-DdyDId49.js.map → p-sP2NlPcu.js.map} +1 -1
- package/dist/esm/db-checkbox.entry.js +5 -4
- package/dist/esm/db-checkbox.entry.js.map +1 -1
- package/dist/esm/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.js.map +1 -1
- package/dist/esm/db-custom-select-dropdown_5.entry.js +6 -5
- package/dist/esm/db-custom-select-dropdown_5.entry.js.map +1 -1
- package/dist/esm/db-custom-select.entry.js +20 -13
- package/dist/esm/db-custom-select.entry.js.map +1 -1
- package/dist/esm/db-header.entry.js +15 -20
- package/dist/esm/db-header.entry.js.map +1 -1
- package/dist/esm/db-navigation-item.entry.js +2 -2
- package/dist/esm/db-popover.entry.js +1 -1
- package/dist/esm/db-select.entry.js +5 -4
- package/dist/esm/db-select.entry.js.map +1 -1
- package/dist/esm/db-textarea.entry.js +5 -4
- package/dist/esm/db-textarea.entry.js.map +1 -1
- package/dist/esm/db-tooltip.entry.js +1 -1
- package/dist/esm/db-ux.js +1 -1
- package/dist/esm/{floating-components-CifCRcqG.js → floating-components-G-TursYV.js} +3 -3
- package/dist/esm/{floating-components-CifCRcqG.js.map → floating-components-G-TursYV.js.map} +1 -1
- package/dist/esm/index.js +64 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{navigation--rT2utIA.js → navigation--UdC9CzO.js} +3 -3
- package/dist/esm/{navigation--rT2utIA.js.map → navigation--UdC9CzO.js.map} +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +1 -1
- package/dist/types/components/custom-select/custom-select.d.ts +4 -3
- package/dist/types/components/custom-select/model.d.ts +1 -0
- package/dist/types/components/header/header.d.ts +1 -2
- package/dist/types/components/input/input.d.ts +2 -2
- package/dist/types/components/select/select.d.ts +1 -1
- package/dist/types/components/textarea/textarea.d.ts +1 -1
- package/dist/types/index.d.ts +39 -0
- package/dist/vscode.html-custom-data.json +14 -14
- package/dist/web-types.json +35 -35
- package/package.json +7 -7
- package/dist/db-ux/p-07594af1.entry.js +0 -2
- package/dist/db-ux/p-07594af1.entry.js.map +0 -1
- package/dist/db-ux/p-44142b26.entry.js +0 -2
- package/dist/db-ux/p-44142b26.entry.js.map +0 -1
- package/dist/db-ux/p-7d77b648.entry.js +0 -2
- package/dist/db-ux/p-7d77b648.entry.js.map +0 -1
- package/dist/db-ux/p-86df8645.entry.js +0 -2
- package/dist/db-ux/p-86df8645.entry.js.map +0 -1
- package/dist/db-ux/p-93a9f369.entry.js +0 -2
- package/dist/db-ux/p-93a9f369.entry.js.map +0 -1
- package/dist/db-ux/p-fedcbc94.entry.js +0 -2
- package/dist/db-ux/p-fedcbc94.entry.js.map +0 -1
- /package/dist/db-ux/{p-b7f2a0b9.entry.js.map → p-d4e3d1db.entry.js.map} +0 -0
- /package/dist/db-ux/{p-30023526.entry.js.map → p-e9c323af.entry.js.map} +0 -0
- /package/dist/db-ux/{p-914ca50e.entry.js.map → p-fdf5578d.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBCustomSelectDropdown","constructor","hostRef","this","width","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","render","h","key","class","cls","className","ref","el","id","DBCustomSelectList","role","multiple","label","DBCustomSelectListItem","_id","undefined","hasDivider","handleChange","event","stopPropagation","change","emit","getIconTrailing","isGroupTitle","type","getBoolean","checked","watch0Fn","Boolean","showDivider","watch0","_a","uuid","getBooleanAsString","icon","showIcon","form","disabled","onChange","groupTitle","DBInput","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_dataListId","_descByIds","_value","_voiceOverFallback","hasValidState","validMessage","validation","handleValidation","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","minLength","maxLength","pattern","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleInput","input","handleBlur","blur","handleFocus","focus","getDataList","_list","dataList","Array","from","isArrayOfStrings","map","val","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","dataListId","DEFAULT_DATALIST_ID_SUFFIX","watch1","watch2Fn","watch2","mId","variant","getHideProp","showLabel","showIconLeading","iconLeading","iconTrailing","showRequiredAsterisk","showIconTrailing","htmlFor","DEFAULT_LABEL","fieldSizing","placeholder","DEFAULT_PLACEHOLDER","step","getNumber","_e","maxlength","minlength","max","getInputValue","min","readOnly","readonly","size","autoComplete","autocomplete","autoFocus","autofocus","onInput","onBlur","onFocus","list","_f","ariaDescribedBy","_g","option","messageIcon","semantic","DBTag","handleRemove","remove","getRemoveButtonText","removeButton","DEFAULT_REMOVE","emphasis","showCheckState","noText","overflow","text","behavior","onClick"],"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() ariaDescribedBy: DBInputProps[\"ariaDescribedBy\"];\n @Prop() messageIcon: DBInputProps[\"messageIcon\"];\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 = \"\";\n @State() _value = \"\";\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 = \"\";\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 }\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 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=\"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","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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as t,h as s,F as h}from"./p-CNzNv7KB.js";import{l as e,a as l,m as a,d as n,e as d,g as o,h as c,i as u,o as r,f as v,k as f,c as w,s as m}from"./p-DC9V_oNU.js";import{h as b,d as p,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{h as R}from"./p-CifCRcqG.js";const T=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._descByIds="";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,a,n,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(b()){this._voiceOverFallback=this._invalidMessage;p((()=>this._voiceOverFallback=""),1e3)}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(b()){this._voiceOverFallback=(l=this.validMessage)!==null&&l!==void 0?l:f;p((()=>this._voiceOverFallback=""),1e3)}this._validity=(a=this.validation)!==null&&a!==void 0?a:"valid"}else if(y(this.message,this.showMessage)){this._descByIds=this._messageId;this._validity=(n=this.validation)!==null&&n!==void 0?n:"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`${a} ${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){p((()=>{var t;R(i,this.detailsRef,(t=this.placement)!==null&&t!==void 0?t:"bottom")}),1)}}}handleArrowDownUp(i){var t,s,h,e,l,a,n;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){p((()=>{i.focus()}),100)}else{const i=Array.from((a=this.detailsRef)===null||a===void 0?void 0:a.querySelectorAll(`input[type="checkbox"],input[type="radio"]`));if(i.length){(n=i.at(-1))===null||n===void 0?void 0:n.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;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==="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)){p((()=>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;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){p((()=>{h.focus()}),1)}}}}handleOpenByKeyboardFocus(){if(this.detailsRef){const i=g(this.detailsRef);if(i){p((()=>{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+v;this._labelId=this._id+n;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(){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+v;this._validMessageId=t+o;this._invalidMessageId=t+c;this._selectId=t+d;this._labelId=t+n;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,a,n,d,o,c,u,r,v,b,p,g,k;return s("div",{key:"82946a8e6a2270c2ed63f0b3c67969ded27da08b",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:"9993fa9bc1fb6b3434a0a879cc33aeec716f8a12",id:this._labelId},(i=this.label)!==null&&i!==void 0?i:l,s("select",{key:"a0c7d19b6635f36ca97febbe04abcedb2c19c2c3",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:"6cd7608bb153d82ced317db080a65f9facf87be3",ref:i=>{this.detailsRef=i},open:this.open,onToggle:i=>this.handleDropdownToggle(i),onKeyDown:i=>this.handleKeyboardPress(i)},s("slot",{key:"3a2e525713a08053ef3592d7a56e23f2797973cf"}),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},((a=this._selectedLabels)===null||a===void 0?void 0:a.length)?s("span",{"data-visually-hidden":F(this.selectedType==="tag"),id:this._selectedLabelsId},this._selectedLabels):null,this.selectedType==="tag"?s("div",null,(n=this._selectedOptions)===null||n===void 0?void 0:n.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._hasNoOptions?undefined:"circular_arrows",semantic:this._hasNoOptions?"warning":"informational"},(c=this._hasNoOptions?this.noResultsText:this.loadingText)!==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},(v=this._options)===null||v===void 0?void 0:v.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)},(b=this.mobileCloseButtonText)!==null&&b!==void 0?b:m)))):null),((p=this.showClearSelection)!==null&&p!==void 0?p: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:"c607404a44880e28d2a58c5529783f9bea67f5ab","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||f):null,s("db-infotext",{key:"21756e1567d46ea266e0aa5c56ed7451ff002554",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"1ea85930301804a03a29679c2ad94655ba88bf36","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{detailsRef:["watch0","watch2"],_id:["watch1"],_descByIds:["watch2"],showNoResults:["watch3"],_options:["watch3"],showSelectAll:["watch4"],amountOptions:["watch4","watch5","watch9"],multiple:["watch4"],showSearch:["watch5"],values:["watch6"],_values:["watch7","watch9","watch12"],validation:["watch8"],options:["watch10","watch12"],searchValue:["watch11"],_selectedOptions:["watch13","watch14"],selectedType:["watch13"],amountText:["watch13"],selectedLabels:["watch13"],transformSelectedLabels:["watch13"],selectAllIndeterminate:["watch15"],selectAllRef:["watch15"],selectRef:["watch16"],invalidMessage:["watch16"]}}};export{T as db_custom_select};
|
|
2
|
-
//# sourceMappingURL=p-fedcbc94.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","_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","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","noResultsText","loadingText","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() 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() showLoading: DBCustomSelectProps[\"showLoading\"];\n @Prop() ariaListLabel: DBCustomSelectProps[\"ariaListLabel\"];\n @Prop() noResultsText: DBCustomSelectProps[\"noResultsText\"];\n @Prop() loadingText: DBCustomSelectProps[\"loadingText\"];\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() _descByIds = \"\";\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 this._validity = this.validation ?? \"invalid\";\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 (\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 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(\"_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 this.handleValidation();\n }\n\n @Watch(\"_values\")\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._hasNoOptions ? undefined : \"circular_arrows\"}\n semantic={this._hasNoOptions ? \"warning\" : \"informational\"}\n >\n {(this._hasNoOptions\n ? this.noResultsText\n : this.loadingText) ?? 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":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|