@burh/nuxt-core 1.0.19 → 1.0.21

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 (40) hide show
  1. package/assets/sass/burh-ds/atoms/_forms.scss +19 -0
  2. package/assets/sass/burh-ds/content/_main-content.scss +8 -0
  3. package/assets/sass/burh-ds/variables/_colors.scss +3 -1
  4. package/assets/sass/custom/_variables.scss +1 -0
  5. package/components/burh-ds/Avatar/AvatarLink.vue +23 -0
  6. package/components/burh-ds/Avatar/BusinessAvatar.vue +38 -0
  7. package/components/burh-ds/Button/ExportButton.vue +26 -0
  8. package/components/burh-ds/Button/SwitchStateButton.vue +165 -0
  9. package/components/burh-ds/Cards/PlanCard.vue +149 -109
  10. package/components/burh-ds/Cards/PurchaseCard.vue +0 -3
  11. package/components/burh-ds/Cards/PurchaseCardSimple.vue +0 -3
  12. package/components/burh-ds/Cards/RecentTestCard.vue +51 -0
  13. package/components/burh-ds/Cards/WelcomeCard.vue +53 -20
  14. package/components/burh-ds/Dropdown/AppLinkArea.vue +38 -25
  15. package/components/burh-ds/Dropdown/DropdownItem.vue +21 -0
  16. package/components/burh-ds/Dropdown/DropdownSection.vue +38 -0
  17. package/components/burh-ds/Dropdown/FaqVideoArea.vue +9 -4
  18. package/components/burh-ds/Dropdown/SignOutItem.vue +11 -0
  19. package/components/burh-ds/Dropdown/UserMenuDropdown.vue +58 -0
  20. package/components/burh-ds/Groups/ProductItem.vue +62 -0
  21. package/components/burh-ds/Groups/SimpleProductItem.vue +34 -30
  22. package/components/burh-ds/Headings/AppHeader.vue +63 -0
  23. package/components/burh-ds/Headings/StepHeader.vue +67 -0
  24. package/components/burh-ds/Inputs/BaseSwitch.vue +43 -0
  25. package/components/burh-ds/Inputs/BaseSwitchSecondary.vue +84 -0
  26. package/components/burh-ds/Lists/ListNavLinks.vue +36 -21
  27. package/components/burh-ds/Loadings/LoadingFullPage.vue +54 -0
  28. package/components/burh-ds/Modals/AppConfigModal.vue +171 -0
  29. package/components/burh-ds/Questions/Question.vue +110 -0
  30. package/components/burh-ds/Questions/QuestionAttach.vue +14 -0
  31. package/components/burh-ds/Questions/QuestionRadio.vue +97 -0
  32. package/components/burh-ds/Questions/QuestionRadioItem.vue +75 -0
  33. package/components/burh-ds/Questions/QuestionText.vue +36 -0
  34. package/components/burh-ds/Questions/index.js +14 -0
  35. package/components/layouts/burh-ds/footer/StoreFooter.vue +25 -25
  36. package/components/layouts/burh-ds/navbar/AppNavbar.vue +60 -0
  37. package/components/layouts/burh-ds/navbar/BusinessGlobalNavbar.vue +102 -125
  38. package/components/layouts/burh-ds/navbar/SimpleNavbar.vue +1 -2
  39. package/dictionary.js +5 -1
  40. package/package.json +2 -1
@@ -0,0 +1,51 @@
1
+ <template>
2
+ <div class="card--container d-flex flex-column w-25" @click="$emit('more')">
3
+ <div class="card card--small">
4
+ <div class="row m-auto">
5
+ <i class="display-1" :class="iconColor + ' ' + Icon" v-if="isIcon"></i>
6
+ <img :src=Image alt="Imagem do Card" class="w-75 m-auto" v-else>
7
+ </div>
8
+ </div>
9
+ <h3 class="small font-weight-bold m-auto">{{testName}}</h3>
10
+ </div>
11
+ </template>
12
+ <script>
13
+ export default {
14
+ props:{
15
+ iconColor:{
16
+ type: String,
17
+ default: () => 'text-primary',
18
+ description: 'Cor do icone. Normalmente Azul'
19
+ },
20
+ isIcon:{
21
+ type: Boolean,
22
+ default: false
23
+ },
24
+ Image:{
25
+ type: String,
26
+ default: () => '/img/brand/burh-imagotipo.svg',
27
+ description: 'Imagem do card'
28
+ },
29
+ Icon:{
30
+ type: String,
31
+ default: () => 'fas fa-plus',
32
+ description: 'Icone do card'
33
+ },
34
+ testName:{
35
+ type: String,
36
+ default: 'Testes',
37
+ description: 'Nome do teste'
38
+ }
39
+ }
40
+ }
41
+ </script>
42
+ <style lang="scss">
43
+ @media screen and (max-width: 768px){
44
+ .card--container{
45
+ width: 50% !important;
46
+ }
47
+ }
48
+ .card--small{
49
+ min-height: 10rem;
50
+ }
51
+ </style>
@@ -1,40 +1,53 @@
1
1
 
