@db-ux/wc-core-components 4.12.0 → 4.13.0-shell-f221975

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 (548) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/agent/ControlPanelBrand.md +9 -0
  3. package/agent/ControlPanelDesktop.md +46 -0
  4. package/agent/ControlPanelMeta.md +13 -0
  5. package/agent/ControlPanelMobile.md +37 -0
  6. package/agent/ControlPanelNavigation.md +19 -0
  7. package/agent/ControlPanelNavigationItem.md +33 -0
  8. package/agent/ControlPanelPrimaryActions.md +13 -0
  9. package/agent/ControlPanelSecondaryActions.md +19 -0
  10. package/agent/Drawer.md +0 -8
  11. package/agent/Shell.md +24 -0
  12. package/agent/ShellSubNavigation.md +6 -0
  13. package/agent/_instructions.md +11 -6
  14. package/bundle/db-accordion-item.js +1 -1
  15. package/bundle/db-accordion.js +1 -1
  16. package/bundle/db-badge.js +1 -1
  17. package/bundle/db-button.js +1 -1
  18. package/bundle/db-card.js +1 -1
  19. package/bundle/db-checkbox.js +1 -1
  20. package/bundle/db-control-panel-brand.d.ts +11 -0
  21. package/bundle/db-control-panel-brand.js +1 -0
  22. package/bundle/db-control-panel-desktop.d.ts +11 -0
  23. package/bundle/db-control-panel-desktop.js +1 -0
  24. package/bundle/db-control-panel-flat-icon.d.ts +11 -0
  25. package/bundle/db-control-panel-flat-icon.js +1 -0
  26. package/bundle/{db-navigation-item.d.ts → db-control-panel-meta.d.ts} +4 -4
  27. package/bundle/db-control-panel-meta.js +1 -0
  28. package/bundle/db-control-panel-mobile.d.ts +11 -0
  29. package/bundle/db-control-panel-mobile.js +1 -0
  30. package/bundle/db-control-panel-navigation-item-group.d.ts +11 -0
  31. package/bundle/db-control-panel-navigation-item-group.js +1 -0
  32. package/bundle/db-control-panel-navigation-item.d.ts +11 -0
  33. package/bundle/db-control-panel-navigation-item.js +1 -0
  34. package/bundle/db-control-panel-navigation.d.ts +11 -0
  35. package/bundle/db-control-panel-navigation.js +1 -0
  36. package/bundle/db-control-panel-primary-actions.d.ts +11 -0
  37. package/bundle/db-control-panel-primary-actions.js +1 -0
  38. package/bundle/db-control-panel-secondary-actions.d.ts +11 -0
  39. package/bundle/db-control-panel-secondary-actions.js +1 -0
  40. package/bundle/db-control-panel-skip-navigation.d.ts +11 -0
  41. package/bundle/db-control-panel-skip-navigation.js +1 -0
  42. package/bundle/db-custom-button.js +1 -1
  43. package/bundle/db-custom-select-dropdown.js +1 -1
  44. package/bundle/db-custom-select-form-field.js +1 -1
  45. package/bundle/db-custom-select-list-item.js +1 -1
  46. package/bundle/db-custom-select-list.js +1 -1
  47. package/bundle/db-custom-select.js +1 -1
  48. package/bundle/db-divider.js +1 -1
  49. package/bundle/{db-navigation.d.ts → db-drawer-footer.d.ts} +4 -4
  50. package/bundle/db-drawer-footer.js +1 -0
  51. package/bundle/{db-page.d.ts → db-drawer-header.d.ts} +4 -4
  52. package/bundle/db-drawer-header.js +1 -0
  53. package/bundle/db-drawer.js +1 -1
  54. package/bundle/db-icon.js +1 -1
  55. package/bundle/db-infotext.js +1 -1
  56. package/bundle/db-input.js +1 -1
  57. package/bundle/db-link.js +1 -1
  58. package/bundle/db-notification.js +1 -1
  59. package/bundle/db-popover.js +1 -1
  60. package/bundle/db-radio.js +1 -1
  61. package/bundle/db-section.js +1 -1
  62. package/bundle/db-select.js +1 -1
  63. package/bundle/{db-header.d.ts → db-shell-content.d.ts} +4 -4
  64. package/bundle/db-shell-content.js +1 -0
  65. package/bundle/db-shell-sub-navigation.d.ts +11 -0
  66. package/bundle/db-shell-sub-navigation.js +1 -0
  67. package/bundle/{db-brand.d.ts → db-shell.d.ts} +4 -4
  68. package/bundle/db-shell.js +1 -0
  69. package/bundle/db-stack.js +1 -1
  70. package/bundle/db-switch.js +1 -1
  71. package/bundle/db-tab-item.js +1 -1
  72. package/bundle/db-tab-list.js +1 -1
  73. package/bundle/db-tab-panel.js +1 -1
  74. package/bundle/db-table-body.js +1 -1
  75. package/bundle/db-table-caption.js +1 -1
  76. package/bundle/db-table-data-cell.js +1 -1
  77. package/bundle/db-table-footer.js +1 -1
  78. package/bundle/db-table-head.js +1 -1
  79. package/bundle/db-table-header-cell.js +1 -1
  80. package/bundle/db-table-row.js +1 -1
  81. package/bundle/db-table.js +1 -1
  82. package/bundle/db-tabs.js +1 -1
  83. package/bundle/db-tag.js +1 -1
  84. package/bundle/db-textarea.js +1 -1
  85. package/bundle/db-tooltip.js +1 -1
  86. package/bundle/index.js +1 -1
  87. package/bundle/p-6eFmbk2q.js +1 -0
  88. package/bundle/p-9FBjLlz8.js +1 -0
  89. package/bundle/p-B2-mqMAV.js +1 -0
  90. package/bundle/{p-G57oLrr4.js → p-B3HO0pCt.js} +1 -1
  91. package/bundle/p-B5p2TBcA.js +1 -0
  92. package/bundle/{p-BQov9sQb.js → p-BSn68Z6b.js} +1 -1
  93. package/bundle/p-BT3wZY6f.js +1 -0
  94. package/bundle/p-BWWm2aVB.js +1 -0
  95. package/bundle/{p-Cc5hdI0x.js → p-B_cQ652T.js} +1 -1
  96. package/bundle/{p-DcgghWWs.js → p-BbEdAR4o.js} +1 -1
  97. package/bundle/{p-C0JLpZ9Q.js → p-BtQh3jbl.js} +1 -1
  98. package/bundle/p-C3NPZvho.js +1 -0
  99. package/bundle/p-CGLknNHl.js +1 -0
  100. package/bundle/p-COv1iCFP.js +1 -0
  101. package/bundle/p-C_xaJ8Kg.js +1 -0
  102. package/bundle/p-CjeAJfEo.js +1 -0
  103. package/bundle/{p-to845Mg2.js → p-Cr4l4OlK.js} +1 -1
  104. package/bundle/p-CtoC6vGL.js +1 -0
  105. package/bundle/p-D2lYeElK.js +1 -0
  106. package/bundle/{p-BvgvWjGH.js → p-D9qEmJkQ.js} +1 -1
  107. package/bundle/p-DAr8BCe0.js +1 -0
  108. package/bundle/{p-CYYSsu3p.js → p-DEicAzan.js} +1 -1
  109. package/bundle/{p-C9llbu6g.js → p-DKhSQnne.js} +1 -1
  110. package/bundle/{p-BpO8Ok-r.js → p-DTmum76Y.js} +1 -1
  111. package/bundle/p-DtqySxCV.js +1 -0
  112. package/bundle/p-Nyi3Ccqz.js +1 -0
  113. package/bundle/p-V6Dppnfj.js +1 -0
  114. package/bundle/p-WOdZHiUh.js +1 -0
  115. package/bundle/p-_kvIQ0Iy.js +1 -0
  116. package/bundle/{p-fu0VCCbW.js → p-mf371GRo.js} +1 -1
  117. package/dist/cjs/{constants-bMY2_d8A.js → constants-BM1EltPT.js} +12 -3
  118. package/dist/cjs/db-accordion-item.cjs.entry.js +3 -3
  119. package/dist/cjs/db-accordion.cjs.entry.js +2 -2
  120. package/dist/cjs/db-badge.cjs.entry.js +4 -4
  121. package/dist/cjs/db-button.cjs.entry.js +6 -3
  122. package/dist/cjs/db-card.cjs.entry.js +3 -3
  123. package/dist/cjs/db-checkbox.cjs.entry.js +5 -5
  124. package/dist/cjs/{db-brand.cjs.entry.js → db-control-panel-brand.cjs.entry.js} +9 -10
  125. package/dist/cjs/db-control-panel-desktop.cjs.entry.js +148 -0
  126. package/dist/cjs/db-control-panel-flat-icon.cjs.entry.js +134 -0
  127. package/dist/cjs/{db-navigation.cjs.entry.js → db-control-panel-meta.cjs.entry.js} +8 -8
  128. package/dist/cjs/db-control-panel-mobile.cjs.entry.js +124 -0
  129. package/dist/cjs/db-control-panel-navigation-item-group.cjs.entry.js +420 -0
  130. package/dist/cjs/db-control-panel-navigation-item.cjs.entry.js +235 -0
  131. package/dist/cjs/db-control-panel-navigation.cjs.entry.js +579 -0
  132. package/dist/cjs/db-control-panel-primary-actions.cjs.entry.js +95 -0
  133. package/dist/cjs/db-control-panel-secondary-actions.cjs.entry.js +95 -0
  134. package/dist/cjs/db-control-panel-skip-navigation.cjs.entry.js +96 -0
  135. package/dist/cjs/db-custom-button.cjs.entry.js +3 -3
  136. package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js +14 -14
  137. package/dist/cjs/db-custom-select-form-field.cjs.entry.js +3 -3
  138. package/dist/cjs/db-custom-select.cjs.entry.js +50 -26
  139. package/dist/cjs/db-divider.cjs.entry.js +2 -2
  140. package/dist/cjs/db-drawer_3.cjs.entry.js +457 -0
  141. package/dist/cjs/db-icon.cjs.entry.js +3 -3
  142. package/dist/cjs/db-infotext.cjs.entry.js +3 -3
  143. package/dist/cjs/db-link_4.cjs.entry.js +12 -10
  144. package/dist/cjs/db-notification.cjs.entry.js +4 -4
  145. package/dist/cjs/db-popover.cjs.entry.js +50 -22
  146. package/dist/cjs/db-radio.cjs.entry.js +4 -4
  147. package/dist/cjs/db-section.cjs.entry.js +3 -3
  148. package/dist/cjs/db-select.cjs.entry.js +5 -5
  149. package/dist/cjs/db-shell-content.cjs.entry.js +97 -0
  150. package/dist/cjs/db-shell-sub-navigation.cjs.entry.js +110 -0
  151. package/dist/cjs/{db-page.cjs.entry.js → db-shell.cjs.entry.js} +16 -17
  152. package/dist/cjs/db-stack.cjs.entry.js +3 -3
  153. package/dist/cjs/db-switch.cjs.entry.js +5 -5
  154. package/dist/cjs/db-tab-item_3.cjs.entry.js +8 -8
  155. package/dist/cjs/db-table-body_3.cjs.entry.js +10 -10
  156. package/dist/cjs/db-table-caption.cjs.entry.js +4 -3
  157. package/dist/cjs/db-table.cjs.entry.js +4 -4
  158. package/dist/cjs/db-tabs.cjs.entry.js +23 -18
  159. package/dist/cjs/db-textarea.cjs.entry.js +5 -5
  160. package/dist/cjs/db-tooltip.cjs.entry.js +39 -26
  161. package/dist/cjs/db-ux.cjs.js +1 -1
  162. package/dist/cjs/{document-click-listener-DdNXbErU.js → document-click-listener-D_0Q6lvb.js} +5 -9
  163. package/dist/cjs/{document-scroll-listener-CvAZ6uPr.js → document-scroll-listener-CgyYRmvZ.js} +29 -9
  164. package/dist/cjs/{floating-components-DlstoCKH.js → floating-components-B3bpFI90.js} +193 -115
  165. package/dist/cjs/{form-components-CmQlkARp.js → form-components-XNiwIGq8.js} +1 -1
  166. package/dist/cjs/{index-spuu3sXz.js → index-Df-6pBQf.js} +41 -2
  167. package/dist/cjs/index.cjs.js +34 -17
  168. package/dist/cjs/intersection-observer-listener-DlrHabJb.js +41 -0
  169. package/dist/cjs/loader.cjs.js +1 -1
  170. package/dist/cjs/navigation-CHCtasZv.js +178 -0
  171. package/dist/cjs/resize-observer-listener-CmPDfoZs.js +103 -0
  172. package/dist/collection/collection-manifest.json +18 -7
  173. package/dist/collection/components/accordion/accordion.js +1 -1
  174. package/dist/collection/components/accordion/model.js +0 -1
  175. package/dist/collection/components/accordion-item/accordion-item.js +2 -2
  176. package/dist/collection/components/badge/badge.js +2 -2
  177. package/dist/collection/components/button/button.js +57 -2
  178. package/dist/collection/components/card/card.js +2 -2
  179. package/dist/collection/components/checkbox/checkbox.js +2 -2
  180. package/dist/collection/components/control-panel-brand/control-panel-brand.js +179 -0
  181. package/dist/collection/components/control-panel-brand/index.js +2 -0
  182. package/dist/collection/components/control-panel-desktop/control-panel-desktop.js +343 -0
  183. package/dist/collection/components/control-panel-desktop/index.js +2 -0
  184. package/dist/collection/components/control-panel-flat-icon/control-panel-flat-icon.js +246 -0
  185. package/dist/collection/components/control-panel-flat-icon/index.js +2 -0
  186. package/dist/collection/components/control-panel-meta/control-panel-meta.js +179 -0
  187. package/dist/collection/components/control-panel-meta/index.js +2 -0
  188. package/dist/collection/components/control-panel-mobile/control-panel-mobile.js +307 -0
  189. package/dist/collection/components/control-panel-mobile/index.js +2 -0
  190. package/dist/collection/components/control-panel-mobile/model.js +1 -0
  191. package/dist/collection/components/control-panel-navigation/control-panel-navigation.js +829 -0
  192. package/dist/collection/components/control-panel-navigation/index.js +2 -0
  193. package/dist/collection/components/control-panel-navigation/model.js +1 -0
  194. package/dist/collection/components/control-panel-navigation-item/control-panel-navigation-item.js +484 -0
  195. package/dist/collection/components/control-panel-navigation-item/index.js +2 -0
  196. package/dist/collection/components/control-panel-navigation-item/model.js +1 -0
  197. package/dist/collection/components/control-panel-navigation-item-group/control-panel-navigation-item-group.js +772 -0
  198. package/dist/collection/components/control-panel-navigation-item-group/index.js +2 -0
  199. package/dist/collection/components/control-panel-navigation-item-group/model.js +1 -0
  200. package/dist/collection/components/control-panel-primary-actions/control-panel-primary-actions.js +179 -0
  201. package/dist/collection/components/control-panel-primary-actions/index.js +2 -0
  202. package/dist/collection/components/control-panel-primary-actions/model.js +1 -0
  203. package/dist/collection/components/control-panel-secondary-actions/control-panel-secondary-actions.js +179 -0
  204. package/dist/collection/components/control-panel-secondary-actions/index.js +2 -0
  205. package/dist/collection/components/control-panel-secondary-actions/model.js +1 -0
  206. package/dist/collection/components/control-panel-skip-navigation/control-panel-skip-navigation.js +232 -0
  207. package/dist/collection/components/control-panel-skip-navigation/index.js +2 -0
  208. package/dist/collection/components/control-panel-skip-navigation/model.js +1 -0
  209. package/dist/collection/components/custom-button/custom-button.js +2 -2
  210. package/dist/collection/components/custom-select/custom-select.js +46 -21
  211. package/dist/collection/components/custom-select-dropdown/custom-select-dropdown.js +2 -2
  212. package/dist/collection/components/custom-select-form-field/custom-select-form-field.js +2 -2
  213. package/dist/collection/components/custom-select-list/custom-select-list.js +2 -2
  214. package/dist/collection/components/custom-select-list-item/custom-select-list-item.js +2 -2
  215. package/dist/collection/components/divider/divider.js +1 -1
  216. package/dist/collection/components/drawer/drawer.js +71 -75
  217. package/dist/collection/components/drawer/model.js +1 -0
  218. package/dist/collection/components/{navigation/navigation.js → drawer-footer/drawer-footer.js} +19 -19
  219. package/dist/collection/components/drawer-footer/index.js +2 -0
  220. package/dist/collection/components/drawer-footer/model.js +1 -0
  221. package/dist/collection/components/{brand/brand.js → drawer-header/drawer-header.js} +83 -79
  222. package/dist/collection/components/drawer-header/index.js +2 -0
  223. package/dist/collection/components/drawer-header/model.js +1 -0
  224. package/dist/collection/components/icon/icon.js +2 -2
  225. package/dist/collection/components/infotext/infotext.js +2 -2
  226. package/dist/collection/components/input/input.js +3 -3
  227. package/dist/collection/components/link/link.js +2 -2
  228. package/dist/collection/components/notification/notification.js +2 -2
  229. package/dist/collection/components/popover/popover.js +75 -46
  230. package/dist/collection/components/radio/radio.js +2 -2
  231. package/dist/collection/components/section/section.js +2 -2
  232. package/dist/collection/components/select/select.js +2 -2
  233. package/dist/collection/components/shell/index.js +2 -0
  234. package/dist/collection/components/shell/model.js +1 -0
  235. package/dist/collection/components/{header/header.js → shell/shell.js} +92 -143
  236. package/dist/collection/components/shell-content/index.js +2 -0
  237. package/dist/collection/components/shell-content/model.js +1 -0
  238. package/dist/collection/components/{page/page.js → shell-content/shell-content.js} +67 -86
  239. package/dist/collection/components/shell-sub-navigation/index.js +2 -0
  240. package/dist/collection/components/shell-sub-navigation/model.js +1 -0
  241. package/dist/collection/components/shell-sub-navigation/shell-sub-navigation.js +248 -0
  242. package/dist/collection/components/stack/stack.js +2 -2
  243. package/dist/collection/components/switch/switch.js +2 -2
  244. package/dist/collection/components/tab-item/tab-item.js +3 -3
  245. package/dist/collection/components/tab-list/tab-list.js +2 -2
  246. package/dist/collection/components/tab-panel/tab-panel.js +2 -2
  247. package/dist/collection/components/table/table.js +27 -3
  248. package/dist/collection/components/table-body/table-body.js +27 -3
  249. package/dist/collection/components/table-caption/table-caption.js +27 -2
  250. package/dist/collection/components/table-data-cell/table-data-cell.js +27 -2
  251. package/dist/collection/components/table-footer/table-footer.js +27 -3
  252. package/dist/collection/components/table-head/table-head.js +27 -3
  253. package/dist/collection/components/table-header-cell/table-header-cell.js +27 -2
  254. package/dist/collection/components/table-row/table-row.js +27 -3
  255. package/dist/collection/components/tabs/tabs.js +75 -18
  256. package/dist/collection/components/tag/tag.js +2 -2
  257. package/dist/collection/components/textarea/textarea.js +2 -2
  258. package/dist/collection/components/tooltip/tooltip.js +63 -49
  259. package/dist/collection/index.js +32 -10
  260. package/dist/collection/shared/constants.js +7 -2
  261. package/dist/collection/shared/model.js +4 -0
  262. package/dist/collection/utils/abstract-document-listener.js +23 -0
  263. package/dist/collection/utils/abstract-observer-listener.js +61 -0
  264. package/dist/collection/utils/document-click-listener.js +5 -9
  265. package/dist/collection/utils/document-scroll-listener.js +5 -9
  266. package/dist/collection/utils/floating-components.js +193 -115
  267. package/dist/collection/utils/index.js +40 -2
  268. package/dist/collection/utils/intersection-observer-listener.js +36 -0
  269. package/dist/collection/utils/navigation.js +113 -74
  270. package/dist/collection/utils/resize-observer-listener.js +36 -0
  271. package/dist/custom-elements.json +11897 -8400
  272. package/dist/db-ux/db-ux.esm.js +1 -1
  273. package/dist/db-ux/index.esm.js +1 -1
  274. package/dist/db-ux/{p-d9d006e7.entry.js → p-158c64e0.entry.js} +1 -1
  275. package/dist/db-ux/p-1fa944fd.entry.js +1 -0
  276. package/dist/db-ux/{p-a176424b.entry.js → p-2012c72a.entry.js} +1 -1
  277. package/dist/db-ux/p-234fee81.entry.js +1 -0
  278. package/dist/db-ux/{p-6b8375e8.entry.js → p-3566a5b2.entry.js} +1 -1
  279. package/dist/db-ux/p-3b61c223.entry.js +1 -0
  280. package/dist/db-ux/p-3d5fc4b6.entry.js +1 -0
  281. package/dist/db-ux/p-3e113cfe.entry.js +1 -0
  282. package/dist/db-ux/p-42644385.entry.js +1 -0
  283. package/dist/db-ux/p-42fd6a5c.entry.js +1 -0
  284. package/dist/db-ux/p-441d444e.entry.js +1 -0
  285. package/dist/db-ux/{p-a8556349.entry.js → p-4ecd501a.entry.js} +1 -1
  286. package/dist/db-ux/{p-77a47225.entry.js → p-53f827e1.entry.js} +1 -1
  287. package/dist/db-ux/{p-eedf08e0.entry.js → p-5696a8d3.entry.js} +1 -1
  288. package/dist/db-ux/p-56b2a25d.entry.js +1 -0
  289. package/dist/db-ux/{p-68f00121.entry.js → p-5a1a7588.entry.js} +1 -1
  290. package/dist/db-ux/p-5c5dce95.entry.js +1 -0
  291. package/dist/db-ux/p-5ce9ac6d.entry.js +1 -0
  292. package/dist/db-ux/{p-57527cef.entry.js → p-636e6a6d.entry.js} +1 -1
  293. package/dist/db-ux/p-6aac51bf.entry.js +1 -0
  294. package/dist/db-ux/p-6fc31876.entry.js +1 -0
  295. package/dist/db-ux/p-7d3541c6.entry.js +1 -0
  296. package/dist/db-ux/p-8f288b5e.entry.js +1 -0
  297. package/dist/db-ux/{p-37bf8d87.entry.js → p-9174a1f8.entry.js} +1 -1
  298. package/dist/db-ux/p-92d1d118.entry.js +1 -0
  299. package/dist/db-ux/p-94806e39.entry.js +1 -0
  300. package/dist/db-ux/p-95afbd4b.entry.js +1 -0
  301. package/dist/db-ux/p-BNNa1bIH.js +1 -0
  302. package/dist/db-ux/p-BT3wZY6f.js +1 -0
  303. package/dist/db-ux/p-Bs6e6rEa.js +1 -0
  304. package/dist/db-ux/p-Bu2uTpuB.js +1 -0
  305. package/dist/db-ux/p-CHtd83tf.js +1 -0
  306. package/dist/db-ux/p-COv1iCFP.js +1 -0
  307. package/dist/db-ux/p-D-LMtTru.js +1 -0
  308. package/dist/db-ux/p-DB8jc8lh.js +1 -0
  309. package/dist/db-ux/p-a2fd6f02.entry.js +1 -0
  310. package/dist/db-ux/p-a526be72.entry.js +1 -0
  311. package/dist/db-ux/{p-db1b9f5d.entry.js → p-aa0d6af7.entry.js} +1 -1
  312. package/dist/db-ux/p-ab2ca4f9.entry.js +1 -0
  313. package/dist/db-ux/p-b124f5d7.entry.js +1 -0
  314. package/dist/db-ux/p-b4069c07.entry.js +1 -0
  315. package/dist/db-ux/p-b90adbf2.entry.js +1 -0
  316. package/dist/db-ux/p-bbqCwwgU.js +1 -0
  317. package/dist/db-ux/p-c36731c4.entry.js +1 -0
  318. package/dist/db-ux/p-c6e965b9.entry.js +1 -0
  319. package/dist/db-ux/p-d0340bf6.entry.js +1 -0
  320. package/dist/db-ux/p-d354d861.entry.js +1 -0
  321. package/dist/db-ux/{p-6d41baf1.entry.js → p-d7ffa767.entry.js} +1 -1
  322. package/dist/db-ux/{p-70b6ebcd.entry.js → p-da34c367.entry.js} +1 -1
  323. package/dist/db-ux/{p-81edb316.entry.js → p-eb18be29.entry.js} +1 -1
  324. package/dist/db-ux/p-eee0f32c.entry.js +1 -0
  325. package/dist/db-ux/p-f1f23724.entry.js +1 -0
  326. package/dist/esm/{constants-BdL-nI5y.js → constants-COv1iCFP.js} +8 -3
  327. package/dist/esm/db-accordion-item.entry.js +3 -3
  328. package/dist/esm/db-accordion.entry.js +2 -2
  329. package/dist/esm/db-badge.entry.js +4 -4
  330. package/dist/esm/db-button.entry.js +6 -3
  331. package/dist/esm/db-card.entry.js +3 -3
  332. package/dist/esm/db-checkbox.entry.js +5 -5
  333. package/dist/esm/db-control-panel-brand.entry.js +93 -0
  334. package/dist/esm/db-control-panel-desktop.entry.js +146 -0
  335. package/dist/esm/db-control-panel-flat-icon.entry.js +132 -0
  336. package/dist/esm/{db-navigation.entry.js → db-control-panel-meta.entry.js} +8 -8
  337. package/dist/esm/db-control-panel-mobile.entry.js +122 -0
  338. package/dist/esm/db-control-panel-navigation-item-group.entry.js +418 -0
  339. package/dist/esm/db-control-panel-navigation-item.entry.js +233 -0
  340. package/dist/esm/db-control-panel-navigation.entry.js +577 -0
  341. package/dist/esm/db-control-panel-primary-actions.entry.js +93 -0
  342. package/dist/esm/db-control-panel-secondary-actions.entry.js +93 -0
  343. package/dist/esm/{db-brand.entry.js → db-control-panel-skip-navigation.entry.js} +9 -9
  344. package/dist/esm/db-custom-button.entry.js +3 -3
  345. package/dist/esm/db-custom-select-dropdown_5.entry.js +14 -14
  346. package/dist/esm/db-custom-select-form-field.entry.js +3 -3
  347. package/dist/esm/db-custom-select.entry.js +50 -26
  348. package/dist/esm/db-divider.entry.js +2 -2
  349. package/dist/esm/db-drawer_3.entry.js +453 -0
  350. package/dist/esm/db-icon.entry.js +3 -3
  351. package/dist/esm/db-infotext.entry.js +3 -3
  352. package/dist/esm/db-link_4.entry.js +12 -10
  353. package/dist/esm/db-notification.entry.js +4 -4
  354. package/dist/esm/db-popover.entry.js +50 -22
  355. package/dist/esm/db-radio.entry.js +4 -4
  356. package/dist/esm/db-section.entry.js +3 -3
  357. package/dist/esm/db-select.entry.js +5 -5
  358. package/dist/esm/db-shell-content.entry.js +95 -0
  359. package/dist/esm/db-shell-sub-navigation.entry.js +108 -0
  360. package/dist/esm/{db-page.entry.js → db-shell.entry.js} +16 -17
  361. package/dist/esm/db-stack.entry.js +3 -3
  362. package/dist/esm/db-switch.entry.js +5 -5
  363. package/dist/esm/db-tab-item_3.entry.js +8 -8
  364. package/dist/esm/db-table-body_3.entry.js +10 -10
  365. package/dist/esm/db-table-caption.entry.js +4 -3
  366. package/dist/esm/db-table.entry.js +4 -4
  367. package/dist/esm/db-tabs.entry.js +23 -18
  368. package/dist/esm/db-textarea.entry.js +5 -5
  369. package/dist/esm/db-tooltip.entry.js +39 -26
  370. package/dist/esm/db-ux.js +1 -1
  371. package/dist/esm/{document-click-listener-9wJfRcvz.js → document-click-listener-BEYsNvC5.js} +5 -9
  372. package/dist/esm/{document-scroll-listener-4F0ZAg9p.js → document-scroll-listener-B8lkAL-m.js} +29 -10
  373. package/dist/esm/{floating-components-DOPXnIzL.js → floating-components-BT3wZY6f.js} +194 -116
  374. package/dist/esm/{form-components-ZV7IN0oG.js → form-components-zJeL8XMn.js} +1 -1
  375. package/dist/esm/{index-fumiz06Y.js → index-DB8jc8lh.js} +41 -3
  376. package/dist/esm/index.js +17 -10
  377. package/dist/esm/intersection-observer-listener-DQ4WWSLe.js +39 -0
  378. package/dist/esm/loader.js +1 -1
  379. package/dist/esm/navigation-Cc_Ln-dl.js +174 -0
  380. package/dist/esm/resize-observer-listener-z8XjzxC9.js +100 -0
  381. package/dist/types/components/accordion/model.d.ts +2 -8
  382. package/dist/types/components/button/button.d.ts +2 -0
  383. package/dist/types/components/button/model.d.ts +8 -0
  384. package/dist/types/components/{brand/brand.d.ts → control-panel-brand/control-panel-brand.d.ts} +5 -9
  385. package/dist/types/components/control-panel-brand/index.d.ts +2 -0
  386. package/dist/types/components/control-panel-brand/model.d.ts +5 -0
  387. package/dist/types/components/control-panel-desktop/control-panel-desktop.d.ts +41 -0
  388. package/dist/types/components/control-panel-desktop/index.d.ts +2 -0
  389. package/dist/types/components/control-panel-desktop/model.d.ts +5 -0
  390. package/dist/types/components/{page/page.d.ts → control-panel-flat-icon/control-panel-flat-icon.d.ts} +10 -12
  391. package/dist/types/components/control-panel-flat-icon/index.d.ts +2 -0
  392. package/dist/types/components/control-panel-flat-icon/model.d.ts +12 -0
  393. package/dist/types/components/control-panel-meta/control-panel-meta.d.ts +23 -0
  394. package/dist/types/components/control-panel-meta/index.d.ts +2 -0
  395. package/dist/types/components/control-panel-meta/model.d.ts +5 -0
  396. package/dist/types/components/control-panel-mobile/control-panel-mobile.d.ts +36 -0
  397. package/dist/types/components/control-panel-mobile/index.d.ts +2 -0
  398. package/dist/types/components/control-panel-mobile/model.d.ts +21 -0
  399. package/dist/types/components/control-panel-navigation/control-panel-navigation.d.ts +54 -0
  400. package/dist/types/components/control-panel-navigation/index.d.ts +2 -0
  401. package/dist/types/components/control-panel-navigation/model.d.ts +25 -0
  402. package/dist/types/components/control-panel-navigation-item/control-panel-navigation-item.d.ts +42 -0
  403. package/dist/types/components/control-panel-navigation-item/index.d.ts +2 -0
  404. package/dist/types/components/control-panel-navigation-item/model.d.ts +20 -0
  405. package/dist/types/components/control-panel-navigation-item-group/control-panel-navigation-item-group.d.ts +74 -0
  406. package/dist/types/components/control-panel-navigation-item-group/index.d.ts +2 -0
  407. package/dist/types/components/control-panel-navigation-item-group/model.d.ts +44 -0
  408. package/dist/types/components/control-panel-primary-actions/control-panel-primary-actions.d.ts +23 -0
  409. package/dist/types/components/control-panel-primary-actions/index.d.ts +2 -0
  410. package/dist/types/components/control-panel-primary-actions/model.d.ts +5 -0
  411. package/dist/types/components/control-panel-secondary-actions/control-panel-secondary-actions.d.ts +23 -0
  412. package/dist/types/components/control-panel-secondary-actions/index.d.ts +2 -0
  413. package/dist/types/components/control-panel-secondary-actions/model.d.ts +5 -0
  414. package/dist/types/components/control-panel-skip-navigation/control-panel-skip-navigation.d.ts +25 -0
  415. package/dist/types/components/control-panel-skip-navigation/index.d.ts +2 -0
  416. package/dist/types/components/control-panel-skip-navigation/model.d.ts +16 -0
  417. package/dist/types/components/custom-select/custom-select.d.ts +2 -1
  418. package/dist/types/components/custom-select/model.d.ts +5 -1
  419. package/dist/types/components/drawer/drawer.d.ts +9 -6
  420. package/dist/types/components/drawer/model.d.ts +21 -3
  421. package/dist/types/components/{navigation/navigation.d.ts → drawer-footer/drawer-footer.d.ts} +5 -5
  422. package/dist/types/components/drawer-footer/index.d.ts +2 -0
  423. package/dist/types/components/drawer-footer/model.d.ts +5 -0
  424. package/dist/types/components/drawer-header/drawer-header.d.ts +30 -0
  425. package/dist/types/components/drawer-header/index.d.ts +2 -0
  426. package/dist/types/components/drawer-header/model.d.ts +9 -0
  427. package/dist/types/components/popover/popover.d.ts +3 -2
  428. package/dist/types/components/shell/index.d.ts +2 -0
  429. package/dist/types/components/shell/model.d.ts +34 -0
  430. package/dist/types/components/shell/shell.d.ts +30 -0
  431. package/dist/types/components/shell-content/index.d.ts +2 -0
  432. package/dist/types/components/shell-content/model.d.ts +28 -0
  433. package/dist/types/components/shell-content/shell-content.d.ts +28 -0
  434. package/dist/types/components/shell-sub-navigation/index.d.ts +2 -0
  435. package/dist/types/components/shell-sub-navigation/model.d.ts +5 -0
  436. package/dist/types/components/shell-sub-navigation/shell-sub-navigation.d.ts +29 -0
  437. package/dist/types/components/table/table.d.ts +1 -0
  438. package/dist/types/components/table-body/table-body.d.ts +1 -0
  439. package/dist/types/components/table-caption/table-caption.d.ts +1 -0
  440. package/dist/types/components/table-data-cell/table-data-cell.d.ts +1 -0
  441. package/dist/types/components/table-footer/table-footer.d.ts +1 -0
  442. package/dist/types/components/table-head/table-head.d.ts +1 -0
  443. package/dist/types/components/table-header-cell/table-header-cell.d.ts +1 -0
  444. package/dist/types/components/table-row/table-row.d.ts +1 -0
  445. package/dist/types/components/tabs/model.d.ts +4 -12
  446. package/dist/types/components/tabs/tabs.d.ts +3 -1
  447. package/dist/types/components/tooltip/tooltip.d.ts +3 -2
  448. package/dist/types/components.d.ts +621 -243
  449. package/dist/types/index.d.ts +32 -10
  450. package/dist/types/shared/constants.d.ts +44 -39
  451. package/dist/types/shared/figma.d.ts +11 -4
  452. package/dist/types/shared/model.d.ts +109 -7
  453. package/dist/types/utils/abstract-document-listener.d.ts +18 -0
  454. package/dist/types/utils/abstract-observer-listener.d.ts +39 -0
  455. package/dist/types/utils/document-click-listener.d.ts +3 -3
  456. package/dist/types/utils/document-scroll-listener.d.ts +3 -3
  457. package/dist/types/utils/floating-components.d.ts +29 -6
  458. package/dist/types/utils/index.d.ts +11 -0
  459. package/dist/types/utils/intersection-observer-listener.d.ts +15 -0
  460. package/dist/types/utils/navigation.d.ts +12 -11
  461. package/dist/types/utils/resize-observer-listener.d.ts +15 -0
  462. package/dist/vscode.html-custom-data.json +998 -540
  463. package/dist/web-types.json +2176 -1176
  464. package/package.json +5 -5
  465. package/agent/Brand.md +0 -13
  466. package/agent/Header.md +0 -29
  467. package/agent/Navigation.md +0 -19
  468. package/agent/NavigationItem.md +0 -29
  469. package/agent/Page.md +0 -27
  470. package/bundle/db-brand.js +0 -1
  471. package/bundle/db-header.js +0 -1
  472. package/bundle/db-navigation-item.js +0 -1
  473. package/bundle/db-navigation.js +0 -1
  474. package/bundle/db-page.js +0 -1
  475. package/bundle/p-2eQDIPlF.js +0 -1
  476. package/bundle/p-BdL-nI5y.js +0 -1
  477. package/bundle/p-BuBrj57D.js +0 -1
  478. package/bundle/p-C2w7ILj8.js +0 -1
  479. package/bundle/p-C47AKJPy.js +0 -1
  480. package/bundle/p-Cn5NdjPW.js +0 -1
  481. package/bundle/p-D6L0n3gO.js +0 -1
  482. package/bundle/p-DFypNnh0.js +0 -1
  483. package/bundle/p-DJTpgiBy.js +0 -1
  484. package/bundle/p-DOPXnIzL.js +0 -1
  485. package/bundle/p-DTM6Wcbf.js +0 -1
  486. package/bundle/p-DVuZmW_J.js +0 -1
  487. package/bundle/p-DW47OZNu.js +0 -1
  488. package/bundle/p-DiEfz0o1.js +0 -1
  489. package/bundle/p-n2qePi9e.js +0 -1
  490. package/dist/cjs/db-drawer.cjs.entry.js +0 -204
  491. package/dist/cjs/db-header.cjs.entry.js +0 -145
  492. package/dist/cjs/db-navigation-item.cjs.entry.js +0 -182
  493. package/dist/cjs/navigation-Bah882nU.js +0 -138
  494. package/dist/collection/components/brand/index.js +0 -2
  495. package/dist/collection/components/header/index.js +0 -2
  496. package/dist/collection/components/navigation/index.js +0 -2
  497. package/dist/collection/components/navigation-item/index.js +0 -2
  498. package/dist/collection/components/navigation-item/navigation-item.js +0 -577
  499. package/dist/collection/components/page/index.js +0 -2
  500. package/dist/collection/components/page/model.js +0 -2
  501. package/dist/db-ux/p-0758418a.entry.js +0 -1
  502. package/dist/db-ux/p-1e70d93f.entry.js +0 -1
  503. package/dist/db-ux/p-2c23efe2.entry.js +0 -1
  504. package/dist/db-ux/p-38c55e9c.entry.js +0 -1
  505. package/dist/db-ux/p-4a94fbc9.entry.js +0 -1
  506. package/dist/db-ux/p-5706f20a.entry.js +0 -1
  507. package/dist/db-ux/p-6ce4a109.entry.js +0 -1
  508. package/dist/db-ux/p-6fd70ba4.entry.js +0 -1
  509. package/dist/db-ux/p-6fdc00bd.entry.js +0 -1
  510. package/dist/db-ux/p-71399ee3.entry.js +0 -1
  511. package/dist/db-ux/p-88dcff6a.entry.js +0 -1
  512. package/dist/db-ux/p-90e9ec2d.entry.js +0 -1
  513. package/dist/db-ux/p-96978a7f.entry.js +0 -1
  514. package/dist/db-ux/p-BdL-nI5y.js +0 -1
  515. package/dist/db-ux/p-BihrW11j.js +0 -1
  516. package/dist/db-ux/p-BtImZ8Nt.js +0 -1
  517. package/dist/db-ux/p-BuBrj57D.js +0 -1
  518. package/dist/db-ux/p-DOPXnIzL.js +0 -1
  519. package/dist/db-ux/p-OOIf-5XP.js +0 -1
  520. package/dist/db-ux/p-a07e33e7.entry.js +0 -1
  521. package/dist/db-ux/p-a4fb4782.entry.js +0 -1
  522. package/dist/db-ux/p-bb5149a9.entry.js +0 -1
  523. package/dist/db-ux/p-e58fbd4d.entry.js +0 -1
  524. package/dist/db-ux/p-e66aa9d8.entry.js +0 -1
  525. package/dist/db-ux/p-ef63c591.entry.js +0 -1
  526. package/dist/db-ux/p-f0b5c785.entry.js +0 -1
  527. package/dist/db-ux/p-f964d5f5.entry.js +0 -1
  528. package/dist/db-ux/p-fumiz06Y.js +0 -1
  529. package/dist/esm/db-drawer.entry.js +0 -202
  530. package/dist/esm/db-header.entry.js +0 -143
  531. package/dist/esm/db-navigation-item.entry.js +0 -180
  532. package/dist/esm/navigation-Jh6m0eMk.js +0 -135
  533. package/dist/types/components/brand/index.d.ts +0 -2
  534. package/dist/types/components/brand/model.d.ts +0 -10
  535. package/dist/types/components/header/header.d.ts +0 -40
  536. package/dist/types/components/header/index.d.ts +0 -2
  537. package/dist/types/components/header/model.d.ts +0 -44
  538. package/dist/types/components/navigation/index.d.ts +0 -2
  539. package/dist/types/components/navigation/model.d.ts +0 -5
  540. package/dist/types/components/navigation-item/index.d.ts +0 -2
  541. package/dist/types/components/navigation-item/model.d.ts +0 -39
  542. package/dist/types/components/navigation-item/navigation-item.d.ts +0 -52
  543. package/dist/types/components/page/index.d.ts +0 -2
  544. package/dist/types/components/page/model.d.ts +0 -36
  545. /package/dist/collection/components/{brand → control-panel-brand}/model.js +0 -0
  546. /package/dist/collection/components/{header → control-panel-desktop}/model.js +0 -0
  547. /package/dist/collection/components/{navigation-item → control-panel-flat-icon}/model.js +0 -0
  548. /package/dist/collection/components/{navigation → control-panel-meta}/model.js +0 -0
