@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,98 @@
1
+ import { describe, it, expect } from 'vitest'
2
+ import { mount } from '@vue/test-utils'
3
+ import BrInput from './BrInput.vue'
4
+
5
+ describe('BrInput', () => {
6
+ it('renders input element', () => {
7
+ const wrapper = mount(BrInput)
8
+ expect(wrapper.find('input').exists()).toBe(true)
9
+ })
10
+
11
+ it('binds v-model correctly', async () => {
12
+ let modelValue = 'initial'
13
+ const wrapper = mount(BrInput, {
14
+ props: {
15
+ modelValue,
16
+ 'onUpdate:modelValue': (e: unknown) => {
17
+ modelValue = e as string
18
+ wrapper.setProps({ modelValue })
19
+ },
20
+ },
21
+ })
22
+ const input = wrapper.find('input')
23
+ expect(input.element.value).toBe('initial')
24
+
25
+ await input.setValue('updated')
26
+ expect(wrapper.props('modelValue')).toBe('updated')
27
+ })
28
+
29
+ it('applies correct size class', () => {
30
+ const wrapper = mount(BrInput, {
31
+ props: { size: 'lg' },
32
+ })
33
+ expect(wrapper.classes()).toContain('br-input--lg')
34
+ })
35
+
36
+ it('applies error class when error prop is true', () => {
37
+ const wrapper = mount(BrInput, {
38
+ props: { error: true },
39
+ })
40
+ expect(wrapper.classes()).toContain('br-input--error')
41
+ })
42
+
43
+ it('sets placeholder attribute', () => {
44
+ const wrapper = mount(BrInput, {
45
+ props: { placeholder: 'Enter text' },
46
+ })
47
+ expect(wrapper.find('input').attributes('placeholder')).toBe('Enter text')
48
+ })
49
+
50
+ it('sets type attribute', () => {
51
+ const wrapper = mount(BrInput, {
52
+ props: { type: 'password' },
53
+ })
54
+ expect(wrapper.find('input').attributes('type')).toBe('password')
55
+ })
56
+
57
+ it('is disabled when disabled prop is true', () => {
58
+ const wrapper = mount(BrInput, {
59
+ props: { disabled: true },
60
+ })
61
+ expect(wrapper.find('input').attributes('disabled')).toBeDefined()
62
+ })
63
+
64
+ it('is readonly when readonly prop is true', () => {
65
+ const wrapper = mount(BrInput, {
66
+ props: { readonly: true },
67
+ })
68
+ expect(wrapper.find('input').attributes('readonly')).toBeDefined()
69
+ })
70
+
71
+ it('emits focus event', async () => {
72
+ const wrapper = mount(BrInput)
73
+ await wrapper.find('input').trigger('focus')
74
+ expect(wrapper.emitted('focus')).toBeTruthy()
75
+ })
76
+
77
+ it('emits blur event', async () => {
78
+ const wrapper = mount(BrInput)
79
+ await wrapper.find('input').trigger('blur')
80
+ expect(wrapper.emitted('blur')).toBeTruthy()
81
+ })
82
+
83
+ it('emits enter event on Enter key', async () => {
84
+ const wrapper = mount(BrInput)
85
+ await wrapper.find('input').trigger('keydown', { key: 'Enter' })
86
+ expect(wrapper.emitted('enter')).toBeTruthy()
87
+ })
88
+
89
+ it('applies block class by default', () => {
90
+ const wrapper = mount(BrInput)
91
+ expect(wrapper.classes()).toContain('br-input--block')
92
+ })
93
+
94
+ it('exposes focus method', () => {
95
+ const wrapper = mount(BrInput)
96
+ expect(typeof wrapper.vm.focus).toBe('function')
97
+ })
98
+ })
@@ -0,0 +1,215 @@
1
+ <script setup lang="ts">
2
+ /**
3
+ * BrInput - Text input component
4
+ *
5
+ * @example
6
+ * <BrInput v-model="value" placeholder="Digite aqui" />
7
+ * <BrInput type="password" v-model="password" />
8
+ * <BrInput type="number" :min="0" :max="100" />
9
+ */
10
+
11
+ import { computed, ref, watch } from 'vue'
12
+ import type { InputProps } from './types'
13
+
14
+ // ---------------------------------------------------------------------------
15
+ // PROPS
16
+ // ---------------------------------------------------------------------------
17
+
18
+ const props = withDefaults(defineProps<InputProps>(), {
19
+ type: 'text',
20
+ placeholder: '',
21
+ disabled: false,
22
+ readonly: false,
23
+ error: false,
24
+ size: 'md',
25
+ block: true,
26
+ })
27
+
28
+ // ---------------------------------------------------------------------------
29
+ // MODEL
30
+ // ---------------------------------------------------------------------------
31
+
32
+ const model = defineModel<string | number>()
33
+
34
+ // ---------------------------------------------------------------------------
35
+ // EMITS
36
+ // ---------------------------------------------------------------------------
37
+
38
+ const emit = defineEmits<{
39
+ (e: 'focus', value: string | number | undefined): void
40
+ (e: 'blur', value: string | number | undefined): void
41
+ (e: 'enter', value: string | number | undefined): void
42
+ (e: 'keydown', event: KeyboardEvent): void
43
+ }>()
44
+
45
+ // ---------------------------------------------------------------------------
46
+ // REFS
47
+ // ---------------------------------------------------------------------------
48
+
49
+ const inputRef = ref<HTMLInputElement | null>(null)
50
+ const isFocused = ref(false)
51
+
52
+ // ---------------------------------------------------------------------------
53
+ // COMPUTED
54
+ // ---------------------------------------------------------------------------
55
+
56
+ const classes = computed(() => [
57
+ 'br-input',
58
+ `br-input--${props.size}`,
59
+ {
60
+ 'br-input--block': props.block,
61
+ 'br-input--error': props.error,
62
+ 'br-input--disabled': props.disabled,
63
+ 'br-input--focused': isFocused.value,
64
+ },
65
+ ])
66
+
67
+ // ---------------------------------------------------------------------------
68
+ // METHODS
69
+ // ---------------------------------------------------------------------------
70
+
71
+ function handleInput(event: Event) {
72
+ const target = event.target as HTMLInputElement
73
+ const value = props.type === 'number' ? Number(target.value) : target.value
74
+
75
+ if (props.type === 'number' && props.min !== undefined && Number(value) < props.min) {
76
+ model.value = props.min
77
+ return
78
+ }
79
+
80
+ if (props.type === 'number' && props.max !== undefined && Number(value) > props.max) {
81
+ model.value = props.max
82
+ return
83
+ }
84
+
85
+ model.value = value
86
+ }
87
+
88
+ function handleFocus() {
89
+ isFocused.value = true
90
+ emit('focus', model.value)
91
+ }
92
+
93
+ function handleBlur() {
94
+ isFocused.value = false
95
+ emit('blur', model.value)
96
+ }
97
+
98
+ function handleKeydown(event: KeyboardEvent) {
99
+ emit('keydown', event)
100
+ if (event.key === 'Enter') {
101
+ emit('enter', model.value)
102
+ }
103
+ }
104
+
105
+ function focus() {
106
+ inputRef.value?.focus()
107
+ }
108
+
109
+ function blur() {
110
+ inputRef.value?.blur()
111
+ }
112
+
113
+ // ---------------------------------------------------------------------------
114
+ // EXPOSE
115
+ // ---------------------------------------------------------------------------
116
+
117
+ defineExpose({ focus, blur, inputRef })
118
+ </script>
119
+
120
+ <template>
121
+ <input
122
+ ref="inputRef"
123
+ :class="classes"
124
+ :type="type"
125
+ :value="model"
126
+ :placeholder="placeholder"
127
+ :disabled="disabled"
128
+ :readonly="readonly"
129
+ :min="min"
130
+ :max="max"
131
+ :maxlength="maxLength"
132
+ :autocomplete="autocomplete"
133
+ @input="handleInput"
134
+ @focus="handleFocus"
135
+ @blur="handleBlur"
136
+ @keydown="handleKeydown"
137
+ />
138
+ </template>
139
+
140
+ <style lang="scss" scoped>
141
+ .br-input {
142
+ font-family: var(--br-font-primary);
143
+ border: 1px solid var(--br-light-300);
144
+ border-radius: var(--br-radius-sm);
145
+ background: var(--br-light-0);
146
+ color: var(--br-dark-700);
147
+ transition: all var(--br-transition-fast);
148
+
149
+ &::placeholder {
150
+ color: var(--br-dark-1100);
151
+ }
152
+
153
+ &:focus {
154
+ outline: none;
155
+ border-color: var(--br-primary-600);
156
+ box-shadow: 0 0 0 3px rgba(109, 54, 251, 0.1);
157
+ }
158
+
159
+ // ---------------------------------------------------------------------------
160
+ // SIZES
161
+ // ---------------------------------------------------------------------------
162
+
163
+ &--sm {
164
+ height: 36px;
165
+ padding: 0 var(--br-space-3);
166
+ font-size: var(--br-text-xs);
167
+ }
168
+
169
+ &--md {
170
+ height: 44px;
171
+ padding: 0 var(--br-space-4);
172
+ font-size: var(--br-text-sm);
173
+ }
174
+
175
+ &--lg {
176
+ height: 56px;
177
+ padding: 0 var(--br-space-4);
178
+ font-size: var(--br-text-base);
179
+ }
180
+
181
+ // ---------------------------------------------------------------------------
182
+ // STATES
183
+ // ---------------------------------------------------------------------------
184
+
185
+ &--block {
186
+ width: 100%;
187
+ }
188
+
189
+ &--error {
190
+ border-color: var(--br-danger-600);
191
+
192
+ &:focus {
193
+ border-color: var(--br-danger-600);
194
+ box-shadow: 0 0 0 3px rgba(255, 46, 46, 0.1);
195
+ }
196
+ }
197
+
198
+ &--disabled {
199
+ background: var(--br-light-200);
200
+ color: var(--br-dark-1100);
201
+ cursor: not-allowed;
202
+ }
203
+ }
204
+
205
+ // Remove number input spinners
206
+ input[type='number']::-webkit-inner-spin-button,
207
+ input[type='number']::-webkit-outer-spin-button {
208
+ -webkit-appearance: none;
209
+ margin: 0;
210
+ }
211
+
212
+ input[type='number'] {
213
+ -moz-appearance: textfield;
214
+ }
215
+ </style>
@@ -0,0 +1,2 @@
1
+ export { default as BrInput } from './BrInput.vue'
2
+ export * from './types'
@@ -0,0 +1,65 @@
1
+ export type InputSize = 'sm' | 'md' | 'lg'
2
+ export type InputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time'
3
+
4
+ export interface InputProps {
5
+ /**
6
+ * Input type
7
+ * @default 'text'
8
+ */
9
+ type?: InputType
10
+
11
+ /**
12
+ * Placeholder text
13
+ */
14
+ placeholder?: string
15
+
16
+ /**
17
+ * Disable the input
18
+ * @default false
19
+ */
20
+ disabled?: boolean
21
+
22
+ /**
23
+ * Readonly state
24
+ * @default false
25
+ */
26
+ readonly?: boolean
27
+
28
+ /**
29
+ * Error state
30
+ * @default false
31
+ */
32
+ error?: boolean
33
+
34
+ /**
35
+ * Input size
36
+ * @default 'md'
37
+ */
38
+ size?: InputSize
39
+
40
+ /**
41
+ * Full width input
42
+ * @default true
43
+ */
44
+ block?: boolean
45
+
46
+ /**
47
+ * Minimum value (for number type)
48
+ */
49
+ min?: number
50
+
51
+ /**
52
+ * Maximum value (for number type)
53
+ */
54
+ max?: number
55
+
56
+ /**
57
+ * Maximum length
58
+ */
59
+ maxLength?: number
60
+
61
+ /**
62
+ * Autocomplete attribute
63
+ */
64
+ autocomplete?: string
65
+ }
@@ -0,0 +1,204 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue'
3
+ import type { ProgressbarProps } from './types'
4
+
5
+ const props = withDefaults(defineProps<ProgressbarProps>(), {
6
+ value: 0,
7
+ max: 100,
8
+ size: 'md',
9
+ variant: 'primary',
10
+ showLabel: false,
11
+ labelPosition: 'right',
12
+ striped: false,
13
+ animated: false,
14
+ indeterminate: false,
15
+ rounded: true,
16
+ })
17
+
18
+ const percentage = computed(() => {
19
+ if (props.indeterminate) return 0
20
+ return Math.min(100, Math.max(0, (props.value / props.max) * 100))
21
+ })
22
+
23
+ const classes = computed(() => [
24
+ 'br-progressbar',
25
+ `br-progressbar--${props.size}`,
26
+ `br-progressbar--${props.variant}`,
27
+ {
28
+ 'br-progressbar--striped': props.striped,
29
+ 'br-progressbar--animated': props.animated,
30
+ 'br-progressbar--indeterminate': props.indeterminate,
31
+ 'br-progressbar--rounded': props.rounded,
32
+ [`br-progressbar--label-${props.labelPosition}`]: props.showLabel,
33
+ },
34
+ ])
35
+
36
+ const barStyle = computed(() => ({
37
+ width: props.indeterminate ? '100%' : `${percentage.value}%`,
38
+ }))
39
+ </script>
40
+
41
+ <template>
42
+ <div :class="classes">
43
+ <span v-if="showLabel && labelPosition === 'top'" class="br-progressbar__label">
44
+ {{ Math.round(percentage) }}%
45
+ </span>
46
+ <div class="br-progressbar__track">
47
+ <div class="br-progressbar__bar" :style="barStyle">
48
+ <span v-if="showLabel && labelPosition === 'inside'" class="br-progressbar__label">
49
+ {{ Math.round(percentage) }}%
50
+ </span>
51
+ </div>
52
+ </div>
53
+ <span v-if="showLabel && labelPosition === 'right'" class="br-progressbar__label">
54
+ {{ Math.round(percentage) }}%
55
+ </span>
56
+ </div>
57
+ </template>
58
+
59
+ <style lang="scss" scoped>
60
+ .br-progressbar {
61
+ display: flex;
62
+ align-items: center;
63
+ gap: var(--br-space-2);
64
+ width: 100%;
65
+
66
+ &--label-top {
67
+ flex-direction: column;
68
+ align-items: flex-start;
69
+ }
70
+
71
+ &__track {
72
+ flex: 1;
73
+ background: var(--br-light-300);
74
+ overflow: hidden;
75
+ }
76
+
77
+ &__bar {
78
+ height: 100%;
79
+ display: flex;
80
+ align-items: center;
81
+ justify-content: center;
82
+ transition: width var(--br-transition-normal);
83
+ }
84
+
85
+ &__label {
86
+ font-size: var(--br-text-sm);
87
+ font-weight: var(--br-font-medium);
88
+ color: var(--br-dark-600);
89
+ white-space: nowrap;
90
+ }
91
+
92
+ // Sizes
93
+ &--xs {
94
+ .br-progressbar__track {
95
+ height: 4px;
96
+ }
97
+ }
98
+
99
+ &--sm {
100
+ .br-progressbar__track {
101
+ height: 8px;
102
+ }
103
+ }
104
+
105
+ &--md {
106
+ .br-progressbar__track {
107
+ height: 12px;
108
+ }
109
+ }
110
+
111
+ &--lg {
112
+ .br-progressbar__track {
113
+ height: 20px;
114
+ }
115
+ .br-progressbar__bar {
116
+ font-size: var(--br-text-xs);
117
+ }
118
+ }
119
+
120
+ // Rounded
121
+ &--rounded {
122
+ .br-progressbar__track {
123
+ border-radius: var(--br-radius-full);
124
+ }
125
+ .br-progressbar__bar {
126
+ border-radius: var(--br-radius-full);
127
+ }
128
+ }
129
+
130
+ // Variants
131
+ &--primary .br-progressbar__bar {
132
+ background: var(--br-primary-500);
133
+ }
134
+
135
+ &--success .br-progressbar__bar {
136
+ background: var(--br-success-500);
137
+ }
138
+
139
+ &--warning .br-progressbar__bar {
140
+ background: var(--br-warning-500);
141
+ }
142
+
143
+ &--danger .br-progressbar__bar {
144
+ background: var(--br-danger-500);
145
+ }
146
+
147
+ &--info .br-progressbar__bar {
148
+ background: var(--br-info-500);
149
+ }
150
+
151
+ // Inside label
152
+ &--label-inside {
153
+ .br-progressbar__label {
154
+ color: var(--br-white);
155
+ font-size: var(--br-text-xs);
156
+ padding: 0 var(--br-space-2);
157
+ }
158
+ }
159
+
160
+ // Striped
161
+ &--striped .br-progressbar__bar {
162
+ background-image: linear-gradient(
163
+ 45deg,
164
+ rgba(255, 255, 255, 0.15) 25%,
165
+ transparent 25%,
166
+ transparent 50%,
167
+ rgba(255, 255, 255, 0.15) 50%,
168
+ rgba(255, 255, 255, 0.15) 75%,
169
+ transparent 75%,
170
+ transparent
171
+ );
172
+ background-size: 1rem 1rem;
173
+ }
174
+
175
+ // Animated
176
+ &--animated .br-progressbar__bar {
177
+ animation: progress-bar-stripes 1s linear infinite;
178
+ }
179
+
180
+ // Indeterminate
181
+ &--indeterminate .br-progressbar__bar {
182
+ width: 30% !important;
183
+ animation: progress-bar-indeterminate 1.5s ease-in-out infinite;
184
+ }
185
+ }
186
+
187
+ @keyframes progress-bar-stripes {
188
+ from {
189
+ background-position: 1rem 0;
190
+ }
191
+ to {
192
+ background-position: 0 0;
193
+ }
194
+ }
195
+
196
+ @keyframes progress-bar-indeterminate {
197
+ 0% {
198
+ transform: translateX(-100%);
199
+ }
200
+ 100% {
201
+ transform: translateX(400%);
202
+ }
203
+ }
204
+ </style>
@@ -0,0 +1,2 @@
1
+ export { default as BrProgressbar } from './BrProgressbar.vue'
2
+ export * from './types'
@@ -0,0 +1,64 @@
1
+ export type ProgressbarSize = 'xs' | 'sm' | 'md' | 'lg'
2
+ export type ProgressbarVariant = 'primary' | 'success' | 'warning' | 'danger' | 'info'
3
+
4
+ export interface ProgressbarProps {
5
+ /**
6
+ * Progress value (0-100)
7
+ * @default 0
8
+ */
9
+ value?: number
10
+
11
+ /**
12
+ * Maximum value
13
+ * @default 100
14
+ */
15
+ max?: number
16
+
17
+ /**
18
+ * Progress bar size
19
+ * @default 'md'
20
+ */
21
+ size?: ProgressbarSize
22
+
23
+ /**
24
+ * Progress bar variant
25
+ * @default 'primary'
26
+ */
27
+ variant?: ProgressbarVariant
28
+
29
+ /**
30
+ * Show percentage label
31
+ * @default false
32
+ */
33
+ showLabel?: boolean
34
+
35
+ /**
36
+ * Label position
37
+ * @default 'right'
38
+ */
39
+ labelPosition?: 'inside' | 'right' | 'top'
40
+
41
+ /**
42
+ * Striped style
43
+ * @default false
44
+ */
45
+ striped?: boolean
46
+
47
+ /**
48
+ * Animated stripes
49
+ * @default false
50
+ */
51
+ animated?: boolean
52
+
53
+ /**
54
+ * Indeterminate state
55
+ * @default false
56
+ */
57
+ indeterminate?: boolean
58
+
59
+ /**
60
+ * Border radius
61
+ * @default true
62
+ */
63
+ rounded?: boolean
64
+ }