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
@@ -0,0 +1,330 @@
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-B6Ppbs5O.js';
2
+ import { t as tv } from './tv-CEcVC0yX.js';
3
+
4
+ const drawerCss = ".contents{display:contents}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}:host{display:contents}[part=dialog]::backdrop{animation:backdrop-fade-in .2s ease-out}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:.5}}[part=drawer]{transition:transform .2s ease-out}:host([position=left]) [part=drawer]{transform:translateX(-20px)}:host([position=left][open]) [part=drawer]{transform:translateX(0)}:host([position=right]) [part=drawer]{transform:translateX(20px)}:host([position=right][open]) [part=drawer]{transform:translateX(0)}:host([position=top]) [part=drawer]{transform:translateY(-20px)}:host([position=top][open]) [part=drawer]{transform:translateY(0)}:host([position=bottom]) [part=drawer]{transform:translateY(20px)}:host([position=bottom][open]) [part=drawer]{transform:translateY(0)}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.m-0{margin:0}.flex{display:flex}.hidden{display:none}.h-6{height:1.5rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-full{max-height:100%}.max-h-none{max-height:none}.w-6{width:1.5rem}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0}.max-w-full{max-width:100%}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.animate-shake{animation:shake .82s cubic-bezier(.36,.07,.19,.97) infinite;animation:shake .3s cubic-bezier(.36,.07,.19,.97) both}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:var(--bcm-ui-border-radius-default,6px)}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-none{border-style:none}.border-color-default{border-color:var(--bcm-ui-color-border-default)}.bg-color-base{background-color:var(--bcm-ui-color-background-base-default)}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-color-default{color:var(--bcm-ui-color-text-default)}.text-color-header{color:var(--bcm-ui-color-text-header)}.text-color-placeholder{color:var(--bcm-ui-color-text-placeholder)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:var(--bcm-ui-box-shadow-2xl);--tw-shadow-colored:var(--bcm-ui-box-shadow-2xl)}.outline-none{outline:2px solid transparent;outline-offset:2px}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.backdrop\\:bg-color-default-dark::backdrop{background-color:var(--bcm-ui-color-background-default-dark-default)}.backdrop\\:opacity-50::backdrop{opacity:.5}.hover\\:bg-color-default-hover:hover{background-color:var(--bcm-ui-color-background-default-hover)}.focus-visible\\:ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}";
5
+
6
+ const BcmDrawer = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.bcmOpen = createEvent(this, "bcmOpen", 7);
10
+ this.bcmClose = createEvent(this, "bcmClose", 7);
11
+ this.bcmBeforeOpen = createEvent(this, "bcmBeforeOpen", 7);
12
+ this.bcmBeforeClose = createEvent(this, "bcmBeforeClose", 7);
13
+ }
14
+ get host() { return getElement(this); }
15
+ dialogRef;
16
+ /**
17
+ * Controls whether the drawer is open or closed
18
+ */
19
+ open = false;
20
+ /**
21
+ * The size of the drawer. Can be a preset value or a custom CSS size
22
+ * - For left/right drawers:
23
+ * - 'small': 320px
24
+ * - 'medium': 480px
25
+ * - 'large': 1064px
26
+ * - For top/bottom drawers:
27
+ * - 'small': 40vh
28
+ * - 'medium': 60vh
29
+ * - 'large': 90vh
30
+ * - Custom values: Any valid CSS size (e.g., '600px', '50%', '30rem', '80vw')
31
+ */
32
+ size = 'medium';
33
+ /**
34
+ * The position where the drawer slides in from
35
+ * - 'left': Slides from the left edge
36
+ * - 'right': Slides from the right edge
37
+ * - 'top': Slides from the top edge
38
+ * - 'bottom': Slides from the bottom edge
39
+ */
40
+ position = 'right';
41
+ /**
42
+ * Makes the drawer take full width (for left/right) or full height (for top/bottom)
43
+ */
44
+ fullWidth = false;
45
+ /**
46
+ * Makes the drawer take the full screen (100vw x 100vh)
47
+ */
48
+ fullScreen = false;
49
+ /**
50
+ * Controls backdrop behavior
51
+ * - true: Shows backdrop, drawer can be closed by clicking outside
52
+ * - false: No backdrop
53
+ * - 'static': Shows backdrop but prevents closing by clicking outside (triggers shake animation)
54
+ */
55
+ backdrop = true;
56
+ /**
57
+ * Text to display in the drawer header
58
+ */
59
+ headerText;
60
+ /**
61
+ * Helper text to display below the header title
62
+ */
63
+ helperText;
64
+ /**
65
+ * Hides the header section completely
66
+ */
67
+ noHeader = false;
68
+ /**
69
+ * Hides the footer section completely
70
+ */
71
+ noFooter = false;
72
+ /**
73
+ * Allows closing the drawer by clicking on the backdrop
74
+ */
75
+ closeOnBackdrop = true;
76
+ /**
77
+ * Allows closing the drawer by pressing the Escape key
78
+ */
79
+ closeOnEscape = true;
80
+ shake = false;
81
+ /**
82
+ * Emitted after the drawer has opened
83
+ */
84
+ bcmOpen;
85
+ /**
86
+ * Emitted after the drawer has closed
87
+ */
88
+ bcmClose;
89
+ /**
90
+ * Emitted before the drawer opens. Can be cancelled by calling event.preventDefault()
91
+ */
92
+ bcmBeforeOpen;
93
+ /**
94
+ * Emitted before the drawer closes. Can be cancelled by calling event.preventDefault()
95
+ */
96
+ bcmBeforeClose;
97
+ drawerClass = tv({
98
+ slots: {
99
+ 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',
100
+ container: 'fixed inset-0 flex overflow-hidden',
101
+ drawer: 'relative bg-color-base text-color-default shadow-2xl flex flex-col',
102
+ header: 'flex justify-between items-start bg-color-base text-color-default border-color-default border-solid border-0 py-3 px-4',
103
+ headerContent: 'flex-1 min-w-0 flex items-center gap-2',
104
+ title: 'font-semibold m-0 text-size-6 text-color-header',
105
+ helperText: 'text-size-5 text-color-placeholder m-0',
106
+ 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',
107
+ content: 'flex-grow overflow-y-auto p-4',
108
+ footer: 'flex items-center justify-end gap-2 py-3 px-4',
109
+ },
110
+ variants: {
111
+ position: {
112
+ left: {
113
+ container: 'justify-start',
114
+ drawer: 'h-full',
115
+ header: 'border-b',
116
+ },
117
+ right: {
118
+ container: 'justify-end',
119
+ drawer: 'h-full',
120
+ header: 'border-b',
121
+ },
122
+ top: {
123
+ container: 'items-start',
124
+ drawer: 'w-full',
125
+ header: 'border-b',
126
+ },
127
+ bottom: {
128
+ container: 'items-end',
129
+ drawer: 'w-full',
130
+ header: 'border-t',
131
+ },
132
+ },
133
+ fullScreen: {
134
+ true: {
135
+ drawer: 'w-screen h-screen max-w-none max-h-none',
136
+ container: 'p-0',
137
+ },
138
+ },
139
+ shake: {
140
+ true: {
141
+ drawer: 'animate-shake',
142
+ },
143
+ },
144
+ noHeader: {
145
+ true: {
146
+ header: 'hidden',
147
+ },
148
+ },
149
+ noFooter: {
150
+ true: {
151
+ footer: 'hidden',
152
+ },
153
+ },
154
+ },
155
+ });
156
+ handleOpenChange(isOpen) {
157
+ if (isOpen) {
158
+ const event = this.bcmBeforeOpen.emit();
159
+ if (event.defaultPrevented) {
160
+ this.open = false;
161
+ return;
162
+ }
163
+ if (this.dialogRef) {
164
+ if (!this.dialogRef.open) {
165
+ this.dialogRef.showModal();
166
+ }
167
+ }
168
+ this.bcmOpen.emit();
169
+ }
170
+ else {
171
+ const event = this.bcmBeforeClose.emit();
172
+ if (event.defaultPrevented) {
173
+ this.open = true;
174
+ return;
175
+ }
176
+ if (this.dialogRef && this.dialogRef.open) {
177
+ this.dialogRef.close();
178
+ }
179
+ this.bcmClose.emit();
180
+ }
181
+ }
182
+ handleClick(event) {
183
+ const path = event.composedPath();
184
+ const dismissElement = path.find(el => el.hasAttribute?.('data-dismiss'));
185
+ if (dismissElement) {
186
+ this.hide();
187
+ event.preventDefault();
188
+ event.stopPropagation();
189
+ }
190
+ }
191
+ /**
192
+ * Programmatically opens the drawer
193
+ */
194
+ async show() {
195
+ this.open = true;
196
+ }
197
+ /**
198
+ * Programmatically closes the drawer
199
+ */
200
+ async hide() {
201
+ this.open = false;
202
+ }
203
+ /**
204
+ * Toggles the drawer open/closed state
205
+ */
206
+ async toggle() {
207
+ this.open = !this.open;
208
+ }
209
+ shakeDrawer() {
210
+ this.shake = true;
211
+ setTimeout(() => {
212
+ this.shake = false;
213
+ }, 300);
214
+ }
215
+ handleBackdropClick = (event) => {
216
+ const target = event.target;
217
+ // Check if click is on the container (backdrop area), not on drawer content
218
+ if (target.getAttribute('part') === 'container') {
219
+ if (this.backdrop === 'static') {
220
+ this.shakeDrawer();
221
+ }
222
+ else if (this.closeOnBackdrop) {
223
+ this.hide();
224
+ }
225
+ }
226
+ };
227
+ handleDialogCancel = (event) => {
228
+ event.preventDefault();
229
+ if (this.backdrop === 'static') {
230
+ this.shakeDrawer();
231
+ // Force dialog to stay open for static backdrop
232
+ requestAnimationFrame(() => {
233
+ if (this.dialogRef && !this.dialogRef.open && this.open) {
234
+ this.dialogRef.showModal();
235
+ }
236
+ });
237
+ }
238
+ else if (this.closeOnEscape) {
239
+ this.hide();
240
+ }
241
+ };
242
+ handleDrawerClick = (e) => {
243
+ e.stopPropagation();
244
+ };
245
+ componentDidLoad() {
246
+ if (this.open && this.dialogRef) {
247
+ this.dialogRef.showModal();
248
+ }
249
+ }
250
+ disconnectedCallback() {
251
+ if (this.dialogRef && this.open) {
252
+ this.dialogRef.close();
253
+ }
254
+ }
255
+ getDrawerStyle() {
256
+ const style = {};
257
+ if (this.fullScreen) {
258
+ style.width = '100vw';
259
+ style.height = '100vh';
260
+ style.maxWidth = 'none';
261
+ style.maxHeight = 'none';
262
+ return style;
263
+ }
264
+ if (this.fullWidth) {
265
+ if (this.position === 'left' || this.position === 'right') {
266
+ style.width = '100vw';
267
+ }
268
+ else {
269
+ style.height = '100vh';
270
+ }
271
+ return style;
272
+ }
273
+ // Check if size is a custom value (contains px, %, rem, etc.)
274
+ 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'));
275
+ if (this.position === 'left' || this.position === 'right') {
276
+ if (isCustomSize) {
277
+ style.width = this.size;
278
+ }
279
+ else {
280
+ switch (this.size) {
281
+ case 'small':
282
+ style.width = '320px';
283
+ break;
284
+ case 'medium':
285
+ style.width = '480px';
286
+ break;
287
+ case 'large':
288
+ style.width = '1064px';
289
+ break;
290
+ }
291
+ }
292
+ }
293
+ else {
294
+ if (isCustomSize) {
295
+ style.height = this.size;
296
+ }
297
+ else {
298
+ switch (this.size) {
299
+ case 'small':
300
+ style.height = '40vh';
301
+ break;
302
+ case 'medium':
303
+ style.height = '60vh';
304
+ break;
305
+ case 'large':
306
+ style.height = '90vh';
307
+ break;
308
+ }
309
+ }
310
+ }
311
+ return style;
312
+ }
313
+ render() {
314
+ const { dialog, container, drawer, header, headerContent, title, helperText, closeButton, content, footer } = this.drawerClass({
315
+ position: this.position,
316
+ fullScreen: this.fullScreen,
317
+ shake: this.shake,
318
+ noHeader: this.noHeader,
319
+ noFooter: this.noFooter,
320
+ });
321
+ return (h("dialog", { key: '6a335177fb3c90ad206bba7f7c7a93a20df7611e', 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: '2eeea8a2a6736013dcec73021e24bb3db6a921c7', part: "container", class: container() }, h("div", { key: 'a36fd40e00c83334d47715c2b180a0408b0a08b3', part: "drawer", class: drawer(), style: this.getDrawerStyle(), role: "document", onClick: this.handleDrawerClick }, !this.noHeader && (h("div", { key: '89f9e92c08969aca42d298b4648fdb2439babb73', part: "header", class: header() }, h("div", { key: '8812211450386c31d1e4ec8ea7a2378606aa126b', part: "header-content", class: headerContent() }, h("h2", { key: '41f3e0d6956ec421641bdc1a69e7f6deeb7ef139', id: "drawer-title", part: "title", class: title() }, h("slot", { key: 'b8623778b2a1c43721bf744a0b121c11bb1cca55', name: "header" }, this.headerText)), this.helperText && (h("p", { key: '79303d4ba960c904baa9e2f1649a4d1f69081c53', id: "drawer-helper", part: "helper-text", class: helperText() }, h("slot", { key: '9cbd0e00c5d2f2655afd86d173defcdddb80ec84', name: "helper" }, this.helperText)))), h("button", { key: '459c89390be0fe8edbfd865d49fc20518e620e4a', part: "close-button", class: closeButton(), onClick: () => this.hide(), "aria-label": "Close drawer", type: "button" }, h("bcm-icon", { key: '4bc80633645791203b4b2fc0619bc78343376467', name: "fa-solid fa-xmark" })))), h("div", { key: '131da58022d71653d81ba64d95796c1c1a1253d5', part: "content", class: content() }, h("slot", { key: 'a32114b0afa5dbf12b865d4005a880bf40e57c84' })), !this.noFooter && (h("div", { key: 'afad547deecb9cdaf80e92fbbf6fb1b0780a7be7', part: "footer", class: footer() }, h("slot", { key: '0b09555a831909c6211d744d49759a2d0bc5e0a1', name: "footer" })))))));
322
+ }
323
+ static get watchers() { return {
324
+ "open": ["handleOpenChange"]
325
+ }; }
326
+ };
327
+ BcmDrawer.style = drawerCss;
328
+
329
+ export { BcmDrawer as bcm_drawer };
330
+ //# sourceMappingURL=bcm-drawer.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bcm-drawer.entry.js","sources":["src/components/drawer/drawer.css?tag=bcm-drawer&encapsulation=shadow","src/components/drawer/drawer.component.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n/* Backdrop fade animation */\n[part='dialog']::backdrop {\n animation: backdrop-fade-in 200ms ease-out;\n}\n\n@keyframes backdrop-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 0.5;\n }\n}\n\n/* Simple slide animations - 20px movement */\n[part='drawer'] {\n transition: transform 200ms ease-out;\n}\n\n/* Left position animations */\n:host([position='left']) [part='drawer'] {\n transform: translateX(-20px);\n}\n\n:host([position='left'][open]) [part='drawer'] {\n transform: translateX(0);\n}\n\n/* Right position animations */\n:host([position='right']) [part='drawer'] {\n transform: translateX(20px);\n}\n\n:host([position='right'][open]) [part='drawer'] {\n transform: translateX(0);\n}\n\n/* Top position animations */\n:host([position='top']) [part='drawer'] {\n transform: translateY(-20px);\n}\n\n:host([position='top'][open]) [part='drawer'] {\n transform: translateY(0);\n}\n\n/* Bottom position animations */\n:host([position='bottom']) [part='drawer'] {\n transform: translateY(20px);\n}\n\n:host([position='bottom'][open]) [part='drawer'] {\n transform: translateY(0);\n}\n","import { Component, Prop, h, Element, Event, EventEmitter, Method, Watch, Listen, State } from '@stencil/core';\nimport { tv } from '@utils/tv';\nimport { DrawerPosition, DrawerSize } from './types';\n\n/**\n * @component BcmDrawer\n * @description A slide-in panel component built on the native HTML Dialog API.\n * Ideal for navigation menus, forms, and contextual information that slides in from any edge of the screen.\n *\n * @slot - Main content area of the drawer\n * @slot header - Custom header content (overrides headerText prop)\n * @slot helper - Custom helper text content (overrides helper-text prop)\n * @slot footer - Footer content for action buttons\n *\n * @part dialog - The native dialog element\n * @part container - The container wrapper for positioning\n * @part drawer - The main drawer panel\n * @part header - The header section\n * @part header-content - The content wrapper inside header\n * @part title - The title heading element\n * @part helper-text - The helper text paragraph\n * @part close-button - The close button in header\n * @part content - The main content area\n * @part footer - The footer section\n *\n * @example\n * ```html\n * <!-- Basic usage -->\n * <bcm-drawer open header-text=\"Menu\" position=\"left\">\n * <nav>\n * <a href=\"/home\">Home</a>\n * <a href=\"/about\">About</a>\n * </nav>\n * </bcm-drawer>\n *\n * <!-- Custom size and position -->\n * <bcm-drawer size=\"large\" position=\"right\">\n * <div slot=\"header\">Settings</div>\n * <form>...</form>\n * <div slot=\"footer\">\n * <button data-dismiss>Cancel</button>\n * <button>Save</button>\n * </div>\n * </bcm-drawer>\n *\n * <!-- Custom size with CSS units -->\n * <bcm-drawer size=\"600px\" position=\"bottom\">\n * <p>Custom height drawer</p>\n * </bcm-drawer>\n *\n * <!-- Programmatic usage -->\n * <bcm-drawer id=\"myDrawer\">Content</bcm-drawer>\n * <script>\n * document.getElementById('myDrawer').show();\n * </script>\n * ```\n */\n@Component({\n tag: 'bcm-drawer',\n styleUrl: 'drawer.css',\n shadow: true,\n})\nexport class BcmDrawer {\n @Element() host: HTMLBcmDrawerElement;\n\n private dialogRef?: HTMLDialogElement;\n\n /**\n * Controls whether the drawer is open or closed\n */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /**\n * 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')\n */\n @Prop() size: DrawerSize = 'medium';\n\n /**\n * 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\n */\n @Prop({ reflect: true }) position: DrawerPosition = 'right';\n\n /**\n * Makes the drawer take full width (for left/right) or full height (for top/bottom)\n */\n @Prop({ attribute: 'full-width' }) fullWidth: boolean = false;\n\n /**\n * Makes the drawer take the full screen (100vw x 100vh)\n */\n @Prop({ attribute: 'full-screen' }) fullScreen: boolean = false;\n\n /**\n * 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)\n */\n @Prop() backdrop: boolean | 'static' = true;\n\n /**\n * Text to display in the drawer header\n */\n @Prop() headerText?: string;\n\n /**\n * Helper text to display below the header title\n */\n @Prop({ attribute: 'helper-text' }) helperText?: string;\n\n /**\n * Hides the header section completely\n */\n @Prop({ attribute: 'no-header' }) noHeader: boolean = false;\n\n /**\n * Hides the footer section completely\n */\n @Prop({ attribute: 'no-footer' }) noFooter: boolean = false;\n\n /**\n * Allows closing the drawer by clicking on the backdrop\n */\n @Prop({ attribute: 'close-on-backdrop' }) closeOnBackdrop: boolean = true;\n\n /**\n * Allows closing the drawer by pressing the Escape key\n */\n @Prop({ attribute: 'close-on-escape' }) closeOnEscape: boolean = true;\n\n @State() shake: boolean = false;\n\n /**\n * Emitted after the drawer has opened\n */\n @Event() bcmOpen: EventEmitter<void>;\n\n /**\n * Emitted after the drawer has closed\n */\n @Event() bcmClose: EventEmitter<void>;\n\n /**\n * Emitted before the drawer opens. Can be cancelled by calling event.preventDefault()\n */\n @Event({ cancelable: true }) bcmBeforeOpen: EventEmitter<void>;\n\n /**\n * Emitted before the drawer closes. Can be cancelled by calling event.preventDefault()\n */\n @Event({ cancelable: true }) bcmBeforeClose: EventEmitter<void>;\n\n private drawerClass = tv({\n slots: {\n dialog:\n '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',\n container: 'fixed inset-0 flex overflow-hidden',\n drawer: 'relative bg-color-base text-color-default shadow-2xl flex flex-col',\n header: 'flex justify-between items-start bg-color-base text-color-default border-color-default border-solid border-0 py-3 px-4',\n headerContent: 'flex-1 min-w-0 flex items-center gap-2',\n title: 'font-semibold m-0 text-size-6 text-color-header',\n helperText: 'text-size-5 text-color-placeholder m-0',\n closeButton:\n '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',\n content: 'flex-grow overflow-y-auto p-4',\n footer: 'flex items-center justify-end gap-2 py-3 px-4',\n },\n variants: {\n position: {\n left: {\n container: 'justify-start',\n drawer: 'h-full',\n header: 'border-b',\n },\n right: {\n container: 'justify-end',\n drawer: 'h-full',\n header: 'border-b',\n },\n top: {\n container: 'items-start',\n drawer: 'w-full',\n header: 'border-b',\n },\n bottom: {\n container: 'items-end',\n drawer: 'w-full',\n header: 'border-t',\n },\n },\n fullScreen: {\n true: {\n drawer: 'w-screen h-screen max-w-none max-h-none',\n container: 'p-0',\n },\n },\n shake: {\n true: {\n drawer: 'animate-shake',\n },\n },\n noHeader: {\n true: {\n header: 'hidden',\n },\n },\n noFooter: {\n true: {\n footer: 'hidden',\n },\n },\n },\n });\n\n @Watch('open')\n handleOpenChange(isOpen: boolean) {\n if (isOpen) {\n const event = this.bcmBeforeOpen.emit();\n if (event.defaultPrevented) {\n this.open = false;\n return;\n }\n\n if (this.dialogRef) {\n if (!this.dialogRef.open) {\n this.dialogRef.showModal();\n }\n }\n\n this.bcmOpen.emit();\n } else {\n const event = this.bcmBeforeClose.emit();\n if (event.defaultPrevented) {\n this.open = true;\n return;\n }\n\n if (this.dialogRef && this.dialogRef.open) {\n this.dialogRef.close();\n }\n this.bcmClose.emit();\n }\n }\n\n @Listen('click', { capture: true })\n handleClick(event: MouseEvent) {\n const path = event.composedPath() as HTMLElement[];\n const dismissElement = path.find(el => el.hasAttribute?.('data-dismiss'));\n\n if (dismissElement) {\n this.hide();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n\n /**\n * Programmatically opens the drawer\n */\n @Method()\n async show(): Promise<void> {\n this.open = true;\n }\n\n /**\n * Programmatically closes the drawer\n */\n @Method()\n async hide(): Promise<void> {\n this.open = false;\n }\n\n /**\n * Toggles the drawer open/closed state\n */\n @Method()\n async toggle(): Promise<void> {\n this.open = !this.open;\n }\n\n private shakeDrawer() {\n this.shake = true;\n setTimeout(() => {\n this.shake = false;\n }, 300);\n }\n\n private handleBackdropClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n // Check if click is on the container (backdrop area), not on drawer content\n if (target.getAttribute('part') === 'container') {\n if (this.backdrop === 'static') {\n this.shakeDrawer();\n } else if (this.closeOnBackdrop) {\n this.hide();\n }\n }\n };\n\n private handleDialogCancel = (event: Event) => {\n event.preventDefault();\n if (this.backdrop === 'static') {\n this.shakeDrawer();\n // Force dialog to stay open for static backdrop\n requestAnimationFrame(() => {\n if (this.dialogRef && !this.dialogRef.open && this.open) {\n this.dialogRef.showModal();\n }\n });\n } else if (this.closeOnEscape) {\n this.hide();\n }\n };\n\n private handleDrawerClick = (e: MouseEvent) => {\n e.stopPropagation();\n };\n\n componentDidLoad() {\n if (this.open && this.dialogRef) {\n this.dialogRef.showModal();\n }\n }\n\n disconnectedCallback() {\n if (this.dialogRef && this.open) {\n this.dialogRef.close();\n }\n }\n\n private getDrawerStyle() {\n const style: { [key: string]: string } = {};\n\n if (this.fullScreen) {\n style.width = '100vw';\n style.height = '100vh';\n style.maxWidth = 'none';\n style.maxHeight = 'none';\n return style;\n }\n\n if (this.fullWidth) {\n if (this.position === 'left' || this.position === 'right') {\n style.width = '100vw';\n } else {\n style.height = '100vh';\n }\n return style;\n }\n\n // Check if size is a custom value (contains px, %, rem, etc.)\n 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'));\n\n if (this.position === 'left' || this.position === 'right') {\n if (isCustomSize) {\n style.width = this.size;\n } else {\n switch (this.size) {\n case 'small':\n style.width = '320px';\n break;\n case 'medium':\n style.width = '480px';\n break;\n case 'large':\n style.width = '1064px';\n break;\n }\n }\n } else {\n if (isCustomSize) {\n style.height = this.size;\n } else {\n switch (this.size) {\n case 'small':\n style.height = '40vh';\n break;\n case 'medium':\n style.height = '60vh';\n break;\n case 'large':\n style.height = '90vh';\n break;\n }\n }\n }\n\n return style;\n }\n\n render() {\n const { dialog, container, drawer, header, headerContent, title, helperText, closeButton, content, footer } = this.drawerClass({\n position: this.position,\n fullScreen: this.fullScreen,\n shake: this.shake,\n noHeader: this.noHeader,\n noFooter: this.noFooter,\n });\n\n return (\n <dialog\n ref={el => (this.dialogRef = el)}\n part=\"dialog\"\n class={dialog()}\n onClick={this.handleBackdropClick}\n onCancel={this.handleDialogCancel}\n aria-labelledby=\"drawer-title\"\n aria-describedby={this.helperText ? 'drawer-helper' : undefined}\n aria-modal=\"true\"\n >\n <div part=\"container\" class={container()}>\n <div part=\"drawer\" class={drawer()} style={this.getDrawerStyle()} role=\"document\" onClick={this.handleDrawerClick}>\n {!this.noHeader && (\n <div part=\"header\" class={header()}>\n <div part=\"header-content\" class={headerContent()}>\n <h2 id=\"drawer-title\" part=\"title\" class={title()}>\n <slot name=\"header\">{this.headerText}</slot>\n </h2>\n {this.helperText && (\n <p id=\"drawer-helper\" part=\"helper-text\" class={helperText()}>\n <slot name=\"helper\">{this.helperText}</slot>\n </p>\n )}\n </div>\n <button part=\"close-button\" class={closeButton()} onClick={() => this.hide()} aria-label=\"Close drawer\" type=\"button\">\n <bcm-icon name=\"fa-solid fa-xmark\"></bcm-icon>\n </button>\n </div>\n )}\n\n <div part=\"content\" class={content()}>\n <slot />\n </div>\n\n {!this.noFooter && (\n <div part=\"footer\" class={footer()}>\n <slot name=\"footer\" />\n </div>\n )}\n </div>\n </div>\n </dialog>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,40 +1,21 @@
1
- import { r as registerInstance, c as createEvent, h, a as getElement } from './index-BuuGCw0z.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-B6Ppbs5O.js';
2
2
  import { t as tv } from './tv-CEcVC0yX.js';
