bromcom-ui-next 0.1.29 → 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 (426) 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-divider.entry.esm.js.map +1 -1
  6. package/dist/bromcom-ui/bcm-dropdown.entry.esm.js.map +1 -1
  7. package/dist/bromcom-ui/bcm-segmented-picker-option.entry.esm.js.map +1 -1
  8. package/dist/bromcom-ui/bcm-segmented-picker.entry.esm.js.map +1 -1
  9. package/dist/bromcom-ui/bcm-switch.entry.esm.js.map +1 -1
  10. package/dist/bromcom-ui/bcm-tabs.entry.esm.js.map +1 -1
  11. package/dist/bromcom-ui/bcm-text.entry.esm.js.map +1 -1
  12. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  13. package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
  14. package/dist/bromcom-ui/floating-ui.dom-ltNPqX34.js.map +1 -0
  15. package/dist/bromcom-ui/generate-id-Crb5QsB-.js.map +1 -0
  16. package/dist/bromcom-ui/index-40rmUZjU.js.map +1 -0
  17. package/dist/bromcom-ui/index-BCaJmHBB.js.map +1 -0
  18. package/dist/bromcom-ui/{p-8ace5a6a.entry.js → p-0c7c6896.entry.js} +2 -2
  19. package/dist/bromcom-ui/p-0c7c6896.entry.js.map +1 -0
  20. package/dist/bromcom-ui/p-11d0e649.entry.js +2 -0
  21. package/dist/bromcom-ui/p-11d0e649.entry.js.map +1 -0
  22. package/dist/bromcom-ui/{p-6b585adc.entry.js → p-12f38632.entry.js} +2 -2
  23. package/dist/bromcom-ui/p-12f38632.entry.js.map +1 -0
  24. package/dist/bromcom-ui/{p-5e0702d1.entry.js → p-13cbd1f5.entry.js} +2 -2
  25. package/dist/bromcom-ui/p-13cbd1f5.entry.js.map +1 -0
  26. package/dist/bromcom-ui/{p-2480e468.entry.js → p-1507908f.entry.js} +2 -2
  27. package/dist/bromcom-ui/p-1507908f.entry.js.map +1 -0
  28. package/dist/bromcom-ui/p-1ce9913f.entry.js +2 -0
  29. package/dist/bromcom-ui/p-1ce9913f.entry.js.map +1 -0
  30. package/dist/bromcom-ui/p-206d767e.entry.js +2 -0
  31. package/dist/bromcom-ui/p-206d767e.entry.js.map +1 -0
  32. package/dist/bromcom-ui/{p-ee5f877f.entry.js → p-3cf7a7f4.entry.js} +2 -2
  33. package/dist/bromcom-ui/p-3cf7a7f4.entry.js.map +1 -0
  34. package/dist/bromcom-ui/p-4505feba.entry.js +2 -0
  35. package/dist/bromcom-ui/p-4505feba.entry.js.map +1 -0
  36. package/dist/bromcom-ui/{p-089edfdc.entry.js → p-496014ca.entry.js} +2 -2
  37. package/dist/bromcom-ui/p-496014ca.entry.js.map +1 -0
  38. package/dist/bromcom-ui/{p-26d2db9e.entry.js → p-4a932cd3.entry.js} +2 -2
  39. package/dist/bromcom-ui/p-4a932cd3.entry.js.map +1 -0
  40. package/dist/bromcom-ui/p-4e554b8d.entry.js +2 -0
  41. package/dist/bromcom-ui/p-4e554b8d.entry.js.map +1 -0
  42. package/dist/bromcom-ui/{p-360bff8a.entry.js → p-57c4c4c4.entry.js} +2 -2
  43. package/dist/bromcom-ui/p-57c4c4c4.entry.js.map +1 -0
  44. package/dist/bromcom-ui/{p-211ca6e0.entry.js → p-61293ab2.entry.js} +2 -2
  45. package/dist/bromcom-ui/p-61293ab2.entry.js.map +1 -0
  46. package/dist/bromcom-ui/{p-83f64814.entry.js → p-61789456.entry.js} +2 -2
  47. package/dist/bromcom-ui/p-61789456.entry.js.map +1 -0
  48. package/dist/bromcom-ui/{p-488d6ef4.entry.js → p-65d0f188.entry.js} +2 -2
  49. package/dist/bromcom-ui/p-65d0f188.entry.js.map +1 -0
  50. package/dist/bromcom-ui/{p-11f3e129.entry.js → p-83f707dc.entry.js} +2 -2
  51. package/dist/bromcom-ui/p-83f707dc.entry.js.map +1 -0
  52. package/dist/bromcom-ui/p-8ba02e7e.entry.js +2 -0
  53. package/dist/bromcom-ui/p-8ba02e7e.entry.js.map +1 -0
  54. package/dist/bromcom-ui/{p-22edf049.entry.js → p-9e9bf32e.entry.js} +2 -2
  55. package/dist/bromcom-ui/p-9e9bf32e.entry.js.map +1 -0
  56. package/dist/bromcom-ui/p-BfTCfPZ1.js.map +1 -1
  57. package/dist/bromcom-ui/p-CEcVC0yX.js.map +1 -1
  58. package/dist/bromcom-ui/p-CRwAh9Np.js +3 -0
  59. package/dist/bromcom-ui/p-CRwAh9Np.js.map +1 -0
  60. package/dist/bromcom-ui/p-IBjzkjef.js.map +1 -1
  61. package/dist/bromcom-ui/{p-a88f20e0.entry.js → p-c87a6acf.entry.js} +2 -2
  62. package/dist/bromcom-ui/p-c87a6acf.entry.js.map +1 -0
  63. package/dist/bromcom-ui/{p-c34f0a66.entry.js → p-e0e235a8.entry.js} +2 -2
  64. package/dist/bromcom-ui/p-e0e235a8.entry.js.map +1 -0
  65. package/dist/bromcom-ui/{p-0101b4f2.entry.js → p-e1ce8b55.entry.js} +2 -2
  66. package/dist/bromcom-ui/p-e1ce8b55.entry.js.map +1 -0
  67. package/dist/bromcom-ui/p-e4dddb0b.entry.js +2 -0
  68. package/dist/bromcom-ui/p-e4dddb0b.entry.js.map +1 -0
  69. package/dist/bromcom-ui/p-f9426924.entry.js +2 -0
  70. package/dist/bromcom-ui/p-f9426924.entry.js.map +1 -0
  71. package/dist/bromcom-ui/{p-c0e7f9d6.entry.js → p-faa0e62c.entry.js} +2 -2
  72. package/dist/bromcom-ui/p-faa0e62c.entry.js.map +1 -0
  73. package/dist/bromcom-ui/{p-bdaf5653.entry.js → p-fcb4399f.entry.js} +2 -2
  74. package/dist/bromcom-ui/p-fcb4399f.entry.js.map +1 -0
  75. package/dist/bromcom-ui/tv-SlGJ5EfR.js.map +1 -0
  76. package/dist/bromcom-ui/validation-messages-CUvT12BL.js.map +1 -0
  77. package/dist/cjs/bcm-accordion-group.cjs.entry.js +2 -4
  78. package/dist/cjs/bcm-accordion.cjs.entry.js +3 -5
  79. package/dist/cjs/bcm-accordion.entry.cjs.js.map +1 -1
  80. package/dist/cjs/bcm-alert.cjs.entry.js +3 -5
  81. package/dist/cjs/bcm-alert.entry.cjs.js.map +1 -1
  82. package/dist/cjs/bcm-avatar.cjs.entry.js +1 -3
  83. package/dist/cjs/bcm-badge.cjs.entry.js +3 -5
  84. package/dist/cjs/bcm-basic-badge.cjs.entry.js +3 -5
  85. package/dist/cjs/bcm-button-group.cjs.entry.js +3 -5
  86. package/dist/cjs/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.cjs.js.map +1 -0
  87. package/dist/cjs/bcm-button_7.cjs.entry.js +4131 -0
  88. package/dist/cjs/bcm-checkbox.cjs.entry.js +2 -4
  89. package/dist/cjs/bcm-chip.cjs.entry.js +2 -4
  90. package/dist/cjs/bcm-divider.cjs.entry.js +3 -5
  91. package/dist/cjs/bcm-divider.entry.cjs.js.map +1 -1
  92. package/dist/cjs/bcm-dropdown-item.cjs.entry.js +3 -5
  93. package/dist/cjs/bcm-dropdown.cjs.entry.js +3 -13
  94. package/dist/cjs/bcm-dropdown.entry.cjs.js.map +1 -1
  95. package/dist/cjs/bcm-input.cjs.entry.js +3 -5
  96. package/dist/cjs/bcm-radio-group.cjs.entry.js +3 -5
  97. package/dist/cjs/bcm-radio.cjs.entry.js +2 -4
  98. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +3 -5
  99. package/dist/cjs/bcm-segmented-picker-option.entry.cjs.js.map +1 -1
  100. package/dist/cjs/bcm-segmented-picker.cjs.entry.js +3 -5
  101. package/dist/cjs/bcm-segmented-picker.entry.cjs.js.map +1 -1
  102. package/dist/cjs/bcm-shortcut.cjs.entry.js +2 -4
  103. package/dist/cjs/bcm-switch.cjs.entry.js +4 -6
  104. package/dist/cjs/bcm-switch.entry.cjs.js.map +1 -1
  105. package/dist/cjs/bcm-tabs-content.cjs.entry.js +2 -4
  106. package/dist/cjs/bcm-tabs-list.cjs.entry.js +2 -4
  107. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +2 -4
  108. package/dist/cjs/bcm-tabs.cjs.entry.js +2 -4
  109. package/dist/cjs/bcm-tabs.entry.cjs.js.map +1 -1
  110. package/dist/cjs/bcm-text.cjs.entry.js +3 -5
  111. package/dist/cjs/bcm-text.entry.cjs.js.map +1 -1
  112. package/dist/cjs/bcm-textarea.cjs.entry.js +4 -6
  113. package/dist/cjs/bromcom-ui.cjs.js +3 -5
  114. package/dist/cjs/bromcom-ui.cjs.js.map +1 -1
  115. package/dist/cjs/generate-id-CG_BkTJu.js.map +1 -1
  116. package/dist/cjs/index-Bp6Dd2i1.js.map +1 -1
  117. package/dist/cjs/{index-BtiU-G2W.js → index-CmYzUr-k.js} +61 -372
  118. package/dist/cjs/index-CmYzUr-k.js.map +1 -0
  119. package/dist/cjs/index.cjs.js +0 -2
  120. package/dist/cjs/loader.cjs.js +2 -4
  121. package/dist/cjs/tv-ngpIbGlG.js.map +1 -1
  122. package/dist/collection/collection-manifest.json +5 -5
  123. package/dist/collection/components/accordion/accordion.component.js +8 -8
  124. package/dist/collection/components/accordion/accordion.component.js.map +1 -1
  125. package/dist/collection/components/accordion-group/accordion-group.component.js +3 -3
  126. package/dist/collection/components/accordion-group/types.js.map +1 -1
  127. package/dist/collection/components/alert/alert.component.js +6 -6
  128. package/dist/collection/components/alert/alert.css +1 -1
  129. package/dist/collection/components/avatar/avatar.component.js +14 -14
  130. package/dist/collection/components/badge/badge.component.js +15 -15
  131. package/dist/collection/components/basic-badge/basic-badge.component.js +9 -9
  132. package/dist/collection/components/button/button.component.js +32 -32
  133. package/dist/collection/components/button/button.css +1 -1
  134. package/dist/collection/components/button-group/button-group.component.js +15 -15
  135. package/dist/collection/components/checkbox/checkbox.component.js +13 -13
  136. package/dist/collection/components/chip/chip.component.js +8 -8
  137. package/dist/collection/components/divider/divider.component.js +4 -4
  138. package/dist/collection/components/divider/divider.css +1 -1
  139. package/dist/collection/components/drawer/drawer.component.js +429 -132
  140. package/dist/collection/components/drawer/drawer.component.js.map +1 -1
  141. package/dist/collection/components/drawer/drawer.css +1 -1
  142. package/dist/collection/components/drawer/types.js.map +1 -1
  143. package/dist/collection/components/dropdown/dropdown.component.js +3 -12
  144. package/dist/collection/components/dropdown/dropdown.component.js.map +1 -1
  145. package/dist/collection/components/dropdown/dropdown.css +1 -1
  146. package/dist/collection/components/dropdown-item/dropdown-item.component.js +9 -10
  147. package/dist/collection/components/dropdown-item/dropdown-item.component.js.map +1 -1
  148. package/dist/collection/components/input/input.component.js +44 -45
  149. package/dist/collection/components/input/input.component.js.map +1 -1
  150. package/dist/collection/components/linked/linked.component.js +507 -333
  151. package/dist/collection/components/linked/linked.component.js.map +1 -1
  152. package/dist/collection/components/linked/linked.css +1 -1
  153. package/dist/collection/components/modal/modal.component.js +137 -34
  154. package/dist/collection/components/modal/modal.component.js.map +1 -1
  155. package/dist/collection/components/modal/modal.css +1 -1
  156. package/dist/collection/components/pop-confirm/pop-confirm.component.js +668 -294
  157. package/dist/collection/components/pop-confirm/pop-confirm.component.js.map +1 -1
  158. package/dist/collection/components/pop-confirm/pop-confirm.css +1 -1
  159. package/dist/collection/components/popover/popover.component.js +533 -148
  160. package/dist/collection/components/popover/popover.component.js.map +1 -1
  161. package/dist/collection/components/popover/popover.css +1 -1
  162. package/dist/collection/components/radio/radio.component.js +13 -13
  163. package/dist/collection/components/radio-group/radio-group.component.js +15 -15
  164. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +10 -10
  165. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js.map +1 -1
  166. package/dist/collection/components/segmented-picker/segmented-picker.component.js +7 -7
  167. package/dist/collection/components/segmented-picker/segmented-picker.component.js.map +1 -1
  168. package/dist/collection/components/shortcut/shortcut.js +4 -4
  169. package/dist/collection/components/switch/switch.component.js +17 -17
  170. package/dist/collection/components/switch/switch.css +1 -1
  171. package/dist/collection/components/tabs/tabs-content.component.js +3 -3
  172. package/dist/collection/components/tabs/tabs-list.component.js +3 -3
  173. package/dist/collection/components/tabs/tabs-trigger.component.js +8 -8
  174. package/dist/collection/components/tabs/tabs.component.js +6 -6
  175. package/dist/collection/components/tabs/tabs.component.js.map +1 -1
  176. package/dist/collection/components/text/text.component.js +6 -6
  177. package/dist/collection/components/text/text.css +1 -1
  178. package/dist/collection/components/textarea/textarea.component.js +39 -40
  179. package/dist/collection/components/textarea/textarea.component.js.map +1 -1
  180. package/dist/collection/components/tooltip/tooltip.component.js +567 -192
  181. package/dist/collection/components/tooltip/tooltip.component.js.map +1 -1
  182. package/dist/collection/components/tooltip/tooltip.css +1 -1
  183. package/dist/components/bcm-accordion-group.js +5 -3
  184. package/dist/components/bcm-accordion-group.js.map +1 -1
  185. package/dist/components/bcm-accordion.js +6 -4
  186. package/dist/components/bcm-accordion.js.map +1 -1
  187. package/dist/components/bcm-alert.js +6 -4
  188. package/dist/components/bcm-alert.js.map +1 -1
  189. package/dist/components/bcm-avatar.js +5 -3
  190. package/dist/components/bcm-avatar.js.map +1 -1
  191. package/dist/components/bcm-badge.js +1 -1
  192. package/dist/components/bcm-basic-badge.js +6 -4
  193. package/dist/components/bcm-basic-badge.js.map +1 -1
  194. package/dist/components/bcm-button-group.js +6 -4
  195. package/dist/components/bcm-button-group.js.map +1 -1
  196. package/dist/components/bcm-button.js +1 -1
  197. package/dist/components/bcm-checkbox.js +5 -3
  198. package/dist/components/bcm-checkbox.js.map +1 -1
  199. package/dist/components/bcm-chip.js +5 -3
  200. package/dist/components/bcm-chip.js.map +1 -1
  201. package/dist/components/bcm-divider.js +6 -4
  202. package/dist/components/bcm-divider.js.map +1 -1
  203. package/dist/components/bcm-drawer.js +228 -115
  204. package/dist/components/bcm-drawer.js.map +1 -1
  205. package/dist/components/bcm-dropdown-item.js +7 -5
  206. package/dist/components/bcm-dropdown-item.js.map +1 -1
  207. package/dist/components/bcm-dropdown.js +8 -15
  208. package/dist/components/bcm-dropdown.js.map +1 -1
  209. package/dist/components/bcm-input.js +6 -4
  210. package/dist/components/bcm-input.js.map +1 -1
  211. package/dist/components/bcm-linked.js +1 -1
  212. package/dist/components/bcm-modal.js +56 -4
  213. package/dist/components/bcm-modal.js.map +1 -1
  214. package/dist/components/bcm-pop-confirm.js +278 -171
  215. package/dist/components/bcm-pop-confirm.js.map +1 -1
  216. package/dist/components/bcm-popover.js +355 -110
  217. package/dist/components/bcm-popover.js.map +1 -1
  218. package/dist/components/bcm-radio-group.js +6 -4
  219. package/dist/components/bcm-radio-group.js.map +1 -1
  220. package/dist/components/bcm-radio.js +5 -3
  221. package/dist/components/bcm-radio.js.map +1 -1
  222. package/dist/components/bcm-segmented-picker-option.js +6 -4
  223. package/dist/components/bcm-segmented-picker-option.js.map +1 -1
  224. package/dist/components/bcm-segmented-picker.js +6 -4
  225. package/dist/components/bcm-segmented-picker.js.map +1 -1
  226. package/dist/components/bcm-shortcut.js +5 -3
  227. package/dist/components/bcm-shortcut.js.map +1 -1
  228. package/dist/components/bcm-switch.js +7 -5
  229. package/dist/components/bcm-switch.js.map +1 -1
  230. package/dist/components/bcm-tabs-content.js +5 -3
  231. package/dist/components/bcm-tabs-content.js.map +1 -1
  232. package/dist/components/bcm-tabs-list.js +5 -3
  233. package/dist/components/bcm-tabs-list.js.map +1 -1
  234. package/dist/components/bcm-tabs-trigger.js +5 -3
  235. package/dist/components/bcm-tabs-trigger.js.map +1 -1
  236. package/dist/components/bcm-tabs.js +5 -3
  237. package/dist/components/bcm-tabs.js.map +1 -1
  238. package/dist/components/bcm-text.js +6 -4
  239. package/dist/components/bcm-text.js.map +1 -1
  240. package/dist/components/bcm-textarea.js +7 -5
  241. package/dist/components/bcm-textarea.js.map +1 -1
  242. package/dist/components/bcm-tooltip.js +364 -127
  243. package/dist/components/bcm-tooltip.js.map +1 -1
  244. package/dist/components/index.js +41 -366
  245. package/dist/components/index.js.map +1 -1
  246. package/dist/components/p-6VLsKZvR.js +469 -0
  247. package/dist/components/p-6VLsKZvR.js.map +1 -0
  248. package/dist/components/p-BfTCfPZ1.js.map +1 -1
  249. package/dist/components/p-CEcVC0yX.js.map +1 -1
  250. package/dist/components/{p-CQF7wlXf.js → p-CaemikSK.js} +8 -6
  251. package/dist/components/p-CaemikSK.js.map +1 -0
  252. package/dist/components/{p-DHONP_n4.js → p-CsIBm0J5.js} +9 -7
  253. package/dist/components/p-CsIBm0J5.js.map +1 -0
  254. package/dist/components/{p-CzcTU1ty.js → p-DBDSgIvP.js} +40 -23
  255. package/dist/components/p-DBDSgIvP.js.map +1 -0
  256. package/dist/components/p-IBjzkjef.js.map +1 -1
  257. package/dist/esm/bcm-accordion-group.entry.js +2 -4
  258. package/dist/esm/bcm-accordion.entry.js +3 -5
  259. package/dist/esm/bcm-accordion.entry.js.map +1 -1
  260. package/dist/esm/bcm-alert.entry.js +3 -5
  261. package/dist/esm/bcm-alert.entry.js.map +1 -1
  262. package/dist/esm/bcm-avatar.entry.js +1 -3
  263. package/dist/esm/bcm-badge.entry.js +3 -5
  264. package/dist/esm/bcm-basic-badge.entry.js +3 -5
  265. package/dist/esm/bcm-button-group.entry.js +3 -5
  266. package/dist/esm/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.js.map +1 -0
  267. package/dist/esm/bcm-button_7.entry.js +4123 -0
  268. package/dist/esm/bcm-checkbox.entry.js +2 -4
  269. package/dist/esm/bcm-chip.entry.js +2 -4
  270. package/dist/esm/bcm-divider.entry.js +3 -5
  271. package/dist/esm/bcm-divider.entry.js.map +1 -1
  272. package/dist/esm/bcm-dropdown-item.entry.js +3 -5
  273. package/dist/esm/bcm-dropdown.entry.js +3 -13
  274. package/dist/esm/bcm-dropdown.entry.js.map +1 -1
  275. package/dist/esm/bcm-input.entry.js +3 -5
  276. package/dist/esm/bcm-radio-group.entry.js +3 -5
  277. package/dist/esm/bcm-radio.entry.js +2 -4
  278. package/dist/esm/bcm-segmented-picker-option.entry.js +3 -5
  279. package/dist/esm/bcm-segmented-picker-option.entry.js.map +1 -1
  280. package/dist/esm/bcm-segmented-picker.entry.js +3 -5
  281. package/dist/esm/bcm-segmented-picker.entry.js.map +1 -1
  282. package/dist/esm/bcm-shortcut.entry.js +2 -4
  283. package/dist/esm/bcm-switch.entry.js +4 -6
  284. package/dist/esm/bcm-switch.entry.js.map +1 -1
  285. package/dist/esm/bcm-tabs-content.entry.js +2 -4
  286. package/dist/esm/bcm-tabs-list.entry.js +2 -4
  287. package/dist/esm/bcm-tabs-trigger.entry.js +2 -4
  288. package/dist/esm/bcm-tabs.entry.js +2 -4
  289. package/dist/esm/bcm-tabs.entry.js.map +1 -1
  290. package/dist/esm/bcm-text.entry.js +3 -5
  291. package/dist/esm/bcm-text.entry.js.map +1 -1
  292. package/dist/esm/bcm-textarea.entry.js +4 -6
  293. package/dist/esm/bromcom-ui.js +4 -6
  294. package/dist/esm/bromcom-ui.js.map +1 -1
  295. package/dist/esm/generate-id-IBjzkjef.js.map +1 -1
  296. package/dist/esm/index-BfTCfPZ1.js.map +1 -1
  297. package/dist/esm/{index-BuuGCw0z.js → index-CRwAh9Np.js} +62 -372
  298. package/dist/esm/index-CRwAh9Np.js.map +1 -0
  299. package/dist/esm/index.js +0 -2
  300. package/dist/esm/loader.js +3 -5
  301. package/dist/esm/tv-CEcVC0yX.js.map +1 -1
  302. package/dist/types/components/accordion-group/types.d.ts +2 -2
  303. package/dist/types/components/drawer/drawer.component.d.ts +143 -3
  304. package/dist/types/components/drawer/types.d.ts +1 -1
  305. package/dist/types/components/dropdown/dropdown.component.d.ts +0 -3
  306. package/dist/types/components/linked/linked.component.d.ts +152 -36
  307. package/dist/types/components/modal/modal.component.d.ts +121 -0
  308. package/dist/types/components/pop-confirm/pop-confirm.component.d.ts +263 -143
  309. package/dist/types/components/popover/popover.component.d.ts +94 -39
  310. package/dist/types/components/tooltip/tooltip.component.d.ts +147 -56
  311. package/dist/types/components.d.ts +1569 -359
  312. package/dist/types/stencil-public-runtime.d.ts +50 -3
  313. package/package.json +1 -1
  314. package/dist/bromcom-ui/bcm-button.bcm-drawer.bcm-modal.entry.esm.js.map +0 -1
  315. package/dist/bromcom-ui/bcm-linked.entry.esm.js.map +0 -1
  316. package/dist/bromcom-ui/bcm-pop-confirm.entry.esm.js.map +0 -1
  317. package/dist/bromcom-ui/bcm-popover.entry.esm.js.map +0 -1
  318. package/dist/bromcom-ui/bcm-tooltip.entry.esm.js.map +0 -1
  319. package/dist/bromcom-ui/p-0101b4f2.entry.js.map +0 -1
  320. package/dist/bromcom-ui/p-089edfdc.entry.js.map +0 -1
  321. package/dist/bromcom-ui/p-08bc93c5.entry.js +0 -2
  322. package/dist/bromcom-ui/p-08bc93c5.entry.js.map +0 -1
  323. package/dist/bromcom-ui/p-09be61c3.entry.js +0 -2
  324. package/dist/bromcom-ui/p-09be61c3.entry.js.map +0 -1
  325. package/dist/bromcom-ui/p-11851391.entry.js +0 -2
  326. package/dist/bromcom-ui/p-11851391.entry.js.map +0 -1
  327. package/dist/bromcom-ui/p-11f3e129.entry.js.map +0 -1
  328. package/dist/bromcom-ui/p-211ca6e0.entry.js.map +0 -1
  329. package/dist/bromcom-ui/p-22edf049.entry.js.map +0 -1
  330. package/dist/bromcom-ui/p-2480e468.entry.js.map +0 -1
  331. package/dist/bromcom-ui/p-26d2db9e.entry.js.map +0 -1
  332. package/dist/bromcom-ui/p-2d0a6472.entry.js +0 -2
  333. package/dist/bromcom-ui/p-2d0a6472.entry.js.map +0 -1
  334. package/dist/bromcom-ui/p-360bff8a.entry.js.map +0 -1
  335. package/dist/bromcom-ui/p-488d6ef4.entry.js.map +0 -1
  336. package/dist/bromcom-ui/p-5e0702d1.entry.js.map +0 -1
  337. package/dist/bromcom-ui/p-63228f7e.entry.js +0 -2
  338. package/dist/bromcom-ui/p-63228f7e.entry.js.map +0 -1
  339. package/dist/bromcom-ui/p-6b585adc.entry.js.map +0 -1
  340. package/dist/bromcom-ui/p-6d7d73d5.entry.js +0 -2
  341. package/dist/bromcom-ui/p-6d7d73d5.entry.js.map +0 -1
  342. package/dist/bromcom-ui/p-7234af90.entry.js +0 -2
  343. package/dist/bromcom-ui/p-7234af90.entry.js.map +0 -1
  344. package/dist/bromcom-ui/p-83f64814.entry.js.map +0 -1
  345. package/dist/bromcom-ui/p-8ace5a6a.entry.js.map +0 -1
  346. package/dist/bromcom-ui/p-8d74249a.entry.js +0 -2
  347. package/dist/bromcom-ui/p-8d74249a.entry.js.map +0 -1
  348. package/dist/bromcom-ui/p-BuuGCw0z.js +0 -3
  349. package/dist/bromcom-ui/p-BuuGCw0z.js.map +0 -1
  350. package/dist/bromcom-ui/p-DxMLMJ3r.js +0 -2
  351. package/dist/bromcom-ui/p-DxMLMJ3r.js.map +0 -1
  352. package/dist/bromcom-ui/p-a88f20e0.entry.js.map +0 -1
  353. package/dist/bromcom-ui/p-bad299f2.entry.js +0 -2
  354. package/dist/bromcom-ui/p-bad299f2.entry.js.map +0 -1
  355. package/dist/bromcom-ui/p-bdaf5653.entry.js.map +0 -1
  356. package/dist/bromcom-ui/p-c0e7f9d6.entry.js.map +0 -1
  357. package/dist/bromcom-ui/p-c34f0a66.entry.js.map +0 -1
  358. package/dist/bromcom-ui/p-d7cea19f.entry.js +0 -2
  359. package/dist/bromcom-ui/p-d7cea19f.entry.js.map +0 -1
  360. package/dist/bromcom-ui/p-e5e0ac07.entry.js +0 -2
  361. package/dist/bromcom-ui/p-e5e0ac07.entry.js.map +0 -1
  362. package/dist/bromcom-ui/p-ee5f877f.entry.js.map +0 -1
  363. package/dist/bromcom-ui/p-fbccbffc.entry.js +0 -2
  364. package/dist/bromcom-ui/p-fbccbffc.entry.js.map +0 -1
  365. package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +0 -1
  366. package/dist/cjs/bcm-accordion.cjs.entry.js.map +0 -1
  367. package/dist/cjs/bcm-alert.cjs.entry.js.map +0 -1
  368. package/dist/cjs/bcm-avatar.cjs.entry.js.map +0 -1
  369. package/dist/cjs/bcm-badge.cjs.entry.js.map +0 -1
  370. package/dist/cjs/bcm-basic-badge.cjs.entry.js.map +0 -1
  371. package/dist/cjs/bcm-button-group.cjs.entry.js.map +0 -1
  372. package/dist/cjs/bcm-button.bcm-drawer.bcm-modal.entry.cjs.js.map +0 -1
  373. package/dist/cjs/bcm-button_3.cjs.entry.js +0 -794
  374. package/dist/cjs/bcm-button_3.cjs.entry.js.map +0 -1
  375. package/dist/cjs/bcm-checkbox.cjs.entry.js.map +0 -1
  376. package/dist/cjs/bcm-chip.cjs.entry.js.map +0 -1
  377. package/dist/cjs/bcm-divider.cjs.entry.js.map +0 -1
  378. package/dist/cjs/bcm-dropdown-item.cjs.entry.js.map +0 -1
  379. package/dist/cjs/bcm-dropdown.cjs.entry.js.map +0 -1
  380. package/dist/cjs/bcm-input.cjs.entry.js.map +0 -1
  381. package/dist/cjs/bcm-linked.cjs.entry.js +0 -343
  382. package/dist/cjs/bcm-linked.cjs.entry.js.map +0 -1
  383. package/dist/cjs/bcm-linked.entry.cjs.js.map +0 -1
  384. package/dist/cjs/bcm-pop-confirm.cjs.entry.js +0 -250
  385. package/dist/cjs/bcm-pop-confirm.cjs.entry.js.map +0 -1
  386. package/dist/cjs/bcm-pop-confirm.entry.cjs.js.map +0 -1
  387. package/dist/cjs/bcm-popover.cjs.entry.js +0 -189
  388. package/dist/cjs/bcm-popover.cjs.entry.js.map +0 -1
  389. package/dist/cjs/bcm-popover.entry.cjs.js.map +0 -1
  390. package/dist/cjs/bcm-radio-group.cjs.entry.js.map +0 -1
  391. package/dist/cjs/bcm-radio.cjs.entry.js.map +0 -1
  392. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js.map +0 -1
  393. package/dist/cjs/bcm-segmented-picker.cjs.entry.js.map +0 -1
  394. package/dist/cjs/bcm-shortcut.cjs.entry.js.map +0 -1
  395. package/dist/cjs/bcm-switch.cjs.entry.js.map +0 -1
  396. package/dist/cjs/bcm-tabs-content.cjs.entry.js.map +0 -1
  397. package/dist/cjs/bcm-tabs-list.cjs.entry.js.map +0 -1
  398. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +0 -1
  399. package/dist/cjs/bcm-tabs.cjs.entry.js.map +0 -1
  400. package/dist/cjs/bcm-text.cjs.entry.js.map +0 -1
  401. package/dist/cjs/bcm-textarea.cjs.entry.js.map +0 -1
  402. package/dist/cjs/bcm-tooltip.cjs.entry.js +0 -180
  403. package/dist/cjs/bcm-tooltip.cjs.entry.js.map +0 -1
  404. package/dist/cjs/bcm-tooltip.entry.cjs.js.map +0 -1
  405. package/dist/cjs/floating-ui.dom-DyKmFgkP.js +0 -1605
  406. package/dist/cjs/floating-ui.dom-DyKmFgkP.js.map +0 -1
  407. package/dist/cjs/index-BtiU-G2W.js.map +0 -1
  408. package/dist/components/p-BHwftRkk.js +0 -379
  409. package/dist/components/p-BHwftRkk.js.map +0 -1
  410. package/dist/components/p-CQF7wlXf.js.map +0 -1
  411. package/dist/components/p-CzcTU1ty.js.map +0 -1
  412. package/dist/components/p-DHONP_n4.js.map +0 -1
  413. package/dist/esm/bcm-button.bcm-drawer.bcm-modal.entry.js.map +0 -1
  414. package/dist/esm/bcm-button_3.entry.js +0 -790
  415. package/dist/esm/bcm-button_3.entry.js.map +0 -1
  416. package/dist/esm/bcm-linked.entry.js +0 -341
  417. package/dist/esm/bcm-linked.entry.js.map +0 -1
  418. package/dist/esm/bcm-pop-confirm.entry.js +0 -248
  419. package/dist/esm/bcm-pop-confirm.entry.js.map +0 -1
  420. package/dist/esm/bcm-popover.entry.js +0 -187
  421. package/dist/esm/bcm-popover.entry.js.map +0 -1
  422. package/dist/esm/bcm-tooltip.entry.js +0 -178
  423. package/dist/esm/bcm-tooltip.entry.js.map +0 -1
  424. package/dist/esm/floating-ui.dom-DxMLMJ3r.js +0 -1598
  425. package/dist/esm/floating-ui.dom-DxMLMJ3r.js.map +0 -1
  426. package/dist/esm/index-BuuGCw0z.js.map +0 -1
