@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,6 +1,29 @@
1
- import { u as uuid } from './index-fumiz06Y.js';
1
+ import { u as uuid } from './index-DB8jc8lh.js';
2
2
 
3
- class DocumentScrollListener {
3
+ /**
4
+ * Generic base class for singleton document event listeners.
5
+ * Manages a shared set of callbacks dispatched when a document-level
6
+ * event fires.
7
+ *
8
+ * Subclasses own their static state (callbacks, instance) and expose
9
+ * it via the abstract accessor methods below.
10
+ *
11
+ * @template TEvent - The event type passed to callbacks (Event, MouseEvent, etc.)
12
+ */
13
+ class AbstractDocumentListener {
14
+ addCallback(callback) {
15
+ const id = uuid();
16
+ const callbacks = this.getCallbacks();
17
+ callbacks[id] = callback;
18
+ return id;
19
+ }
20
+ removeCallback(id) {
21
+ const callbacks = this.getCallbacks();
22
+ delete callbacks[id];
23
+ }
24
+ }
25
+
26
+ class DocumentScrollListener extends AbstractDocumentListener {
4
27
  static runCallbacks(event) {
5
28
  for (const callback of Object.values(DocumentScrollListener.callbacks)) {
6
29
  if (typeof callback === 'function') {
@@ -9,6 +32,7 @@ class DocumentScrollListener {
9
32
  }
10
33
  }
11
34
  constructor() {
35
+ super();
12
36
  this.ticking = false;
13
37
  if (DocumentScrollListener._instance) {
14
38
  return DocumentScrollListener._instance;
@@ -26,16 +50,11 @@ class DocumentScrollListener {
26
50
  }, true);
27
51
  }
28
52
  }
29
- addCallback(callback) {
30
- const callbackID = uuid();
31
- DocumentScrollListener.callbacks[callbackID] = callback;
32
- return callbackID;
33
- }
34
- removeCallback(id) {
35
- delete DocumentScrollListener.callbacks[id];
53
+ getCallbacks() {
54
+ return DocumentScrollListener.callbacks;
36
55
  }
37
56
  }
38
57
  DocumentScrollListener.callbacks = {};
39
58
  DocumentScrollListener._instance = null;
40
59
 
41
- export { DocumentScrollListener as D };
60
+ export { AbstractDocumentListener as A, DocumentScrollListener as D };
@@ -1,64 +1,4 @@
1
1
  // TODO: We should reevaluate this as soon as CSS Anchor Positioning is supported in all relevant browsers
2
- const isInView = (el) => {
3
- var _a;
4
- const { top, bottom, left, right } = el.getBoundingClientRect();
5
- const { innerHeight, innerWidth } = window;
6
- let outTop = top < 0;
7
- let outBottom = bottom > innerHeight;
8
- let outLeft = left < 0;
9
- let outRight = right > innerWidth;
10
- // We need to check if it was already outside
11
- const outsideY = el.dataset['outsideVy'];
12
- const outsideX = el.dataset['outsideVx'];
13
- const parentRect = (_a = el === null || el === void 0 ? void 0 : el.parentElement) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
14
- if (parentRect) {
15
- if (outsideY) {
16
- const position = el.dataset['outsideVy'];
17
- if (position === 'top') {
18
- outTop = parentRect.top - (bottom - parentRect.bottom) < 0;
19
- }
20
- else {
21
- outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;
22
- }
23
- }
24
- if (outsideX) {
25
- const position = el.dataset['outsideVx'];
26
- if (position === 'left') {
27
- outLeft = parentRect.left - (right - parentRect.right) < 0;
28
- }
29
- else {
30
- outRight = parentRect.right + (parentRect.left - left) > innerWidth;
31
- }
32
- }
33
- }
34
- return {
35
- outTop,
36
- outBottom,
37
- outLeft,
38
- outRight
39
- };
40
- };
41
- const handleDataOutside = (el) => {
42
- const { outTop, outBottom, outLeft, outRight } = isInView(el);
43
- let dataOutsidePair = {};
44
- if (outTop || outBottom) {
45
- dataOutsidePair = {
46
- vy: outTop ? 'top' : 'bottom'
47
- };
48
- el.dataset['outsideVy'] = dataOutsidePair.vy;
49
- }
50
- else {
51
- delete el.dataset['outsideVy'];
52
- }
53
- if (outLeft || outRight) {
54
- dataOutsidePair = Object.assign(Object.assign({}, dataOutsidePair), { vx: outRight ? 'right' : 'left' });
55
- el.dataset['outsideVx'] = dataOutsidePair.vx;
56
- }
57
- else {
58
- delete el.dataset['outsideVx'];
59
- }
60
- return dataOutsidePair;
61
- };
62
2
  const handleFixedDropdown = (element, parent, placement) => {
63
3
  if (!element || !parent)
64
4
  return;
@@ -74,9 +14,11 @@ const handleFixedDropdown = (element, parent, placement) => {
74
14
  // mobile max-inline-size guard and overflows the viewport.
75
15
  element.style.inlineSize = '';
76
16
  element.style.minInlineSize = '';
77
- // We skip the rest if we are in mobile, it's already fixed via CSS.
78
- if (getComputedStyle(element).zIndex === '9999')
17
+ // We skip this if we are in mobile it's already fixed or if we don't have a floating dropdown
18
+ const computedStyle = getComputedStyle(element);
19
+ if (computedStyle.zIndex === '9999' || computedStyle.position !== 'fixed' && computedStyle.position !== 'absolute') {
79
20
  return;
21
+ }
80
22
  const { top, bottom, childHeight, childWidth, width, right, left, correctedPlacement, innerWidth } = getFloatingProps(element, parent, placement);
81
23
  // For auto width the dropdown is forced to be at least as wide as the trigger,
82
24
  // but clamped to its own max-inline-size: CSS lets a min-inline-size override
@@ -151,27 +93,29 @@ const getFloatingProps = (element, parent, placement) => {
151
93
  let childHeight = childRect.height;
152
94
  let childWidth = childRect.width;
153
95
  if (placement === 'bottom' || placement === 'top') {
154
- childWidth = childWidth / 2;
96
+ childWidth = width > childWidth ? 0 : childWidth / 2;
155
97
  }
156
98
  if (placement === 'left' || placement === 'right') {
157
- childHeight = childHeight / 2;
99
+ childHeight = height > childHeight ? 0 : childHeight / 2;
158
100
  }
159
- const outsideBottom = bottom + childHeight > innerHeight;
160
- const outsideTop = top - childHeight < 0;
161
- const outsideLeft = left - childWidth < 0;
162
- const outsideRight = right + childWidth > innerWidth;
101
+ const outsideBottom = Math.floor(bottom + childHeight) > innerHeight;
102
+ const outsideTop = Math.ceil(top - childHeight) < 0;
103
+ const outsideLeft = Math.ceil(left - childWidth) < 0;
104
+ const outsideRight = Math.floor(right + childWidth) > innerWidth;
163
105
  let correctedPlacement = placement;
164
106
  if (placement.startsWith('bottom')) {
165
107
  if (outsideBottom) {
166
- correctedPlacement = placement === null || placement === void 0 ? void 0 : placement.replace('bottom', 'top');
167
- if (outsideLeft && outsideRight) {
168
- correctedPlacement = 'top';
169
- }
170
- else if (outsideLeft) {
171
- correctedPlacement = 'top-start';
172
- }
173
- else if (outsideRight) {
174
- correctedPlacement = 'top-end';
108
+ if (!outsideTop) {
109
+ correctedPlacement = placement === null || placement === void 0 ? void 0 : placement.replace('bottom', 'top');
110
+ if (outsideLeft && outsideRight) {
111
+ correctedPlacement = 'top';
112
+ }
113
+ else if (outsideLeft) {
114
+ correctedPlacement = 'top-start';
115
+ }
116
+ else if (outsideRight) {
117
+ correctedPlacement = 'top-end';
118
+ }
175
119
  }
176
120
  }
177
121
  else {
@@ -188,15 +132,17 @@ const getFloatingProps = (element, parent, placement) => {
188
132
  }
189
133
  else if (placement.startsWith('top')) {
190
134
  if (outsideTop) {
191
- correctedPlacement = placement === null || placement === void 0 ? void 0 : placement.replace('top', 'bottom');
192
- if (outsideLeft && outsideRight) {
193
- correctedPlacement = 'bottom';
194
- }
195
- else if (outsideLeft) {
196
- correctedPlacement = 'bottom-start';
197
- }
198
- else if (outsideRight) {
199
- correctedPlacement = 'bottom-end';
135
+ if (!outsideBottom) {
136
+ correctedPlacement = placement === null || placement === void 0 ? void 0 : placement.replace('top', 'bottom');
137
+ if (outsideLeft && outsideRight) {
138
+ correctedPlacement = 'bottom';
139
+ }
140
+ else if (outsideLeft) {
141
+ correctedPlacement = 'bottom-start';
142
+ }
143
+ else if (outsideRight) {
144
+ correctedPlacement = 'bottom-end';
145
+ }
200
146
  }
201
147
  }
202
148
  else {
@@ -213,15 +159,17 @@ const getFloatingProps = (element, parent, placement) => {
213
159
  }
214
160
  else if (placement.startsWith('left')) {
215
161
  if (outsideLeft) {
216
- correctedPlacement = placement === null || placement === void 0 ? void 0 : placement.replace('left', 'right');
217
- if (outsideBottom && outsideTop) {
218
- correctedPlacement = 'right';
219
- }
220
- else if (outsideBottom) {
221
- correctedPlacement = 'right-end';
222
- }
223
- else if (outsideTop) {
224
- correctedPlacement = 'right-start';
162
+ if (!outsideRight) {
163
+ correctedPlacement = placement === null || placement === void 0 ? void 0 : placement.replace('left', 'right');
164
+ if (outsideBottom && outsideTop) {
165
+ correctedPlacement = 'right';
166
+ }
167
+ else if (outsideBottom) {
168
+ correctedPlacement = 'right-end';
169
+ }
170
+ else if (outsideTop) {
171
+ correctedPlacement = 'right-start';
172
+ }
225
173
  }
226
174
  }
227
175
  else {
@@ -238,15 +186,17 @@ const getFloatingProps = (element, parent, placement) => {
238
186
  }
239
187
  else if (correctedPlacement.startsWith('right')) {
240
188
  if (outsideRight) {
241
- correctedPlacement = placement === null || placement === void 0 ? void 0 : placement.replace('right', 'left');
242
- if (outsideBottom && outsideTop) {
243
- correctedPlacement = 'left';
244
- }
245
- else if (outsideBottom) {
246
- correctedPlacement = 'left-end';
247
- }
248
- else if (outsideTop) {
249
- correctedPlacement = 'left-start';
189
+ if (!outsideLeft) {
190
+ correctedPlacement = placement === null || placement === void 0 ? void 0 : placement.replace('right', 'left');
191
+ if (outsideBottom && outsideTop) {
192
+ correctedPlacement = 'left';
193
+ }
194
+ else if (outsideBottom) {
195
+ correctedPlacement = 'left-end';
196
+ }
197
+ else if (outsideTop) {
198
+ correctedPlacement = 'left-start';
199
+ }
250
200
  }
251
201
  }
252
202
  else {
@@ -272,7 +222,8 @@ const getFloatingProps = (element, parent, placement) => {
272
222
  childWidth: childRect.width,
273
223
  correctedPlacement,
274
224
  innerWidth,
275
- innerHeight
225
+ innerHeight,
226
+ outsideYBoth: outsideTop && outsideBottom
276
227
  };
277
228
  };
278
229
  const MAX_ANCESTOR_DEPTH = 10;
@@ -295,15 +246,24 @@ const getAncestorHasCorrectedPlacement = (element) => {
295
246
  return null;
296
247
  };
297
248
  const handleFixedPopover = (element, parent, placement) => {
298
- var _a, _b;
249
+ var _a, _b, _c;
299
250
  if (!element || !parent)
300
251
  return;
301
252
  const parentComputedStyles = getComputedStyle(parent);
302
253
  const parentHasFloatingPosition = ['absolute', 'fixed'].includes(parentComputedStyles.position);
303
254
  const ancestorWithCorrectedPlacement = getAncestorHasCorrectedPlacement(element);
304
255
  const noFloatingAncestor = !ancestorWithCorrectedPlacement && !parentHasFloatingPosition;
305
- const distance = (_b = (_a = getComputedStyle(element)) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--db-popover-distance')) !== null && _b !== void 0 ? _b : '0px';
306
- let { top, height, width, childHeight, childWidth, right, left, bottom, correctedPlacement, innerWidth, innerHeight } = getFloatingProps(element, parent, placement);
256
+ const computedStyle = getComputedStyle(element);
257
+ // We skip if we don't have a floating popover
258
+ if (computedStyle.position !== 'fixed' && computedStyle.position !== 'absolute') {
259
+ return;
260
+ }
261
+ let distance = computedStyle.getPropertyValue('--db-popover-distance');
262
+ if (!distance.length) {
263
+ distance = '0px';
264
+ }
265
+ const elementPlacement = (_c = (_b = (_a = element === null || element === void 0 ? void 0 : element.dataset) === null || _a === void 0 ? void 0 : _a['placement']) !== null && _b !== void 0 ? _b : placement) !== null && _c !== void 0 ? _c : 'bottom';
266
+ let { top, height, width, childHeight, childWidth, right, left, bottom, correctedPlacement, innerWidth, innerHeight, outsideYBoth } = getFloatingProps(element, parent, elementPlacement);
307
267
  if (ancestorWithCorrectedPlacement) {
308
268
  const ancestorRect = ancestorWithCorrectedPlacement.getBoundingClientRect();
309
269
  left = Math.abs(left - ancestorRect.left);
@@ -399,8 +359,81 @@ const handleFixedPopover = (element, parent, placement) => {
399
359
  element.style.insetBlockStart = `calc(${parentHasFloatingPosition ? end : bottom}px + ${distance})`;
400
360
  element.style.insetBlockEnd = `calc(${noFloatingAncestor && end > innerHeight ? innerHeight : end}px + ${distance})`;
401
361
  }
362
+ // In this case we are outside of top and bottom so we need to scroll
363
+ // We use the full height in this case
364
+ if (outsideYBoth) {
365
+ element.style.overflow = 'hidden auto';
366
+ element.style.insetBlock = distance;
367
+ element.style.maxBlockSize = `calc(${innerHeight}px - 2 * ${distance})`;
368
+ }
369
+ else {
370
+ element.style.overflow = '';
371
+ element.style.maxBlockSize = '';
372
+ }
402
373
  element.style.position = 'fixed';
403
374
  element.dataset['correctedPlacement'] = correctedPlacement;
375
+ // Set data-outside-vy / data-outside-vx for CSS-based flipping
376
+ handleDataOutside(element);
377
+ };
378
+ const handleDataOutside = (el) => {
379
+ const { outTop, outBottom, outLeft, outRight } = isInView(el);
380
+ let dataOutsidePair = {};
381
+ if (outTop || outBottom) {
382
+ dataOutsidePair = {
383
+ vy: outTop ? 'top' : 'bottom'
384
+ };
385
+ el.dataset['outsideVy'] = dataOutsidePair.vy;
386
+ }
387
+ else {
388
+ delete el.dataset['outsideVy'];
389
+ }
390
+ if (outLeft || outRight) {
391
+ dataOutsidePair = Object.assign(Object.assign({}, dataOutsidePair), { vx: outRight ? 'right' : 'left' });
392
+ el.dataset['outsideVx'] = dataOutsidePair.vx;
393
+ }
394
+ else {
395
+ delete el.dataset['outsideVx'];
396
+ }
397
+ return dataOutsidePair;
398
+ };
399
+ const isInView = (el) => {
400
+ var _a;
401
+ const { top, bottom, left, right } = el.getBoundingClientRect();
402
+ const { innerHeight, innerWidth } = window;
403
+ let outTop = top < 0;
404
+ let outBottom = bottom > innerHeight;
405
+ let outLeft = left < 0;
406
+ let outRight = right > innerWidth;
407
+ // We need to check if it was already outside
408
+ const outsideY = el.dataset['outsideVy'];
409
+ const outsideX = el.dataset['outsideVx'];
410
+ const parentRect = (_a = el === null || el === void 0 ? void 0 : el.parentElement) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
411
+ if (parentRect) {
412
+ if (outsideY) {
413
+ const position = el.dataset['outsideVy'];
414
+ if (position === 'top') {
415
+ outTop = parentRect.top - (bottom - parentRect.bottom) < 0;
416
+ }
417
+ else {
418
+ outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;
419
+ }
420
+ }
421
+ if (outsideX) {
422
+ const position = el.dataset['outsideVx'];
423
+ if (position === 'left') {
424
+ outLeft = parentRect.left - (right - parentRect.right) < 0;
425
+ }
426
+ else {
427
+ outRight = parentRect.right + (parentRect.left - left) > innerWidth;
428
+ }
429
+ }
430
+ }
431
+ return {
432
+ outTop,
433
+ outBottom,
434
+ outLeft,
435
+ outRight
436
+ };
404
437
  };
405
438
 
406
- export { handleFixedDropdown as a, handleFixedPopover as b, getFloatingProps as g, handleDataOutside as h };
439
+ export { handleFixedPopover as a, handleDataOutside as b, getFloatingProps as g, handleFixedDropdown as h };
@@ -1,4 +1,4 @@
1
- import { d as delay } from './index-fumiz06Y.js';
1
+ import { d as delay } from './index-DB8jc8lh.js';
2
2
 
3
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
4
  const addResetEventListener = (element, resetFunction, signal) => {
@@ -60,6 +60,16 @@ const isIOSSafari = () => {
60
60
  return isIOS && isSafari;
61
61
  };
62
62
  const delay = (fn, ms) => new Promise(() => setTimeout(fn, ms));
63
+ /**
64
+ * Checks whether a CSS custom property on an element equals '1'.
65
+ * Useful for detecting CSS-driven boolean state (e.g. responsive breakpoints)
66
+ * without coupling JS to hardcoded breakpoint values.
67
+ *
68
+ * @param element - The element to read computed styles from
69
+ * @param property - The CSS custom property name (e.g. '--db-my-flag')
70
+ * @returns `true` if the trimmed property value is '1'
71
+ */
72
+ const hasCssFlag = (element, property) => typeof window !== 'undefined' && getComputedStyle(element).getPropertyValue(property).trim() === '1';
63
73
  /**
64
74
  * Converts boolean-like inputs to "true" or "false" strings.
65
75
  * Handles HTML-style boolean attributes where an empty string or the
@@ -139,9 +149,37 @@ const stringPropVisible = (givenString, showString) => {
139
149
  return toBool(showString) && Boolean(givenString);
140
150
  };
141
151
  const getSearchInput = (element) => element.querySelector(`input[type="search"]`);
152
+ // WeakMap to store generated keys for option objects without mutating them.
153
+ // Used only as a last resort for options that have neither id, value, nor label.
154
+ const optionKeyMap = new WeakMap();
142
155
  const getOptionKey = (option, prefix) => {
143
- var _a, _b;
144
- const key = (_b = (_a = option.id) !== null && _a !== void 0 ? _a : option.value) !== null && _b !== void 0 ? _b : uuid();
156
+ var _a;
157
+ // 1. Consumer-provided id stable and unique (best case).
158
+ if (option.id) {
159
+ return `${prefix}${option.id}`;
160
+ }
161
+ // 2. Data-based key from value and/or label — stable across object
162
+ // recreations (e.g. inline options={[...]} on every render).
163
+ // Combining both fields maximizes uniqueness: two options may share
164
+ // a value but users couldn't distinguish identical labels, so in
165
+ // practice the combination is unique.
166
+ // We prefix each segment with its length to avoid ambiguous
167
+ // concatenations (e.g. 'a-b'+'c' vs 'a'+'b-c').
168
+ const value = option.value !== undefined && option.value !== '' ? String(option.value) : '';
169
+ const label = (_a = option.label) !== null && _a !== void 0 ? _a : '';
170
+ if (value || label) {
171
+ return `${prefix}${value.length}:${value}.${label}`;
172
+ }
173
+ // 3. Last resort for truly anonymous options (no id, no value, no label).
174
+ // WeakMap ties a generated uuid to the object reference so the key
175
+ // persists as long as the same object is reused. If the consumer
176
+ // recreates these objects every render, keys will be unstable — but
177
+ // that's an unsolvable edge case without any data to anchor to.
178
+ let key = optionKeyMap.get(option);
179
+ if (!key) {
180
+ key = uuid();
181
+ optionKeyMap.set(option, key);
182
+ }
145
183
  return `${prefix}${key}`;
146
184
  };
147
185
  const isKeyboardEvent = (event) => event.key !== undefined;
@@ -171,4 +209,4 @@ const getNotificationRole = ({ semantic, role, ariaLive }) => {
171
209
  }
172
210
  };
173
211
 
174
- export { addAttributeToChildren as a, isIOSSafari as b, cls as c, delay as d, getBoolean as e, getNumber as f, getBooleanAsString as g, hasVoiceOver as h, isArrayOfStrings as i, getStep as j, getInputValue as k, getHideProp as l, getSearchInput as m, getOptionKey as n, isKeyboardEvent as o, getNotificationRole as p, stringPropVisible as s, uuid as u };
212
+ export { addAttributeToChildren as a, isIOSSafari as b, cls as c, delay as d, hasCssFlag as e, getBoolean as f, getBooleanAsString as g, hasVoiceOver as h, isArrayOfStrings as i, getNumber as j, getStep as k, getInputValue as l, getHideProp as m, getSearchInput as n, getOptionKey as o, isKeyboardEvent as p, getNotificationRole as q, stringPropVisible as s, uuid as u };
package/dist/esm/index.js CHANGED
@@ -1,12 +1,13 @@
1
- export { a as addAttributeToChildren, c as cls, d as delay, e as getBoolean, g as getBooleanAsString, l as getHideProp, k as getInputValue, p as getNotificationRole, f as getNumber, n as getOptionKey, m as getSearchInput, j as getStep, h as hasVoiceOver, i as isArrayOfStrings, b as isIOSSafari, o as isKeyboardEvent, s as stringPropVisible, u as uuid } from './index-fumiz06Y.js';
2
- export { x as COLOR, y as COLORS, z as COLORS_SIMPLE, C as COLOR_CONST, w as COLOR_SIMPLE, F as DB_UX_LOCAL_STORAGE_FRAMEWORK, G as DB_UX_LOCAL_STORAGE_MODE, n as DEFAULT_BACK, p as DEFAULT_BURGER_MENU, s as DEFAULT_CLOSE_BUTTON, j as DEFAULT_DATALIST_ID_SUFFIX, q as DEFAULT_ICON, D as DEFAULT_ID, l as DEFAULT_INVALID_MESSAGE, h as DEFAULT_INVALID_MESSAGE_ID_SUFFIX, a as DEFAULT_LABEL, d as DEFAULT_LABEL_ID_SUFFIX, c as DEFAULT_MESSAGE, f as DEFAULT_MESSAGE_ID_SUFFIX, b as DEFAULT_PLACEHOLDER, i as DEFAULT_PLACEHOLDER_ID_SUFFIX, m as DEFAULT_REMOVE, r as DEFAULT_ROWS, o as DEFAULT_SELECTED, e as DEFAULT_SELECT_ID_SUFFIX, k as DEFAULT_VALID_MESSAGE, g as DEFAULT_VALID_MESSAGE_ID_SUFFIX, B as DEFAULT_VIEWPORT, v as DENSITIES, u as DENSITY, t as DENSITY_CONST, E as DESKTOP_VIEWPORT, S as SEMANTIC, A as SEMANTICS, T as TESTING_VIEWPORTS } from './constants-BdL-nI5y.js';
3
- export { D as DocumentClickListener } from './document-click-listener-9wJfRcvz.js';
4
- export { D as DocumentScrollListener } from './document-scroll-listener-4F0ZAg9p.js';
5
- export { g as getFloatingProps, h as handleDataOutside, a as handleFixedDropdown, b as handleFixedPopover } from './floating-components-C0q9XJSc.js';
6
- export { N as NavigationItemSafeTriangle, i as isEventTargetNavigationItem } from './navigation-Cd7KZ6E2.js';
1
+ export { a as addAttributeToChildren, c as cls, d as delay, f as getBoolean, g as getBooleanAsString, m as getHideProp, l as getInputValue, q as getNotificationRole, j as getNumber, o as getOptionKey, n as getSearchInput, k as getStep, e as hasCssFlag, h as hasVoiceOver, i as isArrayOfStrings, b as isIOSSafari, p as isKeyboardEvent, s as stringPropVisible, u as uuid } from './index-DB8jc8lh.js';
2
+ export { A as COLOR, B as COLORS, E as COLORS_SIMPLE, C as COLOR_CONST, z as COLOR_SIMPLE, I as DB_UX_LOCAL_STORAGE_FRAMEWORK, J as DB_UX_LOCAL_STORAGE_MODE, n as DEFAULT_BACK, t as DEFAULT_BURGER_MENU, v as DEFAULT_CLOSE_BUTTON, q as DEFAULT_COLLAPSE, j as DEFAULT_DATALIST_ID_SUFFIX, p as DEFAULT_EXPAND, D as DEFAULT_ID, l as DEFAULT_INVALID_MESSAGE, h as DEFAULT_INVALID_MESSAGE_ID_SUFFIX, a as DEFAULT_LABEL, d as DEFAULT_LABEL_ID_SUFFIX, c as DEFAULT_MESSAGE, f as DEFAULT_MESSAGE_ID_SUFFIX, b as DEFAULT_PLACEHOLDER, i as DEFAULT_PLACEHOLDER_ID_SUFFIX, m as DEFAULT_REMOVE, u as DEFAULT_ROWS, r as DEFAULT_SCROLL_LEFT, s as DEFAULT_SCROLL_RIGHT, o as DEFAULT_SELECTED, e as DEFAULT_SELECT_ID_SUFFIX, k as DEFAULT_VALID_MESSAGE, g as DEFAULT_VALID_MESSAGE_ID_SUFFIX, G as DEFAULT_VIEWPORT, y as DENSITIES, x as DENSITY, w as DENSITY_CONST, H as DESKTOP_VIEWPORT, M as MAIN_CONTENT_ID, S as SEMANTIC, F as SEMANTICS, T as TESTING_VIEWPORTS } from './constants-COv1iCFP.js';
3
+ import './resize-observer-listener-z8XjzxC9.js';
4
+ export { N as NavigationItemSafeTriangle, h as handleSubNavigationPosition, i as isEventTargetNavigationItem } from './navigation-Cc_Ln-dl.js';
5
+ export { g as getFloatingProps, b as handleDataOutside, h as handleFixedDropdown, a as handleFixedPopover } from './floating-components-BT3wZY6f.js';
6
+ import './intersection-observer-listener-DQ4WWSLe.js';
7
+ export { D as DocumentClickListener } from './document-click-listener-BEYsNvC5.js';
8
+ export { D as DocumentScrollListener } from './document-scroll-listener-B8lkAL-m.js';
7
9
 
8
10
  const AccordionVariantList = ['divider', 'card'];
9
- const AccordionBehaviorList = ['multiple', 'single'];
10
11
 
11
12
  const BadgePlacementList = ['inline', 'corner-top-left', 'corner-top-right', 'corner-center-left', 'corner-center-right', 'corner-bottom-left', 'corner-bottom-right'];
12
13
 
@@ -29,6 +30,7 @@ const DrawerBackdropList = ['none', 'strong', 'weak', 'invisible'];
29
30
  const DrawerDirectionList = ['left', 'right', 'up', 'down'];
30
31
  const DrawerVariantList = ['modal', 'inside'];
31
32
  const DrawerPositionList = ['fixed', 'absolute'];
33
+ const DrawerContainerSizeList = ['small', 'medium', 'large', 'full'];
32
34
 
33
35
  const IconWeightList = ['16', '20', '24', '32', '48', '64'];
34
36
 
@@ -46,8 +48,9 @@ const NotificationVariantList = ['docked', 'standalone', 'overlay'];
46
48
  const NotificationLinkVariantList = ['block', 'inline'];
47
49
  const NotificationAriaLiveList = ['assertive', 'polite', 'off'];
48
50
 
49
- const PageVariantList = ['auto', 'fixed'];
50
- const PageDocumentOverflowList = ['hidden', 'auto'];
51
+ const ShellContentVariantList = ['auto', 'fixed'];
52
+
53
+ const ShellSubNavigationMobilePosition = ['top', 'bottom', 'none'];
51
54
 
52
55
  const StackVariantList = ['simple', 'divider'];
53
56
  const StackDirectionList = ['row', 'column'];
@@ -79,6 +82,8 @@ const TooltipVariantList = ['description', 'label'];
79
82
  const SemanticList = ['adaptive', 'neutral', 'critical', 'informational', 'warning', 'successful'];
80
83
  const SpacingList = ['medium', 'small', 'large', 'none'];
81
84
  const MarginList = ['medium', 'small', 'large', 'none'];
85
+ const ShellControlPanelDesktopPosition = ['top', 'left'];
86
+ const ShellControlPanelMobilePosition = ['top', 'bottom'];
82
87
  const PlacementHorizontalList = ['left', 'right', 'left-start', 'left-end', 'right-start', 'right-end'];
83
88
  const PlacementVerticalList = ['top', 'bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'];
84
89
  const PlacementList = [...PlacementHorizontalList, ...PlacementVerticalList];
@@ -98,5 +103,7 @@ const AutoCompleteList = ['off', 'on', 'name', 'honorific-prefix', 'given-name',
98
103
  const LinkTargetList = ['_self', '_blank', '_parent', '_top'];
99
104
  const LinkReferrerPolicyList = ['no-referrer', 'no-referrer-when-downgrade', 'origin', 'origin-when-cross-origin', 'same-origin', 'strict-origin', 'strict-origin-when-cross-origin', 'unsafe-url'];
100
105
  const AlignmentList = ['start', 'center', 'end'];
106
+ const NavigationItemGroupVariantList = ['popover', 'tree'];
107
+ const CollapsibleBehaviorList = ['single', 'multiple'];
101
108
 
102
- export { AccordionBehaviorList, AccordionVariantList, AlignmentList, AutoCompleteList, BadgePlacementList, ButtonTypeList, ButtonVariantList, CardBehaviorList, CardElevationLevelList, CustomSelectDropdownWidthList, CustomSelectListItemTypeList, DBTableColumnsSizeList, DBTableDividerList, DBTableHeaderCellScopeList, DBTableMobileVariantList, DBTableRowSizeList, DBTableRowSubHeaderEmphasisList, DBTableStickyHeaderList, DBTableVariantList, DividerMarginList, DividerVariantList, DrawerBackdropList, DrawerDirectionList, DrawerPositionList, DrawerVariantList, EmphasisList, FieldSizingList, GapSpacingList, IconWeightList, InputTypeList, LabelVariantHorizontalList, LabelVariantList, LinkContentList, LinkReferrerPolicyList, LinkSizeList, LinkTargetList, LinkVariantList, MarginList, MaxWidthList, NotificationAriaLiveList, NotificationLinkVariantList, NotificationVariantList, OrientationList, PageDocumentOverflowList, PageVariantList, PlacementHorizontalList, PlacementList, PlacementVerticalList, PopoverDelayList, PopoverWidthList, SelectedTypeList, SemanticList, SizeList, SpacingList, StackAlignmentList, StackDirectionList, StackJustifyContentList, StackVariantList, TabsBehaviorList, TabsInitialSelectedModeList, TagBehaviorList, TextareaResizeList, TextareaWrapList, TooltipVariantList, ValidationList, WidthList };
109
+ export { AccordionVariantList, AlignmentList, AutoCompleteList, BadgePlacementList, ButtonTypeList, ButtonVariantList, CardBehaviorList, CardElevationLevelList, CollapsibleBehaviorList, CustomSelectDropdownWidthList, CustomSelectListItemTypeList, DBTableColumnsSizeList, DBTableDividerList, DBTableHeaderCellScopeList, DBTableMobileVariantList, DBTableRowSizeList, DBTableRowSubHeaderEmphasisList, DBTableStickyHeaderList, DBTableVariantList, DividerMarginList, DividerVariantList, DrawerBackdropList, DrawerContainerSizeList, DrawerDirectionList, DrawerPositionList, DrawerVariantList, EmphasisList, FieldSizingList, GapSpacingList, IconWeightList, InputTypeList, LabelVariantHorizontalList, LabelVariantList, LinkContentList, LinkReferrerPolicyList, LinkSizeList, LinkTargetList, LinkVariantList, MarginList, MaxWidthList, NavigationItemGroupVariantList, NotificationAriaLiveList, NotificationLinkVariantList, NotificationVariantList, OrientationList, PlacementHorizontalList, PlacementList, PlacementVerticalList, PopoverDelayList, PopoverWidthList, SelectedTypeList, SemanticList, ShellContentVariantList, ShellControlPanelDesktopPosition, ShellControlPanelMobilePosition, ShellSubNavigationMobilePosition, SizeList, SpacingList, StackAlignmentList, StackDirectionList, StackJustifyContentList, StackVariantList, TabsBehaviorList, TabsInitialSelectedModeList, TagBehaviorList, TextareaResizeList, TextareaWrapList, TooltipVariantList, ValidationList, WidthList };
@@ -0,0 +1,39 @@
1
+ import { A as AbstractObserverListener } from './resize-observer-listener-z8XjzxC9.js';
2
+
3
+ class IntersectionObserverListener extends AbstractObserverListener {
4
+ constructor() {
5
+ super();
6
+ if (IntersectionObserverListener._instance) {
7
+ return IntersectionObserverListener._instance;
8
+ }
9
+ IntersectionObserverListener._instance = this;
10
+ if (typeof window !== 'undefined' && 'IntersectionObserver' in window) {
11
+ IntersectionObserverListener.observer = new IntersectionObserver(entries => {
12
+ for (const entry of entries) {
13
+ this.dispatchEntry(entry.target, entry);
14
+ }
15
+ });
16
+ }
17
+ }
18
+ getCallbacksByElement() {
19
+ return IntersectionObserverListener.callbacksByElement;
20
+ }
21
+ getIdToElement() {
22
+ return IntersectionObserverListener.idToElement;
23
+ }
24
+ getObserver() {
25
+ return IntersectionObserverListener.observer;
26
+ }
27
+ observeElement(observer, element) {
28
+ observer.observe(element);
29
+ }
30
+ unobserveElement(observer, element) {
31
+ observer.unobserve(element);
32
+ }
33
+ }
34
+ IntersectionObserverListener._instance = null;
35
+ IntersectionObserverListener.callbacksByElement = new Map();
36
+ IntersectionObserverListener.idToElement = new Map();
37
+ IntersectionObserverListener.observer = null;
38
+
39
+ export { IntersectionObserverListener as I };