@burh/nuxt-core 1.0.349 → 1.0.350

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