2
2
  <template>
3
- <div class="card text-center align-items-center">
4
- <div class="card-body card--content">
5
- <h2 class="card-title mb-3 mx-md-5">{{title}}</h2>
6
- <p class="card-text mb-4 text--initial mx-md-5">{{text}}.</p>
7
- <div class="button--area">
8
- <base-button outline type="primary" class="btn--flex" @click="$emit('more')">Saiba Mais</base-button>
9
- <base-button type="primary" class="btn--flex ml-auto" @click="$emit('send')">Enviar Teste</base-button>
10
- </div>
11
- </div>
3
+ <div class="card text-center align-items-center">
4
+ <div class="card-body card--content">
5
+ <img class="icon" :src="icon">
6
+ <h2 class="card-title mb-3 mx-md-5">{{title}}</h2>
7
+ <p class="card-text mb-4 text--initial mx-md-5">{{text}}.</p>
8
+ <div class="button--area">
9
+ <base-button
10
+ outline
11
+ type="primary"
12
+ class="btn--flex btn--app "
13
+ >
14
+ <nuxt-link class="white-text" :to="link">
15
+ {{buttonText}}
16
+ </nuxt-link>
17
+ </base-button>
18
+ </div>
12
19
  </div>
13
-
20
+ </div>
14
21
  </template>
15
22
  <script>
16
23
  export default {
17
24
  name: 'welcome-card',
18
- components: {
25
+ components: {
19
26
  },
20
27
  props:{
28
+ icon: String,
21
29
  title: {
22
30
  type: String,
23
- default: 'Seja Bem Vindo ao DISC Profiler'
31
+ default: 'Aqui vai um título'
32
+ },
33
+ text: {
34
+ type: String,
35
+ default: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse convallis vel tellus viverra pulvinar. Mauris in augue neque. Proin molestie lectus lectus, at semper enim suscipit id. odo colaborador tem um perfil de comportamento e competências. O Profiler é uma ferramenta completa para você identificar cada uma delas e assim formar equipes mais produtivas.'
36
+ },
37
+ buttonText: {
38
+ type: String
24
39
  },
25
- text:{
40
+ link: {
26
41
  type: String,
27
- default: 'Todo colaborador tem um perfil de comportamento e competências. O Profiler é uma ferramenta completa para você identificar cada uma delas e assim formar equipes mais produtivas.'
42
+ default: "/"
28
43
  }
29
- },
30
- data(){
31
- return{
32
- default: ''
33
- };
34
44
  }
35
45
  }
36
46
  </script>
47
+
37
48
  <style lang="scss">
49
+ @import "@burh/nuxt-core/assets/sass/argon.scss";
50
+
38
51
  .text--initial{
39
52
  text-align: initial;
40
53
  }
@@ -64,4 +77,24 @@ export default {
64
77
  }
65
78
  }
66
79
  }
67
- </style>
80
+
81
+ .card-text {
82
+ text-align: center;
83
+ color: $gray-900;
84
+ }
85
+
86
+ .icon {
87
+ width: 9rem;
88
+ height: 9rem;
89
+ margin-bottom: 2rem;
90
+ }
91
+
92
+ .btn--app {
93
+ background-color: $violet;
94
+ border-color: $violet;
95
+ }
96
+
97
+ .white-text {
98
+ color: #ffffff;
99
+ }
100
+ </style>
@@ -1,33 +1,46 @@
1
1
  <template>
