bromcom-ui-next 0.1.30 → 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 (546) 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 -0
  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 -0
  20. package/dist/bromcom-ui/bcm-popover.entry.esm.js.map +1 -0
  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 -0
  31. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  32. package/dist/bromcom-ui/global/global.js +33 -30
  33. package/dist/bromcom-ui/p-010219cf.entry.js +2 -0
  34. package/dist/bromcom-ui/p-010219cf.entry.js.map +1 -0
  35. package/dist/bromcom-ui/p-01a4e00b.entry.js +2 -0
  36. package/dist/bromcom-ui/p-01a4e00b.entry.js.map +1 -0
  37. package/dist/bromcom-ui/p-14c63d61.entry.js +2 -0
  38. package/dist/bromcom-ui/p-14c63d61.entry.js.map +1 -0
  39. package/dist/bromcom-ui/p-20a94dec.entry.js +2 -0
  40. package/dist/bromcom-ui/p-20a94dec.entry.js.map +1 -0
  41. package/dist/bromcom-ui/p-398620c2.entry.js +2 -0
  42. package/dist/bromcom-ui/p-398620c2.entry.js.map +1 -0
  43. package/dist/bromcom-ui/p-3b898f90.entry.js +2 -0
  44. package/dist/bromcom-ui/p-3b898f90.entry.js.map +1 -0
  45. package/dist/bromcom-ui/p-43c85c84.entry.js +2 -0
  46. package/dist/bromcom-ui/p-43c85c84.entry.js.map +1 -0
  47. package/dist/bromcom-ui/p-4e6661a5.entry.js +2 -0
  48. package/dist/bromcom-ui/p-4e6661a5.entry.js.map +1 -0
  49. package/dist/bromcom-ui/p-52bb0cdc.entry.js +2 -0
  50. package/dist/bromcom-ui/p-52bb0cdc.entry.js.map +1 -0
  51. package/dist/bromcom-ui/p-61c1c1c8.entry.js +2 -0
  52. package/dist/bromcom-ui/p-61c1c1c8.entry.js.map +1 -0
  53. package/dist/bromcom-ui/p-82e4c5f2.entry.js +2 -0
  54. package/dist/bromcom-ui/p-82e4c5f2.entry.js.map +1 -0
  55. package/dist/bromcom-ui/p-86f85963.entry.js +2 -0
  56. package/dist/bromcom-ui/p-86f85963.entry.js.map +1 -0
  57. package/dist/bromcom-ui/p-9249c1d1.entry.js +2 -0
  58. package/dist/bromcom-ui/p-9249c1d1.entry.js.map +1 -0
  59. package/dist/bromcom-ui/p-B6Ppbs5O.js +3 -0
  60. package/dist/bromcom-ui/p-B6Ppbs5O.js.map +1 -0
  61. package/dist/bromcom-ui/p-DBDSgIvP.js +2 -0
  62. package/dist/bromcom-ui/p-DBDSgIvP.js.map +1 -0
  63. package/dist/bromcom-ui/p-DaE0ZLar.js +2 -0
  64. package/dist/bromcom-ui/p-DaE0ZLar.js.map +1 -0
  65. package/dist/bromcom-ui/p-a25d1cef.entry.js +2 -0
  66. package/dist/bromcom-ui/p-a25d1cef.entry.js.map +1 -0
  67. package/dist/bromcom-ui/p-a4cb2e79.entry.js +2 -0
  68. package/dist/bromcom-ui/p-a4cb2e79.entry.js.map +1 -0
  69. package/dist/bromcom-ui/p-a68925b4.entry.js +2 -0
  70. package/dist/bromcom-ui/p-a68925b4.entry.js.map +1 -0
  71. package/dist/bromcom-ui/p-a750186c.entry.js +2 -0
  72. package/dist/bromcom-ui/p-a750186c.entry.js.map +1 -0
  73. package/dist/bromcom-ui/p-ac768b56.entry.js +2 -0
  74. package/dist/bromcom-ui/p-ac768b56.entry.js.map +1 -0
  75. package/dist/bromcom-ui/p-b0b193e6.entry.js +2 -0
  76. package/dist/bromcom-ui/p-b0b193e6.entry.js.map +1 -0
  77. package/dist/bromcom-ui/p-bf4409ca.entry.js +2 -0
  78. package/dist/bromcom-ui/p-bf4409ca.entry.js.map +1 -0
  79. package/dist/bromcom-ui/p-c57fb29b.entry.js +2 -0
  80. package/dist/bromcom-ui/p-c57fb29b.entry.js.map +1 -0
  81. package/dist/bromcom-ui/{p-1507908f.entry.js → p-ccc310aa.entry.js} +2 -2
  82. package/dist/bromcom-ui/p-ccc310aa.entry.js.map +1 -0
  83. package/dist/bromcom-ui/p-d4ee962d.entry.js +2 -0
  84. package/dist/bromcom-ui/p-d4ee962d.entry.js.map +1 -0
  85. package/dist/bromcom-ui/p-e25a2f7a.entry.js +2 -0
  86. package/dist/bromcom-ui/p-e25a2f7a.entry.js.map +1 -0
  87. package/dist/bromcom-ui/p-e5b0b2ad.entry.js +2 -0
  88. package/dist/bromcom-ui/p-e5b0b2ad.entry.js.map +1 -0
  89. package/dist/bromcom-ui/p-e70d784d.entry.js +2 -0
  90. package/dist/bromcom-ui/p-e70d784d.entry.js.map +1 -0
  91. package/dist/bromcom-ui/p-e9fa3a22.entry.js +2 -0
  92. package/dist/bromcom-ui/p-e9fa3a22.entry.js.map +1 -0
  93. package/dist/bromcom-ui/p-ef281184.entry.js +2 -0
  94. package/dist/bromcom-ui/p-ef281184.entry.js.map +1 -0
  95. package/dist/bromcom-ui/{p-496014ca.entry.js → p-fb6f616c.entry.js} +2 -2
  96. package/dist/bromcom-ui/p-fb6f616c.entry.js.map +1 -0
  97. package/dist/bromcom-ui/p-fd31c70c.entry.js +2 -0
  98. package/dist/bromcom-ui/p-fd31c70c.entry.js.map +1 -0
  99. package/dist/bromcom-ui/p-nf_HKsGq.js +2 -0
  100. package/dist/bromcom-ui/{p-CUvT12BL.js.map → p-nf_HKsGq.js.map} +1 -1
  101. package/dist/cjs/base-choice-control-EmA4JRjR.js +54 -0
  102. package/dist/cjs/base-choice-control-EmA4JRjR.js.map +1 -0
  103. package/dist/cjs/bcm-accordion-group.cjs.entry.js +20 -18
  104. package/dist/cjs/bcm-accordion-group.entry.cjs.js.map +1 -1
  105. package/dist/cjs/bcm-accordion.cjs.entry.js +73 -56
  106. package/dist/cjs/bcm-accordion.entry.cjs.js.map +1 -1
  107. package/dist/cjs/bcm-alert.cjs.entry.js +21 -21
  108. package/dist/cjs/bcm-alert.entry.cjs.js.map +1 -1
  109. package/dist/cjs/bcm-avatar.cjs.entry.js +22 -12
  110. package/dist/cjs/bcm-avatar.entry.cjs.js.map +1 -1
  111. package/dist/cjs/bcm-badge.cjs.entry.js +114 -82
  112. package/dist/cjs/bcm-badge.entry.cjs.js.map +1 -1
  113. package/dist/cjs/bcm-basic-badge.cjs.entry.js +73 -59
  114. package/dist/cjs/bcm-basic-badge.entry.cjs.js.map +1 -1
  115. package/dist/cjs/bcm-button-group.cjs.entry.js +36 -24
  116. package/dist/cjs/bcm-button-group.entry.cjs.js.map +1 -1
  117. package/dist/cjs/bcm-button.cjs.entry.js +338 -0
  118. package/dist/cjs/bcm-button.entry.cjs.js.map +1 -0
  119. package/dist/cjs/bcm-checkbox.cjs.entry.js +284 -174
  120. package/dist/cjs/bcm-checkbox.entry.cjs.js.map +1 -1
  121. package/dist/cjs/bcm-chip.cjs.entry.js +38 -35
  122. package/dist/cjs/bcm-chip.entry.cjs.js.map +1 -1
  123. package/dist/cjs/bcm-divider.cjs.entry.js +55 -55
  124. package/dist/cjs/bcm-divider.entry.cjs.js.map +1 -1
  125. package/dist/cjs/bcm-drawer.cjs.entry.js +332 -0
  126. package/dist/cjs/bcm-drawer.entry.cjs.js.map +1 -0
  127. package/dist/cjs/bcm-dropdown-item.cjs.entry.js +36 -33
  128. package/dist/cjs/bcm-dropdown-item.entry.cjs.js.map +1 -1
  129. package/dist/cjs/bcm-dropdown.cjs.entry.js +18 -17
  130. package/dist/cjs/bcm-dropdown.entry.cjs.js.map +1 -1
  131. package/dist/cjs/bcm-file-upload.cjs.entry.js +552 -0
  132. package/dist/cjs/bcm-file-upload.entry.cjs.js.map +1 -0
  133. package/dist/cjs/bcm-input.cjs.entry.js +250 -158
  134. package/dist/cjs/bcm-input.entry.cjs.js.map +1 -1
  135. package/dist/cjs/bcm-linked.cjs.entry.js +452 -0
  136. package/dist/cjs/bcm-linked.entry.cjs.js.map +1 -0
  137. package/dist/cjs/bcm-modal.cjs.entry.js +360 -0
  138. package/dist/cjs/bcm-modal.entry.cjs.js.map +1 -0
  139. package/dist/cjs/bcm-pop-confirm.cjs.entry.js +381 -0
  140. package/dist/cjs/bcm-pop-confirm.entry.cjs.js.map +1 -0
  141. package/dist/cjs/bcm-popover.cjs.entry.js +451 -0
  142. package/dist/cjs/bcm-popover.entry.cjs.js.map +1 -0
  143. package/dist/cjs/bcm-radio-group.cjs.entry.js +103 -80
  144. package/dist/cjs/bcm-radio-group.entry.cjs.js.map +1 -1
  145. package/dist/cjs/bcm-radio.cjs.entry.js +239 -106
  146. package/dist/cjs/bcm-radio.entry.cjs.js.map +1 -1
  147. package/dist/cjs/bcm-segment.bcm-segmented-picker.entry.cjs.js.map +1 -0
  148. package/dist/cjs/bcm-segment_2.cjs.entry.js +335 -0
  149. package/dist/cjs/bcm-shortcut.cjs.entry.js +5 -4
  150. package/dist/cjs/bcm-shortcut.entry.cjs.js.map +1 -1
  151. package/dist/cjs/bcm-switch.cjs.entry.js +281 -148
  152. package/dist/cjs/bcm-switch.entry.cjs.js.map +1 -1
  153. package/dist/cjs/bcm-tab.cjs.entry.js +44 -0
  154. package/dist/cjs/bcm-tab.entry.cjs.js.map +1 -0
  155. package/dist/cjs/bcm-tabs.cjs.entry.js +191 -237
  156. package/dist/cjs/bcm-tabs.entry.cjs.js.map +1 -1
  157. package/dist/cjs/bcm-text.cjs.entry.js +86 -85
  158. package/dist/cjs/bcm-text.entry.cjs.js.map +1 -1
  159. package/dist/cjs/bcm-textarea.cjs.entry.js +224 -154
  160. package/dist/cjs/bcm-textarea.entry.cjs.js.map +1 -1
  161. package/dist/cjs/bcm-tooltip.cjs.entry.js +414 -0
  162. package/dist/cjs/bcm-tooltip.entry.cjs.js.map +1 -0
  163. package/dist/cjs/bromcom-ui.cjs.js +2 -2
  164. package/dist/cjs/floating-ui.dom-S9nP6zZt.js +1622 -0
  165. package/dist/{bromcom-ui/floating-ui.dom-ltNPqX34.js.map → cjs/floating-ui.dom-S9nP6zZt.js.map} +1 -1
  166. package/dist/cjs/{index-CmYzUr-k.js → index-1Qal-onT.js} +111 -33
  167. package/dist/cjs/index-1Qal-onT.js.map +1 -0
  168. package/dist/cjs/loader.cjs.js +2 -2
  169. package/dist/cjs/{validation-messages-BjfpSEWk.js → validation-messages-DieKlSG4.js} +6 -7
  170. package/dist/{esm/validation-messages-CUvT12BL.js.map → cjs/validation-messages-DieKlSG4.js.map} +1 -1
  171. package/dist/collection/collection-manifest.json +4 -5
  172. package/dist/collection/components/_shared/form/base-choice-control.js +90 -0
  173. package/dist/collection/components/_shared/form/base-choice-control.js.map +1 -0
  174. package/dist/collection/components/_shared/form/base-form-control.js +115 -0
  175. package/dist/collection/components/_shared/form/base-form-control.js.map +1 -0
  176. package/dist/collection/components/accordion/accordion.component.js +72 -55
  177. package/dist/collection/components/accordion/accordion.component.js.map +1 -1
  178. package/dist/collection/components/accordion/accordion.css +1 -1
  179. package/dist/collection/components/accordion-group/accordion-group.component.js +20 -18
  180. package/dist/collection/components/accordion-group/accordion-group.component.js.map +1 -1
  181. package/dist/collection/components/alert/alert.component.js +19 -21
  182. package/dist/collection/components/alert/alert.component.js.map +1 -1
  183. package/dist/collection/components/alert/alert.css +1 -1
  184. package/dist/collection/components/avatar/avatar.component.js +20 -12
  185. package/dist/collection/components/avatar/avatar.component.js.map +1 -1
  186. package/dist/collection/components/avatar/avatar.css +1 -1
  187. package/dist/collection/components/badge/badge.component.js +111 -81
  188. package/dist/collection/components/badge/badge.component.js.map +1 -1
  189. package/dist/collection/components/badge/badge.css +1 -1
  190. package/dist/collection/components/basic-badge/basic-badge.component.js +70 -58
  191. package/dist/collection/components/basic-badge/basic-badge.component.js.map +1 -1
  192. package/dist/collection/components/basic-badge/basic-badge.css +1 -1
  193. package/dist/collection/components/button/button.component.js +105 -84
  194. package/dist/collection/components/button/button.component.js.map +1 -1
  195. package/dist/collection/components/button/button.css +1 -1
  196. package/dist/collection/components/button-group/button-group.component.js +34 -23
  197. package/dist/collection/components/button-group/button-group.component.js.map +1 -1
  198. package/dist/collection/components/button-group/button-group.css +1 -1
  199. package/dist/collection/components/checkbox/checkbox.component.js +355 -236
  200. package/dist/collection/components/checkbox/checkbox.component.js.map +1 -1
  201. package/dist/collection/components/checkbox/checkbox.css +1 -1
  202. package/dist/collection/components/chip/chip.component.js +35 -34
  203. package/dist/collection/components/chip/chip.component.js.map +1 -1
  204. package/dist/collection/components/chip/chip.css +1 -1
  205. package/dist/collection/components/divider/divider.component.js +53 -55
  206. package/dist/collection/components/divider/divider.component.js.map +1 -1
  207. package/dist/collection/components/drawer/drawer.component.js +168 -144
  208. package/dist/collection/components/drawer/drawer.component.js.map +1 -1
  209. package/dist/collection/components/dropdown/dropdown.component.js +16 -16
  210. package/dist/collection/components/dropdown/dropdown.component.js.map +1 -1
  211. package/dist/collection/components/dropdown/dropdown.css +1 -1
  212. package/dist/collection/components/dropdown-item/dropdown-item.component.js +34 -32
  213. package/dist/collection/components/dropdown-item/dropdown-item.component.js.map +1 -1
  214. package/dist/collection/components/dropdown-item/dropdown-item.css +1 -1
  215. package/dist/collection/components/input/input.component.js +241 -155
  216. package/dist/collection/components/input/input.component.js.map +1 -1
  217. package/dist/collection/components/linked/linked.component.js +160 -138
  218. package/dist/collection/components/linked/linked.component.js.map +1 -1
  219. package/dist/collection/components/linked/linked.css +1 -1
  220. package/dist/collection/components/modal/modal.component.js +180 -156
  221. package/dist/collection/components/modal/modal.component.js.map +1 -1
  222. package/dist/collection/components/pop-confirm/pop-confirm.component.js +190 -159
  223. package/dist/collection/components/pop-confirm/pop-confirm.component.js.map +1 -1
  224. package/dist/collection/components/pop-confirm/pop-confirm.css +1 -1
  225. package/dist/collection/components/popover/popover.component.js +240 -212
  226. package/dist/collection/components/popover/popover.component.js.map +1 -1
  227. package/dist/collection/components/popover/popover.css +1 -1
  228. package/dist/collection/components/radio/radio.component.js +282 -106
  229. package/dist/collection/components/radio/radio.component.js.map +1 -1
  230. package/dist/collection/components/radio-group/radio-group.component.js +102 -80
  231. package/dist/collection/components/radio-group/radio-group.component.js.map +1 -1
  232. package/dist/collection/components/segmented-picker/segment.component.js +228 -0
  233. package/dist/collection/components/segmented-picker/segment.component.js.map +1 -0
  234. package/dist/collection/components/segmented-picker/segment.css +1 -0
  235. package/dist/collection/components/segmented-picker/segmented-picker.component.js +354 -139
  236. package/dist/collection/components/segmented-picker/segmented-picker.component.js.map +1 -1
  237. package/dist/collection/components/segmented-picker/segmented-picker.css +1 -1
  238. package/dist/collection/components/shortcut/shortcut.js +4 -5
  239. package/dist/collection/components/shortcut/shortcut.js.map +1 -1
  240. package/dist/collection/components/switch/switch.component.js +350 -280
  241. package/dist/collection/components/switch/switch.component.js.map +1 -1
  242. package/dist/collection/components/switch/switch.css +1 -1
  243. package/dist/collection/components/tabs/bcm-tab.css +1 -0
  244. package/dist/collection/components/tabs/bcm-tabs.css +1 -1
  245. package/dist/collection/components/tabs/tab.component.js +169 -0
  246. package/dist/collection/components/tabs/tab.component.js.map +1 -0
  247. package/dist/collection/components/tabs/tabs.component.js +221 -352
  248. package/dist/collection/components/tabs/tabs.component.js.map +1 -1
  249. package/dist/collection/components/text/text.component.js +84 -85
  250. package/dist/collection/components/text/text.component.js.map +1 -1
  251. package/dist/collection/components/text/text.css +1 -1
  252. package/dist/collection/components/textarea/textarea.component.js +216 -153
  253. package/dist/collection/components/textarea/textarea.component.js.map +1 -1
  254. package/dist/collection/components/tooltip/tooltip.component.js +164 -154
  255. package/dist/collection/components/tooltip/tooltip.component.js.map +1 -1
  256. package/dist/collection/components/upload/file-upload.component.js +905 -0
  257. package/dist/collection/components/upload/file-upload.component.js.map +1 -0
  258. package/dist/collection/components/upload/file-upload.css +1 -0
  259. package/dist/collection/global/global.js +33 -30
  260. package/dist/collection/utils/i18n.js +3 -4
  261. package/dist/collection/utils/i18n.js.map +1 -1
  262. package/dist/collection/utils/slot/check-slot-content.js +1 -2
  263. package/dist/collection/utils/slot/check-slot-content.js.map +1 -1
  264. package/dist/collection/utils/validation-messages.js +1 -1
  265. package/dist/collection/utils/validation-messages.js.map +1 -1
  266. package/dist/components/bcm-accordion-group.js +19 -17
  267. package/dist/components/bcm-accordion-group.js.map +1 -1
  268. package/dist/components/bcm-accordion.js +72 -55
  269. package/dist/components/bcm-accordion.js.map +1 -1
  270. package/dist/components/bcm-alert.js +1 -114
  271. package/dist/components/bcm-alert.js.map +1 -1
  272. package/dist/components/bcm-avatar.js +22 -12
  273. package/dist/components/bcm-avatar.js.map +1 -1
  274. package/dist/components/bcm-badge.js +1 -1
  275. package/dist/components/bcm-basic-badge.js +72 -58
  276. package/dist/components/bcm-basic-badge.js.map +1 -1
  277. package/dist/components/bcm-button-group.js +35 -23
  278. package/dist/components/bcm-button-group.js.map +1 -1
  279. package/dist/components/bcm-button.js +1 -1
  280. package/dist/components/bcm-checkbox.js +296 -184
  281. package/dist/components/bcm-checkbox.js.map +1 -1
  282. package/dist/components/bcm-chip.js +37 -34
  283. package/dist/components/bcm-chip.js.map +1 -1
  284. package/dist/components/bcm-divider.js +54 -54
  285. package/dist/components/bcm-divider.js.map +1 -1
  286. package/dist/components/bcm-drawer.js +169 -144
  287. package/dist/components/bcm-drawer.js.map +1 -1
  288. package/dist/components/bcm-dropdown-item.js +35 -32
  289. package/dist/components/bcm-dropdown-item.js.map +1 -1
  290. package/dist/components/bcm-dropdown.js +19 -18
  291. package/dist/components/bcm-dropdown.js.map +1 -1
  292. package/dist/components/{bcm-tabs-content.d.ts → bcm-file-upload.d.ts} +4 -4
  293. package/dist/components/bcm-file-upload.js +593 -0
  294. package/dist/components/bcm-file-upload.js.map +1 -0
  295. package/dist/components/bcm-input.js +244 -158
  296. package/dist/components/bcm-input.js.map +1 -1
  297. package/dist/components/bcm-linked.js +1 -1
  298. package/dist/components/bcm-modal.js +181 -156
  299. package/dist/components/bcm-modal.js.map +1 -1
  300. package/dist/components/bcm-pop-confirm.js +192 -160
  301. package/dist/components/bcm-pop-confirm.js.map +1 -1
  302. package/dist/components/bcm-popover.js +242 -213
  303. package/dist/components/bcm-popover.js.map +1 -1
  304. package/dist/components/bcm-radio-group.js +102 -79
  305. package/dist/components/bcm-radio-group.js.map +1 -1
  306. package/dist/components/bcm-radio.js +241 -108
  307. package/dist/components/bcm-radio.js.map +1 -1
  308. package/dist/components/{bcm-tabs-list.d.ts → bcm-segment.d.ts} +4 -4
  309. package/dist/components/bcm-segment.js +110 -0
  310. package/dist/components/bcm-segment.js.map +1 -0
  311. package/dist/components/bcm-segmented-picker.js +234 -115
  312. package/dist/components/bcm-segmented-picker.js.map +1 -1
  313. package/dist/components/bcm-shortcut.js +4 -3
  314. package/dist/components/bcm-shortcut.js.map +1 -1
  315. package/dist/components/bcm-switch.js +292 -156
  316. package/dist/components/bcm-switch.js.map +1 -1
  317. package/dist/components/{bcm-tabs-trigger.d.ts → bcm-tab.d.ts} +4 -4
  318. package/dist/components/bcm-tab.js +71 -0
  319. package/dist/components/bcm-tab.js.map +1 -0
  320. package/dist/components/bcm-tabs.js +196 -247
  321. package/dist/components/bcm-tabs.js.map +1 -1
  322. package/dist/components/bcm-text.js +85 -84
  323. package/dist/components/bcm-text.js.map +1 -1
  324. package/dist/components/bcm-textarea.js +218 -154
  325. package/dist/components/bcm-textarea.js.map +1 -1
  326. package/dist/components/bcm-tooltip.js +164 -153
  327. package/dist/components/bcm-tooltip.js.map +1 -1
  328. package/dist/components/index.js +105 -32
  329. package/dist/components/index.js.map +1 -1
  330. package/dist/components/p-5_TgtzQU.js +119 -0
  331. package/dist/components/p-5_TgtzQU.js.map +1 -0
  332. package/dist/components/p-RlBWOSgL.js +179 -0
  333. package/dist/components/p-RlBWOSgL.js.map +1 -0
  334. package/dist/components/p-SERXqWcS.js +51 -0
  335. package/dist/components/p-SERXqWcS.js.map +1 -0
  336. package/dist/components/{p-CUvT12BL.js → p-nf_HKsGq.js} +6 -7
  337. package/dist/components/p-nf_HKsGq.js.map +1 -0
  338. package/dist/components/{p-CsIBm0J5.js → p-xQIzBLsS.js} +108 -85
  339. package/dist/components/p-xQIzBLsS.js.map +1 -0
  340. package/dist/components/{p-6VLsKZvR.js → p-z9ESseGb.js} +163 -140
  341. package/dist/components/p-z9ESseGb.js.map +1 -0
  342. package/dist/esm/base-choice-control-CKR8UdZ6.js +52 -0
  343. package/dist/esm/base-choice-control-CKR8UdZ6.js.map +1 -0
  344. package/dist/esm/bcm-accordion-group.entry.js +20 -18
  345. package/dist/esm/bcm-accordion-group.entry.js.map +1 -1
  346. package/dist/esm/bcm-accordion.entry.js +73 -56
  347. package/dist/esm/bcm-accordion.entry.js.map +1 -1
  348. package/dist/esm/bcm-alert.entry.js +21 -21
  349. package/dist/esm/bcm-alert.entry.js.map +1 -1
  350. package/dist/esm/bcm-avatar.entry.js +22 -12
  351. package/dist/esm/bcm-avatar.entry.js.map +1 -1
  352. package/dist/esm/bcm-badge.entry.js +114 -82
  353. package/dist/esm/bcm-badge.entry.js.map +1 -1
  354. package/dist/esm/bcm-basic-badge.entry.js +73 -59
  355. package/dist/esm/bcm-basic-badge.entry.js.map +1 -1
  356. package/dist/esm/bcm-button-group.entry.js +36 -24
  357. package/dist/esm/bcm-button-group.entry.js.map +1 -1
  358. package/dist/esm/bcm-button.entry.js +336 -0
  359. package/dist/esm/bcm-button.entry.js.map +1 -0
  360. package/dist/esm/bcm-checkbox.entry.js +284 -174
  361. package/dist/esm/bcm-checkbox.entry.js.map +1 -1
  362. package/dist/esm/bcm-chip.entry.js +38 -35
  363. package/dist/esm/bcm-chip.entry.js.map +1 -1
  364. package/dist/esm/bcm-divider.entry.js +55 -55
  365. package/dist/esm/bcm-divider.entry.js.map +1 -1
  366. package/dist/esm/bcm-drawer.entry.js +330 -0
  367. package/dist/esm/bcm-drawer.entry.js.map +1 -0
  368. package/dist/esm/bcm-dropdown-item.entry.js +36 -33
  369. package/dist/esm/bcm-dropdown-item.entry.js.map +1 -1
  370. package/dist/esm/bcm-dropdown.entry.js +18 -17
  371. package/dist/esm/bcm-dropdown.entry.js.map +1 -1
  372. package/dist/esm/bcm-file-upload.entry.js +550 -0
  373. package/dist/esm/bcm-file-upload.entry.js.map +1 -0
  374. package/dist/esm/bcm-input.entry.js +250 -158
  375. package/dist/esm/bcm-input.entry.js.map +1 -1
  376. package/dist/esm/bcm-linked.entry.js +450 -0
  377. package/dist/esm/bcm-linked.entry.js.map +1 -0
  378. package/dist/esm/bcm-modal.entry.js +358 -0
  379. package/dist/esm/bcm-modal.entry.js.map +1 -0
  380. package/dist/esm/bcm-pop-confirm.entry.js +379 -0
  381. package/dist/esm/bcm-pop-confirm.entry.js.map +1 -0
  382. package/dist/esm/bcm-popover.entry.js +449 -0
  383. package/dist/esm/bcm-popover.entry.js.map +1 -0
  384. package/dist/esm/bcm-radio-group.entry.js +103 -80
  385. package/dist/esm/bcm-radio-group.entry.js.map +1 -1
  386. package/dist/esm/bcm-radio.entry.js +239 -106
  387. package/dist/esm/bcm-radio.entry.js.map +1 -1
  388. package/dist/esm/bcm-segment.bcm-segmented-picker.entry.js.map +1 -0
  389. package/dist/esm/bcm-segment_2.entry.js +332 -0
  390. package/dist/esm/bcm-shortcut.entry.js +5 -4
  391. package/dist/esm/bcm-shortcut.entry.js.map +1 -1
  392. package/dist/esm/bcm-switch.entry.js +281 -148
  393. package/dist/esm/bcm-switch.entry.js.map +1 -1
  394. package/dist/esm/bcm-tab.entry.js +42 -0
  395. package/dist/esm/bcm-tab.entry.js.map +1 -0
  396. package/dist/esm/bcm-tabs.entry.js +191 -237
  397. package/dist/esm/bcm-tabs.entry.js.map +1 -1
  398. package/dist/esm/bcm-text.entry.js +86 -85
  399. package/dist/esm/bcm-text.entry.js.map +1 -1
  400. package/dist/esm/bcm-textarea.entry.js +224 -154
  401. package/dist/esm/bcm-textarea.entry.js.map +1 -1
  402. package/dist/esm/bcm-tooltip.entry.js +412 -0
  403. package/dist/esm/bcm-tooltip.entry.js.map +1 -0
  404. package/dist/esm/bromcom-ui.js +3 -3
  405. package/dist/esm/floating-ui.dom-DBDSgIvP.js +1615 -0
  406. package/dist/esm/floating-ui.dom-DBDSgIvP.js.map +1 -0
  407. package/dist/esm/{index-CRwAh9Np.js → index-B6Ppbs5O.js} +111 -34
  408. package/dist/esm/index-B6Ppbs5O.js.map +1 -0
  409. package/dist/esm/loader.js +3 -3
  410. package/dist/esm/{validation-messages-CUvT12BL.js → validation-messages-nf_HKsGq.js} +6 -7
  411. package/dist/{cjs/validation-messages-BjfpSEWk.js.map → esm/validation-messages-nf_HKsGq.js.map} +1 -1
  412. package/dist/types/components/_shared/form/base-choice-control.d.ts +15 -0
  413. package/dist/types/components/_shared/form/base-form-control.d.ts +11 -0
  414. package/dist/types/components/checkbox/checkbox.component.d.ts +89 -71
  415. package/dist/types/components/input/input.component.d.ts +5 -0
  416. package/dist/types/components/radio/radio.component.d.ts +21 -0
  417. package/dist/types/components/segmented-picker/segment.component.d.ts +42 -0
  418. package/dist/types/components/segmented-picker/segmented-picker.component.d.ts +91 -24
  419. package/dist/types/components/switch/switch.component.d.ts +83 -43
  420. package/dist/types/components/tabs/tab.component.d.ts +33 -0
  421. package/dist/types/components/tabs/tabs.component.d.ts +51 -64
  422. package/dist/types/components/textarea/textarea.component.d.ts +5 -0
  423. package/dist/types/components/upload/file-upload.component.d.ts +107 -0
  424. package/dist/types/components.d.ts +830 -382
  425. package/package.json +2 -2
  426. package/dist/bromcom-ui/_commonjsHelpers-CvGrISen.js.map +0 -1
  427. package/dist/bromcom-ui/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.esm.js.map +0 -1
  428. package/dist/bromcom-ui/bcm-segmented-picker-option.entry.esm.js.map +0 -1
  429. package/dist/bromcom-ui/bcm-segmented-picker.entry.esm.js.map +0 -1
  430. package/dist/bromcom-ui/bcm-tabs-content.entry.esm.js.map +0 -1
  431. package/dist/bromcom-ui/bcm-tabs-list.entry.esm.js.map +0 -1
  432. package/dist/bromcom-ui/bcm-tabs-trigger.entry.esm.js.map +0 -1
  433. package/dist/bromcom-ui/generate-id-Crb5QsB-.js.map +0 -1
  434. package/dist/bromcom-ui/index-40rmUZjU.js.map +0 -1
  435. package/dist/bromcom-ui/index-BCaJmHBB.js.map +0 -1
  436. package/dist/bromcom-ui/p-0c7c6896.entry.js +0 -2
  437. package/dist/bromcom-ui/p-0c7c6896.entry.js.map +0 -1
  438. package/dist/bromcom-ui/p-11d0e649.entry.js +0 -2
  439. package/dist/bromcom-ui/p-11d0e649.entry.js.map +0 -1
  440. package/dist/bromcom-ui/p-12f38632.entry.js +0 -2
  441. package/dist/bromcom-ui/p-12f38632.entry.js.map +0 -1
  442. package/dist/bromcom-ui/p-13cbd1f5.entry.js +0 -2
  443. package/dist/bromcom-ui/p-13cbd1f5.entry.js.map +0 -1
  444. package/dist/bromcom-ui/p-1507908f.entry.js.map +0 -1
  445. package/dist/bromcom-ui/p-1ce9913f.entry.js +0 -2
  446. package/dist/bromcom-ui/p-1ce9913f.entry.js.map +0 -1
  447. package/dist/bromcom-ui/p-206d767e.entry.js +0 -2
  448. package/dist/bromcom-ui/p-206d767e.entry.js.map +0 -1
  449. package/dist/bromcom-ui/p-3cf7a7f4.entry.js +0 -2
  450. package/dist/bromcom-ui/p-3cf7a7f4.entry.js.map +0 -1
  451. package/dist/bromcom-ui/p-4505feba.entry.js +0 -2
  452. package/dist/bromcom-ui/p-4505feba.entry.js.map +0 -1
  453. package/dist/bromcom-ui/p-496014ca.entry.js.map +0 -1
  454. package/dist/bromcom-ui/p-4a932cd3.entry.js +0 -2
  455. package/dist/bromcom-ui/p-4a932cd3.entry.js.map +0 -1
  456. package/dist/bromcom-ui/p-4e554b8d.entry.js +0 -2
  457. package/dist/bromcom-ui/p-4e554b8d.entry.js.map +0 -1
  458. package/dist/bromcom-ui/p-57c4c4c4.entry.js +0 -2
  459. package/dist/bromcom-ui/p-57c4c4c4.entry.js.map +0 -1
  460. package/dist/bromcom-ui/p-61293ab2.entry.js +0 -2
  461. package/dist/bromcom-ui/p-61293ab2.entry.js.map +0 -1
  462. package/dist/bromcom-ui/p-61789456.entry.js +0 -2
  463. package/dist/bromcom-ui/p-61789456.entry.js.map +0 -1
  464. package/dist/bromcom-ui/p-65d0f188.entry.js +0 -2
  465. package/dist/bromcom-ui/p-65d0f188.entry.js.map +0 -1
  466. package/dist/bromcom-ui/p-83f707dc.entry.js +0 -2
  467. package/dist/bromcom-ui/p-83f707dc.entry.js.map +0 -1
  468. package/dist/bromcom-ui/p-8ba02e7e.entry.js +0 -2
  469. package/dist/bromcom-ui/p-8ba02e7e.entry.js.map +0 -1
  470. package/dist/bromcom-ui/p-9e9bf32e.entry.js +0 -2
  471. package/dist/bromcom-ui/p-9e9bf32e.entry.js.map +0 -1
  472. package/dist/bromcom-ui/p-CRwAh9Np.js +0 -3
  473. package/dist/bromcom-ui/p-CRwAh9Np.js.map +0 -1
  474. package/dist/bromcom-ui/p-CUvT12BL.js +0 -2
  475. package/dist/bromcom-ui/p-c87a6acf.entry.js +0 -2
  476. package/dist/bromcom-ui/p-c87a6acf.entry.js.map +0 -1
  477. package/dist/bromcom-ui/p-e0e235a8.entry.js +0 -2
  478. package/dist/bromcom-ui/p-e0e235a8.entry.js.map +0 -1
  479. package/dist/bromcom-ui/p-e1ce8b55.entry.js +0 -2
  480. package/dist/bromcom-ui/p-e1ce8b55.entry.js.map +0 -1
  481. package/dist/bromcom-ui/p-e4dddb0b.entry.js +0 -2
  482. package/dist/bromcom-ui/p-e4dddb0b.entry.js.map +0 -1
  483. package/dist/bromcom-ui/p-f9426924.entry.js +0 -2
  484. package/dist/bromcom-ui/p-f9426924.entry.js.map +0 -1
  485. package/dist/bromcom-ui/p-faa0e62c.entry.js +0 -2
  486. package/dist/bromcom-ui/p-faa0e62c.entry.js.map +0 -1
  487. package/dist/bromcom-ui/p-fcb4399f.entry.js +0 -2
  488. package/dist/bromcom-ui/p-fcb4399f.entry.js.map +0 -1
  489. package/dist/bromcom-ui/tv-SlGJ5EfR.js.map +0 -1
  490. package/dist/bromcom-ui/validation-messages-CUvT12BL.js.map +0 -1
  491. package/dist/cjs/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.cjs.js.map +0 -1
  492. package/dist/cjs/bcm-button_7.cjs.entry.js +0 -4131
  493. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +0 -105
  494. package/dist/cjs/bcm-segmented-picker-option.entry.cjs.js.map +0 -1
  495. package/dist/cjs/bcm-segmented-picker.cjs.entry.js +0 -142
  496. package/dist/cjs/bcm-segmented-picker.entry.cjs.js.map +0 -1
  497. package/dist/cjs/bcm-tabs-content.cjs.entry.js +0 -18
  498. package/dist/cjs/bcm-tabs-content.entry.cjs.js.map +0 -1
  499. package/dist/cjs/bcm-tabs-list.cjs.entry.js +0 -82
  500. package/dist/cjs/bcm-tabs-list.entry.cjs.js.map +0 -1
  501. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +0 -120
  502. package/dist/cjs/bcm-tabs-trigger.entry.cjs.js.map +0 -1
  503. package/dist/cjs/index-CmYzUr-k.js.map +0 -1
  504. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +0 -253
  505. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js.map +0 -1
  506. package/dist/collection/components/segmented-picker/segmented-picker-option.css +0 -1
  507. package/dist/collection/components/tabs/tabs-content.component.js +0 -46
  508. package/dist/collection/components/tabs/tabs-content.component.js.map +0 -1
  509. package/dist/collection/components/tabs/tabs-content.css +0 -1
  510. package/dist/collection/components/tabs/tabs-list.component.js +0 -133
  511. package/dist/collection/components/tabs/tabs-list.component.js.map +0 -1
  512. package/dist/collection/components/tabs/tabs-list.css +0 -1
  513. package/dist/collection/components/tabs/tabs-trigger.component.js +0 -267
  514. package/dist/collection/components/tabs/tabs-trigger.component.js.map +0 -1
  515. package/dist/collection/components/tabs/tabs-trigger.css +0 -1
  516. package/dist/components/bcm-segmented-picker-option.d.ts +0 -11
  517. package/dist/components/bcm-segmented-picker-option.js +0 -133
  518. package/dist/components/bcm-segmented-picker-option.js.map +0 -1
  519. package/dist/components/bcm-tabs-content.js +0 -41
  520. package/dist/components/bcm-tabs-content.js.map +0 -1
  521. package/dist/components/bcm-tabs-list.js +0 -106
  522. package/dist/components/bcm-tabs-list.js.map +0 -1
  523. package/dist/components/bcm-tabs-trigger.js +0 -148
  524. package/dist/components/bcm-tabs-trigger.js.map +0 -1
  525. package/dist/components/p-6VLsKZvR.js.map +0 -1
  526. package/dist/components/p-CUvT12BL.js.map +0 -1
  527. package/dist/components/p-CaemikSK.js +0 -147
  528. package/dist/components/p-CaemikSK.js.map +0 -1
  529. package/dist/components/p-CsIBm0J5.js.map +0 -1
  530. package/dist/esm/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.js.map +0 -1
  531. package/dist/esm/bcm-button_7.entry.js +0 -4123
  532. package/dist/esm/bcm-segmented-picker-option.entry.js +0 -103
  533. package/dist/esm/bcm-segmented-picker-option.entry.js.map +0 -1
  534. package/dist/esm/bcm-segmented-picker.entry.js +0 -140
  535. package/dist/esm/bcm-segmented-picker.entry.js.map +0 -1
  536. package/dist/esm/bcm-tabs-content.entry.js +0 -16
  537. package/dist/esm/bcm-tabs-content.entry.js.map +0 -1
  538. package/dist/esm/bcm-tabs-list.entry.js +0 -80
  539. package/dist/esm/bcm-tabs-list.entry.js.map +0 -1
  540. package/dist/esm/bcm-tabs-trigger.entry.js +0 -118
  541. package/dist/esm/bcm-tabs-trigger.entry.js.map +0 -1
  542. package/dist/esm/index-CRwAh9Np.js.map +0 -1
  543. package/dist/types/components/segmented-picker/segmented-picker-option.component.d.ts +0 -30
  544. package/dist/types/components/tabs/tabs-content.component.d.ts +0 -13
  545. package/dist/types/components/tabs/tabs-list.component.d.ts +0 -20
  546. package/dist/types/components/tabs/tabs-trigger.component.d.ts +0 -49
