@weni/unnnic-system 3.9.1 → 3.9.3-alpha.0
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 +16 -0
- package/dist/assets/tokens/colors.json.d.ts +376 -0
- package/dist/components/Accordion/Accordion.vue.d.ts +1 -1
- package/dist/components/Alert/Alert.vue.d.ts +17 -116
- package/dist/components/Alert/Alert.vue.d.ts.map +1 -1
- package/dist/components/Alert/Version1dot1.vue.d.ts +2 -38
- 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 +3 -3
- 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 +1 -1
- 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 +5 -5
- package/dist/components/Card/BlankCard.vue.d.ts +1 -1
- package/dist/components/Card/Card.vue.d.ts +27 -27
- package/dist/components/Card/CardCompany.vue.d.ts +11 -414
- package/dist/components/Card/CardData.vue.d.ts +1 -1
- package/dist/components/Card/CardStatusesContainer.vue.d.ts +5 -5
- package/dist/components/Card/ContentCard.vue.d.ts +3 -3
- package/dist/components/Card/DashCard.vue.d.ts +5 -5
- 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 +3 -3
- package/dist/components/CardImage/CardImage.vue.d.ts +24 -31
- package/dist/components/CardInformation/CardInformation.vue.d.ts +5 -5
- package/dist/components/CardProject/CardProject.vue.d.ts +3 -3
- package/dist/components/Carousel/Carousel.vue.d.ts +13 -416
- package/dist/components/Carousel/TagCarousel.vue.d.ts +12 -415
- package/dist/components/ChartBar/ChartBar.vue.d.ts +5 -5
- 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 +30 -448
- 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 +19 -26
- package/dist/components/Checkbox/Checkbox.vue.d.ts.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts +28 -0
- package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts.map +1 -0
- 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 +12 -2
- package/dist/components/DataTable/index.vue.d.ts.map +1 -1
- package/dist/components/DateFilter/DateFilter.vue.d.ts +251 -41
- package/dist/components/DatePicker/DatePicker.vue.d.ts +4 -4
- package/dist/components/Drawer/Drawer.vue.d.ts +4 -4
- 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 +51 -28
- package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
- package/dist/components/Icon.vue.d.ts +1 -1
- package/dist/components/Icon.vue.d.ts.map +1 -1
- package/dist/components/IconLoading/IconLoading.vue.d.ts +1 -1
- package/dist/components/ImportCard/ImportCard.vue.d.ts +4 -4
- package/dist/components/Input/BaseInput.vue.d.ts +33 -2
- package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
- package/dist/components/Input/Input.vue.d.ts +251 -41
- package/dist/components/Input/Input.vue.d.ts.map +1 -1
- package/dist/components/Input/TextInput.vue.d.ts +85 -25
- package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
- package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +256 -46
- package/dist/components/InputNext/InputNext.vue.d.ts +5 -5
- package/dist/components/Label/Label.vue.d.ts +9 -15
- 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 +6 -6
- package/dist/components/ModalNext/ModalNext.vue.d.ts +256 -46
- package/dist/components/ModalUpload/ModalUpload.vue.d.ts +9 -9
- package/dist/components/MoodRating/MoodRating.vue.d.ts +1 -1
- package/dist/components/MultiSelect/MultiSelect.vue.d.ts +26 -14
- package/dist/components/PageHeader/PageHeader.vue.d.ts +28 -0
- package/dist/components/PageHeader/PageHeader.vue.d.ts.map +1 -0
- package/dist/components/PageHeader/index.d.ts +3 -0
- package/dist/components/PageHeader/index.d.ts.map +1 -0
- package/dist/components/PageHeader/types.d.ts +9 -0
- package/dist/components/PageHeader/types.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.vue.d.ts +3 -3
- package/dist/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
- package/dist/components/Radio/Radio.vue.d.ts +10 -6
- package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
- package/dist/components/SelectSmart/SelectSmart.vue.d.ts +120 -470
- package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +11 -414
- package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +21 -28
- package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts.map +1 -1
- package/dist/components/SelectTime/index.vue.d.ts +85 -25
- 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 +55 -21
- package/dist/components/Switch/Switch.vue.d.ts.map +1 -1
- package/dist/components/Tab/Tab.vue.d.ts +13 -2
- package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
- package/dist/components/TableNext/TablePagination.vue.d.ts +3 -3
- package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
- package/dist/components/Tag/DefaultTag.vue.d.ts +4 -83
- package/dist/components/Tag/DefaultTag.vue.d.ts.map +1 -1
- package/dist/components/Tag/Tag.vue.d.ts +12 -414
- package/dist/components/Tag/Tag.vue.d.ts.map +1 -1
- package/dist/components/Tag/types.d.ts +18 -0
- package/dist/components/Tag/types.d.ts.map +1 -0
- package/dist/components/TextArea/TextArea.vue.d.ts +78 -33
- package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
- package/dist/components/Toast/Toast.vue.d.ts +16 -0
- package/dist/components/Toast/Toast.vue.d.ts.map +1 -0
- package/dist/components/Toast/ToastManager.d.ts +14 -0
- package/dist/components/Toast/ToastManager.d.ts.map +1 -0
- package/dist/components/Toast/types.d.ts +35 -0
- package/dist/components/Toast/types.d.ts.map +1 -0
- package/dist/components/ToolTip/ToolTip.vue.d.ts +1 -1
- package/dist/components/Tour/Tour.vue.d.ts +3 -3
- package/dist/components/Tour/TourPopover.vue.d.ts +3 -3
- package/dist/components/UploadArea/UploadArea.vue.d.ts +4 -4
- package/dist/components/index.d.ts +8736 -10161
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +1 -1
- package/dist/components/ui/popover/PopoverContent.vue.d.ts.map +1 -1
- package/dist/{es-efb4f902.mjs → es-61b41785.mjs} +1 -1
- package/dist/{index-e30fc518.mjs → index-10160248.mjs} +9383 -8807
- package/dist/locales/en.json.d.ts +2 -1
- package/dist/locales/es.json.d.ts +2 -1
- package/dist/locales/pt_br.json.d.ts +2 -1
- package/dist/{pt-br-4bacdbb6.mjs → pt-br-31a68683.mjs} +1 -1
- package/dist/style.css +1 -1
- package/dist/unnnic.mjs +158 -151
- package/dist/unnnic.umd.js +34 -35
- package/dist/utils/call.d.ts +2 -1
- package/dist/utils/call.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/assets/icons/checkbox-checked-disabled.svg +3 -0
- package/src/assets/icons/checkbox-checked.svg +3 -0
- package/src/assets/icons/checkbox-less-disabled.svg +3 -0
- package/src/assets/icons/checkbox-less.svg +3 -0
- package/src/assets/icons/radio-checked.svg +3 -0
- package/src/assets/icons/switch-checked-disabled.svg +3 -0
- package/src/assets/icons/switch-checked.svg +3 -0
- package/src/assets/scss/scheme-colors.scss +309 -223
- package/src/components/Alert/Alert.vue +26 -135
- package/src/components/Alert/Version1dot1.vue +0 -36
- package/src/components/Alert/__tests__/Alert.spec.js +2 -45
- package/src/components/Alert/__tests__/Version1dot1.spec.js +0 -21
- package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +11 -7
- package/src/components/Alert/__tests__/__snapshots__/AlertBanner.spec.js.snap +2 -2
- package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +1 -1
- package/src/components/Button/Button.vue +67 -117
- package/src/components/Button/types.ts +0 -1
- package/src/components/ChatsContact/ChatsContact.vue +16 -8
- package/src/components/Checkbox/Checkbox.vue +117 -65
- package/src/components/Checkbox/__tests__/Checkbox.spec.js +6 -21
- package/src/components/CheckboxGroup/CheckboxGroup.vue +96 -0
- package/src/components/DataTable/index.vue +48 -0
- package/src/components/FormElement/FormElement.vue +63 -93
- package/src/components/Icon.vue +2 -0
- package/src/components/Input/BaseInput.vue +33 -14
- package/src/components/Input/Input.scss +22 -22
- package/src/components/Input/Input.vue +79 -56
- package/src/components/Input/TextInput.vue +81 -65
- package/src/components/Input/__test__/Input.spec.js +13 -33
- package/src/components/Input/__test__/TextInput.spec.js +6 -8
- package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +17 -4
- package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +7 -1
- package/src/components/Label/Label.vue +52 -21
- 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/MultiSelectV2/MultSelectOption.vue +67 -0
- package/src/components/MultiSelectV2/__tests__/MultiSelect.spec.js +556 -0
- package/src/components/MultiSelectV2/__tests__/MultiSelectOption.spec.js +229 -0
- package/src/components/MultiSelectV2/__tests__/__snapshots__/MultiSelect.spec.js.snap +121 -0
- package/src/components/MultiSelectV2/__tests__/__snapshots__/MultiSelectOption.spec.js.snap +51 -0
- package/src/components/MultiSelectV2/index.vue +221 -0
- package/src/components/PageHeader/PageHeader.vue +148 -0
- package/src/components/PageHeader/index.ts +2 -0
- package/src/components/PageHeader/types.ts +10 -0
- package/src/components/Popover/__tests__/Popover.spec.js +147 -0
- package/src/components/Popover/__tests__/__snapshots__/Popover.spec.js.snap +8 -0
- package/src/components/Popover/index.vue +146 -0
- package/src/components/Radio/Radio.vue +118 -66
- package/src/components/Radio/__test__/Radio.spec.js +14 -20
- package/src/components/Radio/__test__/__snapshots__/Radio.spec.js.snap +4 -3
- package/src/components/RadioGroup/RadioGroup.vue +142 -0
- package/src/components/Select/SelectOption.vue +65 -0
- package/src/components/Select/__tests__/Select.spec.js +412 -0
- package/src/components/Select/__tests__/SelectItem.spec.js +330 -0
- package/src/components/Select/__tests__/SelectOption.spec.js +174 -0
- package/src/components/Select/__tests__/__snapshots__/Select.spec.js.snap +97 -0
- package/src/components/Select/__tests__/__snapshots__/SelectItem.spec.js.snap +15 -0
- package/src/components/Select/__tests__/__snapshots__/SelectOption.spec.js.snap +25 -0
- package/src/components/Select/index.vue +249 -0
- package/src/components/SelectSmart/SelectSmart.vue +4 -3
- package/src/components/Switch/Switch.vue +132 -91
- package/src/components/Switch/__tests__/Switch.spec.js +8 -75
- package/src/components/Switch/__tests__/__snapshots__/Switch.spec.js.snap +5 -6
- package/src/components/Tab/Tab.vue +37 -23
- 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/Tag/DefaultTag.vue +51 -107
- package/src/components/Tag/Tag.vue +32 -79
- package/src/components/Tag/types.ts +19 -0
- package/src/components/TextArea/TextArea.vue +41 -12
- package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +11 -3
- package/src/components/Toast/Toast.vue +246 -0
- package/src/components/Toast/ToastManager.ts +110 -0
- package/src/components/Toast/__tests__/Toast.spec.js +291 -0
- package/src/components/Toast/__tests__/ToastManager.spec.js +294 -0
- package/src/components/Toast/types.ts +57 -0
- package/src/components/index.ts +33 -18
- package/src/locales/en.json +2 -1
- package/src/locales/es.json +2 -1
- package/src/locales/pt_br.json +2 -1
- package/src/stories/Alert.stories.js +6 -67
- package/src/stories/Button.stories.js +29 -39
- package/src/stories/ChatsContact.stories.js +9 -0
- package/src/stories/Checkbox.stories.js +11 -4
- package/src/stories/CheckboxGroup.stories.js +105 -0
- package/src/stories/DataTable.stories.js +192 -0
- package/src/stories/Input.stories.js +71 -76
- package/src/stories/Label.stories.js +7 -0
- package/src/stories/MultiSelectV2.stories.js +158 -0
- package/src/stories/PageHeader.stories.js +330 -0
- package/src/stories/Radio.stories.js +28 -1
- package/src/stories/RadioGroup.stories.js +144 -0
- package/src/stories/Select.stories.js +158 -0
- package/src/stories/Switch.stories.js +10 -5
- package/src/stories/Tab.stories.js +11 -4
- package/src/stories/Tag.stories.js +24 -43
- package/src/stories/TextArea.stories.js +14 -2
- package/src/stories/Toast.mdx +123 -0
- package/src/stories/Toast.stories.js +126 -0
- package/src/types/scheme-colors.d.ts +1 -0
- package/src/utils/call.js +46 -18
- package/dist/components/Tag/BrandTag.vue.d.ts +0 -51
- package/dist/components/Tag/BrandTag.vue.d.ts.map +0 -1
- package/dist/components/Tag/IndicatorTag.vue.d.ts +0 -151
- package/dist/components/Tag/IndicatorTag.vue.d.ts.map +0 -1
- package/dist/components/Tag/TagNext.vue.d.ts +0 -24
- package/dist/components/Tag/TagNext.vue.d.ts.map +0 -1
- package/src/components/Alert/AlertBanner.vue +0 -182
- package/src/components/Alert/AlertCaller.vue +0 -49
- package/src/components/Alert/__tests__/AlertBanner.spec.js +0 -89
- package/src/components/Alert/__tests__/AlertCaller.spec.js +0 -98
- package/src/components/Tag/BrandTag.vue +0 -96
- package/src/components/Tag/IndicatorTag.vue +0 -107
- package/src/components/Tag/TagNext.vue +0 -60
|
@@ -7,14 +7,25 @@ export default {
|
|
|
7
7
|
component: unnnicInput,
|
|
8
8
|
argTypes: {
|
|
9
9
|
label: { control: { type: 'text' } },
|
|
10
|
-
size: {
|
|
11
|
-
|
|
10
|
+
size: {
|
|
11
|
+
control: { type: 'select' },
|
|
12
|
+
options: ['md', 'sm'],
|
|
13
|
+
defaultValue: {
|
|
14
|
+
summary: 'md',
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
type: {
|
|
18
|
+
control: { type: 'select' },
|
|
19
|
+
options: ['normal', 'error'],
|
|
20
|
+
defaultValue: {
|
|
21
|
+
summary: 'normal',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
12
24
|
nativeType: { control: { type: 'select' }, options: ['text', 'password'] },
|
|
13
25
|
placeholder: { control: { type: 'text' } },
|
|
14
26
|
iconLeft: { control: { type: 'select' }, options: iconList },
|
|
15
27
|
iconRight: { control: { type: 'select' }, options: iconList },
|
|
16
28
|
allowTogglePassword: { control: { type: 'boolean' } },
|
|
17
|
-
hasCloudyColor: { control: { type: 'select' }, options: [true, false] },
|
|
18
29
|
},
|
|
19
30
|
render: (args) => ({
|
|
20
31
|
components: {
|
|
@@ -35,106 +46,72 @@ export default {
|
|
|
35
46
|
},
|
|
36
47
|
},
|
|
37
48
|
template: `
|
|
38
|
-
<unnnic-
|
|
39
|
-
<unnnic-input v-model="value" @icon-right-click="click" v-bind="args" />
|
|
40
|
-
</unnnic-form-element>
|
|
49
|
+
<unnnic-input v-model="value" @icon-right-click="click" v-bind="args" />
|
|
41
50
|
`,
|
|
42
51
|
}),
|
|
43
52
|
};
|
|
44
53
|
|
|
45
|
-
const TemplateError = (args, { argTypes }) => ({
|
|
46
|
-
props: Object.keys(argTypes),
|
|
47
|
-
|
|
48
|
-
components: {
|
|
49
|
-
unnnicFormElement,
|
|
50
|
-
unnnicInput,
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
setup() {
|
|
54
|
-
return { args };
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
data() {
|
|
58
|
-
return {
|
|
59
|
-
value: '',
|
|
60
|
-
};
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
template: `
|
|
64
|
-
<unnnic-form-element label="Label" error="Error text">
|
|
65
|
-
<unnnic-input v-model="value" v-bind="args"/>
|
|
66
|
-
</unnnic-form-element>
|
|
67
|
-
`,
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
const TemplateDisabled = (args, { argTypes }) => ({
|
|
71
|
-
props: Object.keys(argTypes),
|
|
72
|
-
|
|
73
|
-
components: {
|
|
74
|
-
unnnicFormElement,
|
|
75
|
-
unnnicInput,
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
setup() {
|
|
79
|
-
return { args };
|
|
80
|
-
},
|
|
81
|
-
|
|
82
|
-
data() {
|
|
83
|
-
return {
|
|
84
|
-
value: '',
|
|
85
|
-
};
|
|
86
|
-
},
|
|
87
|
-
|
|
88
|
-
template: `
|
|
89
|
-
<unnnic-form-element label="Label" message="Helper text" disabled>
|
|
90
|
-
<unnnic-input v-model="value" v-bind="args"/>
|
|
91
|
-
</unnnic-form-element>
|
|
92
|
-
`,
|
|
93
|
-
});
|
|
94
|
-
|
|
95
54
|
export const Normal = {
|
|
96
55
|
args: {
|
|
97
|
-
|
|
56
|
+
label: 'Label',
|
|
98
57
|
placeholder: 'Placeholder',
|
|
99
58
|
},
|
|
100
59
|
};
|
|
101
60
|
|
|
102
61
|
export const NormalSm = {
|
|
103
62
|
args: {
|
|
63
|
+
label: 'Label',
|
|
104
64
|
size: 'sm',
|
|
105
|
-
type: 'normal',
|
|
106
65
|
placeholder: 'Placeholder',
|
|
107
66
|
},
|
|
108
67
|
};
|
|
109
68
|
|
|
110
|
-
export const Error =
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
69
|
+
export const Error = {
|
|
70
|
+
args: {
|
|
71
|
+
label: 'Label',
|
|
72
|
+
placeholder: 'Placeholder',
|
|
73
|
+
errors: 'Error text',
|
|
74
|
+
},
|
|
114
75
|
};
|
|
115
76
|
|
|
116
|
-
export const ErrorSm =
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
77
|
+
export const ErrorSm = {
|
|
78
|
+
args: {
|
|
79
|
+
label: 'Label',
|
|
80
|
+
size: 'sm',
|
|
81
|
+
errors: 'Error text',
|
|
82
|
+
placeholder: 'Placeholder',
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const Disabled = {
|
|
87
|
+
args: {
|
|
88
|
+
label: 'Label',
|
|
89
|
+
disabled: true,
|
|
90
|
+
placeholder: 'Placeholder',
|
|
91
|
+
},
|
|
121
92
|
};
|
|
122
93
|
|
|
123
|
-
export const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
94
|
+
export const DisabledSm = {
|
|
95
|
+
args: {
|
|
96
|
+
label: 'Label',
|
|
97
|
+
size: 'sm',
|
|
98
|
+
disabled: true,
|
|
99
|
+
placeholder: 'Placeholder',
|
|
100
|
+
},
|
|
127
101
|
};
|
|
128
102
|
|
|
129
|
-
export const
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
103
|
+
export const DisabledError = {
|
|
104
|
+
args: {
|
|
105
|
+
label: 'Label',
|
|
106
|
+
disabled: true,
|
|
107
|
+
errors: 'Error text',
|
|
108
|
+
placeholder: 'Placeholder',
|
|
109
|
+
},
|
|
134
110
|
};
|
|
135
111
|
|
|
136
112
|
export const Password = {
|
|
137
113
|
args: {
|
|
114
|
+
label: 'Label',
|
|
138
115
|
placeholder: 'Password',
|
|
139
116
|
nativeType: 'password',
|
|
140
117
|
allowTogglePassword: true,
|
|
@@ -143,6 +120,7 @@ export const Password = {
|
|
|
143
120
|
|
|
144
121
|
export const IconLeftAndRight = {
|
|
145
122
|
args: {
|
|
123
|
+
label: 'Label',
|
|
146
124
|
placeholder: 'Text',
|
|
147
125
|
iconLeft: 'email',
|
|
148
126
|
iconRight: 'search',
|
|
@@ -157,3 +135,20 @@ export const Mask = {
|
|
|
157
135
|
mask: ['###.###.###-##', '##.###.###/####-##'],
|
|
158
136
|
},
|
|
159
137
|
};
|
|
138
|
+
|
|
139
|
+
export const LimitMaxLength = {
|
|
140
|
+
args: {
|
|
141
|
+
label: 'Label',
|
|
142
|
+
placeholder: 'Text',
|
|
143
|
+
maxlength: 10,
|
|
144
|
+
showMaxlengthCounter: true,
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
export const WithTooltip = {
|
|
149
|
+
args: {
|
|
150
|
+
label: 'Label',
|
|
151
|
+
placeholder: 'Text',
|
|
152
|
+
tooltip: 'Tooltip',
|
|
153
|
+
},
|
|
154
|
+
};
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import UnnnicMultiSelect from '../components/MultiSelectV2/index.vue';
|
|
2
|
+
|
|
3
|
+
const options = [
|
|
4
|
+
{ label: 'Option 1', value: 'option1', altValue: 'alt_value_option1' },
|
|
5
|
+
{ label: 'Option 2', value: 'option2', altValue: 'alt_value_option2' },
|
|
6
|
+
{ label: 'Option 3', value: 'option3', altValue: 'alt_value_option3' },
|
|
7
|
+
{ label: 'Option 4', value: 'option4', altValue: 'alt_value_option4' },
|
|
8
|
+
{ label: 'Option 5', value: 'option5', altValue: 'alt_value_option5' },
|
|
9
|
+
{ label: 'Option 6', value: 'option6', altValue: 'alt_value_option6' },
|
|
10
|
+
{ label: 'Option 7', value: 'option7', altValue: 'alt_value_option7' },
|
|
11
|
+
{ label: 'Option 8', value: 'option8', altValue: 'alt_value_option8' },
|
|
12
|
+
{ label: 'Option 9', value: 'option9', altValue: 'alt_value_option9' },
|
|
13
|
+
{ label: 'Option 10', value: 'option10', disabled: true },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
export default {
|
|
17
|
+
title: 'Form/MultiSelectV2',
|
|
18
|
+
component: UnnnicMultiSelect,
|
|
19
|
+
tags: ['autodocs'],
|
|
20
|
+
parameters: {
|
|
21
|
+
docs: {
|
|
22
|
+
description: {
|
|
23
|
+
component:
|
|
24
|
+
'MultiSelect is designed to solve common problems related to multiple option selection.',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
argTypes: {
|
|
29
|
+
options: {
|
|
30
|
+
description:
|
|
31
|
+
'List of items to be displayed in the options. If an item has a `disabled` key set to `true`, that item will be disabled. By default, the component looks for the `label` and `value` keys to display and update the model, but these are not required if you wish to customize them using the `itemLabel` and `itemValue` props, respectively.',
|
|
32
|
+
},
|
|
33
|
+
placeholder: {
|
|
34
|
+
description: 'Text to be displayed in the placeholder.',
|
|
35
|
+
},
|
|
36
|
+
label: {
|
|
37
|
+
description: 'Text to be displayed in the label.',
|
|
38
|
+
},
|
|
39
|
+
modelValue: {
|
|
40
|
+
description:
|
|
41
|
+
'Model variable. Its type will always match a list of the return type of the key specified by `itemValue`, or the entire options object when the `returnObject` property is set to `true`.',
|
|
42
|
+
},
|
|
43
|
+
returnObject: {
|
|
44
|
+
description:
|
|
45
|
+
'Prop to indicate that the full option object should be returned in the v-model.',
|
|
46
|
+
},
|
|
47
|
+
itemLabel: {
|
|
48
|
+
description:
|
|
49
|
+
'Field of the option item that should be used to render the option label.',
|
|
50
|
+
},
|
|
51
|
+
itemValue: {
|
|
52
|
+
description:
|
|
53
|
+
'Field of the option item that should be used to return value to v-model.',
|
|
54
|
+
},
|
|
55
|
+
type: {
|
|
56
|
+
description: 'Select state type',
|
|
57
|
+
},
|
|
58
|
+
errors: {
|
|
59
|
+
description:
|
|
60
|
+
"Error message or messages. When it's an array, the messages will be separated by commas.",
|
|
61
|
+
},
|
|
62
|
+
message: {
|
|
63
|
+
description: 'Help or hint message.',
|
|
64
|
+
},
|
|
65
|
+
size: {
|
|
66
|
+
description: 'Select size',
|
|
67
|
+
},
|
|
68
|
+
optionsLines: {
|
|
69
|
+
description:
|
|
70
|
+
'Number of options to display at most; if exceeded, scrolling will be enabled.',
|
|
71
|
+
},
|
|
72
|
+
enableSearch: {
|
|
73
|
+
description:
|
|
74
|
+
'If true, enables a search field displayed inside the options popover. The `update:search` event is emitted on each input.',
|
|
75
|
+
},
|
|
76
|
+
search: {
|
|
77
|
+
description: 'Search value.',
|
|
78
|
+
},
|
|
79
|
+
locale: {
|
|
80
|
+
description: 'Locale for i18n translations.',
|
|
81
|
+
},
|
|
82
|
+
disabled: {
|
|
83
|
+
description: 'Disable the select.',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
render: (args) => ({
|
|
87
|
+
components: { UnnnicMultiSelect },
|
|
88
|
+
setup() {
|
|
89
|
+
const handleSearch = (value) => {
|
|
90
|
+
args.search = value;
|
|
91
|
+
};
|
|
92
|
+
return { args, handleSearch };
|
|
93
|
+
},
|
|
94
|
+
data() {
|
|
95
|
+
return {
|
|
96
|
+
exampleValue: [],
|
|
97
|
+
};
|
|
98
|
+
},
|
|
99
|
+
template: `
|
|
100
|
+
<p>modelValue: {{ exampleValue }}</p>
|
|
101
|
+
<unnnic-multi-select v-model="exampleValue" v-bind="args" @update:search="handleSearch" />
|
|
102
|
+
`,
|
|
103
|
+
}),
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
export const Default = {
|
|
107
|
+
args: {
|
|
108
|
+
placeholder: 'Placeholder',
|
|
109
|
+
label: 'Label',
|
|
110
|
+
options,
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export const ReturnObject = {
|
|
115
|
+
args: {
|
|
116
|
+
returnObject: true,
|
|
117
|
+
placeholder: 'Placeholder',
|
|
118
|
+
label: 'Label',
|
|
119
|
+
options,
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
export const AlternativeValueKey = {
|
|
124
|
+
args: {
|
|
125
|
+
itemValue: 'altValue',
|
|
126
|
+
placeholder: 'Placeholder',
|
|
127
|
+
label: 'Label',
|
|
128
|
+
options,
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export const AlternativeValueLabel = {
|
|
133
|
+
args: {
|
|
134
|
+
itemLabel: 'altValue',
|
|
135
|
+
placeholder: 'Placeholder',
|
|
136
|
+
label: 'Label',
|
|
137
|
+
options,
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
export const Disabled = {
|
|
142
|
+
args: {
|
|
143
|
+
placeholder: 'Placeholder',
|
|
144
|
+
label: 'Label',
|
|
145
|
+
options,
|
|
146
|
+
disabled: true,
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export const WithSearch = {
|
|
151
|
+
args: {
|
|
152
|
+
placeholder: 'Placeholder',
|
|
153
|
+
label: 'Label',
|
|
154
|
+
options,
|
|
155
|
+
enableSearch: true,
|
|
156
|
+
search: '',
|
|
157
|
+
},
|
|
158
|
+
};
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
import { action } from '@storybook/addon-actions';
|
|
2
|
+
|
|
3
|
+
import PageHeader from '../components/PageHeader/PageHeader.vue';
|
|
4
|
+
import UnnnicButton from '../components/Button/Button.vue';
|
|
5
|
+
import UnnnicTag from '../components/Tag/Tag.vue';
|
|
6
|
+
import UnnnicSelectSmart from '../components/SelectSmart/SelectSmart.vue';
|
|
7
|
+
import { Tabs, TabsList, TabsTrigger, TabsContent } from '@/components/ui/tabs';
|
|
8
|
+
|
|
9
|
+
export default {
|
|
10
|
+
title: 'Layout/PageHeader',
|
|
11
|
+
component: PageHeader,
|
|
12
|
+
tags: ['autodocs'],
|
|
13
|
+
parameters: {
|
|
14
|
+
docs: {
|
|
15
|
+
description: {
|
|
16
|
+
component: `A page header component to standardize the header of pages.
|
|
17
|
+
<br/>
|
|
18
|
+
It supports title, description, actions, tabs, tags, and back navigation.
|
|
19
|
+
<br/>
|
|
20
|
+
This component provides multiple variations to handle different page header scenarios.
|
|
21
|
+
`,
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
argTypes: {
|
|
26
|
+
title: {
|
|
27
|
+
control: { type: 'text' },
|
|
28
|
+
description: 'The title of the page',
|
|
29
|
+
},
|
|
30
|
+
description: {
|
|
31
|
+
control: { type: 'text' },
|
|
32
|
+
description: 'The description text below the title',
|
|
33
|
+
},
|
|
34
|
+
hasBackButton: {
|
|
35
|
+
control: { type: 'boolean' },
|
|
36
|
+
description: 'Show back navigation button',
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
args: {
|
|
40
|
+
title: 'Page Name',
|
|
41
|
+
description: 'Description',
|
|
42
|
+
hasBackButton: false,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export const Default = {
|
|
47
|
+
parameters: {
|
|
48
|
+
docs: {
|
|
49
|
+
description: {
|
|
50
|
+
story: 'A simple page header with title and description.',
|
|
51
|
+
},
|
|
52
|
+
source: {
|
|
53
|
+
code: `
|
|
54
|
+
<UnnnicPageHeader
|
|
55
|
+
title="Page Name"
|
|
56
|
+
description="Description"
|
|
57
|
+
/>
|
|
58
|
+
`,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
render: (args) => ({
|
|
63
|
+
components: { PageHeader },
|
|
64
|
+
setup() {
|
|
65
|
+
return { args };
|
|
66
|
+
},
|
|
67
|
+
template: `
|
|
68
|
+
<PageHeader v-bind="args" />
|
|
69
|
+
`,
|
|
70
|
+
}),
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export const WithActions = {
|
|
74
|
+
parameters: {
|
|
75
|
+
docs: {
|
|
76
|
+
description: {
|
|
77
|
+
story:
|
|
78
|
+
'Page header with action buttons on the right side. Supports primary and secondary actions.',
|
|
79
|
+
},
|
|
80
|
+
source: {
|
|
81
|
+
code: `
|
|
82
|
+
<UnnnicPageHeader
|
|
83
|
+
title="Page Name"
|
|
84
|
+
description="Description"
|
|
85
|
+
>
|
|
86
|
+
<template #actions>
|
|
87
|
+
<UnnnicButton text="Button" type="secondary" />
|
|
88
|
+
<UnnnicButton text="Button" type="primary" />
|
|
89
|
+
</template>
|
|
90
|
+
</UnnnicPageHeader>
|
|
91
|
+
`,
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
render: (args) => ({
|
|
96
|
+
components: {
|
|
97
|
+
PageHeader,
|
|
98
|
+
UnnnicButton,
|
|
99
|
+
Tabs,
|
|
100
|
+
TabsList,
|
|
101
|
+
TabsTrigger,
|
|
102
|
+
TabsContent,
|
|
103
|
+
},
|
|
104
|
+
setup() {
|
|
105
|
+
return { args };
|
|
106
|
+
},
|
|
107
|
+
template: `
|
|
108
|
+
<PageHeader v-bind="args">
|
|
109
|
+
<template #actions>
|
|
110
|
+
<UnnnicButton text="Button" type="secondary" />
|
|
111
|
+
<UnnnicButton text="Button" type="primary" />
|
|
112
|
+
</template>
|
|
113
|
+
</PageHeader>
|
|
114
|
+
`,
|
|
115
|
+
}),
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export const WithTabs = {
|
|
119
|
+
parameters: {
|
|
120
|
+
docs: {
|
|
121
|
+
description: {
|
|
122
|
+
story:
|
|
123
|
+
'Page header with tabs for navigation. Useful for pages with multiple sections divided by tabs.',
|
|
124
|
+
},
|
|
125
|
+
source: {
|
|
126
|
+
code: `
|
|
127
|
+
<UnnnicPageHeader
|
|
128
|
+
title="Page Name"
|
|
129
|
+
description="Description"
|
|
130
|
+
>
|
|
131
|
+
<template #actions>
|
|
132
|
+
<UnnnicButton text="Button" type="secondary" />
|
|
133
|
+
<UnnnicButton text="Button" type="primary" />
|
|
134
|
+
</template>
|
|
135
|
+
<template #tabs>
|
|
136
|
+
<UnnnicTabs defaultValue="label1">
|
|
137
|
+
<UnnnicTabsList>
|
|
138
|
+
<UnnnicTabsTrigger value="label1">Label</UnnnicTabsTrigger>
|
|
139
|
+
<UnnnicTabsTrigger value="label2">Label</UnnnicTabsTrigger>
|
|
140
|
+
<UnnnicTabsTrigger value="label3">Label</UnnnicTabsTrigger>
|
|
141
|
+
</UnnnicTabsList>
|
|
142
|
+
</UnnnicTabs>
|
|
143
|
+
</template>
|
|
144
|
+
</UnnnicPageHeader>
|
|
145
|
+
`,
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
render: (args) => ({
|
|
150
|
+
components: {
|
|
151
|
+
PageHeader,
|
|
152
|
+
UnnnicButton,
|
|
153
|
+
Tabs,
|
|
154
|
+
TabsList,
|
|
155
|
+
TabsTrigger,
|
|
156
|
+
TabsContent,
|
|
157
|
+
},
|
|
158
|
+
setup() {
|
|
159
|
+
return { args };
|
|
160
|
+
},
|
|
161
|
+
template: `
|
|
162
|
+
<PageHeader v-bind="args">
|
|
163
|
+
<template #actions>
|
|
164
|
+
<UnnnicButton text="Button" type="secondary" />
|
|
165
|
+
<UnnnicButton text="Button" type="primary" />
|
|
166
|
+
</template>
|
|
167
|
+
<template #tabs>
|
|
168
|
+
<Tabs defaultValue="label1">
|
|
169
|
+
<TabsList>
|
|
170
|
+
<TabsTrigger value="label1">Label</TabsTrigger>
|
|
171
|
+
<TabsTrigger value="label2">Label</TabsTrigger>
|
|
172
|
+
<TabsTrigger value="label3">Label</TabsTrigger>
|
|
173
|
+
</TabsList>
|
|
174
|
+
</Tabs>
|
|
175
|
+
</template>
|
|
176
|
+
</PageHeader>
|
|
177
|
+
`,
|
|
178
|
+
}),
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
export const WithSelect = {
|
|
182
|
+
parameters: {
|
|
183
|
+
docs: {
|
|
184
|
+
description: {
|
|
185
|
+
story: 'Page header with a select dropdown on the right side.',
|
|
186
|
+
},
|
|
187
|
+
source: {
|
|
188
|
+
code: `
|
|
189
|
+
<UnnnicPageHeader
|
|
190
|
+
title="Page Name"
|
|
191
|
+
description="Description"
|
|
192
|
+
>
|
|
193
|
+
<template #actions>
|
|
194
|
+
<UnnnicSelectSmart />
|
|
195
|
+
</template>
|
|
196
|
+
</UnnnicPageHeader>
|
|
197
|
+
`,
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
render: (args) => ({
|
|
202
|
+
components: { PageHeader, UnnnicSelectSmart },
|
|
203
|
+
setup() {
|
|
204
|
+
return { args };
|
|
205
|
+
},
|
|
206
|
+
template: `
|
|
207
|
+
<PageHeader v-bind="args">
|
|
208
|
+
<template #actions>
|
|
209
|
+
<UnnnicSelectSmart />
|
|
210
|
+
</template>
|
|
211
|
+
</PageHeader>
|
|
212
|
+
`,
|
|
213
|
+
}),
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
export const WithTag = {
|
|
217
|
+
parameters: {
|
|
218
|
+
docs: {
|
|
219
|
+
description: {
|
|
220
|
+
story: 'Page header with a tag next to the title and action buttons.',
|
|
221
|
+
},
|
|
222
|
+
source: {
|
|
223
|
+
code: `
|
|
224
|
+
<UnnnicPageHeader
|
|
225
|
+
title="Page Name"
|
|
226
|
+
description="Description"
|
|
227
|
+
>
|
|
228
|
+
<template #tag>
|
|
229
|
+
<UnnnicTag text="Tag name" scheme="gray" />
|
|
230
|
+
</template>
|
|
231
|
+
<template #actions>
|
|
232
|
+
<UnnnicButton text="Button" type="secondary" />
|
|
233
|
+
<UnnnicButton text="Button" type="primary" />
|
|
234
|
+
</template>
|
|
235
|
+
</UnnnicPageHeader>
|
|
236
|
+
`,
|
|
237
|
+
},
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
render: (args) => ({
|
|
241
|
+
components: { PageHeader, UnnnicButton, UnnnicTag },
|
|
242
|
+
setup() {
|
|
243
|
+
return { args };
|
|
244
|
+
},
|
|
245
|
+
template: `
|
|
246
|
+
<PageHeader v-bind="args">
|
|
247
|
+
<template #tag>
|
|
248
|
+
<UnnnicTag text="Tag name" scheme="gray" />
|
|
249
|
+
</template>
|
|
250
|
+
<template #actions>
|
|
251
|
+
<UnnnicButton text="Button" type="secondary" />
|
|
252
|
+
<UnnnicButton text="Button" type="primary" />
|
|
253
|
+
</template>
|
|
254
|
+
</PageHeader>
|
|
255
|
+
`,
|
|
256
|
+
}),
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
export const WithMenuButton = {
|
|
260
|
+
parameters: {
|
|
261
|
+
docs: {
|
|
262
|
+
description: {
|
|
263
|
+
story: 'Page header with a menu button (three dots) on the right side.',
|
|
264
|
+
},
|
|
265
|
+
source: {
|
|
266
|
+
code: `
|
|
267
|
+
<UnnnicPageHeader
|
|
268
|
+
title="Page Name"
|
|
269
|
+
description="Description"
|
|
270
|
+
>
|
|
271
|
+
<template #actions>
|
|
272
|
+
<UnnnicButton type="tertiary" iconCenter="more_vert" />
|
|
273
|
+
</template>
|
|
274
|
+
</UnnnicPageHeader>
|
|
275
|
+
`,
|
|
276
|
+
},
|
|
277
|
+
},
|
|
278
|
+
},
|
|
279
|
+
render: (args) => ({
|
|
280
|
+
components: { PageHeader, UnnnicButton },
|
|
281
|
+
setup() {
|
|
282
|
+
return { args };
|
|
283
|
+
},
|
|
284
|
+
template: `
|
|
285
|
+
<PageHeader v-bind="args">
|
|
286
|
+
<template #actions>
|
|
287
|
+
<UnnnicButton type="tertiary" iconCenter="more_vert" />
|
|
288
|
+
</template>
|
|
289
|
+
</PageHeader>
|
|
290
|
+
`,
|
|
291
|
+
}),
|
|
292
|
+
};
|
|
293
|
+
|
|
294
|
+
export const WithBackButton = {
|
|
295
|
+
parameters: {
|
|
296
|
+
docs: {
|
|
297
|
+
description: {
|
|
298
|
+
story: 'Page header with a back navigation button.',
|
|
299
|
+
},
|
|
300
|
+
source: {
|
|
301
|
+
code: `
|
|
302
|
+
<UnnnicPageHeader
|
|
303
|
+
title="Page Name"
|
|
304
|
+
:hasBackButton="true"
|
|
305
|
+
/>
|
|
306
|
+
`,
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
render: (args) => ({
|
|
311
|
+
components: { PageHeader },
|
|
312
|
+
setup() {
|
|
313
|
+
const handleBack = () => {
|
|
314
|
+
action('back')();
|
|
315
|
+
};
|
|
316
|
+
|
|
317
|
+
return {
|
|
318
|
+
args: {
|
|
319
|
+
...args,
|
|
320
|
+
hasBackButton: true,
|
|
321
|
+
description: '',
|
|
322
|
+
},
|
|
323
|
+
handleBack,
|
|
324
|
+
};
|
|
325
|
+
},
|
|
326
|
+
template: `
|
|
327
|
+
<PageHeader v-bind="args" @back="handleBack" />
|
|
328
|
+
`,
|
|
329
|
+
}),
|
|
330
|
+
};
|