2
- <base-dropdown menu-on-right
3
- class="nav-item mr-2"
4
- tag="span"
5
- title-tag="a"
6
- title-classes="nav-link pr-0">
7
- <i href="#" class="pr-0 ml-4 fas fa-th text-white display-4 pt-2 pb-2" @click.prevent slot="title-container"></i>
8
-
9
- <template>
10
- <ul class="px-3">
11
- <li class="px-3 w-50 d-inline-block" v-for="(links, index) in links" :key="index">
12
- <img :src=links.img alt="search" class="dropdown-item">
13
- <a href="#" class="nav-link px-0 small text-wrap text-center">{{links.name}}</a>
14
- </li>
15
- </ul>
16
- </template>
17
-
18
- </base-dropdown>
2
+ <base-dropdown menu-on-right
3
+ class="mr-2"
4
+ tag="span"
5
+ title-tag="a"
6
+ >
7
+ <i
8
+ href="#"
9
+ class="fas fa-th display-4"
10
+ @click.prevent
11
+ slot="title-container"
12
+ />
13
+ <ul class="px-3">
14
+ <li class="w-50 d-inline-block text-wrap text-center" v-for="(links, index) in links" :key="index">
15
+ <img :src=links.img :alt="links.name" class="dropdown-item">
16
+ <a href="#" class="small">{{links.name}}</a>
17
+ </li>
18
+ </ul>
19
+ </base-dropdown>
19
20
  </template>
20
21
  <script>
21
22
  export default {
22
23
  props:{
23
24
  links: {
24
- type: Array,
25
- default:()=>{
26
- return [ {id: 1, name:'Busca', img:'/img/icons/search.png'}, {id: 2, name:'Recrutamento', img:'/img/icons/app-recruiter.png'}, {id: 3, name:'Desempenho', img: '/img/icons/app-analytic.png'},
27
- {id: 4, name:'Universidades', img:'/img/icons/university.png'}, {id: 5, name:'DISC Profiler', img:'/img/icons/profiler.png'}, {id: 6, name:'Teste de Proêficiencia', img:'/img/icons/fluenglish.png'},
28
- {id: 7, name:'SMS', img:'/img/icons/app-sms.png'}, {id: 8, name:'Trabalhe Conosco', img:'/img/icons/career.png'}];
29
- }
30
- }
25
+ type: Array,
26
+ default:() => {
27
+ return [
28
+ {id: 1, name:'Busca', img:'img/icons/colorfull-icons/busca.svg'},
29
+ {id: 2, name:'Recrutamento', img:'img/icons/colorfull-icons/recrutamento.svg'},
30
+ {id: 3, name:'Desempenho', img: 'img/icons/colorfull-icons/indicadores.svg'},
31
+ {id: 4, name:'Universidades', img:'img/icons/colorfull-icons/universidades.svg'},
32
+ {id: 5, name:'DISC Profiler', img:'img/icons/colorfull-icons/DISC.svg'},
33
+ {id: 6, name:'Teste de Proêficiencia', img:'img/icons/colorfull-icons/proficiencia.svg'},
34
+ {id: 7, name:'SMS', img:'img/icons/colorfull-icons/SMS.svg'},
35
+ {id: 8, name:'Trabalhe Conosco', img:'img/icons/colorfull-icons/carreiras.svg'}
36
+ ];
37
+ }
38
+ }
31
39
  }
32
40
  }
33
- </script>
41
+ </script>
42
+ <style lang="scss" scoped>
43
+ .height-100 {
44
+ height: 10rem;
45
+ }
46
+ </style>
@@ -0,0 +1,21 @@
1
+ <template>
2
+ <li class="dropdown-item d-flex align-items-center w-100">
3
+ <span>
4
+ {{text}}
5
+ </span>
6
+ <badge v-if="status === 'NOVO'" rounded type="primary" class="ml-auto">Novo</badge>
7
+ </li>
8
+ </template>
9
+ <script>
10
+ export default {
11
+ name: "dropdown-item",
12
+ props: {
13
+ link: {
14
+ type: String,
15
+ default: "/"
16
+ },
17
+ text: String,
18
+ status: String
19
+ },
20
+ }
21
+ </script>
@@ -0,0 +1,38 @@
1
+ <template>
2
+ <div>
3
+ <hr class="dropdown-divider">
4
+ <h6 class="dropdown-header" v-if="title">
5
+ <span class="aria-text">Funcionalidades,</span>
6
+ <span>{{title}}</span>
7
+ </h6>
8
+ <ul>
9
+ <dropdown-item
10
+ v-for="item in items"
11
+ :key="item.description"
12
+ :text="item.description"
13
+ :link="item.link"
14
+ :status="item.status"
15
+ />
16
+ </ul>
17
+ </div>
18
+ </template>
19
+ <script>
20
+ import DropdownItem from './DropdownItem'
21
+
22
+ export default {
23
+ name: "dropdown-section",
24
+ components: {
25
+ DropdownItem
26
+ },
27
+ props: {
28
+ title: String,
29
+ items: Array
30
+ }
31
+ }
32
+ </script>
33
+ <style lang="scss" scoped>
34
+ ul {
35
+ list-style: none;
36
+ padding-left: 0;
37
+ }
38
+ </style>
@@ -4,14 +4,19 @@
4
4
  tag="span"
