@weni/unnnic-system 3.2.9 → 3.3.1-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.
Files changed (214) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/components/Accordion/Accordion.vue.d.ts +1 -1
  3. package/dist/components/Alert/Alert.vue.d.ts +18 -119
  4. package/dist/components/Alert/Alert.vue.d.ts.map +1 -1
  5. package/dist/components/Alert/Version1dot1.vue.d.ts +2 -38
  6. package/dist/components/Alert/Version1dot1.vue.d.ts.map +1 -1
  7. package/dist/components/AudioRecorder/AudioHandler.vue.d.ts +2 -2
  8. package/dist/components/AudioRecorder/AudioPlayer.vue.d.ts +1 -1
  9. package/dist/components/AudioRecorder/AudioRecorder.vue.d.ts +5 -5
  10. package/dist/components/AvatarIcon/AvatarIcon.vue.d.ts +2 -2
  11. package/dist/components/Banner/Banner.vue.d.ts +1 -1
  12. package/dist/components/Banner/InfoBanner.vue.d.ts +1 -1
  13. package/dist/components/Breadcrumb/Breadcrumb.vue.d.ts +1 -1
  14. package/dist/components/Button/Button.vue.d.ts +2 -2
  15. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  16. package/dist/components/Button/ButtonIcon.vue.d.ts +1 -1
  17. package/dist/components/Button/types.d.ts +1 -1
  18. package/dist/components/Button/types.d.ts.map +1 -1
  19. package/dist/components/Card/AccountCard.vue.d.ts +3 -3
  20. package/dist/components/Card/BlankCard.vue.d.ts +1 -1
  21. package/dist/components/Card/Card.vue.d.ts +21 -21
  22. package/dist/components/Card/CardCompany.vue.d.ts +8 -8
  23. package/dist/components/Card/CardData.vue.d.ts +1 -1
  24. package/dist/components/Card/CardStatusesContainer.vue.d.ts +4 -4
  25. package/dist/components/Card/ContentCard.vue.d.ts +2 -2
  26. package/dist/components/Card/DashCard.vue.d.ts +4 -4
  27. package/dist/components/Card/DefaultCard.vue.d.ts +1 -1
  28. package/dist/components/Card/MarketplaceCard.vue.d.ts +2 -2
  29. package/dist/components/Card/SimpleCard.vue.d.ts +3 -3
  30. package/dist/components/Card/StatusCard.vue.d.ts +2 -2
  31. package/dist/components/Card/TitleCard.vue.d.ts +2 -2
  32. package/dist/components/CardImage/CardImage.vue.d.ts +8 -8
  33. package/dist/components/CardInformation/CardInformation.vue.d.ts +4 -4
  34. package/dist/components/CardProject/CardProject.vue.d.ts +3 -3
  35. package/dist/components/Carousel/Carousel.vue.d.ts +11 -11
  36. package/dist/components/Carousel/TagCarousel.vue.d.ts +9 -9
  37. package/dist/components/ChartBar/ChartBar.vue.d.ts +8 -8
  38. package/dist/components/ChartFunnel/DefaultFunnel/ChartDefaultFunnelBase.vue.d.ts.map +1 -1
  39. package/dist/components/ChartFunnel/SvgFunnel/ChartFunnelTwoRows.vue.d.ts +43 -0
  40. package/dist/components/ChartFunnel/SvgFunnel/ChartFunnelTwoRows.vue.d.ts.map +1 -0
  41. package/dist/components/ChartLine/ChartLine.vue.d.ts +1 -1
  42. package/dist/components/ChatText/ChatText.vue.d.ts +2 -2
  43. package/dist/components/ChatsContact/ChatsContact.vue.d.ts +15 -15
  44. package/dist/components/ChatsDashboardTagLive/ChatsDashboardTagLive.vue.d.ts +1 -1
  45. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts +1 -1
  46. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts.map +1 -1
  47. package/dist/components/ChatsMessage/ChatsMessage.vue.d.ts +5 -5
  48. package/dist/components/ChatsMessage/ChatsMessageStatusBackdrop.vue.d.ts +2 -2
  49. package/dist/components/ChatsNavbar/ChatsNavbar.vue.d.ts +1 -1
  50. package/dist/components/ChatsUserAvatar/ChatsUserAvatar.vue.d.ts +2 -2
  51. package/dist/components/Checkbox/Checkbox.vue.d.ts +3 -3
  52. package/dist/components/Comment/Comment.vue.d.ts +1 -1
  53. package/dist/components/DataArea/DataArea.vue.d.ts +2 -2
  54. package/dist/components/DataTable/index.vue.d.ts +8 -1
  55. package/dist/components/DataTable/index.vue.d.ts.map +1 -1
  56. package/dist/components/DateFilter/DateFilter.vue.d.ts +176 -29
  57. package/dist/components/DatePicker/DatePicker.vue.d.ts +8 -8
  58. package/dist/components/Drawer/Drawer.vue.d.ts +7 -7
  59. package/dist/components/Dropdown/Dropdown.vue.d.ts +1 -1
  60. package/dist/components/Dropdown/LanguageSelect.vue.d.ts +3 -3
  61. package/dist/components/Flag.vue.d.ts +2 -2
  62. package/dist/components/FormElement/FormElement.vue.d.ts +38 -32
  63. package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
  64. package/dist/components/Icon.vue.d.ts +1 -1
  65. package/dist/components/IconLoading/IconLoading.vue.d.ts +1 -1
  66. package/dist/components/ImportCard/ImportCard.vue.d.ts +7 -7
  67. package/dist/components/Input/BaseInput.vue.d.ts +32 -1
  68. package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
  69. package/dist/components/Input/Input.vue.d.ts +176 -29
  70. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  71. package/dist/components/Input/TextInput.vue.d.ts +83 -14
  72. package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
  73. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +186 -39
  74. package/dist/components/InputNext/InputNext.vue.d.ts +4 -4
  75. package/dist/components/Label/Label.vue.d.ts +9 -15
  76. package/dist/components/Label/Label.vue.d.ts.map +1 -1
  77. package/dist/components/Modal/Modal.vue.d.ts +2 -2
  78. package/dist/components/ModalDialog/ModalDialog.vue.d.ts +9 -9
  79. package/dist/components/ModalDialog/ModalDialog.vue.d.ts.map +1 -1
  80. package/dist/components/ModalNext/ModalNext.vue.d.ts +184 -37
  81. package/dist/components/ModalUpload/ModalUpload.vue.d.ts +14 -14
  82. package/dist/components/MoodRating/MoodRating.vue.d.ts +1 -1
  83. package/dist/components/MultiSelect/MultiSelect.vue.d.ts +20 -14
  84. package/dist/components/Pagination/Pagination.vue.d.ts +6 -6
  85. package/dist/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
  86. package/dist/components/Radio/Radio.vue.d.ts +8 -6
  87. package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
  88. package/dist/components/SelectSmart/SelectSmart.vue.d.ts +97 -28
  89. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +8 -8
  90. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +4 -4
  91. package/dist/components/SelectTime/index.vue.d.ts +83 -14
  92. package/dist/components/SkeletonLoading/skeletonTheme.vue.d.ts +1 -1
  93. package/dist/components/Slider/Slider.vue.d.ts +2 -2
  94. package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
  95. package/dist/components/Switch/Switch.vue.d.ts +2 -2
  96. package/dist/components/Tab/Tab.vue.d.ts +13 -2
  97. package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
  98. package/dist/components/TableNext/TablePagination.vue.d.ts +6 -6
  99. package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
  100. package/dist/components/Tag/BrandTag.vue.d.ts +2 -2
  101. package/dist/components/Tag/DefaultTag.vue.d.ts +2 -2
  102. package/dist/components/Tag/IndicatorTag.vue.d.ts +2 -2
  103. package/dist/components/Tag/Tag.vue.d.ts +8 -8
  104. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts +9 -0
  105. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts.map +1 -0
  106. package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts +15 -0
  107. package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts.map +1 -0
  108. package/dist/components/TextArea/TextArea.vue.d.ts +38 -32
  109. package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
  110. package/dist/components/Toast/Toast.vue.d.ts +16 -0
  111. package/dist/components/Toast/Toast.vue.d.ts.map +1 -0
  112. package/dist/components/Toast/ToastManager.d.ts +14 -0
  113. package/dist/components/Toast/ToastManager.d.ts.map +1 -0
  114. package/dist/components/Toast/types.d.ts +35 -0
  115. package/dist/components/Toast/types.d.ts.map +1 -0
  116. package/dist/components/ToolTip/ToolTip.vue.d.ts +1 -1
  117. package/dist/components/Tour/Tour.vue.d.ts +6 -6
  118. package/dist/components/Tour/TourPopover.vue.d.ts +6 -6
  119. package/dist/components/UploadArea/UploadArea.vue.d.ts +7 -7
  120. package/dist/components/index.d.ts +2136 -1114
  121. package/dist/components/index.d.ts.map +1 -1
  122. package/dist/{es-1ca6f2cf.mjs → es-94ab560e.mjs} +1 -1
  123. package/dist/{index-ca7d12b1.mjs → index-5caf403e.mjs} +8860 -8453
  124. package/dist/locales/en.json.d.ts +2 -1
  125. package/dist/locales/es.json.d.ts +2 -1
  126. package/dist/locales/pt_br.json.d.ts +2 -1
  127. package/dist/{pt-br-2d5000b1.mjs → pt-br-3002df05.mjs} +1 -1
  128. package/dist/style.css +1 -1
  129. package/dist/unnnic.mjs +126 -120
  130. package/dist/unnnic.umd.js +42 -41
  131. package/dist/utils/call.d.ts +2 -1
  132. package/dist/utils/call.d.ts.map +1 -1
  133. package/package.json +1 -1
  134. package/src/assets/icons/radio-checked.svg +3 -0
  135. package/src/assets/img/previews/doc-preview.png +0 -0
  136. package/src/assets/img/previews/image-preview.png +0 -0
  137. package/src/assets/img/previews/video-preview.png +0 -0
  138. package/src/assets/scss/scheme-colors.scss +115 -111
  139. package/src/assets/tokens/colors.json +2 -2
  140. package/src/components/Alert/Alert.vue +26 -135
  141. package/src/components/Alert/Version1dot1.vue +0 -36
  142. package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +11 -7
  143. package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +2 -2
  144. package/src/components/Button/Button.vue +60 -108
  145. package/src/components/Button/types.ts +0 -1
  146. package/src/components/ChartFunnel/ChartFunnel.vue +4 -0
  147. package/src/components/ChartFunnel/DefaultFunnel/ChartDefaultFunnelBase.vue +8 -2
  148. package/src/components/ChartFunnel/SvgFunnel/ChartFunnelBaseRow.vue +1 -1
  149. package/src/components/ChartFunnel/SvgFunnel/ChartFunnelTwoRows.vue +64 -0
  150. package/src/components/DataTable/index.vue +25 -10
  151. package/src/components/FormElement/FormElement.vue +51 -91
  152. package/src/components/Input/BaseInput.vue +31 -14
  153. package/src/components/Input/Input.scss +19 -21
  154. package/src/components/Input/Input.vue +94 -30
  155. package/src/components/Input/TextInput.vue +82 -58
  156. package/src/components/Input/__test__/TextInput.spec.js +5 -5
  157. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +16 -3
  158. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +7 -1
  159. package/src/components/Label/Label.vue +52 -21
  160. package/src/components/Label/__tests__/Label.spec.js +1 -1
  161. package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  162. package/src/components/ModalDialog/ModalDialog.vue +1 -0
  163. package/src/components/ModalDialog/__tests__/__snapshots__/ModalDialog.spec.js.snap +1 -1
  164. package/src/components/Popover/__tests__/Popover.spec.js +147 -0
  165. package/src/components/Popover/__tests__/__snapshots__/Popover.spec.js.snap +8 -0
  166. package/src/components/Popover/index.vue +146 -0
  167. package/src/components/Radio/Radio.vue +80 -67
  168. package/src/components/Radio/__test__/Radio.spec.js +14 -20
  169. package/src/components/Radio/__test__/__snapshots__/Radio.spec.js.snap +3 -3
  170. package/src/components/RadioGroup/RadioGroup.vue +110 -0
  171. package/src/components/Select/SelectOption.vue +65 -0
  172. package/src/components/Select/__tests__/Select.spec.js +412 -0
  173. package/src/components/Select/__tests__/SelectItem.spec.js +330 -0
  174. package/src/components/Select/__tests__/SelectOption.spec.js +174 -0
  175. package/src/components/Select/__tests__/__snapshots__/Select.spec.js.snap +97 -0
  176. package/src/components/Select/__tests__/__snapshots__/SelectItem.spec.js.snap +15 -0
  177. package/src/components/Select/__tests__/__snapshots__/SelectOption.spec.js.snap +25 -0
  178. package/src/components/Select/index.vue +245 -0
  179. package/src/components/Tab/Tab.vue +37 -23
  180. package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +1 -1
  181. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
  182. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
  183. package/src/components/TemplatePreview/TemplatePreview.vue +252 -0
  184. package/src/components/TemplatePreview/TemplatePreviewModal.vue +51 -0
  185. package/src/components/TemplatePreview/types.d.ts +16 -0
  186. package/src/components/TextArea/TextArea.vue +13 -9
  187. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +7 -2
  188. package/src/components/Toast/Toast.vue +236 -0
  189. package/src/components/Toast/ToastManager.ts +110 -0
  190. package/src/components/Toast/types.ts +57 -0
  191. package/src/components/index.ts +18 -4
  192. package/src/locales/en.json +2 -1
  193. package/src/locales/es.json +2 -1
  194. package/src/locales/pt_br.json +2 -1
  195. package/src/stories/Alert.stories.js +6 -67
  196. package/src/stories/Button.stories.js +2 -17
  197. package/src/stories/ChartFunnel.stories.js +19 -0
  198. package/src/stories/DataTable.stories.js +60 -0
  199. package/src/stories/Input.stories.js +22 -3
  200. package/src/stories/Label.stories.js +7 -0
  201. package/src/stories/Popover.stories.js +39 -0
  202. package/src/stories/RadioGroup.stories.js +139 -0
  203. package/src/stories/Select.stories.js +158 -0
  204. package/src/stories/Tab.stories.js +11 -4
  205. package/src/stories/TemplatePreview.stories.js +94 -0
  206. package/src/stories/TemplatePreviewModal.stories.js +110 -0
  207. package/src/stories/Toast.mdx +123 -0
  208. package/src/stories/Toast.stories.js +126 -0
  209. package/src/types/scheme-colors.d.ts +120 -14
  210. package/src/utils/call.js +46 -18
  211. package/src/components/Alert/AlertBanner.vue +0 -182
  212. package/src/components/Alert/AlertCaller.vue +0 -49
  213. package/src/components/Alert/__tests__/AlertBanner.spec.js +0 -89
  214. package/src/components/Alert/__tests__/AlertCaller.spec.js +0 -98
