@burh/nuxt-core 1.0.325 → 1.0.331

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 (454) 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/css/variables.css +2 -2
  15. package/assets/images/burhCv.svg +6 -6
  16. package/assets/images/facebookCv.svg +3 -3
  17. package/assets/images/icons/facebook.svg +14 -14
  18. package/assets/images/icons/historicCv.svg +3 -3
  19. package/assets/images/icons/icon3.svg +3 -3
  20. package/assets/images/icons/icon4.svg +3 -3
  21. package/assets/images/icons/linkedin.svg +14 -14
  22. package/assets/images/icons/notesCv.svg +3 -3
  23. package/assets/images/icons/twitter.svg +14 -14
  24. package/assets/images/icons/whatsapp.svg +14 -14
  25. package/assets/images/linkedinCv.svg +3 -3
  26. package/assets/images/webCv.svg +4 -4
  27. package/assets/sass/argon.scss +104 -104
  28. package/assets/sass/burh-ds/_components.scss +142 -142
  29. package/assets/sass/burh-ds/_functions.scss +29 -29
  30. package/assets/sass/burh-ds/_global.scss +318 -318
  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 +221 -221
  219. package/components/argon-core/Inputs/BaseRadio.vue +68 -68
  220. package/components/argon-core/Inputs/DropzoneFileUpload.vue +127 -127
  221. package/components/argon-core/Inputs/FileInput.vue +54 -54
  222. package/components/argon-core/Inputs/HtmlEditor.vue +105 -105
  223. package/components/argon-core/Inputs/IconCheckbox.vue +45 -45
  224. package/components/argon-core/Inputs/TagsInput.vue +100 -100
  225. package/components/argon-core/LoadingPanel.vue +25 -25
  226. package/components/argon-core/Modal.vue +0 -5
  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 +29 -29
  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/BaseCard.vue +166 -166
  254. package/components/burh-ds/Cards/CampaignCard.vue +40 -40
  255. package/components/burh-ds/Cards/CompanyCard.vue +39 -39
  256. package/components/burh-ds/Cards/CourseInfoCard.vue +72 -72
  257. package/components/burh-ds/Cards/FunctionalityItem.vue +35 -35
  258. package/components/burh-ds/Cards/OpportunityCard.vue +115 -115
  259. package/components/burh-ds/Cards/PerformanceItem.vue +65 -65
  260. package/components/burh-ds/Cards/PlanCard.vue +192 -192
  261. package/components/burh-ds/Cards/ProductCard.vue +142 -142
  262. package/components/burh-ds/Cards/PurchaseCard.vue +58 -58
  263. package/components/burh-ds/Cards/PurchaseCardSimple.vue +58 -58
  264. package/components/burh-ds/Cards/TestCard.vue +189 -189
  265. package/components/burh-ds/Cards/TrainingCard.vue +151 -151
  266. package/components/burh-ds/Cards/WelcomeCard.vue +106 -106
  267. package/components/burh-ds/Carousel/FeedCarousel.vue +47 -47
  268. package/components/burh-ds/Carousel/ImageCarousel.vue +111 -111
  269. package/components/burh-ds/Collapse/DefaultCollapse.vue +70 -70
  270. package/components/burh-ds/Crop/Crop.vue +121 -121
  271. package/components/burh-ds/Curriculum/UserCurriculum/UpgradePlan.vue +74 -74
  272. package/components/burh-ds/Curriculum/UserCurriculum/UserCvLeftSide.vue +509 -509
  273. package/components/burh-ds/Curriculum/UserCurriculum/UserCvMiddle.vue +515 -515
  274. package/components/burh-ds/Curriculum/UserCurriculum/UserCvRightSide.vue +625 -625
  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/Groups/ProductItem.vue +62 -62
  284. package/components/burh-ds/Groups/SimpleProductItem.vue +129 -129
  285. package/components/burh-ds/Headings/AppHeader.vue +162 -162
  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/InterfaceSpa/InterfaceSpa.vue +83 -83
  298. package/components/burh-ds/Jobs/JobDetail.vue +432 -432
  299. package/components/burh-ds/Jobs/JobDetailDesign.vue +151 -151
  300. package/components/burh-ds/Jobs/JobDetailEmpty.vue +27 -27
  301. package/components/burh-ds/Labels/LabelContextIcon.vue +58 -58
  302. package/components/burh-ds/Link/DefaultLink.vue +30 -30
  303. package/components/burh-ds/Lists/ListAvatarCheckbox.vue +157 -157
  304. package/components/burh-ds/Lists/ListNavLinks.vue +54 -54
  305. package/components/burh-ds/Lists/VagasSimple.vue +404 -404
  306. package/components/burh-ds/Loadings/Basics.vue +80 -80
  307. package/components/burh-ds/Loadings/InfiniteLoading.vue +21 -21
  308. package/components/burh-ds/Loadings/LoadingFullPage.vue +68 -68
  309. package/components/burh-ds/Loadings/NewLoading.vue +119 -119
  310. package/components/burh-ds/Loads/LoadingBar.vue +83 -83
  311. package/components/burh-ds/Modals/AddMember.vue +314 -314
  312. package/components/burh-ds/Modals/AddRoleModal.vue +203 -203
  313. package/components/burh-ds/Modals/AppConfigModal.vue +390 -390
  314. package/components/burh-ds/Modals/CourseMessageModal.vue +66 -66
  315. package/components/burh-ds/Modals/DocsModal.vue +111 -111
  316. package/components/burh-ds/Modals/DropzoneModal.vue +123 -123
  317. package/components/burh-ds/Modals/InviteToRole.vue +206 -206
  318. package/components/burh-ds/Modals/MobileModal.vue +65 -65
  319. package/components/burh-ds/Modals/ModalTests.vue +167 -167
  320. package/components/burh-ds/Modals/PlanModal.vue +286 -286
  321. package/components/burh-ds/Modals/RequestModal.vue +281 -281
  322. package/components/burh-ds/Modals/SendCourse.vue +316 -316
  323. package/components/burh-ds/Modals/SendDisc.vue +230 -230
  324. package/components/burh-ds/Modals/SendTest.vue +349 -349
  325. package/components/burh-ds/Modals/ShareModal.vue +228 -228
  326. package/components/burh-ds/Modals/SmsModal.vue +327 -327
  327. package/components/burh-ds/Modals/SubModal.vue +41 -41
  328. package/components/burh-ds/Modals/UniversityAccessModal.vue +7 -0
  329. package/components/burh-ds/Modals/VideoModal.vue +80 -80
  330. package/components/burh-ds/Modals/WhatsappModal.vue +143 -143
  331. package/components/burh-ds/Navbar/BaseNav.vue +132 -132
  332. package/components/burh-ds/Notifications/Notification.vue +215 -215
  333. package/components/burh-ds/Notifications/Notifications.vue +55 -55
  334. package/components/burh-ds/Notifications/index.js +66 -66
  335. package/components/burh-ds/Pagination/NamedPagination.vue +176 -176
  336. package/components/burh-ds/Questions/Question.vue +183 -183
  337. package/components/burh-ds/Questions/QuestionAttach.vue +13 -13
  338. package/components/burh-ds/Questions/QuestionRadio.vue +122 -122
  339. package/components/burh-ds/Questions/QuestionRadioItem.vue +83 -83
  340. package/components/burh-ds/Questions/QuestionText.vue +66 -66
  341. package/components/burh-ds/Questions/index.js +13 -13
  342. package/components/burh-ds/Skeleton/BaseCardTest.vue +51 -51
  343. package/components/burh-ds/Skeleton/BaseTraining.vue +29 -29
  344. package/components/burh-ds/Skeleton/BufferFolderSkeleton.vue +41 -41
  345. package/components/burh-ds/Skeleton/BufferUserSkeleton.vue +142 -142
  346. package/components/burh-ds/Tabs/Tab.vue +56 -56
  347. package/components/burh-ds/Tabs/Tabs.vue +188 -188
  348. package/components/burh-ds/Tabs/TesteTab.vue +106 -106
  349. package/components/burh-ds/index.js +20 -20
  350. package/components/layouts/argon/Content.vue +17 -17
  351. package/components/layouts/argon/navbar/BlankLayout.vue +61 -61
  352. package/components/layouts/argon/navbar/DashboardNavbar.vue +307 -307
  353. package/components/layouts/burh-ds/ContentFooter.vue +45 -45
  354. package/components/layouts/burh-ds/footer/FooterSimple.vue +20 -20
  355. package/components/layouts/burh-ds/footer/ProductsFooter.vue +330 -330
  356. package/components/layouts/burh-ds/footer/StatusFooter.vue +105 -105
  357. package/components/layouts/burh-ds/footer/StoreFooter.vue +54 -54
  358. package/components/layouts/burh-ds/navbar/AppNavbar.vue +90 -90
  359. package/components/layouts/burh-ds/navbar/BusinessGlobalNavbar.vue +435 -435
  360. package/components/layouts/burh-ds/navbar/CarreirasNavbar.vue +363 -363
  361. package/components/layouts/burh-ds/navbar/CompanyGlobalNavbar.vue +244 -244
  362. package/components/layouts/burh-ds/navbar/EmpresasNavbar.vue +374 -374
  363. package/components/layouts/burh-ds/navbar/EmpresasNavbarLogado.vue +388 -388
  364. package/components/layouts/burh-ds/navbar/GlobalNavbar.vue +535 -535
  365. package/components/layouts/burh-ds/navbar/MobileNavbar.vue +431 -431
  366. package/components/layouts/burh-ds/navbar/PublicNavbar.vue +160 -160
  367. package/components/layouts/burh-ds/navbar/SimpleNavbar.vue +129 -129
  368. package/components/layouts/burh-ds/navbar/UserNavbar.vue +346 -346
  369. package/components/layouts/burh-ds/navbar/UserNavbarLogin.vue +253 -253
  370. package/components/pages/UserProfile/EditProfileForm.vue +142 -142
  371. package/components/pages/UserProfile/UserCard.vue +61 -61
  372. package/components/pages/dashboard/ActivityFeed.vue +102 -102
  373. package/components/pages/dashboard/LightTable.vue +194 -194
  374. package/components/pages/dashboard/PageVisitsTable.vue +107 -107
  375. package/components/pages/dashboard/ProgressTrackList.vue +82 -82
  376. package/components/pages/dashboard/SocialTrafficTable.vue +101 -101
  377. package/components/pages/dashboard/TaskList.vue +56 -56
  378. package/components/pages/dashboard/UserList.vue +72 -72
  379. package/components/pages/forms/BrowserDefaultsValidation.vue +106 -106
  380. package/components/pages/forms/CustomStylesValidation.vue +130 -130
  381. package/components/pages/forms/ServerSideValidation.vue +128 -128
  382. package/components/pages/register/FailedRegistration.vue +29 -29
  383. package/components/pages/register/SuccessfulRegistration.vue +29 -29
  384. package/components/tables/PaginatedTables/clientPaginationMixin.js +86 -86
  385. package/components/tables/RegularTables/CheckboxColoredTable.vue +112 -112
  386. package/components/tables/RegularTables/CheckboxTable.vue +101 -101
  387. package/components/tables/RegularTables/DarkTable.vue +114 -114
  388. package/components/tables/RegularTables/InlineActionsTable.vue +94 -94
  389. package/components/tables/RegularTables/LightTable.vue +117 -117
  390. package/components/tables/RegularTables/StripedTable.vue +94 -94
  391. package/components/tables/RegularTables/TranslucentTable.vue +114 -114
  392. package/components/tables/projects.js +75 -75
  393. package/components/tables/users.js +42 -42
  394. package/components/tables/users2.js +474 -474
  395. package/components/widgets/CalendarWidget.vue +119 -119
  396. package/components/widgets/CreditCard.vue +66 -66
  397. package/components/widgets/MembersCard.vue +99 -99
  398. package/components/widgets/PaypalCard.vue +45 -45
  399. package/components/widgets/ProgressTrackList.vue +76 -76
  400. package/components/widgets/StatsCards.vue +70 -70
  401. package/components/widgets/TaskList.vue +67 -67
  402. package/components/widgets/TimelineCard.vue +66 -66
  403. package/components/widgets/VectorMapCard.vue +139 -139
  404. package/components/widgets/VisaCard.vue +51 -51
  405. package/data/ListVideoLinksMock.json +21 -21
  406. package/dictionary.js +38 -38
  407. package/environment.env.md +34 -34
  408. package/environment.js +220 -220
  409. package/eslint.config.json +12 -12
  410. package/layouts/AuthLayout.vue +191 -191
  411. package/layouts/BurhCarreirasLayout.vue +63 -63
  412. package/layouts/BurhEmpresasLayout.vue +64 -64
  413. package/layouts/BurhNoHeader.vue +63 -63
  414. package/layouts/BurhPublicLayout.vue +67 -67
  415. package/layouts/BurhUserLayout.vue +231 -231
  416. package/layouts/DashboardLayout.vue +226 -226
  417. package/layouts/error.vue +119 -119
  418. package/metadata.json +30 -30
  419. package/middleware/README.md +8 -8
  420. package/middleware/decodeUrl.js +8 -8
  421. package/middleware/maintenance.js +9 -9
  422. package/middleware/new-account.js +6 -6
  423. package/middleware/redirect.js +13 -13
  424. package/middleware/user-agent-error.js +28 -28
  425. package/package.json +1 -1
  426. package/plugins/README.md +7 -7
  427. package/plugins/analytics/ga.js +28 -28
  428. package/plugins/auth/auth.js +210 -210
  429. package/plugins/axios.js +32 -32
  430. package/plugins/carousel/owl-carousel.js +3 -3
  431. package/plugins/crop/crop.js +4 -4
  432. package/plugins/dashboard/dashboard-plugin.js +29 -29
  433. package/plugins/dashboard/directives/click-outside.js +15 -15
  434. package/plugins/dashboard/eventBus.js +1 -1
  435. package/plugins/dashboard/globalComponents.js +41 -41
  436. package/plugins/dashboard/globalDirectives.js +7 -7
  437. package/plugins/dom/loader.js +76 -76
  438. package/plugins/localstorage.js +20 -20
  439. package/plugins/location/location.js +41 -41
  440. package/plugins/pagination/pagination.js +3 -3
  441. package/plugins/qrcode/qrcode.js +4 -4
  442. package/plugins/router.js +8 -8
  443. package/plugins/social-media/fb-sdk.js +44 -44
  444. package/plugins/social-media/share-link-facebook.js +32 -32
  445. package/plugins/social-media/share-link-linkedin.js +30 -30
  446. package/plugins/social-media/share-link-twitter.js +30 -30
  447. package/plugins/social-media/share-link-whatsapp.js +31 -31
  448. package/polyfills.js +96 -96
  449. package/util/common.js +189 -189
  450. package/util/cookie.js +28 -28
  451. package/util/dom.js +63 -63
  452. package/util/getPrefixes.js +12 -12
  453. package/util/request.js +46 -46
  454. package/util/throttle.js +15 -15
