@db-ux/wc-core-components 2.0.5 → 2.0.6

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 (161) hide show
  1. package/dist/cjs/db-button.cjs.entry.js +2 -1
  2. package/dist/cjs/db-button.cjs.entry.js.map +1 -1
  3. package/dist/cjs/db-button.entry.cjs.js.map +1 -1
  4. package/dist/cjs/db-card.cjs.entry.js +3 -2
  5. package/dist/cjs/db-card.cjs.entry.js.map +1 -1
  6. package/dist/cjs/db-card.entry.cjs.js.map +1 -1
  7. package/dist/cjs/db-checkbox.cjs.entry.js +5 -2
  8. package/dist/cjs/db-checkbox.cjs.entry.js.map +1 -1
  9. package/dist/cjs/db-checkbox.entry.cjs.js.map +1 -1
  10. package/dist/cjs/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.cjs.js.map +1 -1
  11. package/dist/cjs/db-custom-select-dropdown_6.cjs.entry.js +9 -4
  12. package/dist/cjs/db-custom-select-dropdown_6.cjs.entry.js.map +1 -1
  13. package/dist/cjs/db-link.cjs.entry.js +2 -1
  14. package/dist/cjs/db-link.cjs.entry.js.map +1 -1
  15. package/dist/cjs/db-link.entry.cjs.js.map +1 -1
  16. package/dist/cjs/db-navigation-item.cjs.entry.js +2 -1
  17. package/dist/cjs/db-navigation-item.cjs.entry.js.map +1 -1
  18. package/dist/cjs/db-navigation-item.entry.cjs.js.map +1 -1
  19. package/dist/cjs/db-notification.cjs.entry.js +3 -2
  20. package/dist/cjs/db-notification.cjs.entry.js.map +1 -1
  21. package/dist/cjs/db-notification.entry.cjs.js.map +1 -1
  22. package/dist/cjs/db-radio.cjs.entry.js +4 -1
  23. package/dist/cjs/db-radio.cjs.entry.js.map +1 -1
  24. package/dist/cjs/db-radio.entry.cjs.js.map +1 -1
  25. package/dist/cjs/db-select.cjs.entry.js +8 -3
  26. package/dist/cjs/db-select.cjs.entry.js.map +1 -1
  27. package/dist/cjs/db-select.entry.cjs.js.map +1 -1
  28. package/dist/cjs/db-switch.cjs.entry.js +4 -1
  29. package/dist/cjs/db-switch.cjs.entry.js.map +1 -1
  30. package/dist/cjs/db-switch.entry.cjs.js.map +1 -1
  31. package/dist/cjs/db-tab-item.db-tab-list.db-tab-panel.entry.cjs.js.map +1 -1
  32. package/dist/cjs/db-tab-item_3.cjs.entry.js +3 -2
  33. package/dist/cjs/db-tab-item_3.cjs.entry.js.map +1 -1
  34. package/dist/cjs/db-tabs.cjs.entry.js +3 -2
  35. package/dist/cjs/db-tabs.cjs.entry.js.map +1 -1
  36. package/dist/cjs/db-tabs.entry.cjs.js.map +1 -1
  37. package/dist/cjs/db-textarea.cjs.entry.js +6 -2
  38. package/dist/cjs/db-textarea.cjs.entry.js.map +1 -1
  39. package/dist/cjs/db-textarea.entry.cjs.js.map +1 -1
  40. package/dist/collection/components/button/button.js +2 -1
  41. package/dist/collection/components/button/button.js.map +1 -1
  42. package/dist/collection/components/card/card.js +3 -2
  43. package/dist/collection/components/card/card.js.map +1 -1
  44. package/dist/collection/components/checkbox/checkbox.js +5 -2
  45. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  46. package/dist/collection/components/input/input.js +6 -2
  47. package/dist/collection/components/input/input.js.map +1 -1
  48. package/dist/collection/components/link/link.js +2 -1
  49. package/dist/collection/components/link/link.js.map +1 -1
  50. package/dist/collection/components/navigation-item/navigation-item.js +2 -1
  51. package/dist/collection/components/navigation-item/navigation-item.js.map +1 -1
  52. package/dist/collection/components/notification/notification.js +3 -2
  53. package/dist/collection/components/notification/notification.js.map +1 -1
  54. package/dist/collection/components/radio/radio.js +4 -1
  55. package/dist/collection/components/radio/radio.js.map +1 -1
  56. package/dist/collection/components/select/select.js +8 -3
  57. package/dist/collection/components/select/select.js.map +1 -1
  58. package/dist/collection/components/switch/switch.js +4 -1
  59. package/dist/collection/components/switch/switch.js.map +1 -1
  60. package/dist/collection/components/tab-item/tab-item.js +3 -2
  61. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  62. package/dist/collection/components/tabs/tabs.js +3 -2
  63. package/dist/collection/components/tabs/tabs.js.map +1 -1
  64. package/dist/collection/components/tag/tag.js +3 -2
  65. package/dist/collection/components/tag/tag.js.map +1 -1
  66. package/dist/collection/components/textarea/textarea.js +6 -2
  67. package/dist/collection/components/textarea/textarea.js.map +1 -1
  68. package/dist/db-ux/db-button.entry.esm.js.map +1 -1
  69. package/dist/db-ux/db-card.entry.esm.js.map +1 -1
  70. package/dist/db-ux/db-checkbox.entry.esm.js.map +1 -1
  71. package/dist/db-ux/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.esm.js.map +1 -1
  72. package/dist/db-ux/db-link.entry.esm.js.map +1 -1
  73. package/dist/db-ux/db-navigation-item.entry.esm.js.map +1 -1
  74. package/dist/db-ux/db-notification.entry.esm.js.map +1 -1
  75. package/dist/db-ux/db-radio.entry.esm.js.map +1 -1
  76. package/dist/db-ux/db-select.entry.esm.js.map +1 -1
  77. package/dist/db-ux/db-switch.entry.esm.js.map +1 -1
  78. package/dist/db-ux/db-tab-item.db-tab-list.db-tab-panel.entry.esm.js.map +1 -1
  79. package/dist/db-ux/db-tabs.entry.esm.js.map +1 -1
  80. package/dist/db-ux/db-textarea.entry.esm.js.map +1 -1
  81. package/dist/db-ux/db-ux.esm.js +1 -1
  82. package/dist/db-ux/p-0db532bd.entry.js +2 -0
  83. package/dist/db-ux/p-0db532bd.entry.js.map +1 -0
  84. package/dist/db-ux/p-45e619a9.entry.js +2 -0
  85. package/dist/db-ux/p-45e619a9.entry.js.map +1 -0
  86. package/dist/db-ux/p-5d4c828f.entry.js +2 -0
  87. package/dist/db-ux/p-5d4c828f.entry.js.map +1 -0
  88. package/dist/db-ux/p-7a4ca08d.entry.js +2 -0
  89. package/dist/db-ux/p-7a4ca08d.entry.js.map +1 -0
  90. package/dist/db-ux/p-8ac177b3.entry.js +2 -0
  91. package/dist/db-ux/p-8ac177b3.entry.js.map +1 -0
  92. package/dist/db-ux/p-8f733f5a.entry.js +2 -0
  93. package/dist/db-ux/p-8f733f5a.entry.js.map +1 -0
  94. package/dist/db-ux/p-9ee62815.entry.js +2 -0
  95. package/dist/db-ux/p-9ee62815.entry.js.map +1 -0
  96. package/dist/db-ux/p-a986a721.entry.js +2 -0
  97. package/dist/db-ux/p-a986a721.entry.js.map +1 -0
  98. package/dist/db-ux/p-b34639cd.entry.js +2 -0
  99. package/dist/db-ux/p-b34639cd.entry.js.map +1 -0
  100. package/dist/db-ux/p-c0709274.entry.js +2 -0
  101. package/dist/db-ux/p-c0709274.entry.js.map +1 -0
  102. package/dist/db-ux/p-cf1e90bc.entry.js +2 -0
  103. package/dist/db-ux/p-cf1e90bc.entry.js.map +1 -0
  104. package/dist/db-ux/{p-6b552695.entry.js → p-da4bbdb6.entry.js} +2 -2
  105. package/dist/db-ux/p-da4bbdb6.entry.js.map +1 -0
  106. package/dist/db-ux/p-fd45d553.entry.js +2 -0
  107. package/dist/db-ux/p-fd45d553.entry.js.map +1 -0
  108. package/dist/esm/db-button.entry.js +2 -1
  109. package/dist/esm/db-button.entry.js.map +1 -1
  110. package/dist/esm/db-card.entry.js +3 -2
  111. package/dist/esm/db-card.entry.js.map +1 -1
  112. package/dist/esm/db-checkbox.entry.js +5 -2
  113. package/dist/esm/db-checkbox.entry.js.map +1 -1
  114. package/dist/esm/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.js.map +1 -1
  115. package/dist/esm/db-custom-select-dropdown_6.entry.js +9 -4
  116. package/dist/esm/db-custom-select-dropdown_6.entry.js.map +1 -1
  117. package/dist/esm/db-link.entry.js +2 -1
  118. package/dist/esm/db-link.entry.js.map +1 -1
  119. package/dist/esm/db-navigation-item.entry.js +2 -1
  120. package/dist/esm/db-navigation-item.entry.js.map +1 -1
  121. package/dist/esm/db-notification.entry.js +3 -2
  122. package/dist/esm/db-notification.entry.js.map +1 -1
  123. package/dist/esm/db-radio.entry.js +4 -1
  124. package/dist/esm/db-radio.entry.js.map +1 -1
  125. package/dist/esm/db-select.entry.js +8 -3
  126. package/dist/esm/db-select.entry.js.map +1 -1
  127. package/dist/esm/db-switch.entry.js +4 -1
  128. package/dist/esm/db-switch.entry.js.map +1 -1
  129. package/dist/esm/db-tab-item.db-tab-list.db-tab-panel.entry.js.map +1 -1
  130. package/dist/esm/db-tab-item_3.entry.js +3 -2
  131. package/dist/esm/db-tab-item_3.entry.js.map +1 -1
  132. package/dist/esm/db-tabs.entry.js +3 -2
  133. package/dist/esm/db-tabs.entry.js.map +1 -1
  134. package/dist/esm/db-textarea.entry.js +6 -2
  135. package/dist/esm/db-textarea.entry.js.map +1 -1
  136. package/package.json +3 -3
  137. package/dist/db-ux/p-07e776a1.entry.js +0 -2
  138. package/dist/db-ux/p-07e776a1.entry.js.map +0 -1
  139. package/dist/db-ux/p-139341df.entry.js +0 -2
  140. package/dist/db-ux/p-139341df.entry.js.map +0 -1
  141. package/dist/db-ux/p-24f3fa4c.entry.js +0 -2
  142. package/dist/db-ux/p-24f3fa4c.entry.js.map +0 -1
  143. package/dist/db-ux/p-37051cb8.entry.js +0 -2
  144. package/dist/db-ux/p-37051cb8.entry.js.map +0 -1
  145. package/dist/db-ux/p-507df3b7.entry.js +0 -2
  146. package/dist/db-ux/p-507df3b7.entry.js.map +0 -1
  147. package/dist/db-ux/p-6b4c9048.entry.js +0 -2
  148. package/dist/db-ux/p-6b4c9048.entry.js.map +0 -1
  149. package/dist/db-ux/p-6b552695.entry.js.map +0 -1
  150. package/dist/db-ux/p-71cfce31.entry.js +0 -2
  151. package/dist/db-ux/p-71cfce31.entry.js.map +0 -1
  152. package/dist/db-ux/p-851abc30.entry.js +0 -2
  153. package/dist/db-ux/p-851abc30.entry.js.map +0 -1
  154. package/dist/db-ux/p-99c9ba8c.entry.js +0 -2
  155. package/dist/db-ux/p-99c9ba8c.entry.js.map +0 -1
  156. package/dist/db-ux/p-a4e30290.entry.js +0 -2
  157. package/dist/db-ux/p-a4e30290.entry.js.map +0 -1
  158. package/dist/db-ux/p-abfafad7.entry.js +0 -2
  159. package/dist/db-ux/p-abfafad7.entry.js.map +0 -1
  160. package/dist/db-ux/p-dd227d4b.entry.js +0 -2
  161. package/dist/db-ux/p-dd227d4b.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBSelect","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_placeholderId","_descByIds","_value","initialized","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleClick","event","stopPropagation","click","emit","handleInput","input","handleChange","change","handleBlur","blur","handleFocus","focus","getOptionLabel","option","label","value","toString","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","placeholderId","DEFAULT_PLACEHOLDER_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch1","watch2Fn","watch2","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","variant","getHideProp","showLabel","icon","showIcon","htmlFor","DEFAULT_LABEL","ref","el","getBoolean","disabled","size","autocomplete","multiple","onInput","onClick","onChange","onBlur","onFocus","hidden","options","map","Fragment","optgroupOption","selected","placeholder","messageIcon","semantic","role"],"sources":["src/components/select/select.tsx"],"sourcesContent":["import { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./model\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n ChangeEvent,\n ClickEvent,\n InputEvent,\n InteractionEvent,\n} from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-select\",\n})\nexport class DBSelect {\n private _ref!: HTMLSelectElement | any;\n @Prop() id: DBSelectProps[\"id\"];\n @Prop() invalidMessage: DBSelectProps[\"invalidMessage\"];\n @Prop() message: DBSelectProps[\"message\"];\n @Prop() showMessage: DBSelectProps[\"showMessage\"];\n @Prop() value: DBSelectProps[\"value\"];\n @Prop() validMessage: DBSelectProps[\"validMessage\"];\n @Prop() validation: DBSelectProps[\"validation\"];\n @Prop() required: DBSelectProps[\"required\"];\n @Event() click: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onClick\"]>[number]\n > | void;\n @Event() input: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBSelectProps[\"className\"];\n @Prop() variant: DBSelectProps[\"variant\"];\n @Prop() showLabel: DBSelectProps[\"showLabel\"];\n @Prop() icon: DBSelectProps[\"icon\"];\n @Prop() showIcon: DBSelectProps[\"showIcon\"];\n @Prop() label: DBSelectProps[\"label\"];\n @Prop() disabled: DBSelectProps[\"disabled\"];\n @Prop() name: DBSelectProps[\"name\"];\n @Prop() size: DBSelectProps[\"size\"];\n @Prop() autocomplete: DBSelectProps[\"autocomplete\"];\n @Prop() multiple: DBSelectProps[\"multiple\"];\n @Prop() options: DBSelectProps[\"options\"];\n @Prop() placeholder: DBSelectProps[\"placeholder\"];\n @Prop() messageIcon: DBSelectProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _placeholderId = \"\";\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() initialized = false;\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the select */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n this.required\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = this._placeholderId;\n }\n }\n handleClick(event: ClickEvent<HTMLSelectElement> | any) {\n event.stopPropagation();\n if (this.click) {\n this.click.emit(event);\n }\n }\n handleInput(event: InputEvent<HTMLSelectElement> | any) {\n event.stopPropagation();\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLSelectElement> | any) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLSelectElement> | any) {\n event.stopPropagation();\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLSelectElement> | any) {\n event.stopPropagation();\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getOptionLabel(option: DBSelectOptionType) {\n return option.label ?? option.value?.toString();\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLSelectElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id && this.initialized) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n const placeholderId = this._id + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._placeholderId = placeholderId;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n } else {\n this._descByIds = placeholderId;\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_id\")\n @Watch(\"initialized\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-select\");\n this.initialized = true;\n const mId = this.id ?? `select-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._placeholderId = mId + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-select\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n data-icon={this.icon}\n data-hide-icon={getHideProp(this.showIcon)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <select\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n required={getBoolean(this.required, \"required\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n id={this._id}\n name={this.name}\n size={this.size}\n /* @ts-ignore */\nvalue={this.value ?? this._value}\n autocomplete={this.autocomplete}\n multiple={this.multiple}\n onInput={(event) => this.handleInput(event)}\n onClick={(event) => this.handleClick(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n aria-describedby={this._descByIds}\n >\n <option hidden={true}></option>\n {this.options ? (\n this.options?.map((option) => (\n <Fragment>\n {option.options ? (\n <optgroup label={this.getOptionLabel(option)}>\n {option.options?.map((optgroupOption) => (\n <option\n key={optgroupOption.value.toString()}\n value={optgroupOption.value}\n selected={optgroupOption.selected}\n disabled={optgroupOption.disabled}\n >\n {this.getOptionLabel(optgroupOption)}\n </option>\n ))}\n </optgroup>\n ) : null}\n {!option.options ? (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.selected}\n >\n {this.getOptionLabel(option)}\n </option>\n ) : null}\n </Fragment>\n ))\n ) : (\n <slot></slot>\n )}\n </select>\n <span id={this._placeholderId}>{this.placeholder ?? this.label}</span>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as s,F as a}from"./p-FlgrrUDn.js";import{u as n,c as o}from"./p-TU0pfK1i.js";const l=class{constructor(s){t(this,s);this.indexChange=i(this,"indexChange");this.tabSelect=i(this,"tabSelect");this._id="tabs-"+n();this._name="";this.initialized=false;this.showScrollLeft=false;this.showScrollRight=false;this.scrollContainer=null}convertTabs(){try{if(typeof this.tabs==="string"){return JSON.parse(this.tabs)}return this.tabs}catch(t){console.error(t)}return[]}evaluateScrollButtons(t){const i=t.scrollWidth>t.clientWidth;this.showScrollLeft=i&&t.scrollLeft>1;this.showScrollRight=i&&t.scrollLeft<t.scrollWidth-t.clientWidth}scroll(t){var i;let s=Number(this.arrowScrollDistance)||100;if(t){s*=-1}(i=this.scrollContainer)===null||i===void 0?void 0:i.scrollBy({top:0,left:s,behavior:"smooth"})}initTabList(){if(this._ref){const t=this._ref.querySelector(".db-tab-list");if(t){const i=t.querySelector('[role="tablist"]');if(i){i.setAttribute("aria-orientation",this.orientation||"horizontal");if(this.behavior==="arrows"){this.scrollContainer=i;this.evaluateScrollButtons(i);i.addEventListener("scroll",(()=>{this.evaluateScrollButtons(i)}))}}}}}initTabs(t){if(this._ref){const i=Array.from(this._ref.getElementsByClassName("db-tab-item"));for(const s of i){const a=i.indexOf(s);const n=s.querySelector("label");const o=s.querySelector("input");if(o&&n){if(!o.id){const t=`${this._name}-tab-${a}`;n.setAttribute("for",t);o.setAttribute("aria-controls",`${this._name}-tab-panel-${a}`);o.id=t;o.setAttribute("name",this._name)}if(t){const t=!this.initialSelectedMode||this.initialSelectedMode==="auto";const i=this.initialSelectedIndex==null&&a===0||Number(this.initialSelectedIndex)===a;if(t&&i){o.click()}}}}const s=Array.from(this._ref.querySelectorAll(":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)"));for(const t of s){if(t.id)continue;const i=s.indexOf(t);t.id=`${this._name}-tab-panel-${i}`;t.setAttribute("aria-labelledby",`${this._name}-tab-${i}`)}}}handleChange(t){var i,s;t.stopPropagation();const a=(i=t.target)===null||i===void 0?void 0:i.closest("ul");const n=(s=t.target.closest("db-tab-item"))!==null&&s!==void 0?s:t.target.closest("li");if(a!==null&&n!==null){const t=Array.from(a.childNodes).indexOf(n);if(this.indexChange){this.indexChange.emit(t)}}if(this.tabSelect){this.tabSelect.emit(t)}}enableAttributePassing(t,i){const s=t===null||t===void 0?void 0:t.closest(i);if(t&&s){const i=s.attributes;for(let a=0;a<i.length;a++){const n=i.item(a);if(n&&(n.name.startsWith("data-")||n.name.startsWith("aria-"))){t.setAttribute(n.name,n.value);s.removeAttribute(n.name)}if(n&&n.name==="class"){const i=n.value.includes("hydrated");const a=n.value.replace("hydrated","").trim();const o=t.getAttribute("class");t.setAttribute(n.name,`${o?`${o} `:""}${a}`);if(i){s.setAttribute("class","hydrated")}else{s.removeAttribute(n.name)}}}}}watch0Fn(){if(this._ref&&this.initialized){this.initTabList();this.initTabs(true);const t=this._ref.querySelector(".db-tab-list");if(t){const i=new MutationObserver((t=>{t.forEach((t=>{if(t.removedNodes.length||t.addedNodes.length){this.initTabList();this.initTabs()}}))}));i.observe(t,{childList:true,subtree:true})}this.initialized=false}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-tabs");this._id=this.id||this._id;this._name=`tabs-${this.name||n()}`;this.initialized=true;this.watch0Fn()}render(){var t,i,n,l;return s("div",{key:"3a43afc5262eeb9e97d4d2dcff20477dfaf3f46f",class:o("db-tabs",this.className),ref:t=>{this._ref=t},id:this._id,"data-orientation":this.orientation,"data-scroll-behavior":this.behavior,"data-alignment":(t=this.alignment)!==null&&t!==void 0?t:"start","data-width":(i=this.width)!==null&&i!==void 0?i:"auto",onInput:t=>this.handleChange(t)},this.showScrollLeft?s("db-button",{class:"tabs-scroll-left",variant:"ghost",icon:"chevron_left",type:"button",noText:true,onClick:()=>this.scroll(true)},"Scroll left"):null,this.tabs?s(a,null,s("db-tab-list",null,(n=this.convertTabs())===null||n===void 0?void 0:n.map(((t,i)=>s("db-tab-item",{key:this.name+"tab-item"+i,active:t.active,label:t.label,iconAfter:t.iconAfter,icon:t.icon,noText:t.noText})))),(l=this.convertTabs())===null||l===void 0?void 0:l.map(((t,i)=>s("db-tab-panel",{key:this.name+"tab-panel"+i,content:t.content},t.children)))):null,this.showScrollRight?s("db-button",{class:"tabs-scroll-right",variant:"ghost",icon:"chevron_right",type:"button",noText:true,onClick:()=>this.scroll()},"Scroll right"):null,s("slot",{key:"56a99820a6cb5f4c39fd1e2f2bbeb33aa294ace9"}))}static get watchers(){return{_ref:["watch0"],initialized:["watch0"]}}};export{l as db_tabs};
