bromcom-ui-next 0.1.29 → 0.1.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/dist/bromcom-ui/bcm-accordion-group.entry.esm.js.map +1 -1
  2. package/dist/bromcom-ui/bcm-accordion.entry.esm.js.map +1 -1
  3. package/dist/bromcom-ui/bcm-alert.entry.esm.js.map +1 -1
  4. package/dist/bromcom-ui/bcm-avatar.entry.esm.js.map +1 -1
  5. package/dist/bromcom-ui/bcm-badge.entry.esm.js.map +1 -1
  6. package/dist/bromcom-ui/bcm-basic-badge.entry.esm.js.map +1 -1
  7. package/dist/bromcom-ui/bcm-button-group.entry.esm.js.map +1 -1
  8. package/dist/bromcom-ui/bcm-button.entry.esm.js.map +1 -0
  9. package/dist/bromcom-ui/bcm-checkbox.entry.esm.js.map +1 -1
  10. package/dist/bromcom-ui/bcm-chip.entry.esm.js.map +1 -1
  11. package/dist/bromcom-ui/bcm-divider.entry.esm.js.map +1 -1
  12. package/dist/bromcom-ui/bcm-drawer.entry.esm.js.map +1 -0
  13. package/dist/bromcom-ui/bcm-dropdown-item.entry.esm.js.map +1 -1
  14. package/dist/bromcom-ui/bcm-dropdown.entry.esm.js.map +1 -1
  15. package/dist/bromcom-ui/bcm-file-upload.entry.esm.js.map +1 -0
  16. package/dist/bromcom-ui/bcm-input.entry.esm.js.map +1 -1
  17. package/dist/bromcom-ui/bcm-linked.entry.esm.js.map +1 -1
  18. package/dist/bromcom-ui/bcm-modal.entry.esm.js.map +1 -0
  19. package/dist/bromcom-ui/bcm-pop-confirm.entry.esm.js.map +1 -1
  20. package/dist/bromcom-ui/bcm-popover.entry.esm.js.map +1 -1
  21. package/dist/bromcom-ui/bcm-radio-group.entry.esm.js.map +1 -1
  22. package/dist/bromcom-ui/bcm-radio.entry.esm.js.map +1 -1
  23. package/dist/bromcom-ui/bcm-segment.bcm-segmented-picker.entry.esm.js.map +1 -0
  24. package/dist/bromcom-ui/bcm-shortcut.entry.esm.js.map +1 -1
  25. package/dist/bromcom-ui/bcm-switch.entry.esm.js.map +1 -1
  26. package/dist/bromcom-ui/bcm-tab.entry.esm.js.map +1 -0
  27. package/dist/bromcom-ui/bcm-tabs.entry.esm.js.map +1 -1
  28. package/dist/bromcom-ui/bcm-text.entry.esm.js.map +1 -1
  29. package/dist/bromcom-ui/bcm-textarea.entry.esm.js.map +1 -1
  30. package/dist/bromcom-ui/bcm-tooltip.entry.esm.js.map +1 -1
  31. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  32. package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
  33. package/dist/bromcom-ui/global/global.js +33 -30
  34. package/dist/bromcom-ui/p-010219cf.entry.js +2 -0
  35. package/dist/bromcom-ui/p-010219cf.entry.js.map +1 -0
  36. package/dist/bromcom-ui/p-01a4e00b.entry.js +2 -0
  37. package/dist/bromcom-ui/p-01a4e00b.entry.js.map +1 -0
  38. package/dist/bromcom-ui/p-14c63d61.entry.js +2 -0
  39. package/dist/bromcom-ui/p-14c63d61.entry.js.map +1 -0
  40. package/dist/bromcom-ui/p-20a94dec.entry.js +2 -0
  41. package/dist/bromcom-ui/p-20a94dec.entry.js.map +1 -0
  42. package/dist/bromcom-ui/p-398620c2.entry.js +2 -0
  43. package/dist/bromcom-ui/p-398620c2.entry.js.map +1 -0
  44. package/dist/bromcom-ui/p-3b898f90.entry.js +2 -0
  45. package/dist/bromcom-ui/p-3b898f90.entry.js.map +1 -0
  46. package/dist/bromcom-ui/p-43c85c84.entry.js +2 -0
  47. package/dist/bromcom-ui/p-43c85c84.entry.js.map +1 -0
  48. package/dist/bromcom-ui/p-4e6661a5.entry.js +2 -0
  49. package/dist/bromcom-ui/p-4e6661a5.entry.js.map +1 -0
  50. package/dist/bromcom-ui/p-52bb0cdc.entry.js +2 -0
  51. package/dist/bromcom-ui/p-52bb0cdc.entry.js.map +1 -0
  52. package/dist/bromcom-ui/p-61c1c1c8.entry.js +2 -0
  53. package/dist/bromcom-ui/p-61c1c1c8.entry.js.map +1 -0
  54. package/dist/bromcom-ui/p-82e4c5f2.entry.js +2 -0
  55. package/dist/bromcom-ui/p-82e4c5f2.entry.js.map +1 -0
  56. package/dist/bromcom-ui/p-86f85963.entry.js +2 -0
  57. package/dist/bromcom-ui/p-86f85963.entry.js.map +1 -0
  58. package/dist/bromcom-ui/p-9249c1d1.entry.js +2 -0
  59. package/dist/bromcom-ui/p-9249c1d1.entry.js.map +1 -0
  60. package/dist/bromcom-ui/p-B6Ppbs5O.js +3 -0
  61. package/dist/bromcom-ui/p-B6Ppbs5O.js.map +1 -0
  62. package/dist/bromcom-ui/p-BfTCfPZ1.js.map +1 -1
  63. package/dist/bromcom-ui/p-CEcVC0yX.js.map +1 -1
  64. package/dist/bromcom-ui/p-DBDSgIvP.js +2 -0
  65. package/dist/bromcom-ui/p-DBDSgIvP.js.map +1 -0
  66. package/dist/bromcom-ui/p-DaE0ZLar.js +2 -0
  67. package/dist/bromcom-ui/p-DaE0ZLar.js.map +1 -0
  68. package/dist/bromcom-ui/p-IBjzkjef.js.map +1 -1
  69. package/dist/bromcom-ui/p-a25d1cef.entry.js +2 -0
  70. package/dist/bromcom-ui/p-a25d1cef.entry.js.map +1 -0
  71. package/dist/bromcom-ui/p-a4cb2e79.entry.js +2 -0
  72. package/dist/bromcom-ui/p-a4cb2e79.entry.js.map +1 -0
  73. package/dist/bromcom-ui/p-a68925b4.entry.js +2 -0
  74. package/dist/bromcom-ui/p-a68925b4.entry.js.map +1 -0
  75. package/dist/bromcom-ui/p-a750186c.entry.js +2 -0
  76. package/dist/bromcom-ui/p-a750186c.entry.js.map +1 -0
  77. package/dist/bromcom-ui/p-ac768b56.entry.js +2 -0
  78. package/dist/bromcom-ui/p-ac768b56.entry.js.map +1 -0
  79. package/dist/bromcom-ui/p-b0b193e6.entry.js +2 -0
  80. package/dist/bromcom-ui/p-b0b193e6.entry.js.map +1 -0
  81. package/dist/bromcom-ui/p-bf4409ca.entry.js +2 -0
  82. package/dist/bromcom-ui/p-bf4409ca.entry.js.map +1 -0
  83. package/dist/bromcom-ui/p-c57fb29b.entry.js +2 -0
  84. package/dist/bromcom-ui/p-c57fb29b.entry.js.map +1 -0
  85. package/dist/bromcom-ui/{p-2480e468.entry.js → p-ccc310aa.entry.js} +2 -2
  86. package/dist/bromcom-ui/p-ccc310aa.entry.js.map +1 -0
  87. package/dist/bromcom-ui/p-d4ee962d.entry.js +2 -0
  88. package/dist/bromcom-ui/p-d4ee962d.entry.js.map +1 -0
  89. package/dist/bromcom-ui/p-e25a2f7a.entry.js +2 -0
  90. package/dist/bromcom-ui/p-e25a2f7a.entry.js.map +1 -0
  91. package/dist/bromcom-ui/p-e5b0b2ad.entry.js +2 -0
  92. package/dist/bromcom-ui/p-e5b0b2ad.entry.js.map +1 -0
  93. package/dist/bromcom-ui/p-e70d784d.entry.js +2 -0
  94. package/dist/bromcom-ui/p-e70d784d.entry.js.map +1 -0
  95. package/dist/bromcom-ui/p-e9fa3a22.entry.js +2 -0
  96. package/dist/bromcom-ui/p-e9fa3a22.entry.js.map +1 -0
  97. package/dist/bromcom-ui/p-ef281184.entry.js +2 -0
  98. package/dist/bromcom-ui/p-ef281184.entry.js.map +1 -0
  99. package/dist/bromcom-ui/{p-089edfdc.entry.js → p-fb6f616c.entry.js} +2 -2
  100. package/dist/bromcom-ui/p-fb6f616c.entry.js.map +1 -0
  101. package/dist/bromcom-ui/p-fd31c70c.entry.js +2 -0
  102. package/dist/bromcom-ui/p-fd31c70c.entry.js.map +1 -0
  103. package/dist/bromcom-ui/p-nf_HKsGq.js +2 -0
  104. package/dist/bromcom-ui/{p-CUvT12BL.js.map → p-nf_HKsGq.js.map} +1 -1
  105. package/dist/cjs/base-choice-control-EmA4JRjR.js +54 -0
  106. package/dist/cjs/base-choice-control-EmA4JRjR.js.map +1 -0
  107. package/dist/cjs/bcm-accordion-group.cjs.entry.js +21 -21
  108. package/dist/cjs/bcm-accordion-group.entry.cjs.js.map +1 -1
  109. package/dist/cjs/bcm-accordion.cjs.entry.js +75 -60
  110. package/dist/cjs/bcm-accordion.entry.cjs.js.map +1 -1
  111. package/dist/cjs/bcm-alert.cjs.entry.js +21 -23
  112. package/dist/cjs/bcm-alert.entry.cjs.js.map +1 -1
  113. package/dist/cjs/bcm-avatar.cjs.entry.js +22 -14
  114. package/dist/cjs/bcm-avatar.entry.cjs.js.map +1 -1
  115. package/dist/cjs/bcm-badge.cjs.entry.js +114 -84
  116. package/dist/cjs/bcm-badge.entry.cjs.js.map +1 -1
  117. package/dist/cjs/bcm-basic-badge.cjs.entry.js +73 -61
  118. package/dist/cjs/bcm-basic-badge.entry.cjs.js.map +1 -1
  119. package/dist/cjs/bcm-button-group.cjs.entry.js +36 -26
  120. package/dist/cjs/bcm-button-group.entry.cjs.js.map +1 -1
  121. package/dist/cjs/bcm-button.cjs.entry.js +338 -0
  122. package/dist/cjs/bcm-button.entry.cjs.js.map +1 -0
  123. package/dist/cjs/bcm-checkbox.cjs.entry.js +284 -176
  124. package/dist/cjs/bcm-checkbox.entry.cjs.js.map +1 -1
  125. package/dist/cjs/bcm-chip.cjs.entry.js +38 -37
  126. package/dist/cjs/bcm-chip.entry.cjs.js.map +1 -1
  127. package/dist/cjs/bcm-divider.cjs.entry.js +56 -58
  128. package/dist/cjs/bcm-divider.entry.cjs.js.map +1 -1
  129. package/dist/cjs/bcm-drawer.cjs.entry.js +332 -0
  130. package/dist/cjs/bcm-drawer.entry.cjs.js.map +1 -0
  131. package/dist/cjs/bcm-dropdown-item.cjs.entry.js +36 -35
  132. package/dist/cjs/bcm-dropdown-item.entry.cjs.js.map +1 -1
  133. package/dist/cjs/bcm-dropdown.cjs.entry.js +17 -26
  134. package/dist/cjs/bcm-dropdown.entry.cjs.js.map +1 -1
  135. package/dist/cjs/bcm-file-upload.cjs.entry.js +552 -0
  136. package/dist/cjs/bcm-file-upload.entry.cjs.js.map +1 -0
  137. package/dist/cjs/bcm-input.cjs.entry.js +250 -160
  138. package/dist/cjs/bcm-input.entry.cjs.js.map +1 -1
  139. package/dist/cjs/bcm-linked.cjs.entry.js +373 -264
  140. package/dist/cjs/bcm-linked.entry.cjs.js.map +1 -1
  141. package/dist/cjs/bcm-modal.cjs.entry.js +360 -0
  142. package/dist/cjs/bcm-modal.entry.cjs.js.map +1 -0
  143. package/dist/cjs/bcm-pop-confirm.cjs.entry.js +337 -206
  144. package/dist/cjs/bcm-pop-confirm.entry.cjs.js.map +1 -1
  145. package/dist/cjs/bcm-popover.cjs.entry.js +416 -154
  146. package/dist/cjs/bcm-popover.entry.cjs.js.map +1 -1
  147. package/dist/cjs/bcm-radio-group.cjs.entry.js +103 -82
  148. package/dist/cjs/bcm-radio-group.entry.cjs.js.map +1 -1
  149. package/dist/cjs/bcm-radio.cjs.entry.js +239 -108
  150. package/dist/cjs/bcm-radio.entry.cjs.js.map +1 -1
  151. package/dist/cjs/bcm-segment.bcm-segmented-picker.entry.cjs.js.map +1 -0
  152. package/dist/cjs/bcm-segment_2.cjs.entry.js +335 -0
  153. package/dist/cjs/bcm-shortcut.cjs.entry.js +5 -6
  154. package/dist/cjs/bcm-shortcut.entry.cjs.js.map +1 -1
  155. package/dist/cjs/bcm-switch.cjs.entry.js +281 -150
  156. package/dist/cjs/bcm-switch.entry.cjs.js.map +1 -1
  157. package/dist/cjs/bcm-tab.cjs.entry.js +44 -0
  158. package/dist/cjs/bcm-tab.entry.cjs.js.map +1 -0
  159. package/dist/cjs/bcm-tabs.cjs.entry.js +191 -239
  160. package/dist/cjs/bcm-tabs.entry.cjs.js.map +1 -1
  161. package/dist/cjs/bcm-text.cjs.entry.js +86 -87
  162. package/dist/cjs/bcm-text.entry.cjs.js.map +1 -1
  163. package/dist/cjs/bcm-textarea.cjs.entry.js +224 -156
  164. package/dist/cjs/bcm-textarea.entry.cjs.js.map +1 -1
  165. package/dist/cjs/bcm-tooltip.cjs.entry.js +386 -152
  166. package/dist/cjs/bcm-tooltip.entry.cjs.js.map +1 -1
  167. package/dist/cjs/bromcom-ui.cjs.js +3 -5
  168. package/dist/cjs/bromcom-ui.cjs.js.map +1 -1
  169. package/dist/cjs/{floating-ui.dom-DyKmFgkP.js → floating-ui.dom-S9nP6zZt.js} +40 -23
  170. package/dist/cjs/floating-ui.dom-S9nP6zZt.js.map +1 -0
  171. package/dist/cjs/generate-id-CG_BkTJu.js.map +1 -1
  172. package/dist/cjs/{index-BtiU-G2W.js → index-1Qal-onT.js} +165 -398
  173. package/dist/cjs/index-1Qal-onT.js.map +1 -0
  174. package/dist/cjs/index-Bp6Dd2i1.js.map +1 -1
  175. package/dist/cjs/index.cjs.js +0 -2
  176. package/dist/cjs/loader.cjs.js +2 -4
  177. package/dist/cjs/tv-ngpIbGlG.js.map +1 -1
  178. package/dist/cjs/{validation-messages-BjfpSEWk.js → validation-messages-DieKlSG4.js} +6 -7
  179. package/dist/{esm/validation-messages-CUvT12BL.js.map → cjs/validation-messages-DieKlSG4.js.map} +1 -1
  180. package/dist/collection/collection-manifest.json +7 -8
  181. package/dist/collection/components/_shared/form/base-choice-control.js +90 -0
  182. package/dist/collection/components/_shared/form/base-choice-control.js.map +1 -0
  183. package/dist/collection/components/_shared/form/base-form-control.js +115 -0
  184. package/dist/collection/components/_shared/form/base-form-control.js.map +1 -0
  185. package/dist/collection/components/accordion/accordion.component.js +80 -63
  186. package/dist/collection/components/accordion/accordion.component.js.map +1 -1
  187. package/dist/collection/components/accordion/accordion.css +1 -1
  188. package/dist/collection/components/accordion-group/accordion-group.component.js +23 -21
  189. package/dist/collection/components/accordion-group/accordion-group.component.js.map +1 -1
  190. package/dist/collection/components/accordion-group/types.js.map +1 -1
  191. package/dist/collection/components/alert/alert.component.js +24 -26
  192. package/dist/collection/components/alert/alert.component.js.map +1 -1
  193. package/dist/collection/components/alert/alert.css +1 -1
  194. package/dist/collection/components/avatar/avatar.component.js +34 -26
  195. package/dist/collection/components/avatar/avatar.component.js.map +1 -1
  196. package/dist/collection/components/avatar/avatar.css +1 -1
  197. package/dist/collection/components/badge/badge.component.js +124 -94
  198. package/dist/collection/components/badge/badge.component.js.map +1 -1
  199. package/dist/collection/components/badge/badge.css +1 -1
  200. package/dist/collection/components/basic-badge/basic-badge.component.js +77 -65
  201. package/dist/collection/components/basic-badge/basic-badge.component.js.map +1 -1
  202. package/dist/collection/components/basic-badge/basic-badge.css +1 -1
  203. package/dist/collection/components/button/button.component.js +135 -114
  204. package/dist/collection/components/button/button.component.js.map +1 -1
  205. package/dist/collection/components/button/button.css +1 -1
  206. package/dist/collection/components/button-group/button-group.component.js +47 -36
  207. package/dist/collection/components/button-group/button-group.component.js.map +1 -1
  208. package/dist/collection/components/button-group/button-group.css +1 -1
  209. package/dist/collection/components/checkbox/checkbox.component.js +362 -243
  210. package/dist/collection/components/checkbox/checkbox.component.js.map +1 -1
  211. package/dist/collection/components/checkbox/checkbox.css +1 -1
  212. package/dist/collection/components/chip/chip.component.js +42 -41
  213. package/dist/collection/components/chip/chip.component.js.map +1 -1
  214. package/dist/collection/components/chip/chip.css +1 -1
  215. package/dist/collection/components/divider/divider.component.js +56 -58
  216. package/dist/collection/components/divider/divider.component.js.map +1 -1
  217. package/dist/collection/components/divider/divider.css +1 -1
  218. package/dist/collection/components/drawer/drawer.component.js +476 -155
  219. package/dist/collection/components/drawer/drawer.component.js.map +1 -1
  220. package/dist/collection/components/drawer/drawer.css +1 -1
  221. package/dist/collection/components/drawer/types.js.map +1 -1
  222. package/dist/collection/components/dropdown/dropdown.component.js +18 -27
  223. package/dist/collection/components/dropdown/dropdown.component.js.map +1 -1
  224. package/dist/collection/components/dropdown-item/dropdown-item.component.js +41 -40
  225. package/dist/collection/components/dropdown-item/dropdown-item.component.js.map +1 -1
  226. package/dist/collection/components/dropdown-item/dropdown-item.css +1 -1
  227. package/dist/collection/components/input/input.component.js +283 -198
  228. package/dist/collection/components/input/input.component.js.map +1 -1
  229. package/dist/collection/components/linked/linked.component.js +551 -355
  230. package/dist/collection/components/linked/linked.component.js.map +1 -1
  231. package/dist/collection/components/linked/linked.css +1 -1
  232. package/dist/collection/components/modal/modal.component.js +276 -149
  233. package/dist/collection/components/modal/modal.component.js.map +1 -1
  234. package/dist/collection/components/modal/modal.css +1 -1
  235. package/dist/collection/components/pop-confirm/pop-confirm.component.js +745 -340
  236. package/dist/collection/components/pop-confirm/pop-confirm.component.js.map +1 -1
  237. package/dist/collection/components/pop-confirm/pop-confirm.css +1 -1
  238. package/dist/collection/components/popover/popover.component.js +609 -196
  239. package/dist/collection/components/popover/popover.component.js.map +1 -1
  240. package/dist/collection/components/popover/popover.css +1 -1
  241. package/dist/collection/components/radio/radio.component.js +294 -118
  242. package/dist/collection/components/radio/radio.component.js.map +1 -1
  243. package/dist/collection/components/radio-group/radio-group.component.js +115 -93
  244. package/dist/collection/components/radio-group/radio-group.component.js.map +1 -1
  245. package/dist/collection/components/segmented-picker/segment.component.js +228 -0
  246. package/dist/collection/components/segmented-picker/segment.component.js.map +1 -0
  247. package/dist/collection/components/segmented-picker/segment.css +1 -0
  248. package/dist/collection/components/segmented-picker/segmented-picker.component.js +357 -142
  249. package/dist/collection/components/segmented-picker/segmented-picker.component.js.map +1 -1
  250. package/dist/collection/components/segmented-picker/segmented-picker.css +1 -1
  251. package/dist/collection/components/shortcut/shortcut.js +7 -8
  252. package/dist/collection/components/shortcut/shortcut.js.map +1 -1
  253. package/dist/collection/components/switch/switch.component.js +357 -287
  254. package/dist/collection/components/switch/switch.component.js.map +1 -1
  255. package/dist/collection/components/switch/switch.css +1 -1
  256. package/dist/collection/components/tabs/bcm-tab.css +1 -0
  257. package/dist/collection/components/tabs/bcm-tabs.css +1 -1
  258. package/dist/collection/components/tabs/tab.component.js +169 -0
  259. package/dist/collection/components/tabs/tab.component.js.map +1 -0
  260. package/dist/collection/components/tabs/tabs.component.js +224 -355
  261. package/dist/collection/components/tabs/tabs.component.js.map +1 -1
  262. package/dist/collection/components/text/text.component.js +90 -91
  263. package/dist/collection/components/text/text.component.js.map +1 -1
  264. package/dist/collection/components/textarea/textarea.component.js +252 -190
  265. package/dist/collection/components/textarea/textarea.component.js.map +1 -1
  266. package/dist/collection/components/tooltip/tooltip.component.js +605 -220
  267. package/dist/collection/components/tooltip/tooltip.component.js.map +1 -1
  268. package/dist/collection/components/tooltip/tooltip.css +1 -1
  269. package/dist/collection/components/upload/file-upload.component.js +905 -0
  270. package/dist/collection/components/upload/file-upload.component.js.map +1 -0
  271. package/dist/collection/components/upload/file-upload.css +1 -0
  272. package/dist/collection/global/global.js +33 -30
  273. package/dist/collection/utils/i18n.js +3 -4
  274. package/dist/collection/utils/i18n.js.map +1 -1
  275. package/dist/collection/utils/slot/check-slot-content.js +1 -2
  276. package/dist/collection/utils/slot/check-slot-content.js.map +1 -1
  277. package/dist/collection/utils/validation-messages.js +1 -1
  278. package/dist/collection/utils/validation-messages.js.map +1 -1
  279. package/dist/components/bcm-accordion-group.js +24 -20
  280. package/dist/components/bcm-accordion-group.js.map +1 -1
  281. package/dist/components/bcm-accordion.js +78 -59
  282. package/dist/components/bcm-accordion.js.map +1 -1
  283. package/dist/components/bcm-alert.js +1 -112
  284. package/dist/components/bcm-alert.js.map +1 -1
  285. package/dist/components/bcm-avatar.js +26 -14
  286. package/dist/components/bcm-avatar.js.map +1 -1
  287. package/dist/components/bcm-badge.js +1 -1
  288. package/dist/components/bcm-basic-badge.js +76 -60
  289. package/dist/components/bcm-basic-badge.js.map +1 -1
  290. package/dist/components/bcm-button-group.js +39 -25
  291. package/dist/components/bcm-button-group.js.map +1 -1
  292. package/dist/components/bcm-button.js +1 -1
  293. package/dist/components/bcm-checkbox.js +300 -186
  294. package/dist/components/bcm-checkbox.js.map +1 -1
  295. package/dist/components/bcm-chip.js +41 -36
  296. package/dist/components/bcm-chip.js.map +1 -1
  297. package/dist/components/bcm-divider.js +59 -57
  298. package/dist/components/bcm-divider.js.map +1 -1
  299. package/dist/components/bcm-drawer.js +276 -138
  300. package/dist/components/bcm-drawer.js.map +1 -1
  301. package/dist/components/bcm-dropdown-item.js +40 -35
  302. package/dist/components/bcm-dropdown-item.js.map +1 -1
  303. package/dist/components/bcm-dropdown.js +22 -28
  304. package/dist/components/bcm-dropdown.js.map +1 -1
  305. package/dist/components/{bcm-tabs-content.d.ts → bcm-file-upload.d.ts} +4 -4
  306. package/dist/components/bcm-file-upload.js +593 -0
  307. package/dist/components/bcm-file-upload.js.map +1 -0
  308. package/dist/components/bcm-input.js +248 -160
  309. package/dist/components/bcm-input.js.map +1 -1
  310. package/dist/components/bcm-linked.js +1 -1
  311. package/dist/components/bcm-modal.js +196 -119
  312. package/dist/components/bcm-modal.js.map +1 -1
  313. package/dist/components/bcm-pop-confirm.js +354 -215
  314. package/dist/components/bcm-pop-confirm.js.map +1 -1
  315. package/dist/components/bcm-popover.js +431 -157
  316. package/dist/components/bcm-popover.js.map +1 -1
  317. package/dist/components/bcm-radio-group.js +106 -81
  318. package/dist/components/bcm-radio-group.js.map +1 -1
  319. package/dist/components/bcm-radio.js +245 -110
  320. package/dist/components/bcm-radio.js.map +1 -1
  321. package/dist/components/{bcm-tabs-list.d.ts → bcm-segment.d.ts} +4 -4
  322. package/dist/components/bcm-segment.js +110 -0
  323. package/dist/components/bcm-segment.js.map +1 -0
  324. package/dist/components/bcm-segmented-picker.js +238 -117
  325. package/dist/components/bcm-segmented-picker.js.map +1 -1
  326. package/dist/components/bcm-shortcut.js +8 -5
  327. package/dist/components/bcm-shortcut.js.map +1 -1
  328. package/dist/components/bcm-switch.js +296 -158
  329. package/dist/components/bcm-switch.js.map +1 -1
  330. package/dist/components/{bcm-tabs-trigger.d.ts → bcm-tab.d.ts} +4 -4
  331. package/dist/components/bcm-tab.js +71 -0
  332. package/dist/components/bcm-tab.js.map +1 -0
  333. package/dist/components/bcm-tabs.js +200 -249
  334. package/dist/components/bcm-tabs.js.map +1 -1
  335. package/dist/components/bcm-text.js +89 -86
  336. package/dist/components/bcm-text.js.map +1 -1
  337. package/dist/components/bcm-textarea.js +222 -156
  338. package/dist/components/bcm-textarea.js.map +1 -1
  339. package/dist/components/bcm-tooltip.js +402 -154
  340. package/dist/components/bcm-tooltip.js.map +1 -1
  341. package/dist/components/index.js +140 -392
  342. package/dist/components/index.js.map +1 -1
  343. package/dist/components/p-5_TgtzQU.js +119 -0
  344. package/dist/components/p-5_TgtzQU.js.map +1 -0
  345. package/dist/components/p-BfTCfPZ1.js.map +1 -1
  346. package/dist/components/p-CEcVC0yX.js.map +1 -1
  347. package/dist/components/{p-CzcTU1ty.js → p-DBDSgIvP.js} +40 -23
  348. package/dist/components/p-DBDSgIvP.js.map +1 -0
  349. package/dist/components/p-IBjzkjef.js.map +1 -1
  350. package/dist/components/p-RlBWOSgL.js +179 -0
  351. package/dist/components/p-RlBWOSgL.js.map +1 -0
  352. package/dist/components/p-SERXqWcS.js +51 -0
  353. package/dist/components/p-SERXqWcS.js.map +1 -0
  354. package/dist/components/{p-CUvT12BL.js → p-nf_HKsGq.js} +6 -7
  355. package/dist/components/p-nf_HKsGq.js.map +1 -0
  356. package/dist/components/{p-DHONP_n4.js → p-xQIzBLsS.js} +112 -87
  357. package/dist/components/p-xQIzBLsS.js.map +1 -0
  358. package/dist/components/p-z9ESseGb.js +492 -0
  359. package/dist/components/p-z9ESseGb.js.map +1 -0
  360. package/dist/esm/base-choice-control-CKR8UdZ6.js +52 -0
  361. package/dist/esm/base-choice-control-CKR8UdZ6.js.map +1 -0
  362. package/dist/esm/bcm-accordion-group.entry.js +21 -21
  363. package/dist/esm/bcm-accordion-group.entry.js.map +1 -1
  364. package/dist/esm/bcm-accordion.entry.js +75 -60
  365. package/dist/esm/bcm-accordion.entry.js.map +1 -1
  366. package/dist/esm/bcm-alert.entry.js +21 -23
  367. package/dist/esm/bcm-alert.entry.js.map +1 -1
  368. package/dist/esm/bcm-avatar.entry.js +22 -14
  369. package/dist/esm/bcm-avatar.entry.js.map +1 -1
  370. package/dist/esm/bcm-badge.entry.js +114 -84
  371. package/dist/esm/bcm-badge.entry.js.map +1 -1
  372. package/dist/esm/bcm-basic-badge.entry.js +73 -61
  373. package/dist/esm/bcm-basic-badge.entry.js.map +1 -1
  374. package/dist/esm/bcm-button-group.entry.js +36 -26
  375. package/dist/esm/bcm-button-group.entry.js.map +1 -1
  376. package/dist/esm/bcm-button.entry.js +336 -0
  377. package/dist/esm/bcm-button.entry.js.map +1 -0
  378. package/dist/esm/bcm-checkbox.entry.js +284 -176
  379. package/dist/esm/bcm-checkbox.entry.js.map +1 -1
  380. package/dist/esm/bcm-chip.entry.js +38 -37
  381. package/dist/esm/bcm-chip.entry.js.map +1 -1
  382. package/dist/esm/bcm-divider.entry.js +56 -58
  383. package/dist/esm/bcm-divider.entry.js.map +1 -1
  384. package/dist/esm/bcm-drawer.entry.js +330 -0
  385. package/dist/esm/bcm-drawer.entry.js.map +1 -0
  386. package/dist/esm/bcm-dropdown-item.entry.js +36 -35
  387. package/dist/esm/bcm-dropdown-item.entry.js.map +1 -1
  388. package/dist/esm/bcm-dropdown.entry.js +17 -26
  389. package/dist/esm/bcm-dropdown.entry.js.map +1 -1
  390. package/dist/esm/bcm-file-upload.entry.js +550 -0
  391. package/dist/esm/bcm-file-upload.entry.js.map +1 -0
  392. package/dist/esm/bcm-input.entry.js +250 -160
  393. package/dist/esm/bcm-input.entry.js.map +1 -1
  394. package/dist/esm/bcm-linked.entry.js +373 -264
  395. package/dist/esm/bcm-linked.entry.js.map +1 -1
  396. package/dist/esm/bcm-modal.entry.js +358 -0
  397. package/dist/esm/bcm-modal.entry.js.map +1 -0
  398. package/dist/esm/bcm-pop-confirm.entry.js +337 -206
  399. package/dist/esm/bcm-pop-confirm.entry.js.map +1 -1
  400. package/dist/esm/bcm-popover.entry.js +416 -154
  401. package/dist/esm/bcm-popover.entry.js.map +1 -1
  402. package/dist/esm/bcm-radio-group.entry.js +103 -82
  403. package/dist/esm/bcm-radio-group.entry.js.map +1 -1
  404. package/dist/esm/bcm-radio.entry.js +239 -108
  405. package/dist/esm/bcm-radio.entry.js.map +1 -1
  406. package/dist/esm/bcm-segment.bcm-segmented-picker.entry.js.map +1 -0
  407. package/dist/esm/bcm-segment_2.entry.js +332 -0
  408. package/dist/esm/bcm-shortcut.entry.js +5 -6
  409. package/dist/esm/bcm-shortcut.entry.js.map +1 -1
  410. package/dist/esm/bcm-switch.entry.js +281 -150
  411. package/dist/esm/bcm-switch.entry.js.map +1 -1
  412. package/dist/esm/bcm-tab.entry.js +42 -0
  413. package/dist/esm/bcm-tab.entry.js.map +1 -0
  414. package/dist/esm/bcm-tabs.entry.js +191 -239
  415. package/dist/esm/bcm-tabs.entry.js.map +1 -1
  416. package/dist/esm/bcm-text.entry.js +86 -87
  417. package/dist/esm/bcm-text.entry.js.map +1 -1
  418. package/dist/esm/bcm-textarea.entry.js +224 -156
  419. package/dist/esm/bcm-textarea.entry.js.map +1 -1
  420. package/dist/esm/bcm-tooltip.entry.js +386 -152
  421. package/dist/esm/bcm-tooltip.entry.js.map +1 -1
  422. package/dist/esm/bromcom-ui.js +4 -6
  423. package/dist/esm/bromcom-ui.js.map +1 -1
  424. package/dist/esm/{floating-ui.dom-DxMLMJ3r.js → floating-ui.dom-DBDSgIvP.js} +41 -24
  425. package/dist/esm/floating-ui.dom-DBDSgIvP.js.map +1 -0
  426. package/dist/esm/generate-id-IBjzkjef.js.map +1 -1
  427. package/dist/esm/{index-BuuGCw0z.js → index-B6Ppbs5O.js} +165 -398
  428. package/dist/esm/index-B6Ppbs5O.js.map +1 -0
  429. package/dist/esm/index-BfTCfPZ1.js.map +1 -1
  430. package/dist/esm/index.js +0 -2
  431. package/dist/esm/loader.js +3 -5
  432. package/dist/esm/tv-CEcVC0yX.js.map +1 -1
  433. package/dist/esm/{validation-messages-CUvT12BL.js → validation-messages-nf_HKsGq.js} +6 -7
  434. package/dist/{cjs/validation-messages-BjfpSEWk.js.map → esm/validation-messages-nf_HKsGq.js.map} +1 -1
  435. package/dist/types/components/_shared/form/base-choice-control.d.ts +15 -0
  436. package/dist/types/components/_shared/form/base-form-control.d.ts +11 -0
  437. package/dist/types/components/accordion-group/types.d.ts +2 -2
  438. package/dist/types/components/checkbox/checkbox.component.d.ts +89 -71
  439. package/dist/types/components/drawer/drawer.component.d.ts +143 -3
  440. package/dist/types/components/drawer/types.d.ts +1 -1
  441. package/dist/types/components/dropdown/dropdown.component.d.ts +0 -3
  442. package/dist/types/components/input/input.component.d.ts +5 -0
  443. package/dist/types/components/linked/linked.component.d.ts +152 -36
  444. package/dist/types/components/modal/modal.component.d.ts +121 -0
  445. package/dist/types/components/pop-confirm/pop-confirm.component.d.ts +263 -143
  446. package/dist/types/components/popover/popover.component.d.ts +94 -39
  447. package/dist/types/components/radio/radio.component.d.ts +21 -0
  448. package/dist/types/components/segmented-picker/segment.component.d.ts +42 -0
  449. package/dist/types/components/segmented-picker/segmented-picker.component.d.ts +91 -24
  450. package/dist/types/components/switch/switch.component.d.ts +83 -43
  451. package/dist/types/components/tabs/tab.component.d.ts +33 -0
  452. package/dist/types/components/tabs/tabs.component.d.ts +51 -64
  453. package/dist/types/components/textarea/textarea.component.d.ts +5 -0
  454. package/dist/types/components/tooltip/tooltip.component.d.ts +147 -56
  455. package/dist/types/components/upload/file-upload.component.d.ts +107 -0
  456. package/dist/types/components.d.ts +2400 -742
  457. package/dist/types/stencil-public-runtime.d.ts +50 -3
  458. package/package.json +2 -2
  459. package/dist/bromcom-ui/bcm-button.bcm-drawer.bcm-modal.entry.esm.js.map +0 -1
  460. package/dist/bromcom-ui/bcm-segmented-picker-option.entry.esm.js.map +0 -1
  461. package/dist/bromcom-ui/bcm-segmented-picker.entry.esm.js.map +0 -1
  462. package/dist/bromcom-ui/bcm-tabs-content.entry.esm.js.map +0 -1
  463. package/dist/bromcom-ui/bcm-tabs-list.entry.esm.js.map +0 -1
  464. package/dist/bromcom-ui/bcm-tabs-trigger.entry.esm.js.map +0 -1
  465. package/dist/bromcom-ui/p-0101b4f2.entry.js +0 -2
  466. package/dist/bromcom-ui/p-0101b4f2.entry.js.map +0 -1
  467. package/dist/bromcom-ui/p-089edfdc.entry.js.map +0 -1
  468. package/dist/bromcom-ui/p-08bc93c5.entry.js +0 -2
  469. package/dist/bromcom-ui/p-08bc93c5.entry.js.map +0 -1
  470. package/dist/bromcom-ui/p-09be61c3.entry.js +0 -2
  471. package/dist/bromcom-ui/p-09be61c3.entry.js.map +0 -1
  472. package/dist/bromcom-ui/p-11851391.entry.js +0 -2
  473. package/dist/bromcom-ui/p-11851391.entry.js.map +0 -1
  474. package/dist/bromcom-ui/p-11f3e129.entry.js +0 -2
  475. package/dist/bromcom-ui/p-11f3e129.entry.js.map +0 -1
  476. package/dist/bromcom-ui/p-211ca6e0.entry.js +0 -2
  477. package/dist/bromcom-ui/p-211ca6e0.entry.js.map +0 -1
  478. package/dist/bromcom-ui/p-22edf049.entry.js +0 -2
  479. package/dist/bromcom-ui/p-22edf049.entry.js.map +0 -1
  480. package/dist/bromcom-ui/p-2480e468.entry.js.map +0 -1
  481. package/dist/bromcom-ui/p-26d2db9e.entry.js +0 -2
  482. package/dist/bromcom-ui/p-26d2db9e.entry.js.map +0 -1
  483. package/dist/bromcom-ui/p-2d0a6472.entry.js +0 -2
  484. package/dist/bromcom-ui/p-2d0a6472.entry.js.map +0 -1
  485. package/dist/bromcom-ui/p-360bff8a.entry.js +0 -2
  486. package/dist/bromcom-ui/p-360bff8a.entry.js.map +0 -1
  487. package/dist/bromcom-ui/p-488d6ef4.entry.js +0 -2
  488. package/dist/bromcom-ui/p-488d6ef4.entry.js.map +0 -1
  489. package/dist/bromcom-ui/p-5e0702d1.entry.js +0 -2
  490. package/dist/bromcom-ui/p-5e0702d1.entry.js.map +0 -1
  491. package/dist/bromcom-ui/p-63228f7e.entry.js +0 -2
  492. package/dist/bromcom-ui/p-63228f7e.entry.js.map +0 -1
  493. package/dist/bromcom-ui/p-6b585adc.entry.js +0 -2
  494. package/dist/bromcom-ui/p-6b585adc.entry.js.map +0 -1
  495. package/dist/bromcom-ui/p-6d7d73d5.entry.js +0 -2
  496. package/dist/bromcom-ui/p-6d7d73d5.entry.js.map +0 -1
  497. package/dist/bromcom-ui/p-7234af90.entry.js +0 -2
  498. package/dist/bromcom-ui/p-7234af90.entry.js.map +0 -1
  499. package/dist/bromcom-ui/p-83f64814.entry.js +0 -2
  500. package/dist/bromcom-ui/p-83f64814.entry.js.map +0 -1
  501. package/dist/bromcom-ui/p-8ace5a6a.entry.js +0 -2
  502. package/dist/bromcom-ui/p-8ace5a6a.entry.js.map +0 -1
  503. package/dist/bromcom-ui/p-8d74249a.entry.js +0 -2
  504. package/dist/bromcom-ui/p-8d74249a.entry.js.map +0 -1
  505. package/dist/bromcom-ui/p-BuuGCw0z.js +0 -3
  506. package/dist/bromcom-ui/p-BuuGCw0z.js.map +0 -1
  507. package/dist/bromcom-ui/p-CUvT12BL.js +0 -2
  508. package/dist/bromcom-ui/p-DxMLMJ3r.js +0 -2
  509. package/dist/bromcom-ui/p-DxMLMJ3r.js.map +0 -1
  510. package/dist/bromcom-ui/p-a88f20e0.entry.js +0 -2
  511. package/dist/bromcom-ui/p-a88f20e0.entry.js.map +0 -1
  512. package/dist/bromcom-ui/p-bad299f2.entry.js +0 -2
  513. package/dist/bromcom-ui/p-bad299f2.entry.js.map +0 -1
  514. package/dist/bromcom-ui/p-bdaf5653.entry.js +0 -2
  515. package/dist/bromcom-ui/p-bdaf5653.entry.js.map +0 -1
  516. package/dist/bromcom-ui/p-c0e7f9d6.entry.js +0 -2
  517. package/dist/bromcom-ui/p-c0e7f9d6.entry.js.map +0 -1
  518. package/dist/bromcom-ui/p-c34f0a66.entry.js +0 -2
  519. package/dist/bromcom-ui/p-c34f0a66.entry.js.map +0 -1
  520. package/dist/bromcom-ui/p-d7cea19f.entry.js +0 -2
  521. package/dist/bromcom-ui/p-d7cea19f.entry.js.map +0 -1
  522. package/dist/bromcom-ui/p-e5e0ac07.entry.js +0 -2
  523. package/dist/bromcom-ui/p-e5e0ac07.entry.js.map +0 -1
  524. package/dist/bromcom-ui/p-ee5f877f.entry.js +0 -2
  525. package/dist/bromcom-ui/p-ee5f877f.entry.js.map +0 -1
  526. package/dist/bromcom-ui/p-fbccbffc.entry.js +0 -2
  527. package/dist/bromcom-ui/p-fbccbffc.entry.js.map +0 -1
  528. package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +0 -1
  529. package/dist/cjs/bcm-accordion.cjs.entry.js.map +0 -1
  530. package/dist/cjs/bcm-alert.cjs.entry.js.map +0 -1
  531. package/dist/cjs/bcm-avatar.cjs.entry.js.map +0 -1
  532. package/dist/cjs/bcm-badge.cjs.entry.js.map +0 -1
  533. package/dist/cjs/bcm-basic-badge.cjs.entry.js.map +0 -1
  534. package/dist/cjs/bcm-button-group.cjs.entry.js.map +0 -1
  535. package/dist/cjs/bcm-button.bcm-drawer.bcm-modal.entry.cjs.js.map +0 -1
  536. package/dist/cjs/bcm-button_3.cjs.entry.js +0 -794
  537. package/dist/cjs/bcm-button_3.cjs.entry.js.map +0 -1
  538. package/dist/cjs/bcm-checkbox.cjs.entry.js.map +0 -1
  539. package/dist/cjs/bcm-chip.cjs.entry.js.map +0 -1
  540. package/dist/cjs/bcm-divider.cjs.entry.js.map +0 -1
  541. package/dist/cjs/bcm-dropdown-item.cjs.entry.js.map +0 -1
  542. package/dist/cjs/bcm-dropdown.cjs.entry.js.map +0 -1
  543. package/dist/cjs/bcm-input.cjs.entry.js.map +0 -1
  544. package/dist/cjs/bcm-linked.cjs.entry.js.map +0 -1
  545. package/dist/cjs/bcm-pop-confirm.cjs.entry.js.map +0 -1
  546. package/dist/cjs/bcm-popover.cjs.entry.js.map +0 -1
  547. package/dist/cjs/bcm-radio-group.cjs.entry.js.map +0 -1
  548. package/dist/cjs/bcm-radio.cjs.entry.js.map +0 -1
  549. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +0 -107
  550. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js.map +0 -1
  551. package/dist/cjs/bcm-segmented-picker-option.entry.cjs.js.map +0 -1
  552. package/dist/cjs/bcm-segmented-picker.cjs.entry.js +0 -144
  553. package/dist/cjs/bcm-segmented-picker.cjs.entry.js.map +0 -1
  554. package/dist/cjs/bcm-segmented-picker.entry.cjs.js.map +0 -1
  555. package/dist/cjs/bcm-shortcut.cjs.entry.js.map +0 -1
  556. package/dist/cjs/bcm-switch.cjs.entry.js.map +0 -1
  557. package/dist/cjs/bcm-tabs-content.cjs.entry.js +0 -20
  558. package/dist/cjs/bcm-tabs-content.cjs.entry.js.map +0 -1
  559. package/dist/cjs/bcm-tabs-content.entry.cjs.js.map +0 -1
  560. package/dist/cjs/bcm-tabs-list.cjs.entry.js +0 -84
  561. package/dist/cjs/bcm-tabs-list.cjs.entry.js.map +0 -1
  562. package/dist/cjs/bcm-tabs-list.entry.cjs.js.map +0 -1
  563. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +0 -122
  564. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +0 -1
  565. package/dist/cjs/bcm-tabs-trigger.entry.cjs.js.map +0 -1
  566. package/dist/cjs/bcm-tabs.cjs.entry.js.map +0 -1
  567. package/dist/cjs/bcm-text.cjs.entry.js.map +0 -1
  568. package/dist/cjs/bcm-textarea.cjs.entry.js.map +0 -1
  569. package/dist/cjs/bcm-tooltip.cjs.entry.js.map +0 -1
  570. package/dist/cjs/floating-ui.dom-DyKmFgkP.js.map +0 -1
  571. package/dist/cjs/index-BtiU-G2W.js.map +0 -1
  572. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +0 -253
  573. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js.map +0 -1
  574. package/dist/collection/components/segmented-picker/segmented-picker-option.css +0 -1
  575. package/dist/collection/components/tabs/tabs-content.component.js +0 -46
  576. package/dist/collection/components/tabs/tabs-content.component.js.map +0 -1
  577. package/dist/collection/components/tabs/tabs-content.css +0 -1
  578. package/dist/collection/components/tabs/tabs-list.component.js +0 -133
  579. package/dist/collection/components/tabs/tabs-list.component.js.map +0 -1
  580. package/dist/collection/components/tabs/tabs-list.css +0 -1
  581. package/dist/collection/components/tabs/tabs-trigger.component.js +0 -267
  582. package/dist/collection/components/tabs/tabs-trigger.component.js.map +0 -1
  583. package/dist/collection/components/tabs/tabs-trigger.css +0 -1
  584. package/dist/components/bcm-segmented-picker-option.d.ts +0 -11
  585. package/dist/components/bcm-segmented-picker-option.js +0 -131
  586. package/dist/components/bcm-segmented-picker-option.js.map +0 -1
  587. package/dist/components/bcm-tabs-content.js +0 -39
  588. package/dist/components/bcm-tabs-content.js.map +0 -1
  589. package/dist/components/bcm-tabs-list.js +0 -104
  590. package/dist/components/bcm-tabs-list.js.map +0 -1
  591. package/dist/components/bcm-tabs-trigger.js +0 -146
  592. package/dist/components/bcm-tabs-trigger.js.map +0 -1
  593. package/dist/components/p-BHwftRkk.js +0 -379
  594. package/dist/components/p-BHwftRkk.js.map +0 -1
  595. package/dist/components/p-CQF7wlXf.js +0 -145
  596. package/dist/components/p-CQF7wlXf.js.map +0 -1
  597. package/dist/components/p-CUvT12BL.js.map +0 -1
  598. package/dist/components/p-CzcTU1ty.js.map +0 -1
  599. package/dist/components/p-DHONP_n4.js.map +0 -1
  600. package/dist/esm/bcm-button.bcm-drawer.bcm-modal.entry.js.map +0 -1
  601. package/dist/esm/bcm-button_3.entry.js +0 -790
  602. package/dist/esm/bcm-button_3.entry.js.map +0 -1
  603. package/dist/esm/bcm-segmented-picker-option.entry.js +0 -105
  604. package/dist/esm/bcm-segmented-picker-option.entry.js.map +0 -1
  605. package/dist/esm/bcm-segmented-picker.entry.js +0 -142
  606. package/dist/esm/bcm-segmented-picker.entry.js.map +0 -1
  607. package/dist/esm/bcm-tabs-content.entry.js +0 -18
  608. package/dist/esm/bcm-tabs-content.entry.js.map +0 -1
  609. package/dist/esm/bcm-tabs-list.entry.js +0 -82
  610. package/dist/esm/bcm-tabs-list.entry.js.map +0 -1
  611. package/dist/esm/bcm-tabs-trigger.entry.js +0 -120
  612. package/dist/esm/bcm-tabs-trigger.entry.js.map +0 -1
  613. package/dist/esm/floating-ui.dom-DxMLMJ3r.js.map +0 -1
  614. package/dist/esm/index-BuuGCw0z.js.map +0 -1
  615. package/dist/types/components/segmented-picker/segmented-picker-option.component.d.ts +0 -30
  616. package/dist/types/components/tabs/tabs-content.component.d.ts +0 -13
  617. package/dist/types/components/tabs/tabs-list.component.d.ts +0 -20
  618. package/dist/types/components/tabs/tabs-trigger.component.d.ts +0 -49