3
3
 
4
- const dropdownItemCss = ".flex{display:flex}:host{display:inline-block;width:100%}::slotted([slot=left-content]){align-items:center;display:flex;flex-direction:row;gap:8px}::slotted([slot=right-content]){align-items:center;display:flex;flex-direction:row;gap:8px}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.w-full{width:100%}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.gap-2{gap:.5rem}.text-pretty{text-wrap:pretty}.bg-\\[var\\(--bcm-ui-color-background-base-active\\)\\]{background-color:var(--bcm-ui-color-background-base-active)}.bg-\\[var\\(--bcm-ui-color-background-palette-red-default\\)\\]{background-color:var(--bcm-ui-color-background-palette-red-default)}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-base-active\\)\\]:hover{background-color:var(--bcm-ui-color-background-base-active)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-base-hover\\)\\]:hover{background-color:var(--bcm-ui-color-background-base-hover)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-palette-red-default\\)\\]:hover{background-color:var(--bcm-ui-color-background-palette-red-default)}";
4
+ const dropdownItemCss = ".flex{display:flex}:host{display:inline-block;width:100%}::slotted([slot=left-content]){align-items:center;display:flex;flex-direction:row;gap:8px}::slotted([slot=right-content]){align-items:center;display:flex;flex-direction:row;gap:8px}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.w-full{width:100%}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.gap-2{gap:.5rem}.text-pretty{text-wrap:pretty}.bg-\\[var\\(--bcm-ui-color-background-base-active\\)\\]{background-color:var(--bcm-ui-color-background-base-active)}.bg-\\[var\\(--bcm-ui-color-background-palette-red-default\\)\\]{background-color:var(--bcm-ui-color-background-palette-red-default)}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-base-active\\)\\]:hover{background-color:var(--bcm-ui-color-background-base-active)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-base-hover\\)\\]:hover{background-color:var(--bcm-ui-color-background-base-hover)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-palette-red-default\\)\\]:hover{background-color:var(--bcm-ui-color-background-palette-red-default)}";
5
5
 
