@db-ux/wc-core-components 4.3.2 → 4.4.0-loading-567cd0c

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 (179) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/db-accordion-item.cjs.entry.js +2 -2
  3. package/dist/cjs/db-accordion.cjs.entry.js +2 -2
  4. package/dist/cjs/db-badge.cjs.entry.js +2 -2
  5. package/dist/cjs/db-brand.cjs.entry.js +2 -2
  6. package/dist/cjs/db-button.cjs.entry.js +2 -2
  7. package/dist/cjs/db-card.cjs.entry.js +2 -2
  8. package/dist/cjs/db-checkbox.cjs.entry.js +3 -3
  9. package/dist/cjs/{db-custom-select-dropdown_5.cjs.entry.js → db-custom-select-dropdown_6.cjs.entry.js} +257 -5
  10. package/dist/cjs/db-custom-select-form-field.cjs.entry.js +4 -4
  11. package/dist/cjs/db-custom-select.cjs.entry.js +14 -16
  12. package/dist/cjs/db-divider.cjs.entry.js +3 -3
  13. package/dist/cjs/db-drawer.cjs.entry.js +5 -5
  14. package/dist/cjs/db-header.cjs.entry.js +4 -4
  15. package/dist/cjs/db-icon.cjs.entry.js +3 -3
  16. package/dist/cjs/db-infotext.cjs.entry.js +2 -2
  17. package/dist/cjs/db-link.cjs.entry.js +3 -3
  18. package/dist/cjs/db-navigation-item.cjs.entry.js +3 -3
  19. package/dist/cjs/db-navigation.cjs.entry.js +4 -4
  20. package/dist/cjs/db-notification.cjs.entry.js +8 -4
  21. package/dist/cjs/db-page.cjs.entry.js +4 -4
  22. package/dist/cjs/db-popover.cjs.entry.js +5 -5
  23. package/dist/cjs/db-radio.cjs.entry.js +4 -4
  24. package/dist/cjs/db-section.cjs.entry.js +4 -4
  25. package/dist/cjs/db-select.cjs.entry.js +18 -7
  26. package/dist/cjs/db-stack.cjs.entry.js +4 -4
  27. package/dist/cjs/db-switch.cjs.entry.js +5 -5
  28. package/dist/cjs/db-tab-item_3.cjs.entry.js +8 -8
  29. package/dist/cjs/db-tabs.cjs.entry.js +4 -4
  30. package/dist/cjs/db-textarea.cjs.entry.js +5 -5
  31. package/dist/cjs/db-tooltip.cjs.entry.js +5 -5
  32. package/dist/cjs/db-ux.cjs.js +3 -3
  33. package/dist/cjs/{document-click-listener-B2Xzqbvs.js → document-click-listener-Bb3Tinb8.js} +1 -1
  34. package/dist/cjs/{document-scroll-listener-C_v46oIg.js → document-scroll-listener-unypEU42.js} +1 -1
  35. package/dist/cjs/{form-components-BrtqMwX0.js → form-components-LsqVohyb.js} +1 -1
  36. package/dist/cjs/{index-CW5aVEyQ.js → index-CsHqnQII.js} +26 -0
  37. package/dist/cjs/{index-Mi8dWSSD.js → index-TxzPzc5I.js} +69 -6
  38. package/dist/cjs/index.cjs.js +9 -3
  39. package/dist/cjs/loader.cjs.js +2 -2
  40. package/dist/collection/collection-manifest.json +2 -1
  41. package/dist/collection/components/custom-select/custom-select.js +15 -17
  42. package/dist/collection/components/custom-select-form-field/custom-select-form-field.js +2 -2
  43. package/dist/collection/components/divider/divider.js +1 -1
  44. package/dist/collection/components/drawer/drawer.js +3 -3
  45. package/dist/collection/components/header/header.js +2 -2
  46. package/dist/collection/components/icon/icon.js +1 -1
  47. package/dist/collection/components/link/link.js +1 -1
  48. package/dist/collection/components/loading-indicator/examples/_indicators.data.js +91 -0
  49. package/dist/collection/components/loading-indicator/index.js +2 -0
  50. package/dist/collection/components/loading-indicator/loading-indicator.js +713 -0
  51. package/dist/collection/components/loading-indicator/model.js +2 -0
  52. package/dist/collection/components/navigation/navigation.js +2 -2
  53. package/dist/collection/components/navigation-item/navigation-item.js +1 -1
  54. package/dist/collection/components/notification/notification.js +41 -11
  55. package/dist/collection/components/page/page.js +2 -2
  56. package/dist/collection/components/popover/popover.js +2 -2
  57. package/dist/collection/components/radio/radio.js +1 -1
  58. package/dist/collection/components/section/section.js +2 -2
  59. package/dist/collection/components/select/select.js +49 -12
  60. package/dist/collection/components/stack/stack.js +2 -2
  61. package/dist/collection/components/switch/switch.js +2 -2
  62. package/dist/collection/components/tab-item/tab-item.js +2 -2
  63. package/dist/collection/components/tab-list/tab-list.js +2 -2
  64. package/dist/collection/components/tab-panel/tab-panel.js +2 -2
  65. package/dist/collection/components/tabs/tabs.js +2 -2
  66. package/dist/collection/components/tag/tag.js +2 -2
  67. package/dist/collection/components/textarea/textarea.js +2 -2
  68. package/dist/collection/components/tooltip/tooltip.js +2 -2
  69. package/dist/collection/index.js +2 -0
  70. package/dist/collection/utils/index.js +25 -0
  71. package/dist/custom-elements.json +2499 -888
  72. package/dist/db-ux/db-ux.esm.js +1 -1
  73. package/dist/db-ux/index.esm.js +1 -1
  74. package/dist/db-ux/{p-e7e35164.entry.js → p-0a073f5e.entry.js} +1 -1
  75. package/dist/db-ux/p-19def2d3.entry.js +1 -0
  76. package/dist/db-ux/p-1bbe8d13.entry.js +1 -0
  77. package/dist/db-ux/{p-197f90e4.entry.js → p-2a1481e9.entry.js} +1 -1
  78. package/dist/db-ux/{p-b6538eed.entry.js → p-30ceac5f.entry.js} +1 -1
  79. package/dist/db-ux/p-34862d35.entry.js +1 -0
  80. package/dist/db-ux/{p-44f2f09d.entry.js → p-3aba68af.entry.js} +1 -1
  81. package/dist/db-ux/p-46b4ed7f.entry.js +1 -0
  82. package/dist/db-ux/{p-5bca6d35.entry.js → p-4b4916fb.entry.js} +1 -1
  83. package/dist/db-ux/{p-78f6b72a.entry.js → p-4bda74c9.entry.js} +1 -1
  84. package/dist/db-ux/{p-9a543d5a.entry.js → p-5c55381c.entry.js} +1 -1
  85. package/dist/db-ux/{p-a1e66a3d.entry.js → p-642484ca.entry.js} +1 -1
  86. package/dist/db-ux/p-66e24856.entry.js +1 -0
  87. package/dist/db-ux/p-69ebe202.entry.js +1 -0
  88. package/dist/db-ux/{p-a232eea2.entry.js → p-78fd1504.entry.js} +1 -1
  89. package/dist/db-ux/p-7c0621ef.entry.js +1 -0
  90. package/dist/db-ux/{p-286f83f4.entry.js → p-8931bdc6.entry.js} +1 -1
  91. package/dist/db-ux/{p-26fa6bc1.entry.js → p-8e63e73c.entry.js} +1 -1
  92. package/dist/db-ux/p-8ff8418d.entry.js +1 -0
  93. package/dist/db-ux/{p-29d3070a.entry.js → p-919ff123.entry.js} +1 -1
  94. package/dist/db-ux/p-B6-lLNGQ.js +2 -0
  95. package/dist/db-ux/p-BhXdfCpU.js +1 -0
  96. package/dist/db-ux/p-C4x0SOcx.js +1 -0
  97. package/dist/db-ux/{p-Cb-k135w.js → p-CAEpg8tJ.js} +1 -1
  98. package/dist/db-ux/{p-EqlW5Wqf.js → p-RHqkTr-_.js} +1 -1
  99. package/dist/db-ux/p-a01a5c4a.entry.js +1 -0
  100. package/dist/db-ux/{p-027fb90a.entry.js → p-a95f6c84.entry.js} +1 -1
  101. package/dist/db-ux/{p-e30a4814.entry.js → p-ada8a2ac.entry.js} +1 -1
  102. package/dist/db-ux/p-b05bc567.entry.js +1 -0
  103. package/dist/db-ux/p-c1825fa6.entry.js +1 -0
  104. package/dist/db-ux/p-e847596c.entry.js +1 -0
  105. package/dist/db-ux/{p-13dd39f1.entry.js → p-f3cc7450.entry.js} +1 -1
  106. package/dist/db-ux/{p-a7463ead.entry.js → p-f64ab366.entry.js} +1 -1
  107. package/dist/db-ux/p-f71548d2.entry.js +1 -0
  108. package/dist/db-ux/{p-29efc51e.entry.js → p-fd4f5fac.entry.js} +1 -1
  109. package/dist/esm/db-accordion-item.entry.js +2 -2
  110. package/dist/esm/db-accordion.entry.js +2 -2
  111. package/dist/esm/db-badge.entry.js +2 -2
  112. package/dist/esm/db-brand.entry.js +2 -2
  113. package/dist/esm/db-button.entry.js +2 -2
  114. package/dist/esm/db-card.entry.js +2 -2
  115. package/dist/esm/db-checkbox.entry.js +3 -3
  116. package/dist/esm/{db-custom-select-dropdown_5.entry.js → db-custom-select-dropdown_6.entry.js} +258 -7
  117. package/dist/esm/db-custom-select-form-field.entry.js +4 -4
  118. package/dist/esm/db-custom-select.entry.js +14 -16
  119. package/dist/esm/db-divider.entry.js +3 -3
  120. package/dist/esm/db-drawer.entry.js +5 -5
  121. package/dist/esm/db-header.entry.js +4 -4
  122. package/dist/esm/db-icon.entry.js +3 -3
  123. package/dist/esm/db-infotext.entry.js +2 -2
  124. package/dist/esm/db-link.entry.js +3 -3
  125. package/dist/esm/db-navigation-item.entry.js +3 -3
  126. package/dist/esm/db-navigation.entry.js +4 -4
  127. package/dist/esm/db-notification.entry.js +8 -4
  128. package/dist/esm/db-page.entry.js +4 -4
  129. package/dist/esm/db-popover.entry.js +5 -5
  130. package/dist/esm/db-radio.entry.js +4 -4
  131. package/dist/esm/db-section.entry.js +4 -4
  132. package/dist/esm/db-select.entry.js +18 -7
  133. package/dist/esm/db-stack.entry.js +4 -4
  134. package/dist/esm/db-switch.entry.js +5 -5
  135. package/dist/esm/db-tab-item_3.entry.js +8 -8
  136. package/dist/esm/db-tabs.entry.js +4 -4
  137. package/dist/esm/db-textarea.entry.js +5 -5
  138. package/dist/esm/db-tooltip.entry.js +5 -5
  139. package/dist/esm/db-ux.js +4 -4
  140. package/dist/esm/{document-click-listener-B_LaIr0O.js → document-click-listener-CmYoXpGE.js} +1 -1
  141. package/dist/esm/{document-scroll-listener-dHAsT0Tb.js → document-scroll-listener-65bHuFAN.js} +1 -1
  142. package/dist/esm/{form-components-Cl_wgkeJ.js → form-components-BLsiOrPI.js} +1 -1
  143. package/dist/esm/{index-9pYJFapZ.js → index-B6-lLNGQ.js} +69 -6
  144. package/dist/esm/{index-BwBkekqp.js → index-C4x0SOcx.js} +26 -1
  145. package/dist/esm/index.js +7 -4
  146. package/dist/esm/loader.js +3 -3
  147. package/dist/types/components/custom-select/custom-select.d.ts +1 -1
  148. package/dist/types/components/link/model.d.ts +2 -2
  149. package/dist/types/components/loading-indicator/examples/_indicators.data.d.ts +49 -0
  150. package/dist/types/components/loading-indicator/index.d.ts +2 -0
  151. package/dist/types/components/loading-indicator/loading-indicator.d.ts +56 -0
  152. package/dist/types/components/loading-indicator/model.d.ts +39 -0
  153. package/dist/types/components/notification/model.d.ts +2 -2
  154. package/dist/types/components/notification/notification.d.ts +2 -1
  155. package/dist/types/components/select/model.d.ts +10 -0
  156. package/dist/types/components/select/select.d.ts +3 -1
  157. package/dist/types/components.d.ts +91 -0
  158. package/dist/types/index.d.ts +2 -0
  159. package/dist/types/shared/model.d.ts +12 -8
  160. package/dist/types/utils/index.d.ts +12 -0
  161. package/dist/vscode.html-custom-data.json +182 -22
  162. package/dist/web-types.json +316 -51
  163. package/package.json +4 -4
  164. package/dist/db-ux/p-15241486.entry.js +0 -1
  165. package/dist/db-ux/p-2069117e.entry.js +0 -1
  166. package/dist/db-ux/p-2baf9c08.entry.js +0 -1
  167. package/dist/db-ux/p-39d22a0f.entry.js +0 -1
  168. package/dist/db-ux/p-462d8de5.entry.js +0 -1
  169. package/dist/db-ux/p-58611dcc.entry.js +0 -1
  170. package/dist/db-ux/p-623a6b59.entry.js +0 -1
  171. package/dist/db-ux/p-9d5365f7.entry.js +0 -1
  172. package/dist/db-ux/p-9pYJFapZ.js +0 -2
  173. package/dist/db-ux/p-BwBkekqp.js +0 -1
  174. package/dist/db-ux/p-a98bde77.entry.js +0 -1
  175. package/dist/db-ux/p-af0e61d0.entry.js +0 -1
  176. package/dist/db-ux/p-b729b29f.entry.js +0 -1
  177. package/dist/db-ux/p-bde7ff5f.entry.js +0 -1
  178. package/dist/db-ux/p-c9d514e5.entry.js +0 -1
  179. package/dist/db-ux/p-cqrM3KjS.js +0 -1
