@weni/unnnic-system 2.0.11 → 2.0.12

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weni/unnnic-system",
3
- "version": "2.0.11",
3
+ "version": "2.0.12",
4
4
  "type": "commonjs",
5
5
  "files": [
6
6
  "dist",
@@ -1,10 +1,22 @@
1
1
  <template>
2
- <aside v-if="modelValue" class="unnnic-drawer">
3
- <section class="unnnic-drawer__overlay"></section>
4
- <transition appear name="drawer">
2
+ <aside
3
+ v-if="modelValue"
4
+ class="unnnic-drawer"
5
+ >
6
+ <section
7
+ class="unnnic-drawer__overlay"
8
+ @click.stop="close"
9
+ />
10
+ <transition
11
+ appear
12
+ name="drawer"
13
+ >
5
14
  <section
6
15
  v-if="showDrawer"
7
- :class="['unnnic-drawer__container', wide && 'unnnic-drawer__container--wide']"
16
+ :class="[
17
+ 'unnnic-drawer__container',
18
+ wide && 'unnnic-drawer__container--wide',
19
+ ]"
8
20
  >
9
21
  <header class="unnnic-drawer__header">
10
22
  <section class="unnnic-drawer__title-container">
@@ -27,17 +39,24 @@
27
39
  <section class="unnnic-drawer__content">
28
40
  <slot name="content"></slot>
29
41
  </section>
30
- <footer v-if="showFooter" class="unnnic-drawer__footer">
42
+ <footer
43
+ v-if="showFooter"
44
+ class="unnnic-drawer__footer"
45
+ >
31
46
  <unnnic-button
32
47
  v-if="secondaryButtonText"
33
48
  size="large"
34
49
  type="tertiary"
50
+ :disabled="disabledSecondaryButton"
51
+ :loading="loadingSecondaryButton"
35
52
  :text="secondaryButtonText"
36
53
  @click="$emit('secondaryButtonClick')"
37
54
  />
38
55
  <unnnic-button
39
56
  v-if="primaryButtonText"
40
57
  size="large"
58
+ :disabled="disabledPrimaryButton"
59
+ :loading="loadingPrimaryButton"
41
60
  :type="primaryButtonType"
42
61
  :text="primaryButtonText"
43
62
  @click="$emit('primaryButtonClick')"
@@ -72,6 +91,22 @@ export default {
72
91
  description: {
73
92
  type: String,
74
93
  },
94
+ disabledPrimaryButton: {
95
+ type: Boolean,
96
+ default: false,
97
+ },
98
+ disabledSecondaryButton: {
99
+ type: Boolean,
100
+ default: false,
101
+ },
102
+ loadingPrimaryButton: {
103
+ type: Boolean,
104
+ default: false,
105
+ },
106
+ loadingSecondaryButton: {
107
+ type: Boolean,
108
+ default: false,
109
+ },
75
110
  primaryButtonText: {
76
111
  type: String,
77
112
  },
@@ -93,8 +128,8 @@ export default {
93
128
  },
94
129
  computed: {
95
130
  showFooter() {
96
- return !!(this.primaryButtonText || this.secondaryButtonText)
97
- }
131
+ return !!(this.primaryButtonText || this.secondaryButtonText);
132
+ },
98
133
  },
