@bigbot-community/bigbot-ui 1.0.1

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 (352) hide show
  1. package/dist/braip-ui.cjs +2 -0
  2. package/dist/braip-ui.cjs.map +1 -0
  3. package/dist/braip-ui.js +2502 -0
  4. package/dist/braip-ui.js.map +1 -0
  5. package/dist/style.css +1 -0
  6. package/dist/types/components/atoms/BrAvatar/BrAvatar.vue.d.ts +9 -0
  7. package/dist/types/components/atoms/BrAvatar/BrAvatar.vue.d.ts.map +1 -0
  8. package/dist/types/components/atoms/BrAvatar/index.d.ts +3 -0
  9. package/dist/types/components/atoms/BrAvatar/index.d.ts.map +1 -0
  10. package/dist/types/components/atoms/BrAvatar/types.d.ts +37 -0
  11. package/dist/types/components/atoms/BrAvatar/types.d.ts.map +1 -0
  12. package/dist/types/components/atoms/BrBadge/BrBadge.test.d.ts +2 -0
  13. package/dist/types/components/atoms/BrBadge/BrBadge.test.d.ts.map +1 -0
  14. package/dist/types/components/atoms/BrBadge/BrBadge.vue.d.ts +18 -0
  15. package/dist/types/components/atoms/BrBadge/BrBadge.vue.d.ts.map +1 -0
  16. package/dist/types/components/atoms/BrBadge/index.d.ts +3 -0
  17. package/dist/types/components/atoms/BrBadge/index.d.ts.map +1 -0
  18. package/dist/types/components/atoms/BrBadge/types.d.ts +20 -0
  19. package/dist/types/components/atoms/BrBadge/types.d.ts.map +1 -0
  20. package/dist/types/components/atoms/BrButton/BrButton.test.d.ts +2 -0
  21. package/dist/types/components/atoms/BrButton/BrButton.test.d.ts.map +1 -0
  22. package/dist/types/components/atoms/BrButton/BrButton.vue.d.ts +25 -0
  23. package/dist/types/components/atoms/BrButton/BrButton.vue.d.ts.map +1 -0
  24. package/dist/types/components/atoms/BrButton/index.d.ts +3 -0
  25. package/dist/types/components/atoms/BrButton/index.d.ts.map +1 -0
  26. package/dist/types/components/atoms/BrButton/types.d.ts +35 -0
  27. package/dist/types/components/atoms/BrButton/types.d.ts.map +1 -0
  28. package/dist/types/components/atoms/BrCheckbox/BrCheckbox.test.d.ts +2 -0
  29. package/dist/types/components/atoms/BrCheckbox/BrCheckbox.test.d.ts.map +1 -0
  30. package/dist/types/components/atoms/BrCheckbox/BrCheckbox.vue.d.ts +29 -0
  31. package/dist/types/components/atoms/BrCheckbox/BrCheckbox.vue.d.ts.map +1 -0
  32. package/dist/types/components/atoms/BrCheckbox/BrCheckboxGroup.vue.d.ts +17 -0
  33. package/dist/types/components/atoms/BrCheckbox/BrCheckboxGroup.vue.d.ts.map +1 -0
  34. package/dist/types/components/atoms/BrCheckbox/index.d.ts +4 -0
  35. package/dist/types/components/atoms/BrCheckbox/index.d.ts.map +1 -0
  36. package/dist/types/components/atoms/BrCheckbox/types.d.ts +86 -0
  37. package/dist/types/components/atoms/BrCheckbox/types.d.ts.map +1 -0
  38. package/dist/types/components/atoms/BrImage/BrImage.vue.d.ts +9 -0
  39. package/dist/types/components/atoms/BrImage/BrImage.vue.d.ts.map +1 -0
  40. package/dist/types/components/atoms/BrImage/index.d.ts +3 -0
  41. package/dist/types/components/atoms/BrImage/index.d.ts.map +1 -0
  42. package/dist/types/components/atoms/BrImage/types.d.ts +43 -0
  43. package/dist/types/components/atoms/BrImage/types.d.ts.map +1 -0
  44. package/dist/types/components/atoms/BrInput/BrInput.test.d.ts +2 -0
  45. package/dist/types/components/atoms/BrInput/BrInput.test.d.ts.map +1 -0
  46. package/dist/types/components/atoms/BrInput/BrInput.vue.d.ts +35 -0
  47. package/dist/types/components/atoms/BrInput/BrInput.vue.d.ts.map +1 -0
  48. package/dist/types/components/atoms/BrInput/index.d.ts +3 -0
  49. package/dist/types/components/atoms/BrInput/index.d.ts.map +1 -0
  50. package/dist/types/components/atoms/BrInput/types.d.ts +55 -0
  51. package/dist/types/components/atoms/BrInput/types.d.ts.map +1 -0
  52. package/dist/types/components/atoms/BrProgressbar/BrProgressbar.vue.d.ts +15 -0
  53. package/dist/types/components/atoms/BrProgressbar/BrProgressbar.vue.d.ts.map +1 -0
  54. package/dist/types/components/atoms/BrProgressbar/index.d.ts +3 -0
  55. package/dist/types/components/atoms/BrProgressbar/index.d.ts.map +1 -0
  56. package/dist/types/components/atoms/BrProgressbar/types.d.ts +55 -0
  57. package/dist/types/components/atoms/BrProgressbar/types.d.ts.map +1 -0
  58. package/dist/types/components/atoms/BrRadio/BrRadio.vue.d.ts +26 -0
  59. package/dist/types/components/atoms/BrRadio/BrRadio.vue.d.ts.map +1 -0
  60. package/dist/types/components/atoms/BrRadio/BrRadioGroup.vue.d.ts +17 -0
  61. package/dist/types/components/atoms/BrRadio/BrRadioGroup.vue.d.ts.map +1 -0
  62. package/dist/types/components/atoms/BrRadio/index.d.ts +4 -0
  63. package/dist/types/components/atoms/BrRadio/index.d.ts.map +1 -0
  64. package/dist/types/components/atoms/BrRadio/types.d.ts +77 -0
  65. package/dist/types/components/atoms/BrRadio/types.d.ts.map +1 -0
  66. package/dist/types/components/atoms/BrRating/BrRating.vue.d.ts +21 -0
  67. package/dist/types/components/atoms/BrRating/BrRating.vue.d.ts.map +1 -0
  68. package/dist/types/components/atoms/BrRating/index.d.ts +3 -0
  69. package/dist/types/components/atoms/BrRating/index.d.ts.map +1 -0
  70. package/dist/types/components/atoms/BrRating/types.d.ts +51 -0
  71. package/dist/types/components/atoms/BrRating/types.d.ts.map +1 -0
  72. package/dist/types/components/atoms/BrSelect/BrSelect.vue.d.ts +27 -0
  73. package/dist/types/components/atoms/BrSelect/BrSelect.vue.d.ts.map +1 -0
  74. package/dist/types/components/atoms/BrSelect/index.d.ts +3 -0
  75. package/dist/types/components/atoms/BrSelect/index.d.ts.map +1 -0
  76. package/dist/types/components/atoms/BrSelect/types.d.ts +52 -0
  77. package/dist/types/components/atoms/BrSelect/types.d.ts.map +1 -0
  78. package/dist/types/components/atoms/BrSpinner/BrSpinner.vue.d.ts +8 -0
  79. package/dist/types/components/atoms/BrSpinner/BrSpinner.vue.d.ts.map +1 -0
  80. package/dist/types/components/atoms/BrSpinner/index.d.ts +3 -0
  81. package/dist/types/components/atoms/BrSpinner/index.d.ts.map +1 -0
  82. package/dist/types/components/atoms/BrSpinner/types.d.ts +20 -0
  83. package/dist/types/components/atoms/BrSpinner/types.d.ts.map +1 -0
  84. package/dist/types/components/atoms/BrSwitch/BrSwitch.test.d.ts +2 -0
  85. package/dist/types/components/atoms/BrSwitch/BrSwitch.test.d.ts.map +1 -0
  86. package/dist/types/components/atoms/BrSwitch/BrSwitch.vue.d.ts +15 -0
  87. package/dist/types/components/atoms/BrSwitch/BrSwitch.vue.d.ts.map +1 -0
  88. package/dist/types/components/atoms/BrSwitch/index.d.ts +3 -0
  89. package/dist/types/components/atoms/BrSwitch/index.d.ts.map +1 -0
  90. package/dist/types/components/atoms/BrSwitch/types.d.ts +14 -0
  91. package/dist/types/components/atoms/BrSwitch/types.d.ts.map +1 -0
  92. package/dist/types/components/atoms/BrTextarea/BrTextarea.vue.d.ts +31 -0
  93. package/dist/types/components/atoms/BrTextarea/BrTextarea.vue.d.ts.map +1 -0
  94. package/dist/types/components/atoms/BrTextarea/index.d.ts +3 -0
  95. package/dist/types/components/atoms/BrTextarea/index.d.ts.map +1 -0
  96. package/dist/types/components/atoms/BrTextarea/types.d.ts +37 -0
  97. package/dist/types/components/atoms/BrTextarea/types.d.ts.map +1 -0
  98. package/dist/types/components/atoms/BrTitle/BrTitle.vue.d.ts +22 -0
  99. package/dist/types/components/atoms/BrTitle/BrTitle.vue.d.ts.map +1 -0
  100. package/dist/types/components/atoms/BrTitle/index.d.ts +3 -0
  101. package/dist/types/components/atoms/BrTitle/index.d.ts.map +1 -0
  102. package/dist/types/components/atoms/BrTitle/types.d.ts +41 -0
  103. package/dist/types/components/atoms/BrTitle/types.d.ts.map +1 -0
  104. package/dist/types/components/atoms/BrVideo/BrVideo.vue.d.ts +39 -0
  105. package/dist/types/components/atoms/BrVideo/BrVideo.vue.d.ts.map +1 -0
  106. package/dist/types/components/atoms/BrVideo/index.d.ts +3 -0
  107. package/dist/types/components/atoms/BrVideo/index.d.ts.map +1 -0
  108. package/dist/types/components/atoms/BrVideo/types.d.ts +48 -0
  109. package/dist/types/components/atoms/BrVideo/types.d.ts.map +1 -0
  110. package/dist/types/components/atoms/index.d.ts +16 -0
  111. package/dist/types/components/atoms/index.d.ts.map +1 -0
  112. package/dist/types/components/index.d.ts +4 -0
  113. package/dist/types/components/index.d.ts.map +1 -0
  114. package/dist/types/components/molecules/BrAccordion/BrAccordion.vue.d.ts +23 -0
  115. package/dist/types/components/molecules/BrAccordion/BrAccordion.vue.d.ts.map +1 -0
  116. package/dist/types/components/molecules/BrAccordion/BrAccordionItem.vue.d.ts +20 -0
  117. package/dist/types/components/molecules/BrAccordion/BrAccordionItem.vue.d.ts.map +1 -0
  118. package/dist/types/components/molecules/BrAccordion/index.d.ts +4 -0
  119. package/dist/types/components/molecules/BrAccordion/index.d.ts.map +1 -0
  120. package/dist/types/components/molecules/BrAccordion/types.d.ts +72 -0
  121. package/dist/types/components/molecules/BrAccordion/types.d.ts.map +1 -0
  122. package/dist/types/components/molecules/BrCalendar/BrCalendar.vue.d.ts +21 -0
  123. package/dist/types/components/molecules/BrCalendar/BrCalendar.vue.d.ts.map +1 -0
  124. package/dist/types/components/molecules/BrCalendar/index.d.ts +3 -0
  125. package/dist/types/components/molecules/BrCalendar/index.d.ts.map +1 -0
  126. package/dist/types/components/molecules/BrCalendar/types.d.ts +68 -0
  127. package/dist/types/components/molecules/BrCalendar/types.d.ts.map +1 -0
  128. package/dist/types/components/molecules/BrCard/BrCard.vue.d.ts +35 -0
  129. package/dist/types/components/molecules/BrCard/BrCard.vue.d.ts.map +1 -0
  130. package/dist/types/components/molecules/BrCard/index.d.ts +3 -0
  131. package/dist/types/components/molecules/BrCard/index.d.ts.map +1 -0
  132. package/dist/types/components/molecules/BrCard/types.d.ts +61 -0
  133. package/dist/types/components/molecules/BrCard/types.d.ts.map +1 -0
  134. package/dist/types/components/molecules/BrFormField/BrFormField.vue.d.ts +24 -0
  135. package/dist/types/components/molecules/BrFormField/BrFormField.vue.d.ts.map +1 -0
  136. package/dist/types/components/molecules/BrFormField/index.d.ts +3 -0
  137. package/dist/types/components/molecules/BrFormField/index.d.ts.map +1 -0
  138. package/dist/types/components/molecules/BrFormField/types.d.ts +55 -0
  139. package/dist/types/components/molecules/BrFormField/types.d.ts.map +1 -0
  140. package/dist/types/components/molecules/BrModal/BrModal.test.d.ts +2 -0
  141. package/dist/types/components/molecules/BrModal/BrModal.test.d.ts.map +1 -0
  142. package/dist/types/components/molecules/BrModal/BrModal.vue.d.ts +43 -0
  143. package/dist/types/components/molecules/BrModal/BrModal.vue.d.ts.map +1 -0
  144. package/dist/types/components/molecules/BrModal/index.d.ts +3 -0
  145. package/dist/types/components/molecules/BrModal/index.d.ts.map +1 -0
  146. package/dist/types/components/molecules/BrModal/types.d.ts +49 -0
  147. package/dist/types/components/molecules/BrModal/types.d.ts.map +1 -0
  148. package/dist/types/components/molecules/BrStepper/BrStepper.vue.d.ts +22 -0
  149. package/dist/types/components/molecules/BrStepper/BrStepper.vue.d.ts.map +1 -0
  150. package/dist/types/components/molecules/BrStepper/index.d.ts +3 -0
  151. package/dist/types/components/molecules/BrStepper/index.d.ts.map +1 -0
  152. package/dist/types/components/molecules/BrStepper/types.d.ts +65 -0
  153. package/dist/types/components/molecules/BrStepper/types.d.ts.map +1 -0
  154. package/dist/types/components/molecules/BrTabs/BrTab.vue.d.ts +23 -0
  155. package/dist/types/components/molecules/BrTabs/BrTab.vue.d.ts.map +1 -0
  156. package/dist/types/components/molecules/BrTabs/BrTabPanel.vue.d.ts +16 -0
  157. package/dist/types/components/molecules/BrTabs/BrTabPanel.vue.d.ts.map +1 -0
  158. package/dist/types/components/molecules/BrTabs/BrTabs.test.d.ts +2 -0
  159. package/dist/types/components/molecules/BrTabs/BrTabs.test.d.ts.map +1 -0
  160. package/dist/types/components/molecules/BrTabs/BrTabs.vue.d.ts +40 -0
  161. package/dist/types/components/molecules/BrTabs/BrTabs.vue.d.ts.map +1 -0
  162. package/dist/types/components/molecules/BrTabs/index.d.ts +5 -0
  163. package/dist/types/components/molecules/BrTabs/index.d.ts.map +1 -0
  164. package/dist/types/components/molecules/BrTabs/types.d.ts +116 -0
  165. package/dist/types/components/molecules/BrTabs/types.d.ts.map +1 -0
  166. package/dist/types/components/molecules/index.d.ts +8 -0
  167. package/dist/types/components/molecules/index.d.ts.map +1 -0
  168. package/dist/types/components/organisms/BrNavbar/BrNavbar.vue.d.ts +28 -0
  169. package/dist/types/components/organisms/BrNavbar/BrNavbar.vue.d.ts.map +1 -0
  170. package/dist/types/components/organisms/BrNavbar/index.d.ts +3 -0
  171. package/dist/types/components/organisms/BrNavbar/index.d.ts.map +1 -0
  172. package/dist/types/components/organisms/BrNavbar/types.d.ts +84 -0
  173. package/dist/types/components/organisms/BrNavbar/types.d.ts.map +1 -0
  174. package/dist/types/components/organisms/BrSidebar/BrSidebar.vue.d.ts +35 -0
  175. package/dist/types/components/organisms/BrSidebar/BrSidebar.vue.d.ts.map +1 -0
  176. package/dist/types/components/organisms/BrSidebar/index.d.ts +3 -0
  177. package/dist/types/components/organisms/BrSidebar/index.d.ts.map +1 -0
  178. package/dist/types/components/organisms/BrSidebar/types.d.ts +100 -0
  179. package/dist/types/components/organisms/BrSidebar/types.d.ts.map +1 -0
  180. package/dist/types/components/organisms/index.d.ts +3 -0
  181. package/dist/types/components/organisms/index.d.ts.map +1 -0
  182. package/dist/types/index.d.ts +5 -0
  183. package/dist/types/index.d.ts.map +1 -0
  184. package/dist/types/plugin.d.ts +9 -0
  185. package/dist/types/plugin.d.ts.map +1 -0
  186. package/dist/types/types/index.d.ts +48 -0
  187. package/dist/types/types/index.d.ts.map +1 -0
  188. package/package.json +77 -0
  189. package/src/assets/icons/airplane.svg +7 -0
  190. package/src/assets/icons/anchor.svg +6 -0
  191. package/src/assets/icons/arrow-bottom-right-o.svg +9 -0
  192. package/src/assets/icons/arrow-bottom-right-r.svg +9 -0
  193. package/src/assets/icons/arrow-bottom-right.svg +7 -0
  194. package/src/assets/icons/arrow-down-o.svg +9 -0
  195. package/src/assets/icons/arrow-down-r.svg +9 -0
  196. package/src/assets/icons/arrow-down.svg +7 -0
  197. package/src/assets/icons/arrow-left-o.svg +9 -0
  198. package/src/assets/icons/arrow-left-r.svg +9 -0
  199. package/src/assets/icons/arrow-left.svg +7 -0
  200. package/src/assets/icons/arrow-long-up.svg +7 -0
  201. package/src/assets/icons/arrow-right-o.svg +9 -0
  202. package/src/assets/icons/arrow-right-r.svg +9 -0
  203. package/src/assets/icons/arrow-right.svg +7 -0
  204. package/src/assets/icons/arrow-top-left-o.svg +9 -0
  205. package/src/assets/icons/arrow-top-left-r.svg +9 -0
  206. package/src/assets/icons/arrow-top-left.svg +7 -0
  207. package/src/assets/icons/arrow-top-right-o.svg +9 -0
  208. package/src/assets/icons/arrow-top-right-r.svg +9 -0
  209. package/src/assets/icons/arrow-top-right.svg +7 -0
  210. package/src/assets/icons/arrow-up-o.svg +9 -0
  211. package/src/assets/icons/arrow-up-r.svg +9 -0
  212. package/src/assets/icons/arrow-up.svg +7 -0
  213. package/src/assets/icons/awards.svg +6 -0
  214. package/src/assets/icons/band-aid.svg +21 -0
  215. package/src/assets/icons/bee.svg +7 -0
  216. package/src/assets/icons/bitbucket.svg +7 -0
  217. package/src/assets/icons/block.svg +11 -0
  218. package/src/assets/icons/bowl.svg +6 -0
  219. package/src/assets/icons/boy.svg +14 -0
  220. package/src/assets/icons/briefcase.svg +9 -0
  221. package/src/assets/icons/browse.svg +13 -0
  222. package/src/assets/icons/brush.svg +6 -0
  223. package/src/assets/icons/calibrate.svg +11 -0
  224. package/src/assets/icons/cap.svg +9 -0
  225. package/src/assets/icons/card-clubs.svg +17 -0
  226. package/src/assets/icons/card-diamonds.svg +9 -0
  227. package/src/assets/icons/card-hearts.svg +11 -0
  228. package/src/assets/icons/card-spades.svg +11 -0
  229. package/src/assets/icons/check-o.svg +9 -0
  230. package/src/assets/icons/check-r.svg +9 -0
  231. package/src/assets/icons/check.svg +3 -0
  232. package/src/assets/icons/chevron-double-down-o.svg +14 -0
  233. package/src/assets/icons/chevron-double-down-r.svg +14 -0
  234. package/src/assets/icons/chevron-double-down.svg +12 -0
  235. package/src/assets/icons/chevron-double-left-o.svg +14 -0
  236. package/src/assets/icons/chevron-double-left-r.svg +14 -0
  237. package/src/assets/icons/chevron-double-left.svg +12 -0
  238. package/src/assets/icons/chevron-double-right-o.svg +14 -0
  239. package/src/assets/icons/chevron-double-right-r.svg +14 -0
  240. package/src/assets/icons/chevron-double-right.svg +12 -0
  241. package/src/assets/icons/pix.svg +7 -0
  242. package/src/assets/icons/push-chevron-left-o.svg +12 -0
  243. package/src/assets/icons/push-chevron-left-r.svg +12 -0
  244. package/src/assets/icons/push-chevron-left.svg +10 -0
  245. package/src/assets/icons/push-chevron-right-o.svg +12 -0
  246. package/src/assets/icons/push-chevron-right-r.svg +12 -0
  247. package/src/assets/icons/push-chevron-right.svg +10 -0
  248. package/src/assets/icons/push-chevron-up-o.svg +6 -0
  249. package/src/assets/icons/push-chevron-up-r.svg +6 -0
  250. package/src/assets/icons/push-chevron-up.svg +10 -0
  251. package/src/assets/icons/sync.svg +12 -0
  252. package/src/assets/icons/trending-down.svg +7 -0
  253. package/src/assets/icons/trending.svg +7 -0
  254. package/src/components/atoms/BrAvatar/BrAvatar.vue +154 -0
  255. package/src/components/atoms/BrAvatar/index.ts +2 -0
  256. package/src/components/atoms/BrAvatar/types.ts +43 -0
  257. package/src/components/atoms/BrBadge/BrBadge.test.ts +61 -0
  258. package/src/components/atoms/BrBadge/BrBadge.vue +125 -0
  259. package/src/components/atoms/BrBadge/index.ts +2 -0
  260. package/src/components/atoms/BrBadge/types.ts +22 -0
  261. package/src/components/atoms/BrButton/BrButton.test.ts +79 -0
  262. package/src/components/atoms/BrButton/BrButton.vue +291 -0
  263. package/src/components/atoms/BrButton/index.ts +2 -0
  264. package/src/components/atoms/BrButton/types.ts +44 -0
  265. package/src/components/atoms/BrCheckbox/BrCheckbox.test.ts +132 -0
  266. package/src/components/atoms/BrCheckbox/BrCheckbox.vue +198 -0
  267. package/src/components/atoms/BrCheckbox/BrCheckboxGroup.vue +92 -0
  268. package/src/components/atoms/BrCheckbox/index.ts +3 -0
  269. package/src/components/atoms/BrCheckbox/types.ts +102 -0
  270. package/src/components/atoms/BrImage/BrImage.vue +134 -0
  271. package/src/components/atoms/BrImage/index.ts +2 -0
  272. package/src/components/atoms/BrImage/types.ts +51 -0
  273. package/src/components/atoms/BrInput/BrInput.test.ts +98 -0
  274. package/src/components/atoms/BrInput/BrInput.vue +215 -0
  275. package/src/components/atoms/BrInput/index.ts +2 -0
  276. package/src/components/atoms/BrInput/types.ts +65 -0
  277. package/src/components/atoms/BrProgressbar/BrProgressbar.vue +204 -0
  278. package/src/components/atoms/BrProgressbar/index.ts +2 -0
  279. package/src/components/atoms/BrProgressbar/types.ts +64 -0
  280. package/src/components/atoms/BrRadio/BrRadio.vue +175 -0
  281. package/src/components/atoms/BrRadio/BrRadioGroup.vue +77 -0
  282. package/src/components/atoms/BrRadio/index.ts +3 -0
  283. package/src/components/atoms/BrRadio/types.ts +91 -0
  284. package/src/components/atoms/BrRating/BrRating.vue +234 -0
  285. package/src/components/atoms/BrRating/index.ts +2 -0
  286. package/src/components/atoms/BrRating/types.ts +60 -0
  287. package/src/components/atoms/BrSelect/BrSelect.vue +408 -0
  288. package/src/components/atoms/BrSelect/index.ts +2 -0
  289. package/src/components/atoms/BrSelect/types.ts +61 -0
  290. package/src/components/atoms/BrSpinner/BrSpinner.vue +125 -0
  291. package/src/components/atoms/BrSpinner/index.ts +2 -0
  292. package/src/components/atoms/BrSpinner/types.ts +22 -0
  293. package/src/components/atoms/BrSwitch/BrSwitch.test.ts +81 -0
  294. package/src/components/atoms/BrSwitch/BrSwitch.vue +181 -0
  295. package/src/components/atoms/BrSwitch/index.ts +2 -0
  296. package/src/components/atoms/BrSwitch/types.ts +15 -0
  297. package/src/components/atoms/BrTextarea/BrTextarea.vue +179 -0
  298. package/src/components/atoms/BrTextarea/index.ts +2 -0
  299. package/src/components/atoms/BrTextarea/types.ts +43 -0
  300. package/src/components/atoms/BrTitle/BrTitle.vue +154 -0
  301. package/src/components/atoms/BrTitle/index.ts +2 -0
  302. package/src/components/atoms/BrTitle/types.ts +47 -0
  303. package/src/components/atoms/BrVideo/BrVideo.vue +135 -0
  304. package/src/components/atoms/BrVideo/index.ts +2 -0
  305. package/src/components/atoms/BrVideo/types.ts +56 -0
  306. package/src/components/atoms/index.ts +20 -0
  307. package/src/components/index.ts +7 -0
  308. package/src/components/molecules/BrAccordion/BrAccordion.vue +112 -0
  309. package/src/components/molecules/BrAccordion/BrAccordionItem.vue +168 -0
  310. package/src/components/molecules/BrAccordion/index.ts +3 -0
  311. package/src/components/molecules/BrAccordion/types.ts +85 -0
  312. package/src/components/molecules/BrCalendar/BrCalendar.vue +553 -0
  313. package/src/components/molecules/BrCalendar/index.ts +2 -0
  314. package/src/components/molecules/BrCalendar/types.ts +80 -0
  315. package/src/components/molecules/BrCard/BrCard.vue +262 -0
  316. package/src/components/molecules/BrCard/index.ts +2 -0
  317. package/src/components/molecules/BrCard/types.ts +72 -0
  318. package/src/components/molecules/BrFormField/BrFormField.vue +241 -0
  319. package/src/components/molecules/BrFormField/index.ts +2 -0
  320. package/src/components/molecules/BrFormField/types.ts +64 -0
  321. package/src/components/molecules/BrModal/BrModal.test.ts +212 -0
  322. package/src/components/molecules/BrModal/BrModal.vue +404 -0
  323. package/src/components/molecules/BrModal/index.ts +2 -0
  324. package/src/components/molecules/BrModal/types.ts +57 -0
  325. package/src/components/molecules/BrStepper/BrStepper.vue +302 -0
  326. package/src/components/molecules/BrStepper/index.ts +2 -0
  327. package/src/components/molecules/BrStepper/types.ts +77 -0
  328. package/src/components/molecules/BrTabs/BrTab.vue +69 -0
  329. package/src/components/molecules/BrTabs/BrTabPanel.vue +36 -0
  330. package/src/components/molecules/BrTabs/BrTabs.test.ts +168 -0
  331. package/src/components/molecules/BrTabs/BrTabs.vue +319 -0
  332. package/src/components/molecules/BrTabs/index.ts +4 -0
  333. package/src/components/molecules/BrTabs/types.ts +139 -0
  334. package/src/components/molecules/index.ts +11 -0
  335. package/src/components/organisms/BrNavbar/BrNavbar.vue +424 -0
  336. package/src/components/organisms/BrNavbar/index.ts +2 -0
  337. package/src/components/organisms/BrNavbar/types.ts +101 -0
  338. package/src/components/organisms/BrSidebar/BrSidebar.vue +382 -0
  339. package/src/components/organisms/BrSidebar/index.ts +2 -0
  340. package/src/components/organisms/BrSidebar/types.ts +121 -0
  341. package/src/components/organisms/index.ts +6 -0
  342. package/src/index.ts +32 -0
  343. package/src/plugin.ts +61 -0
  344. package/src/styles/base/_animations.scss +187 -0
  345. package/src/styles/base/_reset.scss +109 -0
  346. package/src/styles/base/index.scss +6 -0
  347. package/src/styles/main.scss +9 -0
  348. package/src/styles/tokens/_colors.scss +185 -0
  349. package/src/styles/tokens/_spacing.scss +88 -0
  350. package/src/styles/tokens/_typography.scss +77 -0
  351. package/src/styles/tokens/index.scss +7 -0
  352. package/src/types/index.ts +125 -0
