@weni/unnnic-system 3.10.0 → 3.11.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.
Files changed (228) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/dist/assets/tokens/colors.json.d.ts +376 -0
  3. package/dist/components/Accordion/Accordion.vue.d.ts +1 -1
  4. package/dist/components/Alert/Alert.vue.d.ts +17 -116
  5. package/dist/components/Alert/Alert.vue.d.ts.map +1 -1
  6. package/dist/components/Alert/Version1dot1.vue.d.ts +2 -38
  7. package/dist/components/Alert/Version1dot1.vue.d.ts.map +1 -1
  8. package/dist/components/AudioRecorder/AudioHandler.vue.d.ts +2 -2
  9. package/dist/components/AudioRecorder/AudioPlayer.vue.d.ts +1 -1
  10. package/dist/components/AudioRecorder/AudioRecorder.vue.d.ts +5 -5
  11. package/dist/components/AvatarIcon/AvatarIcon.vue.d.ts +3 -3
  12. package/dist/components/Banner/Banner.vue.d.ts +1 -1
  13. package/dist/components/Banner/InfoBanner.vue.d.ts +1 -1
  14. package/dist/components/Breadcrumb/Breadcrumb.vue.d.ts +1 -1
  15. package/dist/components/Button/Button.vue.d.ts +1 -1
  16. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  17. package/dist/components/Button/ButtonIcon.vue.d.ts +1 -1
  18. package/dist/components/Button/types.d.ts +1 -1
  19. package/dist/components/Button/types.d.ts.map +1 -1
  20. package/dist/components/Card/AccountCard.vue.d.ts +5 -5
  21. package/dist/components/Card/BlankCard.vue.d.ts +1 -1
  22. package/dist/components/Card/Card.vue.d.ts +27 -27
  23. package/dist/components/Card/CardCompany.vue.d.ts +11 -414
  24. package/dist/components/Card/CardData.vue.d.ts +1 -1
  25. package/dist/components/Card/CardStatusesContainer.vue.d.ts +5 -5
  26. package/dist/components/Card/ContentCard.vue.d.ts +3 -3
  27. package/dist/components/Card/DashCard.vue.d.ts +5 -5
  28. package/dist/components/Card/DefaultCard.vue.d.ts +1 -1
  29. package/dist/components/Card/MarketplaceCard.vue.d.ts +2 -2
  30. package/dist/components/Card/SimpleCard.vue.d.ts +3 -3
  31. package/dist/components/Card/StatusCard.vue.d.ts +2 -2
  32. package/dist/components/Card/TitleCard.vue.d.ts +3 -3
  33. package/dist/components/CardImage/CardImage.vue.d.ts +24 -31
  34. package/dist/components/CardInformation/CardInformation.vue.d.ts +5 -5
  35. package/dist/components/CardProject/CardProject.vue.d.ts +3 -3
  36. package/dist/components/Carousel/Carousel.vue.d.ts +13 -416
  37. package/dist/components/Carousel/TagCarousel.vue.d.ts +12 -415
  38. package/dist/components/ChartBar/ChartBar.vue.d.ts +5 -5
  39. package/dist/components/ChartLine/ChartLine.vue.d.ts +1 -1
  40. package/dist/components/ChatText/ChatText.vue.d.ts +2 -2
  41. package/dist/components/ChatsContact/ChatsContact.vue.d.ts +21 -446
  42. package/dist/components/ChatsDashboardTagLive/ChatsDashboardTagLive.vue.d.ts +1 -1
  43. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts +1 -1
  44. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts.map +1 -1
  45. package/dist/components/ChatsMessage/ChatsMessage.vue.d.ts +5 -5
  46. package/dist/components/ChatsMessage/ChatsMessageStatusBackdrop.vue.d.ts +2 -2
  47. package/dist/components/ChatsNavbar/ChatsNavbar.vue.d.ts +1 -1
  48. package/dist/components/ChatsUserAvatar/ChatsUserAvatar.vue.d.ts +2 -2
  49. package/dist/components/Checkbox/Checkbox.vue.d.ts +19 -26
  50. package/dist/components/Checkbox/Checkbox.vue.d.ts.map +1 -1
  51. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts +28 -0
  52. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts.map +1 -0
  53. package/dist/components/Comment/Comment.vue.d.ts +1 -1
  54. package/dist/components/DataArea/DataArea.vue.d.ts +2 -2
  55. package/dist/components/DataTable/index.vue.d.ts +1 -1
  56. package/dist/components/DataTable/index.vue.d.ts.map +1 -1
  57. package/dist/components/DateFilter/DateFilter.vue.d.ts +170 -39
  58. package/dist/components/DatePicker/DatePicker.vue.d.ts +4 -4
  59. package/dist/components/Drawer/Drawer.vue.d.ts +4 -4
  60. package/dist/components/Dropdown/Dropdown.vue.d.ts +1 -1
  61. package/dist/components/Dropdown/LanguageSelect.vue.d.ts +3 -3
  62. package/dist/components/Flag.vue.d.ts +2 -2
  63. package/dist/components/FormElement/FormElement.vue.d.ts +51 -28
  64. package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
  65. package/dist/components/Icon.vue.d.ts +1 -1
  66. package/dist/components/Icon.vue.d.ts.map +1 -1
  67. package/dist/components/IconLoading/IconLoading.vue.d.ts +1 -1
  68. package/dist/components/ImportCard/ImportCard.vue.d.ts +4 -4
  69. package/dist/components/Input/BaseInput.vue.d.ts +11 -2
  70. package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
  71. package/dist/components/Input/Input.vue.d.ts +170 -39
  72. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  73. package/dist/components/Input/TextInput.vue.d.ts +33 -24
  74. package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
  75. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +175 -44
  76. package/dist/components/InputNext/InputNext.vue.d.ts +4 -4
  77. package/dist/components/Label/Label.vue.d.ts +9 -15
  78. package/dist/components/Label/Label.vue.d.ts.map +1 -1
  79. package/dist/components/Modal/Modal.vue.d.ts +2 -2
  80. package/dist/components/ModalDialog/ModalDialog.vue.d.ts +6 -6
  81. package/dist/components/ModalNext/ModalNext.vue.d.ts +175 -44
  82. package/dist/components/ModalUpload/ModalUpload.vue.d.ts +9 -9
  83. package/dist/components/MoodRating/MoodRating.vue.d.ts +1 -1
  84. package/dist/components/MultiSelect/MultiSelect.vue.d.ts +26 -14
  85. package/dist/components/PageHeader/PageHeader.vue.d.ts +28 -0
  86. package/dist/components/PageHeader/PageHeader.vue.d.ts.map +1 -0
  87. package/dist/components/PageHeader/index.d.ts +3 -0
  88. package/dist/components/PageHeader/index.d.ts.map +1 -0
  89. package/dist/components/PageHeader/types.d.ts +9 -0
  90. package/dist/components/PageHeader/types.d.ts.map +1 -0
  91. package/dist/components/Pagination/Pagination.vue.d.ts +3 -3
  92. package/dist/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
  93. package/dist/components/Radio/Radio.vue.d.ts +10 -6
  94. package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
  95. package/dist/components/SelectSmart/SelectSmart.vue.d.ts +68 -469
  96. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +11 -414
  97. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +21 -28
  98. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts.map +1 -1
  99. package/dist/components/SelectTime/index.vue.d.ts +33 -24
  100. package/dist/components/SkeletonLoading/skeletonTheme.vue.d.ts +1 -1
  101. package/dist/components/Slider/Slider.vue.d.ts +2 -2
  102. package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
  103. package/dist/components/Switch/Switch.vue.d.ts +55 -21
  104. package/dist/components/Switch/Switch.vue.d.ts.map +1 -1
  105. package/dist/components/Tab/Tab.vue.d.ts +13 -2
  106. package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
  107. package/dist/components/TableNext/TablePagination.vue.d.ts +3 -3
  108. package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
  109. package/dist/components/Tag/DefaultTag.vue.d.ts +4 -83
  110. package/dist/components/Tag/DefaultTag.vue.d.ts.map +1 -1
  111. package/dist/components/Tag/Tag.vue.d.ts +12 -414
  112. package/dist/components/Tag/Tag.vue.d.ts.map +1 -1
  113. package/dist/components/Tag/types.d.ts +18 -0
  114. package/dist/components/Tag/types.d.ts.map +1 -0
  115. package/dist/components/TextArea/TextArea.vue.d.ts +78 -33
  116. package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
  117. package/dist/components/Toast/Toast.vue.d.ts +16 -0
  118. package/dist/components/Toast/Toast.vue.d.ts.map +1 -0
  119. package/dist/components/Toast/ToastManager.d.ts +14 -0
  120. package/dist/components/Toast/ToastManager.d.ts.map +1 -0
  121. package/dist/components/Toast/types.d.ts +35 -0
  122. package/dist/components/Toast/types.d.ts.map +1 -0
  123. package/dist/components/ToolTip/ToolTip.vue.d.ts +1 -1
  124. package/dist/components/Tour/Tour.vue.d.ts +3 -3
  125. package/dist/components/Tour/TourPopover.vue.d.ts +3 -3
  126. package/dist/components/UploadArea/UploadArea.vue.d.ts +4 -4
  127. package/dist/components/index.d.ts +8910 -10904
  128. package/dist/components/index.d.ts.map +1 -1
  129. package/dist/components/ui/popover/PopoverContent.vue.d.ts +1 -1
  130. package/dist/components/ui/popover/PopoverContent.vue.d.ts.map +1 -1
  131. package/dist/{es-4b899f97.mjs → es-e3248052.mjs} +1 -1
  132. package/dist/{index-23489897.mjs → index-f67d5b30.mjs} +9289 -8806
  133. package/dist/{pt-br-5a914a63.mjs → pt-br-f6f53acd.mjs} +1 -1
  134. package/dist/style.css +1 -1
  135. package/dist/unnnic.mjs +181 -173
  136. package/dist/unnnic.umd.js +35 -36
  137. package/dist/utils/call.d.ts +2 -1
  138. package/dist/utils/call.d.ts.map +1 -1
  139. package/package.json +2 -2
  140. package/src/assets/icons/checkbox-checked-disabled.svg +3 -0
  141. package/src/assets/icons/checkbox-checked.svg +3 -0
  142. package/src/assets/icons/checkbox-less-disabled.svg +3 -0
  143. package/src/assets/icons/checkbox-less.svg +3 -0
  144. package/src/assets/icons/radio-checked.svg +3 -0
  145. package/src/assets/icons/switch-checked-disabled.svg +3 -0
  146. package/src/assets/icons/switch-checked.svg +3 -0
  147. package/src/components/Alert/Alert.vue +26 -135
  148. package/src/components/Alert/Version1dot1.vue +0 -36
  149. package/src/components/Alert/__tests__/Alert.spec.js +2 -45
  150. package/src/components/Alert/__tests__/Version1dot1.spec.js +0 -21
  151. package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +11 -7
  152. package/src/components/Alert/__tests__/__snapshots__/AlertBanner.spec.js.snap +2 -2
  153. package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +1 -1
  154. package/src/components/Button/Button.vue +67 -117
  155. package/src/components/Button/types.ts +0 -1
  156. package/src/components/ChatsContact/ChatsContact.vue +10 -6
  157. package/src/components/Checkbox/Checkbox.vue +117 -65
  158. package/src/components/Checkbox/__tests__/Checkbox.spec.js +6 -21
  159. package/src/components/CheckboxGroup/CheckboxGroup.vue +96 -0
  160. package/src/components/FormElement/FormElement.vue +63 -93
  161. package/src/components/Icon.vue +2 -0
  162. package/src/components/Input/BaseInput.vue +12 -12
  163. package/src/components/Input/Input.scss +19 -20
  164. package/src/components/Input/Input.vue +60 -55
  165. package/src/components/Input/TextInput.vue +25 -54
  166. package/src/components/Input/__test__/Input.spec.js +13 -33
  167. package/src/components/Input/__test__/TextInput.spec.js +6 -8
  168. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +14 -5
  169. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +1 -1
  170. package/src/components/Label/Label.vue +52 -21
  171. package/src/components/Label/__tests__/Label.spec.js +1 -1
  172. package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  173. package/src/components/PageHeader/PageHeader.vue +148 -0
  174. package/src/components/PageHeader/index.ts +2 -0
  175. package/src/components/PageHeader/types.ts +10 -0
  176. package/src/components/Radio/Radio.vue +118 -66
  177. package/src/components/Radio/__test__/Radio.spec.js +14 -20
  178. package/src/components/Radio/__test__/__snapshots__/Radio.spec.js.snap +4 -3
  179. package/src/components/RadioGroup/RadioGroup.vue +142 -0
  180. package/src/components/SelectSmart/SelectSmart.vue +4 -3
  181. package/src/components/Switch/Switch.vue +132 -91
  182. package/src/components/Switch/__tests__/Switch.spec.js +8 -75
  183. package/src/components/Switch/__tests__/__snapshots__/Switch.spec.js.snap +5 -6
  184. package/src/components/Tab/Tab.vue +37 -23
  185. package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +1 -1
  186. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
  187. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
  188. package/src/components/Tag/DefaultTag.vue +51 -107
  189. package/src/components/Tag/Tag.vue +32 -79
  190. package/src/components/Tag/types.ts +19 -0
  191. package/src/components/TextArea/TextArea.vue +41 -12
  192. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +11 -3
  193. package/src/components/Toast/Toast.vue +246 -0
  194. package/src/components/Toast/ToastManager.ts +110 -0
  195. package/src/components/Toast/__tests__/Toast.spec.js +291 -0
  196. package/src/components/Toast/__tests__/ToastManager.spec.js +294 -0
  197. package/src/components/Toast/types.ts +57 -0
  198. package/src/components/index.ts +33 -17
  199. package/src/stories/Alert.stories.js +6 -67
  200. package/src/stories/Button.stories.js +29 -39
  201. package/src/stories/Checkbox.stories.js +11 -4
  202. package/src/stories/CheckboxGroup.stories.js +105 -0
  203. package/src/stories/Input.stories.js +71 -76
  204. package/src/stories/Label.stories.js +7 -0
  205. package/src/stories/PageHeader.stories.js +330 -0
  206. package/src/stories/Radio.stories.js +28 -1
  207. package/src/stories/RadioGroup.stories.js +144 -0
  208. package/src/stories/Switch.stories.js +10 -5
  209. package/src/stories/Tab.stories.js +11 -4
  210. package/src/stories/Tag.stories.js +24 -43
  211. package/src/stories/TextArea.stories.js +14 -2
  212. package/src/stories/Toast.mdx +123 -0
  213. package/src/stories/Toast.stories.js +126 -0
  214. package/src/types/scheme-colors.d.ts +1 -0
  215. package/src/utils/call.js +46 -18
  216. package/dist/components/Tag/BrandTag.vue.d.ts +0 -51
  217. package/dist/components/Tag/BrandTag.vue.d.ts.map +0 -1
  218. package/dist/components/Tag/IndicatorTag.vue.d.ts +0 -151
  219. package/dist/components/Tag/IndicatorTag.vue.d.ts.map +0 -1
  220. package/dist/components/Tag/TagNext.vue.d.ts +0 -24
  221. package/dist/components/Tag/TagNext.vue.d.ts.map +0 -1
  222. package/src/components/Alert/AlertBanner.vue +0 -182
  223. package/src/components/Alert/AlertCaller.vue +0 -49
  224. package/src/components/Alert/__tests__/AlertBanner.spec.js +0 -89
  225. package/src/components/Alert/__tests__/AlertCaller.spec.js +0 -98
  226. package/src/components/Tag/BrandTag.vue +0 -96
  227. package/src/components/Tag/IndicatorTag.vue +0 -107
  228. package/src/components/Tag/TagNext.vue +0 -60