99
134
  methods: {
100
135
  close() {
@@ -141,8 +176,8 @@ export default {
141
176
 
142
177
  .drawer-leave-active,
143
178
  .drawer-leave-to {
144
- display: none;
145
- animation: drawerClose 200ms ease-in;
179
+ display: none;
180
+ animation: drawerClose 200ms ease-in;
146
181
  }
147
182
 
148
183
  .unnnic-drawer {
@@ -156,10 +191,9 @@ export default {
156
191
 
157
192
  .unnnic-drawer__overlay {
158
193
  z-index: 9;
159
- background-color: rgba(0,0,0,0.4);
194
+ background-color: rgba(0, 0, 0, 0.4);
160
195
  width: 100%;
161
196
  height: 100%;
162
-
163
197
  }
164
198
 
165
199
  .unnnic-drawer__container {
@@ -173,7 +207,7 @@ export default {
173
207
  justify-content: space-between;
174
208
  height: 100%;
175
209
  background-color: $unnnic-color-neutral-white;
176
- width: calc(100%/3);
210
+ width: calc(100% / 3);
177
211
 
178
212
  &--wide {
179
213
  width: 50%;
@@ -185,7 +219,6 @@ export default {
185
219
  border-bottom: 1px solid $unnnic-color-neutral-soft;
186
220
  padding: $unnnic-spacing-md;
187
221
  .unnnic-drawer__title-container {
188
-
189
222
  .unnnic-drawer__title {
190
223
  color: $unnnic-color-neutral-darkest;
191
224
  font-family: $unnnic-font-family-secondary;
@@ -207,19 +240,14 @@ export default {
207
240
  margin: $unnnic-spacing-nano;
208
241
  transform: rotate(180deg);
209
242
  display: flex;
210
- }
243
+ }
211
244
  }
212
245
 
213
246
  .unnnic-drawer__content {
214
247
  overflow-y: auto;
215
248
  color: $unnnic-color-neutral-cloudy;
216
- padding: $unnnic-spacing-md $unnnic-spacing-md 0 $unnnic-spacing-md ;
249
+ padding: $unnnic-spacing-md $unnnic-spacing-md 0 $unnnic-spacing-md;
217
250
  flex: 1 0 0;
218
- :deep(*) {
219
- margin: 0;
220
- padding: 0;
221
- box-sizing: border-box;
222
- }
223
251
  }
224
252
 
225
253
  .unnnic-drawer__footer {
@@ -231,4 +259,4 @@ export default {
231
259
  }
232
260
  }
233
261
  }
234
- </style>
262
+ </style>
@@ -1,7 +1,14 @@
1
1
  import unnnicDrawer from '../components/Drawer/Drawer.vue';
2
2
  import unnnicButton from '../components/Button/Button.vue';
3
3
 
4
- const primaryButtonTypeOptions = ['primary', 'secondary', 'tertiary', 'alternative', 'warning', 'attention']
4
+ const primaryButtonTypeOptions = [
5
+ 'primary',
6
+ 'secondary',
7
+ 'tertiary',
8
+ 'alternative',
9
+ 'warning',
10
+ 'attention',
11
+ ];
5
12
 
6
13
  export default {
7
14
  title: 'Example/Drawer',
@@ -9,7 +16,14 @@ export default {
9
16
  argTypes: {
10
17
  title: { control: { type: 'text' } },
11
18
  description: { control: { type: 'text' } },
12
- primaryButtonType: { options: primaryButtonTypeOptions, control: { type: 'select' } },
19
+ primaryButtonType: {
20
+ options: primaryButtonTypeOptions,
21
+ control: { type: 'select' },
22
+ },
23
+ disabledPrimaryButton: { control: { type: 'boolean' } },
24
+ disabledSecondaryButton: { control: { type: 'boolean' } },
25
+ loadingPrimaryButton: { control: { type: 'boolean' } },
26
+ loadingSecondaryButton: { control: { type: 'boolean' } },
13
27
  primaryButtonText: { control: { type: 'text' } },
14
28
  secondaryButtonText: { control: { type: 'text' } },
15
29
  modelValue: { control: { type: 'boolean' } },
@@ -20,7 +34,7 @@ export default {
20
34
  const Template = (args) => ({
21
35
  props: Object.keys(args),
22
36
  setup() {
23
- return { args }
37
+ return { args };
24
38
  },
25
39
  components: { unnnicDrawer, unnnicButton },
26
40
  data() {
@@ -30,11 +44,11 @@ const Template = (args) => ({
30
44
  },
31
45
  methods: {
32
46
  primaryClick() {
33
- console.log('primaryClick')
47
+ console.log('primaryClick');
34
48
  },
35
49
  secondaryClick() {
36
- console.log('secondaryClick')
37
- }
50
+ console.log('secondaryClick');
51
+ },
38
52
  },
39
53
  template: `
40
54
  <div>
@@ -42,7 +56,7 @@ const Template = (args) => ({
42
56
  <button @click="opened = !opened">Change</button>
43
57
  <unnnic-drawer v-bind="args" v-model="opened" @close="opened = false" @primaryButtonClick="primaryClick" @secondaryButtonClick="secondaryClick">
44
58
  <template #content>
45
- <p>Conteúdo</p>
59
+ <p style="padding: 0; margin:0;">Conteúdo</p>
46
60
  </template>
47
61
  </unnnic-drawer>
48
62
  </div>
@@ -70,7 +84,7 @@ const TemplateOveflowed = (args) => ({
70
84
  props: Object.keys(args),
71
85
  components: { unnnicDrawer, unnnicButton },
72
86
  setup() {
73
- return { args }
87
+ return { args };
74
88
  },
75
89
  data() {
76
90
  return {
@@ -83,7 +97,7 @@ const TemplateOveflowed = (args) => ({
83
97
  <button @click="opened = !opened">Change</button>
84
98
  <unnnic-drawer v-bind="args" v-model="opened" @close="opened = false">
85
99
  <template #content>
86
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum dolor viverra, aliquam metus dictum, vehicula felis. Nulla sapien nisi, laoreet sit amet nisi sed, consectetur ornare odio. Nullam facilisis a ligula quis accumsan. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus et sodales ex. Donec mauris dui, tempor eget lorem vel, blandit consequat tellus. Maecenas ut justo vitae orci commodo consectetur eget id nisl. Donec auctor sollicitudin ex at lacinia. Integer lobortis, eros nec congue facilisis, augue nisl elementum nibh, pharetra euismod odio turpis eu lorem. Vivamus a tristique tellus.</p>
100
+ <p style="padding: 0; margin:0;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum dolor viverra, aliquam metus dictum, vehicula felis. Nulla sapien nisi, laoreet sit amet nisi sed, consectetur ornare odio. Nullam facilisis a ligula quis accumsan. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus et sodales ex. Donec mauris dui, tempor eget lorem vel, blandit consequat tellus. Maecenas ut justo vitae orci commodo consectetur eget id nisl. Donec auctor sollicitudin ex at lacinia. Integer lobortis, eros nec congue facilisis, augue nisl elementum nibh, pharetra euismod odio turpis eu lorem. Vivamus a tristique tellus.</p>
87
101
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum dolor viverra, aliquam metus dictum, vehicula felis. Nulla sapien nisi, laoreet sit amet nisi sed, consectetur ornare odio. Nullam facilisis a ligula quis accumsan. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus et sodales ex. Donec mauris dui, tempor eget lorem vel, blandit consequat tellus. Maecenas ut justo vitae orci commodo consectetur eget id nisl. Donec auctor sollicitudin ex at lacinia. Integer lobortis, eros nec congue facilisis, augue nisl elementum nibh, pharetra euismod odio turpis eu lorem. Vivamus a tristique tellus.</p>
88
102
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum dolor viverra, aliquam metus dictum, vehicula felis. Nulla sapien nisi, laoreet sit amet nisi sed, consectetur ornare odio. Nullam facilisis a ligula quis accumsan. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus et sodales ex. Donec mauris dui, tempor eget lorem vel, blandit consequat tellus. Maecenas ut justo vitae orci commodo consectetur eget id nisl. Donec auctor sollicitudin ex at lacinia. Integer lobortis, eros nec congue facilisis, augue nisl elementum nibh, pharetra euismod odio turpis eu lorem. Vivamus a tristique tellus.</p>
89
103
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum dolor viverra, aliquam metus dictum, vehicula felis. Nulla sapien nisi, laoreet sit amet nisi sed, consectetur ornare odio. Nullam facilisis a ligula quis accumsan. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus et sodales ex. Donec mauris dui, tempor eget lorem vel, blandit consequat tellus. Maecenas ut justo vitae orci commodo consectetur eget id nisl. Donec auctor sollicitudin ex at lacinia. Integer lobortis, eros nec congue facilisis, augue nisl elementum nibh, pharetra euismod odio turpis eu lorem. Vivamus a tristique tellus.</p>
@@ -108,7 +122,7 @@ const TemplateVideo = (args) => ({
108
122
  props: Object.keys(args),
109
123
  components: { unnnicDrawer, unnnicButton },
110
124
  setup() {
111
- return { args }
125
+ return { args };
112
126
  },
113
127
  data() {
114
128
  return {
@@ -133,4 +147,4 @@ ContentVideo.args = {
133
147
  title: 'Title',
134
148
  description: 'Description',
135
149
  wide: true,
136
- };
150
+ };