@@ -0,0 +1,2 @@
1
+ export const LoadingIndicatorVariantList = ['progress-bar', 'onsite', 'inline'];
2
+ export const LoadingIndicatorStateList = ['inactive', 'active', 'successful', 'critical'];
@@ -46,9 +46,9 @@ export class DBNavigation {
46
46
  this._id = this.id || "navigation-" + uuid();
47
47
  }
48
48
  render() {
49
- return (h("nav", { key: 'ed27159179b89985cbf0711be7dc494ca820cf75', class: cls("db-navigation", this.className), ref: (el) => {
49
+ return (h("nav", { key: '7ca06eb30c08a1b7a595a92d156cc35e1ed1fab0', class: cls("db-navigation", this.className), ref: (el) => {
50
50
  this._ref = el;
51
- }, id: this._id }, h("menu", { key: '6aa518535f6c802abec874a174d6e8d028572269' }, h("slot", { key: '2307ee2093cf4bcec3c8f4b8d5e8e88a8d78cf08' }))));
51
+ }, id: this._id }, h("menu", { key: '9fb0d02c73a39da0efa0e50f1b7836af84e729d7' }, h("slot", { key: '3f21156518d0bae763c8cd43a59b2d4bb579fa1e' }))));
52
52
  }
53
53
  static get is() { return "db-navigation"; }
