bromcom-ui-next 0.1.29 → 0.1.31

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 (618) hide show
  1. package/dist/bromcom-ui/bcm-accordion-group.entry.esm.js.map +1 -1
  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-avatar.entry.esm.js.map +1 -1
  5. package/dist/bromcom-ui/bcm-badge.entry.esm.js.map +1 -1
  6. package/dist/bromcom-ui/bcm-basic-badge.entry.esm.js.map +1 -1
  7. package/dist/bromcom-ui/bcm-button-group.entry.esm.js.map +1 -1
  8. package/dist/bromcom-ui/bcm-button.entry.esm.js.map +1 -0
  9. package/dist/bromcom-ui/bcm-checkbox.entry.esm.js.map +1 -1
  10. package/dist/bromcom-ui/bcm-chip.entry.esm.js.map +1 -1
  11. package/dist/bromcom-ui/bcm-divider.entry.esm.js.map +1 -1
  12. package/dist/bromcom-ui/bcm-drawer.entry.esm.js.map +1 -0
  13. package/dist/bromcom-ui/bcm-dropdown-item.entry.esm.js.map +1 -1
  14. package/dist/bromcom-ui/bcm-dropdown.entry.esm.js.map +1 -1
  15. package/dist/bromcom-ui/bcm-file-upload.entry.esm.js.map +1 -0
  16. package/dist/bromcom-ui/bcm-input.entry.esm.js.map +1 -1
  17. package/dist/bromcom-ui/bcm-linked.entry.esm.js.map +1 -1
  18. package/dist/bromcom-ui/bcm-modal.entry.esm.js.map +1 -0
  19. package/dist/bromcom-ui/bcm-pop-confirm.entry.esm.js.map +1 -1
  20. package/dist/bromcom-ui/bcm-popover.entry.esm.js.map +1 -1
  21. package/dist/bromcom-ui/bcm-radio-group.entry.esm.js.map +1 -1
  22. package/dist/bromcom-ui/bcm-radio.entry.esm.js.map +1 -1
  23. package/dist/bromcom-ui/bcm-segment.bcm-segmented-picker.entry.esm.js.map +1 -0
  24. package/dist/bromcom-ui/bcm-shortcut.entry.esm.js.map +1 -1
  25. package/dist/bromcom-ui/bcm-switch.entry.esm.js.map +1 -1
  26. package/dist/bromcom-ui/bcm-tab.entry.esm.js.map +1 -0
  27. package/dist/bromcom-ui/bcm-tabs.entry.esm.js.map +1 -1
  28. package/dist/bromcom-ui/bcm-text.entry.esm.js.map +1 -1
  29. package/dist/bromcom-ui/bcm-textarea.entry.esm.js.map +1 -1
  30. package/dist/bromcom-ui/bcm-tooltip.entry.esm.js.map +1 -1
  31. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  32. package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
  33. package/dist/bromcom-ui/global/global.js +33 -30
  34. package/dist/bromcom-ui/p-010219cf.entry.js +2 -0
  35. package/dist/bromcom-ui/p-010219cf.entry.js.map +1 -0
  36. package/dist/bromcom-ui/p-01a4e00b.entry.js +2 -0
  37. package/dist/bromcom-ui/p-01a4e00b.entry.js.map +1 -0
  38. package/dist/bromcom-ui/p-14c63d61.entry.js +2 -0
  39. package/dist/bromcom-ui/p-14c63d61.entry.js.map +1 -0
  40. package/dist/bromcom-ui/p-20a94dec.entry.js +2 -0
  41. package/dist/bromcom-ui/p-20a94dec.entry.js.map +1 -0
  42. package/dist/bromcom-ui/p-398620c2.entry.js +2 -0
  43. package/dist/bromcom-ui/p-398620c2.entry.js.map +1 -0
  44. package/dist/bromcom-ui/p-3b898f90.entry.js +2 -0
  45. package/dist/bromcom-ui/p-3b898f90.entry.js.map +1 -0
  46. package/dist/bromcom-ui/p-43c85c84.entry.js +2 -0
  47. package/dist/bromcom-ui/p-43c85c84.entry.js.map +1 -0
  48. package/dist/bromcom-ui/p-4e6661a5.entry.js +2 -0
  49. package/dist/bromcom-ui/p-4e6661a5.entry.js.map +1 -0
  50. package/dist/bromcom-ui/p-52bb0cdc.entry.js +2 -0
  51. package/dist/bromcom-ui/p-52bb0cdc.entry.js.map +1 -0
  52. package/dist/bromcom-ui/p-61c1c1c8.entry.js +2 -0
  53. package/dist/bromcom-ui/p-61c1c1c8.entry.js.map +1 -0
  54. package/dist/bromcom-ui/p-82e4c5f2.entry.js +2 -0
  55. package/dist/bromcom-ui/p-82e4c5f2.entry.js.map +1 -0
  56. package/dist/bromcom-ui/p-86f85963.entry.js +2 -0
  57. package/dist/bromcom-ui/p-86f85963.entry.js.map +1 -0
  58. package/dist/bromcom-ui/p-9249c1d1.entry.js +2 -0
  59. package/dist/bromcom-ui/p-9249c1d1.entry.js.map +1 -0
  60. package/dist/bromcom-ui/p-B6Ppbs5O.js +3 -0
  61. package/dist/bromcom-ui/p-B6Ppbs5O.js.map +1 -0
  62. package/dist/bromcom-ui/p-BfTCfPZ1.js.map +1 -1
  63. package/dist/bromcom-ui/p-CEcVC0yX.js.map +1 -1
  64. package/dist/bromcom-ui/p-DBDSgIvP.js +2 -0
  65. package/dist/bromcom-ui/p-DBDSgIvP.js.map +1 -0
  66. package/dist/bromcom-ui/p-DaE0ZLar.js +2 -0
  67. package/dist/bromcom-ui/p-DaE0ZLar.js.map +1 -0
  68. package/dist/bromcom-ui/p-IBjzkjef.js.map +1 -1
  69. package/dist/bromcom-ui/p-a25d1cef.entry.js +2 -0
  70. package/dist/bromcom-ui/p-a25d1cef.entry.js.map +1 -0
  71. package/dist/bromcom-ui/p-a4cb2e79.entry.js +2 -0
  72. package/dist/bromcom-ui/p-a4cb2e79.entry.js.map +1 -0
  73. package/dist/bromcom-ui/p-a68925b4.entry.js +2 -0
  74. package/dist/bromcom-ui/p-a68925b4.entry.js.map +1 -0
  75. package/dist/bromcom-ui/p-a750186c.entry.js +2 -0
  76. package/dist/bromcom-ui/p-a750186c.entry.js.map +1 -0
  77. package/dist/bromcom-ui/p-ac768b56.entry.js +2 -0
  78. package/dist/bromcom-ui/p-ac768b56.entry.js.map +1 -0
  79. package/dist/bromcom-ui/p-b0b193e6.entry.js +2 -0
  80. package/dist/bromcom-ui/p-b0b193e6.entry.js.map +1 -0
  81. package/dist/bromcom-ui/p-bf4409ca.entry.js +2 -0
  82. package/dist/bromcom-ui/p-bf4409ca.entry.js.map +1 -0
  83. package/dist/bromcom-ui/p-c57fb29b.entry.js +2 -0
  84. package/dist/bromcom-ui/p-c57fb29b.entry.js.map +1 -0
  85. package/dist/bromcom-ui/{p-2480e468.entry.js → p-ccc310aa.entry.js} +2 -2
  86. package/dist/bromcom-ui/p-ccc310aa.entry.js.map +1 -0
  87. package/dist/bromcom-ui/p-d4ee962d.entry.js +2 -0
  88. package/dist/bromcom-ui/p-d4ee962d.entry.js.map +1 -0
  89. package/dist/bromcom-ui/p-e25a2f7a.entry.js +2 -0
  90. package/dist/bromcom-ui/p-e25a2f7a.entry.js.map +1 -0
  91. package/dist/bromcom-ui/p-e5b0b2ad.entry.js +2 -0
  92. package/dist/bromcom-ui/p-e5b0b2ad.entry.js.map +1 -0
  93. package/dist/bromcom-ui/p-e70d784d.entry.js +2 -0
  94. package/dist/bromcom-ui/p-e70d784d.entry.js.map +1 -0
  95. package/dist/bromcom-ui/p-e9fa3a22.entry.js +2 -0
  96. package/dist/bromcom-ui/p-e9fa3a22.entry.js.map +1 -0
  97. package/dist/bromcom-ui/p-ef281184.entry.js +2 -0
  98. package/dist/bromcom-ui/p-ef281184.entry.js.map +1 -0
  99. package/dist/bromcom-ui/{p-089edfdc.entry.js → p-fb6f616c.entry.js} +2 -2
  100. package/dist/bromcom-ui/p-fb6f616c.entry.js.map +1 -0
  101. package/dist/bromcom-ui/p-fd31c70c.entry.js +2 -0
  102. package/dist/bromcom-ui/p-fd31c70c.entry.js.map +1 -0
  103. package/dist/bromcom-ui/p-nf_HKsGq.js +2 -0
  104. package/dist/bromcom-ui/{p-CUvT12BL.js.map → p-nf_HKsGq.js.map} +1 -1
  105. package/dist/cjs/base-choice-control-EmA4JRjR.js +54 -0
  106. package/dist/cjs/base-choice-control-EmA4JRjR.js.map +1 -0
  107. package/dist/cjs/bcm-accordion-group.cjs.entry.js +21 -21
  108. package/dist/cjs/bcm-accordion-group.entry.cjs.js.map +1 -1
  109. package/dist/cjs/bcm-accordion.cjs.entry.js +75 -60
  110. package/dist/cjs/bcm-accordion.entry.cjs.js.map +1 -1
  111. package/dist/cjs/bcm-alert.cjs.entry.js +21 -23
  112. package/dist/cjs/bcm-alert.entry.cjs.js.map +1 -1
  113. package/dist/cjs/bcm-avatar.cjs.entry.js +22 -14
  114. package/dist/cjs/bcm-avatar.entry.cjs.js.map +1 -1
  115. package/dist/cjs/bcm-badge.cjs.entry.js +114 -84
  116. package/dist/cjs/bcm-badge.entry.cjs.js.map +1 -1
  117. package/dist/cjs/bcm-basic-badge.cjs.entry.js +73 -61
  118. package/dist/cjs/bcm-basic-badge.entry.cjs.js.map +1 -1
  119. package/dist/cjs/bcm-button-group.cjs.entry.js +36 -26
  120. package/dist/cjs/bcm-button-group.entry.cjs.js.map +1 -1
  121. package/dist/cjs/bcm-button.cjs.entry.js +338 -0
  122. package/dist/cjs/bcm-button.entry.cjs.js.map +1 -0
  123. package/dist/cjs/bcm-checkbox.cjs.entry.js +284 -176
  124. package/dist/cjs/bcm-checkbox.entry.cjs.js.map +1 -1
  125. package/dist/cjs/bcm-chip.cjs.entry.js +38 -37
  126. package/dist/cjs/bcm-chip.entry.cjs.js.map +1 -1
  127. package/dist/cjs/bcm-divider.cjs.entry.js +56 -58
  128. package/dist/cjs/bcm-divider.entry.cjs.js.map +1 -1
  129. package/dist/cjs/bcm-drawer.cjs.entry.js +332 -0
  130. package/dist/cjs/bcm-drawer.entry.cjs.js.map +1 -0
  131. package/dist/cjs/bcm-dropdown-item.cjs.entry.js +36 -35
  132. package/dist/cjs/bcm-dropdown-item.entry.cjs.js.map +1 -1
  133. package/dist/cjs/bcm-dropdown.cjs.entry.js +17 -26
  134. package/dist/cjs/bcm-dropdown.entry.cjs.js.map +1 -1
  135. package/dist/cjs/bcm-file-upload.cjs.entry.js +552 -0
  136. package/dist/cjs/bcm-file-upload.entry.cjs.js.map +1 -0
  137. package/dist/cjs/bcm-input.cjs.entry.js +250 -160
  138. package/dist/cjs/bcm-input.entry.cjs.js.map +1 -1
  139. package/dist/cjs/bcm-linked.cjs.entry.js +373 -264
  140. package/dist/cjs/bcm-linked.entry.cjs.js.map +1 -1
  141. package/dist/cjs/bcm-modal.cjs.entry.js +360 -0
  142. package/dist/cjs/bcm-modal.entry.cjs.js.map +1 -0
  143. package/dist/cjs/bcm-pop-confirm.cjs.entry.js +337 -206
  144. package/dist/cjs/bcm-pop-confirm.entry.cjs.js.map +1 -1
  145. package/dist/cjs/bcm-popover.cjs.entry.js +416 -154
  146. package/dist/cjs/bcm-popover.entry.cjs.js.map +1 -1
  147. package/dist/cjs/bcm-radio-group.cjs.entry.js +103 -82
  148. package/dist/cjs/bcm-radio-group.entry.cjs.js.map +1 -1
  149. package/dist/cjs/bcm-radio.cjs.entry.js +239 -108
  150. package/dist/cjs/bcm-radio.entry.cjs.js.map +1 -1
  151. package/dist/cjs/bcm-segment.bcm-segmented-picker.entry.cjs.js.map +1 -0
  152. package/dist/cjs/bcm-segment_2.cjs.entry.js +335 -0
  153. package/dist/cjs/bcm-shortcut.cjs.entry.js +5 -6
  154. package/dist/cjs/bcm-shortcut.entry.cjs.js.map +1 -1
  155. package/dist/cjs/bcm-switch.cjs.entry.js +281 -150
  156. package/dist/cjs/bcm-switch.entry.cjs.js.map +1 -1
  157. package/dist/cjs/bcm-tab.cjs.entry.js +44 -0
  158. package/dist/cjs/bcm-tab.entry.cjs.js.map +1 -0
  159. package/dist/cjs/bcm-tabs.cjs.entry.js +191 -239
  160. package/dist/cjs/bcm-tabs.entry.cjs.js.map +1 -1
  161. package/dist/cjs/bcm-text.cjs.entry.js +86 -87
  162. package/dist/cjs/bcm-text.entry.cjs.js.map +1 -1
  163. package/dist/cjs/bcm-textarea.cjs.entry.js +224 -156
  164. package/dist/cjs/bcm-textarea.entry.cjs.js.map +1 -1
  165. package/dist/cjs/bcm-tooltip.cjs.entry.js +386 -152
  166. package/dist/cjs/bcm-tooltip.entry.cjs.js.map +1 -1
  167. package/dist/cjs/bromcom-ui.cjs.js +3 -5
  168. package/dist/cjs/bromcom-ui.cjs.js.map +1 -1
  169. package/dist/cjs/{floating-ui.dom-DyKmFgkP.js → floating-ui.dom-S9nP6zZt.js} +40 -23
  170. package/dist/cjs/floating-ui.dom-S9nP6zZt.js.map +1 -0
  171. package/dist/cjs/generate-id-CG_BkTJu.js.map +1 -1
  172. package/dist/cjs/{index-BtiU-G2W.js → index-1Qal-onT.js} +165 -398
  173. package/dist/cjs/index-1Qal-onT.js.map +1 -0
  174. package/dist/cjs/index-Bp6Dd2i1.js.map +1 -1
  175. package/dist/cjs/index.cjs.js +0 -2
  176. package/dist/cjs/loader.cjs.js +2 -4
  177. package/dist/cjs/tv-ngpIbGlG.js.map +1 -1
  178. package/dist/cjs/{validation-messages-BjfpSEWk.js → validation-messages-DieKlSG4.js} +6 -7
  179. package/dist/{esm/validation-messages-CUvT12BL.js.map → cjs/validation-messages-DieKlSG4.js.map} +1 -1
  180. package/dist/collection/collection-manifest.json +7 -8
  181. package/dist/collection/components/_shared/form/base-choice-control.js +90 -0
  182. package/dist/collection/components/_shared/form/base-choice-control.js.map +1 -0
  183. package/dist/collection/components/_shared/form/base-form-control.js +115 -0
  184. package/dist/collection/components/_shared/form/base-form-control.js.map +1 -0
  185. package/dist/collection/components/accordion/accordion.component.js +80 -63
  186. package/dist/collection/components/accordion/accordion.component.js.map +1 -1
  187. package/dist/collection/components/accordion/accordion.css +1 -1
  188. package/dist/collection/components/accordion-group/accordion-group.component.js +23 -21
  189. package/dist/collection/components/accordion-group/accordion-group.component.js.map +1 -1
  190. package/dist/collection/components/accordion-group/types.js.map +1 -1
  191. package/dist/collection/components/alert/alert.component.js +24 -26
  192. package/dist/collection/components/alert/alert.component.js.map +1 -1
  193. package/dist/collection/components/alert/alert.css +1 -1
  194. package/dist/collection/components/avatar/avatar.component.js +34 -26
  195. package/dist/collection/components/avatar/avatar.component.js.map +1 -1
  196. package/dist/collection/components/avatar/avatar.css +1 -1
  197. package/dist/collection/components/badge/badge.component.js +124 -94
  198. package/dist/collection/components/badge/badge.component.js.map +1 -1
  199. package/dist/collection/components/badge/badge.css +1 -1
  200. package/dist/collection/components/basic-badge/basic-badge.component.js +77 -65
  201. package/dist/collection/components/basic-badge/basic-badge.component.js.map +1 -1
  202. package/dist/collection/components/basic-badge/basic-badge.css +1 -1
  203. package/dist/collection/components/button/button.component.js +135 -114
  204. package/dist/collection/components/button/button.component.js.map +1 -1
  205. package/dist/collection/components/button/button.css +1 -1
  206. package/dist/collection/components/button-group/button-group.component.js +47 -36
  207. package/dist/collection/components/button-group/button-group.component.js.map +1 -1
  208. package/dist/collection/components/button-group/button-group.css +1 -1
  209. package/dist/collection/components/checkbox/checkbox.component.js +362 -243
  210. package/dist/collection/components/checkbox/checkbox.component.js.map +1 -1
  211. package/dist/collection/components/checkbox/checkbox.css +1 -1
  212. package/dist/collection/components/chip/chip.component.js +42 -41
  213. package/dist/collection/components/chip/chip.component.js.map +1 -1
  214. package/dist/collection/components/chip/chip.css +1 -1
  215. package/dist/collection/components/divider/divider.component.js +56 -58
  216. package/dist/collection/components/divider/divider.component.js.map +1 -1
  217. package/dist/collection/components/divider/divider.css +1 -1
  218. package/dist/collection/components/drawer/drawer.component.js +476 -155
  219. package/dist/collection/components/drawer/drawer.component.js.map +1 -1
  220. package/dist/collection/components/drawer/drawer.css +1 -1
  221. package/dist/collection/components/drawer/types.js.map +1 -1
  222. package/dist/collection/components/dropdown/dropdown.component.js +18 -27
  223. package/dist/collection/components/dropdown/dropdown.component.js.map +1 -1
  224. package/dist/collection/components/dropdown-item/dropdown-item.component.js +41 -40
  225. package/dist/collection/components/dropdown-item/dropdown-item.component.js.map +1 -1
  226. package/dist/collection/components/dropdown-item/dropdown-item.css +1 -1
  227. package/dist/collection/components/input/input.component.js +283 -198
  228. package/dist/collection/components/input/input.component.js.map +1 -1
  229. package/dist/collection/components/linked/linked.component.js +551 -355
  230. package/dist/collection/components/linked/linked.component.js.map +1 -1
  231. package/dist/collection/components/linked/linked.css +1 -1
  232. package/dist/collection/components/modal/modal.component.js +276 -149
  233. package/dist/collection/components/modal/modal.component.js.map +1 -1
  234. package/dist/collection/components/modal/modal.css +1 -1
  235. package/dist/collection/components/pop-confirm/pop-confirm.component.js +745 -340
  236. package/dist/collection/components/pop-confirm/pop-confirm.component.js.map +1 -1
  237. package/dist/collection/components/pop-confirm/pop-confirm.css +1 -1
  238. package/dist/collection/components/popover/popover.component.js +609 -196
  239. package/dist/collection/components/popover/popover.component.js.map +1 -1
  240. package/dist/collection/components/popover/popover.css +1 -1
  241. package/dist/collection/components/radio/radio.component.js +294 -118
  242. package/dist/collection/components/radio/radio.component.js.map +1 -1
  243. package/dist/collection/components/radio-group/radio-group.component.js +115 -93
  244. package/dist/collection/components/radio-group/radio-group.component.js.map +1 -1
  245. package/dist/collection/components/segmented-picker/segment.component.js +228 -0
  246. package/dist/collection/components/segmented-picker/segment.component.js.map +1 -0
  247. package/dist/collection/components/segmented-picker/segment.css +1 -0
  248. package/dist/collection/components/segmented-picker/segmented-picker.component.js +357 -142
  249. package/dist/collection/components/segmented-picker/segmented-picker.component.js.map +1 -1
  250. package/dist/collection/components/segmented-picker/segmented-picker.css +1 -1
  251. package/dist/collection/components/shortcut/shortcut.js +7 -8
  252. package/dist/collection/components/shortcut/shortcut.js.map +1 -1
  253. package/dist/collection/components/switch/switch.component.js +357 -287
  254. package/dist/collection/components/switch/switch.component.js.map +1 -1
  255. package/dist/collection/components/switch/switch.css +1 -1
  256. package/dist/collection/components/tabs/bcm-tab.css +1 -0
  257. package/dist/collection/components/tabs/bcm-tabs.css +1 -1
  258. package/dist/collection/components/tabs/tab.component.js +169 -0
  259. package/dist/collection/components/tabs/tab.component.js.map +1 -0
  260. package/dist/collection/components/tabs/tabs.component.js +224 -355
  261. package/dist/collection/components/tabs/tabs.component.js.map +1 -1
  262. package/dist/collection/components/text/text.component.js +90 -91
  263. package/dist/collection/components/text/text.component.js.map +1 -1
  264. package/dist/collection/components/textarea/textarea.component.js +252 -190
  265. package/dist/collection/components/textarea/textarea.component.js.map +1 -1
  266. package/dist/collection/components/tooltip/tooltip.component.js +605 -220
  267. package/dist/collection/components/tooltip/tooltip.component.js.map +1 -1
  268. package/dist/collection/components/tooltip/tooltip.css +1 -1
  269. package/dist/collection/components/upload/file-upload.component.js +905 -0
  270. package/dist/collection/components/upload/file-upload.component.js.map +1 -0
  271. package/dist/collection/components/upload/file-upload.css +1 -0
  272. package/dist/collection/global/global.js +33 -30
  273. package/dist/collection/utils/i18n.js +3 -4
  274. package/dist/collection/utils/i18n.js.map +1 -1
  275. package/dist/collection/utils/slot/check-slot-content.js +1 -2
  276. package/dist/collection/utils/slot/check-slot-content.js.map +1 -1
  277. package/dist/collection/utils/validation-messages.js +1 -1
  278. package/dist/collection/utils/validation-messages.js.map +1 -1
  279. package/dist/components/bcm-accordion-group.js +24 -20
  280. package/dist/components/bcm-accordion-group.js.map +1 -1
  281. package/dist/components/bcm-accordion.js +78 -59
  282. package/dist/components/bcm-accordion.js.map +1 -1
  283. package/dist/components/bcm-alert.js +1 -112
  284. package/dist/components/bcm-alert.js.map +1 -1
  285. package/dist/components/bcm-avatar.js +26 -14
  286. package/dist/components/bcm-avatar.js.map +1 -1
  287. package/dist/components/bcm-badge.js +1 -1
  288. package/dist/components/bcm-basic-badge.js +76 -60
  289. package/dist/components/bcm-basic-badge.js.map +1 -1
  290. package/dist/components/bcm-button-group.js +39 -25
  291. package/dist/components/bcm-button-group.js.map +1 -1
  292. package/dist/components/bcm-button.js +1 -1
  293. package/dist/components/bcm-checkbox.js +300 -186
  294. package/dist/components/bcm-checkbox.js.map +1 -1
  295. package/dist/components/bcm-chip.js +41 -36
  296. package/dist/components/bcm-chip.js.map +1 -1
  297. package/dist/components/bcm-divider.js +59 -57
  298. package/dist/components/bcm-divider.js.map +1 -1
  299. package/dist/components/bcm-drawer.js +276 -138
  300. package/dist/components/bcm-drawer.js.map +1 -1
  301. package/dist/components/bcm-dropdown-item.js +40 -35
  302. package/dist/components/bcm-dropdown-item.js.map +1 -1
  303. package/dist/components/bcm-dropdown.js +22 -28
  304. package/dist/components/bcm-dropdown.js.map +1 -1
  305. package/dist/components/{bcm-tabs-content.d.ts → bcm-file-upload.d.ts} +4 -4
  306. package/dist/components/bcm-file-upload.js +593 -0
  307. package/dist/components/bcm-file-upload.js.map +1 -0
  308. package/dist/components/bcm-input.js +248 -160
  309. package/dist/components/bcm-input.js.map +1 -1
  310. package/dist/components/bcm-linked.js +1 -1
  311. package/dist/components/bcm-modal.js +196 -119
  312. package/dist/components/bcm-modal.js.map +1 -1
  313. package/dist/components/bcm-pop-confirm.js +354 -215
  314. package/dist/components/bcm-pop-confirm.js.map +1 -1
  315. package/dist/components/bcm-popover.js +431 -157
  316. package/dist/components/bcm-popover.js.map +1 -1
  317. package/dist/components/bcm-radio-group.js +106 -81
  318. package/dist/components/bcm-radio-group.js.map +1 -1
  319. package/dist/components/bcm-radio.js +245 -110
  320. package/dist/components/bcm-radio.js.map +1 -1
  321. package/dist/components/{bcm-tabs-list.d.ts → bcm-segment.d.ts} +4 -4
  322. package/dist/components/bcm-segment.js +110 -0
  323. package/dist/components/bcm-segment.js.map +1 -0
  324. package/dist/components/bcm-segmented-picker.js +238 -117
  325. package/dist/components/bcm-segmented-picker.js.map +1 -1
  326. package/dist/components/bcm-shortcut.js +8 -5
  327. package/dist/components/bcm-shortcut.js.map +1 -1
  328. package/dist/components/bcm-switch.js +296 -158
  329. package/dist/components/bcm-switch.js.map +1 -1
  330. package/dist/components/{bcm-tabs-trigger.d.ts → bcm-tab.d.ts} +4 -4
  331. package/dist/components/bcm-tab.js +71 -0
  332. package/dist/components/bcm-tab.js.map +1 -0
  333. package/dist/components/bcm-tabs.js +200 -249
  334. package/dist/components/bcm-tabs.js.map +1 -1
  335. package/dist/components/bcm-text.js +89 -86
  336. package/dist/components/bcm-text.js.map +1 -1
  337. package/dist/components/bcm-textarea.js +222 -156
  338. package/dist/components/bcm-textarea.js.map +1 -1
  339. package/dist/components/bcm-tooltip.js +402 -154
  340. package/dist/components/bcm-tooltip.js.map +1 -1
  341. package/dist/components/index.js +140 -392
  342. package/dist/components/index.js.map +1 -1
  343. package/dist/components/p-5_TgtzQU.js +119 -0
  344. package/dist/components/p-5_TgtzQU.js.map +1 -0
  345. package/dist/components/p-BfTCfPZ1.js.map +1 -1
  346. package/dist/components/p-CEcVC0yX.js.map +1 -1
  347. package/dist/components/{p-CzcTU1ty.js → p-DBDSgIvP.js} +40 -23
  348. package/dist/components/p-DBDSgIvP.js.map +1 -0
  349. package/dist/components/p-IBjzkjef.js.map +1 -1
  350. package/dist/components/p-RlBWOSgL.js +179 -0
  351. package/dist/components/p-RlBWOSgL.js.map +1 -0
  352. package/dist/components/p-SERXqWcS.js +51 -0
  353. package/dist/components/p-SERXqWcS.js.map +1 -0
  354. package/dist/components/{p-CUvT12BL.js → p-nf_HKsGq.js} +6 -7
  355. package/dist/components/p-nf_HKsGq.js.map +1 -0
  356. package/dist/components/{p-DHONP_n4.js → p-xQIzBLsS.js} +112 -87
  357. package/dist/components/p-xQIzBLsS.js.map +1 -0
  358. package/dist/components/p-z9ESseGb.js +492 -0
  359. package/dist/components/p-z9ESseGb.js.map +1 -0
  360. package/dist/esm/base-choice-control-CKR8UdZ6.js +52 -0
  361. package/dist/esm/base-choice-control-CKR8UdZ6.js.map +1 -0
  362. package/dist/esm/bcm-accordion-group.entry.js +21 -21
  363. package/dist/esm/bcm-accordion-group.entry.js.map +1 -1
  364. package/dist/esm/bcm-accordion.entry.js +75 -60
  365. package/dist/esm/bcm-accordion.entry.js.map +1 -1
  366. package/dist/esm/bcm-alert.entry.js +21 -23
  367. package/dist/esm/bcm-alert.entry.js.map +1 -1
  368. package/dist/esm/bcm-avatar.entry.js +22 -14
  369. package/dist/esm/bcm-avatar.entry.js.map +1 -1
  370. package/dist/esm/bcm-badge.entry.js +114 -84
  371. package/dist/esm/bcm-badge.entry.js.map +1 -1
  372. package/dist/esm/bcm-basic-badge.entry.js +73 -61
  373. package/dist/esm/bcm-basic-badge.entry.js.map +1 -1
  374. package/dist/esm/bcm-button-group.entry.js +36 -26
  375. package/dist/esm/bcm-button-group.entry.js.map +1 -1
  376. package/dist/esm/bcm-button.entry.js +336 -0
  377. package/dist/esm/bcm-button.entry.js.map +1 -0
  378. package/dist/esm/bcm-checkbox.entry.js +284 -176
  379. package/dist/esm/bcm-checkbox.entry.js.map +1 -1
  380. package/dist/esm/bcm-chip.entry.js +38 -37
  381. package/dist/esm/bcm-chip.entry.js.map +1 -1
  382. package/dist/esm/bcm-divider.entry.js +56 -58
  383. package/dist/esm/bcm-divider.entry.js.map +1 -1
  384. package/dist/esm/bcm-drawer.entry.js +330 -0
  385. package/dist/esm/bcm-drawer.entry.js.map +1 -0
  386. package/dist/esm/bcm-dropdown-item.entry.js +36 -35
  387. package/dist/esm/bcm-dropdown-item.entry.js.map +1 -1
  388. package/dist/esm/bcm-dropdown.entry.js +17 -26
  389. package/dist/esm/bcm-dropdown.entry.js.map +1 -1
  390. package/dist/esm/bcm-file-upload.entry.js +550 -0
  391. package/dist/esm/bcm-file-upload.entry.js.map +1 -0
  392. package/dist/esm/bcm-input.entry.js +250 -160
  393. package/dist/esm/bcm-input.entry.js.map +1 -1
  394. package/dist/esm/bcm-linked.entry.js +373 -264
  395. package/dist/esm/bcm-linked.entry.js.map +1 -1
  396. package/dist/esm/bcm-modal.entry.js +358 -0
  397. package/dist/esm/bcm-modal.entry.js.map +1 -0
  398. package/dist/esm/bcm-pop-confirm.entry.js +337 -206
  399. package/dist/esm/bcm-pop-confirm.entry.js.map +1 -1
  400. package/dist/esm/bcm-popover.entry.js +416 -154
  401. package/dist/esm/bcm-popover.entry.js.map +1 -1
  402. package/dist/esm/bcm-radio-group.entry.js +103 -82
  403. package/dist/esm/bcm-radio-group.entry.js.map +1 -1
  404. package/dist/esm/bcm-radio.entry.js +239 -108
  405. package/dist/esm/bcm-radio.entry.js.map +1 -1
  406. package/dist/esm/bcm-segment.bcm-segmented-picker.entry.js.map +1 -0
  407. package/dist/esm/bcm-segment_2.entry.js +332 -0
  408. package/dist/esm/bcm-shortcut.entry.js +5 -6
  409. package/dist/esm/bcm-shortcut.entry.js.map +1 -1
  410. package/dist/esm/bcm-switch.entry.js +281 -150
  411. package/dist/esm/bcm-switch.entry.js.map +1 -1
  412. package/dist/esm/bcm-tab.entry.js +42 -0
  413. package/dist/esm/bcm-tab.entry.js.map +1 -0
  414. package/dist/esm/bcm-tabs.entry.js +191 -239
  415. package/dist/esm/bcm-tabs.entry.js.map +1 -1
  416. package/dist/esm/bcm-text.entry.js +86 -87
  417. package/dist/esm/bcm-text.entry.js.map +1 -1
  418. package/dist/esm/bcm-textarea.entry.js +224 -156
  419. package/dist/esm/bcm-textarea.entry.js.map +1 -1
  420. package/dist/esm/bcm-tooltip.entry.js +386 -152
  421. package/dist/esm/bcm-tooltip.entry.js.map +1 -1
  422. package/dist/esm/bromcom-ui.js +4 -6
  423. package/dist/esm/bromcom-ui.js.map +1 -1
  424. package/dist/esm/{floating-ui.dom-DxMLMJ3r.js → floating-ui.dom-DBDSgIvP.js} +41 -24
  425. package/dist/esm/floating-ui.dom-DBDSgIvP.js.map +1 -0
  426. package/dist/esm/generate-id-IBjzkjef.js.map +1 -1
  427. package/dist/esm/{index-BuuGCw0z.js → index-B6Ppbs5O.js} +165 -398
  428. package/dist/esm/index-B6Ppbs5O.js.map +1 -0
  429. package/dist/esm/index-BfTCfPZ1.js.map +1 -1
  430. package/dist/esm/index.js +0 -2
  431. package/dist/esm/loader.js +3 -5
  432. package/dist/esm/tv-CEcVC0yX.js.map +1 -1
  433. package/dist/esm/{validation-messages-CUvT12BL.js → validation-messages-nf_HKsGq.js} +6 -7
  434. package/dist/{cjs/validation-messages-BjfpSEWk.js.map → esm/validation-messages-nf_HKsGq.js.map} +1 -1
  435. package/dist/types/components/_shared/form/base-choice-control.d.ts +15 -0
  436. package/dist/types/components/_shared/form/base-form-control.d.ts +11 -0
  437. package/dist/types/components/accordion-group/types.d.ts +2 -2
  438. package/dist/types/components/checkbox/checkbox.component.d.ts +89 -71
  439. package/dist/types/components/drawer/drawer.component.d.ts +143 -3
  440. package/dist/types/components/drawer/types.d.ts +1 -1
  441. package/dist/types/components/dropdown/dropdown.component.d.ts +0 -3
  442. package/dist/types/components/input/input.component.d.ts +5 -0
  443. package/dist/types/components/linked/linked.component.d.ts +152 -36
  444. package/dist/types/components/modal/modal.component.d.ts +121 -0
  445. package/dist/types/components/pop-confirm/pop-confirm.component.d.ts +263 -143
  446. package/dist/types/components/popover/popover.component.d.ts +94 -39
  447. package/dist/types/components/radio/radio.component.d.ts +21 -0
  448. package/dist/types/components/segmented-picker/segment.component.d.ts +42 -0
  449. package/dist/types/components/segmented-picker/segmented-picker.component.d.ts +91 -24
  450. package/dist/types/components/switch/switch.component.d.ts +83 -43
  451. package/dist/types/components/tabs/tab.component.d.ts +33 -0
  452. package/dist/types/components/tabs/tabs.component.d.ts +51 -64
  453. package/dist/types/components/textarea/textarea.component.d.ts +5 -0
  454. package/dist/types/components/tooltip/tooltip.component.d.ts +147 -56
  455. package/dist/types/components/upload/file-upload.component.d.ts +107 -0
  456. package/dist/types/components.d.ts +2400 -742
  457. package/dist/types/stencil-public-runtime.d.ts +50 -3
  458. package/package.json +2 -2
  459. package/dist/bromcom-ui/bcm-button.bcm-drawer.bcm-modal.entry.esm.js.map +0 -1
  460. package/dist/bromcom-ui/bcm-segmented-picker-option.entry.esm.js.map +0 -1
  461. package/dist/bromcom-ui/bcm-segmented-picker.entry.esm.js.map +0 -1
  462. package/dist/bromcom-ui/bcm-tabs-content.entry.esm.js.map +0 -1
  463. package/dist/bromcom-ui/bcm-tabs-list.entry.esm.js.map +0 -1
  464. package/dist/bromcom-ui/bcm-tabs-trigger.entry.esm.js.map +0 -1
  465. package/dist/bromcom-ui/p-0101b4f2.entry.js +0 -2
  466. package/dist/bromcom-ui/p-0101b4f2.entry.js.map +0 -1
  467. package/dist/bromcom-ui/p-089edfdc.entry.js.map +0 -1
  468. package/dist/bromcom-ui/p-08bc93c5.entry.js +0 -2
  469. package/dist/bromcom-ui/p-08bc93c5.entry.js.map +0 -1
  470. package/dist/bromcom-ui/p-09be61c3.entry.js +0 -2
  471. package/dist/bromcom-ui/p-09be61c3.entry.js.map +0 -1
  472. package/dist/bromcom-ui/p-11851391.entry.js +0 -2
  473. package/dist/bromcom-ui/p-11851391.entry.js.map +0 -1
  474. package/dist/bromcom-ui/p-11f3e129.entry.js +0 -2
  475. package/dist/bromcom-ui/p-11f3e129.entry.js.map +0 -1
  476. package/dist/bromcom-ui/p-211ca6e0.entry.js +0 -2
  477. package/dist/bromcom-ui/p-211ca6e0.entry.js.map +0 -1
  478. package/dist/bromcom-ui/p-22edf049.entry.js +0 -2
  479. package/dist/bromcom-ui/p-22edf049.entry.js.map +0 -1
  480. package/dist/bromcom-ui/p-2480e468.entry.js.map +0 -1
  481. package/dist/bromcom-ui/p-26d2db9e.entry.js +0 -2
  482. package/dist/bromcom-ui/p-26d2db9e.entry.js.map +0 -1
  483. package/dist/bromcom-ui/p-2d0a6472.entry.js +0 -2
  484. package/dist/bromcom-ui/p-2d0a6472.entry.js.map +0 -1
  485. package/dist/bromcom-ui/p-360bff8a.entry.js +0 -2
  486. package/dist/bromcom-ui/p-360bff8a.entry.js.map +0 -1
  487. package/dist/bromcom-ui/p-488d6ef4.entry.js +0 -2
  488. package/dist/bromcom-ui/p-488d6ef4.entry.js.map +0 -1
  489. package/dist/bromcom-ui/p-5e0702d1.entry.js +0 -2
  490. package/dist/bromcom-ui/p-5e0702d1.entry.js.map +0 -1
  491. package/dist/bromcom-ui/p-63228f7e.entry.js +0 -2
  492. package/dist/bromcom-ui/p-63228f7e.entry.js.map +0 -1
  493. package/dist/bromcom-ui/p-6b585adc.entry.js +0 -2
  494. package/dist/bromcom-ui/p-6b585adc.entry.js.map +0 -1
  495. package/dist/bromcom-ui/p-6d7d73d5.entry.js +0 -2
  496. package/dist/bromcom-ui/p-6d7d73d5.entry.js.map +0 -1
  497. package/dist/bromcom-ui/p-7234af90.entry.js +0 -2
  498. package/dist/bromcom-ui/p-7234af90.entry.js.map +0 -1
  499. package/dist/bromcom-ui/p-83f64814.entry.js +0 -2
  500. package/dist/bromcom-ui/p-83f64814.entry.js.map +0 -1
  501. package/dist/bromcom-ui/p-8ace5a6a.entry.js +0 -2
  502. package/dist/bromcom-ui/p-8ace5a6a.entry.js.map +0 -1
  503. package/dist/bromcom-ui/p-8d74249a.entry.js +0 -2
  504. package/dist/bromcom-ui/p-8d74249a.entry.js.map +0 -1
  505. package/dist/bromcom-ui/p-BuuGCw0z.js +0 -3
  506. package/dist/bromcom-ui/p-BuuGCw0z.js.map +0 -1
  507. package/dist/bromcom-ui/p-CUvT12BL.js +0 -2
  508. package/dist/bromcom-ui/p-DxMLMJ3r.js +0 -2
  509. package/dist/bromcom-ui/p-DxMLMJ3r.js.map +0 -1
  510. package/dist/bromcom-ui/p-a88f20e0.entry.js +0 -2
  511. package/dist/bromcom-ui/p-a88f20e0.entry.js.map +0 -1
  512. package/dist/bromcom-ui/p-bad299f2.entry.js +0 -2
  513. package/dist/bromcom-ui/p-bad299f2.entry.js.map +0 -1
  514. package/dist/bromcom-ui/p-bdaf5653.entry.js +0 -2
  515. package/dist/bromcom-ui/p-bdaf5653.entry.js.map +0 -1
  516. package/dist/bromcom-ui/p-c0e7f9d6.entry.js +0 -2
  517. package/dist/bromcom-ui/p-c0e7f9d6.entry.js.map +0 -1
  518. package/dist/bromcom-ui/p-c34f0a66.entry.js +0 -2
  519. package/dist/bromcom-ui/p-c34f0a66.entry.js.map +0 -1
  520. package/dist/bromcom-ui/p-d7cea19f.entry.js +0 -2
  521. package/dist/bromcom-ui/p-d7cea19f.entry.js.map +0 -1
  522. package/dist/bromcom-ui/p-e5e0ac07.entry.js +0 -2
  523. package/dist/bromcom-ui/p-e5e0ac07.entry.js.map +0 -1
  524. package/dist/bromcom-ui/p-ee5f877f.entry.js +0 -2
  525. package/dist/bromcom-ui/p-ee5f877f.entry.js.map +0 -1
  526. package/dist/bromcom-ui/p-fbccbffc.entry.js +0 -2
  527. package/dist/bromcom-ui/p-fbccbffc.entry.js.map +0 -1
  528. package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +0 -1
  529. package/dist/cjs/bcm-accordion.cjs.entry.js.map +0 -1
  530. package/dist/cjs/bcm-alert.cjs.entry.js.map +0 -1
  531. package/dist/cjs/bcm-avatar.cjs.entry.js.map +0 -1
  532. package/dist/cjs/bcm-badge.cjs.entry.js.map +0 -1
  533. package/dist/cjs/bcm-basic-badge.cjs.entry.js.map +0 -1
  534. package/dist/cjs/bcm-button-group.cjs.entry.js.map +0 -1
  535. package/dist/cjs/bcm-button.bcm-drawer.bcm-modal.entry.cjs.js.map +0 -1
  536. package/dist/cjs/bcm-button_3.cjs.entry.js +0 -794
  537. package/dist/cjs/bcm-button_3.cjs.entry.js.map +0 -1
  538. package/dist/cjs/bcm-checkbox.cjs.entry.js.map +0 -1
  539. package/dist/cjs/bcm-chip.cjs.entry.js.map +0 -1
  540. package/dist/cjs/bcm-divider.cjs.entry.js.map +0 -1
  541. package/dist/cjs/bcm-dropdown-item.cjs.entry.js.map +0 -1
  542. package/dist/cjs/bcm-dropdown.cjs.entry.js.map +0 -1
  543. package/dist/cjs/bcm-input.cjs.entry.js.map +0 -1
  544. package/dist/cjs/bcm-linked.cjs.entry.js.map +0 -1
  545. package/dist/cjs/bcm-pop-confirm.cjs.entry.js.map +0 -1
  546. package/dist/cjs/bcm-popover.cjs.entry.js.map +0 -1
  547. package/dist/cjs/bcm-radio-group.cjs.entry.js.map +0 -1
  548. package/dist/cjs/bcm-radio.cjs.entry.js.map +0 -1
  549. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +0 -107
  550. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js.map +0 -1
  551. package/dist/cjs/bcm-segmented-picker-option.entry.cjs.js.map +0 -1
  552. package/dist/cjs/bcm-segmented-picker.cjs.entry.js +0 -144
  553. package/dist/cjs/bcm-segmented-picker.cjs.entry.js.map +0 -1
  554. package/dist/cjs/bcm-segmented-picker.entry.cjs.js.map +0 -1
  555. package/dist/cjs/bcm-shortcut.cjs.entry.js.map +0 -1
  556. package/dist/cjs/bcm-switch.cjs.entry.js.map +0 -1
  557. package/dist/cjs/bcm-tabs-content.cjs.entry.js +0 -20
  558. package/dist/cjs/bcm-tabs-content.cjs.entry.js.map +0 -1
  559. package/dist/cjs/bcm-tabs-content.entry.cjs.js.map +0 -1
  560. package/dist/cjs/bcm-tabs-list.cjs.entry.js +0 -84
  561. package/dist/cjs/bcm-tabs-list.cjs.entry.js.map +0 -1
  562. package/dist/cjs/bcm-tabs-list.entry.cjs.js.map +0 -1
  563. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +0 -122
  564. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +0 -1
  565. package/dist/cjs/bcm-tabs-trigger.entry.cjs.js.map +0 -1
  566. package/dist/cjs/bcm-tabs.cjs.entry.js.map +0 -1
  567. package/dist/cjs/bcm-text.cjs.entry.js.map +0 -1
  568. package/dist/cjs/bcm-textarea.cjs.entry.js.map +0 -1
  569. package/dist/cjs/bcm-tooltip.cjs.entry.js.map +0 -1
  570. package/dist/cjs/floating-ui.dom-DyKmFgkP.js.map +0 -1
  571. package/dist/cjs/index-BtiU-G2W.js.map +0 -1
  572. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +0 -253
  573. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js.map +0 -1
  574. package/dist/collection/components/segmented-picker/segmented-picker-option.css +0 -1
  575. package/dist/collection/components/tabs/tabs-content.component.js +0 -46
  576. package/dist/collection/components/tabs/tabs-content.component.js.map +0 -1
  577. package/dist/collection/components/tabs/tabs-content.css +0 -1
  578. package/dist/collection/components/tabs/tabs-list.component.js +0 -133
  579. package/dist/collection/components/tabs/tabs-list.component.js.map +0 -1
  580. package/dist/collection/components/tabs/tabs-list.css +0 -1
  581. package/dist/collection/components/tabs/tabs-trigger.component.js +0 -267
  582. package/dist/collection/components/tabs/tabs-trigger.component.js.map +0 -1
  583. package/dist/collection/components/tabs/tabs-trigger.css +0 -1
  584. package/dist/components/bcm-segmented-picker-option.d.ts +0 -11
  585. package/dist/components/bcm-segmented-picker-option.js +0 -131
  586. package/dist/components/bcm-segmented-picker-option.js.map +0 -1
  587. package/dist/components/bcm-tabs-content.js +0 -39
  588. package/dist/components/bcm-tabs-content.js.map +0 -1
  589. package/dist/components/bcm-tabs-list.js +0 -104
  590. package/dist/components/bcm-tabs-list.js.map +0 -1
  591. package/dist/components/bcm-tabs-trigger.js +0 -146
  592. package/dist/components/bcm-tabs-trigger.js.map +0 -1
  593. package/dist/components/p-BHwftRkk.js +0 -379
  594. package/dist/components/p-BHwftRkk.js.map +0 -1
  595. package/dist/components/p-CQF7wlXf.js +0 -145
  596. package/dist/components/p-CQF7wlXf.js.map +0 -1
  597. package/dist/components/p-CUvT12BL.js.map +0 -1
  598. package/dist/components/p-CzcTU1ty.js.map +0 -1
  599. package/dist/components/p-DHONP_n4.js.map +0 -1
  600. package/dist/esm/bcm-button.bcm-drawer.bcm-modal.entry.js.map +0 -1
  601. package/dist/esm/bcm-button_3.entry.js +0 -790
  602. package/dist/esm/bcm-button_3.entry.js.map +0 -1
  603. package/dist/esm/bcm-segmented-picker-option.entry.js +0 -105
  604. package/dist/esm/bcm-segmented-picker-option.entry.js.map +0 -1
  605. package/dist/esm/bcm-segmented-picker.entry.js +0 -142
  606. package/dist/esm/bcm-segmented-picker.entry.js.map +0 -1
  607. package/dist/esm/bcm-tabs-content.entry.js +0 -18
  608. package/dist/esm/bcm-tabs-content.entry.js.map +0 -1
  609. package/dist/esm/bcm-tabs-list.entry.js +0 -82
  610. package/dist/esm/bcm-tabs-list.entry.js.map +0 -1
  611. package/dist/esm/bcm-tabs-trigger.entry.js +0 -120
  612. package/dist/esm/bcm-tabs-trigger.entry.js.map +0 -1
  613. package/dist/esm/floating-ui.dom-DxMLMJ3r.js.map +0 -1
  614. package/dist/esm/index-BuuGCw0z.js.map +0 -1
  615. package/dist/types/components/segmented-picker/segmented-picker-option.component.d.ts +0 -30
  616. package/dist/types/components/tabs/tabs-content.component.d.ts +0 -13
  617. package/dist/types/components/tabs/tabs-list.component.d.ts +0 -20
  618. package/dist/types/components/tabs/tabs-trigger.component.d.ts +0 -49