5
5
  title-tag="a"
6
6
  title-classes="nav-link pr-0">
7
- <i href="#" class="pr-0 fas fa-question-circle text-white display-4 pt-2 pb-2" @click.prevent slot="title-container"></i>
7
+ <i
8
+ href="#"
9
+ class="fas fa-question-circle display-4"
10
+ @click.prevent
11
+ slot="title-container"
12
+ />
8
13
 
9
14
  <template>
10
15
  <h6 class="dropdown-header">{{faqheader}}</h6>
11
16
  <div class="dropdown-divider"></div>
12
17
  <template>
13
18
  <ul class="pl-0">
14
- <li class="col-12 nav-link pt-1 d-flex dropdown-item"
19
+ <li class="col-12 nav-link pt-1 d-flex dropdown-item"
15
20
  v-for="(videos, index) in videos" :key="index"
16
21
  v-on:click="openModalVideo(videos)"
17
22
  >
@@ -30,11 +35,11 @@
30
35
  export default {
31
36
  data(){
32
37
  return{
33
-
38
+
34
39
  }
35
40
  },
36
41
  mounted(){
37
-
42
+
38
43
  },
39
44
  methods:{
40
45
  openModalVideo(link){
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <li class="dropdown-item d-flex align-items-center w-100">
3
+ <font-awesome-icon :icon="['fas','door-open']"/>
4
+ <span>Sair</span>
5
+ </li>
6
+ </template>
7
+ <script>
8
+ export default {
9
+ name: "sign-out-item"
10
+ }
11
+ </script>
@@ -0,0 +1,58 @@
1
+ <template>
2
+ <base-dropdown menu-on-right
3
+ class="nav-item"
4
+ tag="li"
5
+ title-tag="a"
6
+ >
7
+ <business-avatar
8
+ :logo="userAvatar"
9
+ :userName="userName"
10
+ :companyName="companyName"
11
+ class="nav-link pr-0 pt-2 pb-2"
12
+ :class="textColor"
13
+ @click.prevent
14
+ slot="title-container"
15
+ />
16
+ <h6 class="dropdown-header">Entrar como</h6>
17
+ <avatar-link
18
+ :logo="userAvatar"
19
+ :name="userName"
20
+ class="row pl-4"
21
+ />
22
+ <dropdown-section
23
+ v-for="(value, name) in text"
24
+ :key="name"
25
+ :title="name"
26
+ :items="value"
27
+ />
28
+ <hr class="dropdown-divider">
29
+ <sign-out-item />
30
+ </base-dropdown>
31
+ </template>
32
+ <script>
33
+ import DropdownSection from "./DropdownSection";
34
+ import SignOutItem from "./SignOutItem";
35
+ import AvatarLink from '../Avatar/AvatarLink';
36
+ import BusinessAvatar from '../Avatar/BusinessAvatar';
37
+
38
+ export default {
39
+ name: "user-menu-dropdown",
40
+ components: {
41
+ DropdownSection,
42
+ SignOutItem,
43
+ AvatarLink,
44
+ BusinessAvatar
45
+ },
46
+ props: {
47
+ text: Object,
48
+ userAvatar: String,
49
+ userName: String,
50
+ companyLogo: String,
51
+ companyName: String,
52
+ textColor: String
53
+ }
54
+ }
55
+ </script>
56
+ <style lang="scss" scoped>
57
+
58
+ </style>
@@ -0,0 +1,62 @@
1
+ <template>
2
+ <component :is="tag" class="product-item" :class="vertical && 'vertical'">
3
+ <img :src="avatar" :class="avatarClass" class="avatar avatar-xl rounded-circle product-item--avatar" :alt="`Logo do Produto ${title}`"/>
4
+ <div :class="containerClass" class="text-container">
5
+ <component :is="titleTag" :class="titleClass" class="text-container--title">{{title}}</component>
6
+ <p :class="descriptionClass" class="text-container--description">{{description}}</p>
7
+ </div>
8
+ </component>
9
+ </template>
10
+ <script>
11
+ export default {
12
+ name: "product-item",
13
+ props: {
14
+ containerClass: String,
15
+ tag: {
16
+ type: String,
17
+ default: 'section'
18
+ },
19
+ vertical: Boolean,
20
+ title: String,
21
+ titleClass: String,
22
+ titleTag: {
23
+ type: String,
24
+ default: 'h2'
25
+ },
26
+ description: String,
27
+ descriptionClass: {
28
+ type: String,
29
+ default: 'none'
30
+ },
31
+ avatar: String,
32
+ avatarClass: String
33
+ }
34
+ }
35
+ </script>
36
+ <style lang="scss" scoped>
37
+ .product-item {
38
+ display: flex;
39
+ text-align: center;
40
+ }
41
+
42
+ .text-container {
43
+ flex: 1;
44
+ display: flex;
45
+ flex-direction: column;
46
+ justify-content: center;
47
+ padding-left: 1rem;
48
+
49
+ &--description {
50
+ font-size: 1rem;
51
+ padding: 0;
52
+ margin: 0
53
+ }
54
+ }
55
+ .vertical {
56
+ flex-direction: column;
57
+ }
58
+
59
+ .none {
60
+ display: none !important;
61
+ }
62
+ </style>
@@ -1,37 +1,41 @@
1
1
  <template>
2
- <component :is="tag" class="product-item" @click="$emit('click-product')">
3
- <img :src="avatar" :class="avatarClass" class="avatar avatar-xl rounded-circle product-item--avatar" :alt="`Logo do Produto ${title}`">
4
- <div :class="contentClass" class="product-item--content">
5
- <component :is="titleTag" :class="titleClass" class="product-item--title">{{title}}</component>
6
- <p :class="descriptionClass" class="product-item--description" v-if="description">{{description}}</p>
7
- <badge :class="badgeClass" v-if="badge">{{badge}}</badge>
8
- </div>
9
- </component >
2
+ <component :is="tag" :to="to" class="product-item" @click="$emit('click-product')">
3
+ <img :src="avatar" :class="avatarClass" class="avatar avatar-xl rounded-circle product-item--avatar" :alt="`Logo do Produto ${title}`">
4
+ <div :class="contentClass" class="product-item--content">
5
+ <component :is="titleTag" :class="titleClass" class="product-item--title">{{title}}</component>
6
+ <p :class="descriptionClass" class="product-item--description" v-if="description">{{description}}</p>
7
+ <badge :class="badgeClass" v-if="hasEnableBadge">Habilitar</badge>
8
+ </div>
9
+ </component >
10
10
  </template>
11
11
 
12
12
  <script>
13
13
  export default {
14
- name: 'simple-product-item',
15
- props: {
16
- tag: {
17
- type: String,
18
- default: 'section'
19
- },
20
- contentClass: String,
21
- title: String,
22
- titleTag: {
23
- type: String,
24
- default: 'h3'
25
- },
26
- titleClass: String,
27
- avatar: String,
28
- avatarClass: String,
29
- description: String,
30
- descriptionClass: String,
31
- badge: String,
14
+ name: 'simple-product-item',
15
+ props: {
16
+ tag: {
17
+ type: String,
18
+ default: 'section'
19
+ },
20
+ contentClass: String,
21
+ title: String,
22
+ titleTag: {
23
+ type: String,
24
+ default: 'h3'
25
+ },
26
+ titleClass: String,
27
+ avatar: String,
28
+ avatarClass: String,
29
+ description: String,
30
+ descriptionClass: String,
31
+ hasEnableBadge: Boolean,
32
32
  badgeClass: String,
33
- }
34
- }
33
+ to: {
34
+ type: String,
35
+ default: "/"
36
+ }
37
+ }
38
+ };
35
39
  </script>
36
40
 
37
41
  <style lang="scss">
@@ -40,7 +44,7 @@ export default {
40
44
  display: inline-block;
41
45
 
42
46
  &--avatar {
43
-
47
+
44
48
  }
45
49
 
46
50
  &--title {
@@ -57,4 +61,4 @@ export default {
57
61
  }
58
62
  }
59
63
 
60
- </style>
64
+ </style>
@@ -0,0 +1,63 @@
1
+ <template>
2
+ <base-header class="app-header" :type="'white'">
3
+ <div class="row">
4
+ <div class="col-6 my-auto">
5
+ <h2 class="font-weight-bold display-3">{{name}}</h2>
6
+ </div>
7
+
8
+ <div class="col-6 d-flex justify-content-end">
9
+ <i v-for="(options, index) in icons" :key="index"
10
+ @click="$emit(options.event)"
11
+ class="display-4 text-default mt-3 mx-3 cursor-pointer" :class="options.icon"></i>
12
+
13
+ <base-button role="button" @click="actionButtonHeader()" size="sm" :type="optionsBtnType"
14
+ class="ml-2">{{optionsBtnText}}</base-button>
15
+ </div>
16
+
17
+ <div class="col-12 d-flex justify-content-center">
18
+ <slot/>
19
+ </div>
20
+ </div>
21
+ </base-header>
22
+ </template>
23
+ <script>
24
+ export default {
25
+ data(){
26
+ return{
27
+ default: ''
28
+ }
29
+ },
30
+ props:{
31
+ icons:{
32
+ type: Array,
33
+ default: () =>[{event: 'view', icon: 'fas fa-eye'}, {event: 'config', icon: 'fas fa-cog'} ]
34
+ },
35
+ name: {
36
+ type: String,
37
+ default: 'Teste de matematica'
38
+ },
39
+ optionsBtnType:{
40
+ type: String,
41
+ default: 'test-online'
42
+ },
43
+ optionsBtnText: {
44
+ type: String,
45
+ default: 'Enviar Teste'
46
+ },
47
+ },
48
+ methods:{
49
+ actionButtonHeader(){
50
+ this.$emit('btn-header')
51
+ },
52
+ },
53
+ }
54
+ </script>
55
+ <style lang="scss">
56
+ @import "node_modules/@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss";
57
+
58
+ .app-header {
59
+ width: 100%;
60
+ padding-top: 1.25rem;
61
+ box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15);
62
+ }
63
+ </style>
@@ -0,0 +1,67 @@
1
+ <template>
2
+ <div class="card card--shadow py-3 px-4">
3
+ <base-input
4
+ name="Ask"
5
+ :label="`Etapa #${position + 1}`"
6
+ placeholder="Escreva o nome da etapa"
7
+ type="text"
8
+ class=""
9
+ :error="getError('Ask')"
10
+ :valid="isValid('Ask')"
11
+ v-model="name"
12
+ v-validate="'required'"/>
13
+
14
+ <div class="">
15
+ <textarea
16
+ v-model="description"
17
+ class="form-control form-control-alternative"
18
+ rows="3"
19
+ placeholder="Descrição desta etapa..."/>
20
+ </div>
21
+
22
+ </div>
23
+ </template>
24
+
25
+ <script>
26
+ export default {
27
+ props: {
28
+ position: {
29
+ type: Number,
30
+ default: 0
31
+ }
32
+ },
33
+ data() {
34
+ return {
35
+ name: '',
36
+ description: ''
37
+ }
38
+ },
39
+ methods: {
40
+ getError(name){
41
+ return this.errors.first(name);
42
+ },
43
+ isValid(name) {
44
+ return this.validated && !this.errors.has(name);
45
+ },
46
+ emitStage() {
47
+ this.$emit('change-stage',
48
+ {
49
+ name: this.name,
50
+ description: this.description
51
+ })
52
+ }
53
+ },
54
+ watch: {
55
+ name() {
56
+ this.emitStage();
57
+ },
58
+ description() {
59
+ this.emitStage();
60
+ }
61
+ }
62
+ }
63
+ </script>
64
+
65
+ <style lang="scss">
66
+
67
+ </style>