bromcom-ui-next 0.1.5 → 0.1.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 (377) 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/bromcom-ui.esm.js.map +1 -1
  4. package/dist/bromcom-ui/p-0d0d6483.entry.js +2 -0
  5. package/dist/bromcom-ui/{p-e08b23ff.entry.js.map → p-0d0d6483.entry.js.map} +1 -1
  6. package/dist/bromcom-ui/p-13784cd7.entry.js +2 -0
  7. package/dist/bromcom-ui/p-13784cd7.entry.js.map +1 -0
  8. package/dist/bromcom-ui/p-13a245f6.js +2 -0
  9. package/dist/bromcom-ui/p-13a245f6.js.map +1 -0
  10. package/dist/bromcom-ui/p-25038cc8.entry.js +2 -0
  11. package/dist/bromcom-ui/p-25038cc8.entry.js.map +1 -0
  12. package/dist/bromcom-ui/p-308f865b.entry.js +2 -0
  13. package/dist/bromcom-ui/p-308f865b.entry.js.map +1 -0
  14. package/dist/bromcom-ui/{p-f0ece968.entry.js → p-385fa0f3.entry.js} +2 -2
  15. package/dist/bromcom-ui/p-389f1976.entry.js +2 -0
  16. package/dist/bromcom-ui/p-389f1976.entry.js.map +1 -0
  17. package/dist/bromcom-ui/p-3b230145.entry.js +2 -0
  18. package/dist/bromcom-ui/p-3b230145.entry.js.map +1 -0
  19. package/dist/bromcom-ui/p-49b0e982.entry.js +2 -0
  20. package/dist/bromcom-ui/p-49b0e982.entry.js.map +1 -0
  21. package/dist/bromcom-ui/p-55c4263c.entry.js +2 -0
  22. package/dist/bromcom-ui/p-55c4263c.entry.js.map +1 -0
  23. package/dist/bromcom-ui/{p-f9eeafa7.entry.js → p-58ee24a8.entry.js} +2 -2
  24. package/dist/bromcom-ui/p-729a870f.js.map +1 -1
  25. package/dist/bromcom-ui/p-9551c35e.entry.js +2 -0
  26. package/dist/bromcom-ui/p-9551c35e.entry.js.map +1 -0
  27. package/dist/bromcom-ui/p-9594cebb.js +2 -0
  28. package/dist/bromcom-ui/p-9594cebb.js.map +1 -0
  29. package/dist/bromcom-ui/p-98c76392.entry.js +2 -0
  30. package/dist/bromcom-ui/p-98c76392.entry.js.map +1 -0
  31. package/dist/bromcom-ui/p-a29e61a4.entry.js +2 -0
  32. package/dist/bromcom-ui/{p-7a1bf6a6.entry.js.map → p-a29e61a4.entry.js.map} +1 -1
  33. package/dist/bromcom-ui/p-ba2410ef.js +2 -0
  34. package/dist/bromcom-ui/p-ba2410ef.js.map +1 -0
  35. package/dist/bromcom-ui/p-bd0f7e78.entry.js +2 -0
  36. package/dist/bromcom-ui/p-bd0f7e78.entry.js.map +1 -0
  37. package/dist/bromcom-ui/p-bf69fc8a.entry.js +2 -0
  38. package/dist/bromcom-ui/p-bf69fc8a.entry.js.map +1 -0
  39. package/dist/bromcom-ui/{p-5bee2e76.entry.js → p-c1161950.entry.js} +2 -2
  40. package/dist/bromcom-ui/p-c2b3945e.entry.js +2 -0
  41. package/dist/bromcom-ui/p-c2b3945e.entry.js.map +1 -0
  42. package/dist/bromcom-ui/{p-53f21d16.entry.js → p-c427ffee.entry.js} +2 -2
  43. package/dist/bromcom-ui/p-c444235a.entry.js +2 -0
  44. package/dist/bromcom-ui/{p-63cb0933.entry.js.map → p-c444235a.entry.js.map} +1 -1
  45. package/dist/bromcom-ui/p-c995a48c.entry.js +2 -0
  46. package/dist/bromcom-ui/p-c995a48c.entry.js.map +1 -0
  47. package/dist/bromcom-ui/p-c9b736d9.js +3 -0
  48. package/dist/{cjs/index-4795c073.js.map → bromcom-ui/p-c9b736d9.js.map} +1 -1
  49. package/dist/bromcom-ui/p-cd271b49.entry.js +2 -0
  50. package/dist/bromcom-ui/p-cd271b49.entry.js.map +1 -0
  51. package/dist/bromcom-ui/p-cee68279.entry.js +2 -0
  52. package/dist/bromcom-ui/{p-2bbd3c52.entry.js.map → p-cee68279.entry.js.map} +1 -1
  53. package/dist/bromcom-ui/{p-6abaf96f.entry.js → p-d57587e5.entry.js} +2 -2
  54. package/dist/bromcom-ui/p-e89ab4a7.entry.js +2 -0
  55. package/dist/bromcom-ui/p-e89ab4a7.entry.js.map +1 -0
  56. package/dist/bromcom-ui/{p-4f402148.entry.js → p-f2d8aa70.entry.js} +2 -2
  57. package/dist/bromcom-ui/p-f4e8a47d.entry.js +2 -0
  58. package/dist/bromcom-ui/p-f4e8a47d.entry.js.map +1 -0
  59. package/dist/cjs/app-globals-29edfda4.js.map +1 -1
  60. package/dist/cjs/bcm-accordion-group.cjs.entry.js +1 -1
  61. package/dist/cjs/bcm-accordion.cjs.entry.js +1 -1
  62. package/dist/cjs/bcm-alert.cjs.entry.js +1 -1
  63. package/dist/cjs/bcm-avatar_4.cjs.entry.js +12 -6
  64. package/dist/cjs/bcm-avatar_4.cjs.entry.js.map +1 -1
  65. package/dist/cjs/bcm-button-group.cjs.entry.js +97 -0
  66. package/dist/cjs/bcm-button-group.cjs.entry.js.map +1 -0
  67. package/dist/cjs/bcm-checkbox.cjs.entry.js +226 -0
  68. package/dist/cjs/bcm-checkbox.cjs.entry.js.map +1 -0
  69. package/dist/cjs/bcm-chip.cjs.entry.js +2 -2
  70. package/dist/cjs/bcm-divider.cjs.entry.js +2 -2
  71. package/dist/cjs/bcm-dropdown-item.cjs.entry.js +3 -3
  72. package/dist/cjs/bcm-dropdown.cjs.entry.js +3 -3
  73. package/dist/cjs/bcm-dropdown.cjs.entry.js.map +1 -1
  74. package/dist/cjs/bcm-input.cjs.entry.js +7 -6
  75. package/dist/cjs/bcm-input.cjs.entry.js.map +1 -1
  76. package/dist/cjs/bcm-linked.cjs.entry.js +9 -1899
  77. package/dist/cjs/bcm-linked.cjs.entry.js.map +1 -1
  78. package/dist/cjs/bcm-pop-confirm.cjs.entry.js +252 -0
  79. package/dist/cjs/bcm-pop-confirm.cjs.entry.js.map +1 -0
  80. package/dist/cjs/bcm-popover.cjs.entry.js +191 -0
  81. package/dist/cjs/bcm-popover.cjs.entry.js.map +1 -0
  82. package/dist/cjs/bcm-radio-group.cjs.entry.js +171 -0
  83. package/dist/cjs/bcm-radio-group.cjs.entry.js.map +1 -0
  84. package/dist/cjs/bcm-radio.cjs.entry.js +173 -0
  85. package/dist/cjs/bcm-radio.cjs.entry.js.map +1 -0
  86. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +109 -0
  87. package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js.map +1 -0
  88. package/dist/cjs/bcm-segmented-picker.cjs.entry.js +146 -0
  89. package/dist/cjs/bcm-segmented-picker.cjs.entry.js.map +1 -0
  90. package/dist/cjs/bcm-switch.cjs.entry.js +188 -0
  91. package/dist/cjs/bcm-switch.cjs.entry.js.map +1 -0
  92. package/dist/cjs/bcm-tabs-content.cjs.entry.js +22 -0
  93. package/dist/cjs/bcm-tabs-content.cjs.entry.js.map +1 -0
  94. package/dist/cjs/bcm-tabs-list.cjs.entry.js +43 -0
  95. package/dist/cjs/bcm-tabs-list.cjs.entry.js.map +1 -0
  96. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +92 -0
  97. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +1 -0
  98. package/dist/cjs/bcm-tabs.cjs.entry.js +211 -0
  99. package/dist/cjs/bcm-tabs.cjs.entry.js.map +1 -0
  100. package/dist/cjs/bcm-text.cjs.entry.js +2 -2
  101. package/dist/cjs/bcm-textarea.cjs.entry.js +8 -7
  102. package/dist/cjs/bcm-textarea.cjs.entry.js.map +1 -1
  103. package/dist/cjs/bcm-tooltip.cjs.entry.js +187 -0
  104. package/dist/cjs/bcm-tooltip.cjs.entry.js.map +1 -0
  105. package/dist/cjs/bromcom-ui.cjs.js +2 -2
  106. package/dist/cjs/floating-ui.dom.esm-3ec8404c.js +2085 -0
  107. package/dist/cjs/floating-ui.dom.esm-3ec8404c.js.map +1 -0
  108. package/dist/{components/p-31354aaa.js → cjs/generate-id-f6982042.js} +4 -47
  109. package/dist/cjs/generate-id-f6982042.js.map +1 -0
  110. package/dist/cjs/{index-4795c073.js → index-9a2c5938.js} +36 -7
  111. package/dist/{bromcom-ui/p-15fe392b.js.map → cjs/index-9a2c5938.js.map} +1 -1
  112. package/dist/cjs/loader.cjs.js +2 -2
  113. package/dist/cjs/validation-messages-18389279.js +52 -0
  114. package/dist/cjs/validation-messages-18389279.js.map +1 -0
  115. package/dist/collection/collection-manifest.json +15 -1
  116. package/dist/collection/components/avatar/avatar.css +1 -1
  117. package/dist/collection/components/badge/badge.css +1 -1
  118. package/dist/collection/components/button/button.component.js +33 -2
  119. package/dist/collection/components/button/button.component.js.map +1 -1
  120. package/dist/collection/components/button/button.css +1 -1
  121. package/dist/collection/components/button/types.js.map +1 -1
  122. package/dist/collection/components/button-group/button-group.component.js +252 -0
  123. package/dist/collection/components/button-group/button-group.component.js.map +1 -0
  124. package/dist/collection/components/button-group/button-group.css +1 -0
  125. package/dist/collection/components/button-group/types.js +2 -0
  126. package/dist/collection/components/button-group/types.js.map +1 -0
  127. package/dist/collection/components/checkbox/checkbox.component.js +440 -0
  128. package/dist/collection/components/checkbox/checkbox.component.js.map +1 -0
  129. package/dist/collection/components/checkbox/checkbox.css +1 -0
  130. package/dist/collection/components/chip/chip.component.js +1 -1
  131. package/dist/collection/components/divider/divider.component.js +1 -1
  132. package/dist/collection/components/dropdown/dropdown.component.js +1 -1
  133. package/dist/collection/components/dropdown/dropdown.css +1 -1
  134. package/dist/collection/components/dropdown-item/dropdown-item.component.js +2 -2
  135. package/dist/collection/components/input/input.component.js +2 -2
  136. package/dist/collection/components/input/input.css +1 -1
  137. package/dist/collection/components/linked/linked.component.js +2 -2
  138. package/dist/collection/components/linked/linked.css +1 -1
  139. package/dist/collection/components/pop-confirm/pop-confirm.component.js +629 -0
  140. package/dist/collection/components/pop-confirm/pop-confirm.component.js.map +1 -0
  141. package/dist/collection/components/pop-confirm/pop-confirm.css +1 -0
  142. package/dist/collection/components/popover/popover.component.js +477 -0
  143. package/dist/collection/components/popover/popover.component.js.map +1 -0
  144. package/dist/collection/components/popover/popover.css +1 -0
  145. package/dist/collection/components/radio/radio.component.js +502 -0
  146. package/dist/collection/components/radio/radio.component.js.map +1 -0
  147. package/dist/collection/components/radio/radio.css +1 -0
  148. package/dist/collection/components/radio-group/radio-group.component.js +523 -0
  149. package/dist/collection/components/radio-group/radio-group.component.js.map +1 -0
  150. package/dist/collection/components/radio-group/radio-group.css +1 -0
  151. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +253 -0
  152. package/dist/collection/components/segmented-picker/segmented-picker-option.component.js.map +1 -0
  153. package/dist/collection/components/segmented-picker/segmented-picker-option.css +1 -0
  154. package/dist/collection/components/segmented-picker/segmented-picker.component.js +269 -0
  155. package/dist/collection/components/segmented-picker/segmented-picker.component.js.map +1 -0
  156. package/dist/collection/components/segmented-picker/segmented-picker.css +1 -0
  157. package/dist/collection/components/segmented-picker/types.js +2 -0
  158. package/dist/collection/components/segmented-picker/types.js.map +1 -0
  159. package/dist/collection/components/switch/switch.component.js +452 -0
  160. package/dist/collection/components/switch/switch.component.js.map +1 -0
  161. package/dist/collection/components/switch/switch.css +1 -0
  162. package/dist/collection/components/tabs/bcm-tabs.css +1 -0
  163. package/dist/collection/components/tabs/tabs-content.component.js +46 -0
  164. package/dist/collection/components/tabs/tabs-content.component.js.map +1 -0
  165. package/dist/collection/components/tabs/tabs-content.css +1 -0
  166. package/dist/collection/components/tabs/tabs-list.component.js +46 -0
  167. package/dist/collection/components/tabs/tabs-list.component.js.map +1 -0
  168. package/dist/collection/components/tabs/tabs-list.css +1 -0
  169. package/dist/collection/components/tabs/tabs-trigger.component.js +195 -0
  170. package/dist/collection/components/tabs/tabs-trigger.component.js.map +1 -0
  171. package/dist/collection/components/tabs/tabs-trigger.css +1 -0
  172. package/dist/collection/components/tabs/tabs.component.js +422 -0
  173. package/dist/collection/components/tabs/tabs.component.js.map +1 -0
  174. package/dist/collection/components/text/text.component.js +1 -1
  175. package/dist/collection/components/textarea/textarea.component.js +3 -3
  176. package/dist/collection/components/textarea/textarea.css +1 -1
  177. package/dist/collection/components/tooltip/tooltip.component.js +385 -0
  178. package/dist/collection/components/tooltip/tooltip.component.js.map +1 -0
  179. package/dist/collection/components/tooltip/tooltip.css +1 -0
  180. package/dist/collection/styles/theme-variables.js +14 -0
  181. package/dist/collection/styles/theme-variables.js.map +1 -1
  182. package/dist/components/bcm-accordion-group.js +1 -1
  183. package/dist/components/bcm-accordion.js +1 -1
  184. package/dist/components/bcm-alert.js +1 -1
  185. package/dist/components/bcm-avatar.js +3 -3
  186. package/dist/components/bcm-avatar.js.map +1 -1
  187. package/dist/components/bcm-badge.js +1 -1
  188. package/dist/components/bcm-basic-badge.js +1 -1
  189. package/dist/components/bcm-button-group.d.ts +11 -0
  190. package/dist/components/bcm-button-group.js +120 -0
  191. package/dist/components/bcm-button-group.js.map +1 -0
  192. package/dist/components/bcm-button.js +1 -1
  193. package/dist/components/bcm-checkbox.d.ts +11 -0
  194. package/dist/components/bcm-checkbox.js +256 -0
  195. package/dist/components/bcm-checkbox.js.map +1 -0
  196. package/dist/components/bcm-chip.js +2 -2
  197. package/dist/components/bcm-divider.js +2 -2
  198. package/dist/components/bcm-dropdown-item.js +3 -3
  199. package/dist/components/bcm-dropdown.js +5 -5
  200. package/dist/components/bcm-dropdown.js.map +1 -1
  201. package/dist/components/bcm-input.js +6 -5
  202. package/dist/components/bcm-input.js.map +1 -1
  203. package/dist/components/bcm-linked.js +1 -1
  204. package/dist/components/bcm-pop-confirm.d.ts +11 -0
  205. package/dist/components/bcm-pop-confirm.js +288 -0
  206. package/dist/components/bcm-pop-confirm.js.map +1 -0
  207. package/dist/components/bcm-popover.d.ts +11 -0
  208. package/dist/components/bcm-popover.js +216 -0
  209. package/dist/components/bcm-popover.js.map +1 -0
  210. package/dist/components/bcm-radio-group.d.ts +11 -0
  211. package/dist/components/bcm-radio-group.js +200 -0
  212. package/dist/components/bcm-radio-group.js.map +1 -0
  213. package/dist/components/bcm-radio.d.ts +11 -0
  214. package/dist/components/bcm-radio.js +198 -0
  215. package/dist/components/bcm-radio.js.map +1 -0
  216. package/dist/components/bcm-segmented-picker-option.d.ts +11 -0
  217. package/dist/components/bcm-segmented-picker-option.js +131 -0
  218. package/dist/components/bcm-segmented-picker-option.js.map +1 -0
  219. package/dist/components/bcm-segmented-picker.d.ts +11 -0
  220. package/dist/components/bcm-segmented-picker.js +170 -0
  221. package/dist/components/bcm-segmented-picker.js.map +1 -0
  222. package/dist/components/bcm-switch.d.ts +11 -0
  223. package/dist/components/bcm-switch.js +215 -0
  224. package/dist/components/bcm-switch.js.map +1 -0
  225. package/dist/components/bcm-tabs-content.d.ts +11 -0
  226. package/dist/components/bcm-tabs-content.js +39 -0
  227. package/dist/components/bcm-tabs-content.js.map +1 -0
  228. package/dist/components/bcm-tabs-list.d.ts +11 -0
  229. package/dist/components/bcm-tabs-list.js +58 -0
  230. package/dist/components/bcm-tabs-list.js.map +1 -0
  231. package/dist/components/bcm-tabs-trigger.d.ts +11 -0
  232. package/dist/components/bcm-tabs-trigger.js +112 -0
  233. package/dist/components/bcm-tabs-trigger.js.map +1 -0
  234. package/dist/components/bcm-tabs.d.ts +11 -0
  235. package/dist/components/bcm-tabs.js +239 -0
  236. package/dist/components/bcm-tabs.js.map +1 -0
  237. package/dist/components/bcm-text.js +2 -2
  238. package/dist/components/bcm-textarea.js +7 -6
  239. package/dist/components/bcm-textarea.js.map +1 -1
  240. package/dist/components/bcm-tooltip.d.ts +11 -0
  241. package/dist/components/bcm-tooltip.js +211 -0
  242. package/dist/components/bcm-tooltip.js.map +1 -0
  243. package/dist/components/index.js +1 -1
  244. package/dist/components/p-13a245f6.js +48 -0
  245. package/dist/components/p-13a245f6.js.map +1 -0
  246. package/dist/components/{p-e918f815.js → p-49f20ff7.js} +3 -3
  247. package/dist/components/{p-e918f815.js.map → p-49f20ff7.js.map} +1 -1
  248. package/dist/components/{p-13582168.js → p-5377117d.js} +32 -6
  249. package/dist/components/p-5377117d.js.map +1 -0
  250. package/dist/components/p-5f7a0d0d.js +107 -0
  251. package/dist/components/p-5f7a0d0d.js.map +1 -0
  252. package/dist/components/{p-613ee92d.js → p-9594cebb.js} +201 -120
  253. package/dist/components/p-9594cebb.js.map +1 -0
  254. package/dist/{esm/validation-messages-a29d53be.js → components/p-ba2410ef.js} +2 -47
  255. package/dist/components/p-ba2410ef.js.map +1 -0
  256. package/dist/components/{p-0063a3d9.js → p-c3a60937.js} +12 -5
  257. package/dist/components/p-c3a60937.js.map +1 -0
  258. package/dist/esm/app-globals-bfa07b76.js.map +1 -1
  259. package/dist/esm/bcm-accordion-group.entry.js +1 -1
  260. package/dist/esm/bcm-accordion.entry.js +1 -1
  261. package/dist/esm/bcm-alert.entry.js +1 -1
  262. package/dist/esm/bcm-avatar_4.entry.js +12 -6
  263. package/dist/esm/bcm-avatar_4.entry.js.map +1 -1
  264. package/dist/esm/bcm-button-group.entry.js +93 -0
  265. package/dist/esm/bcm-button-group.entry.js.map +1 -0
  266. package/dist/esm/bcm-checkbox.entry.js +222 -0
  267. package/dist/esm/bcm-checkbox.entry.js.map +1 -0
  268. package/dist/esm/bcm-chip.entry.js +2 -2
  269. package/dist/esm/bcm-divider.entry.js +2 -2
  270. package/dist/esm/bcm-dropdown-item.entry.js +3 -3
  271. package/dist/esm/bcm-dropdown.entry.js +3 -3
  272. package/dist/esm/bcm-dropdown.entry.js.map +1 -1
  273. package/dist/esm/bcm-input.entry.js +6 -5
  274. package/dist/esm/bcm-input.entry.js.map +1 -1
  275. package/dist/esm/bcm-linked.entry.js +5 -1895
  276. package/dist/esm/bcm-linked.entry.js.map +1 -1
  277. package/dist/esm/bcm-pop-confirm.entry.js +248 -0
  278. package/dist/esm/bcm-pop-confirm.entry.js.map +1 -0
  279. package/dist/esm/bcm-popover.entry.js +187 -0
  280. package/dist/esm/bcm-popover.entry.js.map +1 -0
  281. package/dist/esm/bcm-radio-group.entry.js +167 -0
  282. package/dist/esm/bcm-radio-group.entry.js.map +1 -0
  283. package/dist/esm/bcm-radio.entry.js +169 -0
  284. package/dist/esm/bcm-radio.entry.js.map +1 -0
  285. package/dist/esm/bcm-segmented-picker-option.entry.js +105 -0
  286. package/dist/esm/bcm-segmented-picker-option.entry.js.map +1 -0
  287. package/dist/esm/bcm-segmented-picker.entry.js +142 -0
  288. package/dist/esm/bcm-segmented-picker.entry.js.map +1 -0
  289. package/dist/esm/bcm-switch.entry.js +184 -0
  290. package/dist/esm/bcm-switch.entry.js.map +1 -0
  291. package/dist/esm/bcm-tabs-content.entry.js +18 -0
  292. package/dist/esm/bcm-tabs-content.entry.js.map +1 -0
  293. package/dist/esm/bcm-tabs-list.entry.js +39 -0
  294. package/dist/esm/bcm-tabs-list.entry.js.map +1 -0
  295. package/dist/esm/bcm-tabs-trigger.entry.js +88 -0
  296. package/dist/esm/bcm-tabs-trigger.entry.js.map +1 -0
  297. package/dist/esm/bcm-tabs.entry.js +207 -0
  298. package/dist/esm/bcm-tabs.entry.js.map +1 -0
  299. package/dist/esm/bcm-text.entry.js +2 -2
  300. package/dist/esm/bcm-textarea.entry.js +7 -6
  301. package/dist/esm/bcm-textarea.entry.js.map +1 -1
  302. package/dist/esm/bcm-tooltip.entry.js +183 -0
  303. package/dist/esm/bcm-tooltip.entry.js.map +1 -0
  304. package/dist/esm/bromcom-ui.js +3 -3
  305. package/dist/esm/floating-ui.dom.esm-480e0f15.js +2078 -0
  306. package/dist/esm/floating-ui.dom.esm-480e0f15.js.map +1 -0
  307. package/dist/{cjs/validation-messages-c36e5c31.js → esm/generate-id-3b2fcb93.js} +2 -52
  308. package/dist/esm/generate-id-3b2fcb93.js.map +1 -0
  309. package/dist/esm/{index-27cc1bac.js → index-8571fbf7.js} +36 -8
  310. package/dist/esm/index-8571fbf7.js.map +1 -0
  311. package/dist/esm/loader.js +3 -3
  312. package/dist/esm/validation-messages-af4512f0.js +48 -0
  313. package/dist/esm/validation-messages-af4512f0.js.map +1 -0
  314. package/dist/types/components/button/button.component.d.ts +3 -1
  315. package/dist/types/components/button/types.d.ts +4 -4
  316. package/dist/types/components/button-group/button-group.component.d.ts +25 -0
  317. package/dist/types/components/button-group/types.d.ts +2 -0
  318. package/dist/types/components/checkbox/checkbox.component.d.ts +99 -0
  319. package/dist/types/components/pop-confirm/pop-confirm.component.d.ts +195 -0
  320. package/dist/types/components/popover/popover.component.d.ts +118 -0
  321. package/dist/types/components/radio/radio.component.d.ts +105 -0
  322. package/dist/types/components/radio-group/radio-group.component.d.ts +124 -0
  323. package/dist/types/components/segmented-picker/segmented-picker-option.component.d.ts +30 -0
  324. package/dist/types/components/segmented-picker/segmented-picker.component.d.ts +35 -0
  325. package/dist/types/components/segmented-picker/types.d.ts +1 -0
  326. package/dist/types/components/switch/switch.component.d.ts +62 -0
  327. package/dist/types/components/tabs/tabs-content.component.d.ts +13 -0
  328. package/dist/types/components/tabs/tabs-list.component.d.ts +12 -0
  329. package/dist/types/components/tabs/tabs-trigger.component.d.ts +41 -0
  330. package/dist/types/components/tabs/tabs.component.d.ts +88 -0
  331. package/dist/types/components/tooltip/tooltip.component.d.ts +86 -0
  332. package/dist/types/components.d.ts +2576 -819
  333. package/dist/types/styles/theme-variables.d.ts +14 -0
  334. package/package.json +1 -1
  335. package/dist/bromcom-ui/p-15fe392b.js +0 -3
  336. package/dist/bromcom-ui/p-2bbd3c52.entry.js +0 -2
  337. package/dist/bromcom-ui/p-2f1d87a7.entry.js +0 -2
  338. package/dist/bromcom-ui/p-2f1d87a7.entry.js.map +0 -1
  339. package/dist/bromcom-ui/p-31354aaa.js +0 -2
  340. package/dist/bromcom-ui/p-31354aaa.js.map +0 -1
  341. package/dist/bromcom-ui/p-5737e7de.entry.js +0 -2
  342. package/dist/bromcom-ui/p-5737e7de.entry.js.map +0 -1
  343. package/dist/bromcom-ui/p-63cb0933.entry.js +0 -2
  344. package/dist/bromcom-ui/p-7a1bf6a6.entry.js +0 -2
  345. package/dist/bromcom-ui/p-e08b23ff.entry.js +0 -2
  346. package/dist/bromcom-ui/styles/theme-variables.ts +0 -369
  347. package/dist/bromcom-ui/styles/themes/index.css +0 -1
  348. package/dist/bromcom-ui/styles/themes/library/default.css +0 -73
  349. package/dist/bromcom-ui/styles/variables/box-shadow.css +0 -15
  350. package/dist/bromcom-ui/styles/variables/colors-dark.css +0 -314
  351. package/dist/bromcom-ui/styles/variables/colors-light.css +0 -325
  352. package/dist/bromcom-ui/styles/variables/font-size-rem.css +0 -33
  353. package/dist/bromcom-ui/styles/variables/font-size.css +0 -33
  354. package/dist/bromcom-ui/styles/variables/index.css +0 -6
  355. package/dist/cjs/validation-messages-c36e5c31.js.map +0 -1
  356. package/dist/collection/styles/theme-variables.ts +0 -369
  357. package/dist/collection/styles/themes/index.css +0 -1
  358. package/dist/collection/styles/themes/library/default.css +0 -73
  359. package/dist/collection/styles/variables/box-shadow.css +0 -15
  360. package/dist/collection/styles/variables/colors-dark.css +0 -314
  361. package/dist/collection/styles/variables/colors-light.css +0 -325
  362. package/dist/collection/styles/variables/font-size-rem.css +0 -33
  363. package/dist/collection/styles/variables/font-size.css +0 -33
  364. package/dist/collection/styles/variables/index.css +0 -6
  365. package/dist/components/p-0063a3d9.js.map +0 -1
  366. package/dist/components/p-13582168.js.map +0 -1
  367. package/dist/components/p-31354aaa.js.map +0 -1
  368. package/dist/components/p-613ee92d.js.map +0 -1
  369. package/dist/esm/index-27cc1bac.js.map +0 -1
  370. package/dist/esm/validation-messages-a29d53be.js.map +0 -1
  371. package/dist/tailwind.config.js +0 -32
  372. /package/dist/bromcom-ui/{p-f0ece968.entry.js.map → p-385fa0f3.entry.js.map} +0 -0
  373. /package/dist/bromcom-ui/{p-f9eeafa7.entry.js.map → p-58ee24a8.entry.js.map} +0 -0
  374. /package/dist/bromcom-ui/{p-5bee2e76.entry.js.map → p-c1161950.entry.js.map} +0 -0
  375. /package/dist/bromcom-ui/{p-53f21d16.entry.js.map → p-c427ffee.entry.js.map} +0 -0
  376. /package/dist/bromcom-ui/{p-6abaf96f.entry.js.map → p-d57587e5.entry.js.map} +0 -0
  377. /package/dist/bromcom-ui/{p-4f402148.entry.js.map → p-f2d8aa70.entry.js.map} +0 -0
