@db-ux/wc-core-components 4.12.1 → 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 (547) hide show
  1. package/CHANGELOG.md +6 -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-k8bCF_aj.js → p-9FBjLlz8.js} +1 -1
  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-CuC4YsIB.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 +13 -13
  137. package/dist/cjs/db-custom-select-form-field.cjs.entry.js +3 -3
  138. package/dist/cjs/db-custom-select.cjs.entry.js +41 -25
  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-SpHkZuLA.js → floating-components-B3bpFI90.js} +141 -108
  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 +37 -20
  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 +1 -1
  215. package/dist/collection/components/divider/divider.js +1 -1
  216. package/dist/collection/components/drawer/drawer.js +51 -77
  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 +141 -108
  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 +11955 -8557
  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 +13 -13
  346. package/dist/esm/db-custom-select-form-field.entry.js +3 -3
  347. package/dist/esm/db-custom-select.entry.js +41 -25
  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-C0q9XJSc.js → floating-components-BT3wZY6f.js} +142 -109
  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 +5 -5
  420. package/dist/types/components/drawer/model.d.ts +18 -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 +992 -540
  463. package/dist/web-types.json +3207 -2219
  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-BFeR7jXy.js +0 -1
  477. package/bundle/p-BdL-nI5y.js +0 -1
  478. package/bundle/p-C0q9XJSc.js +0 -1
  479. package/bundle/p-C2w7ILj8.js +0 -1
  480. package/bundle/p-C47AKJPy.js +0 -1
  481. package/bundle/p-C_qYW0Kh.js +0 -1
  482. package/bundle/p-Cn5NdjPW.js +0 -1
  483. package/bundle/p-D6L0n3gO.js +0 -1
  484. package/bundle/p-DJTpgiBy.js +0 -1
  485. package/bundle/p-DTM6Wcbf.js +0 -1
  486. package/bundle/p-DVuZmW_J.js +0 -1
  487. package/bundle/p-DiEfz0o1.js +0 -1
  488. package/bundle/p-gIJnyld5.js +0 -1
  489. package/dist/cjs/db-drawer.cjs.entry.js +0 -225
  490. package/dist/cjs/db-header.cjs.entry.js +0 -145
  491. package/dist/cjs/db-navigation-item.cjs.entry.js +0 -182
  492. package/dist/cjs/navigation-DUTSDY4q.js +0 -138
  493. package/dist/collection/components/brand/index.js +0 -2
  494. package/dist/collection/components/header/index.js +0 -2
  495. package/dist/collection/components/navigation/index.js +0 -2
  496. package/dist/collection/components/navigation-item/index.js +0 -2
  497. package/dist/collection/components/navigation-item/navigation-item.js +0 -577
  498. package/dist/collection/components/page/index.js +0 -2
  499. package/dist/collection/components/page/model.js +0 -2
  500. package/dist/db-ux/p-0758418a.entry.js +0 -1
  501. package/dist/db-ux/p-183c78b7.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-4751361d.entry.js +0 -1
  506. package/dist/db-ux/p-5623ff36.entry.js +0 -1
  507. package/dist/db-ux/p-5706f20a.entry.js +0 -1
  508. package/dist/db-ux/p-6ce4a109.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-87281518.entry.js +0 -1
  512. package/dist/db-ux/p-90e9ec2d.entry.js +0 -1
  513. package/dist/db-ux/p-BdL-nI5y.js +0 -1
  514. package/dist/db-ux/p-BihrW11j.js +0 -1
  515. package/dist/db-ux/p-BtImZ8Nt.js +0 -1
  516. package/dist/db-ux/p-C0q9XJSc.js +0 -1
  517. package/dist/db-ux/p-C_qYW0Kh.js +0 -1
  518. package/dist/db-ux/p-OOIf-5XP.js +0 -1
  519. package/dist/db-ux/p-a07e33e7.entry.js +0 -1
  520. package/dist/db-ux/p-a6f33f3b.entry.js +0 -1
  521. package/dist/db-ux/p-e58fbd4d.entry.js +0 -1
  522. package/dist/db-ux/p-e66aa9d8.entry.js +0 -1
  523. package/dist/db-ux/p-f0b5c785.entry.js +0 -1
  524. package/dist/db-ux/p-f271332c.entry.js +0 -1
  525. package/dist/db-ux/p-f5f73623.entry.js +0 -1
  526. package/dist/db-ux/p-f964d5f5.entry.js +0 -1
  527. package/dist/db-ux/p-fumiz06Y.js +0 -1
  528. package/dist/esm/db-drawer.entry.js +0 -223
  529. package/dist/esm/db-header.entry.js +0 -143
  530. package/dist/esm/db-navigation-item.entry.js +0 -180
  531. package/dist/esm/navigation-Cd7KZ6E2.js +0 -135
  532. package/dist/types/components/brand/index.d.ts +0 -2
  533. package/dist/types/components/brand/model.d.ts +0 -10
  534. package/dist/types/components/header/header.d.ts +0 -40
  535. package/dist/types/components/header/index.d.ts +0 -2
  536. package/dist/types/components/header/model.d.ts +0 -44
  537. package/dist/types/components/navigation/index.d.ts +0 -2
  538. package/dist/types/components/navigation/model.d.ts +0 -5
  539. package/dist/types/components/navigation-item/index.d.ts +0 -2
  540. package/dist/types/components/navigation-item/model.d.ts +0 -39
  541. package/dist/types/components/navigation-item/navigation-item.d.ts +0 -52
  542. package/dist/types/components/page/index.d.ts +0 -2
  543. package/dist/types/components/page/model.d.ts +0 -36
  544. /package/dist/collection/components/{brand → control-panel-brand}/model.js +0 -0
  545. /package/dist/collection/components/{header → control-panel-desktop}/model.js +0 -0
  546. /package/dist/collection/components/{navigation-item → control-panel-flat-icon}/model.js +0 -0
  547. /package/dist/collection/components/{navigation → control-panel-meta}/model.js +0 -0
