@weni/unnnic-system 2.0.10 → 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/dist/style.css +1 -1
- package/dist/unnnic.mjs +3315 -2943
- package/dist/unnnic.umd.js +17 -17
- package/package.json +1 -1
- package/src/components/Disclaimer/Disclaimer.vue +64 -0
- package/src/components/Drawer/Drawer.vue +262 -0
- package/src/components/index.js +6 -0
- package/src/stories/Disclaimer.stories.js +37 -0
- package/src/stories/Drawer.stories.js +150 -0
- package/.vscode/extensions.json +0 -3
package/package.json
CHANGED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<section class="unnnic-disclaimer">
|
|
3
|
+
<unnnic-icon
|
|
4
|
+
class="unnnic-disclaimer__icon"
|
|
5
|
+
size="avatar-nano"
|
|
6
|
+
:icon="icon"
|
|
7
|
+
:scheme="iconColor"
|
|
8
|
+
/>
|
|
9
|
+
<p class="unnnic-disclaimer__text">{{ text }}</p>
|
|
10
|
+
</section>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
import icons from '../../utils/iconList';
|
|
15
|
+
import colors from '../../utils/colorsList';
|
|
16
|
+
|
|
17
|
+
import unnnicIcon from '../Icon.vue';
|
|
18
|
+
|
|
19
|
+
export default {
|
|
20
|
+
name: 'unnnic-disclaimer',
|
|
21
|
+
components: { unnnicIcon },
|
|
22
|
+
props: {
|
|
23
|
+
text: {
|
|
24
|
+
type: String,
|
|
25
|
+
required: true,
|
|
26
|
+
},
|
|
27
|
+
icon: {
|
|
28
|
+
type: String,
|
|
29
|
+
default: 'alert-circle-1-1',
|
|
30
|
+
validator(value) {
|
|
31
|
+
return icons.includes(value);
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
iconColor: {
|
|
35
|
+
type: String,
|
|
36
|
+
validator(value) {
|
|
37
|
+
return colors.includes(value);
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
<style lang="scss" scoped>
|
|
45
|
+
@import '../../assets/scss/unnnic.scss';
|
|
46
|
+
.unnnic-disclaimer {
|
|
47
|
+
display: inline-flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
gap: $unnnic-spacing-xs;
|
|
50
|
+
padding: $unnnic-spacing-sm;
|
|
51
|
+
border-radius: $unnnic-border-radius-sm;
|
|
52
|
+
border: 1px solid $unnnic-color-neutral-soft;
|
|
53
|
+
background: $unnnic-color-background-lightest;
|
|
54
|
+
.unnnic-disclaimer__text {
|
|
55
|
+
margin: 0;
|
|
56
|
+
font-family: $unnnic-font-family-secondary;
|
|
57
|
+
font-size: $unnnic-font-size-body-gt;
|
|
58
|
+
line-height: $unnnic-line-height-large * 1.375;
|
|
59
|
+
font-weight: $unnnic-font-weight-regular;
|
|
60
|
+
color: $unnnic-color-neutral-dark;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
</style>
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
<template>
|
|
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
|
+
>
|
|
14
|
+
<section
|
|
15
|
+
v-if="showDrawer"
|
|
16
|
+
:class="[
|
|
17
|
+
'unnnic-drawer__container',
|
|
18
|
+
wide && 'unnnic-drawer__container--wide',
|
|
19
|
+
]"
|
|
20
|
+
>
|
|
21
|
+
<header class="unnnic-drawer__header">
|
|
22
|
+
<section class="unnnic-drawer__title-container">
|
|
23
|
+
<h1 class="unnnic-drawer__title">{{ title }}</h1>
|
|
24
|
+
<p
|
|
25
|
+
v-if="description"
|
|
26
|
+
class="unnnic-drawer__description"
|
|
27
|
+
>
|
|
28
|
+
{{ description }}
|
|
29
|
+
</p>
|
|
30
|
+
</section>
|
|
31
|
+
<unnnic-icon
|
|
32
|
+
class="unnnic-drawer__close"
|
|
33
|
+
icon="arrow_back"
|
|
34
|
+
size="avatar-nano"
|
|
35
|
+
clickable
|
|
36
|
+
@click="close"
|
|
37
|
+
/>
|
|
38
|
+
</header>
|
|
39
|
+
<section class="unnnic-drawer__content">
|
|
40
|
+
<slot name="content"></slot>
|
|
41
|
+
</section>
|
|
42
|
+
<footer
|
|
43
|
+
v-if="showFooter"
|
|
44
|
+
class="unnnic-drawer__footer"
|
|
45
|
+
>
|
|
46
|
+
<unnnic-button
|
|
47
|
+
v-if="secondaryButtonText"
|
|
48
|
+
size="large"
|
|
49
|
+
type="tertiary"
|
|
50
|
+
:disabled="disabledSecondaryButton"
|
|
51
|
+
:loading="loadingSecondaryButton"
|
|
52
|
+
:text="secondaryButtonText"
|
|
53
|
+
@click="$emit('secondaryButtonClick')"
|
|
54
|
+
/>
|
|
55
|
+
<unnnic-button
|
|
56
|
+
v-if="primaryButtonText"
|
|
57
|
+
size="large"
|
|
58
|
+
:disabled="disabledPrimaryButton"
|
|
59
|
+
:loading="loadingPrimaryButton"
|
|
60
|
+
:type="primaryButtonType"
|
|
61
|
+
:text="primaryButtonText"
|
|
62
|
+
@click="$emit('primaryButtonClick')"
|
|
63
|
+
/>
|
|
64
|
+
</footer>
|
|
65
|
+
</section>
|
|
66
|
+
</transition>
|
|
67
|
+
</aside>
|
|
68
|
+
</template>
|
|
69
|
+
|
|
70
|
+
<script>
|
|
71
|
+
import unnnicIcon from '../Icon.vue';
|
|
72
|
+
import unnnicButton from '../Button/Button.vue';
|
|
73
|
+
|
|
74
|
+
export default {
|
|
75
|
+
name: 'unnnic-drawer',
|
|
76
|
+
emits: ['primaryButtonClick', 'secondaryButtonClick', 'close'],
|
|
77
|
+
components: {
|
|
78
|
+
unnnicIcon,
|
|
79
|
+
unnnicButton,
|
|
80
|
+
},
|
|
81
|
+
data() {
|
|
82
|
+
return {
|
|
83
|
+
showDrawer: true,
|
|
84
|
+
};
|
|
85
|
+
},
|
|
86
|
+
props: {
|
|
87
|
+
title: {
|
|
88
|
+
type: String,
|
|
89
|
+
required: true,
|
|
90
|
+
},
|
|
91
|
+
description: {
|
|
92
|
+
type: String,
|
|
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
|
+
},
|
|
110
|
+
primaryButtonText: {
|
|
111
|
+
type: String,
|
|
112
|
+
},
|
|
113
|
+
primaryButtonType: {
|
|
114
|
+
type: String,
|
|
115
|
+
default: 'primary',
|
|
116
|
+
},
|
|
117
|
+
secondaryButtonText: {
|
|
118
|
+
type: String,
|
|
119
|
+
},
|
|
120
|
+
wide: {
|
|
121
|
+
type: Boolean,
|
|
122
|
+
default: false,
|
|
123
|
+
},
|
|
124
|
+
modelValue: {
|
|
125
|
+
type: Boolean,
|
|
126
|
+
required: true,
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
computed: {
|
|
130
|
+
showFooter() {
|
|
131
|
+
return !!(this.primaryButtonText || this.secondaryButtonText);
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
methods: {
|
|
135
|
+
close() {
|
|
136
|
+
this.showDrawer = false;
|
|
137
|
+
setTimeout(() => {
|
|
138
|
+
this.$emit('close');
|
|
139
|
+
this.showDrawer = true;
|
|
140
|
+
}, 200);
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
</script>
|
|
145
|
+
|
|
146
|
+
<style lang="scss" scoped>
|
|
147
|
+
@import '../../assets/scss/unnnic.scss';
|
|
148
|
+
* {
|
|
149
|
+
margin: 0;
|
|
150
|
+
padding: 0;
|
|
151
|
+
box-sizing: border-box;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
@keyframes drawerOpen {
|
|
155
|
+
from {
|
|
156
|
+
transform: translateX(100%);
|
|
157
|
+
}
|
|
158
|
+
to {
|
|
159
|
+
transform: translateX(0);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@keyframes drawerClose {
|
|
164
|
+
from {
|
|
165
|
+
transform: translateX(0);
|
|
166
|
+
}
|
|
167
|
+
to {
|
|
168
|
+
transform: translateX(100%);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.drawer-enter-active,
|
|
173
|
+
.drawer-enter-to {
|
|
174
|
+
animation: drawerOpen 200ms ease-in;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.drawer-leave-active,
|
|
178
|
+
.drawer-leave-to {
|
|
179
|
+
display: none;
|
|
180
|
+
animation: drawerClose 200ms ease-in;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.unnnic-drawer {
|
|
184
|
+
width: 100vw;
|
|
185
|
+
height: 100vh;
|
|
186
|
+
position: fixed;
|
|
187
|
+
left: 0;
|
|
188
|
+
top: 0;
|
|
189
|
+
z-index: 8;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.unnnic-drawer__overlay {
|
|
193
|
+
z-index: 9;
|
|
194
|
+
background-color: rgba(0, 0, 0, 0.4);
|
|
195
|
+
width: 100%;
|
|
196
|
+
height: 100%;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.unnnic-drawer__container {
|
|
200
|
+
z-index: 10;
|
|
201
|
+
top: 0;
|
|
202
|
+
right: 0;
|
|
203
|
+
position: fixed;
|
|
204
|
+
display: flex;
|
|
205
|
+
flex-direction: column;
|
|
206
|
+
font-family: $unnnic-font-family-secondary;
|
|
207
|
+
justify-content: space-between;
|
|
208
|
+
height: 100%;
|
|
209
|
+
background-color: $unnnic-color-neutral-white;
|
|
210
|
+
width: calc(100% / 3);
|
|
211
|
+
|
|
212
|
+
&--wide {
|
|
213
|
+
width: 50%;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.unnnic-drawer__header {
|
|
217
|
+
display: flex;
|
|
218
|
+
justify-content: space-between;
|
|
219
|
+
border-bottom: 1px solid $unnnic-color-neutral-soft;
|
|
220
|
+
padding: $unnnic-spacing-md;
|
|
221
|
+
.unnnic-drawer__title-container {
|
|
222
|
+
.unnnic-drawer__title {
|
|
223
|
+
color: $unnnic-color-neutral-darkest;
|
|
224
|
+
font-family: $unnnic-font-family-secondary;
|
|
225
|
+
font-size: $unnnic-font-size-title-sm;
|
|
226
|
+
font-weight: $unnnic-font-weight-black;
|
|
227
|
+
line-height: $unnnic-line-height-large * 1.75;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.unnnic-drawer__description {
|
|
231
|
+
color: $unnnic-color-neutral-cloudy;
|
|
232
|
+
font-family: $unnnic-font-family-secondary;
|
|
233
|
+
font-size: $unnnic-font-size-body-gt;
|
|
234
|
+
font-weight: $unnnic-font-weight-regular;
|
|
235
|
+
line-height: $unnnic-line-height-large * 1.375;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.unnnic-drawer__close {
|
|
240
|
+
margin: $unnnic-spacing-nano;
|
|
241
|
+
transform: rotate(180deg);
|
|
242
|
+
display: flex;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.unnnic-drawer__content {
|
|
247
|
+
overflow-y: auto;
|
|
248
|
+
color: $unnnic-color-neutral-cloudy;
|
|
249
|
+
padding: $unnnic-spacing-md $unnnic-spacing-md 0 $unnnic-spacing-md;
|
|
250
|
+
flex: 1 0 0;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.unnnic-drawer__footer {
|
|
254
|
+
display: flex;
|
|
255
|
+
padding: $unnnic-spacing-md;
|
|
256
|
+
gap: $unnnic-spacing-ant;
|
|
257
|
+
> * {
|
|
258
|
+
flex-grow: 1;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
</style>
|
package/src/components/index.js
CHANGED
|
@@ -77,6 +77,8 @@ import ChatsUserAvatar from './ChatsUserAvatar/ChatsUserAvatar.vue';
|
|
|
77
77
|
import ChartMultiLine from './ChartMultiLine/ChartMultiLine.vue';
|
|
78
78
|
import EmojiPicker from './EmojiPicker/EmojiPicker.vue';
|
|
79
79
|
import ChartFunnel from './ChartFunnel/ChartFunnel.vue';
|
|
80
|
+
import Disclaimer from './Disclaimer/Disclaimer.vue';
|
|
81
|
+
import Drawer from './Drawer/Drawer.vue';
|
|
80
82
|
|
|
81
83
|
export const components = {
|
|
82
84
|
unnnicFormElement: formElement,
|
|
@@ -159,6 +161,8 @@ export const components = {
|
|
|
159
161
|
unnnicChartMultiLine: ChartMultiLine,
|
|
160
162
|
unnnicEmojiPicker: EmojiPicker,
|
|
161
163
|
unnnicChartFunnel: ChartFunnel,
|
|
164
|
+
unnnicDisclaimer: Disclaimer,
|
|
165
|
+
unnnicDrawer: Drawer,
|
|
162
166
|
};
|
|
163
167
|
|
|
164
168
|
export const unnnicFontSize = fontSize;
|
|
@@ -242,3 +246,5 @@ export const unnnicChatsUserAvatar = ChatsUserAvatar;
|
|
|
242
246
|
export const unnnicChartMultiLine = ChartMultiLine;
|
|
243
247
|
export const unnnicEmojiPicker = EmojiPicker;
|
|
244
248
|
export const unnnicChartFunnel = ChartFunnel;
|
|
249
|
+
export const unnnicDisclaimer = Disclaimer;
|
|
250
|
+
export const unnnicDrawer = Drawer;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import unnnicDisclaimer from '../components/Disclaimer/Disclaimer.vue';
|
|
2
|
+
import icons from '../utils/iconList';
|
|
3
|
+
import colors from '../utils/colorsList';
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Example/Disclaimer',
|
|
7
|
+
component: unnnicDisclaimer,
|
|
8
|
+
args: {},
|
|
9
|
+
argTypes: {
|
|
10
|
+
text: { control: { type: 'text' } },
|
|
11
|
+
icon: { options: icons, control: { type: 'select', } },
|
|
12
|
+
iconColor: { options: colors, control: { type: 'select', } },
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const Template = (args) => ({
|
|
17
|
+
components: {
|
|
18
|
+
unnnicDisclaimer,
|
|
19
|
+
},
|
|
20
|
+
setup() {
|
|
21
|
+
return { args };
|
|
22
|
+
},
|
|
23
|
+
props: Object.keys(args),
|
|
24
|
+
template: `
|
|
25
|
+
<div>
|
|
26
|
+
<unnnic-disclaimer v-bind="args" />
|
|
27
|
+
</div>
|
|
28
|
+
`,
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
export const Default = Template.bind({});
|
|
32
|
+
|
|
33
|
+
Default.args = {
|
|
34
|
+
text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
|
|
35
|
+
icon: 'alert-circle-1-1',
|
|
36
|
+
iconColor: 'feedback-yellow',
|
|
37
|
+
};
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import unnnicDrawer from '../components/Drawer/Drawer.vue';
|
|
2
|
+
import unnnicButton from '../components/Button/Button.vue';
|
|
3
|
+
|
|
4
|
+
const primaryButtonTypeOptions = [
|
|
5
|
+
'primary',
|
|
6
|
+
'secondary',
|
|
7
|
+
'tertiary',
|
|
8
|
+
'alternative',
|
|
9
|
+
'warning',
|
|
10
|
+
'attention',
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
export default {
|
|
14
|
+
title: 'Example/Drawer',
|
|
15
|
+
component: unnnicDrawer,
|
|
16
|
+
argTypes: {
|
|
17
|
+
title: { control: { type: 'text' } },
|
|
18
|
+
description: { control: { type: 'text' } },
|
|
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' } },
|
|
27
|
+
primaryButtonText: { control: { type: 'text' } },
|
|
28
|
+
secondaryButtonText: { control: { type: 'text' } },
|
|
29
|
+
modelValue: { control: { type: 'boolean' } },
|
|
30
|
+
wide: { control: { type: 'boolean' } },
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const Template = (args) => ({
|
|
35
|
+
props: Object.keys(args),
|
|
36
|
+
setup() {
|
|
37
|
+
return { args };
|
|
38
|
+
},
|
|
39
|
+
components: { unnnicDrawer, unnnicButton },
|
|
40
|
+
data() {
|
|
41
|
+
return {
|
|
42
|
+
opened: false,
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
methods: {
|
|
46
|
+
primaryClick() {
|
|
47
|
+
console.log('primaryClick');
|
|
48
|
+
},
|
|
49
|
+
secondaryClick() {
|
|
50
|
+
console.log('secondaryClick');
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
template: `
|
|
54
|
+
<div>
|
|
55
|
+
<pre>v-model: {{ opened }}</pre>
|
|
56
|
+
<button @click="opened = !opened">Change</button>
|
|
57
|
+
<unnnic-drawer v-bind="args" v-model="opened" @close="opened = false" @primaryButtonClick="primaryClick" @secondaryButtonClick="secondaryClick">
|
|
58
|
+
<template #content>
|
|
59
|
+
<p style="padding: 0; margin:0;">Conteúdo</p>
|
|
60
|
+
</template>
|
|
61
|
+
</unnnic-drawer>
|
|
62
|
+
</div>
|
|
63
|
+
`,
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
export const Default = Template.bind({});
|
|
67
|
+
Default.args = {
|
|
68
|
+
title: 'Title',
|
|
69
|
+
description: 'Description',
|
|
70
|
+
primaryButtonText: 'Confirmar',
|
|
71
|
+
secondaryButtonText: 'Cancelar',
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export const Wide = Template.bind({});
|
|
75
|
+
Wide.args = {
|
|
76
|
+
title: 'Title',
|
|
77
|
+
description: 'Description',
|
|
78
|
+
primaryButtonText: 'Confirmar',
|
|
79
|
+
secondaryButtonText: 'Cancelar',
|
|
80
|
+
wide: true,
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
const TemplateOveflowed = (args) => ({
|
|
84
|
+
props: Object.keys(args),
|
|
85
|
+
components: { unnnicDrawer, unnnicButton },
|
|
86
|
+
setup() {
|
|
87
|
+
return { args };
|
|
88
|
+
},
|
|
89
|
+
data() {
|
|
90
|
+
return {
|
|
91
|
+
opened: false,
|
|
92
|
+
};
|
|
93
|
+
},
|
|
94
|
+
template: `
|
|
95
|
+
<div>
|
|
96
|
+
<pre>v-model: {{ opened }}</pre>
|
|
97
|
+
<button @click="opened = !opened">Change</button>
|
|
98
|
+
<unnnic-drawer v-bind="args" v-model="opened" @close="opened = false">
|
|
99
|
+
<template #content>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
104
|
+
<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>
|
|
105
|
+
<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>
|
|
106
|
+
</template>
|
|
107
|
+
</unnnic-drawer>
|
|
108
|
+
</div>
|
|
109
|
+
`,
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
export const ContentOverflowed = TemplateOveflowed.bind({});
|
|
113
|
+
ContentOverflowed.args = {
|
|
114
|
+
title: 'Title',
|
|
115
|
+
description: 'Description',
|
|
116
|
+
primaryButtonText: 'Confirmar',
|
|
117
|
+
secondaryButtonText: 'Cancelar',
|
|
118
|
+
wide: true,
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
const TemplateVideo = (args) => ({
|
|
122
|
+
props: Object.keys(args),
|
|
123
|
+
components: { unnnicDrawer, unnnicButton },
|
|
124
|
+
setup() {
|
|
125
|
+
return { args };
|
|
126
|
+
},
|
|
127
|
+
data() {
|
|
128
|
+
return {
|
|
129
|
+
opened: false,
|
|
130
|
+
};
|
|
131
|
+
},
|
|
132
|
+
template: `
|
|
133
|
+
<div>
|
|
134
|
+
<pre>v-model: {{ opened }}</pre>
|
|
135
|
+
<button @click="opened = !opened">Change</button>
|
|
136
|
+
<unnnic-drawer v-bind="args" v-model="opened" @close="opened = false">
|
|
137
|
+
<template #content>
|
|
138
|
+
<iframe width="100%" height="315" src="https://www.youtube.com/embed/dD8ENnN-2CI?si=68dJEsG5FdiNaYvY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
|
139
|
+
</template>
|
|
140
|
+
</unnnic-drawer>
|
|
141
|
+
</div>
|
|
142
|
+
`,
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
export const ContentVideo = TemplateVideo.bind({});
|
|
146
|
+
ContentVideo.args = {
|
|
147
|
+
title: 'Title',
|
|
148
|
+
description: 'Description',
|
|
149
|
+
wide: true,
|
|
150
|
+
};
|
package/.vscode/extensions.json
DELETED