@@ -1,297 +1,497 @@
1
- import { h, Fragment } from "@stencil/core";
2
- import { computePosition, flip, shift, offset, arrow } from "@floating-ui/dom";
1
+ import { h } from "@stencil/core";
2
+ import { computePosition, flip, shift, offset, arrow, autoUpdate } from "@floating-ui/dom";
3
3
  import { tv } from "../../utils/tv";
4
- // Status icons for different states
5
4
  const statusIcons = {
6
5
  info: 'fa-solid fa-circle-info',
7
6
  success: 'fa-solid fa-circle-check',
8
7
  warning: 'fa-solid fa-triangle-exclamation',
9
- error: 'fa-solid fa-circle-x',
8
+ error: 'fa-solid fa-circle-xmark',
10
9
  };
11
10
  /**
12
11
  * @component BcmPopConfirm
13
- * @description A floating confirmation pop-up component that prompts users for action confirmation, triggered by click or hover events.
14
- * Offers customizable header, body content, and footer areas through slots, with accessibility and positioning features.
12
+ * @description A confirmation popover component that displays a confirmation dialog with customizable actions.
13
+ * Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
14
+ * Ideal for confirming destructive actions or important decisions inline.
15
15
  *
16
- * @example Basic usage
17
- * <bcm-pop-confirm target-id="trigger-btn" placement="right" header-text="Confirm Action" description="Are you sure?" confirm-text="Yes" cancel-text="No" status="warning"></bcm-pop-confirm>
16
+ * @slot - Default slot for the trigger element that opens the confirmation popover
17
+ * @slot header - Custom header content (overrides headerText prop)
18
+ * @slot body - Custom body content (overrides description prop)
19
+ * @slot footer - Custom footer content with action buttons (overrides default confirm/cancel buttons)
18
20
  *
19
- * @example With all slots and custom styling
20
- * <bcm-pop-confirm target-id="trigger-btn" placement="left" header-text="Delete Item" description="Are you sure you want to delete this item?" confirm-text="Delete" cancel-text="Cancel" status="error" arrow-color="#ffffff">
21
- * <span slot="header">Custom Header Text</span>
22
- * <span slot="body">Additional details here</span>
23
- * <span slot="footer">Custom Footer Action</span>
21
+ * @csspart container - The main popover container element
22
+ * @csspart arrow - The arrow pointer element
23
+ * @csspart body - The body/description section
24
+ * @csspart footer - The footer section with action buttons
25
+ *
26
+ * @example Basic Usage
27
+ * ```html
28
+ * <bcm-pop-confirm
29
+ * header-text="Delete Item?"
30
+ * description="Are you sure you want to delete this item? This action cannot be undone."
31
+ * status="error"
32
+ * >
33
+ * <bcm-button status="error">Delete</bcm-button>
34
+ * </bcm-pop-confirm>
35
+ * ```
36
+ *
37
+ * @example With Event Handlers
38
+ * ```html
39
+ * <bcm-pop-confirm
40
+ * id="deleteConfirm"
41
+ * header-text="Confirm Delete"
42
+ * description="This will permanently delete the item."
43
+ * status="warning"
44
+ * confirm-text="Yes, Delete"
45
+ * cancel-text="No, Keep It"
46
+ * >
47
+ * <bcm-button>Delete Item</bcm-button>
48
+ * </bcm-pop-confirm>
49
+ *
50
+ * <script>
51
+ * const popconfirm = document.getElementById('deleteConfirm');
52
+ * popconfirm.addEventListener('bcmConfirm', () => {
53
+ * console.log('User confirmed deletion');
54
+ * // Perform delete operation
55
+ * });
56
+ * popconfirm.addEventListener('bcmCancel', () => {
57
+ * console.log('User cancelled deletion');
58
+ * });
59
+ * </script>
60
+ * ```
61
+ *
62
+ * @example Different Status Types
63
+ * ```html
64
+ * <!-- Info (default) -->
65
+ * <bcm-pop-confirm header-text="Information" description="This is an info message">
66
+ * <bcm-button>Info</bcm-button>
67
+ * </bcm-pop-confirm>
68
+ *
69
+ * <!-- Success -->
70
+ * <bcm-pop-confirm status="success" header-text="Confirm Action" description="Proceed with this action?">
71
+ * <bcm-button status="success">Proceed</bcm-button>
72
+ * </bcm-pop-confirm>
73
+ *
74
+ * <!-- Warning -->
75
+ * <bcm-pop-confirm status="warning" header-text="Warning" description="This action may have consequences">
76
+ * <bcm-button status="warning">Continue</bcm-button>
77
+ * </bcm-pop-confirm>
78
+ *
79
+ * <!-- Error/Danger -->
80
+ * <bcm-pop-confirm status="error" header-text="Danger Zone" description="This is a destructive action">
81
+ * <bcm-button status="error">Delete</bcm-button>
82
+ * </bcm-pop-confirm>
83
+ * ```
84
+ *
85
+ * @example Custom Content with Slots
86
+ * ```html
87
+ * <bcm-pop-confirm status="warning">
88
+ * <bcm-button>Custom Confirm</bcm-button>
89
+ *
90
+ * <div slot="header">
91
+ * <strong>Custom Header</strong>
92
+ * </div>
93
+ *
94
+ * <div slot="body">
95
+ * <p>This is custom body content with <strong>HTML formatting</strong>.</p>
96
+ * <ul>
97
+ * <li>Point 1</li>
98
+ * <li>Point 2</li>
99
+ * </ul>
100
+ * </div>
101
+ *
102
+ * <div slot="footer">
103
+ * <bcm-button kind="outline" size="small">Maybe Later</bcm-button>
104
+ * <bcm-button status="success" size="small">Confirm</bcm-button>
105
+ * </div>
106
+ * </bcm-pop-confirm>
107
+ * ```
108
+ *
109
+ * @example Different Sizes
110
+ * ```html
111
+ * <!-- Small -->
112
+ * <bcm-pop-confirm size="small" header-text="Small" description="Compact confirmation">
113
+ * <bcm-button size="small">Small</bcm-button>
114
+ * </bcm-pop-confirm>
115
+ *
116
+ * <!-- Medium (default) -->
117
+ * <bcm-pop-confirm size="medium" header-text="Medium" description="Standard confirmation">
118
+ * <bcm-button size="medium">Medium</bcm-button>
24
119
  * </bcm-pop-confirm>
25
120
  *
26
- * @example Event handling
27
- * // Listen to confirmation events
28
- * const popConfirm = document.querySelector('bcm-pop-confirm');
29
- * popConfirm.addEventListener('bcmConfirm', () => {
30
- * console.log('User confirmed the action!');
31
- * });
32
- * popConfirm.addEventListener('bcmCancel', () => {
33
- * console.log('User canceled the action!');
34
- * });
121
+ * <!-- Large -->
122
+ * <bcm-pop-confirm size="large" header-text="Large" description="Spacious confirmation with more room for content">
123
+ * <bcm-button size="large">Large</bcm-button>
124
+ * </bcm-pop-confirm>
125
+ * ```
35
126
  *
36
- * // Programmatically control pop-up
37
- * await popConfirm.show(); // Show the pop-up
38
- * await popConfirm.hide(); // Hide the pop-up
127
+ * @example Programmatic Control
128
+ * ```html
129
+ * <bcm-pop-confirm id="myConfirm" header-text="Confirm" description="Are you sure?">
130
+ * <bcm-button>Trigger</bcm-button>
131
+ * </bcm-pop-confirm>
39
132
  *
40
- * @prop {string} arrowColor - The color of the arrow pointing to the trigger element (default: 'var(--bcm-ui-color-background-basic-panel)')
41
- * @prop {string} cancelText - Text displayed on the cancel button (default: 'Cancel')
42
- * @prop {string} confirmText - Text displayed on the confirm button (default: 'Yes')
43
- * @prop {string} description - The description or body content of the pop-up (default: '')
44
- * @prop {string} headerText - The header text displayed at the top of the pop-up (default: '')
45
- * @prop {Placement} placement - The placement position of the pop-up relative to the trigger (default: 'right')
46
- * @prop {('small' | 'medium' | 'large')} size - The size of the pop-up, determining its dimensions (default: 'medium')
47
- * @prop {('info' | 'error' | 'warning' | 'success' | 'default')} status - The status of the pop-up, affecting its icon and color (default: 'info')
48
- * @prop {boolean} statusIcon - Whether to display a status icon based on the `status` prop (default: true)
49
- * @prop {string} targetId - The ID of the trigger element (e.g., a button) that opens the pop-up
133
+ * <bcm-button id="showBtn">Show Programmatically</bcm-button>
134
+ * <bcm-button id="hideBtn">Hide Programmatically</bcm-button>
50
135
  *
51
- * @slot header - Custom content for the header area (optional)
52
- * @slot body - Custom content for the main body area (optional, falls back to `description`)
53
- * @slot footer - Custom content for the footer area (optional)
136
+ * <script>
137
+ * const popconfirm = document.getElementById('myConfirm');
138
+ * document.getElementById('showBtn').addEventListener('click', () => {
139
+ * popconfirm.show();
140
+ * });
141
+ * document.getElementById('hideBtn').addEventListener('click', () => {
142
+ * popconfirm.hide();
143
+ * });
144
+ * </script>
145
+ * ```
146
+ *
147
+ * @example Without Status Icon
148
+ * ```html
149
+ * <bcm-pop-confirm
150
+ * header-text="Simple Confirmation"
151
+ * description="No status icon shown"
152
+ * status-icon={false}
153
+ * >
154
+ * <bcm-button>Click Me</bcm-button>
155
+ * </bcm-pop-confirm>
156
+ * ```
54
157
  *
55
- * @event {EventEmitter<void>} bcmConfirm - Emitted when the user confirms the action in the pop-up
56
- * @event {EventEmitter<void>} bcmCancel - Emitted when the user cancels the action in the pop-up
158
+ * @example Different Placements
159
+ * ```html
160
+ * <bcm-pop-confirm placement="top" header-text="Top" description="Opens above">
161
+ * <bcm-button>Top</bcm-button>
162
+ * </bcm-pop-confirm>
57
163
  *
58
- * @csspart container - The root container element of the pop-up
59
- * @csspart header - The header section with title and close icon
60
- * @csspart content - The main content section of the pop-up
61
- * @csspart footer - The footer section with confirm/cancel buttons
62
- * @csspart arrow - The positioning arrow pointing to the trigger
164
+ * <bcm-pop-confirm placement="right" header-text="Right" description="Opens to the right">
165
+ * <bcm-button>Right</bcm-button>
166
+ * </bcm-pop-confirm>
63
167
  *
64
- * @css {string} --popover-radius - Border radius of the pop-up (default: defined in CSS)
65
- * @css {string} --popover-bg - Background color of the pop-up
66
- * @css {string} --text-color - Text color of the pop-up based on status
168
+ * <bcm-pop-confirm placement="bottom" header-text="Bottom" description="Opens below">
169
+ * <bcm-button>Bottom</bcm-button>
170
+ * </bcm-pop-confirm>
67
171
  *
68
- * @methods
69
- * show() - Programmatically shows the pop-up
70
- * hide() - Programmatically hides the pop-up
172
+ * <bcm-pop-confirm placement="left" header-text="Left" description="Opens to the left">
173
+ * <bcm-button>Left</bcm-button>
174
+ * </bcm-pop-confirm>
175
+ * ```
71
176
  */
