bromcom-ui-next 0.1.28 → 0.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/dist/bromcom-ui/_commonjsHelpers-CvGrISen.js.map +1 -0
  2. package/dist/bromcom-ui/bcm-accordion.entry.esm.js.map +1 -1
  3. package/dist/bromcom-ui/bcm-alert.entry.esm.js.map +1 -1
  4. package/dist/bromcom-ui/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.esm.js.map +1 -0
  5. package/dist/bromcom-ui/bcm-checkbox.entry.esm.js.map +1 -1
  6. package/dist/bromcom-ui/bcm-chip.entry.esm.js.map +1 -0
  7. package/dist/bromcom-ui/bcm-divider.entry.esm.js.map +1 -1
  8. package/dist/bromcom-ui/bcm-dropdown.entry.esm.js.map +1 -1
  9. package/dist/bromcom-ui/bcm-input.entry.esm.js.map +1 -1
  10. package/dist/bromcom-ui/bcm-segmented-picker-option.entry.esm.js.map +1 -1
  11. package/dist/bromcom-ui/bcm-segmented-picker.entry.esm.js.map +1 -1
  12. package/dist/bromcom-ui/bcm-switch.entry.esm.js.map +1 -1
  13. package/dist/bromcom-ui/bcm-tabs.entry.esm.js.map +1 -1
  14. package/dist/bromcom-ui/bcm-text.entry.esm.js.map +1 -1
  15. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  16. package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
  17. package/dist/bromcom-ui/floating-ui.dom-ltNPqX34.js.map +1 -0
  18. package/dist/bromcom-ui/generate-id-Crb5QsB-.js.map +1 -0
  19. package/dist/bromcom-ui/index-40rmUZjU.js.map +1 -0
  20. package/dist/bromcom-ui/index-BCaJmHBB.js.map +1 -0
  21. package/dist/bromcom-ui/{p-8ace5a6a.entry.js → p-0c7c6896.entry.js} +2 -2
  22. package/dist/bromcom-ui/p-0c7c6896.entry.js.map +1 -0
  23. package/dist/bromcom-ui/p-11d0e649.entry.js +2 -0
  24. package/dist/bromcom-ui/p-11d0e649.entry.js.map +1 -0
  25. package/dist/bromcom-ui/{p-6b585adc.entry.js → p-12f38632.entry.js} +2 -2
  26. package/dist/bromcom-ui/p-12f38632.entry.js.map +1 -0
  27. package/dist/bromcom-ui/{p-5e0702d1.entry.js → p-13cbd1f5.entry.js} +2 -2
  28. package/dist/bromcom-ui/p-13cbd1f5.entry.js.map +1 -0
  29. package/dist/bromcom-ui/{p-2480e468.entry.js → p-1507908f.entry.js} +2 -2
  30. package/dist/bromcom-ui/p-1507908f.entry.js.map +1 -0
  31. package/dist/bromcom-ui/p-1ce9913f.entry.js +2 -0
  32. package/dist/bromcom-ui/p-1ce9913f.entry.js.map +1 -0
  33. package/dist/bromcom-ui/p-206d767e.entry.js +2 -0
  34. package/dist/bromcom-ui/p-206d767e.entry.js.map +1 -0
  35. package/dist/bromcom-ui/{p-ee5f877f.entry.js → p-3cf7a7f4.entry.js} +2 -2
  36. package/dist/bromcom-ui/p-3cf7a7f4.entry.js.map +1 -0
  37. package/dist/bromcom-ui/p-4505feba.entry.js +2 -0
  38. package/dist/bromcom-ui/p-4505feba.entry.js.map +1 -0
  39. package/dist/bromcom-ui/{p-089edfdc.entry.js → p-496014ca.entry.js} +2 -2
  40. package/dist/bromcom-ui/p-496014ca.entry.js.map +1 -0
  41. package/dist/bromcom-ui/{p-26d2db9e.entry.js → p-4a932cd3.entry.js} +2 -2
  42. package/dist/bromcom-ui/p-4a932cd3.entry.js.map +1 -0
  43. package/dist/bromcom-ui/p-4e554b8d.entry.js +2 -0
  44. package/dist/bromcom-ui/p-4e554b8d.entry.js.map +1 -0
  45. package/dist/bromcom-ui/{p-360bff8a.entry.js → p-57c4c4c4.entry.js} +2 -2
  46. package/dist/bromcom-ui/p-57c4c4c4.entry.js.map +1 -0
  47. package/dist/bromcom-ui/{p-211ca6e0.entry.js → p-61293ab2.entry.js} +2 -2
  48. package/dist/bromcom-ui/p-61293ab2.entry.js.map +1 -0
  49. package/dist/bromcom-ui/{p-83f64814.entry.js → p-61789456.entry.js} +2 -2
  50. package/dist/bromcom-ui/p-61789456.entry.js.map +1 -0
  51. package/dist/bromcom-ui/{p-488d6ef4.entry.js → p-65d0f188.entry.js} +2 -2
  52. package/dist/bromcom-ui/p-65d0f188.entry.js.map +1 -0
  53. package/dist/bromcom-ui/p-83f707dc.entry.js +2 -0
  54. package/dist/bromcom-ui/p-83f707dc.entry.js.map +1 -0
  55. package/dist/bromcom-ui/p-8ba02e7e.entry.js +2 -0
  56. package/dist/bromcom-ui/p-8ba02e7e.entry.js.map +1 -0
  57. package/dist/bromcom-ui/p-9e9bf32e.entry.js +2 -0
  58. package/dist/bromcom-ui/p-9e9bf32e.entry.js.map +1 -0
  59. package/dist/bromcom-ui/p-BfTCfPZ1.js.map +1 -1
  60. package/dist/bromcom-ui/p-CEcVC0yX.js.map +1 -1
  61. package/dist/bromcom-ui/p-CRwAh9Np.js +3 -0
  62. package/dist/bromcom-ui/p-CRwAh9Np.js.map +1 -0
  63. package/dist/bromcom-ui/p-IBjzkjef.js.map +1 -1
  64. package/dist/bromcom-ui/{p-a88f20e0.entry.js → p-c87a6acf.entry.js} +2 -2
  65. package/dist/bromcom-ui/p-c87a6acf.entry.js.map +1 -0
  66. package/dist/bromcom-ui/{p-c34f0a66.entry.js → p-e0e235a8.entry.js} +2 -2
  67. package/dist/bromcom-ui/p-e0e235a8.entry.js.map +1 -0
  68. package/dist/bromcom-ui/{p-0101b4f2.entry.js → p-e1ce8b55.entry.js} +2 -2
  69. package/dist/bromcom-ui/p-e1ce8b55.entry.js.map +1 -0
  70. package/dist/bromcom-ui/p-e4dddb0b.entry.js +2 -0
  71. package/dist/bromcom-ui/p-e4dddb0b.entry.js.map +1 -0
  72. package/dist/bromcom-ui/p-f9426924.entry.js +2 -0
  73. package/dist/bromcom-ui/p-f9426924.entry.js.map +1 -0
  74. package/dist/bromcom-ui/{p-c0e7f9d6.entry.js → p-faa0e62c.entry.js} +2 -2
  75. package/dist/bromcom-ui/p-faa0e62c.entry.js.map +1 -0
  76. package/dist/bromcom-ui/{p-bdaf5653.entry.js → p-fcb4399f.entry.js} +2 -2
  77. package/dist/bromcom-ui/p-fcb4399f.entry.js.map +1 -0
  78. package/dist/bromcom-ui/tv-SlGJ5EfR.js.map +1 -0
  79. package/dist/bromcom-ui/validation-messages-CUvT12BL.js.map +1 -0
  80. package/dist/cjs/bcm-accordion-group.cjs.entry.js +2 -4
  81. package/dist/cjs/bcm-accordion.cjs.entry.js +3 -5
  82. package/dist/cjs/bcm-accordion.entry.cjs.js.map +1 -1
  83. package/dist/cjs/bcm-alert.cjs.entry.js +3 -5
  84. package/dist/cjs/bcm-alert.entry.cjs.js.map +1 -1
  85. package/dist/cjs/bcm-avatar.cjs.entry.js +1 -3
  86. package/dist/cjs/bcm-badge.cjs.entry.js +3 -5
  87. package/dist/cjs/bcm-basic-badge.cjs.entry.js +3 -5
  88. package/dist/cjs/bcm-button-group.cjs.entry.js +3 -5
  89. package/dist/cjs/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.cjs.js.map +1 -0
  90. package/dist/cjs/bcm-button_7.cjs.entry.js +4131 -0
  91. package/dist/cjs/bcm-checkbox.cjs.entry.js +7 -5
  92. package/dist/cjs/bcm-checkbox.entry.cjs.js.map +1 -1
  93. package/dist/cjs/bcm-chip.cjs.entry.js +127 -0
  94. package/dist/cjs/bcm-chip.entry.cjs.js.map +1 -0
  95. package/dist/cjs/bcm-divider.cjs.entry.js +3 -5
  96. package/dist/cjs/bcm-divider.entry.cjs.js.map +1 -1
  97. package/dist/cjs/bcm-dropdown-item.cjs.entry.js +3 -5
  98. package/dist/cjs/bcm-dropdown.cjs.entry.js +3 -13
  99. package/dist/cjs/bcm-dropdown.entry.cjs.js.map +1 -1
  100. package/dist/cjs/bcm-input.cjs.entry.js +4 -6
  101. package/dist/cjs/bcm-input.entry.cjs.js.map +1 -1
  102. package/dist/cjs/bcm-radio-group.cjs.entry.js +3 -5
  103. package/dist/cjs/bcm-radio.cjs.entry.js +2 -4
  104. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +3 -5
  105. package/dist/cjs/bcm-segmented-picker-option.entry.cjs.js.map +1 -1
  106. package/dist/cjs/bcm-segmented-picker.cjs.entry.js +3 -5
  107. package/dist/cjs/bcm-segmented-picker.entry.cjs.js.map +1 -1
  108. package/dist/cjs/bcm-shortcut.cjs.entry.js +2 -4
  109. package/dist/cjs/bcm-switch.cjs.entry.js +4 -6
  110. package/dist/cjs/bcm-switch.entry.cjs.js.map +1 -1
  111. package/dist/cjs/bcm-tabs-content.cjs.entry.js +2 -4
  112. package/dist/cjs/bcm-tabs-list.cjs.entry.js +2 -4
  113. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +2 -4
  114. package/dist/cjs/bcm-tabs.cjs.entry.js +2 -4
  115. package/dist/cjs/bcm-tabs.entry.cjs.js.map +1 -1
  116. package/dist/cjs/bcm-text.cjs.entry.js +3 -5
  117. package/dist/cjs/bcm-text.entry.cjs.js.map +1 -1
  118. package/dist/cjs/bcm-textarea.cjs.entry.js +4 -6
  119. package/dist/cjs/bromcom-ui.cjs.js +3 -5
  120. package/dist/cjs/bromcom-ui.cjs.js.map +1 -1
  121. package/dist/cjs/generate-id-CG_BkTJu.js.map +1 -1
  122. package/dist/cjs/index-Bp6Dd2i1.js.map +1 -1
  123. package/dist/cjs/{index-BtiU-G2W.js → index-CmYzUr-k.js} +61 -372
  124. package/dist/cjs/index-CmYzUr-k.js.map +1 -0
  125. package/dist/cjs/index.cjs.js +0 -2
  126. package/dist/cjs/loader.cjs.js +2 -4
  127. package/dist/cjs/tv-ngpIbGlG.js.map +1 -1
  128. package/dist/collection/collection-manifest.json +5 -5
  129. package/dist/collection/components/accordion/accordion.component.js +8 -8
  130. package/dist/collection/components/accordion/accordion.component.js.map +1 -1
  131. package/dist/collection/components/accordion-group/accordion-group.component.js +3 -3
  132. package/dist/collection/components/accordion-group/types.js.map +1 -1
  133. package/dist/collection/components/alert/alert.component.js +6 -6
  134. package/dist/collection/components/alert/alert.css +1 -1
  135. package/dist/collection/components/avatar/avatar.component.js +14 -14
  136. package/dist/collection/components/badge/badge.component.js +15 -15
  137. package/dist/collection/components/basic-badge/basic-badge.component.js +9 -9
  138. package/dist/collection/components/button/button.component.js +32 -32
  139. package/dist/collection/components/button/button.css +1 -1
  140. package/dist/collection/components/button-group/button-group.component.js +15 -15
  141. package/dist/collection/components/checkbox/checkbox.component.js +36 -12
  142. package/dist/collection/components/checkbox/checkbox.component.js.map +1 -1
  143. package/dist/collection/components/checkbox/checkbox.css +1 -1
  144. package/dist/collection/components/chip/chip.component.js +8 -8
  145. package/dist/collection/components/divider/divider.component.js +4 -4
  146. package/dist/collection/components/divider/divider.css +1 -1
  147. package/dist/collection/components/drawer/drawer.component.js +429 -132
  148. package/dist/collection/components/drawer/drawer.component.js.map +1 -1
  149. package/dist/collection/components/drawer/drawer.css +1 -1
  150. package/dist/collection/components/drawer/types.js.map +1 -1
  151. package/dist/collection/components/dropdown/dropdown.component.js +3 -12
  152. package/dist/collection/components/dropdown/dropdown.component.js.map +1 -1
  153. package/dist/collection/components/dropdown/dropdown.css +1 -1
  154. package/dist/collection/components/dropdown-item/dropdown-item.component.js +9 -10
  155. package/dist/collection/components/dropdown-item/dropdown-item.component.js.map +1 -1
  156. package/dist/collection/components/input/input.component.js +44 -45
  157. package/dist/collection/components/input/input.component.js.map +1 -1
  158. package/dist/collection/components/input/input.css +1 -1
  159. package/dist/collection/components/linked/linked.component.js +507 -333
  160. package/dist/collection/components/linked/linked.component.js.map +1 -1
  161. package/dist/collection/components/linked/linked.css +1 -1
  162. package/dist/collection/components/modal/modal.component.js +137 -34
  163. package/dist/collection/components/modal/modal.component.js.map +1 -1
  164. package/dist/collection/components/modal/modal.css +1 -1
  165. package/dist/collection/components/pop-confirm/pop-confirm.component.js +668 -294
  166. package/dist/collection/components/pop-confirm/pop-confirm.component.js.map +1 -1
  167. package/dist/collection/components/pop-confirm/pop-confirm.css +1 -1
  168. package/dist/collection/components/popover/popover.component.js +533 -148
  169. package/dist/collection/components/popover/popover.component.js.map +1 -1
  170. package/dist/collection/components/popover/popover.css +1 -1
  171. package/dist/collection/components/radio/radio.component.js +13 -13
  172. package/dist/collection/components/radio-group/radio-group.component.js +15 -15
  173. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +10 -10
  174. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js.map +1 -1
  175. package/dist/collection/components/segmented-picker/segmented-picker.component.js +7 -7
  176. package/dist/collection/components/segmented-picker/segmented-picker.component.js.map +1 -1
  177. package/dist/collection/components/shortcut/shortcut.js +4 -4
  178. package/dist/collection/components/switch/switch.component.js +17 -17
  179. package/dist/collection/components/switch/switch.css +1 -1
  180. package/dist/collection/components/tabs/tabs-content.component.js +3 -3
  181. package/dist/collection/components/tabs/tabs-list.component.js +3 -3
  182. package/dist/collection/components/tabs/tabs-trigger.component.js +8 -8
  183. package/dist/collection/components/tabs/tabs.component.js +6 -6
  184. package/dist/collection/components/tabs/tabs.component.js.map +1 -1
  185. package/dist/collection/components/text/text.component.js +6 -6
  186. package/dist/collection/components/text/text.css +1 -1
  187. package/dist/collection/components/textarea/textarea.component.js +39 -40
  188. package/dist/collection/components/textarea/textarea.component.js.map +1 -1
  189. package/dist/collection/components/tooltip/tooltip.component.js +567 -192
  190. package/dist/collection/components/tooltip/tooltip.component.js.map +1 -1
  191. package/dist/collection/components/tooltip/tooltip.css +1 -1
  192. package/dist/components/bcm-accordion-group.js +5 -3
  193. package/dist/components/bcm-accordion-group.js.map +1 -1
  194. package/dist/components/bcm-accordion.js +6 -4
  195. package/dist/components/bcm-accordion.js.map +1 -1
  196. package/dist/components/bcm-alert.js +6 -4
  197. package/dist/components/bcm-alert.js.map +1 -1
  198. package/dist/components/bcm-avatar.js +5 -3
  199. package/dist/components/bcm-avatar.js.map +1 -1
  200. package/dist/components/bcm-badge.js +1 -1
  201. package/dist/components/bcm-basic-badge.js +6 -4
  202. package/dist/components/bcm-basic-badge.js.map +1 -1
  203. package/dist/components/bcm-button-group.js +6 -4
  204. package/dist/components/bcm-button-group.js.map +1 -1
  205. package/dist/components/bcm-button.js +1 -1
  206. package/dist/components/bcm-checkbox.js +11 -4
  207. package/dist/components/bcm-checkbox.js.map +1 -1
  208. package/dist/components/bcm-chip.js +5 -3
  209. package/dist/components/bcm-chip.js.map +1 -1
  210. package/dist/components/bcm-divider.js +6 -4
  211. package/dist/components/bcm-divider.js.map +1 -1
  212. package/dist/components/bcm-drawer.js +228 -115
  213. package/dist/components/bcm-drawer.js.map +1 -1
  214. package/dist/components/bcm-dropdown-item.js +7 -5
  215. package/dist/components/bcm-dropdown-item.js.map +1 -1
  216. package/dist/components/bcm-dropdown.js +8 -15
  217. package/dist/components/bcm-dropdown.js.map +1 -1
  218. package/dist/components/bcm-input.js +7 -5
  219. package/dist/components/bcm-input.js.map +1 -1
  220. package/dist/components/bcm-linked.js +1 -1
  221. package/dist/components/bcm-modal.js +56 -4
  222. package/dist/components/bcm-modal.js.map +1 -1
  223. package/dist/components/bcm-pop-confirm.js +278 -171
  224. package/dist/components/bcm-pop-confirm.js.map +1 -1
  225. package/dist/components/bcm-popover.js +355 -110
  226. package/dist/components/bcm-popover.js.map +1 -1
  227. package/dist/components/bcm-radio-group.js +6 -4
  228. package/dist/components/bcm-radio-group.js.map +1 -1
  229. package/dist/components/bcm-radio.js +5 -3
  230. package/dist/components/bcm-radio.js.map +1 -1
  231. package/dist/components/bcm-segmented-picker-option.js +6 -4
  232. package/dist/components/bcm-segmented-picker-option.js.map +1 -1
  233. package/dist/components/bcm-segmented-picker.js +6 -4
  234. package/dist/components/bcm-segmented-picker.js.map +1 -1
  235. package/dist/components/bcm-shortcut.js +5 -3
  236. package/dist/components/bcm-shortcut.js.map +1 -1
  237. package/dist/components/bcm-switch.js +7 -5
  238. package/dist/components/bcm-switch.js.map +1 -1
  239. package/dist/components/bcm-tabs-content.js +5 -3
  240. package/dist/components/bcm-tabs-content.js.map +1 -1
  241. package/dist/components/bcm-tabs-list.js +5 -3
  242. package/dist/components/bcm-tabs-list.js.map +1 -1
  243. package/dist/components/bcm-tabs-trigger.js +5 -3
  244. package/dist/components/bcm-tabs-trigger.js.map +1 -1
  245. package/dist/components/bcm-tabs.js +5 -3
  246. package/dist/components/bcm-tabs.js.map +1 -1
  247. package/dist/components/bcm-text.js +6 -4
  248. package/dist/components/bcm-text.js.map +1 -1
  249. package/dist/components/bcm-textarea.js +7 -5
  250. package/dist/components/bcm-textarea.js.map +1 -1
  251. package/dist/components/bcm-tooltip.js +364 -127
  252. package/dist/components/bcm-tooltip.js.map +1 -1
  253. package/dist/components/index.js +41 -366
  254. package/dist/components/index.js.map +1 -1
  255. package/dist/components/p-6VLsKZvR.js +469 -0
  256. package/dist/components/p-6VLsKZvR.js.map +1 -0
  257. package/dist/components/p-BfTCfPZ1.js.map +1 -1
  258. package/dist/components/p-CEcVC0yX.js.map +1 -1
  259. package/dist/components/{p-CQF7wlXf.js → p-CaemikSK.js} +8 -6
  260. package/dist/components/p-CaemikSK.js.map +1 -0
  261. package/dist/components/{p-DGlecSBr.js → p-CsIBm0J5.js} +9 -7
  262. package/dist/components/p-CsIBm0J5.js.map +1 -0
  263. package/dist/components/{p-CzcTU1ty.js → p-DBDSgIvP.js} +40 -23
  264. package/dist/components/p-DBDSgIvP.js.map +1 -0
  265. package/dist/components/p-IBjzkjef.js.map +1 -1
  266. package/dist/esm/bcm-accordion-group.entry.js +2 -4
  267. package/dist/esm/bcm-accordion.entry.js +3 -5
  268. package/dist/esm/bcm-accordion.entry.js.map +1 -1
  269. package/dist/esm/bcm-alert.entry.js +3 -5
  270. package/dist/esm/bcm-alert.entry.js.map +1 -1
  271. package/dist/esm/bcm-avatar.entry.js +1 -3
  272. package/dist/esm/bcm-badge.entry.js +3 -5
  273. package/dist/esm/bcm-basic-badge.entry.js +3 -5
  274. package/dist/esm/bcm-button-group.entry.js +3 -5
  275. package/dist/esm/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.js.map +1 -0
  276. package/dist/esm/bcm-button_7.entry.js +4123 -0
  277. package/dist/esm/bcm-checkbox.entry.js +7 -5
  278. package/dist/esm/bcm-checkbox.entry.js.map +1 -1
  279. package/dist/esm/bcm-chip.entry.js +125 -0
  280. package/dist/esm/bcm-chip.entry.js.map +1 -0
  281. package/dist/esm/bcm-divider.entry.js +3 -5
  282. package/dist/esm/bcm-divider.entry.js.map +1 -1
  283. package/dist/esm/bcm-dropdown-item.entry.js +3 -5
  284. package/dist/esm/bcm-dropdown.entry.js +3 -13
  285. package/dist/esm/bcm-dropdown.entry.js.map +1 -1
  286. package/dist/esm/bcm-input.entry.js +4 -6
  287. package/dist/esm/bcm-input.entry.js.map +1 -1
  288. package/dist/esm/bcm-radio-group.entry.js +3 -5
  289. package/dist/esm/bcm-radio.entry.js +2 -4
  290. package/dist/esm/bcm-segmented-picker-option.entry.js +3 -5
  291. package/dist/esm/bcm-segmented-picker-option.entry.js.map +1 -1
  292. package/dist/esm/bcm-segmented-picker.entry.js +3 -5
  293. package/dist/esm/bcm-segmented-picker.entry.js.map +1 -1
  294. package/dist/esm/bcm-shortcut.entry.js +2 -4
  295. package/dist/esm/bcm-switch.entry.js +4 -6
  296. package/dist/esm/bcm-switch.entry.js.map +1 -1
  297. package/dist/esm/bcm-tabs-content.entry.js +2 -4
  298. package/dist/esm/bcm-tabs-list.entry.js +2 -4
  299. package/dist/esm/bcm-tabs-trigger.entry.js +2 -4
  300. package/dist/esm/bcm-tabs.entry.js +2 -4
  301. package/dist/esm/bcm-tabs.entry.js.map +1 -1
  302. package/dist/esm/bcm-text.entry.js +3 -5
  303. package/dist/esm/bcm-text.entry.js.map +1 -1
  304. package/dist/esm/bcm-textarea.entry.js +4 -6
  305. package/dist/esm/bromcom-ui.js +4 -6
  306. package/dist/esm/bromcom-ui.js.map +1 -1
  307. package/dist/esm/generate-id-IBjzkjef.js.map +1 -1
  308. package/dist/esm/index-BfTCfPZ1.js.map +1 -1
  309. package/dist/esm/{index-BuuGCw0z.js → index-CRwAh9Np.js} +62 -372
  310. package/dist/esm/index-CRwAh9Np.js.map +1 -0
  311. package/dist/esm/index.js +0 -2
  312. package/dist/esm/loader.js +3 -5
  313. package/dist/esm/tv-CEcVC0yX.js.map +1 -1
  314. package/dist/types/components/accordion-group/types.d.ts +2 -2
  315. package/dist/types/components/checkbox/checkbox.component.d.ts +4 -0
  316. package/dist/types/components/drawer/drawer.component.d.ts +143 -3
  317. package/dist/types/components/drawer/types.d.ts +1 -1
  318. package/dist/types/components/dropdown/dropdown.component.d.ts +0 -3
  319. package/dist/types/components/linked/linked.component.d.ts +152 -36
  320. package/dist/types/components/modal/modal.component.d.ts +121 -0
  321. package/dist/types/components/pop-confirm/pop-confirm.component.d.ts +263 -143
  322. package/dist/types/components/popover/popover.component.d.ts +94 -39
  323. package/dist/types/components/tooltip/tooltip.component.d.ts +147 -56
  324. package/dist/types/components.d.ts +1579 -359
  325. package/dist/types/stencil-public-runtime.d.ts +50 -3
  326. package/package.json +1 -1
  327. package/dist/bromcom-ui/bcm-button.bcm-chip.bcm-drawer.bcm-modal.entry.esm.js.map +0 -1
  328. package/dist/bromcom-ui/bcm-linked.entry.esm.js.map +0 -1
  329. package/dist/bromcom-ui/bcm-pop-confirm.entry.esm.js.map +0 -1
  330. package/dist/bromcom-ui/bcm-popover.entry.esm.js.map +0 -1
  331. package/dist/bromcom-ui/bcm-tooltip.entry.esm.js.map +0 -1
  332. package/dist/bromcom-ui/p-0101b4f2.entry.js.map +0 -1
  333. package/dist/bromcom-ui/p-089edfdc.entry.js.map +0 -1
  334. package/dist/bromcom-ui/p-08bc93c5.entry.js +0 -2
  335. package/dist/bromcom-ui/p-08bc93c5.entry.js.map +0 -1
  336. package/dist/bromcom-ui/p-09be61c3.entry.js +0 -2
  337. package/dist/bromcom-ui/p-09be61c3.entry.js.map +0 -1
  338. package/dist/bromcom-ui/p-211ca6e0.entry.js.map +0 -1
  339. package/dist/bromcom-ui/p-2480e468.entry.js.map +0 -1
  340. package/dist/bromcom-ui/p-26d2db9e.entry.js.map +0 -1
  341. package/dist/bromcom-ui/p-2d0a6472.entry.js +0 -2
  342. package/dist/bromcom-ui/p-2d0a6472.entry.js.map +0 -1
  343. package/dist/bromcom-ui/p-360bff8a.entry.js.map +0 -1
  344. package/dist/bromcom-ui/p-488d6ef4.entry.js.map +0 -1
  345. package/dist/bromcom-ui/p-5e0702d1.entry.js.map +0 -1
  346. package/dist/bromcom-ui/p-6169490c.entry.js +0 -2
  347. package/dist/bromcom-ui/p-6169490c.entry.js.map +0 -1
  348. package/dist/bromcom-ui/p-6b585adc.entry.js.map +0 -1
  349. package/dist/bromcom-ui/p-6d7d73d5.entry.js +0 -2
  350. package/dist/bromcom-ui/p-6d7d73d5.entry.js.map +0 -1
  351. package/dist/bromcom-ui/p-7234af90.entry.js +0 -2
  352. package/dist/bromcom-ui/p-7234af90.entry.js.map +0 -1
  353. package/dist/bromcom-ui/p-83f64814.entry.js.map +0 -1
  354. package/dist/bromcom-ui/p-84677827.entry.js +0 -2
  355. package/dist/bromcom-ui/p-84677827.entry.js.map +0 -1
  356. package/dist/bromcom-ui/p-8ace5a6a.entry.js.map +0 -1
  357. package/dist/bromcom-ui/p-8d74249a.entry.js +0 -2
  358. package/dist/bromcom-ui/p-8d74249a.entry.js.map +0 -1
  359. package/dist/bromcom-ui/p-BuuGCw0z.js +0 -3
  360. package/dist/bromcom-ui/p-BuuGCw0z.js.map +0 -1
  361. package/dist/bromcom-ui/p-DxMLMJ3r.js +0 -2
  362. package/dist/bromcom-ui/p-DxMLMJ3r.js.map +0 -1
  363. package/dist/bromcom-ui/p-a88f20e0.entry.js.map +0 -1
  364. package/dist/bromcom-ui/p-bad299f2.entry.js +0 -2
  365. package/dist/bromcom-ui/p-bad299f2.entry.js.map +0 -1
  366. package/dist/bromcom-ui/p-bdaf5653.entry.js.map +0 -1
  367. package/dist/bromcom-ui/p-c0e7f9d6.entry.js.map +0 -1
  368. package/dist/bromcom-ui/p-c34f0a66.entry.js.map +0 -1
  369. package/dist/bromcom-ui/p-c9cf3f14.entry.js +0 -2
  370. package/dist/bromcom-ui/p-c9cf3f14.entry.js.map +0 -1
  371. package/dist/bromcom-ui/p-d7cea19f.entry.js +0 -2
  372. package/dist/bromcom-ui/p-d7cea19f.entry.js.map +0 -1
  373. package/dist/bromcom-ui/p-e5e0ac07.entry.js +0 -2
  374. package/dist/bromcom-ui/p-e5e0ac07.entry.js.map +0 -1
  375. package/dist/bromcom-ui/p-ee5f877f.entry.js.map +0 -1
  376. package/dist/bromcom-ui/p-fbccbffc.entry.js +0 -2
  377. package/dist/bromcom-ui/p-fbccbffc.entry.js.map +0 -1
  378. package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +0 -1
  379. package/dist/cjs/bcm-accordion.cjs.entry.js.map +0 -1
  380. package/dist/cjs/bcm-alert.cjs.entry.js.map +0 -1
  381. package/dist/cjs/bcm-avatar.cjs.entry.js.map +0 -1
  382. package/dist/cjs/bcm-badge.cjs.entry.js.map +0 -1
  383. package/dist/cjs/bcm-basic-badge.cjs.entry.js.map +0 -1
  384. package/dist/cjs/bcm-button-group.cjs.entry.js.map +0 -1
  385. package/dist/cjs/bcm-button.bcm-chip.bcm-drawer.bcm-modal.entry.cjs.js.map +0 -1
  386. package/dist/cjs/bcm-button_4.cjs.entry.js +0 -915
  387. package/dist/cjs/bcm-button_4.cjs.entry.js.map +0 -1
  388. package/dist/cjs/bcm-checkbox.cjs.entry.js.map +0 -1
  389. package/dist/cjs/bcm-divider.cjs.entry.js.map +0 -1
  390. package/dist/cjs/bcm-dropdown-item.cjs.entry.js.map +0 -1
  391. package/dist/cjs/bcm-dropdown.cjs.entry.js.map +0 -1
  392. package/dist/cjs/bcm-input.cjs.entry.js.map +0 -1
  393. package/dist/cjs/bcm-linked.cjs.entry.js +0 -343
  394. package/dist/cjs/bcm-linked.cjs.entry.js.map +0 -1
  395. package/dist/cjs/bcm-linked.entry.cjs.js.map +0 -1
  396. package/dist/cjs/bcm-pop-confirm.cjs.entry.js +0 -250
  397. package/dist/cjs/bcm-pop-confirm.cjs.entry.js.map +0 -1
  398. package/dist/cjs/bcm-pop-confirm.entry.cjs.js.map +0 -1
  399. package/dist/cjs/bcm-popover.cjs.entry.js +0 -189
  400. package/dist/cjs/bcm-popover.cjs.entry.js.map +0 -1
  401. package/dist/cjs/bcm-popover.entry.cjs.js.map +0 -1
  402. package/dist/cjs/bcm-radio-group.cjs.entry.js.map +0 -1
  403. package/dist/cjs/bcm-radio.cjs.entry.js.map +0 -1
  404. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js.map +0 -1
  405. package/dist/cjs/bcm-segmented-picker.cjs.entry.js.map +0 -1
  406. package/dist/cjs/bcm-shortcut.cjs.entry.js.map +0 -1
  407. package/dist/cjs/bcm-switch.cjs.entry.js.map +0 -1
  408. package/dist/cjs/bcm-tabs-content.cjs.entry.js.map +0 -1
  409. package/dist/cjs/bcm-tabs-list.cjs.entry.js.map +0 -1
  410. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +0 -1
  411. package/dist/cjs/bcm-tabs.cjs.entry.js.map +0 -1
  412. package/dist/cjs/bcm-text.cjs.entry.js.map +0 -1
  413. package/dist/cjs/bcm-textarea.cjs.entry.js.map +0 -1
  414. package/dist/cjs/bcm-tooltip.cjs.entry.js +0 -180
  415. package/dist/cjs/bcm-tooltip.cjs.entry.js.map +0 -1
  416. package/dist/cjs/bcm-tooltip.entry.cjs.js.map +0 -1
  417. package/dist/cjs/floating-ui.dom-DyKmFgkP.js +0 -1605
  418. package/dist/cjs/floating-ui.dom-DyKmFgkP.js.map +0 -1
  419. package/dist/cjs/index-BtiU-G2W.js.map +0 -1
  420. package/dist/components/p-BHwftRkk.js +0 -379
  421. package/dist/components/p-BHwftRkk.js.map +0 -1
  422. package/dist/components/p-CQF7wlXf.js.map +0 -1
  423. package/dist/components/p-CzcTU1ty.js.map +0 -1
  424. package/dist/components/p-DGlecSBr.js.map +0 -1
  425. package/dist/esm/bcm-button.bcm-chip.bcm-drawer.bcm-modal.entry.js.map +0 -1
  426. package/dist/esm/bcm-button_4.entry.js +0 -910
  427. package/dist/esm/bcm-button_4.entry.js.map +0 -1
  428. package/dist/esm/bcm-linked.entry.js +0 -341
  429. package/dist/esm/bcm-linked.entry.js.map +0 -1
  430. package/dist/esm/bcm-pop-confirm.entry.js +0 -248
  431. package/dist/esm/bcm-pop-confirm.entry.js.map +0 -1
  432. package/dist/esm/bcm-popover.entry.js +0 -187
  433. package/dist/esm/bcm-popover.entry.js.map +0 -1
  434. package/dist/esm/bcm-tooltip.entry.js +0 -178
  435. package/dist/esm/bcm-tooltip.entry.js.map +0 -1
  436. package/dist/esm/floating-ui.dom-DxMLMJ3r.js +0 -1598
  437. package/dist/esm/floating-ui.dom-DxMLMJ3r.js.map +0 -1
  438. package/dist/esm/index-BuuGCw0z.js.map +0 -1
