bromcom-ui 2.9.0-rc.4 → 2.9.0-rc.6

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 (272) hide show
  1. package/dist/bromcom-ui/bromcom-ui.css +1 -1
  2. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  3. package/dist/bromcom-ui/{p-cb344455.entry.js → p-0641597e.entry.js} +1 -1
  4. package/dist/bromcom-ui/{p-8c9d109c.entry.js → p-15758356.entry.js} +1 -1
  5. package/dist/bromcom-ui/{p-fc07ca8a.entry.js → p-16dd7db9.entry.js} +1 -1
  6. package/dist/bromcom-ui/p-17264523.js +5 -0
  7. package/dist/bromcom-ui/p-17af6738.js +5 -0
  8. package/dist/bromcom-ui/{p-00d7bbed.js → p-184b7d3b.js} +1 -1
  9. package/dist/bromcom-ui/{p-5648b456.entry.js → p-1b1f4b44.entry.js} +1 -1
  10. package/dist/bromcom-ui/p-1eabd5dc.js +10 -0
  11. package/dist/bromcom-ui/{p-224d392c.entry.js → p-1fbd8af5.entry.js} +1 -1
  12. package/dist/bromcom-ui/{p-3adc157d.entry.js → p-24b8154c.entry.js} +1 -1
  13. package/dist/bromcom-ui/{p-6478455c.entry.js → p-24d8e9d6.entry.js} +1 -1
  14. package/dist/bromcom-ui/{p-8ae4bdb2.entry.js → p-2afdec61.entry.js} +1 -1
  15. package/dist/bromcom-ui/{p-50c3df61.js → p-2b13dd48.js} +1 -1
  16. package/dist/bromcom-ui/p-2b88c7bb.entry.js +5 -0
  17. package/dist/bromcom-ui/p-2fc584c4.js +5 -0
  18. package/dist/bromcom-ui/{p-f48e5337.entry.js → p-31eabaf3.entry.js} +1 -1
  19. package/dist/bromcom-ui/{p-6a087ad5.js → p-3215d598.js} +1 -1
  20. package/dist/bromcom-ui/{p-15347028.entry.js → p-3baf677c.entry.js} +1 -1
  21. package/dist/bromcom-ui/{p-8c018ae0.js → p-3c7a0345.js} +1 -1
  22. package/dist/bromcom-ui/p-459212eb.entry.js +5 -0
  23. package/dist/bromcom-ui/p-57f8802e.entry.js +5 -0
  24. package/dist/bromcom-ui/{p-7e44e6b5.js → p-5ae0a59b.js} +1 -1
  25. package/dist/bromcom-ui/{p-4cd8a7c8.entry.js → p-5c3e9ac9.entry.js} +1 -1
  26. package/dist/bromcom-ui/{p-6cb648f0.entry.js → p-5c468c5b.entry.js} +1 -1
  27. package/dist/bromcom-ui/{p-70aa6e00.entry.js → p-6272ecb4.entry.js} +1 -1
  28. package/dist/bromcom-ui/p-663766cf.entry.js +5 -0
  29. package/dist/bromcom-ui/p-6a5ac874.entry.js +13 -0
  30. package/dist/bromcom-ui/{p-6e9b23ed.entry.js → p-6b861832.entry.js} +1 -1
  31. package/dist/bromcom-ui/{p-30788121.entry.js → p-6c3e9e10.entry.js} +1 -1
  32. package/dist/bromcom-ui/{p-ba47106f.entry.js → p-7a394115.entry.js} +1 -1
  33. package/dist/bromcom-ui/{p-0d6623c0.entry.js → p-81b2dffb.entry.js} +1 -1
  34. package/dist/bromcom-ui/p-891de348.entry.js +5 -0
  35. package/dist/bromcom-ui/{p-1647559e.entry.js → p-8bcfe3b3.entry.js} +1 -1
  36. package/dist/bromcom-ui/{p-fd7243a7.entry.js → p-8d7bbe30.entry.js} +1 -1
  37. package/dist/bromcom-ui/{p-c8695c8b.entry.js → p-8de9d6b6.entry.js} +1 -1
  38. package/dist/bromcom-ui/p-8fc8b4ff.entry.js +5 -0
  39. package/dist/bromcom-ui/{p-20aa2ba8.entry.js → p-9099a1bf.entry.js} +1 -1
  40. package/dist/bromcom-ui/p-9773e744.entry.js +5 -0
  41. package/dist/bromcom-ui/{p-08d4cd65.entry.js → p-a512ca45.entry.js} +1 -1
  42. package/dist/bromcom-ui/{p-18696519.entry.js → p-b10265d7.entry.js} +1 -1
  43. package/dist/bromcom-ui/{p-30a3320f.entry.js → p-b1c83bb8.entry.js} +1 -1
  44. package/dist/bromcom-ui/{p-afb4a0e7.entry.js → p-b26ded9b.entry.js} +1 -1
  45. package/dist/bromcom-ui/{p-159b67a7.entry.js → p-b45b54b5.entry.js} +1 -1
  46. package/dist/bromcom-ui/{p-9fff4f7d.entry.js → p-b47e4417.entry.js} +1 -1
  47. package/dist/bromcom-ui/{p-e12e563a.entry.js → p-c2cbb810.entry.js} +1 -1
  48. package/dist/bromcom-ui/{p-ea23f0aa.entry.js → p-c387f0fb.entry.js} +1 -1
  49. package/dist/bromcom-ui/{p-4ea7331b.entry.js → p-c3a91954.entry.js} +1 -1
  50. package/dist/bromcom-ui/{p-3992dd70.entry.js → p-ca6cd989.entry.js} +1 -1
  51. package/dist/bromcom-ui/p-ccaabc2e.entry.js +5 -0
  52. package/dist/bromcom-ui/p-cf0ab7f0.entry.js +5 -0
  53. package/dist/bromcom-ui/{p-09c4a42a.entry.js → p-d37502f9.entry.js} +1 -1
  54. package/dist/bromcom-ui/p-dbdb10d5.js +5 -0
  55. package/dist/bromcom-ui/p-dd422dd1.js +5 -0
  56. package/dist/bromcom-ui/{p-8d14232d.entry.js → p-dd43bcd9.entry.js} +1 -1
  57. package/dist/bromcom-ui/{p-50066349.entry.js → p-de850d57.entry.js} +1 -1
  58. package/dist/bromcom-ui/{p-28649759.entry.js → p-e0c60c5d.entry.js} +1 -1
  59. package/dist/bromcom-ui/{p-21783e29.entry.js → p-e520d2a2.entry.js} +1 -1
  60. package/dist/bromcom-ui/{p-119fc842.entry.js → p-e86e4968.entry.js} +1 -1
  61. package/dist/bromcom-ui/{p-8ce0f5f8.entry.js → p-eaad2239.entry.js} +1 -1
  62. package/dist/bromcom-ui/{p-dc9466d6.entry.js → p-ebee9f45.entry.js} +1 -1
  63. package/dist/bromcom-ui/{p-b321e86d.entry.js → p-ee4b8753.entry.js} +1 -1
  64. package/dist/bromcom-ui/p-ee50f5e2.entry.js +5 -0
  65. package/dist/bromcom-ui/{p-4e6292fd.entry.js → p-ee5da693.entry.js} +1 -1
  66. package/dist/bromcom-ui/{p-2df6dc86.entry.js → p-f0fa1c29.entry.js} +1 -1
  67. package/dist/bromcom-ui/{p-68abefd2.entry.js → p-f331e009.entry.js} +1 -1
  68. package/dist/bromcom-ui/{p-cf307549.entry.js → p-fe37e88f.entry.js} +1 -1
  69. package/dist/cjs/bcm-accordion.cjs.entry.js +1 -1
  70. package/dist/cjs/bcm-alert.cjs.entry.js +1 -1
  71. package/dist/cjs/bcm-attendance.cjs.entry.js +1 -1
  72. package/dist/cjs/bcm-avatar.cjs.entry.js +126 -0
  73. package/dist/cjs/bcm-badge_15.cjs.entry.js +1738 -0
  74. package/dist/cjs/bcm-breadcrumb.cjs.entry.js +1 -1
  75. package/dist/cjs/bcm-button-group.cjs.entry.js +1 -1
  76. package/dist/cjs/bcm-card.cjs.entry.js +2 -2
  77. package/dist/cjs/bcm-checkbox-group.cjs.entry.js +17 -17
  78. package/dist/cjs/bcm-checkbox-lite_9.cjs.entry.js +1 -1
  79. package/dist/cjs/{bcm-checkbox_2.cjs.entry.js → bcm-checkbox.cjs.entry.js} +2 -13
  80. package/dist/cjs/bcm-chip-group.cjs.entry.js +128 -0
  81. package/dist/cjs/bcm-chip.cjs.entry.js +90 -0
  82. package/dist/cjs/bcm-collapse.cjs.entry.js +1 -1
  83. package/dist/cjs/bcm-color-input.cjs.entry.js +4 -4
  84. package/dist/cjs/{bcm-avatar_15.cjs.entry.js → bcm-colorful.cjs.entry.js} +3 -6332
  85. package/dist/cjs/bcm-date-picker.cjs.entry.js +1 -1
  86. package/dist/cjs/bcm-datetime-picker.cjs.entry.js +1 -1
  87. package/dist/cjs/bcm-default.cjs.entry.js +1 -1
  88. package/dist/cjs/bcm-drawer.cjs.entry.js +4 -4
  89. package/dist/cjs/bcm-expansion-panel.cjs.entry.js +2 -2
  90. package/dist/cjs/bcm-form-2.cjs.entry.js +1 -1
  91. package/dist/cjs/bcm-form.cjs.entry.js +488 -0
  92. package/dist/cjs/bcm-input-custom.cjs.entry.js +1 -1
  93. package/dist/cjs/bcm-input.cjs.entry.js +370 -0
  94. package/dist/cjs/bcm-label.cjs.entry.js +44 -0
  95. package/dist/cjs/bcm-list_3.cjs.entry.js +4025 -0
  96. package/dist/cjs/bcm-modal-2-footer.cjs.entry.js +4 -4
  97. package/dist/cjs/bcm-modal-2-header.cjs.entry.js +4 -4
  98. package/dist/cjs/bcm-modal-2.cjs.entry.js +4 -4
  99. package/dist/cjs/bcm-modal.cjs.entry.js +1 -1
  100. package/dist/cjs/bcm-popconfirm-box.cjs.entry.js +2 -2
  101. package/dist/cjs/bcm-popconfirm.cjs.entry.js +1 -1
  102. package/dist/cjs/bcm-progress.cjs.entry.js +2 -2
  103. package/dist/cjs/bcm-radio-group.cjs.entry.js +4 -4
  104. package/dist/cjs/bcm-radio.cjs.entry.js +4 -4
  105. package/dist/cjs/bcm-range.cjs.entry.js +1 -1
  106. package/dist/cjs/bcm-skeleton.cjs.entry.js +1 -1
  107. package/dist/cjs/bcm-step.cjs.entry.js +2 -2
  108. package/dist/cjs/bcm-stepper.cjs.entry.js +5 -5
  109. package/dist/cjs/bcm-switch.cjs.entry.js +1 -1
  110. package/dist/cjs/bcm-tag.cjs.entry.js +2 -2
  111. package/dist/cjs/bcm-textarea.cjs.entry.js +2 -2
  112. package/dist/cjs/bcm-time-picker.cjs.entry.js +1 -1
  113. package/dist/cjs/bcm-toast.cjs.entry.js +1 -1
  114. package/dist/cjs/bromcom-ui.cjs.js +1 -1
  115. package/dist/cjs/{color-helper-d6d2028b.js → color-helper-7ab15732.js} +27 -1
  116. package/dist/cjs/{generate-d246df02.js → generate-d3f8c970.js} +55 -5
  117. package/dist/cjs/index-906fb4e5.js +540 -0
  118. package/dist/cjs/index-b08b037a.js +52 -0
  119. package/dist/cjs/{input-template-22c31e2b.js → input-template-22725c68.js} +1 -1
  120. package/dist/cjs/{json-parse-decarator-bf157b28.js → json-parse-decarator-22c236ad.js} +1 -1
  121. package/dist/cjs/loader.cjs.js +1 -1
  122. package/dist/cjs/{number-helper-26df0c91.js → number-helper-66fe9479.js} +1 -1
  123. package/dist/cjs/old-bcm-popover-box.cjs.entry.js +2 -2
  124. package/dist/cjs/old-bcm-popover.cjs.entry.js +1 -1
  125. package/dist/cjs/{stepper-states-1a1a63cb.js → stepper-states-43daae37.js} +1 -1
  126. package/dist/cjs/{validators-095e7611.js → validators-aa39e3ec.js} +1 -1
  127. package/dist/collection/components/atoms/avatar/avatar.js +95 -80
  128. package/dist/collection/components/atoms/avatar/avatar.style.js +39 -0
  129. package/dist/collection/components/atoms/badge/badge.js +29 -90
  130. package/dist/collection/components/atoms/badge/badge.style.js +39 -0
  131. package/dist/collection/components/molecules/input/input.js +4 -4
  132. package/dist/collection/components/molecules/items/items.js +1 -1
  133. package/dist/collection/components/molecules/menu/menu.js +1 -0
  134. package/dist/collection/components/molecules/popover/popover.js +1 -1
  135. package/dist/collection/components/molecules/tab-group/tab-group.js +5 -1
  136. package/dist/collection/components/molecules/tab-group/tab-item-header.js +11 -26
  137. package/dist/collection/components/molecules/tooltip/tooltip.js +1 -1
  138. package/dist/collection/components/other/typography/typography.js +1 -1
  139. package/dist/collection/helper/color-helper.js +27 -1
  140. package/dist/collection/helper/generate.js +54 -4
  141. package/dist/collection/helper/popover-helper.js +13 -9
  142. package/dist/collection/helper/tooltip-helper.js +12 -4
  143. package/dist/components/avatar.js +91 -52
  144. package/dist/components/badge.js +109 -46
  145. package/dist/components/bcm-items.js +1 -1
  146. package/dist/components/bcm-popover.js +14 -10
  147. package/dist/components/bcm-tab-group.js +5 -1
  148. package/dist/components/bcm-tab-item-header.js +11 -26
  149. package/dist/components/color-helper.js +27 -1
  150. package/dist/components/generate.js +55 -5
  151. package/dist/components/input.js +4 -4
  152. package/dist/components/menu.js +1 -0
  153. package/dist/components/tooltip-helper.js +12 -4
  154. package/dist/components/tooltip.js +1 -1
  155. package/dist/components/typography.js +1 -1
  156. package/dist/esm/bcm-accordion.entry.js +1 -1
  157. package/dist/esm/bcm-alert.entry.js +1 -1
  158. package/dist/esm/bcm-attendance.entry.js +1 -1
  159. package/dist/esm/bcm-avatar.entry.js +122 -0
  160. package/dist/esm/bcm-badge_15.entry.js +1720 -0
  161. package/dist/esm/bcm-breadcrumb.entry.js +1 -1
  162. package/dist/esm/bcm-button-group.entry.js +1 -1
  163. package/dist/esm/bcm-card.entry.js +3 -3
  164. package/dist/esm/bcm-checkbox-group.entry.js +8 -8
  165. package/dist/esm/bcm-checkbox-lite_9.entry.js +2 -2
  166. package/dist/esm/{bcm-checkbox_2.entry.js → bcm-checkbox.entry.js} +4 -14
  167. package/dist/esm/bcm-chip-group.entry.js +124 -0
  168. package/dist/esm/bcm-chip.entry.js +86 -0
  169. package/dist/esm/bcm-collapse-group.entry.js +1 -1
  170. package/dist/esm/bcm-collapse.entry.js +1 -1
  171. package/dist/esm/bcm-color-input.entry.js +6 -6
  172. package/dist/esm/{bcm-avatar_15.entry.js → bcm-colorful.entry.js} +4 -6319
  173. package/dist/esm/bcm-colorpicker.entry.js +2 -2
  174. package/dist/esm/bcm-date-picker.entry.js +2 -2
  175. package/dist/esm/bcm-datetime-picker.entry.js +3 -3
  176. package/dist/esm/bcm-default.entry.js +1 -1
  177. package/dist/esm/bcm-drawer.entry.js +6 -6
  178. package/dist/esm/bcm-expansion-panel.entry.js +3 -3
  179. package/dist/esm/bcm-form-2.entry.js +1 -1
  180. package/dist/esm/bcm-form.entry.js +484 -0
  181. package/dist/esm/bcm-input-custom.entry.js +1 -1
  182. package/dist/esm/bcm-input.entry.js +366 -0
  183. package/dist/esm/bcm-label.entry.js +40 -0
  184. package/dist/esm/bcm-list_3.entry.js +4019 -0
  185. package/dist/esm/bcm-modal-2-footer.entry.js +6 -6
  186. package/dist/esm/bcm-modal-2-header.entry.js +6 -6
  187. package/dist/esm/bcm-modal-2.entry.js +6 -6
  188. package/dist/esm/bcm-modal.entry.js +1 -1
  189. package/dist/esm/bcm-old-input.entry.js +1 -1
  190. package/dist/esm/bcm-old-tag_2.entry.js +1 -1
  191. package/dist/esm/bcm-popconfirm-box.entry.js +3 -3
  192. package/dist/esm/bcm-popconfirm.entry.js +1 -1
  193. package/dist/esm/bcm-progress.entry.js +3 -3
  194. package/dist/esm/bcm-radio-group.entry.js +6 -6
  195. package/dist/esm/bcm-radio.entry.js +6 -6
  196. package/dist/esm/bcm-range.entry.js +2 -2
  197. package/dist/esm/bcm-select.entry.js +1 -1
  198. package/dist/esm/bcm-skeleton.entry.js +1 -1
  199. package/dist/esm/bcm-step.entry.js +2 -2
  200. package/dist/esm/bcm-stepper.entry.js +7 -7
  201. package/dist/esm/bcm-switch.entry.js +2 -2
  202. package/dist/esm/bcm-table.entry.js +1 -1
  203. package/dist/esm/bcm-tabs-content.entry.js +1 -1
  204. package/dist/esm/bcm-tabs.entry.js +1 -1
  205. package/dist/esm/bcm-tag.entry.js +3 -3
  206. package/dist/esm/bcm-textarea.entry.js +3 -3
  207. package/dist/esm/bcm-time-picker.entry.js +2 -2
  208. package/dist/esm/bcm-toast.entry.js +2 -2
  209. package/dist/esm/bromcom-ui.js +1 -1
  210. package/dist/esm/{color-helper-e8ce23d7.js → color-helper-116755ed.js} +28 -2
  211. package/dist/esm/{element-dragger-89bb52fd.js → element-dragger-7ea06c76.js} +1 -1
  212. package/dist/esm/{generate-e7435a13.js → generate-786bd626.js} +55 -5
  213. package/dist/esm/index-6310a048.js +537 -0
  214. package/dist/esm/index-962dec74.js +50 -0
  215. package/dist/esm/{input-template-e1e850b5.js → input-template-88fba8d7.js} +1 -1
  216. package/dist/esm/{json-parse-decarator-2bcd4584.js → json-parse-decarator-e85e0fea.js} +1 -1
  217. package/dist/esm/loader.js +1 -1
  218. package/dist/esm/{number-helper-cb2563aa.js → number-helper-d9b73e76.js} +1 -1
  219. package/dist/esm/old-bcm-popover-box.entry.js +4 -4
  220. package/dist/esm/old-bcm-popover.entry.js +1 -1
  221. package/dist/esm/{stepper-states-29463262.js → stepper-states-026cdd66.js} +1 -1
  222. package/dist/esm/{utils-57652744.js → utils-b3338faf.js} +1 -1
  223. package/dist/esm/{validators-0a4134a4.js → validators-0b019b63.js} +1 -1
  224. package/dist/types/components/atoms/avatar/avatar.d.ts +8 -10
  225. package/dist/types/components/atoms/avatar/avatar.style.d.ts +5 -0
  226. package/dist/types/components/atoms/badge/badge.d.ts +3 -7
  227. package/dist/types/components/atoms/badge/badge.style.d.ts +4 -0
  228. package/dist/types/components.d.ts +11 -13
  229. package/dist/types/helper/color-helper.d.ts +22 -2
  230. package/dist/types/helper/generate.d.ts +21 -1
  231. package/dist/types/helper/popover-helper.d.ts +0 -5
  232. package/dist/types/helper/tooltip-helper.d.ts +0 -1
  233. package/package.json +7 -4
  234. package/dist/bromcom-ui/p-0ab46a99.js +0 -5
  235. package/dist/bromcom-ui/p-0b0660a0.js +0 -5
  236. package/dist/bromcom-ui/p-1a3d281e.entry.js +0 -5
  237. package/dist/bromcom-ui/p-2b4677a8.entry.js +0 -5
  238. package/dist/bromcom-ui/p-3ae615ef.entry.js +0 -5
  239. package/dist/bromcom-ui/p-61c51804.entry.js +0 -5
  240. package/dist/bromcom-ui/p-632bbc11.entry.js +0 -5
  241. package/dist/bromcom-ui/p-6c34860e.entry.js +0 -5
  242. package/dist/bromcom-ui/p-843905c8.js +0 -5
  243. package/dist/bromcom-ui/p-92831a1d.js +0 -5
  244. package/dist/bromcom-ui/p-a9a9bf8f.js +0 -5
  245. package/dist/bromcom-ui/p-b17ba740.entry.js +0 -19
  246. package/dist/bromcom-ui/p-b8cfa9ab.entry.js +0 -5
  247. package/dist/bromcom-ui/p-c5de4c76.entry.js +0 -5
  248. package/dist/bromcom-ui/p-d832cf50.entry.js +0 -5
  249. package/dist/bromcom-ui/p-d888c814.entry.js +0 -5
  250. package/dist/bromcom-ui/p-fb96c1cd.entry.js +0 -5
  251. package/dist/cjs/bcm-dropdown.cjs.entry.js +0 -118
  252. package/dist/cjs/bcm-item.cjs.entry.js +0 -71
  253. package/dist/cjs/bcm-items.cjs.entry.js +0 -48
  254. package/dist/cjs/bcm-menu.cjs.entry.js +0 -149
  255. package/dist/cjs/bcm-popover.cjs.entry.js +0 -225
  256. package/dist/cjs/bcm-tab-group.cjs.entry.js +0 -205
  257. package/dist/cjs/bcm-tab-item-header.cjs.entry.js +0 -73
  258. package/dist/cjs/bcm-tab-item.cjs.entry.js +0 -90
  259. package/dist/cjs/bcm-text.cjs.entry.js +0 -49
  260. package/dist/cjs/tooltip-helper-c822010b.js +0 -150
  261. package/dist/collection/components/atoms/avatar/avatar.css +0 -198
  262. package/dist/collection/components/atoms/badge/badge.css +0 -231
  263. package/dist/esm/bcm-dropdown.entry.js +0 -114
  264. package/dist/esm/bcm-item.entry.js +0 -67
  265. package/dist/esm/bcm-items.entry.js +0 -44
  266. package/dist/esm/bcm-menu.entry.js +0 -145
  267. package/dist/esm/bcm-popover.entry.js +0 -221
  268. package/dist/esm/bcm-tab-group.entry.js +0 -201
  269. package/dist/esm/bcm-tab-item-header.entry.js +0 -69
  270. package/dist/esm/bcm-tab-item.entry.js +0 -86
  271. package/dist/esm/bcm-text.entry.js +0 -45
  272. package/dist/esm/tooltip-helper-f35d93d2.js +0 -148
