bromcom-ui-next 0.1.28 → 0.1.30

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 (438) hide show
  1. package/dist/bromcom-ui/_commonjsHelpers-CvGrISen.js.map +1 -0
  2. package/dist/bromcom-ui/bcm-accordion.entry.esm.js.map +1 -1
  3. package/dist/bromcom-ui/bcm-alert.entry.esm.js.map +1 -1
  4. package/dist/bromcom-ui/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.esm.js.map +1 -0
  5. package/dist/bromcom-ui/bcm-checkbox.entry.esm.js.map +1 -1
  6. package/dist/bromcom-ui/bcm-chip.entry.esm.js.map +1 -0
  7. package/dist/bromcom-ui/bcm-divider.entry.esm.js.map +1 -1
  8. package/dist/bromcom-ui/bcm-dropdown.entry.esm.js.map +1 -1
  9. package/dist/bromcom-ui/bcm-input.entry.esm.js.map +1 -1
  10. package/dist/bromcom-ui/bcm-segmented-picker-option.entry.esm.js.map +1 -1
  11. package/dist/bromcom-ui/bcm-segmented-picker.entry.esm.js.map +1 -1
  12. package/dist/bromcom-ui/bcm-switch.entry.esm.js.map +1 -1
  13. package/dist/bromcom-ui/bcm-tabs.entry.esm.js.map +1 -1
  14. package/dist/bromcom-ui/bcm-text.entry.esm.js.map +1 -1
  15. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  16. package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
  17. package/dist/bromcom-ui/floating-ui.dom-ltNPqX34.js.map +1 -0
  18. package/dist/bromcom-ui/generate-id-Crb5QsB-.js.map +1 -0
  19. package/dist/bromcom-ui/index-40rmUZjU.js.map +1 -0
  20. package/dist/bromcom-ui/index-BCaJmHBB.js.map +1 -0
  21. package/dist/bromcom-ui/{p-8ace5a6a.entry.js → p-0c7c6896.entry.js} +2 -2
  22. package/dist/bromcom-ui/p-0c7c6896.entry.js.map +1 -0
  23. package/dist/bromcom-ui/p-11d0e649.entry.js +2 -0
  24. package/dist/bromcom-ui/p-11d0e649.entry.js.map +1 -0
  25. package/dist/bromcom-ui/{p-6b585adc.entry.js → p-12f38632.entry.js} +2 -2
  26. package/dist/bromcom-ui/p-12f38632.entry.js.map +1 -0
  27. package/dist/bromcom-ui/{p-5e0702d1.entry.js → p-13cbd1f5.entry.js} +2 -2
  28. package/dist/bromcom-ui/p-13cbd1f5.entry.js.map +1 -0
  29. package/dist/bromcom-ui/{p-2480e468.entry.js → p-1507908f.entry.js} +2 -2
  30. package/dist/bromcom-ui/p-1507908f.entry.js.map +1 -0
  31. package/dist/bromcom-ui/p-1ce9913f.entry.js +2 -0
  32. package/dist/bromcom-ui/p-1ce9913f.entry.js.map +1 -0
  33. package/dist/bromcom-ui/p-206d767e.entry.js +2 -0
  34. package/dist/bromcom-ui/p-206d767e.entry.js.map +1 -0
  35. package/dist/bromcom-ui/{p-ee5f877f.entry.js → p-3cf7a7f4.entry.js} +2 -2
  36. package/dist/bromcom-ui/p-3cf7a7f4.entry.js.map +1 -0
  37. package/dist/bromcom-ui/p-4505feba.entry.js +2 -0
  38. package/dist/bromcom-ui/p-4505feba.entry.js.map +1 -0
  39. package/dist/bromcom-ui/{p-089edfdc.entry.js → p-496014ca.entry.js} +2 -2
  40. package/dist/bromcom-ui/p-496014ca.entry.js.map +1 -0
  41. package/dist/bromcom-ui/{p-26d2db9e.entry.js → p-4a932cd3.entry.js} +2 -2
  42. package/dist/bromcom-ui/p-4a932cd3.entry.js.map +1 -0
  43. package/dist/bromcom-ui/p-4e554b8d.entry.js +2 -0
  44. package/dist/bromcom-ui/p-4e554b8d.entry.js.map +1 -0
  45. package/dist/bromcom-ui/{p-360bff8a.entry.js → p-57c4c4c4.entry.js} +2 -2
  46. package/dist/bromcom-ui/p-57c4c4c4.entry.js.map +1 -0
  47. package/dist/bromcom-ui/{p-211ca6e0.entry.js → p-61293ab2.entry.js} +2 -2
  48. package/dist/bromcom-ui/p-61293ab2.entry.js.map +1 -0
  49. package/dist/bromcom-ui/{p-83f64814.entry.js → p-61789456.entry.js} +2 -2
  50. package/dist/bromcom-ui/p-61789456.entry.js.map +1 -0
  51. package/dist/bromcom-ui/{p-488d6ef4.entry.js → p-65d0f188.entry.js} +2 -2
  52. package/dist/bromcom-ui/p-65d0f188.entry.js.map +1 -0
  53. package/dist/bromcom-ui/p-83f707dc.entry.js +2 -0
  54. package/dist/bromcom-ui/p-83f707dc.entry.js.map +1 -0
  55. package/dist/bromcom-ui/p-8ba02e7e.entry.js +2 -0
  56. package/dist/bromcom-ui/p-8ba02e7e.entry.js.map +1 -0
  57. package/dist/bromcom-ui/p-9e9bf32e.entry.js +2 -0
  58. package/dist/bromcom-ui/p-9e9bf32e.entry.js.map +1 -0
  59. package/dist/bromcom-ui/p-BfTCfPZ1.js.map +1 -1
  60. package/dist/bromcom-ui/p-CEcVC0yX.js.map +1 -1
  61. package/dist/bromcom-ui/p-CRwAh9Np.js +3 -0
  62. package/dist/bromcom-ui/p-CRwAh9Np.js.map +1 -0
  63. package/dist/bromcom-ui/p-IBjzkjef.js.map +1 -1
  64. package/dist/bromcom-ui/{p-a88f20e0.entry.js → p-c87a6acf.entry.js} +2 -2
  65. package/dist/bromcom-ui/p-c87a6acf.entry.js.map +1 -0
  66. package/dist/bromcom-ui/{p-c34f0a66.entry.js → p-e0e235a8.entry.js} +2 -2
  67. package/dist/bromcom-ui/p-e0e235a8.entry.js.map +1 -0
  68. package/dist/bromcom-ui/{p-0101b4f2.entry.js → p-e1ce8b55.entry.js} +2 -2
  69. package/dist/bromcom-ui/p-e1ce8b55.entry.js.map +1 -0
  70. package/dist/bromcom-ui/p-e4dddb0b.entry.js +2 -0
  71. package/dist/bromcom-ui/p-e4dddb0b.entry.js.map +1 -0
  72. package/dist/bromcom-ui/p-f9426924.entry.js +2 -0
  73. package/dist/bromcom-ui/p-f9426924.entry.js.map +1 -0
  74. package/dist/bromcom-ui/{p-c0e7f9d6.entry.js → p-faa0e62c.entry.js} +2 -2
  75. package/dist/bromcom-ui/p-faa0e62c.entry.js.map +1 -0
  76. package/dist/bromcom-ui/{p-bdaf5653.entry.js → p-fcb4399f.entry.js} +2 -2
  77. package/dist/bromcom-ui/p-fcb4399f.entry.js.map +1 -0
  78. package/dist/bromcom-ui/tv-SlGJ5EfR.js.map +1 -0
  79. package/dist/bromcom-ui/validation-messages-CUvT12BL.js.map +1 -0
  80. package/dist/cjs/bcm-accordion-group.cjs.entry.js +2 -4
  81. package/dist/cjs/bcm-accordion.cjs.entry.js +3 -5
  82. package/dist/cjs/bcm-accordion.entry.cjs.js.map +1 -1
  83. package/dist/cjs/bcm-alert.cjs.entry.js +3 -5
  84. package/dist/cjs/bcm-alert.entry.cjs.js.map +1 -1
  85. package/dist/cjs/bcm-avatar.cjs.entry.js +1 -3
  86. package/dist/cjs/bcm-badge.cjs.entry.js +3 -5
  87. package/dist/cjs/bcm-basic-badge.cjs.entry.js +3 -5
  88. package/dist/cjs/bcm-button-group.cjs.entry.js +3 -5
  89. package/dist/cjs/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.cjs.js.map +1 -0
  90. package/dist/cjs/bcm-button_7.cjs.entry.js +4131 -0
  91. package/dist/cjs/bcm-checkbox.cjs.entry.js +7 -5
  92. package/dist/cjs/bcm-checkbox.entry.cjs.js.map +1 -1
  93. package/dist/cjs/bcm-chip.cjs.entry.js +127 -0
  94. package/dist/cjs/bcm-chip.entry.cjs.js.map +1 -0
  95. package/dist/cjs/bcm-divider.cjs.entry.js +3 -5
  96. package/dist/cjs/bcm-divider.entry.cjs.js.map +1 -1
  97. package/dist/cjs/bcm-dropdown-item.cjs.entry.js +3 -5
  98. package/dist/cjs/bcm-dropdown.cjs.entry.js +3 -13
  99. package/dist/cjs/bcm-dropdown.entry.cjs.js.map +1 -1
  100. package/dist/cjs/bcm-input.cjs.entry.js +4 -6
  101. package/dist/cjs/bcm-input.entry.cjs.js.map +1 -1
  102. package/dist/cjs/bcm-radio-group.cjs.entry.js +3 -5
  103. package/dist/cjs/bcm-radio.cjs.entry.js +2 -4
  104. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +3 -5
  105. package/dist/cjs/bcm-segmented-picker-option.entry.cjs.js.map +1 -1
  106. package/dist/cjs/bcm-segmented-picker.cjs.entry.js +3 -5
  107. package/dist/cjs/bcm-segmented-picker.entry.cjs.js.map +1 -1
  108. package/dist/cjs/bcm-shortcut.cjs.entry.js +2 -4
  109. package/dist/cjs/bcm-switch.cjs.entry.js +4 -6
  110. package/dist/cjs/bcm-switch.entry.cjs.js.map +1 -1
  111. package/dist/cjs/bcm-tabs-content.cjs.entry.js +2 -4
  112. package/dist/cjs/bcm-tabs-list.cjs.entry.js +2 -4
  113. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +2 -4
  114. package/dist/cjs/bcm-tabs.cjs.entry.js +2 -4
  115. package/dist/cjs/bcm-tabs.entry.cjs.js.map +1 -1
  116. package/dist/cjs/bcm-text.cjs.entry.js +3 -5
  117. package/dist/cjs/bcm-text.entry.cjs.js.map +1 -1
  118. package/dist/cjs/bcm-textarea.cjs.entry.js +4 -6
  119. package/dist/cjs/bromcom-ui.cjs.js +3 -5
  120. package/dist/cjs/bromcom-ui.cjs.js.map +1 -1
  121. package/dist/cjs/generate-id-CG_BkTJu.js.map +1 -1
  122. package/dist/cjs/index-Bp6Dd2i1.js.map +1 -1
  123. package/dist/cjs/{index-BtiU-G2W.js → index-CmYzUr-k.js} +61 -372
  124. package/dist/cjs/index-CmYzUr-k.js.map +1 -0
  125. package/dist/cjs/index.cjs.js +0 -2
  126. package/dist/cjs/loader.cjs.js +2 -4
  127. package/dist/cjs/tv-ngpIbGlG.js.map +1 -1
  128. package/dist/collection/collection-manifest.json +5 -5
  129. package/dist/collection/components/accordion/accordion.component.js +8 -8
  130. package/dist/collection/components/accordion/accordion.component.js.map +1 -1
  131. package/dist/collection/components/accordion-group/accordion-group.component.js +3 -3
  132. package/dist/collection/components/accordion-group/types.js.map +1 -1
  133. package/dist/collection/components/alert/alert.component.js +6 -6
  134. package/dist/collection/components/alert/alert.css +1 -1
  135. package/dist/collection/components/avatar/avatar.component.js +14 -14
  136. package/dist/collection/components/badge/badge.component.js +15 -15
  137. package/dist/collection/components/basic-badge/basic-badge.component.js +9 -9
  138. package/dist/collection/components/button/button.component.js +32 -32
  139. package/dist/collection/components/button/button.css +1 -1
  140. package/dist/collection/components/button-group/button-group.component.js +15 -15
  141. package/dist/collection/components/checkbox/checkbox.component.js +36 -12
  142. package/dist/collection/components/checkbox/checkbox.component.js.map +1 -1
  143. package/dist/collection/components/checkbox/checkbox.css +1 -1
  144. package/dist/collection/components/chip/chip.component.js +8 -8
  145. package/dist/collection/components/divider/divider.component.js +4 -4
  146. package/dist/collection/components/divider/divider.css +1 -1
  147. package/dist/collection/components/drawer/drawer.component.js +429 -132
  148. package/dist/collection/components/drawer/drawer.component.js.map +1 -1
  149. package/dist/collection/components/drawer/drawer.css +1 -1
  150. package/dist/collection/components/drawer/types.js.map +1 -1
  151. package/dist/collection/components/dropdown/dropdown.component.js +3 -12
  152. package/dist/collection/components/dropdown/dropdown.component.js.map +1 -1
  153. package/dist/collection/components/dropdown/dropdown.css +1 -1
  154. package/dist/collection/components/dropdown-item/dropdown-item.component.js +9 -10
  155. package/dist/collection/components/dropdown-item/dropdown-item.component.js.map +1 -1
  156. package/dist/collection/components/input/input.component.js +44 -45
  157. package/dist/collection/components/input/input.component.js.map +1 -1
  158. package/dist/collection/components/input/input.css +1 -1
  159. package/dist/collection/components/linked/linked.component.js +507 -333
  160. package/dist/collection/components/linked/linked.component.js.map +1 -1
  161. package/dist/collection/components/linked/linked.css +1 -1
  162. package/dist/collection/components/modal/modal.component.js +137 -34
  163. package/dist/collection/components/modal/modal.component.js.map +1 -1
  164. package/dist/collection/components/modal/modal.css +1 -1
  165. package/dist/collection/components/pop-confirm/pop-confirm.component.js +668 -294
  166. package/dist/collection/components/pop-confirm/pop-confirm.component.js.map +1 -1
  167. package/dist/collection/components/pop-confirm/pop-confirm.css +1 -1
  168. package/dist/collection/components/popover/popover.component.js +533 -148
  169. package/dist/collection/components/popover/popover.component.js.map +1 -1
  170. package/dist/collection/components/popover/popover.css +1 -1
  171. package/dist/collection/components/radio/radio.component.js +13 -13
  172. package/dist/collection/components/radio-group/radio-group.component.js +15 -15
  173. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +10 -10
  174. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js.map +1 -1
  175. package/dist/collection/components/segmented-picker/segmented-picker.component.js +7 -7
  176. package/dist/collection/components/segmented-picker/segmented-picker.component.js.map +1 -1
  177. package/dist/collection/components/shortcut/shortcut.js +4 -4
  178. package/dist/collection/components/switch/switch.component.js +17 -17
  179. package/dist/collection/components/switch/switch.css +1 -1
  180. package/dist/collection/components/tabs/tabs-content.component.js +3 -3
  181. package/dist/collection/components/tabs/tabs-list.component.js +3 -3
  182. package/dist/collection/components/tabs/tabs-trigger.component.js +8 -8
  183. package/dist/collection/components/tabs/tabs.component.js +6 -6
  184. package/dist/collection/components/tabs/tabs.component.js.map +1 -1
  185. package/dist/collection/components/text/text.component.js +6 -6
  186. package/dist/collection/components/text/text.css +1 -1
  187. package/dist/collection/components/textarea/textarea.component.js +39 -40
  188. package/dist/collection/components/textarea/textarea.component.js.map +1 -1
  189. package/dist/collection/components/tooltip/tooltip.component.js +567 -192
  190. package/dist/collection/components/tooltip/tooltip.component.js.map +1 -1
  191. package/dist/collection/components/tooltip/tooltip.css +1 -1
  192. package/dist/components/bcm-accordion-group.js +5 -3
  193. package/dist/components/bcm-accordion-group.js.map +1 -1
  194. package/dist/components/bcm-accordion.js +6 -4
  195. package/dist/components/bcm-accordion.js.map +1 -1
  196. package/dist/components/bcm-alert.js +6 -4
  197. package/dist/components/bcm-alert.js.map +1 -1
  198. package/dist/components/bcm-avatar.js +5 -3
  199. package/dist/components/bcm-avatar.js.map +1 -1
  200. package/dist/components/bcm-badge.js +1 -1
  201. package/dist/components/bcm-basic-badge.js +6 -4
  202. package/dist/components/bcm-basic-badge.js.map +1 -1
  203. package/dist/components/bcm-button-group.js +6 -4
  204. package/dist/components/bcm-button-group.js.map +1 -1
  205. package/dist/components/bcm-button.js +1 -1
  206. package/dist/components/bcm-checkbox.js +11 -4
  207. package/dist/components/bcm-checkbox.js.map +1 -1
  208. package/dist/components/bcm-chip.js +5 -3
  209. package/dist/components/bcm-chip.js.map +1 -1
  210. package/dist/components/bcm-divider.js +6 -4
  211. package/dist/components/bcm-divider.js.map +1 -1
  212. package/dist/components/bcm-drawer.js +228 -115
  213. package/dist/components/bcm-drawer.js.map +1 -1
  214. package/dist/components/bcm-dropdown-item.js +7 -5
  215. package/dist/components/bcm-dropdown-item.js.map +1 -1
  216. package/dist/components/bcm-dropdown.js +8 -15
  217. package/dist/components/bcm-dropdown.js.map +1 -1
  218. package/dist/components/bcm-input.js +7 -5
  219. package/dist/components/bcm-input.js.map +1 -1
  220. package/dist/components/bcm-linked.js +1 -1
  221. package/dist/components/bcm-modal.js +56 -4
  222. package/dist/components/bcm-modal.js.map +1 -1
  223. package/dist/components/bcm-pop-confirm.js +278 -171
  224. package/dist/components/bcm-pop-confirm.js.map +1 -1
  225. package/dist/components/bcm-popover.js +355 -110
  226. package/dist/components/bcm-popover.js.map +1 -1
  227. package/dist/components/bcm-radio-group.js +6 -4
  228. package/dist/components/bcm-radio-group.js.map +1 -1
  229. package/dist/components/bcm-radio.js +5 -3
  230. package/dist/components/bcm-radio.js.map +1 -1
  231. package/dist/components/bcm-segmented-picker-option.js +6 -4
  232. package/dist/components/bcm-segmented-picker-option.js.map +1 -1
  233. package/dist/components/bcm-segmented-picker.js +6 -4
  234. package/dist/components/bcm-segmented-picker.js.map +1 -1
  235. package/dist/components/bcm-shortcut.js +5 -3
  236. package/dist/components/bcm-shortcut.js.map +1 -1
  237. package/dist/components/bcm-switch.js +7 -5
  238. package/dist/components/bcm-switch.js.map +1 -1
  239. package/dist/components/bcm-tabs-content.js +5 -3
  240. package/dist/components/bcm-tabs-content.js.map +1 -1
  241. package/dist/components/bcm-tabs-list.js +5 -3
  242. package/dist/components/bcm-tabs-list.js.map +1 -1
  243. package/dist/components/bcm-tabs-trigger.js +5 -3
  244. package/dist/components/bcm-tabs-trigger.js.map +1 -1
  245. package/dist/components/bcm-tabs.js +5 -3
  246. package/dist/components/bcm-tabs.js.map +1 -1
  247. package/dist/components/bcm-text.js +6 -4
  248. package/dist/components/bcm-text.js.map +1 -1
  249. package/dist/components/bcm-textarea.js +7 -5
  250. package/dist/components/bcm-textarea.js.map +1 -1
  251. package/dist/components/bcm-tooltip.js +364 -127
  252. package/dist/components/bcm-tooltip.js.map +1 -1
  253. package/dist/components/index.js +41 -366
  254. package/dist/components/index.js.map +1 -1
  255. package/dist/components/p-6VLsKZvR.js +469 -0
  256. package/dist/components/p-6VLsKZvR.js.map +1 -0
  257. package/dist/components/p-BfTCfPZ1.js.map +1 -1
  258. package/dist/components/p-CEcVC0yX.js.map +1 -1
  259. package/dist/components/{p-CQF7wlXf.js → p-CaemikSK.js} +8 -6
  260. package/dist/components/p-CaemikSK.js.map +1 -0
  261. package/dist/components/{p-DGlecSBr.js → p-CsIBm0J5.js} +9 -7
  262. package/dist/components/p-CsIBm0J5.js.map +1 -0
  263. package/dist/components/{p-CzcTU1ty.js → p-DBDSgIvP.js} +40 -23
  264. package/dist/components/p-DBDSgIvP.js.map +1 -0
  265. package/dist/components/p-IBjzkjef.js.map +1 -1
  266. package/dist/esm/bcm-accordion-group.entry.js +2 -4
  267. package/dist/esm/bcm-accordion.entry.js +3 -5
  268. package/dist/esm/bcm-accordion.entry.js.map +1 -1
  269. package/dist/esm/bcm-alert.entry.js +3 -5
  270. package/dist/esm/bcm-alert.entry.js.map +1 -1
  271. package/dist/esm/bcm-avatar.entry.js +1 -3
  272. package/dist/esm/bcm-badge.entry.js +3 -5
  273. package/dist/esm/bcm-basic-badge.entry.js +3 -5
  274. package/dist/esm/bcm-button-group.entry.js +3 -5
  275. package/dist/esm/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.js.map +1 -0
  276. package/dist/esm/bcm-button_7.entry.js +4123 -0
  277. package/dist/esm/bcm-checkbox.entry.js +7 -5
  278. package/dist/esm/bcm-checkbox.entry.js.map +1 -1
  279. package/dist/esm/bcm-chip.entry.js +125 -0
  280. package/dist/esm/bcm-chip.entry.js.map +1 -0
  281. package/dist/esm/bcm-divider.entry.js +3 -5
  282. package/dist/esm/bcm-divider.entry.js.map +1 -1
  283. package/dist/esm/bcm-dropdown-item.entry.js +3 -5
  284. package/dist/esm/bcm-dropdown.entry.js +3 -13
  285. package/dist/esm/bcm-dropdown.entry.js.map +1 -1
  286. package/dist/esm/bcm-input.entry.js +4 -6
  287. package/dist/esm/bcm-input.entry.js.map +1 -1
  288. package/dist/esm/bcm-radio-group.entry.js +3 -5
  289. package/dist/esm/bcm-radio.entry.js +2 -4
  290. package/dist/esm/bcm-segmented-picker-option.entry.js +3 -5
  291. package/dist/esm/bcm-segmented-picker-option.entry.js.map +1 -1
  292. package/dist/esm/bcm-segmented-picker.entry.js +3 -5
  293. package/dist/esm/bcm-segmented-picker.entry.js.map +1 -1
  294. package/dist/esm/bcm-shortcut.entry.js +2 -4
  295. package/dist/esm/bcm-switch.entry.js +4 -6
  296. package/dist/esm/bcm-switch.entry.js.map +1 -1
  297. package/dist/esm/bcm-tabs-content.entry.js +2 -4
  298. package/dist/esm/bcm-tabs-list.entry.js +2 -4
  299. package/dist/esm/bcm-tabs-trigger.entry.js +2 -4
  300. package/dist/esm/bcm-tabs.entry.js +2 -4
  301. package/dist/esm/bcm-tabs.entry.js.map +1 -1
  302. package/dist/esm/bcm-text.entry.js +3 -5
  303. package/dist/esm/bcm-text.entry.js.map +1 -1
  304. package/dist/esm/bcm-textarea.entry.js +4 -6
  305. package/dist/esm/bromcom-ui.js +4 -6
  306. package/dist/esm/bromcom-ui.js.map +1 -1
  307. package/dist/esm/generate-id-IBjzkjef.js.map +1 -1
  308. package/dist/esm/index-BfTCfPZ1.js.map +1 -1
  309. package/dist/esm/{index-BuuGCw0z.js → index-CRwAh9Np.js} +62 -372
  310. package/dist/esm/index-CRwAh9Np.js.map +1 -0
  311. package/dist/esm/index.js +0 -2
  312. package/dist/esm/loader.js +3 -5
  313. package/dist/esm/tv-CEcVC0yX.js.map +1 -1
  314. package/dist/types/components/accordion-group/types.d.ts +2 -2
  315. package/dist/types/components/checkbox/checkbox.component.d.ts +4 -0
  316. package/dist/types/components/drawer/drawer.component.d.ts +143 -3
  317. package/dist/types/components/drawer/types.d.ts +1 -1
  318. package/dist/types/components/dropdown/dropdown.component.d.ts +0 -3
  319. package/dist/types/components/linked/linked.component.d.ts +152 -36
  320. package/dist/types/components/modal/modal.component.d.ts +121 -0
  321. package/dist/types/components/pop-confirm/pop-confirm.component.d.ts +263 -143
  322. package/dist/types/components/popover/popover.component.d.ts +94 -39
  323. package/dist/types/components/tooltip/tooltip.component.d.ts +147 -56
  324. package/dist/types/components.d.ts +1579 -359
  325. package/dist/types/stencil-public-runtime.d.ts +50 -3
  326. package/package.json +1 -1
  327. package/dist/bromcom-ui/bcm-button.bcm-chip.bcm-drawer.bcm-modal.entry.esm.js.map +0 -1
  328. package/dist/bromcom-ui/bcm-linked.entry.esm.js.map +0 -1
  329. package/dist/bromcom-ui/bcm-pop-confirm.entry.esm.js.map +0 -1
  330. package/dist/bromcom-ui/bcm-popover.entry.esm.js.map +0 -1
  331. package/dist/bromcom-ui/bcm-tooltip.entry.esm.js.map +0 -1
  332. package/dist/bromcom-ui/p-0101b4f2.entry.js.map +0 -1
  333. package/dist/bromcom-ui/p-089edfdc.entry.js.map +0 -1
  334. package/dist/bromcom-ui/p-08bc93c5.entry.js +0 -2
  335. package/dist/bromcom-ui/p-08bc93c5.entry.js.map +0 -1
  336. package/dist/bromcom-ui/p-09be61c3.entry.js +0 -2
  337. package/dist/bromcom-ui/p-09be61c3.entry.js.map +0 -1
  338. package/dist/bromcom-ui/p-211ca6e0.entry.js.map +0 -1
  339. package/dist/bromcom-ui/p-2480e468.entry.js.map +0 -1
  340. package/dist/bromcom-ui/p-26d2db9e.entry.js.map +0 -1
  341. package/dist/bromcom-ui/p-2d0a6472.entry.js +0 -2
  342. package/dist/bromcom-ui/p-2d0a6472.entry.js.map +0 -1
  343. package/dist/bromcom-ui/p-360bff8a.entry.js.map +0 -1
  344. package/dist/bromcom-ui/p-488d6ef4.entry.js.map +0 -1
  345. package/dist/bromcom-ui/p-5e0702d1.entry.js.map +0 -1
  346. package/dist/bromcom-ui/p-6169490c.entry.js +0 -2
  347. package/dist/bromcom-ui/p-6169490c.entry.js.map +0 -1
  348. package/dist/bromcom-ui/p-6b585adc.entry.js.map +0 -1
  349. package/dist/bromcom-ui/p-6d7d73d5.entry.js +0 -2
  350. package/dist/bromcom-ui/p-6d7d73d5.entry.js.map +0 -1
  351. package/dist/bromcom-ui/p-7234af90.entry.js +0 -2
  352. package/dist/bromcom-ui/p-7234af90.entry.js.map +0 -1
  353. package/dist/bromcom-ui/p-83f64814.entry.js.map +0 -1
  354. package/dist/bromcom-ui/p-84677827.entry.js +0 -2
  355. package/dist/bromcom-ui/p-84677827.entry.js.map +0 -1
  356. package/dist/bromcom-ui/p-8ace5a6a.entry.js.map +0 -1
  357. package/dist/bromcom-ui/p-8d74249a.entry.js +0 -2
  358. package/dist/bromcom-ui/p-8d74249a.entry.js.map +0 -1
  359. package/dist/bromcom-ui/p-BuuGCw0z.js +0 -3
  360. package/dist/bromcom-ui/p-BuuGCw0z.js.map +0 -1
  361. package/dist/bromcom-ui/p-DxMLMJ3r.js +0 -2
  362. package/dist/bromcom-ui/p-DxMLMJ3r.js.map +0 -1
  363. package/dist/bromcom-ui/p-a88f20e0.entry.js.map +0 -1
  364. package/dist/bromcom-ui/p-bad299f2.entry.js +0 -2
  365. package/dist/bromcom-ui/p-bad299f2.entry.js.map +0 -1
  366. package/dist/bromcom-ui/p-bdaf5653.entry.js.map +0 -1
  367. package/dist/bromcom-ui/p-c0e7f9d6.entry.js.map +0 -1
  368. package/dist/bromcom-ui/p-c34f0a66.entry.js.map +0 -1
  369. package/dist/bromcom-ui/p-c9cf3f14.entry.js +0 -2
  370. package/dist/bromcom-ui/p-c9cf3f14.entry.js.map +0 -1
  371. package/dist/bromcom-ui/p-d7cea19f.entry.js +0 -2
  372. package/dist/bromcom-ui/p-d7cea19f.entry.js.map +0 -1
  373. package/dist/bromcom-ui/p-e5e0ac07.entry.js +0 -2
  374. package/dist/bromcom-ui/p-e5e0ac07.entry.js.map +0 -1
  375. package/dist/bromcom-ui/p-ee5f877f.entry.js.map +0 -1
  376. package/dist/bromcom-ui/p-fbccbffc.entry.js +0 -2
  377. package/dist/bromcom-ui/p-fbccbffc.entry.js.map +0 -1
  378. package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +0 -1
  379. package/dist/cjs/bcm-accordion.cjs.entry.js.map +0 -1
  380. package/dist/cjs/bcm-alert.cjs.entry.js.map +0 -1
  381. package/dist/cjs/bcm-avatar.cjs.entry.js.map +0 -1
  382. package/dist/cjs/bcm-badge.cjs.entry.js.map +0 -1
  383. package/dist/cjs/bcm-basic-badge.cjs.entry.js.map +0 -1
  384. package/dist/cjs/bcm-button-group.cjs.entry.js.map +0 -1
  385. package/dist/cjs/bcm-button.bcm-chip.bcm-drawer.bcm-modal.entry.cjs.js.map +0 -1
  386. package/dist/cjs/bcm-button_4.cjs.entry.js +0 -915
  387. package/dist/cjs/bcm-button_4.cjs.entry.js.map +0 -1
  388. package/dist/cjs/bcm-checkbox.cjs.entry.js.map +0 -1
  389. package/dist/cjs/bcm-divider.cjs.entry.js.map +0 -1
  390. package/dist/cjs/bcm-dropdown-item.cjs.entry.js.map +0 -1
  391. package/dist/cjs/bcm-dropdown.cjs.entry.js.map +0 -1
  392. package/dist/cjs/bcm-input.cjs.entry.js.map +0 -1
  393. package/dist/cjs/bcm-linked.cjs.entry.js +0 -343
  394. package/dist/cjs/bcm-linked.cjs.entry.js.map +0 -1
  395. package/dist/cjs/bcm-linked.entry.cjs.js.map +0 -1
  396. package/dist/cjs/bcm-pop-confirm.cjs.entry.js +0 -250
  397. package/dist/cjs/bcm-pop-confirm.cjs.entry.js.map +0 -1
  398. package/dist/cjs/bcm-pop-confirm.entry.cjs.js.map +0 -1
  399. package/dist/cjs/bcm-popover.cjs.entry.js +0 -189
  400. package/dist/cjs/bcm-popover.cjs.entry.js.map +0 -1
  401. package/dist/cjs/bcm-popover.entry.cjs.js.map +0 -1
  402. package/dist/cjs/bcm-radio-group.cjs.entry.js.map +0 -1
  403. package/dist/cjs/bcm-radio.cjs.entry.js.map +0 -1
  404. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js.map +0 -1
  405. package/dist/cjs/bcm-segmented-picker.cjs.entry.js.map +0 -1
  406. package/dist/cjs/bcm-shortcut.cjs.entry.js.map +0 -1
  407. package/dist/cjs/bcm-switch.cjs.entry.js.map +0 -1
  408. package/dist/cjs/bcm-tabs-content.cjs.entry.js.map +0 -1
  409. package/dist/cjs/bcm-tabs-list.cjs.entry.js.map +0 -1
  410. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +0 -1
  411. package/dist/cjs/bcm-tabs.cjs.entry.js.map +0 -1
  412. package/dist/cjs/bcm-text.cjs.entry.js.map +0 -1
  413. package/dist/cjs/bcm-textarea.cjs.entry.js.map +0 -1
  414. package/dist/cjs/bcm-tooltip.cjs.entry.js +0 -180
  415. package/dist/cjs/bcm-tooltip.cjs.entry.js.map +0 -1
  416. package/dist/cjs/bcm-tooltip.entry.cjs.js.map +0 -1
  417. package/dist/cjs/floating-ui.dom-DyKmFgkP.js +0 -1605
  418. package/dist/cjs/floating-ui.dom-DyKmFgkP.js.map +0 -1
  419. package/dist/cjs/index-BtiU-G2W.js.map +0 -1
  420. package/dist/components/p-BHwftRkk.js +0 -379
  421. package/dist/components/p-BHwftRkk.js.map +0 -1
  422. package/dist/components/p-CQF7wlXf.js.map +0 -1
  423. package/dist/components/p-CzcTU1ty.js.map +0 -1
  424. package/dist/components/p-DGlecSBr.js.map +0 -1
  425. package/dist/esm/bcm-button.bcm-chip.bcm-drawer.bcm-modal.entry.js.map +0 -1
  426. package/dist/esm/bcm-button_4.entry.js +0 -910
  427. package/dist/esm/bcm-button_4.entry.js.map +0 -1
  428. package/dist/esm/bcm-linked.entry.js +0 -341
  429. package/dist/esm/bcm-linked.entry.js.map +0 -1
  430. package/dist/esm/bcm-pop-confirm.entry.js +0 -248
  431. package/dist/esm/bcm-pop-confirm.entry.js.map +0 -1
  432. package/dist/esm/bcm-popover.entry.js +0 -187
  433. package/dist/esm/bcm-popover.entry.js.map +0 -1
  434. package/dist/esm/bcm-tooltip.entry.js +0 -178
  435. package/dist/esm/bcm-tooltip.entry.js.map +0 -1
  436. package/dist/esm/floating-ui.dom-DxMLMJ3r.js +0 -1598
  437. package/dist/esm/floating-ui.dom-DxMLMJ3r.js.map +0 -1
  438. package/dist/esm/index-BuuGCw0z.js.map +0 -1