72
- export class PopConfirm {
177
+ export class BcmPopConfirm {
73
178
  constructor() {
74
179
  /**
75
- * The color of the arrow pointing to the trigger element.
76
- * Can be a CSS custom property or a specific color value.
77
- * @default 'var(--bcm-ui-color-background-basic-panel)'
180
+ * @prop {PopConfirmPlacement} placement - Position of the popover relative to the trigger element.
181
+ * Automatically flips if there's not enough space.
182
+ * Default: 'top'
78
183
  */
79
- this.arrowColor = 'var(--bcm-ui-color-background-basic-panel)'; // Default color
184
+ this.placement = 'top';
80
185
  /**
81
- * The text displayed on the cancel button.
82
- * @default 'Cancel'
186
+ * @prop {PopConfirmSize} size - Size variant that controls padding and text size.
187
+ * - 'small': Compact size with minimal padding
188
+ * - 'medium': Standard size
189
+ * - 'large': Spacious size with more padding
190
+ * Default: 'medium'
83
191
  */
84
- this.cancelText = 'Cancel';
192
+ this.size = 'medium';
85
193
  /**
86
- * The text displayed on the confirm button.
87
- * @default 'Yes'
194
+ * @prop {PopConfirmStatus} status - Status type that determines the color scheme and icon.
195
+ * - 'info': Informational (blue)
196
+ * - 'success': Success/positive action (green)
197
+ * - 'warning': Warning/caution (yellow)
198
+ * - 'error': Error/destructive action (red)
199
+ * Default: 'info'
88
200
  */
89
- this.confirmText = 'Yes';
201
+ this.status = 'info';
90
202
  /**
91
- * The description or body content of the pop-up.
92
- * @default ''
203
+ * @prop {string} headerText - Text displayed in the header section.
204
+ * Can be overridden by using the 'header' slot.
205
+ * Default: ''
93
206
  */
94
- this.description = '';
207
+ this.headerText = '';
95
208
  /**
96
- * The header text displayed at the top of the pop-up.
97
- * @default ''
209
+ * @prop {string} description - Description text displayed in the body section.
210
+ * Can be overridden by using the 'body' slot.
211
+ * Default: ''
98
212
  */
99
- this.headerText = '';
213
+ this.description = '';
100
214
  /**
101
- * The placement position of the pop-up relative to the trigger element.
102
- * @default 'bottom'
215
+ * @prop {string} confirmText - Text for the confirm button.
216
+ * Default: 'Yes'
103
217
  */
104
- this.placement = 'bottom';
218
+ this.confirmText = 'Yes';
105
219
  /**
106
- * The size of the pop-up, determining its dimensions and padding.
107
- * @default 'medium'
220
+ * @prop {string} cancelText - Text for the cancel button.
221
+ * Default: 'Cancel'
108
222
  */
109
- this.size = 'medium';
223
+ this.cancelText = 'Cancel';
110
224
  /**
111
- * The status of the pop-up, affecting its icon and color scheme.
112
- * @default 'info'
225
+ * @prop {boolean} showArrow - Whether to show the arrow pointing to the trigger.
226
+ * Default: true
113
227
  */
114
- this.status = 'info';
228
+ this.showArrow = true;
115
229
  /**
116
- * Whether to display a status icon based on the `status` prop.
117
- * @default true
230
+ * @prop {boolean} statusIcon - Whether to show the status icon in the header.
231
+ * Icon only shows if headerText is also provided.
232
+ * Default: true
118
233
  */
119
234
  this.statusIcon = true;
120
- // State variables
121
235
  /**
122
- * Indicates whether the pop-up is currently open or closed.
123
- * @default false
236
+ * @prop {number} offsetDistance - Distance in pixels between the popover and trigger element.
237
+ * Default: 12
124
238
  */
125
- this.isOpen = false;
239
+ this.offsetDistance = 12;
126
240
  /**
127
- * Handles the click event on the trigger element to open the pop-up.
128
- * Prevents default behavior and propagation, then opens the pop-up if it's closed.
129
- * @param event The mouse event triggering the action.
241
+ * @prop {boolean} closeOnOutsideClick - Whether to close when clicking outside the popover.
242
+ * Default: true
130
243
  */
131
- this.handleTriggerClick = (event) => {
132
- event.preventDefault();
133
- event.stopPropagation();
134
- if (!this.isOpen) {
244
+ this.closeOnOutsideClick = true;
245
+ /**
246
+ * @prop {boolean} closeOnEscape - Whether to close when pressing the Escape key.
247
+ * Default: true
248
+ */
249
+ this.closeOnEscape = true;
250
+ this.isOpen = false;
251
+ this.handleSlotChange = () => {
252
+ var _a;
253
+ const slot = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
254
+ if (!slot)
255
+ return;
256
+ const elements = slot.assignedElements();
257
+ const assignedElement = elements[0];
258
+ this.triggerRef = (assignedElement || this.host);
259
+ if (!this.triggerRef)
260
+ return;
261
+ if (this.popconfirmRef && this.popconfirmId) {
262
+ this.triggerRef.setAttribute('aria-describedby', this.popconfirmId);
263
+ }
264
+ this.removeTriggerListeners();
265
+ this.setupTriggerListeners();
266
+ };
267
+ this.handleTriggerClick = () => {
268
+ this.toggle();
269
+ };
270
+ this.handleOutsideClick = (e) => {
271
+ var _a;
272
+ if (!this.closeOnOutsideClick || !this.isOpen)
273
+ return;
274
+ const target = e.target;
275
+ if (!this.host.contains(target) && !((_a = this.popconfirmRef) === null || _a === void 0 ? void 0 : _a.contains(target))) {
276
+ this.handleCancel();
277
+ }
278
+ };
279
+ this.handleToggle = (e) => {
280
+ const toggleEvent = e;
281
+ if (toggleEvent.newState === 'open' && !this.isOpen) {
135
282
  this.isOpen = true;
136
- requestAnimationFrame(() => {
137
- this.updatePosition();
138
- });
283
+ }
284
+ else if (toggleEvent.newState === 'closed' && this.isOpen) {
285
+ this.isOpen = false;
139
286
  }
140
287
  };
141
- /**
142
- * Handles the confirm button click, closing the pop-up and emitting the confirm event.
143
- * Prevents default behavior and propagation.
144
- * @param event The mouse event triggering the action.
145
- */
146
- this.handleConfirm = (event) => {
147
- event.preventDefault();
148
- event.stopPropagation();
149
- this.isOpen = false;
288
+ this.handleConfirm = () => {
150
289
  this.bcmConfirm.emit();
290
+ this.hide();
151
291
  };
152
- /**
153
- * Handles the cancel button click, closing the pop-up and emitting the cancel event.
154
- * Prevents default behavior and propagation.
155
- * @param event The mouse event triggering the action.
156
- */
157
- this.handleCancel = (event) => {
158
- event.preventDefault();
159
- event.stopPropagation();
160
- this.isOpen = false;
292
+ this.handleCancel = () => {
161
293
  this.bcmCancel.emit();
294
+ this.hide();
162
295
  };
163
- /**
164
- * Updates the position of the pop-up relative to the trigger element using Floating UI.
165
- * Ensures the pop-up stays within viewport bounds and positions the arrow correctly.
166
- */
167
- this.updatePosition = async () => {
168
- if (!this.triggerElement || !this.popoverElement || !this.arrowElement)
169
- return;
170
- const { x, y, placement, middlewareData } = await computePosition(this.triggerElement, this.popoverElement, {
171
- placement: this.placement,
172
- middleware: [offset(12), flip({ fallbackPlacements: ['top', 'left', 'bottom', 'right'] }), shift({ padding: 8 }), arrow({ element: this.arrowElement })],
173
- });
174
- this.currentPlacement = placement;
175
- Object.assign(this.popoverElement.style, {
176
- left: `${x}px`,
177
- top: `${y}px`,
178
- });
179
- const { x: arrowX, y: arrowY } = middlewareData.arrow || { x: 0, y: 0 };
180
- const basePlacement = placement.split('-')[0];
181
- const staticSide = {
182
- top: 'bottom',
183
- right: 'left',
184
- bottom: 'top',
185
- left: 'right',
186
- }[basePlacement];
187
- Object.assign(this.arrowElement.style, {
188
- left: arrowX != null ? `${arrowX}px` : '',
189
- top: arrowY != null ? `${arrowY}px` : '',
190
- [staticSide]: ['top', 'bottom'].includes(basePlacement) ? '-8px' : '-12px',
191
- });
192
- };
193
- /**
194
- * Defines Tailwind Variants classes for the pop-up's structure and styling.
195
- * Supports different sizes and generates dynamic class names.
196
- */
197
- this.classes = tv({
296
+ this.popconfirmClass = tv({
198
297
  slots: {
199
- container: 'absolute bcm-ui-element flex flex-col shadow-2 rounded-[--popover-radius] bg-[--popover-bg] z-[9999] w-full',
200
- header: 'flex justify-between items-center',
201
- headerLeftContent: 'flex items-center gap-2 text-size-inherit text-[--text-color]',
202
- closeIconArea: 'flex flex-row gap-2 size-6 items-center justify-center hover:bg-gray-100 rounded-full cursor-pointer text-size-inherit',
203
- titleContainer: '!text-color-header font-semibold',
298
+ container: 'bcm-ui-element fixed m-0 flex flex-col bg-[--popover-bg] rounded-lg shadow-3 z-[9999]',
299
+ arrow: 'absolute w-3 h-3 bg-[--popover-bg] rotate-45',
300
+ closeBtn: 'absolute flex size-6 items-center justify-center hover:bg-gray-100 rounded-full cursor-pointer text-color-muted',
301
+ header: 'flex items-center pr-8',
302
+ headerLeft: 'flex items-center gap-2',
303
+ title: '!text-color-header font-semibold',
304
+ body: 'flex-1 font-sans text-pretty',
204
305
  footer: 'flex flex-row justify-end gap-2',
205
306
  },
206
307
  variants: {
207
308
  size: {
208
309
  small: {
209
310
  container: 'text-size-4 max-w-64 p-4 gap-4',
210
- header: 'text-size-4',
211
- footer: 'text-size-4',
212
- titleContainer: 'text-size-5',
213
- headerLeftContent: 'gap-2',
311
+ title: 'text-size-5',
312
+ closeBtn: 'top-3 right-3',
214
313
  },
215
314
  medium: {
216
- container: 'text-size-5 max-w-80 gap-6 p-6',
217
- header: 'text-size-5',
218
- footer: 'text-size-5',
219
- titleContainer: 'text-size-6',
220
- headerLeftContent: 'gap-2.5',
315
+ container: 'text-size-5 max-w-80 p-6 gap-6',
316
+ title: 'text-size-6',
317
+ closeBtn: 'top-4 right-4',
221
318
  },
222
319
  large: {
223
320
  container: 'text-size-6 max-w-96 p-8 gap-8',
224
- header: 'text-size-6',
225
- footer: 'text-size-6',
226
- titleContainer: 'text-size-7',
227
- headerLeftContent: 'gap-3',
321
+ title: 'text-size-7',
322
+ closeBtn: 'top-6 right-6',
228
323
  },
229
324
  },
230
- },
231
- defaultVariants: {
232
- size: 'medium',
325
+ status: {
326
+ info: { headerLeft: 'text-[var(--bcm-ui-color-text-info)]' },
327
+ success: { headerLeft: 'text-[var(--bcm-ui-color-text-success)]' },
328
+ warning: { headerLeft: 'text-[var(--bcm-ui-color-text-warning)]' },
329
+ error: { headerLeft: 'text-[var(--bcm-ui-color-text-error)]' },
330
+ },
233
331
  },
234
332
  });
235
333
  }
236
- /**
237
- * Lifecycle method called when the component is loaded.
238
- * Initializes the trigger element and attaches a click event listener.
239
- */
240
- componentDidLoad() {
241
- this.triggerElement = document.getElementById(this.targetId);
242
- if (!this.triggerElement) {
243
- console.warn(`Target element with ID '${this.targetId}' not found.`);
334
+ async handleOpenChange(open) {
335
+ if (!this.popconfirmRef)
244
336
  return;
337
+ if (open) {
338
+ this.popconfirmRef.showPopover();
339
+ await new Promise(resolve => requestAnimationFrame(() => resolve(undefined)));
340
+ await this.updatePosition();
341
+ this.startAutoUpdate();
342
+ this.bcmOpen.emit();
343
+ // Add outside click listener after a frame to avoid immediate close
344
+ if (this.closeOnOutsideClick) {
345
+ requestAnimationFrame(() => {
346
+ document.addEventListener('click', this.handleOutsideClick);
347
+ });
348
+ }
349
+ }
350
+ else {
351
+ this.popconfirmRef.hidePopover();
352
+ this.stopAutoUpdate();
353
+ this.bcmClose.emit();
354
+ document.removeEventListener('click', this.handleOutsideClick);
245
355
  }
246
- this.triggerElement.addEventListener('click', this.handleTriggerClick);
247
356
  }
248
357
  /**
249
- * Programmatically shows the pop-up by setting `isOpen` to true and updating its position.
250
- * @returns A promise that resolves when the pop-up is shown.
358
+ * Programmatically shows the popconfirm.
359
+ * @returns Promise that resolves when the show operation begins
251
360
  */
252
361
  async show() {
362
+ if (this.isOpen)
363
+ return;
364
+ this.bcmBeforeOpen.emit();
253
365
  this.isOpen = true;
254
- requestAnimationFrame(() => {
255
- this.updatePosition();
256
- });
257
366
  }
258
367
  /**
259
- * Programmatically hides the pop-up by setting `isOpen` to false.
260
- * @returns A promise that resolves when the pop-up is hidden.
368
+ * Programmatically hides the popconfirm.
369
+ * @returns Promise that resolves when the hide operation begins
261
370
  */
262
371
  async hide() {
372
+ if (!this.isOpen)
373
+ return;
374
+ this.bcmBeforeClose.emit();
263
375
  this.isOpen = false;
264
376
  }
265
377
  /**
266
- * Returns the dynamic styles for the pop-up, including text and arrow colors.
267
- * @returns An object containing CSS custom properties.
378
+ * Toggles the popconfirm visibility.
379
+ * If open, it will close. If closed, it will open.
380
+ * @returns Promise that resolves when the toggle operation completes
268
381
  */
269
- get popoverStyle() {
270
- return {
271
- '--text-color': `var(--bcm-ui-color-text-${this.status})`,
272
- '--arrow-color': this.arrowColor,
382
+ async toggle() {
383
+ if (this.isOpen) {
384
+ await this.hide();
385
+ }
386
+ else {
387
+ await this.show();
388
+ }
389
+ }
390
+ startAutoUpdate() {
391
+ if (!this.triggerRef || !this.popconfirmRef)
392
+ return;
393
+ this.cleanupAutoUpdate = autoUpdate(this.triggerRef, this.popconfirmRef, () => this.updatePosition(), {
394
+ ancestorScroll: true,
395
+ ancestorResize: true,
396
+ elementResize: true,
397
+ layoutShift: true,
398
+ });
399
+ }
400
+ stopAutoUpdate() {
401
+ if (this.cleanupAutoUpdate) {
402
+ this.cleanupAutoUpdate();
403
+ this.cleanupAutoUpdate = undefined;
404
+ }
405
+ }
406
+ async updatePosition() {
407
+ if (!this.triggerRef || !this.popconfirmRef)
408
+ return;
409
+ const middleware = [offset(this.offsetDistance), flip(), shift({ padding: 8 })];
410
+ if (this.showArrow && this.arrowRef) {
411
+ middleware.push(arrow({ element: this.arrowRef }));
412
+ }
413
+ const virtualElement = {
414
+ getBoundingClientRect: () => this.triggerRef.getBoundingClientRect(),
273
415
  };
416
+ const { x, y, placement, middlewareData } = await computePosition(virtualElement, this.popconfirmRef, {
417
+ placement: this.placement,
418
+ strategy: 'fixed',
419
+ middleware,
420
+ });
421
+ this.popconfirmRef.style.left = `${x}px`;
422
+ this.popconfirmRef.style.top = `${y}px`;
423
+ if (this.showArrow && this.arrowRef && middlewareData.arrow) {
424
+ const { x: arrowX, y: arrowY } = middlewareData.arrow;
425
+ const side = placement.split('-')[0];
426
+ const staticSide = {
427
+ top: 'bottom',
428
+ right: 'left',
429
+ bottom: 'top',
430
+ left: 'right',
431
+ }[side];
432
+ Object.assign(this.arrowRef.style, {
433
+ left: arrowX != null ? `${arrowX}px` : '',
434
+ top: arrowY != null ? `${arrowY}px` : '',
435
+ right: '',
436
+ bottom: '',
437
+ [staticSide]: '-4px',
438
+ });
439
+ }
440
+ }
441
+ setupTriggerListeners() {
442
+ if (!this.triggerRef)
443
+ return;
444
+ this.triggerRef.addEventListener('click', this.handleTriggerClick);
445
+ }
446
+ removeTriggerListeners() {
447
+ if (!this.triggerRef)
448
+ return;
449
+ this.triggerRef.removeEventListener('click', this.handleTriggerClick);
450
+ }
451
+ handleKeyDown(e) {
452
+ if (!this.closeOnEscape || !this.isOpen)
453
+ return;
454
+ if (e.key === 'Escape') {
455
+ // Check if this is the topmost open popconfirm
456
+ const openPopconfirms = Array.from(document.querySelectorAll('bcm-pop-confirm')).filter(el => {
457
+ var _a;
458
+ const popconfirmEl = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[popover]');
459
+ return popconfirmEl === null || popconfirmEl === void 0 ? void 0 : popconfirmEl.matches(':popover-open');
460
+ });
461
+ const topPopconfirm = openPopconfirms[openPopconfirms.length - 1];
462
+ if (topPopconfirm === this.host) {
463
+ e.preventDefault();
464
+ e.stopPropagation();
465
+ this.handleCancel();
466
+ }
467
+ }
468
+ }
469
+ componentWillLoad() {
470
+ this.popconfirmId = `popconfirm-${Math.random().toString(36).substring(2, 11)}`;
471
+ }
472
+ componentDidLoad() {
473
+ if (this.popconfirmRef) {
474
+ this.popconfirmRef.addEventListener('toggle', this.handleToggle);
475
+ }
274
476
  }
275
- /**
276
- * Lifecycle method called when the component is removed from the DOM.
277
- * Cleans up the event listener to prevent memory leaks.
278
- */
279
477
  disconnectedCallback() {
280
- if (this.triggerElement) {
281
- this.triggerElement.removeEventListener('click', this.handleTriggerClick);
478
+ this.stopAutoUpdate();
479
+ this.removeTriggerListeners();
480
+ document.removeEventListener('click', this.handleOutsideClick);
481
+ if (this.popconfirmRef) {
482
+ this.popconfirmRef.removeEventListener('toggle', this.handleToggle);
282
483
  }
283
484
  }
284
- /**
285
- * Renders the pop-up component, showing it only when `isOpen` is true.
286
- * Includes header, main content, and footer sections with dynamic styling and slots for customization.
287
- * @returns JSX.Element representing the pop-up or an empty fragment if closed.
288
- */
289
485
  render() {
290
- var _a;
291
- const { container, header, footer, headerLeftContent, closeIconArea, titleContainer } = this.classes({
486
+ const { container, arrow: arrowClass, header, headerLeft, title, closeBtn, body, footer } = this.popconfirmClass({
292
487
  size: this.size,
488
+ status: this.status,
293
489
  });
294
- return (h(Fragment, { key: '86c517640fafd1c8c6826b85c2b6210ef51fb8a3' }, this.isOpen && (h("div", { key: 'c6c04b088ddf54834208cfb353ad205784c3f43b', role: "dialog", "aria-labelledby": "pop-confirm-title", style: this.popoverStyle, class: container(), ref: el => (this.popoverElement = el) }, h("div", { key: '2333829cfb8a5bc0f36d6ecf48d7e768b2c5c871', ref: el => (this.arrowElement = el), class: `arrow w-4 h-2 ${(_a = this.currentPlacement) !== null && _a !== void 0 ? _a : 'top'}` }), h("header", { key: 'd0978abfe687e8eb13b8ea29ff05d0ccb0a060a4', class: header() }, h("div", { key: '9d648868414279f9d0494f329e5f20c1a18dd83c', class: headerLeftContent() }, this.statusIcon && h("bcm-icon", { key: 'e0caaa164bad82bf321e7706e534d07de45caee2', "icon-name": statusIcons[this.status] }), h("span", { key: '34b24b04e00a89098a727725998647b4cfaf6fda', class: titleContainer() }, this.headerText), h("slot", { key: '04422666023fa5a7e912a29d406ff7a9d4b0ec23', name: "header" })), h("div", { key: '4d6387833461db35148ff1f91de430d1b3b4ae0a', class: closeIconArea(), onClick: this.handleCancel }, h("bcm-icon", { key: '04214951b966c79f4661db005255ab7ee58cb347', "icon-name": "far fa-times" }))), h("main", { key: '7df82cffa20da608e2f4026b89c390eeede5f305', class: "flex-1 mx-auto font-sans text-pretty" }, h("slot", { key: '7f045ed1b27608865cb0ae0c6fd24fc07220129d', name: "body" }, this.description)), h("footer", { key: '5c3d3c2436c24739f7900841c7d7025cc011ee17', class: footer() }, h("bcm-button", { key: '5f8bdfe07adeb25a6fa8111ea32e3439e391a546', kind: "outline", size: this.size, onClick: this.handleCancel }, this.cancelText), h("bcm-button", { key: '9920702fb5bcef61f11e7cf2730344f0e4c17b5f', size: this.size, status: this.status, kind: "primary", onClick: this.handleConfirm }, this.confirmText), h("slot", { key: 'dde6cc0979b5e7994f92c9afa0444d86ff9585cd', name: "footer" }))))));
490
+ // Only show header if there's actual header content (headerText or custom header slot)
491
+ // Status icon only shows if explicitly enabled AND there's header text
492
+ const showStatusIcon = this.statusIcon && this.headerText;
493
+ const hasHeaderText = Boolean(this.headerText);
494
+ return (h("div", { key: '7329eb6db100b57368ca73b36a2a2ad66b218b8e', class: "inline-block" }, h("slot", { key: '0d775cf4a00b4ef97e8e75e2620ddf420caf43c6', onSlotchange: this.handleSlotChange }), h("div", { key: '19c4c001fbf51b895a45b271365b3a7cb22590bb', ref: el => (this.popconfirmRef = el), id: this.popconfirmId, part: "container", class: container(), popover: "manual", role: "alertdialog", "aria-labelledby": hasHeaderText ? `${this.popconfirmId}-header` : undefined, "aria-describedby": `${this.popconfirmId}-body` }, this.showArrow && h("div", { key: '91aaa976265c10537cea1d0d57d08df27c838645', ref: el => (this.arrowRef = el), part: "arrow", class: arrowClass() }), h("div", { key: '91a049dd52d47d267d11c8e8c628aa417fb40663', class: closeBtn(), onClick: this.handleCancel, role: "button", tabIndex: 0, "aria-label": "Close" }, h("bcm-icon", { key: 'd15fb5922185f246c15e9480c3a4652ef9e96ffa', "icon-name": "far fa-times" })), h("header", { key: 'b62f81fd72a05aa116ecad7614f20645aa85f060', class: header() }, h("div", { key: '226cbb6ac92d294b67eb0c33ed0faea52d56689a', class: headerLeft() }, showStatusIcon && h("bcm-icon", { key: '0e5cd64e8369876b9016af3c9607cdb406828651', "icon-name": statusIcons[this.status] }), hasHeaderText && (h("span", { key: '4a1cf44acf56bc46ad52fda1d1d29da0c838fded', id: `${this.popconfirmId}-header`, class: title() }, this.headerText)), h("slot", { key: '5e159545f0b12d97c9b632653955f636866c2a14', name: "header" }))), h("main", { key: '6e082c73048583a1447dc4fb7c9940a677e7d587', id: `${this.popconfirmId}-body`, part: "body", class: body() }, h("slot", { key: '6d0546a06ca77118d82074fffb9164c4b4f86a5c', name: "body" }, this.description)), h("footer", { key: '4f36400e44847e31d6ceed5fd7f47d35f68af458', part: "footer", class: footer() }, h("slot", { key: '97b85bb7dd3d39790b91e6bffef01f7eb077c2c3', name: "footer" }, h("bcm-button", { key: '8e8b7175a1dd9e069e9cbca7b430fdc1e9a7beab', kind: "outline", size: this.size, onClick: this.handleCancel }, this.cancelText), h("bcm-button", { key: 'ae9daeacaf77c8abfe92951eefe2e885d23eab79', size: this.size, status: this.status, kind: "primary", onClick: this.handleConfirm }, this.confirmText))))));
295
495
  }
296
496
  static get is() { return "bcm-pop-confirm"; }
297
497
  static get encapsulation() { return "shadow"; }
@@ -307,78 +507,95 @@ export class PopConfirm {
307
507
  }
308
508
  static get properties() {
309
509
  return {
310
- "arrowColor": {
510
+ "placement": {
311
511
  "type": "string",
312
- "attribute": "arrow-color",
313
512
  "mutable": false,
314
513
  "complexType": {
315
- "original": "string",
316
- "resolved": "string",
317
- "references": {}
514
+ "original": "PopConfirmPlacement",
515
+ "resolved": "\"bottom\" | \"left\" | \"right\" | \"top\"",
516
+ "references": {
517
+ "PopConfirmPlacement": {
518
+ "location": "local",
519
+ "path": "/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/components/pop-confirm/pop-confirm.component.tsx",
520
+ "id": "src/components/pop-confirm/pop-confirm.component.tsx::PopConfirmPlacement"
521
+ }
522
+ }
318
523
  },
319
524
  "required": false,
320
525
  "optional": false,
321
526
  "docs": {
322
527
  "tags": [{
323
- "name": "default",
324
- "text": "'var(--bcm-ui-color-background-basic-panel)'"
528
+ "name": "prop",
529
+ "text": "{PopConfirmPlacement} placement - Position of the popover relative to the trigger element.\nAutomatically flips if there's not enough space.\nDefault: 'top'"
325
530
  }],
326
- "text": "The color of the arrow pointing to the trigger element.\nCan be a CSS custom property or a specific color value."
531
+ "text": ""
327
532
  },
328
533
  "getter": false,
329
534
  "setter": false,
330
535
  "reflect": false,
331
- "defaultValue": "'var(--bcm-ui-color-background-basic-panel)'"
536
+ "attribute": "placement",
537
+ "defaultValue": "'top'"
332
538
  },
333
- "cancelText": {
539
+ "size": {
334
540
  "type": "string",
335
- "attribute": "cancel-text",
336
541
  "mutable": false,
337
542
  "complexType": {
338
- "original": "string",
339
- "resolved": "string",
340
- "references": {}
543
+ "original": "PopConfirmSize",
544
+ "resolved": "\"large\" | \"medium\" | \"small\"",
545
+ "references": {
546
+ "PopConfirmSize": {
547
+ "location": "local",
548
+ "path": "/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/components/pop-confirm/pop-confirm.component.tsx",
549
+ "id": "src/components/pop-confirm/pop-confirm.component.tsx::PopConfirmSize"
550
+ }
551
+ }
341
552
  },
342
553
  "required": false,
343
554
  "optional": false,
344
555
  "docs": {
345
556
  "tags": [{
346
- "name": "default",
347
- "text": "'Cancel'"
557
+ "name": "prop",
558
+ "text": "{PopConfirmSize} size - Size variant that controls padding and text size.\n- 'small': Compact size with minimal padding\n- 'medium': Standard size\n- 'large': Spacious size with more padding\nDefault: 'medium'"
348
559
  }],
349
- "text": "The text displayed on the cancel button."
560
+ "text": ""
350
561
  },
351
562
  "getter": false,
352
563
  "setter": false,
353
564
  "reflect": false,
354
- "defaultValue": "'Cancel'"
565
+ "attribute": "size",
566
+ "defaultValue": "'medium'"
355
567
  },
356
- "confirmText": {
568
+ "status": {
357
569
  "type": "string",
358
- "attribute": "confirm-text",
359
570
  "mutable": false,
360
571
  "complexType": {
361
- "original": "string",
362
- "resolved": "string",
363
- "references": {}
572
+ "original": "PopConfirmStatus",
573
+ "resolved": "\"error\" | \"info\" | \"success\" | \"warning\"",
574
+ "references": {
575
+ "PopConfirmStatus": {
576
+ "location": "local",
577
+ "path": "/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/components/pop-confirm/pop-confirm.component.tsx",
578
+ "id": "src/components/pop-confirm/pop-confirm.component.tsx::PopConfirmStatus"
579
+ }
580
+ }
364
581
  },
365
582
  "required": false,
366
583
  "optional": false,
367
584
  "docs": {
368
585
  "tags": [{
369
- "name": "default",
370
- "text": "'Yes'"
586
+ "name": "prop",
587
+ "text": "{PopConfirmStatus} status - Status type that determines the color scheme and icon.\n- 'info': Informational (blue)\n- 'success': Success/positive action (green)\n- 'warning': Warning/caution (yellow)\n- 'error': Error/destructive action (red)\nDefault: 'info'"
371
588
  }],
372
- "text": "The text displayed on the confirm button."
589
+ "text": ""
373
590
  },
374
591
  "getter": false,
375
592
  "setter": false,
376
593
  "reflect": false,
377
- "defaultValue": "'Yes'"
594
+ "attribute": "status",
595
+ "defaultValue": "'info'"
378
596
  },
379
- "description": {
597
+ "headerText": {
380
598
  "type": "string",
381
- "attribute": "description",
382
599
  "mutable": false,
383
600
  "complexType": {
384
601
  "original": "string",
@@ -389,19 +606,19 @@ export class PopConfirm {
389
606
  "optional": false,
390
607
  "docs": {
391
608
  "tags": [{
392
- "name": "default",
393
- "text": "''"
609
+ "name": "prop",
610
+ "text": "{string} headerText - Text displayed in the header section.\nCan be overridden by using the 'header' slot.\nDefault: ''"
394
611
  }],
395
- "text": "The description or body content of the pop-up."
612
+ "text": ""
396
613
  },
397
614
  "getter": false,
398
615
  "setter": false,
399
616
  "reflect": false,
617
+ "attribute": "header-text",
400
618
  "defaultValue": "''"
401
619
  },
402
- "headerText": {
620
+ "description": {
403
621
  "type": "string",
404
- "attribute": "header-text",
405
622
  "mutable": false,
406
623
  "complexType": {
407
624
  "original": "string",
@@ -412,94 +629,134 @@ export class PopConfirm {
412
629
  "optional": false,
413
630
  "docs": {
414
631
  "tags": [{
415
- "name": "default",
416
- "text": "''"
632
+ "name": "prop",
633
+ "text": "{string} description - Description text displayed in the body section.\nCan be overridden by using the 'body' slot.\nDefault: ''"
417
634
  }],
418
- "text": "The header text displayed at the top of the pop-up."
635
+ "text": ""
419
636
  },
420
637
  "getter": false,
421
638
  "setter": false,
422
639
  "reflect": false,
640
+ "attribute": "description",
423
641
  "defaultValue": "''"
424
642
  },
425
- "placement": {
643
+ "confirmText": {
426
644
  "type": "string",
427
- "attribute": "placement",
428
645
  "mutable": false,
429
646
  "complexType": {
430
- "original": "Placement",
431
- "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
432
- "references": {
433
- "Placement": {
434
- "location": "import",
435
- "path": "@floating-ui/dom",
436
- "id": "node_modules::Placement"
437
- }
438
- }
647
+ "original": "string",
648
+ "resolved": "string",
649
+ "references": {}
439
650
  },
440
651
  "required": false,
441
652
  "optional": false,
442
653
  "docs": {
443
654
  "tags": [{
444
- "name": "default",
445
- "text": "'bottom'"
655
+ "name": "prop",
656
+ "text": "{string} confirmText - Text for the confirm button.\nDefault: 'Yes'"
446
657
  }],
447
- "text": "The placement position of the pop-up relative to the trigger element."
658
+ "text": ""
448
659
  },
449
660
  "getter": false,
450
661
  "setter": false,
451
662
  "reflect": false,
452
- "defaultValue": "'bottom'"
663
+ "attribute": "confirm-text",
664
+ "defaultValue": "'Yes'"
453
665
  },
454
- "size": {
666
+ "cancelText": {
455
667
  "type": "string",
456
- "attribute": "size",
457
668
  "mutable": false,
458
669
  "complexType": {
459
- "original": "'small' | 'medium' | 'large'",
460
- "resolved": "\"large\" | \"medium\" | \"small\"",
670
+ "original": "string",
671
+ "resolved": "string",
461
672
  "references": {}
462
673
  },
463
674
  "required": false,
464
675
  "optional": false,
465
676
  "docs": {
466
677
  "tags": [{
467
- "name": "default",
468
- "text": "'medium'"
678
+ "name": "prop",
679
+ "text": "{string} cancelText - Text for the cancel button.\nDefault: 'Cancel'"
469
680
  }],
470
- "text": "The size of the pop-up, determining its dimensions and padding."
681
+ "text": ""
471
682
  },
472
683
  "getter": false,
473
684
  "setter": false,
474
685
  "reflect": false,
475
- "defaultValue": "'medium'"
686
+ "attribute": "cancel-text",
687
+ "defaultValue": "'Cancel'"
476
688
  },
477
- "status": {
478
- "type": "string",
479
- "attribute": "status",
689
+ "showArrow": {
690
+ "type": "boolean",
480
691
  "mutable": false,
481
692
  "complexType": {
482
- "original": "'info' | 'error' | 'warning' | 'success'",
483
- "resolved": "\"error\" | \"info\" | \"success\" | \"warning\"",
693
+ "original": "boolean",
694
+ "resolved": "boolean",
484
695
  "references": {}
485
696
  },
486
697
  "required": false,
487
698
  "optional": false,
488
699
  "docs": {
489
700
  "tags": [{
490
- "name": "default",
491
- "text": "'info'"
701
+ "name": "prop",
702
+ "text": "{boolean} showArrow - Whether to show the arrow pointing to the trigger.\nDefault: true"
492
703
  }],
493
- "text": "The status of the pop-up, affecting its icon and color scheme."
704
+ "text": ""
494
705
  },
495
706
  "getter": false,
496
707
  "setter": false,
497
708
  "reflect": false,
498
- "defaultValue": "'info'"
709
+ "attribute": "show-arrow",
710
+ "defaultValue": "true"
499
711
  },
500
712
  "statusIcon": {
501
713
  "type": "boolean",
714
+ "mutable": false,
715
+ "complexType": {
716
+ "original": "boolean",
717
+ "resolved": "boolean",
718
+ "references": {}
719
+ },
720
+ "required": false,
721
+ "optional": false,
722
+ "docs": {
723
+ "tags": [{
724
+ "name": "prop",
725
+ "text": "{boolean} statusIcon - Whether to show the status icon in the header.\nIcon only shows if headerText is also provided.\nDefault: true"
726
+ }],
727
+ "text": ""
728
+ },
729
+ "getter": false,
730
+ "setter": false,
731
+ "reflect": false,
502
732
  "attribute": "status-icon",
733
+ "defaultValue": "true"
734
+ },
735
+ "offsetDistance": {
736
+ "type": "number",
737
+ "mutable": false,
738
+ "complexType": {
739
+ "original": "number",
740
+ "resolved": "number",
741
+ "references": {}
742
+ },
743
+ "required": false,
744
+ "optional": false,
745
+ "docs": {
746
+ "tags": [{
747
+ "name": "prop",
748
+ "text": "{number} offsetDistance - Distance in pixels between the popover and trigger element.\nDefault: 12"
749
+ }],
750
+ "text": ""
751
+ },
752
+ "getter": false,
753
+ "setter": false,
754
+ "reflect": false,
755
+ "attribute": "offset-distance",
756
+ "defaultValue": "12"
757
+ },
758
+ "closeOnOutsideClick": {
759
+ "type": "boolean",
503
760
  "mutable": false,
504
761
  "complexType": {
505
762
  "original": "boolean",
@@ -510,53 +767,132 @@ export class PopConfirm {
510
767
  "optional": false,
511
768
  "docs": {
512
769
  "tags": [{
513
- "name": "default",
514
- "text": "true"
770
+ "name": "prop",
771
+ "text": "{boolean} closeOnOutsideClick - Whether to close when clicking outside the popover.\nDefault: true"
515
772
  }],
516
- "text": "Whether to display a status icon based on the `status` prop."
773
+ "text": ""
517
774
  },
518
775
  "getter": false,
519
776
  "setter": false,
520
777
  "reflect": false,
778
+ "attribute": "close-on-outside-click",
521
779
  "defaultValue": "true"
522
780
  },
523
- "targetId": {
524
- "type": "string",
525
- "attribute": "target-id",
781
+ "closeOnEscape": {
782
+ "type": "boolean",
526
783
  "mutable": false,
527
784
  "complexType": {
528
- "original": "string",
529
- "resolved": "string",
785
+ "original": "boolean",
786
+ "resolved": "boolean",
530
787
  "references": {}
531
788
  },
532
789
  "required": false,
533
790
  "optional": false,
534
791
  "docs": {
535
- "tags": [],
536
- "text": "The ID of the trigger element (e.g., a button) that opens the pop-up."
792
+ "tags": [{
793
+ "name": "prop",
794
+ "text": "{boolean} closeOnEscape - Whether to close when pressing the Escape key.\nDefault: true"
795
+ }],
796
+ "text": ""
537
797
  },
538
798
  "getter": false,
539
799
  "setter": false,
540
- "reflect": false
800
+ "reflect": false,
801
+ "attribute": "close-on-escape",
802
+ "defaultValue": "true"
541
803
  }
542
804
  };
543
805
  }
544
806
  static get states() {
545
807
  return {
546
- "isOpen": {},
547
- "currentPlacement": {}
808
+ "isOpen": {}
548
809
  };
549
810
  }
550
811
  static get events() {
551
812
  return [{
813
+ "method": "bcmBeforeOpen",
814
+ "name": "bcmBeforeOpen",
815
+ "bubbles": false,
816
+ "cancelable": true,
817
+ "composed": false,
818
+ "docs": {
819
+ "tags": [{
820
+ "name": "event",
821
+ "text": "bcmBeforeOpen - Emitted before the popover opens.\nUseful for performing actions before the popover becomes visible."
822
+ }],
823
+ "text": ""
824
+ },
825
+ "complexType": {
826
+ "original": "void",
827
+ "resolved": "void",
828
+ "references": {}
829
+ }
830
+ }, {
831
+ "method": "bcmOpen",
832
+ "name": "bcmOpen",
833
+ "bubbles": false,
834
+ "cancelable": true,
835
+ "composed": false,
836
+ "docs": {
837
+ "tags": [{
838
+ "name": "event",
839
+ "text": "bcmOpen - Emitted when the popover is opened.\nUseful for tracking when the popover becomes visible."
840
+ }],
841
+ "text": ""
842
+ },
843
+ "complexType": {
844
+ "original": "void",
845
+ "resolved": "void",
846
+ "references": {}
847
+ }
848
+ }, {
849
+ "method": "bcmBeforeClose",
850
+ "name": "bcmBeforeClose",
851
+ "bubbles": false,
852
+ "cancelable": true,
853
+ "composed": false,
854
+ "docs": {
855
+ "tags": [{
856
+ "name": "event",
857
+ "text": "bcmBeforeClose - Emitted before the popover closes.\nUseful for performing cleanup actions before hiding."
858
+ }],
859
+ "text": ""
860
+ },
861
+ "complexType": {
862
+ "original": "void",
863
+ "resolved": "void",
864
+ "references": {}
865
+ }
866
+ }, {
867
+ "method": "bcmClose",
868
+ "name": "bcmClose",
869
+ "bubbles": false,
870
+ "cancelable": true,
871
+ "composed": false,
872
+ "docs": {
873
+ "tags": [{
874
+ "name": "event",
875
+ "text": "bcmClose - Emitted when the popover is closed.\nUseful for tracking when the popover is hidden."
876
+ }],
877
+ "text": ""
878
+ },
879
+ "complexType": {
880
+ "original": "void",
881
+ "resolved": "void",
882
+ "references": {}
883
+ }
884
+ }, {
552
885
  "method": "bcmConfirm",
553
886
  "name": "bcmConfirm",
554
887
  "bubbles": false,
555
888
  "cancelable": true,
556
889
  "composed": false,
557
890
  "docs": {
558
- "tags": [],
559
- "text": "Emits an event when the user confirms the action in the pop-up."
891
+ "tags": [{
892
+ "name": "event",
893
+ "text": "bcmConfirm - Emitted when the user clicks the confirm button.\nThis is where you should handle the confirmed action."
894
+ }],
895
+ "text": ""
560
896
  },
561
897
  "complexType": {
562
898
  "original": "void",
@@ -570,8 +906,11 @@ export class PopConfirm {
570
906
  "cancelable": true,
571
907
  "composed": false,
572
908
  "docs": {
573
- "tags": [],
574
- "text": "Emits an event when the user cancels the action in the pop-up."
909
+ "tags": [{
910
+ "name": "event",
911
+ "text": "bcmCancel - Emitted when the user clicks cancel, presses Escape, or clicks outside.\nUseful for tracking when the user dismisses the confirmation."
912
+ }],
913
+ "text": ""
575
914
  },
576
915
  "complexType": {
577
916
  "original": "void",
@@ -595,10 +934,10 @@ export class PopConfirm {
595
934
  "return": "Promise<void>"
596
935
  },
597
936
  "docs": {
598
- "text": "Programmatically shows the pop-up by setting `isOpen` to true and updating its position.",
937
+ "text": "Programmatically shows the popconfirm.",
599
938
  "tags": [{
600
939
  "name": "returns",
601
- "text": "A promise that resolves when the pop-up is shown."
940
+ "text": "Promise that resolves when the show operation begins"
602
941
  }]
603
942
  }
604
943
  },
@@ -615,15 +954,50 @@ export class PopConfirm {
615
954
  "return": "Promise<void>"
616
955
  },
617
956
  "docs": {
618
- "text": "Programmatically hides the pop-up by setting `isOpen` to false.",
957
+ "text": "Programmatically hides the popconfirm.",
619
958
  "tags": [{
620
959
  "name": "returns",
621
- "text": "A promise that resolves when the pop-up is hidden."
960
+ "text": "Promise that resolves when the hide operation begins"
961
+ }]
962
+ }
963
+ },
964
+ "toggle": {
965
+ "complexType": {
966
+ "signature": "() => Promise<void>",
967
+ "parameters": [],
968
+ "references": {
969
+ "Promise": {
970
+ "location": "global",
971
+ "id": "global::Promise"
972
+ }
973
+ },
974
+ "return": "Promise<void>"
975
+ },
976
+ "docs": {
977
+ "text": "Toggles the popconfirm visibility.\nIf open, it will close. If closed, it will open.",
978
+ "tags": [{
979
+ "name": "returns",
980
+ "text": "Promise that resolves when the toggle operation completes"
622
981
  }]
623
982
  }
624
983
  }
625
984
  };
626
985
  }
627
- static get elementRef() { return "el"; }
986
+ static get elementRef() { return "host"; }
987
+ static get watchers() {
988
+ return [{
989
+ "propName": "isOpen",
990
+ "methodName": "handleOpenChange"
991
+ }];
992
+ }
993
+ static get listeners() {
994
+ return [{
995
+ "name": "keydown",
996
+ "method": "handleKeyDown",
997
+ "target": "document",
998
+ "capture": false,
999
+ "passive": false
1000
+ }];
1001
+ }
628
1002
  }
629
1003
  //# sourceMappingURL=pop-confirm.component.js.map