@@ -1,204 +1,358 @@
1
- import { h } from "@stencil/core";
1
+ import { h, } from "@stencil/core";
2
2
  import { generateId } from "../../utils/id/generate-id";
3
3
  import { tv } from "../../utils/tv";
4
+ import { BaseChoiceControl } from "../_shared/form/base-choice-control";
4
5
  /**
5
6
  * @component BcmSwitch
6
- * @description A customizable toggle switch component that provides an intuitive way to enable or disable options.
7
- * Supports different sizes, label positions, error states, and accessibility features.
7
+ * @description
8
+ * A form-associated toggle switch component representing a boolean choice.
9
+ * It behaves like a checkbox and integrates with native HTML forms via ElementInternals.
10
+ *
11
+ * This component supports **three validation strategies** via `validation-mode`:
12
+ *
13
+ * - **`native`**:
14
+ * - Uses native browser constraint validation.
15
+ * - Sets the underlying input's `required` attribute.
16
+ * - Browser may show the native validation bubble when the form calls `reportValidity()` / submit validation runs.
17
+ *
18
+ * - **`silent`**:
19
+ * - Does **not** rely on native `required` (prevents the browser bubble).
20
+ * - Computes the "missing required" state internally and exposes it via `error` + `caption`.
21
+ * - UI errors are **gated**: they appear only after the control is touched or after a submit attempt.
22
+ *
23
+ * - **`none`**:
24
+ * - Value-only mode (headless): participates in form value submission but never becomes invalid.
25
+ *
26
+ * ## UI error gating (silent mode)
27
+ * To avoid showing errors on initial render, the component tracks:
28
+ * - `touched`: set after the first user interaction
29
+ * - `submitAttempted`: set when the parent form emits `submit`
30
+ *
31
+ * Only when `touched || submitAttempted` the component will show `error/caption` in `silent` mode.
32
+ *
33
+ * ## Value behavior
34
+ * - When checked, the component submits its `value` (default: `"on"`).
35
+ * - When unchecked, no value is submitted.
36
+ * - When disabled, the component does not participate in submission or validity.
8
37
  *
9
38
  * @example Basic usage
10
- * <bcm-switch label="Enable notifications"></bcm-switch>
39
+ * <bcm-switch name="newsletter" label="Receive newsletter?" />
40
+ *
41
+ * @example Required with silent validation (no native bubble)
42
+ * <form>
43
+ * <bcm-switch
44
+ * name="terms"
45
+ * label="Accept terms"
46
+ * required
47
+ * validation-mode="silent">
48
+ * </bcm-switch>
49
+ * <button type="submit">Submit</button>
50
+ * </form>
11
51
  *
12
- * @example With error state
13
- * <bcm-switch
14
- * label="Accept terms"
15
- * error={true}
16
- * caption="You must accept the terms to continue">
17
- * </bcm-switch>
52
+ * @example Native validation mode (may show native bubble)
53
+ * <bcm-switch name="terms" label="Accept terms" required validation-mode="native" />
18
54
  *
19
- * @example Disabled state
20
- * <bcm-switch
21
- * label="Advanced features"
22
- * disabled={true}>
23
- * </bcm-switch>
55
+ * @example Value-only mode (no validation)
56
+ * <bcm-switch name="analytics" label="Allow analytics" validation-mode="none" />
24
57
  *
25
- * @example With custom size and label position
26
- * <bcm-switch
27
- * label="Dark mode"
28
- * size="large"
29
- * labelPosition="left">
30
- * </bcm-switch>
58
+ * @csspart base - Root container
59
+ * @csspart switch-wrapper - Wrapper containing label + track
60
+ * @csspart input - Hidden native input
61
+ * @csspart label - Text label
62
+ * @csspart dot-container - Switch track
63
+ * @csspart dot - Switch knob
64
+ * @csspart caption - Helper/error text
31
65
  */