@@ -1,7 +1,5 @@
1
- import AlertCaller from '../components/Alert/AlertCaller.vue';
2
1
  import alert from '../utils/call';
3
2
  import UnnnicAlert from '../components/Alert/Alert.vue';
4
- import AlertBanner from '../components/Alert/AlertBanner.vue';
5
3
 
6
4
  export default {
7
5
  title: 'Feedback/Alert',
@@ -20,9 +18,6 @@ export default {
20
18
  args: {
21
19
  type: 'default',
22
20
  text: 'Text',
23
- linkHref: '',
24
- linkText: '',
25
- linkTarget: '',
26
21
  },
27
22
  argTypes: {
28
23
  type: {
@@ -37,42 +32,15 @@ export default {
37
32
  type: 'text',
38
33
  },
39
34
  },
40
-
41
- linkHref: {
42
- control: {
43
- type: 'text',
44
- },
45
- },
46
-
47
- linkText: {
48
- control: {
49
- type: 'text',
50
- },
51
- },
52
-
53
- linkTarget: {
35
+ version: {
54
36
  control: {
55
- type: 'text',
37
+ type: 'select',
56
38
  },
57
- },
58
- position: {
59
- if: { arg: 'version' },
60
- },
61
- version: {
62
- control: false,
39
+ options: ['1.1', '2.0'],
63
40
  },
64
41
  title: {
65
42
  if: { arg: 'version' },
66
43
  },
67
- icon: {
68
- if: { arg: 'version' },
69
- },
70
- closeText: {
71
- if: { arg: 'version' },
72
- },
73
- scheme: {
74
- if: { arg: 'version' },
75
- },
76
44
  },
77
45
  };
78
46
 
@@ -95,7 +63,7 @@ export const Normal = {
95
63
  },
96
64
  },
97
65
  render: (args) => ({
98
- components: { AlertCaller, UnnnicAlert },
66
+ components: { UnnnicAlert },
99
67
  setup() {
100
68
  return { args };
101
69
  },
@@ -117,7 +85,7 @@ export const Normal = {
117
85
 
118
86
  export const InlineComponent = {
119
87
  render: (args) => ({
120
- components: { AlertCaller, UnnnicAlert },
88
+ components: { UnnnicAlert },
121
89
  setup() {
122
90
  return { args };
123
91
  },
@@ -166,7 +134,7 @@ export const WithContainerRef = {
166
134
  },
167
135
  },
168
136
  render: (args) => ({
169
- components: { AlertCaller, UnnnicAlert },
137
+ components: { UnnnicAlert },
170
138
  setup() {
171
139
  return { args };
172
140
  },
@@ -190,32 +158,3 @@ export const WithContainerRef = {
190
158
  scheme: 'feedback-green',
191
159
  },
192
160
  };
193
-
194
- export const Banner = {
195
- parameters: {
196
- docs: {
197
- description: {
198
- story: `This variation has the additional prop ${'`showCloseButton`'}, false by default.`,
199
- },
200
- },
201
- },
202
- render: (args) => ({
203
- components: { AlertBanner },
204
- setup() {
205
- return { args };
206
- },
207
- methods: {
208
- unnnicCallAlert() {
209
- alert.callAlert({
210
- props: this.args,
211
- containerRef: this.$refs.divContainer,
212
- });
213
- },
214
- },
215
- template: '<alert-banner v-bind="args" />',
216
- }),
217
- args: {
218
- text: 'Text',
219
- showCloseButton: false,
220
- },
221
- };
@@ -8,7 +8,7 @@ export default {
8
8
  description: {
9
9
  component: `Allows users to perform an action or navigate to another page.
10
10
  It has styles for various needs and are ideal for directing the user's attention.
11
- It is divided into 6 types: Primary, Secondary, Tertiary, Alternative, Warning, Attention.
11
+ It is divided into 5 types: Primary, Secondary, Tertiary, Warning, Attention.
12
12
  Each of these types has its states.
13
13
  <br/>
14
14
  <br/>
@@ -36,14 +36,7 @@ export default {
36
36
  argTypes: {
37
37
  type: {
38
38
  control: { type: 'select' },
39
- options: [
40
- 'primary',
41
- 'secondary',
42
- 'tertiary',
43
- 'alternative',
44
- 'warning',
45
- 'attention',
46
- ],
39
+ options: ['primary', 'secondary', 'tertiary', 'warning', 'attention'],
47
40
  },
48
41
  size: {
49
42
  control: { type: 'select' },
@@ -114,14 +107,6 @@ export const OnlyIcon = {
114
107
  },
115
108
  };
116
109
 
117
- export const Alternative = {
118
- args: {
119
- type: 'alternative',
120
- iconLeft: 'add',
121
- text: 'Text',
122
- },
123
- };
124
-
125
110
  export const Warning = {
126
111
  parameters: {
127
112
  docs: {
@@ -14,6 +14,25 @@ export default {
14
14
  ],
15
15
  };
16
16
 
17
+ export const TwoRows = {
18
+ args: {
19
+ data: [
20
+ {
21
+ title: '100%',
22
+ description: 'Clicou em comprar',
23
+ value: '18.621',
24
+ color: '#F6E05E',
25
+ },
26
+ {
27
+ title: '67%',
28
+ description: 'Informou entrega',
29
+ value: '12.476',
30
+ color: '#F6AD55',
31
+ },
32
+ ],
33
+ },
34
+ };
35
+
17
36
  export const ThreeRows = {
18
37
  args: {
19
38
  data: [
@@ -330,3 +330,63 @@ export const Loading = {
330
330
  isLoading: true,
331
331
  },
332
332
  };
333
+
334
+ export const ControlledSort = {
335
+ args: { headers, items },
336
+ render: (args) => ({
337
+ components: {
338
+ UnnnicDataTable,
339
+ },
340
+ setup() {
341
+ let sortState = {
342
+ header: 'ID',
343
+ itemKey: 'id',
344
+ order: 'asc',
345
+ };
346
+
347
+ const handleSort = ({ order, header, itemKey }) => {
348
+ action('update:sort')({ order, header, itemKey });
349
+ sortState = { header, itemKey, order };
350
+
351
+ if (order === 'asc') {
352
+ args.items = [...args.items].sort((a, b) => {
353
+ if (itemKey === 'id') return a.id - b.id;
354
+ return a[itemKey] > b[itemKey] ? 1 : -1;
355
+ });
356
+ } else if (order === 'desc') {
357
+ args.items = [...args.items].sort((a, b) => {
358
+ if (itemKey === 'id') return b.id - a.id;
359
+ return a[itemKey] < b[itemKey] ? 1 : -1;
360
+ });
361
+ }
362
+ };
363
+
364
+ const updatePage = (page) => {
365
+ action('update:page')(page);
366
+ args.page = page;
367
+ };
368
+
369
+ const itemClick = (item) => {
370
+ action('itemClick')(item);
371
+ };
372
+
373
+ return { args, sortState, handleSort, updatePage, itemClick };
374
+ },
375
+ template: `
376
+ <div>
377
+ <UnnnicDataTable
378
+ v-bind="args"
379
+ :headers="args.headers"
380
+ :items="args.items"
381
+ :pageTotal="125"
382
+ :pageInterval="5"
383
+ v-model:sort="sortState"
384
+ @update:sort="handleSort"
385
+ @update:page="updatePage"
386
+ @itemClick="itemClick"
387
+ >
388
+ </UnnnicDataTable>
389
+ </div>
390
+ `,
391
+ }),
392
+ };
@@ -35,9 +35,7 @@ export default {
35
35
  },
36
36
  },
37
37
  template: `
38
- <unnnic-form-element label="Label" message="Helper text">
39
- <unnnic-input v-model="value" @icon-right-click="click" v-bind="args" />
40
- </unnnic-form-element>
38
+ <unnnic-input v-model="value" @icon-right-click="click" v-bind="args" label="Label" />
41
39
  `,
42
40
  }),
43
41
  };
@@ -96,6 +94,11 @@ export const Normal = {
96
94
  args: {
97
95
  type: 'normal',
98
96
  placeholder: 'Placeholder',
97
+ showClear: true,
98
+ iconLeft: 'expand-8-1',
99
+ iconRight: 'messaging-we-chat-3',
100
+ iconLeftClickable: true,
101
+ iconRightClickable: false,
99
102
  },
100
103
  };
101
104
 
@@ -104,6 +107,7 @@ export const NormalSm = {
104
107
  size: 'sm',
105
108
  type: 'normal',
106
109
  placeholder: 'Placeholder',
110
+ showClear: true,
107
111
  },
108
112
  };
109
113
 
@@ -157,3 +161,18 @@ export const Mask = {
157
161
  mask: ['###.###.###-##', '##.###.###/####-##'],
158
162
  },
159
163
  };
164
+
165
+ export const LimitMaxLength = {
166
+ args: {
167
+ placeholder: 'Text',
168
+ maxlength: 10,
169
+ showMaxlengthCounter: true,
170
+ },
171
+ };
172
+
173
+ export const WithTooltip = {
174
+ args: {
175
+ placeholder: 'Text',
176
+ tooltip: 'Tooltip',
177
+ },
178
+ };
@@ -13,3 +13,10 @@ export const Default = {
13
13
  label: 'Label',
14
14
  },
15
15
  };
16
+
17
+ export const WithTooltip = {
18
+ args: {
19
+ label: 'Label',
20
+ tooltip: 'Tooltip',
21
+ },
22
+ };
@@ -0,0 +1,39 @@
1
+ import UnnnicPopover from '../components/Popover/index.vue';
2
+
3
+ export default {
4
+ title: 'example/Popover',
5
+ component: UnnnicPopover,
6
+ render: (args) => ({
7
+ components: { UnnnicPopover },
8
+ setup() {
9
+ return {
10
+ args,
11
+ };
12
+ },
13
+ template: `
14
+ <div>
15
+ <unnnic-popover v-bind="args">
16
+ <template #trigger>
17
+ <button>Click me</button>
18
+ </template>
19
+ <template #content>
20
+ <p>Hello</p>
21
+ </template>
22
+ </unnnic-popover>
23
+ <p>label label</p>
24
+ </div>
25
+ `,
26
+ }),
27
+ };
28
+
29
+ export const Default = {
30
+ args: {
31
+ modelValue: false,
32
+ },
33
+ };
34
+
35
+ export const WithModelValue = {
36
+ args: {
37
+ modelValue: true,
38
+ },
39
+ };
@@ -0,0 +1,139 @@
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
+ },
29
+ };
30
+
31
+ export const Default = {
32
+ args: {
33
+ label: 'Radio Group 1',
34
+ },
35
+
36
+ render: (args) => ({
37
+ components: {
38
+ UnnnicRadioGroup,
39
+ UnnnicRadio,
40
+ },
41
+
42
+ setup() {
43
+ const modelValue = ref('option 1');
44
+
45
+ const updateModelValue = (value) => {
46
+ action('update:modelValue')(value);
47
+ modelValue.value = value;
48
+ };
49
+
50
+ return { args, modelValue, updateModelValue };
51
+ },
52
+
53
+ template: `
54
+ <section>
55
+ <pre>v-model: {{ modelValue }}</pre>
56
+
57
+ <UnnnicRadioGroup v-bind="args" :modelValue="modelValue" @update:modelValue="updateModelValue">
58
+ <UnnnicRadio value="option 1">
59
+ Option 1
60
+ </UnnnicRadio>
61
+
62
+ <UnnnicRadio value="option 2">
63
+ Option 2
64
+ </UnnnicRadio>
65
+
66
+ <UnnnicRadio value="option 3">
67
+ Option 3
68
+ </UnnnicRadio>
69
+ </UnnnicRadioGroup>
70
+ </section>
71
+ `,
72
+ }),
73
+ };
74
+
75
+ export const Horizontal = {
76
+ args: {
77
+ state: 'horizontal',
78
+ label: 'Label',
79
+ name: 'Radio Group 1',
80
+ },
81
+
82
+ render: (args) => ({
83
+ components: {
84
+ UnnnicRadioGroup,
85
+ UnnnicRadio,
86
+ },
87
+ setup() {
88
+ return { args };
89
+ },
90
+ template: `
91
+ <UnnnicRadioGroup v-bind="args">
92
+ <UnnnicRadio value="option 1">
93
+ Option 1
94
+ </UnnnicRadio>
95
+
96
+ <UnnnicRadio value="option 2">
97
+ Option 2
98
+ </UnnnicRadio>
99
+
100
+ <UnnnicRadio value="option 3">
101
+ Option 3
102
+ </UnnnicRadio>
103
+ </UnnnicRadioGroup>
104
+ `,
105
+ }),
106
+ };
107
+
108
+ export const Vertical = {
109
+ args: {
110
+ state: 'vertical',
111
+ label: 'Label',
112
+ name: 'Radio Group 2',
113
+ },
114
+
115
+ render: (args) => ({
116
+ components: {
117
+ UnnnicRadioGroup,
118
+ UnnnicRadio,
119
+ },
120
+ setup() {
121
+ return { args };
122
+ },
123
+ template: `
124
+ <UnnnicRadioGroup v-bind="args">
125
+ <UnnnicRadio value="option 1">
126
+ Option 1
127
+ </UnnnicRadio>
128
+
129
+ <UnnnicRadio value="option 2">
130
+ Option 2
131
+ </UnnnicRadio>
132
+
133
+ <UnnnicRadio value="option 3">
134
+ Option 3
135
+ </UnnnicRadio>
136
+ </UnnnicRadioGroup>
137
+ `,
138
+ }),
139
+ };
@@ -0,0 +1,158 @@
1
+ import UnnnicSelect from '../components/Select/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/Select',
18
+ component: UnnnicSelect,
19
+ tags: ['autodocs'],
20
+ parameters: {
21
+ docs: {
22
+ description: {
23
+ component:
24
+ 'Select is designed to solve common problems related to 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 the return type of the key specified by `itemValue`, or the entire options object when `returnObject` prop 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: { UnnnicSelect },
88
+ setup() {
89
+ const handleSearch = (value) => {
90
+ args.search = value;
91
+ };
92
+ return { args, handleSearch };
93
+ },
94
+ data() {
95
+ return {
96
+ exampleValue: null,
97
+ };
98
+ },
99
+ template: `
100
+ <p>modelValue: {{ exampleValue }}</p>
101
+ <unnnic-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
+ };
@@ -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
  };