@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,262 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue'
3
+ import type { CardProps } from './types'
4
+
5
+ const props = withDefaults(defineProps<CardProps>(), {
6
+ variant: 'elevated',
7
+ size: 'md',
8
+ clickable: false,
9
+ imagePosition: 'top',
10
+ disabled: false,
11
+ loading: false,
12
+ rounded: 'md',
13
+ fullWidth: false,
14
+ })
15
+
16
+ const emit = defineEmits<{
17
+ (e: 'click', event: MouseEvent): void
18
+ }>()
19
+
20
+ const classes = computed(() => [
21
+ 'br-card',
22
+ `br-card--${props.variant}`,
23
+ `br-card--${props.size}`,
24
+ `br-card--rounded-${props.rounded}`,
25
+ `br-card--image-${props.imagePosition}`,
26
+ {
27
+ 'br-card--clickable': props.clickable,
28
+ 'br-card--disabled': props.disabled,
29
+ 'br-card--loading': props.loading,
30
+ 'br-card--full-width': props.fullWidth,
31
+ },
32
+ ])
33
+
34
+ const imageStyle = computed(() => {
35
+ if (!props.imageHeight) return {}
36
+ const height = typeof props.imageHeight === 'number' ? `${props.imageHeight}px` : props.imageHeight
37
+ return { height }
38
+ })
39
+
40
+ function handleClick(event: MouseEvent) {
41
+ if (props.disabled || props.loading) return
42
+ emit('click', event)
43
+ }
44
+ </script>
45
+
46
+ <template>
47
+ <div
48
+ :class="classes"
49
+ :role="clickable ? 'button' : undefined"
50
+ :tabindex="clickable && !disabled ? 0 : undefined"
51
+ @click="clickable ? handleClick($event) : undefined"
52
+ @keydown.enter="clickable ? handleClick($event as unknown as MouseEvent) : undefined"
53
+ >
54
+ <div v-if="loading" class="br-card__loader">
55
+ <div class="br-card__loader-spinner" />
56
+ </div>
57
+
58
+ <div v-if="image && (imagePosition === 'top' || imagePosition === 'left')" class="br-card__image" :style="imageStyle">
59
+ <slot name="image">
60
+ <img :src="image" alt="" />
61
+ </slot>
62
+ </div>
63
+
64
+ <div class="br-card__content">
65
+ <div v-if="title || subtitle || $slots.header" class="br-card__header">
66
+ <slot name="header">
67
+ <h3 v-if="title" class="br-card__title">{{ title }}</h3>
68
+ <p v-if="subtitle" class="br-card__subtitle">{{ subtitle }}</p>
69
+ </slot>
70
+ </div>
71
+
72
+ <div class="br-card__body">
73
+ <slot />
74
+ </div>
75
+
76
+ <div v-if="$slots.footer" class="br-card__footer">
77
+ <slot name="footer" />
78
+ </div>
79
+ </div>
80
+
81
+ <div v-if="image && (imagePosition === 'bottom' || imagePosition === 'right')" class="br-card__image" :style="imageStyle">
82
+ <slot name="image">
83
+ <img :src="image" alt="" />
84
+ </slot>
85
+ </div>
86
+ </div>
87
+ </template>
88
+
89
+ <style lang="scss" scoped>
90
+ .br-card {
91
+ position: relative;
92
+ display: flex;
93
+ flex-direction: column;
94
+ background: var(--br-white);
95
+ overflow: hidden;
96
+
97
+ &--elevated {
98
+ box-shadow: var(--br-shadow-md);
99
+ }
100
+
101
+ &--outlined {
102
+ border: 1px solid var(--br-light-300);
103
+ }
104
+
105
+ &--filled {
106
+ background: var(--br-light-100);
107
+ }
108
+
109
+ // Sizes
110
+ &--sm {
111
+ .br-card__content {
112
+ padding: var(--br-space-3);
113
+ }
114
+ }
115
+
116
+ &--md {
117
+ .br-card__content {
118
+ padding: var(--br-space-4);
119
+ }
120
+ }
121
+
122
+ &--lg {
123
+ .br-card__content {
124
+ padding: var(--br-space-6);
125
+ }
126
+ }
127
+
128
+ // Border radius
129
+ &--rounded-none {
130
+ border-radius: 0;
131
+ }
132
+
133
+ &--rounded-sm {
134
+ border-radius: var(--br-radius-sm);
135
+ }
136
+
137
+ &--rounded-md {
138
+ border-radius: var(--br-radius-md);
139
+ }
140
+
141
+ &--rounded-lg {
142
+ border-radius: var(--br-radius-lg);
143
+ }
144
+
145
+ &--rounded-xl {
146
+ border-radius: var(--br-radius-xl);
147
+ }
148
+
149
+ // Image positions
150
+ &--image-left,
151
+ &--image-right {
152
+ flex-direction: row;
153
+ }
154
+
155
+ &--image-right {
156
+ .br-card__image {
157
+ order: 1;
158
+ }
159
+ }
160
+
161
+ // States
162
+ &--clickable {
163
+ cursor: pointer;
164
+ transition: transform var(--br-transition-fast), box-shadow var(--br-transition-fast);
165
+
166
+ &:hover:not(.br-card--disabled) {
167
+ transform: translateY(-2px);
168
+ box-shadow: var(--br-shadow-lg);
169
+ }
170
+
171
+ &:active:not(.br-card--disabled) {
172
+ transform: translateY(0);
173
+ }
174
+ }
175
+
176
+ &--disabled {
177
+ opacity: 0.6;
178
+ cursor: not-allowed;
179
+ }
180
+
181
+ &--loading {
182
+ pointer-events: none;
183
+ }
184
+
185
+ &--full-width {
186
+ width: 100%;
187
+ }
188
+
189
+ &__loader {
190
+ position: absolute;
191
+ inset: 0;
192
+ display: flex;
193
+ align-items: center;
194
+ justify-content: center;
195
+ background: rgba(255, 255, 255, 0.8);
196
+ z-index: 10;
197
+ }
198
+
199
+ &__loader-spinner {
200
+ width: 32px;
201
+ height: 32px;
202
+ border: 3px solid var(--br-light-300);
203
+ border-top-color: var(--br-primary-500);
204
+ border-radius: 50%;
205
+ animation: spin 0.8s linear infinite;
206
+ }
207
+
208
+ &__image {
209
+ flex-shrink: 0;
210
+ overflow: hidden;
211
+
212
+ img {
213
+ width: 100%;
214
+ height: 100%;
215
+ object-fit: cover;
216
+ }
217
+ }
218
+
219
+ &__content {
220
+ display: flex;
221
+ flex-direction: column;
222
+ flex: 1;
223
+ }
224
+
225
+ &__header {
226
+ margin-bottom: var(--br-space-3);
227
+ }
228
+
229
+ &__title {
230
+ margin: 0;
231
+ font-size: var(--br-text-lg);
232
+ font-weight: var(--br-font-semibold);
233
+ color: var(--br-dark-800);
234
+ line-height: 1.3;
235
+ }
236
+
237
+ &__subtitle {
238
+ margin: var(--br-space-1) 0 0;
239
+ font-size: var(--br-text-sm);
240
+ color: var(--br-dark-500);
241
+ }
242
+
243
+ &__body {
244
+ flex: 1;
245
+ color: var(--br-dark-600);
246
+ font-size: var(--br-text-md);
247
+ line-height: 1.5;
248
+ }
249
+
250
+ &__footer {
251
+ margin-top: var(--br-space-4);
252
+ padding-top: var(--br-space-3);
253
+ border-top: 1px solid var(--br-light-200);
254
+ }
255
+ }
256
+
257
+ @keyframes spin {
258
+ to {
259
+ transform: rotate(360deg);
260
+ }
261
+ }
262
+ </style>
@@ -0,0 +1,2 @@
1
+ export { default as BrCard } from './BrCard.vue'
2
+ export * from './types'
@@ -0,0 +1,72 @@
1
+ export type CardVariant = 'elevated' | 'outlined' | 'filled'
2
+ export type CardSize = 'sm' | 'md' | 'lg'
3
+
4
+ export interface CardProps {
5
+ /**
6
+ * Card variant
7
+ * @default 'elevated'
8
+ */
9
+ variant?: CardVariant
10
+
11
+ /**
12
+ * Card padding size
13
+ * @default 'md'
14
+ */
15
+ size?: CardSize
16
+
17
+ /**
18
+ * Make card clickable
19
+ * @default false
20
+ */
21
+ clickable?: boolean
22
+
23
+ /**
24
+ * Card title
25
+ */
26
+ title?: string
27
+
28
+ /**
29
+ * Card subtitle
30
+ */
31
+ subtitle?: string
32
+
33
+ /**
34
+ * Card image URL
35
+ */
36
+ image?: string
37
+
38
+ /**
39
+ * Image position
40
+ * @default 'top'
41
+ */
42
+ imagePosition?: 'top' | 'bottom' | 'left' | 'right'
43
+
44
+ /**
45
+ * Image height
46
+ */
47
+ imageHeight?: string | number
48
+
49
+ /**
50
+ * Disable card
51
+ * @default false
52
+ */
53
+ disabled?: boolean
54
+
55
+ /**
56
+ * Loading state
57
+ * @default false
58
+ */
59
+ loading?: boolean
60
+
61
+ /**
62
+ * Border radius
63
+ * @default 'md'
64
+ */
65
+ rounded?: 'none' | 'sm' | 'md' | 'lg' | 'xl'
66
+
67
+ /**
68
+ * Full width
69
+ * @default false
70
+ */
71
+ fullWidth?: boolean
72
+ }
@@ -0,0 +1,241 @@
1
+ <script setup lang="ts">
2
+ import { computed, useSlots } from 'vue'
3
+ import type { FormFieldProps } from './types'
4
+
5
+ const props = withDefaults(defineProps<FormFieldProps>(), {
6
+ labelPosition: 'top',
7
+ required: false,
8
+ error: false,
9
+ success: false,
10
+ disabled: false,
11
+ })
12
+
13
+ const slots = useSlots()
14
+
15
+ const classes = computed(() => [
16
+ 'br-form-field',
17
+ `br-form-field--label-${props.labelPosition}`,
18
+ {
19
+ 'br-form-field--error': props.error,
20
+ 'br-form-field--success': props.success,
21
+ 'br-form-field--disabled': props.disabled,
22
+ 'br-form-field--has-prefix': !!slots.prefix,
23
+ 'br-form-field--has-suffix': !!slots.suffix,
24
+ },
25
+ ])
26
+
27
+ const messageType = computed(() => {
28
+ if (props.error && props.errorMessage) return 'error'
29
+ if (props.success && props.successMessage) return 'success'
30
+ if (props.helperText) return 'helper'
31
+ return null
32
+ })
33
+
34
+ const message = computed(() => {
35
+ if (props.error && props.errorMessage) return props.errorMessage
36
+ if (props.success && props.successMessage) return props.successMessage
37
+ return props.helperText
38
+ })
39
+ </script>
40
+
41
+ <template>
42
+ <div :class="classes">
43
+ <label v-if="label" class="br-form-field__label">
44
+ {{ label }}
45
+ <span v-if="required" class="br-form-field__required">*</span>
46
+ </label>
47
+
48
+ <div class="br-form-field__control">
49
+ <span v-if="$slots.prefix" class="br-form-field__prefix">
50
+ <slot name="prefix" />
51
+ </span>
52
+
53
+ <div class="br-form-field__input">
54
+ <slot />
55
+ </div>
56
+
57
+ <span v-if="$slots.suffix" class="br-form-field__suffix">
58
+ <slot name="suffix" />
59
+ </span>
60
+ </div>
61
+
62
+ <div v-if="message || charCount || hint" class="br-form-field__footer">
63
+ <span
64
+ v-if="message"
65
+ class="br-form-field__message"
66
+ :class="`br-form-field__message--${messageType}`"
67
+ >
68
+ <svg v-if="messageType === 'error'" viewBox="0 0 24 24" class="br-form-field__icon">
69
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z" fill="currentColor" />
70
+ </svg>
71
+ <svg v-else-if="messageType === 'success'" viewBox="0 0 24 24" class="br-form-field__icon">
72
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" fill="currentColor" />
73
+ </svg>
74
+ {{ message }}
75
+ </span>
76
+
77
+ <span v-if="charCount" class="br-form-field__char-count">
78
+ {{ charCount.current }}/{{ charCount.max }}
79
+ </span>
80
+ </div>
81
+
82
+ <span v-if="hint" class="br-form-field__hint">
83
+ {{ hint }}
84
+ </span>
85
+ </div>
86
+ </template>
87
+
88
+ <style lang="scss" scoped>
89
+ .br-form-field {
90
+ display: flex;
91
+ flex-direction: column;
92
+ gap: var(--br-space-1);
93
+
94
+ &--label-left {
95
+ flex-direction: row;
96
+ align-items: flex-start;
97
+ gap: var(--br-space-3);
98
+
99
+ .br-form-field__label {
100
+ min-width: 120px;
101
+ padding-top: var(--br-space-2);
102
+ }
103
+
104
+ .br-form-field__control {
105
+ flex: 1;
106
+ }
107
+ }
108
+
109
+ &__label {
110
+ display: flex;
111
+ align-items: center;
112
+ gap: var(--br-space-1);
113
+ font-size: var(--br-text-sm);
114
+ font-weight: var(--br-font-medium);
115
+ color: var(--br-dark-700);
116
+ }
117
+
118
+ &__required {
119
+ color: var(--br-danger-500);
120
+ }
121
+
122
+ &__control {
123
+ display: flex;
124
+ align-items: stretch;
125
+ position: relative;
126
+ }
127
+
128
+ &__input {
129
+ flex: 1;
130
+ display: flex;
131
+
132
+ :deep(input),
133
+ :deep(select),
134
+ :deep(textarea) {
135
+ width: 100%;
136
+ }
137
+ }
138
+
139
+ &__prefix,
140
+ &__suffix {
141
+ display: flex;
142
+ align-items: center;
143
+ padding: 0 var(--br-space-3);
144
+ background: var(--br-light-100);
145
+ border: 1px solid var(--br-light-300);
146
+ color: var(--br-dark-500);
147
+ font-size: var(--br-text-sm);
148
+ }
149
+
150
+ &__prefix {
151
+ border-right: none;
152
+ border-radius: var(--br-radius-md) 0 0 var(--br-radius-md);
153
+ }
154
+
155
+ &__suffix {
156
+ border-left: none;
157
+ border-radius: 0 var(--br-radius-md) var(--br-radius-md) 0;
158
+ }
159
+
160
+ &--has-prefix :deep(input),
161
+ &--has-prefix :deep(select) {
162
+ border-top-left-radius: 0;
163
+ border-bottom-left-radius: 0;
164
+ }
165
+
166
+ &--has-suffix :deep(input),
167
+ &--has-suffix :deep(select) {
168
+ border-top-right-radius: 0;
169
+ border-bottom-right-radius: 0;
170
+ }
171
+
172
+ &__footer {
173
+ display: flex;
174
+ justify-content: space-between;
175
+ align-items: center;
176
+ min-height: 20px;
177
+ }
178
+
179
+ &__message {
180
+ display: flex;
181
+ align-items: center;
182
+ gap: var(--br-space-1);
183
+ font-size: var(--br-text-sm);
184
+
185
+ &--helper {
186
+ color: var(--br-dark-500);
187
+ }
188
+
189
+ &--error {
190
+ color: var(--br-danger-500);
191
+ }
192
+
193
+ &--success {
194
+ color: var(--br-success-500);
195
+ }
196
+ }
197
+
198
+ &__icon {
199
+ width: 16px;
200
+ height: 16px;
201
+ flex-shrink: 0;
202
+ }
203
+
204
+ &__char-count {
205
+ font-size: var(--br-text-xs);
206
+ color: var(--br-dark-400);
207
+ }
208
+
209
+ &__hint {
210
+ font-size: var(--br-text-xs);
211
+ color: var(--br-dark-400);
212
+ font-style: italic;
213
+ }
214
+
215
+ // States
216
+ &--error {
217
+ .br-form-field__label {
218
+ color: var(--br-danger-600);
219
+ }
220
+
221
+ :deep(input),
222
+ :deep(select),
223
+ :deep(textarea) {
224
+ border-color: var(--br-danger-500);
225
+ }
226
+ }
227
+
228
+ &--success {
229
+ :deep(input),
230
+ :deep(select),
231
+ :deep(textarea) {
232
+ border-color: var(--br-success-500);
233
+ }
234
+ }
235
+
236
+ &--disabled {
237
+ opacity: 0.6;
238
+ pointer-events: none;
239
+ }
240
+ }
241
+ </style>
@@ -0,0 +1,2 @@
1
+ export { default as BrFormField } from './BrFormField.vue'
2
+ export * from './types'
@@ -0,0 +1,64 @@
1
+ export interface FormFieldProps {
2
+ /**
3
+ * Field label
4
+ */
5
+ label?: string
6
+
7
+ /**
8
+ * Label position
9
+ * @default 'top'
10
+ */
11
+ labelPosition?: 'top' | 'left' | 'floating'
12
+
13
+ /**
14
+ * Required field indicator
15
+ * @default false
16
+ */
17
+ required?: boolean
18
+
19
+ /**
20
+ * Helper text
21
+ */
22
+ helperText?: string
23
+
24
+ /**
25
+ * Error message
26
+ */
27
+ errorMessage?: string
28
+
29
+ /**
30
+ * Success message
31
+ */
32
+ successMessage?: string
33
+
34
+ /**
35
+ * Error state
36
+ * @default false
37
+ */
38
+ error?: boolean
39
+
40
+ /**
41
+ * Success state
42
+ * @default false
43
+ */
44
+ success?: boolean
45
+
46
+ /**
47
+ * Character count
48
+ */
49
+ charCount?: {
50
+ current: number
51
+ max: number
52
+ }
53
+
54
+ /**
55
+ * Hint text (shows on focus)
56
+ */
57
+ hint?: string
58
+
59
+ /**
60
+ * Disabled state
61
+ * @default false
62
+ */
63
+ disabled?: boolean
64
+ }