@burh/nuxt-core 1.0.404 → 1.0.405

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 (455) hide show
  1. package/.ebignore +25 -25
  2. package/.elasticbeanstalk/config.yml +18 -18
  3. package/.eslintrc.json +39 -39
  4. package/.gitlab-ci.yml +16 -16
  5. package/.vscode/settings.json +10 -10
  6. package/CHANGELOG.md +2 -2
  7. package/README.md +22 -22
  8. package/app.html +8 -8
  9. package/assets/css/font-awesome/css/font-awesome.css +2337 -2337
  10. package/assets/css/font-awesome/css/font-awesome.min.css +4 -4
  11. package/assets/css/font-awesome/fonts/fontawesome-webfont.svg +2671 -2671
  12. package/assets/css/nucleo/css/nucleo-svg.css +134 -134
  13. package/assets/css/nucleo/css/nucleo.css +572 -572
  14. package/assets/css/nucleo/fonts/nucleo-icons.svg +312 -312
  15. package/assets/css/variables.css +2 -2
  16. package/assets/images/burhCv.svg +6 -6
  17. package/assets/images/facebookCv.svg +3 -3
  18. package/assets/images/icons/facebook.svg +14 -14
  19. package/assets/images/icons/historicCv.svg +3 -3
  20. package/assets/images/icons/icon3.svg +3 -3
  21. package/assets/images/icons/icon4.svg +3 -3
  22. package/assets/images/icons/linkedin.svg +14 -14
  23. package/assets/images/icons/notesCv.svg +3 -3
  24. package/assets/images/icons/twitter.svg +14 -14
  25. package/assets/images/icons/whatsapp.svg +14 -14
  26. package/assets/images/linkedinCv.svg +3 -3
  27. package/assets/images/webCv.svg +4 -4
  28. package/assets/sass/argon.scss +104 -104
  29. package/assets/sass/burh-ds/_components.scss +142 -142
  30. package/assets/sass/burh-ds/_functions.scss +29 -29
  31. package/assets/sass/burh-ds/_helpers.scss +18 -18
  32. package/assets/sass/burh-ds/_mixins.scss +17 -17
  33. package/assets/sass/burh-ds/_transitions.scss +12 -12
  34. package/assets/sass/burh-ds/_utilities.scss +31 -31
  35. package/assets/sass/burh-ds/_variables.scss +963 -963
  36. package/assets/sass/burh-ds/_vendors.scss +38 -38
  37. package/assets/sass/burh-ds/atoms/_badge.scss +5 -5
  38. package/assets/sass/burh-ds/atoms/_buttons.scss +222 -222
  39. package/assets/sass/burh-ds/atoms/_forms.scss +416 -416
  40. package/assets/sass/burh-ds/atoms/_tables.scss +31 -31
  41. package/assets/sass/burh-ds/atoms/_type.scss +147 -147
  42. package/assets/sass/burh-ds/mixins/_badge.scss +37 -37
  43. package/assets/sass/burh-ds/mixins/_breakpoints.scss +39 -39
  44. package/assets/sass/burh-ds/mixins/_grid-framework.scss +66 -66
  45. package/assets/sass/burh-ds/mixins/_grid.scss +51 -51
  46. package/assets/sass/burh-ds/molecules/_box.scss +282 -282
  47. package/assets/sass/burh-ds/molecules/_breadcrumb.scss +8 -8
  48. package/assets/sass/burh-ds/molecules/_modal.scss +175 -175
  49. package/assets/sass/burh-ds/molecules/_navbar.scss +262 -262
  50. package/assets/sass/burh-ds/molecules/_notifications.scss +1 -1
  51. package/assets/sass/burh-ds/molecules/_steps-profile.scss +67 -67
  52. package/assets/sass/burh-ds/molecules/_testimonial.scss +53 -53
  53. package/assets/sass/burh-ds/organisms/_banner.scss +51 -51
  54. package/assets/sass/burh-ds/organisms/_cards.scss +228 -228
  55. package/assets/sass/burh-ds/organisms/_carousel.scss +113 -113
  56. package/assets/sass/burh-ds/organisms/_footer.scss +115 -115
  57. package/assets/sass/burh-ds/organisms/_profile-bar.scss +130 -130
  58. package/assets/sass/burh-ds/organisms/_search.scss +17 -17
  59. package/assets/sass/burh-ds/organisms/_subheader.scss +773 -773
  60. package/assets/sass/burh-ds/organisms/_tabs-setting.scss +123 -123
  61. package/assets/sass/burh-ds/organisms/banners/_banner.scss +62 -62
  62. package/assets/sass/burh-ds/organisms/cards/_featured-company.scss +17 -17
  63. package/assets/sass/burh-ds/organisms/cards/_opportunity.scss +16 -16
  64. package/assets/sass/burh-ds/pages/_error.scss +124 -124
  65. package/assets/sass/burh-ds/pages/_jobs.scss +424 -424
  66. package/assets/sass/burh-ds/pages/_testes.scss +350 -350
  67. package/assets/sass/burh-ds/variables/_colors.scss +350 -350
  68. package/assets/sass/burh-ds/variables/_global_settings.scss +39 -39
  69. package/assets/sass/core/alerts/_alert-dismissible.scss +48 -48
  70. package/assets/sass/core/alerts/_alert-notify.scss +47 -47
  71. package/assets/sass/core/alerts/_alert.scss +49 -49
  72. package/assets/sass/core/avatars/_avatar-group.scss +22 -22
  73. package/assets/sass/core/avatars/_avatar.scss +59 -59
  74. package/assets/sass/core/badges/_badge-circle.scss +29 -29
  75. package/assets/sass/core/badges/_badge-dot.scss +42 -42
  76. package/assets/sass/core/badges/_badge-floating.scss +18 -18
  77. package/assets/sass/core/badges/_badge.scss +67 -67
  78. package/assets/sass/core/breadcrumbs/_breadcrumb.scss +42 -42
  79. package/assets/sass/core/buttons/_button-brand.scss +12 -12
  80. package/assets/sass/core/buttons/_button-group.scss +79 -79
  81. package/assets/sass/core/buttons/_button-icon.scss +92 -92
  82. package/assets/sass/core/buttons/_button.scss +90 -90
  83. package/assets/sass/core/cards/_card-animations.scss +10 -10
  84. package/assets/sass/core/cards/_card-blockquote.scss +17 -17
  85. package/assets/sass/core/cards/_card-money.scss +27 -27
  86. package/assets/sass/core/cards/_card-pricing.scss +26 -26
  87. package/assets/sass/core/cards/_card-profile.scss +49 -49
  88. package/assets/sass/core/cards/_card-stats.scss +16 -16
  89. package/assets/sass/core/cards/_card.scss +70 -70
  90. package/assets/sass/core/charts/_chart.scss +69 -69
  91. package/assets/sass/core/close/_close.scss +47 -47
  92. package/assets/sass/core/collapse/_accordion.scss +38 -38
  93. package/assets/sass/core/content/_main-content.scss +17 -17
  94. package/assets/sass/core/custom-forms/_custom-checkbox.scss +47 -47
  95. package/assets/sass/core/custom-forms/_custom-control.scss +58 -58
  96. package/assets/sass/core/custom-forms/_custom-form.scss +45 -45
  97. package/assets/sass/core/custom-forms/_custom-radio.scss +38 -38
  98. package/assets/sass/core/custom-forms/_custom-toggle.scss +122 -122
  99. package/assets/sass/core/dropdowns/_dropdown.scss +89 -89
  100. package/assets/sass/core/footers/_footer.scss +159 -159
  101. package/assets/sass/core/forms/_form-extend.scss +38 -38
  102. package/assets/sass/core/forms/_form-validation.scss +78 -78
  103. package/assets/sass/core/forms/_form.scss +125 -125
  104. package/assets/sass/core/forms/_input-group.scss +136 -136
  105. package/assets/sass/core/grid/_grid.scss +31 -31
  106. package/assets/sass/core/headers/_header.scss +7 -7
  107. package/assets/sass/core/icons/_icon-actions.scss +57 -57
  108. package/assets/sass/core/icons/_icon-shape.scss +48 -48
  109. package/assets/sass/core/icons/_icon.scss +88 -88
  110. package/assets/sass/core/list-groups/_list-check.scss +52 -52
  111. package/assets/sass/core/list-groups/_list-group.scss +46 -46
  112. package/assets/sass/core/maps/_map.scss +10 -10
  113. package/assets/sass/core/masks/_mask.scss +33 -33
  114. package/assets/sass/core/medias/_media-comment.scss +33 -33
  115. package/assets/sass/core/medias/_media.scss +3 -3
  116. package/assets/sass/core/mixins/_alert.scss +22 -22
  117. package/assets/sass/core/mixins/_background-variant.scss +30 -30
  118. package/assets/sass/core/mixins/_badge.scss +12 -12
  119. package/assets/sass/core/mixins/_buttons.scss +105 -105
  120. package/assets/sass/core/mixins/_custom-forms.scss +47 -47
  121. package/assets/sass/core/mixins/_forms.scss +127 -127
  122. package/assets/sass/core/mixins/_icon.scss +10 -10
  123. package/assets/sass/core/mixins/_modals.scss +25 -25
  124. package/assets/sass/core/mixins/_popover.scss +35 -35
  125. package/assets/sass/core/modals/_modal.scss +31 -31
  126. package/assets/sass/core/navbars/_navbar-collapse.scss +37 -37
  127. package/assets/sass/core/navbars/_navbar-dropdown.scss +121 -121
  128. package/assets/sass/core/navbars/_navbar-floating.scss +17 -17
  129. package/assets/sass/core/navbars/_navbar-search.scss +216 -216
  130. package/assets/sass/core/navbars/_navbar-top.scss +58 -58
  131. package/assets/sass/core/navbars/_navbar-vertical.scss +507 -507
  132. package/assets/sass/core/navbars/_navbar.scss +368 -368
  133. package/assets/sass/core/navs/_nav-pills.scss +66 -66
  134. package/assets/sass/core/navs/_nav.scss +33 -33
  135. package/assets/sass/core/paginations/_pagination.scss +49 -49
  136. package/assets/sass/core/popovers/_popover.scss +21 -21
  137. package/assets/sass/core/progresses/_progress.scss +89 -89
  138. package/assets/sass/core/reboot/_reboot.scss +13 -13
  139. package/assets/sass/core/sections/_nucleo-icons.scss +117 -117
  140. package/assets/sass/core/separators/_separator.scss +54 -54
  141. package/assets/sass/core/shortcuts/_shortcut.scss +30 -30
  142. package/assets/sass/core/tables/_table-actions.scss +25 -25
  143. package/assets/sass/core/tables/_table-sortable.scss +28 -28
  144. package/assets/sass/core/tables/_table.scss +153 -153
  145. package/assets/sass/core/timeline/_timeline.scss +182 -182
  146. package/assets/sass/core/type/_article.scss +22 -22
  147. package/assets/sass/core/type/_display.scss +14 -14
  148. package/assets/sass/core/type/_heading.scss +65 -65
  149. package/assets/sass/core/type/_type.scss +27 -27
  150. package/assets/sass/core/utilities/_backgrounds.scss +51 -51
  151. package/assets/sass/core/utilities/_blurable.scss +37 -37
  152. package/assets/sass/core/utilities/_floating.scss +64 -64
  153. package/assets/sass/core/utilities/_helper.scss +18 -18
  154. package/assets/sass/core/utilities/_image.scss +9 -9
  155. package/assets/sass/core/utilities/_opacity.scss +35 -35
  156. package/assets/sass/core/utilities/_overflow.scss +11 -11
  157. package/assets/sass/core/utilities/_position.scss +25 -25
  158. package/assets/sass/core/utilities/_shadows.scss +28 -28
  159. package/assets/sass/core/utilities/_sizing.scss +7 -7
  160. package/assets/sass/core/utilities/_spacing.scss +107 -107
  161. package/assets/sass/core/utilities/_text.scss +49 -49
  162. package/assets/sass/core/utilities/_transform.scss +13 -13
  163. package/assets/sass/core/vendors/_bootstrap-datepicker.scss +279 -279
  164. package/assets/sass/core/vendors/_bootstrap-tagsinput.scss +67 -67
  165. package/assets/sass/core/vendors/_chartjs.scss +22 -22
  166. package/assets/sass/core/vendors/_dropzone.scss +74 -74
  167. package/assets/sass/core/vendors/_element-checkbox.scss +26 -26
  168. package/assets/sass/core/vendors/_element-tables.scss +61 -61
  169. package/assets/sass/core/vendors/_flatpickr.scss +72 -72
  170. package/assets/sass/core/vendors/_fullcalendar.scss +256 -256
  171. package/assets/sass/core/vendors/_headroom.scss +25 -25
  172. package/assets/sass/core/vendors/_lavalamp.scss +157 -157
  173. package/assets/sass/core/vendors/_nouislider.scss +413 -413
  174. package/assets/sass/core/vendors/_quill.scss +280 -280
  175. package/assets/sass/core/vendors/_scrollbar.scss +949 -949
  176. package/assets/sass/core/vendors/_select.scss +70 -70
  177. package/assets/sass/core/vendors/_sweet-alert-2.scss +22 -22
  178. package/assets/sass/core/vendors/_tags.scss +32 -32
  179. package/assets/sass/core/vendors/_vectormap.scss +16 -16
  180. package/assets/sass/custom/_components.scss +142 -142
  181. package/assets/sass/custom/_functions.scss +29 -29
  182. package/assets/sass/custom/_mixins.scss +15 -15
  183. package/assets/sass/custom/_transitions.scss +12 -12
  184. package/assets/sass/custom/_utilities.scss +31 -31
  185. package/assets/sass/custom/_variables.scss +1077 -1077
  186. package/assets/sass/custom/_vendors.scss +38 -38
  187. package/components/argon-core/Badge.vue +56 -56
  188. package/components/argon-core/Banners/Banner.vue +28 -28
  189. package/components/argon-core/Banners/BannerItem.vue +13 -13
  190. package/components/argon-core/BaseAlert.vue +74 -74
  191. package/components/argon-core/BaseButton.vue +81 -81
  192. package/components/argon-core/BaseHeader.vue +21 -21
  193. package/components/argon-core/BasePagination.vue +172 -172
  194. package/components/argon-core/BaseProgress.vue +121 -121
  195. package/components/argon-core/BaseSlider.vue +96 -96
  196. package/components/argon-core/BaseSwitch.vue +46 -46
  197. package/components/argon-core/BaseTable.vue +70 -70
  198. package/components/argon-core/Breadcrumb/Breadcrumb.vue +26 -26
  199. package/components/argon-core/Breadcrumb/BreadcrumbItem.vue +16 -16
  200. package/components/argon-core/Breadcrumb/RouteBreadcrumb.vue +45 -45
  201. package/components/argon-core/ButtonCheckbox.vue +39 -39
  202. package/components/argon-core/ButtonRadioGroup.vue +47 -47
  203. package/components/argon-core/Cards/Card.vue +71 -71
  204. package/components/argon-core/Cards/OpportunityCard.vue +39 -39
  205. package/components/argon-core/Cards/StatsCard.vue +49 -49
  206. package/components/argon-core/Charts/BarChart.js +30 -30
  207. package/components/argon-core/Charts/DoughnutChart.js +30 -30
  208. package/components/argon-core/Charts/LineChart.js +30 -30
  209. package/components/argon-core/Charts/PieChart.js +30 -30
  210. package/components/argon-core/Charts/config.js +491 -491
  211. package/components/argon-core/Charts/globalOptionsMixin.js +7 -7
  212. package/components/argon-core/Charts/optionHelpers.js +10 -10
  213. package/components/argon-core/CloseButton.vue +35 -35
  214. package/components/argon-core/Collapse/Collapse.vue +84 -84
  215. package/components/argon-core/Collapse/CollapseItem.vue +91 -91
  216. package/components/argon-core/Feed/Comment.vue +50 -50
  217. package/components/argon-core/Inputs/BaseCheckbox.vue +79 -79
  218. package/components/argon-core/Inputs/BaseInput.vue +242 -242
  219. package/components/argon-core/Inputs/BaseRadio.vue +68 -68
  220. package/components/argon-core/Inputs/DropzoneFileUpload.vue +138 -138
  221. package/components/argon-core/Inputs/DropzoneVideoUpload.vue +138 -138
  222. package/components/argon-core/Inputs/FileInput.vue +54 -54
  223. package/components/argon-core/Inputs/HtmlEditor.vue +105 -105
  224. package/components/argon-core/Inputs/IconCheckbox.vue +45 -45
  225. package/components/argon-core/Inputs/TagsInput.vue +100 -100
  226. package/components/argon-core/Modal.vue +183 -183
  227. package/components/argon-core/Navbar/BaseNav.vue +122 -122
  228. package/components/argon-core/Navbar/NavbarProgress.vue +19 -19
  229. package/components/argon-core/Navbar/NavbarProgressItem.vue +17 -17
  230. package/components/argon-core/Navbar/NavbarToggleButton.vue +21 -21
  231. package/components/argon-core/NavbarToggleButton.vue +29 -29
  232. package/components/argon-core/NotificationPlugin/Notification.vue +207 -207
  233. package/components/argon-core/NotificationPlugin/Notifications.vue +55 -55
  234. package/components/argon-core/NotificationPlugin/index.js +66 -66
  235. package/components/argon-core/SidebarPlugin/SideBar.vue +119 -119
  236. package/components/argon-core/SidebarPlugin/SidebarItem.vue +184 -184
  237. package/components/argon-core/SidebarPlugin/index.js +79 -79
  238. package/components/argon-core/Tabs/Tab.vue +33 -33
  239. package/components/argon-core/Tabs/Tabs.vue +170 -170
  240. package/components/argon-core/Timeline/TimeLine.vue +17 -17
  241. package/components/argon-core/Timeline/TimeLineItem.vue +30 -30
  242. package/components/argon-core/WorldMap/AsyncWorldMap.vue +28 -28
  243. package/components/argon-core/WorldMap/WorldMap.vue +127 -127
  244. package/components/argon-core/index.js +82 -82
  245. package/components/burh-ds/Avatar/AvatarLink.vue +40 -40
  246. package/components/burh-ds/Avatar/BusinessAvatar.vue +38 -38
  247. package/components/burh-ds/Banners/BannerHero.vue +23 -23
  248. package/components/burh-ds/Banners/BannerItem.vue +14 -14
  249. package/components/burh-ds/Button/ExportButton.vue +20 -20
  250. package/components/burh-ds/Button/SwitchStateButton.vue +165 -165
  251. package/components/burh-ds/Capsules/SearchSlug.vue +860 -860
  252. package/components/burh-ds/Capsules/UserProfile.vue +1938 -1938
  253. package/components/burh-ds/Cards/CampaignCard.vue +40 -40
  254. package/components/burh-ds/Cards/CompanyCard.vue +39 -39
  255. package/components/burh-ds/Cards/CourseInfoCard.vue +72 -72
  256. package/components/burh-ds/Cards/FunctionalityItem.vue +35 -35
  257. package/components/burh-ds/Cards/OpportunityCard.vue +115 -115
  258. package/components/burh-ds/Cards/PerformanceItem.vue +65 -65
  259. package/components/burh-ds/Cards/PlanCard.vue +192 -192
  260. package/components/burh-ds/Cards/ProductCard.vue +142 -142
  261. package/components/burh-ds/Cards/PurchaseCard.vue +58 -58
  262. package/components/burh-ds/Cards/PurchaseCardSimple.vue +58 -58
  263. package/components/burh-ds/Cards/TestCard.vue +192 -192
  264. package/components/burh-ds/Cards/TrainingCard.vue +151 -151
  265. package/components/burh-ds/Cards/WelcomeCard.vue +106 -106
  266. package/components/burh-ds/Carousel/FeedCarousel.vue +47 -47
  267. package/components/burh-ds/Carousel/ImageCarousel.vue +111 -111
  268. package/components/burh-ds/Collapse/DefaultCollapse.vue +70 -70
  269. package/components/burh-ds/Crop/Crop.vue +121 -121
  270. package/components/burh-ds/Curriculum/UserCurriculum/UpgradePlan.vue +74 -74
  271. package/components/burh-ds/Curriculum/UserCurriculum/UserCvLeftSide.vue +516 -516
  272. package/components/burh-ds/Curriculum/UserCurriculum/UserCvMiddle.vue +599 -512
  273. package/components/burh-ds/Curriculum/UserCurriculum/UserCvRightSide.vue +819 -819
  274. package/components/burh-ds/Curriculum/UserCurriculum/index.vue +249 -249
  275. package/components/burh-ds/Dropdown/AppLinkArea.vue +132 -132
  276. package/components/burh-ds/Dropdown/DropdownItem.vue +26 -26
  277. package/components/burh-ds/Dropdown/DropdownSection.vue +38 -38
  278. package/components/burh-ds/Dropdown/FaqVideoArea.vue +88 -88
  279. package/components/burh-ds/Dropdown/SignOutItem.vue +11 -11
  280. package/components/burh-ds/Dropdown/UserMenuDropdown.vue +63 -63
  281. package/components/burh-ds/FeaturedCompanies/FeaturedCompanies.vue +11 -11
  282. package/components/burh-ds/FeaturedCompanies/FeaturedCompanyCard.vue +16 -16
  283. package/components/burh-ds/Filters/FilterWithDropdown.vue +248 -248
  284. package/components/burh-ds/Groups/ProductItem.vue +62 -62
  285. package/components/burh-ds/Groups/SimpleProductItem.vue +145 -129
  286. package/components/burh-ds/Headings/BaseHeader.vue +24 -24
  287. package/components/burh-ds/Headings/Profile.vue +66 -66
  288. package/components/burh-ds/Headings/ProfileHeader.vue +105 -105
  289. package/components/burh-ds/Headings/SettingsHeader.vue +48 -48
  290. package/components/burh-ds/Headings/StepHeader.vue +122 -122
  291. package/components/burh-ds/Input/AutoComplete.vue +136 -136
  292. package/components/burh-ds/Inputs/BaseCheckbox.vue +73 -73
  293. package/components/burh-ds/Inputs/BaseSwitch.vue +43 -43
  294. package/components/burh-ds/Inputs/BaseSwitchSecondary.vue +84 -84
  295. package/components/burh-ds/Inputs/DoubleInputWithIcon.vue +100 -100
  296. package/components/burh-ds/Inputs/HtmlEditor.vue +64 -64
  297. package/components/burh-ds/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/AddCustomerModal.vue +527 -527
  312. package/components/burh-ds/Modals/AddMember.vue +301 -301
  313. package/components/burh-ds/Modals/AddRoleModal.vue +185 -185
  314. package/components/burh-ds/Modals/AppConfigModal.vue +390 -390
  315. package/components/burh-ds/Modals/CourseMessageModal.vue +66 -66
  316. package/components/burh-ds/Modals/DocsModal.vue +111 -111
  317. package/components/burh-ds/Modals/DropzoneModal.vue +123 -123
  318. package/components/burh-ds/Modals/InviteToRole.vue +272 -272
  319. package/components/burh-ds/Modals/MobileModal.vue +65 -65
  320. package/components/burh-ds/Modals/ModalTests.vue +167 -167
  321. package/components/burh-ds/Modals/PlanModal.vue +286 -286
  322. package/components/burh-ds/Modals/RequestModal.vue +281 -281
  323. package/components/burh-ds/Modals/SendCourse.vue +369 -369
  324. package/components/burh-ds/Modals/SendDisc.vue +230 -230
  325. package/components/burh-ds/Modals/SendTest.vue +369 -349
  326. package/components/burh-ds/Modals/ShareModal.vue +228 -228
  327. package/components/burh-ds/Modals/SmsModal.vue +327 -327
  328. package/components/burh-ds/Modals/SubModal.vue +41 -41
  329. package/components/burh-ds/Modals/UniversityAccessModal.vue +133 -133
  330. package/components/burh-ds/Modals/VideoModal.vue +80 -80
  331. package/components/burh-ds/Modals/WhatsappModal.vue +143 -143
  332. package/components/burh-ds/Navbar/BaseNav.vue +132 -132
  333. package/components/burh-ds/Notifications/Notification.vue +215 -215
  334. package/components/burh-ds/Notifications/Notifications.vue +55 -55
  335. package/components/burh-ds/Notifications/index.js +66 -66
  336. package/components/burh-ds/Pagination/NamedPagination.vue +176 -176
  337. package/components/burh-ds/Questions/Question.vue +183 -183
  338. package/components/burh-ds/Questions/QuestionAttach.vue +13 -13
  339. package/components/burh-ds/Questions/QuestionRadio.vue +122 -122
  340. package/components/burh-ds/Questions/QuestionRadioItem.vue +83 -83
  341. package/components/burh-ds/Questions/QuestionText.vue +66 -66
  342. package/components/burh-ds/Questions/index.js +13 -13
  343. package/components/burh-ds/Skeleton/BaseCardTest.vue +51 -51
  344. package/components/burh-ds/Skeleton/BaseTraining.vue +29 -29
  345. package/components/burh-ds/Skeleton/BufferFolderSkeleton.vue +41 -41
  346. package/components/burh-ds/Skeleton/BufferUserSkeleton.vue +142 -142
  347. package/components/burh-ds/Skeleton/Home.vue +100 -100
  348. package/components/burh-ds/Skeleton/RecruitmentCard.vue +203 -169
  349. package/components/burh-ds/Tabs/Tab.vue +56 -56
  350. package/components/burh-ds/Tabs/Tabs.vue +188 -188
  351. package/components/burh-ds/Video/MuxVideo.vue +39 -39
  352. package/components/burh-ds/index.js +20 -20
  353. package/components/layouts/argon/Content.vue +17 -17
  354. package/components/layouts/argon/navbar/BlankLayout.vue +61 -61
  355. package/components/layouts/argon/navbar/DashboardNavbar.vue +307 -307
  356. package/components/layouts/burh-ds/ContentFooter.vue +45 -45
  357. package/components/layouts/burh-ds/footer/FooterSimple.vue +20 -20
  358. package/components/layouts/burh-ds/footer/ProductsFooter.vue +330 -330
  359. package/components/layouts/burh-ds/footer/StatusFooter.vue +105 -105
  360. package/components/layouts/burh-ds/footer/StoreFooter.vue +54 -54
  361. package/components/layouts/burh-ds/navbar/AppNavbar.vue +97 -97
  362. package/components/layouts/burh-ds/navbar/BusinessGlobalNavbar.vue +435 -435
  363. package/components/layouts/burh-ds/navbar/CarreirasNavbar.vue +363 -363
  364. package/components/layouts/burh-ds/navbar/CompanyGlobalNavbar.vue +244 -244
  365. package/components/layouts/burh-ds/navbar/EmpresasNavbar.vue +374 -374
  366. package/components/layouts/burh-ds/navbar/EmpresasNavbarLogado.vue +388 -388
  367. package/components/layouts/burh-ds/navbar/GlobalNavbar.vue +535 -535
  368. package/components/layouts/burh-ds/navbar/MobileNavbar.vue +431 -431
  369. package/components/layouts/burh-ds/navbar/SimpleNavbar.vue +129 -129
  370. package/components/layouts/burh-ds/navbar/UserNavbar.vue +346 -346
  371. package/components/layouts/burh-ds/navbar/UserNavbarLogin.vue +253 -253
  372. package/components/pages/UserProfile/EditProfileForm.vue +142 -142
  373. package/components/pages/UserProfile/UserCard.vue +61 -61
  374. package/components/pages/dashboard/ActivityFeed.vue +102 -102
  375. package/components/pages/dashboard/LightTable.vue +194 -194
  376. package/components/pages/dashboard/PageVisitsTable.vue +107 -107
  377. package/components/pages/dashboard/ProgressTrackList.vue +82 -82
  378. package/components/pages/dashboard/SocialTrafficTable.vue +101 -101
  379. package/components/pages/dashboard/TaskList.vue +56 -56
  380. package/components/pages/dashboard/UserList.vue +72 -72
  381. package/components/pages/forms/BrowserDefaultsValidation.vue +106 -106
  382. package/components/pages/forms/CustomStylesValidation.vue +130 -130
  383. package/components/pages/forms/ServerSideValidation.vue +128 -128
  384. package/components/pages/register/FailedRegistration.vue +29 -29
  385. package/components/pages/register/SuccessfulRegistration.vue +29 -29
  386. package/components/tables/PaginatedTables/clientPaginationMixin.js +86 -86
  387. package/components/tables/RegularTables/CheckboxColoredTable.vue +112 -112
  388. package/components/tables/RegularTables/CheckboxTable.vue +101 -101
  389. package/components/tables/RegularTables/DarkTable.vue +114 -114
  390. package/components/tables/RegularTables/InlineActionsTable.vue +94 -94
  391. package/components/tables/RegularTables/LightTable.vue +117 -117
  392. package/components/tables/RegularTables/StripedTable.vue +94 -94
  393. package/components/tables/RegularTables/TranslucentTable.vue +114 -114
  394. package/components/tables/projects.js +75 -75
  395. package/components/tables/users.js +42 -42
  396. package/components/tables/users2.js +474 -474
  397. package/components/widgets/CalendarWidget.vue +119 -119
  398. package/components/widgets/CreditCard.vue +66 -66
  399. package/components/widgets/MembersCard.vue +99 -99
  400. package/components/widgets/PaypalCard.vue +45 -45
  401. package/components/widgets/ProgressTrackList.vue +76 -76
  402. package/components/widgets/StatsCards.vue +70 -70
  403. package/components/widgets/TaskList.vue +67 -67
  404. package/components/widgets/TimelineCard.vue +66 -66
  405. package/components/widgets/VectorMapCard.vue +139 -139
  406. package/components/widgets/VisaCard.vue +51 -51
  407. package/data/ListVideoLinksMock.json +21 -21
  408. package/dictionary.js +38 -38
  409. package/environment.env.md +34 -34
  410. package/eslint.config.json +12 -12
  411. package/layouts/AuthLayout.vue +191 -191
  412. package/layouts/BurhCarreirasLayout.vue +63 -63
  413. package/layouts/BurhEmpresasLayout.vue +64 -64
  414. package/layouts/BurhNoHeader.vue +63 -63
  415. package/layouts/BurhPublicLayout.vue +67 -67
  416. package/layouts/BurhUserLayout.vue +231 -231
  417. package/layouts/DashboardLayout.vue +226 -226
  418. package/layouts/error.vue +119 -119
  419. package/metadata.json +30 -30
  420. package/middleware/README.md +8 -8
  421. package/middleware/decodeUrl.js +8 -8
  422. package/middleware/maintenance.js +9 -9
  423. package/middleware/new-account.js +6 -6
  424. package/middleware/redirect.js +13 -13
  425. package/middleware/user-agent-error.js +28 -28
  426. package/package.json +114 -114
  427. package/plugins/README.md +7 -7
  428. package/plugins/analytics/ga.js +28 -28
  429. package/plugins/auth/auth.js +210 -210
  430. package/plugins/axios.js +32 -32
  431. package/plugins/carousel/owl-carousel.js +3 -3
  432. package/plugins/crop/crop.js +4 -4
  433. package/plugins/dashboard/dashboard-plugin.js +29 -29
  434. package/plugins/dashboard/directives/click-outside.js +15 -15
  435. package/plugins/dashboard/eventBus.js +1 -1
  436. package/plugins/dashboard/globalComponents.js +41 -41
  437. package/plugins/dashboard/globalDirectives.js +7 -7
  438. package/plugins/dom/loader.js +76 -76
  439. package/plugins/localstorage.js +20 -20
  440. package/plugins/location/location.js +41 -41
  441. package/plugins/pagination/pagination.js +3 -3
  442. package/plugins/qrcode/qrcode.js +4 -4
  443. package/plugins/router.js +8 -8
  444. package/plugins/social-media/fb-sdk.js +44 -44
  445. package/plugins/social-media/share-link-facebook.js +32 -32
  446. package/plugins/social-media/share-link-linkedin.js +30 -30
  447. package/plugins/social-media/share-link-twitter.js +30 -30
  448. package/plugins/social-media/share-link-whatsapp.js +31 -31
  449. package/polyfills.js +96 -96
  450. package/util/common.js +189 -189
  451. package/util/cookie.js +28 -28
  452. package/util/dom.js +63 -63
  453. package/util/getPrefixes.js +12 -12
  454. package/util/request.js +46 -46
  455. package/util/throttle.js +15 -15