@@ -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
+ };
@@ -21,9 +21,28 @@ export default {
21
21
  disabled: { control: { type: 'boolean' } },
22
22
  size: { control: { type: 'select', options: ['md', 'sm'] } },
23
23
  },
24
+ render: (args) => ({
25
+ components: {
26
+ UnnnicRadio,
27
+ },
28
+ setup() {
29
+ const updateModelValue = (value) => {
30
+ action('update:modelValue')(value);
31
+ args.modelValue = value;
32
+ };
33
+ return { args, updateModelValue };
34
+ },
35
+ template: `
36
+ <div>
37
+ <UnnnicRadio v-bind="args" @update:model-value="updateModelValue" :value="args.value">
38
+ Option
39
+ </UnnnicRadio>
40
+ </div>
41
+ `,
42
+ }),
24
43
  };
25
44
 
26
- export const Default = {
45
+ export const Multiple = {
27
46
  render: (args) => ({
28
47
  components: {
29
48
  UnnnicRadio,
@@ -75,3 +94,11 @@ export const DisableSelected = {
75
94
  disabled: true,
76
95
  },
77
96
  };
97
+
98
+ export const Helper = {
99
+ args: {
100
+ modelValue: 'option 1',
101
+ value: 'option 1',
102
+ helper: 'Helper text',
103
+ },
104
+ };
@@ -0,0 +1,144 @@
1
+ import { action } from '@storybook/addon-actions';
2
+ import UnnnicRadioGroup from '../components/RadioGroup/RadioGroup.vue';
3
+ import UnnnicRadio from '../components/Radio/Radio.vue';
4
+ import { ref } from 'vue';
5
+
6
+ export default {
7
+ title: 'Form/RadioGroup',
8
+ component: UnnnicRadioGroup,
9
+ tags: ['autodocs'],
10
+ parameters: {
11
+ docs: {
12
+ description: {
13
+ component: `Fundamental in forms, used when we present a list of two or more mutually
14
+ exclusive options, and the user needs to choose exactly one of them. When you click on
15
+ an unselected radio button, it will automatically deselect any other buttons that were
16
+ previously selected in the list.
17
+ `,
18
+ },
19
+ },
20
+ },
21
+ argTypes: {
22
+ label: { control: { type: 'text' } },
23
+ labelTooltip: { control: { type: 'text' } },
24
+ labelUseHtmlTooltip: { control: 'boolean' },
25
+ modelValue: { control: { type: ['string', 'number'] } },
26
+ name: { control: { type: 'text' } },
27
+ state: { control: 'select', options: ['horizontal', 'vertical'] },
28
+ helper: { control: { type: 'text' } },
29
+ },
30
+ };
31
+
32
+ export const Default = {
33
+ args: {
34
+ label: 'Radio Group 1',
35
+ helper: 'Helper text',
36
+ },
37
+
38
+ render: (args) => ({
39
+ components: {
40
+ UnnnicRadioGroup,
41
+ UnnnicRadio,
42
+ },
43
+
44
+ setup() {
45
+ const modelValue = ref('option 1');
46
+
47
+ const updateModelValue = (value) => {
48
+ action('update:modelValue')(value);
49
+ modelValue.value = value;
50
+ };
51
+
52
+ return { args, modelValue, updateModelValue };
53
+ },
54
+
55
+ template: `
56
+ <section>
57
+ <pre>v-model: {{ modelValue }}</pre>
58
+
59
+ <UnnnicRadioGroup v-bind="args" :modelValue="modelValue" @update:modelValue="updateModelValue">
60
+ <UnnnicRadio value="option 1">
61
+ Option 1
62
+ </UnnnicRadio>
63
+
64
+ <UnnnicRadio value="option 2">
65
+ Option 2
66
+ </UnnnicRadio>
67
+
68
+ <UnnnicRadio value="option 3">
69
+ Option 3
70
+ </UnnnicRadio>
71
+ </UnnnicRadioGroup>
72
+ </section>
73
+ `,
74
+ }),
75
+ };
76
+
77
+ export const Horizontal = {
78
+ args: {
79
+ state: 'horizontal',
80
+ label: 'Label',
81
+ name: 'Radio Group 1',
82
+ helper: 'Helper text',
83
+ },
84
+
85
+ render: (args) => ({
86
+ components: {
87
+ UnnnicRadioGroup,
88
+ UnnnicRadio,
89
+ },
90
+ setup() {
91
+ return { args };
92
+ },
93
+ template: `
94
+ <UnnnicRadioGroup v-bind="args">
95
+ <UnnnicRadio value="option 1">
96
+ Option 1
97
+ </UnnnicRadio>
98
+
99
+ <UnnnicRadio value="option 2">
100
+ Option 2
101
+ </UnnnicRadio>
102
+
103
+ <UnnnicRadio value="option 3">
104
+ Option 3
105
+ </UnnnicRadio>
106
+ </UnnnicRadioGroup>
107
+ `,
108
+ }),
109
+ };
110
+
111
+ export const Vertical = {
112
+ args: {
113
+ state: 'vertical',
114
+ label: 'Label',
115
+ labelTooltip: 'Tooltip',
116
+ name: 'Radio Group 2',
117
+ helper: 'Helper text',
118
+ },
119
+
120
+ render: (args) => ({
121
+ components: {
122
+ UnnnicRadioGroup,
123
+ UnnnicRadio,
124
+ },
125
+ setup() {
126
+ return { args };
127
+ },
128
+ template: `
129
+ <UnnnicRadioGroup v-bind="args">
130
+ <UnnnicRadio value="option 1">
131
+ Option 1
132
+ </UnnnicRadio>
133
+
134
+ <UnnnicRadio value="option 2">
135
+ Option 2
136
+ </UnnnicRadio>
137
+
138
+ <UnnnicRadio value="option 3">
139
+ Option 3
140
+ </UnnnicRadio>
141
+ </UnnnicRadioGroup>
142
+ `,
143
+ }),
144
+ };
@@ -4,9 +4,11 @@ export default {
4
4
  title: 'Form/Switch',
5
5
  component: UnnnicSwitch,
6
6
  argTypes: {
7
- size: { control: { type: 'select', options: ['small', 'medium'] } },
8
- textLeft: { control: { type: 'text' } },
9
- textRight: { control: { type: 'text' } },
7
+ label: { control: { type: 'text' } },
8
+ labelTooltip: { control: { type: 'text' } },
9
+ labelUseHtmlTooltip: { control: 'boolean' },
10
+ option: { control: { type: 'text' } },
11
+ helper: { control: { type: 'text' } },
10
12
  disabled: { control: { type: 'boolean' } },
11
13
  },
12
14
  render: (args) => ({
@@ -32,8 +34,11 @@ export default {
32
34
 
33
35
  export const Default = {
34
36
  args: {
35
- size: 'medium',
36
- textRight: 'Default',
37
+ label: 'Default',
38
+ labelTooltip: 'Tooltip',
39
+ labelUseHtmlTooltip: true,
40
+ option: 'Option',
41
+ helper: 'Helper text',
37
42
  disabled: false,
38
43
  },
39
44
  };
@@ -3,9 +3,6 @@ import unnnicTab from '../components/Tab/Tab.vue';
3
3
  export default {
4
4
  title: 'tabs/Tab',
5
5
  component: unnnicTab,
6
- argTypes: {
7
- size: { control: { type: 'select', options: ['md', 'sm'] } },
8
- },
9
6
  render: (args) => ({
10
7
  components: {
11
8
  unnnicTab,
@@ -36,6 +33,15 @@ export default {
36
33
  Second description
37
34
  </p>
38
35
  </template>
36
+ <template #tab-head-third>
37
+ Third
38
+ </template>
39
+ <template #tab-panel-third>
40
+ <h2 class="title">Third Content</h2>
41
+ <p class="description">
42
+ Third description
43
+ </p>
44
+ </template>
39
45
  </unnnic-tab>
40
46
  `,
41
47
  }),
@@ -44,6 +50,7 @@ export default {
44
50
  export const Default = {
45
51
  args: {
46
52
  initialTab: 'first',
47
- tabs: ['first', 'second'],
53
+ tabs: ['first', 'second', 'third'],
54
+ disabledTabs: ['third'],
48
55
  },
49
56
  };
@@ -1,5 +1,4 @@
1
1
  import UnnnicTag from '../components/Tag/Tag.vue';
2
- import colorsList from '../utils/colorsList';
3
2
 
4
3
  export default {
5
4
  title: 'Data Display/Tag',
@@ -8,13 +7,30 @@ export default {
8
7
  argTypes: {
9
8
  text: { control: { type: 'text' } },
10
9
  type: {
11
- control: { type: 'select', options: ['default', 'indicator', 'brand'] },
10
+ control: 'select',
11
+ options: ['default', 'brand', 'next'],
12
12
  },
13
13
  scheme: {
14
- control: {
15
- type: 'select',
16
- options: colorsList,
17
- },
14
+ control: 'select',
15
+ options: [
16
+ 'green',
17
+ 'blue',
18
+ 'purple',
19
+ 'red',
20
+ 'orange',
21
+ 'yellow',
22
+ 'gray',
23
+ 'teal',
24
+ ],
25
+ },
26
+ size: {
27
+ control: 'select',
28
+ options: ['small', 'medium'],
29
+ },
30
+ hasCloseIcon: { control: 'boolean' },
31
+ leftIcon: {
32
+ control: 'select',
33
+ options: [null, 'check_circle', 'sentiment_satisfied'],
18
34
  },
19
35
  },
20
36
  };
@@ -34,45 +50,10 @@ export const LeftIcon = {
34
50
  },
35
51
  };
36
52
 
37
- export const RightIcon = {
53
+ export const Small = {
38
54
  args: {
39
55
  text: 'Label',
40
56
  type: 'default',
41
- rightIcon: 'check_circle',
42
- },
43
- };
44
-
45
- export const CloseIcon = {
46
- args: {
47
- text: 'Label',
48
- type: 'default',
49
- hasCloseIcon: true,
50
- },
51
- };
52
-
53
- export const Next = {
54
- args: {
55
- text: 'Label',
56
- type: 'next',
57
- scheme: 'weni',
58
- },
59
- };
60
-
61
- export const Indicator = {
62
- args: {
63
- text: 'Tag Name',
64
- type: 'indicator',
65
- count: 100,
66
- clickable: true,
67
- hasBackButton: false,
68
- enableTooltip: true,
69
- tooltipText: 'This is the amount',
70
- },
71
- };
72
-
73
- export const Brand = {
74
- args: {
75
- text: 'Settings',
76
- type: 'brand',
57
+ size: 'small',
77
58
  },
78
59
  };
@@ -37,6 +37,7 @@ export const Default = {
37
37
  errors: [],
38
38
  size: 'md',
39
39
  message: 'Helper text',
40
+ tooltip: 'Tooltip',
40
41
  },
41
42
  };
42
43
 
@@ -47,7 +48,7 @@ export const Error = {
47
48
  maxLength: 150,
48
49
  disabled: false,
49
50
  type: 'error',
50
- error: 'Error text',
51
+ errors: 'Error text',
51
52
  size: 'md',
52
53
  },
53
54
  };
@@ -84,7 +85,7 @@ export const ErrorSm = {
84
85
  maxLength: 150,
85
86
  disabled: false,
86
87
  type: 'error',
87
- error: 'Error text',
88
+ errors: 'Error text',
88
89
  size: 'sm',
89
90
  },
90
91
  };
@@ -100,3 +101,14 @@ export const DisabledSm = {
100
101
  message: 'Helper text',
101
102
  },
102
103
  };
104
+
105
+ export const ResizeNone = {
106
+ args: {
107
+ label: 'Label',
108
+ placeholder: 'Placeholder',
109
+ maxLength: 150,
110
+ disabled: false,
111
+ type: 'normal',
112
+ resize: 'none',
113
+ },
114
+ };