@db-ux/wc-core-components 4.0.4 → 4.2.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.
Files changed (139) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/cjs/db-checkbox.cjs.entry.js +30 -4
  3. package/dist/cjs/db-checkbox.entry.cjs.js.map +1 -1
  4. 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
  5. package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js +32 -5
  6. package/dist/cjs/db-custom-select.cjs.entry.js +76 -47
  7. package/dist/cjs/db-custom-select.entry.cjs.js.map +1 -1
  8. package/dist/cjs/db-header.cjs.entry.js +2 -2
  9. package/dist/cjs/db-header.entry.cjs.js.map +1 -1
  10. package/dist/cjs/db-notification.cjs.entry.js +2 -2
  11. package/dist/cjs/db-notification.entry.cjs.js.map +1 -1
  12. package/dist/cjs/db-radio.cjs.entry.js +39 -4
  13. package/dist/cjs/db-radio.entry.cjs.js.map +1 -1
  14. package/dist/cjs/db-select.cjs.entry.js +32 -5
  15. package/dist/cjs/db-select.entry.cjs.js.map +1 -1
  16. package/dist/cjs/db-switch.cjs.entry.js +31 -4
  17. package/dist/cjs/db-switch.entry.cjs.js.map +1 -1
  18. package/dist/cjs/db-textarea.cjs.entry.js +32 -5
  19. package/dist/cjs/db-textarea.entry.cjs.js.map +1 -1
  20. package/dist/cjs/db-ux.cjs.js +1 -1
  21. package/dist/cjs/form-components-CPqbzZwG.js +41 -0
  22. package/dist/cjs/form-components-CPqbzZwG.js.map +1 -0
  23. package/dist/cjs/index.cjs.js.map +1 -1
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/collection/components/checkbox/checkbox.js +34 -4
  26. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  27. package/dist/collection/components/custom-select/custom-select.js +108 -50
  28. package/dist/collection/components/custom-select/custom-select.js.map +1 -1
  29. package/dist/collection/components/custom-select/model.js.map +1 -1
  30. package/dist/collection/components/header/header.js +52 -2
  31. package/dist/collection/components/header/header.js.map +1 -1
  32. package/dist/collection/components/header/model.js.map +1 -1
  33. package/dist/collection/components/input/input.js +36 -5
  34. package/dist/collection/components/input/input.js.map +1 -1
  35. package/dist/collection/components/notification/notification.js +12 -12
  36. package/dist/collection/components/notification/notification.js.map +1 -1
  37. package/dist/collection/components/radio/model.js.map +1 -1
  38. package/dist/collection/components/radio/radio.js +61 -5
  39. package/dist/collection/components/radio/radio.js.map +1 -1
  40. package/dist/collection/components/select/select.js +36 -5
  41. package/dist/collection/components/select/select.js.map +1 -1
  42. package/dist/collection/components/switch/switch.js +34 -4
  43. package/dist/collection/components/switch/switch.js.map +1 -1
  44. package/dist/collection/components/textarea/textarea.js +36 -5
  45. package/dist/collection/components/textarea/textarea.js.map +1 -1
  46. package/dist/collection/shared/model.js.map +1 -1
  47. package/dist/collection/utils/form-components.js +31 -0
  48. package/dist/collection/utils/form-components.js.map +1 -1
  49. package/dist/custom-elements.json +291 -28
  50. package/dist/db-ux/db-checkbox.entry.esm.js.map +1 -1
  51. 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
  52. package/dist/db-ux/db-custom-select.entry.esm.js.map +1 -1
  53. package/dist/db-ux/db-header.entry.esm.js.map +1 -1
  54. package/dist/db-ux/db-notification.entry.esm.js.map +1 -1
  55. package/dist/db-ux/db-radio.entry.esm.js.map +1 -1
  56. package/dist/db-ux/db-select.entry.esm.js.map +1 -1
  57. package/dist/db-ux/db-switch.entry.esm.js.map +1 -1
  58. package/dist/db-ux/db-textarea.entry.esm.js.map +1 -1
  59. package/dist/db-ux/db-ux.esm.js +1 -1
  60. package/dist/db-ux/index.esm.js.map +1 -1
  61. package/dist/db-ux/p-59f30e71.entry.js +2 -0
  62. package/dist/db-ux/p-59f30e71.entry.js.map +1 -0
  63. package/dist/db-ux/p-5cbbd49b.entry.js +2 -0
  64. package/dist/db-ux/p-5cbbd49b.entry.js.map +1 -0
  65. package/dist/db-ux/p-68b70ec5.entry.js +2 -0
  66. package/dist/db-ux/p-68b70ec5.entry.js.map +1 -0
  67. package/dist/db-ux/p-693724ef.entry.js +2 -0
  68. package/dist/db-ux/p-693724ef.entry.js.map +1 -0
  69. package/dist/db-ux/p-751434fa.entry.js +2 -0
  70. package/dist/db-ux/p-751434fa.entry.js.map +1 -0
  71. package/dist/db-ux/p-7f3a0030.entry.js +2 -0
  72. package/dist/db-ux/p-7f3a0030.entry.js.map +1 -0
  73. package/dist/db-ux/p-8f698fc9.entry.js +2 -0
  74. package/dist/db-ux/p-8f698fc9.entry.js.map +1 -0
  75. package/dist/db-ux/p-952cd568.entry.js +2 -0
  76. package/dist/db-ux/p-952cd568.entry.js.map +1 -0
  77. package/dist/db-ux/p-CdVqfu2Z.js +2 -0
  78. package/dist/db-ux/p-CdVqfu2Z.js.map +1 -0
  79. package/dist/db-ux/p-bc2e8a30.entry.js +2 -0
  80. package/dist/db-ux/p-bc2e8a30.entry.js.map +1 -0
  81. package/dist/esm/db-checkbox.entry.js +30 -4
  82. package/dist/esm/db-checkbox.entry.js.map +1 -1
  83. 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
  84. package/dist/esm/db-custom-select-dropdown_5.entry.js +32 -5
  85. package/dist/esm/db-custom-select.entry.js +76 -47
  86. package/dist/esm/db-custom-select.entry.js.map +1 -1
  87. package/dist/esm/db-header.entry.js +2 -2
  88. package/dist/esm/db-header.entry.js.map +1 -1
  89. package/dist/esm/db-notification.entry.js +2 -2
  90. package/dist/esm/db-notification.entry.js.map +1 -1
  91. package/dist/esm/db-radio.entry.js +40 -5
  92. package/dist/esm/db-radio.entry.js.map +1 -1
  93. package/dist/esm/db-select.entry.js +32 -5
  94. package/dist/esm/db-select.entry.js.map +1 -1
  95. package/dist/esm/db-switch.entry.js +31 -4
  96. package/dist/esm/db-switch.entry.js.map +1 -1
  97. package/dist/esm/db-textarea.entry.js +32 -5
  98. package/dist/esm/db-textarea.entry.js.map +1 -1
  99. package/dist/esm/db-ux.js +1 -1
  100. package/dist/esm/form-components-DmI6JmyJ.js +37 -0
  101. package/dist/esm/form-components-DmI6JmyJ.js.map +1 -0
  102. package/dist/esm/index.js.map +1 -1
  103. package/dist/esm/loader.js +1 -1
  104. package/dist/types/components/checkbox/checkbox.d.ts +5 -1
  105. package/dist/types/components/custom-select/custom-select.d.ts +5 -0
  106. package/dist/types/components/custom-select/model.d.ts +5 -0
  107. package/dist/types/components/header/header.d.ts +2 -0
  108. package/dist/types/components/header/model.d.ts +2 -2
  109. package/dist/types/components/input/input.d.ts +6 -2
  110. package/dist/types/components/notification/notification.d.ts +1 -1
  111. package/dist/types/components/radio/model.d.ts +3 -3
  112. package/dist/types/components/radio/radio.d.ts +7 -1
  113. package/dist/types/components/select/select.d.ts +6 -2
  114. package/dist/types/components/switch/switch.d.ts +5 -1
  115. package/dist/types/components/textarea/textarea.d.ts +6 -2
  116. package/dist/types/components.d.ts +8 -0
  117. package/dist/types/shared/model.d.ts +6 -2
  118. package/dist/types/utils/form-components.d.ts +9 -0
  119. package/dist/vscode.html-custom-data.json +21 -6
  120. package/dist/web-types.json +63 -18
  121. package/package.json +3 -3
  122. package/dist/db-ux/p-1761357c.entry.js +0 -2
  123. package/dist/db-ux/p-1761357c.entry.js.map +0 -1
  124. package/dist/db-ux/p-233758c5.entry.js +0 -2
  125. package/dist/db-ux/p-233758c5.entry.js.map +0 -1
  126. package/dist/db-ux/p-60f913fa.entry.js +0 -2
  127. package/dist/db-ux/p-60f913fa.entry.js.map +0 -1
  128. package/dist/db-ux/p-76dd2831.entry.js +0 -2
  129. package/dist/db-ux/p-76dd2831.entry.js.map +0 -1
  130. package/dist/db-ux/p-93620721.entry.js +0 -2
  131. package/dist/db-ux/p-93620721.entry.js.map +0 -1
  132. package/dist/db-ux/p-c423e7ba.entry.js +0 -2
  133. package/dist/db-ux/p-c423e7ba.entry.js.map +0 -1
  134. package/dist/db-ux/p-c7815d81.entry.js +0 -2
  135. package/dist/db-ux/p-c7815d81.entry.js.map +0 -1
  136. package/dist/db-ux/p-decb47b4.entry.js +0 -2
  137. package/dist/db-ux/p-decb47b4.entry.js.map +0 -1
  138. package/dist/db-ux/p-ecab99ff.entry.js +0 -2
  139. package/dist/db-ux/p-ecab99ff.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"db-custom-select.entry.js","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() listLabel: DBCustomSelectProps[\"listLabel\"];\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(option: CustomSelectOptionType) {\n const removeTexts = this.removeTagsTexts;\n const options = this.options;\n if (removeTexts && options) {\n // Find the index of the option in the original options array\n const optionIndex = options.findIndex(\n (opt) => opt.value === option.value\n );\n if (optionIndex >= 0 && optionIndex < removeTexts.length) {\n return removeTexts[optionIndex];\n }\n }\n // Fallback to default behavior\n return `${DEFAULT_REMOVE} ${this.getOptionLabel(option)}`;\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 // Find next element with input, skipping group titles\n let nextElement = listElement?.nextElementSibling;\n while (nextElement) {\n const nextInput = nextElement.querySelector(\"input\");\n if (nextInput) {\n nextInput.focus();\n break;\n }\n nextElement = nextElement.nextElementSibling;\n }\n if (!nextElement) {\n // We are on the last checkbox we move to the top checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n } else {\n // Find previous element with input, skipping group titles\n let prevElement = listElement?.previousElementSibling;\n while (prevElement) {\n const prevInput = prevElement.querySelector(\"input\");\n if (prevInput) {\n prevInput.focus();\n break;\n }\n prevElement = prevElement.previousElementSibling;\n }\n if (!prevElement) {\n // Check if we have a \"select all\" checkbox (only relevant for multi-select)\n const selectAllCheckbox = this.detailsRef.querySelector(\n `input[type=\"checkbox\"]`\n );\n if (selectAllCheckbox && selectAllCheckbox !== activeElement) {\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 }\n } else {\n // 2. If we are on the search, and press up we go back to summary and close\n if (\n activeElement.getAttribute(\"type\") === \"search\" &&\n (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\")\n ) {\n this.handleClose(undefined, true);\n this.handleSummaryFocus();\n } else {\n // 3. Otherwise, we need to move to the first checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n }\n }\n }\n } else if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n // Open dropdown with arrows see https://www.w3.org/WAI/ARIA/apg/patterns/combobox/#keyboardinteraction\n this.handleAutoPlacement();\n if (this.detailsRef) {\n this.detailsRef.open = true;\n }\n this.handleOpenByKeyboardFocus();\n }\n event.stopPropagation();\n event.preventDefault();\n }\n handleKeyboardPress(event: any) {\n event.stopPropagation();\n if (event.key === \"Escape\" && this.detailsRef?.open) {\n this.handleClose(undefined, true);\n this.handleSummaryFocus();\n } else if (event.key === \"Enter\" && this.detailsRef?.open) {\n // Handle Enter key to select option like Space key\n if (self.document) {\n const activeElement = self.document.activeElement as HTMLInputElement;\n if (\n [\"checkbox\", \"radio\"].includes(\n activeElement.getAttribute(\"type\") || \"\"\n )\n ) {\n // Trigger click to simulate Space key behavior\n activeElement.click();\n event.preventDefault();\n }\n }\n } else if (\n event.key === \"ArrowDown\" ||\n event.key === \"ArrowUp\" ||\n event.key === \"ArrowLeft\" ||\n event.key === \"ArrowRight\"\n ) {\n this.handleArrowDownUp(event);\n }\n }\n handleClose(\n event?: InteractionEvent<HTMLDetailsElement> | void,\n forceClose?: boolean\n ) {\n if (this.detailsRef) {\n if (forceClose) {\n this.detailsRef.open = false;\n this.handleSummaryFocus();\n } else if (this.detailsRef.open && event) {\n if (event.relatedTarget) {\n const relatedTarget = event.relatedTarget as HTMLElement;\n if (!this.detailsRef.contains(relatedTarget)) {\n // We need to use delay here because the combination of `contains`\n // and changing the DOM element causes a race condition inside browser\n delay(() => (this.detailsRef.open = false), 1);\n }\n }\n }\n }\n }\n handleDocumentClose(event: any) {\n if (event) {\n // stencil is sending a custom event which wraps the pointer event into details\n const target =\n typeof event.detail === \"number\" ? event.target : event.detail?.target;\n if (this.detailsRef?.open && !this.detailsRef.contains(target)) {\n this.detailsRef.open = false;\n }\n }\n }\n handleOptionSelected(values: string[]) {\n const skip = new Date().getTime() - this._internalChangeTimestamp < 200;\n if (skip) return;\n this._values = values;\n this._userInteraction = true;\n if (this.optionSelected) {\n this.optionSelected.emit(values ?? []);\n }\n this._internalChangeTimestamp = new Date().getTime();\n }\n handleSelect(value?: string) {\n if (value) {\n if (this.multiple) {\n if (this._values?.includes(value)) {\n this.handleOptionSelected(\n this._values!.filter((v: string) => v !== value)\n );\n } else {\n this.handleOptionSelected([...(this._values || []), value]);\n }\n } else {\n this.handleOptionSelected([value]);\n this.handleClose(undefined, true);\n }\n }\n }\n handleSelectAll(event: any) {\n event.stopPropagation();\n if (this._values?.length === this.amountOptions) {\n this.handleOptionSelected([]);\n } else {\n const searchValue: string | undefined =\n this.searchEnabled && this.searchInputRef\n ? this.searchInputRef.value\n : undefined;\n this.handleOptionSelected(\n this.options\n ? this.options!.filter(\n (option) =>\n !option.isGroupTitle &&\n (!searchValue ||\n option.value\n ?.toLowerCase()\n .includes(searchValue.toLowerCase()))\n ).map((option) => option.value ?? \"\")\n : []\n );\n }\n }\n handleFocusFirstDropdownCheckbox(activeElement?: Element) {\n if (this.detailsRef) {\n const checkboxes: HTMLInputElement[] = Array.from(\n this.detailsRef.querySelectorAll(\n `input[type=\"checkbox\"],input[type=\"radio\"]`\n )\n );\n if (checkboxes.length) {\n const first = checkboxes.at(0);\n const checkbox =\n first === activeElement && checkboxes.length > 1\n ? checkboxes.at(1)\n : first;\n if (checkbox) {\n delay(() => {\n // Takes some time until element can be focused\n (checkbox as HTMLInputElement).focus();\n }, 1);\n }\n }\n }\n }\n handleOpenByKeyboardFocus() {\n if (this.detailsRef) {\n // Focus search if possible\n const search = getSearchInput(this.detailsRef);\n if (search) {\n delay(() => {\n // Takes some time until element can be focused\n search.focus();\n }, 1);\n } else {\n // Focus first checkbox otherwise\n this.handleFocusFirstDropdownCheckbox();\n }\n }\n }\n handleSearch(valueOrEvent?: InputEvent<HTMLInputElement> | string | void) {\n if (valueOrEvent === undefined) {\n return;\n }\n let filterText;\n if (typeof valueOrEvent === \"string\") {\n filterText = valueOrEvent;\n } else {\n const event = valueOrEvent as InputEvent<HTMLInputElement>;\n event.stopPropagation();\n if (this.search) {\n this.search.emit(event);\n }\n filterText = (event.target as HTMLInputElement).value;\n this._searchValue = filterText;\n }\n if (!this.options || !filterText || filterText.length === 0) {\n this._options = this.options;\n } else if (this.searchFilter) {\n this._options = this.options!.filter((option) =>\n this.searchFilter!(option, filterText)\n );\n } else {\n this._options = this.options!.filter(\n (option) =>\n !option.isGroupTitle &&\n this.getOptionLabel(option)\n .toLowerCase()\n .includes(filterText.toLowerCase())\n );\n }\n }\n handleClearAll(event: any) {\n event.stopPropagation();\n this.handleOptionSelected([]);\n this.handleSummaryFocus();\n }\n handleSummaryFocus() {\n if (this.detailsRef) {\n (this.detailsRef as HTMLDetailsElement).querySelector(\"summary\")?.focus();\n }\n }\n satisfyReact = function satisfyReact(event: any) {\n // This is a function to satisfy React\n event.stopPropagation();\n };\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.detailsRef) {\n this.detailsRef.addEventListener(\n \"focusout\",\n (event: InteractionEvent<HTMLDetailsElement>) => this.handleClose(event)\n );\n }\n }\n\n @Watch(\"detailsRef\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._labelId = this._id + DEFAULT_LABEL_ID_SUFFIX;\n this._selectId = this._id + DEFAULT_SELECT_ID_SUFFIX;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._placeholderId = this._id + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this.setDescById(messageId);\n } else {\n this.setDescById();\n }\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n if (this.detailsRef) {\n const summary = this.detailsRef.querySelector(\"summary\");\n if (summary) {\n summary.setAttribute(\n \"aria-describedby\",\n this.ariaDescribedBy ?? (this._descByIds || \"\")\n );\n }\n }\n }\n\n @Watch(\"detailsRef\")\n @Watch(\"_descByIds\")\n watch2() {\n this.watch2Fn();\n }\n\n watch3Fn() {\n if (this.showNoResults !== undefined) {\n this._hasNoOptions = this.showNoResults!;\n } else if (this._options) {\n this._hasNoOptions = this._options!.length === 0;\n }\n }\n\n @Watch(\"showNoResults\")\n @Watch(\"showLoading\")\n @Watch(\"_options\")\n watch3() {\n this.watch3Fn();\n }\n\n watch4Fn() {\n this.selectAllEnabled = Boolean(\n this.multiple && (this.showSelectAll ?? this.amountOptions > 5)\n );\n }\n\n @Watch(\"showSelectAll\")\n @Watch(\"amountOptions\")\n @Watch(\"multiple\")\n watch4() {\n this.watch4Fn();\n }\n\n watch5Fn() {\n this.searchEnabled = this.showSearch ?? this.amountOptions > 9;\n }\n\n @Watch(\"showSearch\")\n @Watch(\"amountOptions\")\n watch5() {\n this.watch5Fn();\n }\n\n watch6Fn() {\n const v = this.values;\n if (Array.isArray(v)) {\n if (this._values !== v) {\n this._values = v;\n }\n } else if (v == null && this._values?.length !== 0) {\n 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(option)}\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.listLabel ?? 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\n class=\"db-custom-select-placeholder\"\n aria-hidden={getBooleanAsString(true)}\n id={this._placeholderId}\n >\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"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-custom-select.entry.js","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 addResetEventListener,\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() selectedPrefix: DBCustomSelectProps[\"selectedPrefix\"];\n @Prop() dropdownWidth: DBCustomSelectProps[\"dropdownWidth\"];\n @Prop() searchLabel: DBCustomSelectProps[\"searchLabel\"];\n @Prop() searchPlaceholder: DBCustomSelectProps[\"searchPlaceholder\"];\n @Prop() listLabel: DBCustomSelectProps[\"listLabel\"];\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() abortController = undefined;\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.setDescById(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.setDescById(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.setDescById(this._messageId);\n this._validity = this.validation ?? \"no-validation\";\n } else {\n this.setDescById(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(option: CustomSelectOptionType) {\n const removeTexts = this.removeTagsTexts;\n const options = this.options;\n if (removeTexts && options) {\n // Find the index of the option in the original options array\n const optionIndex = options.findIndex(\n (opt) => opt.value === option.value\n );\n if (optionIndex >= 0 && optionIndex < removeTexts.length) {\n return removeTexts[optionIndex];\n }\n }\n // Fallback to default behavior\n return `${DEFAULT_REMOVE} ${this.getOptionLabel(option)}`;\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 // Find next element with input, skipping group titles\n let nextElement = listElement?.nextElementSibling;\n while (nextElement) {\n const nextInput = nextElement.querySelector(\"input\");\n if (nextInput) {\n nextInput.focus();\n break;\n }\n nextElement = nextElement.nextElementSibling;\n }\n if (!nextElement) {\n // We are on the last checkbox we move to the top checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n } else {\n // Find previous element with input, skipping group titles\n let prevElement = listElement?.previousElementSibling;\n while (prevElement) {\n const prevInput = prevElement.querySelector(\"input\");\n if (prevInput) {\n prevInput.focus();\n break;\n }\n prevElement = prevElement.previousElementSibling;\n }\n if (!prevElement) {\n // Check if we have a \"select all\" checkbox (only relevant for multi-select)\n const selectAllCheckbox = this.detailsRef.querySelector(\n `input[type=\"checkbox\"]`\n );\n if (selectAllCheckbox && selectAllCheckbox !== activeElement) {\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 }\n } else {\n // 2. If we are on the search, and press up we go back to summary and close\n if (\n activeElement.getAttribute(\"type\") === \"search\" &&\n (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\")\n ) {\n this.handleClose(undefined, true);\n this.handleSummaryFocus();\n } else {\n // 3. Otherwise, we need to move to the first checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n }\n }\n }\n } else if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n // Open dropdown with arrows see https://www.w3.org/WAI/ARIA/apg/patterns/combobox/#keyboardinteraction\n this.handleAutoPlacement();\n if (this.detailsRef) {\n this.detailsRef.open = true;\n }\n this.handleOpenByKeyboardFocus();\n }\n event.stopPropagation();\n event.preventDefault();\n }\n handleKeyboardPress(event: any) {\n event.stopPropagation();\n if (event.key === \"Escape\" && this.detailsRef?.open) {\n this.handleClose(undefined, true);\n this.handleSummaryFocus();\n } else if (event.key === \"Enter\" && this.detailsRef?.open) {\n // Handle Enter key to select option like Space key\n if (self.document) {\n const activeElement = self.document.activeElement as HTMLInputElement;\n if (\n [\"checkbox\", \"radio\"].includes(\n activeElement.getAttribute(\"type\") || \"\"\n )\n ) {\n // Trigger click to simulate Space key behavior\n activeElement.click();\n event.preventDefault();\n }\n }\n } else if (\n event.key === \"ArrowDown\" ||\n event.key === \"ArrowUp\" ||\n event.key === \"ArrowLeft\" ||\n event.key === \"ArrowRight\"\n ) {\n this.handleArrowDownUp(event);\n }\n }\n handleClose(\n event?: InteractionEvent<HTMLDetailsElement> | void,\n forceClose?: boolean\n ) {\n if (this.detailsRef) {\n if (forceClose) {\n this.detailsRef.open = false;\n this.handleSummaryFocus();\n } else if (this.detailsRef.open && event) {\n if (event.relatedTarget) {\n const relatedTarget = event.relatedTarget as HTMLElement;\n if (!this.detailsRef.contains(relatedTarget)) {\n // We need to use delay here because the combination of `contains`\n // and changing the DOM element causes a race condition inside browser\n delay(() => (this.detailsRef.open = false), 1);\n }\n }\n }\n }\n }\n handleDocumentClose(event: any) {\n if (event) {\n // stencil is sending a custom event which wraps the pointer event into details\n const target =\n typeof event.detail === \"number\" ? event.target : event.detail?.target;\n if (this.detailsRef?.open && !this.detailsRef.contains(target)) {\n this.detailsRef.open = false;\n }\n }\n }\n handleOptionSelected(values: string[]) {\n const skip = new Date().getTime() - this._internalChangeTimestamp < 200;\n if (skip) return;\n this._values = values;\n this._userInteraction = true;\n if (this.optionSelected) {\n this.optionSelected.emit(values ?? []);\n }\n this._internalChangeTimestamp = new Date().getTime();\n }\n handleSelect(value?: string) {\n if (value) {\n if (this.multiple) {\n if (this._values?.includes(value)) {\n this.handleOptionSelected(\n this._values!.filter((v: string) => v !== value)\n );\n } else {\n this.handleOptionSelected([...(this._values || []), value]);\n }\n } else {\n this.handleOptionSelected([value]);\n this.handleClose(undefined, true);\n }\n }\n }\n handleSelectAll(event: any) {\n event.stopPropagation();\n if (this._values?.length === this.amountOptions) {\n this.handleOptionSelected([]);\n } else {\n const searchValue: string | undefined =\n this.searchEnabled && this.searchInputRef\n ? this.searchInputRef.value\n : undefined;\n this.handleOptionSelected(\n this.options\n ? this.options!.filter(\n (option) =>\n !option.isGroupTitle &&\n (!searchValue ||\n option.value\n ?.toLowerCase()\n .includes(searchValue.toLowerCase()))\n ).map((option) => option.value ?? \"\")\n : []\n );\n }\n }\n handleFocusFirstDropdownCheckbox(activeElement?: Element) {\n if (this.detailsRef) {\n const checkboxes: HTMLInputElement[] = Array.from(\n this.detailsRef.querySelectorAll(\n `input[type=\"checkbox\"],input[type=\"radio\"]`\n )\n );\n if (checkboxes.length) {\n const first = checkboxes.at(0);\n const checkbox =\n first === activeElement && checkboxes.length > 1\n ? checkboxes.at(1)\n : first;\n if (checkbox) {\n delay(() => {\n // Takes some time until element can be focused\n (checkbox as HTMLInputElement).focus();\n }, 1);\n }\n }\n }\n }\n handleOpenByKeyboardFocus() {\n if (this.detailsRef) {\n // Focus search if possible\n const search = getSearchInput(this.detailsRef);\n if (search) {\n delay(() => {\n // Takes some time until element can be focused\n search.focus();\n }, 1);\n } else {\n // Focus first checkbox otherwise\n this.handleFocusFirstDropdownCheckbox();\n }\n }\n }\n handleSearch(valueOrEvent?: InputEvent<HTMLInputElement> | string | void) {\n if (valueOrEvent === undefined) {\n return;\n }\n let filterText;\n if (typeof valueOrEvent === \"string\") {\n filterText = valueOrEvent;\n } else {\n const event = valueOrEvent as InputEvent<HTMLInputElement>;\n event.stopPropagation();\n if (this.search) {\n this.search.emit(event);\n }\n filterText = (event.target as HTMLInputElement).value;\n this._searchValue = filterText;\n }\n if (!this.options || !filterText || filterText.length === 0) {\n this._options = this.options;\n } else if (this.searchFilter) {\n this._options = this.options!.filter((option) =>\n this.searchFilter!(option, filterText)\n );\n } else {\n this._options = this.options!.filter(\n (option) =>\n !option.isGroupTitle &&\n this.getOptionLabel(option)\n .toLowerCase()\n .includes(filterText.toLowerCase())\n );\n }\n }\n handleClearAll(event: any) {\n event.stopPropagation();\n this.handleOptionSelected([]);\n this.handleSummaryFocus();\n }\n handleSummaryFocus() {\n if (this.detailsRef) {\n (this.detailsRef as HTMLDetailsElement).querySelector(\"summary\")?.focus();\n }\n }\n satisfyReact = function satisfyReact(event: any) {\n // This is a function to satisfy React\n event.stopPropagation();\n };\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.detailsRef) {\n this.detailsRef.addEventListener(\n \"focusout\",\n (event: InteractionEvent<HTMLDetailsElement>) => this.handleClose(event)\n );\n }\n }\n\n @Watch(\"detailsRef\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._labelId = this._id + DEFAULT_LABEL_ID_SUFFIX;\n this._selectId = this._id + DEFAULT_SELECT_ID_SUFFIX;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._placeholderId = this._id + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this.setDescById(messageId);\n } else {\n this.setDescById();\n }\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n if (this.detailsRef) {\n const summary = this.detailsRef.querySelector(\"summary\");\n if (summary) {\n summary.setAttribute(\n \"aria-describedby\",\n this.ariaDescribedBy ?? (this._descByIds || \"\")\n );\n }\n }\n }\n\n @Watch(\"detailsRef\")\n @Watch(\"_descByIds\")\n watch2() {\n this.watch2Fn();\n }\n\n watch3Fn() {\n if (this.showNoResults !== undefined) {\n this._hasNoOptions = this.showNoResults!;\n } else if (this._options) {\n this._hasNoOptions = this._options!.length === 0;\n }\n }\n\n @Watch(\"showNoResults\")\n @Watch(\"showLoading\")\n @Watch(\"_options\")\n watch3() {\n this.watch3Fn();\n }\n\n watch4Fn() {\n this.selectAllEnabled = Boolean(\n this.multiple && (this.showSelectAll ?? this.amountOptions > 5)\n );\n }\n\n @Watch(\"showSelectAll\")\n @Watch(\"amountOptions\")\n @Watch(\"multiple\")\n watch4() {\n this.watch4Fn();\n }\n\n watch5Fn() {\n this.searchEnabled = this.showSearch ?? this.amountOptions > 9;\n }\n\n @Watch(\"showSearch\")\n @Watch(\"amountOptions\")\n watch5() {\n this.watch5Fn();\n }\n\n watch6Fn() {\n const v = this.values;\n if (Array.isArray(v)) {\n if (this._values !== v) {\n this._values = v;\n }\n } else if (v == null && this._values?.length !== 0) {\n 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 if (this.selectRef) {\n let controller = this.abortController;\n if (!controller) {\n controller = new AbortController();\n this.abortController = controller;\n }\n const initialValues = this.values;\n addResetEventListener(\n this.selectRef,\n () => {\n const resetValue = initialValues\n ? initialValues\n : this.selectRef.value\n ? [this.selectRef.value]\n : [];\n this.handleOptionSelected(resetValue);\n this.handleValidation();\n },\n controller.signal\n );\n }\n }\n\n @Watch(\"selectRef\")\n watch8() {\n this.watch8Fn();\n }\n\n watch9Fn() {\n this._validity = this.validation;\n }\n\n @Watch(\"validation\")\n watch9() {\n this.watch9Fn();\n }\n\n watch10Fn() {\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 watch10() {\n this.watch10Fn();\n }\n\n watch11Fn() {\n this._options = this.options;\n this.amountOptions =\n this.options?.filter((option) => !option.isGroupTitle).length ?? 0;\n }\n\n @Watch(\"options\")\n watch11() {\n this.watch11Fn();\n }\n\n watch12Fn() {\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 watch12() {\n this.watch12Fn();\n }\n\n watch13Fn() {\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 watch13() {\n this.watch13Fn();\n }\n\n watch14Fn() {\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 watch14() {\n this.watch14Fn();\n }\n\n watch15Fn() {\n if (this.amountChange) {\n this.amountChange.emit(this._selectedOptions?.length ?? 0);\n }\n }\n\n @Watch(\"_selectedOptions\")\n watch15() {\n this.watch15Fn();\n }\n\n watch16Fn() {\n if (this.selectAllRef) {\n this.selectAllRef.indeterminate = Boolean(this.selectAllIndeterminate);\n }\n }\n\n @Watch(\"selectAllIndeterminate\")\n @Watch(\"selectAllRef\")\n watch16() {\n this.watch16Fn();\n }\n\n watch17Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this.selectRef?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"selectRef\")\n @Watch(\"invalidMessage\")\n watch17() {\n this.watch17Fn();\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 this.watch17Fn();\n }\n disconnectedCallback() {\n this.abortController?.abort();\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.selectedPrefix ? (\n <span data-visually-hidden=\"true\">\n {this.selectedPrefix}\n </span>\n ) : null}\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(option)}\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.listLabel ?? 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\n class=\"db-custom-select-placeholder\"\n aria-hidden={getBooleanAsString(true)}\n id={this._placeholderId}\n >\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"],"names":[],"mappings":"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"}
