@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,553 @@
1
+ <script setup lang="ts">
2
+ import { computed, ref, watch } from 'vue'
3
+ import type { CalendarProps, CalendarView, CalendarRange } from './types'
4
+
5
+ const props = withDefaults(defineProps<CalendarProps>(), {
6
+ view: 'day',
7
+ firstDayOfWeek: 0,
8
+ showWeekNumbers: false,
9
+ multiple: false,
10
+ range: false,
11
+ locale: 'pt-BR',
12
+ readonly: false,
13
+ disabled: false,
14
+ })
15
+
16
+ const model = defineModel<Date | Date[] | CalendarRange | null>()
17
+
18
+ const currentView = ref<CalendarView>(props.view)
19
+ const viewDate = ref(new Date())
20
+
21
+ const weekDays = computed(() => {
22
+ const days = []
23
+ const baseDate = new Date(2024, 0, props.firstDayOfWeek)
24
+ for (let i = 0; i < 7; i++) {
25
+ const date = new Date(baseDate)
26
+ date.setDate(baseDate.getDate() + i)
27
+ days.push(date.toLocaleDateString(props.locale, { weekday: 'short' }))
28
+ }
29
+ return days
30
+ })
31
+
32
+ const monthName = computed(() => {
33
+ return viewDate.value.toLocaleDateString(props.locale, { month: 'long', year: 'numeric' })
34
+ })
35
+
36
+ const calendarDays = computed(() => {
37
+ const year = viewDate.value.getFullYear()
38
+ const month = viewDate.value.getMonth()
39
+ const firstDay = new Date(year, month, 1)
40
+ const lastDay = new Date(year, month + 1, 0)
41
+
42
+ const days = []
43
+ const startOffset = (firstDay.getDay() - props.firstDayOfWeek + 7) % 7
44
+
45
+ // Previous month days
46
+ for (let i = startOffset - 1; i >= 0; i--) {
47
+ const date = new Date(year, month, -i)
48
+ days.push({ date, isCurrentMonth: false, isToday: false })
49
+ }
50
+
51
+ // Current month days
52
+ const today = new Date()
53
+ for (let i = 1; i <= lastDay.getDate(); i++) {
54
+ const date = new Date(year, month, i)
55
+ const isToday =
56
+ date.getDate() === today.getDate() &&
57
+ date.getMonth() === today.getMonth() &&
58
+ date.getFullYear() === today.getFullYear()
59
+ days.push({ date, isCurrentMonth: true, isToday })
60
+ }
61
+
62
+ // Next month days
63
+ const remaining = 42 - days.length
64
+ for (let i = 1; i <= remaining; i++) {
65
+ const date = new Date(year, month + 1, i)
66
+ days.push({ date, isCurrentMonth: false, isToday: false })
67
+ }
68
+
69
+ return days
70
+ })
71
+
72
+ const months = computed(() => {
73
+ const months = []
74
+ for (let i = 0; i < 12; i++) {
75
+ const date = new Date(viewDate.value.getFullYear(), i, 1)
76
+ months.push({
77
+ index: i,
78
+ name: date.toLocaleDateString(props.locale, { month: 'short' }),
79
+ })
80
+ }
81
+ return months
82
+ })
83
+
84
+ const years = computed(() => {
85
+ const currentYear = viewDate.value.getFullYear()
86
+ const startYear = Math.floor(currentYear / 10) * 10
87
+ const years = []
88
+ for (let i = startYear - 1; i <= startYear + 10; i++) {
89
+ years.push(i)
90
+ }
91
+ return years
92
+ })
93
+
94
+ function isDateDisabled(date: Date) {
95
+ if (props.disabled) return true
96
+
97
+ if (props.minDate) {
98
+ const min = new Date(props.minDate)
99
+ min.setHours(0, 0, 0, 0)
100
+ if (date < min) return true
101
+ }
102
+
103
+ if (props.maxDate) {
104
+ const max = new Date(props.maxDate)
105
+ max.setHours(23, 59, 59, 999)
106
+ if (date > max) return true
107
+ }
108
+
109
+ if (props.disabledDates) {
110
+ return props.disabledDates.some((d) => {
111
+ const disabled = new Date(d)
112
+ return (
113
+ date.getDate() === disabled.getDate() &&
114
+ date.getMonth() === disabled.getMonth() &&
115
+ date.getFullYear() === disabled.getFullYear()
116
+ )
117
+ })
118
+ }
119
+
120
+ return false
121
+ }
122
+
123
+ function isDateSelected(date: Date) {
124
+ if (!model.value) return false
125
+
126
+ if (props.range && typeof model.value === 'object' && 'start' in model.value) {
127
+ const range = model.value as CalendarRange
128
+ if (range.start && isSameDay(date, range.start)) return true
129
+ if (range.end && isSameDay(date, range.end)) return true
130
+ return false
131
+ }
132
+
133
+ if (props.multiple && Array.isArray(model.value)) {
134
+ return model.value.some((d) => isSameDay(date, d))
135
+ }
136
+
137
+ if (model.value instanceof Date) {
138
+ return isSameDay(date, model.value)
139
+ }
140
+
141
+ return false
142
+ }
143
+
144
+ function isInRange(date: Date) {
145
+ if (!props.range || !model.value || typeof model.value !== 'object' || !('start' in model.value))
146
+ return false
147
+
148
+ const range = model.value as CalendarRange
149
+ if (!range.start || !range.end) return false
150
+
151
+ return date > range.start && date < range.end
152
+ }
153
+
154
+ function isSameDay(date1: Date, date2: Date) {
155
+ return (
156
+ date1.getDate() === date2.getDate() &&
157
+ date1.getMonth() === date2.getMonth() &&
158
+ date1.getFullYear() === date2.getFullYear()
159
+ )
160
+ }
161
+
162
+ function getHighlight(date: Date) {
163
+ if (!props.highlightedDates) return null
164
+ return props.highlightedDates.find((h) => isSameDay(date, new Date(h.date)))
165
+ }
166
+
167
+ function selectDate(date: Date) {
168
+ if (props.readonly || props.disabled || isDateDisabled(date)) return
169
+
170
+ if (props.range) {
171
+ const current = (model.value as CalendarRange) || { start: null, end: null }
172
+ if (!current.start || current.end) {
173
+ model.value = { start: date, end: null }
174
+ } else {
175
+ if (date < current.start) {
176
+ model.value = { start: date, end: current.start }
177
+ } else {
178
+ model.value = { start: current.start, end: date }
179
+ }
180
+ }
181
+ } else if (props.multiple) {
182
+ const current = (model.value as Date[]) || []
183
+ const index = current.findIndex((d) => isSameDay(d, date))
184
+ if (index > -1) {
185
+ const newValue = [...current]
186
+ newValue.splice(index, 1)
187
+ model.value = newValue
188
+ } else {
189
+ model.value = [...current, date]
190
+ }
191
+ } else {
192
+ model.value = date
193
+ }
194
+ }
195
+
196
+ function selectMonth(month: number) {
197
+ viewDate.value = new Date(viewDate.value.getFullYear(), month, 1)
198
+ currentView.value = 'day'
199
+ }
200
+
201
+ function selectYear(year: number) {
202
+ viewDate.value = new Date(year, viewDate.value.getMonth(), 1)
203
+ currentView.value = 'month'
204
+ }
205
+
206
+ function navigate(direction: number) {
207
+ const date = new Date(viewDate.value)
208
+ if (currentView.value === 'day') {
209
+ date.setMonth(date.getMonth() + direction)
210
+ } else if (currentView.value === 'month') {
211
+ date.setFullYear(date.getFullYear() + direction)
212
+ } else {
213
+ date.setFullYear(date.getFullYear() + direction * 10)
214
+ }
215
+ viewDate.value = date
216
+ }
217
+
218
+ function goToToday() {
219
+ viewDate.value = new Date()
220
+ currentView.value = 'day'
221
+ }
222
+
223
+ const classes = computed(() => [
224
+ 'br-calendar',
225
+ {
226
+ 'br-calendar--disabled': props.disabled,
227
+ 'br-calendar--readonly': props.readonly,
228
+ },
229
+ ])
230
+ </script>
231
+
232
+ <template>
233
+ <div :class="classes">
234
+ <div class="br-calendar__header">
235
+ <button
236
+ type="button"
237
+ class="br-calendar__nav"
238
+ :disabled="disabled"
239
+ @click="navigate(-1)"
240
+ >
241
+ <svg viewBox="0 0 24 24" fill="currentColor">
242
+ <path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z" />
243
+ </svg>
244
+ </button>
245
+
246
+ <button
247
+ type="button"
248
+ class="br-calendar__title"
249
+ :disabled="disabled"
250
+ @click="currentView = currentView === 'day' ? 'month' : 'year'"
251
+ >
252
+ {{ monthName }}
253
+ </button>
254
+
255
+ <button
256
+ type="button"
257
+ class="br-calendar__nav"
258
+ :disabled="disabled"
259
+ @click="navigate(1)"
260
+ >
261
+ <svg viewBox="0 0 24 24" fill="currentColor">
262
+ <path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" />
263
+ </svg>
264
+ </button>
265
+ </div>
266
+
267
+ <!-- Day View -->
268
+ <div v-if="currentView === 'day'" class="br-calendar__days">
269
+ <div class="br-calendar__weekdays">
270
+ <span v-if="showWeekNumbers" class="br-calendar__weekday">#</span>
271
+ <span v-for="day in weekDays" :key="day" class="br-calendar__weekday">
272
+ {{ day }}
273
+ </span>
274
+ </div>
275
+
276
+ <div class="br-calendar__grid">
277
+ <template v-for="(day, index) in calendarDays" :key="index">
278
+ <span
279
+ v-if="showWeekNumbers && index % 7 === 0"
280
+ class="br-calendar__week-number"
281
+ >
282
+ {{ Math.ceil((index + 1) / 7) }}
283
+ </span>
284
+ <button
285
+ type="button"
286
+ class="br-calendar__day"
287
+ :class="{
288
+ 'br-calendar__day--other-month': !day.isCurrentMonth,
289
+ 'br-calendar__day--today': day.isToday,
290
+ 'br-calendar__day--selected': isDateSelected(day.date),
291
+ 'br-calendar__day--in-range': isInRange(day.date),
292
+ 'br-calendar__day--disabled': isDateDisabled(day.date),
293
+ 'br-calendar__day--highlighted': getHighlight(day.date),
294
+ }"
295
+ :style="getHighlight(day.date) ? { '--highlight-color': getHighlight(day.date)?.color } : {}"
296
+ :disabled="isDateDisabled(day.date)"
297
+ :title="getHighlight(day.date)?.label"
298
+ @click="selectDate(day.date)"
299
+ >
300
+ {{ day.date.getDate() }}
301
+ </button>
302
+ </template>
303
+ </div>
304
+ </div>
305
+
306
+ <!-- Month View -->
307
+ <div v-else-if="currentView === 'month'" class="br-calendar__months">
308
+ <button
309
+ v-for="month in months"
310
+ :key="month.index"
311
+ type="button"
312
+ class="br-calendar__month"
313
+ :class="{
314
+ 'br-calendar__month--current': month.index === new Date().getMonth() && viewDate.getFullYear() === new Date().getFullYear(),
315
+ }"
316
+ :disabled="disabled"
317
+ @click="selectMonth(month.index)"
318
+ >
319
+ {{ month.name }}
320
+ </button>
321
+ </div>
322
+
323
+ <!-- Year View -->
324
+ <div v-else class="br-calendar__years">
325
+ <button
326
+ v-for="year in years"
327
+ :key="year"
328
+ type="button"
329
+ class="br-calendar__year"
330
+ :class="{
331
+ 'br-calendar__year--current': year === new Date().getFullYear(),
332
+ }"
333
+ :disabled="disabled"
334
+ @click="selectYear(year)"
335
+ >
336
+ {{ year }}
337
+ </button>
338
+ </div>
339
+
340
+ <div class="br-calendar__footer">
341
+ <button type="button" class="br-calendar__today" :disabled="disabled" @click="goToToday">
342
+ Hoje
343
+ </button>
344
+ </div>
345
+ </div>
346
+ </template>
347
+
348
+ <style lang="scss" scoped>
349
+ .br-calendar {
350
+ display: inline-flex;
351
+ flex-direction: column;
352
+ padding: var(--br-space-3);
353
+ background: var(--br-white);
354
+ border: 1px solid var(--br-light-300);
355
+ border-radius: var(--br-radius-lg);
356
+ min-width: 280px;
357
+
358
+ &--disabled {
359
+ opacity: 0.6;
360
+ pointer-events: none;
361
+ }
362
+
363
+ &__header {
364
+ display: flex;
365
+ align-items: center;
366
+ justify-content: space-between;
367
+ margin-bottom: var(--br-space-3);
368
+ }
369
+
370
+ &__nav {
371
+ display: flex;
372
+ align-items: center;
373
+ justify-content: center;
374
+ width: 32px;
375
+ height: 32px;
376
+ padding: 0;
377
+ border: none;
378
+ border-radius: var(--br-radius-md);
379
+ background: transparent;
380
+ color: var(--br-dark-600);
381
+ cursor: pointer;
382
+ transition: background var(--br-transition-fast);
383
+
384
+ svg {
385
+ width: 20px;
386
+ height: 20px;
387
+ }
388
+
389
+ &:hover:not(:disabled) {
390
+ background: var(--br-light-100);
391
+ }
392
+
393
+ &:disabled {
394
+ opacity: 0.5;
395
+ cursor: not-allowed;
396
+ }
397
+ }
398
+
399
+ &__title {
400
+ flex: 1;
401
+ padding: var(--br-space-2);
402
+ border: none;
403
+ background: transparent;
404
+ font-size: var(--br-text-md);
405
+ font-weight: var(--br-font-semibold);
406
+ color: var(--br-dark-800);
407
+ cursor: pointer;
408
+ text-transform: capitalize;
409
+
410
+ &:hover:not(:disabled) {
411
+ background: var(--br-light-100);
412
+ border-radius: var(--br-radius-md);
413
+ }
414
+ }
415
+
416
+ &__weekdays {
417
+ display: grid;
418
+ grid-template-columns: repeat(7, 1fr);
419
+ margin-bottom: var(--br-space-2);
420
+ }
421
+
422
+ &__weekday {
423
+ text-align: center;
424
+ font-size: var(--br-text-xs);
425
+ font-weight: var(--br-font-medium);
426
+ color: var(--br-dark-500);
427
+ text-transform: uppercase;
428
+ }
429
+
430
+ &__grid {
431
+ display: grid;
432
+ grid-template-columns: repeat(7, 1fr);
433
+ gap: 2px;
434
+ }
435
+
436
+ &__week-number {
437
+ display: flex;
438
+ align-items: center;
439
+ justify-content: center;
440
+ font-size: var(--br-text-xs);
441
+ color: var(--br-dark-400);
442
+ }
443
+
444
+ &__day {
445
+ display: flex;
446
+ align-items: center;
447
+ justify-content: center;
448
+ width: 36px;
449
+ height: 36px;
450
+ padding: 0;
451
+ border: none;
452
+ border-radius: var(--br-radius-md);
453
+ background: transparent;
454
+ font-size: var(--br-text-sm);
455
+ color: var(--br-dark-700);
456
+ cursor: pointer;
457
+ transition: all var(--br-transition-fast);
458
+
459
+ &:hover:not(:disabled):not(&--selected) {
460
+ background: var(--br-light-100);
461
+ }
462
+
463
+ &--other-month {
464
+ color: var(--br-dark-300);
465
+ }
466
+
467
+ &--today {
468
+ font-weight: var(--br-font-bold);
469
+ color: var(--br-primary-600);
470
+ }
471
+
472
+ &--selected {
473
+ background: var(--br-primary-500);
474
+ color: var(--br-white);
475
+ }
476
+
477
+ &--in-range {
478
+ background: var(--br-primary-100);
479
+ border-radius: 0;
480
+ }
481
+
482
+ &--disabled {
483
+ opacity: 0.3;
484
+ cursor: not-allowed;
485
+ }
486
+
487
+ &--highlighted {
488
+ position: relative;
489
+
490
+ &::after {
491
+ content: '';
492
+ position: absolute;
493
+ bottom: 4px;
494
+ width: 4px;
495
+ height: 4px;
496
+ border-radius: 50%;
497
+ background: var(--highlight-color, var(--br-primary-500));
498
+ }
499
+ }
500
+ }
501
+
502
+ &__months,
503
+ &__years {
504
+ display: grid;
505
+ grid-template-columns: repeat(3, 1fr);
506
+ gap: var(--br-space-2);
507
+ }
508
+
509
+ &__month,
510
+ &__year {
511
+ padding: var(--br-space-3);
512
+ border: none;
513
+ border-radius: var(--br-radius-md);
514
+ background: transparent;
515
+ font-size: var(--br-text-sm);
516
+ color: var(--br-dark-700);
517
+ cursor: pointer;
518
+ text-transform: capitalize;
519
+ transition: background var(--br-transition-fast);
520
+
521
+ &:hover:not(:disabled) {
522
+ background: var(--br-light-100);
523
+ }
524
+
525
+ &--current {
526
+ color: var(--br-primary-600);
527
+ font-weight: var(--br-font-semibold);
528
+ }
529
+ }
530
+
531
+ &__footer {
532
+ display: flex;
533
+ justify-content: center;
534
+ margin-top: var(--br-space-3);
535
+ padding-top: var(--br-space-3);
536
+ border-top: 1px solid var(--br-light-200);
537
+ }
538
+
539
+ &__today {
540
+ padding: var(--br-space-2) var(--br-space-4);
541
+ border: none;
542
+ border-radius: var(--br-radius-md);
543
+ background: transparent;
544
+ font-size: var(--br-text-sm);
545
+ color: var(--br-primary-600);
546
+ cursor: pointer;
547
+
548
+ &:hover:not(:disabled) {
549
+ background: var(--br-primary-50);
550
+ }
551
+ }
552
+ }
553
+ </style>
@@ -0,0 +1,2 @@
1
+ export { default as BrCalendar } from './BrCalendar.vue'
2
+ export * from './types'
@@ -0,0 +1,80 @@
1
+ export type CalendarView = 'day' | 'month' | 'year'
2
+
3
+ export interface CalendarProps {
4
+ /**
5
+ * Minimum selectable date
6
+ */
7
+ minDate?: Date | string
8
+
9
+ /**
10
+ * Maximum selectable date
11
+ */
12
+ maxDate?: Date | string
13
+
14
+ /**
15
+ * Disabled dates
16
+ */
17
+ disabledDates?: Array<Date | string>
18
+
19
+ /**
20
+ * Initial view
21
+ * @default 'day'
22
+ */
23
+ view?: CalendarView
24
+
25
+ /**
26
+ * First day of week (0 = Sunday, 1 = Monday)
27
+ * @default 0
28
+ */
29
+ firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6
30
+
31
+ /**
32
+ * Show week numbers
33
+ * @default false
34
+ */
35
+ showWeekNumbers?: boolean
36
+
37
+ /**
38
+ * Multiple selection
39
+ * @default false
40
+ */
41
+ multiple?: boolean
42
+
43
+ /**
44
+ * Range selection
45
+ * @default false
46
+ */
47
+ range?: boolean
48
+
49
+ /**
50
+ * Locale for date formatting
51
+ * @default 'pt-BR'
52
+ */
53
+ locale?: string
54
+
55
+ /**
56
+ * Readonly mode
57
+ * @default false
58
+ */
59
+ readonly?: boolean
60
+
61
+ /**
62
+ * Disabled state
63
+ * @default false
64
+ */
65
+ disabled?: boolean
66
+
67
+ /**
68
+ * Highlighted dates (with custom styling)
69
+ */
70
+ highlightedDates?: Array<{
71
+ date: Date | string
72
+ color?: string
73
+ label?: string
74
+ }>
75
+ }
76
+
77
+ export interface CalendarRange {
78
+ start: Date | null
79
+ end: Date | null
80
+ }