@@ -1,515 +1,515 @@
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
- id="USER_ABOUT"
30
- class="mb-0"
31
- :class="
32
- !wordIsLesserThan(
33
- userData.user_complementary_information.about
34
- ) && 'readmore'
35
- "
36
- v-html="
37
- highlightText(
38
- search,
39
- userData.user_complementary_information.about
40
- )
41
- "
42
- ></p>
43
- <a
44
- href="#"
45
- aria-label="expandir conteudo"
46
- v-show="
47
- userData.user_complementary_information.about &&
48
- !wordIsLesserThan(
49
- userData.user_complementary_information.about
50
- )
51
- "
52
- @click.prevent.stop="toggleReadMore($event, 'USER_ABOUT')"
53
- >Ler mais</a
54
- >
55
-
56
- <p v-show="!userData.user_complementary_information.about" class="">
57
- Nenhuma informação adicionada
58
- </p>
59
- </div>
60
- <!-- CONTATO -->
61
- <h5 class="font-weight-bold mt-4 ml-3">Contatos</h5>
62
- <div class="ml-3 info-text">
63
- <span v-if="userData.email != null">Email: {{userData.email}}</span><br>
64
- <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>
65
- <span v-if="userData.user_contact && userData.user_contact.phone != null && userData.user_contact.phone.length > 1">Telefone: {{phoneMask(userData.user_contact.phone)}}</span>
66
- </div>
67
-
68
- <!-- EDUCAÇÃO -->
69
- <h5 class="font-weight-bold mt-4 ml-3">Educação</h5>
70
- <div
71
- class=" ml-3"
72
- v-show="userData.user_education.length > 0"
73
- v-for="(edu, index) in userData.user_education"
74
- :key="index"
75
- >
76
- <p
77
- class="sub-title"
78
- v-html="highlightText(search, edu.formation)"
79
- ></p>
80
- <p class="info-text">{{ edu.institution }}</p>
81
- <span class="info-text">
82
- {{ edu.start_month }}/{{ edu.start_year }} -
83
- {{ treatEndDate(edu.end_month, edu.end_year) }}
84
- {{ getTime(false, edu) }}
85
- {{
86
- edu.user_education_period
87
- ? '-' + edu.user_education_period.name
88
- : ''
89
- }} </span
90
- ><br />
91
- <span
92
- class="info-text"
93
- v-html="
94
- highlightText(
95
- search,
96
- edu.formation_level_id | formationLevel
97
- )
98
- "
99
- ></span>
100
- </div>
101
-
102
- <!-- EXPERIÊNCIAS -->
103
- <h5 class="font-weight-bold mt-4 ml-3">Experiência</h5>
104
- <div
105
- class="no-info ml-3"
106
- v-show="userData.user_experience.length === 0"
107
- >
108
- <p>
109
- Nenhuma informação adicionada
110
- </p>
111
- </div>
112
- <div
113
- v-show="userData.user_experience.length > 0"
114
- class="experience ml-3 mr-3"
115
- v-for="(exp, index) in userData.user_experience"
116
- :key="`experience-${index}`"
117
- >
118
- <p
119
- class="sub-title"
120
- v-html="highlightText(search, exp.job_title)"
121
- ></p>
122
- <p
123
- class="info-text"
124
- v-html="
125
- highlightText(search, `${exp.company}, ${exp.location}`)
126
- "
127
- ></p>
128
- <span class="info-text">
129
- {{ exp.start_month }}/{{ exp.start_year }} -
130
- {{ treatEndDate(exp.end_month, exp.end_year) }}
131
- {{ getTime(true, exp) }}
132
- </span>
133
-
134
- <p
135
- :id="`USER_EXPERIENCE-${index}`"
136
- class="description mt-4 mb-0"
137
- :class="!wordIsLesserThan(exp.description) && 'readmore'"
138
- v-html="highlightText(search, exp.description)"
139
- ></p>
140
-
141
- <a
142
- href="#"
143
- aria-label="expandir conteudo"
144
- v-show="!wordIsLesserThan(exp.description)"
145
- @click.prevent.stop="
146
- toggleReadMore($event, `USER_EXPERIENCE-${index}`)
147
- "
148
- >Ler mais</a
149
- ><br /><br />
150
- </div>
151
-
152
- <!-- CURSOS -->
153
- <h5 class="font-weight-bold mt-1 ml-3">Cursos Complementares</h5>
154
- <div class="no-info ml-3" v-show="userData.user_course.length === 0">
155
- <p>
156
- Nenhuma informação adicionada
157
- </p>
158
- </div>
159
- <div
160
- v-show="userData.user_course.length > 0"
161
- class="courses ml-3"
162
- v-for="(cou, index) in userData.user_course"
163
- :key="`course-${index}`"
164
- >
165
- <p
166
- class="sub-title"
167
- v-html="highlightText(search, cou.institution)"
168
- ></p>
169
- <p
170
- class="info-text mb-3"
171
- v-html="
172
- highlightText(
173
- search,
174
- `${cou.name} - ${cou.end_year || ''} ${getTime(
175
- false,
176
- cou
177
- )}`
178
- )
179
- "
180
- >
181
- {{ cou.name }} - {{ cou.end_year }}
182
- {{ getTime(false, cou) }}
183
- </p>
184
- </div>
185
- </div>
186
- </template>
187
-
188
- <script>
189
- import getPrefixes from '~/util/getPrefixes.js';
190
- import { mask } from 'vue-the-mask';
191
-
192
- export default {
193
- name: 'user-cv-middle',
194
- directives: { mask },
195
- props: {
196
- userData: Object,
197
- tools: {
198
- type: Array,
199
- default: () => []
200
- },
201
- search: {
202
- type: String,
203
- default: ''
204
- }
205
- },
206
- filters: {
207
- formationLevel(id) {
208
- const typeFormation = {
209
- 1: 'Ensino Médio',
210
- 2: 'Ensino Técnico',
211
- 3: 'Graduação',
212
- 4: 'Pós-Graduação',
213
- 5: 'Mestrado',
214
- 6: 'Doutorado'
215
- };
216
-
217
- return typeFormation[id] || '-';
218
- }
219
- },
220
- data() {
221
- return {
222
- isLocked: !this.companyHasProduct(
223
- this.$store.state.loja.showableProducts['INTERACAO_USUARIO']
224
- )
225
- };
226
- },
227
- mounted() {
228
- this.userData.user_experience = this.filterByDate(
229
- this.userData.user_experience,
230
- 'old'
231
- );
232
- this.userData.user_education = this.filterByDate(
233
- this.userData.user_education,
234
- 'old'
235
- );
236
- this.userData.user_course = this.filterByDate(
237
- this.userData.user_course,
238
- 'old'
239
- );
240
- },
241
- watch: {
242
- userData() {
243
- this.userData.user_experience = this.filterByDate(
244
- this.userData.user_experience,
245
- 'old'
246
- );
247
- this.userData.user_education = this.filterByDate(
248
- this.userData.user_education,
249
- 'old'
250
- );
251
- this.userData.user_course = this.filterByDate(
252
- this.userData.user_course,
253
- 'old'
254
- );
255
- }
256
- },
257
- methods: {
258
- phoneMask(v) {
259
-
260
- let r = v.replace(/\D/g, '');
261
- r = r.replace(/^0/, '');
262
-
263
- if (r.length > 11) {
264
- r = r.replace(/^(\d\d)(\d{5})(\d{4}).*/, '($1) $2-$3');
265
- } else if (r.length > 7) {
266
- r = r.replace(/^(\d\d)(\d{5})(\d{0,4}).*/, '($1) $2-$3');
267
- } else if (r.length > 2) {
268
- r = r.replace(/^(\d\d)(\d{0,5})/, '($1) $2');
269
- } else if (v.trim() !== '') {
270
- r = r.replace(/^(\d*)/, '($1');
271
- }
272
- return r;
273
- },
274
- highlightText(search, text) {
275
- if (search.length < 2) return text;
276
-
277
- const regex = new RegExp(search.toLowerCase(), 'gmi');
278
- return String(text || '').replace(
279
- regex,
280
- `<span class="search-highlight">${search}</span>`
281
- );
282
- },
283
- filterByDate(data, by = 'new') {
284
- let sortedArray = data.sort((a, b) => {
285
- a = [
286
- a.start_month,
287
- a.start_year,
288
- a.end_month || 12,
289
- a.end_year || 9999
290
- ];
291
-
292
- b = [
293
- b.start_month,
294
- b.start_year,
295
- b.end_month || 12,
296
- b.end_year || 9999
297
- ];
298
-
299
- // Primeiro filtro -> chaves: 0 e 1 -> Filtro por data de inicio
300
- // Segundo filtro -> chaves: 2 e 3 -> Filtro por data de termino (subir não concluídos para primeiros)
301
-
302
- let byStart;
303
- let byEnd;
304
-
305
- switch (by) {
306
- case 'old':
307
- byStart =
308
- new Date(a[1], a[0], 1).getTime() -
309
- new Date(b[1], b[0], 1).getTime();
310
- byEnd =
311
- new Date(b[3], b[2], 1).getTime() -
312
- new Date(a[3], a[2], 1).getTime();
313
- break;
314
-
315
- default:
316
- byStart =
317
- new Date(b[1], b[0], 1).getTime() -
318
- new Date(a[1], a[0], 1).getTime();
319
- byEnd =
320
- new Date(b[3], b[2], 1).getTime() -
321
- new Date(a[3], a[2], 1).getTime();
322
- break;
323
- }
324
-
325
- return byEnd - byStart;
326
- });
327
-
328
- return sortedArray;
329
- },
330
- toggleReadMore(event, id) {
331
- const element = document.getElementById(id);
332
- element.classList.toggle('readmore');
333
- event.target.innerText == 'Ler mais'
334
- ? (event.target.innerText = 'Esconder')
335
- : (event.target.innerText = 'Ler mais');
336
- },
337
- getTime(
338
- isExperience,
339
- { start_year = null, end_year = null, start_month, end_month },
340
- textHappening = 'Cursando'
341
- ) {
342
- const isHappening = !end_month && !end_year;
343
-
344
- if (isHappening) {
345
- return isExperience === true ? 'Atualmente' : textHappening;
346
- }
347
-
348
- const dateInitial = this.$moment(
349
- ['1', start_month.toString(), start_year.toString()],
350
- 'DD/MM/YYYY'
351
- );
352
- const dateDone = this.$moment(
353
- ['1', end_month.toString(), end_year.toString()],
354
- 'DD/MM/YYYY'
355
- );
356
- const diffDuration = this.$moment.duration(
357
- dateDone.diff(dateInitial)
358
- );
359
- const years = diffDuration.years();
360
- const months = diffDuration.months();
361
-
362
- if (years) {
363
- return years > 1 ? `(${years} anos)` : `(${years} ano)`;
364
- }
365
-
366
- return months > 1
367
- ? `(${months} meses)`
368
- : months == 1
369
- ? `(${months} mês)`
370
- : '';
371
- },
372
- languageLevel(level) {
373
- switch (parseInt(level)) {
374
- case 1:
375
- return 'Iniciante';
376
- case 2:
377
- return 'Elementar';
378
- case 3:
379
- return 'Pré-intermediário';
380
- case 4:
381
- return 'Intermediário';
382
- case 5:
383
- return 'Intermediário Superior';
384
- case 6:
385
- return 'Avançado';
386
- case 7:
387
- return 'Fluente';
388
- default:
389
- return '';
390
- }
391
- },
392
- treatPhone(phone) {
393
- if (phone) {
394
- if (phone == '0' || phone.length < 9 || !phone) {
395
- return 'não cadastrado';
396
- }
397
- }
398
-
399
- return phone;
400
- },
401
- treatCellphone(cellphone) {
402
- if (cellphone) {
403
- if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
404
- return 'não cadastrado';
405
- }
406
- }
407
-
408
- return cellphone;
409
- },
410
- handleGetPrefixes(name = '') {
411
- return getPrefixes(name);
412
- },
413
- treatEndDate(end_month, end_year) {
414
- if (end_month && end_year) {
415
- return `${end_month}/${end_year}`;
416
- }
417
- return '';
418
- },
419
- wordIsLesserThan(word, value = 300) {
420
- return word && word.length < value;
421
- }
422
- }
423
- };
424
- </script>
425
-
426
- <style lang="scss" scoped>
427
- @import '@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss';
428
-
429
- /deep/ .search-highlight {
430
- background: rgb(255, 252, 61);
431
- color: #000;
432
- }
433
-
434
- .content-middle {
435
- width: 50%;
436
- border-right: 1px solid #ececec5c;
437
- word-break: break-word !important;
438
- }
439
-
440
- .readmore {
441
- overflow: hidden;
442
- text-overflow: ellipsis;
443
- display: -webkit-box;
444
- -webkit-line-clamp: 3;
445
- -webkit-box-orient: vertical;
446
- }
447
-
448
- .tools {
449
- flex-wrap: wrap;
450
- button {
451
- width: 117px;
452
- height: 29px;
453
- border: none;
454
- margin-top: 15px;
455
-
456
- background: #5865F2;
457
- border-radius: 16px;
458
- color: #fff;
459
-
460
- font-size: 12px;
461
- font-weight: 600;
462
- outline: 0;
463
- }
464
- }
465
-
466
- .education {
467
- margin-top: 15px;
468
- }
469
-
470
- .experience {
471
- .description {
472
- font-size: 14px;
473
- color: #62778c;
474
- }
475
-
476
- a {
477
- margin-bottom: 1px;
478
- }
479
- }
480
-
481
- .sub-title {
482
- margin-bottom: 1px;
483
-
484
- font-weight: 600;
485
- font-size: 14px;
486
- line-height: 21px;
487
- color: #62778c;
488
- text-transform: uppercase;
489
- }
490
-
491
- .info-text {
492
- margin-bottom: 1px;
493
-
494
- font-size: 14px;
495
- color: #8da2b5;
496
- }
497
-
498
- .content-block {
499
- p {
500
- font-size: 14px;
501
- color: #62778c;
502
- }
503
- }
504
-
505
- .no-info {
506
- p {
507
- font-size: 0.875rem;
508
- color: #62778c;
509
- }
510
- }
511
-
512
- .disabled-button {
513
- opacity: 0.5;
514
- }
515
- </style>
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
+ id="USER_ABOUT"
30
+ class="mb-0"
31
+ :class="
32
+ !wordIsLesserThan(
33
+ userData.user_complementary_information.about
34
+ ) && 'readmore'
35
+ "
36
+ v-html="
37
+ highlightText(
38
+ search,
39
+ userData.user_complementary_information.about
40
+ )
41
+ "
42
+ ></p>
43
+ <a
44
+ href="#"
45
+ aria-label="expandir conteudo"
46
+ v-show="
47
+ userData.user_complementary_information.about &&
48
+ !wordIsLesserThan(
49
+ userData.user_complementary_information.about
50
+ )
51
+ "
52
+ @click.prevent.stop="toggleReadMore($event, 'USER_ABOUT')"
53
+ >Ler mais</a
54
+ >
55
+
56
+ <p v-show="!userData.user_complementary_information.about" class="">
57
+ Nenhuma informação adicionada
58
+ </p>
59
+ </div>
60
+ <!-- CONTATO -->
61
+ <h5 class="font-weight-bold mt-4 ml-3">Contatos</h5>
62
+ <div class="ml-3 info-text">
63
+ <span v-if="userData.email != null">Email: {{userData.email}}</span><br>
64
+ <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>
65
+ <span v-if="userData.user_contact && userData.user_contact.phone != null && userData.user_contact.phone.length > 1">Telefone: {{phoneMask(userData.user_contact.phone)}}</span>
66
+ </div>
67
+
68
+ <!-- EDUCAÇÃO -->
69
+ <h5 class="font-weight-bold mt-4 ml-3">Educação</h5>
70
+ <div
71
+ class=" ml-3"
72
+ v-show="userData.user_education.length > 0"
73
+ v-for="(edu, index) in userData.user_education"
74
+ :key="index"
75
+ >
76
+ <p
77
+ class="sub-title"
78
+ v-html="highlightText(search, edu.formation)"
79
+ ></p>
80
+ <p class="info-text">{{ edu.institution }}</p>
81
+ <span class="info-text">
82
+ {{ edu.start_month }}/{{ edu.start_year }} -
83
+ {{ treatEndDate(edu.end_month, edu.end_year) }}
84
+ {{ getTime(false, edu) }}
85
+ {{
86
+ edu.user_education_period
87
+ ? '-' + edu.user_education_period.name
88
+ : ''
89
+ }} </span
90
+ ><br />
91
+ <span
92
+ class="info-text"
93
+ v-html="
94
+ highlightText(
95
+ search,
96
+ edu.formation_level_id | formationLevel
97
+ )
98
+ "
99
+ ></span>
100
+ </div>
101
+
102
+ <!-- EXPERIÊNCIAS -->
103
+ <h5 class="font-weight-bold mt-4 ml-3">Experiência</h5>
104
+ <div
105
+ class="no-info ml-3"
106
+ v-show="userData.user_experience.length === 0"
107
+ >
108
+ <p>
109
+ Nenhuma informação adicionada
110
+ </p>
111
+ </div>
112
+ <div
113
+ v-show="userData.user_experience.length > 0"
114
+ class="experience ml-3 mr-3"
115
+ v-for="(exp, index) in userData.user_experience"
116
+ :key="`experience-${index}`"
117
+ >
118
+ <p
119
+ class="sub-title"
120
+ v-html="highlightText(search, exp.job_title)"
121
+ ></p>
122
+ <p
123
+ class="info-text"
124
+ v-html="
125
+ highlightText(search, `${exp.company}, ${exp.location}`)
126
+ "
127
+ ></p>
128
+ <span class="info-text">
129
+ {{ exp.start_month }}/{{ exp.start_year }} -
130
+ {{ treatEndDate(exp.end_month, exp.end_year) }}
131
+ {{ getTime(true, exp) }}
132
+ </span>
133
+
134
+ <p
135
+ :id="`USER_EXPERIENCE-${index}`"
136
+ class="description mt-4 mb-0"
137
+ :class="!wordIsLesserThan(exp.description) && 'readmore'"
138
+ v-html="highlightText(search, exp.description)"
139
+ ></p>
140
+
141
+ <a
142
+ href="#"
143
+ aria-label="expandir conteudo"
144
+ v-show="!wordIsLesserThan(exp.description)"
145
+ @click.prevent.stop="
146
+ toggleReadMore($event, `USER_EXPERIENCE-${index}`)
147
+ "
148
+ >Ler mais</a
149
+ ><br /><br />
150
+ </div>
151
+
152
+ <!-- CURSOS -->
153
+ <h5 class="font-weight-bold mt-1 ml-3">Cursos Complementares</h5>
154
+ <div class="no-info ml-3" v-show="userData.user_course.length === 0">
155
+ <p>
156
+ Nenhuma informação adicionada
157
+ </p>
158
+ </div>
159
+ <div
160
+ v-show="userData.user_course.length > 0"
161
+ class="courses ml-3"
162
+ v-for="(cou, index) in userData.user_course"
163
+ :key="`course-${index}`"
164
+ >
165
+ <p
166
+ class="sub-title"
167
+ v-html="highlightText(search, cou.institution)"
168
+ ></p>
169
+ <p
170
+ class="info-text mb-3"
171
+ v-html="
172
+ highlightText(
173
+ search,
174
+ `${cou.name} - ${cou.end_year || ''} ${getTime(
175
+ false,
176
+ cou
177
+ )}`
178
+ )
179
+ "
180
+ >
181
+ {{ cou.name }} - {{ cou.end_year }}
182
+ {{ getTime(false, cou) }}
183
+ </p>
184
+ </div>
185
+ </div>
186
+ </template>
187
+
188
+ <script>
189
+ import getPrefixes from '~/util/getPrefixes.js';
190
+ import { mask } from 'vue-the-mask';
191
+
192
+ export default {
193
+ name: 'user-cv-middle',
194
+ directives: { mask },
195
+ props: {
196
+ userData: Object,
197
+ tools: {
198
+ type: Array,
199
+ default: () => []
200
+ },
201
+ search: {
202
+ type: String,
203
+ default: ''
204
+ }
205
+ },
206
+ filters: {
207
+ formationLevel(id) {
208
+ const typeFormation = {
209
+ 1: 'Ensino Médio',
210
+ 2: 'Ensino Técnico',
211
+ 3: 'Graduação',
212
+ 4: 'Pós-Graduação',
213
+ 5: 'Mestrado',
214
+ 6: 'Doutorado'
215
+ };
216
+
217
+ return typeFormation[id] || '-';
218
+ }
219
+ },
220
+ data() {
221
+ return {
222
+ isLocked: !this.companyHasProduct(
223
+ this.$store.state.loja.showableProducts['INTERACAO_USUARIO']
224
+ )
225
+ };
226
+ },
227
+ mounted() {
228
+ this.userData.user_experience = this.filterByDate(
229
+ this.userData.user_experience,
230
+ 'old'
231
+ );
232
+ this.userData.user_education = this.filterByDate(
233
+ this.userData.user_education,
234
+ 'old'
235
+ );
236
+ this.userData.user_course = this.filterByDate(
237
+ this.userData.user_course,
238
+ 'old'
239
+ );
240
+ },
241
+ watch: {
242
+ userData() {
243
+ this.userData.user_experience = this.filterByDate(
244
+ this.userData.user_experience,
245
+ 'old'
246
+ );
247
+ this.userData.user_education = this.filterByDate(
248
+ this.userData.user_education,
249
+ 'old'
250
+ );
251
+ this.userData.user_course = this.filterByDate(
252
+ this.userData.user_course,
253
+ 'old'
254
+ );
255
+ }
256
+ },
257
+ methods: {
258
+ phoneMask(v) {
259
+
260
+ let r = v.replace(/\D/g, '');
261
+ r = r.replace(/^0/, '');
262
+
263
+ if (r.length > 11) {
264
+ r = r.replace(/^(\d\d)(\d{5})(\d{4}).*/, '($1) $2-$3');
265
+ } else if (r.length > 7) {
266
+ r = r.replace(/^(\d\d)(\d{5})(\d{0,4}).*/, '($1) $2-$3');
267
+ } else if (r.length > 2) {
268
+ r = r.replace(/^(\d\d)(\d{0,5})/, '($1) $2');
269
+ } else if (v.trim() !== '') {
270
+ r = r.replace(/^(\d*)/, '($1');
271
+ }
272
+ return r;
273
+ },
274
+ highlightText(search, text) {
275
+ if (search.length < 2) return text;
276
+
277
+ const regex = new RegExp(search.toLowerCase(), 'gmi');
278
+ return String(text || '').replace(
279
+ regex,
280
+ `<span class="search-highlight">${search}</span>`
281
+ );
282
+ },
283
+ filterByDate(data, by = 'new') {
284
+ let sortedArray = data.sort((a, b) => {
285
+ a = [
286
+ a.start_month,
287
+ a.start_year,
288
+ a.end_month || 12,
289
+ a.end_year || 9999
290
+ ];
291
+
292
+ b = [
293
+ b.start_month,
294
+ b.start_year,
295
+ b.end_month || 12,
296
+ b.end_year || 9999
297
+ ];
298
+
299
+ // Primeiro filtro -> chaves: 0 e 1 -> Filtro por data de inicio
300
+ // Segundo filtro -> chaves: 2 e 3 -> Filtro por data de termino (subir não concluídos para primeiros)
301
+
302
+ let byStart;
303
+ let byEnd;
304
+
305
+ switch (by) {
306
+ case 'old':
307
+ byStart =
308
+ new Date(a[1], a[0], 1).getTime() -
309
+ new Date(b[1], b[0], 1).getTime();
310
+ byEnd =
311
+ new Date(b[3], b[2], 1).getTime() -
312
+ new Date(a[3], a[2], 1).getTime();
313
+ break;
314
+
315
+ default:
316
+ byStart =
317
+ new Date(b[1], b[0], 1).getTime() -
318
+ new Date(a[1], a[0], 1).getTime();
319
+ byEnd =
320
+ new Date(b[3], b[2], 1).getTime() -
321
+ new Date(a[3], a[2], 1).getTime();
322
+ break;
323
+ }
324
+
325
+ return byEnd - byStart;
326
+ });
327
+
328
+ return sortedArray;
329
+ },
330
+ toggleReadMore(event, id) {
331
+ const element = document.getElementById(id);
332
+ element.classList.toggle('readmore');
333
+ event.target.innerText == 'Ler mais'
334
+ ? (event.target.innerText = 'Esconder')
335
+ : (event.target.innerText = 'Ler mais');
336
+ },
337
+ getTime(
338
+ isExperience,
339
+ { start_year = null, end_year = null, start_month, end_month },
340
+ textHappening = 'Cursando'
341
+ ) {
342
+ const isHappening = !end_month && !end_year;
343
+
344
+ if (isHappening) {
345
+ return isExperience === true ? 'Atualmente' : textHappening;
346
+ }
347
+
348
+ const dateInitial = this.$moment(
349
+ ['1', start_month.toString(), start_year.toString()],
350
+ 'DD/MM/YYYY'
351
+ );
352
+ const dateDone = this.$moment(
353
+ ['1', end_month.toString(), end_year.toString()],
354
+ 'DD/MM/YYYY'
355
+ );
356
+ const diffDuration = this.$moment.duration(
357
+ dateDone.diff(dateInitial)
358
+ );
359
+ const years = diffDuration.years();
360
+ const months = diffDuration.months();
361
+
362
+ if (years) {
363
+ return years > 1 ? `(${years} anos)` : `(${years} ano)`;
364
+ }
365
+
366
+ return months > 1
367
+ ? `(${months} meses)`
368
+ : months == 1
369
+ ? `(${months} mês)`
370
+ : '';
371
+ },
372
+ languageLevel(level) {
373
+ switch (parseInt(level)) {
374
+ case 1:
375
+ return 'Iniciante';
376
+ case 2:
377
+ return 'Elementar';
378
+ case 3:
379
+ return 'Pré-intermediário';
380
+ case 4:
381
+ return 'Intermediário';
382
+ case 5:
383
+ return 'Intermediário Superior';
384
+ case 6:
385
+ return 'Avançado';
386
+ case 7:
387
+ return 'Fluente';
388
+ default:
389
+ return '';
390
+ }
391
+ },
392
+ treatPhone(phone) {
393
+ if (phone) {
394
+ if (phone == '0' || phone.length < 9 || !phone) {
395
+ return 'não cadastrado';
396
+ }
397
+ }
398
+
399
+ return phone;
400
+ },
401
+ treatCellphone(cellphone) {
402
+ if (cellphone) {
403
+ if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
404
+ return 'não cadastrado';
405
+ }
406
+ }
407
+
408
+ return cellphone;
409
+ },
410
+ handleGetPrefixes(name = '') {
411
+ return getPrefixes(name);
412
+ },
413
+ treatEndDate(end_month, end_year) {
414
+ if (end_month && end_year) {
415
+ return `${end_month}/${end_year}`;
416
+ }
417
+ return '';
418
+ },
419
+ wordIsLesserThan(word, value = 300) {
420
+ return word && word.length < value;
421
+ }
422
+ }
423
+ };
424
+ </script>
425
+
426
+ <style lang="scss" scoped>
427
+ @import '@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss';
428
+
429
+ /deep/ .search-highlight {
430
+ background: rgb(255, 252, 61);
431
+ color: #000;
432
+ }
433
+
434
+ .content-middle {
435
+ width: 50%;
436
+ border-right: 1px solid #ececec5c;
437
+ word-break: break-word !important;
438
+ }
439
+
440
+ .readmore {
441
+ overflow: hidden;
442
+ text-overflow: ellipsis;
443
+ display: -webkit-box;
444
+ -webkit-line-clamp: 3;
445
+ -webkit-box-orient: vertical;
446
+ }
447
+
448
+ .tools {
449
+ flex-wrap: wrap;
450
+ button {
451
+ width: 117px;
452
+ height: 29px;
453
+ border: none;
454
+ margin-top: 15px;
455
+
456
+ background: #5865F2;
457
+ border-radius: 16px;
458
+ color: #fff;
459
+
460
+ font-size: 12px;
461
+ font-weight: 600;
462
+ outline: 0;
463
+ }
464
+ }
465
+
466
+ .education {
467
+ margin-top: 15px;
468
+ }
469
+
470
+ .experience {
471
+ .description {
472
+ font-size: 14px;
473
+ color: #62778c;
474
+ }
475
+
476
+ a {
477
+ margin-bottom: 1px;
478
+ }
479
+ }
480
+
481
+ .sub-title {
482
+ margin-bottom: 1px;
483
+
484
+ font-weight: 600;
485
+ font-size: 14px;
486
+ line-height: 21px;
487
+ color: #62778c;
488
+ text-transform: uppercase;
489
+ }
490
+
491
+ .info-text {
492
+ margin-bottom: 1px;
493
+
494
+ font-size: 14px;
495
+ color: #8da2b5;
496
+ }
497
+
498
+ .content-block {
499
+ p {
500
+ font-size: 14px;
501
+ color: #62778c;
502
+ }
503
+ }
504
+
505
+ .no-info {
506
+ p {
507
+ font-size: 0.875rem;
508
+ color: #62778c;
509
+ }
510
+ }
511
+
512
+ .disabled-button {
513
+ opacity: 0.5;
514
+ }
515
+ </style>