@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,212 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'
2
+ import { mount } from '@vue/test-utils'
3
+ import BrModal from './BrModal.vue'
4
+
5
+ describe('BrModal', () => {
6
+ beforeEach(() => {
7
+ document.body.innerHTML = ''
8
+ })
9
+
10
+ afterEach(() => {
11
+ document.body.style.overflow = ''
12
+ })
13
+
14
+ it('renders when open', () => {
15
+ const wrapper = mount(BrModal, {
16
+ props: { modelValue: true },
17
+ global: {
18
+ stubs: {
19
+ teleport: true,
20
+ },
21
+ },
22
+ })
23
+ expect(wrapper.find('.br-modal').exists()).toBe(true)
24
+ })
25
+
26
+ it('does not render when closed', () => {
27
+ const wrapper = mount(BrModal, {
28
+ props: { modelValue: false },
29
+ global: {
30
+ stubs: {
31
+ teleport: true,
32
+ },
33
+ },
34
+ })
35
+ expect(wrapper.find('.br-modal').exists()).toBe(false)
36
+ })
37
+
38
+ it('renders title', () => {
39
+ const wrapper = mount(BrModal, {
40
+ props: { modelValue: true, title: 'Test Modal' },
41
+ global: {
42
+ stubs: {
43
+ teleport: true,
44
+ },
45
+ },
46
+ })
47
+ expect(wrapper.find('.br-modal__title').text()).toBe('Test Modal')
48
+ })
49
+
50
+ it('renders slot content', () => {
51
+ const wrapper = mount(BrModal, {
52
+ props: { modelValue: true },
53
+ slots: {
54
+ default: '<p>Modal content</p>',
55
+ },
56
+ global: {
57
+ stubs: {
58
+ teleport: true,
59
+ },
60
+ },
61
+ })
62
+ expect(wrapper.find('.br-modal__body').html()).toContain('Modal content')
63
+ })
64
+
65
+ it('emits close when close button clicked', async () => {
66
+ const wrapper = mount(BrModal, {
67
+ props: {
68
+ modelValue: true,
69
+ 'onUpdate:modelValue': (e: boolean) => wrapper.setProps({ modelValue: e }),
70
+ },
71
+ global: {
72
+ stubs: {
73
+ teleport: true,
74
+ },
75
+ },
76
+ })
77
+ await wrapper.find('.br-modal__close').trigger('click')
78
+ expect(wrapper.emitted('close')).toBeTruthy()
79
+ })
80
+
81
+ it('closes on backdrop click by default', async () => {
82
+ const wrapper = mount(BrModal, {
83
+ props: {
84
+ modelValue: true,
85
+ 'onUpdate:modelValue': (e: boolean) => wrapper.setProps({ modelValue: e }),
86
+ },
87
+ global: {
88
+ stubs: {
89
+ teleport: true,
90
+ },
91
+ },
92
+ })
93
+ await wrapper.find('.br-modal__backdrop').trigger('click')
94
+ expect(wrapper.emitted('close')).toBeTruthy()
95
+ })
96
+
97
+ it('does not close on backdrop click when closeOnClickOutside is false', async () => {
98
+ const wrapper = mount(BrModal, {
99
+ props: {
100
+ modelValue: true,
101
+ closeOnClickOutside: false,
102
+ 'onUpdate:modelValue': (e: boolean) => wrapper.setProps({ modelValue: e }),
103
+ },
104
+ global: {
105
+ stubs: {
106
+ teleport: true,
107
+ },
108
+ },
109
+ })
110
+ await wrapper.find('.br-modal__backdrop').trigger('click')
111
+ expect(wrapper.emitted('close')).toBeFalsy()
112
+ })
113
+
114
+ it('applies correct variant class', () => {
115
+ const wrapper = mount(BrModal, {
116
+ props: { modelValue: true, variant: 'aside' },
117
+ global: {
118
+ stubs: {
119
+ teleport: true,
120
+ },
121
+ },
122
+ })
123
+ expect(wrapper.find('.br-modal').classes()).toContain('br-modal--aside')
124
+ })
125
+
126
+ it('applies correct size class', () => {
127
+ const sizes = ['sm', 'md', 'lg', 'xl'] as const
128
+ sizes.forEach((size) => {
129
+ const wrapper = mount(BrModal, {
130
+ props: { modelValue: true, size },
131
+ global: {
132
+ stubs: {
133
+ teleport: true,
134
+ },
135
+ },
136
+ })
137
+ expect(wrapper.find('.br-modal').classes()).toContain(`br-modal--${size}`)
138
+ })
139
+ })
140
+
141
+ it('hides close button when closable is false', () => {
142
+ const wrapper = mount(BrModal, {
143
+ props: { modelValue: true, closable: false },
144
+ global: {
145
+ stubs: {
146
+ teleport: true,
147
+ },
148
+ },
149
+ })
150
+ expect(wrapper.find('.br-modal__close').exists()).toBe(false)
151
+ })
152
+
153
+ it('shows footer when showFooter is true', () => {
154
+ const wrapper = mount(BrModal, {
155
+ props: { modelValue: true, showFooter: true },
156
+ global: {
157
+ stubs: {
158
+ teleport: true,
159
+ },
160
+ },
161
+ })
162
+ expect(wrapper.find('.br-modal__footer').exists()).toBe(true)
163
+ })
164
+
165
+ it('emits confirm when confirm button clicked', async () => {
166
+ const wrapper = mount(BrModal, {
167
+ props: { modelValue: true, showFooter: true },
168
+ global: {
169
+ stubs: {
170
+ teleport: true,
171
+ },
172
+ },
173
+ })
174
+ await wrapper.find('.br-modal__btn--confirm').trigger('click')
175
+ expect(wrapper.emitted('confirm')).toBeTruthy()
176
+ })
177
+
178
+ it('emits cancel when cancel button clicked', async () => {
179
+ const wrapper = mount(BrModal, {
180
+ props: {
181
+ modelValue: true,
182
+ showFooter: true,
183
+ 'onUpdate:modelValue': (e: boolean) => wrapper.setProps({ modelValue: e }),
184
+ },
185
+ global: {
186
+ stubs: {
187
+ teleport: true,
188
+ },
189
+ },
190
+ })
191
+ await wrapper.find('.br-modal__btn--cancel').trigger('click')
192
+ expect(wrapper.emitted('cancel')).toBeTruthy()
193
+ })
194
+
195
+ it('does not close when persistent is true', async () => {
196
+ const wrapper = mount(BrModal, {
197
+ props: {
198
+ modelValue: true,
199
+ persistent: true,
200
+ 'onUpdate:modelValue': (e: boolean) => wrapper.setProps({ modelValue: e }),
201
+ },
202
+ global: {
203
+ stubs: {
204
+ teleport: true,
205
+ },
206
+ },
207
+ })
208
+ await wrapper.find('.br-modal__backdrop').trigger('click')
209
+ expect(wrapper.emitted('close')).toBeFalsy()
210
+ expect(wrapper.props('modelValue')).toBe(true)
211
+ })
212
+ })
@@ -0,0 +1,404 @@
1
+ <script setup lang="ts">
2
+ /**
3
+ * BrModal - Modal dialog component
4
+ *
5
+ * @example
6
+ * <BrModal v-model="isOpen" title="Meu Modal">
7
+ * <p>Conteúdo do modal</p>
8
+ * </BrModal>
9
+ *
10
+ * <BrModal v-model="isOpen" variant="aside" title="Painel Lateral">
11
+ * <p>Conteúdo do painel</p>
12
+ * </BrModal>
13
+ */
14
+
15
+ import { computed, watch, onMounted, onUnmounted, ref } from 'vue'
16
+ import type { ModalProps } from './types'
17
+
18
+ // ---------------------------------------------------------------------------
19
+ // PROPS
20
+ // ---------------------------------------------------------------------------
21
+
22
+ const props = withDefaults(defineProps<ModalProps>(), {
23
+ title: '',
24
+ variant: 'center',
25
+ size: 'md',
26
+ closable: true,
27
+ closeOnClickOutside: true,
28
+ closeOnEscape: true,
29
+ showHeader: true,
30
+ showFooter: false,
31
+ persistent: false,
32
+ })
33
+
34
+ // ---------------------------------------------------------------------------
35
+ // MODEL
36
+ // ---------------------------------------------------------------------------
37
+
38
+ const isOpen = defineModel<boolean>({ default: false })
39
+
40
+ // ---------------------------------------------------------------------------
41
+ // EMITS
42
+ // ---------------------------------------------------------------------------
43
+
44
+ const emit = defineEmits<{
45
+ (e: 'close'): void
46
+ (e: 'confirm'): void
47
+ (e: 'cancel'): void
48
+ }>()
49
+
50
+ // ---------------------------------------------------------------------------
51
+ // COMPUTED
52
+ // ---------------------------------------------------------------------------
53
+
54
+ const classes = computed(() => [
55
+ 'br-modal',
56
+ `br-modal--${props.variant}`,
57
+ `br-modal--${props.size}`,
58
+ {
59
+ 'br-modal--open': isOpen.value,
60
+ },
61
+ ])
62
+
63
+ // ---------------------------------------------------------------------------
64
+ // METHODS
65
+ // ---------------------------------------------------------------------------
66
+
67
+ function close() {
68
+ if (!props.persistent) {
69
+ isOpen.value = false
70
+ emit('close')
71
+ }
72
+ }
73
+
74
+ function handleBackdropClick() {
75
+ if (props.closeOnClickOutside) {
76
+ close()
77
+ }
78
+ }
79
+
80
+ function handleEscape(event: KeyboardEvent) {
81
+ if (event.key === 'Escape' && props.closeOnEscape && isOpen.value) {
82
+ close()
83
+ }
84
+ }
85
+
86
+ function handleConfirm() {
87
+ emit('confirm')
88
+ }
89
+
90
+ function handleCancel() {
91
+ emit('cancel')
92
+ close()
93
+ }
94
+
95
+ // ---------------------------------------------------------------------------
96
+ // WATCHERS
97
+ // ---------------------------------------------------------------------------
98
+
99
+ watch(isOpen, (value) => {
100
+ // SSR guard: document is undefined on server
101
+ if (typeof document === 'undefined') return
102
+ document.body.style.overflow = value ? 'hidden' : ''
103
+ })
104
+
105
+ // ---------------------------------------------------------------------------
106
+ // SSR-SAFE TELEPORT
107
+ // ---------------------------------------------------------------------------
108
+
109
+ // Teleport is disabled during SSR and enabled after client hydration
110
+ const isMounted = ref(false)
111
+
112
+ // ---------------------------------------------------------------------------
113
+ // LIFECYCLE
114
+ // ---------------------------------------------------------------------------
115
+
116
+ onMounted(() => {
117
+ isMounted.value = true
118
+ document.addEventListener('keydown', handleEscape)
119
+ })
120
+
121
+ onUnmounted(() => {
122
+ document.removeEventListener('keydown', handleEscape)
123
+ document.body.style.overflow = ''
124
+ })
125
+ </script>
126
+
127
+ <template>
128
+ <!-- Teleport disabled during SSR to prevent hydration issues -->
129
+ <Teleport to="body" :disabled="!isMounted">
130
+ <Transition name="br-modal-fade">
131
+ <div v-if="isOpen" :class="classes">
132
+ <!-- Backdrop -->
133
+ <div class="br-modal__backdrop" @click="handleBackdropClick" />
134
+
135
+ <!-- Modal Content -->
136
+ <Transition :name="variant === 'aside' ? 'br-modal-slide' : 'br-modal-scale'">
137
+ <div v-if="isOpen" class="br-modal__container">
138
+ <!-- Header -->
139
+ <header v-if="showHeader" class="br-modal__header">
140
+ <slot name="header">
141
+ <h2 class="br-modal__title">{{ title }}</h2>
142
+ </slot>
143
+ <button
144
+ v-if="closable"
145
+ type="button"
146
+ class="br-modal__close"
147
+ aria-label="Fechar"
148
+ @click="close"
149
+ >
150
+ <svg viewBox="0 0 24 24" fill="currentColor">
151
+ <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" />
152
+ </svg>
153
+ </button>
154
+ </header>
155
+
156
+ <!-- Body -->
157
+ <div class="br-modal__body">
158
+ <slot />
159
+ </div>
160
+
161
+ <!-- Footer -->
162
+ <footer v-if="showFooter || $slots.footer" class="br-modal__footer">
163
+ <slot name="footer">
164
+ <button type="button" class="br-modal__btn br-modal__btn--cancel" @click="handleCancel">
165
+ Cancelar
166
+ </button>
167
+ <button type="button" class="br-modal__btn br-modal__btn--confirm" @click="handleConfirm">
168
+ Confirmar
169
+ </button>
170
+ </slot>
171
+ </footer>
172
+ </div>
173
+ </Transition>
174
+ </div>
175
+ </Transition>
176
+ </Teleport>
177
+ </template>
178
+
179
+ <style lang="scss" scoped>
180
+ .br-modal {
181
+ position: fixed;
182
+ inset: 0;
183
+ z-index: var(--br-z-modal);
184
+ display: flex;
185
+
186
+ // ---------------------------------------------------------------------------
187
+ // VARIANTS
188
+ // ---------------------------------------------------------------------------
189
+
190
+ &--center {
191
+ align-items: center;
192
+ justify-content: center;
193
+ padding: var(--br-space-4);
194
+ }
195
+
196
+ &--aside {
197
+ justify-content: flex-end;
198
+ }
199
+
200
+ // ---------------------------------------------------------------------------
201
+ // SIZES
202
+ // ---------------------------------------------------------------------------
203
+
204
+ &--sm .br-modal__container {
205
+ max-width: 400px;
206
+ }
207
+
208
+ &--md .br-modal__container {
209
+ max-width: 560px;
210
+ }
211
+
212
+ &--lg .br-modal__container {
213
+ max-width: 800px;
214
+ }
215
+
216
+ &--xl .br-modal__container {
217
+ max-width: 1140px;
218
+ }
219
+
220
+ &--aside {
221
+ &.br-modal--sm .br-modal__container {
222
+ width: 320px;
223
+ }
224
+
225
+ &.br-modal--md .br-modal__container {
226
+ width: 480px;
227
+ }
228
+
229
+ &.br-modal--lg .br-modal__container {
230
+ width: 640px;
231
+ }
232
+
233
+ &.br-modal--xl .br-modal__container {
234
+ width: 800px;
235
+ }
236
+ }
237
+
238
+ // ---------------------------------------------------------------------------
239
+ // BACKDROP
240
+ // ---------------------------------------------------------------------------
241
+
242
+ &__backdrop {
243
+ position: absolute;
244
+ inset: 0;
245
+ background: rgba(0, 0, 0, 0.5);
246
+ }
247
+
248
+ // ---------------------------------------------------------------------------
249
+ // CONTAINER
250
+ // ---------------------------------------------------------------------------
251
+
252
+ &__container {
253
+ position: relative;
254
+ display: flex;
255
+ flex-direction: column;
256
+ width: 100%;
257
+ max-height: 90vh;
258
+ background: var(--br-light-0);
259
+ border-radius: var(--br-radius-lg);
260
+ box-shadow: var(--br-shadow-xl);
261
+ overflow: hidden;
262
+ }
263
+
264
+ &--aside &__container {
265
+ height: 100%;
266
+ max-height: 100%;
267
+ border-radius: var(--br-radius-lg) 0 0 var(--br-radius-lg);
268
+ }
269
+
270
+ // ---------------------------------------------------------------------------
271
+ // HEADER
272
+ // ---------------------------------------------------------------------------
273
+
274
+ &__header {
275
+ display: flex;
276
+ align-items: center;
277
+ justify-content: space-between;
278
+ gap: var(--br-space-4);
279
+ padding: var(--br-space-6);
280
+ border-bottom: 1px solid var(--br-light-300);
281
+ }
282
+
283
+ &__title {
284
+ flex: 1;
285
+ margin: 0;
286
+ font-family: var(--br-font-primary);
287
+ font-size: var(--br-text-lg);
288
+ font-weight: var(--br-font-semibold);
289
+ color: var(--br-dark-0);
290
+ }
291
+
292
+ &__close {
293
+ display: flex;
294
+ align-items: center;
295
+ justify-content: center;
296
+ width: 32px;
297
+ height: 32px;
298
+ padding: 0;
299
+ border: none;
300
+ border-radius: var(--br-radius-sm);
301
+ background: transparent;
302
+ color: var(--br-dark-900);
303
+ cursor: pointer;
304
+ transition: all var(--br-transition-fast);
305
+
306
+ svg {
307
+ width: 20px;
308
+ height: 20px;
309
+ }
310
+
311
+ &:hover {
312
+ background: var(--br-light-200);
313
+ color: var(--br-dark-700);
314
+ }
315
+ }
316
+
317
+ // ---------------------------------------------------------------------------
318
+ // BODY
319
+ // ---------------------------------------------------------------------------
320
+
321
+ &__body {
322
+ flex: 1;
323
+ padding: var(--br-space-6);
324
+ overflow-y: auto;
325
+ }
326
+
327
+ // ---------------------------------------------------------------------------
328
+ // FOOTER
329
+ // ---------------------------------------------------------------------------
330
+
331
+ &__footer {
332
+ display: flex;
333
+ align-items: center;
334
+ justify-content: flex-end;
335
+ gap: var(--br-space-3);
336
+ padding: var(--br-space-6);
337
+ border-top: 1px solid var(--br-light-300);
338
+ }
339
+
340
+ &__btn {
341
+ padding: var(--br-space-3) var(--br-space-6);
342
+ font-family: var(--br-font-primary);
343
+ font-size: var(--br-text-sm);
344
+ font-weight: var(--br-font-semibold);
345
+ border: none;
346
+ border-radius: var(--br-radius-md);
347
+ cursor: pointer;
348
+ transition: all var(--br-transition-fast);
349
+
350
+ &--cancel {
351
+ background: var(--br-primary-100);
352
+ color: var(--br-primary-600);
353
+
354
+ &:hover {
355
+ background: var(--br-primary-200);
356
+ }
357
+ }
358
+
359
+ &--confirm {
360
+ background: var(--br-primary-600);
361
+ color: var(--br-light-0);
362
+
363
+ &:hover {
364
+ background: var(--br-primary-700);
365
+ }
366
+ }
367
+ }
368
+ }
369
+
370
+ // ---------------------------------------------------------------------------
371
+ // TRANSITIONS
372
+ // ---------------------------------------------------------------------------
373
+
374
+ .br-modal-fade-enter-active,
375
+ .br-modal-fade-leave-active {
376
+ transition: opacity 0.3s ease;
377
+ }
378
+
379
+ .br-modal-fade-enter-from,
380
+ .br-modal-fade-leave-to {
381
+ opacity: 0;
382
+ }
383
+
384
+ .br-modal-scale-enter-active,
385
+ .br-modal-scale-leave-active {
386
+ transition: opacity 0.3s ease, transform 0.3s ease;
387
+ }
388
+
389
+ .br-modal-scale-enter-from,
390
+ .br-modal-scale-leave-to {
391
+ opacity: 0;
392
+ transform: scale(0.95);
393
+ }
394
+
395
+ .br-modal-slide-enter-active,
396
+ .br-modal-slide-leave-active {
397
+ transition: transform 0.3s ease;
398
+ }
399
+
400
+ .br-modal-slide-enter-from,
401
+ .br-modal-slide-leave-to {
402
+ transform: translateX(100%);
403
+ }
404
+ </style>
@@ -0,0 +1,2 @@
1
+ export { default as BrModal } from './BrModal.vue'
2
+ export * from './types'
@@ -0,0 +1,57 @@
1
+ export type ModalVariant = 'center' | 'aside'
2
+ export type ModalSize = 'sm' | 'md' | 'lg' | 'xl'
3
+
4
+ export interface ModalProps {
5
+ /**
6
+ * Modal title
7
+ */
8
+ title?: string
9
+
10
+ /**
11
+ * Modal variant
12
+ * @default 'center'
13
+ */
14
+ variant?: ModalVariant
15
+
16
+ /**
17
+ * Modal size
18
+ * @default 'md'
19
+ */
20
+ size?: ModalSize
21
+
22
+ /**
23
+ * Show close button
24
+ * @default true
25
+ */
26
+ closable?: boolean
27
+
28
+ /**
29
+ * Close on click outside
30
+ * @default true
31
+ */
32
+ closeOnClickOutside?: boolean
33
+
34
+ /**
35
+ * Close on escape key
36
+ * @default true
37
+ */
38
+ closeOnEscape?: boolean
39
+
40
+ /**
41
+ * Show header
42
+ * @default true
43
+ */
44
+ showHeader?: boolean
45
+
46
+ /**
47
+ * Show footer with default buttons
48
+ * @default false
49
+ */
50
+ showFooter?: boolean
51
+
52
+ /**
53
+ * Prevent closing (for confirmations)
54
+ * @default false
55
+ */
56
+ persistent?: boolean
57
+ }