@burh/nuxt-core 1.0.404 → 1.0.406

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 (456) 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/.vscode/settings.json +10 -10
  6. package/CHANGELOG.md +2 -2
  7. package/README.md +22 -22
  8. package/app.html +8 -8
  9. package/assets/css/font-awesome/css/font-awesome.css +2337 -2337
  10. package/assets/css/font-awesome/css/font-awesome.min.css +4 -4
  11. package/assets/css/font-awesome/fonts/fontawesome-webfont.svg +2671 -2671
  12. package/assets/css/nucleo/css/nucleo-svg.css +134 -134
  13. package/assets/css/nucleo/css/nucleo.css +572 -572
  14. package/assets/css/nucleo/fonts/nucleo-icons.svg +312 -312
  15. package/assets/css/variables.css +2 -2
  16. package/assets/images/burhCv.svg +6 -6
  17. package/assets/images/facebookCv.svg +3 -3
  18. package/assets/images/icons/facebook.svg +14 -14
  19. package/assets/images/icons/historicCv.svg +3 -3
  20. package/assets/images/icons/icon3.svg +3 -3
  21. package/assets/images/icons/icon4.svg +3 -3
  22. package/assets/images/icons/linkedin.svg +14 -14
  23. package/assets/images/icons/notesCv.svg +3 -3
  24. package/assets/images/icons/twitter.svg +14 -14
  25. package/assets/images/icons/whatsapp.svg +14 -14
  26. package/assets/images/linkedinCv.svg +3 -3
  27. package/assets/images/webCv.svg +4 -4
  28. package/assets/sass/argon.scss +104 -104
  29. package/assets/sass/burh-ds/_components.scss +142 -142
  30. package/assets/sass/burh-ds/_functions.scss +29 -29
  31. package/assets/sass/burh-ds/_helpers.scss +18 -18
  32. package/assets/sass/burh-ds/_mixins.scss +17 -17
  33. package/assets/sass/burh-ds/_transitions.scss +12 -12
  34. package/assets/sass/burh-ds/_utilities.scss +31 -31
  35. package/assets/sass/burh-ds/_variables.scss +963 -963
  36. package/assets/sass/burh-ds/_vendors.scss +38 -38
  37. package/assets/sass/burh-ds/atoms/_badge.scss +5 -5
  38. package/assets/sass/burh-ds/atoms/_buttons.scss +222 -222
  39. package/assets/sass/burh-ds/atoms/_forms.scss +416 -416
  40. package/assets/sass/burh-ds/atoms/_tables.scss +31 -31
  41. package/assets/sass/burh-ds/atoms/_type.scss +147 -147
  42. package/assets/sass/burh-ds/mixins/_badge.scss +37 -37
  43. package/assets/sass/burh-ds/mixins/_breakpoints.scss +39 -39
  44. package/assets/sass/burh-ds/mixins/_grid-framework.scss +66 -66
  45. package/assets/sass/burh-ds/mixins/_grid.scss +51 -51
  46. package/assets/sass/burh-ds/molecules/_box.scss +282 -282
  47. package/assets/sass/burh-ds/molecules/_breadcrumb.scss +8 -8
  48. package/assets/sass/burh-ds/molecules/_modal.scss +175 -175
  49. package/assets/sass/burh-ds/molecules/_navbar.scss +262 -262
  50. package/assets/sass/burh-ds/molecules/_notifications.scss +1 -1
  51. package/assets/sass/burh-ds/molecules/_steps-profile.scss +67 -67
  52. package/assets/sass/burh-ds/molecules/_testimonial.scss +53 -53
  53. package/assets/sass/burh-ds/organisms/_banner.scss +51 -51
  54. package/assets/sass/burh-ds/organisms/_cards.scss +228 -228
  55. package/assets/sass/burh-ds/organisms/_carousel.scss +113 -113
  56. package/assets/sass/burh-ds/organisms/_footer.scss +115 -115
  57. package/assets/sass/burh-ds/organisms/_profile-bar.scss +130 -130
  58. package/assets/sass/burh-ds/organisms/_search.scss +17 -17
  59. package/assets/sass/burh-ds/organisms/_subheader.scss +773 -773
  60. package/assets/sass/burh-ds/organisms/_tabs-setting.scss +123 -123
  61. package/assets/sass/burh-ds/organisms/banners/_banner.scss +62 -62
  62. package/assets/sass/burh-ds/organisms/cards/_featured-company.scss +17 -17
  63. package/assets/sass/burh-ds/organisms/cards/_opportunity.scss +16 -16
  64. package/assets/sass/burh-ds/pages/_error.scss +124 -124
  65. package/assets/sass/burh-ds/pages/_jobs.scss +424 -424
  66. package/assets/sass/burh-ds/pages/_testes.scss +350 -350
  67. package/assets/sass/burh-ds/variables/_colors.scss +350 -350
  68. package/assets/sass/burh-ds/variables/_global_settings.scss +39 -39
  69. package/assets/sass/core/alerts/_alert-dismissible.scss +48 -48
  70. package/assets/sass/core/alerts/_alert-notify.scss +47 -47
  71. package/assets/sass/core/alerts/_alert.scss +49 -49
  72. package/assets/sass/core/avatars/_avatar-group.scss +22 -22
  73. package/assets/sass/core/avatars/_avatar.scss +59 -59
  74. package/assets/sass/core/badges/_badge-circle.scss +29 -29
  75. package/assets/sass/core/badges/_badge-dot.scss +42 -42
  76. package/assets/sass/core/badges/_badge-floating.scss +18 -18
  77. package/assets/sass/core/badges/_badge.scss +67 -67
  78. package/assets/sass/core/breadcrumbs/_breadcrumb.scss +42 -42
  79. package/assets/sass/core/buttons/_button-brand.scss +12 -12
  80. package/assets/sass/core/buttons/_button-group.scss +79 -79
  81. package/assets/sass/core/buttons/_button-icon.scss +92 -92
  82. package/assets/sass/core/buttons/_button.scss +90 -90
  83. package/assets/sass/core/cards/_card-animations.scss +10 -10
  84. package/assets/sass/core/cards/_card-blockquote.scss +17 -17
  85. package/assets/sass/core/cards/_card-money.scss +27 -27
  86. package/assets/sass/core/cards/_card-pricing.scss +26 -26
  87. package/assets/sass/core/cards/_card-profile.scss +49 -49
  88. package/assets/sass/core/cards/_card-stats.scss +16 -16
  89. package/assets/sass/core/cards/_card.scss +70 -70
  90. package/assets/sass/core/charts/_chart.scss +69 -69
  91. package/assets/sass/core/close/_close.scss +47 -47
  92. package/assets/sass/core/collapse/_accordion.scss +38 -38
  93. package/assets/sass/core/content/_main-content.scss +17 -17
  94. package/assets/sass/core/custom-forms/_custom-checkbox.scss +47 -47
  95. package/assets/sass/core/custom-forms/_custom-control.scss +58 -58
  96. package/assets/sass/core/custom-forms/_custom-form.scss +45 -45
  97. package/assets/sass/core/custom-forms/_custom-radio.scss +38 -38
  98. package/assets/sass/core/custom-forms/_custom-toggle.scss +122 -122
  99. package/assets/sass/core/dropdowns/_dropdown.scss +89 -89
  100. package/assets/sass/core/footers/_footer.scss +159 -159
  101. package/assets/sass/core/forms/_form-extend.scss +38 -38
  102. package/assets/sass/core/forms/_form-validation.scss +78 -78
  103. package/assets/sass/core/forms/_form.scss +125 -125
  104. package/assets/sass/core/forms/_input-group.scss +136 -136
  105. package/assets/sass/core/grid/_grid.scss +31 -31
  106. package/assets/sass/core/headers/_header.scss +7 -7
  107. package/assets/sass/core/icons/_icon-actions.scss +57 -57
  108. package/assets/sass/core/icons/_icon-shape.scss +48 -48
  109. package/assets/sass/core/icons/_icon.scss +88 -88
  110. package/assets/sass/core/list-groups/_list-check.scss +52 -52
  111. package/assets/sass/core/list-groups/_list-group.scss +46 -46
  112. package/assets/sass/core/maps/_map.scss +10 -10
  113. package/assets/sass/core/masks/_mask.scss +33 -33
  114. package/assets/sass/core/medias/_media-comment.scss +33 -33
  115. package/assets/sass/core/medias/_media.scss +3 -3
  116. package/assets/sass/core/mixins/_alert.scss +22 -22
  117. package/assets/sass/core/mixins/_background-variant.scss +30 -30
  118. package/assets/sass/core/mixins/_badge.scss +12 -12
  119. package/assets/sass/core/mixins/_buttons.scss +105 -105
  120. package/assets/sass/core/mixins/_custom-forms.scss +47 -47
  121. package/assets/sass/core/mixins/_forms.scss +127 -127
  122. package/assets/sass/core/mixins/_icon.scss +10 -10
  123. package/assets/sass/core/mixins/_modals.scss +25 -25
  124. package/assets/sass/core/mixins/_popover.scss +35 -35
  125. package/assets/sass/core/modals/_modal.scss +31 -31
  126. package/assets/sass/core/navbars/_navbar-collapse.scss +37 -37
  127. package/assets/sass/core/navbars/_navbar-dropdown.scss +121 -121
  128. package/assets/sass/core/navbars/_navbar-floating.scss +17 -17
  129. package/assets/sass/core/navbars/_navbar-search.scss +216 -216
  130. package/assets/sass/core/navbars/_navbar-top.scss +58 -58
  131. package/assets/sass/core/navbars/_navbar-vertical.scss +507 -507
  132. package/assets/sass/core/navbars/_navbar.scss +368 -368
  133. package/assets/sass/core/navs/_nav-pills.scss +66 -66
  134. package/assets/sass/core/navs/_nav.scss +33 -33
  135. package/assets/sass/core/paginations/_pagination.scss +49 -49
  136. package/assets/sass/core/popovers/_popover.scss +21 -21
  137. package/assets/sass/core/progresses/_progress.scss +89 -89
  138. package/assets/sass/core/reboot/_reboot.scss +13 -13
  139. package/assets/sass/core/sections/_nucleo-icons.scss +117 -117
  140. package/assets/sass/core/separators/_separator.scss +54 -54
  141. package/assets/sass/core/shortcuts/_shortcut.scss +30 -30
  142. package/assets/sass/core/tables/_table-actions.scss +25 -25
  143. package/assets/sass/core/tables/_table-sortable.scss +28 -28
  144. package/assets/sass/core/tables/_table.scss +153 -153
  145. package/assets/sass/core/timeline/_timeline.scss +182 -182
  146. package/assets/sass/core/type/_article.scss +22 -22
  147. package/assets/sass/core/type/_display.scss +14 -14
  148. package/assets/sass/core/type/_heading.scss +65 -65
  149. package/assets/sass/core/type/_type.scss +27 -27
  150. package/assets/sass/core/utilities/_backgrounds.scss +51 -51
  151. package/assets/sass/core/utilities/_blurable.scss +37 -37
  152. package/assets/sass/core/utilities/_floating.scss +64 -64
  153. package/assets/sass/core/utilities/_helper.scss +18 -18
  154. package/assets/sass/core/utilities/_image.scss +9 -9
  155. package/assets/sass/core/utilities/_opacity.scss +35 -35
  156. package/assets/sass/core/utilities/_overflow.scss +11 -11
  157. package/assets/sass/core/utilities/_position.scss +25 -25
  158. package/assets/sass/core/utilities/_shadows.scss +28 -28
  159. package/assets/sass/core/utilities/_sizing.scss +7 -7
  160. package/assets/sass/core/utilities/_spacing.scss +107 -107
  161. package/assets/sass/core/utilities/_text.scss +49 -49
  162. package/assets/sass/core/utilities/_transform.scss +13 -13
  163. package/assets/sass/core/vendors/_bootstrap-datepicker.scss +279 -279
  164. package/assets/sass/core/vendors/_bootstrap-tagsinput.scss +67 -67
  165. package/assets/sass/core/vendors/_chartjs.scss +22 -22
  166. package/assets/sass/core/vendors/_dropzone.scss +74 -74
  167. package/assets/sass/core/vendors/_element-checkbox.scss +26 -26
  168. package/assets/sass/core/vendors/_element-tables.scss +61 -61
  169. package/assets/sass/core/vendors/_flatpickr.scss +72 -72
  170. package/assets/sass/core/vendors/_fullcalendar.scss +256 -256
  171. package/assets/sass/core/vendors/_headroom.scss +25 -25
  172. package/assets/sass/core/vendors/_lavalamp.scss +157 -157
  173. package/assets/sass/core/vendors/_nouislider.scss +413 -413
  174. package/assets/sass/core/vendors/_quill.scss +280 -280
  175. package/assets/sass/core/vendors/_scrollbar.scss +949 -949
  176. package/assets/sass/core/vendors/_select.scss +70 -70
  177. package/assets/sass/core/vendors/_sweet-alert-2.scss +22 -22
  178. package/assets/sass/core/vendors/_tags.scss +32 -32
  179. package/assets/sass/core/vendors/_vectormap.scss +16 -16
  180. package/assets/sass/custom/_components.scss +142 -142
  181. package/assets/sass/custom/_functions.scss +29 -29
  182. package/assets/sass/custom/_mixins.scss +15 -15
  183. package/assets/sass/custom/_transitions.scss +12 -12
  184. package/assets/sass/custom/_utilities.scss +31 -31
  185. package/assets/sass/custom/_variables.scss +1077 -1077
  186. package/assets/sass/custom/_vendors.scss +38 -38
  187. package/components/argon-core/Badge.vue +56 -56
  188. package/components/argon-core/Banners/Banner.vue +28 -28
  189. package/components/argon-core/Banners/BannerItem.vue +13 -13
  190. package/components/argon-core/BaseAlert.vue +74 -74
  191. package/components/argon-core/BaseButton.vue +81 -81
  192. package/components/argon-core/BaseHeader.vue +21 -21
  193. package/components/argon-core/BasePagination.vue +172 -172
  194. package/components/argon-core/BaseProgress.vue +121 -121
  195. package/components/argon-core/BaseSlider.vue +96 -96
  196. package/components/argon-core/BaseSwitch.vue +46 -46
  197. package/components/argon-core/BaseTable.vue +70 -70
  198. package/components/argon-core/Breadcrumb/Breadcrumb.vue +26 -26
  199. package/components/argon-core/Breadcrumb/BreadcrumbItem.vue +16 -16
  200. package/components/argon-core/Breadcrumb/RouteBreadcrumb.vue +45 -45
  201. package/components/argon-core/ButtonCheckbox.vue +39 -39
  202. package/components/argon-core/ButtonRadioGroup.vue +47 -47
  203. package/components/argon-core/Cards/Card.vue +71 -71
  204. package/components/argon-core/Cards/OpportunityCard.vue +39 -39
  205. package/components/argon-core/Cards/StatsCard.vue +49 -49
  206. package/components/argon-core/Charts/BarChart.js +30 -30
  207. package/components/argon-core/Charts/DoughnutChart.js +30 -30
  208. package/components/argon-core/Charts/LineChart.js +30 -30
  209. package/components/argon-core/Charts/PieChart.js +30 -30
  210. package/components/argon-core/Charts/config.js +491 -491
  211. package/components/argon-core/Charts/globalOptionsMixin.js +7 -7
  212. package/components/argon-core/Charts/optionHelpers.js +10 -10
  213. package/components/argon-core/CloseButton.vue +35 -35
  214. package/components/argon-core/Collapse/Collapse.vue +84 -84
  215. package/components/argon-core/Collapse/CollapseItem.vue +91 -91
  216. package/components/argon-core/Feed/Comment.vue +50 -50
  217. package/components/argon-core/Inputs/BaseCheckbox.vue +79 -79
  218. package/components/argon-core/Inputs/BaseInput.vue +242 -242
  219. package/components/argon-core/Inputs/BaseRadio.vue +68 -68
  220. package/components/argon-core/Inputs/DropzoneFileUpload.vue +138 -138
  221. package/components/argon-core/Inputs/DropzoneVideoUpload.vue +138 -138
  222. package/components/argon-core/Inputs/FileInput.vue +54 -54
  223. package/components/argon-core/Inputs/HtmlEditor.vue +105 -105
  224. package/components/argon-core/Inputs/IconCheckbox.vue +45 -45
  225. package/components/argon-core/Inputs/TagsInput.vue +100 -100
  226. package/components/argon-core/Modal.vue +183 -183
  227. package/components/argon-core/Navbar/BaseNav.vue +122 -122
  228. package/components/argon-core/Navbar/NavbarProgress.vue +19 -19
  229. package/components/argon-core/Navbar/NavbarProgressItem.vue +17 -17
  230. package/components/argon-core/Navbar/NavbarToggleButton.vue +21 -21
  231. package/components/argon-core/NavbarToggleButton.vue +29 -29
  232. package/components/argon-core/NotificationPlugin/Notification.vue +207 -207
  233. package/components/argon-core/NotificationPlugin/Notifications.vue +55 -55
  234. package/components/argon-core/NotificationPlugin/index.js +66 -66
  235. package/components/argon-core/SidebarPlugin/SideBar.vue +119 -119
  236. package/components/argon-core/SidebarPlugin/SidebarItem.vue +184 -184
  237. package/components/argon-core/SidebarPlugin/index.js +79 -79
  238. package/components/argon-core/Tabs/Tab.vue +33 -33
  239. package/components/argon-core/Tabs/Tabs.vue +170 -170
  240. package/components/argon-core/Timeline/TimeLine.vue +17 -17
  241. package/components/argon-core/Timeline/TimeLineItem.vue +30 -30
  242. package/components/argon-core/WorldMap/AsyncWorldMap.vue +28 -28
  243. package/components/argon-core/WorldMap/WorldMap.vue +127 -127
  244. package/components/argon-core/index.js +82 -82
  245. package/components/burh-ds/Avatar/AvatarLink.vue +40 -40
  246. package/components/burh-ds/Avatar/BusinessAvatar.vue +38 -38
  247. package/components/burh-ds/Banners/BannerHero.vue +23 -23
  248. package/components/burh-ds/Banners/BannerItem.vue +14 -14
  249. package/components/burh-ds/Button/ExportButton.vue +20 -20
  250. package/components/burh-ds/Button/SwitchStateButton.vue +165 -165
  251. package/components/burh-ds/Capsules/SearchSlug.vue +860 -860
  252. package/components/burh-ds/Capsules/UserProfile.vue +1938 -1938
  253. package/components/burh-ds/Cards/CampaignCard.vue +40 -40
  254. package/components/burh-ds/Cards/CompanyCard.vue +39 -39
  255. package/components/burh-ds/Cards/CourseInfoCard.vue +72 -72
  256. package/components/burh-ds/Cards/FunctionalityItem.vue +35 -35
  257. package/components/burh-ds/Cards/OpportunityCard.vue +115 -115
  258. package/components/burh-ds/Cards/PerformanceItem.vue +65 -65
  259. package/components/burh-ds/Cards/PlanCard.vue +192 -192
  260. package/components/burh-ds/Cards/ProductCard.vue +142 -142
  261. package/components/burh-ds/Cards/PurchaseCard.vue +58 -58
  262. package/components/burh-ds/Cards/PurchaseCardSimple.vue +58 -58
  263. package/components/burh-ds/Cards/TestCard.vue +192 -192
  264. package/components/burh-ds/Cards/TrainingCard.vue +151 -151
  265. package/components/burh-ds/Cards/WelcomeCard.vue +106 -106
  266. package/components/burh-ds/Carousel/FeedCarousel.vue +47 -47
  267. package/components/burh-ds/Carousel/ImageCarousel.vue +111 -111
  268. package/components/burh-ds/Collapse/DefaultCollapse.vue +70 -70
  269. package/components/burh-ds/Crop/Crop.vue +121 -121
  270. package/components/burh-ds/Curriculum/UserCurriculum/UpgradePlan.vue +74 -74
  271. package/components/burh-ds/Curriculum/UserCurriculum/UserCvLeftSide.vue +516 -516
  272. package/components/burh-ds/Curriculum/UserCurriculum/UserCvMiddle.vue +599 -512
  273. package/components/burh-ds/Curriculum/UserCurriculum/UserCvRightSide.vue +819 -819
  274. package/components/burh-ds/Curriculum/UserCurriculum/index.vue +249 -249
  275. package/components/burh-ds/Dropdown/AppLinkArea.vue +132 -132
  276. package/components/burh-ds/Dropdown/DropdownItem.vue +26 -26
  277. package/components/burh-ds/Dropdown/DropdownSection.vue +38 -38
  278. package/components/burh-ds/Dropdown/FaqVideoArea.vue +88 -88
  279. package/components/burh-ds/Dropdown/SignOutItem.vue +11 -11
  280. package/components/burh-ds/Dropdown/UserMenuDropdown.vue +63 -63
  281. package/components/burh-ds/FeaturedCompanies/FeaturedCompanies.vue +11 -11
  282. package/components/burh-ds/FeaturedCompanies/FeaturedCompanyCard.vue +16 -16
  283. package/components/burh-ds/Filters/FilterWithDropdown.vue +248 -248
  284. package/components/burh-ds/Groups/ProductItem.vue +62 -62
  285. package/components/burh-ds/Groups/SimpleProductItem.vue +145 -129
  286. package/components/burh-ds/Headings/BaseHeader.vue +24 -24
  287. package/components/burh-ds/Headings/Profile.vue +66 -66
  288. package/components/burh-ds/Headings/ProfileHeader.vue +105 -105
  289. package/components/burh-ds/Headings/SettingsHeader.vue +48 -48
  290. package/components/burh-ds/Headings/StepHeader.vue +122 -122
  291. package/components/burh-ds/Input/AutoComplete.vue +136 -136
  292. package/components/burh-ds/Inputs/BaseCheckbox.vue +73 -73
  293. package/components/burh-ds/Inputs/BaseSwitch.vue +43 -43
  294. package/components/burh-ds/Inputs/BaseSwitchSecondary.vue +84 -84
  295. package/components/burh-ds/Inputs/DoubleInputWithIcon.vue +100 -100
  296. package/components/burh-ds/Inputs/HtmlEditor.vue +64 -64
  297. package/components/burh-ds/Inputs/SearchInput.vue +79 -64
  298. package/components/burh-ds/InterfaceSpa/InterfaceSpa.vue +83 -83
  299. package/components/burh-ds/Jobs/JobDetail.vue +432 -432
  300. package/components/burh-ds/Jobs/JobDetailDesign.vue +151 -151
  301. package/components/burh-ds/Jobs/JobDetailEmpty.vue +27 -27
  302. package/components/burh-ds/Labels/LabelContextIcon.vue +58 -58
  303. package/components/burh-ds/Link/DefaultLink.vue +30 -30
  304. package/components/burh-ds/Lists/ListAvatarCheckbox.vue +157 -157
  305. package/components/burh-ds/Lists/ListNavLinks.vue +54 -54
  306. package/components/burh-ds/Lists/VagasSimple.vue +404 -404
  307. package/components/burh-ds/Loadings/Basics.vue +80 -80
  308. package/components/burh-ds/Loadings/InfiniteLoading.vue +21 -21
  309. package/components/burh-ds/Loadings/LoadingFullPage.vue +68 -68
  310. package/components/burh-ds/Loadings/NewLoading.vue +119 -119
  311. package/components/burh-ds/Loads/LoadingBar.vue +83 -83
  312. package/components/burh-ds/Modals/AddCustomerModal.vue +527 -527
  313. package/components/burh-ds/Modals/AddMember.vue +301 -301
  314. package/components/burh-ds/Modals/AddRoleModal.vue +185 -185
  315. package/components/burh-ds/Modals/AppConfigModal.vue +390 -390
  316. package/components/burh-ds/Modals/CourseMessageModal.vue +66 -66
  317. package/components/burh-ds/Modals/DocsModal.vue +111 -111
  318. package/components/burh-ds/Modals/DropzoneModal.vue +123 -123
  319. package/components/burh-ds/Modals/InviteToRole.vue +272 -272
  320. package/components/burh-ds/Modals/MobileModal.vue +65 -65
  321. package/components/burh-ds/Modals/ModalTests.vue +167 -167
  322. package/components/burh-ds/Modals/PlanModal.vue +286 -286
  323. package/components/burh-ds/Modals/RequestModal.vue +281 -281
  324. package/components/burh-ds/Modals/SendCourse.vue +369 -369
  325. package/components/burh-ds/Modals/SendDisc.vue +230 -230
  326. package/components/burh-ds/Modals/SendTest.vue +393 -349
  327. package/components/burh-ds/Modals/ShareModal.vue +228 -228
  328. package/components/burh-ds/Modals/SmsModal.vue +325 -327
  329. package/components/burh-ds/Modals/SubModal.vue +41 -41
  330. package/components/burh-ds/Modals/UniversityAccessModal.vue +133 -133
  331. package/components/burh-ds/Modals/VideoModal.vue +80 -80
  332. package/components/burh-ds/Modals/WhatsappModal.vue +143 -143
  333. package/components/burh-ds/Navbar/BaseNav.vue +132 -132
  334. package/components/burh-ds/Notifications/Notification.vue +215 -215
  335. package/components/burh-ds/Notifications/Notifications.vue +55 -55
  336. package/components/burh-ds/Notifications/index.js +66 -66
  337. package/components/burh-ds/Pagination/NamedPagination.vue +176 -176
  338. package/components/burh-ds/Questions/Question.vue +183 -183
  339. package/components/burh-ds/Questions/QuestionAttach.vue +13 -13
  340. package/components/burh-ds/Questions/QuestionRadio.vue +122 -122
  341. package/components/burh-ds/Questions/QuestionRadioItem.vue +83 -83
  342. package/components/burh-ds/Questions/QuestionText.vue +66 -66
  343. package/components/burh-ds/Questions/index.js +13 -13
  344. package/components/burh-ds/Skeleton/BaseCardTest.vue +51 -51
  345. package/components/burh-ds/Skeleton/BaseTraining.vue +29 -29
  346. package/components/burh-ds/Skeleton/BufferFolderSkeleton.vue +41 -41
  347. package/components/burh-ds/Skeleton/BufferUserSkeleton.vue +142 -142
  348. package/components/burh-ds/Skeleton/Home.vue +100 -100
  349. package/components/burh-ds/Skeleton/RecruitmentCard.vue +203 -169
  350. package/components/burh-ds/Tabs/Tab.vue +56 -56
  351. package/components/burh-ds/Tabs/Tabs.vue +188 -188
  352. package/components/burh-ds/Video/MuxVideo.vue +39 -39
  353. package/components/burh-ds/index.js +20 -20
  354. package/components/layouts/argon/Content.vue +17 -17
  355. package/components/layouts/argon/navbar/BlankLayout.vue +61 -61
  356. package/components/layouts/argon/navbar/DashboardNavbar.vue +307 -307
  357. package/components/layouts/burh-ds/ContentFooter.vue +45 -45
  358. package/components/layouts/burh-ds/footer/FooterSimple.vue +20 -20
  359. package/components/layouts/burh-ds/footer/ProductsFooter.vue +330 -330
  360. package/components/layouts/burh-ds/footer/StatusFooter.vue +105 -105
  361. package/components/layouts/burh-ds/footer/StoreFooter.vue +54 -54
  362. package/components/layouts/burh-ds/navbar/AppNavbar.vue +97 -97
  363. package/components/layouts/burh-ds/navbar/BusinessGlobalNavbar.vue +435 -435
  364. package/components/layouts/burh-ds/navbar/CarreirasNavbar.vue +363 -363
  365. package/components/layouts/burh-ds/navbar/CompanyGlobalNavbar.vue +244 -244
  366. package/components/layouts/burh-ds/navbar/EmpresasNavbar.vue +374 -374
  367. package/components/layouts/burh-ds/navbar/EmpresasNavbarLogado.vue +388 -388
  368. package/components/layouts/burh-ds/navbar/GlobalNavbar.vue +535 -535
  369. package/components/layouts/burh-ds/navbar/MobileNavbar.vue +431 -431
  370. package/components/layouts/burh-ds/navbar/SimpleNavbar.vue +129 -129
  371. package/components/layouts/burh-ds/navbar/UserNavbar.vue +346 -346
  372. package/components/layouts/burh-ds/navbar/UserNavbarLogin.vue +253 -253
  373. package/components/pages/UserProfile/EditProfileForm.vue +142 -142
  374. package/components/pages/UserProfile/UserCard.vue +61 -61
  375. package/components/pages/dashboard/ActivityFeed.vue +102 -102
  376. package/components/pages/dashboard/LightTable.vue +194 -194
  377. package/components/pages/dashboard/PageVisitsTable.vue +107 -107
  378. package/components/pages/dashboard/ProgressTrackList.vue +82 -82
  379. package/components/pages/dashboard/SocialTrafficTable.vue +101 -101
  380. package/components/pages/dashboard/TaskList.vue +56 -56
  381. package/components/pages/dashboard/UserList.vue +72 -72
  382. package/components/pages/forms/BrowserDefaultsValidation.vue +106 -106
  383. package/components/pages/forms/CustomStylesValidation.vue +130 -130
  384. package/components/pages/forms/ServerSideValidation.vue +128 -128
  385. package/components/pages/register/FailedRegistration.vue +29 -29
  386. package/components/pages/register/SuccessfulRegistration.vue +29 -29
  387. package/components/tables/PaginatedTables/clientPaginationMixin.js +86 -86
  388. package/components/tables/RegularTables/CheckboxColoredTable.vue +112 -112
  389. package/components/tables/RegularTables/CheckboxTable.vue +101 -101
  390. package/components/tables/RegularTables/DarkTable.vue +114 -114
  391. package/components/tables/RegularTables/InlineActionsTable.vue +94 -94
  392. package/components/tables/RegularTables/LightTable.vue +117 -117
  393. package/components/tables/RegularTables/StripedTable.vue +94 -94
  394. package/components/tables/RegularTables/TranslucentTable.vue +114 -114
  395. package/components/tables/projects.js +75 -75
  396. package/components/tables/users.js +42 -42
  397. package/components/tables/users2.js +474 -474
  398. package/components/widgets/CalendarWidget.vue +119 -119
  399. package/components/widgets/CreditCard.vue +66 -66
  400. package/components/widgets/MembersCard.vue +99 -99
  401. package/components/widgets/PaypalCard.vue +45 -45
  402. package/components/widgets/ProgressTrackList.vue +76 -76
  403. package/components/widgets/StatsCards.vue +70 -70
  404. package/components/widgets/TaskList.vue +67 -67
  405. package/components/widgets/TimelineCard.vue +66 -66
  406. package/components/widgets/VectorMapCard.vue +139 -139
  407. package/components/widgets/VisaCard.vue +51 -51
  408. package/data/ListVideoLinksMock.json +21 -21
  409. package/dictionary.js +38 -38
  410. package/environment.env.md +34 -34
  411. package/eslint.config.json +12 -12
  412. package/layouts/AuthLayout.vue +191 -191
  413. package/layouts/BurhCarreirasLayout.vue +63 -63
  414. package/layouts/BurhEmpresasLayout.vue +64 -64
  415. package/layouts/BurhNoHeader.vue +63 -63
  416. package/layouts/BurhPublicLayout.vue +67 -67
  417. package/layouts/BurhUserLayout.vue +231 -231
  418. package/layouts/DashboardLayout.vue +226 -226
  419. package/layouts/error.vue +119 -119
  420. package/metadata.json +30 -30
  421. package/middleware/README.md +8 -8
  422. package/middleware/decodeUrl.js +8 -8
  423. package/middleware/maintenance.js +9 -9
  424. package/middleware/new-account.js +6 -6
  425. package/middleware/redirect.js +13 -13
  426. package/middleware/user-agent-error.js +28 -28
  427. package/package.json +114 -114
  428. package/plugins/README.md +7 -7
  429. package/plugins/analytics/ga.js +28 -28
  430. package/plugins/auth/auth.js +210 -210
  431. package/plugins/axios.js +32 -32
  432. package/plugins/carousel/owl-carousel.js +3 -3
  433. package/plugins/crop/crop.js +4 -4
  434. package/plugins/dashboard/dashboard-plugin.js +29 -29
  435. package/plugins/dashboard/directives/click-outside.js +15 -15
  436. package/plugins/dashboard/eventBus.js +1 -1
  437. package/plugins/dashboard/globalComponents.js +41 -41
  438. package/plugins/dashboard/globalDirectives.js +7 -7
  439. package/plugins/dom/loader.js +76 -76
  440. package/plugins/localstorage.js +20 -20
  441. package/plugins/location/location.js +41 -41
  442. package/plugins/pagination/pagination.js +3 -3
  443. package/plugins/qrcode/qrcode.js +4 -4
  444. package/plugins/router.js +8 -8
  445. package/plugins/social-media/fb-sdk.js +44 -44
  446. package/plugins/social-media/share-link-facebook.js +32 -32
  447. package/plugins/social-media/share-link-linkedin.js +30 -30
  448. package/plugins/social-media/share-link-twitter.js +30 -30
  449. package/plugins/social-media/share-link-whatsapp.js +31 -31
  450. package/polyfills.js +96 -96
  451. package/util/common.js +189 -189
  452. package/util/cookie.js +28 -28
  453. package/util/dom.js +63 -63
  454. package/util/getPrefixes.js +12 -12
  455. package/util/request.js +46 -46
  456. package/util/throttle.js +15 -15