54
54
  static get properties() {
@@ -106,7 +106,7 @@ export class DBNavigationItem {
106
106
  }
107
107
  render() {
108
108
  var _a;
109
- return (h("li", { key: 'd00b7b4852a729301d545abaf1a65cd3e0cdcee7', class: cls("db-navigation-item", this.className), ref: (el) => {
109
+ return (h("li", { key: '2c1d3b2db5597946df4ea8bab748be7a3f4fe46a', class: cls("db-navigation-item", this.className), ref: (el) => {
110
110
  this._ref = el;
111
111
  }, id: this.id, onMouseOver: () => { var _a; return (_a = this.navigationItemSafeTriangle) === null || _a === void 0 ? void 0 : _a.enableFollow(); }, onMouseLeave: () => { var _a; return (_a = this.navigationItemSafeTriangle) === null || _a === void 0 ? void 0 : _a.disableFollow(); }, onMouseMove: (event) => { var _a; return (_a = this.navigationItemSafeTriangle) === null || _a === void 0 ? void 0 : _a.followByMouseEvent(event); }, "data-width": this.width, "data-icon": this.icon, "data-show-icon": getBooleanAsString(this.showIcon), "data-active": this.active, "data-wrap": getBooleanAsString(this.wrap), "aria-disabled": getBooleanAsString(this.disabled) }, !this.hasSubNavigation ? this.text ? this.text : h("slot", null) : null, this.hasSubNavigation ? (h(Fragment, null, h("button", { class: "db-navigation-item-expand-button", "aria-haspopup": this.hasAreaPopup, "aria-expanded": this.isSubNavigationExpanded, disabled: getBoolean(this.disabled, "disabled"), onClick: (event) => this.handleClick(event) }, this.text ? this.text : h("slot", null)), h("menu", { class: "db-sub-navigation", "data-force-close": this.autoClose, id: this.subNavigationId, onClick: (event) => this.handleNavigationItemClick(event) }, this.hasAreaPopup ? (h("div", { class: "db-mobile-navigation-back" }, h("db-button", { icon: "arrow_left", variant: "ghost", id: this.backButtonId, onClick: (event) => this.handleBackClick(event) }, (_a = this.backButtonText) !== null && _a !== void 0 ? _a : DEFAULT_BACK))) : null, h("slot", { name: "subNavigation" })))) : null));
112
112
  }
@@ -1,5 +1,5 @@
1
1
  import { DEFAULT_CLOSE_BUTTON } from "../../shared/constants";
2
- import { cls, getBoolean, getBooleanAsString, stringPropVisible, } from "../../utils";
2
+ import { cls, getBoolean, getBooleanAsString, getNotificationRole, stringPropVisible, } from "../../utils";
3
3
  import { h, } from "@stencil/core";
4
4
  /**
5
5
  * @slot children - This is a default/unnamed slot
@@ -52,9 +52,13 @@ export class DBNotification {
52
52
  }
53
53
  render() {
54
54
  var _a;
55
- return (h("article", { key: '3c3f2ddd7dfcd2e1c0fee57f9c5e7da2715b14f9', class: cls("db-notification", this.className), ref: (el) => {
55
+ return (h("div", { key: 'c02c5f52518a3ec9ef881a31c7fbfb82e6916ceb', class: cls("db-notification", this.className), ref: (el) => {
56
56
  this._ref = el;
57
- }, id: this.id, "aria-live": this.ariaLive, "data-semantic": this.semantic, "data-variant": this.variant, "data-icon": getBoolean(this.showIcon) !== false ? this.icon : undefined, "data-show-icon": getBooleanAsString(this.showIcon), "data-link-variant": this.linkVariant }, h("slot", { key: 'abf2bee58f568e7f8fd1b4bc3b4f5784075195c0', name: "image" }), stringPropVisible(this.headline, this.showHeadline) ? (h("header", null, this.headline)) : null, h("p", { key: 'f845249859543bfdc2ac08dd06fea46d5c6fb33d' }, this.text ? this.text : h("slot", null)), stringPropVisible(this.timestamp, this.showTimestamp) ? (h("span", null, this.timestamp)) : null, h("slot", { key: '097d69d4b69789d1bc2ff1c1eea143578cdd3f83', name: "link" }), getBoolean(this.closeable, "closeable") ? (h("db-button", { icon: "cross", variant: "ghost", size: "small", id: this.closeButtonId, noText: true, onClick: (event) => this.handleClose(event) }, (_a = this.closeButtonText) !== null && _a !== void 0 ? _a : DEFAULT_CLOSE_BUTTON)) : null));
57
+ }, id: this.id, role: getNotificationRole({
58
+ semantic: this.semantic,
59
+ role: this.role,
60
+ ariaLive: this.ariaLive,
61
+ }), "aria-live": this.ariaLive, "data-semantic": this.semantic, "data-variant": this.variant, "data-icon": getBoolean(this.showIcon) !== false ? this.icon : undefined, "data-show-icon": getBooleanAsString(this.showIcon), "data-link-variant": this.linkVariant }, h("slot", { key: '6aa1d954e740bedd0fcd01698c2d96b6949f25a5', name: "image" }), stringPropVisible(this.headline, this.showHeadline) ? (h("header", null, this.headline)) : null, h("p", { key: '8319a32b151cd2fdfe68cf60d87efb5a0e2363b6' }, this.text ? this.text : h("slot", null)), stringPropVisible(this.timestamp, this.showTimestamp) ? (h("span", null, this.timestamp)) : null, h("slot", { key: 'a2d398e89f54e8c9207e2865ed238c0a8672bfd8', name: "link" }), getBoolean(this.closeable, "closeable") ? (h("db-button", { icon: "cross", variant: "ghost", size: "small", id: this.closeButtonId, noText: true, onClick: (event) => this.handleClose(event) }, (_a = this.closeButtonText) !== null && _a !== void 0 ? _a : DEFAULT_CLOSE_BUTTON)) : null));
58
62
  }
59
63
  static get is() { return "db-notification"; }
60
64
  static get properties() {
@@ -111,12 +115,12 @@ export class DBNotification {
111
115
  "reflect": false,
112
116
  "attribute": "classname"
113
117
  },
114
- "ariaLive": {
118
+ "semantic": {
115
119
  "type": "string",
116
120
  "mutable": false,
117
121
  "complexType": {
118
- "original": "DBNotificationProps[\"ariaLive\"]",
119
- "resolved": "\"assertive\" | \"off\" | \"polite\"",
122
+ "original": "DBNotificationProps[\"semantic\"]",
123
+ "resolved": "\"adaptive\" | \"critical\" | \"informational\" | \"neutral\" | \"successful\" | \"warning\"",
120
124
  "references": {
121
125
  "DBNotificationProps": {
122
126
  "location": "import",
@@ -135,14 +139,14 @@ export class DBNotification {
135
139
  "getter": false,
136
140
  "setter": false,
137
141
  "reflect": false,
138
- "attribute": "aria-live"
142
+ "attribute": "semantic"
139
143
  },
140
- "semantic": {
144
+ "role": {
141
145
  "type": "string",
142
146
  "mutable": false,
143
147
  "complexType": {
144
- "original": "DBNotificationProps[\"semantic\"]",
145
- "resolved": "\"adaptive\" | \"critical\" | \"informational\" | \"neutral\" | \"successful\" | \"warning\"",
148
+ "original": "DBNotificationProps[\"role\"]",
149
+ "resolved": "string",
146
150
  "references": {
147
151
  "DBNotificationProps": {
148
152
  "location": "import",
@@ -161,7 +165,33 @@ export class DBNotification {
161
165
  "getter": false,
162
166
  "setter": false,
163
167
  "reflect": false,
164
- "attribute": "semantic"
168
+ "attribute": "role"
169
+ },
170
+ "ariaLive": {
171
+ "type": "string",
172
+ "mutable": false,
173
+ "complexType": {
174
+ "original": "DBNotificationProps[\"ariaLive\"]",
175
+ "resolved": "\"assertive\" | \"off\" | \"polite\"",
176
+ "references": {
177
+ "DBNotificationProps": {
178
+ "location": "import",
179
+ "path": "./model",
180
+ "id": "src/components/notification/model.ts::DBNotificationProps",
181
+ "referenceLocation": "DBNotificationProps"
182
+ }
183
+ }
184
+ },
185
+ "required": false,
186
+ "optional": false,
187
+ "docs": {
188
+ "tags": [],
189
+ "text": ""
190
+ },
191
+ "getter": false,
192
+ "setter": false,
193
+ "reflect": false,
194
+ "attribute": "aria-live"
165
195
  },
166
196
  "variant": {
167
197
  "type": "string",
@@ -61,9 +61,9 @@ export class DBPage {
61
61
  }
62
62
  }
63
63
  render() {
64
- return (h("div", { key: '005b795411eb8ae8717d978eae32db515f7f6d87', class: cls("db-page", this.className), ref: (el) => {
64
+ return (h("div", { key: '0596f3a43bd9fb3eb3a5bf9db63bdf8f899b14ec', class: cls("db-page", this.className), ref: (el) => {
65
65
  this._ref = el;
66
- }, id: this.id, "data-variant": this.variant, "data-fade-in": getBooleanAsString(this.fadeIn), "data-fonts-loaded": getBooleanAsString(this.fontsLoaded) }, h("slot", { key: 'd9afe2076d0f115c2e7e8dc362ccd6e1dd3c4df7', name: "header" }), h("main", { key: '2002d9fbc8a71df9d042da0e77dbdce9d9bd9ab5', class: cls("db-main", this.mainClass) }, h("slot", { key: '40fdc82ff79391f41ba9bd1886959e7f84ab7626' })), h("slot", { key: '0468545812365d7124bf4e3e9f9045aacce6786a', name: "footer" })));
66
+ }, id: this.id, "data-variant": this.variant, "data-fade-in": getBooleanAsString(this.fadeIn), "data-fonts-loaded": getBooleanAsString(this.fontsLoaded) }, h("slot", { key: '44cab7ad5f1bbb8a89cec4702923d4f9956f9bcf', name: "header" }), h("main", { key: '2906f8b81485a608181844f7c8214e1c85c1c8cb', class: cls("db-main", this.mainClass) }, h("slot", { key: '1382d4f336daeda7c72dd6e72307e4ee3033ccd9' })), h("slot", { key: '96a74899d394ce2b669a5fe67ff02d6788041732', name: "footer" })));
67
67
  }
68
68
  static get is() { return "db-page"; }
69
69
  static get properties() {
@@ -166,9 +166,9 @@ export class DBPopover {
166
166
  }
167
167
  render() {
168
168
  var _a;
169
- return (h("div", { key: '4d902919abc8bf5b55a617a31424f35582e029c1', class: cls("db-popover", this.className), ref: (el) => {
169
+ return (h("div", { key: '409561d2c2dec5345bcab7bbdc92a344bb6f2069', class: cls("db-popover", this.className), ref: (el) => {
170
170
  this._ref = el;
171
- }, id: this.id }, h("slot", { key: '166a0b766f6f0c003e6d7a250fd466267117f59a', name: "trigger" }), h("article", { key: '4fa535dc081c76eb21671e0abfb7d090b38e6e5c', class: "db-popover-content", "data-spacing": this.spacing, "data-gap": getBooleanAsString(this.gap), "data-animation": getBooleanAsString((_a = this.animation) !== null && _a !== void 0 ? _a : true), "data-open": getBooleanAsString(this.open), "data-delay": this.delay, "data-width": this.width, "data-placement": this.placement }, h("slot", { key: 'ef47687b496cfe4d6cce11ef5d282a2ec3a88004' }))));
171
+ }, id: this.id }, h("slot", { key: '8e9a5843169346cd41cb531fd735174a87a92cd2', name: "trigger" }), h("article", { key: '00ee2110c7c4a5df9bf293b8efb0bf8e644a07e2', class: "db-popover-content", "data-spacing": this.spacing, "data-gap": getBooleanAsString(this.gap), "data-animation": getBooleanAsString((_a = this.animation) !== null && _a !== void 0 ? _a : true), "data-open": getBooleanAsString(this.open), "data-delay": this.delay, "data-width": this.width, "data-placement": this.placement }, h("slot", { key: 'cc09e84718d750bb182c633204ae42cb07a2e94d' }))));
172
172
  }
173
173
  static get is() { return "db-popover"; }
174
174
  static get properties() {
@@ -109,7 +109,7 @@ export class DBRadio {
109
109
  (_a = this.abortController) === null || _a === void 0 ? void 0 : _a.abort();
110
110
  }
111
111
  render() {
112
- return (h("label", { key: '2d573f1bd633fdedf2fde15c11d52cfa8a70b3ef', class: cls("db-radio", this.className), "data-size": this.size, "data-hide-label": getHideProp(this.showLabel), "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), htmlFor: this._id }, h("input", { key: 'dd0ae78f833d0cd170824fd38aef50797529557a', type: "radio", "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, ref: (el) => {
112
+ return (h("label", { key: '9c6681364dff418c05708d40a81c69b8779037e6', class: cls("db-radio", this.className), "data-size": this.size, "data-hide-label": getHideProp(this.showLabel), "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), htmlFor: this._id }, h("input", { key: 'd3902515f8019bfbf1e39ae03974fc4edab34af5', type: "radio", "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, ref: (el) => {
113
113
  this._ref = el;
114
114
  }, id: this._id, name: this.name, checked: getBoolean(this.checked, "checked"), disabled: getBoolean(this.disabled, "disabled"), value: this.value, required: getBoolean(this.required, "required"), onInput: (event) => this.handleInput(event), onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event) }), this.label ? this.label : h("slot", null)));
115
115
  }
@@ -41,9 +41,9 @@ export class DBSection {
41
41
  this.enableAttributePassing(this._ref, "db-section");
42
42
  }
43
43
  render() {
44
- return (h("section", { key: '2d9f2702a0f18b257a3517ff002ff45984e07016', class: cls("db-section", this.className), ref: (el) => {
44
+ return (h("section", { key: 'fdb7506b1167523251283873a51a066d8e30cf1e', class: cls("db-section", this.className), ref: (el) => {
45
45
  this._ref = el;
46
- }, id: this.id, "data-spacing": this.spacing || "medium", "data-width": this.width }, h("slot", { key: 'c432a712362af876cadc2c40946280272886e74c' })));
46
+ }, id: this.id, "data-spacing": this.spacing || "medium", "data-width": this.width }, h("slot", { key: 'c0ee964ba8a8cbc41aa9d86194fdca837c1454c2' })));
47
47
  }
48
48
  static get is() { return "db-section"; }
49
49
  static get properties() {
@@ -88,6 +88,17 @@ export class DBSelect {
88
88
  var _a, _b;
89
89
  return (_a = option.label) !== null && _a !== void 0 ? _a : (_b = option.value) === null || _b === void 0 ? void 0 : _b.toString();
90
90
  }
91
+ shouldShowEmptyOption() {
92
+ const hasPlaceholderOrFloating = this.variant === "floating" || !!this.placeholder;
93
+ if (!hasPlaceholderOrFloating) {
94
+ return false;
95
+ }
96
+ if (this.showEmptyOption !== undefined) {
97
+ return this.showEmptyOption;
98
+ }
99
+ // Default: show empty option for non-required selects
100
+ return !this.required;
101
+ }
91
102
  /**
92
103
  * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
93
104
  * @param element the ref for the component
@@ -205,14 +216,14 @@ export class DBSelect {
205
216
  }
206
217
  render() {
207
218
  var _a, _b, _c, _d, _e;
208
- return (h("div", { key: '0139805ef7af1df0231794b1214fb861e6564247', class: cls("db-select", this.className), "data-variant": this.variant, "data-hide-label": getHideProp(this.showLabel), "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-icon": this.icon, "data-show-icon": getBooleanAsString(this.showIcon) }, h("label", { key: '32f2bbc5b919c3450c33f6e18a5da5826da7aa11', htmlFor: this._id }, (_a = this.label) !== null && _a !== void 0 ? _a : DEFAULT_LABEL), h("select", { key: 'b5f973899ce6d4dd1d1de822a41dd4035cc08757', "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, ref: (el) => {
219
+ return (h("div", { key: '5e43d8dedb742b468664f73828fb4b73fef2974a', class: cls("db-select", this.className), "data-variant": this.variant, "data-hide-label": getHideProp(this.showLabel), "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-icon": this.icon, "data-show-icon": getBooleanAsString(this.showIcon) }, h("label", { key: 'cb80161c07a61b559ce4ac673975158df8bbdef3', htmlFor: this._id }, (_a = this.label) !== null && _a !== void 0 ? _a : DEFAULT_LABEL), h("select", { key: 'b467fceec86ce6335ffef3763ebdb70ba5dee8e2', "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, ref: (el) => {
209
220
  this._ref = el;
210
221
  }, required: getBoolean(this.required, "required"), disabled: getBoolean(this.disabled, "disabled"), id: this._id, name: this.name, size: this.size,
211
222
  /* @ts-ignore */
212
- value: (_b = this.value) !== null && _b !== void 0 ? _b : this._value, autocomplete: this.autocomplete, multiple: this.multiple, onInput: (event) => this.handleInput(event), onClick: (event) => this.handleClick(event), onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event), "aria-describedby": (_c = this.ariaDescribedBy) !== null && _c !== void 0 ? _c : this._descByIds }, this.variant === "floating" || this.placeholder ? (h("option", { class: "placeholder", value: "" })) : null, ((_d = this.options) === null || _d === void 0 ? void 0 : _d.length) ? ((_e = this.options) === null || _e === void 0 ? void 0 : _e.map((option) => {
223
+ value: (_b = this.value) !== null && _b !== void 0 ? _b : this._value, autocomplete: this.autocomplete, multiple: this.multiple, onInput: (event) => this.handleInput(event), onClick: (event) => this.handleClick(event), onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event), "aria-describedby": (_c = this.ariaDescribedBy) !== null && _c !== void 0 ? _c : this._descByIds }, this.variant === "floating" || !!this.placeholder ? (h("option", { class: "placeholder", value: "", "data-show-empty-option": getBooleanAsString(this.shouldShowEmptyOption()) })) : null, ((_d = this.options) === null || _d === void 0 ? void 0 : _d.length) ? ((_e = this.options) === null || _e === void 0 ? void 0 : _e.map((option) => {
213
224
  var _a;
214
- return (h(Fragment, null, option.options ? (h("optgroup", { label: this.getOptionLabel(option), key: undefined }, (_a = option.options) === null || _a === void 0 ? void 0 : _a.map((optgroupOption) => (h("option", { value: optgroupOption.value, selected: optgroupOption.selected, disabled: optgroupOption.disabled, key: undefined }, this.getOptionLabel(optgroupOption)))))) : (h("option", { value: option.value, disabled: option.disabled, selected: option.selected, key: undefined }, this.getOptionLabel(option)))));
215
- })) : (h("slot", null))), this.placeholder ? (h("span", { class: "db-select-placeholder", id: this._placeholderId }, this.placeholder)) : null, stringPropVisible(this.message, this.showMessage) ? (h("db-infotext", { size: "small", icon: this.messageIcon, id: this._messageId }, this.message)) : null, this.hasValidState() ? (h("db-infotext", { size: "small", semantic: "successful", id: this._validMessageId }, this.validMessage || DEFAULT_VALID_MESSAGE)) : null, h("db-infotext", { key: '8b6c170210a55708f2539f46bd599a47a9e81781', size: "small", semantic: "critical", id: this._invalidMessageId }, this._invalidMessage), h("span", { key: '17de2c472570dce406b18eeac924c0c88446ce6d', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
225
+ return (h(Fragment, null, option.options ? (h("optgroup", { label: this.getOptionLabel(option) }, (_a = option.options) === null || _a === void 0 ? void 0 : _a.map((optgroupOption) => (h("option", { value: optgroupOption.value, selected: optgroupOption.selected, disabled: optgroupOption.disabled }, this.getOptionLabel(optgroupOption)))))) : (h("option", { value: option.value, disabled: option.disabled, selected: option.selected }, this.getOptionLabel(option)))));
226
+ })) : (h("slot", null))), this.placeholder ? (h("span", { class: "db-select-placeholder", id: this._placeholderId }, this.placeholder)) : null, stringPropVisible(this.message, this.showMessage) ? (h("db-infotext", { size: "small", icon: this.messageIcon, id: this._messageId }, this.message)) : null, this.hasValidState() ? (h("db-infotext", { size: "small", semantic: "successful", id: this._validMessageId }, this.validMessage || DEFAULT_VALID_MESSAGE)) : null, h("db-infotext", { key: '8ba0d50a8732ebca71d7f1cb39868aaf81ee8814', size: "small", semantic: "critical", id: this._invalidMessageId }, this._invalidMessage), h("span", { key: '9fa3b0f3ff448911c82bc2fb4b2fe88b295cc715', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
216
227
  }
217
228
  static get is() { return "db-select"; }
218
229
  static get properties() {
@@ -451,12 +462,12 @@ export class DBSelect {
451
462
  "reflect": false,
452
463
  "attribute": "required"
453
464
  },
454
- "className": {
465
+ "variant": {
455
466
  "type": "string",
456
467
  "mutable": false,
457
468
  "complexType": {
458
- "original": "DBSelectProps[\"className\"]",
459
- "resolved": "string",
469
+ "original": "DBSelectProps[\"variant\"]",
470
+ "resolved": "\"above\" | \"floating\"",
460
471
  "references": {
461
472
  "DBSelectProps": {
462
473
  "location": "import",
@@ -475,14 +486,40 @@ export class DBSelect {
475
486
  "getter": false,
476
487
  "setter": false,
477
488
  "reflect": false,
478
- "attribute": "classname"
489
+ "attribute": "variant"
479
490
  },
480
- "variant": {
491
+ "showEmptyOption": {
492
+ "type": "boolean",
493
+ "mutable": false,
494
+ "complexType": {
495
+ "original": "DBSelectProps[\"showEmptyOption\"]",
496
+ "resolved": "boolean",
497
+ "references": {
498
+ "DBSelectProps": {
499
+ "location": "import",
500
+ "path": "./model",
501
+ "id": "src/components/select/model.ts::DBSelectProps",
502
+ "referenceLocation": "DBSelectProps"
503
+ }
504
+ }
505
+ },
506
+ "required": false,
507
+ "optional": false,
508
+ "docs": {
509
+ "tags": [],
510
+ "text": ""
511
+ },
512
+ "getter": false,
513
+ "setter": false,
514
+ "reflect": false,
515
+ "attribute": "show-empty-option"
516
+ },
517
+ "className": {
481
518
  "type": "string",
482
519
  "mutable": false,
483
520
  "complexType": {
484
- "original": "DBSelectProps[\"variant\"]",
485
- "resolved": "\"above\" | \"floating\"",
521
+ "original": "DBSelectProps[\"className\"]",
522
+ "resolved": "string",
486
523
  "references": {
487
524
  "DBSelectProps": {
488
525
  "location": "import",
@@ -501,7 +538,7 @@ export class DBSelect {
501
538
  "getter": false,
502
539
  "setter": false,
503
540
  "reflect": false,
504
- "attribute": "variant"
541
+ "attribute": "classname"
505
542
  },
506
543
  "showLabel": {
507
544
  "type": "any",
@@ -41,9 +41,9 @@ export class DBStack {
41
41
  this.enableAttributePassing(this._ref, "db-stack");
42
42
  }
43
43
  render() {
44
- return (h("div", { key: '64a5a45be3cfecebbe4fff818f6cbfeee462513c', class: cls("db-stack", this.className), ref: (el) => {
44
+ return (h("div", { key: 'ac699e5febc5703f47f9c3427e2a6cd1004927b5', class: cls("db-stack", this.className), ref: (el) => {
45
45
  this._ref = el;
46
- }, id: this.id, "data-gap": this.gap, "data-variant": this.variant, "data-direction": this.direction, "data-alignment": this.alignment, "data-justify-content": this.justifyContent, "data-wrap": getBooleanAsString(this.wrap) }, h("slot", { key: '69bd35bb73645e26b9819c7d9fc062cba032b4d7' })));
46
+ }, id: this.id, "data-gap": this.gap, "data-variant": this.variant, "data-direction": this.direction, "data-alignment": this.alignment, "data-justify-content": this.justifyContent, "data-wrap": getBooleanAsString(this.wrap) }, h("slot", { key: '7ad7fb4ca373c4b5b209e5b687bac5c9ffcbabfa' })));
47
47
  }
48
48
  static get is() { return "db-stack"; }
49
49
  static get properties() {
@@ -155,9 +155,9 @@ export class DBSwitch {
155
155
  }
156
156
  render() {
157
157
  var _a, _b, _c, _d;
158
- return (h("div", { key: 'f2dab897c89fa8aadd97abe59e81b4d7ef4561c5', class: cls("db-switch", this.className), "data-visual-aid": getBooleanAsString(this.visualAid), "data-size": this.size, "data-hide-label": getHideProp(this.showLabel), "data-variant": this.variant, "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-custom-validity": this.validation }, h("label", { key: '8d7c3e44a9f7c565224124d499abe6c3b96582f6', htmlFor: this._id }, h("input", { key: '1cba4d3dbe46c97cd9039442e61eb0d9baab0587', type: "checkbox", role: "switch", id: this._id, ref: (el) => {
158
+ return (h("div", { key: '7f78c7b627c547924b52882f4fe1eb14e351c4a6', class: cls("db-switch", this.className), "data-visual-aid": getBooleanAsString(this.visualAid), "data-size": this.size, "data-hide-label": getHideProp(this.showLabel), "data-variant": this.variant, "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-custom-validity": this.validation }, h("label", { key: 'e627f1aabce606131fe8d3a42dbe456cd92b9729', htmlFor: this._id }, h("input", { key: '4798f66f7a9902f2d231ee3f8c4148bcb18a43ac', type: "checkbox", role: "switch", id: this._id, ref: (el) => {
159
159
  this._ref = el;
160
- }, checked: getBoolean(this.checked, "checked"), value: this.value, disabled: getBoolean(this.disabled, "disabled"), "aria-invalid": this.validation === "invalid" ? "true" : undefined, "aria-describedby": this._descByIds, name: this.name, required: getBoolean(this.required, "required"), "data-aid-icon": (_a = this.iconLeading) !== null && _a !== void 0 ? _a : this.icon, "data-aid-icon-trailing": this.iconTrailing, onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => this.handleKeyDown(event) }), this.label ? this.label : h("slot", null)), stringPropVisible(this.message, this.showMessage) ? (h("db-infotext", { size: "small", semantic: "adaptive", id: this._messageId, icon: this.messageIcon }, this.message)) : null, this.hasValidState() ? (h("db-infotext", { size: "small", semantic: "successful", id: this._validMessageId }, (_b = this.validMessage) !== null && _b !== void 0 ? _b : DEFAULT_VALID_MESSAGE)) : null, h("db-infotext", { key: '9495dfc7fb2e3947f21b834792c4caeab411bbd0', size: "small", semantic: "critical", id: this._invalidMessageId }, (_d = (_c = this._invalidMessage) !== null && _c !== void 0 ? _c : this.invalidMessage) !== null && _d !== void 0 ? _d : DEFAULT_INVALID_MESSAGE), h("span", { key: '6e6b325689130fc5cdeef86d3a4f59299b5f8450', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
160
+ }, checked: getBoolean(this.checked, "checked"), value: this.value, disabled: getBoolean(this.disabled, "disabled"), "aria-invalid": this.validation === "invalid" ? "true" : undefined, "aria-describedby": this._descByIds, name: this.name, required: getBoolean(this.required, "required"), "data-aid-icon": (_a = this.iconLeading) !== null && _a !== void 0 ? _a : this.icon, "data-aid-icon-trailing": this.iconTrailing, onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => this.handleKeyDown(event) }), this.label ? this.label : h("slot", null)), stringPropVisible(this.message, this.showMessage) ? (h("db-infotext", { size: "small", semantic: "adaptive", id: this._messageId, icon: this.messageIcon }, this.message)) : null, this.hasValidState() ? (h("db-infotext", { size: "small", semantic: "successful", id: this._validMessageId }, (_b = this.validMessage) !== null && _b !== void 0 ? _b : DEFAULT_VALID_MESSAGE)) : null, h("db-infotext", { key: '2ea7f182d6d9057e9ac9f3f6099439bda32ee0a5', size: "small", semantic: "critical", id: this._invalidMessageId }, (_d = (_c = this._invalidMessage) !== null && _c !== void 0 ? _c : this.invalidMessage) !== null && _d !== void 0 ? _d : DEFAULT_INVALID_MESSAGE), h("span", { key: '8838f4b3dffd9a17061e3b57f8ef5f963763bef3', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
161
161
  }
162
162
  static get is() { return "db-switch"; }
163
163
  static get properties() {
@@ -109,9 +109,9 @@ export class DBTabItem {
109
109
  }
110
110
  render() {
111
111
  var _a, _b;
112
- return (h("li", { key: '9bbc9bdc6c450f62ce790a2662b165f9fad484ea', class: cls("db-tab-item", this.className), role: "none" }, h("label", { key: 'e3a4e3afdd250587b5d0cef54eb7d8302980199f', htmlFor: this.id, "data-icon": (_a = this.iconLeading) !== null && _a !== void 0 ? _a : this.icon, "data-icon-trailing": this.iconTrailing, "data-show-icon": getBooleanAsString((_b = this.showIconLeading) !== null && _b !== void 0 ? _b : this.showIcon), "data-show-icon-trailing": getBooleanAsString(this.showIconTrailing), "data-no-text": getBooleanAsString(this.noText) }, h("input", { key: '372cd912646fd40dc31f49d344d60526442a0f7a', type: "radio", role: "tab", disabled: getBoolean(this.disabled, "disabled"), "aria-selected": this._selected, checked: getBoolean(this.checked, "checked"), ref: (el) => {
112
+ return (h("li", { key: '0c6075d3d7ff13223b1a56901c25066413c9aca3', class: cls("db-tab-item", this.className), role: "none" }, h("label", { key: '6861488d412e24aefdcabc6728486f8028cb7eb9', htmlFor: this.id, "data-icon": (_a = this.iconLeading) !== null && _a !== void 0 ? _a : this.icon, "data-icon-trailing": this.iconTrailing, "data-show-icon": getBooleanAsString((_b = this.showIconLeading) !== null && _b !== void 0 ? _b : this.showIcon), "data-show-icon-trailing": getBooleanAsString(this.showIconTrailing), "data-no-text": getBooleanAsString(this.noText) }, h("input", { key: '5bc826c7f6b65c1be3ef74097912fb166a88e0c7', type: "radio", role: "tab", disabled: getBoolean(this.disabled, "disabled"), "aria-selected": this._selected, checked: getBoolean(this.checked, "checked"), ref: (el) => {
113
113
  this._ref = el;
114
- }, name: this._name, id: this.id, onInput: (event) => this.handleChange(event) }), this.label ? this.label : null, h("slot", { key: '843e696cad853b5ce9d582f210efe86f3d270cb8' }))));
114
+ }, name: this._name, id: this.id, onInput: (event) => this.handleChange(event) }), this.label ? this.label : null, h("slot", { key: '4f1eec8f005b8cb9cef0db1d8784fa619b9a5784' }))));
115
115
  }
116
116
  static get is() { return "db-tab-item"; }
117
117
  static get properties() {
@@ -46,9 +46,9 @@ export class DBTabList {
46
46
  this._id = this.id || "tab-list-" + uuid();
47
47
  }
48
48
  render() {
49
- return (h("div", { key: '4ef0a69cacaafb2205ebfea7826c3c1f64a84411', class: cls("db-tab-list", this.className), ref: (el) => {
49
+ return (h("div", { key: 'e4d71a4ffabd095644e3b5f0b7e09387e810f507', class: cls("db-tab-list", this.className), ref: (el) => {
50
50
  this._ref = el;
51
- }, id: this._id }, h("ul", { key: 'cfdccc43bd366eb9c71137918a8ca92fd6a81b69', role: "tablist" }, h("slot", { key: 'c09711c4b398a3d6b26d62c87aaf0f050af32bdb' }))));
51
+ }, id: this._id }, h("ul", { key: '05e7014331425c6b71f80fb38ea6edb8e41ad38f', role: "tablist" }, h("slot", { key: '6467c24bf96e42d4bf27426a52190c99dc27c02f' }))));
52
52
  }
53
53
  static get is() { return "db-tab-list"; }
54
54
  static get properties() {
@@ -41,9 +41,9 @@ export class DBTabPanel {
41
41
  this.enableAttributePassing(this._ref, "db-tab-panel");
42
42
  }
43
43
  render() {
44
- return (h("section", { key: '312ef04379d3b4a094999f02ac919e3b0ac31877', class: cls("db-tab-panel", this.className), role: "tabpanel", ref: (el) => {
44
+ return (h("section", { key: '48de8c67facfb05c2988c3d69566c4b68c507405', class: cls("db-tab-panel", this.className), role: "tabpanel", ref: (el) => {
45
45
  this._ref = el;
46
- }, id: this.id }, this.content ? this.content : null, h("slot", { key: '7848155bb7734db6835c0fe7fcf85eb37635110d' })));
46
+ }, id: this.id }, this.content ? this.content : null, h("slot", { key: 'a6adc5d34e5c5a7abb6c34fa12d23bf208d2ef2b' })));
47
47
  }
48
48
  static get is() { return "db-tab-panel"; }
49
49
  static get properties() {
@@ -204,10 +204,10 @@ export class DBTabs {
204
204
  }
205
205
  render() {
206
206
  var _a, _b, _c, _d;
207
- return (h("div", { key: 'a53c2737f8238bbe266baa7d6e3f90649c52512a', class: cls("db-tabs", this.className), ref: (el) => {
207
+ return (h("div", { key: '96c8670519fc8e178121be97b419e35cfb826075', class: cls("db-tabs", this.className), ref: (el) => {
208
208
  this._ref = el;
209
209
  }, 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", onInput: (event) => this.handleChange(event), onChange: (event) => this.handleChange(event) }, this.showScrollLeft ? (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 ? (h(Fragment, null, h("db-tab-list", null, (_c = this.convertTabs()) === null || _c === void 0 ? void 0 : _c.map((tab, index) => (h("db-tab-item", { key: this.name + "tab-item" + index, active: tab.active, label: tab.label, iconTrailing: tab.iconTrailing, icon: tab.icon, noText: tab.noText })))), (_d = this.convertTabs()) === null || _d === void 0 ? void 0 :
210
- _d.map((tab, index) => (h("db-tab-panel", { key: this.name + "tab-panel" + index, content: tab.content }, tab.children))))) : null, this.showScrollRight ? (h("db-button", { class: "tabs-scroll-right", variant: "ghost", icon: "chevron_right", type: "button", noText: true, onClick: () => this.scroll() }, "Scroll right")) : null, h("slot", { key: 'e8cf7f0c576b73cdd459ab4cf1f07f14c5ed1657' })));
210
+ _d.map((tab, index) => (h("db-tab-panel", { key: this.name + "tab-panel" + index, content: tab.content }, tab.children))))) : null, this.showScrollRight ? (h("db-button", { class: "tabs-scroll-right", variant: "ghost", icon: "chevron_right", type: "button", noText: true, onClick: () => this.scroll() }, "Scroll right")) : null, h("slot", { key: '9f3f2fb4835adb10824bdb5410dabb694d4d5fbb' })));
211
211
  }
212
212
  static get is() { return "db-tabs"; }
213
213
  static get properties() {
@@ -58,9 +58,9 @@ export class DBTag {
58
58
  }
59
59
  render() {
60
60
  var _a;
61
- return (h("div", { key: 'db86fabfde3f9d1e41a863f58db34eb88d067440', class: cls("db-tag", this.className), ref: (el) => {
61
+ return (h("div", { key: '6be4d8cc4b856ac198e4c207860e9529c436060f', class: cls("db-tag", this.className), ref: (el) => {
62
62
  this._ref = el;
63
- }, id: this.id, "data-semantic": this.semantic, "data-emphasis": this.emphasis, "data-icon": this.icon, "data-show-check-state": getBooleanAsString((_a = this.showCheckState) !== null && _a !== void 0 ? _a : true), "data-show-icon": getBooleanAsString(this.showIcon), "data-no-text": getBooleanAsString(this.noText), "data-overflow": getBooleanAsString(this.overflow) }, h("slot", { key: '1bef11e30ca670fa5bf1d438cd12c43e233cded4', name: "content" }), h("slot", { key: '3f94141f60688d0730478711748fa9dbb194f810' }), this.text ? this.text : null, this.behavior === "removable" ? (h("button", { class: "db-button db-tab-remove-button", "data-icon": "cross", "data-size": "small", "data-no-text": "true", "data-variant": "ghost", type: "button", onClick: (event) => this.handleRemove(event) }, h("db-tooltip", { variant: "label" }, this.getRemoveButtonText()))) : null));
63
+ }, id: this.id, "data-semantic": this.semantic, "data-emphasis": this.emphasis, "data-icon": this.icon, "data-show-check-state": getBooleanAsString((_a = this.showCheckState) !== null && _a !== void 0 ? _a : true), "data-show-icon": getBooleanAsString(this.showIcon), "data-no-text": getBooleanAsString(this.noText), "data-overflow": getBooleanAsString(this.overflow) }, h("slot", { key: '3ed9ce9b0eb66bb92a2c4a5303be1b0d16001841', name: "content" }), h("slot", { key: '9098de64b545b04f81f6a980700879610f9ec7bc' }), this.text ? this.text : null, this.behavior === "removable" ? (h("button", { class: "db-button db-tab-remove-button", "data-icon": "cross", "data-size": "small", "data-no-text": "true", "data-variant": "ghost", type: "button", onClick: (event) => this.handleRemove(event) }, h("db-tooltip", { variant: "label" }, this.getRemoveButtonText()))) : null));
64
64
  }
65
65
  static get is() { return "db-tag"; }
66
66
  static get properties() {
@@ -182,10 +182,10 @@ export class DBTextarea {
182
182
  }
183
183
  render() {
184
184
  var _a, _b, _c, _d, _e;
185
- return (h("div", { key: '3ac7e870ca2c9d8f366f07797fc15c238ddeab50', class: cls("db-textarea", this.className), "data-variant": this.variant, "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-hide-label": getHideProp(this.showLabel) }, h("label", { key: 'd3d0e209d0a14a54975cce835e50e4f57d09d1bd', htmlFor: this._id }, (_a = this.label) !== null && _a !== void 0 ? _a : DEFAULT_LABEL), h("textarea", { key: '7e7dce4db9a84230a9c736039eefd58022944cf8', "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, "data-field-sizing": this.fieldSizing, ref: (el) => {
185
+ return (h("div", { key: '523bebc81d6e424b5d03762aeab7033f9d0aafb2', class: cls("db-textarea", this.className), "data-variant": this.variant, "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-hide-label": getHideProp(this.showLabel) }, h("label", { key: '4054a26429d9e71770ec179563c523eea3fbafb7', htmlFor: this._id }, (_a = this.label) !== null && _a !== void 0 ? _a : DEFAULT_LABEL), h("textarea", { key: '07b74b6868d4b9eed859ae09fb8a7658700e1c57', "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, "data-field-sizing": this.fieldSizing, ref: (el) => {
186
186
  this._ref = el;
187
187
  }, id: this._id, "data-resize": this.resize, "data-hide-resizer": getHideProp((_b = this.showResizer) !== null && _b !== void 0 ? _b : true), disabled: getBoolean(this.disabled, "disabled"), required: getBoolean(this.required, "required"), readOnly: getBoolean(this.readOnly, "readOnly") ||
188
- getBoolean(this.readonly, "readonly"), form: this.form, maxLength: getNumber(this.maxLength, this.maxlength), minLength: getNumber(this.minLength, this.minlength), name: this.name, wrap: this.wrap, spellcheck: this.spellCheck, autocomplete: this.autocomplete, onInput: (event) => this.handleInput(event), onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event), value: (_c = this.value) !== null && _c !== void 0 ? _c : this._value, "aria-describedby": (_d = this.ariaDescribedBy) !== null && _d !== void 0 ? _d : this._descByIds, placeholder: (_e = this.placeholder) !== null && _e !== void 0 ? _e : DEFAULT_PLACEHOLDER, rows: getNumber(this.rows, DEFAULT_ROWS), cols: getNumber(this.cols) }), stringPropVisible(this.message, this.showMessage) ? (h("db-infotext", { size: "small", icon: this.messageIcon, id: this._messageId }, this.message)) : null, this.hasValidState() ? (h("db-infotext", { size: "small", semantic: "successful", id: this._validMessageId }, this.validMessage || DEFAULT_VALID_MESSAGE)) : null, h("db-infotext", { key: 'dc153c224d3acafa0a8d7f3ad37317b76cba01b8', size: "small", semantic: "critical", id: this._invalidMessageId }, this._invalidMessage), h("span", { key: '21cd2120d06ec2891979d7a7fc0f1041031dabf2', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
188
+ getBoolean(this.readonly, "readonly"), form: this.form, maxLength: getNumber(this.maxLength, this.maxlength), minLength: getNumber(this.minLength, this.minlength), name: this.name, wrap: this.wrap, spellcheck: this.spellCheck, autocomplete: this.autocomplete, onInput: (event) => this.handleInput(event), onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event), value: (_c = this.value) !== null && _c !== void 0 ? _c : this._value, "aria-describedby": (_d = this.ariaDescribedBy) !== null && _d !== void 0 ? _d : this._descByIds, placeholder: (_e = this.placeholder) !== null && _e !== void 0 ? _e : DEFAULT_PLACEHOLDER, rows: getNumber(this.rows, DEFAULT_ROWS), cols: getNumber(this.cols) }), stringPropVisible(this.message, this.showMessage) ? (h("db-infotext", { size: "small", icon: this.messageIcon, id: this._messageId }, this.message)) : null, this.hasValidState() ? (h("db-infotext", { size: "small", semantic: "successful", id: this._validMessageId }, this.validMessage || DEFAULT_VALID_MESSAGE)) : null, h("db-infotext", { key: 'e305c1b1827697e920467a34a3dbf895c664ad20', size: "small", semantic: "critical", id: this._invalidMessageId }, this._invalidMessage), h("span", { key: 'efb2b1f4d91fbf5c6fedb83dc771f9a8111c8f55', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
189
189
  }
190
190
  static get is() { return "db-textarea"; }
191
191
  static get properties() {
@@ -139,9 +139,9 @@ export class DBTooltip {
139
139
  }
140
140
  render() {
141
141
  var _a, _b;
142
- return (h("i", { key: '4bbec1f80b0912b870b2382cf63c3e1cba11b5e3', class: cls("db-tooltip", this.className), role: "tooltip", "aria-hidden": "true", "data-gap": "true", ref: (el) => {
142
+ return (h("i", { key: '0d352dbcd314a108dd543c0dbd5a1f3f3a0f9b9b', class: cls("db-tooltip", this.className), role: "tooltip", "aria-hidden": "true", "data-gap": "true", ref: (el) => {
143
143
  this._ref = el;
144
- }, id: this._id, "data-emphasis": this.emphasis, "data-animation": getBooleanAsString((_a = this.animation) !== null && _a !== void 0 ? _a : true), "data-delay": this.delay, "data-width": this.width, "data-show-arrow": getBooleanAsString((_b = this.showArrow) !== null && _b !== void 0 ? _b : true), "data-placement": this.placement, onClick: (event) => this.handleClick(event) }, h("slot", { key: '7bcf79fa968c0a8bef84dd49c71f307c3094072c' })));
144
+ }, id: this._id, "data-emphasis": this.emphasis, "data-animation": getBooleanAsString((_a = this.animation) !== null && _a !== void 0 ? _a : true), "data-delay": this.delay, "data-width": this.width, "data-show-arrow": getBooleanAsString((_b = this.showArrow) !== null && _b !== void 0 ? _b : true), "data-placement": this.placement, onClick: (event) => this.handleClick(event) }, h("slot", { key: '8770a8d9640932a47f5d7f3a87a34029c58e83e6' })));
145
145
  }
146
146
  static get is() { return "db-tooltip"; }
147
147
  static get properties() {
@@ -77,3 +77,5 @@ export * from './utils/document-scroll-listener';
77
77
  export * from './utils/floating-components';
78
78
  export * from './utils/index';
79
79
  export * from './utils/navigation';
80
+ export * from "./components/loading-indicator";
81
+ export * from "./components/loading-indicator/model";
@@ -141,3 +141,28 @@ export const getOptionKey = (option, prefix) => {
141
141
  return `${prefix}${key}`;
142
142
  };
143
143
  export const isKeyboardEvent = (event) => event.key !== undefined;
144
+ /**
145
+ * Maps semantic values to appropriate ARIA roles for notifications
146
+ * @param semantic - The semantic type of the notification
147
+ * @param role - The aria role of the notification
148
+ * @param ariaLive - The aria-live of the notification
149
+ * @returns The appropriate ARIA role or undefined for default behavior
150
+ */
151
+ export const getNotificationRole = ({ semantic, role, ariaLive }) => {
152
+ if (role) {
153
+ return role;
154
+ }
155
+ if (ariaLive) {
156
+ return 'article';
157
+ }
158
+ switch (semantic) {
159
+ case 'critical':
160
+ case 'warning':
161
+ return 'alert';
162
+ case 'informational':
163
+ case 'successful':
164
+ return 'status';
165
+ default:
166
+ return 'article';
167
+ }
168
+ };