@@ -78,9 +78,9 @@ const DBHeader = class {
78
78
  }
79
79
  render() {
80
80
  var _a;
81
- return (h("header", { key: 'f4c9884becf742012f64300f7c63fc6d4463fc53', class: cls("db-header", this.className), ref: (el) => {
81
+ return (h("header", { key: 'f9850f5a6f59bee2ed97db4baea343e07aaff91a', class: cls("db-header", this.className), ref: (el) => {
82
82
  this._ref = el;
83
- }, id: this.id, "data-width": this.width, "data-on-forcing-mobile": this.forceMobile && !this.forcedToMobile }, h("db-drawer", { key: '1e7041fce0b49d91634f9150de2728fb3ea570ae', class: "db-header-drawer", spacing: "small", rounded: true, open: getBoolean(this.drawerOpen), onClose: () => this.handleToggle() }, h("div", { key: '9cf3ece5244d1210276de64d74916077323a03c1', class: "db-header-drawer-navigation" }, h("div", { key: '4b3aa0923761a654d6095e862b5d1beddae86d80', class: "db-header-navigation", onClick: (event) => this.handleNavigationItemClick(event) }, h("slot", { key: 'a4f4a03a8cb99eb51aa6b865900ce5087099eddf' })), h("div", { key: '3d45857231f8637705c827d7c261cc33ab14f966', class: "db-header-meta-navigation" }, h("slot", { key: '8820a4e7f3e41d92ffabee8787e68cff52ae9ffe', name: "metaNavigation" }))), h("div", { key: 'a2419d7e6cf2ac44e303b3ecbce0e2879064ce92', class: "db-header-secondary-action" }, h("slot", { key: 'be3960fbaf78ae49ba370e78be80069c21272b90', name: "secondaryAction" }))), h("div", { key: '5d34773d05e83f70b8c4b94320ccacfa724c607d', class: "db-header-meta-navigation" }, h("slot", { key: '59173edd33c4cb1198d01ff226a9b00510066a23', name: "metaNavigation" })), h("div", { key: '295063c335c63c27caa205577aa8d1c9fba8f707', class: "db-header-navigation-bar" }, h("div", { key: '89bba742b816ae4de7964a6818552cb539b338fc', class: "db-header-brand-container" }, h("slot", { key: '98f16df9f68541c7fddc25fd823d6a6c2c038186', name: "brand" })), h("div", { key: '7e6279f4528c98b3e33fe9e948f24e098806aba1', class: "db-header-navigation-container" }, h("div", { key: '9194a52e1270ae50b648498587262354e2cbb074', class: "db-header-navigation" }, h("slot", { key: '5c5b769528a870c273f6b278f2426818b87fca34' })), h("div", { key: 'fdd0b74ffd36b12cca136b66ffb851332384e7f5', class: "db-header-primary-action" }, h("slot", { key: '9785dea0204a3029a31962e661861c26ca9ba490', name: "primaryAction" }))), h("div", { key: '3da686773c71442497aed65236b22ce19d42cf5a', class: "db-header-action-container" }, h("div", { key: '08d4fcda3c5e3d757fa090fc7a4170884f653340', class: "db-header-burger-menu-container" }, h("db-button", { key: '066d1359f239663f6c92d9206ec6112ab93a7326', icon: "menu", variant: "ghost", noText: true, onClick: () => this.handleToggle() }, (_a = this.burgerMenuLabel) !== null && _a !== void 0 ? _a : DEFAULT_BURGER_MENU)), h("div", { key: '43ed5e88925dd99ff83241a626e3a4204101304f', class: "db-header-secondary-action" }, h("slot", { key: 'c74a72a5babc2ab9c667d2a898955be5ce919a9b', name: "secondaryAction" }))))));
83
+ }, id: this.id, "data-width": this.width, "data-on-forcing-mobile": this.forceMobile && !this.forcedToMobile }, h("db-drawer", { key: '32f62d8f0bf634e96cf7b0e96721fcd40aa3a3eb', class: "db-header-drawer", spacing: "small", rounded: true, closeButtonId: this.closeButtonId, closeButtonText: this.closeButtonText, open: getBoolean(this.drawerOpen), onClose: () => this.handleToggle() }, h("div", { key: 'a42c28439d07e97a3842efe4fa1c143c23691b5f', class: "db-header-drawer-navigation" }, h("div", { key: '141165e04574db312d51b0b4c376c53ddace243e', class: "db-header-navigation", onClick: (event) => this.handleNavigationItemClick(event) }, h("slot", { key: '2208e0677b1f15da56fd6be230523559fcb5f1da' })), h("div", { key: 'fb980500cdb2f6f3ce2fce2489c48ac27ebd256a', class: "db-header-meta-navigation" }, h("slot", { key: '7eea7189a1e82821fc3f0bd600bda5a040382e88', name: "metaNavigation" }))), h("div", { key: 'a492419586593d43edbada69ad136ad832902e15', class: "db-header-secondary-action" }, h("slot", { key: '90ed75a19c230c3a2af94b8e0b397c8712f9a0df', name: "secondaryAction" }))), h("div", { key: '1d0451bd1f522f51cbd2bab3cd1b7c316fd644b4', class: "db-header-meta-navigation" }, h("slot", { key: 'd92c5a30a0131225f2b7b1428c5121fed241d8a7', name: "metaNavigation" })), h("div", { key: 'f65c8e6b2b997c281046f20e1ac7c89d8b5697f6', class: "db-header-navigation-bar" }, h("div", { key: 'be1e1017417595bbb4ff845b650f5edef1f4fd49', class: "db-header-brand-container" }, h("slot", { key: '5552b137967ae4659887ad67514fd0078ced1473', name: "brand" })), h("div", { key: '682e11b41f5131feb17cdf1e175b9bbcf8399740', class: "db-header-navigation-container" }, h("div", { key: '29f5a7afa6d8c014f6e574d72198289970e5324e', class: "db-header-navigation" }, h("slot", { key: 'f03956cf3368d3ec0dbaab3b3091c276eaf03a92' })), h("div", { key: '8a81b9ee537f84e14c9d41acf323552d6f239748', class: "db-header-primary-action" }, h("slot", { key: '78ae4dbdc9bcad5bd4bd951a0a334c47cb35bcf6', name: "primaryAction" }))), h("div", { key: 'e1e913c181df2f73cc9fe4cda17f505a26b1ad04', class: "db-header-action-container" }, h("div", { key: '92d7c9c0e50f9aa86e15c18a2ac7dddabc241358', class: "db-header-burger-menu-container" }, h("db-button", { key: '775ca507ba24b19e411e529e9ad67fcdfa6f3dea', icon: "menu", variant: "ghost", noText: true, onClick: () => this.handleToggle() }, (_a = this.burgerMenuLabel) !== null && _a !== void 0 ? _a : DEFAULT_BURGER_MENU)), h("div", { key: '7cd5a16e27c72e3e0635056df8bcb7f45461c9fb', class: "db-header-secondary-action" }, h("slot", { key: '09669c165311f8dc95961c64900d5ab36281700a', name: "secondaryAction" }))))));
84
84
  }