6
6
  const DropdownItem = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
9
  this.bcmDropDownItemChange = createEvent(this, "bcmDropDownItemChange", 1);
10
- this.selected = false;
11
- this.error = false;
12
- this.disabled = false;
13
- this.dropdownItemClass = tv({
14
- base: 'dropdown-item bcm-ui-element bcm-ui-content-display flex flex-row gap-2 py-2 px-4 cursor-pointer text-color',
15
- variants: {
16
- selected: {
17
- true: 'bg-[var(--bcm-ui-color-background-base-active)] hover:bg-[var(--bcm-ui-color-background-base-active)]',
18
- false: 'hover:bg-[var(--bcm-ui-color-background-base-hover)]',
19
- },
20
- error: {
21
- true: 'bg-[var(--bcm-ui-color-background-palette-red-default)] hover:bg-[var(--bcm-ui-color-background-palette-red-default)]',
22
- false: '',
23
- },
24
- disabled: {
25
- true: '', // should be discuss with ux team
26
- false: '',
27
- },
28
- },
29
- defaultVariants: {
30
- selected: false,
31
- error: false,
32
- disabled: false,
33
- },
34
- }, {
35
- twMerge: false,
36
- });
37
10
  }
11
+ get host() { return getElement(this); }
12
+ text;
13
+ icon;
14
+ rightIcons;
15
+ selected = false;
16
+ error = false;
17
+ disabled = false;
18
+ bcmDropDownItemChange;
38
19
  handleClick() {
39
20
  this.selected = true;
40
21
  this.bcmDropDownItemChange.emit({
@@ -42,18 +23,38 @@ const DropdownItem = class {
42
23
  selected: this.selected,
43
24
  });
44
25
  }
26
+ dropdownItemClass = tv({
27
+ base: 'dropdown-item bcm-ui-element bcm-ui-content-display flex flex-row gap-2 py-2 px-4 cursor-pointer text-color',
28
+ variants: {
29
+ selected: {
30
+ true: 'bg-[var(--bcm-ui-color-background-base-active)] hover:bg-[var(--bcm-ui-color-background-base-active)]',
31
+ false: 'hover:bg-[var(--bcm-ui-color-background-base-hover)]',
32
+ },
33
+ error: {
34
+ true: 'bg-[var(--bcm-ui-color-background-palette-red-default)] hover:bg-[var(--bcm-ui-color-background-palette-red-default)]',
35
+ false: '',
36
+ },
37
+ disabled: {
38
+ true: '', // should be discuss with ux team
39
+ false: '',
40
+ },
41
+ },
42
+ defaultVariants: {
43
+ selected: false,
44
+ error: false,
45
+ disabled: false,
46
+ },
47
+ }, {
48
+ twMerge: false,
49
+ });
45
50
  render() {
46
- var _a;
47
- return (h("div", { key: 'a7711d8f7d3b825e14ed5caf3546c7ddc839d099', "aria-checked": this.selected, class: this.dropdownItemClass({
51
+ return (h("div", { key: 'f17e6b4ad9aaf91370da88fa0913c6eb2e227b1b', "aria-checked": this.selected, class: this.dropdownItemClass({
48
52
  selected: this.selected,
49
53
  error: this.error,
50
- }), onClick: () => this.handleClick() }, h("slot", { key: '1d262e43a2600450e76220121fc309e31e254940', name: "left-content" }, this.icon && h("bcm-icon", { key: 'cac088e6752681d3187f7d4896a9097589e6e2b9', "icon-name": this.icon })), h("div", { key: '90012594c1a377543673e3aaa4883cd97e4c6d8b', class: "flex flex-row text-pretty w-full" }, h("slot", { key: '511aeda759e51451d57a4b5f80fc95080dc48239' }, this.text)), h("slot", { key: '9297f69765be0a666189cf6c4f73c6819de87d62', name: "right-content" }, (_a = this.rightIcons) === null || _a === void 0 ? void 0 : _a.map(icon => (h("bcm-icon", { "icon-name": icon }))))));
54
+ }), onClick: () => this.handleClick() }, h("slot", { key: '2d645ab61ee21e1c85a0f9fbb12c456922c8ca3b', name: "left-content" }, this.icon && h("bcm-icon", { key: '654afa8ac72f92b5bd7c64e247de0884b91b04ca', "icon-name": this.icon })), h("div", { key: '9885ed60b496e2096b1e203ba27e83f76bacd57e', class: "flex flex-row text-pretty w-full" }, h("slot", { key: '8a8d7ab8236d652114be728906e9f079438a0b6a' }, this.text)), h("slot", { key: '62e1450b43e8a407d9e4ef284c72dd34950a6e7c', name: "right-content" }, this.rightIcons?.map(icon => (h("bcm-icon", { "icon-name": icon }))))));
51
55
  }
52
- get host() { return getElement(this); }
53
56
  };