@@ -0,0 +1,593 @@
1
+ import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment, a as Host } from './index.js';
2
+ import { t as tv } from './p-CEcVC0yX.js';
3
+ import { d as defineCustomElement$2 } from './p-5_TgtzQU.js';
4
+
5
+ const fileUploadCss = ".block{display:block}:host{display:block}.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}.relative{position:relative}.flex{display:flex}.hidden{display:none}.size-4{height:1rem;width:1rem}.size-5{height:1.25rem;width:1.25rem}.size-8{height:2rem;width:2rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-full{height:100%}.w-\\[50px\\]{width:50px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\\[3ch\\]{min-width:3ch}.max-w-64{max-width:16rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{user-select:none}.appearance-none{appearance:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:var(--bcm-ui-border-radius-default,6px)}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.border{border-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-color-default{border-color:var(--bcm-ui-color-border-default)}.border-color-disabled{border-color:var(--bcm-ui-color-border-disabled)}.border-color-primary{border-color:var(--bcm-ui-color-border-primary)}.bg-color-basic-masterpage{background-color:var(--bcm-ui-color-background-basic-masterpage)}.bg-color-default{background-color:var(--bcm-ui-color-background-default-default)}.bg-color-disabled{background-color:var(--bcm-ui-color-background-disabled-default)}.bg-color-primary{background-color:var(--bcm-ui-color-background-primary-default)}.bg-color-soft-blue{background-color:var(--bcm-ui-color-background-soft-blue-default)}.bg-transparent{background-color:transparent}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-4{padding-bottom:1rem;padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-size-10{font-size:var(--bcm-ui-font-size-10,36px);line-height:var(--bcm-ui-line-height-10,44px)}.text-size-2{font-size:var(--bcm-ui-font-size-2,10px);line-height:var(--bcm-ui-line-height-2,12px)}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-8{font-size:var(--bcm-ui-font-size-8,24px);line-height:var(--bcm-ui-line-height-8,32px)}.font-medium{font-weight:500}.text-color-caption{color:var(--bcm-ui-color-text-caption)}.text-color-default{color:var(--bcm-ui-color-text-default)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.text-color-helper{color:var(--bcm-ui-color-text-helper)}.text-color-icon-default{color:var(--bcm-ui-color-text-icon-default)}.text-color-label{color:var(--bcm-ui-color-text-label)}.text-color-primary{color:var(--bcm-ui-color-text-primary)}.no-underline{text-decoration-line:none}.opacity-60{opacity:.6}.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)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.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)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\\:bg-color-default-hover:hover{background-color:var(--bcm-ui-color-background-default-hover)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}";
6
+
7
+ /**
8
+ * @component BcmFileUpload
9
+ * @description A fully featured drag-and-drop file uploader component.
10
+ * Supports form-associated behavior, validation, custom size limits,
11
+ * accepted file type filtering, multiple file selection, progress tracking,
12
+ * upload canceling, file removal, and accessibility events (focus/blur).
13
+ *
14
+ * Upload progress is currently simulated locally. The `uploadUrl` prop
15
+ * is reserved for future real HTTP upload integration and has no effect yet.
16
+ *
17
+ * @example Basic usage
18
+ * <bcm-file-upload name="report" label="Upload Report"></bcm-file-upload>
19
+ *
20
+ * @example Multiple files
21
+ * <bcm-file-upload name="attachments" multiple></bcm-file-upload>
22
+ *
23
+ * @example Custom max size and accepted formats
24
+ * <bcm-file-upload
25
+ * name="medicalFiles"
26
+ * accept=".pdf,.jpg"
27
+ * maxSize={5}
28
+ * ></bcm-file-upload>
29
+ *
30
+ * @prop {string} name
31
+ * The name of the form field used when the component is inside a `<form>`.
32
+ * Supports automatic FormData generation including:
33
+ * - single upload: name="file"
34
+ * - multiple upload: name="file[0], file[1], ..."
35
+ *
36
+ * @prop {string} label
37
+ * Optional label shown above the upload zone.
38
+ *
39
+ * @prop {string} caption
40
+ * Optional helper text rendered below the file list. Example: “Max size 5MB”.
41
+ *
42
+ * @prop {boolean} multiple
43
+ * Allows selecting and uploading multiple files at once.
44
+ *
45
+ * @prop {string} accept
46
+ * Comma-separated list of allowed file extensions.
47
+ * Example: ".pdf,.xls,.png".
48
+ *
49
+ * @prop {number} maxSize
50
+ * Maximum allowed size per file (in MB). If exceeded, an error alert appears.
51
+ *
52
+ * @prop {boolean} required
53
+ * Enables form validation — at least one file must be uploaded.
54
+ * Validity integrates with native `<form>` using ElementInternals.
55
+ *
56
+ * @prop {boolean} disabled
57
+ * Makes the uploader non-interactive: no clicking, no drag-and-drop.
58
+ *
59
+ * @prop {"medium" | "small"} size
60
+ * Controls spacing, typography, and visual density of the upload zone.
61
+ *
62
+ * @prop {string} uploadUrl
63
+ * Reserved for future backend upload integration.
64
+ * Currently has no effect and does not trigger any HTTP requests.
65
+ *
66
+ * @prop {number} maxFileCount
67
+ * Optional limit for how many files can be selected in total.
68
+ * Only applied when `multiple` is true.
69
+ * If exceeded, new files are ignored and a max-file-count error is shown.
70
+ *
71
+ * @prop {BcmUploadErrorMessages} customErrorMessages
72
+ * Optional override for all error messages:
73
+ * - maxSize: file too large
74
+ * - type: unsupported file type
75
+ * - maxFileCount: too many files selected
76
+ * - required: no file selected while required
77
+ *
78
+ *
79
+ * @event {EventEmitter<File[]>} bcmFileChange
80
+ * Fired whenever the component's internal file list changes.
81
+ * Emits an array of the current File objects.
82
+ *
83
+ * @event {EventEmitter<BcmUploadItem>} bcmFileRemoved
84
+ * Fired when the user removes a file from the list.
85
+ *
86
+ * @event {EventEmitter<BcmUploadItem>} bcmUploadCanceled
87
+ * Fired when an upload is canceled before completion.
88
+ *
89
+ * @event {EventEmitter<FocusEvent>} bcmFocus
90
+ * Fired when upload zone receives keyboard or mouse focus.
91
+ *
92
+ * @event {EventEmitter<FocusEvent>} bcmBlur
93
+ * Fired when upload zone loses focus.
94
+ *
95
+ *
96
+ * @csspart upload-zone
97
+ * The root clickable drop area for file selection or drag-and-drop.
98
+ *
99
+ * @csspart file-list
100
+ * The container wrapping rendered file rows.
101
+ *
102
+ * @csspart file-row
103
+ * A single file entry including its name, actions, and progress bar.
104
+ *
105
+ * @csspart remove-btn
106
+ * The remove action button inside uploaded file rows.
107
+ *
108
+ * @csspart cancel-btn
109
+ * The cancel upload button during uploading progress.
110
+ *
111
+ * @csspart download-btn
112
+ * The download button for already uploaded files.
113
+ *
114
+ * @csspart label
115
+ * The external label text displayed above the component.
116
+ *
117
+ * @csspart caption
118
+ * Helper or informative caption displayed below the uploaded list.
119
+ */
120
+ const uploadClasses = tv({
121
+ slots: {
122
+ container: 'bcm-ui-element flex flex-col gap-2 w-full max-w-64',
123
+ label: 'text-size-4 font-medium text-color-label',
124
+ // Upload Zone
125
+ zone: [
126
+ 'relative rounded border border-dashed transition-all duration-200 ease-in-out',
127
+ 'px-4 py-4 select-none',
128
+ 'border-color-default bg-color-basic-masterpage',
129
+ 'flex items-center justify-center',
130
+ ],
131
+ zoneActive: 'border-color-primary bg-color-soft-blue',
132
+ iconContainer: 'flex items-center justify-center shrink-0',
133
+ iconSizeClass: 'text-size-10',
134
+ zoneTextWrapper: 'flex flex-col flex-1 min-w-0',
135
+ zoneTextMain: 'text-size-4 text-color-default font-medium',
136
+ zoneLink: 'text-color-primary hover:underline',
137
+ zoneTextSub: 'text-size-3 text-color-caption',
138
+ // File List
139
+ list: 'flex flex-col gap-3',
140
+ // File Row
141
+ fileRow: [
142
+ 'flex flex-col items-center gap-2 rounded border transition-colors min-w-0 px-3 py-1.5',
143
+ 'bg-color-default border-color-default',
144
+ ],
145
+ fileIcon: 'flex items-center justify-center rounded bg-color-soft-blue shrink-0',
146
+ fileNameWrapper: 'flex flex-col flex-1 min-w-0',
147
+ fileTitle: 'text-size-4 font-medium text-color-default',
148
+ fileName: 'text-size-4 text-color-default truncate',
149
+ // Progress
150
+ progressWrapper: 'flex items-center gap-3 w-full',
151
+ progressBar: 'h-full bg-color-primary rounded transition-all duration-300 ease-out',
152
+ percent: 'text-size-4 font-medium text-color-caption min-w-[3ch] text-right',
153
+ // Actions
154
+ actions: 'flex items-center gap-2',
155
+ iconBtn: [
156
+ 'size-4 rounded-full flex items-center justify-center transition-colors cursor-pointer appearance-none',
157
+ 'text-color-icon-default hover:bg-color-default-hover border-none',
158
+ ],
159
+ caption: 'text-size-3 text-color-caption',
160
+ },
161
+ variants: {
162
+ size: {
163
+ medium: {
164
+ zone: 'flex-col text-center gap-2',
165
+ iconContainer: 'h-10 w-[50px]',
166
+ zoneTextWrapper: 'items-center gap-1',
167
+ },
168
+ small: {
169
+ zone: 'px-3 py-4 gap-2 flex-row text-left',
170
+ iconContainer: 'size-8',
171
+ iconSizeClass: 'text-size-8',
172
+ zoneTextWrapper: 'items-start gap-1',
173
+ label: 'text-size-3',
174
+ caption: 'text-size-2',
175
+ },
176
+ },
177
+ disabled: {
178
+ true: 'opacity-60 cursor-not-allowed',
179
+ false: '',
180
+ },
181
+ },
182
+ compoundVariants: [
183
+ {
184
+ disabled: true,
185
+ class: {
186
+ zone: 'bg-color-disabled border-color-disabled cursor-not-allowed',
187
+ zoneTextMain: 'text-color-disabled',
188
+ zoneTextSub: 'text-color-disabled',
189
+ zoneLink: 'text-color-disabled cursor-not-allowed no-underline hover:no-underline',
190
+ },
191
+ },
192
+ {
193
+ disabled: false,
194
+ class: {
195
+ zone: 'cursor-pointer',
196
+ },
197
+ },
198
+ ],
199
+ defaultVariants: {
200
+ size: 'medium',
201
+ disabled: false,
202
+ },
203
+ });
204
+ const BcmFileUpload$1 = /*@__PURE__*/ proxyCustomElement(class BcmFileUpload extends H {
205
+ constructor(registerHost) {
206
+ super();
207
+ if (registerHost !== false) {
208
+ this.__registerHost();
209
+ }
210
+ this.__attachShadow();
211
+ this.bcmFileChange = createEvent(this, "bcmFileChange", 1);
212
+ this.bcmFileRemoved = createEvent(this, "bcmFileRemoved", 1);
213
+ this.bcmUploadCanceled = createEvent(this, "bcmUploadCanceled", 1);
214
+ this.bcmFocus = createEvent(this, "bcmFocus", 1);
215
+ this.bcmBlur = createEvent(this, "bcmBlur", 1);
216
+ this.internals = this.attachInternals();
217
+ }
218
+ get host() { return this; }
219
+ internals;
220
+ fileInput;
221
+ uploadTimer;
222
+ // Focus target for validation errors and keyboard focus
223
+ uploadZoneRef;
224
+ name = 'file';
225
+ label = '';
226
+ caption = '';
227
+ multiple = false;
228
+ accept = '.xls,.pdf';
229
+ maxSize = 2; // MB
230
+ required = false;
231
+ disabled = false;
232
+ size = 'medium';
233
+ /**
234
+ * Reserved for future backend upload integration.
235
+ * Currently does not affect component behavior.
236
+ */
237
+ uploadUrl;
238
+ /**
239
+ * Maximum number of files allowed in total.
240
+ * Only applied when `multiple` is true.
241
+ */
242
+ maxFileCount;
243
+ /**
244
+ * Allows consumers to override default error messages.
245
+ */
246
+ customErrorMessages;
247
+ files = [];
248
+ dragActive = false;
249
+ maxSizeError = false;
250
+ typeError = false;
251
+ maxFileCountError = false;
252
+ // Emits when file list changes
253
+ bcmFileChange;
254
+ // Emits when a file is removed
255
+ bcmFileRemoved;
256
+ // Emits when an upload is canceled
257
+ bcmUploadCanceled;
258
+ // Emits when the upload zone receives focus
259
+ bcmFocus;
260
+ // Emits when the upload zone loses focus
261
+ bcmBlur;
262
+ internalMaxSizeInBytes = this.maxSize * 1024 * 1024;
263
+ componentWillLoad() {
264
+ this.internalMaxSizeInBytes = this.maxSize * 1024 * 1024;
265
+ this.updateFormValueAndValidity();
266
+ }
267
+ disconnectedCallback() {
268
+ // Clear interval when component is removed from the DOM
269
+ if (this.uploadTimer) {
270
+ window.clearInterval(this.uploadTimer);
271
+ this.uploadTimer = undefined;
272
+ }
273
+ }
274
+ handleMaxSizeChange() {
275
+ this.internalMaxSizeInBytes = this.maxSize * 1024 * 1024;
276
+ }
277
+ /**
278
+ * Normalize and check a file against the `accept` attribute.
279
+ */
280
+ isFileAccepted(file) {
281
+ if (!this.accept)
282
+ return true;
283
+ const extension = '.' + (file.name.split('.').pop() || '').toLowerCase();
284
+ const accepted = this.accept
285
+ .toLowerCase()
286
+ .split(',')
287
+ .map(x => x.trim())
288
+ .filter(Boolean); // e.g. ['.pdf', '.jpg', '.png']
289
+ return accepted.includes(extension);
290
+ }
291
+ /**
292
+ * Update form value and validity state for form-associated behavior.
293
+ */
294
+ updateFormValueAndValidity() {
295
+ if (!this.internals)
296
+ return;
297
+ if (!this.files.length) {
298
+ this.internals.setFormValue(null);
299
+ if (this.required) {
300
+ const msg = this.customErrorMessages?.required ||
301
+ 'Please upload at least one file.';
302
+ this.internals.setValidity({ valueMissing: true }, msg,
303
+ // Use upload zone if available, otherwise host as the validation anchor
304
+ this.uploadZoneRef ?? this.host);
305
+ }
306
+ else {
307
+ this.internals.setValidity({});
308
+ }
309
+ return;
310
+ }
311
+ const formData = new FormData();
312
+ this.files.forEach((item, index) => {
313
+ const key = this.multiple ? `${this.name}[${index}]` : this.name;
314
+ formData.append(key, item.file);
315
+ });
316
+ this.internals.setFormValue(formData);
317
+ this.internals.setValidity({});
318
+ }
319
+ emitChange() {
320
+ this.bcmFileChange.emit(this.files.map(f => f.file));
321
+ }
322
+ /**
323
+ * Simulate upload progress. Replace with real upload logic if needed.
324
+ */
325
+ startFakeUpload() {
326
+ if (this.uploadTimer) {
327
+ window.clearInterval(this.uploadTimer);
328
+ }
329
+ this.uploadTimer = window.setInterval(() => {
330
+ let anyUploading = false;
331
+ this.files = this.files.map(item => {
332
+ if (item.status !== 'uploading')
333
+ return item;
334
+ anyUploading = true;
335
+ const current = item.progress ?? 0;
336
+ const next = Math.min(current + 15, 100);
337
+ if (next >= 100) {
338
+ return { ...item, status: 'uploaded', progress: undefined };
339
+ }
340
+ return { ...item, progress: next };
341
+ });
342
+ if (!anyUploading && this.uploadTimer) {
343
+ window.clearInterval(this.uploadTimer);
344
+ this.uploadTimer = undefined;
345
+ this.updateFormValueAndValidity();
346
+ this.emitChange();
347
+ }
348
+ }, 300);
349
+ }
350
+ /**
351
+ * Add files from input or drop.
352
+ */
353
+ addFiles(fileList) {
354
+ if (!fileList || this.disabled)
355
+ return;
356
+ const newItems = [];
357
+ let hasSizeError = false;
358
+ let hasTypeError = false;
359
+ Array.from(fileList).forEach(file => {
360
+ if (!this.isFileAccepted(file)) {
361
+ hasTypeError = true;
362
+ return;
363
+ }
364
+ if (file.size > this.internalMaxSizeInBytes) {
365
+ hasSizeError = true;
366
+ return;
367
+ }
368
+ newItems.push({
369
+ id: crypto.randomUUID(),
370
+ file,
371
+ status: 'uploading',
372
+ progress: 0,
373
+ });
374
+ });
375
+ this.maxSizeError = hasSizeError;
376
+ this.typeError = hasTypeError;
377
+ this.maxFileCountError = false;
378
+ // If there are no valid files, just update validity and exit.
379
+ if (!newItems.length) {
380
+ this.updateFormValueAndValidity();
381
+ this.emitChange();
382
+ return;
383
+ }
384
+ let merged;
385
+ if (this.multiple) {
386
+ if (typeof this.maxFileCount === 'number') {
387
+ const remaining = this.maxFileCount - this.files.length;
388
+ if (remaining <= 0) {
389
+ this.maxFileCountError = true;
390
+ this.updateFormValueAndValidity();
391
+ this.emitChange();
392
+ return;
393
+ }
394
+ const acceptedNew = newItems.slice(0, Math.max(0, remaining));
395
+ if (acceptedNew.length < newItems.length) {
396
+ this.maxFileCountError = true;
397
+ }
398
+ merged = [...this.files, ...acceptedNew];
399
+ }
400
+ else {
401
+ merged = [...this.files, ...newItems];
402
+ }
403
+ }
404
+ else {
405
+ // single file mode → only take first new item
406
+ merged = [newItems[0]];
407
+ }
408
+ this.files = merged;
409
+ this.updateFormValueAndValidity();
410
+ this.emitChange();
411
+ // Only fake upload for now
412
+ this.startFakeUpload();
413
+ }
414
+ removeFile(item) {
415
+ this.files = this.files.filter(f => f.id !== item.id);
416
+ this.bcmFileRemoved.emit(item);
417
+ this.updateFormValueAndValidity();
418
+ this.emitChange();
419
+ }
420
+ cancelUpload(item) {
421
+ this.files = this.files.filter(f => f.id !== item.id);
422
+ this.bcmUploadCanceled.emit(item);
423
+ this.updateFormValueAndValidity();
424
+ this.emitChange();
425
+ }
426
+ onFileInputChange = (event) => {
427
+ const input = event.target;
428
+ this.addFiles(input.files);
429
+ // Reset input so the same file can be selected again
430
+ input.value = '';
431
+ };
432
+ downloadFile(file) {
433
+ const url = URL.createObjectURL(file);
434
+ const a = document.createElement('a');
435
+ a.href = url;
436
+ a.download = file.name;
437
+ a.click();
438
+ URL.revokeObjectURL(url);
439
+ }
440
+ handleDrop(ev) {
441
+ ev.preventDefault();
442
+ this.dragActive = false;
443
+ if (this.disabled)
444
+ return;
445
+ const files = ev.dataTransfer?.files || null;
446
+ if (!files || files.length === 0)
447
+ return;
448
+ const first = files.item(0);
449
+ if (!first || !this.isFileAccepted(first)) {
450
+ this.typeError = true;
451
+ return;
452
+ }
453
+ this.addFiles(files);
454
+ }
455
+ handleDragOver(ev) {
456
+ ev.preventDefault();
457
+ if (this.disabled)
458
+ return;
459
+ this.dragActive = true;
460
+ }
461
+ handleDragLeave(ev) {
462
+ ev.preventDefault();
463
+ this.dragActive = false;
464
+ }
465
+ openFileDialog = () => {
466
+ if (this.disabled)
467
+ return;
468
+ this.fileInput?.click();
469
+ };
470
+ formResetCallback() {
471
+ this.files = [];
472
+ this.maxSizeError = false;
473
+ this.typeError = false;
474
+ this.maxFileCountError = false;
475
+ if (this.uploadTimer) {
476
+ window.clearInterval(this.uploadTimer);
477
+ this.uploadTimer = undefined;
478
+ }
479
+ this.updateFormValueAndValidity();
480
+ this.emitChange();
481
+ }
482
+ /**
483
+ * When the browser or user calls element.focus(),
484
+ * move focus to the upload zone.
485
+ */
486
+ focus(options) {
487
+ this.uploadZoneRef?.focus(options);
488
+ }
489
+ handleFocus = (event) => {
490
+ this.bcmFocus.emit(event);
491
+ };
492
+ handleBlur = (event) => {
493
+ this.bcmBlur.emit(event);
494
+ };
495
+ renderErrors() {
496
+ if (!this.maxSizeError && !this.typeError && !this.maxFileCountError) {
497
+ return null;
498
+ }
499
+ const acceptedFormats = this.accept
500
+ .replace(/\./g, '')
501
+ .toUpperCase()
502
+ .replace(/,/g, ', ');
503
+ const maxSizeMsg = this.customErrorMessages?.maxSize ||
504
+ 'File size exceeds the maximum allowed limit.';
505
+ const typeMsg = this.customErrorMessages?.type ||
506
+ `Unsupported file type. Allowed formats: ${acceptedFormats}`;
507
+ const maxFileCountMsg = this.customErrorMessages?.maxFileCount ||
508
+ 'You have reached the maximum number of files.';
509
+ return (h("div", { class: "w-full space-y-1" }, this.maxSizeError && (h("bcm-alert", { status: "error", size: "small", dismissible: true, onBcmDismiss: () => (this.maxSizeError = false) }, maxSizeMsg)), this.typeError && (h("bcm-alert", { status: "error", size: "small", dismissible: true, onBcmDismiss: () => (this.typeError = false) }, typeMsg)), this.maxFileCountError && (h("bcm-alert", { status: "error", size: "small", dismissible: true, onBcmDismiss: () => (this.maxFileCountError = false) }, maxFileCountMsg))));
510
+ }
511
+ renderUploadZone() {
512
+ const classes = uploadClasses({ size: this.size, disabled: this.disabled });
513
+ const { zone, zoneActive, iconContainer, iconSizeClass, zoneTextWrapper, zoneTextMain, zoneTextSub, zoneLink, } = classes;
514
+ const zoneClasses = [zone(), this.dragActive && zoneActive()]
515
+ .filter(Boolean)
516
+ .join(' ');
517
+ const maxMb = Math.round(this.internalMaxSizeInBytes / (1024 * 1024));
518
+ const iconColorClass = this.dragActive
519
+ ? 'text-color-primary'
520
+ : 'text-color-icon-default';
521
+ return (h("div", { ref: el => (this.uploadZoneRef = el), tabindex: this.disabled ? undefined : 0, part: "upload-zone", class: zoneClasses, onClick: this.openFileDialog, onFocus: this.handleFocus, onBlur: this.handleBlur, onDragOver: ev => this.handleDragOver(ev), onDragLeave: ev => this.handleDragLeave(ev), onDrop: ev => this.handleDrop(ev) }, h("div", { class: iconContainer() }, h("bcm-icon", { name: "fa-solid fa-cloud-arrow-up", class: `${iconColorClass} ${iconSizeClass()}` })), h("div", { class: zoneTextWrapper() }, h("div", { class: zoneTextMain() }, "Drag & Drop", ' ', h("span", { class: "text-color-helper" }, "or "), h("a", { class: zoneLink(), onClick: e => {
522
+ e.preventDefault();
523
+ this.openFileDialog();
524
+ } }, "Choose File")), h("div", { class: zoneTextSub() }, "Max: ", maxMb, "MB Formats:", ' ', this.accept.replace(/\./g, '').toUpperCase().replace(/,/g, ', '))), h("input", { ref: el => (this.fileInput = el), type: "file", hidden: true, accept: this.accept, multiple: this.multiple, disabled: this.disabled, onChange: this.onFileInputChange })));
525
+ }
526
+ renderFileRow(item) {
527
+ const { percent, actions, iconBtn, fileRow, fileTitle } = uploadClasses({
528
+ size: this.size,
529
+ disabled: this.disabled,
530
+ });
531
+ const isUploading = item?.status === 'uploading';
532
+ return (h("div", { part: "file-row", class: fileRow(), title: item?.file?.name }, h("div", { class: "flex items-center justify-between w-full gap-2 min-w-0" }, h("div", { class: "flex items-center gap-1.5 min-w-0 flex-1 flex-shrink" }, h("div", { class: "flex items-center rounded bg-color-default shrink-0 text-size-3 text-color-caption" }, h("bcm-icon", { name: "fa-regular fa-file" })), h("span", { class: fileTitle() + ' truncate' }, item?.file?.name)), h("div", { class: actions() + ' flex-shrink-0' }, item.status === 'uploaded' && (h(Fragment, null, h("button", { type: "button", part: "download-btn", class: iconBtn(), onClick: () => this.downloadFile(item.file), title: "Download" }, h("bcm-icon", { name: "fa-regular fa-download", class: "text-size-4" })), h("button", { type: "button", part: "remove-btn", class: iconBtn(), onClick: () => this.removeFile(item), title: "Remove" }, h("bcm-icon", { name: "fa-regular fa-trash", class: "text-size-4" })))), isUploading && (h("button", { type: "button", part: "cancel-btn", class: 'text-color-default bg-transparent hover:bg-color-default-hover text-size-4 cursor-pointer flex items-center justify-center size-5 rounded-full border-none', onClick: () => this.cancelUpload(item), title: "Cancel" }, h("bcm-icon", { name: "fa-regular fa-xmark", class: "text-size-4" }))))), isUploading && (h("div", { class: "flex items-center gap-3 w-full min-w-0" }, h("div", { class: "h-1.5 flex-1 rounded-full bg-color-surface-default overflow-hidden" }, h("div", { class: "h-full bg-color-primary rounded-full transition-all duration-300 ease-out", style: { width: `${item.progress ?? 0}%` } })), h("span", { class: percent() }, item.progress ?? 0, "%")))));
533
+ }
534
+ render() {
535
+ const { container, label, list, caption } = uploadClasses({
536
+ size: this.size,
537
+ disabled: this.disabled,
538
+ });
539
+ return (h(Host, { key: '55e97908c7f1e8050231e1996086232e577c6f7f', tabindex: "-1" }, h("div", { key: '1a4ec527f4238923e8c1bba953c1eca16692b5ee', class: container() }, this.label && (h("label", { key: '07af6d58fbf4c3e97e9d2278173419ec024694ed', part: "label", class: label() }, this.label)), this.renderUploadZone(), this.renderErrors(), this.files.length > 0 && (h("div", { key: '17689bdd0cd4f7d060f35b616700fdf4ce8a0a70', part: "file-list", class: list() }, this.files.map(item => this.renderFileRow(item)))), this.caption && (h("span", { key: '89a5f04f9becb9af49040534e1e063c8adf9bfd6', part: "caption", class: caption() }, this.caption)))));
540
+ }
541
+ static get formAssociated() { return true; }
542
+ static get watchers() { return {
543
+ "maxSize": ["handleMaxSizeChange"]
544
+ }; }
545
+ static get style() { return fileUploadCss; }
546
+ }, [321, "bcm-file-upload", {
547
+ "name": [1],
548
+ "label": [1],
549
+ "caption": [1],
550
+ "multiple": [4],
551
+ "accept": [1],
552
+ "maxSize": [1026, "max-size"],
553
+ "required": [4],
554
+ "disabled": [4],
555
+ "size": [1],
556
+ "uploadUrl": [1, "upload-url"],
557
+ "maxFileCount": [2, "max-file-count"],
558
+ "customErrorMessages": [16],
559
+ "files": [32],
560
+ "dragActive": [32],
561
+ "maxSizeError": [32],
562
+ "typeError": [32],
563
+ "maxFileCountError": [32]
564
+ }, undefined, {
565
+ "maxSize": ["handleMaxSizeChange"]
566
+ }]);
567
+ function defineCustomElement$1() {
568
+ if (typeof customElements === "undefined") {
569
+ return;
570
+ }
571
+ const components = ["bcm-file-upload", "bcm-alert"];
572
+ components.forEach(tagName => { switch (tagName) {
573
+ case "bcm-file-upload":
574
+ if (!customElements.get(tagName)) {
575
+ customElements.define(tagName, BcmFileUpload$1);
576
+ }
577
+ break;
578
+ case "bcm-alert":
579
+ if (!customElements.get(tagName)) {
580
+ defineCustomElement$2();
581
+ }
582
+ break;
583
+ } });
584
+ }
585
+ defineCustomElement$1();
586
+
587
+ const BcmFileUpload = BcmFileUpload$1;
588
+ const defineCustomElement = defineCustomElement$1;
589
+
590
+ export { BcmFileUpload, defineCustomElement };
591
+ //# sourceMappingURL=bcm-file-upload.js.map
592
+
593
+ //# sourceMappingURL=bcm-file-upload.js.map