@weni/unnnic-system 3.2.9-alpha.9 → 3.2.9
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/CHANGELOG.md +2 -11
- package/dist/components/Accordion/Accordion.vue.d.ts +1 -1
- package/dist/components/Alert/Alert.vue.d.ts +119 -18
- package/dist/components/Alert/Alert.vue.d.ts.map +1 -1
- package/dist/components/Alert/Version1dot1.vue.d.ts +38 -2
- package/dist/components/Alert/Version1dot1.vue.d.ts.map +1 -1
- package/dist/components/AudioRecorder/AudioHandler.vue.d.ts +2 -2
- package/dist/components/AudioRecorder/AudioPlayer.vue.d.ts +1 -1
- package/dist/components/AudioRecorder/AudioRecorder.vue.d.ts +5 -5
- package/dist/components/AvatarIcon/AvatarIcon.vue.d.ts +2 -2
- package/dist/components/Banner/Banner.vue.d.ts +1 -1
- package/dist/components/Banner/InfoBanner.vue.d.ts +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.vue.d.ts +1 -1
- package/dist/components/Button/Button.vue.d.ts +2 -2
- package/dist/components/Button/Button.vue.d.ts.map +1 -1
- package/dist/components/Button/ButtonIcon.vue.d.ts +1 -1
- package/dist/components/Button/types.d.ts +1 -1
- package/dist/components/Button/types.d.ts.map +1 -1
- package/dist/components/Card/AccountCard.vue.d.ts +3 -3
- package/dist/components/Card/BlankCard.vue.d.ts +1 -1
- package/dist/components/Card/Card.vue.d.ts +21 -21
- package/dist/components/Card/CardCompany.vue.d.ts +8 -8
- package/dist/components/Card/CardData.vue.d.ts +1 -1
- package/dist/components/Card/CardStatusesContainer.vue.d.ts +4 -4
- package/dist/components/Card/ContentCard.vue.d.ts +2 -2
- package/dist/components/Card/DashCard.vue.d.ts +4 -4
- package/dist/components/Card/DefaultCard.vue.d.ts +1 -1
- package/dist/components/Card/MarketplaceCard.vue.d.ts +2 -2
- package/dist/components/Card/SimpleCard.vue.d.ts +3 -3
- package/dist/components/Card/StatusCard.vue.d.ts +2 -2
- package/dist/components/Card/TitleCard.vue.d.ts +2 -2
- package/dist/components/CardImage/CardImage.vue.d.ts +8 -8
- package/dist/components/CardInformation/CardInformation.vue.d.ts +4 -4
- package/dist/components/CardProject/CardProject.vue.d.ts +3 -3
- package/dist/components/Carousel/Carousel.vue.d.ts +11 -11
- package/dist/components/Carousel/TagCarousel.vue.d.ts +9 -9
- package/dist/components/ChartBar/ChartBar.vue.d.ts +8 -8
- package/dist/components/ChartLine/ChartLine.vue.d.ts +1 -1
- package/dist/components/ChatText/ChatText.vue.d.ts +2 -2
- package/dist/components/ChatsContact/ChatsContact.vue.d.ts +15 -15
- package/dist/components/ChatsDashboardTagLive/ChatsDashboardTagLive.vue.d.ts +1 -1
- package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts +1 -1
- package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts.map +1 -1
- package/dist/components/ChatsMessage/ChatsMessage.vue.d.ts +5 -5
- package/dist/components/ChatsMessage/ChatsMessageStatusBackdrop.vue.d.ts +2 -2
- package/dist/components/ChatsNavbar/ChatsNavbar.vue.d.ts +1 -1
- package/dist/components/ChatsUserAvatar/ChatsUserAvatar.vue.d.ts +2 -2
- package/dist/components/Checkbox/Checkbox.vue.d.ts +3 -3
- package/dist/components/Comment/Comment.vue.d.ts +1 -1
- package/dist/components/DataArea/DataArea.vue.d.ts +2 -2
- package/dist/components/DataTable/index.vue.d.ts +1 -8
- package/dist/components/DataTable/index.vue.d.ts.map +1 -1
- package/dist/components/DateFilter/DateFilter.vue.d.ts +27 -149
- package/dist/components/DatePicker/DatePicker.vue.d.ts +8 -8
- package/dist/components/Drawer/Drawer.vue.d.ts +7 -7
- package/dist/components/Dropdown/Dropdown.vue.d.ts +1 -1
- package/dist/components/Dropdown/LanguageSelect.vue.d.ts +3 -3
- package/dist/components/Flag.vue.d.ts +2 -2
- package/dist/components/FormElement/FormElement.vue.d.ts +32 -38
- package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
- package/dist/components/Icon.vue.d.ts +1 -1
- package/dist/components/IconLoading/IconLoading.vue.d.ts +1 -1
- package/dist/components/ImportCard/ImportCard.vue.d.ts +7 -7
- package/dist/components/Input/BaseInput.vue.d.ts +1 -28
- package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
- package/dist/components/Input/Input.vue.d.ts +27 -149
- package/dist/components/Input/Input.vue.d.ts.map +1 -1
- package/dist/components/Input/TextInput.vue.d.ts +13 -67
- package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
- package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +37 -159
- package/dist/components/InputNext/InputNext.vue.d.ts +4 -4
- package/dist/components/Label/Label.vue.d.ts +15 -9
- package/dist/components/Label/Label.vue.d.ts.map +1 -1
- package/dist/components/Modal/Modal.vue.d.ts +2 -2
- package/dist/components/ModalDialog/ModalDialog.vue.d.ts +9 -9
- package/dist/components/ModalDialog/ModalDialog.vue.d.ts.map +1 -1
- package/dist/components/ModalNext/ModalNext.vue.d.ts +35 -157
- package/dist/components/ModalUpload/ModalUpload.vue.d.ts +14 -14
- package/dist/components/MoodRating/MoodRating.vue.d.ts +1 -1
- package/dist/components/MultiSelect/MultiSelect.vue.d.ts +7 -7
- package/dist/components/Pagination/Pagination.vue.d.ts +6 -6
- package/dist/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
- package/dist/components/Radio/Radio.vue.d.ts +2 -2
- package/dist/components/SelectSmart/SelectSmart.vue.d.ts +27 -81
- package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +8 -8
- package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +4 -4
- package/dist/components/SelectTime/index.vue.d.ts +13 -67
- package/dist/components/SkeletonLoading/skeletonTheme.vue.d.ts +1 -1
- package/dist/components/Slider/Slider.vue.d.ts +2 -2
- package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
- package/dist/components/Switch/Switch.vue.d.ts +2 -2
- package/dist/components/Tab/Tab.vue.d.ts +2 -13
- package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
- package/dist/components/TableNext/TablePagination.vue.d.ts +6 -6
- package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
- package/dist/components/Tag/BrandTag.vue.d.ts +2 -2
- package/dist/components/Tag/DefaultTag.vue.d.ts +2 -2
- package/dist/components/Tag/IndicatorTag.vue.d.ts +2 -2
- package/dist/components/Tag/Tag.vue.d.ts +8 -8
- package/dist/components/TextArea/TextArea.vue.d.ts +32 -38
- package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
- package/dist/components/ToolTip/ToolTip.vue.d.ts +1 -1
- package/dist/components/Tour/Tour.vue.d.ts +6 -6
- package/dist/components/Tour/TourPopover.vue.d.ts +6 -6
- package/dist/components/UploadArea/UploadArea.vue.d.ts +7 -7
- package/dist/components/index.d.ts +1079 -1889
- package/dist/components/index.d.ts.map +1 -1
- package/dist/{es-d6005598.js → es-1ca6f2cf.mjs} +1 -1
- package/dist/{index-35640dc9.js → index-ca7d12b1.mjs} +8407 -8738
- package/dist/locales/en.json.d.ts +1 -2
- package/dist/locales/es.json.d.ts +1 -2
- package/dist/locales/pt_br.json.d.ts +1 -2
- package/dist/{pt-br-89c2c09d.js → pt-br-2d5000b1.mjs} +1 -1
- package/dist/style.css +1 -1
- package/dist/unnnic.mjs +182 -0
- package/dist/unnnic.umd.js +109 -0
- package/dist/utils/call.d.ts +1 -2
- package/dist/utils/call.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/assets/scss/scheme-colors.scss +4 -131
- package/src/assets/tokens/colors.json +2 -2
- package/src/components/Alert/Alert.vue +135 -26
- package/src/components/Alert/AlertBanner.vue +182 -0
- package/src/components/Alert/AlertCaller.vue +49 -0
- package/src/components/Alert/Version1dot1.vue +36 -0
- package/src/components/Alert/__tests__/AlertBanner.spec.js +89 -0
- package/src/components/Alert/__tests__/AlertCaller.spec.js +98 -0
- package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +7 -11
- package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +2 -2
- package/src/components/Button/Button.vue +108 -60
- package/src/components/Button/types.ts +1 -0
- package/src/components/DataTable/index.vue +10 -25
- package/src/components/FormElement/FormElement.vue +91 -51
- package/src/components/Input/BaseInput.vue +14 -22
- package/src/components/Input/Input.scss +21 -19
- package/src/components/Input/Input.vue +29 -85
- package/src/components/Input/TextInput.vue +42 -39
- package/src/components/Input/__test__/TextInput.spec.js +5 -5
- package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +3 -12
- package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +1 -1
- package/src/components/Label/Label.vue +21 -52
- package/src/components/Label/__tests__/Label.spec.js +1 -1
- package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
- package/src/components/ModalDialog/ModalDialog.vue +0 -1
- package/src/components/ModalDialog/__tests__/__snapshots__/ModalDialog.spec.js.snap +1 -1
- package/src/components/Tab/Tab.vue +23 -37
- package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +1 -1
- package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
- package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
- package/src/components/TextArea/TextArea.vue +9 -13
- package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +2 -7
- package/src/components/index.ts +4 -18
- package/src/locales/en.json +1 -2
- package/src/locales/es.json +1 -2
- package/src/locales/pt_br.json +1 -2
- package/src/stories/Alert.stories.js +67 -6
- package/src/stories/Button.stories.js +17 -2
- package/src/stories/DataTable.stories.js +0 -60
- package/src/stories/Input.stories.js +3 -16
- package/src/stories/Label.stories.js +0 -7
- package/src/stories/Tab.stories.js +4 -11
- package/src/types/scheme-colors.d.ts +14 -120
- package/src/utils/call.js +18 -46
- package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts +0 -9
- package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts.map +0 -1
- package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts +0 -15
- package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts.map +0 -1
- package/dist/components/Toast/Toast.vue.d.ts +0 -16
- package/dist/components/Toast/Toast.vue.d.ts.map +0 -1
- package/dist/components/Toast/ToastManager.d.ts +0 -14
- package/dist/components/Toast/ToastManager.d.ts.map +0 -1
- package/dist/components/Toast/types.d.ts +0 -35
- package/dist/components/Toast/types.d.ts.map +0 -1
- package/dist/unnnic.js +0 -188
- package/dist/unnnic.umd.cjs +0 -110
- package/src/assets/img/previews/doc-preview.png +0 -0
- package/src/assets/img/previews/image-preview.png +0 -0
- package/src/assets/img/previews/video-preview.png +0 -0
- package/src/components/Popover/__tests__/Popover.spec.js +0 -147
- package/src/components/Popover/__tests__/__snapshots__/Popover.spec.js.snap +0 -8
- package/src/components/Popover/index.vue +0 -146
- package/src/components/Select/SelectOption.vue +0 -65
- package/src/components/Select/__tests__/Select.spec.js +0 -412
- package/src/components/Select/__tests__/SelectItem.spec.js +0 -330
- package/src/components/Select/__tests__/SelectOption.spec.js +0 -174
- package/src/components/Select/__tests__/__snapshots__/Select.spec.js.snap +0 -93
- package/src/components/Select/__tests__/__snapshots__/SelectItem.spec.js.snap +0 -15
- package/src/components/Select/__tests__/__snapshots__/SelectOption.spec.js.snap +0 -25
- package/src/components/Select/index.vue +0 -243
- package/src/components/TemplatePreview/TemplatePreview.vue +0 -252
- package/src/components/TemplatePreview/TemplatePreviewModal.vue +0 -51
- package/src/components/TemplatePreview/types.d.ts +0 -16
- package/src/components/Toast/Toast.vue +0 -236
- package/src/components/Toast/ToastManager.ts +0 -110
- package/src/components/Toast/types.ts +0 -57
- package/src/stories/Popover.stories.js +0 -39
- package/src/stories/Select.stories.js +0 -91
- package/src/stories/TemplatePreview.stories.js +0 -94
- package/src/stories/TemplatePreviewModal.stories.js +0 -110
- package/src/stories/Toast.mdx +0 -123
- package/src/stories/Toast.stories.js +0 -126
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import UnnnicTemplatePreviewModal from '../components/TemplatePreview/TemplatePreviewModal.vue';
|
|
2
|
-
|
|
3
|
-
import { action } from '@storybook/addon-actions';
|
|
4
|
-
|
|
5
|
-
export default {
|
|
6
|
-
title: 'example/TemplatePreviewModal',
|
|
7
|
-
tags: ['autodocs'],
|
|
8
|
-
component: UnnnicTemplatePreviewModal,
|
|
9
|
-
argTypes: {
|
|
10
|
-
locale: {
|
|
11
|
-
control: { type: 'select' },
|
|
12
|
-
options: ['pt-br', 'en', 'es'],
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const Template = (args) => ({
|
|
18
|
-
components: { UnnnicTemplatePreviewModal },
|
|
19
|
-
setup() {
|
|
20
|
-
const close = () => {
|
|
21
|
-
action('close')();
|
|
22
|
-
args.modelValue = false;
|
|
23
|
-
};
|
|
24
|
-
return { args, close };
|
|
25
|
-
},
|
|
26
|
-
template: `
|
|
27
|
-
<div>
|
|
28
|
-
<button @click="args.modelValue = true">Open Modal</button>
|
|
29
|
-
<unnnic-template-preview-modal v-bind="args" @close="close" />
|
|
30
|
-
</div>
|
|
31
|
-
`,
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
const bodyText =
|
|
35
|
-
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sem orci, ultrices id lectus non, vehicula suscipit libero. Ut vehicula libero a tempus fringilla. Nam tincidunt vestibulum maximus. Morbi vel pretium risus. Curabitur id quam lectus. Quisque dolor elit, auctor a lacus non, rutrum ullamcorper mi. Nulla et turpis sed eros pharetra ullamcorper fermentum ac nisl. Donec lacinia hendrerit tellus, sit amet suscipit velit vestibulum sed. Praesent gravida posuere metus, ut fringilla dolor euismod vel. Aenean vel ipsum magna. Integer metus mi, fermentum ut nulla at, facilisis lobortis metus. Ut vitae tortor posuere, dapibus leo quis, finibus neque.';
|
|
36
|
-
|
|
37
|
-
export const Default = Template.bind({});
|
|
38
|
-
Default.args = {
|
|
39
|
-
modelValue: false,
|
|
40
|
-
template: {
|
|
41
|
-
header: {
|
|
42
|
-
type: 'TEXT',
|
|
43
|
-
text: 'Hello, world!',
|
|
44
|
-
},
|
|
45
|
-
footer: 'Weni by VTEX',
|
|
46
|
-
buttons: [
|
|
47
|
-
{
|
|
48
|
-
text: 'Button 1',
|
|
49
|
-
type: 'PHONE_NUMBER',
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
text: 'Button 2',
|
|
53
|
-
type: 'URL',
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
text: 'Button 3',
|
|
57
|
-
type: 'QUICK_REPLY',
|
|
58
|
-
},
|
|
59
|
-
],
|
|
60
|
-
body: bodyText,
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export const Image = Template.bind({});
|
|
65
|
-
Image.args = {
|
|
66
|
-
template: {
|
|
67
|
-
header: {
|
|
68
|
-
type: 'MEDIA',
|
|
69
|
-
mediaType: 'IMAGE',
|
|
70
|
-
},
|
|
71
|
-
footer: 'Weni by VTEX',
|
|
72
|
-
body: bodyText,
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
export const Video = Template.bind({});
|
|
77
|
-
Video.args = {
|
|
78
|
-
template: {
|
|
79
|
-
header: {
|
|
80
|
-
type: 'MEDIA',
|
|
81
|
-
mediaType: 'VIDEO',
|
|
82
|
-
},
|
|
83
|
-
buttons: [
|
|
84
|
-
{
|
|
85
|
-
text: 'Button 1',
|
|
86
|
-
type: 'PHONE_NUMBER',
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
text: 'Button 2',
|
|
90
|
-
type: 'URL',
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
text: 'Button 3',
|
|
94
|
-
type: 'QUICK_REPLY',
|
|
95
|
-
},
|
|
96
|
-
],
|
|
97
|
-
},
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
export const Document = Template.bind({});
|
|
101
|
-
Document.args = {
|
|
102
|
-
template: {
|
|
103
|
-
header: {
|
|
104
|
-
type: 'MEDIA',
|
|
105
|
-
mediaType: 'DOCUMENT',
|
|
106
|
-
},
|
|
107
|
-
footer: 'Weni by VTEX',
|
|
108
|
-
body: bodyText,
|
|
109
|
-
},
|
|
110
|
-
};
|
package/src/stories/Toast.mdx
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { Meta, Source, Story } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
import * as ToastStories from './Toast.stories';
|
|
4
|
-
|
|
5
|
-
<Meta of={ToastStories} />
|
|
6
|
-
|
|
7
|
-
# Toast
|
|
8
|
-
|
|
9
|
-
The Toast component is used to display temporary notifications in the user interface. It appears in the bottom right corner of the screen with smooth animation and can be closed automatically or manually.
|
|
10
|
-
|
|
11
|
-
<Source
|
|
12
|
-
language="html"
|
|
13
|
-
dark
|
|
14
|
-
code={`
|
|
15
|
-
<UnnnicToast
|
|
16
|
-
title="Success!"
|
|
17
|
-
description="Your action was completed successfully."
|
|
18
|
-
type="success"
|
|
19
|
-
:timeout="5000"
|
|
20
|
-
@close="onClose"
|
|
21
|
-
@destroy="onDestroy"
|
|
22
|
-
/>
|
|
23
|
-
`}
|
|
24
|
-
/>
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
#### **Props Options:**
|
|
29
|
-
|
|
30
|
-
| Key | Description | Values | Default |
|
|
31
|
-
|-------------|------------------------------------------|-------------------------------------------------------------|-----------------|
|
|
32
|
-
| title | **Required.** Toast title | `string` | - |
|
|
33
|
-
| description | Toast descriptive text | `string` | `''` |
|
|
34
|
-
| type | Visual type of the toast | `'informational'` \| `'attention'` \| `'success'` \| `'error'` | `'informational'` |
|
|
35
|
-
| timeout | Time in ms for auto-dismiss (0 = persistent) | `number` | `5000` |
|
|
36
|
-
| button | Optional action button configuration | `{ text: string; action: () => void }` | `undefined` |
|
|
37
|
-
|
|
38
|
-
#### **Events:**
|
|
39
|
-
|
|
40
|
-
| Event | Description |
|
|
41
|
-
|---------|------------------------------------------------|
|
|
42
|
-
| close | Emitted when the toast is closed |
|
|
43
|
-
| destroy | Emitted when the toast is removed from DOM |
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Features
|
|
48
|
-
|
|
49
|
-
- **Animations**: Smooth entry and exit transitions
|
|
50
|
-
- **Visual types**: Different variations for different types of messages
|
|
51
|
-
- **Action button**: Optional, for quick actions
|
|
52
|
-
- **Auto-dismiss**: Configurable or persistent
|
|
53
|
-
|
|
54
|
-
## Usage
|
|
55
|
-
|
|
56
|
-
### As component
|
|
57
|
-
|
|
58
|
-
<Source
|
|
59
|
-
language="vue"
|
|
60
|
-
dark
|
|
61
|
-
code={`
|
|
62
|
-
<template>
|
|
63
|
-
<UnnnicToast
|
|
64
|
-
title="Success!"
|
|
65
|
-
description="Your action was completed successfully."
|
|
66
|
-
type="success"
|
|
67
|
-
:timeout="5000"
|
|
68
|
-
@close="onToastClose"
|
|
69
|
-
/>
|
|
70
|
-
</template>
|
|
71
|
-
|
|
72
|
-
<script setup>
|
|
73
|
-
import { UnnnicToast } from '@weni/unnnic-system';
|
|
74
|
-
|
|
75
|
-
const onToastClose = () => {
|
|
76
|
-
console.log('Toast closed');
|
|
77
|
-
};
|
|
78
|
-
</script>
|
|
79
|
-
`}
|
|
80
|
-
/>
|
|
81
|
-
|
|
82
|
-
### Programmatically
|
|
83
|
-
|
|
84
|
-
The Toast component can be used programmatically through the `toast` utility, which provides a simple API for creating toasts without needing to manage component state.
|
|
85
|
-
|
|
86
|
-
<Source
|
|
87
|
-
language="javascript"
|
|
88
|
-
dark
|
|
89
|
-
code={`
|
|
90
|
-
// Basic usage
|
|
91
|
-
import { toast } from '@weni/unnnic-system';
|
|
92
|
-
|
|
93
|
-
toast.info('Information', 'Here is some useful information');
|
|
94
|
-
`}
|
|
95
|
-
/>
|
|
96
|
-
|
|
97
|
-
#### API Reference
|
|
98
|
-
|
|
99
|
-
| Method | Parameters | Description |
|
|
100
|
-
|--------|------------|-------------|
|
|
101
|
-
| `toast.success(title, description?, options?)` | `title: string`<br/>`description?: string`<br/>`options?: ToastOptions` | Creates a success toast |
|
|
102
|
-
| `toast.error(title, description?, options?)` | `title: string`<br/>`description?: string`<br/>`options?: ToastOptions` | Creates an error toast |
|
|
103
|
-
| `toast.attention(title, description?, options?)` | `title: string`<br/>`description?: string`<br/>`options?: ToastOptions` | Creates an attention/warning toast |
|
|
104
|
-
| `toast.info(title, description?, options?)` | `title: string`<br/>`description?: string`<br/>`options?: ToastOptions` | Creates an informational toast |
|
|
105
|
-
|
|
106
|
-
#### ToastOptions Interface
|
|
107
|
-
|
|
108
|
-
```typescript
|
|
109
|
-
interface ToastOptions {
|
|
110
|
-
timeout?: number; // Auto-dismiss time in ms (0 = persistent)
|
|
111
|
-
button?: { // Optional action button
|
|
112
|
-
text: string;
|
|
113
|
-
action: () => void;
|
|
114
|
-
};
|
|
115
|
-
onClose?: () => void; // Callback when toast is closed
|
|
116
|
-
}
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
## Animations
|
|
120
|
-
|
|
121
|
-
- **Entry**: Slide from bottom to top with fade-in
|
|
122
|
-
- **Exit**: Slide from top to bottom with fade-out
|
|
123
|
-
- **Duration**: 300ms with smooth easing
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import Toast from '../components/Toast/Toast.vue';
|
|
2
|
-
import { action } from '@storybook/addon-actions';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Feedback/Toast',
|
|
6
|
-
component: Toast,
|
|
7
|
-
argTypes: {
|
|
8
|
-
title: {
|
|
9
|
-
control: 'text',
|
|
10
|
-
},
|
|
11
|
-
description: {
|
|
12
|
-
control: 'text',
|
|
13
|
-
},
|
|
14
|
-
type: {
|
|
15
|
-
control: 'select',
|
|
16
|
-
options: ['informational', 'attention', 'success', 'error'],
|
|
17
|
-
},
|
|
18
|
-
timeout: {
|
|
19
|
-
control: 'number',
|
|
20
|
-
},
|
|
21
|
-
button: {
|
|
22
|
-
control: 'object',
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
render: (args) => ({
|
|
26
|
-
components: { Toast },
|
|
27
|
-
setup() {
|
|
28
|
-
return { args };
|
|
29
|
-
},
|
|
30
|
-
methods: {
|
|
31
|
-
onClose() {
|
|
32
|
-
action('@close')('');
|
|
33
|
-
},
|
|
34
|
-
onDestroy() {
|
|
35
|
-
action('@destroy')('');
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
template: `
|
|
39
|
-
<div style="position: relative; height: 50px;">
|
|
40
|
-
<Toast
|
|
41
|
-
v-bind="args"
|
|
42
|
-
@close="onClose"
|
|
43
|
-
@destroy="onDestroy"
|
|
44
|
-
/>
|
|
45
|
-
</div>
|
|
46
|
-
`,
|
|
47
|
-
}),
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export const Informational = {
|
|
51
|
-
args: {
|
|
52
|
-
title: 'Information',
|
|
53
|
-
description: 'This is an informative message for the user.',
|
|
54
|
-
type: 'informational',
|
|
55
|
-
timeout: 5000,
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
export const Attention = {
|
|
60
|
-
args: {
|
|
61
|
-
title: 'Attention',
|
|
62
|
-
description: 'Please verify the data before continuing.',
|
|
63
|
-
type: 'attention',
|
|
64
|
-
timeout: 5000,
|
|
65
|
-
},
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
export const Success = {
|
|
69
|
-
args: {
|
|
70
|
-
title: 'Success!',
|
|
71
|
-
description: 'Your action was completed successfully.',
|
|
72
|
-
type: 'success',
|
|
73
|
-
timeout: 5000,
|
|
74
|
-
},
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
export const Error = {
|
|
78
|
-
args: {
|
|
79
|
-
title: 'Error',
|
|
80
|
-
description: 'An error occurred while processing your request.',
|
|
81
|
-
type: 'error',
|
|
82
|
-
timeout: 5000,
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
export const WithActionButton = {
|
|
87
|
-
args: {
|
|
88
|
-
title: 'New version available',
|
|
89
|
-
description: 'A new version of the system is available for download.',
|
|
90
|
-
type: 'informational',
|
|
91
|
-
timeout: 0,
|
|
92
|
-
button: {
|
|
93
|
-
text: 'Update',
|
|
94
|
-
action: () => {
|
|
95
|
-
alert('Updating...');
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
export const Persistent = {
|
|
102
|
-
args: {
|
|
103
|
-
title: 'Important message',
|
|
104
|
-
description: 'This message will remain visible until manually closed.',
|
|
105
|
-
type: 'attention',
|
|
106
|
-
timeout: 0,
|
|
107
|
-
},
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
export const TitleOnly = {
|
|
111
|
-
args: {
|
|
112
|
-
title: 'Simple message',
|
|
113
|
-
type: 'success',
|
|
114
|
-
timeout: 5000,
|
|
115
|
-
},
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
export const LongText = {
|
|
119
|
-
args: {
|
|
120
|
-
title: 'Document processed',
|
|
121
|
-
description:
|
|
122
|
-
'The document "Annual_Report_2024_Final_Definitive_Complete_Version.pdf" was processed successfully and is available for download in your workspace.',
|
|
123
|
-
type: 'success',
|
|
124
|
-
timeout: 8000,
|
|
125
|
-
},
|
|
126
|
-
};
|