54
57
  DropdownItem.style = dropdownItemCss;
55
58
 
56
59
  export { DropdownItem as bcm_dropdown_item };
57
60
  //# sourceMappingURL=bcm-dropdown-item.entry.js.map
58
-
59
- //# sourceMappingURL=bcm-dropdown-item.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bcm-dropdown-item.entry.js","sources":["src/components/dropdown-item/dropdown-item.css?tag=bcm-dropdown-item&encapsulation=shadow","src/components/dropdown-item/dropdown-item.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: 100%;\n}\n\n::slotted([slot='left-content']) {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n}\n\n::slotted([slot='right-content']) {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n}\n","import { Component, ComponentInterface, h, Prop, Event, EventEmitter, Element } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\n@Component({\n tag: 'bcm-dropdown-item',\n styleUrl: 'dropdown-item.css',\n shadow: true,\n})\nexport class DropdownItem implements ComponentInterface {\n @Element() host: HTMLElement;\n @Prop() text: string;\n @Prop() icon: string;\n @Prop() rightIcons: string[];\n @Prop({ reflect: true }) selected: boolean = false;\n @Prop({ reflect: true }) error: boolean = false;\n @Prop({ reflect: true }) disabled: boolean = false;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmDropDownItemChange',\n })\n bcmDropDownItemChange: EventEmitter<any>;\n\n private handleClick() {\n this.selected = true;\n this.bcmDropDownItemChange.emit({\n element: this.host,\n selected: this.selected,\n });\n }\n\n private dropdownItemClass = tv(\n {\n base: 'dropdown-item bcm-ui-element bcm-ui-content-display flex flex-row gap-2 py-2 px-4 cursor-pointer text-color',\n variants: {\n selected: {\n true: 'bg-[var(--bcm-ui-color-background-base-active)] hover:bg-[var(--bcm-ui-color-background-base-active)]',\n false: 'hover:bg-[var(--bcm-ui-color-background-base-hover)]',\n },\n error: {\n true: 'bg-[var(--bcm-ui-color-background-palette-red-default)] hover:bg-[var(--bcm-ui-color-background-palette-red-default)]',\n false: '',\n },\n disabled: {\n true: '', // should be discuss with ux team\n false: '',\n },\n },\n defaultVariants: {\n selected: false,\n error: false,\n disabled: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n return (\n <div\n aria-checked={this.selected}\n class={this.dropdownItemClass({\n selected: this.selected,\n error: this.error,\n })}\n onClick={() => this.handleClick()}\n >\n <slot name=\"left-content\">{this.icon && <bcm-icon icon-name={this.icon}></bcm-icon>}</slot>\n <div class=\"flex flex-row text-pretty w-full\">\n <slot>{this.text}</slot>\n </div>\n <slot name=\"right-content\">\n {this.rightIcons?.map(icon => (\n <bcm-icon icon-name={icon}></bcm-icon>\n ))}\n </slot>\n </div>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,eAAe,GAAG,86CAA86C;;MCQz7C,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAU2B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AACzB,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK;AACtB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAkB1C,QAAA,IAAiB,CAAA,iBAAA,GAAG,EAAE,CAC5B;AACE,YAAA,IAAI,EAAE,6GAA6G;AACnH,YAAA,QAAQ,EAAE;AACR,gBAAA,QAAQ,EAAE;AACR,oBAAA,IAAI,EAAE,uGAAuG;AAC7G,oBAAA,KAAK,EAAE,sDAAsD;AAC9D,iBAAA;AACD,gBAAA,KAAK,EAAE;AACL,oBAAA,IAAI,EAAE,uHAAuH;AAC7H,oBAAA,KAAK,EAAE,EAAE;AACV,iBAAA;AACD,gBAAA,QAAQ,EAAE;oBACR,IAAI,EAAE,EAAE;AACR,oBAAA,KAAK,EAAE,EAAE;AACV,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,QAAQ,EAAE,KAAK;AAChB,aAAA;SACF,EACD;AACE,YAAA,OAAO,EAAE,KAAK;AACf,SAAA,CACF;AAwBF;IA1DS,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC;;IA+BJ,MAAM,GAAA;;QACJ,QACE,CACgB,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,cAAA,EAAA,IAAI,CAAC,QAAQ,EAC3B,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;AAClB,aAAA,CAAC,EACF,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EAAA,EAEjC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,cAAc,EAAA,EAAE,IAAI,CAAC,IAAI,IAAI,CAAqB,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,WAAA,EAAA,IAAI,CAAC,IAAI,GAAa,CAAQ,EAC3F,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kCAAkC,EAAA,EAC3C,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAO,IAAI,CAAC,IAAI,CAAQ,CACpB,EACN,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,eAAe,EACvB,EAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,GAAG,CAAC,IAAI,KACxB,CAAA,CAAA,UAAA,EAAA,EAAA,WAAA,EAAqB,IAAI,EAAA,CAAa,CACvC,CAAC,CACG,CACH;;;;;;;;"}
1
+ {"version":3,"file":"bcm-dropdown-item.entry.js","sources":["src/components/dropdown-item/dropdown-item.css?tag=bcm-dropdown-item&encapsulation=shadow","src/components/dropdown-item/dropdown-item.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: 100%;\n}\n\n::slotted([slot='left-content']) {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n}\n\n::slotted([slot='right-content']) {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n}\n","import { Component, ComponentInterface, h, Prop, Event, EventEmitter, Element } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\n@Component({\n tag: 'bcm-dropdown-item',\n styleUrl: 'dropdown-item.css',\n shadow: true,\n})\nexport class DropdownItem implements ComponentInterface {\n @Element() host: HTMLElement;\n @Prop() text: string;\n @Prop() icon: string;\n @Prop() rightIcons: string[];\n @Prop({ reflect: true }) selected: boolean = false;\n @Prop({ reflect: true }) error: boolean = false;\n @Prop({ reflect: true }) disabled: boolean = false;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmDropDownItemChange',\n })\n bcmDropDownItemChange: EventEmitter<any>;\n\n private handleClick() {\n this.selected = true;\n this.bcmDropDownItemChange.emit({\n element: this.host,\n selected: this.selected,\n });\n }\n\n private dropdownItemClass = tv(\n {\n base: 'dropdown-item bcm-ui-element bcm-ui-content-display flex flex-row gap-2 py-2 px-4 cursor-pointer text-color',\n variants: {\n selected: {\n true: 'bg-[var(--bcm-ui-color-background-base-active)] hover:bg-[var(--bcm-ui-color-background-base-active)]',\n false: 'hover:bg-[var(--bcm-ui-color-background-base-hover)]',\n },\n error: {\n true: 'bg-[var(--bcm-ui-color-background-palette-red-default)] hover:bg-[var(--bcm-ui-color-background-palette-red-default)]',\n false: '',\n },\n disabled: {\n true: '', // should be discuss with ux team\n false: '',\n },\n },\n defaultVariants: {\n selected: false,\n error: false,\n disabled: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n return (\n <div\n aria-checked={this.selected}\n class={this.dropdownItemClass({\n selected: this.selected,\n error: this.error,\n })}\n onClick={() => this.handleClick()}\n >\n <slot name=\"left-content\">{this.icon && <bcm-icon icon-name={this.icon}></bcm-icon>}</slot>\n <div class=\"flex flex-row text-pretty w-full\">\n <slot>{this.text}</slot>\n </div>\n <slot name=\"right-content\">\n {this.rightIcons?.map(icon => (\n <bcm-icon icon-name={icon}></bcm-icon>\n ))}\n </slot>\n </div>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,eAAe,GAAG,s5CAAs5C;;MCQj6C,YAAY,GAAA,MAAA;;;;;;AAEf,IAAA,IAAI;AACJ,IAAA,IAAI;AACJ,IAAA,UAAU;IACO,QAAQ,GAAY,KAAK;IACzB,KAAK,GAAY,KAAK;IACtB,QAAQ,GAAY,KAAK;AAQlD,IAAA,qBAAqB;IAEb,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC;;IAGI,iBAAiB,GAAG,EAAE,CAC5B;AACE,QAAA,IAAI,EAAE,6GAA6G;AACnH,QAAA,QAAQ,EAAE;AACR,YAAA,QAAQ,EAAE;AACR,gBAAA,IAAI,EAAE,uGAAuG;AAC7G,gBAAA,KAAK,EAAE,sDAAsD;AAC9D,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,uHAAuH;AAC7H,gBAAA,KAAK,EAAE,EAAE;AACV,aAAA;AACD,YAAA,QAAQ,EAAE;gBACR,IAAI,EAAE,EAAE;AACR,gBAAA,KAAK,EAAE,EAAE;AACV,aAAA;AACF,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE,KAAK;AAChB,SAAA;KACF,EACD;AACE,QAAA,OAAO,EAAE,KAAK;AACf,KAAA,CACF;IAED,MAAM,GAAA;QACJ,QACE,CACgB,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,cAAA,EAAA,IAAI,CAAC,QAAQ,EAC3B,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,EACF,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EAAA,EAEjC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,cAAc,EAAA,EAAE,IAAI,CAAC,IAAI,IAAI,CAAqB,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,WAAA,EAAA,IAAI,CAAC,IAAI,GAAa,CAAQ,EAC3F,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kCAAkC,EAAA,EAC3C,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAO,IAAI,CAAC,IAAI,CAAQ,CACpB,EACN,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,eAAe,EAAA,EACvB,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,KACxB,CAAA,CAAA,UAAA,EAAA,EAAA,WAAA,EAAqB,IAAI,EAAA,CAAa,CACvC,CAAC,CACG,CACH;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-BuuGCw0z.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h, H as Host } from './index-B6Ppbs5O.js';
2
2
  import { t as tv } from './tv-CEcVC0yX.js';
3
3
 
4
4
  const dropdownCss = ".visible{visibility:visible}.hidden{display:none}.static{position:static}.flex{display:flex}.max-h-64{max-height:16rem}.w-full{width:100%}.min-w-10{min-width:2.5rem}.max-w-64{max-width:16rem}.flex-col{flex-direction:column}.items-center{align-items:center}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-color-basic-panel{background-color:var(--bcm-ui-color-background-basic-panel)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}.outline{outline-style:solid}";
@@ -7,29 +7,14 @@ const Dropdown = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
9
  this.bcmDropdownChange = createEvent(this, "bcmDropdownChange", 1);
10
- this.isReady = false;
11
- this.dropdownItems = [];
12
- this.dropdownClass = tv({
13
- base: 'dropdown flex flex-col items-center min-w-10 shadow-3 max-w-64 max-h-64 w-full bg-color-basic-panel rounded-lg py-1.5 overflow-y-auto',
14
- });
15
- this.handleSlotChange = () => {
16
- this.dropdownItems = Array.from(this.host.querySelectorAll('bcm-dropdown-item'));
17
- if (this.dropdownItems.length === 0) {
18
- console.warn('No dropdown items found in dropdown component');
19
- }
20
- };
21
- }
22
- componentDidLoad() {
23
- const button = this.host.shadowRoot.querySelector('bcm-button');
24
- if (button) {
25
- this.buttonRef = button;
26
- this.isReady = true;
27
- }
28
10
  }
11
+ get host() { return getElement(this); }
12
+ text;
13
+ dropdownItems = [];
14
+ bcmDropdownChange;
29
15
  handleDropdownItemChange(event) {
30
- var _a;
31
- const { element, selected } = event === null || event === void 0 ? void 0 : event.detail;
32
- (_a = this.dropdownItems) === null || _a === void 0 ? void 0 : _a.forEach(item => {
16
+ const { element, selected } = event?.detail;
17
+ this.dropdownItems?.forEach(item => {
33
18
  if (item != element) {
34
19
  item.selected = false;
35
20
  }
@@ -39,14 +24,20 @@ const Dropdown = class {
39
24
  selected,
40
25
  });
41
26
  }
27
+ dropdownClass = tv({
28
+ base: 'dropdown flex flex-col items-center min-w-10 shadow-3 max-w-64 max-h-64 w-full bg-color-basic-panel rounded-lg py-1.5 overflow-y-auto',
29
+ });
30
+ handleSlotChange = () => {
31
+ this.dropdownItems = Array.from(this.host.querySelectorAll('bcm-dropdown-item'));
32
+ if (this.dropdownItems.length === 0) {
33
+ console.warn('No dropdown items found in dropdown component');
34
+ }
35
+ };
42
36
  render() {
43
- return (h(Host, { key: '4bbcd189c404f57d7ac411eb98da8dbd2b6d3b30' }, h("bcm-button", { key: '7e571fa321148576cd191a16ffc5bc6c03cdbcd7', kind: "outline" }, h("span", { key: '769d43e0dee2c9a0e5b639d1150da63f9f7ff8fd', part: "text" }, this.text)), this.isReady && (h("bcm-linked", { key: '220d1c248fee2365150ba58de5065c3f748fe15b', targetElement: this.buttonRef }, h("div", { key: '8579fa56fb51741071f646412c5fffd069ba557e', part: "dropdown-container", class: this.dropdownClass() }, h("slot", { key: 'a94646e1a3f85f9c305d0dd01c8f70467b759fe8', onSlotchange: this.handleSlotChange }))))));
37
+ return (h(Host, { key: 'a573b6ba000722dc455d75f5085fe0b9b08eb4f8' }, h("bcm-linked", { key: '5dbbcfce9d6b3be30696a5efd0f06020331d4e0f', trigger: "click", placement: "bottom-start" }, h("bcm-button", { key: 'd8bdcbb9990ef903cccc837db5cb97aeb00e8807', kind: "outline", slot: "trigger" }, h("span", { key: '4694ae4aa91429e6a3da676e3228cd6463d17174', part: "text" }, this.text)), h("div", { key: '4fdb37f07ca1652f9fd5fcf586516ae42d45b201', part: "dropdown-container", class: this.dropdownClass() }, h("slot", { key: '6b4386fe543c67a1ac3fe91dffc0e27d986d368b', onSlotchange: this.handleSlotChange })))));
44
38
  }
45
- get host() { return getElement(this); }
46
39
  };
47
40
  Dropdown.style = dropdownCss;
48
41
 
49
42
  export { Dropdown as bcm_dropdown };
50
43
  //# sourceMappingURL=bcm-dropdown.entry.js.map
51
-
52
- //# sourceMappingURL=bcm-dropdown.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bcm-dropdown.entry.js","sources":["src/components/dropdown/dropdown.css?tag=bcm-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.component.tsx"],"sourcesContent":["/* :host {\n --dropdown-box-min-weight: 32px;\n --dropdown-box-max-width: 384px;\n --dropdown-box-max-height: 384px;\n --dropdown-box-background-color: var(--bcm-ui-color-background-basic-panel);\n} */\n/* \n.scroll {\n height: 140px;\n width: 140px;\n overflow-y: auto;\n}\n\n.scroll:active::-webkit-scrollbar-thumb,\n.scroll:focus::-webkit-scrollbar-thumb,\n.scroll:hover::-webkit-scrollbar-thumb {\n visibility: visible;\n}\n.scroll::-webkit-scrollbar-thumb {\n background-color: darkgrey;\n visibility: hidden;\n}\n\n.scroll::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n} */\n","import { Component, ComponentInterface, h, Prop, State, Element, Host, Event, EventEmitter, Listen } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\n@Component({\n tag: 'bcm-dropdown',\n styleUrl: 'dropdown.css',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface {\n @Element() host: HTMLElement;\n\n @Prop() text?: string;\n\n @State() isReady: boolean = false;\n\n @State() dropdownItems: HTMLBcmDropdownItemElement[] = [];\n\n protected buttonRef?: HTMLBcmButtonElement;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmDropdownChange',\n })\n bcmDropdownChange: EventEmitter<any>;\n\n componentDidLoad() {\n const button = this.host.shadowRoot.querySelector('bcm-button') as HTMLBcmButtonElement;\n if (button) {\n this.buttonRef = button;\n this.isReady = true;\n }\n }\n\n @Listen('bcmDropDownItemChange', { capture: true })\n handleDropdownItemChange(event: CustomEvent) {\n const { element, selected } = event?.detail;\n\n this.dropdownItems?.forEach(item => {\n if (item != element) {\n item.selected = false;\n }\n });\n\n this.bcmDropdownChange.emit({\n element: element,\n selected,\n });\n }\n\n private dropdownClass = tv({\n base: 'dropdown flex flex-col items-center min-w-10 shadow-3 max-w-64 max-h-64 w-full bg-color-basic-panel rounded-lg py-1.5 overflow-y-auto',\n });\n\n private handleSlotChange = () => {\n this.dropdownItems = Array.from(this.host.querySelectorAll('bcm-dropdown-item'));\n\n if (this.dropdownItems.length === 0) {\n console.warn('No dropdown items found in dropdown component');\n }\n };\n\n render() {\n return (\n <Host>\n <bcm-button kind=\"outline\">\n <span part=\"text\">{this.text}</span>\n </bcm-button>\n {this.isReady && (\n <bcm-linked targetElement={this.buttonRef}>\n <div part=\"dropdown-container\" class={this.dropdownClass()}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n </bcm-linked>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,GAAG,m0BAAm0B;;MCQ10B,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAUW,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;AAExB,QAAA,IAAa,CAAA,aAAA,GAAiC,EAAE;AAoCjD,QAAA,IAAa,CAAA,aAAA,GAAG,EAAE,CAAC;AACzB,YAAA,IAAI,EAAE,uIAAuI;AAC9I,SAAA,CAAC;AAEM,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;YAEhF,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AACnC,gBAAA,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC;;AAEjE,SAAC;AAkBF;IApDC,gBAAgB,GAAA;AACd,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAyB;QACvF,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM;AACvB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;;AAKvB,IAAA,wBAAwB,CAAC,KAAkB,EAAA;;QACzC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,MAAM;QAE3C,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,CAAC,IAAI,IAAG;AACjC,YAAA,IAAI,IAAI,IAAI,OAAO,EAAE;AACnB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;AAEzB,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC1B,YAAA,OAAO,EAAE,OAAO;YAChB,QAAQ;AACT,SAAA,CAAC;;IAeJ,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAY,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,EACxB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAA,EAAE,IAAI,CAAC,IAAI,CAAQ,CACzB,EACZ,IAAI,CAAC,OAAO,KACX,mEAAY,aAAa,EAAE,IAAI,CAAC,SAAS,EAAA,EACvC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,oBAAoB,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAA,EACxD,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAS,CAAA,CAC9C,CACK,CACd,CACI;;;;;;;;"}
1
+ {"version":3,"file":"bcm-dropdown.entry.js","sources":["src/components/dropdown/dropdown.css?tag=bcm-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.component.tsx"],"sourcesContent":["/* :host {\n --dropdown-box-min-weight: 32px;\n --dropdown-box-max-width: 384px;\n --dropdown-box-max-height: 384px;\n --dropdown-box-background-color: var(--bcm-ui-color-background-basic-panel);\n} */\n/* \n.scroll {\n height: 140px;\n width: 140px;\n overflow-y: auto;\n}\n\n.scroll:active::-webkit-scrollbar-thumb,\n.scroll:focus::-webkit-scrollbar-thumb,\n.scroll:hover::-webkit-scrollbar-thumb {\n visibility: visible;\n}\n.scroll::-webkit-scrollbar-thumb {\n background-color: darkgrey;\n visibility: hidden;\n}\n\n.scroll::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n} */\n","import { Component, ComponentInterface, h, Prop, State, Element, Host, Event, EventEmitter, Listen } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\n@Component({\n tag: 'bcm-dropdown',\n styleUrl: 'dropdown.css',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface {\n @Element() host: HTMLElement;\n\n @Prop() text?: string;\n\n @State() dropdownItems: HTMLBcmDropdownItemElement[] = [];\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmDropdownChange',\n })\n bcmDropdownChange: EventEmitter<any>;\n\n @Listen('bcmDropDownItemChange', { capture: true })\n handleDropdownItemChange(event: CustomEvent) {\n const { element, selected } = event?.detail;\n\n this.dropdownItems?.forEach(item => {\n if (item != element) {\n item.selected = false;\n }\n });\n\n this.bcmDropdownChange.emit({\n element: element,\n selected,\n });\n }\n\n private dropdownClass = tv({\n base: 'dropdown flex flex-col items-center min-w-10 shadow-3 max-w-64 max-h-64 w-full bg-color-basic-panel rounded-lg py-1.5 overflow-y-auto',\n });\n\n private handleSlotChange = () => {\n this.dropdownItems = Array.from(this.host.querySelectorAll('bcm-dropdown-item'));\n\n if (this.dropdownItems.length === 0) {\n console.warn('No dropdown items found in dropdown component');\n }\n };\n\n render() {\n return (\n <Host>\n <bcm-linked trigger=\"click\" placement=\"bottom-start\">\n <bcm-button kind=\"outline\" slot=\"trigger\">\n <span part=\"text\">{this.text}</span>\n </bcm-button>\n <div part=\"dropdown-container\" class={this.dropdownClass()}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n </bcm-linked>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,GAAG,m0BAAm0B;;MCQ10B,QAAQ,GAAA,MAAA;;;;;;AAGX,IAAA,IAAI;IAEH,aAAa,GAAiC,EAAE;AAQzD,IAAA,iBAAiB;AAGjB,IAAA,wBAAwB,CAAC,KAAkB,EAAA;QACzC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,MAAM;AAE3C,QAAA,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,IAAG;AACjC,YAAA,IAAI,IAAI,IAAI,OAAO,EAAE;AACnB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;AAEzB,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC1B,YAAA,OAAO,EAAE,OAAO;YAChB,QAAQ;AACT,SAAA,CAAC;;IAGI,aAAa,GAAG,EAAE,CAAC;AACzB,QAAA,IAAI,EAAE,uIAAuI;AAC9I,KAAA,CAAC;IAEM,gBAAgB,GAAG,MAAK;AAC9B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAEhF,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AACnC,YAAA,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC;;AAEjE,KAAC;IAED,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAY,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,cAAc,EAAA,EAClD,CAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAY,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,SAAS,EAAA,EACvC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAA,EAAE,IAAI,CAAC,IAAI,CAAQ,CACzB,EACb,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,oBAAoB,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAA,EACxD,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAS,CAC9C,CACK,CACR;;;;;;;"}