@burh/nuxt-core 1.0.340 → 1.0.342

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 (29) hide show
  1. package/assets/sass/burh-ds/_global.scss +323 -323
  2. package/assets/sass/burh-ds/content/_interface-spa.scss +306 -306
  3. package/assets/sass/burh-ds/content/_main-content.scss +25 -25
  4. package/components/argon-core/BaseDropdown.vue +114 -114
  5. package/components/argon-core/LoadingPanel.vue +26 -26
  6. package/components/argon-core/Modal.vue +183 -183
  7. package/components/burh-ds/Cards/BaseCard.vue +190 -188
  8. package/components/burh-ds/Cards/FeatureBusinessCard.vue +74 -74
  9. package/components/burh-ds/Cards/PerformanceCard.vue +81 -81
  10. package/components/burh-ds/Cards/RecruitmentCard.vue +229 -229
  11. package/components/burh-ds/Curriculum/UserCurriculum/index.vue +245 -245
  12. package/components/burh-ds/Dropdown/JobStatusDropdown.vue +153 -146
  13. package/components/burh-ds/Filters/BaseFilterContainer.vue +91 -71
  14. package/components/burh-ds/Filters/FilterWithDropdown.vue +228 -169
  15. package/components/burh-ds/Inputs/SearchInput.vue +64 -64
  16. package/components/burh-ds/Modals/NewUserModal.vue +87 -87
  17. package/components/burh-ds/Modals/SharedModal.vue +270 -270
  18. package/components/burh-ds/Modals/UniversityAccessModal.vue +134 -134
  19. package/components/burh-ds/Skeleton/BaseCardUniversity.vue +79 -79
  20. package/components/burh-ds/Skeleton/BaseCardUser.vue +84 -84
  21. package/components/burh-ds/Skeleton/BaseCourseInfo.vue +71 -71
  22. package/components/burh-ds/Skeleton/Cards.vue +86 -86
  23. package/components/burh-ds/Skeleton/Home.vue +100 -100
  24. package/components/burh-ds/Skeleton/RecruitmentCard.vue +169 -169
  25. package/components/burh-ds/Skeleton/SkeletonAnimate.vue +96 -96
  26. package/environment.js +221 -221
  27. package/nuxt.config.js +207 -207
  28. package/package.json +1 -1
  29. package/plugins/vClickOutside.js +4 -4
