@burh/nuxt-core 1.0.18 → 1.0.20

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 (387) hide show
  1. package/.ebignore +25 -25
  2. package/.elasticbeanstalk/config.yml +18 -18
  3. package/.eslintrc.json +39 -39
  4. package/.gitlab-ci.yml +16 -16
  5. package/CHANGELOG.md +2 -2
  6. package/README.md +22 -22
  7. package/app.html +8 -8
  8. package/assets/css/font-awesome/css/font-awesome.css +2337 -2337
  9. package/assets/css/font-awesome/css/font-awesome.min.css +4 -4
  10. package/assets/css/font-awesome/fonts/fontawesome-webfont.svg +2671 -2671
  11. package/assets/css/nucleo/css/nucleo-svg.css +134 -134
  12. package/assets/css/nucleo/css/nucleo.css +572 -572
  13. package/assets/css/nucleo/fonts/nucleo-icons.svg +312 -312
  14. package/assets/sass/argon.scss +104 -104
  15. package/assets/sass/burh-ds/_components.scss +142 -142
  16. package/assets/sass/burh-ds/_functions.scss +29 -29
  17. package/assets/sass/burh-ds/_global.scss +302 -302
  18. package/assets/sass/burh-ds/_helpers.scss +18 -18
  19. package/assets/sass/burh-ds/_mixins.scss +17 -17
  20. package/assets/sass/burh-ds/_transitions.scss +12 -12
  21. package/assets/sass/burh-ds/_utilities.scss +31 -31
  22. package/assets/sass/burh-ds/_variables.scss +962 -962
  23. package/assets/sass/burh-ds/_vendors.scss +38 -38
  24. package/assets/sass/burh-ds/atoms/_badge.scss +5 -5
  25. package/assets/sass/burh-ds/atoms/_buttons.scss +217 -217
  26. package/assets/sass/burh-ds/atoms/_forms.scss +397 -397
  27. package/assets/sass/burh-ds/atoms/_tables.scss +31 -31
  28. package/assets/sass/burh-ds/atoms/_type.scss +147 -147
  29. package/assets/sass/burh-ds/content/_interface-spa.scss +309 -309
  30. package/assets/sass/burh-ds/content/_main-content.scss +18 -18
  31. package/assets/sass/burh-ds/mixins/_badge.scss +37 -37
  32. package/assets/sass/burh-ds/mixins/_breakpoints.scss +39 -39
  33. package/assets/sass/burh-ds/mixins/_grid-framework.scss +66 -66
  34. package/assets/sass/burh-ds/mixins/_grid.scss +51 -51
  35. package/assets/sass/burh-ds/molecules/_box.scss +282 -282
  36. package/assets/sass/burh-ds/molecules/_breadcrumb.scss +8 -8
  37. package/assets/sass/burh-ds/molecules/_modal.scss +174 -174
  38. package/assets/sass/burh-ds/molecules/_navbar.scss +262 -262
  39. package/assets/sass/burh-ds/molecules/_notifications.scss +1 -1
  40. package/assets/sass/burh-ds/molecules/_steps-profile.scss +67 -67
  41. package/assets/sass/burh-ds/molecules/_testimonial.scss +53 -53
  42. package/assets/sass/burh-ds/organisms/_banner.scss +51 -51
  43. package/assets/sass/burh-ds/organisms/_cards.scss +184 -180
  44. package/assets/sass/burh-ds/organisms/_carousel.scss +113 -113
  45. package/assets/sass/burh-ds/organisms/_footer.scss +115 -115
  46. package/assets/sass/burh-ds/organisms/_profile-bar.scss +130 -130
  47. package/assets/sass/burh-ds/organisms/_search.scss +17 -17
  48. package/assets/sass/burh-ds/organisms/_subheader.scss +773 -773
  49. package/assets/sass/burh-ds/organisms/_tabs-setting.scss +123 -123
  50. package/assets/sass/burh-ds/organisms/banners/_banner.scss +62 -62
  51. package/assets/sass/burh-ds/organisms/cards/_featured-company.scss +17 -17
  52. package/assets/sass/burh-ds/organisms/cards/_opportunity.scss +16 -16
  53. package/assets/sass/burh-ds/pages/_error.scss +124 -124
  54. package/assets/sass/burh-ds/pages/_jobs.scss +424 -424
  55. package/assets/sass/burh-ds/pages/_testes.scss +350 -350
  56. package/assets/sass/burh-ds/variables/_colors.scss +301 -301
  57. package/assets/sass/burh-ds/variables/_global_settings.scss +39 -39
  58. package/assets/sass/core/alerts/_alert-dismissible.scss +48 -48
  59. package/assets/sass/core/alerts/_alert-notify.scss +47 -47
  60. package/assets/sass/core/alerts/_alert.scss +49 -49
  61. package/assets/sass/core/avatars/_avatar-group.scss +22 -22
  62. package/assets/sass/core/avatars/_avatar.scss +59 -59
  63. package/assets/sass/core/badges/_badge-circle.scss +29 -29
  64. package/assets/sass/core/badges/_badge-dot.scss +42 -42
  65. package/assets/sass/core/badges/_badge-floating.scss +18 -18
  66. package/assets/sass/core/badges/_badge.scss +67 -67
  67. package/assets/sass/core/breadcrumbs/_breadcrumb.scss +42 -42
  68. package/assets/sass/core/buttons/_button-brand.scss +12 -12
  69. package/assets/sass/core/buttons/_button-group.scss +79 -79
  70. package/assets/sass/core/buttons/_button-icon.scss +92 -92
  71. package/assets/sass/core/buttons/_button.scss +90 -90
  72. package/assets/sass/core/cards/_card-animations.scss +10 -10
  73. package/assets/sass/core/cards/_card-blockquote.scss +17 -17
  74. package/assets/sass/core/cards/_card-money.scss +27 -27
  75. package/assets/sass/core/cards/_card-pricing.scss +26 -26
  76. package/assets/sass/core/cards/_card-profile.scss +49 -49
  77. package/assets/sass/core/cards/_card-stats.scss +16 -16
  78. package/assets/sass/core/cards/_card.scss +69 -69
  79. package/assets/sass/core/charts/_chart.scss +69 -69
  80. package/assets/sass/core/close/_close.scss +47 -47
  81. package/assets/sass/core/collapse/_accordion.scss +38 -38
  82. package/assets/sass/core/content/_main-content.scss +17 -17
  83. package/assets/sass/core/custom-forms/_custom-checkbox.scss +47 -47
  84. package/assets/sass/core/custom-forms/_custom-control.scss +58 -58
  85. package/assets/sass/core/custom-forms/_custom-form.scss +45 -45
  86. package/assets/sass/core/custom-forms/_custom-radio.scss +38 -38
  87. package/assets/sass/core/custom-forms/_custom-toggle.scss +122 -122
  88. package/assets/sass/core/dropdowns/_dropdown.scss +89 -89
  89. package/assets/sass/core/footers/_footer.scss +159 -159
  90. package/assets/sass/core/forms/_form-extend.scss +38 -38
  91. package/assets/sass/core/forms/_form-validation.scss +78 -78
  92. package/assets/sass/core/forms/_form.scss +109 -109
  93. package/assets/sass/core/forms/_input-group.scss +136 -136
  94. package/assets/sass/core/grid/_grid.scss +31 -31
  95. package/assets/sass/core/headers/_header.scss +7 -7
  96. package/assets/sass/core/icons/_icon-actions.scss +57 -57
  97. package/assets/sass/core/icons/_icon-shape.scss +48 -48
  98. package/assets/sass/core/icons/_icon.scss +80 -80
  99. package/assets/sass/core/list-groups/_list-check.scss +52 -52
  100. package/assets/sass/core/list-groups/_list-group.scss +46 -46
  101. package/assets/sass/core/maps/_map.scss +10 -10
  102. package/assets/sass/core/masks/_mask.scss +33 -33
  103. package/assets/sass/core/medias/_media-comment.scss +33 -33
  104. package/assets/sass/core/medias/_media.scss +3 -3
  105. package/assets/sass/core/mixins/_alert.scss +22 -22
  106. package/assets/sass/core/mixins/_background-variant.scss +30 -30
  107. package/assets/sass/core/mixins/_badge.scss +12 -12
  108. package/assets/sass/core/mixins/_buttons.scss +105 -105
  109. package/assets/sass/core/mixins/_custom-forms.scss +47 -47
  110. package/assets/sass/core/mixins/_forms.scss +127 -127
  111. package/assets/sass/core/mixins/_icon.scss +10 -10
  112. package/assets/sass/core/mixins/_modals.scss +25 -25
  113. package/assets/sass/core/mixins/_popover.scss +35 -35
  114. package/assets/sass/core/modals/_modal.scss +31 -31
  115. package/assets/sass/core/navbars/_navbar-collapse.scss +37 -37
  116. package/assets/sass/core/navbars/_navbar-dropdown.scss +104 -104
  117. package/assets/sass/core/navbars/_navbar-floating.scss +17 -17
  118. package/assets/sass/core/navbars/_navbar-search.scss +216 -216
  119. package/assets/sass/core/navbars/_navbar-top.scss +58 -58
  120. package/assets/sass/core/navbars/_navbar-vertical.scss +507 -507
  121. package/assets/sass/core/navbars/_navbar.scss +368 -368
  122. package/assets/sass/core/navs/_nav-pills.scss +66 -66
  123. package/assets/sass/core/navs/_nav.scss +33 -33
  124. package/assets/sass/core/paginations/_pagination.scss +49 -49
  125. package/assets/sass/core/popovers/_popover.scss +21 -21
  126. package/assets/sass/core/progresses/_progress.scss +89 -89
  127. package/assets/sass/core/reboot/_reboot.scss +13 -13
  128. package/assets/sass/core/sections/_nucleo-icons.scss +117 -117
  129. package/assets/sass/core/separators/_separator.scss +54 -54
  130. package/assets/sass/core/shortcuts/_shortcut.scss +30 -30
  131. package/assets/sass/core/tables/_table-actions.scss +25 -25
  132. package/assets/sass/core/tables/_table-sortable.scss +28 -28
  133. package/assets/sass/core/tables/_table.scss +153 -153
  134. package/assets/sass/core/timeline/_timeline.scss +182 -182
  135. package/assets/sass/core/type/_article.scss +22 -22
  136. package/assets/sass/core/type/_display.scss +14 -14
  137. package/assets/sass/core/type/_heading.scss +65 -65
  138. package/assets/sass/core/type/_type.scss +27 -27
  139. package/assets/sass/core/utilities/_backgrounds.scss +51 -51
  140. package/assets/sass/core/utilities/_blurable.scss +37 -37
  141. package/assets/sass/core/utilities/_floating.scss +64 -64
  142. package/assets/sass/core/utilities/_helper.scss +18 -18
  143. package/assets/sass/core/utilities/_image.scss +9 -9
  144. package/assets/sass/core/utilities/_opacity.scss +35 -35
  145. package/assets/sass/core/utilities/_overflow.scss +11 -11
  146. package/assets/sass/core/utilities/_position.scss +25 -25
  147. package/assets/sass/core/utilities/_shadows.scss +28 -28
  148. package/assets/sass/core/utilities/_sizing.scss +7 -7
  149. package/assets/sass/core/utilities/_spacing.scss +107 -107
  150. package/assets/sass/core/utilities/_text.scss +49 -49
  151. package/assets/sass/core/utilities/_transform.scss +13 -13
  152. package/assets/sass/core/vendors/_bootstrap-datepicker.scss +279 -279
  153. package/assets/sass/core/vendors/_bootstrap-tagsinput.scss +67 -67
  154. package/assets/sass/core/vendors/_chartjs.scss +22 -22
  155. package/assets/sass/core/vendors/_dropzone.scss +74 -74
  156. package/assets/sass/core/vendors/_element-checkbox.scss +26 -26
  157. package/assets/sass/core/vendors/_element-tables.scss +64 -64
  158. package/assets/sass/core/vendors/_flatpickr.scss +72 -72
  159. package/assets/sass/core/vendors/_fullcalendar.scss +256 -256
  160. package/assets/sass/core/vendors/_headroom.scss +25 -25
  161. package/assets/sass/core/vendors/_lavalamp.scss +157 -157
  162. package/assets/sass/core/vendors/_nouislider.scss +413 -413
  163. package/assets/sass/core/vendors/_quill.scss +280 -280
  164. package/assets/sass/core/vendors/_scrollbar.scss +949 -949
  165. package/assets/sass/core/vendors/_select.scss +70 -70
  166. package/assets/sass/core/vendors/_sweet-alert-2.scss +22 -22
  167. package/assets/sass/core/vendors/_tags.scss +32 -32
  168. package/assets/sass/core/vendors/_vectormap.scss +16 -16
  169. package/assets/sass/custom/_components.scss +142 -142
  170. package/assets/sass/custom/_functions.scss +29 -29
  171. package/assets/sass/custom/_mixins.scss +15 -15
  172. package/assets/sass/custom/_transitions.scss +12 -12
  173. package/assets/sass/custom/_utilities.scss +31 -31
  174. package/assets/sass/custom/_variables.scss +1133 -1133
  175. package/assets/sass/custom/_vendors.scss +38 -38
  176. package/components/argon-core/Badge.vue +53 -53
  177. package/components/argon-core/Banners/Banner.vue +28 -28
  178. package/components/argon-core/Banners/BannerItem.vue +13 -13
  179. package/components/argon-core/BaseAlert.vue +74 -74
  180. package/components/argon-core/BaseButton.vue +81 -81
  181. package/components/argon-core/BaseDropdown.vue +100 -100
  182. package/components/argon-core/BaseHeader.vue +21 -21
  183. package/components/argon-core/BasePagination.vue +134 -134
  184. package/components/argon-core/BaseProgress.vue +121 -121
  185. package/components/argon-core/BaseSlider.vue +96 -96
  186. package/components/argon-core/BaseSwitch.vue +46 -46
  187. package/components/argon-core/BaseTable.vue +70 -70
  188. package/components/argon-core/Breadcrumb/Breadcrumb.vue +26 -26
  189. package/components/argon-core/Breadcrumb/BreadcrumbItem.vue +16 -16
  190. package/components/argon-core/Breadcrumb/RouteBreadcrumb.vue +45 -45
  191. package/components/argon-core/ButtonCheckbox.vue +39 -39
  192. package/components/argon-core/ButtonRadioGroup.vue +47 -47
  193. package/components/argon-core/Cards/Card.vue +72 -72
  194. package/components/argon-core/Cards/OpportunityCard.vue +39 -39
  195. package/components/argon-core/Cards/StatsCard.vue +49 -49
  196. package/components/argon-core/Charts/BarChart.js +30 -30
  197. package/components/argon-core/Charts/DoughnutChart.js +30 -30
  198. package/components/argon-core/Charts/LineChart.js +30 -30
  199. package/components/argon-core/Charts/PieChart.js +30 -30
  200. package/components/argon-core/Charts/config.js +491 -491
  201. package/components/argon-core/Charts/globalOptionsMixin.js +7 -7
  202. package/components/argon-core/Charts/optionHelpers.js +10 -10
  203. package/components/argon-core/CloseButton.vue +35 -35
  204. package/components/argon-core/Collapse/Collapse.vue +84 -84
  205. package/components/argon-core/Collapse/CollapseItem.vue +91 -91
  206. package/components/argon-core/Feed/Comment.vue +50 -50
  207. package/components/argon-core/Inputs/BaseCheckbox.vue +79 -79
  208. package/components/argon-core/Inputs/BaseInput.vue +171 -171
  209. package/components/argon-core/Inputs/BaseRadio.vue +68 -68
  210. package/components/argon-core/Inputs/DropzoneFileUpload.vue +125 -125
  211. package/components/argon-core/Inputs/FileInput.vue +54 -54
  212. package/components/argon-core/Inputs/HtmlEditor.vue +96 -96
  213. package/components/argon-core/Inputs/IconCheckbox.vue +45 -45
  214. package/components/argon-core/Inputs/TagsInput.vue +100 -100
  215. package/components/argon-core/LoadingPanel.vue +25 -25
  216. package/components/argon-core/Modal.vue +124 -124
  217. package/components/argon-core/Navbar/BaseNav.vue +122 -122
  218. package/components/argon-core/Navbar/NavbarProgress.vue +19 -19
  219. package/components/argon-core/Navbar/NavbarProgressItem.vue +17 -17
  220. package/components/argon-core/Navbar/NavbarToggleButton.vue +21 -21
  221. package/components/argon-core/NavbarToggleButton.vue +29 -29
  222. package/components/argon-core/NotificationPlugin/Notification.vue +207 -207
  223. package/components/argon-core/NotificationPlugin/Notifications.vue +55 -55
  224. package/components/argon-core/NotificationPlugin/index.js +66 -66
  225. package/components/argon-core/SidebarPlugin/SideBar.vue +119 -119
  226. package/components/argon-core/SidebarPlugin/SidebarItem.vue +184 -184
  227. package/components/argon-core/SidebarPlugin/index.js +79 -79
  228. package/components/argon-core/Tabs/Tab.vue +33 -33
  229. package/components/argon-core/Tabs/Tabs.vue +170 -170
  230. package/components/argon-core/Timeline/TimeLine.vue +17 -17
  231. package/components/argon-core/Timeline/TimeLineItem.vue +30 -30
  232. package/components/argon-core/WorldMap/AsyncWorldMap.vue +28 -28
  233. package/components/argon-core/WorldMap/WorldMap.vue +127 -127
  234. package/components/argon-core/index.js +82 -82
  235. package/components/burh-ds/Banners/BannerHero.vue +23 -23
  236. package/components/burh-ds/Banners/BannerItem.vue +14 -14
  237. package/components/burh-ds/Button/SwitchStateButton.vue +24 -0
  238. package/components/burh-ds/Capsules/SearchSlug.vue +860 -860
  239. package/components/burh-ds/Capsules/UserProfile.vue +1938 -1938
  240. package/components/burh-ds/Cards/CampaignCard.vue +40 -40
  241. package/components/burh-ds/Cards/CompanyCard.vue +39 -39
  242. package/components/burh-ds/Cards/FunctionalityItem.vue +33 -0
  243. package/components/burh-ds/Cards/OpportunityCard.vue +115 -115
  244. package/components/burh-ds/Cards/PerformanceCard.vue +63 -0
  245. package/components/burh-ds/Cards/PerformanceItem.vue +52 -0
  246. package/components/burh-ds/Cards/PlanCard.vue +153 -148
  247. package/components/burh-ds/Cards/PurchaseCard.vue +61 -61
  248. package/components/burh-ds/Cards/PurchaseCardSimple.vue +61 -61
  249. package/components/burh-ds/Cards/WelcomeCard.vue +66 -66
  250. package/components/burh-ds/Carousel/FeedCarousel.vue +47 -47
  251. package/components/burh-ds/Crop/Crop.vue +121 -121
  252. package/components/burh-ds/Dropdown/AppLinkArea.vue +32 -32
  253. package/components/burh-ds/Dropdown/FaqVideoArea.vue +69 -69
  254. package/components/burh-ds/FeaturedCompanies/FeaturedCompanies.vue +11 -11
  255. package/components/burh-ds/FeaturedCompanies/FeaturedCompanyCard.vue +16 -16
  256. package/components/burh-ds/Groups/{SimpleProductGroup.vue → SimpleProductItem.vue} +59 -55
  257. package/components/burh-ds/Headings/BaseHeader.vue +24 -24
  258. package/components/burh-ds/Headings/Profile.vue +66 -66
  259. package/components/burh-ds/Headings/ProfileHeader.vue +105 -105
  260. package/components/burh-ds/Headings/SettingsHeader.vue +48 -48
  261. package/components/burh-ds/Input/AutoComplete.vue +136 -136
  262. package/components/burh-ds/Inputs/BaseCheckbox.vue +73 -73
  263. package/components/burh-ds/InterfaceSpa/InterfaceSpa.vue +83 -83
  264. package/components/burh-ds/Jobs/JobDetail.vue +432 -432
  265. package/components/burh-ds/Jobs/JobDetailDesign.vue +151 -151
  266. package/components/burh-ds/Jobs/JobDetailEmpty.vue +27 -27
  267. package/components/burh-ds/Lists/ListAvatarCheckbox.vue +157 -157
  268. package/components/burh-ds/Lists/ListNavLinks.vue +25 -25
  269. package/components/burh-ds/Lists/VagasSimple.vue +404 -404
  270. package/components/burh-ds/Loadings/Basics.vue +79 -79
  271. package/components/burh-ds/Modals/MobileModal.vue +65 -65
  272. package/components/burh-ds/Modals/ShareModal.vue +168 -168
  273. package/components/burh-ds/Modals/SubModal.vue +41 -41
  274. package/components/burh-ds/Modals/VideoModal.vue +51 -51
  275. package/components/burh-ds/Navbar/BaseNav.vue +132 -132
  276. package/components/burh-ds/Notifications/Notification.vue +215 -215
  277. package/components/burh-ds/Notifications/Notifications.vue +55 -55
  278. package/components/burh-ds/Notifications/index.js +66 -66
  279. package/components/burh-ds/Tabs/Tab.vue +50 -50
  280. package/components/burh-ds/Tabs/Tabs.vue +184 -184
  281. package/components/burh-ds/index.js +20 -20
  282. package/components/layouts/argon/Content.vue +17 -17
  283. package/components/layouts/argon/navbar/BlankLayout.vue +61 -61
  284. package/components/layouts/argon/navbar/DashboardNavbar.vue +307 -307
  285. package/components/layouts/burh-ds/ContentFooter.vue +41 -41
  286. package/components/layouts/burh-ds/footer/FooterSimple.vue +20 -20
  287. package/components/layouts/burh-ds/footer/StatusFooter.vue +105 -105
  288. package/components/layouts/burh-ds/footer/StoreFooter.vue +54 -54
  289. package/components/layouts/burh-ds/navbar/BusinessGlobalNavbar.vue +315 -315
  290. package/components/layouts/burh-ds/navbar/CarreirasNavbar.vue +363 -363
  291. package/components/layouts/burh-ds/navbar/CompanyGlobalNavbar.vue +244 -244
  292. package/components/layouts/burh-ds/navbar/EmpresasNavbar.vue +374 -374
  293. package/components/layouts/burh-ds/navbar/EmpresasNavbarLogado.vue +388 -388
  294. package/components/layouts/burh-ds/navbar/GlobalNavbar.vue +535 -535
  295. package/components/layouts/burh-ds/navbar/MobileNavbar.vue +431 -431
  296. package/components/layouts/burh-ds/navbar/PublicNavbar.vue +154 -154
  297. package/components/layouts/burh-ds/navbar/SimpleNavbar.vue +130 -0
  298. package/components/layouts/burh-ds/navbar/UserNavbar.vue +346 -346
  299. package/components/layouts/burh-ds/navbar/UserNavbarLogin.vue +253 -253
  300. package/components/pages/UserProfile/EditProfileForm.vue +142 -142
  301. package/components/pages/UserProfile/UserCard.vue +61 -61
  302. package/components/pages/dashboard/ActivityFeed.vue +102 -102
  303. package/components/pages/dashboard/LightTable.vue +194 -194
  304. package/components/pages/dashboard/PageVisitsTable.vue +107 -107
  305. package/components/pages/dashboard/ProgressTrackList.vue +82 -82
  306. package/components/pages/dashboard/SocialTrafficTable.vue +101 -101
  307. package/components/pages/dashboard/TaskList.vue +56 -56
  308. package/components/pages/dashboard/UserList.vue +72 -72
  309. package/components/pages/forms/BrowserDefaultsValidation.vue +106 -106
  310. package/components/pages/forms/CustomStylesValidation.vue +130 -130
  311. package/components/pages/forms/ServerSideValidation.vue +128 -128
  312. package/components/pages/register/FailedRegistration.vue +29 -29
  313. package/components/pages/register/SuccessfulRegistration.vue +29 -29
  314. package/components/tables/PaginatedTables/clientPaginationMixin.js +86 -86
  315. package/components/tables/RegularTables/CheckboxColoredTable.vue +112 -112
  316. package/components/tables/RegularTables/CheckboxTable.vue +101 -101
  317. package/components/tables/RegularTables/DarkTable.vue +114 -114
  318. package/components/tables/RegularTables/InlineActionsTable.vue +94 -94
  319. package/components/tables/RegularTables/LightTable.vue +117 -117
  320. package/components/tables/RegularTables/StripedTable.vue +94 -94
  321. package/components/tables/RegularTables/TranslucentTable.vue +114 -114
  322. package/components/tables/projects.js +75 -75
  323. package/components/tables/users.js +42 -42
  324. package/components/tables/users2.js +474 -474
  325. package/components/widgets/CalendarWidget.vue +119 -119
  326. package/components/widgets/CreditCard.vue +66 -66
  327. package/components/widgets/MembersCard.vue +99 -99
  328. package/components/widgets/PaypalCard.vue +45 -45
  329. package/components/widgets/ProgressTrackList.vue +76 -76
  330. package/components/widgets/StatsCards.vue +70 -70
  331. package/components/widgets/TaskList.vue +67 -67
  332. package/components/widgets/TimelineCard.vue +66 -66
  333. package/components/widgets/VectorMapCard.vue +139 -139
  334. package/components/widgets/VisaCard.vue +51 -51
  335. package/data/ListNavLinksMock.json +112 -112
  336. package/data/ListVideoLinksMock.json +21 -21
  337. package/dictionary.js +34 -34
  338. package/environment.env.md +34 -34
  339. package/environment.js +220 -220
  340. package/eslint.config.json +12 -12
  341. package/layouts/AuthLayout.vue +191 -191
  342. package/layouts/BurhCarreirasLayout.vue +63 -63
  343. package/layouts/BurhEmpresasLayout.vue +64 -64
  344. package/layouts/BurhNoHeader.vue +63 -63
  345. package/layouts/BurhPublicLayout.vue +67 -67
  346. package/layouts/BurhUserLayout.vue +231 -231
  347. package/layouts/DashboardLayout.vue +226 -226
  348. package/layouts/error.vue +119 -119
  349. package/metadata.json +30 -30
  350. package/middleware/README.md +8 -8
  351. package/middleware/decodeUrl.js +8 -8
  352. package/middleware/maintenance.js +9 -9
  353. package/middleware/new-account.js +6 -6
  354. package/middleware/redirect.js +13 -13
  355. package/middleware/user-agent-error.js +28 -28
  356. package/nuxt.config.js +205 -205
  357. package/package.json +105 -105
  358. package/plugins/README.md +7 -7
  359. package/plugins/analytics/ga.js +28 -28
  360. package/plugins/auth/auth.js +210 -210
  361. package/plugins/axios.js +32 -32
  362. package/plugins/carousel/owl-carousel.js +3 -3
  363. package/plugins/crop/crop.js +4 -4
  364. package/plugins/dashboard/dashboard-plugin.js +29 -29
  365. package/plugins/dashboard/directives/click-outside.js +15 -15
  366. package/plugins/dashboard/eventBus.js +1 -1
  367. package/plugins/dashboard/globalComponents.js +41 -41
  368. package/plugins/dashboard/globalDirectives.js +7 -7
  369. package/plugins/dom/loader.js +76 -76
  370. package/plugins/localstorage.js +20 -20
  371. package/plugins/location/location.js +41 -41
  372. package/plugins/pagination/pagination.js +3 -3
  373. package/plugins/qrcode/qrcode.js +3 -3
  374. package/plugins/router.js +8 -8
  375. package/plugins/social-media/fb-sdk.js +44 -44
  376. package/plugins/social-media/share-link-facebook.js +32 -32
  377. package/plugins/social-media/share-link-linkedin.js +30 -30
  378. package/plugins/social-media/share-link-twitter.js +30 -30
  379. package/plugins/social-media/share-link-whatsapp.js +31 -31
  380. package/polyfills.js +96 -96
  381. package/util/common.js +189 -189
  382. package/util/cookie.js +29 -29
  383. package/util/dom.js +63 -63
  384. package/util/request.js +46 -46
  385. package/util/throttle.js +15 -15
  386. package/.editorconfig +0 -13
  387. package/.nuxtignore +0 -1
