@db-ux/wc-core-components 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/dist/cjs/db-accordion-item.cjs.entry.js +1 -1
  2. package/dist/cjs/db-accordion.cjs.entry.js +1 -1
  3. package/dist/cjs/db-badge.cjs.entry.js +1 -1
  4. package/dist/cjs/db-brand.cjs.entry.js +1 -1
  5. package/dist/cjs/db-button.cjs.entry.js +1 -1
  6. package/dist/cjs/db-card.cjs.entry.js +1 -1
  7. package/dist/cjs/db-checkbox.cjs.entry.js +15 -16
  8. package/dist/cjs/db-checkbox.cjs.entry.js.map +1 -1
  9. package/dist/cjs/db-divider.cjs.entry.js +1 -1
  10. package/dist/cjs/db-drawer.cjs.entry.js +1 -1
  11. package/dist/cjs/db-header.cjs.entry.js +2 -2
  12. package/dist/cjs/db-icon.cjs.entry.js +1 -1
  13. package/dist/cjs/db-infotext.cjs.entry.js +1 -1
  14. package/dist/cjs/db-input.cjs.entry.js +3 -3
  15. package/dist/cjs/db-input.cjs.entry.js.map +1 -1
  16. package/dist/cjs/db-link.cjs.entry.js +1 -1
  17. package/dist/cjs/db-navigation-item.cjs.entry.js +2 -2
  18. package/dist/cjs/db-navigation.cjs.entry.js +1 -1
  19. package/dist/cjs/db-notification.cjs.entry.js +1 -1
  20. package/dist/cjs/db-page.cjs.entry.js +1 -1
  21. package/dist/cjs/db-popover.cjs.entry.js +1 -1
  22. package/dist/cjs/db-radio.cjs.entry.js +4 -9
  23. package/dist/cjs/db-radio.cjs.entry.js.map +1 -1
  24. package/dist/cjs/db-section.cjs.entry.js +1 -1
  25. package/dist/cjs/db-select.cjs.entry.js +5 -5
  26. package/dist/cjs/db-select.cjs.entry.js.map +1 -1
  27. package/dist/cjs/db-stack.cjs.entry.js +1 -1
  28. package/dist/cjs/db-switch.cjs.entry.js +8 -4
  29. package/dist/cjs/db-switch.cjs.entry.js.map +1 -1
  30. package/dist/cjs/db-tab-item_3.cjs.entry.js +3 -3
  31. package/dist/cjs/db-tab-item_3.cjs.entry.js.map +1 -1
  32. package/dist/cjs/db-tabs.cjs.entry.js +21 -4
  33. package/dist/cjs/db-tabs.cjs.entry.js.map +1 -1
  34. package/dist/cjs/db-tag.cjs.entry.js +1 -1
  35. package/dist/cjs/db-textarea.cjs.entry.js +1 -1
  36. package/dist/cjs/db-tooltip.cjs.entry.js +1 -1
  37. package/dist/cjs/db-ux.cjs.js +1 -1
  38. package/dist/cjs/{index-c0df827d.js → index-403366c7.js} +1 -12
  39. package/dist/cjs/index-403366c7.js.map +1 -0
  40. package/dist/cjs/index.cjs.js +2 -4
  41. package/dist/cjs/index.cjs.js.map +1 -1
  42. package/dist/cjs/loader.cjs.js +1 -1
  43. package/dist/cjs/{navigation-bb2d5552.js → navigation-5586b826.js} +2 -2
  44. package/dist/cjs/{navigation-bb2d5552.js.map → navigation-5586b826.js.map} +1 -1
  45. package/dist/collection/components/checkbox/checkbox.js +21 -22
  46. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  47. package/dist/collection/components/input/input.js +27 -2
  48. package/dist/collection/components/input/input.js.map +1 -1
  49. package/dist/collection/components/input/model.js.map +1 -1
  50. package/dist/collection/components/radio/radio.js +3 -8
  51. package/dist/collection/components/radio/radio.js.map +1 -1
  52. package/dist/collection/components/select/model.js.map +1 -1
  53. package/dist/collection/components/select/select.js +29 -4
  54. package/dist/collection/components/select/select.js.map +1 -1
  55. package/dist/collection/components/switch/model.js.map +1 -1
  56. package/dist/collection/components/switch/switch.js +38 -10
  57. package/dist/collection/components/switch/switch.js.map +1 -1
  58. package/dist/collection/components/tab-item/tab-item.js +2 -2
  59. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  60. package/dist/collection/components/tabs/model.js.map +1 -1
  61. package/dist/collection/components/tabs/tabs.js +51 -3
  62. package/dist/collection/components/tabs/tabs.js.map +1 -1
  63. package/dist/collection/shared/model.js.map +1 -1
  64. package/dist/collection/utils/index.js +0 -11
  65. package/dist/collection/utils/index.js.map +1 -1
  66. package/dist/collection/utils/react.js +16 -0
  67. package/dist/collection/utils/react.js.map +1 -0
  68. package/dist/custom-elements.json +144 -43
  69. package/dist/db-ux/db-ux.esm.js +1 -1
  70. package/dist/db-ux/db-ux.esm.js.map +1 -1
  71. package/dist/db-ux/index.esm.js +1 -1
  72. package/dist/db-ux/index.esm.js.map +1 -1
  73. package/dist/db-ux/p-0983e297.entry.js +2 -0
  74. package/dist/db-ux/p-0983e297.entry.js.map +1 -0
  75. package/dist/db-ux/{p-34f88e4e.js → p-0cdf053e.js} +2 -2
  76. package/dist/db-ux/{p-2d32aa06.entry.js → p-0d08f973.entry.js} +2 -2
  77. package/dist/db-ux/{p-78e5293a.entry.js → p-123cb839.entry.js} +2 -2
  78. package/dist/db-ux/p-123cb839.entry.js.map +1 -0
  79. package/dist/db-ux/{p-10d30f53.entry.js → p-1665a1f6.entry.js} +2 -2
  80. package/dist/db-ux/{p-b0f1a571.entry.js → p-1efdd41a.entry.js} +2 -2
  81. package/dist/db-ux/{p-031e9fbf.entry.js → p-223b1031.entry.js} +2 -2
  82. package/dist/db-ux/{p-a3be13fd.entry.js → p-2f695fb2.entry.js} +2 -2
  83. package/dist/db-ux/{p-ab8a1944.entry.js → p-300fb4ff.entry.js} +2 -2
  84. package/dist/db-ux/{p-d48f3770.entry.js → p-3958b712.entry.js} +2 -2
  85. package/dist/db-ux/p-3958b712.entry.js.map +1 -0
  86. package/dist/db-ux/{p-fea6db86.entry.js → p-398c72a6.entry.js} +2 -2
  87. package/dist/db-ux/p-45bb9feb.js +2 -0
  88. package/dist/db-ux/p-45bb9feb.js.map +1 -0
  89. package/dist/db-ux/{p-43aa16d7.entry.js → p-5c1b65ac.entry.js} +2 -2
  90. package/dist/db-ux/p-69948f78.entry.js +2 -0
  91. package/dist/db-ux/p-69948f78.entry.js.map +1 -0
  92. package/dist/db-ux/{p-6b6f1f7f.entry.js → p-7eb92648.entry.js} +2 -2
  93. package/dist/db-ux/{p-1c12853c.entry.js → p-8d9ef330.entry.js} +2 -2
  94. package/dist/db-ux/{p-79b43b42.entry.js → p-90caefe4.entry.js} +2 -2
  95. package/dist/db-ux/{p-c6d54dd4.entry.js → p-95e59a69.entry.js} +2 -2
  96. package/dist/db-ux/{p-71cb932e.entry.js → p-ab783af4.entry.js} +2 -2
  97. package/dist/db-ux/{p-3f2e2d87.entry.js → p-b0b04684.entry.js} +2 -2
  98. package/dist/db-ux/{p-79d9caa7.entry.js → p-b2886d1c.entry.js} +2 -2
  99. package/dist/db-ux/p-b4eefd78.entry.js +2 -0
  100. package/dist/db-ux/{p-08126c21.entry.js → p-c367b891.entry.js} +2 -2
  101. package/dist/db-ux/{p-1066cd52.entry.js → p-cf22eaea.entry.js} +2 -2
  102. package/dist/db-ux/{p-2e318e2a.entry.js → p-e1788dce.entry.js} +2 -2
  103. package/dist/db-ux/p-e1788dce.entry.js.map +1 -0
  104. package/dist/db-ux/p-e24051a3.entry.js +2 -0
  105. package/dist/db-ux/p-e24051a3.entry.js.map +1 -0
  106. package/dist/db-ux/{p-683d690f.entry.js → p-e6f5c82d.entry.js} +2 -2
  107. package/dist/db-ux/{p-5a689165.entry.js → p-f23ca7f6.entry.js} +2 -2
  108. package/dist/db-ux/{p-b47af6eb.entry.js → p-f3251c56.entry.js} +2 -2
  109. package/dist/db-ux/{p-8e2a086b.entry.js → p-f78c8591.entry.js} +2 -2
  110. package/dist/db-ux/p-fa9a7966.entry.js +2 -0
  111. package/dist/db-ux/p-fa9a7966.entry.js.map +1 -0
  112. package/dist/esm/db-accordion-item.entry.js +1 -1
  113. package/dist/esm/db-accordion.entry.js +1 -1
  114. package/dist/esm/db-badge.entry.js +1 -1
  115. package/dist/esm/db-brand.entry.js +1 -1
  116. package/dist/esm/db-button.entry.js +1 -1
  117. package/dist/esm/db-card.entry.js +1 -1
  118. package/dist/esm/db-checkbox.entry.js +15 -16
  119. package/dist/esm/db-checkbox.entry.js.map +1 -1
  120. package/dist/esm/db-divider.entry.js +1 -1
  121. package/dist/esm/db-drawer.entry.js +1 -1
  122. package/dist/esm/db-header.entry.js +2 -2
  123. package/dist/esm/db-icon.entry.js +1 -1
  124. package/dist/esm/db-infotext.entry.js +1 -1
  125. package/dist/esm/db-input.entry.js +3 -3
  126. package/dist/esm/db-input.entry.js.map +1 -1
  127. package/dist/esm/db-link.entry.js +1 -1
  128. package/dist/esm/db-navigation-item.entry.js +2 -2
  129. package/dist/esm/db-navigation.entry.js +1 -1
  130. package/dist/esm/db-notification.entry.js +1 -1
  131. package/dist/esm/db-page.entry.js +1 -1
  132. package/dist/esm/db-popover.entry.js +1 -1
  133. package/dist/esm/db-radio.entry.js +4 -9
  134. package/dist/esm/db-radio.entry.js.map +1 -1
  135. package/dist/esm/db-section.entry.js +1 -1
  136. package/dist/esm/db-select.entry.js +5 -5
  137. package/dist/esm/db-select.entry.js.map +1 -1
  138. package/dist/esm/db-stack.entry.js +1 -1
  139. package/dist/esm/db-switch.entry.js +8 -4
  140. package/dist/esm/db-switch.entry.js.map +1 -1
  141. package/dist/esm/db-tab-item_3.entry.js +3 -3
  142. package/dist/esm/db-tab-item_3.entry.js.map +1 -1
  143. package/dist/esm/db-tabs.entry.js +22 -5
  144. package/dist/esm/db-tabs.entry.js.map +1 -1
  145. package/dist/esm/db-tag.entry.js +1 -1
  146. package/dist/esm/db-textarea.entry.js +1 -1
  147. package/dist/esm/db-tooltip.entry.js +1 -1
  148. package/dist/esm/db-ux.js +1 -1
  149. package/dist/esm/{index-fad99efc.js → index-7d31752e.js} +2 -11
  150. package/dist/esm/index-7d31752e.js.map +1 -0
  151. package/dist/esm/index.js +2 -2
  152. package/dist/esm/index.js.map +1 -1
  153. package/dist/esm/loader.js +1 -1
  154. package/dist/esm/{navigation-9fec9921.js → navigation-09e3ace3.js} +2 -2
  155. package/dist/esm/{navigation-9fec9921.js.map → navigation-09e3ace3.js.map} +1 -1
  156. package/dist/types/components/checkbox/checkbox.d.ts +1 -1
  157. package/dist/types/components/input/input.d.ts +1 -0
  158. package/dist/types/components/input/model.d.ts +2 -2
  159. package/dist/types/components/select/model.d.ts +2 -2
  160. package/dist/types/components/select/select.d.ts +1 -0
  161. package/dist/types/components/switch/model.d.ts +2 -2
  162. package/dist/types/components/switch/switch.d.ts +3 -2
  163. package/dist/types/components/tab-item/tab-item.d.ts +1 -2
  164. package/dist/types/components/tabs/model.d.ts +9 -0
  165. package/dist/types/components/tabs/tabs.d.ts +3 -0
  166. package/dist/types/components.d.ts +24 -0
  167. package/dist/types/shared/model.d.ts +6 -0
  168. package/dist/types/utils/index.d.ts +0 -4
  169. package/dist/types/utils/react.d.ts +7 -0
  170. package/dist/vscode.html-custom-data.json +14 -7
  171. package/dist/web-types.json +54 -19
  172. package/package.json +3 -3
  173. package/dist/cjs/index-c0df827d.js.map +0 -1
  174. package/dist/db-ux/p-1566cfef.entry.js +0 -2
  175. package/dist/db-ux/p-1566cfef.entry.js.map +0 -1
  176. package/dist/db-ux/p-2e318e2a.entry.js.map +0 -1
  177. package/dist/db-ux/p-6f645f17.entry.js +0 -2
  178. package/dist/db-ux/p-6f645f17.entry.js.map +0 -1
  179. package/dist/db-ux/p-78e5293a.entry.js.map +0 -1
  180. package/dist/db-ux/p-871805e1.entry.js +0 -2
  181. package/dist/db-ux/p-871805e1.entry.js.map +0 -1
  182. package/dist/db-ux/p-99d90022.js +0 -2
  183. package/dist/db-ux/p-99d90022.js.map +0 -1
  184. package/dist/db-ux/p-a494046c.entry.js +0 -2
  185. package/dist/db-ux/p-a494046c.entry.js.map +0 -1
  186. package/dist/db-ux/p-d48f3770.entry.js.map +0 -1
  187. package/dist/db-ux/p-f65f4eac.entry.js +0 -2
  188. package/dist/esm/index-fad99efc.js.map +0 -1
  189. /package/dist/db-ux/{p-34f88e4e.js.map → p-0cdf053e.js.map} +0 -0
  190. /package/dist/db-ux/{p-2d32aa06.entry.js.map → p-0d08f973.entry.js.map} +0 -0
  191. /package/dist/db-ux/{p-10d30f53.entry.js.map → p-1665a1f6.entry.js.map} +0 -0
  192. /package/dist/db-ux/{p-b0f1a571.entry.js.map → p-1efdd41a.entry.js.map} +0 -0
  193. /package/dist/db-ux/{p-031e9fbf.entry.js.map → p-223b1031.entry.js.map} +0 -0
  194. /package/dist/db-ux/{p-a3be13fd.entry.js.map → p-2f695fb2.entry.js.map} +0 -0
  195. /package/dist/db-ux/{p-ab8a1944.entry.js.map → p-300fb4ff.entry.js.map} +0 -0
  196. /package/dist/db-ux/{p-fea6db86.entry.js.map → p-398c72a6.entry.js.map} +0 -0
  197. /package/dist/db-ux/{p-43aa16d7.entry.js.map → p-5c1b65ac.entry.js.map} +0 -0
  198. /package/dist/db-ux/{p-6b6f1f7f.entry.js.map → p-7eb92648.entry.js.map} +0 -0
  199. /package/dist/db-ux/{p-1c12853c.entry.js.map → p-8d9ef330.entry.js.map} +0 -0
  200. /package/dist/db-ux/{p-79b43b42.entry.js.map → p-90caefe4.entry.js.map} +0 -0
  201. /package/dist/db-ux/{p-c6d54dd4.entry.js.map → p-95e59a69.entry.js.map} +0 -0
  202. /package/dist/db-ux/{p-71cb932e.entry.js.map → p-ab783af4.entry.js.map} +0 -0
  203. /package/dist/db-ux/{p-3f2e2d87.entry.js.map → p-b0b04684.entry.js.map} +0 -0
  204. /package/dist/db-ux/{p-79d9caa7.entry.js.map → p-b2886d1c.entry.js.map} +0 -0
  205. /package/dist/db-ux/{p-f65f4eac.entry.js.map → p-b4eefd78.entry.js.map} +0 -0
  206. /package/dist/db-ux/{p-08126c21.entry.js.map → p-c367b891.entry.js.map} +0 -0
  207. /package/dist/db-ux/{p-1066cd52.entry.js.map → p-cf22eaea.entry.js.map} +0 -0
  208. /package/dist/db-ux/{p-683d690f.entry.js.map → p-e6f5c82d.entry.js.map} +0 -0
  209. /package/dist/db-ux/{p-5a689165.entry.js.map → p-f23ca7f6.entry.js.map} +0 -0
  210. /package/dist/db-ux/{p-b47af6eb.entry.js.map → p-f3251c56.entry.js.map} +0 -0
  211. /package/dist/db-ux/{p-8e2a086b.entry.js.map → p-f78c8591.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"db-select.entry.cjs.js","mappings":"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","names":["hasVoiceOver","DEFAULT_INVALID_MESSAGE","delay","DEFAULT_VALID_MESSAGE","stringPropVisible","uuid","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","DEFAULT_PLACEHOLDER_ID_SUFFIX","h","cls","getHideProp","DEFAULT_LABEL","Fragment"],"sources":["src/components/select/select.tsx"],"sourcesContent":["import { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./model\";\nimport {\n cls,\n delay,\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 { Component, h, Fragment, Event, Prop, State } 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 | null;\n @Prop() id: DBSelectProps[\"id\"];\n @Prop() message: DBSelectProps[\"message\"];\n @Prop() showMessage: DBSelectProps[\"showMessage\"];\n @Prop() value: DBSelectProps[\"value\"];\n @Event() onClick: any;\n @Event() onInput: any;\n @Prop() input: DBSelectProps[\"input\"];\n @Event() onChange: any;\n @Prop() change: DBSelectProps[\"change\"];\n @Prop() validation: DBSelectProps[\"validation\"];\n @Prop() invalidMessage: DBSelectProps[\"invalidMessage\"];\n @Prop() required: DBSelectProps[\"required\"];\n @Prop() validMessage: DBSelectProps[\"validMessage\"];\n @Event() onBlur: any;\n @Prop() blur: DBSelectProps[\"blur\"];\n @Event() onFocus: any;\n @Prop() focus: DBSelectProps[\"focus\"];\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() autocomplete: DBSelectProps[\"autocomplete\"];\n @Prop() options: DBSelectProps[\"options\"];\n\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() _placeholderId = \"\";\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() initialized = false;\n @State() _voiceOverFallback = \"\";\n\n handleClick(event: ClickEvent<HTMLSelectElement>) {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n }\n handleInput(event: InputEvent<HTMLSelectElement>) {\n if (this.onInput) {\n this.onInput.emit(event);\n }\n if (this.input) {\n this.input(event);\n }\n }\n handleChange(event: ChangeEvent<HTMLSelectElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\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 if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.validity.valid && 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 handleBlur(event: InteractionEvent<HTMLSelectElement>) {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLSelectElement>) {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus(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 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 }\n\n componentDidUpdate() {\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 this._value = this.value;\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={this.required}\n disabled={this.disabled}\n id={this._id}\n name={this.name}\n /* @ts-ignore */\nvalue={this.value ?? this._value}\n autocomplete={this.autocomplete}\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 : null}\n <slot></slot>\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 <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage ?? DEFAULT_VALID_MESSAGE}\n </db-infotext>\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"db-select.entry.cjs.js","mappings":";;;;;;;;MAwCa,QAAQ;IAHpB;;;;;;;QAoCU,QAAG,GAAG,SAAS,CAAC;QAChB,eAAU,GAAG,SAAS,CAAC;QACvB,oBAAe,GAAG,SAAS,CAAC;QAC5B,sBAAiB,GAAG,SAAS,CAAC;QAC9B,mBAAc,GAAG,EAAE,CAAC;QACpB,eAAU,GAAG,EAAE,CAAC;QAChB,WAAM,GAAG,EAAE,CAAC;QACZ,gBAAW,GAAG,KAAK,CAAC;QACpB,uBAAkB,GAAG,EAAE,CAAC;KAuOlC;IArOC,WAAW,CAAC,KAAoC;QAC9C,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1B;KACF;IACD,WAAW,CAAC,KAAoC;QAC9C,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1B;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACnB;KACF;IACD,YAAY,CAAC,KAAqC;;QAChD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACpB;;QAED,IAAI,EAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC,KAAK,CAAA,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACzC,IAAIA,oBAAY,EAAE,EAAE;gBAClB,IAAI,CAAC,kBAAkB;oBACrB,MAAA,MAAA,IAAI,CAAC,cAAc,mCACnB,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB,mCAC5BC,iCAAuB,CAAC;gBAC1BC,aAAK,CAAC,OAAO,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;aACnD;SACF;aAAM,IACL,IAAI,CAAC,UAAU,KAAK,OAAO;aAC1B,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC,KAAK,KAAI,IAAI,CAAC,QAAQ,CAAC,EAC5C;YACA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;YACvC,IAAIF,oBAAY,EAAE,EAAE;gBAClB,IAAI,CAAC,kBAAkB,GAAG,MAAA,IAAI,CAAC,YAAY,mCAAIG,+BAAqB,CAAC;gBACrED,aAAK,CAAC,OAAO,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;aACnD;SACF;aAAM,IAAIE,yBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;YAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;SACvC;KACF;IACD,UAAU,CAAC,KAA0C;QACnD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzB;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClB;KACF;IACD,WAAW,CAAC,KAA0C;QACpD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1B;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACnB;KACF;IACD,cAAc,CAAC,MAA0B;;QACvC,OAAO,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;KAChD;;;;;;IAOO,sBAAsB,CAC5B,OAAiC,EACjC,qBAA6B;QAE7B,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACvD,IAAI,OAAO,IAAI,MAAM,EAAE;YACrB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,IACE,IAAI;qBACH,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAChE;oBACA,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnC;gBACD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;oBACjC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACxD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACnD,OAAO,CAAC,YAAY,CAClB,IAAI,CAAC,IAAI,EACT,GAAG,YAAY,GAAG,GAAG,YAAY,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,CACpD,CAAC;oBACF,IAAI,cAAc,EAAE;;wBAElB,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;qBAC1C;yBAAM;wBACL,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACnC;iBACF;aACF;SACF;KACF;IAED,gBAAgB;;QACd,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,EAAE,mCAAI,UAAUC,YAAI,EAAE,EAAE,CAAC;QAC1C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,GAAG,GAAGC,mCAAyB,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,GAAG,GAAGC,yCAA+B,CAAC;QAC7D,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAGC,2CAAiC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,GAAG,GAAGC,uCAA6B,CAAC;KAC3D;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,GAAGH,mCAAyB,CAAC;YACvD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,GAAGG,uCAA6B,CAAC;YAC/D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,GAAGF,yCAA+B,CAAC;YAClE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,GAAGC,2CAAiC,CAAC;YACtE,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;YACpC,IAAIJ,yBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;gBACrD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;aAC7B;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;aACjC;YACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;KAC1B;IAED,MAAM;;QACJ,QACEM,kEACE,KAAK,EAAEC,WAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,kBACzB,IAAI,CAAC,OAAO,qBACTC,mBAAW,CAAC,IAAI,CAAC,SAAS,CAAC,eACjC,IAAI,CAAC,IAAI,oBACJA,mBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAE1CF,oEAAO,OAAO,EAAE,IAAI,CAAC,GAAG,IAAG,MAAA,IAAI,CAAC,KAAK,mCAAIG,uBAAa,CAAS,EAC/DH,qFACgB,IAAI,CAAC,UAAU,KAAK,SAAS,0BACrB,IAAI,CAAC,UAAU,EACrC,GAAG,EAAE,CAAC,EAAO;gBACX,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;aAChB,EACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI;;YAEzB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,MAAM,EACtB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,OAAO,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAC3C,OAAO,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAC3C,QAAQ,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAC7C,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EACzC,OAAO,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,sBACzB,IAAI,CAAC,UAAU,IAEjCA,qEAAQ,MAAM,EAAE,IAAI,GAAW,EAC9B,IAAI,CAAC,OAAO;cACT,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,CAAC,MAAM;;gBAAK,QAC5BA,QAACI,cAAQ,QACN,MAAM,CAAC,OAAO,IACbJ,sBAAU,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IACzC,MAAA,MAAM,CAAC,OAAO,0CAAE,GAAG,CAAC,CAAC,cAAc,MAClCA,oBACE,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,EACpC,KAAK,EAAE,cAAc,CAAC,KAAK,EAC3B,QAAQ,EAAE,cAAc,CAAC,QAAQ,EACjC,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAEhC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAC7B,CACV,CAAC,CACO,IACT,IAAI,EACP,CAAC,MAAM,CAAC,OAAO,IACdA,oBACE,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAExB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CACrB,IACP,IAAI,CACC,EACZ;aAAA,CAAC;cACF,IAAI,EACRA,oEAAa,CACN,EACTA,mEAAM,EAAE,EAAE,IAAI,CAAC,cAAc,IAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,IAAI,CAAC,KAAK,CAAQ,EACrEN,yBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAChDM,yBACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,WAAW,EACtB,EAAE,EAAE,IAAI,CAAC,UAAU,IAElB,IAAI,CAAC,OAAO,CACD,IACZ,IAAI,EACRA,0EACE,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAC,YAAY,EACrB,EAAE,EAAE,IAAI,CAAC,eAAe,IAEvB,MAAA,IAAI,CAAC,YAAY,mCAAIP,+BAAqB,CAC/B,EACdO,0EACE,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAC,UAAU,EACnB,EAAE,EAAE,IAAI,CAAC,iBAAiB,IAEzB,MAAA,MAAA,IAAI,CAAC,cAAc,mCAClB,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB,mCAC5BT,iCAAuB,CACb,EACdS,2FAA2B,MAAM,EAAC,IAAI,EAAC,QAAQ,IAC5C,IAAI,CAAC,kBAAkB,CACnB,CACH,EACN;KACH;;;;;","names":["hasVoiceOver","DEFAULT_INVALID_MESSAGE","delay","DEFAULT_VALID_MESSAGE","stringPropVisible","uuid","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","DEFAULT_PLACEHOLDER_ID_SUFFIX","h","cls","getHideProp","DEFAULT_LABEL","Fragment"],"sources":["src/components/select/select.tsx"],"sourcesContent":["import { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./model\";\nimport {\n cls,\n delay,\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 { Component, h, Fragment, Event, Prop, State } 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 | null;\n @Prop() id: DBSelectProps[\"id\"];\n @Prop() message: DBSelectProps[\"message\"];\n @Prop() showMessage: DBSelectProps[\"showMessage\"];\n @Prop() value: DBSelectProps[\"value\"];\n @Event() onClick: any;\n @Event() onInput: any;\n @Prop() input: DBSelectProps[\"input\"];\n @Event() onChange: any;\n @Prop() change: DBSelectProps[\"change\"];\n @Prop() validation: DBSelectProps[\"validation\"];\n @Prop() invalidMessage: DBSelectProps[\"invalidMessage\"];\n @Prop() required: DBSelectProps[\"required\"];\n @Prop() validMessage: DBSelectProps[\"validMessage\"];\n @Event() onBlur: any;\n @Prop() blur: DBSelectProps[\"blur\"];\n @Event() onFocus: any;\n @Prop() focus: DBSelectProps[\"focus\"];\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() options: DBSelectProps[\"options\"];\n\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() _placeholderId = \"\";\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() initialized = false;\n @State() _voiceOverFallback = \"\";\n\n handleClick(event: ClickEvent<HTMLSelectElement>) {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n }\n handleInput(event: InputEvent<HTMLSelectElement>) {\n if (this.onInput) {\n this.onInput.emit(event);\n }\n if (this.input) {\n this.input(event);\n }\n }\n handleChange(event: ChangeEvent<HTMLSelectElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\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 if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.validity.valid && 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 handleBlur(event: InteractionEvent<HTMLSelectElement>) {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLSelectElement>) {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus(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 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 }\n\n componentDidUpdate() {\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 this._value = this.value;\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={this.required}\n disabled={this.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 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 : null}\n <slot></slot>\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 <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage ?? DEFAULT_VALID_MESSAGE}\n </db-infotext>\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"version":3}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-3d093f06.js');
6
- const index$1 = require('./index-c0df827d.js');
6
+ const index$1 = require('./index-403366c7.js');
7
7
 
8
8
  const DBStack = class {
9
9
  constructor(hostRef) {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-3d093f06.js');
6
- const index$1 = require('./index-c0df827d.js');
6
+ const index$1 = require('./index-403366c7.js');
7
7
 
8
8
  const DBSwitch = class {
9
9
  constructor(hostRef) {
@@ -13,7 +13,6 @@ const DBSwitch = class {
13
13
  this.onFocus = index.createEvent(this, "onFocus", 7);
14
14
  this._id = undefined;
15
15
  this._checked = false;
16
- this.initialized = false;
17
16
  }
18
17
  handleChange(event) {
19
18
  var _a;
@@ -79,10 +78,15 @@ const DBSwitch = class {
79
78
  this.enableAttributePassing(this._ref, "db-switch");
80
79
  this._id = (_a = this.id) !== null && _a !== void 0 ? _a : `switch-${index$1.uuid()}`;
81
80
  }
81
+ componentDidUpdate() {
82
+ if (this.checked !== undefined && this.checked !== null) {
83
+ this._checked = !!this.checked;
84
+ }
85
+ }
82
86
  render() {
83
- return (index.h("label", { key: 'eed236170700dfab522d745d812721705e427451', class: index$1.cls("db-switch", this.className), "data-visual-aid": index$1.getBooleanAsString(this.visualAid), "data-size": this.size, "data-hide-label": index$1.getHideProp(this.showLabel), "data-emphasis": this.emphasis, htmlFor: this._id }, index.h("input", { key: '10e378dc22bc93e4b9d028a8ffa411b3fbb856e0', type: "checkbox", role: "switch", id: this._id, "aria-checked": this._checked, ref: (el) => {
87
+ return (index.h("label", { key: '1c301648d509c8d67d02cb96e89b4aed178a648a', class: index$1.cls("db-switch", this.className), "data-visual-aid": index$1.getBooleanAsString(this.visualAid), "data-size": this.size, "data-hide-label": index$1.getHideProp(this.showLabel), "data-emphasis": this.emphasis, htmlFor: this._id }, index.h("input", { key: '5d5fc24b58aa99e4aaeb83cabe533381c5477528', type: "checkbox", role: "switch", id: this._id, "aria-checked": index$1.getBooleanAsString(this._checked), ref: (el) => {
84
88
  this._ref = el;
85
- }, checked: this.checked, disabled: this.disabled, "aria-describedby": this.describedbyid, "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, name: this.name, required: this.required, "data-aid-icon": this.icon, "data-aid-icon-after": this.iconAfter, onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event) }), this.label ? this.label : index.h("slot", null)));
89
+ }, checked: this.checked, value: this.value, disabled: this.disabled, "aria-describedby": this.describedbyid, "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, name: this.name, required: this.required, "data-aid-icon": this.icon, "data-aid-icon-after": this.iconAfter, onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event) }), this.label ? this.label : index.h("slot", null)));
86
90
  }
87
91
  };
88
92
 
@@ -1 +1 @@
1
- {"file":"db-switch.entry.cjs.js","mappings":"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","names":["uuid","h","cls","getBooleanAsString","getHideProp"],"sources":["src/components/switch/switch.tsx"],"sourcesContent":["import { DBSwitchProps, DBSwitchState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp, uuid } from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport { Component, h, Fragment, Event, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-switch\",\n})\nexport class DBSwitch {\n private _ref!: HTMLInputElement | null;\n @Prop() id: DBSwitchProps[\"id\"];\n @Event() onChange: any;\n @Prop() change: DBSwitchProps[\"change\"];\n @Event() onBlur: any;\n @Prop() blur: DBSwitchProps[\"blur\"];\n @Event() onFocus: any;\n @Prop() focus: DBSwitchProps[\"focus\"];\n @Prop() visualAid: DBSwitchProps[\"visualAid\"];\n @Prop() size: DBSwitchProps[\"size\"];\n @Prop() showLabel: DBSwitchProps[\"showLabel\"];\n @Prop() emphasis: DBSwitchProps[\"emphasis\"];\n @Prop({attribute: \"classname\"}) className: DBSwitchProps[\"className\"];\n @Prop() checked: DBSwitchProps[\"checked\"];\n @Prop() disabled: DBSwitchProps[\"disabled\"];\n @Prop() describedbyid: DBSwitchProps[\"describedbyid\"];\n @Prop() validation: DBSwitchProps[\"validation\"];\n @Prop() name: DBSwitchProps[\"name\"];\n @Prop() required: DBSwitchProps[\"required\"];\n @Prop() icon: DBSwitchProps[\"icon\"];\n @Prop() iconAfter: DBSwitchProps[\"iconAfter\"];\n @Prop() label: DBSwitchProps[\"label\"];\n\n @State() _id = undefined;\n @State() _checked = false;\n @State() initialized = false;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n this._checked = (event.target as any)?.[\"checked\"];\n }\n handleBlur(event: InteractionEvent<HTMLInputElement>) {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement>) {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus(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 componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-switch\");\n this._id = this.id ?? `switch-${uuid()}`;\n }\n\n render() {\n return (\n <label\n class={cls(\"db-switch\", this.className)}\n data-visual-aid={getBooleanAsString(this.visualAid)}\n data-size={this.size}\n data-hide-label={getHideProp(this.showLabel)}\n data-emphasis={this.emphasis}\n htmlFor={this._id}\n >\n <input\n type=\"checkbox\"\n role=\"switch\"\n id={this._id}\n aria-checked={this._checked}\n ref={(el: any) => {\n this._ref = el;\n }}\n checked={this.checked}\n disabled={this.disabled}\n aria-describedby={this.describedbyid}\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n name={this.name}\n required={this.required}\n data-aid-icon={this.icon}\n data-aid-icon-after={this.iconAfter}\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"],"version":3}
1
+ {"file":"db-switch.entry.cjs.js","mappings":"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","names":["uuid","h","cls","getBooleanAsString","getHideProp"],"sources":["src/components/switch/switch.tsx"],"sourcesContent":["import { DBSwitchProps, DBSwitchState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp, uuid } from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport { Component, h, Fragment, Event, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-switch\",\n})\nexport class DBSwitch {\n private _ref!: HTMLInputElement | null;\n @Prop() id: DBSwitchProps[\"id\"];\n @Prop() checked: DBSwitchProps[\"checked\"];\n @Event() onChange: any;\n @Prop() change: DBSwitchProps[\"change\"];\n @Event() onBlur: any;\n @Prop() blur: DBSwitchProps[\"blur\"];\n @Event() onFocus: any;\n @Prop() focus: DBSwitchProps[\"focus\"];\n @Prop() visualAid: DBSwitchProps[\"visualAid\"];\n @Prop() size: DBSwitchProps[\"size\"];\n @Prop() showLabel: DBSwitchProps[\"showLabel\"];\n @Prop() emphasis: DBSwitchProps[\"emphasis\"];\n @Prop({attribute: \"classname\"}) className: DBSwitchProps[\"className\"];\n @Prop() value: DBSwitchProps[\"value\"];\n @Prop() disabled: DBSwitchProps[\"disabled\"];\n @Prop() describedbyid: DBSwitchProps[\"describedbyid\"];\n @Prop() validation: DBSwitchProps[\"validation\"];\n @Prop() name: DBSwitchProps[\"name\"];\n @Prop() required: DBSwitchProps[\"required\"];\n @Prop() icon: DBSwitchProps[\"icon\"];\n @Prop() iconAfter: DBSwitchProps[\"iconAfter\"];\n @Prop() label: DBSwitchProps[\"label\"];\n\n @State() _id = undefined;\n @State() _checked = false;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n this._checked = (event.target as any)?.[\"checked\"];\n }\n handleBlur(event: InteractionEvent<HTMLInputElement>) {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement>) {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus(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 componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-switch\");\n this._id = this.id ?? `switch-${uuid()}`;\n }\n\n componentDidUpdate() {\n if (this.checked !== undefined && this.checked !== null) {\n this._checked = !!this.checked;\n }\n }\n\n render() {\n return (\n <label\n class={cls(\"db-switch\", this.className)}\n data-visual-aid={getBooleanAsString(this.visualAid)}\n data-size={this.size}\n data-hide-label={getHideProp(this.showLabel)}\n data-emphasis={this.emphasis}\n htmlFor={this._id}\n >\n <input\n type=\"checkbox\"\n role=\"switch\"\n id={this._id}\n aria-checked={getBooleanAsString(this._checked)}\n ref={(el: any) => {\n this._ref = el;\n }}\n checked={this.checked}\n value={this.value}\n disabled={this.disabled}\n aria-describedby={this.describedbyid}\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n name={this.name}\n required={this.required}\n data-aid-icon={this.icon}\n data-aid-icon-after={this.iconAfter}\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"],"version":3}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-3d093f06.js');
6
- const index$1 = require('./index-c0df827d.js');
6
+ const index$1 = require('./index-403366c7.js');
7
7
  const constants = require('./constants-89822e5f.js');
8
8
 
9
9
  const DBTabItem = class {
@@ -68,9 +68,9 @@ const DBTabItem = class {
68
68
  }
69
69
  }
70
70
  render() {
71
- return (index.h("li", { key: '9b06c4a5236dd94278169644ef1ada748fb19f86', class: index$1.cls("db-tab-item", this.className), role: "none" }, index.h("label", { key: '2189b9ec92e56a9502279091e25b7f91536b6435', htmlFor: this.id, "data-icon": this.icon, "data-icon-after": this.iconAfter, "data-hide-icon": index$1.getHideProp(this.showIcon), "data-hide-icon-after": index$1.getHideProp(this.showIcon), "data-no-text": this.noText }, index.h("input", { key: '7464ece5d41bdfc2166548efd1888e835874400d', type: "radio", role: "tab", disabled: this.disabled, "aria-selected": this._selected, "aria-controls": this.controls, checked: this.checked, ref: (el) => {
71
+ return (index.h("li", { key: 'b74836903d6f4fb378dfefe400c4ee90e87e81b6', class: index$1.cls("db-tab-item", this.className), role: "none" }, index.h("label", { key: 'd54e0cdf202b70a2184ad29adac3a5b7aac1cce0', htmlFor: this.id, "data-icon": this.icon, "data-icon-after": this.iconAfter, "data-hide-icon": index$1.getHideProp(this.showIcon), "data-hide-icon-after": index$1.getHideProp(this.showIcon), "data-no-text": this.noText }, index.h("input", { key: '40dc63d4f0c756b8900917f0d216d005874303a2', type: "radio", role: "tab", disabled: this.disabled, "aria-selected": this._selected, "aria-controls": this.controls, checked: this.checked, ref: (el) => {
72
72
  this._ref = el;
73
- }, id: this.id, onChange: (event) => this.handleChange(event) }), this.label ? this.label : null, index.h("slot", { key: 'f5fd6eacea787f4814f749203e52ecf5d633b884' }))));
73
+ }, id: this.id, onChange: (event) => this.handleChange(event) }), this.label ? this.label : null, index.h("slot", { key: '3ef8b94926e52b17980f663487887b41f03f6b10' }))));
74
74
  }
75
75
  };
76
76
 
@@ -1 +1 @@
1
- {"file":"db-tab-item.db-tab-list.db-tab-panel.entry.cjs.js","mappings":"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","names":["getBooleanAsString","h","cls","getHideProp","DEFAULT_ID","uuid"],"sources":["src/components/tab-item/tab-item.tsx","src/components/tab-list/tab-list.tsx","src/components/tab-panel/tab-panel.tsx"],"sourcesContent":["import type { DBTabItemProps, DBTabItemState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ChangeEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport { Component, h, Fragment, Event, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tab-item\",\n})\nexport class DBTabItem {\n private _ref!: HTMLInputElement | null;\n @Prop() active: DBTabItemProps[\"active\"];\n @Event() onChange: any;\n @Prop() change: DBTabItemProps[\"change\"];\n @Prop({attribute: \"classname\"}) className: DBTabItemProps[\"className\"];\n @Prop() id: DBTabItemProps[\"id\"];\n @Prop() icon: DBTabItemProps[\"icon\"];\n @Prop() iconAfter: DBTabItemProps[\"iconAfter\"];\n @Prop() showIcon: DBTabItemProps[\"showIcon\"];\n @Prop() noText: DBTabItemProps[\"noText\"];\n @Prop() disabled: DBTabItemProps[\"disabled\"];\n @Prop() controls: DBTabItemProps[\"controls\"];\n @Prop() checked: DBTabItemProps[\"checked\"];\n @Prop() label: DBTabItemProps[\"label\"];\n\n @State() initialized = false;\n @State() _selected = false;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n\n const selected = (event.target as any)?.[\"checked\"];\n this._selected = getBooleanAsString(selected);\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tab-item\");\n this.initialized = true;\n }\n\n componentDidUpdate() {\n if (this.active && this.initialized && this._ref) {\n this._ref.click();\n this.initialized = false;\n }\n }\n\n render() {\n return (\n <li class={cls(\"db-tab-item\", this.className)} role=\"none\">\n <label\n htmlFor={this.id}\n data-icon={this.icon}\n data-icon-after={this.iconAfter}\n data-hide-icon={getHideProp(this.showIcon)}\n data-hide-icon-after={getHideProp(this.showIcon)}\n data-no-text={this.noText}\n >\n <input\n type=\"radio\"\n role=\"tab\"\n disabled={this.disabled}\n aria-selected={this._selected}\n aria-controls={this.controls}\n checked={this.checked}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n onChange={(event) => this.handleChange(event)}\n />\n {this.label ? this.label : null}\n <slot></slot>\n </label>\n </li>\n );\n }\n}\n","import { DBTabListProps, DBTabListState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tab-list\",\n})\nexport class DBTabList {\n private _ref!: HTMLDivElement | null;\n @Prop() id: DBTabListProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTabListProps[\"className\"];\n\n @State() _id = DEFAULT_ID;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tab-list\");\n this._id = this.id || \"tab-list-\" + uuid();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tab-list\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n >\n <ul role=\"tablist\">\n <slot></slot>\n </ul>\n </div>\n );\n }\n}\n","import { DBTabPanelProps, DBTabPanelState } 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-tab-panel\",\n})\nexport class DBTabPanel {\n private _ref!: HTMLDivElement | null;\n @Prop({attribute: \"classname\"}) className: DBTabPanelProps[\"className\"];\n @Prop() id: DBTabPanelProps[\"id\"];\n @Prop() labelledBy: DBTabPanelProps[\"labelledBy\"];\n @Prop() content: DBTabPanelProps[\"content\"];\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-tab-panel\");\n }\n\n render() {\n return (\n <section\n class={cls(\"db-tab-panel\", this.className)}\n role=\"tabpanel\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n aria-labelledby={this.labelledBy}\n >\n {this.content ? this.content : null}\n <slot></slot>\n </section>\n );\n }\n}\n"],"version":3}
1
+ {"file":"db-tab-item.db-tab-list.db-tab-panel.entry.cjs.js","mappings":"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","names":["getBooleanAsString","h","cls","getHideProp","DEFAULT_ID","uuid"],"sources":["src/components/tab-item/tab-item.tsx","src/components/tab-list/tab-list.tsx","src/components/tab-panel/tab-panel.tsx"],"sourcesContent":["import type { DBTabItemProps, DBTabItemState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport { Component, h, Fragment, Event, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tab-item\",\n})\nexport class DBTabItem {\n private _ref!: HTMLInputElement | null;\n @Prop() active: DBTabItemProps[\"active\"];\n @Event() onChange: any;\n @Prop() change: DBTabItemProps[\"change\"];\n @Prop({attribute: \"classname\"}) className: DBTabItemProps[\"className\"];\n @Prop() id: DBTabItemProps[\"id\"];\n @Prop() icon: DBTabItemProps[\"icon\"];\n @Prop() iconAfter: DBTabItemProps[\"iconAfter\"];\n @Prop() showIcon: DBTabItemProps[\"showIcon\"];\n @Prop() noText: DBTabItemProps[\"noText\"];\n @Prop() disabled: DBTabItemProps[\"disabled\"];\n @Prop() controls: DBTabItemProps[\"controls\"];\n @Prop() checked: DBTabItemProps[\"checked\"];\n @Prop() label: DBTabItemProps[\"label\"];\n\n @State() initialized = false;\n @State() _selected = false;\n\n handleChange(event: any) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n\n const selected = (event.target as any)?.[\"checked\"];\n this._selected = getBooleanAsString(selected);\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tab-item\");\n this.initialized = true;\n }\n\n componentDidUpdate() {\n if (this.active && this.initialized && this._ref) {\n this._ref.click();\n this.initialized = false;\n }\n }\n\n render() {\n return (\n <li class={cls(\"db-tab-item\", this.className)} role=\"none\">\n <label\n htmlFor={this.id}\n data-icon={this.icon}\n data-icon-after={this.iconAfter}\n data-hide-icon={getHideProp(this.showIcon)}\n data-hide-icon-after={getHideProp(this.showIcon)}\n data-no-text={this.noText}\n >\n <input\n type=\"radio\"\n role=\"tab\"\n disabled={this.disabled}\n aria-selected={this._selected}\n aria-controls={this.controls}\n checked={this.checked}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n onChange={(event) => this.handleChange(event)}\n />\n {this.label ? this.label : null}\n <slot></slot>\n </label>\n </li>\n );\n }\n}\n","import { DBTabListProps, DBTabListState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tab-list\",\n})\nexport class DBTabList {\n private _ref!: HTMLDivElement | null;\n @Prop() id: DBTabListProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTabListProps[\"className\"];\n\n @State() _id = DEFAULT_ID;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tab-list\");\n this._id = this.id || \"tab-list-\" + uuid();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tab-list\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n >\n <ul role=\"tablist\">\n <slot></slot>\n </ul>\n </div>\n );\n }\n}\n","import { DBTabPanelProps, DBTabPanelState } 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-tab-panel\",\n})\nexport class DBTabPanel {\n private _ref!: HTMLDivElement | null;\n @Prop({attribute: \"classname\"}) className: DBTabPanelProps[\"className\"];\n @Prop() id: DBTabPanelProps[\"id\"];\n @Prop() labelledBy: DBTabPanelProps[\"labelledBy\"];\n @Prop() content: DBTabPanelProps[\"content\"];\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-tab-panel\");\n }\n\n render() {\n return (\n <section\n class={cls(\"db-tab-panel\", this.className)}\n role=\"tabpanel\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n aria-labelledby={this.labelledBy}\n >\n {this.content ? this.content : null}\n <slot></slot>\n </section>\n );\n }\n}\n"],"version":3}
@@ -3,11 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-3d093f06.js');
6
- const index$1 = require('./index-c0df827d.js');
6
+ const index$1 = require('./index-403366c7.js');
7
7
 
8
8
  const DBTabs = class {
9
9
  constructor(hostRef) {
10
10
  index.registerInstance(this, hostRef);
11
+ this.onIndexChange = index.createEvent(this, "onIndexChange", 7);
12
+ this.onTabSelect = index.createEvent(this, "onTabSelect", 7);
11
13
  this._id = "tabs-" + index$1.uuid();
12
14
  this._name = "";
13
15
  this.initialized = false;
@@ -99,6 +101,21 @@ const DBTabs = class {
99
101
  }
100
102
  }
101
103
  }
104
+ handleChange(event) {
105
+ var _a;
106
+ if (this.onIndexChange && event.target) {
107
+ const list = event.target.closest("ul");
108
+ const listItem =
109
+ // db-tab-item for angular and stencil wrapping elements
110
+ (_a = event.target.closest("db-tab-item")) !== null && _a !== void 0 ? _a : event.target.closest("li");
111
+ if (list !== null && listItem !== null) {
112
+ this.onIndexChange.emit(Array.from(list.childNodes).indexOf(listItem));
113
+ }
114
+ }
115
+ if (this.onTabSelect) {
116
+ this.onTabSelect.emit(event);
117
+ }
118
+ }
102
119
  /**
103
120
  * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
104
121
  * @param element the ref for the component
@@ -161,10 +178,10 @@ const DBTabs = class {
161
178
  }
162
179
  render() {
163
180
  var _a, _b, _c, _d;
164
- return (index.h("div", { key: '21022d470b48c2c96722eba446dee5b0a2dac8bf', class: index$1.cls("db-tabs", this.className), ref: (el) => {
181
+ return (index.h("div", { key: 'a71824622643b3846d57370613e090805c4d6951', class: index$1.cls("db-tabs", this.className), ref: (el) => {
165
182
  this._ref = el;
166
- }, id: this._id, "data-orientation": this.orientation, "data-scroll-behavior": this.behavior, "data-alignment": (_a = this.alignment) !== null && _a !== void 0 ? _a : "start", "data-width": (_b = this.width) !== null && _b !== void 0 ? _b : "auto" }, this.showScrollLeft ? (index.h("db-button", { class: "tabs-scroll-left", variant: "ghost", icon: "chevron_left", noText: true, onClick: () => this.scroll(true) }, "Scroll left")) : null, this.tabs ? (index.h(index.Fragment, null, index.h("db-tab-list", null, (_c = this.convertTabs(this.tabs)) === null || _c === void 0 ? void 0 : _c.map((tab, index$1) => (index.h("db-tab-item", { key: this.name + "tab-item" + index$1, active: tab.active, label: tab.label, iconAfter: tab.iconAfter, icon: tab.icon, noText: tab.noText })))), (_d = this.convertTabs(this.tabs)) === null || _d === void 0 ? void 0 :
167
- _d.map((tab, index$1) => (index.h("db-tab-panel", { key: this.name + "tab-panel" + index$1, content: tab.content }, tab.children))))) : null, this.showScrollRight ? (index.h("db-button", { class: "tabs-scroll-right", variant: "ghost", icon: "chevron_right", noText: true, onClick: () => this.scroll() }, "Scroll right")) : null, index.h("slot", { key: '79d11e4acb87af7cd40fb54ffae5c1affb28f3ba' })));
183
+ }, id: this._id, "data-orientation": this.orientation, "data-scroll-behavior": this.behavior, "data-alignment": (_a = this.alignment) !== null && _a !== void 0 ? _a : "start", "data-width": (_b = this.width) !== null && _b !== void 0 ? _b : "auto", onChange: (event) => this.handleChange(event) }, this.showScrollLeft ? (index.h("db-button", { class: "tabs-scroll-left", variant: "ghost", icon: "chevron_left", type: "button", noText: true, onClick: () => this.scroll(true) }, "Scroll left")) : null, this.tabs ? (index.h(index.Fragment, null, index.h("db-tab-list", null, (_c = this.convertTabs(this.tabs)) === null || _c === void 0 ? void 0 : _c.map((tab, index$1) => (index.h("db-tab-item", { key: this.name + "tab-item" + index$1, active: tab.active, label: tab.label, iconAfter: tab.iconAfter, icon: tab.icon, noText: tab.noText })))), (_d = this.convertTabs(this.tabs)) === null || _d === void 0 ? void 0 :
184
+ _d.map((tab, index$1) => (index.h("db-tab-panel", { key: this.name + "tab-panel" + index$1, content: tab.content }, tab.children))))) : null, this.showScrollRight ? (index.h("db-button", { class: "tabs-scroll-right", variant: "ghost", icon: "chevron_right", type: "button", noText: true, onClick: () => this.scroll() }, "Scroll right")) : null, index.h("slot", { key: '46e9b1aa01ebfd0dfd8c1f10783347ae9745ecd6' })));
168
185
  }
169
186
  };
170
187
 
@@ -1 +1 @@
1
- {"file":"db-tabs.entry.cjs.js","mappings":"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","names":["uuid","h","cls","Fragment","index"],"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 { Component, h, Fragment, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tabs\",\n})\nexport class DBTabs {\n private _ref!: HTMLDivElement | null;\n @Prop() id: DBTabsProps[\"id\"];\n @Prop() name: DBTabsProps[\"name\"];\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 @Prop({attribute: \"classname\"}) className: DBTabsProps[\"className\"];\n @Prop() alignment: DBTabsProps[\"alignment\"];\n @Prop() width: DBTabsProps[\"width\"];\n @Prop() tabs: DBTabsProps[\"tabs\"];\n\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(tabs: unknown[] | string | undefined) {\n try {\n if (typeof tabs === \"string\") {\n return JSON.parse(tabs);\n }\n return 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 = 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 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\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-tabs\");\n this._id = this.id || this._id;\n this._name = `tabs-${this.name || uuid()}`;\n this.initialized = true;\n }\n\n componentDidUpdate() {\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 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 >\n {this.showScrollLeft ? (\n <db-button\n class=\"tabs-scroll-left\"\n variant=\"ghost\"\n icon=\"chevron_left\"\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(this.tabs)?.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(this.tabs)?.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 noText={true}\n onClick={() => this.scroll()}\n >\n Scroll right\n </db-button>\n ) : null}\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"db-tabs.entry.cjs.js","mappings":"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","names":["uuid","h","cls","Fragment","index"],"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 { Component, h, Fragment, Event, Prop, State } 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 | null;\n @Prop() id: DBTabsProps[\"id\"];\n @Prop() name: DBTabsProps[\"name\"];\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() onIndexChange: any;\n @Event() onTabSelect: any;\n @Prop({attribute: \"classname\"}) className: DBTabsProps[\"className\"];\n @Prop() alignment: DBTabsProps[\"alignment\"];\n @Prop() width: DBTabsProps[\"width\"];\n @Prop() tabs: DBTabsProps[\"tabs\"];\n\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(tabs: unknown[] | string | undefined) {\n try {\n if (typeof tabs === \"string\") {\n return JSON.parse(tabs);\n }\n return 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 = 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 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 if (this.onIndexChange && event.target) {\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 this.onIndexChange.emit(Array.from(list.childNodes).indexOf(listItem));\n }\n }\n if (this.onTabSelect) {\n this.onTabSelect.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-tabs\");\n this._id = this.id || this._id;\n this._name = `tabs-${this.name || uuid()}`;\n this.initialized = true;\n }\n\n componentDidUpdate() {\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 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 onChange={(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(this.tabs)?.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(this.tabs)?.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"],"version":3}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-3d093f06.js');
6
- const index$1 = require('./index-c0df827d.js');
6
+ const index$1 = require('./index-403366c7.js');
7
7
 
8
8
  const DBTag = class {
9
9
  constructor(hostRef) {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-3d093f06.js');
6
- const index$1 = require('./index-c0df827d.js');
6
+ const index$1 = require('./index-403366c7.js');
7
7
  const constants = require('./constants-89822e5f.js');
8
8
 
9
9
  const DBTextarea = class {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-3d093f06.js');
6
- const index$1 = require('./index-c0df827d.js');
6
+ const index$1 = require('./index-403366c7.js');
7
7
  const constants = require('./constants-89822e5f.js');
8
8
 
9
9
  const DBTooltip = class {
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy([["db-tabs.cjs",[[4,"db-tabs",{"id":[1],"name":[1],"arrowScrollDistance":[2,"arrow-scroll-distance"],"orientation":[1],"behavior":[1],"initialSelectedMode":[1,"initial-selected-mode"],"initialSelectedIndex":[2,"initial-selected-index"],"className":[1,"classname"],"alignment":[1],"width":[1],"tabs":[1],"_id":[32],"_name":[32],"initialized":[32],"showScrollLeft":[32],"showScrollRight":[32],"scrollContainer":[32]}]]],["db-header.cjs",[[4,"db-header",{"id":[1],"forceMobile":[4,"force-mobile"],"drawerOpen":[4,"drawer-open"],"className":[1,"classname"],"width":[1],"burgerMenuLabel":[1,"burger-menu-label"],"_id":[32],"initialized":[32],"forcedToMobile":[32]}]]],["db-accordion.cjs",[[4,"db-accordion",{"id":[1],"name":[1],"behavior":[1],"initOpenIndex":[16],"className":[1,"classname"],"variant":[1],"items":[1],"_id":[32],"_name":[32],"initialized":[32],"_initOpenIndexDone":[32]}]]],["db-checkbox.cjs",[[4,"db-checkbox",{"id":[1],"message":[1],"showMessage":[4,"show-message"],"checked":[4],"indeterminate":[4],"change":[16],"validation":[1],"invalidMessage":[1,"invalid-message"],"required":[4],"validMessage":[1,"valid-message"],"blur":[16],"focus":[16],"className":[1,"classname"],"size":[1],"showLabel":[4,"show-label"],"name":[1],"disabled":[4],"value":[8],"label":[1],"messageIcon":[1,"message-icon"],"initialized":[32],"_id":[32],"_messageId":[32],"_validMessageId":[32],"_invalidMessageId":[32],"_descByIds":[32],"_voiceOverFallback":[32]}]]],["db-input.cjs",[[4,"db-input",{"id":[1],"dataListId":[1,"data-list-id"],"message":[1],"showMessage":[4,"show-message"],"value":[8],"input":[16],"change":[16],"validation":[1],"invalidMessage":[1,"invalid-message"],"required":[4],"minLength":[2,"min-length"],"maxLength":[2,"max-length"],"pattern":[1],"validMessage":[1,"valid-message"],"blur":[16],"focus":[16],"className":[1,"classname"],"variant":[1],"showLabel":[4,"show-label"],"showIcon":[4,"show-icon"],"icon":[1],"iconAfter":[1,"icon-after"],"label":[1],"name":[1],"type":[1],"placeholder":[1],"disabled":[4],"step":[8],"max":[8],"min":[8],"readOnly":[4,"read-only"],"form":[1],"autocomplete":[1],"autofocus":[4],"dataList":[16],"messageIcon":[1,"message-icon"],"_id":[32],"_messageId":[32],"_validMessageId":[32],"_invalidMessageId":[32],"_dataListId":[32],"_descByIds":[32],"_value":[32],"_voiceOverFallback":[32]}]]],["db-navigation-item.cjs",[[4,"db-navigation-item",{"subNavigationExpanded":[4,"sub-navigation-expanded"],"id":[1],"className":[1,"classname"],"width":[1],"icon":[1],"showIcon":[4,"show-icon"],"active":[4],"disabled":[4],"text":[1],"backButtonId":[1,"back-button-id"],"backButtonText":[1,"back-button-text"],"initialized":[32],"hasAreaPopup":[32],"hasSubNavigation":[32],"isSubNavigationExpanded":[32],"subNavigationId":[32],"navigationItemSafeTriangle":[32]}]]],["db-notification.cjs",[[4,"db-notification",{"id":[1],"className":[1,"classname"],"ariaLive":[1,"aria-live"],"semantic":[1],"variant":[1],"icon":[1],"showIcon":[4,"show-icon"],"linkVariant":[1,"link-variant"],"headline":[8],"showHeadline":[4,"show-headline"],"text":[1],"timestamp":[1],"showTimestamp":[4,"show-timestamp"],"closeable":[4],"closeButtonId":[1,"close-button-id"],"closeButtonText":[1,"close-button-text"]}]]],["db-select.cjs",[[4,"db-select",{"id":[1],"message":[1],"showMessage":[4,"show-message"],"value":[8],"input":[16],"change":[16],"validation":[1],"invalidMessage":[1,"invalid-message"],"required":[4],"validMessage":[1,"valid-message"],"blur":[16],"focus":[16],"className":[1,"classname"],"variant":[1],"showLabel":[4,"show-label"],"icon":[1],"showIcon":[4,"show-icon"],"label":[1],"disabled":[4],"name":[1],"autocomplete":[1],"options":[16],"placeholder":[1],"messageIcon":[1,"message-icon"],"_id":[32],"_messageId":[32],"_validMessageId":[32],"_invalidMessageId":[32],"_placeholderId":[32],"_descByIds":[32],"_value":[32],"initialized":[32],"_voiceOverFallback":[32]}]]],["db-textarea.cjs",[[0,"db-textarea",{"id":[1],"message":[1],"showMessage":[4,"show-message"],"value":[8],"input":[16],"change":[16],"validation":[1],"invalidMessage":[1,"invalid-message"],"required":[4],"minLength":[2,"min-length"],"maxLength":[2,"max-length"],"validMessage":[1,"valid-message"],"blur":[16],"focus":[16],"className":[1,"classname"],"variant":[1],"showLabel":[4,"show-label"],"label":[1],"resize":[1],"disabled":[4],"readOnly":[4,"read-only"],"form":[1],"name":[1],"wrap":[1],"spellCheck":[4,"spell-check"],"autocomplete":[1],"placeholder":[1],"rows":[2],"cols":[2],"messageIcon":[1,"message-icon"],"_id":[32],"_messageId":[32],"_validMessageId":[32],"_invalidMessageId":[32],"_descByIds":[32],"_value":[32],"_voiceOverFallback":[32]}]]],["db-badge.cjs",[[4,"db-badge",{"placement":[1],"id":[1],"className":[1,"classname"],"semantic":[1],"size":[1],"emphasis":[1],"label":[1],"text":[1],"initialized":[32]}]]],["db-brand.cjs",[[4,"db-brand",{"hideLogo":[4,"hide-logo"],"icon":[1],"showIcon":[4,"show-icon"],"id":[1],"className":[1,"classname"],"text":[1]}]]],["db-card.cjs",[[4,"db-card",{"id":[1],"className":[1,"classname"],"behavior":[1],"elevationLevel":[1,"elevation-level"],"spacing":[1]}]]],["db-divider.cjs",[[0,"db-divider",{"id":[1],"margin":[1],"variant":[1],"emphasis":[1],"width":[1],"className":[1,"classname"]}]]],["db-icon.cjs",[[4,"db-icon",{"id":[1],"className":[1,"classname"],"icon":[1],"weight":[1],"variant":[1],"text":[1]}]]],["db-link.cjs",[[4,"db-link",{"id":[1],"className":[1,"classname"],"href":[1],"target":[1],"rel":[1],"role":[1],"hreflang":[1],"disabled":[4],"selected":[4],"label":[1],"current":[8],"size":[1],"showIcon":[4,"show-icon"],"variant":[1],"content":[1],"text":[1]}]]],["db-navigation.cjs",[[4,"db-navigation",{"id":[1],"labelledBy":[1,"labelled-by"],"className":[1,"classname"],"_id":[32]}]]],["db-page.cjs",[[4,"db-page",{"fadeIn":[4,"fade-in"],"documentOverflow":[1,"document-overflow"],"variant":[1],"id":[1],"className":[1,"classname"],"fontsLoaded":[32]}]]],["db-popover.cjs",[[4,"db-popover",{"id":[1],"className":[1,"classname"],"spacing":[1],"gap":[4],"animation":[4],"open":[4],"delay":[1],"width":[1],"placement":[1],"initialized":[32],"isExpanded":[32]}]]],["db-radio.cjs",[[4,"db-radio",{"id":[1],"checked":[4],"change":[16],"blur":[16],"focus":[16],"size":[1],"showLabel":[4,"show-label"],"className":[1,"classname"],"validation":[1],"name":[1],"disabled":[4],"describedbyid":[1],"value":[8],"required":[4],"label":[1],"initialized":[32],"_id":[32]}]]],["db-section.cjs",[[4,"db-section",{"id":[1],"className":[1,"classname"],"spacing":[1],"width":[1],"_id":[32]}]]],["db-stack.cjs",[[4,"db-stack",{"id":[1],"className":[1,"classname"],"gap":[1],"variant":[1],"direction":[1],"alignment":[1],"justifyContent":[1,"justify-content"],"wrap":[4]}]]],["db-switch.cjs",[[4,"db-switch",{"id":[1],"change":[16],"blur":[16],"focus":[16],"visualAid":[4,"visual-aid"],"size":[1],"showLabel":[4,"show-label"],"emphasis":[1],"className":[1,"classname"],"checked":[4],"disabled":[4],"describedbyid":[1],"validation":[1],"name":[1],"required":[4],"icon":[1],"iconAfter":[1,"icon-after"],"label":[1],"_id":[32],"_checked":[32],"initialized":[32]}]]],["db-tag.cjs",[[4,"db-tag",{"disabled":[4],"removeButton":[1,"remove-button"],"id":[1],"className":[1,"classname"],"semantic":[1],"emphasis":[1],"icon":[1],"showCheckState":[4,"show-check-state"],"showIcon":[4,"show-icon"],"noText":[4,"no-text"],"overflow":[4],"text":[1],"behavior":[1],"initialized":[32]}]]],["db-tooltip.cjs",[[4,"db-tooltip",{"id":[1],"className":[1,"classname"],"emphasis":[1],"animation":[4],"delay":[1],"width":[1],"showArrow":[4,"show-arrow"],"placement":[1],"_id":[32],"initialized":[32]}]]],["db-drawer.cjs",[[4,"db-drawer",{"open":[4],"backdrop":[1],"variant":[1],"id":[1],"className":[1,"classname"],"spacing":[1],"width":[1],"direction":[1],"rounded":[4],"closeButtonId":[1,"close-button-id"],"closeButtonText":[1,"close-button-text"]}]]],["db-accordion-item.cjs",[[4,"db-accordion-item",{"id":[1],"defaultOpen":[4,"default-open"],"className":[1,"classname"],"disabled":[4],"headlinePlain":[1,"headline-plain"],"text":[1],"_id":[32],"_open":[32]}]]],["db-tab-item_3.cjs",[[4,"db-tab-item",{"active":[4],"change":[16],"className":[1,"classname"],"id":[1],"icon":[1],"iconAfter":[1,"icon-after"],"showIcon":[4,"show-icon"],"noText":[4,"no-text"],"disabled":[4],"controls":[1],"checked":[4],"label":[1],"initialized":[32],"_selected":[32]}],[4,"db-tab-list",{"id":[1],"className":[1,"classname"],"_id":[32]}],[4,"db-tab-panel",{"className":[1,"classname"],"id":[1],"labelledBy":[1,"labelled-by"],"content":[1]}]]],["db-infotext.cjs",[[4,"db-infotext",{"id":[1],"className":[1,"classname"],"icon":[1],"semantic":[1],"size":[1],"showIcon":[4,"show-icon"],"text":[1]}]]],["db-button.cjs",[[4,"db-button",{"id":[1],"className":[1,"classname"],"type":[1],"disabled":[4],"label":[1],"icon":[1],"showIcon":[4,"show-icon"],"size":[1],"state":[1],"width":[1],"variant":[1],"noText":[4,"no-text"],"name":[1],"value":[1],"describedbyid":[1],"ariaexpanded":[4],"ariapressed":[4],"text":[1]}]]]], options);
22
+ return index.bootstrapLazy([["db-tabs.cjs",[[4,"db-tabs",{"id":[1],"name":[1],"arrowScrollDistance":[2,"arrow-scroll-distance"],"orientation":[1],"behavior":[1],"initialSelectedMode":[1,"initial-selected-mode"],"initialSelectedIndex":[2,"initial-selected-index"],"className":[1,"classname"],"alignment":[1],"width":[1],"tabs":[1],"_id":[32],"_name":[32],"initialized":[32],"showScrollLeft":[32],"showScrollRight":[32],"scrollContainer":[32]}]]],["db-header.cjs",[[4,"db-header",{"id":[1],"forceMobile":[4,"force-mobile"],"drawerOpen":[4,"drawer-open"],"className":[1,"classname"],"width":[1],"burgerMenuLabel":[1,"burger-menu-label"],"_id":[32],"initialized":[32],"forcedToMobile":[32]}]]],["db-accordion.cjs",[[4,"db-accordion",{"id":[1],"name":[1],"behavior":[1],"initOpenIndex":[16],"className":[1,"classname"],"variant":[1],"items":[1],"_id":[32],"_name":[32],"initialized":[32],"_initOpenIndexDone":[32]}]]],["db-checkbox.cjs",[[4,"db-checkbox",{"id":[1],"message":[1],"showMessage":[4,"show-message"],"indeterminate":[4],"checked":[4],"change":[16],"validation":[1],"invalidMessage":[1,"invalid-message"],"required":[4],"validMessage":[1,"valid-message"],"blur":[16],"focus":[16],"className":[1,"classname"],"size":[1],"showLabel":[4,"show-label"],"name":[1],"disabled":[4],"value":[8],"label":[1],"messageIcon":[1,"message-icon"],"initialized":[32],"_id":[32],"_messageId":[32],"_validMessageId":[32],"_invalidMessageId":[32],"_descByIds":[32],"_voiceOverFallback":[32]}]]],["db-input.cjs",[[4,"db-input",{"id":[1],"dataListId":[1,"data-list-id"],"message":[1],"showMessage":[4,"show-message"],"value":[8],"input":[16],"change":[16],"validation":[1],"invalidMessage":[1,"invalid-message"],"required":[4],"minLength":[2,"min-length"],"maxLength":[2,"max-length"],"pattern":[1],"validMessage":[1,"valid-message"],"blur":[16],"focus":[16],"className":[1,"classname"],"variant":[1],"showLabel":[4,"show-label"],"showIcon":[4,"show-icon"],"icon":[1],"iconAfter":[1,"icon-after"],"label":[1],"name":[1],"type":[1],"placeholder":[1],"disabled":[4],"step":[8],"max":[8],"min":[8],"readOnly":[4,"read-only"],"form":[1],"size":[2],"autocomplete":[1],"autofocus":[4],"dataList":[16],"messageIcon":[1,"message-icon"],"_id":[32],"_messageId":[32],"_validMessageId":[32],"_invalidMessageId":[32],"_dataListId":[32],"_descByIds":[32],"_value":[32],"_voiceOverFallback":[32]}]]],["db-navigation-item.cjs",[[4,"db-navigation-item",{"subNavigationExpanded":[4,"sub-navigation-expanded"],"id":[1],"className":[1,"classname"],"width":[1],"icon":[1],"showIcon":[4,"show-icon"],"active":[4],"disabled":[4],"text":[1],"backButtonId":[1,"back-button-id"],"backButtonText":[1,"back-button-text"],"initialized":[32],"hasAreaPopup":[32],"hasSubNavigation":[32],"isSubNavigationExpanded":[32],"subNavigationId":[32],"navigationItemSafeTriangle":[32]}]]],["db-notification.cjs",[[4,"db-notification",{"id":[1],"className":[1,"classname"],"ariaLive":[1,"aria-live"],"semantic":[1],"variant":[1],"icon":[1],"showIcon":[4,"show-icon"],"linkVariant":[1,"link-variant"],"headline":[8],"showHeadline":[4,"show-headline"],"text":[1],"timestamp":[1],"showTimestamp":[4,"show-timestamp"],"closeable":[4],"closeButtonId":[1,"close-button-id"],"closeButtonText":[1,"close-button-text"]}]]],["db-select.cjs",[[4,"db-select",{"id":[1],"message":[1],"showMessage":[4,"show-message"],"value":[8],"input":[16],"change":[16],"validation":[1],"invalidMessage":[1,"invalid-message"],"required":[4],"validMessage":[1,"valid-message"],"blur":[16],"focus":[16],"className":[1,"classname"],"variant":[1],"showLabel":[4,"show-label"],"icon":[1],"showIcon":[4,"show-icon"],"label":[1],"disabled":[4],"name":[1],"size":[2],"autocomplete":[1],"options":[16],"placeholder":[1],"messageIcon":[1,"message-icon"],"_id":[32],"_messageId":[32],"_validMessageId":[32],"_invalidMessageId":[32],"_placeholderId":[32],"_descByIds":[32],"_value":[32],"initialized":[32],"_voiceOverFallback":[32]}]]],["db-textarea.cjs",[[0,"db-textarea",{"id":[1],"message":[1],"showMessage":[4,"show-message"],"value":[8],"input":[16],"change":[16],"validation":[1],"invalidMessage":[1,"invalid-message"],"required":[4],"minLength":[2,"min-length"],"maxLength":[2,"max-length"],"validMessage":[1,"valid-message"],"blur":[16],"focus":[16],"className":[1,"classname"],"variant":[1],"showLabel":[4,"show-label"],"label":[1],"resize":[1],"disabled":[4],"readOnly":[4,"read-only"],"form":[1],"name":[1],"wrap":[1],"spellCheck":[4,"spell-check"],"autocomplete":[1],"placeholder":[1],"rows":[2],"cols":[2],"messageIcon":[1,"message-icon"],"_id":[32],"_messageId":[32],"_validMessageId":[32],"_invalidMessageId":[32],"_descByIds":[32],"_value":[32],"_voiceOverFallback":[32]}]]],["db-badge.cjs",[[4,"db-badge",{"placement":[1],"id":[1],"className":[1,"classname"],"semantic":[1],"size":[1],"emphasis":[1],"label":[1],"text":[1],"initialized":[32]}]]],["db-brand.cjs",[[4,"db-brand",{"hideLogo":[4,"hide-logo"],"icon":[1],"showIcon":[4,"show-icon"],"id":[1],"className":[1,"classname"],"text":[1]}]]],["db-card.cjs",[[4,"db-card",{"id":[1],"className":[1,"classname"],"behavior":[1],"elevationLevel":[1,"elevation-level"],"spacing":[1]}]]],["db-divider.cjs",[[0,"db-divider",{"id":[1],"margin":[1],"variant":[1],"emphasis":[1],"width":[1],"className":[1,"classname"]}]]],["db-icon.cjs",[[4,"db-icon",{"id":[1],"className":[1,"classname"],"icon":[1],"weight":[1],"variant":[1],"text":[1]}]]],["db-link.cjs",[[4,"db-link",{"id":[1],"className":[1,"classname"],"href":[1],"target":[1],"rel":[1],"role":[1],"hreflang":[1],"disabled":[4],"selected":[4],"label":[1],"current":[8],"size":[1],"showIcon":[4,"show-icon"],"variant":[1],"content":[1],"text":[1]}]]],["db-navigation.cjs",[[4,"db-navigation",{"id":[1],"labelledBy":[1,"labelled-by"],"className":[1,"classname"],"_id":[32]}]]],["db-page.cjs",[[4,"db-page",{"fadeIn":[4,"fade-in"],"documentOverflow":[1,"document-overflow"],"variant":[1],"id":[1],"className":[1,"classname"],"fontsLoaded":[32]}]]],["db-popover.cjs",[[4,"db-popover",{"id":[1],"className":[1,"classname"],"spacing":[1],"gap":[4],"animation":[4],"open":[4],"delay":[1],"width":[1],"placement":[1],"initialized":[32],"isExpanded":[32]}]]],["db-radio.cjs",[[4,"db-radio",{"id":[1],"checked":[4],"change":[16],"blur":[16],"focus":[16],"size":[1],"showLabel":[4,"show-label"],"className":[1,"classname"],"validation":[1],"name":[1],"disabled":[4],"describedbyid":[1],"value":[8],"required":[4],"label":[1],"initialized":[32],"_id":[32]}]]],["db-section.cjs",[[4,"db-section",{"id":[1],"className":[1,"classname"],"spacing":[1],"width":[1],"_id":[32]}]]],["db-stack.cjs",[[4,"db-stack",{"id":[1],"className":[1,"classname"],"gap":[1],"variant":[1],"direction":[1],"alignment":[1],"justifyContent":[1,"justify-content"],"wrap":[4]}]]],["db-switch.cjs",[[4,"db-switch",{"id":[1],"checked":[4],"change":[16],"blur":[16],"focus":[16],"visualAid":[4,"visual-aid"],"size":[1],"showLabel":[4,"show-label"],"emphasis":[1],"className":[1,"classname"],"value":[8],"disabled":[4],"describedbyid":[1],"validation":[1],"name":[1],"required":[4],"icon":[1],"iconAfter":[1,"icon-after"],"label":[1],"_id":[32],"_checked":[32]}]]],["db-tag.cjs",[[4,"db-tag",{"disabled":[4],"removeButton":[1,"remove-button"],"id":[1],"className":[1,"classname"],"semantic":[1],"emphasis":[1],"icon":[1],"showCheckState":[4,"show-check-state"],"showIcon":[4,"show-icon"],"noText":[4,"no-text"],"overflow":[4],"text":[1],"behavior":[1],"initialized":[32]}]]],["db-tooltip.cjs",[[4,"db-tooltip",{"id":[1],"className":[1,"classname"],"emphasis":[1],"animation":[4],"delay":[1],"width":[1],"showArrow":[4,"show-arrow"],"placement":[1],"_id":[32],"initialized":[32]}]]],["db-drawer.cjs",[[4,"db-drawer",{"open":[4],"backdrop":[1],"variant":[1],"id":[1],"className":[1,"classname"],"spacing":[1],"width":[1],"direction":[1],"rounded":[4],"closeButtonId":[1,"close-button-id"],"closeButtonText":[1,"close-button-text"]}]]],["db-accordion-item.cjs",[[4,"db-accordion-item",{"id":[1],"defaultOpen":[4,"default-open"],"className":[1,"classname"],"disabled":[4],"headlinePlain":[1,"headline-plain"],"text":[1],"_id":[32],"_open":[32]}]]],["db-tab-item_3.cjs",[[4,"db-tab-item",{"active":[4],"change":[16],"className":[1,"classname"],"id":[1],"icon":[1],"iconAfter":[1,"icon-after"],"showIcon":[4,"show-icon"],"noText":[4,"no-text"],"disabled":[4],"controls":[1],"checked":[4],"label":[1],"initialized":[32],"_selected":[32]}],[4,"db-tab-list",{"id":[1],"className":[1,"classname"],"_id":[32]}],[4,"db-tab-panel",{"className":[1,"classname"],"id":[1],"labelledBy":[1,"labelled-by"],"content":[1]}]]],["db-infotext.cjs",[[4,"db-infotext",{"id":[1],"className":[1,"classname"],"icon":[1],"semantic":[1],"size":[1],"showIcon":[4,"show-icon"],"text":[1]}]]],["db-button.cjs",[[4,"db-button",{"id":[1],"className":[1,"classname"],"type":[1],"disabled":[4],"label":[1],"icon":[1],"showIcon":[4,"show-icon"],"size":[1],"state":[1],"width":[1],"variant":[1],"noText":[4,"no-text"],"name":[1],"value":[1],"describedbyid":[1],"ariaexpanded":[4],"ariapressed":[4],"text":[1]}]]]], options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -39,15 +39,6 @@ const cls = (...args) => {
39
39
  }
40
40
  return result.trim();
41
41
  };
42
- const reactHtmlAttributes = ['suppressHydrationWarning', 'suppressContentEditableWarning', 'translate', 'title', 'tabIndex', 'style', 'spellCheck', 'nonce', 'lang', 'hidden', 'draggable', 'dir', 'contextMenu', 'contentEditable', 'autoFocus', 'accessKey', 'is', 'inputMode', 'unselectable', 'security', 'results', 'vocab', 'typeof', 'rev', 'resource', 'rel', 'property', 'inlist', 'datatype', 'content', 'about', 'role', 'radioGroup', 'color'];
43
- const filterPassingProps = (props, propsPassingFilter) => Object.keys(props).filter(key => (key.startsWith('data-') || key.startsWith('aria-') || key.startsWith('default') || key.startsWith('auto') || key.startsWith('item') || key.startsWith('on') || reactHtmlAttributes.includes(key)) && !propsPassingFilter.includes(key)).reduce((obj, key) => {
44
- return Object.assign(Object.assign({}, obj), { [key]: props[key] });
45
- }, {});
46
- const getRootProps = (props, rooProps) => {
47
- return Object.keys(props).filter(key => rooProps.includes(key)).reduce((obj, key) => {
48
- return Object.assign(Object.assign({}, obj), { [key]: props[key] });
49
- }, {});
50
- };
51
42
  const visibleInVX = (el) => {
52
43
  const { left, right } = el.getBoundingClientRect();
53
44
  const { innerWidth } = window;
@@ -153,10 +144,8 @@ const stringPropVisible = (givenString, showString) => {
153
144
  exports.addAttributeToChildren = addAttributeToChildren;
154
145
  exports.cls = cls;
155
146
  exports.delay = delay;
156
- exports.filterPassingProps = filterPassingProps;
157
147
  exports.getBooleanAsString = getBooleanAsString;
158
148
  exports.getHideProp = getHideProp;
159
- exports.getRootProps = getRootProps;
160
149
  exports.handleDataOutside = handleDataOutside;
161
150
  exports.hasVoiceOver = hasVoiceOver;
162
151
  exports.isArrayOfStrings = isArrayOfStrings;
@@ -166,4 +155,4 @@ exports.uuid = uuid;
166
155
  exports.visibleInVX = visibleInVX;
167
156
  exports.visibleInVY = visibleInVY;
168
157
 
169
- //# sourceMappingURL=index-c0df827d.js.map
158
+ //# sourceMappingURL=index-403366c7.js.map
@@ -0,0 +1 @@
1
+ {"file":"index-403366c7.js","mappings":"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","names":[],"sources":["src/utils/index.ts"],"sourcesContent":["export const uuid = () => {\n if (typeof window !== 'undefined') {\n if (window.crypto?.randomUUID) {\n return window.crypto.randomUUID();\n } else if (window.crypto?.getRandomValues) {\n return window.crypto.getRandomValues(new Uint32Array(3)).join('-');\n }\n }\n return Math.random().toString().substring(2);\n};\nexport const addAttributeToChildren = (element: Element, attribute: {\n key: string;\n value: string;\n}) => {\n const children = element.children;\n Object.values(children).forEach((child: Element) => {\n child.setAttribute(attribute.key, attribute.value);\n if (child.children.length > 0) {\n addAttributeToChildren(child, attribute);\n }\n });\n};\nexport type ClassNameArg = string | {\n [key: string]: boolean | undefined;\n} | undefined;\nexport const cls = (...args: ClassNameArg[]) => {\n let result = '';\n for (const arg of args) {\n if (arg) {\n if (typeof arg === 'string') {\n result += `${arg} `;\n } else {\n for (const key in arg) {\n if (arg[key]) {\n result += `${key} `;\n }\n }\n }\n }\n }\n return result.trim();\n};\nexport const visibleInVX = (el: Element) => {\n const {\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerWidth\n } = window;\n return left >= 0 && right <= innerWidth;\n};\nexport const visibleInVY = (el: Element) => {\n const {\n top,\n bottom\n } = el.getBoundingClientRect();\n const {\n innerHeight\n } = window;\n return top >= 0 && bottom <= innerHeight;\n};\nexport const isInView = (el: Element) => {\n const {\n top,\n bottom,\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let outTop = top < 0;\n let outBottom = bottom > innerHeight;\n let outLeft = left < 0;\n let outRight = right > innerWidth;\n\n // We need to check if it was already outside\n const outsideY = el.hasAttribute('data-outside-vy');\n const outsideX = el.hasAttribute('data-outside-vx');\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.getAttribute('data-outside-vy');\n if (position === 'top') {\n outTop = parentRect.top - (bottom - parentRect.bottom) < 0;\n } else {\n outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;\n }\n }\n if (outsideX) {\n const position = el.getAttribute('data-outside-vx');\n if (position === 'left') {\n outLeft = parentRect.left - (right - parentRect.right) < 0;\n } else {\n outRight = parentRect.right + (parentRect.left - left) > innerWidth;\n }\n }\n }\n return {\n outTop,\n outBottom,\n outLeft,\n outRight\n };\n};\nexport interface DBDataOutsidePair {\n vx?: 'left' | 'right';\n vy?: 'top' | 'bottom';\n}\nexport const handleDataOutside = (el: Element): DBDataOutsidePair => {\n const {\n outTop,\n outBottom,\n outLeft,\n outRight\n } = isInView(el);\n let dataOutsidePair: DBDataOutsidePair = {};\n if (outTop || outBottom) {\n dataOutsidePair = {\n vy: outTop ? 'top' : 'bottom'\n };\n el.setAttribute('data-outside-vy', dataOutsidePair.vy!);\n } else {\n el.removeAttribute('data-outside-vy');\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.setAttribute('data-outside-vx', dataOutsidePair.vx!);\n } else {\n el.removeAttribute('data-outside-vx');\n }\n return dataOutsidePair;\n};\nexport const isArrayOfStrings = (value: unknown): value is string[] => Array.isArray(value) && value.every(item => typeof item === 'string');\nconst appleOs = ['Mac', 'iPhone', 'iPad', 'iPod'];\nexport const hasVoiceOver = (): boolean => typeof window !== 'undefined' && appleOs.some(os => window.navigator.userAgent.includes(os));\nexport const delay = (fn: () => void, ms: number) => new Promise(() => setTimeout(fn, ms));\n\n/**\n * Some frameworks like stencil would not add \"true\" as value for a prop\n * if it is used in a framework like angular e.g.: [disabled]=\"myDisabledProp\"\n * @param originBool Some boolean to convert to string\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getBooleanAsString = (originBool?: boolean): any => {\n if (originBool) {\n return String(originBool);\n }\n return originBool;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getHideProp = (show?: boolean): any => {\n if (show === undefined || show === null) {\n return undefined;\n }\n return getBooleanAsString(!show);\n};\nexport const stringPropVisible = (givenString?: string, showString?: boolean) => {\n if (showString === undefined) {\n return !!givenString;\n } else {\n return showString && givenString;\n }\n};\nexport default {\n cls,\n addAttributeToChildren,\n uuid,\n visibleInVX,\n visibleInVY,\n isInView,\n handleDataOutside,\n isArrayOfStrings,\n hasVoiceOver,\n delay,\n getBooleanAsString,\n getHideProp,\n stringPropVisible\n}"],"version":3}