@@ -0,0 +1,175 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue'
3
+ import type { RadioProps } from './types'
4
+
5
+ const props = withDefaults(defineProps<RadioProps>(), {
6
+ size: 'md',
7
+ disabled: false,
8
+ error: false,
9
+ })
10
+
11
+ const model = defineModel<string | number | boolean>()
12
+
13
+ const classes = computed(() => [
14
+ 'br-radio',
15
+ `br-radio--${props.size}`,
16
+ {
17
+ 'br-radio--disabled': props.disabled,
18
+ 'br-radio--error': props.error,
19
+ 'br-radio--checked': model.value === props.value,
20
+ },
21
+ ])
22
+
23
+ const inputId = computed(() => `radio-${props.name}-${props.value}`)
24
+
25
+ function handleChange() {
26
+ if (!props.disabled) {
27
+ model.value = props.value
28
+ }
29
+ }
30
+ </script>
31
+
32
+ <template>
33
+ <label :class="classes" :for="inputId">
34
+ <input
35
+ :id="inputId"
36
+ type="radio"
37
+ :name="name"
38
+ :value="value"
39
+ :checked="model === value"
40
+ :disabled="disabled"
41
+ class="br-radio__input"
42
+ @change="handleChange"
43
+ />
44
+ <span class="br-radio__control">
45
+ <span class="br-radio__dot" />
46
+ </span>
47
+ <span v-if="label || $slots.default" class="br-radio__label">
48
+ <slot>{{ label }}</slot>
49
+ </span>
50
+ <span v-if="helperText" class="br-radio__helper">{{ helperText }}</span>
51
+ </label>
52
+ </template>
53
+
54
+ <style lang="scss" scoped>
55
+ .br-radio {
56
+ display: inline-flex;
57
+ align-items: flex-start;
58
+ gap: var(--br-space-2);
59
+ cursor: pointer;
60
+ user-select: none;
61
+
62
+ &__input {
63
+ position: absolute;
64
+ opacity: 0;
65
+ width: 0;
66
+ height: 0;
67
+ }
68
+
69
+ &__control {
70
+ display: flex;
71
+ align-items: center;
72
+ justify-content: center;
73
+ flex-shrink: 0;
74
+ border: 2px solid var(--br-dark-300);
75
+ border-radius: 50%;
76
+ background: var(--br-white);
77
+ transition: all var(--br-transition-fast);
78
+ }
79
+
80
+ &__dot {
81
+ border-radius: 50%;
82
+ background: transparent;
83
+ transition: all var(--br-transition-fast);
84
+ }
85
+
86
+ &__label {
87
+ color: var(--br-dark-700);
88
+ line-height: 1.4;
89
+ }
90
+
91
+ &__helper {
92
+ display: block;
93
+ width: 100%;
94
+ margin-top: var(--br-space-1);
95
+ font-size: var(--br-text-sm);
96
+ color: var(--br-dark-500);
97
+ }
98
+
99
+ // Sizes
100
+ &--sm {
101
+ .br-radio__control {
102
+ width: 16px;
103
+ height: 16px;
104
+ }
105
+ .br-radio__dot {
106
+ width: 8px;
107
+ height: 8px;
108
+ }
109
+ .br-radio__label {
110
+ font-size: var(--br-text-sm);
111
+ }
112
+ }
113
+
114
+ &--md {
115
+ .br-radio__control {
116
+ width: 20px;
117
+ height: 20px;
118
+ }
119
+ .br-radio__dot {
120
+ width: 10px;
121
+ height: 10px;
122
+ }
123
+ .br-radio__label {
124
+ font-size: var(--br-text-md);
125
+ }
126
+ }
127
+
128
+ &--lg {
129
+ .br-radio__control {
130
+ width: 24px;
131
+ height: 24px;
132
+ }
133
+ .br-radio__dot {
134
+ width: 12px;
135
+ height: 12px;
136
+ }
137
+ .br-radio__label {
138
+ font-size: var(--br-text-lg);
139
+ }
140
+ }
141
+
142
+ // States
143
+ &:hover:not(&--disabled) {
144
+ .br-radio__control {
145
+ border-color: var(--br-primary-500);
146
+ }
147
+ }
148
+
149
+ &--checked {
150
+ .br-radio__control {
151
+ border-color: var(--br-primary-500);
152
+ }
153
+ .br-radio__dot {
154
+ background: var(--br-primary-500);
155
+ }
156
+ }
157
+
158
+ &--error {
159
+ .br-radio__control {
160
+ border-color: var(--br-danger-500);
161
+ }
162
+ &.br-radio--checked .br-radio__dot {
163
+ background: var(--br-danger-500);
164
+ }
165
+ .br-radio__helper {
166
+ color: var(--br-danger-500);
167
+ }
168
+ }
169
+
170
+ &--disabled {
171
+ cursor: not-allowed;
172
+ opacity: 0.5;
173
+ }
174
+ }
175
+ </style>
@@ -0,0 +1,77 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue'
3
+ import type { RadioGroupProps } from './types'
4
+ import BrRadio from './BrRadio.vue'
5
+
6
+ const props = withDefaults(defineProps<RadioGroupProps>(), {
7
+ direction: 'vertical',
8
+ size: 'md',
9
+ disabled: false,
10
+ error: false,
11
+ })
12
+
13
+ const model = defineModel<string | number | boolean>()
14
+
15
+ const classes = computed(() => [
16
+ 'br-radio-group',
17
+ `br-radio-group--${props.direction}`,
18
+ {
19
+ 'br-radio-group--error': props.error,
20
+ },
21
+ ])
22
+ </script>
23
+
24
+ <template>
25
+ <div :class="classes" role="radiogroup" :aria-label="label">
26
+ <span v-if="label" class="br-radio-group__label">{{ label }}</span>
27
+ <div class="br-radio-group__options">
28
+ <BrRadio
29
+ v-for="option in options"
30
+ :key="String(option.value)"
31
+ v-model="model"
32
+ :value="option.value"
33
+ :label="option.label"
34
+ :name="name"
35
+ :size="size"
36
+ :disabled="disabled || option.disabled"
37
+ :error="error"
38
+ />
39
+ </div>
40
+ <span v-if="error && errorMessage" class="br-radio-group__error">
41
+ {{ errorMessage }}
42
+ </span>
43
+ </div>
44
+ </template>
45
+
46
+ <style lang="scss" scoped>
47
+ .br-radio-group {
48
+ display: flex;
49
+ flex-direction: column;
50
+ gap: var(--br-space-2);
51
+
52
+ &__label {
53
+ font-size: var(--br-text-sm);
54
+ font-weight: var(--br-font-medium);
55
+ color: var(--br-dark-700);
56
+ }
57
+
58
+ &__options {
59
+ display: flex;
60
+ gap: var(--br-space-3);
61
+ }
62
+
63
+ &--vertical &__options {
64
+ flex-direction: column;
65
+ }
66
+
67
+ &--horizontal &__options {
68
+ flex-direction: row;
69
+ flex-wrap: wrap;
70
+ }
71
+
72
+ &__error {
73
+ font-size: var(--br-text-sm);
74
+ color: var(--br-danger-500);
75
+ }
76
+ }
77
+ </style>
@@ -0,0 +1,3 @@
1
+ export { default as BrRadio } from './BrRadio.vue'
2
+ export { default as BrRadioGroup } from './BrRadioGroup.vue'
3
+ export * from './types'
@@ -0,0 +1,91 @@
1
+ export type RadioSize = 'sm' | 'md' | 'lg'
2
+
3
+ export interface RadioProps {
4
+ /**
5
+ * Radio value
6
+ */
7
+ value: string | number | boolean
8
+
9
+ /**
10
+ * Radio label
11
+ */
12
+ label?: string
13
+
14
+ /**
15
+ * Radio name (for grouping)
16
+ */
17
+ name?: string
18
+
19
+ /**
20
+ * Radio size
21
+ * @default 'md'
22
+ */
23
+ size?: RadioSize
24
+
25
+ /**
26
+ * Disabled state
27
+ * @default false
28
+ */
29
+ disabled?: boolean
30
+
31
+ /**
32
+ * Error state
33
+ * @default false
34
+ */
35
+ error?: boolean
36
+
37
+ /**
38
+ * Helper text
39
+ */
40
+ helperText?: string
41
+ }
42
+
43
+ export interface RadioGroupProps {
44
+ /**
45
+ * Radio group name
46
+ */
47
+ name: string
48
+
49
+ /**
50
+ * Radio group label
51
+ */
52
+ label?: string
53
+
54
+ /**
55
+ * Radio options
56
+ */
57
+ options: Array<{
58
+ value: string | number | boolean
59
+ label: string
60
+ disabled?: boolean
61
+ }>
62
+
63
+ /**
64
+ * Layout direction
65
+ * @default 'vertical'
66
+ */
67
+ direction?: 'horizontal' | 'vertical'
68
+
69
+ /**
70
+ * Radio size
71
+ * @default 'md'
72
+ */
73
+ size?: RadioSize
74
+
75
+ /**
76
+ * Disabled state
77
+ * @default false
78
+ */
79
+ disabled?: boolean
80
+
81
+ /**
82
+ * Error state
83
+ * @default false
84
+ */
85
+ error?: boolean
86
+
87
+ /**
88
+ * Error message
89
+ */
90
+ errorMessage?: string
91
+ }
@@ -0,0 +1,234 @@
1
+ <script setup lang="ts">
2
+ import { computed, ref } from 'vue'
3
+ import type { RatingProps } from './types'
4
+
5
+ const props = withDefaults(defineProps<RatingProps>(), {
6
+ max: 5,
7
+ size: 'md',
8
+ allowHalf: false,
9
+ readonly: false,
10
+ disabled: false,
11
+ showValue: false,
12
+ icon: 'star',
13
+ clearable: false,
14
+ })
15
+
16
+ const model = defineModel<number>({ default: 0 })
17
+ const hoverValue = ref<number | null>(null)
18
+
19
+ const displayValue = computed(() => {
20
+ if (hoverValue.value !== null && !props.readonly && !props.disabled) {
21
+ return hoverValue.value
22
+ }
23
+ return model.value
24
+ })
25
+
26
+ const classes = computed(() => [
27
+ 'br-rating',
28
+ `br-rating--${props.size}`,
29
+ {
30
+ 'br-rating--readonly': props.readonly,
31
+ 'br-rating--disabled': props.disabled,
32
+ },
33
+ ])
34
+
35
+ const stars = computed(() => {
36
+ const items = []
37
+ for (let i = 1; i <= props.max; i++) {
38
+ const filled = displayValue.value >= i
39
+ const halfFilled = props.allowHalf && displayValue.value >= i - 0.5 && displayValue.value < i
40
+ items.push({
41
+ index: i,
42
+ filled,
43
+ halfFilled,
44
+ })
45
+ }
46
+ return items
47
+ })
48
+
49
+ function handleMouseMove(index: number, event: MouseEvent) {
50
+ if (props.readonly || props.disabled) return
51
+
52
+ if (props.allowHalf) {
53
+ const target = event.currentTarget as HTMLElement
54
+ const rect = target.getBoundingClientRect()
55
+ const isHalf = event.clientX - rect.left < rect.width / 2
56
+ hoverValue.value = isHalf ? index - 0.5 : index
57
+ } else {
58
+ hoverValue.value = index
59
+ }
60
+ }
61
+
62
+ function handleMouseLeave() {
63
+ hoverValue.value = null
64
+ }
65
+
66
+ function handleClick(index: number, event: MouseEvent) {
67
+ if (props.readonly || props.disabled) return
68
+
69
+ let newValue: number
70
+ if (props.allowHalf) {
71
+ const target = event.currentTarget as HTMLElement
72
+ const rect = target.getBoundingClientRect()
73
+ const isHalf = event.clientX - rect.left < rect.width / 2
74
+ newValue = isHalf ? index - 0.5 : index
75
+ } else {
76
+ newValue = index
77
+ }
78
+
79
+ if (props.clearable && model.value === newValue) {
80
+ model.value = 0
81
+ } else {
82
+ model.value = newValue
83
+ }
84
+ }
85
+
86
+ const iconPaths = {
87
+ star: 'M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z',
88
+ heart: 'M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z',
89
+ circle: 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z',
90
+ }
91
+ </script>
92
+
93
+ <template>
94
+ <div :class="classes" @mouseleave="handleMouseLeave">
95
+ <div class="br-rating__stars">
96
+ <button
97
+ v-for="star in stars"
98
+ :key="star.index"
99
+ type="button"
100
+ class="br-rating__star"
101
+ :class="{
102
+ 'br-rating__star--filled': star.filled,
103
+ 'br-rating__star--half': star.halfFilled,
104
+ }"
105
+ :style="{
106
+ '--active-color': activeColor,
107
+ '--inactive-color': inactiveColor,
108
+ }"
109
+ :disabled="disabled"
110
+ @mousemove="handleMouseMove(star.index, $event)"
111
+ @click="handleClick(star.index, $event)"
112
+ >
113
+ <svg viewBox="0 0 24 24" class="br-rating__icon">
114
+ <defs v-if="star.halfFilled">
115
+ <linearGradient :id="`half-${star.index}`">
116
+ <stop offset="50%" stop-color="currentColor" />
117
+ <stop offset="50%" stop-color="var(--br-light-400)" />
118
+ </linearGradient>
119
+ </defs>
120
+ <path
121
+ :d="iconPaths[icon]"
122
+ :fill="star.halfFilled ? `url(#half-${star.index})` : 'currentColor'"
123
+ />
124
+ </svg>
125
+ </button>
126
+ </div>
127
+ <span v-if="showValue" class="br-rating__value">
128
+ {{ model.toFixed(allowHalf ? 1 : 0) }}
129
+ </span>
130
+ </div>
131
+ </template>
132
+
133
+ <style lang="scss" scoped>
134
+ .br-rating {
135
+ display: inline-flex;
136
+ align-items: center;
137
+ gap: var(--br-space-2);
138
+
139
+ &__stars {
140
+ display: flex;
141
+ gap: var(--br-space-1);
142
+ }
143
+
144
+ &__star {
145
+ display: flex;
146
+ align-items: center;
147
+ justify-content: center;
148
+ padding: 0;
149
+ border: none;
150
+ background: transparent;
151
+ cursor: pointer;
152
+ color: var(--inactive-color, var(--br-light-400));
153
+ transition: transform var(--br-transition-fast), color var(--br-transition-fast);
154
+
155
+ &:hover:not(:disabled) {
156
+ transform: scale(1.1);
157
+ }
158
+
159
+ &--filled,
160
+ &--half {
161
+ color: var(--active-color, var(--br-warning-500));
162
+ }
163
+
164
+ &:disabled {
165
+ cursor: not-allowed;
166
+ }
167
+ }
168
+
169
+ &__icon {
170
+ width: 100%;
171
+ height: 100%;
172
+ }
173
+
174
+ &__value {
175
+ font-weight: var(--br-font-medium);
176
+ color: var(--br-dark-600);
177
+ }
178
+
179
+ // Sizes
180
+ &--sm {
181
+ .br-rating__star {
182
+ width: 16px;
183
+ height: 16px;
184
+ }
185
+ .br-rating__value {
186
+ font-size: var(--br-text-sm);
187
+ }
188
+ }
189
+
190
+ &--md {
191
+ .br-rating__star {
192
+ width: 24px;
193
+ height: 24px;
194
+ }
195
+ .br-rating__value {
196
+ font-size: var(--br-text-md);
197
+ }
198
+ }
199
+
200
+ &--lg {
201
+ .br-rating__star {
202
+ width: 32px;
203
+ height: 32px;
204
+ }
205
+ .br-rating__value {
206
+ font-size: var(--br-text-lg);
207
+ }
208
+ }
209
+
210
+ &--xl {
211
+ .br-rating__star {
212
+ width: 40px;
213
+ height: 40px;
214
+ }
215
+ .br-rating__value {
216
+ font-size: var(--br-text-xl);
217
+ }
218
+ }
219
+
220
+ // States
221
+ &--readonly {
222
+ .br-rating__star {
223
+ cursor: default;
224
+ &:hover {
225
+ transform: none;
226
+ }
227
+ }
228
+ }
229
+
230
+ &--disabled {
231
+ opacity: 0.5;
232
+ }
233
+ }
234
+ </style>
@@ -0,0 +1,2 @@
1
+ export { default as BrRating } from './BrRating.vue'
2
+ export * from './types'
@@ -0,0 +1,60 @@
1
+ export type RatingSize = 'sm' | 'md' | 'lg' | 'xl'
2
+
3
+ export interface RatingProps {
4
+ /**
5
+ * Maximum rating value
6
+ * @default 5
7
+ */
8
+ max?: number
9
+
10
+ /**
11
+ * Rating size
12
+ * @default 'md'
13
+ */
14
+ size?: RatingSize
15
+
16
+ /**
17
+ * Allow half ratings
18
+ * @default false
19
+ */
20
+ allowHalf?: boolean
21
+
22
+ /**
23
+ * Read-only state
24
+ * @default false
25
+ */
26
+ readonly?: boolean
27
+
28
+ /**
29
+ * Disabled state
30
+ * @default false
31
+ */
32
+ disabled?: boolean
33
+
34
+ /**
35
+ * Show value label
36
+ * @default false
37
+ */
38
+ showValue?: boolean
39
+
40
+ /**
41
+ * Custom active color
42
+ */
43
+ activeColor?: string
44
+
45
+ /**
46
+ * Custom inactive color
47
+ */
48
+ inactiveColor?: string
49
+
50
+ /**
51
+ * Custom icon
52
+ */
53
+ icon?: 'star' | 'heart' | 'circle'
54
+
55
+ /**
56
+ * Clearable (allow setting to 0)
57
+ * @default false
58
+ */
59
+ clearable?: boolean
60
+ }