@@ -1,512 +1,599 @@
1
- <template>
2
- <div class="bg-white content-middle">
3
- <!-- FERRAMENTAS -->
4
- <div class="tools mt-3">
5
- <button
6
- @click="
7
- isLocked && tool.event !== 'share'
8
- ? $emit('open-contact')
9
- : $emit(tool.event)
10
- "
11
- class="ml-3 burh-color"
12
- :class="{
13
- 'disabled-button': isLocked && tool.event !== 'share'
14
- }"
15
- v-for="(tool, index) in tools"
16
- :key="index"
17
- >
18
- <i
19
- v-show="isLocked && tool.event !== 'share'"
20
- class="fas fa-lock mr-1"
21
- ></i>
22
- {{ tool.name }}
23
- </button>
24
- </div>
25
- <!-- SOBRE -->
26
- <div class="about content-block mt-5 ml-3 mr-3">
27
- <h5 class="font-weight-bold">Sobre</h5>
28
- <p
29
- v-if="userData && userData.user_complementary_information && userData.user_complementary_information.about || false"
30
- id="USER_ABOUT"
31
- class="mb-0"
32
- :class="
33
- !wordIsLesserThan(
34
- userData.user_complementary_information.about
35
- ) && 'readmore'
36
- "
37
- v-html="
38
- highlightText(
39
- search,
40
- userData.user_complementary_information.about
41
- )
42
- "
43
- ></p>
44
- <a
45
- href="#"
46
- aria-label="expandir conteudo"
47
- v-if="
48
- userData && userData.user_complementary_information && userData.user_complementary_information.about &&
49
- !wordIsLesserThan(
50
- userData.user_complementary_information.about
51
- ) || false
52
- "
53
- @click.prevent.stop="toggleReadMore($event, 'USER_ABOUT')"
54
- >Ler mais</a
55
- >
56
-
57
- <p v-if="userData && userData.user_complementary_information && userData.user_complementary_information.about || false" class="">
58
- Nenhuma informação adicionada
59
- </p>
60
- </div>
61
- <!-- CONTATO -->
62
- <h5 class="font-weight-bold mt-4 ml-3">Contatos</h5>
63
- <div class="ml-3 info-text">
64
- <span v-if="userData.email != null">Email: {{userData.email}}</span><br>
65
- <span v-if="userData.user_contact && userData.user_contact.cellphone != null && userData.user_contact.cellphone.length > 1 ">Celular: {{phoneMask(userData.user_contact.cellphone)}}</span><br>
66
- <span v-if="userData.user_contact && userData.user_contact.phone != null && userData.user_contact.phone.length > 1">Telefone: {{phoneMask(userData.user_contact.phone)}}</span>
67
- </div>
68
-
69
- <!-- EDUCAÇÃO -->
70
- <h5 class="font-weight-bold mt-4 ml-3">Educação</h5>
71
- <div
72
- class=" ml-3"
73
- v-show="userData.user_education.length > 0"
74
- v-for="(edu, index) in userData.user_education"
75
- :key="index"
76
- >
77
- <p
78
- class="sub-title"
79
- v-html="highlightText(search, edu.formation)"
80
- ></p>
81
- <p class="info-text">{{ edu.institution }}</p>
82
- <span class="info-text">
83
- {{ edu.start_month }}/{{ edu.start_year }} -
84
- {{ treatEndDate(edu.end_month, edu.end_year) }}
85
- {{ getTime(false, edu) }}
86
- {{
87
- edu.user_education_period
88
- ? '-' + edu.user_education_period.name
89
- : ''
90
- }} </span
91
- ><br />
92
- <span
93
- class="info-text"
94
- >
95
- {{edu.formation_level_id | formationLevel}}
96
- </span>
97
- </div>
98
-
99
- <!-- EXPERIÊNCIAS -->
100
- <h5 class="font-weight-bold mt-4 ml-3">Experiência</h5>
101
- <div
102
- class="no-info ml-3"
103
- v-show="userData.user_experience.length === 0"
104
- >
105
- <p>
106
- Nenhuma informação adicionada
107
- </p>
108
- </div>
109
- <div
110
- v-show="userData.user_experience.length > 0"
111
- class="experience ml-3 mr-3"
112
- v-for="(exp, index) in userData.user_experience"
113
- :key="`experience-${index}`"
114
- >
115
- <p
116
- class="sub-title"
117
- v-html="highlightText(search, exp.job_title)"
118
- ></p>
119
- <p
120
- class="info-text"
121
- v-html="
122
- highlightText(search, `${exp.company}, ${exp.location}`)
123
- "
124
- ></p>
125
- <span class="info-text">
126
- {{ exp.start_month }}/{{ exp.start_year }} -
127
- {{ treatEndDate(exp.end_month, exp.end_year) }}
128
- {{ getTime(true, exp) }}
129
- </span>
130
-
131
- <p
132
- :id="`USER_EXPERIENCE-${index}`"
133
- class="description mt-4 mb-0"
134
- :class="!wordIsLesserThan(exp.description) && 'readmore'"
135
- v-html="highlightText(search, exp.description)"
136
- ></p>
137
-
138
- <a
139
- href="#"
140
- aria-label="expandir conteudo"
141
- v-show="!wordIsLesserThan(exp.description)"
142
- @click.prevent.stop="
143
- toggleReadMore($event, `USER_EXPERIENCE-${index}`)
144
- "
145
- >Ler mais</a
146
- ><br /><br />
147
- </div>
148
-
149
- <!-- CURSOS -->
150
- <h5 class="font-weight-bold mt-1 ml-3">Cursos Complementares</h5>
151
- <div class="no-info ml-3" v-show="userData.user_course.length === 0">
152
- <p>
153
- Nenhuma informação adicionada
154
- </p>
155
- </div>
156
- <div
157
- v-show="userData.user_course.length > 0"
158
- class="courses ml-3"
159
- v-for="(cou, index) in userData.user_course"
160
- :key="`course-${index}`"
161
- >
162
- <p
163
- class="sub-title"
164
- v-html="highlightText(search, cou.institution)"
165
- ></p>
166
- <p
167
- class="info-text mb-3"
168
- v-html="
169
- highlightText(
170
- search,
171
- `${cou.name} - ${cou.end_year || ''} ${getTime(
172
- false,
173
- cou
174
- )}`
175
- )
176
- "
177
- >
178
- {{ cou.name }} - {{ cou.end_year }}
179
- {{ getTime(false, cou) }}
180
- </p>
181
- </div>
182
- </div>
183
- </template>
184
-
185
- <script>
186
- import getPrefixes from '~/util/getPrefixes.js';
187
- import { mask } from 'vue-the-mask';
188
-
189
- export default {
190
- name: 'user-cv-middle',
191
- directives: { mask },
192
- props: {
193
- userData: Object,
194
- tools: {
195
- type: Array,
196
- default: () => []
197
- },
198
- search: {
199
- type: String,
200
- default: ''
201
- }
202
- },
203
- filters: {
204
- formationLevel(id) {
205
- const typeFormation = {
206
- 1: 'Ensino Médio',
207
- 2: 'Ensino Técnico',
208
- 3: 'Graduação',
209
- 4: 'Pós-Graduação',
210
- 5: 'Mestrado',
211
- 6: 'Doutorado'
212
- };
213
-
214
- return typeFormation[id] || '-';
215
- }
216
- },
217
- data() {
218
- return {
219
- isLocked: !this.companyHasProduct(
220
- this.$store.state.loja && this.$store.state.loja.showableProducts && this.$store.state.loja.showableProducts['INTERACAO_USUARIO'] || false
221
- )
222
- };
223
- },
224
- mounted() {
225
- this.userData.user_experience = this.filterByDate(
226
- this.userData.user_experience,
227
- 'old'
228
- );
229
- this.userData.user_education = this.filterByDate(
230
- this.userData.user_education,
231
- 'old'
232
- );
233
- this.userData.user_course = this.filterByDate(
234
- this.userData.user_course,
235
- 'old'
236
- );
237
- },
238
- watch: {
239
- userData() {
240
- this.userData.user_experience = this.filterByDate(
241
- this.userData.user_experience,
242
- 'old'
243
- );
244
- this.userData.user_education = this.filterByDate(
245
- this.userData.user_education,
246
- 'old'
247
- );
248
- this.userData.user_course = this.filterByDate(
249
- this.userData.user_course,
250
- 'old'
251
- );
252
- }
253
- },
254
- methods: {
255
- phoneMask(v) {
256
-
257
- let r = v.replace(/\D/g, '');
258
- r = r.replace(/^0/, '');
259
-
260
- if (r.length > 11) {
261
- r = r.replace(/^(\d\d)(\d{5})(\d{4}).*/, '($1) $2-$3');
262
- } else if (r.length > 7) {
263
- r = r.replace(/^(\d\d)(\d{5})(\d{0,4}).*/, '($1) $2-$3');
264
- } else if (r.length > 2) {
265
- r = r.replace(/^(\d\d)(\d{0,5})/, '($1) $2');
266
- } else if (v.trim() !== '') {
267
- r = r.replace(/^(\d*)/, '($1');
268
- }
269
- return r;
270
- },
271
- highlightText(search, text) {
272
- if (search.length < 2) return text;
273
-
274
- const regex = new RegExp(search.toLowerCase(), 'gmi');
275
- return String(text || '').replace(
276
- regex,
277
- `<span class="search-highlight">${search}</span>`
278
- );
279
- },
280
- filterByDate(data, by = 'new') {
281
- let sortedArray = data.sort((a, b) => {
282
- a = [
283
- a.start_month,
284
- a.start_year,
285
- a.end_month || 12,
286
- a.end_year || 9999
287
- ];
288
-
289
- b = [
290
- b.start_month,
291
- b.start_year,
292
- b.end_month || 12,
293
- b.end_year || 9999
294
- ];
295
-
296
- // Primeiro filtro -> chaves: 0 e 1 -> Filtro por data de inicio
297
- // Segundo filtro -> chaves: 2 e 3 -> Filtro por data de termino (subir não concluídos para primeiros)
298
-
299
- let byStart;
300
- let byEnd;
301
-
302
- switch (by) {
303
- case 'old':
304
- byStart =
305
- new Date(a[1], a[0], 1).getTime() -
306
- new Date(b[1], b[0], 1).getTime();
307
- byEnd =
308
- new Date(b[3], b[2], 1).getTime() -
309
- new Date(a[3], a[2], 1).getTime();
310
- break;
311
-
312
- default:
313
- byStart =
314
- new Date(b[1], b[0], 1).getTime() -
315
- new Date(a[1], a[0], 1).getTime();
316
- byEnd =
317
- new Date(b[3], b[2], 1).getTime() -
318
- new Date(a[3], a[2], 1).getTime();
319
- break;
320
- }
321
-
322
- return byEnd - byStart;
323
- });
324
-
325
- return sortedArray;
326
- },
327
- toggleReadMore(event, id) {
328
- const element = document.getElementById(id);
329
- element.classList.toggle('readmore');
330
- event.target.innerText == 'Ler mais'
331
- ? (event.target.innerText = 'Esconder')
332
- : (event.target.innerText = 'Ler mais');
333
- },
334
- getTime(
335
- isExperience,
336
- { start_year = null, end_year = null, start_month, end_month },
337
- textHappening = 'Cursando'
338
- ) {
339
- const isHappening = !end_month && !end_year;
340
-
341
- if (isHappening) {
342
- return isExperience === true ? 'Atualmente' : textHappening;
343
- }
344
-
345
- const dateInitial = this.$moment(
346
- ['1', start_month.toString(), start_year.toString()],
347
- 'DD/MM/YYYY'
348
- );
349
- const dateDone = this.$moment(
350
- ['1', end_month.toString(), end_year.toString()],
351
- 'DD/MM/YYYY'
352
- );
353
- const diffDuration = this.$moment.duration(
354
- dateDone.diff(dateInitial)
355
- );
356
- const years = diffDuration.years();
357
- const months = diffDuration.months();
358
-
359
- if (years) {
360
- return years > 1 ? `(${years} anos)` : `(${years} ano)`;
361
- }
362
-
363
- return months > 1
364
- ? `(${months} meses)`
365
- : months == 1
366
- ? `(${months} mês)`
367
- : '';
368
- },
369
- languageLevel(level) {
370
- switch (parseInt(level)) {
371
- case 1:
372
- return 'Iniciante';
373
- case 2:
374
- return 'Elementar';
375
- case 3:
376
- return 'Pré-intermediário';
377
- case 4:
378
- return 'Intermediário';
379
- case 5:
380
- return 'Intermediário Superior';
381
- case 6:
382
- return 'Avançado';
383
- case 7:
384
- return 'Fluente';
385
- default:
386
- return '';
387
- }
388
- },
389
- treatPhone(phone) {
390
- if (phone) {
391
- if (phone == '0' || phone.length < 9 || !phone) {
392
- return 'não cadastrado';
393
- }
394
- }
395
-
396
- return phone;
397
- },
398
- treatCellphone(cellphone) {
399
- if (cellphone) {
400
- if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
401
- return 'não cadastrado';
402
- }
403
- }
404
-
405
- return cellphone;
406
- },
407
- handleGetPrefixes(name = '') {
408
- return getPrefixes(name);
409
- },
410
- treatEndDate(end_month, end_year) {
411
- if (end_month && end_year) {
412
- return `${end_month}/${end_year}`;
413
- }
414
- return '';
415
- },
416
- wordIsLesserThan(word, value = 300) {
417
- return word && word.length < value;
418
- }
419
- }
420
- };
421
- </script>
422
-
423
- <style lang="scss" scoped>
424
- @import '@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss';
425
-
426
- /deep/ .search-highlight {
427
- background: rgb(255, 252, 61);
428
- color: #000;
429
- }
430
-
431
- .content-middle {
432
- width: 50%;
433
- border-right: 1px solid #ececec5c;
434
- word-break: break-word !important;
435
- }
436
-
437
- .readmore {
438
- overflow: hidden;
439
- text-overflow: ellipsis;
440
- display: -webkit-box;
441
- -webkit-line-clamp: 3;
442
- -webkit-box-orient: vertical;
443
- }
444
-
445
- .tools {
446
- flex-wrap: wrap;
447
- button {
448
- width: 117px;
449
- height: 29px;
450
- border: none;
451
- margin-top: 15px;
452
-
453
- background: #5865F2;
454
- border-radius: 16px;
455
- color: #fff;
456
-
457
- font-size: 12px;
458
- font-weight: 600;
459
- outline: 0;
460
- }
461
- }
462
-
463
- .education {
464
- margin-top: 15px;
465
- }
466
-
467
- .experience {
468
- .description {
469
- font-size: 14px;
470
- color: #62778c;
471
- }
472
-
473
- a {
474
- margin-bottom: 1px;
475
- }
476
- }
477
-
478
- .sub-title {
479
- margin-bottom: 1px;
480
-
481
- font-weight: 600;
482
- font-size: 14px;
483
- line-height: 21px;
484
- color: #62778c;
485
- text-transform: uppercase;
486
- }
487
-
488
- .info-text {
489
- margin-bottom: 1px;
490
-
491
- font-size: 14px;
492
- color: #8da2b5;
493
- }
494
-
495
- .content-block {
496
- p {
497
- font-size: 14px;
498
- color: #62778c;
499
- }
500
- }
501
-
502
- .no-info {
503
- p {
504
- font-size: 0.875rem;
505
- color: #62778c;
506
- }
507
- }
508
-
509
- .disabled-button {
510
- opacity: 0.5;
511
- }
512
- </style>
1
+ <template>
2
+ <div class="bg-white content-middle">
3
+ <!-- FERRAMENTAS -->
4
+ <div class="tools mt-3">
5
+ <button
6
+ v-for="(tool, index) in tools"
7
+ :key="index"
8
+ class="ml-3 burh-color"
9
+ :class="{
10
+ 'disabled-button': isLocked && !unlockedButtons.includes(tool.event)
11
+ }"
12
+ @click="
13
+ isLocked && !unlockedButtons.includes(tool.event)
14
+ ? $emit('open-contact')
15
+ : tool.event !== 'moveTo' && $emit(tool.event)
16
+ "
17
+ >
18
+ <template v-if="tool.event !== 'moveTo'">
19
+ <i
20
+ v-show="isLocked && tool.event !== 'share'"
21
+ class="fas fa-lock mr-1"
22
+ ></i>
23
+ {{ tool.name }}
24
+ </template>
25
+ <template v-else-if="tool.event === 'moveTo'">
26
+ <el-dropdown trigger="click" class="dropdown__content">
27
+ <span class="title__content icon">
28
+ {{tool.name}}
29
+ <i class="fas fa-angle-down"></i>
30
+ </span>
31
+ <el-dropdown-menu slot="dropdown">
32
+ <el-dropdown-item
33
+ v-for="(tab, index) in moveToItems"
34
+ :key="index"
35
+ @click.native="$emit(tool.event, tab)"
36
+ >
37
+ <i class="fas fa-clipboard-list"></i>
38
+ {{ tab.title }}
39
+ </el-dropdown-item>
40
+ </el-dropdown-menu>
41
+ </el-dropdown>
42
+ </template>
43
+ </button>
44
+ </div>
45
+ <!-- SOBRE -->
46
+ <div class="about content-block mt-5 ml-3 mr-3">
47
+ <h5 class="font-weight-bold">Sobre</h5>
48
+ <p
49
+ v-if="userData && userData.user_complementary_information && userData.user_complementary_information.about || false"
50
+ id="USER_ABOUT"
51
+ class="mb-0"
52
+ :class="
53
+ !wordIsLesserThan(
54
+ userData.user_complementary_information.about
55
+ ) && 'readmore'
56
+ "
57
+ v-html="
58
+ highlightText(
59
+ search,
60
+ userData.user_complementary_information.about
61
+ )
62
+ "
63
+ ></p>
64
+ <a
65
+ href="#"
66
+ aria-label="expandir conteudo"
67
+ v-if="
68
+ userData && userData.user_complementary_information && userData.user_complementary_information.about &&
69
+ !wordIsLesserThan(
70
+ userData.user_complementary_information.about
71
+ ) || false
72
+ "
73
+ @click.prevent.stop="toggleReadMore($event, 'USER_ABOUT')"
74
+ >Ler mais</a
75
+ >
76
+
77
+ <p v-if="userData && userData.user_complementary_information && userData.user_complementary_information.about || false" class="">
78
+ Nenhuma informação adicionada
79
+ </p>
80
+ </div>
81
+ <!-- CONTATO -->
82
+ <h5 class="font-weight-bold mt-4 ml-3">Contatos</h5>
83
+ <div class="ml-3 info-text">
84
+ <span v-if="userData.email != null">Email: {{userData.email}}</span><br>
85
+ <span v-if="userData.user_contact && userData.user_contact.cellphone != null && userData.user_contact.cellphone.length > 1 ">Celular: {{phoneMask(userData.user_contact.cellphone)}}</span><br>
86
+ <span v-if="userData.user_contact && userData.user_contact.phone != null && userData.user_contact.phone.length > 1">Telefone: {{phoneMask(userData.user_contact.phone)}}</span>
87
+ </div>
88
+
89
+ <!-- EDUCAÇÃO -->
90
+ <h5 class="font-weight-bold mt-4 ml-3">Educação</h5>
91
+ <div
92
+ class=" ml-3"
93
+ v-show="userData.user_education.length > 0"
94
+ v-for="(edu, index) in userData.user_education"
95
+ :key="index"
96
+ >
97
+ <p
98
+ class="sub-title"
99
+ v-html="highlightText(search, edu.formation)"
100
+ ></p>
101
+ <p class="info-text">{{ edu.institution }}</p>
102
+ <span class="info-text">
103
+ {{ edu.start_month }}/{{ edu.start_year }} -
104
+ {{ treatEndDate(edu.end_month, edu.end_year) }}
105
+ {{ getTime(false, edu) }}
106
+ {{
107
+ edu.user_education_period
108
+ ? '-' + edu.user_education_period.name
109
+ : ''
110
+ }} </span
111
+ ><br />
112
+ <span
113
+ class="info-text"
114
+ >
115
+ {{edu.formation_level_id | formationLevel}}
116
+ </span>
117
+ </div>
118
+
119
+ <!-- EXPERIÊNCIAS -->
120
+ <h5 class="font-weight-bold mt-4 ml-3">Experiência</h5>
121
+ <div
122
+ class="no-info ml-3"
123
+ v-show="userData.user_experience.length === 0"
124
+ >
125
+ <p>
126
+ Nenhuma informação adicionada
127
+ </p>
128
+ </div>
129
+ <div
130
+ v-show="userData.user_experience.length > 0"
131
+ class="experience ml-3 mr-3"
132
+ v-for="(exp, index) in userData.user_experience"
133
+ :key="`experience-${index}`"
134
+ >
135
+ <p
136
+ class="sub-title"
137
+ v-html="highlightText(search, exp.job_title)"
138
+ ></p>
139
+ <p
140
+ class="info-text"
141
+ v-html="
142
+ highlightText(search, `${exp.company}, ${exp.location}`)
143
+ "
144
+ ></p>
145
+ <span class="info-text">
146
+ {{ exp.start_month }}/{{ exp.start_year }} -
147
+ {{ treatEndDate(exp.end_month, exp.end_year) }}
148
+ {{ getTime(true, exp) }}
149
+ </span>
150
+
151
+ <p
152
+ :id="`USER_EXPERIENCE-${index}`"
153
+ class="description mt-4 mb-0"
154
+ :class="!wordIsLesserThan(exp.description) && 'readmore'"
155
+ v-html="highlightText(search, exp.description)"
156
+ ></p>
157
+
158
+ <a
159
+ href="#"
160
+ aria-label="expandir conteudo"
161
+ v-show="!wordIsLesserThan(exp.description)"
162
+ @click.prevent.stop="
163
+ toggleReadMore($event, `USER_EXPERIENCE-${index}`)
164
+ "
165
+ >Ler mais</a
166
+ ><br /><br />
167
+ </div>
168
+
169
+ <!-- CURSOS -->
170
+ <h5 class="font-weight-bold mt-1 ml-3">Cursos Complementares</h5>
171
+ <div class="no-info ml-3" v-show="userData.user_course.length === 0">
172
+ <p>
173
+ Nenhuma informação adicionada
174
+ </p>
175
+ </div>
176
+ <div
177
+ v-show="userData.user_course.length > 0"
178
+ class="courses ml-3"
179
+ v-for="(cou, index) in userData.user_course"
180
+ :key="`course-${index}`"
181
+ >
182
+ <p
183
+ class="sub-title"
184
+ v-html="highlightText(search, cou.institution)"
185
+ ></p>
186
+ <p
187
+ class="info-text mb-3"
188
+ v-html="
189
+ highlightText(
190
+ search,
191
+ `${cou.name} - ${cou.end_year || ''} ${getTime(
192
+ false,
193
+ cou
194
+ )}`
195
+ )
196
+ "
197
+ >
198
+ {{ cou.name }} - {{ cou.end_year }}
199
+ {{ getTime(false, cou) }}
200
+ </p>
201
+ </div>
202
+ </div>
203
+ </template>
204
+
205
+ <script>
206
+ import getPrefixes from '~/util/getPrefixes.js';
207
+ import { mask } from 'vue-the-mask';
208
+ import { Dropdown, DropdownMenu, DropdownItem } from 'element-ui';
209
+
210
+ export default {
211
+ name: 'user-cv-middle',
212
+ directives: { mask },
213
+ props: {
214
+ userData: Object,
215
+ tools: {
216
+ type: Array,
217
+ default: () => []
218
+ },
219
+ search: {
220
+ type: String,
221
+ default: ''
222
+ },
223
+ moveToItems: {
224
+ type: Array,
225
+ default: () => [
226
+ {
227
+ id: 1,
228
+ name: 'applieds',
229
+ title: 'Inscritos'
230
+ },
231
+ {
232
+ id: 3,
233
+ name: 'selecteds',
234
+ title: 'Selecionados'
235
+ },
236
+ {
237
+ id: 5,
238
+ name: 'hireds',
239
+ title: 'Contratados'
240
+ },
241
+ {
242
+ id: 4,
243
+ name: 'other',
244
+ title: 'Reprovado'
245
+ }
246
+ ]
247
+ }
248
+ },
249
+ filters: {
250
+ formationLevel(id) {
251
+ const typeFormation = {
252
+ 1: 'Ensino Médio',
253
+ 2: 'Ensino Técnico',
254
+ 3: 'Graduação',
255
+ 4: 'Pós-Graduação',
256
+ 5: 'Mestrado',
257
+ 6: 'Doutorado',
258
+ 8: 'Ensino Fundamental'
259
+ };
260
+
261
+ return typeFormation[id] || '-';
262
+ }
263
+ },
264
+ components: {
265
+ ElDropdown: Dropdown,
266
+ ElDropdownMenu: DropdownMenu,
267
+ ElDropdownItem: DropdownItem
268
+ },
269
+ data() {
270
+ return {
271
+ isLocked: !this.companyHasProduct(
272
+ this.$store.state.loja && this.$store.state.loja.showableProducts && this.$store.state.loja.showableProducts['INTERACAO_USUARIO'] || false
273
+ ),
274
+ unlockedButtons: ['share', 'moveTo']
275
+ };
276
+ },
277
+ mounted() {
278
+ this.userData.user_experience = this.filterByDate(
279
+ this.userData.user_experience,
280
+ 'old'
281
+ );
282
+ this.userData.user_education = this.filterByDate(
283
+ this.userData.user_education,
284
+ 'old'
285
+ );
286
+ this.userData.user_course = this.filterByDate(
287
+ this.userData.user_course,
288
+ 'old'
289
+ );
290
+ },
291
+ watch: {
292
+ userData() {
293
+ this.userData.user_experience = this.filterByDate(
294
+ this.userData.user_experience,
295
+ 'old'
296
+ );
297
+ this.userData.user_education = this.filterByDate(
298
+ this.userData.user_education,
299
+ 'old'
300
+ );
301
+ this.userData.user_course = this.filterByDate(
302
+ this.userData.user_course,
303
+ 'old'
304
+ );
305
+ }
306
+ },
307
+ methods: {
308
+ phoneMask(v) {
309
+
310
+ let r = v.replace(/\D/g, '');
311
+ r = r.replace(/^0/, '');
312
+
313
+ if (r.length > 11) {
314
+ r = r.replace(/^(\d\d)(\d{5})(\d{4}).*/, '($1) $2-$3');
315
+ } else if (r.length > 7) {
316
+ r = r.replace(/^(\d\d)(\d{5})(\d{0,4}).*/, '($1) $2-$3');
317
+ } else if (r.length > 2) {
318
+ r = r.replace(/^(\d\d)(\d{0,5})/, '($1) $2');
319
+ } else if (v.trim() !== '') {
320
+ r = r.replace(/^(\d*)/, '($1');
321
+ }
322
+ return r;
323
+ },
324
+ highlightText(search, text) {
325
+ if (search.length < 2) return text;
326
+
327
+ const regex = new RegExp(search.toLowerCase(), 'gmi');
328
+ return String(text || '').replace(
329
+ regex,
330
+ `<span class="search-highlight">${search}</span>`
331
+ );
332
+ },
333
+ filterByDate(data, by = 'new') {
334
+ let sortedArray = data.sort((a, b) => {
335
+ a = [
336
+ a.start_month,
337
+ a.start_year,
338
+ a.end_month || 12,
339
+ a.end_year || 9999
340
+ ];
341
+
342
+ b = [
343
+ b.start_month,
344
+ b.start_year,
345
+ b.end_month || 12,
346
+ b.end_year || 9999
347
+ ];
348
+
349
+ // Primeiro filtro -> chaves: 0 e 1 -> Filtro por data de inicio
350
+ // Segundo filtro -> chaves: 2 e 3 -> Filtro por data de termino (subir não concluídos para primeiros)
351
+
352
+ let byStart;
353
+ let byEnd;
354
+
355
+ switch (by) {
356
+ case 'old':
357
+ byStart =
358
+ new Date(a[1], a[0], 1).getTime() -
359
+ new Date(b[1], b[0], 1).getTime();
360
+ byEnd =
361
+ new Date(b[3], b[2], 1).getTime() -
362
+ new Date(a[3], a[2], 1).getTime();
363
+ break;
364
+
365
+ default:
366
+ byStart =
367
+ new Date(b[1], b[0], 1).getTime() -
368
+ new Date(a[1], a[0], 1).getTime();
369
+ byEnd =
370
+ new Date(b[3], b[2], 1).getTime() -
371
+ new Date(a[3], a[2], 1).getTime();
372
+ break;
373
+ }
374
+
375
+ return byEnd - byStart;
376
+ });
377
+
378
+ return sortedArray;
379
+ },
380
+ toggleReadMore(event, id) {
381
+ const element = document.getElementById(id);
382
+ element.classList.toggle('readmore');
383
+ event.target.innerText == 'Ler mais'
384
+ ? (event.target.innerText = 'Esconder')
385
+ : (event.target.innerText = 'Ler mais');
386
+ },
387
+ getTime(
388
+ isExperience,
389
+ { start_year = null, end_year = null, start_month, end_month },
390
+ textHappening = 'Cursando'
391
+ ) {
392
+ const isHappening = !end_month && !end_year;
393
+
394
+ if (isHappening) {
395
+ return isExperience === true ? 'Atualmente' : textHappening;
396
+ }
397
+
398
+ const dateInitial = this.$moment(
399
+ ['1', start_month.toString(), start_year.toString()],
400
+ 'DD/MM/YYYY'
401
+ );
402
+ const dateDone = this.$moment(
403
+ ['1', end_month.toString(), end_year.toString()],
404
+ 'DD/MM/YYYY'
405
+ );
406
+ const diffDuration = this.$moment.duration(
407
+ dateDone.diff(dateInitial)
408
+ );
409
+ const years = diffDuration.years();
410
+ const months = diffDuration.months();
411
+
412
+ if (years) {
413
+ return years > 1 ? `(${years} anos)` : `(${years} ano)`;
414
+ }
415
+
416
+ return months > 1
417
+ ? `(${months} meses)`
418
+ : months == 1
419
+ ? `(${months} mês)`
420
+ : '';
421
+ },
422
+ languageLevel(level) {
423
+ switch (parseInt(level)) {
424
+ case 1:
425
+ return 'Iniciante';
426
+ case 2:
427
+ return 'Elementar';
428
+ case 3:
429
+ return 'Pré-intermediário';
430
+ case 4:
431
+ return 'Intermediário';
432
+ case 5:
433
+ return 'Intermediário Superior';
434
+ case 6:
435
+ return 'Avançado';
436
+ case 7:
437
+ return 'Fluente';
438
+ default:
439
+ return '';
440
+ }
441
+ },
442
+ treatPhone(phone) {
443
+ if (phone) {
444
+ if (phone == '0' || phone.length < 9 || !phone) {
445
+ return 'não cadastrado';
446
+ }
447
+ }
448
+
449
+ return phone;
450
+ },
451
+ treatCellphone(cellphone) {
452
+ if (cellphone) {
453
+ if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
454
+ return 'não cadastrado';
455
+ }
456
+ }
457
+
458
+ return cellphone;
459
+ },
460
+ handleGetPrefixes(name = '') {
461
+ return getPrefixes(name);
462
+ },
463
+ treatEndDate(end_month, end_year) {
464
+ if (end_month && end_year) {
465
+ return `${end_month}/${end_year}`;
466
+ }
467
+ return '';
468
+ },
469
+ wordIsLesserThan(word, value = 300) {
470
+ return word && word.length < value;
471
+ }
472
+ }
473
+ };
474
+ </script>
475
+
476
+ <style lang="scss" scoped>
477
+ @import '@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss';
478
+
479
+ /deep/ .dropdown__content {
480
+ &, .title__content {
481
+ width: 100%;
482
+ height: 100%;
483
+ display: grid;
484
+ place-items: center;
485
+ }
486
+ .title__content.icon {
487
+ grid-template-columns: 1fr 10px;
488
+ flex-direction: row;
489
+ align-items: center;
490
+ justify-content: space-between;
491
+ color: #fff;
492
+ font-weight: 600;
493
+ font-size: 12px;
494
+ i {
495
+ font-size: 1rem;
496
+ margin-left: 10px;
497
+ }
498
+ }
499
+ }
500
+
501
+ /deep/ .search-highlight {
502
+ background: rgb(255, 252, 61);
503
+ color: #000;
504
+ }
505
+
506
+ .content-middle {
507
+ width: 50%;
508
+ border-right: 1px solid #ececec5c;
509
+ word-break: break-word !important;
510
+ }
511
+
512
+ .readmore {
513
+ overflow: hidden;
514
+ text-overflow: ellipsis;
515
+ display: -webkit-box;
516
+ -webkit-line-clamp: 3;
517
+ -webkit-box-orient: vertical;
518
+ }
519
+
520
+ .tools {
521
+ flex-wrap: wrap;
522
+ display: grid;
523
+ align-items: center;
524
+ justify-content: space-between;
525
+ grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
526
+ gap: 10px;
527
+ padding-right: 20px;
528
+ button {
529
+ display: flex;
530
+ align-items: center;
531
+ justify-content: center;
532
+
533
+ margin-left: 0!important;
534
+
535
+ height: 29px;
536
+ border: none;
537
+
538
+ background: #5865F2;
539
+ border-radius: 16px;
540
+ color: #fff;
541
+
542
+ font-size: 12px;
543
+ font-weight: 600;
544
+ outline: 0;
545
+
546
+ padding: 0 20px;
547
+ }
548
+ }
549
+
550
+ .education {
551
+ margin-top: 15px;
552
+ }
553
+
554
+ .experience {
555
+ .description {
556
+ font-size: 14px;
557
+ color: #62778c;
558
+ }
559
+
560
+ a {
561
+ margin-bottom: 1px;
562
+ }
563
+ }
564
+
565
+ .sub-title {
566
+ margin-bottom: 1px;
567
+
568
+ font-weight: 600;
569
+ font-size: 14px;
570
+ line-height: 21px;
571
+ color: #62778c;
572
+ text-transform: uppercase;
573
+ }
574
+
575
+ .info-text {
576
+ margin-bottom: 1px;
577
+
578
+ font-size: 14px;
579
+ color: #8da2b5;
580
+ }
581
+
582
+ .content-block {
583
+ p {
584
+ font-size: 14px;
585
+ color: #62778c;
586
+ }
587
+ }
588
+
589
+ .no-info {
590
+ p {
591
+ font-size: 0.875rem;
592
+ color: #62778c;
593
+ }
594
+ }
595
+
596
+ .disabled-button {
597
+ opacity: 0.5;
598
+ }
599
+ </style>