@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.
Files changed (257) hide show
  1. package/CHANGELOG.md +16 -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 +30 -448
  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 +12 -2
  56. package/dist/components/DataTable/index.vue.d.ts.map +1 -1
  57. package/dist/components/DateFilter/DateFilter.vue.d.ts +251 -41
  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 +33 -2
  70. package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
  71. package/dist/components/Input/Input.vue.d.ts +251 -41
  72. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  73. package/dist/components/Input/TextInput.vue.d.ts +85 -25
  74. package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
  75. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +256 -46
  76. package/dist/components/InputNext/InputNext.vue.d.ts +5 -5
  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 +256 -46
  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 +120 -470
  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 +85 -25
  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 +8736 -10161
  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-efb4f902.mjs → es-61b41785.mjs} +1 -1
  132. package/dist/{index-e30fc518.mjs → index-10160248.mjs} +9383 -8807
  133. package/dist/locales/en.json.d.ts +2 -1
  134. package/dist/locales/es.json.d.ts +2 -1
  135. package/dist/locales/pt_br.json.d.ts +2 -1
  136. package/dist/{pt-br-4bacdbb6.mjs → pt-br-31a68683.mjs} +1 -1
  137. package/dist/style.css +1 -1
  138. package/dist/unnnic.mjs +158 -151
  139. package/dist/unnnic.umd.js +34 -35
  140. package/dist/utils/call.d.ts +2 -1
  141. package/dist/utils/call.d.ts.map +1 -1
  142. package/package.json +2 -2
  143. package/src/assets/icons/checkbox-checked-disabled.svg +3 -0
  144. package/src/assets/icons/checkbox-checked.svg +3 -0
  145. package/src/assets/icons/checkbox-less-disabled.svg +3 -0
  146. package/src/assets/icons/checkbox-less.svg +3 -0
  147. package/src/assets/icons/radio-checked.svg +3 -0
  148. package/src/assets/icons/switch-checked-disabled.svg +3 -0
  149. package/src/assets/icons/switch-checked.svg +3 -0
  150. package/src/assets/scss/scheme-colors.scss +309 -223
  151. package/src/components/Alert/Alert.vue +26 -135
  152. package/src/components/Alert/Version1dot1.vue +0 -36
  153. package/src/components/Alert/__tests__/Alert.spec.js +2 -45
  154. package/src/components/Alert/__tests__/Version1dot1.spec.js +0 -21
  155. package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +11 -7
  156. package/src/components/Alert/__tests__/__snapshots__/AlertBanner.spec.js.snap +2 -2
  157. package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +1 -1
  158. package/src/components/Button/Button.vue +67 -117
  159. package/src/components/Button/types.ts +0 -1
  160. package/src/components/ChatsContact/ChatsContact.vue +16 -8
  161. package/src/components/Checkbox/Checkbox.vue +117 -65
  162. package/src/components/Checkbox/__tests__/Checkbox.spec.js +6 -21
  163. package/src/components/CheckboxGroup/CheckboxGroup.vue +96 -0
  164. package/src/components/DataTable/index.vue +48 -0
  165. package/src/components/FormElement/FormElement.vue +63 -93
  166. package/src/components/Icon.vue +2 -0
  167. package/src/components/Input/BaseInput.vue +33 -14
  168. package/src/components/Input/Input.scss +22 -22
  169. package/src/components/Input/Input.vue +79 -56
  170. package/src/components/Input/TextInput.vue +81 -65
  171. package/src/components/Input/__test__/Input.spec.js +13 -33
  172. package/src/components/Input/__test__/TextInput.spec.js +6 -8
  173. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +17 -4
  174. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +7 -1
  175. package/src/components/Label/Label.vue +52 -21
  176. package/src/components/Label/__tests__/Label.spec.js +1 -1
  177. package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  178. package/src/components/MultiSelectV2/MultSelectOption.vue +67 -0
  179. package/src/components/MultiSelectV2/__tests__/MultiSelect.spec.js +556 -0
  180. package/src/components/MultiSelectV2/__tests__/MultiSelectOption.spec.js +229 -0
  181. package/src/components/MultiSelectV2/__tests__/__snapshots__/MultiSelect.spec.js.snap +121 -0
  182. package/src/components/MultiSelectV2/__tests__/__snapshots__/MultiSelectOption.spec.js.snap +51 -0
  183. package/src/components/MultiSelectV2/index.vue +221 -0
  184. package/src/components/PageHeader/PageHeader.vue +148 -0
  185. package/src/components/PageHeader/index.ts +2 -0
  186. package/src/components/PageHeader/types.ts +10 -0
  187. package/src/components/Popover/__tests__/Popover.spec.js +147 -0
  188. package/src/components/Popover/__tests__/__snapshots__/Popover.spec.js.snap +8 -0
  189. package/src/components/Popover/index.vue +146 -0
  190. package/src/components/Radio/Radio.vue +118 -66
  191. package/src/components/Radio/__test__/Radio.spec.js +14 -20
  192. package/src/components/Radio/__test__/__snapshots__/Radio.spec.js.snap +4 -3
  193. package/src/components/RadioGroup/RadioGroup.vue +142 -0
  194. package/src/components/Select/SelectOption.vue +65 -0
  195. package/src/components/Select/__tests__/Select.spec.js +412 -0
  196. package/src/components/Select/__tests__/SelectItem.spec.js +330 -0
  197. package/src/components/Select/__tests__/SelectOption.spec.js +174 -0
  198. package/src/components/Select/__tests__/__snapshots__/Select.spec.js.snap +97 -0
  199. package/src/components/Select/__tests__/__snapshots__/SelectItem.spec.js.snap +15 -0
  200. package/src/components/Select/__tests__/__snapshots__/SelectOption.spec.js.snap +25 -0
  201. package/src/components/Select/index.vue +249 -0
  202. package/src/components/SelectSmart/SelectSmart.vue +4 -3
  203. package/src/components/Switch/Switch.vue +132 -91
  204. package/src/components/Switch/__tests__/Switch.spec.js +8 -75
  205. package/src/components/Switch/__tests__/__snapshots__/Switch.spec.js.snap +5 -6
  206. package/src/components/Tab/Tab.vue +37 -23
  207. package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +1 -1
  208. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
  209. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
  210. package/src/components/Tag/DefaultTag.vue +51 -107
  211. package/src/components/Tag/Tag.vue +32 -79
  212. package/src/components/Tag/types.ts +19 -0
  213. package/src/components/TextArea/TextArea.vue +41 -12
  214. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +11 -3
  215. package/src/components/Toast/Toast.vue +246 -0
  216. package/src/components/Toast/ToastManager.ts +110 -0
  217. package/src/components/Toast/__tests__/Toast.spec.js +291 -0
  218. package/src/components/Toast/__tests__/ToastManager.spec.js +294 -0
  219. package/src/components/Toast/types.ts +57 -0
  220. package/src/components/index.ts +33 -18
  221. package/src/locales/en.json +2 -1
  222. package/src/locales/es.json +2 -1
  223. package/src/locales/pt_br.json +2 -1
  224. package/src/stories/Alert.stories.js +6 -67
  225. package/src/stories/Button.stories.js +29 -39
  226. package/src/stories/ChatsContact.stories.js +9 -0
  227. package/src/stories/Checkbox.stories.js +11 -4
  228. package/src/stories/CheckboxGroup.stories.js +105 -0
  229. package/src/stories/DataTable.stories.js +192 -0
  230. package/src/stories/Input.stories.js +71 -76
  231. package/src/stories/Label.stories.js +7 -0
  232. package/src/stories/MultiSelectV2.stories.js +158 -0
  233. package/src/stories/PageHeader.stories.js +330 -0
  234. package/src/stories/Radio.stories.js +28 -1
  235. package/src/stories/RadioGroup.stories.js +144 -0
  236. package/src/stories/Select.stories.js +158 -0
  237. package/src/stories/Switch.stories.js +10 -5
  238. package/src/stories/Tab.stories.js +11 -4
  239. package/src/stories/Tag.stories.js +24 -43
  240. package/src/stories/TextArea.stories.js +14 -2
  241. package/src/stories/Toast.mdx +123 -0
  242. package/src/stories/Toast.stories.js +126 -0
  243. package/src/types/scheme-colors.d.ts +1 -0
  244. package/src/utils/call.js +46 -18
  245. package/dist/components/Tag/BrandTag.vue.d.ts +0 -51
  246. package/dist/components/Tag/BrandTag.vue.d.ts.map +0 -1
  247. package/dist/components/Tag/IndicatorTag.vue.d.ts +0 -151
  248. package/dist/components/Tag/IndicatorTag.vue.d.ts.map +0 -1
  249. package/dist/components/Tag/TagNext.vue.d.ts +0 -24
  250. package/dist/components/Tag/TagNext.vue.d.ts.map +0 -1
  251. package/src/components/Alert/AlertBanner.vue +0 -182
  252. package/src/components/Alert/AlertCaller.vue +0 -49
  253. package/src/components/Alert/__tests__/AlertBanner.spec.js +0 -89
  254. package/src/components/Alert/__tests__/AlertCaller.spec.js +0 -98
  255. package/src/components/Tag/BrandTag.vue +0 -96
  256. package/src/components/Tag/IndicatorTag.vue +0 -107
  257. 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: { control: { type: 'select' }, options: ['md', 'sm'] },
11
- type: { control: { type: 'select' }, options: ['normal', 'error'] },
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-form-element label="Label" message="Helper text">
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
- type: 'normal',
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 = TemplateError.bind({});
111
- Error.args = {
112
- type: 'error',
113
- placeholder: 'Placeholder',
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 = TemplateError.bind({});
117
- ErrorSm.args = {
118
- size: 'sm',
119
- type: 'error',
120
- placeholder: 'Placeholder',
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 Disabled = TemplateDisabled.bind({});
124
- Disabled.args = {
125
- disabled: true,
126
- placeholder: 'Placeholder',
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 DisabledSm = TemplateDisabled.bind({});
130
- DisabledSm.args = {
131
- size: 'sm',
132
- disabled: true,
133
- placeholder: 'Placeholder',
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
+ };
@@ -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,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
+ };