@@ -2,82 +2,79 @@
2
2
  * Built with Stencil
3
3
  * Copyright (c) Bromcom.
4
4
  */
5
- import { ColorHelper, Generate, NumberHelper } from '@bcm/helpers';
6
- import { Bcm } from '@bcm/model';
7
- import { h, Host } from '@stencil/core';
8
- import cs from 'classnames';
5
+ import { Generate } from "@bcm/helpers";
6
+ import { Bcm } from "@bcm/model";
7
+ import { Host, h } from "@stencil/core";
8
+ import { avatarStyle } from "./avatar.style";
9
9
  export class BcmAvatar {
10
10
  constructor() {
11
11
  this._id = Generate.UID();
12
- this.hidden = false;
13
12
  this.image = undefined;
14
13
  this.name = undefined;
15
14
  this.alt = undefined;
16
15
  this.shape = Bcm.Shape.ellipse;
17
16
  this.size = Bcm.Size.medium;
18
17
  this.color = undefined;
18
+ this.icon = "fas fa-user";
19
19
  this.status = undefined;
20
+ this.blink = false;
20
21
  this.isFallback = false;
21
22
  }
22
- componentWillLoad() {
23
- this.name = this.name && this.name.trim() || '';
24
- }
25
- handleError() {
26
- this.isFallback = true;
23
+ getFirstLetters(name) {
24
+ const words = name.split(" ");
25
+ const initials = words.map(word => word.charAt(0).toUpperCase()).join("");
26
+ return initials.substring(0, 2);
27
27
  }
28
- getCustomSizes(customSize) {
29
- return Math.round(parseInt(customSize) / 3);
28
+ renderContent() {
29
+ if (this.isFallback) {
30
+ if (this.name) {
31
+ return this.getFirstLetters(this.name);
32
+ }
33
+ else {
34
+ return this.renderDefaultIcon();
35
+ }
36
+ }
37
+ else if (this.image) {
38
+ return this.renderImage();
39
+ }
40
+ else if (this.name) {
41
+ return this.getFirstLetters(this.name);
42
+ }
43
+ else {
44
+ return this.renderDefaultIcon();
45
+ }
30
46
  }
31
- getFirstLetters(name) {
32
- const splitted = name.split(' ');
33
- if (splitted.length === 1)
34
- return splitted[0].substring(0, 2);
35
- return splitted[0].charAt(0) + splitted[splitted.length - 1].charAt(0);
47
+ renderDefaultIcon() {
48
+ return h("bcm-icon", { icon: this.icon });
36
49
  }
37
- setStyleVariables() {
38
- const { size } = this;
39
- let { color } = this;
40
- !color && (color = 'slate');
41
- let height = NumberHelper.toNumber(size);
42
- let fontSize = Math.round(parseInt(height) / 3);
43
- const prefix = `--bcm-avatar`;
44
- return {
45
- [`${prefix}-color`]: ColorHelper.dsColor(`${color}-600`),
46
- [`${prefix}-background-color`]: ColorHelper.dsColor(`${color}-100`),
47
- [`${prefix}-height`]: `${height}px`,
48
- [`${prefix}-font-size`]: `${fontSize}px`
49
- };
50
+ renderImage() {
51
+ return h("img", { onError: () => (this.isFallback = true), src: this.image, alt: this.alt });
50
52
  }
51
53
  render() {
52
- const { image, name, alt, hidden, shape, size, status } = this;
53
- const isCustom = !Object.keys(Bcm.BaseSize).includes(size);
54
- const hostClasses = cs('bcm-avatar', `bcm-avatar__shape-${shape}`, `bcm-avatar__size-${isCustom ? 'custom' : size}`, {
55
- 'hidden': hidden,
56
- 'bcm-avatar__status': !!status
54
+ const { shape, size, status, color, blink } = this;
55
+ const dc = Generate.getTwColor({
56
+ color: color,
57
+ tones: {
58
+ 200: ["bg"],
59
+ 700: ["text"],
60
+ },
61
+ variable: "--bcm-avatar",
57
62
  });
58
- const GetIcon = () => h("bcm-icon", { icon: "fas fa-user" });
59
- return (h(Host, { class: hostClasses, style: this.setStyleVariables() }, h("span", { hidden: true }, h("slot", null)), this.isFallback ? (this.name ? this.getFirstLetters(this.name) : GetIcon())
60
- : image
61
- ? h("img", { onError: () => this.handleError(), src: image, alt: alt })
62
- : name ? this.getFirstLetters(name)
63
- : GetIcon(), status && h("bcm-badge", { status: status })));
63
+ const customSize = !Object.keys(Bcm.BaseSize).includes(size)
64
+ ? {
65
+ width: `${size}px`,
66
+ height: `${size}px`,
67
+ fontSize: `${+size / 3}px`,
68
+ }
69
+ : {};
70
+ return (h(Host, { role: "img", "aria-label": this.alt || this.name || "Avatar", class: avatarStyle({ size, shape, status: !!status }), style: Object.assign(Object.assign({}, dc), customSize) }, this.renderContent(), status && h("bcm-badge", { status: status, blink: blink, "aria-hidden": "true" }), h("slot", null)));
64
71
  }
65
72
  static get is() { return "bcm-avatar"; }
66
- static get originalStyleUrls() {
67
- return {
68
- "$": ["avatar.scss"]
69
- };
70
- }
71
- static get styleUrls() {
72
- return {
73
- "$": ["avatar.css"]
74
- };
75
- }
76
73
  static get properties() {
77
74
  return {
78
75
  "_id": {
79
76
  "type": "string",
80
- "mutable": true,
77
+ "mutable": false,
81
78
  "complexType": {
82
79
  "original": "string",
83
80
  "resolved": "string",
@@ -93,27 +90,9 @@ export class BcmAvatar {
93
90
  "reflect": true,
94
91
  "defaultValue": "Generate.UID()"
95
92
  },
96
- "hidden": {
97
- "type": "boolean",
98
- "mutable": true,
99
- "complexType": {
100
- "original": "boolean",
101
- "resolved": "boolean",
102
- "references": {}
103
- },
104
- "required": false,
105
- "optional": false,
106
- "docs": {
107
- "tags": [],
108
- "text": ""
109
- },
110
- "attribute": "hidden",
111
- "reflect": false,
112
- "defaultValue": "false"
113
- },
114
93
  "image": {
115
94
  "type": "string",
116
- "mutable": true,
95
+ "mutable": false,
117
96
  "complexType": {
118
97
  "original": "string",
119
98
  "resolved": "string",
@@ -130,7 +109,7 @@ export class BcmAvatar {
130
109
  },
131
110
  "name": {
132
111
  "type": "string",
133
- "mutable": true,
112
+ "mutable": false,
134
113
  "complexType": {
135
114
  "original": "string",
136
115
  "resolved": "string",
@@ -147,7 +126,7 @@ export class BcmAvatar {
147
126
  },
148
127
  "alt": {
149
128
  "type": "string",
150
- "mutable": true,
129
+ "mutable": false,
151
130
  "complexType": {
152
131
  "original": "string",
153
132
  "resolved": "string",
@@ -164,7 +143,7 @@ export class BcmAvatar {
164
143
  },
165
144
  "shape": {
166
145
  "type": "string",
167
- "mutable": true,
146
+ "mutable": false,
168
147
  "complexType": {
169
148
  "original": "ShapeTypes",
170
149
  "resolved": "\"ellipse\" | \"square\"",
@@ -187,7 +166,7 @@ export class BcmAvatar {
187
166
  },
188
167
  "size": {
189
168
  "type": "string",
190
- "mutable": true,
169
+ "mutable": false,
191
170
  "complexType": {
192
171
  "original": "SizeTypes",
193
172
  "resolved": "\"large\" | \"medium\" | \"small\"",
@@ -209,11 +188,11 @@ export class BcmAvatar {
209
188
  "defaultValue": "Bcm.Size.medium"
210
189
  },
211
190
  "color": {
212
- "type": "any",
213
- "mutable": true,
191
+ "type": "string",
192
+ "mutable": false,
214
193
  "complexType": {
215
- "original": "any",
216
- "resolved": "any",
194
+ "original": "string",
195
+ "resolved": "string",
217
196
  "references": {}
218
197
  },
219
198
  "required": false,
@@ -225,9 +204,27 @@ export class BcmAvatar {
225
204
  "attribute": "color",
226
205
  "reflect": false
227
206
  },
207
+ "icon": {
208
+ "type": "string",
209
+ "mutable": false,
210
+ "complexType": {
211
+ "original": "string",
212
+ "resolved": "string",
213
+ "references": {}
214
+ },
215
+ "required": false,
216
+ "optional": false,
217
+ "docs": {
218
+ "tags": [],
219
+ "text": ""
220
+ },
221
+ "attribute": "icon",
222
+ "reflect": false,
223
+ "defaultValue": "\"fas fa-user\""
224
+ },
228
225
  "status": {
229
226
  "type": "string",
230
- "mutable": true,
227
+ "mutable": false,
231
228
  "complexType": {
232
229
  "original": "StatusTypes",
233
230
  "resolved": "\"default\" | \"error\" | \"info\" | \"success\" | \"warning\"",
@@ -246,6 +243,24 @@ export class BcmAvatar {
246
243
  },
247
244
  "attribute": "status",
248
245
  "reflect": false
246
+ },
247
+ "blink": {
248
+ "type": "boolean",
249
+ "mutable": false,
250
+ "complexType": {
251
+ "original": "boolean",
252
+ "resolved": "boolean",
253
+ "references": {}
254
+ },
255
+ "required": false,
256
+ "optional": false,
257
+ "docs": {
258
+ "tags": [],
259
+ "text": ""
260
+ },
261
+ "attribute": "blink",
262
+ "reflect": false,
263
+ "defaultValue": "false"
249
264
  }
250
265
  };
251
266
  }
@@ -0,0 +1,39 @@
1
+ /*!
2
+ * Built with Stencil
3
+ * Copyright (c) Bromcom.
4
+ */
5
+ import { cva } from "class-variance-authority";
6
+ export const avatarStyle = cva([
7
+ "bcm-avatar bcm-ui-element bcm-ui-content-display",
8
+ "tw-uppercase tw-inline-flex tw-items-center tw-justify-center",
9
+ "tw-bg-[--bcm-avatar-bg] tw-text-[--bcm-avatar-text]",
10
+ "[&>img]:tw-w-full [&>img]:tw-h-full",
11
+ ], {
12
+ variants: {
13
+ size: {
14
+ small: ["bcm-avatar__size-small tw-text-1 tw-w-6 tw-h-6"],
15
+ medium: ["bcm-avatar__size-medium tw-text-2 tw-w-8 tw-h-8"],
16
+ large: ["bcm-avatar__size-large tw-text-3 tw-w-10 tw-h-10"],
17
+ },
18
+ shape: {
19
+ ellipse: ["bcm-avatar__shape-ellipse tw-rounded-full", "[&>.bcm-badge]:tw-top-0 [&>.bcm-badge]:tw-right-0", "[&>img]:tw-rounded-full"],
20
+ square: ["bcm-avatar__shape-square tw-rounded", "[&>.bcm-badge]:tw--top-0.5 [&>.bcm-badge]:tw--right-0.5", "[&>img]:tw-rounded"],
21
+ },
22
+ status: {
23
+ true: ["bcm-avatar__status tw-relative [&>.bcm-badge]:tw-absolute"],
24
+ },
25
+ },
26
+ compoundVariants: [
27
+ {
28
+ size: "medium",
29
+ shape: "ellipse",
30
+ status: false,
31
+ class: "",
32
+ },
33
+ ],
34
+ defaultVariants: {
35
+ size: "medium",
36
+ shape: "ellipse",
37
+ status: false,
38
+ },
39
+ });
@@ -2,71 +2,45 @@
2
2
  * Built with Stencil
3
3
  * Copyright (c) Bromcom.
4
4
  */
5
- import { h, Host } from '@stencil/core';
6
- import cs from 'classnames';
7
- import { Bcm } from '../../../models/bcm';
8
- import { Generate } from '../../../helper/generate';
9
- import { SlotTemplate } from '../../../templates/slot-template';
10
- import { ColorHelper } from '../../../helper/color-helper';
5
+ import { ColorHelper, Generate } from "@bcm/helpers";
6
+ import { Bcm } from "@bcm/model";
7
+ import { Host, h } from "@stencil/core";
8
+ import { badgeStyle } from "./badge.style";
11
9
  export class BcmBadge {
12
10
  constructor() {
11
+ this.statusColors = {
12
+ info: "blue",
13
+ error: "red",
14
+ warning: "amber",
15
+ success: "emerald",
16
+ };
13
17
  this._id = Generate.UID();
14
- this.hidden = false;
15
18
  this.blink = false;
16
19
  this.value = undefined;
17
20
  this.color = undefined;
18
21
  this.size = Bcm.Size.medium;
19
22
  this.status = undefined;
20
- this._slot = undefined;
21
- }
22
- setStyleVariables() {
23
- const { status, value } = this;
24
- let { color } = this;
25
- const statusColors = {
26
- 'info': 'blue',
27
- 'error': 'red',
28
- 'warning': 'amber',
29
- 'success': 'emerald',
30
- 'default': 'slate'
31
- };
32
- !!status && (color = statusColors[status]);
33
- !color && (color = 'slate');
34
- const prefix = `--bcm-badge`;
35
- const spacing = !!value && value.length > 1 ? '8' : '4';
36
- return {
37
- [`${prefix}-color`]: ColorHelper.reverseColor(ColorHelper.dsColor(`${color}`)),
38
- [`${prefix}-background-color`]: ColorHelper.dsColor(`${color}`),
39
- [`${prefix}-spacing`]: `${spacing}px`
40
- };
41
23
  }
42
24
  render() {
43
- let { blink, value, size, _slot, hidden } = this;
44
- const dotClass = cs('bcm-badge__dot', 'bcm-badge__dot-size-' + size,
45
- // 'size-2',
46
- {
47
- 'bcm-badge__dot-blink': blink
48
- });
49
- const hostClasses = cs('bcm-badge', {
50
- hidden
25
+ const { blink, value, size, color, status } = this;
26
+ const _color = this.statusColors[status] || color;
27
+ const { tone, colorName } = ColorHelper.parseColor(_color);
28
+ const dc = Generate.getTwColor({
29
+ color: colorName,
30
+ tones: {
31
+ [tone]: ["bg"],
32
+ },
33
+ variable: "--bcm-badge",
51
34
  });
52
- return (h(Host, { class: hostClasses, style: this.setStyleVariables() }, h("span", { hidden: true }, h("slot", null)), h("div", { class: dotClass }, !!value && h("span", { class: "bcm-badge__dot-text" }, value)), h(SlotTemplate, { value: _slot })));
35
+ const style = Object.assign(Object.assign({}, dc), (dc["--bcm-badge-bg"] && { "--bcm-badge-text": ColorHelper.reverseColor(dc["--bcm-badge-bg"]) }));
36
+ return (h(Host, { class: "bcm-badge tw-inline-flex tw-items-center tw-justify-center", role: "status", "aria-live": "polite" }, h("div", { class: badgeStyle({ size, blink }), style: style }, h("span", { class: "bcm-badge__dot-text", role: "presentation", "aria-hidden": "true" }, h("slot", null, value)), h("span", { class: "tw-sr-only" }, value))));
53
37
  }
54
38
  static get is() { return "bcm-badge"; }
55
- static get originalStyleUrls() {
56
- return {
57
- "$": ["badge.scss"]
58
- };
59
- }
60
- static get styleUrls() {
61
- return {
62
- "$": ["badge.css"]
63
- };
64
- }
65
39
  static get properties() {
66
40
  return {
67
41
  "_id": {
68
42
  "type": "string",
69
- "mutable": true,
43
+ "mutable": false,
70
44
  "complexType": {
71
45
  "original": "string",
72
46
  "resolved": "string",
@@ -82,27 +56,9 @@ export class BcmBadge {
82
56
  "reflect": true,
83
57
  "defaultValue": "Generate.UID()"
84
58
  },
85
- "hidden": {
86
- "type": "boolean",
87
- "mutable": true,
88
- "complexType": {
89
- "original": "boolean",
90
- "resolved": "boolean",
91
- "references": {}
92
- },
93
- "required": false,
94
- "optional": false,
95
- "docs": {
96
- "tags": [],
97
- "text": ""
98
- },
99
- "attribute": "hidden",
100
- "reflect": false,
101
- "defaultValue": "false"
102
- },
103
59
  "blink": {
104
60
  "type": "boolean",
105
- "mutable": true,
61
+ "mutable": false,
106
62
  "complexType": {
107
63
  "original": "boolean",
108
64
  "resolved": "boolean",
@@ -120,7 +76,7 @@ export class BcmBadge {
120
76
  },
121
77
  "value": {
122
78
  "type": "string",
123
- "mutable": true,
79
+ "mutable": false,
124
80
  "complexType": {
125
81
  "original": "string",
126
82
  "resolved": "string",
@@ -137,7 +93,7 @@ export class BcmBadge {
137
93
  },
138
94
  "color": {
139
95
  "type": "any",
140
- "mutable": true,
96
+ "mutable": false,
141
97
  "complexType": {
142
98
  "original": "any",
143
99
  "resolved": "any",
@@ -154,14 +110,14 @@ export class BcmBadge {
154
110
  },
155
111
  "size": {
156
112
  "type": "string",
157
- "mutable": true,
113
+ "mutable": false,
158
114
  "complexType": {
159
115
  "original": "SizeTypes",
160
116
  "resolved": "\"large\" | \"medium\" | \"small\"",
161
117
  "references": {
162
118
  "SizeTypes": {
163
119
  "location": "import",
164
- "path": "../../../models/bcm-types"
120
+ "path": "@bcm/model"
165
121
  }
166
122
  }
167
123
  },
@@ -177,14 +133,14 @@ export class BcmBadge {
177
133
  },
178
134
  "status": {
179
135
  "type": "string",
180
- "mutable": true,
136
+ "mutable": false,
181
137
  "complexType": {
182
138
  "original": "StatusTypes",
183
139
  "resolved": "\"default\" | \"error\" | \"info\" | \"success\" | \"warning\"",
184
140
  "references": {
185
141
  "StatusTypes": {
186
142
  "location": "import",
187
- "path": "../../../models/bcm-types"
143
+ "path": "@bcm/model"
188
144
  }
189
145
  }
190
146
  },
@@ -196,23 +152,6 @@ export class BcmBadge {
196
152
  },
197
153
  "attribute": "status",
198
154
  "reflect": false
199
- },
200
- "_slot": {
201
- "type": "any",
202
- "mutable": true,
203
- "complexType": {
204
- "original": "any",
205
- "resolved": "any",
206
- "references": {}
207
- },
208
- "required": false,
209
- "optional": false,
210
- "docs": {
211
- "tags": [],
212
- "text": ""
213
- },
214
- "attribute": "slot",
215
- "reflect": false
216
155
  }
217
156
  };
218
157
  }
@@ -0,0 +1,39 @@
1
+ /*!
2
+ * Built with Stencil
3
+ * Copyright (c) Bromcom.
4
+ */
5
+ import { cva } from "class-variance-authority";
6
+ export const badgeStyle = cva([
7
+ "bcm-badge__dot bcm-ui-element bcm-ui-content-display",
8
+ "tw-flex tw-items-center tw-justify-center tw-flex-row",
9
+ "tw-rounded-full tw-text-center",
10
+ "tw-bg-[--bcm-badge-bg] tw-text-[--bcm-badge-text]",
11
+ " tw-whitespace-nowrap [&>*:empty]:tw-hidden",
12
+ ], {
13
+ variants: {
14
+ size: {
15
+ small: ["bcm-badge__dot-size-small tw-text-1 tw-min-w-1.5 tw-min-h-1.5 [&>*]:tw-px-1.5 [&>*]:tw-min-w-4"],
16
+ medium: ["bcm-badge__dot-size-medium tw-text-2 tw-min-w-2 tw-min-h-2 [&>*]:tw-px-1.5 [&>*]:tw-min-w-5"],
17
+ large: ["bcm-badge__dot-size-large tw-text-3 tw-min-w-2.5 tw-min-h-2.5 [&>*]:tw-px-2 [&>*]:tw-min-w-6"], //10
18
+ },
19
+ blink: {
20
+ true: [
21
+ "bcm-badge__dot-blink tw-relative",
22
+ "after:tw-content-[''] after:tw-absolute after:tw-top-0 after:tw-left-0 after:tw-z-[-1]",
23
+ "after:tw-w-full after:tw-h-full after:tw-bg-[--bcm-badge-bg] after:tw-opacity-75 after:tw-rounded-full",
24
+ "after:tw-animate-blink after:tw-pointer-events-none"
25
+ ],
26
+ },
27
+ },
28
+ compoundVariants: [
29
+ {
30
+ size: "medium",
31
+ blink: false,
32
+ class: "",
33
+ },
34
+ ],
35
+ defaultVariants: {
36
+ size: "medium",
37
+ blink: false,
38
+ },
39
+ });
@@ -233,20 +233,20 @@ export class BcmInput {
233
233
  }
234
234
  validationRange() {
235
235
  const { min, max, value } = this;
236
- if (value) {
237
- if (min && max) {
236
+ if (value !== undefined) {
237
+ if ((min !== undefined) && (max !== undefined)) {
238
238
  if (value < min || value > max) {
239
239
  this.setCaption(StringHelper.getMessage('between', [min, max]), "error");
240
240
  return false;
241
241
  }
242
242
  }
243
- else if (min) {
243
+ else if (min !== undefined) {
244
244
  if (value < min) {
245
245
  this.setCaption(StringHelper.getMessage('min', [min]), "error");
246
246
  return false;
247
247
  }
248
248
  }
249
- else if (max) {
249
+ else if (max !== undefined) {
250
250
  if (value > max) {
251
251
  this.setCaption(StringHelper.getMessage('max', [max]), "error");
252
252
  return false;
@@ -22,7 +22,7 @@ export class BcmItems {
22
22
  const item = element;
23
23
  const textContent = (_a = item === null || item === void 0 ? void 0 : item.innerHTML) === null || _a === void 0 ? void 0 : _a.replace(/<bcm-item>.*<\/bcm-item>/g, '').replace(/<bcm-item .*>.*<\/bcm-item>/g, '').replace(/<!--(.|\s)*?-->/g, '').trim();
24
24
  const checkAttr = (attr) => StringHelper.elementBooleanCheck(element.getAttribute(attr));
25
- return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ id: element.getAttribute('id') || Generate.UID(), text: element.getAttribute('text') || textContent }, (element.innerHTML.trim() && { isHtmlContent: element.textContent.length > 0 ? (element.innerHTML.trim()) : null })), (checkAttr('disabled') && { disabled: checkAttr('disabled') })), (checkAttr('selected') && { selected: checkAttr('selected') })), (checkAttr('checked') && { checked: checkAttr('checked') })), (checkAttr('readonly') && { readonly: checkAttr('readonly') })), (checkAttr('active') && { active: checkAttr('active') })), (checkAttr('icon') && { icon: element.getAttribute('icon') })), (checkAttr('link') && { link: element.getAttribute('link') }));
25
+ return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ id: element.getAttribute('id') || Generate.UID(), text: element.getAttribute('text') || textContent }, (element.innerHTML.trim() && { isHtmlContent: element.textContent.length > 0 ? (element.innerHTML.trim()) : null })), (checkAttr('disabled') && { disabled: checkAttr('disabled') })), (checkAttr('selected') && { selected: checkAttr('selected') })), (checkAttr('hidden') && { hidden: checkAttr('hidden') })), (checkAttr('checked') && { checked: checkAttr('checked') })), (checkAttr('readonly') && { readonly: checkAttr('readonly') })), (checkAttr('active') && { active: checkAttr('active') })), (checkAttr('icon') && { icon: element.getAttribute('icon') })), (checkAttr('link') && { link: element.getAttribute('link') }));
26
26
  }
27
27
  nestedItems(element) {
28
28
  return snq(() => Array.from(element === null || element === void 0 ? void 0 : element.children).map((child) => {
@@ -94,6 +94,7 @@ export class BcmMenu {
94
94
  }
95
95
  return (h("a", { id: 'bcm-menu__item-' + this._id + '-' + item.id, onMouseEnter: () => this.collapse && this.getTooltip(item.id, item.text).show(), onMouseLeave: () => this.collapse && this.getTooltip(item.id, item.text).hide(), key: index, href: !item.disabled ? item.link || 'javascript:void(0)' : 'javascript:void(0)', tabindex: item.disabled ? '-1' : '0', class: cs('bcm-menu__item', {
96
96
  'bcm-menu__item--is-sub': subItems && item.isOpen,
97
+ 'hidden tw-hidden': item.hidden,
97
98
  }) }, h("span", { class: cs('bcm-menu__item-link', `bcm-menu__item-link--${this.mode}`, {
98
99
  'bcm-menu__item-link--active': this.selectable && (this.activeItemId ? this.activeItemId === item.id : item.active),
99
100
  'bcm-menu__item-link--disabled': item.disabled,
@@ -69,7 +69,7 @@ export class BcmPopover {
69
69
  this.popover.toggle();
70
70
  }
71
71
  render() {
72
- return (h(Host, { "aria-describedby": "popover", class: "tw-inline-flex tw-h-fit tw-w-fit" }, h("slot", null)));
72
+ return (h(Host, { class: "tw-inline-flex tw-h-fit tw-w-fit", role: "tooltip", "aria-hidden": "true" }, h("slot", null)));
73
73
  }
74
74
  static get is() { return "bcm-popover"; }
75
75
  static get properties() {
@@ -178,7 +178,11 @@ export class BcmTabGroup {
178
178
  }
179
179
  render() {
180
180
  const { color } = this;
181
- return (h(Host, { role: "tablist", "aria-label": "Tab Group", class: "tw-flex tw-w-full tw-flex-col tw-items-center tw-font-sans" }, h("div", { class: `tw-relative tw-flex tw-w-full tw-flex-row tw-items-end tw-justify-between`, id: "tab-header" }, h("div", { id: "ink-bar", class: `tw-bg-${color}-500 tw-absolute tw-bottom-0 tw-left-0 tw-mt-[-2px] tw-h-[2px] tw-rounded-sm tw-transition-transform` })), h("slot", null)));
181
+ const dc = Generate.getTwColor({
182
+ color: color,
183
+ tones: [500]
184
+ });
185
+ return (h(Host, { role: "tablist", "aria-label": "Tab Group", class: "tw-flex tw-w-full tw-flex-col tw-items-center tw-font-sans" }, h("div", { class: `tw-relative tw-flex tw-w-full tw-flex-row tw-items-end tw-justify-between`, id: "tab-header", style: dc }, h("div", { id: "ink-bar", class: `tw-bg-default-500 tw-absolute tw-bottom-0 tw-left-0 tw-mt-[-2px] tw-h-[2px] tw-rounded-sm tw-transition-transform` })), h("slot", null)));
182
186
  }
183
187
  static get is() { return "bcm-tab-group"; }
184
188
  static get properties() {
@@ -23,33 +23,18 @@ export class BcmTabItemHeader {
23
23
  }
24
24
  render() {
25
25
  const { color, size, active, disabled } = this;
26
- let fontSize, padding, gap;
27
- switch (size) {
28
- case Bcm.Size.small:
29
- fontSize = "2";
30
- padding = "1";
31
- gap = "2";
32
- break;
33
- case Bcm.Size.medium:
34
- fontSize = "3";
35
- padding = "2";
36
- gap = "3";
37
- break;
38
- case Bcm.Size.large:
39
- fontSize = "4";
40
- padding = "3";
41
- gap = "4";
42
- break;
43
- default:
44
- fontSize = "3";
45
- padding = "2";
46
- gap = "3";
47
- break;
48
- }
49
26
  const disabledClass = "tw-cursor-not-allowed tw-text-gray-400 tw-opacity-50";
50
- return (h(Host, { onClick: () => this.handleClick(), class: cs(`tw-text-${fontSize} tw-py-${padding} tw-flex tw-flex-1 tw-items-center tw-justify-center tw-border-b-[2px] tw-border-b-slate-300 tw-transition-font tw-gap-${gap} tw-focus:outline-none tw-mb-${padding}]`, disabled ? disabledClass : "tw-cursor-pointer", active
51
- ? `tw-text-${color}-500 enabled:hover:tw-text-${color}-600 enabled:active:tw-text-${color}-700 enabled:focus-visible:tw-text-${color}-800`
52
- : "tw-text-slate-400 enabled:hover:tw-text-slate-500 enabled:focus-visible:tw-text-slate-700 enabled:active:tw-text-slate-600") }));
27
+ const dc = Generate.getTwColor({
28
+ color: color,
29
+ tones: [500, 600, 700, 800]
30
+ });
31
+ return (h(Host, { onClick: () => this.handleClick(), class: cs(`tw-flex tw-flex-1 tw-items-center tw-justify-center tw-border-b-[2px] tw-border-b-slate-300 tw-transition-font tw-focus:outline-none`, {
32
+ "tw-text-2 tw-py-1 tw-gap-2": size === Bcm.Size.small,
33
+ "tw-text-3 tw-py-2 tw-gap-3": size === Bcm.Size.medium,
34
+ "tw-text-4 tw-py-3 tw-gap-4": size === Bcm.Size.large,
35
+ }, disabled ? disabledClass : "tw-cursor-pointer", active
36
+ ? `tw-text-default-500 enabled:hover:tw-text-default-600 enabled:active:tw-text-default-700 enabled:focus-visible:tw-text-default-800`
37
+ : "tw-text-slate-400 enabled:hover:tw-text-slate-500 enabled:focus-visible:tw-text-slate-700 enabled:active:tw-text-slate-600"), style: dc }));
53
38
  }
54
39
  static get is() { return "bcm-tab-item-header"; }
55
40
  static get properties() {