@@ -1,527 +1,527 @@
1
- <template>
2
- <el-dialog
3
- :visible.sync="isActive"
4
- width="55%"
5
- custom-class="position-relative"
6
- @close="$emit('close')"
7
- >
8
- <template v-if="isActive">
9
- <div class="role">
10
- <h3>{{ isEditing ? 'Editando Cliente' : 'Cadastrar Cliente' }}</h3>
11
-
12
- <section>
13
- <validation-observer ref="sendRole">
14
- <validation-provider
15
- tag="div"
16
- name="Nome"
17
- rules="required"
18
- v-slot="{ errors }"
19
- >
20
- <label for="name">Nome da Empresa</label>
21
- <base-input
22
- type="text"
23
- id="name"
24
- v-model="name"
25
- placeholder="Nome da Empresa"
26
- :error="errors[0]"
27
- :valid="errors.length ? true : false"
28
- />
29
- </validation-provider>
30
- <validation-provider
31
- tag="div"
32
- name="Descrição"
33
- rules="required"
34
- v-slot="{ errors }"
35
- >
36
- <label for="description">Descrição</label>
37
- <base-input
38
- type="text"
39
- id="description"
40
- v-model="description"
41
- placeholder="Descrição"
42
- :error="errors[0]"
43
- :valid="errors.length ? true : false"
44
- />
45
- </validation-provider>
46
- <validation-provider
47
- tag="div"
48
- name="Razão Social"
49
- rules="required"
50
- v-slot="{ errors }"
51
- >
52
- <label for="social">Razão Social</label>
53
- <base-input
54
- type="text"
55
- id="social"
56
- v-model="social"
57
- placeholder="Razão Social"
58
- :error="errors[0]"
59
- :valid="errors.length ? true : false"
60
- />
61
- </validation-provider>
62
- <validation-provider
63
- tag="div"
64
- name="CNPJ"
65
- rules="required|min:14"
66
- v-slot="{ errors }"
67
- v-if="!isEditing"
68
- >
69
- <label for="cnpj">CNPJ</label>
70
- <base-input
71
- type="text"
72
- id="cnpj"
73
- v-model="cnpj"
74
- placeholder="CNPJ"
75
- :mask="['##.###.###/####-##']"
76
- :error="errors[0]"
77
- :valid="errors.length ? true : false"
78
- />
79
- </validation-provider>
80
-
81
- <validation-provider
82
- tag="div"
83
- name="CEP"
84
- rules="required|min:9"
85
- v-slot="{ errors }"
86
- >
87
- <label for="cep">CEP</label>
88
- <base-input
89
- type="text"
90
- id="cep"
91
- v-model="cep"
92
- placeholder="CEP"
93
- v-mask="['#####-###']"
94
- :error="errors[0]"
95
- :valid="errors.length ? true : false"
96
- />
97
- </validation-provider>
98
-
99
- <validation-provider
100
- tag="div"
101
- name="Cidade"
102
- rules="required"
103
- v-slot="{ errors }"
104
- >
105
- <label for="city" class="form-control-label">Cidade</label>
106
- <div class="form-group">
107
- <el-select
108
- id="city"
109
- v-model="city"
110
- placeholder="Cidade"
111
- filterable
112
- remote
113
- required
114
- auto-complete="off"
115
- :class="{'is-invalid': errors[0]}"
116
- :remote-method="getCityListFiltered"
117
- :loading="isSelectLoading"
118
-
119
- >
120
- <div class="text-center" slot="empty">
121
- <p class="small mb-2 mt-3">Nenhuma cidade encontrada</p>
122
- </div>
123
-
124
- <el-option
125
- v-for="city in cityListFiltered"
126
- :key="city.value"
127
- :value="city.value"
128
- :label="city.value"
129
- />
130
- </el-select>
131
- <div
132
- class="invalid-feedback"
133
- style="display: block;">
134
- {{ errors[0] }}
135
- </div>
136
- </div>
137
- </validation-provider>
138
-
139
- <validation-provider
140
- tag="div"
141
- name="Endereço"
142
- rules="required"
143
- v-slot="{ errors }"
144
- >
145
- <label for="address">Endereço</label>
146
- <base-input
147
- type="text"
148
- id="address"
149
- v-model="address"
150
- placeholder="Endereço"
151
- :error="errors[0]"
152
- :valid="errors.length ? true : false"
153
- />
154
- </validation-provider>
155
-
156
- <h2>Contato</h2>
157
-
158
- <div v-for="(contact, idx) in contacts" :key="idx">
159
- <div class="border p-3 rounded">
160
- <validation-provider
161
- tag="div"
162
- name="Responsável"
163
- :vid="`send-responsible-${idx}`"
164
- rules="required"
165
- v-slot="{ errors }"
166
- >
167
- <label for="name">Responsável</label>
168
- <base-input
169
- type="text"
170
- v-model="contact.name"
171
- placeholder="Responsável"
172
- :error="errors[0]"
173
- :valid="errors.length ? true : false"
174
- />
175
- </validation-provider>
176
-
177
- <validation-provider
178
- tag="div"
179
- name="E-mail"
180
- :vid="`send-email-${idx}`"
181
- rules="required"
182
- v-slot="{ errors }"
183
- >
184
- <label for="email">Email</label>
185
- <base-input
186
- type="email"
187
- v-model="contact.email"
188
- placeholder="Email"
189
- :error="errors[0]"
190
- :valid="errors.length ? true : false"
191
- />
192
- </validation-provider>
193
-
194
- <label for="phone">Telefone</label>
195
- <base-input
196
- type="text"
197
- v-model="contact.phone_number"
198
- :mask="['(##) ####-####']"
199
- placeholder="Telefone com DDD"
200
- />
201
-
202
- <label for="cellphone">Celular</label>
203
- <base-input
204
- type="text"
205
- v-model="contact.cellphone_number"
206
- :mask="['(##) ####-####', '(##) #####-####']"
207
- placeholder="Celular com DDD"
208
- />
209
-
210
- <label for="note">Observações</label>
211
- <base-input
212
- type="text"
213
- v-model="contact.note"
214
- placeholder="Observações"
215
- />
216
-
217
- <div class="col-1 pt-2">
218
- <i
219
- v-if="idx !== contacts.length - 1"
220
- class="fa fa-trash pointer"
221
- @click="removeSlot(idx)"
222
- ></i>
223
- </div>
224
- </div>
225
- <div class="col-1 pt-2">
226
- <i v-if="idx === contacts.length - 1" class="fa fa-plus pointer" @click="addSlot"></i>
227
- </div>
228
- </div>
229
- </validation-observer>
230
- <button
231
- type="button"
232
- :class="{'invalid-form': !permissions}"
233
- :disabled="!permissions"
234
- @click="sendRequest"
235
- class="btn ml-auto d-block btn-primary btn-md"
236
- >
237
- {{ isEditing ? 'Salvar' : 'Enviar' }}
238
- </button>
239
- </section>
240
- </div>
241
-
242
- <span class="tool tool-close" @click="$emit('close')">
243
- Fechar
244
- <font-awesome-icon
245
- :icon="['fas', 'times']"
246
- class="text-white ml-1"
247
- />
248
- </span>
249
- </template>
250
- </el-dialog>
251
- </template>
252
-
253
- <script>
254
- import { Dialog, Select, Option } from 'element-ui';
255
- import { mask } from 'vue-the-mask';
256
- import swal from 'sweetalert2';
257
- import removeAccents from 'remove-accents';
258
-
259
- export default {
260
- name: 'add-customer-modal',
261
- directives:{
262
- mask
263
- },
264
- components: {
265
- [Dialog.name]: Dialog,
266
- [Select.name]: Select,
267
- [Option.name]: Option,
268
-
269
- },
270
- props: {
271
- isActive: {
272
- type: Boolean,
273
- default: false,
274
- description: 'Modal open verification'
275
- },
276
- userData: {
277
- type: Object,
278
- default: null
279
- }
280
- },
281
- watch: {
282
- name(to) {
283
- if (to.length > 3) {
284
- this.permissions = true;
285
- }
286
- },
287
- isActive(to) {
288
- if (!to) {
289
- this.resetFields();
290
- this.cityList = [];
291
- }
292
- if(!this.cityList.length && to){
293
- this.getCityList();
294
- }
295
- },
296
- userData(to) {
297
- if (to !== null) {
298
- this.id = to.id;
299
- this.name = to.name;
300
- this.social = to.razao_social;
301
- this.description = to.description;
302
-
303
- to.contact.length > 0 && (this.contacts = to.contact);
304
-
305
- this.cnpj = to.cnpj;
306
- this.cep = to.cep;
307
- this.address = to.address;
308
- this.city = to.city;
309
- this.isEditing = true;
310
- } else {
311
- this.isEditing = false;
312
- }
313
- }
314
- },
315
- data() {
316
- return {
317
- name: '',
318
- social: '',
319
- description: '',
320
- cnpj: '',
321
- contacts: [],
322
- cep: '',
323
- address: '',
324
- city: '',
325
- isEditing: false,
326
- isSelectLoading: false,
327
- cityList: [],
328
- cityListFiltered: [],
329
- permissions: false,
330
- permessionsData: [
331
- {
332
- id: 22845207,
333
- name: 'Administrador'
334
- },
335
- {
336
- id: 22890835,
337
- name: 'Usuário Empresas'
338
- },
339
- {
340
- id: 22913699,
341
- name: 'Portal do RH'
342
- },
343
- {
344
- id: 22959227,
345
- name: 'Universidade Corporativa'
346
- },
347
- ]
348
- };
349
- },
350
- methods: {
351
- resetFields() {
352
- this.name = '';
353
- this.social = '';
354
- this.description = '';
355
- this.cnpj = '';
356
- this.contacts = [],
357
- this.cep = '';
358
- this.address = '';
359
- this.city = '';
360
-
361
- this.addSlot();
362
-
363
- this.$refs.sendRole && this.$refs.sendRole.reset();
364
- },
365
- addSlot(){
366
- const newContacts = {
367
- name:'',
368
- email:'',
369
- phone_number:'',
370
- cellphone_number:'',
371
- note:'',
372
- };
373
-
374
- this.contacts = [...this.contacts, newContacts];
375
- },
376
- removeSlot(idx){
377
- this.contacts.splice(idx, 1);
378
- },
379
- async showMessage(message, type = 'success') {
380
- const Toast = swal.mixin({
381
- toast: true,
382
- position: 'top-end',
383
- showConfirmButton: false,
384
- timer: 3000,
385
- });
386
-
387
- Toast.fire({
388
- type: type,
389
- title: message,
390
- });
391
- },
392
- async getCityList() {
393
- this.cityList = await fetch('https://raw.githubusercontent.com/Skuth/cidades-com-estados-brasil/main/cidades.json')
394
- .then(res => res.json())
395
- .catch(() => {});
396
- },
397
- getCityListFiltered(query) {
398
- if (query && query.length >= 2) {
399
- this.cityListFiltered = this.cityList.filter(city => removeAccents(String(city.city)).toLowerCase().startsWith(removeAccents(query.toLowerCase())));
400
- this.cityListFiltered = this.cityListFiltered.map(city => {
401
- return {
402
- value: `${city.city} / ${city.uf}`
403
- };
404
- });
405
- } else {
406
- this.cityListFiltered = [];
407
- }
408
- },
409
- async checkZipcode() {
410
- await this.$services.company
411
- .checkZipCode(this.cep)
412
- .then((response) => {
413
- if (response.error || response.data.length == 0) {
414
- response.error = true;
415
- } else {
416
- if (response.data) {
417
- if (response.data.city_name && response.data.region_code) {
418
- this.city = `${response.data.city_name} / ${response.data.region_code}`;
419
- }
420
- }
421
- }
422
- })
423
- .catch(() => {});
424
- },
425
- async sendRequest() {
426
- this.permissions = true;
427
-
428
- const pass = await this.$refs.sendRole.validate();
429
-
430
- if (!pass) {
431
- return this.showMessage('Preencha todos os campos obrigatórios!', 'error');
432
- }
433
-
434
- await this.checkZipcode();
435
-
436
- let payload = {
437
- name: this.name,
438
- razao_social: this.social,
439
- description: this.description,
440
- contact: this.contacts,
441
- cnpj: this.cnpj,
442
- cep: this.cep,
443
- address: this.address,
444
- city: this.city
445
- };
446
-
447
- const mode = this.isEditing ? 'update' : 'create';
448
-
449
- this.$emit('customer-submit', payload, mode, this.id);
450
- this.$emit('close');
451
- }
452
- },
453
- mounted() {
454
- this.getCityList();
455
-
456
- !this.isEditing && this.addSlot();
457
- }
458
- };
459
- </script>
460
-
461
- <style lang="scss">
462
- body.swal2-toast-shown .swal2-container.swal2-top-end, body.swal2-toast-shown .swal2-container.swal2-top-right {
463
- z-index: 10000!important;
464
- }
465
- </style>
466
-
467
- <style lang="scss" scoped>
468
- @import '@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss';
469
-
470
- /deep/ .el-dialog__body {
471
- padding: 0;
472
- }
473
-
474
- /deep/ .el-dialog__header {
475
- display: none;
476
- }
477
-
478
- /deep/ .el-dialog {
479
- overflow: hidden;
480
- border-radius: 10px;
481
- max-width: 47.5rem;
482
- }
483
-
484
- .role {
485
- padding: 2rem 3rem;
486
-
487
- section {
488
- margin-top: 2rem;
489
-
490
- .invalid-form {
491
- opacity: 0.3;
492
- }
493
- }
494
- }
495
-
496
- .is-invalid {
497
- /deep/ input {
498
- border-color: #de214b!important;
499
- }
500
- }
501
-
502
- .tool {
503
- position: absolute;
504
- top: 1rem;
505
- z-index: 10;
506
- color: $primary;
507
- cursor: pointer;
508
-
509
- &-close {
510
- position: absolute;
511
- width: 88px;
512
- height: 27px;
513
- right: 7px;
514
- top: 7px;
515
- display: flex;
516
- justify-content: center;
517
- align-items: center;
518
-
519
- font-size: 11px;
520
-
521
- font-weight: 500;
522
- background: rgba(0, 0, 0, 0.2);
523
- border-radius: 17.5px;
524
- color: #fff;
525
- }
526
- }
527
- </style>
1
+ <template>
2
+ <el-dialog
3
+ :visible.sync="isActive"
4
+ width="55%"
5
+ custom-class="position-relative"
6
+ @close="$emit('close')"
7
+ >
8
+ <template v-if="isActive">
9
+ <div class="role">
10
+ <h3>{{ isEditing ? 'Editando Cliente' : 'Cadastrar Cliente' }}</h3>
11
+
12
+ <section>
13
+ <validation-observer ref="sendRole">
14
+ <validation-provider
15
+ tag="div"
16
+ name="Nome"
17
+ rules="required"
18
+ v-slot="{ errors }"
19
+ >
20
+ <label for="name">Nome da Empresa</label>
21
+ <base-input
22
+ type="text"
23
+ id="name"
24
+ v-model="name"
25
+ placeholder="Nome da Empresa"
26
+ :error="errors[0]"
27
+ :valid="errors.length ? true : false"
28
+ />
29
+ </validation-provider>
30
+ <validation-provider
31
+ tag="div"
32
+ name="Descrição"
33
+ rules="required"
34
+ v-slot="{ errors }"
35
+ >
36
+ <label for="description">Descrição</label>
37
+ <base-input
38
+ type="text"
39
+ id="description"
40
+ v-model="description"
41
+ placeholder="Descrição"
42
+ :error="errors[0]"
43
+ :valid="errors.length ? true : false"
44
+ />
45
+ </validation-provider>
46
+ <validation-provider
47
+ tag="div"
48
+ name="Razão Social"
49
+ rules="required"
50
+ v-slot="{ errors }"
51
+ >
52
+ <label for="social">Razão Social</label>
53
+ <base-input
54
+ type="text"
55
+ id="social"
56
+ v-model="social"
57
+ placeholder="Razão Social"
58
+ :error="errors[0]"
59
+ :valid="errors.length ? true : false"
60
+ />
61
+ </validation-provider>
62
+ <validation-provider
63
+ tag="div"
64
+ name="CNPJ"
65
+ rules="required|min:14"
66
+ v-slot="{ errors }"
67
+ v-if="!isEditing"
68
+ >
69
+ <label for="cnpj">CNPJ</label>
70
+ <base-input
71
+ type="text"
72
+ id="cnpj"
73
+ v-model="cnpj"
74
+ placeholder="CNPJ"
75
+ :mask="['##.###.###/####-##']"
76
+ :error="errors[0]"
77
+ :valid="errors.length ? true : false"
78
+ />
79
+ </validation-provider>
80
+
81
+ <validation-provider
82
+ tag="div"
83
+ name="CEP"
84
+ rules="required|min:9"
85
+ v-slot="{ errors }"
86
+ >
87
+ <label for="cep">CEP</label>
88
+ <base-input
89
+ type="text"
90
+ id="cep"
91
+ v-model="cep"
92
+ placeholder="CEP"
93
+ v-mask="['#####-###']"
94
+ :error="errors[0]"
95
+ :valid="errors.length ? true : false"
96
+ />
97
+ </validation-provider>
98
+
99
+ <validation-provider
100
+ tag="div"
101
+ name="Cidade"
102
+ rules="required"
103
+ v-slot="{ errors }"
104
+ >
105
+ <label for="city" class="form-control-label">Cidade</label>
106
+ <div class="form-group">
107
+ <el-select
108
+ id="city"
109
+ v-model="city"
110
+ placeholder="Cidade"
111
+ filterable
112
+ remote
113
+ required
114
+ auto-complete="off"
115
+ :class="{'is-invalid': errors[0]}"
116
+ :remote-method="getCityListFiltered"
117
+ :loading="isSelectLoading"
118
+
119
+ >
120
+ <div class="text-center" slot="empty">
121
+ <p class="small mb-2 mt-3">Nenhuma cidade encontrada</p>
122
+ </div>
123
+
124
+ <el-option
125
+ v-for="city in cityListFiltered"
126
+ :key="city.value"
127
+ :value="city.value"
128
+ :label="city.value"
129
+ />
130
+ </el-select>
131
+ <div
132
+ class="invalid-feedback"
133
+ style="display: block;">
134
+ {{ errors[0] }}
135
+ </div>
136
+ </div>
137
+ </validation-provider>
138
+
139
+ <validation-provider
140
+ tag="div"
141
+ name="Endereço"
142
+ rules="required"
143
+ v-slot="{ errors }"
144
+ >
145
+ <label for="address">Endereço</label>
146
+ <base-input
147
+ type="text"
148
+ id="address"
149
+ v-model="address"
150
+ placeholder="Endereço"
151
+ :error="errors[0]"
152
+ :valid="errors.length ? true : false"
153
+ />
154
+ </validation-provider>
155
+
156
+ <h2>Contato</h2>
157
+
158
+ <div v-for="(contact, idx) in contacts" :key="idx">
159
+ <div class="border p-3 rounded">
160
+ <validation-provider
161
+ tag="div"
162
+ name="Responsável"
163
+ :vid="`send-responsible-${idx}`"
164
+ rules="required"
165
+ v-slot="{ errors }"
166
+ >
167
+ <label for="name">Responsável</label>
168
+ <base-input
169
+ type="text"
170
+ v-model="contact.name"
171
+ placeholder="Responsável"
172
+ :error="errors[0]"
173
+ :valid="errors.length ? true : false"
174
+ />
175
+ </validation-provider>
176
+
177
+ <validation-provider
178
+ tag="div"
179
+ name="E-mail"
180
+ :vid="`send-email-${idx}`"
181
+ rules="required"
182
+ v-slot="{ errors }"
183
+ >
184
+ <label for="email">Email</label>
185
+ <base-input
186
+ type="email"
187
+ v-model="contact.email"
188
+ placeholder="Email"
189
+ :error="errors[0]"
190
+ :valid="errors.length ? true : false"
191
+ />
192
+ </validation-provider>
193
+
194
+ <label for="phone">Telefone</label>
195
+ <base-input
196
+ type="text"
197
+ v-model="contact.phone_number"
198
+ :mask="['(##) ####-####']"
199
+ placeholder="Telefone com DDD"
200
+ />
201
+
202
+ <label for="cellphone">Celular</label>
203
+ <base-input
204
+ type="text"
205
+ v-model="contact.cellphone_number"
206
+ :mask="['(##) ####-####', '(##) #####-####']"
207
+ placeholder="Celular com DDD"
208
+ />
209
+
210
+ <label for="note">Observações</label>
211
+ <base-input
212
+ type="text"
213
+ v-model="contact.note"
214
+ placeholder="Observações"
215
+ />
216
+
217
+ <div class="col-1 pt-2">
218
+ <i
219
+ v-if="idx !== contacts.length - 1"
220
+ class="fa fa-trash pointer"
221
+ @click="removeSlot(idx)"
222
+ ></i>
223
+ </div>
224
+ </div>
225
+ <div class="col-1 pt-2">
226
+ <i v-if="idx === contacts.length - 1" class="fa fa-plus pointer" @click="addSlot"></i>
227
+ </div>
228
+ </div>
229
+ </validation-observer>
230
+ <button
231
+ type="button"
232
+ :class="{'invalid-form': !permissions}"
233
+ :disabled="!permissions"
234
+ @click="sendRequest"
235
+ class="btn ml-auto d-block btn-primary btn-md"
236
+ >
237
+ {{ isEditing ? 'Salvar' : 'Enviar' }}
238
+ </button>
239
+ </section>
240
+ </div>
241
+
242
+ <span class="tool tool-close" @click="$emit('close')">
243
+ Fechar
244
+ <font-awesome-icon
245
+ :icon="['fas', 'times']"
246
+ class="text-white ml-1"
247
+ />
248
+ </span>
249
+ </template>
250
+ </el-dialog>
251
+ </template>
252
+
253
+ <script>
254
+ import { Dialog, Select, Option } from 'element-ui';
255
+ import { mask } from 'vue-the-mask';
256
+ import swal from 'sweetalert2';
257
+ import removeAccents from 'remove-accents';
258
+
259
+ export default {
260
+ name: 'add-customer-modal',
261
+ directives:{
262
+ mask
263
+ },
264
+ components: {
265
+ [Dialog.name]: Dialog,
266
+ [Select.name]: Select,
267
+ [Option.name]: Option,
268
+
269
+ },
270
+ props: {
271
+ isActive: {
272
+ type: Boolean,
273
+ default: false,
274
+ description: 'Modal open verification'
275
+ },
276
+ userData: {
277
+ type: Object,
278
+ default: null
279
+ }
280
+ },
281
+ watch: {
282
+ name(to) {
283
+ if (to.length > 3) {
284
+ this.permissions = true;
285
+ }
286
+ },
287
+ isActive(to) {
288
+ if (!to) {
289
+ this.resetFields();
290
+ this.cityList = [];
291
+ }
292
+ if(!this.cityList.length && to){
293
+ this.getCityList();
294
+ }
295
+ },
296
+ userData(to) {
297
+ if (to !== null) {
298
+ this.id = to.id;
299
+ this.name = to.name;
300
+ this.social = to.razao_social;
301
+ this.description = to.description;
302
+
303
+ to.contact.length > 0 && (this.contacts = to.contact);
304
+
305
+ this.cnpj = to.cnpj;
306
+ this.cep = to.cep;
307
+ this.address = to.address;
308
+ this.city = to.city;
309
+ this.isEditing = true;
310
+ } else {
311
+ this.isEditing = false;
312
+ }
313
+ }
314
+ },
315
+ data() {
316
+ return {
317
+ name: '',
318
+ social: '',
319
+ description: '',
320
+ cnpj: '',
321
+ contacts: [],
322
+ cep: '',
323
+ address: '',
324
+ city: '',
325
+ isEditing: false,
326
+ isSelectLoading: false,
327
+ cityList: [],
328
+ cityListFiltered: [],
329
+ permissions: false,
330
+ permessionsData: [
331
+ {
332
+ id: 22845207,
333
+ name: 'Administrador'
334
+ },
335
+ {
336
+ id: 22890835,
337
+ name: 'Usuário Empresas'
338
+ },
339
+ {
340
+ id: 22913699,
341
+ name: 'Portal do RH'
342
+ },
343
+ {
344
+ id: 22959227,
345
+ name: 'Universidade Corporativa'
346
+ },
347
+ ]
348
+ };
349
+ },
350
+ methods: {
351
+ resetFields() {
352
+ this.name = '';
353
+ this.social = '';
354
+ this.description = '';
355
+ this.cnpj = '';
356
+ this.contacts = [],
357
+ this.cep = '';
358
+ this.address = '';
359
+ this.city = '';
360
+
361
+ this.addSlot();
362
+
363
+ this.$refs.sendRole && this.$refs.sendRole.reset();
364
+ },
365
+ addSlot(){
366
+ const newContacts = {
367
+ name:'',
368
+ email:'',
369
+ phone_number:'',
370
+ cellphone_number:'',
371
+ note:'',
372
+ };
373
+
374
+ this.contacts = [...this.contacts, newContacts];
375
+ },
376
+ removeSlot(idx){
377
+ this.contacts.splice(idx, 1);
378
+ },
379
+ async showMessage(message, type = 'success') {
380
+ const Toast = swal.mixin({
381
+ toast: true,
382
+ position: 'top-end',
383
+ showConfirmButton: false,
384
+ timer: 3000,
385
+ });
386
+
387
+ Toast.fire({
388
+ type: type,
389
+ title: message,
390
+ });
391
+ },
392
+ async getCityList() {
393
+ this.cityList = await fetch('https://raw.githubusercontent.com/Skuth/cidades-com-estados-brasil/main/cidades.json')
394
+ .then(res => res.json())
395
+ .catch(() => {});
396
+ },
397
+ getCityListFiltered(query) {
398
+ if (query && query.length >= 2) {
399
+ this.cityListFiltered = this.cityList.filter(city => removeAccents(String(city.city)).toLowerCase().startsWith(removeAccents(query.toLowerCase())));
400
+ this.cityListFiltered = this.cityListFiltered.map(city => {
401
+ return {
402
+ value: `${city.city} / ${city.uf}`
403
+ };
404
+ });
405
+ } else {
406
+ this.cityListFiltered = [];
407
+ }
408
+ },
409
+ async checkZipcode() {
410
+ await this.$services.company
411
+ .checkZipCode(this.cep)
412
+ .then((response) => {
413
+ if (response.error || response.data.length == 0) {
414
+ response.error = true;
415
+ } else {
416
+ if (response.data) {
417
+ if (response.data.city_name && response.data.region_code) {
418
+ this.city = `${response.data.city_name} / ${response.data.region_code}`;
419
+ }
420
+ }
421
+ }
422
+ })
423
+ .catch(() => {});
424
+ },
425
+ async sendRequest() {
426
+ this.permissions = true;
427
+
428
+ const pass = await this.$refs.sendRole.validate();
429
+
430
+ if (!pass) {
431
+ return this.showMessage('Preencha todos os campos obrigatórios!', 'error');
432
+ }
433
+
434
+ await this.checkZipcode();
435
+
436
+ let payload = {
437
+ name: this.name,
438
+ razao_social: this.social,
439
+ description: this.description,
440
+ contact: this.contacts,
441
+ cnpj: this.cnpj,
442
+ cep: this.cep,
443
+ address: this.address,
444
+ city: this.city
445
+ };
446
+
447
+ const mode = this.isEditing ? 'update' : 'create';
448
+
449
+ this.$emit('customer-submit', payload, mode, this.id);
450
+ this.$emit('close');
451
+ }
452
+ },
453
+ mounted() {
454
+ this.getCityList();
455
+
456
+ !this.isEditing && this.addSlot();
457
+ }
458
+ };
459
+ </script>
460
+
461
+ <style lang="scss">
462
+ body.swal2-toast-shown .swal2-container.swal2-top-end, body.swal2-toast-shown .swal2-container.swal2-top-right {
463
+ z-index: 10000!important;
464
+ }
465
+ </style>
466
+
467
+ <style lang="scss" scoped>
468
+ @import '@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss';
469
+
470
+ /deep/ .el-dialog__body {
471
+ padding: 0;
472
+ }
473
+
474
+ /deep/ .el-dialog__header {
475
+ display: none;
476
+ }
477
+
478
+ /deep/ .el-dialog {
479
+ overflow: hidden;
480
+ border-radius: 10px;
481
+ max-width: 47.5rem;
482
+ }
483
+
484
+ .role {
485
+ padding: 2rem 3rem;
486
+
487
+ section {
488
+ margin-top: 2rem;
489
+
490
+ .invalid-form {
491
+ opacity: 0.3;
492
+ }
493
+ }
494
+ }
495
+
496
+ .is-invalid {
497
+ /deep/ input {
498
+ border-color: #de214b!important;
499
+ }
500
+ }
501
+
502
+ .tool {
503
+ position: absolute;
504
+ top: 1rem;
505
+ z-index: 10;
506
+ color: $primary;
507
+ cursor: pointer;
508
+
509
+ &-close {
510
+ position: absolute;
511
+ width: 88px;
512
+ height: 27px;
513
+ right: 7px;
514
+ top: 7px;
515
+ display: flex;
516
+ justify-content: center;
517
+ align-items: center;
518
+
519
+ font-size: 11px;
520
+
521
+ font-weight: 500;
522
+ background: rgba(0, 0, 0, 0.2);
523
+ border-radius: 17.5px;
524
+ color: #fff;
525
+ }
526
+ }
527
+ </style>