@burh/nuxt-core 1.0.457 → 1.0.458

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.
@@ -1,86 +1,86 @@
1
- <template>
2
- <div id="content">
3
- <div class="skeleton">
4
- <div class="skeleton-wrapper">
5
- <div class="skeleton-wrapper-inner">
6
- <div class="skeleton-wrapper-body">
7
- <skeleton-animate class="skeleton-avatar" :width="60" :height="60" img />
8
- <skeleton-animate class="skeleton-author" :width="150" :height="20" />
9
- <skeleton-animate class="skeleton-label" :width="100" :height="10" />
10
- <skeleton-animate class="skeleton-content-1" :width="500" :height="10" />
11
- <skeleton-animate class="skeleton-content-2" :width="500" :height="10" />
12
- <skeleton-animate class="skeleton-content-3" :width="500" :height="10" />
13
- </div>
14
- </div>
15
- </div>
16
- </div>
17
- </div>
18
- </template>
19
-
20
- <script>
21
- import SkeletonAnimate from './SkeletonAnimate.vue';
22
-
23
- export default {
24
- name: 'card-skeleton',
25
- components: {
26
- SkeletonAnimate
27
- }
28
- };
29
- </script>
30
-
31
- <style>
32
- #content {
33
- width: 100%;
34
- }
35
- .skeleton-wrapper {
36
- background: #fff;
37
- border-radius: 4px;
38
- -webkit-border-radius: 4px;
39
- margin: 10px 15px;
40
- box-shadow: 0 0 2rem 0 rgb(136 152 170 / 15%);
41
- padding: 40px 20px;
42
- border-radius: .375rem;
43
- }
44
-
45
- .skeleton-wrapper-inner {
46
- height: 150px;
47
- padding: 15px;
48
- position: relative;
49
- }
50
-
51
- .skeleton-wrapper-body div {
52
- position: absolute;
53
- right: 15px;
54
- left: 15px;
55
- top: 15px;
56
- }
57
-
58
- div.skeleton-avatar {
59
- right: auto;
60
- }
61
- div.skeleton-author {
62
- top: 20px;
63
- left: 95px;
64
- }
65
-
66
- div.skeleton-label {
67
- left: 95px;
68
- top: 50px;
69
- }
70
- div.skeleton-content-1,
71
- div.skeleton-content-2,
72
- div.skeleton-content-3 {
73
- left: 15px;
74
- right: 15px;
75
- width: 98%!important;
76
- }
77
- div.skeleton-content-1 {
78
- top: 100px;
79
- }
80
- div.skeleton-content-2 {
81
- top: 120px;
82
- }
83
- div.skeleton-content-3 {
84
- top: 140px;
85
- }
86
- </style>
1
+ <template>
2
+ <div id="content">
3
+ <div class="skeleton">
4
+ <div class="skeleton-wrapper">
5
+ <div class="skeleton-wrapper-inner">
6
+ <div class="skeleton-wrapper-body">
7
+ <skeleton-animate class="skeleton-avatar" :width="60" :height="60" img />
8
+ <skeleton-animate class="skeleton-author" :width="150" :height="20" />
9
+ <skeleton-animate class="skeleton-label" :width="100" :height="10" />
10
+ <skeleton-animate class="skeleton-content-1" :width="500" :height="10" />
11
+ <skeleton-animate class="skeleton-content-2" :width="500" :height="10" />
12
+ <skeleton-animate class="skeleton-content-3" :width="500" :height="10" />
13
+ </div>
14
+ </div>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ </template>
19
+
20
+ <script>
21
+ import SkeletonAnimate from './SkeletonAnimate.vue';
22
+
23
+ export default {
24
+ name: 'card-skeleton',
25
+ components: {
26
+ SkeletonAnimate
27
+ }
28
+ };
29
+ </script>
30
+
31
+ <style>
32
+ #content {
33
+ width: 100%;
34
+ }
35
+ .skeleton-wrapper {
36
+ background: #fff;
37
+ border-radius: 4px;
38
+ -webkit-border-radius: 4px;
39
+ margin: 10px 15px;
40
+ box-shadow: 0 0 2rem 0 rgb(136 152 170 / 15%);
41
+ padding: 40px 20px;
42
+ border-radius: .375rem;
43
+ }
44
+
45
+ .skeleton-wrapper-inner {
46
+ height: 150px;
47
+ padding: 15px;
48
+ position: relative;
49
+ }
50
+
51
+ .skeleton-wrapper-body div {
52
+ position: absolute;
53
+ right: 15px;
54
+ left: 15px;
55
+ top: 15px;
56
+ }
57
+
58
+ div.skeleton-avatar {
59
+ right: auto;
60
+ }
61
+ div.skeleton-author {
62
+ top: 20px;
63
+ left: 95px;
64
+ }
65
+
66
+ div.skeleton-label {
67
+ left: 95px;
68
+ top: 50px;
69
+ }
70
+ div.skeleton-content-1,
71
+ div.skeleton-content-2,
72
+ div.skeleton-content-3 {
73
+ left: 15px;
74
+ right: 15px;
75
+ width: 98%!important;
76
+ }
77
+ div.skeleton-content-1 {
78
+ top: 100px;
79
+ }
80
+ div.skeleton-content-2 {
81
+ top: 120px;
82
+ }
83
+ div.skeleton-content-3 {
84
+ top: 140px;
85
+ }
86
+ </style>
@@ -1,168 +1,168 @@
1
- <template>
2
- <base-nav
3
- container-classes="container-fluid container-fluid--bu"
4
- class="navbar-top border-bottom navbar-expand navbar-animated"
5
- :class="{'bg-white navbar-light': type === 'default'}"
6
- data-menu="fixed"
7
- >
8
- <div slot="brand" class="navbar-wrapper">
9
- <nuxt-link class="navbar-brand d-flex" :to="goToPage">
10
- <img :src="logoTipo || logoFull" class="navbar-brand-img navbar-brand-img--full" alt="BURH: Suas vagas">
11
- <img :src="logoTipo || logoMini" class="navbar-brand-img navbar-brand-img--mini" alt="BURH: Suas vagas">
12
- </nuxt-link>
13
- </div>
14
-
15
- <!-- Navbar links -->
16
- <ul v-if="menuOptions != null" class="navbar-nav navbar-nav--menu align-items-center ml-md-auto">
17
- <li class="nav-item">
18
- <a class="btn btn-outline-primary btn-sm mb-0 mt-0 mr-4" href="#">
19
- Entrar
20
- </a>
21
- </li>
22
- <li class="nav-item">
23
- <a class="btn btn-primary btn-sm mb-0 mt-0" href="#">
24
- Cadastre-se
25
- </a>
26
- </li>
27
- </ul>
28
- <slot></slot>
29
- </base-nav>
30
- </template>
31
- <script>
32
- import { CollapseTransition } from 'vue2-transitions';
33
- import BaseNav from '@burh/nuxt-core/components/argon-core/Navbar/BaseNav.vue';
34
- import Modal from '@burh/nuxt-core/components/argon-core/Modal.vue';
35
-
36
- export default {
37
- name: 'public-navbar',
38
- components: {
39
- CollapseTransition,
40
- BaseNav,
41
- Modal
42
- },
43
- props: {
44
- type: {
45
- type: String,
46
- default: 'default', // default|light
47
- description: 'Look of the dashboard navbar. Default (Green) or light (gray)'
48
- },
49
- logoMini: {
50
- type: String,
51
- default: '/img/brand/burh-isotipo.svg',
52
- description: 'Logo for scrolled navbar'
53
- },
54
- logoFull: {
55
- type: String,
56
- default: '/img/brand/burh-imagotipo.svg',
57
- description: 'Logo for default navbar'
58
- },
59
- menuOptions: {
60
- type: String,
61
- default: null,
62
- description: ''
63
- },
64
- redirectPage: {
65
- type: String,
66
- default: null
67
- }
68
- },
69
- computed: {
70
- routeName() {
71
- const { name } = this.$route;
72
- return this.capitalizeFirstLetter(name);
73
- },
74
- clazz: function() {
75
- var clzz = 'control-form';
76
- if (this.focusSearchControl == false) {
77
- clzz += ' only-text';
78
- }
79
- return clzz;
80
- }
81
- },
82
- data() {
83
- return {
84
- activeNotifications: false,
85
- showMenu: false,
86
- searchModalVisible: false,
87
- searchQuery: '',
88
- menuSearch: '',
89
- focusSearchControl: false,
90
- goToPage: '/',
91
- logoTipo: null,
92
- };
93
- },
94
- methods: {
95
- capitalizeFirstLetter(string) {
96
- return string.charAt(0).toUpperCase() + string.slice(1);
97
- },
98
- toggleNotificationDropDown() {
99
- this.activeNotifications = !this.activeNotifications;
100
- },
101
- closeDropDown() {
102
- this.activeNotifications = false;
103
- },
104
- toggleSidebar() {
105
- this.$sidebar.displaySidebar(!this.$sidebar.showSidebar);
106
- },
107
- hideSidebar() {
108
- this.$sidebar.displaySidebar(false);
109
- },
110
- handleSCroll (event) {
111
- let header = document.querySelector('[data-menu="fixed"]');
112
- let page = document.querySelector('html');
113
- let screenHeight = window.innerHeight;
114
- if (window.scrollY > screenHeight && !header.className.includes('navbar-main--mini')) {
115
- header.classList.add('navbar-main--mini');
116
- //page.classList.add('menu-fixed');
117
- } else if (window.scrollY < screenHeight) {
118
- header.classList.remove('navbar-main--mini');
119
- //page.classList.remove('menu-fixed');
120
-
121
- }
122
- },
123
- onFocus: function(event) {
124
- event.target.select();
125
- this.focusSearchControl = true;
126
- },
127
- onBlur: function(event) {
128
- this.focusSearchControl = false;
129
- }
130
- },
131
- mounted () {
132
- this.$bus.$on('change-logo', ({ logo, redirectTo }) => {
133
- this.goToPage = redirectTo;
134
- this.logoTipo = logo;
135
- });
136
- window.addEventListener('scroll', this.handleSCroll);
137
- let header = document.querySelector('[data-menu="fixed"]');
138
- let page = document.querySelector('html');
139
-
140
- if (header) {
141
- page.classList.add('menu-fixed');
142
- }
143
-
144
- if (this.redirectPage) {
145
- this.goToPage = this.redirectPage;
146
- }
147
- },
148
- destroyed () {
149
- window.removeEventListener('scroll', this.handleSCroll);
150
- }
151
- };
152
- </script>
153
- <style lang="scss">
154
- @import "@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss";
155
-
156
- .navbar {
157
- .navbar-search-light {
158
- &--focus {
159
- box-shadow: 0 0 .5rem 0 darken($primary, 20%);
160
- }
161
- }
162
- .navbar-search-dark {
163
- &--focus {
164
- box-shadow: 0 0 2rem 0 $primary;
165
- }
166
- }
167
- }
168
- </style>
1
+ <template>
2
+ <base-nav
3
+ container-classes="container-fluid container-fluid--bu"
4
+ class="navbar-top border-bottom navbar-expand navbar-animated"
5
+ :class="{'bg-white navbar-light': type === 'default'}"
6
+ data-menu="fixed"
7
+ >
8
+ <div slot="brand" class="navbar-wrapper">
9
+ <nuxt-link class="navbar-brand d-flex" :to="goToPage">
10
+ <img :src="logoTipo || logoFull" class="navbar-brand-img navbar-brand-img--full" alt="BURH: Suas vagas">
11
+ <img :src="logoTipo || logoMini" class="navbar-brand-img navbar-brand-img--mini" alt="BURH: Suas vagas">
12
+ </nuxt-link>
13
+ </div>
14
+
15
+ <!-- Navbar links -->
16
+ <ul v-if="menuOptions != null" class="navbar-nav navbar-nav--menu align-items-center ml-md-auto">
17
+ <li class="nav-item">
18
+ <a class="btn btn-outline-primary btn-sm mb-0 mt-0 mr-4" href="#">
19
+ Entrar
20
+ </a>
21
+ </li>
22
+ <li class="nav-item">
23
+ <a class="btn btn-primary btn-sm mb-0 mt-0" href="#">
24
+ Cadastre-se
25
+ </a>
26
+ </li>
27
+ </ul>
28
+ <slot></slot>
29
+ </base-nav>
30
+ </template>
31
+ <script>
32
+ import { CollapseTransition } from 'vue2-transitions';
33
+ import BaseNav from '@burh/nuxt-core/components/argon-core/Navbar/BaseNav.vue';
34
+ import Modal from '@burh/nuxt-core/components/argon-core/Modal.vue';
35
+
36
+ export default {
37
+ name: 'public-navbar',
38
+ components: {
39
+ CollapseTransition,
40
+ BaseNav,
41
+ Modal
42
+ },
43
+ props: {
44
+ type: {
45
+ type: String,
46
+ default: 'default', // default|light
47
+ description: 'Look of the dashboard navbar. Default (Green) or light (gray)'
48
+ },
49
+ logoMini: {
50
+ type: String,
51
+ default: '/img/brand/burh-isotipo.svg',
52
+ description: 'Logo for scrolled navbar'
53
+ },
54
+ logoFull: {
55
+ type: String,
56
+ default: '/img/brand/burh-imagotipo.svg',
57
+ description: 'Logo for default navbar'
58
+ },
59
+ menuOptions: {
60
+ type: String,
61
+ default: null,
62
+ description: ''
63
+ },
64
+ redirectPage: {
65
+ type: String,
66
+ default: null
67
+ }
68
+ },
69
+ computed: {
70
+ routeName() {
71
+ const { name } = this.$route;
72
+ return this.capitalizeFirstLetter(name);
73
+ },
74
+ clazz: function() {
75
+ var clzz = 'control-form';
76
+ if (this.focusSearchControl == false) {
77
+ clzz += ' only-text';
78
+ }
79
+ return clzz;
80
+ }
81
+ },
82
+ data() {
83
+ return {
84
+ activeNotifications: false,
85
+ showMenu: false,
86
+ searchModalVisible: false,
87
+ searchQuery: '',
88
+ menuSearch: '',
89
+ focusSearchControl: false,
90
+ goToPage: '/',
91
+ logoTipo: null,
92
+ };
93
+ },
94
+ methods: {
95
+ capitalizeFirstLetter(string) {
96
+ return string.charAt(0).toUpperCase() + string.slice(1);
97
+ },
98
+ toggleNotificationDropDown() {
99
+ this.activeNotifications = !this.activeNotifications;
100
+ },
101
+ closeDropDown() {
102
+ this.activeNotifications = false;
103
+ },
104
+ toggleSidebar() {
105
+ this.$sidebar.displaySidebar(!this.$sidebar.showSidebar);
106
+ },
107
+ hideSidebar() {
108
+ this.$sidebar.displaySidebar(false);
109
+ },
110
+ handleSCroll (event) {
111
+ let header = document.querySelector('[data-menu="fixed"]');
112
+ let page = document.querySelector('html');
113
+ let screenHeight = window.innerHeight;
114
+ if (window.scrollY > screenHeight && !header.className.includes('navbar-main--mini')) {
115
+ header.classList.add('navbar-main--mini');
116
+ //page.classList.add('menu-fixed');
117
+ } else if (window.scrollY < screenHeight) {
118
+ header.classList.remove('navbar-main--mini');
119
+ //page.classList.remove('menu-fixed');
120
+
121
+ }
122
+ },
123
+ onFocus: function(event) {
124
+ event.target.select();
125
+ this.focusSearchControl = true;
126
+ },
127
+ onBlur: function(event) {
128
+ this.focusSearchControl = false;
129
+ }
130
+ },
131
+ mounted () {
132
+ this.$bus.$on('change-logo', ({ logo, redirectTo }) => {
133
+ this.goToPage = redirectTo;
134
+ this.logoTipo = logo;
135
+ });
136
+ window.addEventListener('scroll', this.handleSCroll);
137
+ let header = document.querySelector('[data-menu="fixed"]');
138
+ let page = document.querySelector('html');
139
+
140
+ if (header) {
141
+ page.classList.add('menu-fixed');
142
+ }
143
+
144
+ if (this.redirectPage) {
145
+ this.goToPage = this.redirectPage;
146
+ }
147
+ },
148
+ destroyed () {
149
+ window.removeEventListener('scroll', this.handleSCroll);
150
+ }
151
+ };
152
+ </script>
153
+ <style lang="scss">
154
+ @import "@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss";
155
+
156
+ .navbar {
157
+ .navbar-search-light {
158
+ &--focus {
159
+ box-shadow: 0 0 .5rem 0 darken($primary, 20%);
160
+ }
161
+ }
162
+ .navbar-search-dark {
163
+ &--focus {
164
+ box-shadow: 0 0 2rem 0 $primary;
165
+ }
166
+ }
167
+ }
168
+ </style>
@@ -0,0 +1,26 @@
1
+ <template>
2
+ <svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false" class="style-scope yt-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;" v-if="colorActiveDeslike == 2">
3
+ <g class="style-scope yt-icon" fill="#32325d">
4
+ <path d="M18,4h3v10h-3V4z M5.23,14h4.23l-1.52,4.94C7.62,19.97,8.46,21,9.62,21c0.58,0,1.14-0.24,1.52-0.65L17,14V4H6.57 C5.5,4,4.59,4.67,4.38,5.61l-1.34,6C2.77,12.85,3.82,14,5.23,14z" class="style-scope yt-icon">
5
+ </path>
6
+ </g>
7
+ </svg>
8
+ <svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false" class="style-scope yt-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;" v-else>
9
+ <g class="style-scope yt-icon">
10
+ <path d="M17,4h-1H6.57C5.5,4,4.59,4.67,4.38,5.61l-1.34,6C2.77,12.85,3.82,14,5.23,14h4.23l-1.52,4.94C7.62,19.97,8.46,21,9.62,21 c0.58,0,1.14-0.24,1.52-0.65L17,14h4V4H17z M10.4,19.67C10.21,19.88,9.92,20,9.62,20c-0.26,0-0.5-0.11-0.63-0.3 c-0.07-0.1-0.15-0.26-0.09-0.47l1.52-4.94l0.4-1.29H9.46H5.23c-0.41,0-0.8-0.17-1.03-0.46c-0.12-0.15-0.25-0.4-0.18-0.72l1.34-6 C5.46,5.35,5.97,5,6.57,5H16v8.61L10.4,19.67z M20,13h-3V5h3V13z">
11
+ </path>
12
+ </g>
13
+ </svg>
14
+ </template>
15
+
16
+ <script>
17
+ export default {
18
+ name:'deslike',
19
+ props:{
20
+ colorActiveDeslike:{
21
+ type: Number,
22
+ default:0
23
+ }
24
+ }
25
+ };
26
+ </script>
@@ -0,0 +1,26 @@
1
+ <template>
2
+ <svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false" class="style-scope yt-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;" v-if="colorActiveLike == 1">
3
+ <g class="style-scope yt-icon" fill="#32325d">
4
+ <path d="M3,11h3v10H3V11z M18.77,11h-4.23l1.52-4.94C16.38,5.03,15.54,4,14.38,4c-0.58,0-1.14,0.24-1.52,0.65L7,11v10h10.43 c1.06,0,1.98-0.67,2.19-1.61l1.34-6C21.23,12.15,20.18,11,18.77,11z" class="style-scope yt-icon">
5
+ </path>
6
+ </g>
7
+ </svg>
8
+ <svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false" class="style-scope yt-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;" v-else>
9
+ <g class="style-scope yt-icon">
10
+ <path d="M18.77,11h-4.23l1.52-4.94C16.38,5.03,15.54,4,14.38,4c-0.58,0-1.14,0.24-1.52,0.65L7,11H3v10h4h1h9.43 c1.06,0,1.98-0.67,2.19-1.61l1.34-6C21.23,12.15,20.18,11,18.77,11z M7,20H4v-8h3V20z M19.98,13.17l-1.34,6 C18.54,19.65,18.03,20,17.43,20H8v-8.61l5.6-6.06C13.79,5.12,14.08,5,14.38,5c0.26,0,0.5,0.11,0.63,0.3 c0.07,0.1,0.15,0.26,0.09,0.47l-1.52,4.94L13.18,12h1.35h4.23c0.41,0,0.8,0.17,1.03,0.46C19.92,12.61,20.05,12.86,19.98,13.17z">
11
+ </path>
12
+ </g>
13
+ </svg>
14
+ </template>
15
+
16
+ <script>
17
+ export default {
18
+ name: 'like',
19
+ props:{
20
+ colorActiveLike:{
21
+ type: Number,
22
+ default:0
23
+ }
24
+ }
25
+ };
26
+ </script>