@@ -0,0 +1,502 @@
1
+ /**
2
+ * @component BcmRadio
3
+ * @description A customizable radio button component for forms, supporting various sizes, states, and label positioning.
4
+ * It can be used to select a single option from a group of choices, with support for error, disabled, and readonly states.
5
+ *
6
+ * @example
7
+ * <bcm-radio label="Option 1" name="group1" value="1" size="medium" label-position="right">
8
+ * Option 1
9
+ * </bcm-radio>
10
+ *
11
+ * @example Radio with error state
12
+ * <bcm-radio label="Error Option" name="group1" value="2" error={true}>
13
+ * Error Option
14
+ * </bcm-radio>
15
+ *
16
+ * @prop {string} label - The text label to display next to the radio button.
17
+ * @prop {string} name - The name attribute for the radio input, used to group radio buttons.
18
+ * @prop {string} value - The value of the radio button, submitted with the form.
19
+ * @prop {boolean} checked - Whether the radio button is selected.
20
+ * @defaultValue false
21
+ * @prop {RadioSize} size - Defines the size of the radio button: 'small' | 'medium' | 'large'.
22
+ * @defaultValue 'medium'
23
+ * @prop {boolean} disabled - Whether the radio button is disabled.
24
+ * @defaultValue false
25
+ * @prop {boolean} readonly - Whether the radio button is readonly.
26
+ * @defaultValue false
27
+ * @prop {LabelPosition} labelPosition - Position of the label relative to the radio button: 'right' | 'left'.
28
+ * @defaultValue 'right'
29
+ * @prop {boolean} error - Whether the radio button is in an error state.
30
+ * @defaultValue false
31
+ *
32
+ * @event {EventEmitter<void>} bcmRadioChange - Emitted when the radio button's checked state changes.
33
+ * @event {EventEmitter<FocusEvent>} bcmFocus - Emitted when the radio button gains focus.
34
+ * @event {EventEmitter<FocusEvent>} bcmBlur - Emitted when the radio button loses focus.
35
+ *
36
+ * @csspart container - The root label element wrapping the radio button and label.
37
+ * @csspart dotContainer - The container for the radio button dot.
38
+ * @csspart dot - The inner dot of the radio button.
39
+ * @csspart label - The label text element.
40
+ */
41
+ import { h } from "@stencil/core";
42
+ import { tv } from "tailwind-variants";
43
+ export class BcmRadio {
44
+ constructor() {
45
+ /**
46
+ * Whether the radio button is selected.
47
+ * @prop
48
+ * @defaultValue false
49
+ */
50
+ this.checked = false;
51
+ /**
52
+ * Defines the size of the radio button: 'small' | 'medium' | 'large'.
53
+ * @prop
54
+ * @defaultValue 'medium'
55
+ */
56
+ this.size = 'medium';
57
+ /**
58
+ * Whether the radio button is disabled.
59
+ * @prop
60
+ * @defaultValue false
61
+ */
62
+ this.disabled = false;
63
+ /**
64
+ * Whether the radio button is readonly.
65
+ * @prop
66
+ * @defaultValue false
67
+ */
68
+ this.readonly = false;
69
+ /**
70
+ * Position of the label relative to the radio button: 'right' | 'left'.
71
+ * @prop
72
+ * @defaultValue 'right'
73
+ */
74
+ this.labelPosition = 'right';
75
+ /**
76
+ * Whether the radio button is in an error state.
77
+ * @prop
78
+ * @defaultValue false
79
+ */
80
+ this.error = false;
81
+ this.getRadioClass = tv({
82
+ slots: {
83
+ container: 'bcm-ui-element bcm-radio group',
84
+ dot: 'absolute rounded-full transition bg-[--bcm-radio-checked]',
85
+ dotContainer: 'relative rounded-full flex items-center justify-center shadow-[inset_0_0_0_1px_var(--bcm-radio-border)] bg-[--bcm-radio-bg] transition group-hover:shadow-[inset_0_0_0_1px_var(--bcm-radio-border-hover)]',
86
+ labelClass: 'font-medium text-[--bcm-radio-text-color]',
87
+ },
88
+ variants: {
89
+ size: {
90
+ small: {
91
+ container: 'gap-2',
92
+ dotContainer: 'size-3.5',
93
+ dot: 'size-2',
94
+ labelClass: 'text-size-4',
95
+ },
96
+ medium: {
97
+ container: 'gap-2.5',
98
+ dotContainer: 'size-4',
99
+ dot: 'size-2.5',
100
+ labelClass: 'text-size-5',
101
+ },
102
+ large: {
103
+ container: 'gap-3',
104
+ dotContainer: 'size-[18px]',
105
+ dot: 'size-3',
106
+ labelClass: 'text-size-6',
107
+ },
108
+ },
109
+ checked: {
110
+ true: {
111
+ dot: 'opacity-100',
112
+ },
113
+ false: {
114
+ dot: 'opacity-0',
115
+ },
116
+ },
117
+ disabled: {
118
+ true: {
119
+ container: 'cursor-not-allowed',
120
+ },
121
+ false: {
122
+ container: 'cursor-pointer focus-visible:ring',
123
+ },
124
+ },
125
+ readonly: {
126
+ true: {
127
+ container: 'cursor-default pointer-events-none',
128
+ dot: 'opacity-100',
129
+ dotContainer: 'shadow-[inset_0_0_0_3px_var(--bcm-radio-border)]',
130
+ },
131
+ false: '',
132
+ },
133
+ labelPosition: {
134
+ left: {
135
+ container: 'inline-flex flex-row-reverse items-center',
136
+ },
137
+ right: {
138
+ container: 'inline-flex flex-row items-center',
139
+ },
140
+ },
141
+ },
142
+ }, {
143
+ twMerge: false,
144
+ });
145
+ }
146
+ handleClick() {
147
+ if (this.readonly || this.disabled)
148
+ return;
149
+ if (!this.checked) {
150
+ this.checked = true;
151
+ this.bcmRadioChange.emit();
152
+ }
153
+ }
154
+ getRadioStyle() {
155
+ const defaultStyle = {
156
+ '--bcm-radio-bg': 'var(--bcm-ui-color-background-default-default)',
157
+ '--bcm-radio-border': 'var(--bcm-ui-color-border-disabled)',
158
+ '--bcm-radio-border-hover': 'var(--bcm-ui-color-border-primary)',
159
+ '--bcm-radio-checked': 'var(--bcm-ui-color-background-primary-default)',
160
+ '--bcm-radio-text-color': 'var(--bcm-ui-color-text-default)',
161
+ };
162
+ const errorStyle = {
163
+ '--bcm-radio-bg': 'var(--bcm-ui-color-background-palette-red-default)',
164
+ '--bcm-radio-border': 'var(--bcm-ui-color-border-error)',
165
+ '--bcm-radio-border-hover': 'var(--bcm-ui-color-border-error)',
166
+ '--bcm-radio-checked': 'var(--bcm-ui-color-background-error-default)',
167
+ '--bcm-radio-text-color': 'var(--bcm-ui-color-text-default)',
168
+ };
169
+ const disabledStyle = {
170
+ '--bcm-radio-bg': 'var(--bcm-ui-color-background-disabled-default)',
171
+ '--bcm-radio-border': 'var(--bcm-ui-color-border-disabled)',
172
+ '--bcm-radio-border-hover': 'var(--bcm-ui-color-border-disabled)',
173
+ '--bcm-radio-checked': 'var(--bcm-ui-color-background-disabled-default)',
174
+ '--bcm-radio-text-color': 'var(--bcm-ui-color-text-disabled)',
175
+ };
176
+ const readonlyStyle = {
177
+ '--bcm-radio-bg': 'transparent',
178
+ '--bcm-radio-border': 'var(--bcm-ui-color-border-disabled)',
179
+ '--bcm-radio-checked': 'var(--bcm-ui-color-background-default-default)',
180
+ '--bcm-radio-border-hover': 'var(--bcm-ui-color-border-disabled)',
181
+ '--bcm-radio-text-color': 'var(--bcm-ui-color-text-default)',
182
+ };
183
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, defaultStyle), (this.error && errorStyle)), (this.disabled && disabledStyle)), (this.readonly && readonlyStyle));
184
+ }
185
+ render() {
186
+ const { container, dot, dotContainer, labelClass } = this.getRadioClass({
187
+ size: this.size,
188
+ checked: this.checked,
189
+ disabled: this.disabled,
190
+ readonly: this.readonly,
191
+ labelPosition: this.labelPosition,
192
+ });
193
+ return (h("label", { key: '2a95bd2335f3ecc987bcdd378225967837e55df9', class: container(), style: this.getRadioStyle() }, h("input", { key: '782735ff733b1d373803c3a1c6f56c16b745a159', "aria-label": this.label, role: "radio", "aria-checked": this.checked.toString(), type: "radio", name: this.name, value: this.value, disabled: this.disabled, readOnly: this.readonly, checked: this.checked, class: "appearance-none sr-only", onClick: () => this.handleClick(), onFocus: e => this.bcmFocus.emit(e), onBlur: e => this.bcmBlur.emit(e) }), h("div", { key: '638f0fe8ffab984b459c0b5f11f0a929b105de2a', class: dotContainer() }, h("div", { key: '65f618afcd4c1d0101961b6c6642ba146a37d6ef', class: dot() })), h("span", { key: 'a4690721cbe1c99ba47c572a9b354bdebac20a5e', class: labelClass() }, h("slot", { key: '2af90a0ab77da5b63a25fef3edbd0e14fc87516d' }, this.label))));
194
+ }
195
+ static get is() { return "bcm-radio"; }
196
+ static get encapsulation() { return "shadow"; }
197
+ static get originalStyleUrls() {
198
+ return {
199
+ "$": ["radio.css"]
200
+ };
201
+ }
202
+ static get styleUrls() {
203
+ return {
204
+ "$": ["radio.css"]
205
+ };
206
+ }
207
+ static get properties() {
208
+ return {
209
+ "label": {
210
+ "type": "string",
211
+ "mutable": false,
212
+ "complexType": {
213
+ "original": "string",
214
+ "resolved": "string",
215
+ "references": {}
216
+ },
217
+ "required": false,
218
+ "optional": false,
219
+ "docs": {
220
+ "tags": [{
221
+ "name": "prop",
222
+ "text": undefined
223
+ }, {
224
+ "name": "defaultValue",
225
+ "text": "undefined"
226
+ }],
227
+ "text": "The text label to display next to the radio button."
228
+ },
229
+ "getter": false,
230
+ "setter": false,
231
+ "attribute": "label",
232
+ "reflect": false
233
+ },
234
+ "name": {
235
+ "type": "string",
236
+ "mutable": false,
237
+ "complexType": {
238
+ "original": "string",
239
+ "resolved": "string",
240
+ "references": {}
241
+ },
242
+ "required": false,
243
+ "optional": false,
244
+ "docs": {
245
+ "tags": [{
246
+ "name": "prop",
247
+ "text": undefined
248
+ }, {
249
+ "name": "defaultValue",
250
+ "text": "undefined"
251
+ }],
252
+ "text": "The name attribute for the radio input, used to group radio buttons."
253
+ },
254
+ "getter": false,
255
+ "setter": false,
256
+ "attribute": "name",
257
+ "reflect": false
258
+ },
259
+ "value": {
260
+ "type": "string",
261
+ "mutable": false,
262
+ "complexType": {
263
+ "original": "string",
264
+ "resolved": "string",
265
+ "references": {}
266
+ },
267
+ "required": false,
268
+ "optional": false,
269
+ "docs": {
270
+ "tags": [{
271
+ "name": "prop",
272
+ "text": undefined
273
+ }, {
274
+ "name": "defaultValue",
275
+ "text": "undefined"
276
+ }],
277
+ "text": "The value of the radio button, submitted with the form."
278
+ },
279
+ "getter": false,
280
+ "setter": false,
281
+ "attribute": "value",
282
+ "reflect": false
283
+ },
284
+ "checked": {
285
+ "type": "boolean",
286
+ "mutable": false,
287
+ "complexType": {
288
+ "original": "boolean",
289
+ "resolved": "boolean",
290
+ "references": {}
291
+ },
292
+ "required": false,
293
+ "optional": false,
294
+ "docs": {
295
+ "tags": [{
296
+ "name": "prop",
297
+ "text": undefined
298
+ }, {
299
+ "name": "defaultValue",
300
+ "text": "false"
301
+ }],
302
+ "text": "Whether the radio button is selected."
303
+ },
304
+ "getter": false,
305
+ "setter": false,
306
+ "attribute": "checked",
307
+ "reflect": true,
308
+ "defaultValue": "false"
309
+ },
310
+ "size": {
311
+ "type": "string",
312
+ "mutable": false,
313
+ "complexType": {
314
+ "original": "'small' | 'medium' | 'large'",
315
+ "resolved": "\"large\" | \"medium\" | \"small\"",
316
+ "references": {}
317
+ },
318
+ "required": false,
319
+ "optional": false,
320
+ "docs": {
321
+ "tags": [{
322
+ "name": "prop",
323
+ "text": undefined
324
+ }, {
325
+ "name": "defaultValue",
326
+ "text": "'medium'"
327
+ }],
328
+ "text": "Defines the size of the radio button: 'small' | 'medium' | 'large'."
329
+ },
330
+ "getter": false,
331
+ "setter": false,
332
+ "attribute": "size",
333
+ "reflect": false,
334
+ "defaultValue": "'medium'"
335
+ },
336
+ "disabled": {
337
+ "type": "boolean",
338
+ "mutable": false,
339
+ "complexType": {
340
+ "original": "boolean",
341
+ "resolved": "boolean",
342
+ "references": {}
343
+ },
344
+ "required": false,
345
+ "optional": false,
346
+ "docs": {
347
+ "tags": [{
348
+ "name": "prop",
349
+ "text": undefined
350
+ }, {
351
+ "name": "defaultValue",
352
+ "text": "false"
353
+ }],
354
+ "text": "Whether the radio button is disabled."
355
+ },
356
+ "getter": false,
357
+ "setter": false,
358
+ "attribute": "disabled",
359
+ "reflect": false,
360
+ "defaultValue": "false"
361
+ },
362
+ "readonly": {
363
+ "type": "boolean",
364
+ "mutable": false,
365
+ "complexType": {
366
+ "original": "boolean",
367
+ "resolved": "boolean",
368
+ "references": {}
369
+ },
370
+ "required": false,
371
+ "optional": false,
372
+ "docs": {
373
+ "tags": [{
374
+ "name": "prop",
375
+ "text": undefined
376
+ }, {
377
+ "name": "defaultValue",
378
+ "text": "false"
379
+ }],
380
+ "text": "Whether the radio button is readonly."
381
+ },
382
+ "getter": false,
383
+ "setter": false,
384
+ "attribute": "readonly",
385
+ "reflect": false,
386
+ "defaultValue": "false"
387
+ },
388
+ "labelPosition": {
389
+ "type": "string",
390
+ "mutable": false,
391
+ "complexType": {
392
+ "original": "'right' | 'left'",
393
+ "resolved": "\"left\" | \"right\"",
394
+ "references": {}
395
+ },
396
+ "required": false,
397
+ "optional": false,
398
+ "docs": {
399
+ "tags": [{
400
+ "name": "prop",
401
+ "text": undefined
402
+ }, {
403
+ "name": "defaultValue",
404
+ "text": "'right'"
405
+ }],
406
+ "text": "Position of the label relative to the radio button: 'right' | 'left'."
407
+ },
408
+ "getter": false,
409
+ "setter": false,
410
+ "attribute": "label-position",
411
+ "reflect": false,
412
+ "defaultValue": "'right'"
413
+ },
414
+ "error": {
415
+ "type": "boolean",
416
+ "mutable": false,
417
+ "complexType": {
418
+ "original": "boolean",
419
+ "resolved": "boolean",
420
+ "references": {}
421
+ },
422
+ "required": false,
423
+ "optional": false,
424
+ "docs": {
425
+ "tags": [{
426
+ "name": "prop",
427
+ "text": undefined
428
+ }, {
429
+ "name": "defaultValue",
430
+ "text": "false"
431
+ }],
432
+ "text": "Whether the radio button is in an error state."
433
+ },
434
+ "getter": false,
435
+ "setter": false,
436
+ "attribute": "error",
437
+ "reflect": false,
438
+ "defaultValue": "false"
439
+ }
440
+ };
441
+ }
442
+ static get events() {
443
+ return [{
444
+ "method": "bcmRadioChange",
445
+ "name": "bcmRadioChange",
446
+ "bubbles": false,
447
+ "cancelable": true,
448
+ "composed": false,
449
+ "docs": {
450
+ "tags": [],
451
+ "text": ""
452
+ },
453
+ "complexType": {
454
+ "original": "void",
455
+ "resolved": "void",
456
+ "references": {}
457
+ }
458
+ }, {
459
+ "method": "bcmBlur",
460
+ "name": "bcmBlur",
461
+ "bubbles": false,
462
+ "cancelable": true,
463
+ "composed": false,
464
+ "docs": {
465
+ "tags": [],
466
+ "text": ""
467
+ },
468
+ "complexType": {
469
+ "original": "FocusEvent",
470
+ "resolved": "FocusEvent",
471
+ "references": {
472
+ "FocusEvent": {
473
+ "location": "global",
474
+ "id": "global::FocusEvent"
475
+ }
476
+ }
477
+ }
478
+ }, {
479
+ "method": "bcmFocus",
480
+ "name": "bcmFocus",
481
+ "bubbles": false,
482
+ "cancelable": true,
483
+ "composed": false,
484
+ "docs": {
485
+ "tags": [],
486
+ "text": ""
487
+ },
488
+ "complexType": {
489
+ "original": "FocusEvent",
490
+ "resolved": "FocusEvent",
491
+ "references": {
492
+ "FocusEvent": {
493
+ "location": "global",
494
+ "id": "global::FocusEvent"
495
+ }
496
+ }
497
+ }
498
+ }];
499
+ }
500
+ static get elementRef() { return "host"; }
501
+ }
502
+ //# sourceMappingURL=radio.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.component.js","sourceRoot":"","sources":["../../../src/components/radio/radio.component.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * @component BcmRadio\n * @description A customizable radio button component for forms, supporting various sizes, states, and label positioning.\n * It can be used to select a single option from a group of choices, with support for error, disabled, and readonly states.\n *\n * @example\n * <bcm-radio label=\"Option 1\" name=\"group1\" value=\"1\" size=\"medium\" label-position=\"right\">\n * Option 1\n * </bcm-radio>\n *\n * @example Radio with error state\n * <bcm-radio label=\"Error Option\" name=\"group1\" value=\"2\" error={true}>\n * Error Option\n * </bcm-radio>\n *\n * @prop {string} label - The text label to display next to the radio button.\n * @prop {string} name - The name attribute for the radio input, used to group radio buttons.\n * @prop {string} value - The value of the radio button, submitted with the form.\n * @prop {boolean} checked - Whether the radio button is selected.\n * @defaultValue false\n * @prop {RadioSize} size - Defines the size of the radio button: 'small' | 'medium' | 'large'.\n * @defaultValue 'medium'\n * @prop {boolean} disabled - Whether the radio button is disabled.\n * @defaultValue false\n * @prop {boolean} readonly - Whether the radio button is readonly.\n * @defaultValue false\n * @prop {LabelPosition} labelPosition - Position of the label relative to the radio button: 'right' | 'left'.\n * @defaultValue 'right'\n * @prop {boolean} error - Whether the radio button is in an error state.\n * @defaultValue false\n *\n * @event {EventEmitter<void>} bcmRadioChange - Emitted when the radio button's checked state changes.\n * @event {EventEmitter<FocusEvent>} bcmFocus - Emitted when the radio button gains focus.\n * @event {EventEmitter<FocusEvent>} bcmBlur - Emitted when the radio button loses focus.\n *\n * @csspart container - The root label element wrapping the radio button and label.\n * @csspart dotContainer - The container for the radio button dot.\n * @csspart dot - The inner dot of the radio button.\n * @csspart label - The label text element.\n */\n\nimport { Component, ComponentInterface, Prop, h, Element, Event, EventEmitter } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n@Component({\n tag: 'bcm-radio',\n styleUrl: 'radio.css',\n shadow: true,\n})\nexport class BcmRadio implements ComponentInterface {\n @Element() host: HTMLBcmRadioElement;\n\n /**\n * The text label to display next to the radio button.\n * @prop\n * @defaultValue undefined\n */\n @Prop()\n label: string;\n\n /**\n * The name attribute for the radio input, used to group radio buttons.\n * @prop\n * @defaultValue undefined\n */\n @Prop()\n name: string;\n\n /**\n * The value of the radio button, submitted with the form.\n * @prop\n * @defaultValue undefined\n */\n @Prop()\n value: string;\n\n /**\n * Whether the radio button is selected.\n * @prop\n * @defaultValue false\n */\n @Prop({ reflect: true })\n checked: boolean = false;\n\n /**\n * Defines the size of the radio button: 'small' | 'medium' | 'large'.\n * @prop\n * @defaultValue 'medium'\n */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Whether the radio button is disabled.\n * @prop\n * @defaultValue false\n */\n @Prop()\n disabled = false;\n\n /**\n * Whether the radio button is readonly.\n * @prop\n * @defaultValue false\n */\n @Prop()\n readonly = false;\n\n /**\n * Position of the label relative to the radio button: 'right' | 'left'.\n * @prop\n * @defaultValue 'right'\n */\n @Prop()\n labelPosition: 'right' | 'left' = 'right';\n\n /**\n * Whether the radio button is in an error state.\n * @prop\n * @defaultValue false\n */\n @Prop()\n error: boolean = false;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmRadioChange',\n })\n bcmRadioChange: EventEmitter<void>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmBlur: EventEmitter<FocusEvent>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmFocus: EventEmitter<FocusEvent>;\n\n private handleClick(): void {\n if (this.readonly || this.disabled) return;\n if (!this.checked) {\n this.checked = true;\n this.bcmRadioChange.emit();\n }\n }\n\n private getRadioStyle() {\n const defaultStyle = {\n '--bcm-radio-bg': 'var(--bcm-ui-color-background-default-default)',\n '--bcm-radio-border': 'var(--bcm-ui-color-border-disabled)',\n '--bcm-radio-border-hover': 'var(--bcm-ui-color-border-primary)',\n '--bcm-radio-checked': 'var(--bcm-ui-color-background-primary-default)',\n '--bcm-radio-text-color': 'var(--bcm-ui-color-text-default)',\n };\n\n const errorStyle = {\n '--bcm-radio-bg': 'var(--bcm-ui-color-background-palette-red-default)',\n '--bcm-radio-border': 'var(--bcm-ui-color-border-error)',\n '--bcm-radio-border-hover': 'var(--bcm-ui-color-border-error)',\n '--bcm-radio-checked': 'var(--bcm-ui-color-background-error-default)',\n '--bcm-radio-text-color': 'var(--bcm-ui-color-text-default)',\n };\n\n const disabledStyle = {\n '--bcm-radio-bg': 'var(--bcm-ui-color-background-disabled-default)',\n '--bcm-radio-border': 'var(--bcm-ui-color-border-disabled)',\n '--bcm-radio-border-hover': 'var(--bcm-ui-color-border-disabled)',\n '--bcm-radio-checked': 'var(--bcm-ui-color-background-disabled-default)',\n '--bcm-radio-text-color': 'var(--bcm-ui-color-text-disabled)',\n };\n\n const readonlyStyle = {\n '--bcm-radio-bg': 'transparent',\n '--bcm-radio-border': 'var(--bcm-ui-color-border-disabled)',\n '--bcm-radio-checked': 'var(--bcm-ui-color-background-default-default)',\n '--bcm-radio-border-hover': 'var(--bcm-ui-color-border-disabled)',\n '--bcm-radio-text-color': 'var(--bcm-ui-color-text-default)',\n };\n\n return {\n ...defaultStyle,\n ...(this.error && errorStyle),\n ...(this.disabled && disabledStyle),\n ...(this.readonly && readonlyStyle),\n };\n }\n\n private getRadioClass = tv(\n {\n slots: {\n container: 'bcm-ui-element bcm-radio group',\n dot: 'absolute rounded-full transition bg-[--bcm-radio-checked]',\n dotContainer:\n 'relative rounded-full flex items-center justify-center shadow-[inset_0_0_0_1px_var(--bcm-radio-border)] bg-[--bcm-radio-bg] transition group-hover:shadow-[inset_0_0_0_1px_var(--bcm-radio-border-hover)]',\n labelClass: 'font-medium text-[--bcm-radio-text-color]',\n },\n variants: {\n size: {\n small: {\n container: 'gap-2',\n dotContainer: 'size-3.5',\n dot: 'size-2',\n labelClass: 'text-size-4',\n },\n medium: {\n container: 'gap-2.5',\n dotContainer: 'size-4',\n dot: 'size-2.5',\n labelClass: 'text-size-5',\n },\n large: {\n container: 'gap-3',\n dotContainer: 'size-[18px]',\n dot: 'size-3',\n labelClass: 'text-size-6',\n },\n },\n checked: {\n true: {\n dot: 'opacity-100',\n },\n false: {\n dot: 'opacity-0',\n },\n },\n disabled: {\n true: {\n container: 'cursor-not-allowed',\n },\n false: {\n container: 'cursor-pointer focus-visible:ring',\n },\n },\n readonly: {\n true: {\n container: 'cursor-default pointer-events-none',\n dot: 'opacity-100',\n dotContainer: 'shadow-[inset_0_0_0_3px_var(--bcm-radio-border)]',\n },\n false: '',\n },\n labelPosition: {\n left: {\n container: 'inline-flex flex-row-reverse items-center',\n },\n right: {\n container: 'inline-flex flex-row items-center',\n },\n },\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n const { container, dot, dotContainer, labelClass } = this.getRadioClass({\n size: this.size,\n checked: this.checked,\n disabled: this.disabled,\n readonly: this.readonly,\n labelPosition: this.labelPosition,\n });\n\n return (\n <label class={container()} style={this.getRadioStyle()}>\n <input\n aria-label={this.label}\n role=\"radio\"\n aria-checked={this.checked.toString()}\n type=\"radio\"\n name={this.name}\n value={this.value}\n disabled={this.disabled}\n readOnly={this.readonly}\n checked={this.checked}\n class=\"appearance-none sr-only\"\n onClick={() => this.handleClick()}\n onFocus={e => this.bcmFocus.emit(e)}\n onBlur={e => this.bcmBlur.emit(e)}\n ></input>\n <div class={dotContainer()}>\n <div class={dot()}></div>\n </div>\n <span class={labelClass()}>\n <slot>{this.label}</slot>\n </span>\n </label>\n );\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ .block{display:block}:host{display:block}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.static{position:static}.absolute{position:absolute}.relative{position:relative}.flex{display:flex}.inline-flex{display:inline-flex}.size-2{height:.5rem;width:.5rem}.size-2\.5{height:.625rem;width:.625rem}.size-3{height:.75rem;width:.75rem}.size-3\.5{height:.875rem;width:.875rem}.size-4{height:1rem;width:1rem}.size-\[18px\]{height:18px;width:18px}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\[--bcm-radio-bg\]{background-color:var(--bcm-radio-bg)}.bg-\[--bcm-radio-checked\]{background-color:var(--bcm-radio-checked)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.text-\[--bcm-radio-text-color\]{color:var(--bcm-radio-text-color)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-\[inset_0_0_0_1px_var\(--bcm-radio-border\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_var\(--bcm-radio-border\)\]{--tw-shadow:inset 0 0 0 1px var(--bcm-radio-border);--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color)}.shadow-\[inset_0_0_0_3px_var\(--bcm-radio-border\)\]{--tw-shadow:inset 0 0 0 3px var(--bcm-radio-border);--tw-shadow-colored:inset 0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.focus-visible\:ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.group:hover .group-hover\:shadow-\[inset_0_0_0_1px_var\(--bcm-radio-border-hover\)\]{--tw-shadow:inset 0 0 0 1px var(--bcm-radio-border-hover);--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}