@@ -1,535 +1,535 @@
1
- <template>
2
- <base-nav
3
- v-model="showMenu"
4
- container-classes="container-fluid container-fluid--bu"
5
- class="border-bottom navbar-animated navbar-horizontal navbar-main"
6
- :class="navbarColor"
7
- expand="lg"
8
- >
9
-
10
- <!-- SLOT BRAND -->
11
- <div slot="brand" class="navbar-wrapper">
12
- <nuxt-link class="navbar-brand d-flex" to="/">
13
- <img :src="logoFull" class="navbar-brand-img navbar-brand-img--full" alt="BURH: Suas vagas">
14
- </nuxt-link>
15
- </div>
16
-
17
- <!-- SLOT DEFAULT -->
18
- <template>
19
- <div class="navbar-collapse-header">
20
- <div class="row">
21
- <div class="col-6 collapse-brand">
22
- <nuxt-link to="/">
23
- <img :src="logoFull" class="navbar-brand-img navbar-brand-img--full" alt="BURH: Suas vagas">
24
- </nuxt-link>
25
- </div>
26
- <div class="col-6 collapse-close">
27
- <button type="button" class="navbar-toggler" @click="showMenu = false">
28
- <span></span>
29
- <span></span>
30
- </button>
31
- </div>
32
- </div>
33
- </div>
34
- <!-- Search form -->
35
- <form slot="brand" v-if="navbarSearch" class="navbar-search form-inline mr-sm-auto" v-on:submit.prevent="search()"
36
- :class="{'navbar-search-light': type === 'default', 'navbar-search-dark': type === 'light'}"
37
- id="navbar-search-main">
38
- <div class="form-group mb-0">
39
- <div class="input-group input-group-alternative input-group-merge">
40
- <div class="input-group-prepend">
41
- <span class="input-group-text"><i class="fas fa-search"></i></span>
42
- </div>
43
- <input class="form-control form-control--focus" placeholder="Procurar vaga de emprego" type="text" v-model='menuSearch' :class='clazz'>
44
- </div>
45
- </div>
46
- <button type="button" class="close" data-action="search-close" data-target="#navbar-search-main"
47
- aria-label="Close">
48
- <span aria-hidden="true">×</span>
49
- </button>
50
- </form>
51
- </template>
52
-
53
- <!-- NOTIFICATIONS -->
54
- <ul class="navbar-nav navbar-nav--menu align-items-center ml-md-auto">
55
- <base-dropdown v-if="notifications.show && currentUser != null"
56
- class="nav-item"
57
- tag="li"
58
- title-classes="nav-link"
59
- title-tag="a"
60
- icon="nav-icon ni ni-bell-55"
61
- menu-classes="dropdown-menu-xl dropdown-menu-right py-0 overflow-hidden">
62
- <template>
63
- <!-- Dropdown header -->
64
- <div class="px-3 py-3">
65
- <h6 class="text-sm text-muted m-0">Você tem <strong class="text-primary">{{unreadNotifications(notifications.items)}}</strong> avisos não lidos.</h6>
66
- </div>
67
- <!-- List group -->
68
- <div class="list-group list-group-flush">
69
- <a v-for="notification in notifications.items" v-bind:key="notification.id" href="#!" class="list-group-item list-group-item-action" :class="{ 'bg-gray': !notification.read }">
70
- <div class="row align-items-center">
71
- <div class="col-auto">
72
- <!-- Avatar -->
73
- <img alt="A" :src="notification.avatar" class="avatar rounded-circle">
74
- </div>
75
- <div class="col ml--2">
76
- <div class="d-flex justify-content-between align-items-center">
77
- <div>
78
- <h4 class="mb-0 text-sm">{{notification.from}}</h4>
79
- </div>
80
- <div class="text-right text-muted">
81
- <small>{{fromNow(notification.time)}}</small>
82
- </div>
83
- </div>
84
- <p class="text-sm mb-0">{{notification.title}}</p>
85
- </div>
86
- </div>
87
- </a>
88
-
89
- </div>
90
- <!-- View all -->
91
- <a href="#!" class="dropdown-item text-center text-primary font-weight-bold py-3">Ver todos</a>
92
- </template>
93
- </base-dropdown>
94
-
95
- <base-dropdown v-if="currentUser != null && currentCompany != null" menu-classes="dropdown-menu-lg dropdown-menu-dark bg-default dropdown-menu-right"
96
- class="nav-item"
97
- tag="li"
98
- title="Aplicativos"
99
- title-tag="a"
100
- title-classes="nav-link"
101
- icon="nav-icon ni ni-ungroup">
102
- <template>
103
- <div class="row shortcuts px-4">
104
- <a href="#!" class="col-4 shortcut-item">
105
- <span class="shortcut-media avatar rounded-circle bg-gradient-red">
106
- <i class="ni ni-calendar-grid-58"></i>
107
- </span>
108
- <small>Calendar</small>
109
- </a>
110
- <a href="#!" class="col-4 shortcut-item">
111
- <span class="shortcut-media avatar rounded-circle bg-gradient-orange">
112
- <i class="ni ni-email-83"></i>
113
- </span>
114
- <small>Email</small>
115
- </a>
116
- <a href="#!" class="col-4 shortcut-item">
117
- <span class="shortcut-media avatar rounded-circle bg-gradient-info">
118
- <i class="ni ni-credit-card"></i>
119
- </span>
120
- <small>Payments</small>
121
- </a>
122
- <a href="#!" class="col-4 shortcut-item">
123
- <span class="shortcut-media avatar rounded-circle bg-gradient-green">
124
- <i class="ni ni-books"></i>
125
- </span>
126
- <small>Reports</small>
127
- </a>
128
- <a href="#!" class="col-4 shortcut-item">
129
- <span class="shortcut-media avatar rounded-circle bg-gradient-purple">
130
- <i class="ni ni-pin-3"></i>
131
- </span>
132
- <small>Maps</small>
133
- </a>
134
- <a href="#!" class="col-4 shortcut-item">
135
- <span class="shortcut-media avatar rounded-circle bg-gradient-yellow">
136
- <i class="ni ni-basket"></i>
137
- </span>
138
- <small>Shop</small>
139
- </a>
140
- </div>
141
- </template>
142
- </base-dropdown>
143
-
144
- <template v-if="currentUser != null">
145
- <li class="nav-item">
146
- <a href="#" class="nav-link" v-on:click.prevent="$router.push('/')">Início</a>
147
- </li>
148
- <li class="nav-item" v-if="currentCompany == null">
149
- <a href="#" class="nav-link" v-on:click.prevent="$router.push('/meu-burh')">Meu Burh</a>
150
- </li>
151
- </template>
152
-
153
- <template v-if="currentUser == null">
154
- <!-- <li class="nav-item">
155
- <a href="#" class="nav-link">Como funciona?</a>
156
- </li> -->
157
- <li class="nav-item">
158
- <a href="https://business.burh.com.br/" class="nav-link">Empresas / Anunciar Vagas</a>
159
- </li>
160
- <!-- <li class="nav-item">
161
- <a href="https://blog.burh.com.br/" target="_BLANK" class="nav-link">Blog</a>
162
- </li> -->
163
- <li class="nav-item">
164
- <hr class="d-lg-none mt-3 mb-4">
165
- <button class="btn btn-primary btn-block mb-0 mt-0" @click="toLogin()">
166
- Entrar
167
- </button>
168
- </li>
169
- </template>
170
- </ul>
171
-
172
- <!-- SLOT USER -->
173
- <div slot="user" v-if="currentUser != null">
174
- <base-dropdown menu-on-right
175
- class="nav-item"
176
- tag="li"
177
- title-tag="a"
178
- title-classes="nav-link pr-0">
179
- <a href="#" class="nav-link pr-0" @click.prevent slot="title-container">
180
- <div class="media align-items-center">
181
-
182
- <span class="avatar avatar-sm rounded-circle">
183
-
184
- <img
185
- v-if="currentCompany == null && currentUser.avatar != null && currentUser.avatar != ''"
186
- :alt="currentUser.name.charAt(0) + currentUser.last_name.split(' ')[0].charAt(0)"
187
- :src="currentUser.avatar">
188
-
189
- <img
190
- v-if="currentCompany != null && currentCompany.logo != null && currentCompany.logo != ''"
191
- :alt="currentCompany.name.charAt(0)"
192
- :src="currentCompany.logo">
193
-
194
- <template v-if="currentCompany == null && currentUser.avatar == null || currentUser.avatar == ''">
195
- {{currentUser.name.charAt(0)}}{{currentUser.last_name.split(' ')[0].charAt(0)}}
196
- </template>
197
-
198
- <template v-if="currentCompany != null && (currentCompany.logo == null || currentCompany.logo.trim() == '')">
199
- {{currentCompany.name.charAt(0)}}
200
- </template>
201
-
202
- </span>
203
-
204
- <div class="media-body ml-2 d-none d-lg-block">
205
- <span class="mb-0 text-sm font-weight-bold">
206
- <template v-if="currentCompany == null">
207
- {{currentUser.name}} {{currentUser.last_name.charAt(0)}}.
208
- </template>
209
- <template v-if="currentCompany != null">
210
- {{currentCompany.name}}
211
- </template>
212
- </span>
213
- </div>
214
- </div>
215
- </a>
216
- <template>
217
- <h6 class="dropdown-header">Entrar como</h6>
218
- <template v-if="currentCompany != null">
219
-
220
- <a href="#" class="dropdown-item" @click.prevent="changeToUserMode($event);">
221
- <span class="avatar avatar-sm rounded-circle">
222
- <img
223
- v-if="currentCompany == null && currentUser.avatar != null && currentUser.avatar != ''"
224
- :alt="currentUser.name.charAt(0) + currentUser.last_name.split(' ')[0].charAt(0)"
225
- :src="currentUser.avatar">
226
-
227
- <template v-if="currentCompany == null && currentUser.avatar == null || currentUser.avatar == ''">
228
- {{currentUser.name.charAt(0)}}{{currentUser.last_name.split(' ')[0].charAt(0)}}
229
- </template>
230
- </span>
231
- <span>{{currentUser.name}}</span>
232
- </a>
233
- </template>
234
-
235
- <a v-for="company in notCurrentCompany()" :key="company.id" href="javascrit:void(0)" class="dropdown-item" @click.prevent="changeToCompanyMode(company);">
236
- <span class="avatar avatar-sm rounded-circle">
237
-
238
- <img
239
- v-if="company.logo != null && company.logo != ''"
240
- :alt="company.name.charAt(0)"
241
- :src="company.logo">
242
-
243
- <template v-if="!company.company_mode && company.logo == null || company.logo == ''">
244
- {{company.name.charAt(0)}}
245
- </template>
246
- </span>
247
- <span>{{company.name}}</span>
248
- </a>
249
-
250
- <template v-if="currentCompany != null">
251
- <div class="dropdown-divider"></div>
252
- <h6 class="dropdown-header">Minha empresa</h6>
253
- <a href="#!" class="dropdown-item">Anunciar Vaga</a>
254
- <a href="#!" class="dropdown-item">Perfil da Empresa</a>
255
- <a href="#!" class="dropdown-item">Editar Empresa</a>
256
- <a href="#!" class="dropdown-item d-flex align-items-center w-100">
257
- <span>Blog de RH</span> <badge rounded type="primary" class="ml-auto">Novo</badge>
258
- </a>
259
-
260
- <div class="dropdown-divider"></div>
261
- <h6 class="dropdown-header">Configurações</h6>
262
- <a href="#!" class="dropdown-item">Sua Conta</a>
263
- <a href="#!" class="dropdown-item">Equipe</a>
264
- <a href="#!" class="dropdown-item">Avisos & Notificações</a>
265
- <a href="#!" class="dropdown-item">Seu Plano</a>
266
- </template>
267
-
268
- <template v-if="currentCompany == null">
269
- <div class="dropdown-divider"></div>
270
- <h6 class="dropdown-header">Meu Burh</h6>
271
- <a href="#" class="dropdown-item" v-on:click.prevent="$router.push(`/${currentUser.slug}`)">Meu perfil</a>
272
- <a href="#" class="dropdown-item" v-on:click.prevent="$router.push('/configuracoes')">Configurações</a>
273
- </template>
274
-
275
- <div class="dropdown-divider"></div>
276
- <a href="#!" class="dropdown-item" v-on:click.prevent="logout()">
277
- <i class="fas fa-door-open"></i>
278
- <span>Sair</span>
279
- </a>
280
- </template>
281
- </base-dropdown>
282
- </div>
283
-
284
- <slot></slot>
285
- </base-nav>
286
- </template>
287
- <script>
288
- import { CollapseTransition } from 'vue2-transitions';
289
- // import BaseNav from '@/components/argon-core/Navbar/BaseNav.vue';
290
- import BaseNav from '@/components/burh-ds/Navbar/BaseNav.vue';
291
- import Modal from '@/components/argon-core/Modal.vue';
292
- import moment from 'moment';
293
- import 'moment/locale/pt-br';
294
- import * as _ from 'lodash';
295
- export default {
296
- components: {
297
- CollapseTransition,
298
- BaseNav,
299
- Modal
300
- },
301
- props: {
302
- type: {
303
- type: String,
304
- default: 'default', // default|light
305
- description: 'Look of the dashboard navbar. Default (Green) or light (gray)'
306
- },
307
- logoMini: {
308
- type: String,
309
- default: '/img/content/carreiras/logo-laponia.jpg',
310
- description: 'Logo for scrolled navbar'
311
- },
312
- menuOptions: {
313
- type: String,
314
- default: null,
315
- description: ''
316
- },
317
- logoFull: {
318
- type: String,
319
- default: () => '/img/brand/burh-imagotipo.svg',
320
- description: 'Brand da navbar'
321
- },
322
- companySlug: String,
323
- currentUser: {
324
- type: Object,
325
- default: () => null,
326
- description: 'Usuário logado atual'
327
- },
328
- currentCompany: {
329
- type: Object,
330
- default: () => null,
331
- description: 'Empresa selecionada atual'
332
- },
333
- notifications: {
334
- type: Object,
335
- default: () => {
336
- return {
337
- show: false,
338
- items: []
339
- }
340
- }
341
- },
342
- navbarSearch: {
343
- type: Boolean,
344
- description: 'get props objects to stay dynamic',
345
- default: () => true
346
- },
347
- navbarColor: {
348
- type: String,
349
- default: () => 'bg-white navbar-light', //
350
- description: 'Cor do navbar [atual]'
351
- },
352
- },
353
- computed: {
354
- routeName() {
355
- const { name } = this.$route;
356
- return this.capitalizeFirstLetter(name);
357
- },
358
- clazz: function() {
359
- var clzz = 'control-form';
360
- if (this.focusSearchControl == false) {
361
- clzz += ' only-text';
362
- }
363
- return clzz;
364
- }
365
- },
366
- data() {
367
- return {
368
- showMenu: false,
369
- activeNotifications: false,
370
- showMenu: false,
371
- searchModalVisible: false,
372
- searchQuery: '',
373
- menuSearch: '',
374
- focusSearchControl: false,
375
- baseURL: process.env.baseAppUrl,
376
- isTyping: false
377
- };
378
- },
379
- methods: {
380
- toLogin() {
381
- this.$router.push('/entrar?rollback=' + this.$route.fullPath);
382
- },
383
- search() {
384
- // this.$router.push({
385
- // path: `/busca?term=${this.menuSearch}&page=1`
386
- // });
387
- window.location = `/busca?term=${this.menuSearch}&page=1`;
388
- },
389
-
390
- capitalizeFirstLetter(string) {
391
- return string.charAt(0).toUpperCase() + string.slice(1);
392
- },
393
- toggleNotificationDropDown() {
394
- this.activeNotifications = !this.activeNotifications;
395
- },
396
- closeDropDown() {
397
- this.activeNotifications = false;
398
- },
399
- toggleSidebar() {
400
- this.$sidebar.displaySidebar(!this.$sidebar.showSidebar);
401
- },
402
- hideSidebar() {
403
- this.$sidebar.displaySidebar(false);
404
- },
405
- handleSCroll (event) {
406
- // let header = document.querySelector('[data-menu="fixed"]');
407
- // let page = document.querySelector('html');
408
- // let screenHeight = window.innerHeight;
409
- // if (window.scrollY > screenHeight && !header.className.includes('navbar-main--mini') && header.length > 0) {
410
- // header.classList.add('navbar-main--mini');
411
- // //page.classList.add('menu-fixed');
412
- // } else if (window.scrollY < screenHeight) {
413
- // header.classList.remove('navbar-main--mini');
414
- // //page.classList.remove('menu-fixed');
415
- // console.log('final');
416
- // }
417
- },
418
- onFocus: function(event) {
419
- event.target.select();
420
- this.focusSearchControl = true;
421
- },
422
- onBlur: function(event) {
423
- this.focusSearchControl = false;
424
- },
425
- closeMenu() {
426
- document.body.classList.remove('nav-open');
427
- this.showMenu = false;
428
- },
429
-
430
- unreadNotifications(arr) {
431
- return arr.filter((item) => {
432
- return item.read == false
433
- }).length;
434
- },
435
-
436
- fromNow(date) {
437
- return moment(date).locale('pt-BR').fromNow();
438
- },
439
-
440
- changeToUserMode(e) {
441
- e.preventDefault();
442
- this.$store.commit('localStorage/setCompany', null);
443
- },
444
-
445
- changeToCompanyMode(company) {
446
- // this.$store.commit('localStorage/setCompany', company);
447
- let token = this.$store.state.localStorage.token != null && this.$store.state.localStorage.token != '' ? '?auth=' + this.$store.state.localStorage.token : '';
448
- // Setando cookie do companyId para uso no App Ractive
449
- document.cookie = 'shiftCompanyId='+company.id+'; domain=burh.com.br; path=/';
450
- // window.location = 'https://business.burh.com.br/entrar?auth=' + this.$store.state.localStorage.token;
451
-
452
- let setToken = this.$store.state.localStorage.token != null && this.$store.state.localStorage.token != '' ? '/entrar?auth=' + this.$store.state.localStorage.token : '';
453
- var enviroment = process.env.NODE_ENV != null ? process.env.NODE_ENV.trim() : 'development';
454
- window.location.href = enviroment == 'development' ? process.env.baseLocalAppUrl + setToken : 'https://business.burh.com.br' + setToken;
455
- // window.location = 'https://business.burh.com.br/entrar' + this.$route.query.auth;
456
- },
457
-
458
- async logout() {
459
- await this.$axios.post(process.env.routes.api.logLogout, {},{
460
- headers: {
461
- Authorization: `Bearer ${this.$store.state.localStorage.token}`
462
- }
463
- });
464
-
465
- await this.$axios.get(process.env.routes.api.logout, {
466
- headers: {
467
- Authorization: `Bearer ${this.$store.state.localStorage.token}`
468
- }
469
- });
470
-
471
- this.$logout();
472
- },
473
-
474
- notCurrentCompany() {
475
- if(this.currentCompany == null) {
476
- return this.currentUser.companies
477
- }
478
-
479
- return this.currentUser.companies.filter((company) => {
480
- return company.id != this.currentCompany.id
481
- });
482
- }
483
- },
484
- watch: {
485
- '$route.path'(newRoute, oldRoute) {
486
- if (this.showMenu) {
487
- this.closeMenu();
488
- }
489
-
490
- if(this.navbarSearch && newRoute != '/busca'){
491
- this.menuSearch = ''
492
- } else {
493
- this.menuSearch = this.$route.query.term
494
- }
495
-
496
- }
497
- },
498
- mounted () {
499
- window.addEventListener('scroll', this.handleSCroll);
500
- let header = document.querySelector('[data-menu="fixed"]');
501
- let page = document.querySelector('html');
502
-
503
- if (header) {
504
- page.classList.remove('menu-fixed');
505
- }
506
-
507
- if(this.$route.path == '/busca') {
508
- this.menuSearch = this.$route.query.term
509
- }
510
-
511
- },
512
- created() {
513
-
514
- },
515
- destroyed () {
516
- window.removeEventListener('scroll', this.handleSCroll);
517
- }
518
- };
519
- </script>
520
- <style lang="scss">
521
- @import "./assets/sass/burh-ds/variables/colors";
522
-
523
- .navbar {
524
- .navbar-search-light {
525
- &--focus {
526
- box-shadow: 0 0 .5rem 0 darken($primary, 20%);
527
- }
528
- }
529
- .navbar-search-dark {
530
- &--focus {
531
- box-shadow: 0 0 2rem 0 $primary;
532
- }
533
- }
534
- }
535
- </style>
1
+ <template>
2
+ <base-nav
3
+ v-model="showMenu"
4
+ container-classes="container-fluid container-fluid--bu"
5
+ class="border-bottom navbar-animated navbar-horizontal navbar-main"
6
+ :class="navbarColor"
7
+ expand="lg"
8
+ >
9
+
10
+ <!-- SLOT BRAND -->
11
+ <div slot="brand" class="navbar-wrapper">
12
+ <nuxt-link class="navbar-brand d-flex" to="/">
13
+ <img :src="logoFull" class="navbar-brand-img navbar-brand-img--full" alt="BURH: Suas vagas">
14
+ </nuxt-link>
15
+ </div>
16
+
17
+ <!-- SLOT DEFAULT -->
18
+ <template>
19
+ <div class="navbar-collapse-header">
20
+ <div class="row">
21
+ <div class="col-6 collapse-brand">
22
+ <nuxt-link to="/">
23
+ <img :src="logoFull" class="navbar-brand-img navbar-brand-img--full" alt="BURH: Suas vagas">
24
+ </nuxt-link>
25
+ </div>
26
+ <div class="col-6 collapse-close">
27
+ <button type="button" class="navbar-toggler" @click="showMenu = false">
28
+ <span></span>
29
+ <span></span>
30
+ </button>
31
+ </div>
32
+ </div>
33
+ </div>
34
+ <!-- Search form -->
35
+ <form slot="brand" v-if="navbarSearch" class="navbar-search form-inline mr-sm-auto" v-on:submit.prevent="search()"
36
+ :class="{'navbar-search-light': type === 'default', 'navbar-search-dark': type === 'light'}"
37
+ id="navbar-search-main">
38
+ <div class="form-group mb-0">
39
+ <div class="input-group input-group-alternative input-group-merge">
40
+ <div class="input-group-prepend">
41
+ <span class="input-group-text"><i class="fas fa-search"></i></span>
42
+ </div>
43
+ <input class="form-control form-control--focus" placeholder="Procurar vaga de emprego" type="text" v-model='menuSearch' :class='clazz'>
44
+ </div>
45
+ </div>
46
+ <button type="button" class="close" data-action="search-close" data-target="#navbar-search-main"
47
+ aria-label="Close">
48
+ <span aria-hidden="true">×</span>
49
+ </button>
50
+ </form>
51
+ </template>
52
+
53
+ <!-- NOTIFICATIONS -->
54
+ <ul class="navbar-nav navbar-nav--menu align-items-center ml-md-auto">
55
+ <base-dropdown v-if="notifications.show && currentUser != null"
56
+ class="nav-item"
57
+ tag="li"
58
+ title-classes="nav-link"
59
+ title-tag="a"
60
+ icon="nav-icon ni ni-bell-55"
61
+ menu-classes="dropdown-menu-xl dropdown-menu-right py-0 overflow-hidden">
62
+ <template>
63
+ <!-- Dropdown header -->
64
+ <div class="px-3 py-3">
65
+ <h6 class="text-sm text-muted m-0">Você tem <strong class="text-primary">{{unreadNotifications(notifications.items)}}</strong> avisos não lidos.</h6>
66
+ </div>
67
+ <!-- List group -->
68
+ <div class="list-group list-group-flush">
69
+ <a v-for="notification in notifications.items" v-bind:key="notification.id" href="#!" class="list-group-item list-group-item-action" :class="{ 'bg-gray': !notification.read }">
70
+ <div class="row align-items-center">
71
+ <div class="col-auto">
72
+ <!-- Avatar -->
73
+ <img alt="A" :src="notification.avatar" class="avatar rounded-circle">
74
+ </div>
75
+ <div class="col ml--2">
76
+ <div class="d-flex justify-content-between align-items-center">
77
+ <div>
78
+ <h4 class="mb-0 text-sm">{{notification.from}}</h4>
79
+ </div>
80
+ <div class="text-right text-muted">
81
+ <small>{{fromNow(notification.time)}}</small>
82
+ </div>
83
+ </div>
84
+ <p class="text-sm mb-0">{{notification.title}}</p>
85
+ </div>
86
+ </div>
87
+ </a>
88
+
89
+ </div>
90
+ <!-- View all -->
91
+ <a href="#!" class="dropdown-item text-center text-primary font-weight-bold py-3">Ver todos</a>
92
+ </template>
93
+ </base-dropdown>
94
+
95
+ <base-dropdown v-if="currentUser != null && currentCompany != null" menu-classes="dropdown-menu-lg dropdown-menu-dark bg-default dropdown-menu-right"
96
+ class="nav-item"
97
+ tag="li"
98
+ title="Aplicativos"
99
+ title-tag="a"
100
+ title-classes="nav-link"
101
+ icon="nav-icon ni ni-ungroup">
102
+ <template>
103
+ <div class="row shortcuts px-4">
104
+ <a href="#!" class="col-4 shortcut-item">
105
+ <span class="shortcut-media avatar rounded-circle bg-gradient-red">
106
+ <i class="ni ni-calendar-grid-58"></i>
107
+ </span>
108
+ <small>Calendar</small>
109
+ </a>
110
+ <a href="#!" class="col-4 shortcut-item">
111
+ <span class="shortcut-media avatar rounded-circle bg-gradient-orange">
112
+ <i class="ni ni-email-83"></i>
113
+ </span>
114
+ <small>Email</small>
115
+ </a>
116
+ <a href="#!" class="col-4 shortcut-item">
117
+ <span class="shortcut-media avatar rounded-circle bg-gradient-info">
118
+ <i class="ni ni-credit-card"></i>
119
+ </span>
120
+ <small>Payments</small>
121
+ </a>
122
+ <a href="#!" class="col-4 shortcut-item">
123
+ <span class="shortcut-media avatar rounded-circle bg-gradient-green">
124
+ <i class="ni ni-books"></i>
125
+ </span>
126
+ <small>Reports</small>
127
+ </a>
128
+ <a href="#!" class="col-4 shortcut-item">
129
+ <span class="shortcut-media avatar rounded-circle bg-gradient-purple">
130
+ <i class="ni ni-pin-3"></i>
131
+ </span>
132
+ <small>Maps</small>
133
+ </a>
134
+ <a href="#!" class="col-4 shortcut-item">
135
+ <span class="shortcut-media avatar rounded-circle bg-gradient-yellow">
136
+ <i class="ni ni-basket"></i>
137
+ </span>
138
+ <small>Shop</small>
139
+ </a>
140
+ </div>
141
+ </template>
142
+ </base-dropdown>
143
+
144
+ <template v-if="currentUser != null">
145
+ <li class="nav-item">
146
+ <a href="#" class="nav-link" v-on:click.prevent="$router.push('/')">Início</a>
147
+ </li>
148
+ <li class="nav-item" v-if="currentCompany == null">
149
+ <a href="#" class="nav-link" v-on:click.prevent="$router.push('/meu-burh')">Meu Burh</a>
150
+ </li>
151
+ </template>
152
+
153
+ <template v-if="currentUser == null">
154
+ <!-- <li class="nav-item">
155
+ <a href="#" class="nav-link">Como funciona?</a>
156
+ </li> -->
157
+ <li class="nav-item">
158
+ <a href="https://business.burh.com.br/" class="nav-link">Empresas / Anunciar Vagas</a>
159
+ </li>
160
+ <!-- <li class="nav-item">
161
+ <a href="https://blog.burh.com.br/" target="_BLANK" class="nav-link">Blog</a>
162
+ </li> -->
163
+ <li class="nav-item">
164
+ <hr class="d-lg-none mt-3 mb-4">
165
+ <button class="btn btn-primary btn-block mb-0 mt-0" @click="toLogin()">
166
+ Entrar
167
+ </button>
168
+ </li>
169
+ </template>
170
+ </ul>
171
+
172
+ <!-- SLOT USER -->
173
+ <div slot="user" v-if="currentUser != null">
174
+ <base-dropdown menu-on-right
175
+ class="nav-item"
176
+ tag="li"
177
+ title-tag="a"
178
+ title-classes="nav-link pr-0">
179
+ <a href="#" class="nav-link pr-0" @click.prevent slot="title-container">
180
+ <div class="media align-items-center">
181
+
182
+ <span class="avatar avatar-sm rounded-circle">
183
+
184
+ <img
185
+ v-if="currentCompany == null && currentUser.avatar != null && currentUser.avatar != ''"
186
+ :alt="currentUser.name.charAt(0) + currentUser.last_name.split(' ')[0].charAt(0)"
187
+ :src="currentUser.avatar">
188
+
189
+ <img
190
+ v-if="currentCompany != null && currentCompany.logo != null && currentCompany.logo != ''"
191
+ :alt="currentCompany.name.charAt(0)"
192
+ :src="currentCompany.logo">
193
+
194
+ <template v-if="currentCompany == null && currentUser.avatar == null || currentUser.avatar == ''">
195
+ {{currentUser.name.charAt(0)}}{{currentUser.last_name.split(' ')[0].charAt(0)}}
196
+ </template>
197
+
198
+ <template v-if="currentCompany != null && (currentCompany.logo == null || currentCompany.logo.trim() == '')">
199
+ {{currentCompany.name.charAt(0)}}
200
+ </template>
201
+
202
+ </span>
203
+
204
+ <div class="media-body ml-2 d-none d-lg-block">
205
+ <span class="mb-0 text-sm font-weight-bold">
206
+ <template v-if="currentCompany == null">
207
+ {{currentUser.name}} {{currentUser.last_name.charAt(0)}}.
208
+ </template>
209
+ <template v-if="currentCompany != null">
210
+ {{currentCompany.name}}
211
+ </template>
212
+ </span>
213
+ </div>
214
+ </div>
215
+ </a>
216
+ <template>
217
+ <h6 class="dropdown-header">Entrar como</h6>
218
+ <template v-if="currentCompany != null">
219
+
220
+ <a href="#" class="dropdown-item" @click.prevent="changeToUserMode($event);">
221
+ <span class="avatar avatar-sm rounded-circle">
222
+ <img
223
+ v-if="currentCompany == null && currentUser.avatar != null && currentUser.avatar != ''"
224
+ :alt="currentUser.name.charAt(0) + currentUser.last_name.split(' ')[0].charAt(0)"
225
+ :src="currentUser.avatar">
226
+
227
+ <template v-if="currentCompany == null && currentUser.avatar == null || currentUser.avatar == ''">
228
+ {{currentUser.name.charAt(0)}}{{currentUser.last_name.split(' ')[0].charAt(0)}}
229
+ </template>
230
+ </span>
231
+ <span>{{currentUser.name}}</span>
232
+ </a>
233
+ </template>
234
+
235
+ <a v-for="company in notCurrentCompany()" :key="company.id" href="javascrit:void(0)" class="dropdown-item" @click.prevent="changeToCompanyMode(company);">
236
+ <span class="avatar avatar-sm rounded-circle">
237
+
238
+ <img
239
+ v-if="company.logo != null && company.logo != ''"
240
+ :alt="company.name.charAt(0)"
241
+ :src="company.logo">
242
+
243
+ <template v-if="!company.company_mode && company.logo == null || company.logo == ''">
244
+ {{company.name.charAt(0)}}
245
+ </template>
246
+ </span>
247
+ <span>{{company.name}}</span>
248
+ </a>
249
+
250
+ <template v-if="currentCompany != null">
251
+ <div class="dropdown-divider"></div>
252
+ <h6 class="dropdown-header">Minha empresa</h6>
253
+ <a href="#!" class="dropdown-item">Anunciar Vaga</a>
254
+ <a href="#!" class="dropdown-item">Perfil da Empresa</a>
255
+ <a href="#!" class="dropdown-item">Editar Empresa</a>
256
+ <a href="#!" class="dropdown-item d-flex align-items-center w-100">
257
+ <span>Blog de RH</span> <badge rounded type="primary" class="ml-auto">Novo</badge>
258
+ </a>
259
+
260
+ <div class="dropdown-divider"></div>
261
+ <h6 class="dropdown-header">Configurações</h6>
262
+ <a href="#!" class="dropdown-item">Sua Conta</a>
263
+ <a href="#!" class="dropdown-item">Equipe</a>
264
+ <a href="#!" class="dropdown-item">Avisos & Notificações</a>
265
+ <a href="#!" class="dropdown-item">Seu Plano</a>
266
+ </template>
267
+
268
+ <template v-if="currentCompany == null">
269
+ <div class="dropdown-divider"></div>
270
+ <h6 class="dropdown-header">Meu Burh</h6>
271
+ <a href="#" class="dropdown-item" v-on:click.prevent="$router.push(`/${currentUser.slug}`)">Meu perfil</a>
272
+ <a href="#" class="dropdown-item" v-on:click.prevent="$router.push('/configuracoes')">Configurações</a>
273
+ </template>
274
+
275
+ <div class="dropdown-divider"></div>
276
+ <a href="#!" class="dropdown-item" v-on:click.prevent="logout()">
277
+ <i class="fas fa-door-open"></i>
278
+ <span>Sair</span>
279
+ </a>
280
+ </template>
281
+ </base-dropdown>
282
+ </div>
283
+
284
+ <slot></slot>
285
+ </base-nav>
286
+ </template>
287
+ <script>
288
+ import { CollapseTransition } from 'vue2-transitions';
289
+ // import BaseNav from '@/components/argon-core/Navbar/BaseNav.vue';
290
+ import BaseNav from '@/components/burh-ds/Navbar/BaseNav.vue';
291
+ import Modal from '@/components/argon-core/Modal.vue';
292
+ import moment from 'moment';
293
+ import 'moment/locale/pt-br';
294
+ import * as _ from 'lodash';
295
+ export default {
296
+ components: {
297
+ CollapseTransition,
298
+ BaseNav,
299
+ Modal
300
+ },
301
+ props: {
302
+ type: {
303
+ type: String,
304
+ default: 'default', // default|light
305
+ description: 'Look of the dashboard navbar. Default (Green) or light (gray)'
306
+ },
307
+ logoMini: {
308
+ type: String,
309
+ default: '/img/content/carreiras/logo-laponia.jpg',
310
+ description: 'Logo for scrolled navbar'
311
+ },
312
+ menuOptions: {
313
+ type: String,
314
+ default: null,
315
+ description: ''
316
+ },
317
+ logoFull: {
318
+ type: String,
319
+ default: () => '/img/brand/burh-imagotipo.svg',
320
+ description: 'Brand da navbar'
321
+ },
322
+ companySlug: String,
323
+ currentUser: {
324
+ type: Object,
325
+ default: () => null,
326
+ description: 'Usuário logado atual'
327
+ },
328
+ currentCompany: {
329
+ type: Object,
330
+ default: () => null,
331
+ description: 'Empresa selecionada atual'
332
+ },
333
+ notifications: {
334
+ type: Object,
335
+ default: () => {
336
+ return {
337
+ show: false,
338
+ items: []
339
+ }
340
+ }
341
+ },
342
+ navbarSearch: {
343
+ type: Boolean,
344
+ description: 'get props objects to stay dynamic',
345
+ default: () => true
346
+ },
347
+ navbarColor: {
348
+ type: String,
349
+ default: () => 'bg-white navbar-light', //
350
+ description: 'Cor do navbar [atual]'
351
+ },
352
+ },
353
+ computed: {
354
+ routeName() {
355
+ const { name } = this.$route;
356
+ return this.capitalizeFirstLetter(name);
357
+ },
358
+ clazz: function() {
359
+ var clzz = 'control-form';
360
+ if (this.focusSearchControl == false) {
361
+ clzz += ' only-text';
362
+ }
363
+ return clzz;
364
+ }
365
+ },
366
+ data() {
367
+ return {
368
+ showMenu: false,
369
+ activeNotifications: false,
370
+ showMenu: false,
371
+ searchModalVisible: false,
372
+ searchQuery: '',
373
+ menuSearch: '',
374
+ focusSearchControl: false,
375
+ baseURL: process.env.baseAppUrl,
376
+ isTyping: false
377
+ };
378
+ },
379
+ methods: {
380
+ toLogin() {
381
+ this.$router.push('/entrar?rollback=' + this.$route.fullPath);
382
+ },
383
+ search() {
384
+ // this.$router.push({
385
+ // path: `/busca?term=${this.menuSearch}&page=1`
386
+ // });
387
+ window.location = `/busca?term=${this.menuSearch}&page=1`;
388
+ },
389
+
390
+ capitalizeFirstLetter(string) {
391
+ return string.charAt(0).toUpperCase() + string.slice(1);
392
+ },
393
+ toggleNotificationDropDown() {
394
+ this.activeNotifications = !this.activeNotifications;
395
+ },
396
+ closeDropDown() {
397
+ this.activeNotifications = false;
398
+ },
399
+ toggleSidebar() {
400
+ this.$sidebar.displaySidebar(!this.$sidebar.showSidebar);
401
+ },
402
+ hideSidebar() {
403
+ this.$sidebar.displaySidebar(false);
404
+ },
405
+ handleSCroll (event) {
406
+ // let header = document.querySelector('[data-menu="fixed"]');
407
+ // let page = document.querySelector('html');
408
+ // let screenHeight = window.innerHeight;
409
+ // if (window.scrollY > screenHeight && !header.className.includes('navbar-main--mini') && header.length > 0) {
410
+ // header.classList.add('navbar-main--mini');
411
+ // //page.classList.add('menu-fixed');
412
+ // } else if (window.scrollY < screenHeight) {
413
+ // header.classList.remove('navbar-main--mini');
414
+ // //page.classList.remove('menu-fixed');
415
+ // console.log('final');
416
+ // }
417
+ },
418
+ onFocus: function(event) {
419
+ event.target.select();
420
+ this.focusSearchControl = true;
421
+ },
422
+ onBlur: function(event) {
423
+ this.focusSearchControl = false;
424
+ },
425
+ closeMenu() {
426
+ document.body.classList.remove('nav-open');
427
+ this.showMenu = false;
428
+ },
429
+
430
+ unreadNotifications(arr) {
431
+ return arr.filter((item) => {
432
+ return item.read == false
433
+ }).length;
434
+ },
435
+
436
+ fromNow(date) {
437
+ return moment(date).locale('pt-BR').fromNow();
438
+ },
439
+
440
+ changeToUserMode(e) {
441
+ e.preventDefault();
442
+ this.$store.commit('localStorage/setCompany', null);
443
+ },
444
+
445
+ changeToCompanyMode(company) {
446
+ // this.$store.commit('localStorage/setCompany', company);
447
+ let token = this.$store.state.localStorage.token != null && this.$store.state.localStorage.token != '' ? '?auth=' + this.$store.state.localStorage.token : '';
448
+ // Setando cookie do companyId para uso no App Ractive
449
+ document.cookie = 'shiftCompanyId='+company.id+'; domain=burh.com.br; path=/';
450
+ // window.location = 'https://business.burh.com.br/entrar?auth=' + this.$store.state.localStorage.token;
451
+
452
+ let setToken = this.$store.state.localStorage.token != null && this.$store.state.localStorage.token != '' ? '/entrar?auth=' + this.$store.state.localStorage.token : '';
453
+ var enviroment = process.env.NODE_ENV != null ? process.env.NODE_ENV.trim() : 'development';
454
+ window.location.href = enviroment == 'development' ? process.env.baseLocalAppUrl + setToken : 'https://business.burh.com.br' + setToken;
455
+ // window.location = 'https://business.burh.com.br/entrar' + this.$route.query.auth;
456
+ },
457
+
458
+ async logout() {
459
+ await this.$axios.post(process.env.routes.api.logLogout, {},{
460
+ headers: {
461
+ Authorization: `Bearer ${this.$store.state.localStorage.token}`
462
+ }
463
+ });
464
+
465
+ await this.$axios.get(process.env.routes.api.logout, {
466
+ headers: {
467
+ Authorization: `Bearer ${this.$store.state.localStorage.token}`
468
+ }
469
+ });
470
+
471
+ this.$logout();
472
+ },
473
+
474
+ notCurrentCompany() {
475
+ if(this.currentCompany == null) {
476
+ return this.currentUser.companies
477
+ }
478
+
479
+ return this.currentUser.companies.filter((company) => {
480
+ return company.id != this.currentCompany.id
481
+ });
482
+ }
483
+ },
484
+ watch: {
485
+ '$route.path'(newRoute, oldRoute) {
486
+ if (this.showMenu) {
487
+ this.closeMenu();
488
+ }
489
+
490
+ if(this.navbarSearch && newRoute != '/busca'){
491
+ this.menuSearch = ''
492
+ } else {
493
+ this.menuSearch = this.$route.query.term
494
+ }
495
+
496
+ }
497
+ },
498
+ mounted () {
499
+ window.addEventListener('scroll', this.handleSCroll);
500
+ let header = document.querySelector('[data-menu="fixed"]');
501
+ let page = document.querySelector('html');
502
+
503
+ if (header) {
504
+ page.classList.remove('menu-fixed');
505
+ }
506
+
507
+ if(this.$route.path == '/busca') {
508
+ this.menuSearch = this.$route.query.term
509
+ }
510
+
511
+ },
512
+ created() {
513
+
514
+ },
515
+ destroyed () {
516
+ window.removeEventListener('scroll', this.handleSCroll);
517
+ }
518
+ };
519
+ </script>
520
+ <style lang="scss">
521
+ @import "./assets/sass/burh-ds/variables/colors";
522
+
523
+ .navbar {
524
+ .navbar-search-light {
525
+ &--focus {
526
+ box-shadow: 0 0 .5rem 0 darken($primary, 20%);
527
+ }
528
+ }
529
+ .navbar-search-dark {
530
+ &--focus {
531
+ box-shadow: 0 0 2rem 0 $primary;
532
+ }
533
+ }
534
+ }
535
+ </style>