85
85
  static get watchers() { return {
86
86
  "initialized": ["watch0"],
@@ -1 +1 @@
1
- {"version":3,"file":"db-header.entry.js","sources":["src/components/header/header.tsx"],"sourcesContent":["import { DEFAULT_BURGER_MENU } from \"../../shared/constants\";\nimport { addAttributeToChildren, cls, getBoolean } from \"../../utils\";\nimport { isEventTargetNavigationItem } from \"../../utils/navigation\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawer } from \"../drawer/drawer\";\nimport { DBHeaderProps, DBHeaderState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot metaNavigation - TODO: Add description for slotMetaNavigation\n * @slot secondaryAction - TODO: Add description for slotSecondaryAction\n * @slot brand - TODO: Add description for slotBrand\n * @slot primaryAction - TODO: Add description for slotPrimaryAction\n */\n @Component({\n tag: \"db-header\",\n})\nexport class DBHeader {\n private _ref!: HTMLDivElement | any;\n @Prop() forceMobile: DBHeaderProps[\"forceMobile\"];\n @Prop() drawerOpen: DBHeaderProps[\"drawerOpen\"];\n @Event() toggle: EventEmitter<\n Parameters<Required<DBHeaderProps>[\"onToggle\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBHeaderProps[\"className\"];\n @Prop() id: DBHeaderProps[\"id\"];\n @Prop() width: DBHeaderProps[\"width\"];\n @Prop() burgerMenuLabel: DBHeaderProps[\"burgerMenuLabel\"];\n @State() initialized = false;\n @State() forcedToMobile = false;\n\n handleToggle(event?: any) {\n if (event && event.stopPropagation) {\n event.stopPropagation();\n }\n const open = !getBoolean(this.drawerOpen, \"drawerOpen\");\n if (this.toggle) {\n this.toggle.emit(open);\n }\n }\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.handleToggle();\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: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.initialized && this._ref && this.forceMobile) {\n // Adds this attribute to the header to enable all styling which would have\n // @media screen and (min-width: $db-screens-m) to show mobile navigation on a desktop device\n addAttributeToChildren(this._ref, {\n key: \"data-force-mobile\",\n value: \"true\",\n });\n this.forcedToMobile = true;\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-header\");\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <header\n class={cls(\"db-header\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-width={this.width}\n data-on-forcing-mobile={this.forceMobile && !this.forcedToMobile}\n >\n <db-drawer\n class=\"db-header-drawer\"\n spacing=\"small\"\n rounded={true}\n open={getBoolean(this.drawerOpen)}\n onClose={() => this.handleToggle()}\n >\n <div class=\"db-header-drawer-navigation\">\n <div\n class=\"db-header-navigation\"\n onClick={(event) => this.handleNavigationItemClick(event)}\n >\n <slot></slot>\n </div>\n <div class=\"db-header-meta-navigation\">\n <slot name=\"metaNavigation\"></slot>\n </div>\n </div>\n <div class=\"db-header-secondary-action\">\n <slot name=\"secondaryAction\"></slot>\n </div>\n </db-drawer>\n <div class=\"db-header-meta-navigation\">\n <slot name=\"metaNavigation\"></slot>\n </div>\n <div class=\"db-header-navigation-bar\">\n <div class=\"db-header-brand-container\">\n <slot name=\"brand\"></slot>\n </div>\n <div class=\"db-header-navigation-container\">\n <div class=\"db-header-navigation\">\n <slot></slot>\n </div>\n <div class=\"db-header-primary-action\">\n <slot name=\"primaryAction\"></slot>\n </div>\n </div>\n <div class=\"db-header-action-container\">\n <div class=\"db-header-burger-menu-container\">\n <db-button\n icon=\"menu\"\n variant=\"ghost\"\n noText={true}\n onClick={() => this.handleToggle()}\n >\n {this.burgerMenuLabel ?? DEFAULT_BURGER_MENU}\n </db-button>\n </div>\n <div class=\"db-header-secondary-action\">\n <slot name=\"secondaryAction\"></slot>\n </div>\n </div>\n </div>\n </header>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-header.entry.js","sources":["src/components/header/header.tsx"],"sourcesContent":["import { DEFAULT_BURGER_MENU } from \"../../shared/constants\";\nimport { addAttributeToChildren, cls, getBoolean } from \"../../utils\";\nimport { isEventTargetNavigationItem } from \"../../utils/navigation\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawer } from \"../drawer/drawer\";\nimport { DBHeaderProps, DBHeaderState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot metaNavigation - TODO: Add description for slotMetaNavigation\n * @slot secondaryAction - TODO: Add description for slotSecondaryAction\n * @slot brand - TODO: Add description for slotBrand\n * @slot primaryAction - TODO: Add description for slotPrimaryAction\n */\n @Component({\n tag: \"db-header\",\n})\nexport class DBHeader {\n private _ref!: HTMLDivElement | any;\n @Prop() forceMobile: DBHeaderProps[\"forceMobile\"];\n @Prop() drawerOpen: DBHeaderProps[\"drawerOpen\"];\n @Event() toggle: EventEmitter<\n Parameters<Required<DBHeaderProps>[\"onToggle\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBHeaderProps[\"className\"];\n @Prop() id: DBHeaderProps[\"id\"];\n @Prop() width: DBHeaderProps[\"width\"];\n @Prop() closeButtonId: DBHeaderProps[\"closeButtonId\"];\n @Prop() closeButtonText: DBHeaderProps[\"closeButtonText\"];\n @Prop() burgerMenuLabel: DBHeaderProps[\"burgerMenuLabel\"];\n @State() initialized = false;\n @State() forcedToMobile = false;\n\n handleToggle(event?: any) {\n if (event && event.stopPropagation) {\n event.stopPropagation();\n }\n const open = !getBoolean(this.drawerOpen, \"drawerOpen\");\n if (this.toggle) {\n this.toggle.emit(open);\n }\n }\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.handleToggle();\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: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.initialized && this._ref && this.forceMobile) {\n // Adds this attribute to the header to enable all styling which would have\n // @media screen and (min-width: $db-screens-m) to show mobile navigation on a desktop device\n addAttributeToChildren(this._ref, {\n key: \"data-force-mobile\",\n value: \"true\",\n });\n this.forcedToMobile = true;\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-header\");\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <header\n class={cls(\"db-header\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-width={this.width}\n data-on-forcing-mobile={this.forceMobile && !this.forcedToMobile}\n >\n <db-drawer\n class=\"db-header-drawer\"\n spacing=\"small\"\n rounded={true}\n closeButtonId={this.closeButtonId}\n closeButtonText={this.closeButtonText}\n open={getBoolean(this.drawerOpen)}\n onClose={() => this.handleToggle()}\n >\n <div class=\"db-header-drawer-navigation\">\n <div\n class=\"db-header-navigation\"\n onClick={(event) => this.handleNavigationItemClick(event)}\n >\n <slot></slot>\n </div>\n <div class=\"db-header-meta-navigation\">\n <slot name=\"metaNavigation\"></slot>\n </div>\n </div>\n <div class=\"db-header-secondary-action\">\n <slot name=\"secondaryAction\"></slot>\n </div>\n </db-drawer>\n <div class=\"db-header-meta-navigation\">\n <slot name=\"metaNavigation\"></slot>\n </div>\n <div class=\"db-header-navigation-bar\">\n <div class=\"db-header-brand-container\">\n <slot name=\"brand\"></slot>\n </div>\n <div class=\"db-header-navigation-container\">\n <div class=\"db-header-navigation\">\n <slot></slot>\n </div>\n <div class=\"db-header-primary-action\">\n <slot name=\"primaryAction\"></slot>\n </div>\n </div>\n <div class=\"db-header-action-container\">\n <div class=\"db-header-burger-menu-container\">\n <db-button\n icon=\"menu\"\n variant=\"ghost\"\n noText={true}\n onClick={() => this.handleToggle()}\n >\n {this.burgerMenuLabel ?? DEFAULT_BURGER_MENU}\n </db-button>\n </div>\n <div class=\"db-header-secondary-action\">\n <slot name=\"secondaryAction\"></slot>\n </div>\n </div>\n </div>\n </header>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -52,9 +52,9 @@ const DBNotification = class {
52
52
  }
53
53
  render() {
54
54
  var _a;
55
- return (h("article", { key: '5c2aed4066efbc207ade969f84c5cea58350a49a', class: cls("db-notification", this.className), ref: (el) => {
55
+ return (h("article", { key: '3c3f2ddd7dfcd2e1c0fee57f9c5e7da2715b14f9', class: cls("db-notification", this.className), ref: (el) => {
56
56
  this._ref = el;
57
- }, id: this.id, "aria-live": this.ariaLive, "data-semantic": this.semantic, "data-variant": this.variant, "data-icon": this.icon, "data-show-icon": getBooleanAsString(this.showIcon), "data-link-variant": this.linkVariant }, h("slot", { key: '5b4a5fbc5dad5b04b3f2a0d269cf2ca48f79df7e', name: "image" }), stringPropVisible(this.headline, this.showHeadline) ? (h("header", null, this.headline)) : null, h("p", { key: 'a72611c45ee17745a354e243fdb5cc3e22abf5be' }, this.text ? this.text : h("slot", null)), stringPropVisible(this.timestamp, this.showTimestamp) ? (h("span", null, this.timestamp)) : null, h("slot", { key: '7679c3681608babce822cd7d4251e0bfc2ce08d4', name: "link" }), getBoolean(this.closeable, "closeable") ? (h("db-button", { icon: "cross", variant: "ghost", size: "small", id: this.closeButtonId, noText: true, onClick: (event) => this.handleClose(event) }, (_a = this.closeButtonText) !== null && _a !== void 0 ? _a : DEFAULT_CLOSE_BUTTON)) : null));
57
+ }, id: this.id, "aria-live": this.ariaLive, "data-semantic": this.semantic, "data-variant": this.variant, "data-icon": getBoolean(this.showIcon) !== false ? this.icon : undefined, "data-show-icon": getBooleanAsString(this.showIcon), "data-link-variant": this.linkVariant }, h("slot", { key: 'abf2bee58f568e7f8fd1b4bc3b4f5784075195c0', name: "image" }), stringPropVisible(this.headline, this.showHeadline) ? (h("header", null, this.headline)) : null, h("p", { key: 'f845249859543bfdc2ac08dd06fea46d5c6fb33d' }, this.text ? this.text : h("slot", null)), stringPropVisible(this.timestamp, this.showTimestamp) ? (h("span", null, this.timestamp)) : null, h("slot", { key: '097d69d4b69789d1bc2ff1c1eea143578cdd3f83', name: "link" }), getBoolean(this.closeable, "closeable") ? (h("db-button", { icon: "cross", variant: "ghost", size: "small", id: this.closeButtonId, noText: true, onClick: (event) => this.handleClose(event) }, (_a = this.closeButtonText) !== null && _a !== void 0 ? _a : DEFAULT_CLOSE_BUTTON)) : null));
58
58
  }
59
59
  };
60
60
 
@@ -1 +1 @@
1
- {"version":3,"file":"db-notification.entry.js","sources":["src/components/notification/notification.tsx"],"sourcesContent":["import { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n stringPropVisible,\n} from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBNotificationProps, DBNotificationState } 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 image - TODO: Add description for slotImage\n * @slot link - TODO: Add description for slotLink\n */\n @Component({\n tag: \"db-notification\",\n})\nexport class DBNotification {\n private _ref!: HTMLDivElement | any;\n @Event() close: EventEmitter<\n Parameters<Required<DBNotificationProps>[\"onClose\"]>[number]\n > | void;\n @Prop() id: DBNotificationProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBNotificationProps[\"className\"];\n @Prop() ariaLive: DBNotificationProps[\"ariaLive\"];\n @Prop() semantic: DBNotificationProps[\"semantic\"];\n @Prop() variant: DBNotificationProps[\"variant\"];\n @Prop() icon: DBNotificationProps[\"icon\"];\n @Prop() showIcon: DBNotificationProps[\"showIcon\"];\n @Prop() linkVariant: DBNotificationProps[\"linkVariant\"];\n @Prop() headline: DBNotificationProps[\"headline\"];\n @Prop() showHeadline: DBNotificationProps[\"showHeadline\"];\n @Prop() text: DBNotificationProps[\"text\"];\n @Prop() timestamp: DBNotificationProps[\"timestamp\"];\n @Prop() showTimestamp: DBNotificationProps[\"showTimestamp\"];\n @Prop() closeable: DBNotificationProps[\"closeable\"];\n @Prop() closeButtonId: DBNotificationProps[\"closeButtonId\"];\n @Prop() closeButtonText: DBNotificationProps[\"closeButtonText\"];\n\n handleClose(event?: ClickEvent<HTMLButtonElement> | void) {\n if (!event) return;\n event.stopPropagation();\n if (this.close) {\n this.close.emit(event);\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: 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-notification\");\n }\n\n render() {\n return (\n <article\n class={cls(\"db-notification\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n aria-live={this.ariaLive}\n data-semantic={this.semantic}\n data-variant={this.variant}\n data-icon={this.icon}\n data-show-icon={getBooleanAsString(this.showIcon)}\n data-link-variant={this.linkVariant}\n >\n <slot name=\"image\"></slot>\n {stringPropVisible(this.headline, this.showHeadline) ? (\n <header>{this.headline}</header>\n ) : null}\n <p>{this.text ? this.text : <slot></slot>}</p>\n {stringPropVisible(this.timestamp, this.showTimestamp) ? (\n <span>{this.timestamp}</span>\n ) : null}\n <slot name=\"link\"></slot>\n {getBoolean(this.closeable, \"closeable\") ? (\n <db-button\n icon=\"cross\"\n variant=\"ghost\"\n size=\"small\"\n id={this.closeButtonId}\n noText={true}\n onClick={(event) => this.handleClose(event)}\n >\n {this.closeButtonText ?? DEFAULT_CLOSE_BUTTON}\n </db-button>\n ) : null}\n </article>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-notification.entry.js","sources":["src/components/notification/notification.tsx"],"sourcesContent":["import { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n stringPropVisible,\n} from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBNotificationProps, DBNotificationState } 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 image - TODO: Add description for slotImage\n * @slot link - TODO: Add description for slotLink\n */\n @Component({\n tag: \"db-notification\",\n})\nexport class DBNotification {\n private _ref!: HTMLDivElement | any;\n @Event() close: EventEmitter<\n Parameters<Required<DBNotificationProps>[\"onClose\"]>[number]\n > | void;\n @Prop() id: DBNotificationProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBNotificationProps[\"className\"];\n @Prop() ariaLive: DBNotificationProps[\"ariaLive\"];\n @Prop() semantic: DBNotificationProps[\"semantic\"];\n @Prop() variant: DBNotificationProps[\"variant\"];\n @Prop() showIcon: DBNotificationProps[\"showIcon\"];\n @Prop() icon: DBNotificationProps[\"icon\"];\n @Prop() linkVariant: DBNotificationProps[\"linkVariant\"];\n @Prop() headline: DBNotificationProps[\"headline\"];\n @Prop() showHeadline: DBNotificationProps[\"showHeadline\"];\n @Prop() text: DBNotificationProps[\"text\"];\n @Prop() timestamp: DBNotificationProps[\"timestamp\"];\n @Prop() showTimestamp: DBNotificationProps[\"showTimestamp\"];\n @Prop() closeable: DBNotificationProps[\"closeable\"];\n @Prop() closeButtonId: DBNotificationProps[\"closeButtonId\"];\n @Prop() closeButtonText: DBNotificationProps[\"closeButtonText\"];\n\n handleClose(event?: ClickEvent<HTMLButtonElement> | void) {\n if (!event) return;\n event.stopPropagation();\n if (this.close) {\n this.close.emit(event);\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: 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-notification\");\n }\n\n render() {\n return (\n <article\n class={cls(\"db-notification\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n aria-live={this.ariaLive}\n data-semantic={this.semantic}\n data-variant={this.variant}\n data-icon={getBoolean(this.showIcon) !== false ? this.icon : undefined}\n data-show-icon={getBooleanAsString(this.showIcon)}\n data-link-variant={this.linkVariant}\n >\n <slot name=\"image\"></slot>\n {stringPropVisible(this.headline, this.showHeadline) ? (\n <header>{this.headline}</header>\n ) : null}\n <p>{this.text ? this.text : <slot></slot>}</p>\n {stringPropVisible(this.timestamp, this.showTimestamp) ? (\n <span>{this.timestamp}</span>\n ) : null}\n <slot name=\"link\"></slot>\n {getBoolean(this.closeable, \"closeable\") ? (\n <db-button\n icon=\"cross\"\n variant=\"ghost\"\n size=\"small\"\n id={this.closeButtonId}\n noText={true}\n onClick={(event) => this.handleClose(event)}\n >\n {this.closeButtonText ?? DEFAULT_CLOSE_BUTTON}\n </db-button>\n ) : null}\n </article>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,16 +1,24 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-C6WmMqtR.js';
2
- import { u as uuid, e as getBoolean, k as getHideProp, c as cls } from './index-DhKljLRG.js';
2
+ import { u as uuid, e as getBoolean, k as getHideProp, c as cls, d as delay } from './index-DhKljLRG.js';
3
+ import { b as addResetEventListener } from './form-components-DmI6JmyJ.js';
3
4
 
4
5
  const DBRadio = class {
5
6
  constructor(hostRef) {
6
7
  registerInstance(this, hostRef);
8
+ this.input = createEvent(this, "input");
7
9
  this.change = createEvent(this, "change");
8
10
  this.blur = createEvent(this, "blur");
9
11
  this.focus = createEvent(this, "focus");
10
12
  this.initialized = false;
11
13
  this._id = undefined;
14
+ this.abortController = undefined;
12
15
  }
13
- handleChange(event) {
16
+ handleInput(event, reset) {
17
+ if (this.input) {
18
+ this.input.emit(event);
19
+ }
20
+ }
21
+ handleChange(event, reset) {
14
22
  if (this.change) {
15
23
  this.change.emit(event);
16
24
  }
@@ -65,21 +73,48 @@ const DBRadio = class {
65
73
  watch0() {
66
74
  this.watch0Fn();
67
75
  }
76
+ watch1Fn() {
77
+ if (this._ref) {
78
+ let controller = this.abortController;
79
+ if (!controller) {
80
+ controller = new AbortController();
81
+ this.abortController = controller;
82
+ }
83
+ addResetEventListener(this._ref, (event) => {
84
+ void delay(() => {
85
+ const resetChecked = this.checked
86
+ ? this.checked
87
+ : this._ref.checked;
88
+ const valueEvent = Object.assign(Object.assign({}, event), { target: Object.assign(Object.assign({}, event.target), { value: "", checked: resetChecked }) });
89
+ this.handleChange(valueEvent, true);
90
+ this.handleInput(valueEvent, true);
91
+ }, 1);
92
+ }, controller.signal);
93
+ }
94
+ }
95
+ watch1() {
96
+ this.watch1Fn();
97
+ }
68
98
  componentDidLoad() {
69
99
  var _a;
70
100
  this.enableAttributePassing(this._ref, "db-radio");
71
101
  this.initialized = true;
72
102
  this._id = (_a = this.id) !== null && _a !== void 0 ? _a : `radio-${uuid()}`;
73
103
  this.watch0Fn();
104
+ this.watch1Fn();
105
+ }
106
+ disconnectedCallback() {
107
+ var _a;
108
+ (_a = this.abortController) === null || _a === void 0 ? void 0 : _a.abort();
74
109
  }
75
110
  render() {
76
- return (h("label", { key: '48ef890634115e003796b0721e66c1eedf07e8b2', class: cls("db-radio", this.className), "data-size": this.size, "data-hide-label": getHideProp(this.showLabel), "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), htmlFor: this._id }, h("input", { key: '93ef1731fc978cb7ceac5fe555f3383224f18b64', type: "radio", "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, ref: (el) => {
111
+ return (h("label", { key: '2d573f1bd633fdedf2fde15c11d52cfa8a70b3ef', class: cls("db-radio", this.className), "data-size": this.size, "data-hide-label": getHideProp(this.showLabel), "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), htmlFor: this._id }, h("input", { key: 'dd0ae78f833d0cd170824fd38aef50797529557a', type: "radio", "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, ref: (el) => {
77
112
  this._ref = el;
78
- }, id: this._id, name: this.name, checked: getBoolean(this.checked, "checked"), disabled: getBoolean(this.disabled, "disabled"), value: this.value, required: getBoolean(this.required, "required"), onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event) }), this.label ? this.label : h("slot", null)));
113
+ }, id: this._id, name: this.name, checked: getBoolean(this.checked, "checked"), disabled: getBoolean(this.disabled, "disabled"), value: this.value, required: getBoolean(this.required, "required"), onInput: (event) => this.handleInput(event), onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event) }), this.label ? this.label : h("slot", null)));
79
114
  }
80
115
  static get watchers() { return {
81
116
  "initialized": ["watch0"],
82
- "_ref": ["watch0"],
117
+ "_ref": ["watch0", "watch1"],
83
118
  "checked": ["watch0"]
84
119
  }; }
85
120
  };