@@ -0,0 +1,93 @@
1
+ import { r as registerInstance, h, g as getElement } from './index-BlbKvvUv.js';
2
+ import { c as cls } from './index-DB8jc8lh.js';
3
+
4
+ const DBControlPanelSecondaryActions = class {
5
+ constructor(hostRef) {
6
+ registerInstance(this, hostRef);
7
+ this.observer = undefined;
8
+ }
9
+ setupObserver(element) {
10
+ if (!element)
11
+ return;
12
+ const parent = element.closest("db-control-panel-secondary-actions");
13
+ if (!parent || this.observer)
14
+ return;
15
+ this.observer = new MutationObserver((mutations) => {
16
+ if (mutations.some((mutation) => {
17
+ var _a;
18
+ const attr = mutation.target.attributes.getNamedItem((_a = mutation.attributeName) !== null && _a !== void 0 ? _a : "");
19
+ return (attr === null || attr === void 0 ? void 0 : attr.value) !== mutation.oldValue;
20
+ })) {
21
+ this.enableAttributePassing(element, "db-control-panel-secondary-actions");
22
+ }
23
+ });
24
+ this.observer.observe(parent, {
25
+ attributes: true,
26
+ attributeOldValue: true,
27
+ });
28
+ }
29
+ /**
30
+ * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
31
+ * @param element the ref for the component
32
+ * @param customElementSelector the custom element like `my-component`
33
+ */
34
+ enableAttributePassing(element, customElementSelector) {
35
+ const parent = element === null || element === void 0 ? void 0 : element.closest(customElementSelector);
36
+ if (element && parent) {
37
+ const attributes = parent.attributes;
38
+ for (let i = 0; i < attributes.length; i++) {
39
+ const attr = attributes.item(i);
40
+ if (attr && attr.name !== 'data-density' &&
41
+ (attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
42
+ if (attr.value) {
43
+ element.setAttribute(attr.name, attr.value);
44
+ }
45
+ else {
46
+ element.removeAttribute(attr.name);
47
+ }
48
+ parent.removeAttribute(attr.name);
49
+ }
50
+ else if (attr && ["style"].includes(attr.name)) {
51
+ element.setAttribute(attr.name, attr.value);
52
+ parent.removeAttribute(attr.name);
53
+ }
54
+ else if (attr && attr.name === "class") {
55
+ const isWebComponent = attr.value.includes("hydrated");
56
+ const value = attr.value.replace("hydrated", "").trim();
57
+ const currentClass = element.getAttribute("class");
58
+ element.setAttribute(attr.name, `${currentClass ? currentClass : ""}${value ? ` ${value}` : ""}`);
59
+ if (isWebComponent) {
60
+ // Stencil is using this class for lazy loading component
61
+ parent.setAttribute("class", "hydrated");
62
+ }
63
+ else {
64
+ parent.removeAttribute(attr.name);
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
70
+ componentDidLoad() {
71
+ if (typeof document !== "undefined" && this.rootElement && this.rootElement.dataset.connect) {
72
+ const connectedElement = document.querySelector(`[data-connect-id="${this.rootElement.dataset.connect}"]`);
73
+ if (connectedElement) {
74
+ connectedElement.remove();
75
+ }
76
+ }
77
+ this.enableAttributePassing(this._ref, "db-control-panel-secondary-actions");
78
+ this.setupObserver(this._ref);
79
+ }
80
+ disconnectedCallback() {
81
+ var _a;
82
+ (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
83
+ }
84
+ render() {
85
+ var _a, _b;
86
+ return (h("div", { key: 'ec95f71c0c49e938e209f3b7811175d870ad4989', class: cls("db-control-panel-secondary-actions", this.className), ref: (el) => {
87
+ this._ref = el;
88
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, h("slot", { key: 'de8c3e189de79ffd03dad8b7400a5482fc4391b8' })));
89
+ }
90
+ get rootElement() { return getElement(this); }
91
+ };
92
+
93
+ export { DBControlPanelSecondaryActions as db_control_panel_secondary_actions };
@@ -1,8 +1,8 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-BlbKvvUv.js';
2
- import { q as DEFAULT_ICON } from './constants-BdL-nI5y.js';
3
- import { g as getBooleanAsString, c as cls } from './index-fumiz06Y.js';
2
+ import { M as MAIN_CONTENT_ID } from './constants-COv1iCFP.js';
3
+ import { c as cls } from './index-DB8jc8lh.js';
4
4
 
5
- const DBBrand = class {
5
+ const DBControlPanelSkipNavigation = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
8
  this.observer = undefined;
@@ -10,7 +10,7 @@ const DBBrand = class {
10
10
  setupObserver(element) {
11
11
  if (!element)
12
12
  return;
13
- const parent = element.closest("db-brand");
13
+ const parent = element.closest("db-control-panel-skip-navigation");
14
14
  if (!parent || this.observer)
15
15
  return;
16
16
  this.observer = new MutationObserver((mutations) => {
@@ -19,7 +19,7 @@ const DBBrand = class {
19
19
  const attr = mutation.target.attributes.getNamedItem((_a = mutation.attributeName) !== null && _a !== void 0 ? _a : "");
20
20
  return (attr === null || attr === void 0 ? void 0 : attr.value) !== mutation.oldValue;
21
21
  })) {
22
- this.enableAttributePassing(element, "db-brand");
22
+ this.enableAttributePassing(element, "db-control-panel-skip-navigation");
23
23
  }
24
24
  });
25
25
  this.observer.observe(parent, {
@@ -75,7 +75,7 @@ const DBBrand = class {
75
75
  connectedElement.remove();
76
76
  }
77
77
  }
78
- this.enableAttributePassing(this._ref, "db-brand");
78
+ this.enableAttributePassing(this._ref, "db-control-panel-skip-navigation");
79
79
  this.setupObserver(this._ref);
80
80
  }
81
81
  disconnectedCallback() {
@@ -84,11 +84,11 @@ const DBBrand = class {
84
84
  }
85
85
  render() {
86
86
  var _a, _b, _c;
87
- return (h("div", { key: 'eb7ad13ac7dc2b56c0611996975b6f140cb837c8', class: cls("db-brand", this.className), ref: (el) => {
87
+ return (h("div", { key: '3635ad77cee43a3b1be6e98148ce4b8b63658846', class: cls("db-control-panel-skip-navigation", this.className), ref: (el) => {
88
88
  this._ref = el;
89
- }, "data-icon": this.hideLogo ? "none" : (_a = this.icon) !== null && _a !== void 0 ? _a : DEFAULT_ICON, "data-show-icon": getBooleanAsString(this.showIcon, "showIcon"), id: (_b = this.id) !== null && _b !== void 0 ? _b : (_c = this.propOverrides) === null || _c === void 0 ? void 0 : _c.id }, h("slot", { key: '21a1bf9ea2f921c6a38e24062890c7f674213605' }), this.text ? this.text : null));
89
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, this.text ? (h("a", { href: `#${(_c = this.target) !== null && _c !== void 0 ? _c : MAIN_CONTENT_ID}` }, this.text)) : (h("slot", null))));
90
90
  }
91
91
  get rootElement() { return getElement(this); }
92
92
  };
93
93
 
94
- export { DBBrand as db_brand };
94
+ export { DBControlPanelSkipNavigation as db_control_panel_skip_navigation };
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-BlbKvvUv.js';
2
- import { g as getBooleanAsString, c as cls } from './index-fumiz06Y.js';
2
+ import { g as getBooleanAsString, c as cls } from './index-DB8jc8lh.js';
3
3
 
4
4
  const DBCustomButton = class {
5
5
  constructor(hostRef) {
@@ -83,10 +83,10 @@ const DBCustomButton = class {
83
83
  }
84
84
  render() {
85
85
  var _a, _b, _c;
86
- return (h("div", { key: 'b1552822320b13ce54881eb3771947cf81928c06', class: cls("db-custom-button", this.className), ref: (el) => {
86
+ return (h("div", { key: 'd0a0ad921a94f3eaae975472295d8f5120de6bb4', class: cls("db-custom-button", this.className), ref: (el) => {
87
87
  this._ref = el;
88
88
  }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-icon": (_c = this.iconLeading) !== null && _c !== void 0 ? _c : this.icon, "data-show-icon": getBooleanAsString(this.showIconLeading, "showIconLeading") ||
89
- getBooleanAsString(this.showIcon, "showIcon"), "data-icon-trailing": this.iconTrailing, "data-show-icon-trailing": getBooleanAsString(this.showIconTrailing, "showIconTrailing"), "data-size": this.size, "data-width": this.width, "data-variant": this.variant, "data-no-text": getBooleanAsString(this.noText, "noText") }, h("slot", { key: 'eaf79ff037afc5c2d9b5683e2a2cf11e24174004' })));
89
+ getBooleanAsString(this.showIcon, "showIcon"), "data-icon-trailing": this.iconTrailing, "data-show-icon-trailing": getBooleanAsString(this.showIconTrailing, "showIconTrailing"), "data-size": this.size, "data-width": this.width, "data-variant": this.variant, "data-no-text": getBooleanAsString(this.noText, "noText") }, h("slot", { key: '6bf6026fab0276e23db2b7942932cafe5f4f7e18' })));
90
90
  }
91
91
  get rootElement() { return getElement(this); }
92
92
  };
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h, g as getElement, c as createEvent } from './index-BlbKvvUv.js';
2
- import { c as cls, e as getBoolean, g as getBooleanAsString, h as hasVoiceOver, d as delay, s as stringPropVisible, i as isArrayOfStrings, u as uuid, k as getInputValue, f as getNumber, j as getStep, b as isIOSSafari, l as getHideProp } from './index-fumiz06Y.js';
3
- import { l as DEFAULT_INVALID_MESSAGE, f as DEFAULT_MESSAGE_ID_SUFFIX, g as DEFAULT_VALID_MESSAGE_ID_SUFFIX, h as DEFAULT_INVALID_MESSAGE_ID_SUFFIX, j as DEFAULT_DATALIST_ID_SUFFIX, k as DEFAULT_VALID_MESSAGE, b as DEFAULT_PLACEHOLDER, a as DEFAULT_LABEL, m as DEFAULT_REMOVE } from './constants-BdL-nI5y.js';
4
- import { c as addValueResetEventListener } from './form-components-ZV7IN0oG.js';
2
+ import { c as cls, f as getBoolean, g as getBooleanAsString, h as hasVoiceOver, d as delay, s as stringPropVisible, i as isArrayOfStrings, u as uuid, l as getInputValue, j as getNumber, k as getStep, b as isIOSSafari, m as getHideProp } from './index-DB8jc8lh.js';
3
+ import { l as DEFAULT_INVALID_MESSAGE, f as DEFAULT_MESSAGE_ID_SUFFIX, g as DEFAULT_VALID_MESSAGE_ID_SUFFIX, h as DEFAULT_INVALID_MESSAGE_ID_SUFFIX, j as DEFAULT_DATALIST_ID_SUFFIX, k as DEFAULT_VALID_MESSAGE, b as DEFAULT_PLACEHOLDER, a as DEFAULT_LABEL, m as DEFAULT_REMOVE } from './constants-COv1iCFP.js';
4
+ import { c as addValueResetEventListener } from './form-components-zJeL8XMn.js';
5
5
 
6
6
  const DBCustomSelectDropdown = class {
7
7
  constructor(hostRef) {
@@ -86,9 +86,9 @@ const DBCustomSelectDropdown = class {
86
86
  }
87
87
  render() {
88
88
  var _a, _b;
89
- return (h("article", { key: '7720cebaaa9128aa7f12a3720aa1374a0fd689d7', class: cls("db-custom-select-dropdown db-card", this.className), "data-spacing": "none", ref: (el) => {
89
+ return (h("article", { key: 'f4f45bf53a72ecdfc2f2d8a5efe56cd97b78ea39', class: cls("db-custom-select-dropdown db-card", this.className), "data-spacing": "none", ref: (el) => {
90
90
  this._ref = el;
91
- }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-width": this.width }, h("slot", { key: '19d66fe8c4369630a1debf34e448c0f13ebe0be9' })));
91
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-width": this.width }, h("slot", { key: 'ca1c3bb74d4197526662177cff18d959d215d73a' })));
92
92
  }
93
93
  get rootElement() { return getElement(this); }
94
94
  };
@@ -175,9 +175,9 @@ const DBCustomSelectList = class {
175
175
  }
176
176
  render() {
177
177
  var _a, _b;
178
- return (h("div", { key: '753c3016f6c9a1ed9fce2fa8c7ae00b9ff73383d', class: cls("db-custom-select-list", this.className), role: this.multiple ? "group" : "radiogroup", "aria-label": this.label, ref: (el) => {
178
+ return (h("div", { key: '298e676b1b8d6dbdb9378aa4a25c3241ebf21243', class: cls("db-custom-select-list", this.className), role: this.multiple ? "group" : "radiogroup", "aria-label": this.label, ref: (el) => {
179
179
  this._ref = el;
180
- }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, h("ul", { key: '6fce279c5ddf56f52c574e98d60335cd689d7e2c' }, h("slot", { key: '667b6c5979cee0f28941fc4e62ba67d9b5878373' }))));
180
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, h("ul", { key: 'b110c3a537467cc48aa291a9067ac36b1ad249de' }, h("slot", { key: 'f5223c7e2a6e1f8c0620a81fcb4f31e89fc06786' }))));
181
181
  }
182
182
  get rootElement() { return getElement(this); }
183
183
  };
@@ -285,12 +285,12 @@ const DBCustomSelectListItem = class {
285
285
  }
286
286
  render() {
287
287
  var _a, _b;
288
- return (h("li", { key: '95e2aeea15f86890868013ddb33a6b365d814fc4', class: cls("db-custom-select-list-item", this.className, {
288
+ return (h("li", { key: '2e8eca178b50e65b563dea560b11cf8ee20da8c8', class: cls("db-custom-select-list-item", this.className, {
289
289
  "db-checkbox": this.type === "checkbox" && !this.isGroupTitle,
290
290
  "db-radio": this.type !== "checkbox" && !this.isGroupTitle,
291
291
  }), ref: (el) => {
292
292
  this._ref = el;
293
- }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-divider": getBooleanAsString(this.hasDivider, "hasDivider") }, !this.isGroupTitle ? (h("label", { "data-icon": this.type !== "checkbox" && this.icon ? this.icon : undefined, "data-show-icon": getBooleanAsString(this.showIcon, "showIcon"), "data-icon-trailing": this.getIconTrailing() }, h("input", { class: "db-custom-select-list-item-checkbox", "data-disable-focus": "true", type: this.type, name: this.name, form: this.name, checked: getBoolean(this.checked, "checked"), disabled: getBoolean(this.disabled, "disabled"), value: this.value, onChange: (event) => this.handleChange(event) }), this.label ? this.label : null, h("slot", null))) : (h("span", null, this.groupTitle))));
293
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-divider": getBooleanAsString(this.hasDivider, "hasDivider") }, !this.isGroupTitle ? (h("label", { "data-icon": this.type !== "checkbox" && this.icon ? this.icon : undefined, "data-show-icon": getBooleanAsString(this.showIcon, "showIcon"), "data-icon-trailing": this.getIconTrailing() }, h("input", { class: "db-custom-select-list-item-checkbox", "data-disable-focus": "true", type: this.type, name: this.name, form: this.name, checked: getBoolean(this.checked, "checked"), disabled: getBoolean(this.disabled, "disabled"), value: this.value, onChange: (event) => this.handleChange(event) }), h("span", { class: "db-custom-select-list-item-label" }, this.label ? this.label : null, h("slot", null)))) : (h("span", null, this.groupTitle))));
294
294
  }
295
295
  get rootElement() { return getElement(this); }
296
296
  static get watchers() { return {
@@ -553,8 +553,8 @@ const DBInput = class {
553
553
  }
554
554
  render() {
555
555
  var _a, _b, _c, _d, _e, _f, _g, _h;
556
- return (h("div", { key: 'bfe18e425b08ee3c315f9f59eb230d5ba437407a', class: cls("db-input", this.className), "data-variant": this.variant, "data-hide-label": getHideProp(this.showLabel), "data-show-icon": getBooleanAsString(this.showIconLeading, "showIconLeading") ||
557
- getBooleanAsString(this.showIcon, "showIcon"), "data-icon": (_a = this.iconLeading) !== null && _a !== void 0 ? _a : this.icon, "data-icon-trailing": this.iconTrailing, "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-show-icon-trailing": getBooleanAsString(this.showIconTrailing, "showIconTrailing") }, h("label", { key: '0356f8c8e0cf5fe3d4da7857f75a6298fe39486b', htmlFor: this._id }, (_b = this.label) !== null && _b !== void 0 ? _b : DEFAULT_LABEL), h("input", { key: '4bd3c6406df28e017ceb6f080b06e7b4ccf2df75', "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, "data-field-sizing": this.fieldSizing, ref: (el) => {
556
+ return (h("div", { key: '665e33b476a975430c1d4b3dda4ecf2ab9c54009', class: cls("db-input", this.className), "data-variant": this.variant, "data-hide-label": getHideProp(this.showLabel), "data-show-icon": getBooleanAsString(this.showIconLeading, "showIconLeading") ||
557
+ getBooleanAsString(this.showIcon, "showIcon"), "data-icon": (_a = this.iconLeading) !== null && _a !== void 0 ? _a : this.icon, "data-icon-trailing": this.iconTrailing, "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-show-icon-trailing": getBooleanAsString(this.showIconTrailing, "showIconTrailing") }, h("label", { key: '3c7167e73e16d83886146ceb25e773574f259de4', htmlFor: this._id }, (_b = this.label) !== null && _b !== void 0 ? _b : DEFAULT_LABEL), h("input", { key: '58867dc5de6bd5f901372f0b29630bf59d6fdaf2', "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, "data-field-sizing": this.fieldSizing, ref: (el) => {
558
558
  this._ref = el;
559
559
  }, id: this._id, name: this.name, type: this.type || "text", multiple: getBoolean(this.multiple, "multiple"), accept: this.accept, placeholder: (_c = this.placeholder) !== null && _c !== void 0 ? _c : DEFAULT_PLACEHOLDER, disabled: getBoolean(this.disabled, "disabled"), required: getBoolean(this.required, "required"), step: getStep(this.step), value: (_e = (_d = this.value) !== null && _d !== void 0 ? _d : this._value) !== null && _e !== void 0 ? _e : "", maxLength: getNumber(this.maxLength, this.maxlength), minLength: getNumber(this.minLength, this.minlength), max: getInputValue(this.max, this.type), min: getInputValue(this.min, this.type), readOnly: getBoolean(this.readOnly, "readOnly") ||
560
560
  getBoolean(this.readonly, "readonly") ||
@@ -567,7 +567,7 @@ const DBInput = class {
567
567
  "color",
568
568
  ].includes((_g = this.type) !== null && _g !== void 0 ? _g : "") && isIOSSafari()
569
569
  ? "textbox"
570
- : undefined }), this.dataList ? (h("datalist", { id: this._dataListId }, (_h = this.getDataList()) === null || _h === void 0 ? void 0 : _h.map((option) => (h("option", { key: this._dataListId + "-option-" + option.value, value: option.value }, option.label))))) : null, h("slot", { key: '7071e137ef966ea7ba8c0242c540ee73163e8023' }), stringPropVisible(this.message, this.showMessage) ? (h("db-infotext", { size: this.messageSize || "small", icon: this.messageIcon, id: this._messageId }, this.message)) : null, this.hasValidState() ? (h("db-infotext", { semantic: "successful", id: this._validMessageId, size: this.validMessageSize || "small" }, this.validMessage || DEFAULT_VALID_MESSAGE)) : null, h("db-infotext", { key: '221bc7dceacad6b0c4eb9cfd5747a8db71ff512d', semantic: "critical", id: this._invalidMessageId, size: this.invalidMessageSize || "small" }, this._invalidMessage), h("span", { key: '2e376dfcacc4be02eaff503d25e219fcf78ff7a8', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
570
+ : undefined }), this.dataList ? (h("datalist", { id: this._dataListId }, (_h = this.getDataList()) === null || _h === void 0 ? void 0 : _h.map((option) => (h("option", { key: this._dataListId + "-option-" + option.value, value: option.value }, option.label))))) : null, h("slot", { key: 'b3fa20be35535f5fe014f13246af282358bc9f1d' }), stringPropVisible(this.message, this.showMessage) ? (h("db-infotext", { size: this.messageSize || "small", icon: this.messageIcon, id: this._messageId }, this.message)) : null, this.hasValidState() ? (h("db-infotext", { semantic: "successful", id: this._validMessageId, size: this.validMessageSize || "small" }, this.validMessage || DEFAULT_VALID_MESSAGE)) : null, h("db-infotext", { key: '98ba96af580cb1d74b76b3ed9cff85ca94e07a44', semantic: "critical", id: this._invalidMessageId, size: this.invalidMessageSize || "small" }, this._invalidMessage), h("span", { key: 'c4aba187e2c952d69bfbf2513c751f39ece7ec98', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
571
571
  }
572
572
  get rootElement() { return getElement(this); }
573
573
  static get watchers() { return {
@@ -692,9 +692,9 @@ const DBTag = class {
692
692
  }
693
693
  render() {
694
694
  var _a, _b, _c;
695
- return (h("div", { key: 'bf503e6e826fcb53cfc057b1f2610d062967311e', class: cls("db-tag", this.className), ref: (el) => {
695
+ return (h("div", { key: '07d9385a8ee1ba5b9c57c501b9fae0fea15a3e3e', class: cls("db-tag", this.className), ref: (el) => {
696
696
  this._ref = el;
697
- }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-semantic": this.semantic, "data-emphasis": this.emphasis, "data-icon": this.icon, "data-show-check-state": getBooleanAsString((_c = this.showCheckState) !== null && _c !== void 0 ? _c : true, "showCheckState"), "data-show-icon": getBooleanAsString(this.showIcon, "showIcon"), "data-no-text": getBooleanAsString(this.noText, "noText"), "data-overflow": getBooleanAsString(this.overflow, "overflow") }, h("slot", { key: 'd047f3f96e38b36f4d8f43cfb316d1571ebdd9ba', name: "content" }), this.text ? this.text : null, h("slot", { key: 'b2356b4e384b61ac2844bdb4a8c2f9c4e5b9f153' }), 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));
697
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-semantic": this.semantic, "data-emphasis": this.emphasis, "data-icon": this.icon, "data-show-check-state": getBooleanAsString((_c = this.showCheckState) !== null && _c !== void 0 ? _c : true, "showCheckState"), "data-show-icon": getBooleanAsString(this.showIcon, "showIcon"), "data-no-text": getBooleanAsString(this.noText, "noText"), "data-overflow": getBooleanAsString(this.overflow, "overflow") }, h("slot", { key: '240d6b23cb670c8d3bc8dd28118c4387e4abab6d', name: "content" }), this.text ? this.text : null, h("slot", { key: 'a3d3f749ee447725c439f7344d28208c6213861a' }), 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));
698
698
  }
699
699
  get rootElement() { return getElement(this); }
700
700
  };
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-BlbKvvUv.js';
2
- import { c as cls } from './index-fumiz06Y.js';
2
+ import { c as cls } from './index-DB8jc8lh.js';
3
3
 
4
4
  const DBCustomSelectFormField = class {
5
5
  constructor(hostRef) {
@@ -83,9 +83,9 @@ const DBCustomSelectFormField = class {
83
83
  }
84
84
  render() {
85
85
  var _a, _b;
86
- return (h("summary", { key: '77e485f44f3ac511a95cf814b09f8460b6048fbc', class: cls("db-custom-select-form-field", this.className), ref: (el) => {
86
+ return (h("summary", { key: '40b13d21ae502631dacf0371a73a9410427ea74f', class: cls("db-custom-select-form-field", this.className), ref: (el) => {
87
87
  this._ref = el;
88
- }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, h("slot", { key: '382c889e2abf066105029031da4ecb0147c86607' })));
88
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, h("slot", { key: 'f65747fc63c61c12fed05d268039459b0913b041' })));
89
89
  }
90
90
  get rootElement() { return getElement(this); }
91
91
  };
@@ -1,10 +1,12 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElement } from './index-BlbKvvUv.js';
2
- import { l as DEFAULT_INVALID_MESSAGE, a as DEFAULT_LABEL, m as DEFAULT_REMOVE, f as DEFAULT_MESSAGE_ID_SUFFIX, g as DEFAULT_VALID_MESSAGE_ID_SUFFIX, h as DEFAULT_INVALID_MESSAGE_ID_SUFFIX, e as DEFAULT_SELECT_ID_SUFFIX, d as DEFAULT_LABEL_ID_SUFFIX, i as DEFAULT_PLACEHOLDER_ID_SUFFIX, o as DEFAULT_SELECTED, k as DEFAULT_VALID_MESSAGE, c as DEFAULT_MESSAGE, s as DEFAULT_CLOSE_BUTTON } from './constants-BdL-nI5y.js';
3
- import { h as hasVoiceOver, d as delay, s as stringPropVisible, m as getSearchInput, u as uuid, e as getBoolean, g as getBooleanAsString, l as getHideProp, c as cls } from './index-fumiz06Y.js';
4
- import { D as DocumentClickListener } from './document-click-listener-9wJfRcvz.js';
5
- import { D as DocumentScrollListener } from './document-scroll-listener-4F0ZAg9p.js';
6
- import { a as handleFixedDropdown } from './floating-components-DOPXnIzL.js';
7
- import { b as addResetEventListener } from './form-components-ZV7IN0oG.js';
2
+ import { l as DEFAULT_INVALID_MESSAGE, a as DEFAULT_LABEL, m as DEFAULT_REMOVE, f as DEFAULT_MESSAGE_ID_SUFFIX, g as DEFAULT_VALID_MESSAGE_ID_SUFFIX, h as DEFAULT_INVALID_MESSAGE_ID_SUFFIX, e as DEFAULT_SELECT_ID_SUFFIX, d as DEFAULT_LABEL_ID_SUFFIX, i as DEFAULT_PLACEHOLDER_ID_SUFFIX, o as DEFAULT_SELECTED, k as DEFAULT_VALID_MESSAGE, c as DEFAULT_MESSAGE, v as DEFAULT_CLOSE_BUTTON } from './constants-COv1iCFP.js';
3
+ import { h as hasVoiceOver, d as delay, s as stringPropVisible, n as getSearchInput, u as uuid, f as getBoolean, g as getBooleanAsString, m as getHideProp, c as cls } from './index-DB8jc8lh.js';
4
+ import { D as DocumentClickListener } from './document-click-listener-BEYsNvC5.js';
5
+ import { D as DocumentScrollListener } from './document-scroll-listener-B8lkAL-m.js';
6
+ import { h as handleFixedDropdown } from './floating-components-BT3wZY6f.js';
7
+ import { b as addResetEventListener } from './form-components-zJeL8XMn.js';
8
+ import { I as IntersectionObserverListener } from './intersection-observer-listener-DQ4WWSLe.js';
9
+ import { R as ResizeObserverListener } from './resize-observer-listener-z8XjzxC9.js';
8
10
 
9
11
  const DBCustomSelect = class {
10
12
  constructor(hostRef) {
@@ -42,7 +44,8 @@ const DBCustomSelect = class {
42
44
  this._documentClickListenerCallbackId = undefined;
43
45
  this._internalChangeTimestamp = 0;
44
46
  this._documentScrollListenerCallbackId = undefined;
45
- this._observer = undefined;
47
+ this._intersectionObserverCallbackId = undefined;
48
+ this._resizeObserverCallbackId = undefined;
46
49
  this._searchValue = undefined;
47
50
  this.selectAllChecked = false;
48
51
  this.selectAllIndeterminate = false;
@@ -102,7 +105,6 @@ const DBCustomSelect = class {
102
105
  }
103
106
  }
104
107
  handleDropdownToggle(event) {
105
- var _a, _b;
106
108
  if (this.dropdownToggle) {
107
109
  event.stopPropagation();
108
110
  this.dropdownToggle.emit(event);
@@ -113,7 +115,13 @@ const DBCustomSelect = class {
113
115
  this._documentScrollListenerCallbackId =
114
116
  new DocumentScrollListener().addCallback((event) => this.handleDocumentScroll(event));
115
117
  this.handleAutoPlacement();
116
- (_a = this._observer) === null || _a === void 0 ? void 0 : _a.observe(this.detailsRef);
118
+ this._resizeObserverCallbackId = new ResizeObserverListener().observe(document.documentElement, () => this.handleAutoPlacement());
119
+ this._intersectionObserverCallbackId =
120
+ new IntersectionObserverListener().observe(this.detailsRef, (entry) => {
121
+ if (!entry.isIntersecting && this.detailsRef.open) {
122
+ this.detailsRef.open = false;
123
+ }
124
+ });
117
125
  if (!event.target.dataset["test"]) {
118
126
  // We need this workaround for snapshot testing
119
127
  this.handleOpenByKeyboardFocus();
@@ -126,7 +134,12 @@ const DBCustomSelect = class {
126
134
  if (this._documentScrollListenerCallbackId) {
127
135
  new DocumentScrollListener().removeCallback(this._documentScrollListenerCallbackId);
128
136
  }
129
- (_b = this._observer) === null || _b === void 0 ? void 0 : _b.unobserve(this.detailsRef);
137
+ if (this._resizeObserverCallbackId) {
138
+ new ResizeObserverListener().unobserve(this._resizeObserverCallbackId);
139
+ }
140
+ if (this._intersectionObserverCallbackId) {
141
+ new IntersectionObserverListener().unobserve(this._intersectionObserverCallbackId);
142
+ }
130
143
  }
131
144
  }
132
145
  getNativeSelectValue() {
@@ -431,6 +444,7 @@ const DBCustomSelect = class {
431
444
  }
432
445
  }
433
446
  handleSearch(valueOrEvent) {
447
+ var _a;
434
448
  if (valueOrEvent === undefined) {
435
449
  return;
436
450
  }
@@ -459,6 +473,9 @@ const DBCustomSelect = class {
459
473
  .toLowerCase()
460
474
  .includes(filterText.toLowerCase()));
461
475
  }
476
+ if ((_a = this.detailsRef) === null || _a === void 0 ? void 0 : _a.open) {
477
+ this.handleAutoPlacement();
478
+ }
462
479
  }
463
480
  handleClearAll(event) {
464
481
  event.stopPropagation();
@@ -688,10 +705,14 @@ const DBCustomSelect = class {
688
705
  this.watch11Fn();
689
706
  }
690
707
  watch12Fn() {
691
- var _a, _b;
708
+ var _a, _b, _c;
692
709
  this._options = this.options;
693
710
  this.amountOptions =
694
711
  (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.filter((option) => !option.isGroupTitle).length) !== null && _b !== void 0 ? _b : 0;
712
+ // Reposition open auto-width dropdowns: replacing options can change their content width.
713
+ if ((_c = this.detailsRef) === null || _c === void 0 ? void 0 : _c.open) {
714
+ this.handleAutoPlacement();
715
+ }
695
716
  }
696
717
  watch12() {
697
718
  this.watch12Fn();
@@ -789,16 +810,6 @@ const DBCustomSelect = class {
789
810
  const onMountHook_0 = () => {
790
811
  this.resetIds();
791
812
  this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;
792
- if (typeof window !== "undefined" && "IntersectionObserver" in window) {
793
- this._observer = new IntersectionObserver((payload) => {
794
- if (this.detailsRef) {
795
- const entry = payload.find(({ target }) => target === this.detailsRef);
796
- if (entry && !entry.isIntersecting && this.detailsRef.open) {
797
- this.detailsRef.open = false;
798
- }
799
- }
800
- });
801
- }
802
813
  };
803
814
  onMountHook_0();
804
815
  const onMountHook_1 = () => {
@@ -828,23 +839,36 @@ const DBCustomSelect = class {
828
839
  disconnectedCallback() {
829
840
  var _a, _b;
830
841
  (_a = this.abortController) === null || _a === void 0 ? void 0 : _a.abort();
842
+ // Clean up singleton observers if dropdown was open when unmounting
843
+ if (this._documentClickListenerCallbackId) {
844
+ new DocumentClickListener().removeCallback(this._documentClickListenerCallbackId);
845
+ }
846
+ if (this._documentScrollListenerCallbackId) {
847
+ new DocumentScrollListener().removeCallback(this._documentScrollListenerCallbackId);
848
+ }
849
+ if (this._resizeObserverCallbackId) {
850
+ new ResizeObserverListener().unobserve(this._resizeObserverCallbackId);
851
+ }
852
+ if (this._intersectionObserverCallbackId) {
853
+ new IntersectionObserverListener().unobserve(this._intersectionObserverCallbackId);
854
+ }
831
855
  (_b = this.observer) === null || _b === void 0 ? void 0 : _b.disconnect();
832
856
  }
833
857
  render() {
834
858
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
835
- return (h("div", { key: '83046fc855d23b9e678b3439a05a837849dffff1', class: cls("db-custom-select", this.className), id: this._id, ref: (el) => {
859
+ return (h("div", { key: 'e670905415a84f4edd7f9ed4cfe637201aed2b1f', class: cls("db-custom-select", this.className), id: this._id, ref: (el) => {
836
860
  this._ref = el;
837
861
  }, "aria-invalid": this._validity === "invalid", "data-custom-validity": this._validity, "data-width": this.formFieldWidth, "data-variant": this.variant === "floating" &&
838
862
  this.selectedType === "tag" &&
839
863
  this.multiple
840
864
  ? "above"
841
- : this.variant, "data-required": getBooleanAsString(this.required, "required"), "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-placement": this.placement, "data-selected-type": this.multiple ? this.selectedType : "text", "data-hide-label": getHideProp(this.showLabel), "data-icon": this.icon, "data-show-icon": getBooleanAsString(this.showIcon, "showIcon") }, h("label", { key: '015ece24c6eafe5d148749641fa045cc40e3352c', id: this._labelId }, (_a = this.label) !== null && _a !== void 0 ? _a : DEFAULT_LABEL, h("select", { key: '1472fec486eaa5abf3103037c1ab3beb94001f4f', role: "none", hidden: true, id: this._selectId, tabIndex: -1, ref: (el) => {
865
+ : this.variant, "data-required": getBooleanAsString(this.required, "required"), "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-placement": this.placement, "data-selected-type": this.multiple ? this.selectedType : "text", "data-hide-label": getHideProp(this.showLabel), "data-icon": this.icon, "data-show-icon": getBooleanAsString(this.showIcon, "showIcon") }, h("label", { key: 'bcece5c0050e198def7da6608f9e7bc55cae2252', id: this._labelId }, (_a = this.label) !== null && _a !== void 0 ? _a : DEFAULT_LABEL, h("select", { key: '9ced4c07979c076af3a7ac9187b732035ed77c47', role: "none", hidden: true, id: this._selectId, tabIndex: -1, ref: (el) => {
842
866
  this.selectRef = el;
843
867
  }, form: this.form, name: this.name, "data-custom-validity": this._validity, multiple: getBoolean(this.multiple, "multiple"), disabled: getBoolean(this.disabled, "disabled"), required: getBoolean(this.required, "required"), onChange: (event) => this.satisfyReact(event) }, ((_b = this.options) === null || _b === void 0 ? void 0 : _b.length)
844
868
  ? (_c = this.options) === null || _c === void 0 ? void 0 : _c.map((option) => (h("option", { disabled: option.disabled, value: option.value, key: undefined }, this.getOptionLabel(option))))
845
- : null)), h("details", { key: 'da28a110e387920a7ca6b7bb20e367d6aab2e7e5', ref: (el) => {
869
+ : null)), h("details", { key: '56ecb82c9470119ded325d106a0f0d69ee573033', ref: (el) => {
846
870
  this.detailsRef = el;
847
- }, open: this.open, onToggle: (event) => this.handleDropdownToggle(event), onKeyDown: (event) => this.handleKeyboardPress(event) }, h("slot", { key: 'a9708a4d0dc7e24e3a2a0a5790b7bdf1f6d9c711' }), this.options ? (h(Fragment, null, h("summary", { class: "db-custom-select-form-field", id: this._summaryId, "aria-disabled": getBooleanAsString(this.disabled, "disabled"), tabIndex: this.disabled ? -1 : undefined, "aria-labelledby": this._labelId }, ((_d = this._selectedLabels) === null || _d === void 0 ? void 0 : _d.length) ? (h("span", { "data-visually-hidden": getBooleanAsString(this.selectedType === "tag", "selectedType"), id: this._selectedLabelsId }, this.selectedPrefix ? (h("span", { "data-visually-hidden": "true" }, this.selectedPrefix)) : null, this._selectedLabels)) : null, this.selectedType === "tag" ? (h("div", null, (_e = this._selectedOptions) === null || _e === void 0 ? void 0 : _e.map((option) => (h("db-tag", { emphasis: "strong", behavior: "removable", removeButton: this.getTagRemoveLabel(option), onRemove: (event) => this.handleTagRemove(option, event), key: undefined }, this.getOptionLabel(option)))))) : null), h("db-custom-select-dropdown", { width: this.dropdownWidth }, this.searchEnabled ? (h("div", null, h("db-input", { type: "search", ref: (el) => {
871
+ }, open: this.open, onToggle: (event) => this.handleDropdownToggle(event), onKeyDown: (event) => this.handleKeyboardPress(event) }, h("slot", { key: '8f927bc9860c5c3a4859e28ae3a7cf19ef32a84b' }), this.options ? (h(Fragment, null, h("summary", { class: "db-custom-select-form-field", id: this._summaryId, "aria-disabled": getBooleanAsString(this.disabled, "disabled"), tabIndex: this.disabled ? -1 : undefined, "aria-labelledby": this._labelId }, ((_d = this._selectedLabels) === null || _d === void 0 ? void 0 : _d.length) ? (h("span", { "data-visually-hidden": getBooleanAsString(this.selectedType === "tag", "selectedType"), id: this._selectedLabelsId }, this.selectedPrefix ? (h("span", { "data-visually-hidden": "true" }, this.selectedPrefix)) : null, this._selectedLabels)) : null, this.selectedType === "tag" ? (h("div", null, (_e = this._selectedOptions) === null || _e === void 0 ? void 0 : _e.map((option) => (h("db-tag", { emphasis: "strong", behavior: "removable", removeButton: this.getTagRemoveLabel(option), onRemove: (event) => this.handleTagRemove(option, event), key: undefined }, this.getOptionLabel(option)))))) : null), h("db-custom-select-dropdown", { width: this.dropdownWidth }, this.searchEnabled ? (h("div", null, h("db-input", { type: "search", ref: (el) => {
848
872
  this.searchInputRef = el;
849
873
  }, name: this._id, form: this._id, showLabel: false, value: this._searchValue, label: (_f = this.searchLabel) !== null && _f !== void 0 ? _f : DEFAULT_LABEL, placeholder: (_g = this.searchPlaceholder) !== null && _g !== void 0 ? _g : this.searchLabel, ariaDescribedBy: this._hasNoOptions || this.showLoading
850
874
  ? this._infoTextId
@@ -854,7 +878,7 @@ const DBCustomSelect = class {
854
878
  this.selectAllRef = el;
855
879
  }, form: this._id, checked: this.selectAllChecked, onChange: (event) => this.handleSelectAll(event) }), this.getSelectAllLabel())))) : null, h("db-custom-select-list", { multiple: getBoolean(this.multiple, "multiple"), label: (_k = (_j = this.listLabel) !== null && _j !== void 0 ? _j : this.label) !== null && _k !== void 0 ? _k : DEFAULT_LABEL }, (_l = this._options) === null || _l === void 0 ? void 0 : _l.map((option) => (h("db-custom-select-list-item", { type: this.multiple ? "checkbox" : "radio", showDivider: option.showDivider, icon: option.icon, isGroupTitle: option.isGroupTitle, groupTitle: this.getOptionLabel(option), name: this._id, checked: this.getOptionChecked(option.value), disabled: option.disabled, value: option.value, onChange: () => this.handleSelect(option.value), key: undefined }, !option.isGroupTitle
856
880
  ? this.getOptionLabel(option)
857
- : null)))))), h("div", null, h("db-button", { variant: "ghost", width: "full", icon: "cross", size: "small", name: this._id, form: this._id, onClick: () => this.handleClose(undefined, true) }, (_m = this.mobileCloseButtonText) !== null && _m !== void 0 ? _m : DEFAULT_CLOSE_BUTTON))))) : null), ((_o = this.showClearSelection) !== null && _o !== void 0 ? _o : true) && ((_p = this._values) === null || _p === void 0 ? void 0 : _p.length) ? (h("db-button", { icon: "cross", variant: "ghost", size: "small", noText: true, name: this._id, form: this._id, disabled: getBoolean(this.disabled, "disabled"), onClick: (event) => this.handleClearAll(event) }, this.clearSelectionText, h("db-tooltip", { placement: "top" }, this.clearSelectionText))) : null, h("span", { key: '2239de0c36c6289a623146c363987b1874e468cc', class: "db-custom-select-placeholder", "aria-hidden": "true", id: this._placeholderId }, (_q = this.placeholder) !== null && _q !== void 0 ? _q : this.label), 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: '55fe7e28b2124a471bc814601925cdf86abd8178', size: "small", semantic: "critical", id: this._invalidMessageId }, this._invalidMessage), h("span", { key: '294d2fad5268e30791745abee8589d5266524807', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
881
+ : null)))))), h("div", null, h("db-button", { variant: "ghost", width: "full", icon: "cross", size: "small", name: this._id, form: this._id, onClick: () => this.handleClose(undefined, true) }, (_m = this.mobileCloseButtonText) !== null && _m !== void 0 ? _m : DEFAULT_CLOSE_BUTTON))))) : null), ((_o = this.showClearSelection) !== null && _o !== void 0 ? _o : true) && ((_p = this._values) === null || _p === void 0 ? void 0 : _p.length) ? (h("db-button", { icon: "cross", variant: "ghost", size: "small", noText: true, name: this._id, form: this._id, disabled: getBoolean(this.disabled, "disabled"), onClick: (event) => this.handleClearAll(event) }, this.clearSelectionText, h("db-tooltip", { placement: "top" }, this.clearSelectionText))) : null, h("span", { key: '5ea00e32bfe11384196d884a22b502f69e2645db', class: "db-custom-select-placeholder", "aria-hidden": "true", id: this._placeholderId }, (_q = this.placeholder) !== null && _q !== void 0 ? _q : this.label), 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: 'c7e52d96c2b30151a5bf0468675dd346066ae5c7', size: "small", semantic: "critical", id: this._invalidMessageId }, this._invalidMessage), h("span", { key: 'bf805892157e5f35c4c705f6a4bc2733f732a73e', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
858
882
  }
859
883
  get rootElement() { return getElement(this); }
860
884
  static get watchers() { return {
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-BlbKvvUv.js';
2
- import { c as cls } from './index-fumiz06Y.js';
2
+ import { c as cls } from './index-DB8jc8lh.js';
3
3
 
4
4
  const DBDivider = class {
5
5
  constructor(hostRef) {
@@ -83,7 +83,7 @@ const DBDivider = class {
83
83
  }
84
84
  render() {
85
85
  var _a, _b;
86
- return (h("div", { key: '4f8780fd8ac04d3d4db08bbfeae57f0a86cf36ad', class: cls("db-divider", this.className), ref: (el) => {
86
+ return (h("div", { key: 'b74e9a9bc0bf12d414e6f828b52a1eba7406ac81', class: cls("db-divider", this.className), ref: (el) => {
87
87
  this._ref = el;
88
88
  }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-margin": this.margin, "data-variant": this.variant, "data-emphasis": this.emphasis, "data-width": this.width }));
89
89
  }