2
+ //# sourceMappingURL=p-8ac177b3.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBTabs","constructor","hostRef","this","_id","uuid","_name","initialized","showScrollLeft","showScrollRight","scrollContainer","convertTabs","tabs","JSON","parse","error","console","evaluateScrollButtons","tList","needsScroll","scrollWidth","clientWidth","scrollLeft","scroll","left","step","Number","arrowScrollDistance","_a","scrollBy","top","behavior","initTabList","_ref","tabList","querySelector","container","setAttribute","orientation","addEventListener","initTabs","init","tabItems","Array","from","getElementsByClassName","tabItem","index","indexOf","label","input","id","tabId","autoSelect","initialSelectedMode","shouldAutoSelect","initialSelectedIndex","click","tabPanels","querySelectorAll","panel","handleChange","event","stopPropagation","list","target","closest","listItem","_b","indices","childNodes","indexChange","emit","tabSelect","enableAttributePassing","element","customElementSelector","parent","attributes","i","length","attr","item","name","startsWith","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","observer","MutationObserver","mutations","forEach","mutation","removedNodes","addedNodes","observe","childList","subtree","watch0","componentDidLoad","render","h","key","class","cls","className","ref","el","alignment","width","onInput","variant","icon","type","noText","onClick","Fragment","_c","map","tab","active","iconAfter","_d","content","children"],"sources":["src/components/tabs/tabs.tsx"],"sourcesContent":["import { DBSimpleTabProps, DBTabsProps, DBTabsState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBTabList } from \"../tab-list/tab-list\";\nimport { DBTabItem } from \"../tab-item/tab-item\";\nimport { DBTabPanel } from \"../tab-panel/tab-panel\";\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-tabs\",\n})\nexport class DBTabs {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTabsProps[\"id\"];\n @Prop() name: DBTabsProps[\"name\"];\n @Prop() tabs: DBTabsProps[\"tabs\"];\n @Prop() arrowScrollDistance: DBTabsProps[\"arrowScrollDistance\"];\n @Prop() orientation: DBTabsProps[\"orientation\"];\n @Prop() behavior: DBTabsProps[\"behavior\"];\n @Prop() initialSelectedMode: DBTabsProps[\"initialSelectedMode\"];\n @Prop() initialSelectedIndex: DBTabsProps[\"initialSelectedIndex\"];\n @Event() indexChange: EventEmitter<\n Parameters<Required<DBTabsProps>[\"onIndexChange\"]>[number]\n > | void;\n @Event() tabSelect: EventEmitter<\n Parameters<Required<DBTabsProps>[\"onTabSelect\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTabsProps[\"className\"];\n @Prop() alignment: DBTabsProps[\"alignment\"];\n @Prop() width: DBTabsProps[\"width\"];\n @State() _id = \"tabs-\" + uuid();\n @State() _name = \"\";\n @State() initialized = false;\n @State() showScrollLeft = false;\n @State() showScrollRight = false;\n @State() scrollContainer = null;\n\n convertTabs() {\n try {\n if (typeof this.tabs === \"string\") {\n return JSON.parse(this.tabs as string);\n }\n return this.tabs as DBSimpleTabProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n evaluateScrollButtons(tList: Element) {\n const needsScroll = tList.scrollWidth > tList.clientWidth;\n this.showScrollLeft = needsScroll && tList.scrollLeft > 1;\n this.showScrollRight =\n needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth;\n }\n scroll(left?: boolean) {\n let step = Number(this.arrowScrollDistance) || 100;\n if (left) {\n step *= -1;\n }\n this.scrollContainer?.scrollBy({\n top: 0,\n left: step,\n behavior: \"smooth\",\n });\n }\n initTabList() {\n if (this._ref) {\n const tabList = this._ref.querySelector(\".db-tab-list\");\n if (tabList) {\n const container: HTMLElement | null =\n tabList.querySelector('[role=\"tablist\"]');\n if (container) {\n container.setAttribute(\n \"aria-orientation\",\n this.orientation || \"horizontal\"\n );\n if (this.behavior === \"arrows\") {\n this.scrollContainer = container;\n this.evaluateScrollButtons(container);\n container.addEventListener(\"scroll\", () => {\n this.evaluateScrollButtons(container);\n });\n }\n }\n }\n }\n }\n initTabs(init?: boolean) {\n if (this._ref) {\n const tabItems = Array.from<Element>(\n this._ref.getElementsByClassName(\"db-tab-item\")\n );\n for (const tabItem of tabItems) {\n const index: number = tabItems.indexOf(tabItem);\n const label = tabItem.querySelector(\"label\");\n const input = tabItem.querySelector(\"input\");\n if (input && label) {\n if (!input.id) {\n const tabId = `${this._name}-tab-${index}`;\n label.setAttribute(\"for\", tabId);\n input.setAttribute(\n \"aria-controls\",\n `${this._name}-tab-panel-${index}`\n );\n input.id = tabId;\n input.setAttribute(\"name\", this._name);\n }\n if (init) {\n // Auto select\n const autoSelect =\n !this.initialSelectedMode || this.initialSelectedMode === \"auto\";\n const shouldAutoSelect =\n (this.initialSelectedIndex == null && index === 0) ||\n Number(this.initialSelectedIndex) === index;\n if (autoSelect && shouldAutoSelect) {\n input.click();\n }\n }\n }\n }\n const tabPanels = Array.from<Element>(\n this._ref.querySelectorAll(\n \":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)\"\n )\n );\n for (const panel of tabPanels) {\n if (panel.id) continue;\n const index: number = tabPanels.indexOf(panel);\n panel.id = `${this._name}-tab-panel-${index}`;\n panel.setAttribute(\"aria-labelledby\", `${this._name}-tab-${index}`);\n }\n }\n }\n handleChange(event: any) {\n event.stopPropagation();\n const list = event.target?.closest(\"ul\");\n const listItem =\n // db-tab-item for angular and stencil wrapping elements\n event.target.closest(\"db-tab-item\") ?? event.target.closest(\"li\");\n if (list !== null && listItem !== null) {\n const indices = Array.from(list.childNodes).indexOf(listItem);\n if (this.indexChange) {\n this.indexChange.emit(indices);\n }\n }\n if (this.tabSelect) {\n this.tabSelect.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 watch0Fn() {\n if (this._ref && this.initialized) {\n this.initTabList();\n this.initTabs(true);\n const tabList = this._ref.querySelector(\".db-tab-list\");\n if (tabList) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.removedNodes.length || mutation.addedNodes.length) {\n this.initTabList();\n this.initTabs();\n }\n });\n });\n observer.observe(tabList, {\n childList: true,\n subtree: true,\n });\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tabs\");\n this._id = this.id || this._id;\n this._name = `tabs-${this.name || uuid()}`;\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tabs\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-orientation={this.orientation}\n data-scroll-behavior={this.behavior}\n data-alignment={this.alignment ?? \"start\"}\n data-width={this.width ?? \"auto\"}\n onInput={(event) => this.handleChange(event)}\n >\n {this.showScrollLeft ? (\n <db-button\n class=\"tabs-scroll-left\"\n variant=\"ghost\"\n icon=\"chevron_left\"\n type=\"button\"\n noText={true}\n onClick={() => this.scroll(true)}\n >\n Scroll left\n </db-button>\n ) : null}\n {this.tabs ? (\n <Fragment>\n <db-tab-list>\n {this.convertTabs()?.map((tab, index) => (\n <db-tab-item\n key={this.name + \"tab-item\" + index}\n active={tab.active}\n label={tab.label}\n iconAfter={tab.iconAfter}\n icon={tab.icon}\n noText={tab.noText}\n ></db-tab-item>\n ))}\n </db-tab-list>\n {this.convertTabs()?.map((tab, index) => (\n <db-tab-panel\n key={this.name + \"tab-panel\" + index}\n content={tab.content}\n >\n {tab.children}\n </db-tab-panel>\n ))}\n </Fragment>\n ) : null}\n {this.showScrollRight ? (\n <db-button\n class=\"tabs-scroll-right\"\n variant=\"ghost\"\n icon=\"chevron_right\"\n type=\"button\"\n noText={true}\n onClick={() => this.scroll()}\n >\n Scroll right\n </db-button>\n ) : null}\n <slot></slot>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as s,h as i}from"./p-FlgrrUDn.js";import{l as a,g as e,c as r}from"./p-TU0pfK1i.js";const h=class{constructor(i){t(this,i);this.click=s(this,"click")}handleClick(t){t.stopPropagation();if(this.click){this.click.emit(t)}}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const r=t.getAttribute("class");t.setAttribute(e.name,`${r?`${r} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-link")}render(){var t;return i("a",{key:"c54d234074fcfedf2516fdc372335bc3edde8ba7",class:r("db-link",this.className),ref:t=>{this._ref=t},id:this.id,href:this.href,target:this.target,rel:this.rel,role:this.role,hrefLang:this.hreflang,"aria-disabled":e(this.disabled),tabIndex:this.disabled?-1:0,"aria-selected":e(this.selected),"aria-label":this.label,"aria-current":this.current,"data-size":this.size,"data-hide-icon-after":a((t=this.showIcon)!==null&&t!==void 0?t:true),"data-variant":this.variant,"data-content":this.content||"internal",onClick:t=>this.handleClick(t)},this.text?this.text:i("slot",null))}};export{h as db_link};
2
+ //# sourceMappingURL=p-8f733f5a.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBLink","handleClick","event","stopPropagation","this","click","emit","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","render","h","key","class","cls","className","ref","el","id","href","target","rel","role","hrefLang","hreflang","getBooleanAsString","disabled","tabIndex","selected","label","current","size","getHideProp","_a","showIcon","variant","content","onClick","text"],"sources":["src/components/link/link.tsx"],"sourcesContent":["import { DBLinkProps, DBLinkState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/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\n */\n @Component({\n tag: \"db-link\",\n})\nexport class DBLink {\n private _ref!: HTMLAnchorElement | any;\n @Event() click: EventEmitter<\n Parameters<Required<DBLinkProps>[\"onClick\"]>[number]\n > | void;\n @Prop() id: DBLinkProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBLinkProps[\"className\"];\n @Prop() href: DBLinkProps[\"href\"];\n @Prop() target: DBLinkProps[\"target\"];\n @Prop() rel: DBLinkProps[\"rel\"];\n @Prop() role: DBLinkProps[\"role\"];\n @Prop() hreflang: DBLinkProps[\"hreflang\"];\n @Prop() disabled: DBLinkProps[\"disabled\"];\n @Prop() selected: DBLinkProps[\"selected\"];\n @Prop() label: DBLinkProps[\"label\"];\n @Prop() current: DBLinkProps[\"current\"];\n @Prop() size: DBLinkProps[\"size\"];\n @Prop() showIcon: DBLinkProps[\"showIcon\"];\n @Prop() variant: DBLinkProps[\"variant\"];\n @Prop() content: DBLinkProps[\"content\"];\n @Prop() text: DBLinkProps[\"text\"];\n\n handleClick(event: ClickEvent<HTMLAnchorElement>) {\n event.stopPropagation();\n if (this.click) {\n this.click.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-link\");\n }\n\n render() {\n return (\n <a\n class={cls(\"db-link\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n href={this.href}\n target={this.target}\n rel={this.rel}\n role={this.role}\n hrefLang={this.hreflang}\n aria-disabled={getBooleanAsString(this.disabled)}\n tabIndex={this.disabled ? -1 : 0}\n aria-selected={getBooleanAsString(this.selected)}\n aria-label={this.label}\n aria-current={this.current}\n data-size={this.size}\n data-hide-icon-after={getHideProp(this.showIcon ?? true)}\n data-variant={this.variant}\n data-content={this.content || \"internal\"}\n onClick={(event) => this.handleClick(event)}\n >\n {this.text ? this.text : <slot></slot>}\n </a>\n );\n }\n}\n"],"mappings":"0GAqBaA,EAAM,M,oDAsBjB,WAAAC,CAAYC,GACVA,EAAMC,kBACN,GAAIC,KAAKC,MAAO,CACdD,KAAKC,MAAMC,KAAKJ,E,EASZ,sBAAAK,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,gBAAAW,GACExB,KAAKG,uBAAuBH,KAAKyB,KAAM,U,CAGzC,MAAAC,G,MACE,OACEC,EACE,KAAAC,IAAA,2CAAAC,MAAOC,EAAI,UAAW9B,KAAK+B,WAC3BC,IAAMC,IACJjC,KAAKyB,KAAOQ,CAAE,EAEhBC,GAAIlC,KAAKkC,GACTC,KAAMnC,KAAKmC,KACXC,OAAQpC,KAAKoC,OACbC,IAAKrC,KAAKqC,IACVC,KAAMtC,KAAKsC,KACXC,SAAUvC,KAAKwC,SACA,gBAAAC,EAAmBzC,KAAK0C,UACvCC,SAAU3C,KAAK0C,UAAW,EAAK,EAChB,gBAAAD,EAAmBzC,KAAK4C,UAC3B,aAAA5C,KAAK6C,MACH,eAAA7C,KAAK8C,QACR,YAAA9C,KAAK+C,KACM,uBAAAC,GAAYC,EAAAjD,KAAKkD,YAAQ,MAAAD,SAAA,EAAAA,EAAI,MACrC,eAAAjD,KAAKmD,QACL,eAAAnD,KAAKoD,SAAW,WAC9BC,QAAUvD,GAAUE,KAAKH,YAAYC,IAEpCE,KAAKsD,KAAOtD,KAAKsD,KAAO3B,EAAa,a","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as s,c as t,h as i}from"./p-FlgrrUDn.js";import{s as a}from"./p-DC9V_oNU.js";import{j as e,s as n,l as o,c}from"./p-TU0pfK1i.js";const l=class{constructor(i){s(this,i);this.close=t(this,"close")}handleClose(s){s.stopPropagation();if(this.close){this.close.emit(s)}}enableAttributePassing(s,t){const i=s===null||s===void 0?void 0:s.closest(t);if(s&&i){const t=i.attributes;for(let a=0;a<t.length;a++){const e=t.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){s.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const t=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const n=s.getAttribute("class");s.setAttribute(e.name,`${n?`${n} `:""}${a}`);if(t){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-notification")}render(){var s;return i("article",{key:"c3a9ffcbcbb1b4565916b8cde6e21a1eb51a11c4",class:c("db-notification",this.className),ref:s=>{this._ref=s},id:this.id,"aria-live":this.ariaLive,"data-semantic":this.semantic,"data-variant":this.variant,"data-icon":this.icon,"data-hide-icon":o(this.showIcon),"data-link-variant":this.linkVariant},i("slot",{key:"88b949c8458db7ec2d313ea0c27c4f296d23cb0a",name:"image"}),n(this.headline,this.showHeadline)?i("header",null,this.headline):null,i("p",{key:"50a4b06908d9505c8c15a80b64ad651cb98d203e"},this.text?this.text:i("slot",null)),n(this.timestamp,this.showTimestamp)?i("span",null,this.timestamp):null,i("slot",{key:"e6fa5ef24470f2a5686f52ef4adb452f251ceda4",name:"link"}),e(this.closeable,"closeable")?i("db-button",{icon:"cross",variant:"ghost",size:"small",id:this.closeButtonId,noText:true,onClick:s=>this.handleClose(s)},(s=this.closeButtonText)!==null&&s!==void 0?s:a):null)}};export{l as db_notification};
2
+ //# sourceMappingURL=p-9ee62815.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBNotification","handleClose","event","stopPropagation","this","close","emit","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","render","h","key","class","cls","className","ref","el","id","ariaLive","semantic","variant","icon","getHideProp","showIcon","linkVariant","stringPropVisible","headline","showHeadline","text","timestamp","showTimestamp","getBoolean","closeable","size","closeButtonId","noText","onClick","_a","closeButtonText","DEFAULT_CLOSE_BUTTON"],"sources":["src/components/notification/notification.tsx"],"sourcesContent":["import { DBNotificationProps, DBNotificationState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { cls, getBoolean, getHideProp, stringPropVisible } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/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> | any) {\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-hide-icon={getHideProp(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"],"mappings":"gJAwBaA,EAAc,M,oDAsBzB,WAAAC,CAAYC,GACVA,EAAMC,kBACN,GAAIC,KAAKC,MAAO,CACdD,KAAKC,MAAMC,KAAKJ,E,EASZ,sBAAAK,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,gBAAAW,GACExB,KAAKG,uBAAuBH,KAAKyB,KAAM,kB,CAGzC,MAAAC,G,MACE,OACEC,EACE,WAAAC,IAAA,2CAAAC,MAAOC,EAAI,kBAAmB9B,KAAK+B,WACnCC,IAAMC,IACJjC,KAAKyB,KAAOQ,CAAE,EAEhBC,GAAIlC,KAAKkC,GAAE,YACAlC,KAAKmC,SAAQ,gBACTnC,KAAKoC,SACN,eAAApC,KAAKqC,QACR,YAAArC,KAAKsC,KAAI,iBACJC,EAAYvC,KAAKwC,UACd,oBAAAxC,KAAKyC,aAExBd,EAAM,QAAAC,IAAA,2CAAAf,KAAK,UACV6B,EAAkB1C,KAAK2C,SAAU3C,KAAK4C,cACrCjB,EAAA,cAAS3B,KAAK2C,UACZ,KACJhB,EAAA,KAAAC,IAAA,4CAAI5B,KAAK6C,KAAO7C,KAAK6C,KAAOlB,EAAA,cAC3Be,EAAkB1C,KAAK8C,UAAW9C,KAAK+C,eACtCpB,EAAA,YAAO3B,KAAK8C,WACV,KACJnB,EAAM,QAAAC,IAAA,2CAAAf,KAAK,SACVmC,EAAWhD,KAAKiD,UAAW,aAC1BtB,EAAA,aACEW,KAAK,QACLD,QAAQ,QACRa,KAAK,QACLhB,GAAIlC,KAAKmD,cACTC,OAAQ,KACRC,QAAUvD,GAAUE,KAAKH,YAAYC,KAEpCwD,EAAAtD,KAAKuD,mBAAe,MAAAD,SAAA,EAAAA,EAAIE,GAEzB,K","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as s}from"./p-FlgrrUDn.js";import{u as a,j as h,l as e,c as d}from"./p-TU0pfK1i.js";const r=class{constructor(s){i(this,s);this.change=t(this,"change");this.blur=t(this,"blur");this.focus=t(this,"focus");this.initialized=false;this._id=undefined}handleChange(i){i.stopPropagation();if(this.change){this.change.emit(i)}}handleBlur(i){i.stopPropagation();if(this.blur){this.blur.emit(i)}}handleFocus(i){i.stopPropagation();if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let a=0;a<t.length;a++){const h=t.item(a);if(h&&(h.name.startsWith("data-")||h.name.startsWith("aria-"))){i.setAttribute(h.name,h.value);s.removeAttribute(h.name)}if(h&&h.name==="class"){const t=h.value.includes("hydrated");const a=h.value.replace("hydrated","").trim();const e=i.getAttribute("class");i.setAttribute(h.name,`${e?`${e} `:""}${a}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(h.name)}}}}}watch0Fn(){if(this.checked&&this.initialized&&this._ref){this._ref.checked=true}}watch0(){this.watch0Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-radio");this.initialized=true;this._id=(i=this.id)!==null&&i!==void 0?i:`radio-${a()}`;this.watch0Fn()}render(){return s("label",{key:"54f6104923ffbb7d0443be431634ae8803f2f893",class:d("db-radio",this.className),"data-size":this.size,"data-hide-label":e(this.showLabel),htmlFor:this._id},s("input",{key:"4bd48549054a70f69330e91e69111adef353f75a",type:"radio","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,name:this.name,checked:h(this.checked,"checked"),disabled:h(this.disabled,"disabled"),"aria-describedby":this.describedbyid,value:this.value,required:h(this.required,"required"),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i)}),this.label?this.label:s("slot",null))}static get watchers(){return{initialized:["watch0"],_ref:["watch0"],checked:["watch0"]}}};export{r as db_radio};
2
+ //# sourceMappingURL=p-a986a721.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBRadio","constructor","hostRef","this","initialized","_id","undefined","handleChange","event","stopPropagation","change","emit","handleBlur","blur","handleFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","checked","_ref","watch0","componentDidLoad","_a","id","uuid","render","h","key","class","cls","className","size","getHideProp","showLabel","htmlFor","type","validation","ref","el","getBoolean","disabled","describedbyid","required","onChange","onBlur","onFocus","label"],"sources":["src/components/radio/radio.tsx"],"sourcesContent":["import { DBRadioProps, DBRadioState } from \"./model\";\nimport { cls, getBoolean, getHideProp, uuid } from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\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-radio\",\n})\nexport class DBRadio {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBRadioProps[\"id\"];\n @Prop() checked: DBRadioProps[\"checked\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBRadioProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBRadioProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBRadioProps>[\"onFocus\"]>[number]\n > | void;\n @Prop() size: DBRadioProps[\"size\"];\n @Prop() showLabel: DBRadioProps[\"showLabel\"];\n @Prop({attribute: \"classname\"}) className: DBRadioProps[\"className\"];\n @Prop() validation: DBRadioProps[\"validation\"];\n @Prop() name: DBRadioProps[\"name\"];\n @Prop() disabled: DBRadioProps[\"disabled\"];\n @Prop() describedbyid: DBRadioProps[\"describedbyid\"];\n @Prop() value: DBRadioProps[\"value\"];\n @Prop() required: DBRadioProps[\"required\"];\n @Prop() label: DBRadioProps[\"label\"];\n @State() initialized = false;\n @State() _id = undefined;\n\n handleChange(event: ChangeEvent<HTMLInputElement> | any) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n event.stopPropagation();\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n event.stopPropagation();\n if (this.focus) {\n this.focus.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: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.checked && this.initialized && this._ref) {\n this._ref.checked = true;\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n @Watch(\"checked\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-radio\");\n this.initialized = true;\n this._id = this.id ?? `radio-${uuid()}`;\n this.watch0Fn();\n }\n\n render() {\n return (\n <label\n class={cls(\"db-radio\", this.className)}\n data-size={this.size}\n data-hide-label={getHideProp(this.showLabel)}\n htmlFor={this._id}\n >\n <input\n type=\"radio\"\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n checked={getBoolean(this.checked, \"checked\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n aria-describedby={this.describedbyid}\n value={this.value}\n required={getBoolean(this.required, \"required\")}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n );\n }\n}\n"],"mappings":"iHA2BaA,EAAO,MAHnB,WAAAC,CAAAC,G,2FA0BUC,KAAWC,YAAG,MACdD,KAAGE,IAAGC,SA+GhB,CA7GC,YAAAC,CAAaC,GACXA,EAAMC,kBACN,GAAIN,KAAKO,OAAQ,CACfP,KAAKO,OAAOC,KAAKH,E,EAGrB,UAAAI,CAAWJ,GACTA,EAAMC,kBACN,GAAIN,KAAKU,KAAM,CACbV,KAAKU,KAAKF,KAAKH,E,EAGnB,WAAAM,CAAYN,GACVA,EAAMC,kBACN,GAAIN,KAAKY,MAAO,CACdZ,KAAKY,MAAMJ,KAAKH,E,EASZ,sBAAAQ,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,QAAAW,GACE,GAAIlC,KAAKmC,SAAWnC,KAAKC,aAAeD,KAAKoC,KAAM,CACjDpC,KAAKoC,KAAKD,QAAU,I,EAOxB,MAAAE,GACErC,KAAKkC,U,CAGP,gBAAAI,G,MACEtC,KAAKa,uBAAuBb,KAAKoC,KAAM,YACvCpC,KAAKC,YAAc,KACnBD,KAAKE,KAAMqC,EAAAvC,KAAKwC,MAAE,MAAAD,SAAA,EAAAA,EAAI,SAASE,MAC/BzC,KAAKkC,U,CAGP,MAAAQ,GACE,OACEC,EAAA,SAAAC,IAAA,2CACEC,MAAOC,EAAI,WAAY9C,KAAK+C,WACjB,YAAA/C,KAAKgD,KACC,kBAAAC,EAAYjD,KAAKkD,WAClCC,QAASnD,KAAKE,KAEdyC,EAAA,SAAAC,IAAA,2CACEQ,KAAK,QAAO,eACEpD,KAAKqD,aAAe,UAAS,uBACrBrD,KAAKqD,WAC3BC,IAAMC,IACJvD,KAAKoC,KAAOmB,CAAE,EAEhBf,GAAIxC,KAAKE,IACTqB,KAAMvB,KAAKuB,KACXY,QAASqB,EAAWxD,KAAKmC,QAAS,WAClCsB,SAAUD,EAAWxD,KAAKyD,SAAU,YAAW,mBAC7BzD,KAAK0D,cACvBhC,MAAO1B,KAAK0B,MACZiC,SAAUH,EAAWxD,KAAK2D,SAAU,YACpCC,SAAWvD,GAAUL,KAAKI,aAAaC,GACvCwD,OAASxD,GAAUL,KAAKS,WAAWJ,GACnCyD,QAAUzD,GAAUL,KAAKW,YAAYN,KAEtCL,KAAK+D,MAAQ/D,KAAK+D,MAAQpB,EAAa,a","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as s}from"./p-FlgrrUDn.js";import{e as h,f as a,s as e,u as d,k as l,j as n,l as c,c as r}from"./p-TU0pfK1i.js";import{l as o,g as u,h as f,f as v,k as b,b as m,r as p,a as y}from"./p-DC9V_oNU.js";const w=class{constructor(s){i(this,s);this.input=t(this,"input");this.change=t(this,"change");this.blur=t(this,"blur");this.focus=t(this,"focus");this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._descByIds="";this._value="";this._voiceOverFallback=""}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,t,s,d;if(!((i=this._ref)===null||i===void 0?void 0:i.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((t=this._ref)===null||t===void 0?void 0:t.validationMessage)||o;if(h()){this._voiceOverFallback=this._invalidMessage;a((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((s=this._ref)===null||s===void 0?void 0:s.validity.valid)&&(this.required||this.minLength||this.maxLength)){this._descByIds=this._validMessageId;if(h()){this._voiceOverFallback=(d=this.validMessage)!==null&&d!==void 0?d:b;a((()=>this._voiceOverFallback=""),1e3)}}else if(e(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=""}}handleInput(i){i.stopPropagation();if(this.input){this.input.emit(i)}this.handleValidation()}handleChange(i){i.stopPropagation();if(this.change){this.change.emit(i)}this.handleValidation()}handleBlur(i){i.stopPropagation();if(this.blur){this.blur.emit(i)}}handleFocus(i){i.stopPropagation();if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let h=0;h<t.length;h++){const a=t.item(h);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){i.setAttribute(a.name,a.value);s.removeAttribute(a.name)}if(a&&a.name==="class"){const t=a.value.includes("hydrated");const h=a.value.replace("hydrated","").trim();const e=i.getAttribute("class");i.setAttribute(a.name,`${e?`${e} `:""}${h}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(a.name)}}}}}watch0Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this._ref)===null||i===void 0?void 0:i.validationMessage)||o}watch0(){this.watch0Fn()}watch1Fn(){if(this._id){const i=this._id+v;this._messageId=i;this._validMessageId=this._id+u;this._invalidMessageId=this._id+f;if(e(this.message,this.showMessage)){this._descByIds=i}}}watch1(){this.watch1Fn()}watch2Fn(){this._value=this.value}watch2(){this.watch2Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-textarea");const t=(i=this.id)!==null&&i!==void 0?i:`textarea-${d()}`;this._id=t;this._messageId=t+v;this._validMessageId=t+u;this._invalidMessageId=t+f;this._invalidMessage=this.invalidMessage||o;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var i,t,h;return s("div",{key:"97cfd2fa48956a54a0717de06543457d9ba35e25",class:r("db-textarea",this.className),"data-variant":this.variant,"data-hide-label":c(this.showLabel)},s("label",{key:"eb395c8dbc6e55c03c2be269243b447eb4e65de8",htmlFor:this._id},(i=this.label)!==null&&i!==void 0?i:y),s("textarea",{key:"6e85365f128f0cdb37d203d7fc5d7949d6c98132","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,"data-resize":this.resize,disabled:n(this.disabled,"disabled"),required:n(this.required,"required"),readOnly:n(this.readOnly,"readOnly")||n(this.readonly,"readonly"),form:this.form,maxLength:l(this.maxLength,this.maxlength),minLength:l(this.minLength,this.minlength),name:this.name,wrap:this.wrap,spellcheck:this.spellCheck,autocomplete:this.autocomplete,onInput:i=>this.handleInput(i),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),value:(t=this.value)!==null&&t!==void 0?t:this._value,"aria-describedby":this._descByIds,placeholder:(h=this.placeholder)!==null&&h!==void 0?h:m,rows:l(this.rows,p),cols:l(this.cols)}),e(this.message,this.showMessage)?s("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?s("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||b):null,s("db-infotext",{key:"d66d7a8a0e8453b04b5861e9d0564c4c88f0a83d",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"fc01207c878e725172ecc72808bf473e9b3c9e24","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0"],invalidMessage:["watch0"],_id:["watch1"],value:["watch2"]}}};export{w as db_textarea};
2
+ //# sourceMappingURL=p-b34639cd.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBTextarea","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_descByIds","_value","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","minLength","maxLength","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleInput","event","stopPropagation","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch1","watch2Fn","watch2","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","variant","getHideProp","showLabel","htmlFor","label","DEFAULT_LABEL","ref","el","resize","disabled","getBoolean","readOnly","readonly","form","getNumber","maxlength","minlength","wrap","spellcheck","spellCheck","autocomplete","onInput","onChange","onBlur","onFocus","placeholder","DEFAULT_PLACEHOLDER","rows","DEFAULT_ROWS","cols","size","icon","messageIcon","semantic","role"],"sources":["src/components/textarea/textarea.tsx"],"sourcesContent":["import { DBTextareaProps, DBTextareaState } from \"./model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_ROWS,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InputEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\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-textarea\",\n})\nexport class DBTextarea {\n private _ref!: HTMLTextAreaElement | any;\n @Prop() id: DBTextareaProps[\"id\"];\n @Prop() invalidMessage: DBTextareaProps[\"invalidMessage\"];\n @Prop() message: DBTextareaProps[\"message\"];\n @Prop() showMessage: DBTextareaProps[\"showMessage\"];\n @Prop() value: DBTextareaProps[\"value\"];\n @Prop() validMessage: DBTextareaProps[\"validMessage\"];\n @Prop() validation: DBTextareaProps[\"validation\"];\n @Prop() required: DBTextareaProps[\"required\"];\n @Prop() minLength: DBTextareaProps[\"minLength\"];\n @Prop() maxLength: DBTextareaProps[\"maxLength\"];\n @Event() input: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTextareaProps[\"className\"];\n @Prop() variant: DBTextareaProps[\"variant\"];\n @Prop() showLabel: DBTextareaProps[\"showLabel\"];\n @Prop() label: DBTextareaProps[\"label\"];\n @Prop() resize: DBTextareaProps[\"resize\"];\n @Prop() disabled: DBTextareaProps[\"disabled\"];\n @Prop() readOnly: DBTextareaProps[\"readOnly\"];\n @Prop() readonly: DBTextareaProps[\"readonly\"];\n @Prop() form: DBTextareaProps[\"form\"];\n @Prop() maxlength: DBTextareaProps[\"maxlength\"];\n @Prop() minlength: DBTextareaProps[\"minlength\"];\n @Prop() name: DBTextareaProps[\"name\"];\n @Prop() wrap: DBTextareaProps[\"wrap\"];\n @Prop() spellCheck: DBTextareaProps[\"spellCheck\"];\n @Prop() autocomplete: DBTextareaProps[\"autocomplete\"];\n @Prop() placeholder: DBTextareaProps[\"placeholder\"];\n @Prop() rows: DBTextareaProps[\"rows\"];\n @Prop() cols: DBTextareaProps[\"cols\"];\n @Prop() messageIcon: DBTextareaProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the textarea */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleInput(event: InputEvent<HTMLTextAreaElement>) {\n event.stopPropagation();\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLTextAreaElement> | any) {\n event.stopPropagation();\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLTextAreaElement> | any) {\n event.stopPropagation();\n if (this.focus) {\n this.focus.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: HTMLTextAreaElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-textarea\");\n const mId = this.id ?? `textarea-${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._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-textarea\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <textarea\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-resize={this.resize}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n readOnly={\n getBoolean(this.readOnly, \"readOnly\") ||\n getBoolean(this.readonly, \"readonly\")\n }\n form={this.form}\n maxLength={getNumber(this.maxLength, this.maxlength)}\n minLength={getNumber(this.minLength, this.minlength)}\n name={this.name}\n wrap={this.wrap}\n spellcheck={this.spellCheck}\n autocomplete={this.autocomplete}\n onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n value={this.value ?? this._value}\n aria-describedby={this._descByIds}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n rows={getNumber(this.rows, DEFAULT_ROWS)}\n cols={getNumber(this.cols)}\n ></textarea>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as s,F as a}from"./p-FlgrrUDn.js";import{u as h,f as n,j as e,g as o,l,c as d}from"./p-TU0pfK1i.js";import{i as r,N as c}from"./p-Duz60W3r.js";import{n as u}from"./p-DC9V_oNU.js";const f=class{constructor(s){i(this,s);this.click=t(this,"click");this.initialized=false;this.hasAreaPopup=false;this.hasSubNavigation=true;this.isSubNavigationExpanded=false;this.autoClose=false;this.subNavigationId="sub-navigation-"+h();this.navigationItemSafeTriangle=undefined}handleNavigationItemClick(i){if(r(i)){this.autoClose=true;n((()=>{this.autoClose=false}),300)}}handleClick(i){i.stopPropagation();if(this.click){this.click.emit(i)}if(this.hasAreaPopup){this.isSubNavigationExpanded=true}}handleBackClick(i){i.stopPropagation();this.isSubNavigationExpanded=false}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let a=0;a<t.length;a++){const h=t.item(a);if(h&&(h.name.startsWith("data-")||h.name.startsWith("aria-"))){i.setAttribute(h.name,h.value);s.removeAttribute(h.name)}if(h&&h.name==="class"){const t=h.value.includes("hydrated");const a=h.value.replace("hydrated","").trim();const n=i.getAttribute("class");i.setAttribute(h.name,`${n?`${n} `:""}${a}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(h.name)}}}}}watch0Fn(){if(this.subNavigationExpanded!==undefined){this.isSubNavigationExpanded=!!e(this.subNavigationExpanded,"subNavigationExpanded")}}watch0(){this.watch0Fn()}watch1Fn(){var i;if(this.initialized&&this._ref){const t=this._ref.querySelector("menu");if(t){if(((i=t.children)===null||i===void 0?void 0:i.length)>0){this.hasAreaPopup=true;if(!this.navigationItemSafeTriangle){this.navigationItemSafeTriangle=new c(this._ref,t)}}else{this.hasSubNavigation=false}}}}watch1(){this.watch1Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-navigation-item");this.initialized=true;this.watch0Fn();this.watch1Fn()}render(){var i;return s("li",{key:"415f7f254062a602040c654806ce826b92367e0b",class:d("db-navigation-item",this.className),ref:i=>{this._ref=i},id:this.id,onMouseOver:()=>{var i;return(i=this.navigationItemSafeTriangle)===null||i===void 0?void 0:i.enableFollow()},onMouseLeave:()=>{var i;return(i=this.navigationItemSafeTriangle)===null||i===void 0?void 0:i.disableFollow()},onMouseMove:i=>{var t;return(t=this.navigationItemSafeTriangle)===null||t===void 0?void 0:t.followByMouseEvent(i)},"data-width":this.width,"data-icon":this.icon,"data-hide-icon":l(this.showIcon),"data-active":this.active,"data-wrap":o(this.wrap),"aria-disabled":o(this.disabled)},!this.hasSubNavigation?this.text?this.text:s("slot",null):null,this.hasSubNavigation?s(a,null,s("button",{class:"db-navigation-item-expand-button","aria-haspopup":this.hasAreaPopup,"aria-expanded":this.isSubNavigationExpanded,disabled:e(this.disabled,"disabled"),onClick:i=>this.handleClick(i)},this.text?this.text:s("slot",null)),s("menu",{class:"db-sub-navigation","data-auto-close":this.autoClose,id:this.subNavigationId,onClick:i=>this.handleNavigationItemClick(i)},this.hasAreaPopup?s("div",{class:"db-mobile-navigation-back"},s("db-button",{icon:"arrow_left",variant:"ghost",id:this.backButtonId,onClick:i=>this.handleBackClick(i)},(i=this.backButtonText)!==null&&i!==void 0?i:u)):null,s("slot",{name:"subNavigation"}))):null)}static get watchers(){return{subNavigationExpanded:["watch0"],initialized:["watch1"],_ref:["watch1"]}}};export{f as db_navigation_item};
2
+ //# sourceMappingURL=p-c0709274.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBNavigationItem","constructor","hostRef","this","initialized","hasAreaPopup","hasSubNavigation","isSubNavigationExpanded","autoClose","subNavigationId","uuid","navigationItemSafeTriangle","undefined","handleNavigationItemClick","event","isEventTargetNavigationItem","delay","handleClick","stopPropagation","click","emit","handleBackClick","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","subNavigationExpanded","getBoolean","watch0","watch1Fn","_ref","subNavigationSlot","querySelector","_a","children","NavigationItemSafeTriangle","watch1","componentDidLoad","render","h","key","class","cls","className","ref","el","id","onMouseOver","enableFollow","onMouseLeave","disableFollow","onMouseMove","followByMouseEvent","width","icon","getHideProp","showIcon","active","getBooleanAsString","wrap","disabled","text","Fragment","onClick","variant","backButtonId","backButtonText","DEFAULT_BACK"],"sources":["src/components/navigation-item/navigation-item.tsx"],"sourcesContent":["import { DBNavigationItemProps, DBNavigationItemState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} from \"../../utils\";\nimport {\n isEventTargetNavigationItem,\n NavigationItemSafeTriangle,\n} from \"../../utils/navigation\";\nimport { DEFAULT_BACK } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/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 subNavigation - TODO: Add description for slotSubNavigation\n */\n @Component({\n tag: \"db-navigation-item\",\n})\nexport class DBNavigationItem {\n private _ref!: HTMLLIElement | any;\n @Prop() subNavigationExpanded: DBNavigationItemProps[\"subNavigationExpanded\"];\n @Event() click: EventEmitter<\n Parameters<Required<DBNavigationItemProps>[\"onClick\"]>[number]\n > | void;\n @Prop() id: DBNavigationItemProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBNavigationItemProps[\"className\"];\n @Prop() width: DBNavigationItemProps[\"width\"];\n @Prop() icon: DBNavigationItemProps[\"icon\"];\n @Prop() showIcon: DBNavigationItemProps[\"showIcon\"];\n @Prop() active: DBNavigationItemProps[\"active\"];\n @Prop() wrap: DBNavigationItemProps[\"wrap\"];\n @Prop() disabled: DBNavigationItemProps[\"disabled\"];\n @Prop() text: DBNavigationItemProps[\"text\"];\n @Prop() backButtonId: DBNavigationItemProps[\"backButtonId\"];\n @Prop() backButtonText: DBNavigationItemProps[\"backButtonText\"];\n @State() initialized = false;\n @State() hasAreaPopup = false;\n @State() hasSubNavigation = true;\n @State() isSubNavigationExpanded = false;\n @State() autoClose = false;\n @State() subNavigationId = \"sub-navigation-\" + uuid();\n @State() navigationItemSafeTriangle = undefined;\n\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.autoClose = true;\n delay(() => {\n this.autoClose = false;\n }, 300);\n }\n }\n handleClick(event: ClickEvent<HTMLButtonElement> | any) {\n event.stopPropagation();\n if (this.click) {\n this.click.emit(event);\n }\n if (this.hasAreaPopup) {\n this.isSubNavigationExpanded = true;\n }\n }\n handleBackClick(event: ClickEvent<HTMLButtonElement> | any) {\n event.stopPropagation();\n this.isSubNavigationExpanded = false;\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.subNavigationExpanded !== undefined) {\n this.isSubNavigationExpanded = !!getBoolean(\n this.subNavigationExpanded,\n \"subNavigationExpanded\"\n );\n }\n }\n\n @Watch(\"subNavigationExpanded\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this.initialized && this._ref) {\n const subNavigationSlot = this._ref.querySelector(\"menu\");\n if (subNavigationSlot) {\n if (subNavigationSlot.children?.length > 0) {\n this.hasAreaPopup = true;\n if (!this.navigationItemSafeTriangle) {\n this.navigationItemSafeTriangle = new NavigationItemSafeTriangle(\n this._ref,\n subNavigationSlot\n );\n }\n } else {\n this.hasSubNavigation = false;\n }\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n watch1() {\n this.watch1Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-navigation-item\");\n this.initialized = true;\n this.watch0Fn();\n this.watch1Fn();\n }\n\n render() {\n return (\n <li\n class={cls(\"db-navigation-item\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n onMouseOver={() => this.navigationItemSafeTriangle?.enableFollow()}\n onMouseLeave={() => this.navigationItemSafeTriangle?.disableFollow()}\n onMouseMove={(event) =>\n this.navigationItemSafeTriangle?.followByMouseEvent(event)\n }\n data-width={this.width}\n data-icon={this.icon}\n data-hide-icon={getHideProp(this.showIcon)}\n data-active={this.active}\n data-wrap={getBooleanAsString(this.wrap)}\n aria-disabled={getBooleanAsString(this.disabled)}\n >\n {!this.hasSubNavigation ? this.text ? this.text : <slot></slot> : null}\n {this.hasSubNavigation ? (\n <Fragment>\n <button\n class=\"db-navigation-item-expand-button\"\n aria-haspopup={this.hasAreaPopup}\n aria-expanded={this.isSubNavigationExpanded}\n disabled={getBoolean(this.disabled, \"disabled\")}\n onClick={(event) => this.handleClick(event)}\n >\n {this.text ? this.text : <slot></slot>}\n </button>\n <menu\n class=\"db-sub-navigation\"\n data-auto-close={this.autoClose}\n id={this.subNavigationId}\n onClick={(event) => this.handleNavigationItemClick(event)}\n >\n {this.hasAreaPopup ? (\n <div class=\"db-mobile-navigation-back\">\n <db-button\n icon=\"arrow_left\"\n variant=\"ghost\"\n id={this.backButtonId}\n onClick={(event) => this.handleBackClick(event)}\n >\n {this.backButtonText ?? DEFAULT_BACK}\n </db-button>\n </div>\n ) : null}\n <slot name=\"subNavigation\"></slot>\n </menu>\n </Fragment>\n ) : null}\n </li>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as s}from"./p-FlgrrUDn.js";import{l as h,g as e,h as a,f as d,k as c}from"./p-DC9V_oNU.js";import{e as n,f as l,s as o,j as f,u as r,l as u,c as b}from"./p-TU0pfK1i.js";const v=class{constructor(s){i(this,s);this.change=t(this,"change");this.blur=t(this,"blur");this.focus=t(this,"focus");this.initialized=false;this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._descByIds="";this._voiceOverFallback=""}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,t,s,e;if(!((i=this._ref)===null||i===void 0?void 0:i.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((t=this._ref)===null||t===void 0?void 0:t.validationMessage)||h;if(n()){this._voiceOverFallback=this._invalidMessage;l((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((s=this._ref)===null||s===void 0?void 0:s.validity.valid)&&this.required){this._descByIds=this._validMessageId;if(n()){this._voiceOverFallback=(e=this.validMessage)!==null&&e!==void 0?e:c;l((()=>this._voiceOverFallback=""),1e3)}}else if(o(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=""}}handleChange(i){i.stopPropagation();if(this.change){this.change.emit(i)}this.handleValidation()}handleBlur(i){i.stopPropagation();if(this.blur){this.blur.emit(i)}}handleFocus(i){i.stopPropagation();if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let h=0;h<t.length;h++){const e=t.item(h);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){i.setAttribute(e.name,e.value);s.removeAttribute(e.name)}if(e&&e.name==="class"){const t=e.value.includes("hydrated");const h=e.value.replace("hydrated","").trim();const a=i.getAttribute("class");i.setAttribute(e.name,`${a?`${a} `:""}${h}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(e.name)}}}}}watch0Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this._ref)===null||i===void 0?void 0:i.validationMessage)||h}watch0(){this.watch0Fn()}watch1Fn(){if(this._id){const i=this._id+d;this._messageId=i;this._validMessageId=this._id+e;this._invalidMessageId=this._id+a;if(o(this.message,this.showMessage)){this._descByIds=i}}}watch1(){this.watch1Fn()}watch2Fn(){if(this._ref){if(this.indeterminate!==undefined){this._ref.indeterminate=!!f(this.indeterminate)}}}watch2(){this.watch2Fn()}watch3Fn(){if(this.initialized&&this._ref){if(this.checked!=undefined){this._ref.checked=!!f(this.checked)}this.initialized=false}}watch3(){this.watch3Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-checkbox");this.initialized=true;const t=(i=this.id)!==null&&i!==void 0?i:`checkbox-${r()}`;this._id=t;this._messageId=t+d;this._validMessageId=t+e;this._invalidMessageId=t+a;this._invalidMessage=this.invalidMessage||h;this.watch0Fn();this.watch1Fn();this.watch2Fn();this.watch3Fn()}render(){return s("div",{key:"a0a8c35e237b000023cfc8ee33f2bc25f61157b6",class:b("db-checkbox",this.className),"data-size":this.size,"data-hide-label":u(this.showLabel)},s("label",{key:"d272786d466dacd9ff6eef109b188fab8e7bb916",htmlFor:this._id},s("input",{key:"b28840d2dbe0875180b8d57339b2f153e989120e",type:"checkbox","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,name:this.name,checked:f(this.checked,"checked"),disabled:f(this.disabled,"disabled"),value:this.value,required:f(this.required,"required"),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),"aria-describedby":this._descByIds}),this.label?this.label:s("slot",null)),o(this.message,this.showMessage)?s("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?s("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||c):null,s("db-infotext",{key:"9361cead7e186bc0907468d590a102c92dffa176",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"0f6c2e893a12bc54377a32f75723743ab5782309","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0","watch2","watch3"],invalidMessage:["watch0"],_id:["watch1"],initialized:["watch2","watch3"],indeterminate:["watch2"],checked:["watch3"]}}};export{v as db_checkbox};
2
+ //# sourceMappingURL=p-cf1e90bc.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBCheckbox","constructor","hostRef","this","initialized","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_descByIds","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleChange","event","stopPropagation","change","emit","handleBlur","blur","handleFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch1","watch2Fn","indeterminate","getBoolean","watch2","watch3Fn","checked","watch3","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","size","getHideProp","showLabel","htmlFor","type","ref","el","disabled","onChange","onBlur","onFocus","label","icon","messageIcon","semantic","role"],"sources":["src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { DBCheckboxProps, DBCheckboxState } from \"./model\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\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-checkbox\",\n})\nexport class DBCheckbox {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBCheckboxProps[\"id\"];\n @Prop() invalidMessage: DBCheckboxProps[\"invalidMessage\"];\n @Prop() message: DBCheckboxProps[\"message\"];\n @Prop() showMessage: DBCheckboxProps[\"showMessage\"];\n @Prop() indeterminate: DBCheckboxProps[\"indeterminate\"];\n @Prop() checked: DBCheckboxProps[\"checked\"];\n @Prop() validMessage: DBCheckboxProps[\"validMessage\"];\n @Prop() validation: DBCheckboxProps[\"validation\"];\n @Prop() required: DBCheckboxProps[\"required\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBCheckboxProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBCheckboxProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBCheckboxProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBCheckboxProps[\"className\"];\n @Prop() size: DBCheckboxProps[\"size\"];\n @Prop() showLabel: DBCheckboxProps[\"showLabel\"];\n @Prop() name: DBCheckboxProps[\"name\"];\n @Prop() disabled: DBCheckboxProps[\"disabled\"];\n @Prop() value: DBCheckboxProps[\"value\"];\n @Prop() label: DBCheckboxProps[\"label\"];\n @Prop() messageIcon: DBCheckboxProps[\"messageIcon\"];\n @State() initialized = false;\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _descByIds = \"\";\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the checkbox */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n this.required\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n event.stopPropagation();\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n event.stopPropagation();\n if (this.focus) {\n this.focus.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: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n if (this._ref) {\n if (this.indeterminate !== undefined) {\n // When indeterminate is set, the value of the checked prop only impacts the form submitted values.\n // It has no accessibility or UX implications. (https://mui.com/material-ui/react-checkbox/)\n this._ref.indeterminate = !!getBoolean(this.indeterminate);\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n @Watch(\"indeterminate\")\n watch2() {\n this.watch2Fn();\n }\n\n watch3Fn() {\n if (this.initialized && this._ref) {\n // in angular this must be set via native element\n if (this.checked != undefined) {\n this._ref.checked = !!getBoolean(this.checked);\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n @Watch(\"checked\")\n watch3() {\n this.watch3Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-checkbox\");\n this.initialized = true;\n const mId = this.id ?? `checkbox-${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._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n this.watch3Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-checkbox\", this.className)}\n data-size={this.size}\n data-hide-label={getHideProp(this.showLabel)}\n >\n <label htmlFor={this._id}>\n <input\n type=\"checkbox\"\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n checked={getBoolean(this.checked, \"checked\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n value={this.value}\n required={getBoolean(this.required, \"required\")}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n aria-describedby={this._descByIds}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as s,h as i}from"./p-FlgrrUDn.js";import{e as a,f as e,s as h,d,u as o,j as n,k as c,l,c as r,g as f,h as u}from"./p-TU0pfK1i.js";import{l as b,g as v,h as m,j as p,f as y,k as w,b as k,a as g,m as $,D as _}from"./p-DC9V_oNU.js";const x=class{constructor(i){t(this,i);this.input=s(this,"input");this.change=s(this,"change");this.blur=s(this,"blur");this.focus=s(this,"focus");this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._dataListId=undefined;this._descByIds="";this._value="";this._voiceOverFallback=""}hasValidState(){var t;return!!((t=this.validMessage)!==null&&t!==void 0?t:this.validation==="valid")}handleValidation(){var t,s,i,d;if(!((t=this._ref)===null||t===void 0?void 0:t.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((s=this._ref)===null||s===void 0?void 0:s.validationMessage)||b;if(a()){this._voiceOverFallback=this._invalidMessage;e((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((i=this._ref)===null||i===void 0?void 0:i.validity.valid)&&(this.required||this.minLength||this.maxLength||this.pattern)){this._descByIds=this._validMessageId;if(a()){this._voiceOverFallback=(d=this.validMessage)!==null&&d!==void 0?d:w;e((()=>this._voiceOverFallback=""),1e3)}}else if(h(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=""}}handleInput(t){if(this.input){this.input.emit(t)}this.handleValidation()}handleChange(t){if(this.change){this.change.emit(t)}this.handleValidation()}handleBlur(t){if(this.blur){this.blur.emit(t)}}handleFocus(t){if(this.focus){this.focus.emit(t)}}getDataList(){const t=this.dataList;return Array.from((d(t)?t===null||t===void 0?void 0:t.map((t=>({value:t,label:undefined}))):t)||[])}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(e.name,`${h?`${h} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}watch0Fn(){var t;this._invalidMessage=this.invalidMessage||((t=this._ref)===null||t===void 0?void 0:t.validationMessage)||b}watch0(){this.watch0Fn()}watch1Fn(){var t;if(this._id){const s=this._id+y;this._messageId=s;this._validMessageId=this._id+v;this._invalidMessageId=this._id+m;this._dataListId=(t=this.dataListId)!==null&&t!==void 0?t:this._id+p;if(h(this.message,this.showMessage)){this._descByIds=s}}}watch1(){this.watch1Fn()}watch2Fn(){this._value=this.value}watch2(){this.watch2Fn()}componentDidLoad(){var t;this.enableAttributePassing(this._ref,"db-input");const s=(t=this.id)!==null&&t!==void 0?t:`input-${o()}`;this._id=s;this._messageId=s+y;this._validMessageId=s+v;this._invalidMessageId=s+m;this._dataListId=s+p;this._invalidMessage=this.invalidMessage||b;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var t,s,a,e,d;return i("div",{key:"c3ed7a1df5324e27517ab8db7e1be6b7696d94b5",class:r("db-input",this.className),"data-variant":this.variant,"data-hide-label":l(this.showLabel),"data-hide-icon":l(this.showIcon),"data-icon":this.icon,"data-icon-after":this.iconAfter,"data-hide-icon-after":l(this.showIcon)},i("label",{key:"d75719ce987720f268235b431d46cd1af85696b7",htmlFor:this._id},(t=this.label)!==null&&t!==void 0?t:g),i("input",{key:"87676239598629d7aadda7689bc0717a1ad772bb","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:t=>{this._ref=t},id:this._id,name:this.name,type:this.type||"text",placeholder:(s=this.placeholder)!==null&&s!==void 0?s:k,disabled:n(this.disabled,"disabled"),required:n(this.required,"required"),step:c(this.step),value:(a=this.value)!==null&&a!==void 0?a:this._value,maxLength:c(this.maxLength,this.maxlength),minLength:c(this.minLength,this.minlength),max:c(this.max),min:c(this.min),readOnly:n(this.readOnly,"readOnly")||n(this.readonly,"readonly"),form:this.form,pattern:this.pattern,size:this.size,autoComplete:this.autocomplete,autoFocus:n(this.autofocus,"autofocus"),onInput:t=>this.handleInput(t),onChange:t=>this.handleChange(t),onBlur:t=>this.handleBlur(t),onFocus:t=>this.handleFocus(t),list:this.dataList&&this._dataListId,"aria-describedby":(e=this.ariaDescribedBy)!==null&&e!==void 0?e:this._descByIds}),this.dataList?i("datalist",{id:this._dataListId},(d=this.getDataList())===null||d===void 0?void 0:d.map((t=>i("option",{key:this._dataListId+"-option-"+t.value,value:t.value},t.label)))):null,i("slot",{key:"2f81f48b7a436bc94fd58b7a4bcbce67f8e5d48b"}),h(this.message,this.showMessage)?i("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?i("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||w):null,i("db-infotext",{key:"dcea4b32d5bf57686f12c57bb2e0bef01cf65582",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),i("span",{key:"e649a79cb1eee7df9e29d9596453f3fc534fb9fc","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0"],invalidMessage:["watch0"],_id:["watch1"],value:["watch2"]}}};const D=class{constructor(i){t(this,i);this.remove=s(this,"remove");this.initialized=false}handleRemove(t){if(this.remove){this.remove.emit(t)}}getRemoveButtonText(){if(this.removeButton){return this.removeButton}return $}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(e.name,`${h?`${h} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}watch0Fn(){var t,s;if(this.initialized&&this._ref&&this.disabled!==undefined){const i=(t=this._ref)===null||t===void 0?void 0:t.querySelector("button:not(.db-tab-remove-button)");const a=(s=this._ref)===null||s===void 0?void 0:s.querySelector("input");for(const t of[i,a]){if(t){t.disabled=Boolean(this.disabled)}}}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-tag");this.watch0Fn()}render(){var t;return i("div",{key:"b7df76f07edf732d557c7ba59feb8a709c2df81d",class:r("db-tag",this.className),ref:t=>{this._ref=t},id:this.id,"data-disabled":f(this.disabled),"data-semantic":this.semantic,"data-emphasis":this.emphasis,"data-icon":this.icon,"data-show-check-state":f((t=this.showCheckState)!==null&&t!==void 0?t:true),"data-hide-icon":l(this.showIcon),"data-no-text":f(this.noText),"data-overflow":f(this.overflow)},i("slot",{key:"7b1e2561e265fe7eff59cde6116611438a53c7e6",name:"content"}),i("slot",{key:"80b7eaf341f308dcc4629290874da3e8ed8de2b2"}),this.text?this.text:null,this.behavior==="removable"?i("button",{class:"db-button db-tab-remove-button","data-icon":"cross","data-size":"small","data-no-text":"true","data-variant":"ghost",onClick:t=>this.handleRemove(t),title:this.getRemoveButtonText()},this.getRemoveButtonText()):null)}static get watchers(){return{initialized:["watch0"],disabled:["watch0"],_ref:["watch0"]}}};const F=class{constructor(s){t(this,s);this._id=_;this.initialized=false}handleClick(t){t.stopPropagation()}handleAutoPlacement(){if(this._ref)u(this._ref)}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(e.name,`${h?`${h} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}watch0Fn(){if(this._ref&&this.initialized&&this._id){let t=this._ref.parentElement;if(t&&t.localName.includes("tooltip")){t=t.parentElement}if(t){["mouseenter","focus"].forEach((s=>{t.addEventListener(s,(()=>this.handleAutoPlacement()))}));t.setAttribute("data-has-tooltip","true");t.setAttribute("aria-describedby",this._id)}this.initialized=false}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-tooltip");this._id=this.id||"tooltip-"+o();this.initialized=true;this.watch0Fn()}render(){var t,s;return i("i",{key:"ca896b62cc647f7303c58a2c1f3b34c54aa36196",class:r("db-tooltip",this.className),role:"tooltip","aria-hidden":"true","data-gap":"true",ref:t=>{this._ref=t},id:this._id,"data-emphasis":this.emphasis,"data-animation":f((t=this.animation)!==null&&t!==void 0?t:true),"data-delay":this.delay,"data-width":this.width,"data-show-arrow":f((s=this.showArrow)!==null&&s!==void 0?s:true),"data-placement":this.placement,onClick:t=>this.handleClick(t)},i("slot",{key:"2e261348a396edfd6f000d0f14ea19dfba822e00"}))}static get watchers(){return{_ref:["watch0"],initialized:["watch0"]}}};const A=class{constructor(s){t(this,s);this.width="fixed"}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(e.name,`${h?`${h} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-custom-select-dropdown")}render(){return i("article",{key:"6996fad215702cb1f31f4a3a9625a1ada0121528",class:r("db-custom-select-dropdown db-card",this.className),"data-spacing":"none",ref:t=>{this._ref=t},id:this.id,"data-width":this.width},i("slot",{key:"31056fd553f9312376ff94fb7415a117ab29b17b"}))}};const C=class{constructor(s){t(this,s)}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(e.name,`${h?`${h} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-custom-select-list")}render(){return i("div",{key:"55b9bf7f522c5dab2113ba4755fb0d01a6539a33",class:r("db-custom-select-list",this.className),role:this.multiple?"group":"radiogroup","aria-label":this.label,ref:t=>{this._ref=t},id:this.id},i("ul",{key:"87553958e161d97f8095a79abcd4c79a3b4b4b2a"},i("slot",{key:"68034e713e4b5095e32da5c0704671912cda26cd"})))}};const L=class{constructor(i){t(this,i);this.change=s(this,"change");this._id=undefined;this.hasDivider=false}handleChange(t){t.stopPropagation();if(this.change){this.change.emit(t)}}getIconAfter(){if(this.isGroupTitle||this.type==="checkbox"){return}return n(this.checked,"checked")?"check":"x_placeholder"}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(e.name,`${h?`${h} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}watch0Fn(){this.hasDivider=Boolean(this.isGroupTitle||this.showDivider)}watch0(){this.watch0Fn()}componentDidLoad(){var t;this.enableAttributePassing(this._ref,"db-custom-select-list-item");this._id=(t=this.id)!==null&&t!==void 0?t:`custom-select-list-item-${o()}`;this.watch0Fn()}render(){return i("li",{key:"e3e90fd8d73cedc493624a10270bc7fe5fe880ba",class:r("db-custom-select-list-item",this.className,{"db-checkbox":this.type==="checkbox"&&!this.isGroupTitle,"db-radio":this.type!=="checkbox"&&!this.isGroupTitle}),ref:t=>{this._ref=t},id:this._id,"data-divider":f(this.hasDivider)},!this.isGroupTitle?i("label",{"data-icon":this.type!=="checkbox"&&this.icon?this.icon:undefined,"data-hide-icon":l(this.showIcon),"data-icon-after":this.getIconAfter()},i("input",{class:"db-custom-select-list-item-checkbox","data-disable-focus":"true",type:this.type,name:this.name,form:this.name,checked:n(this.checked,"checked"),disabled:n(this.disabled,"disabled"),value:this.value,onChange:t=>this.handleChange(t)}),this.label?this.label:i("slot",null)):i("span",null,this.groupTitle))}static get watchers(){return{isGroupTitle:["watch0"],showDivider:["watch0"]}}};export{A as db_custom_select_dropdown,C as db_custom_select_list,L as db_custom_select_list_item,x as db_input,D as db_tag,F as db_tooltip};
2
- //# sourceMappingURL=p-6b552695.entry.js.map
1
+ import{r as t,c as s,h as i}from"./p-FlgrrUDn.js";import{e as a,f as e,s as h,d,u as o,j as c,k as n,l,c as r,g as f,h as u}from"./p-TU0pfK1i.js";import{l as b,g as v,h as m,j as p,f as y,k as w,b as k,a as g,m as $,D as _}from"./p-DC9V_oNU.js";const x=class{constructor(i){t(this,i);this.input=s(this,"input");this.change=s(this,"change");this.blur=s(this,"blur");this.focus=s(this,"focus");this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._dataListId=undefined;this._descByIds="";this._value="";this._voiceOverFallback=""}hasValidState(){var t;return!!((t=this.validMessage)!==null&&t!==void 0?t:this.validation==="valid")}handleValidation(){var t,s,i,d;if(!((t=this._ref)===null||t===void 0?void 0:t.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((s=this._ref)===null||s===void 0?void 0:s.validationMessage)||b;if(a()){this._voiceOverFallback=this._invalidMessage;e((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((i=this._ref)===null||i===void 0?void 0:i.validity.valid)&&(this.required||this.minLength||this.maxLength||this.pattern)){this._descByIds=this._validMessageId;if(a()){this._voiceOverFallback=(d=this.validMessage)!==null&&d!==void 0?d:w;e((()=>this._voiceOverFallback=""),1e3)}}else if(h(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=""}}handleInput(t){t.stopPropagation();if(this.input){this.input.emit(t)}this.handleValidation()}handleChange(t){t.stopPropagation();if(this.change){this.change.emit(t)}this.handleValidation()}handleBlur(t){t.stopPropagation();if(this.blur){this.blur.emit(t)}}handleFocus(t){t.stopPropagation();if(this.focus){this.focus.emit(t)}}getDataList(){const t=this.dataList;return Array.from((d(t)?t===null||t===void 0?void 0:t.map((t=>({value:t,label:undefined}))):t)||[])}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(e.name,`${h?`${h} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}watch0Fn(){var t;this._invalidMessage=this.invalidMessage||((t=this._ref)===null||t===void 0?void 0:t.validationMessage)||b}watch0(){this.watch0Fn()}watch1Fn(){var t;if(this._id){const s=this._id+y;this._messageId=s;this._validMessageId=this._id+v;this._invalidMessageId=this._id+m;this._dataListId=(t=this.dataListId)!==null&&t!==void 0?t:this._id+p;if(h(this.message,this.showMessage)){this._descByIds=s}}}watch1(){this.watch1Fn()}watch2Fn(){this._value=this.value}watch2(){this.watch2Fn()}componentDidLoad(){var t;this.enableAttributePassing(this._ref,"db-input");const s=(t=this.id)!==null&&t!==void 0?t:`input-${o()}`;this._id=s;this._messageId=s+y;this._validMessageId=s+v;this._invalidMessageId=s+m;this._dataListId=s+p;this._invalidMessage=this.invalidMessage||b;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var t,s,a,e,d;return i("div",{key:"29326022d3c76020e19937fdb75585d6f010a6c1",class:r("db-input",this.className),"data-variant":this.variant,"data-hide-label":l(this.showLabel),"data-hide-icon":l(this.showIcon),"data-icon":this.icon,"data-icon-after":this.iconAfter,"data-hide-icon-after":l(this.showIcon)},i("label",{key:"40081c20d8b8933a2edb72b056b7f5734ada8f56",htmlFor:this._id},(t=this.label)!==null&&t!==void 0?t:g),i("input",{key:"5967e306e75f1341e97cecc4eba87cc6c0d7d3ef","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:t=>{this._ref=t},id:this._id,name:this.name,type:this.type||"text",placeholder:(s=this.placeholder)!==null&&s!==void 0?s:k,disabled:c(this.disabled,"disabled"),required:c(this.required,"required"),step:n(this.step),value:(a=this.value)!==null&&a!==void 0?a:this._value,maxLength:n(this.maxLength,this.maxlength),minLength:n(this.minLength,this.minlength),max:n(this.max),min:n(this.min),readOnly:c(this.readOnly,"readOnly")||c(this.readonly,"readonly"),form:this.form,pattern:this.pattern,size:this.size,autoComplete:this.autocomplete,autoFocus:c(this.autofocus,"autofocus"),onInput:t=>this.handleInput(t),onChange:t=>this.handleChange(t),onBlur:t=>this.handleBlur(t),onFocus:t=>this.handleFocus(t),list:this.dataList&&this._dataListId,"aria-describedby":(e=this.ariaDescribedBy)!==null&&e!==void 0?e:this._descByIds}),this.dataList?i("datalist",{id:this._dataListId},(d=this.getDataList())===null||d===void 0?void 0:d.map((t=>i("option",{key:this._dataListId+"-option-"+t.value,value:t.value},t.label)))):null,i("slot",{key:"782e5e45628e9cdaf1e25371ff02caaee4398a75"}),h(this.message,this.showMessage)?i("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?i("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||w):null,i("db-infotext",{key:"b11b3c06ddd4270b373a0c7cf57880706740fd09",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),i("span",{key:"50f4b21c31a32578afc302a9ef5ff98fd7123d5f","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0"],invalidMessage:["watch0"],_id:["watch1"],value:["watch2"]}}};const D=class{constructor(i){t(this,i);this.remove=s(this,"remove");this.initialized=false}handleRemove(t){t===null||t===void 0?void 0:t.stopPropagation();if(this.remove){this.remove.emit(t)}}getRemoveButtonText(){if(this.removeButton){return this.removeButton}return $}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(e.name,`${h?`${h} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}watch0Fn(){var t,s;if(this.initialized&&this._ref&&this.disabled!==undefined){const i=(t=this._ref)===null||t===void 0?void 0:t.querySelector("button:not(.db-tab-remove-button)");const a=(s=this._ref)===null||s===void 0?void 0:s.querySelector("input");for(const t of[i,a]){if(t){t.disabled=Boolean(this.disabled)}}}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-tag");this.watch0Fn()}render(){var t;return i("div",{key:"9c9ef2ba73cb3451614e3d65027f0d2a4d5a8641",class:r("db-tag",this.className),ref:t=>{this._ref=t},id:this.id,"data-disabled":f(this.disabled),"data-semantic":this.semantic,"data-emphasis":this.emphasis,"data-icon":this.icon,"data-show-check-state":f((t=this.showCheckState)!==null&&t!==void 0?t:true),"data-hide-icon":l(this.showIcon),"data-no-text":f(this.noText),"data-overflow":f(this.overflow)},i("slot",{key:"4b1c9798f89f6d10c951c36f88315dc4d8c8fc6f",name:"content"}),i("slot",{key:"de14ee2134d1dc862459c53afddc51db741ae734"}),this.text?this.text:null,this.behavior==="removable"?i("button",{class:"db-button db-tab-remove-button","data-icon":"cross","data-size":"small","data-no-text":"true","data-variant":"ghost",onClick:t=>this.handleRemove(t),title:this.getRemoveButtonText()},this.getRemoveButtonText()):null)}static get watchers(){return{initialized:["watch0"],disabled:["watch0"],_ref:["watch0"]}}};const F=class{constructor(s){t(this,s);this._id=_;this.initialized=false}handleClick(t){t.stopPropagation()}handleAutoPlacement(){if(this._ref)u(this._ref)}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(e.name,`${h?`${h} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}watch0Fn(){if(this._ref&&this.initialized&&this._id){let t=this._ref.parentElement;if(t&&t.localName.includes("tooltip")){t=t.parentElement}if(t){["mouseenter","focus"].forEach((s=>{t.addEventListener(s,(()=>this.handleAutoPlacement()))}));t.setAttribute("data-has-tooltip","true");t.setAttribute("aria-describedby",this._id)}this.initialized=false}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-tooltip");this._id=this.id||"tooltip-"+o();this.initialized=true;this.watch0Fn()}render(){var t,s;return i("i",{key:"ca896b62cc647f7303c58a2c1f3b34c54aa36196",class:r("db-tooltip",this.className),role:"tooltip","aria-hidden":"true","data-gap":"true",ref:t=>{this._ref=t},id:this._id,"data-emphasis":this.emphasis,"data-animation":f((t=this.animation)!==null&&t!==void 0?t:true),"data-delay":this.delay,"data-width":this.width,"data-show-arrow":f((s=this.showArrow)!==null&&s!==void 0?s:true),"data-placement":this.placement,onClick:t=>this.handleClick(t)},i("slot",{key:"2e261348a396edfd6f000d0f14ea19dfba822e00"}))}static get watchers(){return{_ref:["watch0"],initialized:["watch0"]}}};const A=class{constructor(s){t(this,s);this.width="fixed"}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(e.name,`${h?`${h} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-custom-select-dropdown")}render(){return i("article",{key:"6996fad215702cb1f31f4a3a9625a1ada0121528",class:r("db-custom-select-dropdown db-card",this.className),"data-spacing":"none",ref:t=>{this._ref=t},id:this.id,"data-width":this.width},i("slot",{key:"31056fd553f9312376ff94fb7415a117ab29b17b"}))}};const C=class{constructor(s){t(this,s)}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(e.name,`${h?`${h} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-custom-select-list")}render(){return i("div",{key:"55b9bf7f522c5dab2113ba4755fb0d01a6539a33",class:r("db-custom-select-list",this.className),role:this.multiple?"group":"radiogroup","aria-label":this.label,ref:t=>{this._ref=t},id:this.id},i("ul",{key:"87553958e161d97f8095a79abcd4c79a3b4b4b2a"},i("slot",{key:"68034e713e4b5095e32da5c0704671912cda26cd"})))}};const L=class{constructor(i){t(this,i);this.change=s(this,"change");this._id=undefined;this.hasDivider=false}handleChange(t){t.stopPropagation();if(this.change){this.change.emit(t)}}getIconAfter(){if(this.isGroupTitle||this.type==="checkbox"){return}return c(this.checked,"checked")?"check":"x_placeholder"}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const h=t.getAttribute("class");t.setAttribute(e.name,`${h?`${h} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}watch0Fn(){this.hasDivider=Boolean(this.isGroupTitle||this.showDivider)}watch0(){this.watch0Fn()}componentDidLoad(){var t;this.enableAttributePassing(this._ref,"db-custom-select-list-item");this._id=(t=this.id)!==null&&t!==void 0?t:`custom-select-list-item-${o()}`;this.watch0Fn()}render(){return i("li",{key:"e3e90fd8d73cedc493624a10270bc7fe5fe880ba",class:r("db-custom-select-list-item",this.className,{"db-checkbox":this.type==="checkbox"&&!this.isGroupTitle,"db-radio":this.type!=="checkbox"&&!this.isGroupTitle}),ref:t=>{this._ref=t},id:this._id,"data-divider":f(this.hasDivider)},!this.isGroupTitle?i("label",{"data-icon":this.type!=="checkbox"&&this.icon?this.icon:undefined,"data-hide-icon":l(this.showIcon),"data-icon-after":this.getIconAfter()},i("input",{class:"db-custom-select-list-item-checkbox","data-disable-focus":"true",type:this.type,name:this.name,form:this.name,checked:c(this.checked,"checked"),disabled:c(this.disabled,"disabled"),value:this.value,onChange:t=>this.handleChange(t)}),this.label?this.label:i("slot",null)):i("span",null,this.groupTitle))}static get watchers(){return{isGroupTitle:["watch0"],showDivider:["watch0"]}}};export{A as db_custom_select_dropdown,C as db_custom_select_list,L as db_custom_select_list_item,x as db_input,D as db_tag,F as db_tooltip};
2
+ //# sourceMappingURL=p-da4bbdb6.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBInput","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_dataListId","_descByIds","_value","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","minLength","maxLength","pattern","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleInput","event","stopPropagation","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","getDataList","_list","dataList","Array","from","isArrayOfStrings","map","val","value","label","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","dataListId","DEFAULT_DATALIST_ID_SUFFIX","watch1","watch2Fn","watch2","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","variant","getHideProp","showLabel","showIcon","icon","iconAfter","htmlFor","DEFAULT_LABEL","ref","el","type","placeholder","DEFAULT_PLACEHOLDER","disabled","getBoolean","step","getNumber","maxlength","minlength","max","min","readOnly","readonly","form","size","autoComplete","autocomplete","autoFocus","autofocus","onInput","onChange","onBlur","onFocus","list","ariaDescribedBy","_e","option","messageIcon","semantic","role","DBTag","initialized","handleRemove","remove","getRemoveButtonText","removeButton","DEFAULT_REMOVE","button","querySelector","Boolean","getBooleanAsString","emphasis","showCheckState","noText","overflow","text","behavior","onClick","title","DBTooltip","DEFAULT_ID","handleClick","handleAutoPlacement","handleDataOutside","parentElement","localName","forEach","addEventListener","animation","width","showArrow","placement","DBCustomSelectDropdown","DBCustomSelectList","multiple","DBCustomSelectListItem","hasDivider","getIconAfter","isGroupTitle","checked","showDivider","groupTitle"],"sources":["src/components/input/input.tsx","src/components/tag/tag.tsx","src/components/tooltip/tooltip.tsx","src/components/custom-select-dropdown/custom-select-dropdown.tsx","src/components/custom-select-list/custom-select-list.tsx","src/components/custom-select-list-item/custom-select-list-item.tsx"],"sourcesContent":["import {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n isArrayOfStrings,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport { DBInputProps, DBInputState } from \"./model\";\nimport {\n DEFAULT_DATALIST_ID_SUFFIX,\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport {\n ChangeEvent,\n InputEvent,\n InteractionEvent,\n ValueLabelType,\n} from \"../../shared/model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-input\",\n})\nexport class DBInput {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBInputProps[\"id\"];\n @Prop() invalidMessage: DBInputProps[\"invalidMessage\"];\n @Prop() dataListId: DBInputProps[\"dataListId\"];\n @Prop() message: DBInputProps[\"message\"];\n @Prop() showMessage: DBInputProps[\"showMessage\"];\n @Prop() value: DBInputProps[\"value\"];\n @Prop() validMessage: DBInputProps[\"validMessage\"];\n @Prop() validation: DBInputProps[\"validation\"];\n @Prop() required: DBInputProps[\"required\"];\n @Prop() minLength: DBInputProps[\"minLength\"];\n @Prop() maxLength: DBInputProps[\"maxLength\"];\n @Prop() pattern: DBInputProps[\"pattern\"];\n @Event() input: EventEmitter<\n Parameters<Required<DBInputProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBInputProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBInputProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBInputProps>[\"onFocus\"]>[number]\n > | void;\n @Prop() dataList: DBInputProps[\"dataList\"];\n @Prop({attribute: \"classname\"}) className: DBInputProps[\"className\"];\n @Prop() variant: DBInputProps[\"variant\"];\n @Prop() showLabel: DBInputProps[\"showLabel\"];\n @Prop() showIcon: DBInputProps[\"showIcon\"];\n @Prop() icon: DBInputProps[\"icon\"];\n @Prop() iconAfter: DBInputProps[\"iconAfter\"];\n @Prop() label: DBInputProps[\"label\"];\n @Prop() name: DBInputProps[\"name\"];\n @Prop() type: DBInputProps[\"type\"];\n @Prop() placeholder: DBInputProps[\"placeholder\"];\n @Prop() disabled: DBInputProps[\"disabled\"];\n @Prop() step: DBInputProps[\"step\"];\n @Prop() maxlength: DBInputProps[\"maxlength\"];\n @Prop() minlength: DBInputProps[\"minlength\"];\n @Prop() max: DBInputProps[\"max\"];\n @Prop() min: DBInputProps[\"min\"];\n @Prop() readOnly: DBInputProps[\"readOnly\"];\n @Prop() readonly: DBInputProps[\"readonly\"];\n @Prop() form: DBInputProps[\"form\"];\n @Prop() size: DBInputProps[\"size\"];\n @Prop() autocomplete: DBInputProps[\"autocomplete\"];\n @Prop() autofocus: DBInputProps[\"autofocus\"];\n @Prop() ariaDescribedBy: DBInputProps[\"ariaDescribedBy\"];\n @Prop() messageIcon: DBInputProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _dataListId = undefined;\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the input */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength || this.pattern)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleInput(event: InputEvent<HTMLInputElement>) {\n event.stopPropagation();\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n event.stopPropagation();\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n event.stopPropagation();\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getDataList() {\n const _list = this.dataList;\n return Array.from(\n (isArrayOfStrings(_list)\n ? _list?.map((val: string) => ({\n value: val,\n label: undefined,\n }))\n : _list) || []\n );\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId =\n this.dataListId ?? this._id + DEFAULT_DATALIST_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-input\");\n const mId = this.id ?? `input-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId = mId + DEFAULT_DATALIST_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-input\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n data-hide-icon={getHideProp(this.showIcon)}\n data-icon={this.icon}\n data-icon-after={this.iconAfter}\n data-hide-icon-after={getHideProp(this.showIcon)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <input\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n type={this.type || \"text\"}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n step={getNumber(this.step)}\n value={this.value ?? this._value}\n maxLength={getNumber(this.maxLength, this.maxlength)}\n minLength={getNumber(this.minLength, this.minlength)}\n max={getNumber(this.max)}\n min={getNumber(this.min)}\n readOnly={\n getBoolean(this.readOnly, \"readOnly\") ||\n getBoolean(this.readonly, \"readonly\")\n }\n form={this.form}\n pattern={this.pattern}\n size={this.size}\n autoComplete={this.autocomplete}\n autoFocus={getBoolean(this.autofocus, \"autofocus\")}\n onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n list={this.dataList && this._dataListId}\n aria-describedby={this.ariaDescribedBy ?? this._descByIds}\n />\n {this.dataList ? (\n <datalist id={this._dataListId}>\n {this.getDataList()?.map((option) => (\n <option\n key={this._dataListId + \"-option-\" + option.value}\n value={option.value}\n >\n {option.label}\n </option>\n ))}\n </datalist>\n ) : null}\n <slot></slot>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n","import { DBTagProps, DBTagState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { DEFAULT_REMOVE } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/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 content - TODO: Add description for slotContent\n */\n @Component({\n tag: \"db-tag\",\n})\nexport class DBTag {\n private _ref!: HTMLDivElement | any;\n @Prop() disabled: DBTagProps[\"disabled\"];\n @Event() remove: EventEmitter<\n Parameters<Required<DBTagProps>[\"remove\"]>[number]\n > | void;\n @Prop() removeButton: DBTagProps[\"removeButton\"];\n @Prop() id: DBTagProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTagProps[\"className\"];\n @Prop() semantic: DBTagProps[\"semantic\"];\n @Prop() emphasis: DBTagProps[\"emphasis\"];\n @Prop() icon: DBTagProps[\"icon\"];\n @Prop() showCheckState: DBTagProps[\"showCheckState\"];\n @Prop() showIcon: DBTagProps[\"showIcon\"];\n @Prop() noText: DBTagProps[\"noText\"];\n @Prop() overflow: DBTagProps[\"overflow\"];\n @Prop() text: DBTagProps[\"text\"];\n @Prop() behavior: DBTagProps[\"behavior\"];\n @State() initialized = false;\n\n handleRemove(event?: ClickEvent<HTMLButtonElement>) {\n event?.stopPropagation();\n if (this.remove) {\n this.remove.emit(event);\n }\n }\n getRemoveButtonText() {\n if (this.removeButton) {\n return this.removeButton;\n }\n\n // TODO: We should think this through again, if we would really like to have default and especially english, instead of german labels in here\n return DEFAULT_REMOVE;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.initialized && this._ref && this.disabled !== undefined) {\n const button: HTMLButtonElement | null = this._ref?.querySelector(\n \"button:not(.db-tab-remove-button)\"\n );\n const input: HTMLInputElement | null = this._ref?.querySelector(\"input\");\n for (const element of [button, input]) {\n if (element) {\n element.disabled = Boolean(this.disabled);\n }\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"disabled\")\n @Watch(\"_ref\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tag\");\n\n this.watch0Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tag\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-disabled={getBooleanAsString(this.disabled)}\n data-semantic={this.semantic}\n data-emphasis={this.emphasis}\n data-icon={this.icon}\n data-show-check-state={getBooleanAsString(this.showCheckState ?? true)}\n data-hide-icon={getHideProp(this.showIcon)}\n data-no-text={getBooleanAsString(this.noText)}\n data-overflow={getBooleanAsString(this.overflow)}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n {this.text ? this.text : null}\n {this.behavior === \"removable\" ? (\n <button\n class=\"db-button db-tab-remove-button\"\n data-icon=\"cross\"\n data-size=\"small\"\n data-no-text=\"true\"\n data-variant=\"ghost\"\n onClick={(event) => this.handleRemove(event)}\n title={this.getRemoveButtonText()}\n >\n {this.getRemoveButtonText()}\n </button>\n ) : null}\n </div>\n );\n }\n}\n","import { DBTooltipProps, DBTooltipState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside, uuid } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tooltip\",\n})\nexport class DBTooltip {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTooltipProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTooltipProps[\"className\"];\n @Prop() emphasis: DBTooltipProps[\"emphasis\"];\n @Prop() animation: DBTooltipProps[\"animation\"];\n @Prop() delay: DBTooltipProps[\"delay\"];\n @Prop() width: DBTooltipProps[\"width\"];\n @Prop() showArrow: DBTooltipProps[\"showArrow\"];\n @Prop() placement: DBTooltipProps[\"placement\"];\n @State() _id = DEFAULT_ID;\n @State() initialized = false;\n\n handleClick(event: ClickEvent<HTMLElement>) {\n event.stopPropagation();\n }\n handleAutoPlacement() {\n if (this._ref) handleDataOutside(this._ref);\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this._ref && this.initialized && this._id) {\n let parent = this._ref.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n [\"mouseenter\", \"focus\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleAutoPlacement());\n });\n parent.setAttribute(\"data-has-tooltip\", \"true\");\n parent.setAttribute(\"aria-describedby\", this._id);\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tooltip\");\n this._id = this.id || \"tooltip-\" + uuid();\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <i\n class={cls(\"db-tooltip\", this.className)}\n role=\"tooltip\"\n aria-hidden=\"true\"\n data-gap=\"true\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-emphasis={this.emphasis}\n data-animation={getBooleanAsString(this.animation ?? true)}\n data-delay={this.delay}\n data-width={this.width}\n data-show-arrow={getBooleanAsString(this.showArrow ?? true)}\n data-placement={this.placement}\n onClick={(event) => this.handleClick(event)}\n >\n <slot></slot>\n </i>\n );\n }\n}\n","import { DBCustomSelectDropdownProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-dropdown\",\n})\nexport class DBCustomSelectDropdown {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBCustomSelectDropdownProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectDropdownProps[\"className\"];\n @Prop() width: DBCustomSelectDropdownProps[\"width\"] = \"fixed\";\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-dropdown\");\n }\n\n render() {\n return (\n <article\n class={cls(\"db-custom-select-dropdown db-card\", this.className)}\n data-spacing=\"none\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-width={this.width}\n >\n <slot></slot>\n </article>\n );\n }\n}\n","import { DBCustomSelectListProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-list\",\n})\nexport class DBCustomSelectList {\n private _ref!: HTMLDivElement | any;\n @Prop() multiple: DBCustomSelectListProps[\"multiple\"];\n @Prop() label: DBCustomSelectListProps[\"label\"];\n @Prop() id: DBCustomSelectListProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectListProps[\"className\"];\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-list\");\n }\n\n render() {\n return (\n <div\n class={cls(\"db-custom-select-list\", this.className)}\n role={this.multiple ? \"group\" : \"radiogroup\"}\n aria-label={this.label}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n >\n <ul>\n <slot></slot>\n </ul>\n </div>\n );\n }\n}\n","import {\n DBCustomSelectListItemProps,\n DBCustomSelectListItemState,\n} from \"./model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} from \"../../utils\";\nimport { ChangeEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-list-item\",\n})\nexport class DBCustomSelectListItem {\n private _ref!: HTMLLIElement | any;\n @Prop() id: DBCustomSelectListItemProps[\"id\"];\n @Prop() isGroupTitle: DBCustomSelectListItemProps[\"isGroupTitle\"];\n @Prop() showDivider: DBCustomSelectListItemProps[\"showDivider\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBCustomSelectListItemProps>[\"onChange\"]>[number]\n > | void;\n @Prop() type: DBCustomSelectListItemProps[\"type\"];\n @Prop() checked: DBCustomSelectListItemProps[\"checked\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectListItemProps[\"className\"];\n @Prop() groupTitle: DBCustomSelectListItemProps[\"groupTitle\"];\n @Prop() icon: DBCustomSelectListItemProps[\"icon\"];\n @Prop() showIcon: DBCustomSelectListItemProps[\"showIcon\"];\n @Prop() name: DBCustomSelectListItemProps[\"name\"];\n @Prop() disabled: DBCustomSelectListItemProps[\"disabled\"];\n @Prop() value: DBCustomSelectListItemProps[\"value\"];\n @Prop() label: DBCustomSelectListItemProps[\"label\"];\n @State() _id = undefined;\n @State() hasDivider = false;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n }\n getIconAfter() {\n if (this.isGroupTitle || this.type === \"checkbox\") {\n return;\n }\n return getBoolean(this.checked, \"checked\") ? \"check\" : \"x_placeholder\";\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this.hasDivider = Boolean(this.isGroupTitle || this.showDivider);\n }\n\n @Watch(\"isGroupTitle\")\n @Watch(\"showDivider\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-list-item\");\n this._id = this.id ?? `custom-select-list-item-${uuid()}`;\n this.watch0Fn();\n }\n\n render() {\n return (\n <li\n class={cls(\"db-custom-select-list-item\", this.className, {\n \"db-checkbox\": this.type === \"checkbox\" && !this.isGroupTitle,\n \"db-radio\": this.type !== \"checkbox\" && !this.isGroupTitle,\n })}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-divider={getBooleanAsString(this.hasDivider)}\n >\n {!this.isGroupTitle ? (\n <label\n data-icon={\n this.type !== \"checkbox\" && this.icon ? this.icon : undefined\n }\n data-hide-icon={getHideProp(this.showIcon)}\n data-icon-after={this.getIconAfter()}\n >\n <input\n class=\"db-custom-select-list-item-checkbox\"\n data-disable-focus=\"true\"\n type={this.type}\n name={this.name}\n form={this.name}\n checked={getBoolean(this.checked, \"checked\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n value={this.value}\n onChange={(event) => this.handleChange(event)}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n ) : (\n <span>{this.groupTitle}</span>\n )}\n </li>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as s,h as i}from"./p-FlgrrUDn.js";import{g as a,l as d,j as e,c as h}from"./p-TU0pfK1i.js";const o=class{constructor(i){t(this,i);this.click=s(this,"click")}handleClick(t){t.stopPropagation();if(this.click){this.click.emit(t)}}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const d=s.item(a);if(d&&(d.name.startsWith("data-")||d.name.startsWith("aria-"))){t.setAttribute(d.name,d.value);i.removeAttribute(d.name)}if(d&&d.name==="class"){const s=d.value.includes("hydrated");const a=d.value.replace("hydrated","").trim();const e=t.getAttribute("class");t.setAttribute(d.name,`${e?`${e} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(d.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-button")}render(){return i("button",{key:"ab0e28367041812c16ace0c0091359f76f3fd57d",class:h("db-button",this.className),ref:t=>{this._ref=t},id:this.id,type:this.type||"button",disabled:e(this.disabled,"disabled"),"aria-label":this.label,"data-icon":this.icon,"data-hide-icon":d(this.showIcon),"data-size":this.size,"data-state":this.state,"data-width":this.width,"data-variant":this.variant,"data-no-text":a(this.noText),name:this.name,form:this.form,value:this.value,"aria-describedby":this.describedbyid,"aria-expanded":this.ariaexpanded,"aria-pressed":this.ariapressed,onClick:t=>this.handleClick(t)},this.text?this.text:i("slot",null))}};export{o as db_button};
2
+ //# sourceMappingURL=p-fd45d553.entry.js.map