@@ -1,146 +1,153 @@
1
- <template>
2
- <div class="job__status" v-if="selectedOptionId">
3
- <p class="job__status__title" @click.stop.prevent="toggleDropdown">
4
- <span :class="`color--${options[(selectedOptionId - 1)].color}`"></span>
5
- {{ options[(selectedOptionId - 1)].title }}
6
- <i class="fas fa-caret-down"></i>
7
- </p>
8
- <ul class="job__status__dropdown" :class="{ 'job__status__dropdown--open': isDropdownOpen }">
9
- <li
10
- v-for="item in options"
11
- :key="item.id"
12
- >
13
- <p
14
- class="job__status__title"
15
- v-if="item.id !== selectedOptionId"
16
- @click.stop.prevent="selectOption(item.id)"
17
- >
18
- <span :class="`color--${item.color}`"></span>
19
- {{ item.title }}
20
- </p>
21
- </li>
22
- </ul>
23
- </div>
24
- </template>
25
-
26
- <script>
27
- export default {
28
- name: 'job-status-dropdown',
29
- props: {
30
- status: {
31
- type: Number,
32
- default: 1
33
- }
34
- },
35
- data() {
36
- return {
37
- isDropdownOpen: false,
38
- selectedOptionId: null,
39
- options: [
40
- {
41
- id: 1,
42
- title: 'Aberta',
43
- color: 'green'
44
- },
45
- {
46
- id: 2,
47
- title: 'Em Análise',
48
- color: 'yellow'
49
- },
50
- {
51
- id: 3,
52
- title: 'Pausada',
53
- color: 'pink'
54
- },
55
- {
56
- id: 4,
57
- title: 'Finalizada',
58
- color: 'blue'
59
- }
60
- ]
61
- };
62
- },
63
- mounted() {
64
- this.selectedOptionId = this.status;
65
- },
66
- methods: {
67
- toggleDropdown() {
68
- this.isDropdownOpen = !this.isDropdownOpen;
69
- },
70
- selectOption(id) {
71
- this.selectedOptionId = id;
72
- this.isDropdownOpen = false;
73
- this.$emit('select', id);
74
- }
75
- }
76
- };
77
- </script>
78
-
79
- <style lang="scss" scoped>
80
- .job__status {
81
- position: relative;
82
- z-index: 120;
83
- &__dropdown {
84
- position: absolute;
85
- left: -20px;
86
- transform: translateY(-10px);
87
- opacity: 0;
88
- pointer-events: none;
89
- background: #fff;
90
- box-shadow: 3px 3px 20px rgba(0, 0, 0, 0.2);
91
- list-style: none;
92
- border-radius: 4px;
93
- overflow: hidden;
94
- min-width: 220px;
95
- padding: 0!important;
96
- margin: 0!important;
97
- transition: transform 0.3s, opacity 0.3s;
98
- transform-origin: top;
99
- &--open {
100
- transform: translateY(10px);
101
- opacity: 1;
102
- pointer-events: all;
103
- }
104
- li {
105
- display: block;
106
- p {
107
- padding: 15px 20px;
108
- transition: background 0.5s, color 0.5s;
109
- &:hover {
110
- background: #F6F9FC;
111
- color: #1F8CEB;
112
- }
113
- }
114
- }
115
- }
116
- &__title {
117
- cursor: pointer;
118
- display: flex;
119
- align-items: center;
120
- user-select: none;
121
- margin: 0!important;
122
- span {
123
- display: block;
124
- border-radius: 100px;
125
- width: 12px;
126
- height: 12px;
127
- margin-right: 10px;
128
- &.color--green {
129
- background: #3AC089;
130
- }
131
- &.color--yellow {
132
- background: #FFCF02;
133
- }
134
- &.color--pink {
135
- background: #FF539D;
136
- }
137
- &.color--blue {
138
- background: #0C95FC;
139
- }
140
- }
141
- i {
142
- margin-left: 10px;
143
- }
144
- }
145
- }
146
- </style>
1
+ <template>
2
+ <div
3
+ v-if="selectedOptionId"
4
+ v-click-outside="dropDownOutsideClick"
5
+ class="job__status"
6
+ >
7
+ <p class="job__status__title" @click.stop.prevent="toggleDropdown">
8
+ <span :class="`color--${options[(selectedOptionId - 1)].color}`"></span>
9
+ {{ options[(selectedOptionId - 1)].title }}
10
+ <i class="fas fa-caret-down"></i>
11
+ </p>
12
+ <ul class="job__status__dropdown" :class="{ 'job__status__dropdown--open': isDropdownOpen }">
13
+ <li
14
+ v-for="item in options"
15
+ :key="item.id"
16
+ >
17
+ <p
18
+ class="job__status__title"
19
+ v-if="item.id !== selectedOptionId"
20
+ @click.stop.prevent="selectOption(item.id)"
21
+ >
22
+ <span :class="`color--${item.color}`"></span>
23
+ {{ item.title }}
24
+ </p>
25
+ </li>
26
+ </ul>
27
+ </div>
28
+ </template>
29
+
30
+ <script>
31
+ export default {
32
+ name: 'job-status-dropdown',
33
+ props: {
34
+ status: {
35
+ type: Number,
36
+ default: 1
37
+ }
38
+ },
39
+ data() {
40
+ return {
41
+ isDropdownOpen: false,
42
+ selectedOptionId: null,
43
+ options: [
44
+ {
45
+ id: 1,
46
+ title: 'Aberta',
47
+ color: 'green'
48
+ },
49
+ {
50
+ id: 2,
51
+ title: 'Em Análise',
52
+ color: 'yellow'
53
+ },
54
+ {
55
+ id: 3,
56
+ title: 'Pausada',
57
+ color: 'pink'
58
+ },
59
+ {
60
+ id: 4,
61
+ title: 'Finalizada',
62
+ color: 'blue'
63
+ }
64
+ ]
65
+ };
66
+ },
67
+ mounted() {
68
+ this.selectedOptionId = this.status;
69
+ },
70
+ methods: {
71
+ toggleDropdown() {
72
+ this.isDropdownOpen = !this.isDropdownOpen;
73
+ },
74
+ selectOption(id) {
75
+ this.selectedOptionId = id;
76
+ this.isDropdownOpen = false;
77
+ this.$emit('select', id);
78
+ },
79
+ dropDownOutsideClick() {
80
+ this.isDropdownOpen = false;
81
+ }
82
+ }
83
+ };
84
+ </script>
85
+
86
+ <style lang="scss" scoped>
87
+ .job__status {
88
+ position: relative;
89
+ z-index: 120;
90
+ &__dropdown {
91
+ position: absolute;
92
+ left: -20px;
93
+ transform: translateY(-10px);
94
+ opacity: 0;
95
+ pointer-events: none;
96
+ background: #fff;
97
+ box-shadow: 3px 3px 20px rgba(0, 0, 0, 0.2);
98
+ list-style: none;
99
+ border-radius: 4px;
100
+ overflow: hidden;
101
+ min-width: 220px;
102
+ padding: 0!important;
103
+ margin: 0!important;
104
+ transition: transform 0.3s, opacity 0.3s;
105
+ transform-origin: top;
106
+ &--open {
107
+ transform: translateY(10px);
108
+ opacity: 1;
109
+ pointer-events: all;
110
+ }
111
+ li {
112
+ display: block;
113
+ p {
114
+ padding: 15px 20px;
115
+ transition: background 0.5s, color 0.5s;
116
+ &:hover {
117
+ background: #F6F9FC;
118
+ color: #1F8CEB;
119
+ }
120
+ }
121
+ }
122
+ }
123
+ &__title {
124
+ cursor: pointer;
125
+ display: flex;
126
+ align-items: center;
127
+ user-select: none;
128
+ margin: 0!important;
129
+ span {
130
+ display: block;
131
+ border-radius: 100px;
132
+ width: 12px;
133
+ height: 12px;
134
+ margin-right: 10px;
135
+ &.color--green {
136
+ background: #3AC089;
137
+ }
138
+ &.color--yellow {
139
+ background: #FFCF02;
140
+ }
141
+ &.color--pink {
142
+ background: #FF539D;
143
+ }
144
+ &.color--blue {
145
+ background: #0C95FC;
146
+ }
147
+ }
148
+ i {
149
+ margin-left: 10px;
150
+ }
151
+ }
152
+ }
153
+ </style>
@@ -1,71 +1,91 @@
1
- <template>
2
- <div class="base__filter">
3
- <div class="base__filter__content">
4
- <slot />
5
- </div>
6
-
7
- <div v-if="showFooter" class="base__filter__footer">
8
- <div>
9
- <button
10
- @click="$emit('filter-clear')"
11
- class="base__filter__button clear"
12
- >
13
- <span>Limpar</span>
14
- </button>
15
- </div>
16
- <div>
17
- <button
18
- @click="$emit('filter-apply')"
19
- class="base__filter__button apply"
20
- >
21
- <span>Filtrar</span>
22
- </button>
23
- </div>
24
- </div>
25
- </div>
26
- </template>
27
-
28
- <script>
29
- export default {
30
- name: 'base-filter-container',
31
- props: {
32
- showFooter: {
33
- type: Boolean,
34
- default: true
35
- }
36
- }
37
- };
38
- </script>
39
-
40
- <style lang="scss" scoped>
41
- .base__filter {
42
- display: flex;
43
- flex-direction: column;
44
- justify-content: space-between;
45
- min-height: 200px;
46
- &__footer {
47
- display: flex;
48
- align-items: center;
49
- justify-content: space-between;
50
- .base__filter__button {
51
- background: transparent;
52
- border: none;
53
- color: #32325d;
54
- padding: 10px 20px;
55
- border-radius: 4px;
56
- transition: background 0.5s, color 0.5s;
57
- &:focus {
58
- outline: none;
59
- }
60
- &.clear:hover {
61
- background: rgba(222, 33, 75, 0.1);
62
- color: #de214b;
63
- }
64
- &.apply:hover {
65
- background: rgba(88, 101, 242, 0.1);
66
- color: #5865F2;
67
- }
68
- }
69
- }
70
- }
71
- </style>
1
+ <template>
2
+ <div class="base__filter">
3
+ <div class="base__filter__content">
4
+ <slot />
5
+ </div>
6
+
7
+ <div v-if="showFooter" class="base__filter__footer">
8
+ <div>
9
+ <button
10
+ @click="$emit('filter-clear')"
11
+ class="base__filter__button clear"
12
+ >
13
+ <span>Limpar</span>
14
+ </button>
15
+ </div>
16
+ <div>
17
+ <button
18
+ @click="$emit('filter-apply')"
19
+ class="base__filter__button apply"
20
+ >
21
+ <span>Filtrar</span>
22
+ </button>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </template>
27
+
28
+ <script>
29
+ export default {
30
+ name: 'base-filter-container',
31
+ props: {
32
+ showFooter: {
33
+ type: Boolean,
34
+ default: true
35
+ }
36
+ }
37
+ };
38
+ </script>
39
+
40
+ <style lang="scss" scoped>
41
+ .base__filter {
42
+ display: flex;
43
+ flex-direction: column;
44
+ justify-content: space-between;
45
+ max-height: 350px;
46
+ &__content {
47
+ max-height: calc(350px - 44px);
48
+ overflow: hidden;
49
+ overflow-y: auto;
50
+ &::-webkit-scrollbar-track {
51
+ border-radius: 10px;
52
+ background-color: #f5f5f5;
53
+ }
54
+
55
+ &::-webkit-scrollbar {
56
+ width: 4px;
57
+ background-color: #f5f5f5;
58
+ }
59
+
60
+ &::-webkit-scrollbar-thumb {
61
+ border-radius: 10px;
62
+ background-color: #e9e8e8;
63
+ }
64
+ }
65
+ &__footer {
66
+ display: flex;
67
+ align-items: center;
68
+ justify-content: space-between;
69
+ margin-top: 20px;
70
+ .base__filter__button {
71
+ background: transparent;
72
+ border: none;
73
+ color: #32325d;
74
+ padding: 10px 20px;
75
+ border-radius: 4px;
76
+ transition: background 0.5s, color 0.5s;
77
+ &:focus {
78
+ outline: none;
79
+ }
80
+ &.clear:hover {
81
+ background: rgba(222, 33, 75, 0.1);
82
+ color: #de214b;
83
+ }
84
+ &.apply:hover {
85
+ background: rgba(88, 101, 242, 0.1);
86
+ color: #5865F2;
87
+ }
88
+ }
89
+ }
90
+ }
91
+ </style>