@@ -1,56 +1,162 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { tv } from "../../utils/tv";
3
+ /**
4
+ * @component BcmDrawer
5
+ * @description A slide-in panel component built on the native HTML Dialog API.
6
+ * Ideal for navigation menus, forms, and contextual information that slides in from any edge of the screen.
7
+ *
8
+ * @slot - Main content area of the drawer
9
+ * @slot header - Custom header content (overrides headerText prop)
10
+ * @slot helper - Custom helper text content (overrides helper-text prop)
11
+ * @slot footer - Footer content for action buttons
12
+ *
13
+ * @part dialog - The native dialog element
14
+ * @part container - The container wrapper for positioning
15
+ * @part drawer - The main drawer panel
16
+ * @part header - The header section
17
+ * @part header-content - The content wrapper inside header
18
+ * @part title - The title heading element
19
+ * @part helper-text - The helper text paragraph
20
+ * @part close-button - The close button in header
21
+ * @part content - The main content area
22
+ * @part footer - The footer section
23
+ *
24
+ * @example
25
+ * ```html
26
+ * <!-- Basic usage -->
27
+ * <bcm-drawer open header-text="Menu" position="left">
28
+ * <nav>
29
+ * <a href="/home">Home</a>
30
+ * <a href="/about">About</a>
31
+ * </nav>
32
+ * </bcm-drawer>
33
+ *
34
+ * <!-- Custom size and position -->
35
+ * <bcm-drawer size="large" position="right">
36
+ * <div slot="header">Settings</div>
37
+ * <form>...</form>
38
+ * <div slot="footer">
39
+ * <button data-dismiss>Cancel</button>
40
+ * <button>Save</button>
41
+ * </div>
42
+ * </bcm-drawer>
43
+ *
44
+ * <!-- Custom size with CSS units -->
45
+ * <bcm-drawer size="600px" position="bottom">
46
+ * <p>Custom height drawer</p>
47
+ * </bcm-drawer>
48
+ *
49
+ * <!-- Programmatic usage -->
50
+ * <bcm-drawer id="myDrawer">Content</bcm-drawer>
51
+ * <script>
52
+ * document.getElementById('myDrawer').show();
53
+ * </script>
54
+ * ```
55
+ */
3
56
  export class BcmDrawer {
4
57
  constructor() {
58
+ /**
59
+ * Controls whether the drawer is open or closed
60
+ */
5
61
  this.open = false;
62
+ /**
63
+ * The size of the drawer. Can be a preset value or a custom CSS size
64
+ * - For left/right drawers:
65
+ * - 'small': 320px
66
+ * - 'medium': 480px
67
+ * - 'large': 1064px
68
+ * - For top/bottom drawers:
69
+ * - 'small': 40vh
70
+ * - 'medium': 60vh
71
+ * - 'large': 90vh
72
+ * - Custom values: Any valid CSS size (e.g., '600px', '50%', '30rem', '80vw')
73
+ */
6
74
  this.size = 'medium';
75
+ /**
76
+ * The position where the drawer slides in from
77
+ * - 'left': Slides from the left edge
78
+ * - 'right': Slides from the right edge
79
+ * - 'top': Slides from the top edge
80
+ * - 'bottom': Slides from the bottom edge
81
+ */
7
82
  this.position = 'right';
83
+ /**
84
+ * Makes the drawer take full width (for left/right) or full height (for top/bottom)
85
+ */
8
86
  this.fullWidth = false;
87
+ /**
88
+ * Makes the drawer take the full screen (100vw x 100vh)
89
+ */
90
+ this.fullScreen = false;
91
+ /**
92
+ * Controls backdrop behavior
93
+ * - true: Shows backdrop, drawer can be closed by clicking outside
94
+ * - false: No backdrop
95
+ * - 'static': Shows backdrop but prevents closing by clicking outside (triggers shake animation)
96
+ */
97
+ this.backdrop = true;
98
+ /**
99
+ * Hides the header section completely
100
+ */
9
101
  this.noHeader = false;
102
+ /**
103
+ * Hides the footer section completely
104
+ */
105
+ this.noFooter = false;
106
+ /**
107
+ * Allows closing the drawer by clicking on the backdrop
108
+ */
109
+ this.closeOnBackdrop = true;
110
+ /**
111
+ * Allows closing the drawer by pressing the Escape key
112
+ */
113
+ this.closeOnEscape = true;
114
+ this.shake = false;
10
115
  this.drawerClass = tv({
11
116
  slots: {
12
- backdrop: 'fixed inset-0 bg-color-transparent z-40 transition-opacity duration-300',
13
- wrapper: 'bcm-ui-element fixed bg-color-base text-color-default z-50 transform transition-transform duration-300 ease-in-out flex flex-col',
14
- header: 'flex justify-between items-center bg-color-default text-color-default',
15
- title: 'font-semibold m-0 text-size-6',
16
- closeButton: 'text-size-5 font-medium text-color-default bg-transparent border-none p-0 h-6 w-6 hover:bg-color-default-hover cursor-pointer active:bg-color-default-active',
17
- content: 'overflow-y-auto flex-grow',
117
+ dialog: 'bcm-ui-element fixed inset-0 m-0 p-0 w-full max-w-full h-full max-h-full border-none bg-transparent backdrop:bg-color-default-dark backdrop:opacity-50',
118
+ container: 'fixed inset-0 flex overflow-hidden',
119
+ drawer: 'relative bg-color-base text-color-default shadow-2xl flex flex-col',
120
+ header: 'flex justify-between items-start bg-color-base text-color-default border-color-default border-solid border-0 py-3 px-4',
121
+ headerContent: 'flex-1 min-w-0 flex items-center gap-2',
122
+ title: 'font-semibold m-0 text-size-6 text-color-header',
123
+ helperText: 'text-size-5 text-color-placeholder m-0',
124
+ closeButton: 'text-size-5 font-medium text-color-default bg-transparent border-none p-0 h-6 w-6 rounded hover:bg-color-default-hover cursor-pointer active:bg-color-active transition-colors flex-shrink-0 outline-none focus-visible:ring',
125
+ content: 'flex-grow overflow-y-auto p-4',
126
+ footer: 'flex items-center justify-end gap-2 py-3 px-4',
18
127
  },
19
128
  variants: {
20
- open: {
21
- true: {
22
- backdrop: 'opacity-100 visible',
23
- },
24
- false: {
25
- backdrop: 'opacity-0 invisible',
26
- },
27
- },
28
129
  position: {
29
130
  left: {
30
- wrapper: 'top-0 left-0 bottom-0',
131
+ container: 'justify-start',
132
+ drawer: 'h-full',
133
+ header: 'border-b',
31
134
  },
32
135
  right: {
33
- wrapper: 'top-0 right-0 bottom-0',
136
+ container: 'justify-end',
137
+ drawer: 'h-full',
138
+ header: 'border-b',
34
139
  },
35
140
  top: {
36
- wrapper: 'top-0 left-0 right-0',
141
+ container: 'items-start',
142
+ drawer: 'w-full',
143
+ header: 'border-b',
37
144
  },
38
145
  bottom: {
39
- wrapper: 'bottom-0 left-0 right-0',
146
+ container: 'items-end',
147
+ drawer: 'w-full',
148
+ header: 'border-t',
40
149
  },
41
150
  },
42
- size: {
43
- small: {
44
- header: 'py-3 px-4',
45
- content: 'p-4',
46
- },
47
- medium: {
48
- header: 'py-3 px-4',
49
- content: 'p-4',
151
+ fullScreen: {
152
+ true: {
153
+ drawer: 'w-screen h-screen max-w-none max-h-none',
154
+ container: 'p-0',
50
155
  },
51
- large: {
52
- header: 'py-3 px-4',
53
- content: 'p-4',
156
+ },
157
+ shake: {
158
+ true: {
159
+ drawer: 'animate-shake',
54
160
  },
55
161
  },
56
162
  noHeader: {
@@ -58,85 +164,122 @@ export class BcmDrawer {
58
164
  header: 'hidden',
59
165
  },
60
166
  },
61
- },
62
- compoundVariants: [
63
- {
64
- open: true,
65
- position: ['left', 'right'],
66
- class: {
67
- wrapper: 'translate-x-0',
68
- },
69
- },
70
- {
71
- open: true,
72
- position: ['top', 'bottom'],
73
- class: {
74
- wrapper: 'translate-y-0',
75
- },
76
- },
77
- {
78
- open: false,
79
- position: 'left',
80
- class: {
81
- wrapper: '-translate-x-full',
82
- },
83
- },
84
- {
85
- open: false,
86
- position: 'right',
87
- class: {
88
- wrapper: 'translate-x-full',
89
- },
90
- },
91
- {
92
- open: false,
93
- position: 'top',
94
- class: {
95
- wrapper: '-translate-y-full',
96
- },
97
- },
98
- {
99
- open: false,
100
- position: 'bottom',
101
- class: {
102
- wrapper: 'translate-y-full',
167
+ noFooter: {
168
+ true: {
169
+ footer: 'hidden',
103
170
  },
104
171
  },
105
- ],
172
+ },
106
173
  });
174
+ this.handleBackdropClick = (event) => {
175
+ const target = event.target;
176
+ // Check if click is on the container (backdrop area), not on drawer content
177
+ if (target.getAttribute('part') === 'container') {
178
+ if (this.backdrop === 'static') {
179
+ this.shakeDrawer();
180
+ }
181
+ else if (this.closeOnBackdrop) {
182
+ this.hide();
183
+ }
184
+ }
185
+ };
186
+ this.handleDialogCancel = (event) => {
187
+ event.preventDefault();
188
+ if (this.backdrop === 'static') {
189
+ this.shakeDrawer();
190
+ // Force dialog to stay open for static backdrop
191
+ requestAnimationFrame(() => {
192
+ if (this.dialogRef && !this.dialogRef.open && this.open) {
193
+ this.dialogRef.showModal();
194
+ }
195
+ });
196
+ }
197
+ else if (this.closeOnEscape) {
198
+ this.hide();
199
+ }
200
+ };
201
+ this.handleDrawerClick = (e) => {
202
+ e.stopPropagation();
203
+ };
107
204
  }
108
205
  handleOpenChange(isOpen) {
109
206
  if (isOpen) {
110
- document.body.style.overflow = 'hidden';
207
+ const event = this.bcmBeforeOpen.emit();
208
+ if (event.defaultPrevented) {
209
+ this.open = false;
210
+ return;
211
+ }
212
+ if (this.dialogRef) {
213
+ if (!this.dialogRef.open) {
214
+ this.dialogRef.showModal();
215
+ }
216
+ }
111
217
  this.bcmOpen.emit();
112
218
  }
113
219
  else {
114
- document.body.style.overflow = '';
220
+ const event = this.bcmBeforeClose.emit();
221
+ if (event.defaultPrevented) {
222
+ this.open = true;
223
+ return;
224
+ }
225
+ if (this.dialogRef && this.dialogRef.open) {
226
+ this.dialogRef.close();
227
+ }
115
228
  this.bcmClose.emit();
116
229
  }
117
230
  }
118
- handleKeyDown(event) {
119
- if (event.key === 'Escape' && this.open) {
231
+ handleClick(event) {
232
+ const path = event.composedPath();
233
+ const dismissElement = path.find(el => { var _a; return (_a = el.hasAttribute) === null || _a === void 0 ? void 0 : _a.call(el, 'data-dismiss'); });
234
+ if (dismissElement) {
120
235
  this.hide();
236
+ event.preventDefault();
237
+ event.stopPropagation();
121
238
  }
122
239
  }
240
+ /**
241
+ * Programmatically opens the drawer
242
+ */
123
243
  async show() {
124
- const event = this.bcmBeforeOpen.emit();
125
- if (!event.defaultPrevented) {
126
- this.open = true;
127
- }
244
+ this.open = true;
128
245
  }
246
+ /**
247
+ * Programmatically closes the drawer
248
+ */
129
249
  async hide() {
130
- const event = this.bcmBeforeClose.emit();
131
- if (!event.defaultPrevented) {
132
- this.open = false;
250
+ this.open = false;
251
+ }
252
+ /**
253
+ * Toggles the drawer open/closed state
254
+ */
255
+ async toggle() {
256
+ this.open = !this.open;
257
+ }
258
+ shakeDrawer() {
259
+ this.shake = true;
260
+ setTimeout(() => {
261
+ this.shake = false;
262
+ }, 300);
263
+ }
264
+ componentDidLoad() {
265
+ if (this.open && this.dialogRef) {
266
+ this.dialogRef.showModal();
133
267
  }
134
268
  }
135
269
  disconnectedCallback() {
136
- document.body.style.overflow = '';
270
+ if (this.dialogRef && this.open) {
271
+ this.dialogRef.close();
272
+ }
137
273
  }
138
- getWrapperStyle() {
274
+ getDrawerStyle() {
139
275
  const style = {};
276
+ if (this.fullScreen) {
277
+ style.width = '100vw';
278
+ style.height = '100vh';
279
+ style.maxWidth = 'none';
280
+ style.maxHeight = 'none';
281
+ return style;
282
+ }
140
283
  if (this.fullWidth) {
141
284
  if (this.position === 'left' || this.position === 'right') {
142
285
  style.width = '100vw';
@@ -146,42 +289,55 @@ export class BcmDrawer {
146
289
  }
147
290
  return style;
148
291
  }
292
+ // Check if size is a custom value (contains px, %, rem, etc.)
293
+ const isCustomSize = this.size && (this.size.includes('px') || this.size.includes('%') || this.size.includes('rem') || this.size.includes('em') || this.size.includes('vw') || this.size.includes('vh'));
149
294
  if (this.position === 'left' || this.position === 'right') {
150
- switch (this.size) {
151
- case 'small':
152
- style.width = '320px';
153
- break;
154
- case 'medium':
155
- style.width = '480px';
156
- break;
157
- case 'large':
158
- style.width = '1064px';
159
- break;
295
+ if (isCustomSize) {
296
+ style.width = this.size;
297
+ }
298
+ else {
299
+ switch (this.size) {
300
+ case 'small':
301
+ style.width = '320px';
302
+ break;
303
+ case 'medium':
304
+ style.width = '480px';
305
+ break;
306
+ case 'large':
307
+ style.width = '1064px';
308
+ break;
309
+ }
160
310
  }
161
311
  }
162
312
  else {
163
- switch (this.size) {
164
- case 'small':
165
- style.height = '40vh';
166
- break;
167
- case 'medium':
168
- style.height = '60vh';
169
- break;
170
- case 'large':
171
- style.height = '90vh';
172
- break;
313
+ if (isCustomSize) {
314
+ style.height = this.size;
315
+ }
316
+ else {
317
+ switch (this.size) {
318
+ case 'small':
319
+ style.height = '40vh';
320
+ break;
321
+ case 'medium':
322
+ style.height = '60vh';
323
+ break;
324
+ case 'large':
325
+ style.height = '90vh';
326
+ break;
327
+ }
173
328
  }
174
329
  }
175
330
  return style;
176
331
  }
177
332
  render() {
178
- const { backdrop, wrapper, header, title, closeButton, content } = this.drawerClass({
179
- open: this.open,
333
+ const { dialog, container, drawer, header, headerContent, title, helperText, closeButton, content, footer } = this.drawerClass({
180
334
  position: this.position,
181
- size: this.size,
335
+ fullScreen: this.fullScreen,
336
+ shake: this.shake,
182
337
  noHeader: this.noHeader,
338
+ noFooter: this.noFooter,
183
339
  });
184
- return (h("div", { key: '120639c39b40ba77d7420813e82c18952ae67514', part: "base" }, h("div", { key: '3f59e0b0c482421b38d8eb39076da51453a91a70', part: "backdrop", class: backdrop(), onClick: () => this.hide() }), h("div", { key: '9b97aeb2ad7067a11c76a7b265adeb2e3c80eac5', part: "wrapper", class: wrapper(), style: this.getWrapperStyle(), role: "dialog", "aria-modal": "true", "aria-hidden": !this.open ? 'true' : 'false', "aria-label": this.headerText }, h("div", { key: 'd2613cabb535822fed605f52fd782af88c6bef8e', part: "header", class: header() }, h("h2", { key: '1771936e710fe478e3793a1846a0acf3f98d8864', part: "title", class: title() }, h("slot", { key: '0f6e8cb671e201d20b54b7669de9abec7a5627d0', name: "header" }, this.headerText)), h("button", { key: 'da006eaf46c4e6e3d7e7f773477e8eb61be69c00', part: "close-button", class: closeButton(), onClick: () => this.hide(), "aria-label": "Close" }, h("bcm-icon", { key: '913497c5cc4305f3b0ddaf751803fdca19143a9d', name: "fa-solid fa-xmark" }))), h("div", { key: 'd0a287ee5726197cd180724fc70984c5f54f5ba2', part: "content", class: content() }, h("slot", { key: '8401ec9c937f0888499ec8bd4c7bdead3141284e' })), h("div", { key: '14991163fc8d7d78b5a89b8ec18cbf82690a4f0d', part: "footer" }, h("slot", { key: '10e3bb6c6e9aefa5eea8d24dd02fa482feedfb18', name: "footer" })))));
340
+ return (h("dialog", { key: '2b60e637660a9aaed3d1223114d2f0df4c66bb44', ref: el => (this.dialogRef = el), part: "dialog", class: dialog(), onClick: this.handleBackdropClick, onCancel: this.handleDialogCancel, "aria-labelledby": "drawer-title", "aria-describedby": this.helperText ? 'drawer-helper' : undefined, "aria-modal": "true" }, h("div", { key: 'd08f1664dfc39e62bc0cf499b5976af0e14310da', part: "container", class: container() }, h("div", { key: 'ec18449ff5552177551606c5fdd48ce9116fd287', part: "drawer", class: drawer(), style: this.getDrawerStyle(), role: "document", onClick: this.handleDrawerClick }, !this.noHeader && (h("div", { key: '43a3e3afd31c5db5cf9c616f01a3212ec6e3472b', part: "header", class: header() }, h("div", { key: 'bb3d4eea627e0425422015cc400ccea81c70a1a5', part: "header-content", class: headerContent() }, h("h2", { key: '5c5cbd204a44f31171b932fba0932bfcba89e255', id: "drawer-title", part: "title", class: title() }, h("slot", { key: 'c8785c89adb151666c76c158c82f3e9ca6666199', name: "header" }, this.headerText)), this.helperText && (h("p", { key: '2ca315ad22086559305dc0cdcd63f32115a4f721', id: "drawer-helper", part: "helper-text", class: helperText() }, h("slot", { key: '93dcafee1e25675a0e72b53d9d6c848fd63c2f86', name: "helper" }, this.helperText)))), h("button", { key: '1eb3d5b2e9ac607bd1642ca9f067064bf376ce97', part: "close-button", class: closeButton(), onClick: () => this.hide(), "aria-label": "Close drawer", type: "button" }, h("bcm-icon", { key: '0c48991f9d68c874b78384de0d8a3bd15b27f363', name: "fa-solid fa-xmark" })))), h("div", { key: 'd34a886ca003e38bc84b86185fd0b5690954fd9f', part: "content", class: content() }, h("slot", { key: '1c3978b0a66f122b5d4ee5582ed0458c6fc16c73' })), !this.noFooter && (h("div", { key: 'db5faf3da663d11455299840e33732995aa75cf0', part: "footer", class: footer() }, h("slot", { key: '4836d78626ec999eb8f0aa8585d20df48a677f72', name: "footer" })))))));
185
341
  }
186
342
  static get is() { return "bcm-drawer"; }
187
343
  static get encapsulation() { return "shadow"; }
@@ -199,7 +355,6 @@ export class BcmDrawer {
199
355
  return {
200
356
  "open": {
201
357
  "type": "boolean",
202
- "attribute": "open",
203
358
  "mutable": true,
204
359
  "complexType": {
205
360
  "original": "boolean",
@@ -210,20 +365,20 @@ export class BcmDrawer {
210
365
  "optional": false,
211
366
  "docs": {
212
367
  "tags": [],
213
- "text": ""
368
+ "text": "Controls whether the drawer is open or closed"
214
369
  },
215
370
  "getter": false,
216
371
  "setter": false,
217
372
  "reflect": true,
373
+ "attribute": "open",
218
374
  "defaultValue": "false"
219
375
  },
220
376
  "size": {
221
377
  "type": "string",
222
- "attribute": "size",
223
378
  "mutable": false,
224
379
  "complexType": {
225
380
  "original": "DrawerSize",
226
- "resolved": "\"large\" | \"medium\" | \"small\"",
381
+ "resolved": "string",
227
382
  "references": {
228
383
  "DrawerSize": {
229
384
  "location": "import",
@@ -236,16 +391,16 @@ export class BcmDrawer {
236
391
  "optional": false,
237
392
  "docs": {
238
393
  "tags": [],
239
- "text": ""
394
+ "text": "The size of the drawer. Can be a preset value or a custom CSS size\n- For left/right drawers:\n - 'small': 320px\n - 'medium': 480px\n - 'large': 1064px\n- For top/bottom drawers:\n - 'small': 40vh\n - 'medium': 60vh\n - 'large': 90vh\n- Custom values: Any valid CSS size (e.g., '600px', '50%', '30rem', '80vw')"
240
395
  },
241
396
  "getter": false,
242
397
  "setter": false,
243
398
  "reflect": false,
399
+ "attribute": "size",
244
400
  "defaultValue": "'medium'"
245
401
  },
246
402
  "position": {
247
403
  "type": "string",
248
- "attribute": "position",
249
404
  "mutable": false,
250
405
  "complexType": {
251
406
  "original": "DrawerPosition",
@@ -262,16 +417,36 @@ export class BcmDrawer {
262
417
  "optional": false,
263
418
  "docs": {
264
419
  "tags": [],
265
- "text": ""
420
+ "text": "The position where the drawer slides in from\n- 'left': Slides from the left edge\n- 'right': Slides from the right edge\n- 'top': Slides from the top edge\n- 'bottom': Slides from the bottom edge"
266
421
  },
267
422
  "getter": false,
268
423
  "setter": false,
269
- "reflect": false,
424
+ "reflect": true,
425
+ "attribute": "position",
270
426
  "defaultValue": "'right'"
271
427
  },
272
428
  "fullWidth": {
273
429
  "type": "boolean",
430
+ "mutable": false,
431
+ "complexType": {
432
+ "original": "boolean",
433
+ "resolved": "boolean",
434
+ "references": {}
435
+ },
436
+ "required": false,
437
+ "optional": false,
438
+ "docs": {
439
+ "tags": [],
440
+ "text": "Makes the drawer take full width (for left/right) or full height (for top/bottom)"
441
+ },
442
+ "getter": false,
443
+ "setter": false,
444
+ "reflect": false,
274
445
  "attribute": "full-width",
446
+ "defaultValue": "false"
447
+ },
448
+ "fullScreen": {
449
+ "type": "boolean",
275
450
  "mutable": false,
276
451
  "complexType": {
277
452
  "original": "boolean",
@@ -282,16 +457,36 @@ export class BcmDrawer {
282
457
  "optional": false,
283
458
  "docs": {
284
459
  "tags": [],
285
- "text": ""
460
+ "text": "Makes the drawer take the full screen (100vw x 100vh)"
286
461
  },
287
462
  "getter": false,
288
463
  "setter": false,
289
464
  "reflect": false,
465
+ "attribute": "full-screen",
290
466
  "defaultValue": "false"
291
467
  },
468
+ "backdrop": {
469
+ "type": "any",
470
+ "mutable": false,
471
+ "complexType": {
472
+ "original": "boolean | 'static'",
473
+ "resolved": "\"static\" | boolean",
474
+ "references": {}
475
+ },
476
+ "required": false,
477
+ "optional": false,
478
+ "docs": {
479
+ "tags": [],
480
+ "text": "Controls backdrop behavior\n- true: Shows backdrop, drawer can be closed by clicking outside\n- false: No backdrop\n- 'static': Shows backdrop but prevents closing by clicking outside (triggers shake animation)"
481
+ },
482
+ "getter": false,
483
+ "setter": false,
484
+ "reflect": false,
485
+ "attribute": "backdrop",
486
+ "defaultValue": "true"
487
+ },
292
488
  "headerText": {
293
489
  "type": "string",
294
- "attribute": "header-text",
295
490
  "mutable": false,
296
491
  "complexType": {
297
492
  "original": "string",
@@ -302,15 +497,54 @@ export class BcmDrawer {
302
497
  "optional": true,
303
498
  "docs": {
304
499
  "tags": [],
305
- "text": ""
500
+ "text": "Text to display in the drawer header"
501
+ },
502
+ "getter": false,
503
+ "setter": false,
504
+ "reflect": false,
505
+ "attribute": "header-text"
506
+ },
507
+ "helperText": {
508
+ "type": "string",
509
+ "mutable": false,
510
+ "complexType": {
511
+ "original": "string",
512
+ "resolved": "string",
513
+ "references": {}
514
+ },
515
+ "required": false,
516
+ "optional": true,
517
+ "docs": {
518
+ "tags": [],
519
+ "text": "Helper text to display below the header title"
306
520
  },
307
521
  "getter": false,
308
522
  "setter": false,
309
- "reflect": false
523
+ "reflect": false,
524
+ "attribute": "helper-text"
310
525
  },
311
526
  "noHeader": {
312
527
  "type": "boolean",
528
+ "mutable": false,
529
+ "complexType": {
530
+ "original": "boolean",
531
+ "resolved": "boolean",
532
+ "references": {}
533
+ },
534
+ "required": false,
535
+ "optional": false,
536
+ "docs": {
537
+ "tags": [],
538
+ "text": "Hides the header section completely"
539
+ },
540
+ "getter": false,
541
+ "setter": false,
542
+ "reflect": false,
313
543
  "attribute": "no-header",
544
+ "defaultValue": "false"
545
+ },
546
+ "noFooter": {
547
+ "type": "boolean",
314
548
  "mutable": false,
315
549
  "complexType": {
316
550
  "original": "boolean",
@@ -321,15 +555,61 @@ export class BcmDrawer {
321
555
  "optional": false,
322
556
  "docs": {
323
557
  "tags": [],
324
- "text": ""
558
+ "text": "Hides the footer section completely"
325
559
  },
326
560
  "getter": false,
327
561
  "setter": false,
328
562
  "reflect": false,
563
+ "attribute": "no-footer",
329
564
  "defaultValue": "false"
565
+ },
566
+ "closeOnBackdrop": {
567
+ "type": "boolean",
568
+ "mutable": false,
569
+ "complexType": {
570
+ "original": "boolean",
571
+ "resolved": "boolean",
572
+ "references": {}
573
+ },
574
+ "required": false,
575
+ "optional": false,
576
+ "docs": {
577
+ "tags": [],
578
+ "text": "Allows closing the drawer by clicking on the backdrop"
579
+ },
580
+ "getter": false,
581
+ "setter": false,
582
+ "reflect": false,
583
+ "attribute": "close-on-backdrop",
584
+ "defaultValue": "true"
585
+ },
586
+ "closeOnEscape": {
587
+ "type": "boolean",
588
+ "mutable": false,
589
+ "complexType": {
590
+ "original": "boolean",
591
+ "resolved": "boolean",
592
+ "references": {}
593
+ },
594
+ "required": false,
595
+ "optional": false,
596
+ "docs": {
597
+ "tags": [],
598
+ "text": "Allows closing the drawer by pressing the Escape key"
599
+ },
600
+ "getter": false,
601
+ "setter": false,
602
+ "reflect": false,
603
+ "attribute": "close-on-escape",
604
+ "defaultValue": "true"
330
605
  }
331
606
  };
332
607
  }
608
+ static get states() {
609
+ return {
610
+ "shake": {}
611
+ };
612
+ }
333
613
  static get events() {
334
614
  return [{
335
615
  "method": "bcmOpen",
@@ -339,7 +619,7 @@ export class BcmDrawer {
339
619
  "composed": true,
340
620
  "docs": {
341
621
  "tags": [],
342
- "text": ""
622
+ "text": "Emitted after the drawer has opened"
343
623
  },
344
624
  "complexType": {
345
625
  "original": "void",
@@ -354,7 +634,7 @@ export class BcmDrawer {
354
634
  "composed": true,
355
635
  "docs": {
356
636
  "tags": [],
357
- "text": ""
637
+ "text": "Emitted after the drawer has closed"
358
638
  },
359
639
  "complexType": {
360
640
  "original": "void",
@@ -369,7 +649,7 @@ export class BcmDrawer {
369
649
  "composed": true,
370
650
  "docs": {
371
651
  "tags": [],
372
- "text": ""
652
+ "text": "Emitted before the drawer opens. Can be cancelled by calling event.preventDefault()"
373
653
  },
374
654
  "complexType": {
375
655
  "original": "void",
@@ -384,7 +664,7 @@ export class BcmDrawer {
384
664
  "composed": true,
385
665
  "docs": {
386
666
  "tags": [],
387
- "text": ""
667
+ "text": "Emitted before the drawer closes. Can be cancelled by calling event.preventDefault()"
388
668
  },
389
669
  "complexType": {
390
670
  "original": "void",
@@ -408,7 +688,7 @@ export class BcmDrawer {
408
688
  "return": "Promise<void>"
409
689
  },
410
690
  "docs": {
411
- "text": "",
691
+ "text": "Programmatically opens the drawer",
412
692
  "tags": []
413
693
  }
414
694
  },
@@ -425,7 +705,24 @@ export class BcmDrawer {
425
705
  "return": "Promise<void>"
426
706
  },
427
707
  "docs": {
428
- "text": "",
708
+ "text": "Programmatically closes the drawer",
709
+ "tags": []
710
+ }
711
+ },
712
+ "toggle": {
713
+ "complexType": {
714
+ "signature": "() => Promise<void>",
715
+ "parameters": [],
716
+ "references": {
717
+ "Promise": {
718
+ "location": "global",
719
+ "id": "global::Promise"
720
+ }
721
+ },
722
+ "return": "Promise<void>"
723
+ },
724
+ "docs": {
725
+ "text": "Toggles the drawer open/closed state",
429
726
  "tags": []
430
727
  }
431
728
  }
@@ -440,10 +737,10 @@ export class BcmDrawer {
440
737
  }
441
738
  static get listeners() {
442
739
  return [{
443
- "name": "keydown",
444
- "method": "handleKeyDown",
445
- "target": "window",
446
- "capture": false,
740
+ "name": "click",
741
+ "method": "handleClick",
742
+ "target": undefined,
743
+ "capture": true,
447
744
  "passive": false
448
745
  }];
449
746
  }