@@ -1,18 +1,38 @@
1
- import { DEFAULT_ICON } from "../../shared/constants.js";
2
- import { cls, getBooleanAsString } from "../../utils/index.js";
1
+ import { DEFAULT_CLOSE_BUTTON } from "../../shared/constants.js";
2
+ import { cls, uuid } from "../../utils/index.js";
3
3
  import { h } from "@stencil/core";
4
4
  /**
5
5
  * @slot children - This is a default/unnamed slot
6
-
6
+ * @slot startSlot - TODO: Add description for slotStartSlot
7
+ * @slot endSlot - TODO: Add description for slotEndSlot
7
8
  */
8
- export class DBBrand {
9
+ export class DBDrawerHeader {
9
10
  constructor() {
11
+ this.closeButtonText = DEFAULT_CLOSE_BUTTON;
12
+ this._headingId = "db-drawer-header-heading-" + uuid();
10
13
  this.observer = undefined;
11
14
  }
15
+ setAriaLabelledBy() {
16
+ if (this._ref && this.text) {
17
+ const dialog = this._ref.closest("dialog");
18
+ if (dialog) {
19
+ dialog.setAttribute("aria-labelledby", this._headingId);
20
+ }
21
+ }
22
+ }
23
+ removeAriaLabelledBy() {
24
+ if (this._ref) {
25
+ const dialog = this._ref.closest("dialog");
26
+ if (dialog &&
27
+ dialog.getAttribute("aria-labelledby") === this._headingId) {
28
+ dialog.removeAttribute("aria-labelledby");
29
+ }
30
+ }
31
+ }
12
32
  setupObserver(element) {
13
33
  if (!element)
14
34
  return;
15
- const parent = element.closest("db-brand");
35
+ const parent = element.closest("db-drawer-header");
16
36
  if (!parent || this.observer)
17
37
  return;
18
38
  this.observer = new MutationObserver((mutations) => {
@@ -21,7 +41,7 @@ export class DBBrand {
21
41
  const attr = mutation.target.attributes.getNamedItem((_a = mutation.attributeName) !== null && _a !== void 0 ? _a : "");
22
42
  return (attr === null || attr === void 0 ? void 0 : attr.value) !== mutation.oldValue;
23
43
  })) {
24
- this.enableAttributePassing(element, "db-brand");
44
+ this.enableAttributePassing(element, "db-drawer-header");
25
45
  }
26
46
  });
27
47
  this.observer.observe(parent, {
@@ -77,34 +97,42 @@ export class DBBrand {
77
97
  connectedElement.remove();
78
98
  }
79
99
  }
80
- this.enableAttributePassing(this._ref, "db-brand");
81
- this.setupObserver(this._ref);
100
+ this.enableAttributePassing(this._ref, "db-drawer-header");
101
+ const onMountHook_0 = () => {
102
+ this.setAriaLabelledBy();
103
+ };
104
+ onMountHook_0();
105
+ const onMountHook_1 = () => {
106
+ this.setupObserver(this._ref);
107
+ };
108
+ onMountHook_1();
82
109
  }
83
110
  disconnectedCallback() {
84
111
  var _a;
112
+ this.removeAriaLabelledBy();
85
113
  (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
86
114
  }
87
115
  render() {
88
- var _a, _b, _c;
89
- return (h("div", { key: 'eb7ad13ac7dc2b56c0611996975b6f140cb837c8', class: cls("db-brand", this.className), ref: (el) => {
116
+ var _a, _b;
117
+ return (h("div", { key: 'dfab2e03b8b712fe9960cac3fc30b534a355dc13', class: cls("db-drawer-header", this.className), ref: (el) => {
90
118
  this._ref = el;
91
- }, "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));
119
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, h("header", { key: '6e8caae594fe815fb329843aae47d96df30527c4', class: "db-drawer-header-container", id: this._headingId }, h("slot", { key: '546960454a5332aeab2e24734b7633b5f1a34c3c', name: "startSlot" }), this.text ? h("h2", null, this.text) : h("slot", null)), h("slot", { key: 'b278f02cb5fc65287885085a8a5a31d4282458eb', name: "endSlot" }), h("db-button", { key: '094219ec03470e63fbc93532db4d12d7d8e324a3', "data-action": "close", icon: "cross", variant: "ghost", type: "button", id: this.closeButtonId, noText: true }, this.closeButtonText, h("db-tooltip", { key: 'c6e1fa17184102db8160b9a2917f8f55e80307c6' }, this.closeButtonText))));
92
120
  }
93
- static get is() { return "db-brand"; }
121
+ static get is() { return "db-drawer-header"; }
94
122
  static get properties() {
95
123
  return {
96
- "hideLogo": {
97
- "type": "boolean",
124
+ "text": {
125
+ "type": "string",
98
126
  "mutable": false,
99
127
  "complexType": {
100
- "original": "DBBrandProps[\"hideLogo\"]",
101
- "resolved": "boolean",
128
+ "original": "DBDrawerHeaderProps[\"text\"]",
129
+ "resolved": "string",
102
130
  "references": {
103
- "DBBrandProps": {
131
+ "DBDrawerHeaderProps": {
104
132
  "location": "import",
105
133
  "path": "./model.js",
106
- "id": "src/components/brand/model.ts::DBBrandProps",
107
- "referenceLocation": "DBBrandProps"
134
+ "id": "src/components/drawer-header/model.ts::DBDrawerHeaderProps",
135
+ "referenceLocation": "DBDrawerHeaderProps"
108
136
  }
109
137
  }
110
138
  },
@@ -117,20 +145,20 @@ export class DBBrand {
117
145
  "getter": false,
118
146
  "setter": false,
119
147
  "reflect": false,
120
- "attribute": "hide-logo"
148
+ "attribute": "text"
121
149
  },
122
- "icon": {
150
+ "id": {
123
151
  "type": "string",
124
152
  "mutable": false,
125
153
  "complexType": {
126
- "original": "DBBrandProps[\"icon\"]",
127
- "resolved": "\"arrow_down\" | \"arrow_left\" | \"arrow_right\" | \"arrow_up\" | \"arrow_up_right\" | \"arrows_vertical\" | \"brand\" | \"calendar\" | \"chat\" | \"check\" | \"check_circle\" | \"chevron_down\" | \"chevron_left\" | \"chevron_right\" | \"chevron_up\" | \"circle\" | \"circle_small\" | \"circular_arrows\" | \"clock\" | \"copy\" | \"cross\" | \"cross_circle\" | \"double_chevron_down\" | \"double_chevron_left\" | \"double_chevron_right\" | \"double_chevron_up\" | \"exclamation_mark_circle\" | \"exclamation_mark_triangle\" | \"eye\" | \"eye_disabled\" | \"house\" | \"information_circle\" | \"magnifying_glass\" | \"menu\" | \"minus\" | \"moon\" | \"more_vertical\" | \"plus\" | \"resize_handle_corner\" | \"sun\" | \"x_placeholder\" | string & Record<never, never>",
154
+ "original": "DBDrawerHeaderProps[\"id\"]",
155
+ "resolved": "string",
128
156
  "references": {
129
- "DBBrandProps": {
157
+ "DBDrawerHeaderProps": {
130
158
  "location": "import",
131
159
  "path": "./model.js",
132
- "id": "src/components/brand/model.ts::DBBrandProps",
133
- "referenceLocation": "DBBrandProps"
160
+ "id": "src/components/drawer-header/model.ts::DBDrawerHeaderProps",
161
+ "referenceLocation": "DBDrawerHeaderProps"
134
162
  }
135
163
  }
136
164
  },
@@ -143,20 +171,20 @@ export class DBBrand {
143
171
  "getter": false,
144
172
  "setter": false,
145
173
  "reflect": false,
146
- "attribute": "icon"
174
+ "attribute": "id"
147
175
  },
148
- "showIcon": {
149
- "type": "any",
176
+ "propOverrides": {
177
+ "type": "unknown",
150
178
  "mutable": false,
151
179
  "complexType": {
152
- "original": "DBBrandProps[\"showIcon\"]",
153
- "resolved": "boolean | string",
180
+ "original": "DBDrawerHeaderProps[\"propOverrides\"]",
181
+ "resolved": "{ id?: string; }",
154
182
  "references": {
155
- "DBBrandProps": {
183
+ "DBDrawerHeaderProps": {
156
184
  "location": "import",
157
185
  "path": "./model.js",
158
- "id": "src/components/brand/model.ts::DBBrandProps",
159
- "referenceLocation": "DBBrandProps"
186
+ "id": "src/components/drawer-header/model.ts::DBDrawerHeaderProps",
187
+ "referenceLocation": "DBDrawerHeaderProps"
160
188
  }
161
189
  }
162
190
  },
@@ -167,22 +195,20 @@ export class DBBrand {
167
195
  "text": ""
168
196
  },
169
197
  "getter": false,
170
- "setter": false,
171
- "reflect": false,
172
- "attribute": "show-icon"
198
+ "setter": false
173
199
  },
174
- "id": {
200
+ "className": {
175
201
  "type": "string",
176
202
  "mutable": false,
177
203
  "complexType": {
178
- "original": "DBBrandProps[\"id\"]",
204
+ "original": "DBDrawerHeaderProps[\"className\"]",
179
205
  "resolved": "string",
180
206
  "references": {
181
- "DBBrandProps": {
207
+ "DBDrawerHeaderProps": {
182
208
  "location": "import",
183
209
  "path": "./model.js",
184
- "id": "src/components/brand/model.ts::DBBrandProps",
185
- "referenceLocation": "DBBrandProps"
210
+ "id": "src/components/drawer-header/model.ts::DBDrawerHeaderProps",
211
+ "referenceLocation": "DBDrawerHeaderProps"
186
212
  }
187
213
  }
188
214
  },
@@ -195,44 +221,20 @@ export class DBBrand {
195
221
  "getter": false,
196
222
  "setter": false,
197
223
  "reflect": false,
198
- "attribute": "id"
199
- },
200
- "propOverrides": {
201
- "type": "unknown",
202
- "mutable": false,
203
- "complexType": {
204
- "original": "DBBrandProps[\"propOverrides\"]",
205
- "resolved": "{ id?: string; }",
206
- "references": {
207
- "DBBrandProps": {
208
- "location": "import",
209
- "path": "./model.js",
210
- "id": "src/components/brand/model.ts::DBBrandProps",
211
- "referenceLocation": "DBBrandProps"
212
- }
213
- }
214
- },
215
- "required": false,
216
- "optional": false,
217
- "docs": {
218
- "tags": [],
219
- "text": ""
220
- },
221
- "getter": false,
222
- "setter": false
224
+ "attribute": "classname"
223
225
  },
224
- "className": {
226
+ "closeButtonId": {
225
227
  "type": "string",
226
228
  "mutable": false,
227
229
  "complexType": {
228
- "original": "DBBrandProps[\"className\"]",
230
+ "original": "DBDrawerHeaderProps[\"closeButtonId\"]",
229
231
  "resolved": "string",
230
232
  "references": {
231
- "DBBrandProps": {
233
+ "DBDrawerHeaderProps": {
232
234
  "location": "import",
233
235
  "path": "./model.js",
234
- "id": "src/components/brand/model.ts::DBBrandProps",
235
- "referenceLocation": "DBBrandProps"
236
+ "id": "src/components/drawer-header/model.ts::DBDrawerHeaderProps",
237
+ "referenceLocation": "DBDrawerHeaderProps"
236
238
  }
237
239
  }
238
240
  },
@@ -245,20 +247,20 @@ export class DBBrand {
245
247
  "getter": false,
246
248
  "setter": false,
247
249
  "reflect": false,
248
- "attribute": "classname"
250
+ "attribute": "close-button-id"
249
251
  },
250
- "text": {
252
+ "closeButtonText": {
251
253
  "type": "string",
252
254
  "mutable": false,
253
255
  "complexType": {
254
- "original": "DBBrandProps[\"text\"]",
256
+ "original": "DBDrawerHeaderProps[\"closeButtonText\"]",
255
257
  "resolved": "string",
256
258
  "references": {
257
- "DBBrandProps": {
259
+ "DBDrawerHeaderProps": {
258
260
  "location": "import",
259
261
  "path": "./model.js",
260
- "id": "src/components/brand/model.ts::DBBrandProps",
261
- "referenceLocation": "DBBrandProps"
262
+ "id": "src/components/drawer-header/model.ts::DBDrawerHeaderProps",
263
+ "referenceLocation": "DBDrawerHeaderProps"
262
264
  }
263
265
  }
264
266
  },
@@ -271,12 +273,14 @@ export class DBBrand {
271
273
  "getter": false,
272
274
  "setter": false,
273
275
  "reflect": false,
274
- "attribute": "text"
276
+ "attribute": "close-button-text",
277
+ "defaultValue": "'Close'"
275
278
  }
276
279
  };
277
280
  }
278
281
  static get states() {
279
282
  return {
283
+ "_headingId": {},
280
284
  "observer": {}
281
285
  };
282
286
  }
@@ -0,0 +1,2 @@
1
+ import { DBDrawerHeader } from "./drawer-header";
2
+ export default DBDrawerHeader;
@@ -0,0 +1 @@
1
+ export {};
@@ -85,9 +85,9 @@ export class DBIcon {
85
85
  }
86
86
  render() {
87
87
  var _a, _b;
88
- return (h("span", { key: '45475f5547eb46fee1e5046a3adf5602b8427d1e', class: cls("db-icon", this.className), "aria-hidden": "true", ref: (el) => {
88
+ return (h("span", { key: '317a35455deed25c97bbe605675e7cf4694147db', class: cls("db-icon", this.className), "aria-hidden": "true", ref: (el) => {
89
89
  this._ref = el;
90
- }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-icon": this.icon, "data-icon-weight": this.weight, "data-icon-variant": this.variant }, this.text ? this.text : null, h("slot", { key: '05089e47e87077e6227760806584f49715080c38' })));
90
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-icon": this.icon, "data-icon-weight": this.weight, "data-icon-variant": this.variant }, this.text ? this.text : null, h("slot", { key: 'd0c4a2db988fa511049303667ae42e1143b6a285' })));
91
91
  }
92
92
  static get is() { return "db-icon"; }
93
93
  static get properties() {
@@ -85,9 +85,9 @@ export class DBInfotext {
85
85
  }
86
86
  render() {
87
87
  var _a, _b, _c;
88
- return (h("span", { key: '5f43b3937dc8adf310a519fc581f6c3162e86ebb', class: cls("db-infotext", this.className), ref: (el) => {
88
+ return (h("span", { key: 'a5743649a619595f159a9022ee8c39e477af05a7', class: cls("db-infotext", this.className), ref: (el) => {
89
89
  this._ref = el;
90
- }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-icon": this.icon, "data-semantic": this.semantic, "data-size": this.size, "data-wrap": getBooleanAsString(this.wrap, "wrap"), "data-show-icon-leading": getBooleanAsString((_c = this.showIcon) !== null && _c !== void 0 ? _c : true, "showIcon") }, this.text ? this.text : null, h("slot", { key: '253fc89f2cb83a9ca89c66eed70988b7b69b8507' })));
90
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-icon": this.icon, "data-semantic": this.semantic, "data-size": this.size, "data-wrap": getBooleanAsString(this.wrap, "wrap"), "data-show-icon-leading": getBooleanAsString((_c = this.showIcon) !== null && _c !== void 0 ? _c : true, "showIcon") }, this.text ? this.text : null, h("slot", { key: 'a52fb970815f2339648d21691f66da3369a34e30' })));
91
91
  }
92
92
  static get is() { return "db-infotext"; }
93
93
  static get properties() {
@@ -251,8 +251,8 @@ export class DBInput {
251
251
  }
252
252
  render() {
253
253
  var _a, _b, _c, _d, _e, _f, _g, _h;
254
- 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") ||
255
- 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) => {
254
+ 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") ||
255
+ 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) => {
256
256
  this._ref = el;
257
257
  }, 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") ||
258
258
  getBoolean(this.readonly, "readonly") ||
@@ -265,7 +265,7 @@ export class DBInput {
265
265
  "color",
266
266
  ].includes((_g = this.type) !== null && _g !== void 0 ? _g : "") && isIOSSafari()
267
267
  ? "textbox"
268
- : 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)));
268
+ : 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)));
269
269
  }
270
270
  static get is() { return "db-input"; }
271
271
  static get properties() {
@@ -85,9 +85,9 @@ export class DBLink {
85
85
  }
86
86
  render() {
87
87
  var _a, _b, _c, _d;
88
- return (h("a", { key: '7d627d40c68589558b3e33b1304f4c57b95203e3', class: cls("db-link", this.className), ref: (el) => {
88
+ return (h("a", { key: '844ef7d3be7d3cfa62ec5b5bbac7afbb2c226ad0', class: cls("db-link", this.className), ref: (el) => {
89
89
  this._ref = el;
90
- }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, href: this.href, target: this.target, rel: this.rel, role: this.role, referrerPolicy: (_c = this.referrerpolicy) !== null && _c !== void 0 ? _c : this.referrerPolicy, hrefLang: this.hreflang, "aria-disabled": getBooleanAsString(this.disabled, "disabled"), tabIndex: this.disabled ? -1 : 0, "data-size": this.size, "data-show-icon-trailing": getBooleanAsString((_d = this.showIcon) !== null && _d !== void 0 ? _d : true, "showIcon"), "data-variant": this.variant, "data-content": this.content || "internal", "data-wrap": getBooleanAsString(this.wrap, "wrap") }, this.text ? this.text : null, h("slot", { key: 'fc12c0b064d4c5d03347bea0f6de4ad5fcf78223' })));
90
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, href: this.href, target: this.target, rel: this.rel, role: this.role, referrerPolicy: (_c = this.referrerpolicy) !== null && _c !== void 0 ? _c : this.referrerPolicy, hrefLang: this.hreflang, "aria-disabled": getBooleanAsString(this.disabled, "disabled"), tabIndex: this.disabled ? -1 : 0, "data-size": this.size, "data-show-icon-trailing": getBooleanAsString((_d = this.showIcon) !== null && _d !== void 0 ? _d : true, "showIcon"), "data-variant": this.variant, "data-content": this.content || "internal", "data-wrap": getBooleanAsString(this.wrap, "wrap") }, this.text ? this.text : null, h("slot", { key: 'd99bd3518f8b267b8a50531bac0a4eac737fd4bf' })));
91
91
  }
92
92
  static get is() { return "db-link"; }
93
93
  static get properties() {
@@ -95,13 +95,13 @@ export class DBNotification {
95
95
  }
96
96
  render() {
97
97
  var _a, _b, _c;
98
- return (h("div", { key: '3f6ef4d3d506873a5b4bd15fde4d2c2fbedc9746', class: cls("db-notification", this.className), ref: (el) => {
98
+ return (h("div", { key: '24d232744b6491f7883907495e90db630a3dfa37', class: cls("db-notification", this.className), ref: (el) => {
99
99
  this._ref = el;
100
100
  }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, role: getNotificationRole({
101
101
  semantic: this.semantic,
102
102
  role: this.role,
103
103
  ariaLive: this.ariaLive,
104
- }), "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, "showIcon"), "data-link-variant": this.linkVariant }, h("slot", { key: '869ddc92d88e68d689215add30f1eefbfababc21', name: "image" }), stringPropVisible(this.headline, this.showHeadline) ? (h("header", { "data-area": "head" }, this.headline)) : null, h("div", { key: 'f3eb313619e046c8eb3fa7b527470b8145003173', "data-area": "content" }, this.text ? this.text : null, h("slot", { key: 'ff2a9c542527cf6da87bace3b77b9477899626ea' })), stringPropVisible(this.timestamp, this.showTimestamp) ? (h("time", { "data-area": "timestamp", dateTime: this.timestampDatetime }, this.timestamp)) : null, h("slot", { key: '5529bddb13c7a39c5fcf6b9bca844cbe1f16fee3', 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) }, (_c = this.closeButtonText) !== null && _c !== void 0 ? _c : DEFAULT_CLOSE_BUTTON)) : null));
104
+ }), "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, "showIcon"), "data-link-variant": this.linkVariant }, h("slot", { key: '7c75177f9eff5127a8d4c8043c59d94a508a5044', name: "image" }), stringPropVisible(this.headline, this.showHeadline) ? (h("header", { "data-area": "head" }, this.headline)) : null, h("div", { key: 'a0e9233a3143354c401f0d12f60ccdb30977736c', "data-area": "content" }, this.text ? this.text : null, h("slot", { key: '67f52722658f2894a23fd8f7f0bdc8a6337e8599' })), stringPropVisible(this.timestamp, this.showTimestamp) ? (h("time", { "data-area": "timestamp", dateTime: this.timestampDatetime }, this.timestamp)) : null, h("slot", { key: '5bc5cc27b0cfd34d470adede98ee929845a21868', 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) }, (_c = this.closeButtonText) !== null && _c !== void 0 ? _c : DEFAULT_CLOSE_BUTTON)) : null));
105
105
  }
106
106
  static get is() { return "db-notification"; }
107
107
  static get properties() {
@@ -1,6 +1,8 @@
1
1
  import { cls, getBooleanAsString, delay as utilsDelay } from "../../utils/index.js";
2
2
  import { DocumentScrollListener } from "../../utils/document-scroll-listener.js";
3
3
  import { handleFixedPopover } from "../../utils/floating-components.js";
4
+ import { IntersectionObserverListener } from "../../utils/intersection-observer-listener.js";
5
+ import { ResizeObserverListener } from "../../utils/resize-observer-listener.js";
4
6
  import { h } from "@stencil/core";
5
7
  /**
6
8
  * @slot children - This is a default/unnamed slot
@@ -11,7 +13,8 @@ export class DBPopover {
11
13
  this.initialized = false;
12
14
  this.isExpanded = false;
13
15
  this._documentScrollListenerCallbackId = undefined;
14
- this._observer = undefined;
16
+ this._intersectionObserverCallbackId = undefined;
17
+ this._resizeObserverCallbackId = undefined;
15
18
  this.observer = undefined;
16
19
  }
17
20
  handleEscape(event) {
@@ -29,8 +32,7 @@ export class DBPopover {
29
32
  if (article) {
30
33
  // This is a workaround for angular
31
34
  void utilsDelay(() => {
32
- var _a;
33
- handleFixedPopover(article, this._ref, (_a = this.placement) !== null && _a !== void 0 ? _a : "bottom");
35
+ handleFixedPopover(article, this._ref);
34
36
  }, 1);
35
37
  }
36
38
  }
@@ -41,18 +43,35 @@ export class DBPopover {
41
43
  }
42
44
  }
43
45
  handleEnter() {
44
- var _a;
45
46
  this.isExpanded = true;
47
+ // Clean up any existing observers to prevent leaks from repeated enter
48
+ if (this._documentScrollListenerCallbackId) {
49
+ new DocumentScrollListener().removeCallback(this._documentScrollListenerCallbackId);
50
+ this._documentScrollListenerCallbackId = undefined;
51
+ }
52
+ if (this._resizeObserverCallbackId) {
53
+ new ResizeObserverListener().unobserve(this._resizeObserverCallbackId);
54
+ this._resizeObserverCallbackId = undefined;
55
+ }
56
+ if (this._intersectionObserverCallbackId) {
57
+ new IntersectionObserverListener().unobserve(this._intersectionObserverCallbackId);
58
+ this._intersectionObserverCallbackId = undefined;
59
+ }
46
60
  this._documentScrollListenerCallbackId =
47
61
  new DocumentScrollListener().addCallback((event) => this.handleDocumentScroll(event));
48
62
  this.handleAutoPlacement();
63
+ this._resizeObserverCallbackId = new ResizeObserverListener().observe(document.documentElement, () => this.handleAutoPlacement());
49
64
  const child = this.getTrigger();
50
65
  if (child) {
51
- (_a = this._observer) === null || _a === void 0 ? void 0 : _a.observe(child);
66
+ this._intersectionObserverCallbackId =
67
+ new IntersectionObserverListener().observe(child, (entry) => {
68
+ if (!entry.isIntersecting) {
69
+ this.handleEscape(false);
70
+ }
71
+ });
52
72
  }
53
73
  }
54
74
  handleLeave(event) {
55
- var _a;
56
75
  const element = event === null || event === void 0 ? void 0 : event.target;
57
76
  const parent = element === null || element === void 0 ? void 0 : element.parentNode;
58
77
  if (!parent ||
@@ -62,10 +81,15 @@ export class DBPopover {
62
81
  this.isExpanded = false;
63
82
  if (this._documentScrollListenerCallbackId) {
64
83
  new DocumentScrollListener().removeCallback(this._documentScrollListenerCallbackId);
84
+ this._documentScrollListenerCallbackId = undefined;
65
85
  }
66
- const child = this.getTrigger();
67
- if (child) {
68
- (_a = this._observer) === null || _a === void 0 ? void 0 : _a.unobserve(child);
86
+ if (this._resizeObserverCallbackId) {
87
+ new ResizeObserverListener().unobserve(this._resizeObserverCallbackId);
88
+ this._resizeObserverCallbackId = undefined;
89
+ }
90
+ if (this._intersectionObserverCallbackId) {
91
+ new IntersectionObserverListener().unobserve(this._intersectionObserverCallbackId);
92
+ this._intersectionObserverCallbackId = undefined;
69
93
  }
70
94
  }
71
95
  }
@@ -164,14 +188,6 @@ export class DBPopover {
164
188
  ["mouseleave", "focusout"].forEach((event) => {
165
189
  this._ref.addEventListener(event, () => this.handleLeave());
166
190
  });
167
- if (typeof window !== "undefined" && "IntersectionObserver" in window) {
168
- this._observer = new IntersectionObserver((payload) => {
169
- const entry = payload.find(({ target }) => target === this.getTrigger());
170
- if (entry && !entry.isIntersecting) {
171
- this.handleEscape(false);
172
- }
173
- });
174
- }
175
191
  }
176
192
  }
177
193
  watch0() {
@@ -209,43 +225,29 @@ export class DBPopover {
209
225
  }
210
226
  disconnectedCallback() {
211
227
  var _a;
228
+ if (this._documentScrollListenerCallbackId) {
229
+ new DocumentScrollListener().removeCallback(this._documentScrollListenerCallbackId);
230
+ this._documentScrollListenerCallbackId = undefined;
231
+ }
232
+ if (this._resizeObserverCallbackId) {
233
+ new ResizeObserverListener().unobserve(this._resizeObserverCallbackId);
234
+ this._resizeObserverCallbackId = undefined;
235
+ }
236
+ if (this._intersectionObserverCallbackId) {
237
+ new IntersectionObserverListener().unobserve(this._intersectionObserverCallbackId);
238
+ this._intersectionObserverCallbackId = undefined;
239
+ }
212
240
  (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
213
241
  }
214
242
  render() {
215
243
  var _a, _b, _c;
216
- return (h("div", { key: '6c495cb9c8f329dd2cf07bfc55b56eb9aa524fb9', class: cls("db-popover", this.className), ref: (el) => {
244
+ return (h("div", { key: '05f2e24b5649f68be8480fabf05bdc79fd4a454e', class: cls("db-popover", this.className), ref: (el) => {
217
245
  this._ref = el;
218
- }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, h("slot", { key: 'f74be440cae4d35f76ff2899bae864fc9e3e5c8a', name: "trigger" }), h("article", { key: 'efec32b56bf7267aed0f0723306398f9e5f66c75', class: "db-popover-content", "data-spacing": this.spacing, "data-gap": getBooleanAsString(this.gap, "gap"), "data-animation": getBooleanAsString((_c = this.animation) !== null && _c !== void 0 ? _c : true, "animation"), "data-open": getBooleanAsString(this.open, "open"), "data-delay": this.delay, "data-width": this.width, "data-placement": this.placement }, h("slot", { key: '2a1957f512ad0c9eca6e9e5f50721dda1ce56cf3' }))));
246
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, h("slot", { key: '4fe2e58f6e2ccf3a18747f2810e6e62fdaa18576', name: "trigger" }), h("article", { key: '3fde13e830ddcd944854bf0123610fd5c04c8396', class: "db-popover-content", "data-spacing": this.spacing, "data-gap": getBooleanAsString(this.gap, "gap"), "data-animation": getBooleanAsString((_c = this.animation) !== null && _c !== void 0 ? _c : true, "animation"), "data-open": getBooleanAsString(this.open, "open"), "data-delay": this.delay, "data-width": this.width, "data-placement": this.placement }, h("slot", { key: 'c147317adc5fdc5c2aa313396360f76fb39f59ec' }))));
219
247
  }
220
248
  static get is() { return "db-popover"; }
221
249
  static get properties() {
222
250
  return {
223
- "placement": {
224
- "type": "string",
225
- "mutable": false,
226
- "complexType": {
227
- "original": "DBPopoverProps[\"placement\"]",
228
- "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
229
- "references": {
230
- "DBPopoverProps": {
231
- "location": "import",
232
- "path": "./model.js",
233
- "id": "src/components/popover/model.ts::DBPopoverProps",
234
- "referenceLocation": "DBPopoverProps"
235
- }
236
- }
237
- },
238
- "required": false,
239
- "optional": false,
240
- "docs": {
241
- "tags": [],
242
- "text": ""
243
- },
244
- "getter": false,
245
- "setter": false,
246
- "reflect": false,
247
- "attribute": "placement"
248
- },
249
251
  "id": {
250
252
  "type": "string",
251
253
  "mutable": false,
@@ -477,6 +479,32 @@ export class DBPopover {
477
479
  "setter": false,
478
480
  "reflect": false,
479
481
  "attribute": "width"
482
+ },
483
+ "placement": {
484
+ "type": "string",
485
+ "mutable": false,
486
+ "complexType": {
487
+ "original": "DBPopoverProps[\"placement\"]",
488
+ "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
489
+ "references": {
490
+ "DBPopoverProps": {
491
+ "location": "import",
492
+ "path": "./model.js",
493
+ "id": "src/components/popover/model.ts::DBPopoverProps",
494
+ "referenceLocation": "DBPopoverProps"
495
+ }
496
+ }
497
+ },
498
+ "required": false,
499
+ "optional": false,
500
+ "docs": {
501
+ "tags": [],
502
+ "text": ""
503
+ },
504
+ "getter": false,
505
+ "setter": false,
506
+ "reflect": false,
507
+ "attribute": "placement"
480
508
  }
481
509
  };
482
510
  }
@@ -485,7 +513,8 @@ export class DBPopover {
485
513
  "initialized": {},
486
514
  "isExpanded": {},
487
515
  "_documentScrollListenerCallbackId": {},
488
- "_observer": {},
516
+ "_intersectionObserverCallbackId": {},
517
+ "_resizeObserverCallbackId": {},
489
518
  "observer": {}
490
519
  };
491
520
  }
@@ -166,9 +166,9 @@ export class DBRadio {
166
166
  (_b = this.observer) === null || _b === void 0 ? void 0 : _b.disconnect();
167
167
  }
168
168
  render() {
169
- return (h("label", { key: '130a6743dc68574baad658d474299d9808f7505f', 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: 'ebd2443b32fb32cf21735ea00607ee32f3da01d2', type: "radio", "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, ref: (el) => {
169
+ return (h("label", { key: 'fedde19abfa095e6215c68bdfc2602ae1b53c811', 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: '75e0f430e4f2a268d48f856c382d17a25506e7d0', type: "radio", "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, ref: (el) => {
170
170
  this._ref = el;
171
- }, 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 : null, h("slot", { key: '2f4ccd96173b5780348cdddf914aa6ba424314bb' })));
171
+ }, 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 : null, h("slot", { key: '51a2938014418d325d73f60c5d6b30461c2832a8' })));
172
172
  }
173
173
  static get is() { return "db-radio"; }
174
174
  static get properties() {
@@ -85,9 +85,9 @@ export class DBSection {
85
85
  }
86
86
  render() {
87
87
  var _a, _b;
88
- return (h("section", { key: '1dc0a8e37a04cd3a4caba5a50b94ea876e80d462', class: cls("db-section", this.className), ref: (el) => {
88
+ return (h("section", { key: '818b03641b56d6ee3324de6840216c36ad88cb5f', class: cls("db-section", this.className), ref: (el) => {
89
89
  this._ref = el;
90
- }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-spacing": this.spacing || "medium", "data-width": this.width }, h("slot", { key: '74e62afdc9b8922d1cbd57e801fff67969831ac9' })));
90
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-spacing": this.spacing || "medium", "data-width": this.width }, h("slot", { key: '60006ff0140b76c482ed93b65f0f56ae0eb54e07' })));
91
91
  }
92
92
  static get is() { return "db-section"; }
93
93
  static get properties() {