@@ -4,7 +4,8 @@ import { tv } from "../../utils/tv";
4
4
  /**
5
5
  * @component BcmPopover
6
6
  * @description A flexible popover component that displays contextual information or content relative to a target element.
7
- * Supports different sizes, trigger types (click or hover), placements (top, right, bottom, left), and can be controlled via slots or props.
7
+ * Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
8
+ * Supports different sizes, trigger types (click, hover, focus), placements, and comprehensive event system.
8
9
  *
9
10
  * @example Basic Click Popover
10
11
  * <bcm-popover trigger="click" size="medium" placement="top">
@@ -13,8 +14,8 @@ import { tv } from "../../utils/tv";
13
14
  * <span slot="content">This is a simple popover content.</span>
14
15
  * </bcm-popover>
15
16
  *
16
- * @example Hover Popover with Props
17
- * <bcm-popover trigger="hover" hover-delay="200" size="large" placement="right" header-text="Prop Header" message="This is a hover popover with props.">
17
+ * @example Hover Popover with Delays
18
+ * <bcm-popover trigger="hover" show-delay="200" hide-delay="100" size="large" placement="right" header-text="Prop Header" message="This is a hover popover with props.">
18
19
  * <bcm-button>Hover Me</bcm-button>
19
20
  * </bcm-popover>
20
21
  *
@@ -25,8 +26,9 @@ import { tv } from "../../utils/tv";
25
26
  * </bcm-popover>
26
27
  * <script>
27
28
  * const popover = document.querySelector('#my-popover');
28
- * popover.openPopup(); // Opens the popover
29
- * popover.closePopup(); // Closes the popover
29
+ * popover.show(); // Opens the popover
30
+ * popover.hide(); // Closes the popover
31
+ * popover.toggle(); // Toggles the popover
30
32
  * </script>
31
33
  *
32
34
  * @slot - Default slot for the target element that triggers the popover
@@ -40,6 +42,8 @@ import { tv } from "../../utils/tv";
40
42
  */