32
- export class BcmSwitch {
66
+ export class BcmSwitch extends BaseChoiceControl {
33
67
  constructor() {
34
- /** Whether the switch is checked or not */
35
- this.checked = false;
36
- /** Whether the switch is disabled */
37
- this.disabled = false;
38
- /** Position of the label relative to the switch */
39
- this.labelPosition = 'right';
40
- /** Whether to display the switch in an error state */
68
+ super();
69
+ }
70
+ el;
71
+ internals;
72
+ /** Unique id (optional). Generated by default. */
73
+ _id = generateId('bcm-switch');
74
+ /** Visible label text */
75
+ label;
76
+ /** Position of the label relative to the switch */
77
+ labelPosition = 'right';
78
+ /** Visual error state (manual/external). In silent mode this can be auto-managed. */
79
+ error = false;
80
+ /** Helper / error text shown under the switch */
81
+ caption;
82
+ /** Size variant */
83
+ size = 'medium';
84
+ /** Internal checked mirror for UI (kept to preserve old DOM/class behavior) */
85
+ internalChecked = false;
86
+ /** Gate for silent-mode error UI */
87
+ touched = false;
88
+ /** Gate for silent-mode error UI */
89
+ submitAttempted = false;
90
+ /** Emitted when the switch toggles */
91
+ bcmSwitchChange;
92
+ inputEl;
93
+ // --------------------------------------------------
94
+ // Lifecycle
95
+ // --------------------------------------------------
96
+ componentWillLoad() {
97
+ this.internalChecked = !!this.checked;
98
+ this.updateFormValueAndValidity({ setUi: false });
99
+ }
100
+ componentDidLoad() {
101
+ this.syncNativeInput();
102
+ const form = this.internals?.form;
103
+ if (form) {
104
+ // capture = true: ensures we hear submit early
105
+ form.addEventListener('submit', this.onFormSubmit, true);
106
+ }
107
+ }
108
+ disconnectedCallback() {
109
+ const form = this.internals?.form;
110
+ if (form) {
111
+ form.removeEventListener('submit', this.onFormSubmit, true);
112
+ }
113
+ }
114
+ onFormSubmit = () => {
115
+ this.submitAttempted = true;
116
+ this.updateFormValueAndValidity({ setUi: true });
117
+ };
118
+ formResetCallback() {
119
+ super.formResetCallback();
120
+ this.internalChecked = false;
121
+ // reset gating
122
+ this.touched = false;
123
+ this.submitAttempted = false;
124
+ // reset UI
41
125
  this.error = false;
42
- /** Size variant of the switch */
43
- this.size = 'medium';
44
- /** Whether the switch is in readonly mode */
45
- this.readonly = false;
46
- /** Whether the switch is required in a form */
47
- this.required = false;
48
- this.switchId = generateId('switch');
49
- this.switchStyle = () => {
50
- const defaultStyle = {
51
- '--switch-bg': 'var(--bcm-ui-color-background-default-dark-default)',
52
- '--switch-bg-hover': 'var(--bcm-ui-color-background-default-dark-hover)',
53
- '--switch-dot-bg': 'var(--bcm-ui-color-background-base-default)',
54
- };
55
- const checkedStyle = {
56
- '--switch-bg': 'var(--bcm-ui-color-background-info-default)',
57
- '--switch-bg-hover': 'var(--bcm-ui-color-background-info-hover)',
58
- };
59
- const errorStyle = {
60
- '--switch-bg': 'var(--bcm-ui-color-background-error-default)',
61
- '--switch-bg-hover': 'var(--bcm-ui-color-background-error-hover)',
62
- };
63
- const readonlyStyle = {
64
- '--switch-bg': 'var(--bcm-ui-color-background-default-dark-default)',
65
- '--switch-bg-hover': 'var(--bcm-ui-color-background-default-dark-default)',
66
- '--switch-dot-bg': 'var(--bcm-ui-color-background-disabled-default)',
67
- };
68
- const disabledStyle = {
69
- '--switch-bg': 'var(--bcm-ui-color-background-disabled-default)',
70
- '--switch-bg-hover': 'var(--bcm-ui-color-background-disabled-default)',
71
- '--switch-dot-bg': 'var(--bcm-ui-color-background-default-default)',
72
- };
73
- return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, defaultStyle), (this.checked && checkedStyle)), (this.error && errorStyle)), (this.readonly && readonlyStyle)), (this.disabled && disabledStyle));
126
+ this.caption = undefined;
127
+ this.syncNativeInput();
128
+ this.updateFormValueAndValidity({ setUi: false });
129
+ }
130
+ // --------------------------------------------------
131
+ // Watchers
132
+ // --------------------------------------------------
133
+ onBaseCheckedChange(newVal) {
134
+ this.internalChecked = !!newVal;
135
+ this.syncNativeInput();
136
+ }
137
+ // --------------------------------------------------
138
+ // Native sync
139
+ // --------------------------------------------------
140
+ syncNativeInput() {
141
+ if (!this.inputEl)
142
+ return;
143
+ this.inputEl.checked = this.internalChecked;
144
+ this.inputEl.disabled = this.disabled;
145
+ // ✅ Prevent native validation bubble in silent/none:
146
+ // only native mode applies native "required"
147
+ this.inputEl.required = this.validationMode === 'native' && this.required;
148
+ }
149
+ // --------------------------------------------------
150
+ // Form internals
151
+ // --------------------------------------------------
152
+ updateFormValueAndValidity(opts) {
153
+ const setUi = opts?.setUi ?? true;
154
+ if (!this.internals)
155
+ return;
156
+ // Disabled -> no value, no validity, no UI errors
157
+ if (this.disabled) {
158
+ this.internals.setFormValue(null);
159
+ this.internals.setValidity({});
160
+ if (setUi) {
161
+ this.error = false;
162
+ this.caption = undefined;
163
+ }
164
+ return;
165
+ }
166
+ // Always set submitted value (even if validation is off)
167
+ const formValue = this.checked ? this.value ?? 'on' : null;
168
+ this.internals.setFormValue(formValue);
169
+ // none -> never invalid
170
+ if (this.validationMode === 'none') {
171
+ this.internals.setValidity({});
172
+ if (setUi) {
173
+ this.error = false;
174
+ this.caption = undefined;
175
+ }
176
+ return;
177
+ }
178
+ const isMissing = this.required && !this.checked;
179
+ // silent -> no validity, only gated UI
180
+ if (this.validationMode === 'silent') {
181
+ this.internals.setValidity({});
182
+ if (setUi) {
183
+ const shouldShow = this.touched || this.submitAttempted;
184
+ this.error = shouldShow && isMissing;
185
+ this.caption = shouldShow && isMissing ? 'This field is required' : undefined;
186
+ }
187
+ return;
188
+ }
189
+ // native -> real validity participation
190
+ if (isMissing) {
191
+ this.internals.setValidity({ valueMissing: true }, 'This field is required', this.inputEl ?? undefined);
192
+ // native mode uses browser UI; don't double-show component UI
193
+ if (setUi) {
194
+ this.error = false;
195
+ this.caption = undefined;
196
+ }
197
+ return;
198
+ }
199
+ this.internals.setValidity({});
200
+ if (setUi) {
201
+ this.error = false;
202
+ this.caption = undefined;
203
+ }
204
+ }
205
+ // --------------------------------------------------
206
+ // Interaction
207
+ // --------------------------------------------------
208
+ toggleSwitch = () => {
209
+ if (this.disabled || this.readonly)
210
+ return;
211
+ if (!this.touched)
212
+ this.touched = true;
213
+ this.toggleChecked(); // base toggler updates `checked`
214
+ this.internalChecked = !!this.checked;
215
+ this.syncNativeInput();
216
+ this.updateFormValueAndValidity({ setUi: true });
217
+ this.bcmSwitchChange.emit(this.checked);
218
+ };
219
+ // --------------------------------------------------
220
+ // Styles
221
+ // --------------------------------------------------
222
+ switchStyle = () => {
223
+ const defaultStyle = {
224
+ '--switch-bg': 'var(--bcm-ui-color-background-default-dark-default)',
225
+ '--switch-bg-hover': 'var(--bcm-ui-color-background-default-dark-hover)',
226
+ '--switch-dot-bg': 'var(--bcm-ui-color-background-base-default)',
74
227
  };
75
- this.switchClass = tv({
76
- slots: {
77
- base: 'bcm-ui-element flex flex-col',
78
- switchWrapper: 'flex items-center group',
79
- dotContainer: 'relative flex items-center rounded-full cursor-pointer bg-[--switch-bg] group-hover:bg-[--switch-bg-hover] peer-disabled:cursor-not-allowed transition-colors duration-300',
80
- dot: 'absolute bg-[--switch-dot-bg] rounded-full shadow-sm transition-all duration-300 ease-in-out peer-disabled:cursor-not-allowed',
81
- caption: '!text-color-error font-normal',
82
- label: '!text-color font-medium peer-disabled:!text-color-disabled peer-disabled:cursor-not-allowed',
83
- },
84
- variants: {
85
- size: {
86
- small: {
87
- dotContainer: 'w-8 h-4',
88
- dot: 'size-3',
89
- label: 'text-size-4',
90
- caption: 'text-size-3',
91
- switchWrapper: 'gap-2',
92
- base: 'gap-0.5',
93
- },
94
- medium: {
95
- dotContainer: 'w-9 h-[1.125rem]',
96
- dot: 'size-3.5',
97
- label: 'text-size-5',
98
- caption: 'text-size-4',
99
- switchWrapper: 'gap-2.5',
100
- base: 'gap-1',
101
- },
102
- large: {
103
- dotContainer: 'w-10 h-5',
104
- dot: 'size-4',
105
- label: 'text-size-6',
106
- caption: 'text-size-5',
107
- switchWrapper: 'gap-3',
108
- base: 'gap-2',
109
- },
110
- },
111
- labelPosition: {
112
- left: {
113
- label: '',
114
- },
115
- right: {
116
- label: 'order-2',
117
- },
118
- },
119
- checked: {
120
- true: {
121
- dot: '',
122
- },
123
- false: {
124
- dot: 'left-0.5',
125
- },
126
- },
127
- disabled: {
128
- true: '',
129
- false: {
130
- switchWrapper: '',
131
- },
132
- },
133
- readonly: {
134
- true: {
135
- switchWrapper: 'cursor-default',
136
- dotContainer: 'cursor-default',
137
- dot: 'cursor-default',
138
- },
139
- false: {
140
- switchWrapper: 'cursor-pointer',
141
- dotContainer: 'cursor-pointer hover:bg-[--switch-bg-hover]',
142
- },
228
+ const checkedStyle = {
229
+ '--switch-bg': 'var(--bcm-ui-color-background-info-default)',
230
+ '--switch-bg-hover': 'var(--bcm-ui-color-background-info-hover)',
231
+ };
232
+ const errorStyle = {
233
+ '--switch-bg': 'var(--bcm-ui-color-background-error-default)',
234
+ '--switch-bg-hover': 'var(--bcm-ui-color-background-error-hover)',
235
+ };
236
+ const readonlyStyle = {
237
+ '--switch-bg': 'var(--bcm-ui-color-background-default-dark-default)',
238
+ '--switch-bg-hover': 'var(--bcm-ui-color-background-default-dark-default)',
239
+ '--switch-dot-bg': 'var(--bcm-ui-color-background-disabled-default)',
240
+ };
241
+ const disabledStyle = {
242
+ '--switch-bg': 'var(--bcm-ui-color-background-disabled-default)',
243
+ '--switch-bg-hover': 'var(--bcm-ui-color-background-disabled-default)',
244
+ '--switch-dot-bg': 'var(--bcm-ui-color-background-default-default)',
245
+ };
246
+ return {
247
+ ...defaultStyle,
248
+ ...(this.internalChecked && checkedStyle),
249
+ ...(this.error && errorStyle),
250
+ ...(this.readonly && readonlyStyle),
251
+ ...(this.disabled && disabledStyle),
252
+ };
253
+ };
254
+ switchClass = tv({
255
+ slots: {
256
+ base: 'bcm-ui-element flex flex-col',
257
+ switchWrapper: 'flex items-center group',
258
+ dotContainer: 'relative flex items-center rounded-full cursor-pointer bg-[--switch-bg] group-hover:bg-[--switch-bg-hover] peer-disabled:cursor-not-allowed transition-colors duration-300',
259
+ dot: 'absolute bg-[--switch-dot-bg] rounded-full shadow-sm transition-all duration-300 ease-in-out peer-disabled:cursor-not-allowed',
260
+ caption: '!text-color-error font-normal',
261
+ label: '!text-color font-medium peer-disabled:!text-color-disabled peer-disabled:cursor-not-allowed',
262
+ },
263
+ variants: {
264
+ size: {
265
+ small: {
266
+ dotContainer: 'w-8 h-4',
267
+ dot: 'size-3',
268
+ label: 'text-size-4',
269
+ caption: 'text-size-3',
270
+ switchWrapper: 'gap-2',
271
+ base: 'gap-0.5',
272
+ },
273
+ medium: {
274
+ dotContainer: 'w-9 h-[1.125rem]',
275
+ dot: 'size-3.5',
276
+ label: 'text-size-5',
277
+ caption: 'text-size-4',
278
+ switchWrapper: 'gap-2.5',
279
+ base: 'gap-1',
280
+ },
281
+ large: {
282
+ dotContainer: 'w-10 h-5',
283
+ dot: 'size-4',
284
+ label: 'text-size-6',
285
+ caption: 'text-size-5',
286
+ switchWrapper: 'gap-3',
287
+ base: 'gap-2',
143
288
  },
144
289
  },
145
- compoundVariants: [
146
- {
147
- size: 'small',
148
- checked: true,
149
- class: {
150
- dot: 'left-[1.125rem]',
151
- },
152
- },
153
- {
154
- size: 'medium',
155
- checked: true,
156
- class: {
157
- dot: 'left-[1.25rem]',
158
- },
290
+ labelPosition: {
291
+ left: { label: '' },
292
+ right: { label: 'order-2' },
293
+ },
294
+ checked: {
295
+ true: { dot: '' },
296
+ false: { dot: 'left-0.5' },
297
+ },
298
+ disabled: {
299
+ true: '',
300
+ false: { switchWrapper: '' },
301
+ },
302
+ readonly: {
303
+ true: {
304
+ switchWrapper: 'cursor-default',
305
+ dotContainer: 'cursor-default',
306
+ dot: 'cursor-default',
159
307
  },
160
- {
161
- size: 'large',
162
- checked: true,
163
- class: {
164
- dot: 'left-[1.375rem]',
165
- },
308
+ false: {
309
+ switchWrapper: 'cursor-pointer',
310
+ dotContainer: 'cursor-pointer hover:bg-[--switch-bg-hover]',
166
311
  },
167
- {
168
- readonly: false,
169
- disabled: false,
170
- class: {
171
- dotContainer: 'peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-blue-300',
172
- },
312
+ },
313
+ },
314
+ compoundVariants: [
315
+ { size: 'small', checked: true, class: { dot: 'left-[1.125rem]' } },
316
+ { size: 'medium', checked: true, class: { dot: 'left-[1.25rem]' } },
317
+ { size: 'large', checked: true, class: { dot: 'left-[1.375rem]' } },
318
+ {
319
+ readonly: false,
320
+ disabled: false,
321
+ class: {
322
+ dotContainer: 'peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-blue-300',
173
323
  },
174
- ],
175
- });
176
- }
177
- toggleSwitch() {
178
- if (this.disabled || this.readonly)
179
- return;
180
- this.checked = !this.checked;
181
- this.bcmSwitchChange.emit(this.checked);
182
- }
324
+ },
325
+ ],
326
+ });
327
+ // --------------------------------------------------
328
+ // Render
329
+ // --------------------------------------------------
183
330
  render() {
184
331
  const { base, switchWrapper, label, dot, dotContainer, caption } = this.switchClass({
185
332
  size: this.size,
186
- checked: this.checked,
333
+ checked: this.internalChecked,
187
334
  disabled: this.disabled,
188
335
  labelPosition: this.labelPosition,
189
336
  readonly: this.readonly,
190
337
  });
191
- const ariaAttributes = Object.assign({ 'role': 'switch', 'aria-checked': this.checked.toString(), 'aria-disabled': this.disabled.toString(), 'aria-readonly': this.readonly.toString() }, (this.required && { 'aria-required': 'true' }));
338
+ const ariaAttributes = {
339
+ role: 'switch',
340
+ 'aria-checked': this.internalChecked.toString(),
341
+ 'aria-disabled': this.disabled.toString(),
342
+ 'aria-readonly': this.readonly.toString(),
343
+ ...(this.required && { 'aria-required': 'true' }),
344
+ };
192
345
  const tabIndexAttr = !this.readonly && !this.disabled ? { tabindex: '0' } : {};
193
- return (h("div", { key: 'df4d735b04edd9a31d8bcf04ea875741220b3cfc', class: base() }, h("label", { key: 'da8ea3a6b667a2699b08d2d93907aede1d23004c', class: switchWrapper(), style: this.switchStyle() }, h("input", { key: 'a34281d25fc5896b48d1f7698d596039cc9fa392', id: this.switchId, type: "checkbox", class: "hidden peer", checked: this.checked, name: this.name, value: this.value, disabled: this.disabled, readOnly: this.readonly, required: this.required, onChange: () => this.toggleSwitch() }), this.label && (h("span", { key: 'ba7fe6a0635ac7598632bf6b2ffcaf9f0208bd4b', class: label() }, h("slot", { key: '35eace6c1d6ba0e596fd13397eea998dc1b5bc00' }, this.label))), h("label", Object.assign({ key: 'b83f4d773036ba32a4918c8961994b1a158d4ba3', htmlFor: this.switchId, class: dotContainer() }, tabIndexAttr, ariaAttributes, { onKeyDown: event => {
346
+ return (h("div", { key: '7398b102be2bf2ec21819e5db830472fc52da2c3', class: base(), part: "base" }, h("label", { key: 'd5e1062eb9481fdd57c5ef3484ad12a87f576fc8', class: switchWrapper(), style: this.switchStyle(), part: "switch-wrapper" }, h("input", { key: '0e64cc95da9426452b49a1d0b5c18643c6d4653d', id: this._id, type: "checkbox", class: "sr-only peer", checked: this.internalChecked, name: this.name, value: this.value, disabled: this.disabled, readOnly: this.readonly, onChange: this.toggleSwitch, ref: el => (this.inputEl = el), part: "input" }), this.label && (h("span", { key: '975eb8f7f61105f7597b991a340c16cef4c7ac16', class: label(), part: "label" }, h("slot", { key: 'a1b3f8c8b070fe22496f0db969a1a769be5b96f1' }, this.label))), h("label", { key: 'f2c720d7ba6715b6d91a821832bae9cb95bbebd8', htmlFor: this._id, class: dotContainer(), ...tabIndexAttr, ...ariaAttributes, part: "dot-container", onKeyDown: event => {
194
347
  if ((event.key === 'Enter' || event.key === ' ') && !this.readonly && !this.disabled) {
195
348
  event.preventDefault();
196
349
  this.toggleSwitch();
197
350
  }
198
- } }), h("div", { key: '2f15642e8af847b0c596d21358f52334b86e00b1', class: dot() }))), this.error && this.caption && h("span", { key: '3f285649949035002338a232b7b9df0276cfd814', class: caption() }, this.caption), h("slot", { key: 'e0bc0b55fa00cc3520538caa79f7003d4bd5266f', name: "caption" })));
351
+ } }, h("div", { key: 'd51e6ddadff6854ebcc3b403e457c354d552dc60', class: dot(), part: "dot" }))), this.error && this.caption && (h("span", { key: '36529b1bbbe322247244e87b281d86076de75be7', class: caption(), part: "caption" }, this.caption)), h("slot", { key: '0f5b474e11fc93fddb3ff84c616c19fe57959e4b', name: "caption" })));
199
352
  }
200
353
  static get is() { return "bcm-switch"; }
201
354
  static get encapsulation() { return "shadow"; }
355
+ static get formAssociated() { return true; }
202
356
  static get originalStyleUrls() {
203
357
  return {
204
358
  "$": ["switch.css"]
@@ -211,68 +365,8 @@ export class BcmSwitch {
211
365
  }
212
366
  static get properties() {
213
367
  return {
214
- "checked": {
215
- "type": "boolean",
216
- "attribute": "checked",
217
- "mutable": true,
218
- "complexType": {
219
- "original": "boolean",
220
- "resolved": "boolean",
221
- "references": {}
222
- },
223
- "required": false,
224
- "optional": false,
225
- "docs": {
226
- "tags": [],
227
- "text": "Whether the switch is checked or not"
228
- },
229
- "getter": false,
230
- "setter": false,
231
- "reflect": true,
232
- "defaultValue": "false"
233
- },
234
- "disabled": {
235
- "type": "boolean",
236
- "attribute": "disabled",
237
- "mutable": false,
238
- "complexType": {
239
- "original": "boolean",
240
- "resolved": "boolean",
241
- "references": {}
242
- },
243
- "required": false,
244
- "optional": false,
245
- "docs": {
246
- "tags": [],
247
- "text": "Whether the switch is disabled"
248
- },
249
- "getter": false,
250
- "setter": false,
251
- "reflect": false,
252
- "defaultValue": "false"
253
- },
254
- "name": {
255
- "type": "string",
256
- "attribute": "name",
257
- "mutable": false,
258
- "complexType": {
259
- "original": "string",
260
- "resolved": "string",
261
- "references": {}
262
- },
263
- "required": false,
264
- "optional": false,
265
- "docs": {
266
- "tags": [],
267
- "text": "The name attribute for the hidden input element"
268
- },
269
- "getter": false,
270
- "setter": false,
271
- "reflect": false
272
- },
273
- "value": {
368
+ "_id": {
274
369
  "type": "string",
275
- "attribute": "value",
276
370
  "mutable": false,
277
371
  "complexType": {
278
372
  "original": "string",
@@ -280,37 +374,38 @@ export class BcmSwitch {
280
374
  "references": {}
281
375
  },
282
376
  "required": false,
283
- "optional": false,
377
+ "optional": true,
284
378
  "docs": {
285
379
  "tags": [],
286
- "text": "The value attribute for the hidden input element"
380
+ "text": "Unique id (optional). Generated by default."
287
381
  },
288
382
  "getter": false,
289
383
  "setter": false,
290
- "reflect": false
384
+ "reflect": true,
385
+ "attribute": "id",
386
+ "defaultValue": "generateId('bcm-switch')"
291
387
  },
292
388
  "label": {
293
389
  "type": "string",
294
- "attribute": "label",
295
390
  "mutable": false,
296
391
  "complexType": {
297
392
  "original": "string",
298
393
  "resolved": "string",
299
394
  "references": {}
300
395
  },
301
- "required": false,
396
+ "required": true,
302
397
  "optional": false,
303
398
  "docs": {
304
399
  "tags": [],
305
- "text": "Text label for the switch"
400
+ "text": "Visible label text"
306
401
  },
307
402
  "getter": false,
308
403
  "setter": false,
309
- "reflect": false
404
+ "reflect": false,
405
+ "attribute": "label"
310
406
  },
311
407
  "labelPosition": {
312
408
  "type": "string",
313
- "attribute": "label-position",
314
409
  "mutable": false,
315
410
  "complexType": {
316
411
  "original": "'left' | 'right'",
@@ -326,12 +421,12 @@ export class BcmSwitch {
326
421
  "getter": false,
327
422
  "setter": false,
328
423
  "reflect": false,
424
+ "attribute": "label-position",
329
425
  "defaultValue": "'right'"
330
426
  },
331
427
  "error": {
332
428
  "type": "boolean",
333
- "attribute": "error",
334
- "mutable": false,
429
+ "mutable": true,
335
430
  "complexType": {
336
431
  "original": "boolean",
337
432
  "resolved": "boolean",
@@ -341,17 +436,17 @@ export class BcmSwitch {
341
436
  "optional": false,
342
437
  "docs": {
343
438
  "tags": [],
344
- "text": "Whether to display the switch in an error state"
439
+ "text": "Visual error state (manual/external). In silent mode this can be auto-managed."
345
440
  },
346
441
  "getter": false,
347
442
  "setter": false,
348
443
  "reflect": false,
444
+ "attribute": "error",
349
445
  "defaultValue": "false"
350
446
  },
351
447
  "caption": {
352
448
  "type": "string",
353
- "attribute": "caption",
354
- "mutable": false,
449
+ "mutable": true,
355
450
  "complexType": {
356
451
  "original": "string",
357
452
  "resolved": "string",
@@ -361,15 +456,15 @@ export class BcmSwitch {
361
456
  "optional": true,
362
457
  "docs": {
363
458
  "tags": [],
364
- "text": "Text to display as an error message when error is true"
459
+ "text": "Helper / error text shown under the switch"
365
460
  },
366
461
  "getter": false,
367
462
  "setter": false,
368
- "reflect": false
463
+ "reflect": false,
464
+ "attribute": "caption"
369
465
  },
370
466
  "size": {
371
467
  "type": "string",
372
- "attribute": "size",
373
468
  "mutable": false,
374
469
  "complexType": {
375
470
  "original": "'small' | 'medium' | 'large'",
@@ -380,55 +475,23 @@ export class BcmSwitch {
380
475
  "optional": false,
381
476
  "docs": {
382
477
  "tags": [],
383
- "text": "Size variant of the switch"
478
+ "text": "Size variant"
384
479
  },
385
480
  "getter": false,
386
481
  "setter": false,
387
482
  "reflect": false,
483
+ "attribute": "size",
388
484
  "defaultValue": "'medium'"
389
- },
390
- "readonly": {
391
- "type": "boolean",
392
- "attribute": "readonly",
393
- "mutable": false,
394
- "complexType": {
395
- "original": "boolean",
396
- "resolved": "boolean",
397
- "references": {}
398
- },
399
- "required": false,
400
- "optional": false,
401
- "docs": {
402
- "tags": [],
403
- "text": "Whether the switch is in readonly mode"
404
- },
405
- "getter": false,
406
- "setter": false,
407
- "reflect": false,
408
- "defaultValue": "false"
409
- },
410
- "required": {
411
- "type": "boolean",
412
- "attribute": "required",
413
- "mutable": false,
414
- "complexType": {
415
- "original": "boolean",
416
- "resolved": "boolean",
417
- "references": {}
418
- },
419
- "required": false,
420
- "optional": false,
421
- "docs": {
422
- "tags": [],
423
- "text": "Whether the switch is required in a form"
424
- },
425
- "getter": false,
426
- "setter": false,
427
- "reflect": false,
428
- "defaultValue": "false"
429
485
  }
430
486
  };
431
487
  }
488
+ static get states() {
489
+ return {
490
+ "internalChecked": {},
491
+ "touched": {},
492
+ "submitAttempted": {}
493
+ };
494
+ }
432
495
  static get events() {
433
496
  return [{
434
497
  "method": "bcmSwitchChange",
@@ -438,7 +501,7 @@ export class BcmSwitch {
438
501
  "composed": false,
439
502
  "docs": {
440
503
  "tags": [],
441
- "text": "Emitted when the switch state changes"
504
+ "text": "Emitted when the switch toggles"
442
505
  },
443
506
  "complexType": {
444
507
  "original": "boolean",
@@ -448,5 +511,12 @@ export class BcmSwitch {
448
511
  }];
449
512
  }
450
513
  static get elementRef() { return "el"; }
514
+ static get watchers() {
515
+ return [{
516
+ "propName": "checked",
517
+ "methodName": "onBaseCheckedChange"
518
+ }];
519
+ }
520
+ static get attachInternalsMemberName() { return "internals"; }
451
521
  }
452
522
  //# sourceMappingURL=switch.component.js.map