@db-ux/wc-core-components 3.0.8 → 3.1.0
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-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 +2 -2
- package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js.map +1 -1
- package/dist/cjs/db-custom-select.cjs.entry.js +17 -6
- 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-select.cjs.entry.js +12 -6
- 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-stack.cjs.entry.js +2 -2
- package/dist/cjs/db-switch.cjs.entry.js +1 -1
- package/dist/cjs/db-tab-item_3.cjs.entry.js +6 -6
- package/dist/cjs/db-tabs.cjs.entry.js +2 -2
- package/dist/cjs/db-textarea.cjs.entry.js +2 -2
- package/dist/cjs/db-ux.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/custom-select/custom-select.js +17 -6
- package/dist/collection/components/custom-select/custom-select.js.map +1 -1
- package/dist/collection/components/input/input.js +127 -2
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/input/model.js.map +1 -1
- package/dist/collection/components/select/select.js +37 -31
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/stack/stack.js +2 -2
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tab-item/tab-item.js +2 -2
- package/dist/collection/components/tab-list/tab-list.js +2 -2
- package/dist/collection/components/tab-panel/tab-panel.js +2 -2
- package/dist/collection/components/tabs/tabs.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/custom-elements.json +214 -28
- 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-select.entry.esm.js.map +1 -1
- package/dist/db-ux/db-ux.esm.js +1 -1
- package/dist/db-ux/index.esm.js.map +1 -1
- package/dist/db-ux/{p-6451d6dc.entry.js → p-1e42a6f1.entry.js} +2 -2
- package/dist/db-ux/p-22d04305.entry.js +2 -0
- package/dist/db-ux/{p-d88c0762.entry.js.map → p-22d04305.entry.js.map} +1 -1
- package/dist/db-ux/{p-4df636ff.entry.js → p-7c11b1d2.entry.js} +2 -2
- package/dist/db-ux/{p-14b7cc91.entry.js → p-94b9cf45.entry.js} +2 -2
- package/dist/db-ux/p-95cd5423.entry.js +2 -0
- package/dist/db-ux/p-95cd5423.entry.js.map +1 -0
- package/dist/db-ux/p-c706cc13.entry.js +2 -0
- package/dist/db-ux/p-c706cc13.entry.js.map +1 -0
- package/dist/db-ux/p-de70042e.entry.js +2 -0
- package/dist/db-ux/p-de70042e.entry.js.map +1 -0
- package/dist/db-ux/p-ea0bdeb1.entry.js +2 -0
- 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 +2 -2
- package/dist/esm/db-custom-select-dropdown_5.entry.js.map +1 -1
- package/dist/esm/db-custom-select.entry.js +17 -6
- package/dist/esm/db-custom-select.entry.js.map +1 -1
- package/dist/esm/db-select.entry.js +12 -6
- package/dist/esm/db-select.entry.js.map +1 -1
- package/dist/esm/db-stack.entry.js +2 -2
- package/dist/esm/db-switch.entry.js +1 -1
- package/dist/esm/db-tab-item_3.entry.js +6 -6
- package/dist/esm/db-tabs.entry.js +2 -2
- package/dist/esm/db-textarea.entry.js +2 -2
- package/dist/esm/db-ux.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/input/input.d.ts +5 -0
- package/dist/types/components/input/model.d.ts +21 -1
- package/dist/types/components/select/select.d.ts +1 -1
- package/dist/types/components.d.ts +10 -0
- package/dist/vscode.html-custom-data.json +47 -5
- package/dist/web-types.json +64 -10
- package/package.json +3 -3
- package/dist/db-ux/p-0b8fd677.entry.js +0 -2
- package/dist/db-ux/p-0b8fd677.entry.js.map +0 -1
- package/dist/db-ux/p-61c37c75.entry.js +0 -2
- package/dist/db-ux/p-61c37c75.entry.js.map +0 -1
- package/dist/db-ux/p-ab1435c2.entry.js +0 -2
- package/dist/db-ux/p-cd3f02d3.entry.js +0 -2
- package/dist/db-ux/p-cd3f02d3.entry.js.map +0 -1
- package/dist/db-ux/p-d88c0762.entry.js +0 -2
- /package/dist/db-ux/{p-6451d6dc.entry.js.map → p-1e42a6f1.entry.js.map} +0 -0
- /package/dist/db-ux/{p-4df636ff.entry.js.map → p-7c11b1d2.entry.js.map} +0 -0
- /package/dist/db-ux/{p-14b7cc91.entry.js.map → p-94b9cf45.entry.js.map} +0 -0
- /package/dist/db-ux/{p-ab1435c2.entry.js.map → p-ea0bdeb1.entry.js.map} +0 -0
|
@@ -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","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 (\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":"+XAyEaA,EAAc,MAH1B,WAAAC,CAAAC,G,0KAiESC,KAAkBC,mBAA8C,KAChED,KAAkBE,mBACxB,kBAGOF,KAAGG,IAAGC,UACNJ,KAAUK,WAAGD,UACbJ,KAAeM,gBAAGF,UAClBJ,KAAiBO,kBAAGH,UACpBJ,KAAeQ,gBAAGJ,UAClBJ,KAASS,UAAGL,UACZJ,KAAQU,SAAGN,UACXJ,KAAUW,WAAGP,UACbJ,KAAcY,eAAGR,UACjBJ,KAAWa,YAAGT,UACdJ,KAASc,UAAG,gBACZd,KAAgBe,iBAAG,MACnBf,KAAUgB,WAAGZ,UACbJ,KAAeiB,gBAAG,GAClBjB,KAAiBkB,kBAAGd,UACpBJ,KAAkBmB,mBAAG,GACrBnB,KAAgBoB,iBAAG,GACnBpB,KAAgBqB,iBAAG,MACnBrB,KAAasB,cAAG,MAChBtB,KAAauB,cAAG,EAChBvB,KAAOwB,QAAG,GACVxB,KAAQyB,SAAG,GACXzB,KAAa0B,cAAG,MAChB1B,KAAgC2B,iCAAGvB,UACnCJ,KAAwB4B,yBAAG,EAC3B5B,KAAiC6B,kCAAGzB,UACpCJ,KAAS8B,UAAG1B,UACZJ,KAAY+B,aAAG3B,UACfJ,KAAgBgC,iBAAG,MACnBhC,KAAsBiC,uBAAG,MA0YlCjC,KAAAkC,aAAe,SAASA,EAAaC,GAEnCA,EAAMC,iBACR,CAilBD,CA59BC,oBAAAC,CAAqBF,G,QACnB,KAAIG,EAAAH,IAAK,MAALA,SAAK,SAALA,EAAOI,UAAM,MAAAD,SAAA,SAAAA,EAAEE,aAAYC,EAAAN,IAAA,MAAAA,SAAA,SAAAA,EAAOI,UAAQ,MAAAE,SAAA,SAAAA,EAAAD,SAASxC,KAAK0C,aAAa,CACvE1C,KAAK2C,qB,EAGT,aAAAC,G,MACE,UAAUN,EAAAtC,KAAK6C,gBAAgB,MAAAP,SAAA,EAAAA,EAAAtC,KAAK8C,aAAe,Q,CAErD,gBAAAC,G,oBACE,GAAI/C,KAAKgD,UAAW,CAClBhD,KAAKgD,UAAUC,MAAQjD,KAAKkD,sB,CAG9B,MAAKZ,EAAAtC,KAAKgD,aAAS,MAAAV,SAAA,SAAAA,EAAEa,SAASC,QAASpD,KAAK8C,aAAe,UAAW,CACpE9C,KAAKgB,WAAahB,KAAKO,kBACvBP,KAAKQ,gBACHR,KAAKqD,kBACLZ,EAAAzC,KAAKgD,aAAS,MAAAP,SAAA,SAAAA,EAAEa,oBAChBC,EACF,GAAIC,IAAgB,CAClBxD,KAAKmB,mBAAqBnB,KAAKQ,gBAC/BiD,GAAM,IAAOzD,KAAKmB,mBAAqB,IAAK,I,CAE9C,GAAInB,KAAKe,iBAAkB,CACzBf,KAAKc,WAAY4C,EAAA1D,KAAK8C,cAAc,MAAAY,SAAA,EAAAA,EAAA,S,OAEjC,GACL1D,KAAK4C,mBACLe,EAAA3D,KAAKgD,aAAS,MAAAW,SAAA,SAAAA,EAAER,SAASC,QACzBpD,KAAK4D,SACL,CACA5D,KAAKgB,WAAahB,KAAKM,gBACvB,GAAIkD,IAAgB,CAClBxD,KAAKmB,oBAAqB0C,EAAA7D,KAAK6C,gBAAgB,MAAAgB,SAAA,EAAAA,EAAAC,EAC/CL,GAAM,IAAOzD,KAAKmB,mBAAqB,IAAK,I,CAE9CnB,KAAKc,WAAYiD,EAAA/D,KAAK8C,cAAc,MAAAiB,SAAA,EAAAA,EAAA,O,MAC/B,GAAIC,EAAkBhE,KAAKiE,QAASjE,KAAKkE,aAAc,CAC5DlE,KAAKgB,WAAahB,KAAKK,WACvBL,KAAKc,WAAYqD,EAAAnE,KAAK8C,cAAc,MAAAqB,SAAA,EAAAA,EAAA,e,KAC/B,CACLnE,KAAKgB,WAAahB,KAAKY,eACvBZ,KAAKc,WAAYsD,EAAApE,KAAK8C,cAAc,MAAAsB,SAAA,EAAAA,EAAA,e,EAGxC,oBAAAC,CAAqBlC,G,QACnB,GAAInC,KAAKsE,eAAgB,CACvBnC,EAAMC,kBACNpC,KAAKsE,eAAeC,KAAKpC,E,CAE3B,GAAIA,EAAMI,kBAAkBiC,oBAAsBrC,EAAMI,OAAOkC,KAAM,CACnEzE,KAAK2B,kCACH,IAAI+C,GAAwBC,aAAaxC,GACvCnC,KAAK4E,oBAAoBzC,KAE7BnC,KAAK6B,mCACH,IAAIgD,GAAyBF,aAAaxC,GACxCnC,KAAKqC,qBAAqBF,KAE9BnC,KAAK2C,uBACLL,EAAAtC,KAAK8B,aAAW,MAAAQ,SAAA,SAAAA,EAAAwC,QAAQ9E,KAAK0C,YAC7B,IAAKP,EAAMI,OAAOwC,QAAQ,QAAS,CAEjC/E,KAAKgF,2B,MAEF,CACL,GAAIhF,KAAK2B,iCAAkC,EACzC,IAAI+C,GAAwBO,eAC1BjF,KAAK2B,iC,CAGT,GAAI3B,KAAK6B,kCAAmC,EAC1C,IAAIgD,GAAyBI,eAC3BjF,KAAK6B,kC,EAGTY,EAAAzC,KAAK8B,aAAW,MAAAW,SAAA,SAAAA,EAAAyC,UAAUlF,KAAK0C,W,EAGnC,oBAAAQ,G,QACE,IAAIZ,EAAAtC,KAAKwB,WAAS,MAAAc,SAAA,SAAAA,EAAA6C,OAAQ,CACxB,OAAO1C,EAAAzC,KAAKwB,QAAS4D,GAAG,MAAM,MAAA3C,SAAA,EAAAA,EAAA,E,CAEhC,MAAO,E,CAET,WAAA4C,CAAYC,G,MACV,MAAMC,EAAsB,GAC5B,GAAID,EAAQ,CACVC,EAAUC,KAAKF,E,CAEjB,GAAItF,KAAKkB,qBAAqBoB,EAAAtC,KAAKiB,mBAAiB,MAAAqB,SAAA,SAAAA,EAAA6C,QAAQ,CAC1DI,EAAUC,KAAKxF,KAAKkB,kB,CAEtBlB,KAAKgB,WAAauE,EAAUE,KAAK,I,CAEnC,iBAAAC,G,MACE,OAAOpD,EAAAtC,KAAK2F,kBAAc,MAAArD,SAAA,EAAAA,EAAIsD,C,CAEhC,cAAAC,CAAeC,G,UACb,OAAOpC,GAAApB,EAAAwD,EAAOC,SAAS,MAAAzD,SAAA,EAAAA,GAAAG,EAAAqD,EAAO7C,SAAO,MAAAR,SAAA,SAAAA,EAAAuD,cAAU,MAAAtC,SAAA,EAAAA,EAAI,E,CAErD,gBAAAuC,CAAiBhD,G,QACf,GAAIA,KAASX,EAAAtC,KAAKwB,WAAS,MAAAc,SAAA,SAAAA,EAAA4D,UAAU,CACnC,OAAOzD,EAAAzC,KAAKwB,WAAO,MAAAiB,SAAA,SAAAA,EAAEyD,SAASjD,E,CAEhC,OAAO,K,CAET,iBAAAkD,CAAkBC,GAChB,GAAIpG,KAAKqG,iBAAmBrG,KAAKqG,gBAAiBlB,OAASiB,EAAO,CAChE,OAAOpG,KAAKqG,gBAAiBjB,GAAGgB,E,KAC3B,CACL,MAAO,GAAGE,KACRtG,KAAKoB,iBACDpB,KAAK6F,eAAe7F,KAAKoB,iBAAkBgF,IAC3C,I,EAIV,eAAAG,CACET,EACA3D,GAEA,GAAIA,EAAO,CACTA,EAAMC,iB,CAERpC,KAAKwG,aAAaV,EAAO7C,OACzBjD,KAAKyG,oB,CAEP,mBAAA9D,GACE,GAAI3C,KAAK0C,WAAY,CACnB,MAAMgE,EAAW1G,KAAK0C,WAAWiE,cAAc,WAC/C,GAAID,EAAU,CAEZjD,GAAM,K,MACJmD,EACEF,EACA1G,KAAK0C,YACJJ,EAAAtC,KAAK6G,aAAmC,MAAAvE,SAAA,EAAAA,EAAA,SAC1C,GACA,E,GAIT,iBAAAwE,CAAkB3E,G,kBAChB,IAAIG,EAAAtC,KAAK0C,cAAY,MAAAJ,SAAA,SAAAA,EAAAmC,KAAM,CACzB,GAAIsC,KAAKC,SAAU,CACjB,MAAMC,EAAgBF,KAAKC,SAASC,cACpC,GAAIA,EAAe,CAEjB,MAAMC,EACJD,EAAcE,aAAa,UAAY,YACvCF,EAAcE,aAAa,UAAY,QACzC,GAAID,EAAY,CACd,MAAME,EAAcH,IAAa,MAAbA,SAAa,SAAbA,EAAeI,QAAQ,MAC3C,GAAIlF,EAAMmF,MAAQ,aAAenF,EAAMmF,MAAQ,aAAc,CAC3D,GAAIF,IAAW,MAAXA,SAAW,SAAXA,EAAaG,mBAAoB,EACnC7D,GAAAjB,EAAA2E,IAAW,MAAXA,SAAW,SAAXA,EAAaG,sBACT,MAAA9E,SAAA,SAAAA,EAAAkE,cAAc,YACd,MAAAjD,SAAA,SAAAA,EAAA8D,O,KACC,CAELxH,KAAKyH,iCAAiCR,E,MAEnC,CACL,GAAIG,IAAW,MAAXA,SAAW,SAAXA,EAAaM,uBAAwB,EACvC7D,GAAAF,EAAAyD,IAAW,MAAXA,SAAW,SAAXA,EAAaM,0BACT,MAAA/D,SAAA,SAAAA,EAAAgD,cAAc,YACd,MAAA9C,SAAA,SAAAA,EAAA2D,O,MACC,GACLxH,KAAK0C,WAAWiE,cAAc,4BAC9BM,EACA,CAEAjH,KAAKyH,iCAAiCR,E,KACjC,CAGL,MAAMU,EAASC,EAAe5H,KAAK0C,YACnC,GAAIiF,EAAQ,CACVlE,GAAM,KACJkE,EAAOH,OAAO,GACb,I,KACE,CACL,MAAMK,EAAmCC,MAAMC,MAC7ChE,EAAA/D,KAAK0C,cAAU,MAAAqB,SAAA,SAAAA,EAAEiE,iBACf,+CAGJ,GAAIH,EAAa1C,OAAQ,EACvBhB,EAAA0D,EAAazC,IAAG,MAAG,MAAAjB,SAAA,SAAAA,EAAEqD,O,SAKxB,CAEL,GACEP,EAAcE,aAAa,UAAY,WACtChF,EAAMmF,MAAQ,WAAanF,EAAMmF,MAAQ,aAC1C,CACAtH,KAAKiI,YAAY7H,UAAW,MAC5BJ,KAAKyG,oB,KACA,CAELzG,KAAKyH,iCAAiCR,E,UAKzC,GAAI9E,EAAMmF,MAAQ,aAAenF,EAAMmF,MAAQ,aAAc,CAElEtH,KAAK2C,sBACL,GAAI3C,KAAK0C,WAAY,CACnB1C,KAAK0C,WAAW+B,KAAO,I,CAEzBzE,KAAKgF,2B,CAEP7C,EAAMC,kBACND,EAAM+F,gB,CAER,mBAAAC,CAAoBhG,G,MAClBA,EAAMC,kBACN,GAAID,EAAMmF,MAAQ,YAAYhF,EAAAtC,KAAK0C,cAAU,MAAAJ,SAAA,SAAAA,EAAEmC,MAAM,CACnDzE,KAAKiI,YAAY7H,UAAW,MAC5BJ,KAAKyG,oB,MACA,GACLtE,EAAMmF,MAAQ,aACdnF,EAAMmF,MAAQ,WACdnF,EAAMmF,MAAQ,aACdnF,EAAMmF,MAAQ,aACd,CACAtH,KAAK8G,kBAAkB3E,E,EAG3B,WAAA8F,CACE9F,EACAiG,GAEA,GAAIpI,KAAK0C,WAAY,CACnB,GAAI0F,EAAY,CACdpI,KAAK0C,WAAW+B,KAAO,MACvBzE,KAAKyG,oB,MACA,GAAIzG,KAAK0C,WAAW+B,MAAQtC,EAAO,CACxC,GAAIA,EAAMkG,cAAe,CACvB,MAAMA,EAAgBlG,EAAMkG,cAC5B,IAAKrI,KAAK0C,WAAWF,SAAS6F,GAAgB,CAG5C5E,GAAM,IAAOzD,KAAK0C,WAAW+B,KAAO,OAAQ,E,KAMtD,mBAAAG,CAAoBzC,G,QAClB,GAAIA,EAAO,CAET,MAAMI,SACGJ,EAAMmG,SAAW,SAAWnG,EAAMI,QAASD,EAAAH,EAAMmG,UAAQ,MAAAhG,SAAA,SAAAA,EAAAC,OAClE,KAAIE,EAAAzC,KAAK0C,cAAU,MAAAD,SAAA,SAAAA,EAAEgC,QAASzE,KAAK0C,WAAWF,SAASD,GAAS,CAC9DvC,KAAK0C,WAAW+B,KAAO,K,GAI7B,oBAAA8D,CAAqBC,GACnB,MAAMC,GAAO,IAAIC,MAAOC,UAAY3I,KAAK4B,yBAA2B,IACpE,GAAI6G,EAAM,OACVzI,KAAKwB,QAAUgH,EACfxI,KAAKe,iBAAmB,KACxB,GAAIf,KAAK4I,eAAgB,CACvB5I,KAAK4I,eAAerE,KAAKiE,IAAA,MAAAA,SAAA,EAAAA,EAAU,G,CAErCxI,KAAK4B,0BAA2B,IAAI8G,MAAOC,S,CAE7C,YAAAnC,CAAavD,G,MACX,GAAIA,EAAO,CACT,GAAIjD,KAAK6I,SAAU,CACjB,IAAIvG,EAAAtC,KAAKwB,WAAO,MAAAc,SAAA,SAAAA,EAAE4D,SAASjD,GAAQ,CACjCjD,KAAKuI,qBACHvI,KAAKwB,QAASsH,QAAQC,GAAcA,IAAM9F,I,KAEvC,CACLjD,KAAKuI,qBAAqB,IAAKvI,KAAKwB,SAAW,GAAKyB,G,MAEjD,CACLjD,KAAKuI,qBAAqB,CAACtF,IAC3BjD,KAAKiI,YAAY7H,UAAW,K,GAIlC,eAAA4I,CAAgB7G,G,MACdA,EAAMC,kBACN,KAAIE,EAAAtC,KAAKwB,WAAO,MAAAc,SAAA,SAAAA,EAAE6C,UAAWnF,KAAKuB,cAAe,CAC/CvB,KAAKuI,qBAAqB,G,KACrB,CACL,MAAMU,EACJjJ,KAAKsB,eAAiBtB,KAAKkJ,eACvBlJ,KAAKkJ,eAAejG,MACpB7C,UACNJ,KAAKuI,qBACHvI,KAAKmJ,QACDnJ,KAAKmJ,QAASL,QACXhD,I,MACC,OAACA,EAAOsD,gBACNH,KACA3G,EAAAwD,EAAO7C,SAAK,MAAAX,SAAA,SAAAA,EACR+G,cACDnD,SAAS+C,EAAYI,gBAAe,IAC3CC,KAAKxD,IAAU,IAAAxD,EAAC,OAAAA,EAAAwD,EAAO7C,SAAK,MAAAX,SAAA,EAAAA,EAAI,EAAE,IACpC,G,EAIV,gCAAAmF,CAAiCR,GAC/B,GAAIjH,KAAK0C,WAAY,CACnB,MAAM6G,EAAiCzB,MAAMC,KAC3C/H,KAAK0C,WAAWsF,iBACd,+CAGJ,GAAIuB,EAAWpE,OAAQ,CACrB,MAAMqE,EAAQD,EAAWnE,GAAG,GAC5B,MAAMqE,EACJD,IAAUvC,GAAiBsC,EAAWpE,OAAS,EAC3CoE,EAAWnE,GAAG,GACdoE,EACN,GAAIC,EAAU,CACZhG,GAAM,KAEHgG,EAA8BjC,OAAO,GACrC,E,IAKX,yBAAAxC,GACE,GAAIhF,KAAK0C,WAAY,CAEnB,MAAMiF,EAASC,EAAe5H,KAAK0C,YACnC,GAAIiF,EAAQ,CACVlE,GAAM,KAEJkE,EAAOH,OAAO,GACb,E,KACE,CAELxH,KAAKyH,kC,GAIX,YAAAiC,CAAaC,GACX,GAAIA,IAAiBvJ,UAAW,CAC9B,M,CAEF,IAAIwJ,EACJ,UAAWD,IAAiB,SAAU,CACpCC,EAAaD,C,KACR,CACL,MAAMxH,EAAQwH,EACdxH,EAAMC,kBACN,GAAIpC,KAAK2H,OAAQ,CACf3H,KAAK2H,OAAOpD,KAAKpC,E,CAEnByH,EAAczH,EAAMI,OAA4BU,MAChDjD,KAAK+B,aAAe6H,C,CAEtB,IAAK5J,KAAKmJ,UAAYS,GAAcA,EAAWzE,SAAW,EAAG,CAC3DnF,KAAKyB,SAAWzB,KAAKmJ,O,MAChB,GAAInJ,KAAK6J,aAAc,CAC5B7J,KAAKyB,SAAWzB,KAAKmJ,QAASL,QAAQhD,GACpC9F,KAAK6J,aAAc/D,EAAQ8D,I,KAExB,CACL5J,KAAKyB,SAAWzB,KAAKmJ,QAASL,QAC3BhD,IACEA,EAAOsD,cACRpJ,KAAK6F,eAAeC,GACjBuD,cACAnD,SAAS0D,EAAWP,gB,EAI/B,cAAAS,CAAe3H,GACbA,EAAMC,kBACNpC,KAAKuI,qBAAqB,IAC1BvI,KAAKyG,oB,CAEP,kBAAAA,G,MACE,GAAIzG,KAAK0C,WAAY,EAClBJ,EAAAtC,KAAK0C,WAAkCiE,cAAc,cAAU,MAAArE,SAAA,SAAAA,EAAEkF,O,EAa9D,sBAAAuC,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAAS3C,QAAQ4C,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAMC,EAAaD,EAAOC,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWhF,OAAQiF,IAAK,CAC1C,MAAMC,EAAOF,EAAWG,KAAKF,GAC7B,GACEC,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAR,EAAQS,aAAaJ,EAAKE,KAAMF,EAAKpH,OACrCiH,EAAOQ,gBAAgBL,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMI,EAAiBN,EAAKpH,MAAMiD,SAAS,YAC3C,MAAMjD,EAAQoH,EAAKpH,MAAM2H,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAed,EAAQ7C,aAAa,SAC1C6C,EAAQS,aACNJ,EAAKE,KACL,GAAGO,EAAe,GAAGA,KAAkB,KAAK7H,KAE9C,GAAI0H,EAAgB,CAElBT,EAAOO,aAAa,QAAS,W,KACxB,CACLP,EAAOQ,gBAAgBL,EAAKE,K,KAOtC,QAAAQ,GACE,GAAI/K,KAAK0C,WAAY,CACnB1C,KAAK0C,WAAWsI,iBACd,YACC7I,GAAgDnC,KAAKiI,YAAY9F,I,EAMxE,MAAA8I,GACEjL,KAAK+K,U,CAGP,QAAAG,GACE,GAAIlL,KAAKG,IAAK,CACZ,MAAMgL,EAAYnL,KAAKG,IAAMiL,EAC7BpL,KAAKU,SAAWV,KAAKG,IAAMkL,EAC3BrL,KAAKS,UAAYT,KAAKG,IAAMmL,EAC5BtL,KAAKM,gBAAkBN,KAAKG,IAAMoL,EAClCvL,KAAKO,kBAAoBP,KAAKG,IAAMqL,EACpCxL,KAAKY,eAAiBZ,KAAKG,IAAMsL,EACjC,GAAIzH,EAAkBhE,KAAKiE,QAASjE,KAAKkE,aAAc,CACrDlE,KAAKqF,YAAY8F,E,KACZ,CACLnL,KAAKqF,a,GAMX,MAAAqG,GACE1L,KAAKkL,U,CAGP,QAAAS,G,MACE,GAAI3L,KAAK0C,WAAY,CACnB,MAAMkJ,EAAU5L,KAAK0C,WAAWiE,cAAc,WAC9C,GAAIiF,EAAS,CACXA,EAAQnB,aACN,oBACAnI,EAAAtC,KAAK6L,mBAAmB,MAAAvJ,SAAA,EAAAA,EAACtC,KAAKgB,YAAc,G,GAQpD,MAAA8K,GACE9L,KAAK2L,U,CAGP,QAAAI,GACE,GAAI/L,KAAKgM,gBAAkB5L,UAAW,CACpCJ,KAAK0B,cAAgB1B,KAAKgM,a,MACrB,GAAIhM,KAAKyB,SAAU,CACxBzB,KAAK0B,cAAgB1B,KAAKyB,SAAU0D,SAAW,C,EAOnD,MAAA8G,GACEjM,KAAK+L,U,CAGP,QAAAG,G,MACElM,KAAKqB,iBAAmB8K,QACtBnM,KAAK6I,YAAavG,EAAAtC,KAAKoM,iBAAa,MAAA9J,SAAA,EAAAA,EAAItC,KAAKuB,cAAgB,G,CAOjE,MAAA8K,GACErM,KAAKkM,U,CAGP,QAAAI,G,MACEtM,KAAKsB,eAAgBgB,EAAAtC,KAAKuM,cAAU,MAAAjK,SAAA,EAAAA,EAAItC,KAAKuB,cAAgB,C,CAK/D,MAAAiL,GACExM,KAAKsM,U,CAGP,QAAAG,G,MACE,GACEzM,KAAKwI,QACLV,MAAM4E,QAAQ1M,KAAKwI,SACnBxI,KAAKwI,SAAWxI,KAAKwB,QACrB,CACAxB,KAAKwB,SAAUc,EAAAtC,KAAKwI,UAAU,MAAAlG,SAAA,EAAAA,EAAA,E,EAKlC,MAAAqK,GACE3M,KAAKyM,U,CAGP,QAAAG,GACE,GAAI5M,KAAKgD,UAAW,CAClBhD,KAAK+C,kB,EAMT,MAAA8J,GACE7M,KAAK4M,U,CAGP,QAAAE,GACE9M,KAAKc,UAAYd,KAAK8C,U,CAIxB,MAAAiK,GACE/M,KAAK8M,U,CAGP,QAAAE,G,QACE,KAAI1K,EAAAtC,KAAKwB,WAAO,MAAAc,SAAA,SAAAA,EAAE6C,UAAW,EAAG,CAC9BnF,KAAKgC,iBAAmB,MACxBhC,KAAKiC,uBAAyB,K,MACzB,KAAIQ,EAAAzC,KAAKwB,WAAO,MAAAiB,SAAA,SAAAA,EAAE0C,UAAWnF,KAAKuB,cAAe,CACtDvB,KAAKiC,uBAAyB,MAC9BjC,KAAKgC,iBAAmB,I,MACnB,GAAIhC,KAAKwB,QAAS,CACvBxB,KAAKiC,uBAAyB,I,EAMlC,MAAAgL,GACEjN,KAAKgN,U,CAGP,SAAAE,G,QACElN,KAAKyB,SAAWzB,KAAKmJ,QACrBnJ,KAAKuB,eACHkB,GAAAH,EAAAtC,KAAKmJ,WAAO,MAAA7G,SAAA,SAAAA,EAAEwG,QAAQhD,IAAYA,EAAOsD,eAAcjE,UAAM,MAAA1C,SAAA,EAAAA,EAAI,C,CAIrE,OAAA0K,GACEnN,KAAKkN,W,CAGP,SAAAE,GACEpN,KAAK+B,aAAe/B,KAAKiJ,YACzB,GAAIjJ,KAAKiJ,YAAa,CACpB,MAAMoE,EAASrN,KAAKiJ,YACpBjJ,KAAK0J,aAAa2D,E,EAKtB,OAAAC,GACEtN,KAAKoN,W,CAGP,SAAAG,G,QACE,IAAIjL,EAAAtC,KAAKmJ,WAAS,MAAA7G,SAAA,SAAAA,EAAA6C,OAAQ,CACxBnF,KAAKoB,kBAAmBqB,EAAAzC,KAAKmJ,WAAO,MAAA1G,SAAA,SAAAA,EAAEqG,QACnChD,I,QACC,IAAKA,EAAO7C,UAAUX,EAAAtC,KAAKwB,WAAU,MAAAc,SAAA,SAAAA,EAAA,aAAa,CAChD,OAAO,K,CAET,OAAQwD,EAAOsD,gBAAgB3G,EAAAzC,KAAKwB,WAAO,MAAAiB,SAAA,SAAAA,EAAEyD,SAASJ,EAAO7C,OAAM,G,EAQ3E,OAAAuK,GACExN,KAAKuN,W,CAGP,SAAAE,G,UACE,GAAIzN,KAAK0N,eAAgB,CACvB1N,KAAKiB,gBAAkBjB,KAAK0N,eAC5B,M,CAEF,IAAIpL,EAAAtC,KAAKoB,oBAAkB,MAAAkB,SAAA,SAAAA,EAAA6C,OAAQ,CACjC,GAAInF,KAAK2N,wBAAyB,CAEhC,MAAMC,EAAkB5N,KAAKoB,iBAC7B,MAAMyM,EAAc7N,KAAK2N,wBACzB3N,KAAKiB,gBAAkB4M,EAAaD,GACpC,M,CAEF,GAAI5N,KAAK8N,eAAiB,SAAU,CAClC9N,KAAKiB,gBAAkBjB,KAAK+N,WACxB/N,KAAK+N,WACL,IAAGtL,EAAAzC,KAAKoB,oBAAgB,MAAAqB,SAAA,SAAAA,EAAE0C,UAAU6I,G,KACnC,CACLhO,KAAKiB,iBAAkByC,EAAA1D,KAAKoB,oBACxB,MAAAsC,SAAA,SAAAA,EAAA4F,KAAKxD,GAAmC9F,KAAK6F,eAAeC,KAC7DL,KAAK,K,MAEL,CACLzF,KAAKiB,gBAAkB,E,EAS3B,OAAAgN,GACEjO,KAAKyN,W,CAGP,SAAAS,G,QACE,GAAIlO,KAAKmO,aAAc,CACrBnO,KAAKmO,aAAa5J,MAAK9B,GAAAH,EAAAtC,KAAKoB,oBAAkB,MAAAkB,SAAA,SAAAA,EAAA6C,UAAU,MAAA1C,SAAA,EAAAA,EAAA,E,EAK5D,OAAA2L,GACEpO,KAAKkO,W,CAGP,SAAAG,GACE,GAAIrO,KAAKsO,aAAc,CACrBtO,KAAKsO,aAAaC,cAAgBpC,QAAQnM,KAAKiC,uB,EAMnD,OAAAuM,GACExO,KAAKqO,W,CAGP,SAAAI,G,MACEzO,KAAKQ,gBACHR,KAAKqD,kBACLf,EAAAtC,KAAKgD,aAAS,MAAAV,SAAA,SAAAA,EAAEgB,oBAChBC,C,CAKJ,OAAAmL,GACE1O,KAAKyO,W,CAGP,gBAAAE,G,MACE3O,KAAK+J,uBAAuB/J,KAAK4O,KAAM,oBACvC,MAAMC,GAAMvM,EAAAtC,KAAK8O,MAAE,MAAAxM,SAAA,EAAAA,EAAI,iBAAiByM,MACxC/O,KAAKG,IAAM0O,EACX7O,KAAKK,WAAawO,EAAMzD,EACxBpL,KAAKM,gBAAkBuO,EAAMtD,EAC7BvL,KAAKO,kBAAoBsO,EAAMrD,EAC/BxL,KAAKS,UAAYoO,EAAMvD,EACvBtL,KAAKU,SAAWmO,EAAMxD,EACtBrL,KAAKW,WAAakO,EAAM,WACxB7O,KAAKY,eAAiBiO,EAAMpD,EAC5BzL,KAAKkB,kBAAoB2N,EAAM,mBAC/B7O,KAAKa,YAAcgO,EAAM,QACzB7O,KAAKQ,gBAAkBR,KAAKqD,gBAAkBE,EAC9C,UAAWyL,SAAW,aAAe,yBAA0BA,OAAQ,CACrEhP,KAAK8B,UAAY,IAAImN,sBAAsBC,IACzC,GAAIlP,KAAK0C,WAAY,CACnB,MAAMyM,EAAQD,EAAQE,MACpB,EAAG7M,YAAaA,IAAWvC,KAAK0C,aAElC,GAAIyM,IAAUA,EAAME,gBAAkBrP,KAAK0C,WAAW+B,KAAM,CAC1DzE,KAAK0C,WAAW+B,KAAO,K,MAK/BzE,KAAK+K,WACL/K,KAAKkL,WACLlL,KAAK2L,WACL3L,KAAK+L,WACL/L,KAAKkM,WACLlM,KAAKsM,WACLtM,KAAKyM,WACLzM,KAAK4M,WACL5M,KAAK8M,WACL9M,KAAKgN,WACLhN,KAAKkN,YACLlN,KAAKoN,YACLpN,KAAKuN,YACLvN,KAAKyN,YACLzN,KAAKkO,YACLlO,KAAKqO,YACLrO,KAAKyO,W,CAGP,MAAAa,G,kCACE,OACEC,EACE,OAAAjI,IAAA,2CAAAkI,MAAOC,EAAI,mBAAoBzP,KAAK0P,WACpCZ,GAAI9O,KAAKG,IACTwP,IAAMC,IACJ5P,KAAK4O,KAAOgB,CAAE,EACf,eACa5P,KAAKc,YAAc,UAAS,uBACpBd,KAAKc,UACf,aAAAd,KAAK6P,eAAc,eAE7B7P,KAAK8P,UAAY,YACjB9P,KAAK8N,eAAiB,OACtB9N,KAAK6I,SACD,QACA7I,KAAK8P,QAAO,gBAEHC,EAAmB/P,KAAK4D,UAAS,qBAC5BoM,EAAYhQ,KAAKiQ,sBAAqB,iBAC1CjQ,KAAK6G,UACD,qBAAA7G,KAAK6I,SAAW7I,KAAK8N,aAAe,OACvC,kBAAAkC,EAAYhQ,KAAKkQ,WACvB,YAAAlQ,KAAKmQ,KACA,iBAAAJ,EAAmB/P,KAAKoQ,WAExCb,EAAO,SAAAjI,IAAA,2CAAAwH,GAAI9O,KAAKU,WACb4B,EAAAtC,KAAK+F,SAAK,MAAAzD,SAAA,EAAAA,EAAIsD,EACf2J,EACE,UAAAjI,IAAA,2CAAA+I,KAAK,OACLC,OAAQ,KACRxB,GAAI9O,KAAKS,UACT8P,UAAU,EACVZ,IAAMC,IACJ5P,KAAKgD,UAAY4M,CAAE,EAErBY,KAAMxQ,KAAKwQ,KACXjG,KAAMvK,KAAKuK,KACX1B,SAAU4H,EAAWzQ,KAAK6I,SAAU,YACpC6H,SAAUD,EAAWzQ,KAAK0Q,SAAU,YACpC9M,SAAU6M,EAAWzQ,KAAK4D,SAAU,YACpC+M,SAAWxO,GAAUnC,KAAKkC,aAAaC,MAEtCM,EAAAzC,KAAKmJ,WAAO,MAAA1G,SAAA,SAAAA,EAAE0C,SACXzB,EAAA1D,KAAKmJ,WAAO,MAAAzF,SAAA,SAAAA,EAAE4F,KAAKxD,GACjByJ,EACE,UAAAmB,SAAU5K,EAAO4K,SACjBzN,MAAO6C,EAAO7C,MACdqE,IAAKlH,WAEJJ,KAAK6F,eAAeC,MAGzB,OAGRyJ,EAAA,WAAAjI,IAAA,2CACEqI,IAAMC,IACJ5P,KAAK0C,WAAakN,CAAE,EAEtBnL,KAAMzE,KAAKyE,KACXmM,SAAWzO,GAAUnC,KAAKqE,qBAAqBlC,GAC/C0O,UAAY1O,GAAUnC,KAAKmI,oBAAoBhG,IAE/CoN,EAAa,QAAAjI,IAAA,6CACZtH,KAAKmJ,QACJoG,EAACuB,EAAQ,KACPvB,EAAA,WACEC,MAAM,8BACNV,GAAI9O,KAAKW,WAAU,gBACJoP,EAAmB/P,KAAK0Q,UACtB,kBAAA1Q,KAAKU,YAErBiD,EAAA3D,KAAKiB,mBAAe,MAAA0C,SAAA,SAAAA,EAAEwB,QACrBoK,EACwB,+BAAAQ,EACpB/P,KAAK8N,eAAiB,OAExBgB,GAAI9O,KAAKkB,mBAERlB,KAAKiB,iBAEN,KACHjB,KAAK8N,eAAiB,MACrByB,EACG,YAAA1L,EAAA7D,KAAKoB,oBAAkB,MAAAyC,SAAA,SAAAA,EAAAyF,KAAI,CAACxD,EAAQM,IACnCmJ,EAAA,UACEwB,SAAS,SACTC,SAAS,YACTC,aAAcjR,KAAKmG,kBAAkBC,GACrC8K,SAAW/O,GACTnC,KAAKuG,gBAAgBT,EAAQ3D,GAE/BmF,IAAKlH,WAEJJ,KAAK6F,eAAeC,OAIzB,MAENyJ,EAAA,6BAA2B4B,MAAOnR,KAAKoR,eACpCpR,KAAKsB,cACJiO,EAAA,WACEA,EACE,YAAA8B,KAAK,SACL1B,IAAMC,IACJ5P,KAAKkJ,eAAiB0G,CAAE,EAE1BrF,KAAMvK,KAAKG,IACXqQ,KAAMxQ,KAAKG,IACX+P,UAAW,MACXjN,MAAOjD,KAAK+B,aACZgE,OAAOhC,EAAA/D,KAAKsR,eAAW,MAAAvN,SAAA,EAAAA,EAAI6B,EAC3B2L,aAAapN,EAAAnE,KAAKwR,qBAAiB,MAAArN,SAAA,EAAAA,EAAInE,KAAKsR,YAC5CzF,gBACE7L,KAAK0B,eAAiB1B,KAAKyR,YACvBzR,KAAKa,YACLT,UAENsR,QAAUvP,GAAUnC,KAAK0J,aAAavH,MAGxC,KACHnC,KAAK0B,eAAiB1B,KAAKyR,YAC1BlC,EAAA,eACET,GAAI9O,KAAKa,YACTsP,KAAMnQ,KAAKyR,YAAc,kBAAoBrR,UAC7CuR,SAAU3R,KAAKyR,YAAc,gBAAkB,YAE9CrN,EAACpE,KAAKyR,YACHzR,KAAK4R,YACL5R,KAAK6R,iBAAkB,MAAAzN,SAAA,EAAAA,EAAA0N,GAG7BvC,EAACuB,EAAQ,KACN9Q,KAAKqB,iBACJkO,EAAA,WACEA,EAAK,OAAAC,MAAM,0CACTD,EAAA,aACEA,EAAA,SACE8B,KAAK,WACLpO,MAAM,aACN0M,IAAMC,IACJ5P,KAAKsO,aAAesB,CAAE,EAExBY,KAAMxQ,KAAKG,IACX4R,QAAS/R,KAAKgC,iBACd2O,SAAWxO,GAAUnC,KAAKgJ,gBAAgB7G,KAE3CnC,KAAK0F,uBAIV,KACJ6J,EAAA,yBACE1G,SAAU4H,EAAWzQ,KAAK6I,SAAU,YACpC9C,OAAOiM,GAAAC,EAAAjS,KAAKkS,iBAAiB,MAAAD,SAAA,EAAAA,EAAAjS,KAAK+F,SAAS,MAAAiM,SAAA,EAAAA,EAAApM,IAE1CuM,EAAAnS,KAAKyB,YAAU,MAAA0Q,SAAA,SAAAA,EAAA7I,KAAKxD,GACnByJ,EAAA,8BACE8B,KAAMrR,KAAK6I,SAAW,WAAa,QACnCuJ,YAAatM,EAAOsM,YACpBjC,KAAMrK,EAAOqK,KACb/G,aAActD,EAAOsD,aACrBiJ,WAAYrS,KAAK6F,eAAeC,GAChCyE,KAAMvK,KAAKG,IACX4R,QAAS/R,KAAKiG,iBAAiBH,EAAO7C,OACtCyN,SAAU5K,EAAO4K,SACjBzN,MAAO6C,EAAO7C,MACd0N,SAAU,IAAM3Q,KAAKwG,aAAaV,EAAO7C,OACzCqE,IAAKlH,YAEH0F,EAAOsD,aACLpJ,KAAK6F,eAAeC,GACpB,UAMdyJ,EAAA,WACEA,EACE,aAAAO,QAAQ,QACRqB,MAAM,OACNhB,KAAK,QACLmC,KAAK,QACL/H,KAAMvK,KAAKG,IACXqQ,KAAMxQ,KAAKG,IACXoS,QAAS,IAAMvS,KAAKiI,YAAY7H,UAAW,QAE1CoS,EAAAxS,KAAKyS,yBAAqB,MAAAD,SAAA,EAAAA,EAAIE,MAKrC,QAEJC,EAAA3S,KAAKC,sBAAsB,MAAA0S,SAAA,EAAAA,EAAA,SAASC,EAAA5S,KAAKwB,WAAS,MAAAoR,SAAA,SAAAA,EAAAzN,QAClDoK,EAAA,aACEY,KAAK,QACLL,QAAQ,QACRwC,KAAK,QACLO,OAAQ,KACRtI,KAAMvK,KAAKG,IACXqQ,KAAMxQ,KAAKG,IACXoS,QAAUpQ,GAAUnC,KAAK8J,eAAe3H,IAEvCnC,KAAKE,mBACNqP,EAAA,cAAY1I,UAAU,OAAO7G,KAAKE,qBAElC,KACJqP,EAAA,QAAAjI,IAAA,yDAAmByI,EAAmB,MAAOjB,GAAI9O,KAAKY,iBACnDkS,EAAA9S,KAAKuR,eAAW,MAAAuB,SAAA,EAAAA,EAAI9S,KAAK+F,OAE3B/B,EAAkBhE,KAAKiE,QAASjE,KAAKkE,aACpCqL,EAAA,eACE+C,KAAK,QACLnC,KAAMnQ,KAAK+S,YACXjE,GAAI9O,KAAKK,YAERL,KAAKiE,SAEN,KACHjE,KAAK4C,gBACJ2M,EACE,eAAA+C,KAAK,QACLX,SAAS,aACT7C,GAAI9O,KAAKM,iBAERN,KAAK6C,cAAgBiB,GAEtB,KACJyL,EAAA,eAAAjI,IAAA,2CACEgL,KAAK,QACLX,SAAS,WACT7C,GAAI9O,KAAKO,mBAERP,KAAKQ,iBAER+O,EAAA,QAAAjI,IAAA,kEAA2B,OAAO+I,KAAK,UACpCrQ,KAAKmB,oB","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as s,h as t,F as h}from"./p-5au6zD9r.js";import{l as e,g as a,h as d,f as l,i as n,k as o,a as c}from"./p-DC9V_oNU.js";import{h as u,d as r,s as f,u as v,b,g as p,j as m,c as y}from"./p-YECpAE3G.js";const k=class{constructor(t){i(this,t);this.click=s(this,"click");this.input=s(this,"input");this.change=s(this,"change");this.blur=s(this,"blur");this.focus=s(this,"focus");this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._placeholderId="";this._descByIds=undefined;this._value="";this.initialized=false;this._voiceOverFallback=""}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,s,t,h;if(!((i=this._ref)===null||i===void 0?void 0:i.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((s=this._ref)===null||s===void 0?void 0:s.validationMessage)||e;if(u()){this._voiceOverFallback=this._invalidMessage;r((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((t=this._ref)===null||t===void 0?void 0:t.validity.valid)&&this.required){this._descByIds=this._validMessageId;if(u()){this._voiceOverFallback=(h=this.validMessage)!==null&&h!==void 0?h:o;r((()=>this._voiceOverFallback=""),1e3)}}else if(f(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=this._placeholderId}}handleClick(i){if(this.click){this.click.emit(i)}}handleInput(i){if(this.input){this.input.emit(i)}this.handleValidation()}handleChange(i){if(this.change){this.change.emit(i)}this.handleValidation()}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}getOptionLabel(i){var s,t;return(s=i.label)!==null&&s!==void 0?s:(t=i.value)===null||t===void 0?void 0:t.toString()}enableAttributePassing(i,s){const t=i===null||i===void 0?void 0:i.closest(s);if(i&&t){const s=t.attributes;for(let h=0;h<s.length;h++){const e=s.item(h);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){i.setAttribute(e.name,e.value);t.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const h=e.value.replace("hydrated","").trim();const a=i.getAttribute("class");i.setAttribute(e.name,`${a?`${a} `:""}${h}`);if(s){t.setAttribute("class","hydrated")}else{t.removeAttribute(e.name)}}}}}watch0Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this._ref)===null||i===void 0?void 0:i.validationMessage)||e}watch0(){this.watch0Fn()}watch1Fn(){if(this._id&&this.initialized){const i=this._id+l;const s=this._id+n;this._messageId=i;this._validMessageId=this._id+a;this._invalidMessageId=this._id+d;this._placeholderId=s;if(f(this.message,this.showMessage)){this._descByIds=i}else{this._descByIds=s}this.handleValidation();this.initialized=false}}watch1(){this.watch1Fn()}watch2Fn(){this._value=this.value}watch2(){this.watch2Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-select");this.initialized=true;const s=(i=this.id)!==null&&i!==void 0?i:`select-${v()}`;this._id=s;this._messageId=s+l;this._validMessageId=s+a;this._invalidMessageId=s+d;this._placeholderId=s+n;this._invalidMessage=this.invalidMessage||e;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var i,s,e,a,d,l;return t("div",{key:"1ad3f50d41f9876e6c8bcf4b57e425d98ab33afc",class:y("db-select",this.className),"data-variant":this.variant,"data-hide-label":m(this.showLabel),"data-hide-asterisk":m(this.showRequiredAsterisk),"data-icon":this.icon,"data-show-icon":p(this.showIcon)},t("label",{key:"25669ee40024d9b93470dea1837b9e168499a438",htmlFor:this._id},(i=this.label)!==null&&i!==void 0?i:c),t("select",{key:"de35e6ceea2c3e3d2b2e09d62d070433c3e4a87f","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},required:b(this.required,"required"),disabled:b(this.disabled,"disabled"),id:this._id,name:this.name,size:this.size,value:(s=this.value)!==null&&s!==void 0?s:this._value,autocomplete:this.autocomplete,multiple:this.multiple,onInput:i=>this.handleInput(i),onClick:i=>this.handleClick(i),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),"aria-describedby":(e=this.ariaDescribedBy)!==null&&e!==void 0?e:this._descByIds},t("option",{key:"b142e1e61e4ece2de307a20b5639b109b5ffe89c",hidden:true}),((a=this.options)===null||a===void 0?void 0:a.length)?(d=this.options)===null||d===void 0?void 0:d.map((i=>{var s;return t(h,null,i.options?t("optgroup",{label:this.getOptionLabel(i),key:undefined},(s=i.options)===null||s===void 0?void 0:s.map((i=>t("option",{value:i.value,selected:i.selected,disabled:i.disabled,key:undefined},this.getOptionLabel(i))))):t("option",{value:i.value,disabled:i.disabled,selected:i.selected,key:undefined},this.getOptionLabel(i)))})):t("slot",null)),t("span",{key:"e603d405726ca9dec55f27c54abb816dc61f238c",id:this._placeholderId},(l=this.placeholder)!==null&&l!==void 0?l:this.label),f(this.message,this.showMessage)?t("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?t("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||o):null,t("db-infotext",{key:"6e1a5c43e46b7944ee97840f3c44bf31b3c90610",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),t("span",{key:"9a59a6d2df49d7e55f437d063f91691442794bee","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0"],invalidMessage:["watch0"],_id:["watch1"],initialized:["watch1"],value:["watch2"]}}};export{k as db_select};
|
|
2
|
-
//# sourceMappingURL=p-61c37c75.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBSelect","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_placeholderId","_descByIds","_value","initialized","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleClick","event","click","emit","handleInput","input","handleChange","change","handleBlur","blur","handleFocus","focus","getOptionLabel","option","label","value","toString","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","placeholderId","DEFAULT_PLACEHOLDER_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch1","watch2Fn","watch2","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","variant","getHideProp","showLabel","showRequiredAsterisk","icon","getBooleanAsString","showIcon","htmlFor","DEFAULT_LABEL","ref","el","getBoolean","disabled","size","autocomplete","multiple","onInput","onClick","onChange","onBlur","onFocus","ariaDescribedBy","hidden","options","_e","map","Fragment","optgroupOption","selected","_f","placeholder","messageIcon","semantic","role"],"sources":["src/components/select/select.tsx"],"sourcesContent":["import {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport {\n ChangeEvent,\n ClickEvent,\n InputEvent,\n InteractionEvent,\n} from \"../../shared/model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getOptionKey,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBSelectOptionType, DBSelectProps, DBSelectState } 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-select\",\n})\nexport class DBSelect {\n private _ref!: HTMLSelectElement | any;\n @Prop() id: DBSelectProps[\"id\"];\n @Prop() invalidMessage: DBSelectProps[\"invalidMessage\"];\n @Prop() message: DBSelectProps[\"message\"];\n @Prop() showMessage: DBSelectProps[\"showMessage\"];\n @Prop() value: DBSelectProps[\"value\"];\n @Prop() validMessage: DBSelectProps[\"validMessage\"];\n @Prop() validation: DBSelectProps[\"validation\"];\n @Prop() required: DBSelectProps[\"required\"];\n @Event() click: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onClick\"]>[number]\n > | void;\n @Event() input: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBSelectProps[\"className\"];\n @Prop() variant: DBSelectProps[\"variant\"];\n @Prop() showLabel: DBSelectProps[\"showLabel\"];\n @Prop() showRequiredAsterisk: DBSelectProps[\"showRequiredAsterisk\"];\n @Prop() icon: DBSelectProps[\"icon\"];\n @Prop() showIcon: DBSelectProps[\"showIcon\"];\n @Prop() label: DBSelectProps[\"label\"];\n @Prop() disabled: DBSelectProps[\"disabled\"];\n @Prop() name: DBSelectProps[\"name\"];\n @Prop() size: DBSelectProps[\"size\"];\n @Prop() autocomplete: DBSelectProps[\"autocomplete\"];\n @Prop() multiple: DBSelectProps[\"multiple\"];\n @Prop() ariaDescribedBy: DBSelectProps[\"ariaDescribedBy\"];\n @Prop() options: DBSelectProps[\"options\"];\n @Prop() placeholder: DBSelectProps[\"placeholder\"];\n @Prop() messageIcon: DBSelectProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _placeholderId = \"\";\n @State() _descByIds = undefined;\n @State() _value = \"\";\n @State() initialized = false;\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 select */\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\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 = this._placeholderId;\n }\n }\n handleClick(event: ClickEvent<HTMLSelectElement> | any) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n handleInput(event: InputEvent<HTMLSelectElement> | any) {\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLSelectElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getOptionLabel(option: DBSelectOptionType) {\n return option.label ?? option.value?.toString();\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: HTMLSelectElement | 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 && this.initialized) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n const placeholderId = this._id + DEFAULT_PLACEHOLDER_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._placeholderId = placeholderId;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n } else {\n this._descByIds = placeholderId;\n }\n this.handleValidation();\n this.initialized = false;\n }\n }\n\n @Watch(\"_id\")\n @Watch(\"initialized\")\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-select\");\n this.initialized = true;\n const mId = this.id ?? `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._placeholderId = mId + DEFAULT_PLACEHOLDER_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-select\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n data-hide-asterisk={getHideProp(this.showRequiredAsterisk)}\n data-icon={this.icon}\n data-show-icon={getBooleanAsString(this.showIcon)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <select\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n required={getBoolean(this.required, \"required\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n id={this._id}\n name={this.name}\n size={this.size}\n /* @ts-ignore */\nvalue={this.value ?? this._value}\n autocomplete={this.autocomplete}\n multiple={this.multiple}\n onInput={(event) => this.handleInput(event)}\n onClick={(event) => this.handleClick(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n aria-describedby={this.ariaDescribedBy ?? this._descByIds}\n >\n <option hidden={true}></option>\n {this.options?.length ? (\n this.options?.map((option) => (\n <Fragment>\n {option.options ? (\n <optgroup label={this.getOptionLabel(option)} key={undefined}>\n {option.options?.map((optgroupOption) => (\n <option\n value={optgroupOption.value}\n selected={optgroupOption.selected}\n disabled={optgroupOption.disabled}\n key={undefined}\n >\n {this.getOptionLabel(optgroupOption)}\n </option>\n ))}\n </optgroup>\n ) : (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.selected}\n key={undefined}\n >\n {this.getOptionLabel(option)}\n </option>\n )}\n </Fragment>\n ))\n ) : (\n <slot></slot>\n )}\n </select>\n <span id={this._placeholderId}>{this.placeholder ?? this.label}</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,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as a}from"./p-5au6zD9r.js";import{g as s,c as d}from"./p-YECpAE3G.js";const i=class{constructor(a){t(this,a)}enableAttributePassing(t,a){const s=t===null||t===void 0?void 0:t.closest(a);if(t&&s){const a=s.attributes;for(let d=0;d<a.length;d++){const i=a.item(d);if(i&&(i.name.startsWith("data-")||i.name.startsWith("aria-"))){t.setAttribute(i.name,i.value);s.removeAttribute(i.name)}if(i&&i.name==="class"){const a=i.value.includes("hydrated");const d=i.value.replace("hydrated","").trim();const c=t.getAttribute("class");t.setAttribute(i.name,`${c?`${c} `:""}${d}`);if(a){s.setAttribute("class","hydrated")}else{s.removeAttribute(i.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-stack")}render(){return a("div",{key:"d199c5cdabd2916e3afa32c33d0fe1dd9c99da8e",class:d("db-stack",this.className),ref:t=>{this._ref=t},id:this.id,"data-gap":this.gap,"data-variant":this.variant,"data-direction":this.direction,"data-alignment":this.alignment,"data-justify-content":this.justifyContent,"data-wrap":s(this.wrap)},a("slot",{key:"a0d56c424e03273b2cc51bfe0fa5df285ecd13e9"}))}};export{i as db_stack};
|
|
2
|
-
//# sourceMappingURL=p-ab1435c2.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as s,c as i}from"./p-5au6zD9r.js";import{c as e,b as a,u as h,g as d,h as n,d as o,s as l,i as c,f as r,e as u,j as f}from"./p-YECpAE3G.js";import{l as b,g as v,h as m,j as p,f as y,k as g,b as k,a as w,m as x}from"./p-DC9V_oNU.js";const $=class{constructor(s){t(this,s);this.width="fixed"}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let e=0;e<s.length;e++){const a=s.item(e);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){t.setAttribute(a.name,a.value);i.removeAttribute(a.name)}if(a&&a.name==="class"){const s=a.value.includes("hydrated");const e=a.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(a.name,`${h?`${h} `:""}${e}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(a.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-custom-select-dropdown")}render(){return s("article",{key:"98087cc1db985bbb2e2578cb9e2c78bc3a0c3b23",class:e("db-custom-select-dropdown db-card",this.className),"data-spacing":"none",ref:t=>{this._ref=t},id:this.id,"data-width":this.width},s("slot",{key:"25bcaa79bdf8168feffce0a59c0adbc656023e64"}))}};const _=class{constructor(s){t(this,s)}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let e=0;e<s.length;e++){const a=s.item(e);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){t.setAttribute(a.name,a.value);i.removeAttribute(a.name)}if(a&&a.name==="class"){const s=a.value.includes("hydrated");const e=a.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(a.name,`${h?`${h} `:""}${e}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(a.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-custom-select-list")}render(){return s("div",{key:"f47e219aac45d07e958a94969205260af981bcf1",class:e("db-custom-select-list",this.className),role:this.multiple?"group":"radiogroup","aria-label":this.label,ref:t=>{this._ref=t},id:this.id},s("ul",{key:"adca0d159ec4cd5d2dc46f11fe41006276dba94f"},s("slot",{key:"abb6edfb683a3e4a42512b2185854099c66f1f3c"})))}};const D=class{constructor(s){t(this,s);this.change=i(this,"change");this._id=undefined;this.hasDivider=false}handleChange(t){t.stopPropagation();if(this.change){this.change.emit(t)}}getIconTrailing(){if(this.isGroupTitle||this.type==="checkbox"){return}return a(this.checked,"checked")?"check":"x_placeholder"}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let e=0;e<s.length;e++){const a=s.item(e);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){t.setAttribute(a.name,a.value);i.removeAttribute(a.name)}if(a&&a.name==="class"){const s=a.value.includes("hydrated");const e=a.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(a.name,`${h?`${h} `:""}${e}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(a.name)}}}}}watch0Fn(){this.hasDivider=Boolean(this.isGroupTitle||this.showDivider)}watch0(){this.watch0Fn()}componentDidLoad(){var t;this.enableAttributePassing(this._ref,"db-custom-select-list-item");this._id=(t=this.id)!==null&&t!==void 0?t:`custom-select-list-item-${h()}`;this.watch0Fn()}render(){return s("li",{key:"d94821da8bf1842933f6518079c9e463459bed2b",class:e("db-custom-select-list-item",this.className,{"db-checkbox":this.type==="checkbox"&&!this.isGroupTitle,"db-radio":this.type!=="checkbox"&&!this.isGroupTitle}),ref:t=>{this._ref=t},id:this._id,"data-divider":d(this.hasDivider)},!this.isGroupTitle?s("label",{"data-icon":this.type!=="checkbox"&&this.icon?this.icon:undefined,"data-show-icon":d(this.showIcon),"data-icon-trailing":this.getIconTrailing()},s("input",{class:"db-custom-select-list-item-checkbox","data-disable-focus":"true",type:this.type,name:this.name,form:this.name,checked:a(this.checked,"checked"),disabled:a(this.disabled,"disabled"),value:this.value,onChange:t=>this.handleChange(t)}),this.label?this.label:s("slot",null)):s("span",null,this.groupTitle))}static get watchers(){return{isGroupTitle:["watch0"],showDivider:["watch0"]}}};const C=class{constructor(s){t(this,s);this.input=i(this,"input");this.change=i(this,"change");this.blur=i(this,"blur");this.focus=i(this,"focus");this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._dataListId=undefined;this._descByIds=undefined;this._value=undefined;this._voiceOverFallback=""}hasValidState(){var t;return!!((t=this.validMessage)!==null&&t!==void 0?t:this.validation==="valid")}handleValidation(){var t,s,i,e;if(!((t=this._ref)===null||t===void 0?void 0:t.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((s=this._ref)===null||s===void 0?void 0:s.validationMessage)||b;if(n()){this._voiceOverFallback=this._invalidMessage;o((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((i=this._ref)===null||i===void 0?void 0:i.validity.valid)&&(this.required||this.minLength||this.maxLength||this.pattern)){this._descByIds=this._validMessageId;if(n()){this._voiceOverFallback=(e=this.validMessage)!==null&&e!==void 0?e:g;o((()=>this._voiceOverFallback=""),1e3)}}else if(l(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=undefined}}handleInput(t){if(this.input){this.input.emit(t)}this.handleValidation()}handleChange(t){if(this.change){this.change.emit(t)}this.handleValidation()}handleBlur(t){if(this.blur){this.blur.emit(t)}}handleFocus(t){if(this.focus){this.focus.emit(t)}}getDataList(){const t=this.dataList;return Array.from((c(t)?t===null||t===void 0?void 0:t.map((t=>({value:t,label:undefined}))):t)||[])}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let e=0;e<s.length;e++){const a=s.item(e);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){t.setAttribute(a.name,a.value);i.removeAttribute(a.name)}if(a&&a.name==="class"){const s=a.value.includes("hydrated");const e=a.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(a.name,`${h?`${h} `:""}${e}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(a.name)}}}}}watch0Fn(){var t;this._invalidMessage=this.invalidMessage||((t=this._ref)===null||t===void 0?void 0:t.validationMessage)||b}watch0(){this.watch0Fn()}watch1Fn(){var t;if(this._id){const s=this._id+y;this._messageId=s;this._validMessageId=this._id+v;this._invalidMessageId=this._id+m;this._dataListId=(t=this.dataListId)!==null&&t!==void 0?t:this._id+p;if(l(this.message,this.showMessage)){this._descByIds=s}this.handleValidation()}}watch1(){this.watch1Fn()}watch2Fn(){this._value=this.value}watch2(){this.watch2Fn()}componentDidLoad(){var t;this.enableAttributePassing(this._ref,"db-input");const s=(t=this.id)!==null&&t!==void 0?t:`input-${h()}`;this._id=s;this._messageId=s+y;this._validMessageId=s+v;this._invalidMessageId=s+m;this._dataListId=s+p;this._invalidMessage=this.invalidMessage||b;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var t,i,h,n,o,c,b;return s("div",{key:"14f5ef53f59b28fc9ec86af2c8b73163ee0711eb",class:e("db-input",this.className),"data-variant":this.variant,"data-hide-label":f(this.showLabel),"data-show-icon":d((t=this.showIconLeading)!==null&&t!==void 0?t:this.showIcon),"data-icon":(i=this.iconLeading)!==null&&i!==void 0?i:this.icon,"data-icon-trailing":this.iconTrailing,"data-hide-asterisk":f(this.showRequiredAsterisk),"data-show-icon-trailing":d(this.showIconTrailing)},s("label",{key:"742b1fff77d5984d9aaf7f9f7a8d3bec38cd0d7f",htmlFor:this._id},(h=this.label)!==null&&h!==void 0?h:w),s("input",{key:"6bf7b4ef207482801e3664c1234d7033caf24b3f","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,"data-field-sizing":this.fieldSizing,ref:t=>{this._ref=t},id:this._id,name:this.name,type:this.type||"text",multiple:a(this.multiple,"multiple"),placeholder:(n=this.placeholder)!==null&&n!==void 0?n:k,disabled:a(this.disabled,"disabled"),required:a(this.required,"required"),step:u(this.step),value:(o=this.value)!==null&&o!==void 0?o:this._value,maxLength:u(this.maxLength,this.maxlength),minLength:u(this.minLength,this.minlength),max:r(this.max,this.type),min:r(this.min,this.type),readOnly:a(this.readOnly,"readOnly")||a(this.readonly,"readonly"),form:this.form,pattern:this.pattern,size:this.size,autoComplete:this.autocomplete,autoFocus:a(this.autofocus,"autofocus"),onInput:t=>this.handleInput(t),onChange:t=>this.handleChange(t),onBlur:t=>this.handleBlur(t),onFocus:t=>this.handleFocus(t),list:this.dataList&&this._dataListId,"aria-describedby":(c=this.ariaDescribedBy)!==null&&c!==void 0?c:this._descByIds}),this.dataList?s("datalist",{id:this._dataListId},(b=this.getDataList())===null||b===void 0?void 0:b.map((t=>s("option",{key:this._dataListId+"-option-"+t.value,value:t.value},t.label)))):null,s("slot",{key:"7148441abf8ae48961d6c33e9d3e1aafd80b712e"}),l(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||g):null,s("db-infotext",{key:"0138db84ad8a008ede50e58d69e72384e84b590b",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"8386b22d98880d515d0b310895c21f388ef172b1","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0"],invalidMessage:["watch0"],_id:["watch1"],value:["watch2"]}}};const F=class{constructor(s){t(this,s);this.remove=i(this,"remove")}handleRemove(t){if(!t)return;t.stopPropagation();if(this.remove){this.remove.emit(t)}}getRemoveButtonText(){if(this.removeButton){return this.removeButton}return x}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let e=0;e<s.length;e++){const a=s.item(e);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){t.setAttribute(a.name,a.value);i.removeAttribute(a.name)}if(a&&a.name==="class"){const s=a.value.includes("hydrated");const e=a.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(a.name,`${h?`${h} `:""}${e}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(a.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-tag")}render(){var t;return s("div",{key:"db86fabfde3f9d1e41a863f58db34eb88d067440",class:e("db-tag",this.className),ref:t=>{this._ref=t},id:this.id,"data-semantic":this.semantic,"data-emphasis":this.emphasis,"data-icon":this.icon,"data-show-check-state":d((t=this.showCheckState)!==null&&t!==void 0?t:true),"data-show-icon":d(this.showIcon),"data-no-text":d(this.noText),"data-overflow":d(this.overflow)},s("slot",{key:"1bef11e30ca670fa5bf1d438cd12c43e233cded4",name:"content"}),s("slot",{key:"3f94141f60688d0730478711748fa9dbb194f810"}),this.text?this.text:null,this.behavior==="removable"?s("button",{class:"db-button db-tab-remove-button","data-icon":"cross","data-size":"small","data-no-text":"true","data-variant":"ghost",type:"button",onClick:t=>this.handleRemove(t)},s("db-tooltip",{variant:"label"},this.getRemoveButtonText())):null)}};export{$ as db_custom_select_dropdown,_ as db_custom_select_list,D as db_custom_select_list_item,C as db_input,F as db_tag};
|
|
2
|
-
//# sourceMappingURL=p-cd3f02d3.entry.js.map
|
|
@@ -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 = 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 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 s,h as t}from"./p-5au6zD9r.js";import{u as a,b as h,j as d,g as e,c as l}from"./p-YECpAE3G.js";const n=class{constructor(t){i(this,t);this.change=s(this,"change");this.blur=s(this,"blur");this.focus=s(this,"focus");this._id=undefined}handleChange(i){if(this.change){this.change.emit(i)}}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,s){const t=i===null||i===void 0?void 0:i.closest(s);if(i&&t){const s=t.attributes;for(let a=0;a<s.length;a++){const h=s.item(a);if(h&&(h.name.startsWith("data-")||h.name.startsWith("aria-"))){i.setAttribute(h.name,h.value);t.removeAttribute(h.name)}if(h&&h.name==="class"){const s=h.value.includes("hydrated");const a=h.value.replace("hydrated","").trim();const d=i.getAttribute("class");i.setAttribute(h.name,`${d?`${d} `:""}${a}`);if(s){t.setAttribute("class","hydrated")}else{t.removeAttribute(h.name)}}}}}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-switch");this._id=(i=this.id)!==null&&i!==void 0?i:`switch-${a()}`}render(){var i;return t("label",{key:"ff82fbb6934e2968f5b55ff95d2b8e9370613687",class:l("db-switch",this.className),"data-visual-aid":e(this.visualAid),"data-size":this.size,"data-hide-label":d(this.showLabel),"data-emphasis":this.emphasis,htmlFor:this._id,"data-hide-asterisk":d(this.showRequiredAsterisk)},t("input",{key:"857075d64965d9fd3de30fda3fe4e60fdd937284",type:"checkbox",role:"switch",id:this._id,ref:i=>{this._ref=i},checked:h(this.checked,"checked"),value:this.value,disabled:h(this.disabled,"disabled"),"aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,name:this.name,required:h(this.required,"required"),"data-aid-icon":(i=this.iconLeading)!==null&&i!==void 0?i:this.icon,"data-aid-icon-trailing":this.iconTrailing,onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i)}),this.label?this.label:t("slot",null))}};export{n as db_switch};
|
|
2
|
-
//# sourceMappingURL=p-d88c0762.entry.js.map
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|