41
43
  export class Popover {
42
44
  constructor() {
45
+ // Unique ID for ARIA
46
+ this.popoverId = `popover-${Math.random().toString(36).substring(2, 11)}`;
43
47
  /**
44
48
  * @prop {('small' | 'medium' | 'large')} size - Defines the size of the popover.
45
49
  * Controls the text size and padding of the popover content.
@@ -53,105 +57,171 @@ export class Popover {
53
57
  */
54
58
  this.placement = 'top';
55
59
  /**
56
- * @prop {('click' | 'hover')} trigger - Defines the interaction type to show/hide the popover.
57
- * 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave.
60
+ * @prop {('click' | 'hover' | 'hover focus')} trigger - Defines the interaction type to show/hide the popover.
61
+ * 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave, 'hover focus' combines both.
58
62
  * Default: 'click'
59
63
  */
60
64
  this.trigger = 'click';
61
65
  /**
62
- * @prop {number} hoverDelay - Delay in milliseconds before showing or hiding the popover when trigger is 'hover'.
63
- * Adds a delay to prevent flickering on quick mouse movements.
64
- * Default: 150
66
+ * @prop {number} showDelay - Delay in milliseconds before showing the popover.
67
+ * Useful to prevent popovers from appearing on quick mouse movements.
68
+ * Default: 0
65
69
  */
66
- this.hoverDelay = 150;
70
+ this.showDelay = 0;
67
71
  /**
68
- * @prop {boolean} open - Indicates whether the popover is currently open.
69
- * Can be set programmatically or toggled by user interaction. Mutable.
72
+ * @prop {number} hideDelay - Delay in milliseconds before hiding the popover.
73
+ * Provides a grace period for mouse movements.
74
+ * Default: 0
75
+ */
76
+ this.hideDelay = 0;
77
+ /**
78
+ * @prop {boolean} open - Controls the open state of the popover.
79
+ * Can be set programmatically or toggled by user interaction.
70
80
  * Default: false
71
81
  */
72
82
  this.open = false;
73
- this.togglePopover = () => {
74
- this.open = !this.open;
75
- if (this.open) {
76
- this.bcmPopoverOpen.emit();
77
- }
78
- else {
79
- this.bcmPopoverClose.emit();
83
+ /**
84
+ * @prop {boolean} closeOnOutsideClick - Whether to close the popover when clicking outside.
85
+ * Default: true
86
+ */
87
+ this.closeOnOutsideClick = true;
88
+ /**
89
+ * @prop {boolean} closeOnEscape - Whether to close the popover when pressing Escape key.
90
+ * Default: true
91
+ */
92
+ this.closeOnEscape = true;
93
+ /**
94
+ * @prop {boolean} arrow - Whether to show an arrow pointing to the trigger element.
95
+ * Default: true
96
+ */
97
+ this.arrow = true;
98
+ // Internal state
99
+ this.isOpen = false;
100
+ this.handleSlotChange = () => {
101
+ var _a;
102
+ const slot = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
103
+ if (!slot)
104
+ return;
105
+ const elements = slot.assignedElements();
106
+ if (elements.length > 0) {
107
+ // Remove old listeners
108
+ this.removeTriggerListeners();
109
+ this.triggerRef = elements[0];
110
+ this.setupTriggerListeners();
111
+ this.setupAriaAttributes();
80
112
  }
81
- this.updatePosition();
82
113
  };
83
- this.showPopover = () => {
84
- clearTimeout(this.hoverTimeout);
85
- this.hoverTimeout = setTimeout(() => {
86
- this.open = true;
87
- this.bcmPopoverOpen.emit();
88
- this.updatePosition();
89
- }, this.hoverDelay);
114
+ this.handleMouseEnter = () => {
115
+ this.show();
90
116
  };
91
- this.hidePopover = () => {
92
- clearTimeout(this.hoverTimeout);
93
- this.hoverTimeout = setTimeout(() => {
94
- this.open = false;
95
- this.bcmPopoverClose.emit();
96
- }, this.hoverDelay);
117
+ this.handleMouseLeave = () => {
118
+ this.hide();
97
119
  };
98
- this.handleSlotChange = () => {
99
- const slot = this.el.shadowRoot.querySelector('slot');
100
- const elements = slot.assignedElements();
101
- this.targetElement = elements[0];
102
- if (this.targetElement) {
103
- this.targetElement.removeEventListener('click', this.togglePopover);
104
- this.targetElement.removeEventListener('mouseenter', this.showPopover);
105
- this.targetElement.removeEventListener('mouseleave', this.hidePopover);
106
- if (this.trigger === 'click') {
107
- this.targetElement.addEventListener('click', this.togglePopover);
108
- this.targetElement.setAttribute('aria-expanded', this.open.toString());
109
- }
110
- if (this.trigger === 'hover') {
111
- this.targetElement.addEventListener('mouseenter', this.showPopover);
112
- this.targetElement.addEventListener('mouseleave', this.hidePopover);
113
- }
114
- if (this.popoverElement && !this.cleanupAutoUpdate) {
115
- this.cleanupAutoUpdate = autoUpdate(this.targetElement, this.popoverElement, () => this.updatePosition());
116
- }
117
- }
120
+ this.handlePopoverMouseEnter = () => {
121
+ this.clearTimeouts();
122
+ };
123
+ this.handlePopoverMouseLeave = () => {
124
+ this.hide();
125
+ };
126
+ this.handleTriggerClick = (event) => {
127
+ event.stopPropagation();
128
+ this.toggle();
129
+ };
130
+ this.handleFocus = () => {
131
+ this.show();
132
+ };
133
+ this.handleBlur = () => {
134
+ this.hide();
118
135
  };
119
136
  this.handleOutsideClick = (event) => {
120
- if (!this.el.contains(event.target) && this.open) {
121
- this.open = false;
137
+ var _a;
138
+ if (!this.closeOnOutsideClick || !this.open)
139
+ return;
140
+ const target = event.target;
141
+ const path = event.composedPath();
142
+ const isInsideHost = this.host.contains(target) || path.includes(this.host);
143
+ const isInsidePopover = ((_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.contains(target)) || (this.popoverRef && path.includes(this.popoverRef));
144
+ if (!isInsideHost && !isInsidePopover) {
145
+ this.hide();
146
+ }
147
+ };
148
+ this.handleToggle = (event) => {
149
+ // Sync internal state with native popover state
150
+ if (event.newState === 'open' && !this.isOpen) {
151
+ this.isOpen = true;
152
+ }
153
+ else if (event.newState === 'closed' && this.isOpen) {
154
+ this.isOpen = false;
122
155
  }
123
156
  };
124
157
  this.updatePosition = async () => {
125
- if (!this.targetElement || !this.popoverElement || !this.arrowElement)
158
+ if (!this.triggerRef || !this.popoverRef)
126
159
  return;
127
- const { x, y, placement, middlewareData } = await computePosition(this.targetElement, this.popoverElement, {
160
+ // Check if trigger element is still in viewport
161
+ const triggerRect = this.triggerRef.getBoundingClientRect();
162
+ const isInViewport = triggerRect.bottom > 0 && triggerRect.top < window.innerHeight && triggerRect.right > 0 && triggerRect.left < window.innerWidth;
163
+ // Hide popover if trigger is out of viewport
164
+ if (!isInViewport && this.open) {
165
+ this.hide();
166
+ return;
167
+ }
168
+ // Virtual element for shadow DOM boundary
169
+ const virtualElement = {
170
+ getBoundingClientRect: () => this.triggerRef.getBoundingClientRect(),
171
+ };
172
+ const middleware = [offset(12), flip({ fallbackPlacements: ['top', 'left', 'bottom', 'right'] }), shift({ padding: 8 })];
173
+ if (this.arrow && this.arrowRef) {
174
+ middleware.push(arrow({ element: this.arrowRef }));
175
+ }
176
+ const { x, y, placement, middlewareData } = await computePosition(virtualElement, this.popoverRef, {
128
177
  placement: this.placement,
129
- middleware: [offset(12), flip({ fallbackPlacements: ['top', 'left', 'bottom', 'right'] }), shift({ padding: 8 }), arrow({ element: this.arrowElement })],
178
+ strategy: 'fixed',
179
+ middleware,
130
180
  });
131
- Object.assign(this.popoverElement.style, {
181
+ Object.assign(this.popoverRef.style, {
132
182
  left: `${x}px`,
133
183
  top: `${y}px`,
134
184
  });
135
- const { x: arrowX, y: arrowY } = middlewareData.arrow || { x: 0, y: 0 };
136
- const basePlacement = placement.split('-')[0];
137
- const staticSide = {
138
- top: 'bottom',
139
- right: 'left',
140
- bottom: 'top',
141
- left: 'right',
142
- }[basePlacement];
143
- Object.assign(this.arrowElement.style, {
144
- left: arrowX != null ? `${arrowX}px` : '',
145
- top: arrowY != null ? `${arrowY}px` : '',
146
- [staticSide]: '-4px',
147
- });
185
+ // Update placement attribute for CSS
186
+ this.popoverRef.setAttribute('data-placement', placement);
187
+ // Arrow positioning
188
+ if (this.arrow && this.arrowRef && middlewareData.arrow) {
189
+ const { x: arrowX, y: arrowY } = middlewareData.arrow;
190
+ const basePlacement = placement.split('-')[0];
191
+ const staticSide = {
192
+ top: 'bottom',
193
+ right: 'left',
194
+ bottom: 'top',
195
+ left: 'right',
196
+ }[basePlacement];
197
+ Object.assign(this.arrowRef.style, {
198
+ left: arrowX != null ? `${arrowX}px` : '',
199
+ top: arrowY != null ? `${arrowY}px` : '',
200
+ right: '',
201
+ bottom: '',
202
+ [staticSide]: '-4px',
203
+ });
204
+ }
148
205
  };
149
206
  this.popoverClass = tv({
150
207
  slots: {
151
- box: 'bcm-ui-element bcm-popover absolute flex flex-col bg-[--popover-bg] rounded-md shadow-3 p-3 gap-1.5 min-w-max z-[9999]',
208
+ box: [
209
+ 'bcm-ui-element',
210
+ 'bcm-popover',
211
+ 'fixed',
212
+ 'm-0',
213
+ 'flex',
214
+ 'flex-col',
215
+ 'bg-[--popover-bg]',
216
+ 'rounded-md',
217
+ 'shadow-3',
218
+ 'p-3',
219
+ 'gap-1.5',
220
+ 'min-w-max',
221
+ ],
152
222
  header: 'font-semibold text-color',
153
223
  content: 'font-normal text-color',
154
- arrow: 'absolute w-4 h-4 bg-[--popover-bg] transform rotate-45',
224
+ arrow: 'absolute w-3 h-3 bg-[--popover-bg] transform rotate-45',
155
225
  },
156
226
  variants: {
157
227
  size: {
@@ -159,54 +229,216 @@ export class Popover {
159
229
  medium: { box: 'text-size-4' },
160
230
  large: { box: 'text-size-5' },
161
231
  },
162
- isOpen: {
163
- true: { box: 'flex' },
164
- false: { box: 'hidden' },
165
- },
166
232
  },
167
233
  defaultVariants: {
168
234
  size: 'medium',
169
- isOpen: false,
170
235
  },
171
236
  });
172
237
  }
173
- connectedCallback() {
174
- document.addEventListener('click', this.handleOutsideClick);
238
+ // Watch for open prop changes
239
+ handleOpenChange(newValue) {
240
+ if (newValue) {
241
+ this.showInternal();
242
+ }
243
+ else {
244
+ this.hideInternal();
245
+ }
175
246
  }
176
- disconnectedCallback() {
247
+ // Internal show logic
248
+ showInternal() {
177
249
  var _a;
178
- document.removeEventListener('click', this.handleOutsideClick);
179
- if (this.targetElement) {
180
- this.targetElement.removeEventListener('click', this.togglePopover);
181
- this.targetElement.removeEventListener('mouseenter', this.showPopover);
182
- this.targetElement.removeEventListener('mouseleave', this.hidePopover);
250
+ if (!this.popoverRef)
251
+ return;
252
+ this.isOpen = true;
253
+ this.popoverRef.showPopover();
254
+ this.startAutoUpdate();
255
+ this.updatePosition();
256
+ (_a = this.triggerRef) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', 'true');
257
+ this.bcmOpen.emit();
258
+ if (this.closeOnOutsideClick) {
259
+ this.addOutsideClickListener();
260
+ }
261
+ }
262
+ // Internal hide logic
263
+ hideInternal() {
264
+ var _a;
265
+ if (!this.popoverRef)
266
+ return;
267
+ this.isOpen = false;
268
+ this.popoverRef.hidePopover();
269
+ this.stopAutoUpdate();
270
+ (_a = this.triggerRef) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', 'false');
271
+ this.bcmClose.emit();
272
+ this.removeOutsideClickListener();
273
+ }
274
+ /**
275
+ * Programmatically shows the popover.
276
+ * Respects the showDelay prop.
277
+ */
278
+ async show() {
279
+ if (this.open)
280
+ return;
281
+ this.clearTimeouts();
282
+ if (this.showDelay > 0) {
283
+ this.showTimeout = window.setTimeout(() => {
284
+ this.bcmBeforeOpen.emit();
285
+ this.open = true;
286
+ }, this.showDelay);
287
+ }
288
+ else {
289
+ this.bcmBeforeOpen.emit();
290
+ this.open = true;
183
291
  }
184
- (_a = this.cleanupAutoUpdate) === null || _a === void 0 ? void 0 : _a.call(this);
185
- this.cleanupAutoUpdate = null;
186
- clearTimeout(this.hoverTimeout);
187
292
  }
188
293
  /**
189
- * @method {Promise<void>} openPopup - Programmatically opens the popover.
190
- * Triggers the showPopover logic to display the popover with the specified hover delay (if applicable).
191
- * @returns {Promise<void>} A promise that resolves when the popover is opened.
294
+ * Programmatically hides the popover.
295
+ * Respects the hideDelay prop.
192
296
  */
193
- async openPopup() {
194
- this.showPopover();
297
+ async hide() {
298
+ if (!this.open)
299
+ return;
300
+ this.clearTimeouts();
301
+ if (this.hideDelay > 0) {
302
+ this.hideTimeout = window.setTimeout(() => {
303
+ this.bcmBeforeClose.emit();
304
+ this.open = false;
305
+ }, this.hideDelay);
306
+ }
307
+ else {
308
+ this.bcmBeforeClose.emit();
309
+ this.open = false;
310
+ }
195
311
  }
196
312
  /**
197
- * @method {Promise<void>} closePopup - Programmatically closes the popover.
198
- * Triggers the hidePopover logic to hide the popover with the specified hover delay (if applicable).
199
- * @returns {Promise<void>} A promise that resolves when the popover is closed.
313
+ * Toggles the popover visibility.
200
314
  */
201
- async closePopup() {
202
- this.hidePopover();
315
+ async toggle() {
316
+ if (this.open) {
317
+ await this.hide();
318
+ }
319
+ else {
320
+ await this.show();
321
+ }
322
+ }
323
+ clearTimeouts() {
324
+ if (this.showTimeout) {
325
+ clearTimeout(this.showTimeout);
326
+ this.showTimeout = undefined;
327
+ }
328
+ if (this.hideTimeout) {
329
+ clearTimeout(this.hideTimeout);
330
+ this.hideTimeout = undefined;
331
+ }
332
+ }
333
+ startAutoUpdate() {
334
+ if (!this.triggerRef || !this.popoverRef)
335
+ return;
336
+ this.cleanupAutoUpdate = autoUpdate(this.triggerRef, this.popoverRef, () => this.updatePosition(), {
337
+ ancestorScroll: true,
338
+ ancestorResize: true,
339
+ elementResize: true,
340
+ layoutShift: true,
341
+ });
342
+ }
343
+ stopAutoUpdate() {
344
+ var _a;
345
+ (_a = this.cleanupAutoUpdate) === null || _a === void 0 ? void 0 : _a.call(this);
346
+ this.cleanupAutoUpdate = undefined;
347
+ }
348
+ setupTriggerListeners() {
349
+ var _a, _b;
350
+ if (!this.triggerRef)
351
+ return;
352
+ if (this.trigger === 'hover' || this.trigger === 'hover focus') {
353
+ this.triggerRef.addEventListener('mouseenter', this.handleMouseEnter);
354
+ this.triggerRef.addEventListener('mouseleave', this.handleMouseLeave);
355
+ (_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseenter', this.handlePopoverMouseEnter);
356
+ (_b = this.popoverRef) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseleave', this.handlePopoverMouseLeave);
357
+ }
358
+ if (this.trigger === 'click') {
359
+ this.triggerRef.addEventListener('click', this.handleTriggerClick);
360
+ }
361
+ if (this.trigger === 'hover focus') {
362
+ this.triggerRef.addEventListener('focus', this.handleFocus);
363
+ this.triggerRef.addEventListener('blur', this.handleBlur);
364
+ }
365
+ }
366
+ removeTriggerListeners() {
367
+ var _a, _b;
368
+ if (!this.triggerRef)
369
+ return;
370
+ this.triggerRef.removeEventListener('mouseenter', this.handleMouseEnter);
371
+ this.triggerRef.removeEventListener('mouseleave', this.handleMouseLeave);
372
+ this.triggerRef.removeEventListener('click', this.handleTriggerClick);
373
+ this.triggerRef.removeEventListener('focus', this.handleFocus);
374
+ this.triggerRef.removeEventListener('blur', this.handleBlur);
375
+ (_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.removeEventListener('mouseenter', this.handlePopoverMouseEnter);
376
+ (_b = this.popoverRef) === null || _b === void 0 ? void 0 : _b.removeEventListener('mouseleave', this.handlePopoverMouseLeave);
377
+ }
378
+ setupAriaAttributes() {
379
+ if (!this.triggerRef)
380
+ return;
381
+ this.triggerRef.setAttribute('aria-describedby', this.popoverId);
382
+ this.triggerRef.setAttribute('aria-expanded', String(this.open));
383
+ this.triggerRef.setAttribute('aria-haspopup', 'dialog');
384
+ }
385
+ handleKeyDown(event) {
386
+ var _a;
387
+ if (!this.closeOnEscape || !this.open)
388
+ return;
389
+ if (event.key === 'Escape') {
390
+ // Topmost popover check
391
+ const openPopovers = Array.from(document.querySelectorAll('bcm-popover[open]'));
392
+ const topPopover = openPopovers[openPopovers.length - 1];
393
+ if (topPopover === this.host) {
394
+ event.preventDefault();
395
+ this.hide();
396
+ (_a = this.triggerRef) === null || _a === void 0 ? void 0 : _a.focus();
397
+ }
398
+ }
399
+ }
400
+ addOutsideClickListener() {
401
+ // Add on next tick to avoid catching current click
402
+ setTimeout(() => {
403
+ document.addEventListener('click', this.handleOutsideClick, true);
404
+ }, 0);
405
+ }
406
+ removeOutsideClickListener() {
407
+ document.removeEventListener('click', this.handleOutsideClick, true);
408
+ }
409
+ componentDidLoad() {
410
+ var _a;
411
+ // Toggle event listener (Popover API)
412
+ (_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.addEventListener('toggle', this.handleToggle);
413
+ // Initial state sync
414
+ if (this.open) {
415
+ this.showInternal();
416
+ }
417
+ }
418
+ disconnectedCallback() {
419
+ this.clearTimeouts();
420
+ this.stopAutoUpdate();
421
+ this.removeTriggerListeners();
422
+ this.removeOutsideClickListener();
423
+ if (this.popoverRef) {
424
+ this.popoverRef.removeEventListener('toggle', this.handleToggle);
425
+ if (this.isOpen) {
426
+ try {
427
+ this.popoverRef.hidePopover();
428
+ }
429
+ catch (e) {
430
+ // Element might already be removed
431
+ }
432
+ }
433
+ }
203
434
  }
204
435
  render() {
205
- const { box, header, content, arrow } = this.popoverClass({
206
- isOpen: this.open,
436
+ const { box, header, content, arrow: arrowClass } = this.popoverClass({
207
437
  size: this.size,
208
438
  });
209
- return (h("div", { key: 'b81215e32d99dcfcc8515112267c3c2238379de8', class: "relative" }, h("slot", { key: 'd766006614697458b5343a55d387cb11ae1be04b', onSlotchange: () => this.handleSlotChange() }), h("div", { key: '1016451410fa02ec500f3ed3f29f2203830ccb40', part: "popover", class: box(), role: "dialog", "aria-hidden": !this.open ? 'true' : 'false', ref: el => (this.popoverElement = el) }, h("div", { key: '199e69dd49ac7f920f402e9b44acc946406ba625', class: arrow(), ref: el => (this.arrowElement = el), part: "arrow" }), h("div", { key: '3adfb07eae7e0c437768c1fb2a1d0b086ee40c4b', class: header(), part: "header" }, h("slot", { key: 'e6fc16d74640eca36ce78dc79cc8f2442f318516', name: "header" }, this.headerText)), h("div", { key: 'ac7b023e5c2ec83be9ef9d07e5b6215e71131813', class: content(), part: "content" }, h("slot", { key: '876c5b841f3ba597900b5950e8b56e0fa859ecdd', name: "content" }, this.message)))));
439
+ return (h("div", { key: '79e275204246ae56d255cf6eb3cd048631d4e89b', class: "inline-block" }, h("slot", { key: '787bce1db3d40d8e95631e4963011432f567ce38', onSlotchange: this.handleSlotChange }), h("div", { key: '11aac4ed45dfc6ea5ac73df72c1f95708c02b033', ref: el => (this.popoverRef = el), id: this.popoverId, part: "popover", class: box(),
440
+ // @ts-ignore - popover is a valid HTML attribute
441
+ popover: "manual", role: "dialog", "aria-labelledby": this.headerText ? `${this.popoverId}-header` : undefined }, this.arrow && h("div", { key: '86eff698c15414eac0b8341d0378deae0ffa9f22', ref: el => (this.arrowRef = el), part: "arrow", class: arrowClass() }), h("div", { key: '9ab131a4a26f552c9628dcec39dbfea8244abeb2', id: `${this.popoverId}-header`, part: "header", class: header() }, h("slot", { key: 'f9db05dc65149e097d086f7c93ee8962e7e2c32f', name: "header" }, this.headerText)), h("div", { key: '9e03b53071f8f3cf22e1347eaa812ecaf6e806a8', part: "content", class: content() }, h("slot", { key: '771733f668c6fd1d6f7a2f73b994a4ba906f2b6b', name: "content" }, this.message)))));
210
442
  }
211
443
  static get is() { return "bcm-popover"; }
212
444
  static get encapsulation() { return "shadow"; }
@@ -224,7 +456,6 @@ export class Popover {
224
456
  return {
225
457
  "size": {
226
458
  "type": "string",
227
- "attribute": "size",
228
459
  "mutable": false,
229
460
  "complexType": {
230
461
  "original": "'small' | 'medium' | 'large'",
@@ -243,11 +474,11 @@ export class Popover {
243
474
  "getter": false,
244
475
  "setter": false,
245
476
  "reflect": false,
477
+ "attribute": "size",
246
478
  "defaultValue": "'medium'"
247
479
  },
248
480
  "placement": {
249
481
  "type": "string",
250
- "attribute": "placement",
251
482
  "mutable": false,
252
483
  "complexType": {
253
484
  "original": "'top' | 'right' | 'bottom' | 'left'",
@@ -266,15 +497,15 @@ export class Popover {
266
497
  "getter": false,
267
498
  "setter": false,
268
499
  "reflect": false,
500
+ "attribute": "placement",
269
501
  "defaultValue": "'top'"
270
502
  },
271
503
  "trigger": {
272
504
  "type": "string",
273
- "attribute": "trigger",
274
505
  "mutable": false,
275
506
  "complexType": {
276
- "original": "'click' | 'hover'",
277
- "resolved": "\"click\" | \"hover\"",
507
+ "original": "'click' | 'hover' | 'hover focus'",
508
+ "resolved": "\"click\" | \"hover focus\" | \"hover\"",
278
509
  "references": {}
279
510
  },
280
511
  "required": false,
@@ -282,18 +513,41 @@ export class Popover {
282
513
  "docs": {
283
514
  "tags": [{
284
515
  "name": "prop",
285
- "text": "{('click' | 'hover')} trigger - Defines the interaction type to show/hide the popover.\n'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave.\nDefault: 'click'"
516
+ "text": "{('click' | 'hover' | 'hover focus')} trigger - Defines the interaction type to show/hide the popover.\n'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave, 'hover focus' combines both.\nDefault: 'click'"
286
517
  }],
287
518
  "text": ""
288
519
  },
289
520
  "getter": false,
290
521
  "setter": false,
291
522
  "reflect": false,
523
+ "attribute": "trigger",
292
524
  "defaultValue": "'click'"
293
525
  },
294
- "hoverDelay": {
526
+ "showDelay": {
527
+ "type": "number",
528
+ "mutable": false,
529
+ "complexType": {
530
+ "original": "number",
531
+ "resolved": "number",
532
+ "references": {}
533
+ },
534
+ "required": false,
535
+ "optional": false,
536
+ "docs": {
537
+ "tags": [{
538
+ "name": "prop",
539
+ "text": "{number} showDelay - Delay in milliseconds before showing the popover.\nUseful to prevent popovers from appearing on quick mouse movements.\nDefault: 0"
540
+ }],
541
+ "text": ""
542
+ },
543
+ "getter": false,
544
+ "setter": false,
545
+ "reflect": false,
546
+ "attribute": "show-delay",
547
+ "defaultValue": "0"
548
+ },
549
+ "hideDelay": {
295
550
  "type": "number",
296
- "attribute": "hover-delay",
297
551
  "mutable": false,
298
552
  "complexType": {
299
553
  "original": "number",
@@ -305,18 +559,18 @@ export class Popover {
305
559
  "docs": {
306
560
  "tags": [{
307
561
  "name": "prop",
308
- "text": "{number} hoverDelay - Delay in milliseconds before showing or hiding the popover when trigger is 'hover'.\nAdds a delay to prevent flickering on quick mouse movements.\nDefault: 150"
562
+ "text": "{number} hideDelay - Delay in milliseconds before hiding the popover.\nProvides a grace period for mouse movements.\nDefault: 0"
309
563
  }],
310
564
  "text": ""
311
565
  },
312
566
  "getter": false,
313
567
  "setter": false,
314
568
  "reflect": false,
315
- "defaultValue": "150"
569
+ "attribute": "hide-delay",
570
+ "defaultValue": "0"
316
571
  },
317
572
  "open": {
318
573
  "type": "boolean",
319
- "attribute": "open",
320
574
  "mutable": true,
321
575
  "complexType": {
322
576
  "original": "boolean",
@@ -328,18 +582,64 @@ export class Popover {
328
582
  "docs": {
329
583
  "tags": [{
330
584
  "name": "prop",
331
- "text": "{boolean} open - Indicates whether the popover is currently open.\nCan be set programmatically or toggled by user interaction. Mutable.\nDefault: false"
585
+ "text": "{boolean} open - Controls the open state of the popover.\nCan be set programmatically or toggled by user interaction.\nDefault: false"
332
586
  }],
333
587
  "text": ""
334
588
  },
335
589
  "getter": false,
336
590
  "setter": false,
337
- "reflect": false,
591
+ "reflect": true,
592
+ "attribute": "open",
338
593
  "defaultValue": "false"
339
594
  },
595
+ "closeOnOutsideClick": {
596
+ "type": "boolean",
597
+ "mutable": false,
598
+ "complexType": {
599
+ "original": "boolean",
600
+ "resolved": "boolean",
601
+ "references": {}
602
+ },
603
+ "required": false,
604
+ "optional": false,
605
+ "docs": {
606
+ "tags": [{
607
+ "name": "prop",
608
+ "text": "{boolean} closeOnOutsideClick - Whether to close the popover when clicking outside.\nDefault: true"
609
+ }],
610
+ "text": ""
611
+ },
612
+ "getter": false,
613
+ "setter": false,
614
+ "reflect": false,
615
+ "attribute": "close-on-outside-click",
616
+ "defaultValue": "true"
617
+ },
618
+ "closeOnEscape": {
619
+ "type": "boolean",
620
+ "mutable": false,
621
+ "complexType": {
622
+ "original": "boolean",
623
+ "resolved": "boolean",
624
+ "references": {}
625
+ },
626
+ "required": false,
627
+ "optional": false,
628
+ "docs": {
629
+ "tags": [{
630
+ "name": "prop",
631
+ "text": "{boolean} closeOnEscape - Whether to close the popover when pressing Escape key.\nDefault: true"
632
+ }],
633
+ "text": ""
634
+ },
635
+ "getter": false,
636
+ "setter": false,
637
+ "reflect": false,
638
+ "attribute": "close-on-escape",
639
+ "defaultValue": "true"
640
+ },
340
641
  "headerText": {
341
642
  "type": "string",
342
- "attribute": "header-text",
343
643
  "mutable": false,
344
644
  "complexType": {
345
645
  "original": "string",
@@ -347,7 +647,7 @@ export class Popover {
347
647
  "references": {}
348
648
  },
349
649
  "required": false,
350
- "optional": false,
650
+ "optional": true,
351
651
  "docs": {
352
652
  "tags": [{
353
653
  "name": "prop",
@@ -357,11 +657,11 @@ export class Popover {
357
657
  },
358
658
  "getter": false,
359
659
  "setter": false,
360
- "reflect": false
660
+ "reflect": false,
661
+ "attribute": "header-text"
361
662
  },
362
663
  "message": {
363
664
  "type": "string",
364
- "attribute": "message",
365
665
  "mutable": false,
366
666
  "complexType": {
367
667
  "original": "string",
@@ -369,7 +669,7 @@ export class Popover {
369
669
  "references": {}
370
670
  },
371
671
  "required": false,
372
- "optional": false,
672
+ "optional": true,
373
673
  "docs": {
374
674
  "tags": [{
375
675
  "name": "prop",
@@ -379,21 +679,86 @@ export class Popover {
379
679
  },
380
680
  "getter": false,
381
681
  "setter": false,
382
- "reflect": false
682
+ "reflect": false,
683
+ "attribute": "message"
684
+ },
685
+ "arrow": {
686
+ "type": "boolean",
687
+ "mutable": false,
688
+ "complexType": {
689
+ "original": "boolean",
690
+ "resolved": "boolean",
691
+ "references": {}
692
+ },
693
+ "required": false,
694
+ "optional": false,
695
+ "docs": {
696
+ "tags": [{
697
+ "name": "prop",
698
+ "text": "{boolean} arrow - Whether to show an arrow pointing to the trigger element.\nDefault: true"
699
+ }],
700
+ "text": ""
701
+ },
702
+ "getter": false,
703
+ "setter": false,
704
+ "reflect": false,
705
+ "attribute": "arrow",
706
+ "defaultValue": "true"
383
707
  }
384
708
  };
385
709
  }
710
+ static get states() {
711
+ return {
712
+ "isOpen": {}
713
+ };
714
+ }
386
715
  static get events() {
387
716
  return [{
388
- "method": "bcmPopoverOpen",
389
- "name": "bcmPopoverOpen",
717
+ "method": "bcmBeforeOpen",
718
+ "name": "bcmBeforeOpen",
719
+ "bubbles": false,
720
+ "cancelable": true,
721
+ "composed": false,
722
+ "docs": {
723
+ "tags": [{
724
+ "name": "event",
725
+ "text": "bcmBeforeOpen - Emitted before the popover opens.\nUseful for performing actions before the popover becomes visible."
726
+ }],
727
+ "text": ""
728
+ },
729
+ "complexType": {
730
+ "original": "void",
731
+ "resolved": "void",
732
+ "references": {}
733
+ }
734
+ }, {
735
+ "method": "bcmOpen",
736
+ "name": "bcmOpen",
737
+ "bubbles": false,
738
+ "cancelable": true,
739
+ "composed": false,
740
+ "docs": {
741
+ "tags": [{
742
+ "name": "event",
743
+ "text": "bcmOpen - Emitted when the popover is opened.\nUseful for tracking when the popover becomes visible."
744
+ }],
745
+ "text": ""
746
+ },
747
+ "complexType": {
748
+ "original": "void",
749
+ "resolved": "void",
750
+ "references": {}
751
+ }
752
+ }, {
753
+ "method": "bcmBeforeClose",
754
+ "name": "bcmBeforeClose",
390
755
  "bubbles": false,
391
756
  "cancelable": true,
392
757
  "composed": false,
393
758
  "docs": {
394
759
  "tags": [{
395
760
  "name": "event",
396
- "text": "{EventEmitter<void>} bcmPopoverOpen - Emitted when the popover is opened.\nUseful for tracking when the popover becomes visible."
761
+ "text": "bcmBeforeClose - Emitted before the popover closes.\nUseful for performing actions before the popover is hidden."
397
762
  }],
398
763
  "text": ""
399
764
  },
@@ -403,15 +768,15 @@ export class Popover {
403
768
  "references": {}
404
769
  }
405
770
  }, {
406
- "method": "bcmPopoverClose",
407
- "name": "bcmPopoverClose",
771
+ "method": "bcmClose",
772
+ "name": "bcmClose",
408
773
  "bubbles": false,
409
774
  "cancelable": true,
410
775
  "composed": false,
411
776
  "docs": {
412
777
  "tags": [{
413
778
  "name": "event",
414
- "text": "{EventEmitter<void>} bcmPopoverClose - Emitted when the popover is closed.\nUseful for tracking when the popover is hidden."
779
+ "text": "bcmClose - Emitted when the popover is closed.\nUseful for tracking when the popover is hidden."
415
780
  }],
416
781
  "text": ""
417
782
  },
@@ -424,7 +789,7 @@ export class Popover {
424
789
  }
425
790
  static get methods() {
426
791
  return {
427
- "openPopup": {
792
+ "show": {
428
793
  "complexType": {
429
794
  "signature": "() => Promise<void>",
430
795
  "parameters": [],
@@ -437,17 +802,11 @@ export class Popover {
437
802
  "return": "Promise<void>"
438
803
  },
439
804
  "docs": {
440
- "text": "",
441
- "tags": [{
442
- "name": "method",
443
- "text": "{Promise<void>} openPopup - Programmatically opens the popover.\nTriggers the showPopover logic to display the popover with the specified hover delay (if applicable)."
444
- }, {
445
- "name": "returns",
446
- "text": "A promise that resolves when the popover is opened."
447
- }]
805
+ "text": "Programmatically shows the popover.\nRespects the showDelay prop.",
806
+ "tags": []
448
807
  }
449
808
  },
450
- "closePopup": {
809
+ "hide": {
451
810
  "complexType": {
452
811
  "signature": "() => Promise<void>",
453
812
  "parameters": [],
@@ -460,18 +819,44 @@ export class Popover {
460
819
  "return": "Promise<void>"
461
820
  },
462
821
  "docs": {
463
- "text": "",
464
- "tags": [{
465
- "name": "method",
466
- "text": "{Promise<void>} closePopup - Programmatically closes the popover.\nTriggers the hidePopover logic to hide the popover with the specified hover delay (if applicable)."
467
- }, {
468
- "name": "returns",
469
- "text": "A promise that resolves when the popover is closed."
470
- }]
822
+ "text": "Programmatically hides the popover.\nRespects the hideDelay prop.",
823
+ "tags": []
824
+ }
825
+ },
826
+ "toggle": {
827
+ "complexType": {
828
+ "signature": "() => Promise<void>",
829
+ "parameters": [],
830
+ "references": {
831
+ "Promise": {
832
+ "location": "global",
833
+ "id": "global::Promise"
834
+ }
835
+ },
836
+ "return": "Promise<void>"
837
+ },
838
+ "docs": {
839
+ "text": "Toggles the popover visibility.",
840
+ "tags": []
471
841
  }
472
842
  }
473
843
  };
474
844
  }
475
- static get elementRef() { return "el"; }
845
+ static get elementRef() { return "host"; }
846
+ static get watchers() {
847
+ return [{
848
+ "propName": "open",
849
+ "methodName": "handleOpenChange"
850
+ }];
851
+ }
852
+ static get listeners() {
853
+ return [{
854
+ "name": "keydown",
855
+ "method": "handleKeyDown",
856
+ "target": "document",
857
+ "capture": false,
858
+ "passive": false
859
+ }];
860
+ }
476
861
  }
477
862
  //# sourceMappingURL=popover.component.js.map