@@ -1,297 +1,528 @@
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>
24
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>
25
89
  *
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
- * });
90
+ * <div slot="header">
91
+ * <strong>Custom Header</strong>
92
+ * </div>
35
93
  *
36
- * // Programmatically control pop-up
37
- * await popConfirm.show(); // Show the pop-up
38
- * await popConfirm.hide(); // Hide the pop-up
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>
39
101
  *
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
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
+ * ```
50
108
  *
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)
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>
54
115
  *
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
116
+ * <!-- Medium (default) -->
117
+ * <bcm-pop-confirm size="medium" header-text="Medium" description="Standard confirmation">
118
+ * <bcm-button size="medium">Medium</bcm-button>
119
+ * </bcm-pop-confirm>
57
120
  *
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
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
+ * ```
63
126
  *
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
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>
132
+ *
133
+ * <bcm-button id="showBtn">Show Programmatically</bcm-button>
134
+ * <bcm-button id="hideBtn">Hide Programmatically</bcm-button>
135
+ *
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
+ * ```
67
157
  *
68
- * @methods
69
- * show() - Programmatically shows the pop-up
70
- * hide() - Programmatically hides 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>
163
+ *
164
+ * <bcm-pop-confirm placement="right" header-text="Right" description="Opens to the right">
165
+ * <bcm-button>Right</bcm-button>
166
+ * </bcm-pop-confirm>
167
+ *
168
+ * <bcm-pop-confirm placement="bottom" header-text="Bottom" description="Opens below">
169
+ * <bcm-button>Bottom</bcm-button>
170
+ * </bcm-pop-confirm>
171
+ *
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 {
73
- constructor() {
74
- /**
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)'
78
- */
79
- this.arrowColor = 'var(--bcm-ui-color-background-basic-panel)'; // Default color
80
- /**
81
- * The text displayed on the cancel button.
82
- * @default 'Cancel'
83
- */
84
- this.cancelText = 'Cancel';
85
- /**
86
- * The text displayed on the confirm button.
87
- * @default 'Yes'
88
- */
89
- this.confirmText = 'Yes';
90
- /**
91
- * The description or body content of the pop-up.
92
- * @default ''
93
- */
94
- this.description = '';
95
- /**
96
- * The header text displayed at the top of the pop-up.
97
- * @default ''
98
- */
99
- this.headerText = '';
100
- /**
101
- * The placement position of the pop-up relative to the trigger element.
102
- * @default 'bottom'
103
- */
104
- this.placement = 'bottom';
105
- /**
106
- * The size of the pop-up, determining its dimensions and padding.
107
- * @default 'medium'
108
- */
109
- this.size = 'medium';
110
- /**
111
- * The status of the pop-up, affecting its icon and color scheme.
112
- * @default 'info'
113
- */
114
- this.status = 'info';
115
- /**
116
- * Whether to display a status icon based on the `status` prop.
117
- * @default true
118
- */
119
- this.statusIcon = true;
120
- // State variables
121
- /**
122
- * Indicates whether the pop-up is currently open or closed.
123
- * @default false
124
- */
125
- this.isOpen = false;
126
- /**
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.
130
- */
131
- this.handleTriggerClick = (event) => {
132
- event.preventDefault();
133
- event.stopPropagation();
134
- if (!this.isOpen) {
135
- this.isOpen = true;
136
- requestAnimationFrame(() => {
137
- this.updatePosition();
138
- });
139
- }
140
- };
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;
150
- this.bcmConfirm.emit();
151
- };
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;
161
- this.bcmCancel.emit();
162
- };
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({
198
- 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',
204
- footer: 'flex flex-row justify-end gap-2',
205
- },
206
- variants: {
207
- size: {
208
- small: {
209
- 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',
214
- },
215
- 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',
221
- },
222
- large: {
223
- 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',
228
- },
229
- },
230
- },
231
- defaultVariants: {
232
- size: 'medium',
233
- },
234
- });
235
- }
177
+ export class BcmPopConfirm {
178
+ host;
179
+ popconfirmRef;
180
+ arrowRef;
181
+ triggerRef;
182
+ cleanupAutoUpdate;
183
+ popconfirmId;
236
184
  /**
237
- * Lifecycle method called when the component is loaded.
238
- * Initializes the trigger element and attaches a click event listener.
185
+ * @prop {PopConfirmPlacement} placement - Position of the popover relative to the trigger element.
186
+ * Automatically flips if there's not enough space.
187
+ * Default: 'top'
239
188
  */
240
- componentDidLoad() {
241
- this.triggerElement = document.getElementById(this.targetId);
242
- if (!this.triggerElement) {
243
- console.warn(`Target element with ID '${this.targetId}' not found.`);
189
+ placement = 'top';
190
+ /**
191
+ * @prop {PopConfirmSize} size - Size variant that controls padding and text size.
192
+ * - 'small': Compact size with minimal padding
193
+ * - 'medium': Standard size
194
+ * - 'large': Spacious size with more padding
195
+ * Default: 'medium'
196
+ */
197
+ size = 'medium';
198
+ /**
199
+ * @prop {PopConfirmStatus} status - Status type that determines the color scheme and icon.
200
+ * - 'info': Informational (blue)
201
+ * - 'success': Success/positive action (green)
202
+ * - 'warning': Warning/caution (yellow)
203
+ * - 'error': Error/destructive action (red)
204
+ * Default: 'info'
205
+ */
206
+ status = 'info';
207
+ /**
208
+ * @prop {string} headerText - Text displayed in the header section.
209
+ * Can be overridden by using the 'header' slot.
210
+ * Default: ''
211
+ */
212
+ headerText = '';
213
+ /**
214
+ * @prop {string} description - Description text displayed in the body section.
215
+ * Can be overridden by using the 'body' slot.
216
+ * Default: ''
217
+ */
218
+ description = '';
219
+ /**
220
+ * @prop {string} confirmText - Text for the confirm button.
221
+ * Default: 'Yes'
222
+ */
223
+ confirmText = 'Yes';
224
+ /**
225
+ * @prop {string} cancelText - Text for the cancel button.
226
+ * Default: 'Cancel'
227
+ */
228
+ cancelText = 'Cancel';
229
+ /**
230
+ * @prop {boolean} showArrow - Whether to show the arrow pointing to the trigger.
231
+ * Default: true
232
+ */
233
+ showArrow = true;
234
+ /**
235
+ * @prop {boolean} statusIcon - Whether to show the status icon in the header.
236
+ * Icon only shows if headerText is also provided.
237
+ * Default: true
238
+ */
239
+ statusIcon = true;
240
+ /**
241
+ * @prop {number} offsetDistance - Distance in pixels between the popover and trigger element.
242
+ * Default: 12
243
+ */
244
+ offsetDistance = 12;
245
+ /**
246
+ * @prop {boolean} closeOnOutsideClick - Whether to close when clicking outside the popover.
247
+ * Default: true
248
+ */
249
+ closeOnOutsideClick = true;
250
+ /**
251
+ * @prop {boolean} closeOnEscape - Whether to close when pressing the Escape key.
252
+ * Default: true
253
+ */
254
+ closeOnEscape = true;
255
+ isOpen = false;
256
+ /**
257
+ * @event bcmBeforeOpen - Emitted before the popover opens.
258
+ * Useful for performing actions before the popover becomes visible.
259
+ */
260
+ bcmBeforeOpen;
261
+ /**
262
+ * @event bcmOpen - Emitted when the popover is opened.
263
+ * Useful for tracking when the popover becomes visible.
264
+ */
265
+ bcmOpen;
266
+ /**
267
+ * @event bcmBeforeClose - Emitted before the popover closes.
268
+ * Useful for performing cleanup actions before hiding.
269
+ */
270
+ bcmBeforeClose;
271
+ /**
272
+ * @event bcmClose - Emitted when the popover is closed.
273
+ * Useful for tracking when the popover is hidden.
274
+ */
275
+ bcmClose;
276
+ /**
277
+ * @event bcmConfirm - Emitted when the user clicks the confirm button.
278
+ * This is where you should handle the confirmed action.
279
+ */
280
+ bcmConfirm;
281
+ /**
282
+ * @event bcmCancel - Emitted when the user clicks cancel, presses Escape, or clicks outside.
283
+ * Useful for tracking when the user dismisses the confirmation.
284
+ */
285
+ bcmCancel;
286
+ async handleOpenChange(open) {
287
+ if (!this.popconfirmRef)
244
288
  return;
289
+ if (open) {
290
+ this.popconfirmRef.showPopover();
291
+ await new Promise(resolve => requestAnimationFrame(() => resolve(undefined)));
292
+ await this.updatePosition();
293
+ this.startAutoUpdate();
294
+ this.bcmOpen.emit();
295
+ // Add outside click listener after a frame to avoid immediate close
296
+ if (this.closeOnOutsideClick) {
297
+ requestAnimationFrame(() => {
298
+ document.addEventListener('click', this.handleOutsideClick);
299
+ });
300
+ }
301
+ }
302
+ else {
303
+ this.popconfirmRef.hidePopover();
304
+ this.stopAutoUpdate();
305
+ this.bcmClose.emit();
306
+ document.removeEventListener('click', this.handleOutsideClick);
245
307
  }
246
- this.triggerElement.addEventListener('click', this.handleTriggerClick);
247
308
  }
248
309
  /**
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.
310
+ * Programmatically shows the popconfirm.
311
+ * @returns Promise that resolves when the show operation begins
251
312
  */
252
313
  async show() {
314
+ if (this.isOpen)
315
+ return;
316
+ this.bcmBeforeOpen.emit();
253
317
  this.isOpen = true;
254
- requestAnimationFrame(() => {
255
- this.updatePosition();
256
- });
257
318
  }
258
319
  /**
259
- * Programmatically hides the pop-up by setting `isOpen` to false.
260
- * @returns A promise that resolves when the pop-up is hidden.
320
+ * Programmatically hides the popconfirm.
321
+ * @returns Promise that resolves when the hide operation begins
261
322
  */
262
323
  async hide() {
324
+ if (!this.isOpen)
325
+ return;
326
+ this.bcmBeforeClose.emit();
263
327
  this.isOpen = false;
264
328
  }
265
329
  /**
266
- * Returns the dynamic styles for the pop-up, including text and arrow colors.
267
- * @returns An object containing CSS custom properties.
330
+ * Toggles the popconfirm visibility.
331
+ * If open, it will close. If closed, it will open.
332
+ * @returns Promise that resolves when the toggle operation completes
268
333
  */
269
- get popoverStyle() {
270
- return {
271
- '--text-color': `var(--bcm-ui-color-text-${this.status})`,
272
- '--arrow-color': this.arrowColor,
334
+ async toggle() {
335
+ if (this.isOpen) {
336
+ await this.hide();
337
+ }
338
+ else {
339
+ await this.show();
340
+ }
341
+ }
342
+ startAutoUpdate() {
343
+ if (!this.triggerRef || !this.popconfirmRef)
344
+ return;
345
+ this.cleanupAutoUpdate = autoUpdate(this.triggerRef, this.popconfirmRef, () => this.updatePosition(), {
346
+ ancestorScroll: true,
347
+ ancestorResize: true,
348
+ elementResize: true,
349
+ layoutShift: true,
350
+ });
351
+ }
352
+ stopAutoUpdate() {
353
+ if (this.cleanupAutoUpdate) {
354
+ this.cleanupAutoUpdate();
355
+ this.cleanupAutoUpdate = undefined;
356
+ }
357
+ }
358
+ async updatePosition() {
359
+ if (!this.triggerRef || !this.popconfirmRef)
360
+ return;
361
+ const middleware = [offset(this.offsetDistance), flip(), shift({ padding: 8 })];
362
+ if (this.showArrow && this.arrowRef) {
363
+ middleware.push(arrow({ element: this.arrowRef }));
364
+ }
365
+ const virtualElement = {
366
+ getBoundingClientRect: () => this.triggerRef.getBoundingClientRect(),
273
367
  };
368
+ const { x, y, placement, middlewareData } = await computePosition(virtualElement, this.popconfirmRef, {
369
+ placement: this.placement,
370
+ strategy: 'fixed',
371
+ middleware,
372
+ });
373
+ this.popconfirmRef.style.left = `${x}px`;
374
+ this.popconfirmRef.style.top = `${y}px`;
375
+ if (this.showArrow && this.arrowRef && middlewareData.arrow) {
376
+ const { x: arrowX, y: arrowY } = middlewareData.arrow;
377
+ const side = placement.split('-')[0];
378
+ const staticSide = {
379
+ top: 'bottom',
380
+ right: 'left',
381
+ bottom: 'top',
382
+ left: 'right',
383
+ }[side];
384
+ Object.assign(this.arrowRef.style, {
385
+ left: arrowX != null ? `${arrowX}px` : '',
386
+ top: arrowY != null ? `${arrowY}px` : '',
387
+ right: '',
388
+ bottom: '',
389
+ [staticSide]: '-4px',
390
+ });
391
+ }
392
+ }
393
+ handleSlotChange = () => {
394
+ const slot = this.host.shadowRoot?.querySelector('slot:not([name])');
395
+ if (!slot)
396
+ return;
397
+ const elements = slot.assignedElements();
398
+ const assignedElement = elements[0];
399
+ this.triggerRef = (assignedElement || this.host);
400
+ if (!this.triggerRef)
401
+ return;
402
+ if (this.popconfirmRef && this.popconfirmId) {
403
+ this.triggerRef.setAttribute('aria-describedby', this.popconfirmId);
404
+ }
405
+ this.removeTriggerListeners();
406
+ this.setupTriggerListeners();
407
+ };
408
+ setupTriggerListeners() {
409
+ if (!this.triggerRef)
410
+ return;
411
+ this.triggerRef.addEventListener('click', this.handleTriggerClick);
412
+ }
413
+ removeTriggerListeners() {
414
+ if (!this.triggerRef)
415
+ return;
416
+ this.triggerRef.removeEventListener('click', this.handleTriggerClick);
417
+ }
418
+ handleTriggerClick = () => {
419
+ this.toggle();
420
+ };
421
+ handleOutsideClick = (e) => {
422
+ if (!this.closeOnOutsideClick || !this.isOpen)
423
+ return;
424
+ const target = e.target;
425
+ if (!this.host.contains(target) && !this.popconfirmRef?.contains(target)) {
426
+ this.handleCancel();
427
+ }
428
+ };
429
+ handleKeyDown(e) {
430
+ if (!this.closeOnEscape || !this.isOpen)
431
+ return;
432
+ if (e.key === 'Escape') {
433
+ // Check if this is the topmost open popconfirm
434
+ const openPopconfirms = Array.from(document.querySelectorAll('bcm-pop-confirm')).filter(el => {
435
+ const popconfirmEl = el.shadowRoot?.querySelector('[popover]');
436
+ return popconfirmEl?.matches(':popover-open');
437
+ });
438
+ const topPopconfirm = openPopconfirms[openPopconfirms.length - 1];
439
+ if (topPopconfirm === this.host) {
440
+ e.preventDefault();
441
+ e.stopPropagation();
442
+ this.handleCancel();
443
+ }
444
+ }
445
+ }
446
+ handleToggle = (e) => {
447
+ const toggleEvent = e;
448
+ if (toggleEvent.newState === 'open' && !this.isOpen) {
449
+ this.isOpen = true;
450
+ }
451
+ else if (toggleEvent.newState === 'closed' && this.isOpen) {
452
+ this.isOpen = false;
453
+ }
454
+ };
455
+ handleConfirm = () => {
456
+ this.bcmConfirm.emit();
457
+ this.hide();
458
+ };
459
+ handleCancel = () => {
460
+ this.bcmCancel.emit();
461
+ this.hide();
462
+ };
463
+ componentWillLoad() {
464
+ this.popconfirmId = `popconfirm-${Math.random().toString(36).substring(2, 11)}`;
465
+ }
466
+ componentDidLoad() {
467
+ if (this.popconfirmRef) {
468
+ this.popconfirmRef.addEventListener('toggle', this.handleToggle);
469
+ }
274
470
  }
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
471
  disconnectedCallback() {
280
- if (this.triggerElement) {
281
- this.triggerElement.removeEventListener('click', this.handleTriggerClick);
472
+ this.stopAutoUpdate();
473
+ this.removeTriggerListeners();
474
+ document.removeEventListener('click', this.handleOutsideClick);
475
+ if (this.popconfirmRef) {
476
+ this.popconfirmRef.removeEventListener('toggle', this.handleToggle);
282
477
  }
283
478
  }
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
- */
479
+ popconfirmClass = tv({
480
+ slots: {
481
+ container: 'bcm-ui-element fixed m-0 flex flex-col bg-[--popover-bg] rounded-lg shadow-3 z-[9999]',
482
+ arrow: 'absolute w-3 h-3 bg-[--popover-bg] rotate-45',
483
+ closeBtn: 'absolute flex size-6 items-center justify-center hover:bg-gray-100 rounded-full cursor-pointer text-color-muted',
484
+ header: 'flex items-center pr-8',
485
+ headerLeft: 'flex items-center gap-2',
486
+ title: '!text-color-header font-semibold',
487
+ body: 'flex-1 font-sans text-pretty',
488
+ footer: 'flex flex-row justify-end gap-2',
489
+ },
490
+ variants: {
491
+ size: {
492
+ small: {
493
+ container: 'text-size-4 max-w-64 p-4 gap-4',
494
+ title: 'text-size-5',
495
+ closeBtn: 'top-3 right-3',
496
+ },
497
+ medium: {
498
+ container: 'text-size-5 max-w-80 p-6 gap-6',
499
+ title: 'text-size-6',
500
+ closeBtn: 'top-4 right-4',
501
+ },
502
+ large: {
503
+ container: 'text-size-6 max-w-96 p-8 gap-8',
504
+ title: 'text-size-7',
505
+ closeBtn: 'top-6 right-6',
506
+ },
507
+ },
508
+ status: {
509
+ info: { headerLeft: 'text-[var(--bcm-ui-color-text-info)]' },
510
+ success: { headerLeft: 'text-[var(--bcm-ui-color-text-success)]' },
511
+ warning: { headerLeft: 'text-[var(--bcm-ui-color-text-warning)]' },
512
+ error: { headerLeft: 'text-[var(--bcm-ui-color-text-error)]' },
513
+ },
514
+ },
515
+ });
289
516
  render() {
290
- var _a;
291
- const { container, header, footer, headerLeftContent, closeIconArea, titleContainer } = this.classes({
517
+ const { container, arrow: arrowClass, header, headerLeft, title, closeBtn, body, footer } = this.popconfirmClass({
292
518
  size: this.size,
519
+ status: this.status,
293
520
  });
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" }))))));
521
+ // Only show header if there's actual header content (headerText or custom header slot)
522
+ // Status icon only shows if explicitly enabled AND there's header text
523
+ const showStatusIcon = this.statusIcon && this.headerText;
524
+ const hasHeaderText = Boolean(this.headerText);
525
+ 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
526
  }
296
527
  static get is() { return "bcm-pop-confirm"; }
297
528
  static get encapsulation() { return "shadow"; }
@@ -307,78 +538,95 @@ export class PopConfirm {
307
538
  }
308
539
  static get properties() {
309
540
  return {
310
- "arrowColor": {
541
+ "placement": {
311
542
  "type": "string",
312
- "attribute": "arrow-color",
313
543
  "mutable": false,
314
544
  "complexType": {
315
- "original": "string",
316
- "resolved": "string",
317
- "references": {}
545
+ "original": "PopConfirmPlacement",
546
+ "resolved": "\"bottom\" | \"left\" | \"right\" | \"top\"",
547
+ "references": {
548
+ "PopConfirmPlacement": {
549
+ "location": "local",
550
+ "path": "/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/components/pop-confirm/pop-confirm.component.tsx",
551
+ "id": "src/components/pop-confirm/pop-confirm.component.tsx::PopConfirmPlacement"
552
+ }
553
+ }
318
554
  },
319
555
  "required": false,
320
556
  "optional": false,
321
557
  "docs": {
322
558
  "tags": [{
323
- "name": "default",
324
- "text": "'var(--bcm-ui-color-background-basic-panel)'"
559
+ "name": "prop",
560
+ "text": "{PopConfirmPlacement} placement - Position of the popover relative to the trigger element.\nAutomatically flips if there's not enough space.\nDefault: 'top'"
325
561
  }],
326
- "text": "The color of the arrow pointing to the trigger element.\nCan be a CSS custom property or a specific color value."
562
+ "text": ""
327
563
  },
328
564
  "getter": false,
329
565
  "setter": false,
330
566
  "reflect": false,
331
- "defaultValue": "'var(--bcm-ui-color-background-basic-panel)'"
567
+ "attribute": "placement",
568
+ "defaultValue": "'top'"
332
569
  },
333
- "cancelText": {
570
+ "size": {
334
571
  "type": "string",
335
- "attribute": "cancel-text",
336
572
  "mutable": false,
337
573
  "complexType": {
338
- "original": "string",
339
- "resolved": "string",
340
- "references": {}
574
+ "original": "PopConfirmSize",
575
+ "resolved": "\"large\" | \"medium\" | \"small\"",
576
+ "references": {
577
+ "PopConfirmSize": {
578
+ "location": "local",
579
+ "path": "/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/components/pop-confirm/pop-confirm.component.tsx",
580
+ "id": "src/components/pop-confirm/pop-confirm.component.tsx::PopConfirmSize"
581
+ }
582
+ }
341
583
  },
342
584
  "required": false,
343
585
  "optional": false,
344
586
  "docs": {
345
587
  "tags": [{
346
- "name": "default",
347
- "text": "'Cancel'"
588
+ "name": "prop",
589
+ "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
590
  }],
349
- "text": "The text displayed on the cancel button."
591
+ "text": ""
350
592
  },
351
593
  "getter": false,
352
594
  "setter": false,
353
595
  "reflect": false,
354
- "defaultValue": "'Cancel'"
596
+ "attribute": "size",
597
+ "defaultValue": "'medium'"
355
598
  },
356
- "confirmText": {
599
+ "status": {
357
600
  "type": "string",
358
- "attribute": "confirm-text",
359
601
  "mutable": false,
360
602
  "complexType": {
361
- "original": "string",
362
- "resolved": "string",
363
- "references": {}
603
+ "original": "PopConfirmStatus",
604
+ "resolved": "\"error\" | \"info\" | \"success\" | \"warning\"",
605
+ "references": {
606
+ "PopConfirmStatus": {
607
+ "location": "local",
608
+ "path": "/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/components/pop-confirm/pop-confirm.component.tsx",
609
+ "id": "src/components/pop-confirm/pop-confirm.component.tsx::PopConfirmStatus"
610
+ }
611
+ }
364
612
  },
365
613
  "required": false,
366
614
  "optional": false,
367
615
  "docs": {
368
616
  "tags": [{
369
- "name": "default",
370
- "text": "'Yes'"
617
+ "name": "prop",
618
+ "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
619
  }],
372
- "text": "The text displayed on the confirm button."
620
+ "text": ""
373
621
  },
374
622
  "getter": false,
375
623
  "setter": false,
376
624
  "reflect": false,
377
- "defaultValue": "'Yes'"
625
+ "attribute": "status",
626
+ "defaultValue": "'info'"
378
627
  },
379
- "description": {
628
+ "headerText": {
380
629
  "type": "string",
381
- "attribute": "description",
382
630
  "mutable": false,
383
631
  "complexType": {
384
632
  "original": "string",
@@ -389,19 +637,19 @@ export class PopConfirm {
389
637
  "optional": false,
390
638
  "docs": {
391
639
  "tags": [{
392
- "name": "default",
393
- "text": "''"
640
+ "name": "prop",
641
+ "text": "{string} headerText - Text displayed in the header section.\nCan be overridden by using the 'header' slot.\nDefault: ''"
394
642
  }],
395
- "text": "The description or body content of the pop-up."
643
+ "text": ""
396
644
  },
397
645
  "getter": false,
398
646
  "setter": false,
399
647
  "reflect": false,
648
+ "attribute": "header-text",
400
649
  "defaultValue": "''"
401
650
  },
402
- "headerText": {
651
+ "description": {
403
652
  "type": "string",
404
- "attribute": "header-text",
405
653
  "mutable": false,
406
654
  "complexType": {
407
655
  "original": "string",
@@ -412,94 +660,134 @@ export class PopConfirm {
412
660
  "optional": false,
413
661
  "docs": {
414
662
  "tags": [{
415
- "name": "default",
416
- "text": "''"
663
+ "name": "prop",
664
+ "text": "{string} description - Description text displayed in the body section.\nCan be overridden by using the 'body' slot.\nDefault: ''"
417
665
  }],
418
- "text": "The header text displayed at the top of the pop-up."
666
+ "text": ""
419
667
  },
420
668
  "getter": false,
421
669
  "setter": false,
422
670
  "reflect": false,
671
+ "attribute": "description",
423
672
  "defaultValue": "''"
424
673
  },
425
- "placement": {
674
+ "confirmText": {
426
675
  "type": "string",
427
- "attribute": "placement",
428
676
  "mutable": false,
429
677
  "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
- }
678
+ "original": "string",
679
+ "resolved": "string",
680
+ "references": {}
439
681
  },
440
682
  "required": false,
441
683
  "optional": false,
442
684
  "docs": {
443
685
  "tags": [{
444
- "name": "default",
445
- "text": "'bottom'"
686
+ "name": "prop",
687
+ "text": "{string} confirmText - Text for the confirm button.\nDefault: 'Yes'"
446
688
  }],
447
- "text": "The placement position of the pop-up relative to the trigger element."
689
+ "text": ""
448
690
  },
449
691
  "getter": false,
450
692
  "setter": false,
451
693
  "reflect": false,
452
- "defaultValue": "'bottom'"
694
+ "attribute": "confirm-text",
695
+ "defaultValue": "'Yes'"
453
696
  },
454
- "size": {
697
+ "cancelText": {
455
698
  "type": "string",
456
- "attribute": "size",
457
699
  "mutable": false,
458
700
  "complexType": {
459
- "original": "'small' | 'medium' | 'large'",
460
- "resolved": "\"large\" | \"medium\" | \"small\"",
701
+ "original": "string",
702
+ "resolved": "string",
461
703
  "references": {}
462
704
  },
463
705
  "required": false,
464
706
  "optional": false,
465
707
  "docs": {
466
708
  "tags": [{
467
- "name": "default",
468
- "text": "'medium'"
709
+ "name": "prop",
710
+ "text": "{string} cancelText - Text for the cancel button.\nDefault: 'Cancel'"
469
711
  }],
470
- "text": "The size of the pop-up, determining its dimensions and padding."
712
+ "text": ""
471
713
  },
472
714
  "getter": false,
473
715
  "setter": false,
474
716
  "reflect": false,
475
- "defaultValue": "'medium'"
717
+ "attribute": "cancel-text",
718
+ "defaultValue": "'Cancel'"
476
719
  },
477
- "status": {
478
- "type": "string",
479
- "attribute": "status",
720
+ "showArrow": {
721
+ "type": "boolean",
480
722
  "mutable": false,
481
723
  "complexType": {
482
- "original": "'info' | 'error' | 'warning' | 'success'",
483
- "resolved": "\"error\" | \"info\" | \"success\" | \"warning\"",
724
+ "original": "boolean",
725
+ "resolved": "boolean",
484
726
  "references": {}
485
727
  },
486
728
  "required": false,
487
729
  "optional": false,
488
730
  "docs": {
489
731
  "tags": [{
490
- "name": "default",
491
- "text": "'info'"
732
+ "name": "prop",
733
+ "text": "{boolean} showArrow - Whether to show the arrow pointing to the trigger.\nDefault: true"
492
734
  }],
493
- "text": "The status of the pop-up, affecting its icon and color scheme."
735
+ "text": ""
494
736
  },
495
737
  "getter": false,
496
738
  "setter": false,
497
739
  "reflect": false,
498
- "defaultValue": "'info'"
740
+ "attribute": "show-arrow",
741
+ "defaultValue": "true"
499
742
  },
500
743
  "statusIcon": {
501
744
  "type": "boolean",
745
+ "mutable": false,
746
+ "complexType": {
747
+ "original": "boolean",
748
+ "resolved": "boolean",
749
+ "references": {}
750
+ },
751
+ "required": false,
752
+ "optional": false,
753
+ "docs": {
754
+ "tags": [{
755
+ "name": "prop",
756
+ "text": "{boolean} statusIcon - Whether to show the status icon in the header.\nIcon only shows if headerText is also provided.\nDefault: true"
757
+ }],
758
+ "text": ""
759
+ },
760
+ "getter": false,
761
+ "setter": false,
762
+ "reflect": false,
502
763
  "attribute": "status-icon",
764
+ "defaultValue": "true"
765
+ },
766
+ "offsetDistance": {
767
+ "type": "number",
768
+ "mutable": false,
769
+ "complexType": {
770
+ "original": "number",
771
+ "resolved": "number",
772
+ "references": {}
773
+ },
774
+ "required": false,
775
+ "optional": false,
776
+ "docs": {
777
+ "tags": [{
778
+ "name": "prop",
779
+ "text": "{number} offsetDistance - Distance in pixels between the popover and trigger element.\nDefault: 12"
780
+ }],
781
+ "text": ""
782
+ },
783
+ "getter": false,
784
+ "setter": false,
785
+ "reflect": false,
786
+ "attribute": "offset-distance",
787
+ "defaultValue": "12"
788
+ },
789
+ "closeOnOutsideClick": {
790
+ "type": "boolean",
503
791
  "mutable": false,
504
792
  "complexType": {
505
793
  "original": "boolean",
@@ -510,53 +798,132 @@ export class PopConfirm {
510
798
  "optional": false,
511
799
  "docs": {
512
800
  "tags": [{
513
- "name": "default",
514
- "text": "true"
801
+ "name": "prop",
802
+ "text": "{boolean} closeOnOutsideClick - Whether to close when clicking outside the popover.\nDefault: true"
515
803
  }],
516
- "text": "Whether to display a status icon based on the `status` prop."
804
+ "text": ""
517
805
  },
518
806
  "getter": false,
519
807
  "setter": false,
520
808
  "reflect": false,
809
+ "attribute": "close-on-outside-click",
521
810
  "defaultValue": "true"
522
811
  },
523
- "targetId": {
524
- "type": "string",
525
- "attribute": "target-id",
812
+ "closeOnEscape": {
813
+ "type": "boolean",
526
814
  "mutable": false,
527
815
  "complexType": {
528
- "original": "string",
529
- "resolved": "string",
816
+ "original": "boolean",
817
+ "resolved": "boolean",
530
818
  "references": {}
531
819
  },
532
820
  "required": false,
533
821
  "optional": false,
534
822
  "docs": {
535
- "tags": [],
536
- "text": "The ID of the trigger element (e.g., a button) that opens the pop-up."
823
+ "tags": [{
824
+ "name": "prop",
825
+ "text": "{boolean} closeOnEscape - Whether to close when pressing the Escape key.\nDefault: true"
826
+ }],
827
+ "text": ""
537
828
  },
538
829
  "getter": false,
539
830
  "setter": false,
540
- "reflect": false
831
+ "reflect": false,
832
+ "attribute": "close-on-escape",
833
+ "defaultValue": "true"
541
834
  }
542
835
  };
543
836
  }
544
837
  static get states() {
545
838
  return {
546
- "isOpen": {},
547
- "currentPlacement": {}
839
+ "isOpen": {}
548
840
  };
549
841
  }
550
842
  static get events() {
551
843
  return [{
844
+ "method": "bcmBeforeOpen",
845
+ "name": "bcmBeforeOpen",
846
+ "bubbles": false,
847
+ "cancelable": true,
848
+ "composed": false,
849
+ "docs": {
850
+ "tags": [{
851
+ "name": "event",
852
+ "text": "bcmBeforeOpen - Emitted before the popover opens.\nUseful for performing actions before the popover becomes visible."
853
+ }],
854
+ "text": ""
855
+ },
856
+ "complexType": {
857
+ "original": "void",
858
+ "resolved": "void",
859
+ "references": {}
860
+ }
861
+ }, {
862
+ "method": "bcmOpen",
863
+ "name": "bcmOpen",
864
+ "bubbles": false,
865
+ "cancelable": true,
866
+ "composed": false,
867
+ "docs": {
868
+ "tags": [{
869
+ "name": "event",
870
+ "text": "bcmOpen - Emitted when the popover is opened.\nUseful for tracking when the popover becomes visible."
871
+ }],
872
+ "text": ""
873
+ },
874
+ "complexType": {
875
+ "original": "void",
876
+ "resolved": "void",
877
+ "references": {}
878
+ }
879
+ }, {
880
+ "method": "bcmBeforeClose",
881
+ "name": "bcmBeforeClose",
882
+ "bubbles": false,
883
+ "cancelable": true,
884
+ "composed": false,
885
+ "docs": {
886
+ "tags": [{
887
+ "name": "event",
888
+ "text": "bcmBeforeClose - Emitted before the popover closes.\nUseful for performing cleanup actions before hiding."
889
+ }],
890
+ "text": ""
891
+ },
892
+ "complexType": {
893
+ "original": "void",
894
+ "resolved": "void",
895
+ "references": {}
896
+ }
897
+ }, {
898
+ "method": "bcmClose",
899
+ "name": "bcmClose",
900
+ "bubbles": false,
901
+ "cancelable": true,
902
+ "composed": false,
903
+ "docs": {
904
+ "tags": [{
905
+ "name": "event",
906
+ "text": "bcmClose - Emitted when the popover is closed.\nUseful for tracking when the popover is hidden."
907
+ }],
908
+ "text": ""
909
+ },
910
+ "complexType": {
911
+ "original": "void",
912
+ "resolved": "void",
913
+ "references": {}
914
+ }
915
+ }, {
552
916
  "method": "bcmConfirm",
553
917
  "name": "bcmConfirm",
554
918
  "bubbles": false,
555
919
  "cancelable": true,
556
920
  "composed": false,
557
921
  "docs": {
558
- "tags": [],
559
- "text": "Emits an event when the user confirms the action in the pop-up."
922
+ "tags": [{
923
+ "name": "event",
924
+ "text": "bcmConfirm - Emitted when the user clicks the confirm button.\nThis is where you should handle the confirmed action."
925
+ }],
926
+ "text": ""
560
927
  },
561
928
  "complexType": {
562
929
  "original": "void",
@@ -570,8 +937,11 @@ export class PopConfirm {
570
937
  "cancelable": true,
571
938
  "composed": false,
572
939
  "docs": {
573
- "tags": [],
574
- "text": "Emits an event when the user cancels the action in the pop-up."
940
+ "tags": [{
941
+ "name": "event",
942
+ "text": "bcmCancel - Emitted when the user clicks cancel, presses Escape, or clicks outside.\nUseful for tracking when the user dismisses the confirmation."
943
+ }],
944
+ "text": ""
575
945
  },
576
946
  "complexType": {
577
947
  "original": "void",
@@ -595,10 +965,10 @@ export class PopConfirm {
595
965
  "return": "Promise<void>"
596
966
  },
597
967
  "docs": {
598
- "text": "Programmatically shows the pop-up by setting `isOpen` to true and updating its position.",
968
+ "text": "Programmatically shows the popconfirm.",
599
969
  "tags": [{
600
970
  "name": "returns",
601
- "text": "A promise that resolves when the pop-up is shown."
971
+ "text": "Promise that resolves when the show operation begins"
602
972
  }]
603
973
  }
604
974
  },
@@ -615,15 +985,50 @@ export class PopConfirm {
615
985
  "return": "Promise<void>"
616
986
  },
617
987
  "docs": {
618
- "text": "Programmatically hides the pop-up by setting `isOpen` to false.",
988
+ "text": "Programmatically hides the popconfirm.",
989
+ "tags": [{
990
+ "name": "returns",
991
+ "text": "Promise that resolves when the hide operation begins"
992
+ }]
993
+ }
994
+ },
995
+ "toggle": {
996
+ "complexType": {
997
+ "signature": "() => Promise<void>",
998
+ "parameters": [],
999
+ "references": {
1000
+ "Promise": {
1001
+ "location": "global",
1002
+ "id": "global::Promise"
1003
+ }
1004
+ },
1005
+ "return": "Promise<void>"
1006
+ },
1007
+ "docs": {
1008
+ "text": "Toggles the popconfirm visibility.\nIf open, it will close. If closed, it will open.",
619
1009
  "tags": [{
620
1010
  "name": "returns",
621
- "text": "A promise that resolves when the pop-up is hidden."
1011
+ "text": "Promise that resolves when the toggle operation completes"
622
1012
  }]
623
1013
  }
624
1014
  }
625
1015
  };
626
1016
  }
627
- static get elementRef() { return "el"; }
1017
+ static get elementRef() { return "host"; }
1018
+ static get watchers() {
1019
+ return [{
1020
+ "propName": "isOpen",
1021
+ "methodName": "handleOpenChange"
1022
+ }];
1023
+ }
1024
+ static get listeners() {
1025
+ return [{
1026
+ "name": "keydown",
1027
+ "method": "handleKeyDown",
1028
+ "target": "document",
1029
+ "capture": false,
1030
+ "passive": false
1031
+ }];
1032
+ }
628
1033
  }
629
1034
  //# sourceMappingURL=pop-confirm.component.js.map