@weni/unnnic-system 3.7.0 → 3.7.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 (259) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/components/Accordion/Accordion.vue.d.ts +1 -1
  3. package/dist/components/Alert/Alert.vue.d.ts +18 -117
  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 +3 -3
  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 +1 -1
  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 +5 -5
  20. package/dist/components/Card/BlankCard.vue.d.ts +1 -1
  21. package/dist/components/Card/Card.vue.d.ts +27 -27
  22. package/dist/components/Card/CardCompany.vue.d.ts +5 -5
  23. package/dist/components/Card/CardData.vue.d.ts +1 -1
  24. package/dist/components/Card/CardStatusesContainer.vue.d.ts +5 -5
  25. package/dist/components/Card/ContentCard.vue.d.ts +3 -3
  26. package/dist/components/Card/DashCard.vue.d.ts +5 -5
  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 +3 -3
  32. package/dist/components/CardImage/CardImage.vue.d.ts +24 -31
  33. package/dist/components/CardInformation/CardInformation.vue.d.ts +5 -5
  34. package/dist/components/CardProject/CardProject.vue.d.ts +3 -3
  35. package/dist/components/Carousel/Carousel.vue.d.ts +7 -7
  36. package/dist/components/Carousel/TagCarousel.vue.d.ts +6 -6
  37. package/dist/components/ChartBar/ChartBar.vue.d.ts +5 -5
  38. package/dist/components/ChartLine/ChartLine.vue.d.ts +1 -1
  39. package/dist/components/ChatText/ChatText.vue.d.ts +2 -2
  40. package/dist/components/ChatsContact/ChatsContact.vue.d.ts +27 -34
  41. package/dist/components/ChatsDashboardTagLive/ChatsDashboardTagLive.vue.d.ts +1 -1
  42. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts +1 -1
  43. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts.map +1 -1
  44. package/dist/components/ChatsMessage/ChatsMessage.vue.d.ts +5 -5
  45. package/dist/components/ChatsMessage/ChatsMessageStatusBackdrop.vue.d.ts +2 -2
  46. package/dist/components/ChatsNavbar/ChatsNavbar.vue.d.ts +1 -1
  47. package/dist/components/ChatsUserAvatar/ChatsUserAvatar.vue.d.ts +2 -2
  48. package/dist/components/Checkbox/Checkbox.vue.d.ts +19 -26
  49. package/dist/components/Checkbox/Checkbox.vue.d.ts.map +1 -1
  50. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts +28 -0
  51. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts.map +1 -0
  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 +1 -1
  55. package/dist/components/DataTable/index.vue.d.ts.map +1 -1
  56. package/dist/components/DateFilter/DateFilter.vue.d.ts +251 -41
  57. package/dist/components/DatePicker/DatePicker.vue.d.ts +4 -4
  58. package/dist/components/Drawer/Drawer.vue.d.ts +4 -4
  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 +51 -28
  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/Icon.vue.d.ts.map +1 -1
  66. package/dist/components/IconLoading/IconLoading.vue.d.ts +1 -1
  67. package/dist/components/ImportCard/ImportCard.vue.d.ts +4 -4
  68. package/dist/components/Input/BaseInput.vue.d.ts +33 -2
  69. package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
  70. package/dist/components/Input/Input.vue.d.ts +251 -41
  71. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  72. package/dist/components/Input/TextInput.vue.d.ts +85 -25
  73. package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
  74. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +257 -47
  75. package/dist/components/InputNext/InputNext.vue.d.ts +5 -5
  76. package/dist/components/Label/Label.vue.d.ts +9 -15
  77. package/dist/components/Label/Label.vue.d.ts.map +1 -1
  78. package/dist/components/Modal/Modal.vue.d.ts +2 -2
  79. package/dist/components/ModalDialog/ModalDialog.vue.d.ts +199 -34
  80. package/dist/components/ModalDialog/ModalDialog.vue.d.ts.map +1 -1
  81. package/dist/components/ModalNext/ModalNext.vue.d.ts +256 -46
  82. package/dist/components/ModalUpload/ModalUpload.vue.d.ts +8 -8
  83. package/dist/components/MoodRating/MoodRating.vue.d.ts +1 -1
  84. package/dist/components/MultiSelect/MultiSelect.vue.d.ts +20 -14
  85. package/dist/components/Pagination/Pagination.vue.d.ts +3 -3
  86. package/dist/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
  87. package/dist/components/Radio/Radio.vue.d.ts +8 -6
  88. package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
  89. package/dist/components/SelectSmart/SelectSmart.vue.d.ts +113 -60
  90. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +5 -5
  91. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +21 -28
  92. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts.map +1 -1
  93. package/dist/components/SelectTime/index.vue.d.ts +85 -25
  94. package/dist/components/SkeletonLoading/skeletonTheme.vue.d.ts +1 -1
  95. package/dist/components/Slider/Slider.vue.d.ts +2 -2
  96. package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
  97. package/dist/components/Switch/Switch.vue.d.ts +55 -21
  98. package/dist/components/Switch/Switch.vue.d.ts.map +1 -1
  99. package/dist/components/Tab/Tab.vue.d.ts +13 -2
  100. package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
  101. package/dist/components/TableNext/TablePagination.vue.d.ts +3 -3
  102. package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
  103. package/dist/components/Tag/BrandTag.vue.d.ts +1 -1
  104. package/dist/components/Tag/DefaultTag.vue.d.ts +1 -1
  105. package/dist/components/Tag/IndicatorTag.vue.d.ts +2 -2
  106. package/dist/components/Tag/Tag.vue.d.ts +5 -5
  107. package/dist/components/TextArea/TextArea.vue.d.ts +66 -30
  108. package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
  109. package/dist/components/Toast/Toast.vue.d.ts +16 -0
  110. package/dist/components/Toast/Toast.vue.d.ts.map +1 -0
  111. package/dist/components/Toast/ToastManager.d.ts +14 -0
  112. package/dist/components/Toast/ToastManager.d.ts.map +1 -0
  113. package/dist/components/Toast/types.d.ts +35 -0
  114. package/dist/components/Toast/types.d.ts.map +1 -0
  115. package/dist/components/ToolTip/ToolTip.vue.d.ts +1 -1
  116. package/dist/components/Tour/Tour.vue.d.ts +3 -3
  117. package/dist/components/Tour/TourPopover.vue.d.ts +3 -3
  118. package/dist/components/UploadArea/UploadArea.vue.d.ts +4 -4
  119. package/dist/components/index.d.ts +4043 -1328
  120. package/dist/components/index.d.ts.map +1 -1
  121. package/dist/components/ui/dialog/Dialog.vue.d.ts +23 -0
  122. package/dist/components/ui/dialog/Dialog.vue.d.ts.map +1 -0
  123. package/dist/components/ui/dialog/DialogClose.vue.d.ts +19 -0
  124. package/dist/components/ui/dialog/DialogClose.vue.d.ts.map +1 -0
  125. package/dist/components/ui/dialog/DialogContent.vue.d.ts +40 -0
  126. package/dist/components/ui/dialog/DialogContent.vue.d.ts.map +1 -0
  127. package/dist/components/ui/dialog/DialogFooter.vue.d.ts +25 -0
  128. package/dist/components/ui/dialog/DialogFooter.vue.d.ts.map +1 -0
  129. package/dist/components/ui/dialog/DialogHeader.vue.d.ts +29 -0
  130. package/dist/components/ui/dialog/DialogHeader.vue.d.ts.map +1 -0
  131. package/dist/components/ui/dialog/DialogTitle.vue.d.ts +23 -0
  132. package/dist/components/ui/dialog/DialogTitle.vue.d.ts.map +1 -0
  133. package/dist/components/ui/dialog/DialogTrigger.vue.d.ts +19 -0
  134. package/dist/components/ui/dialog/DialogTrigger.vue.d.ts.map +1 -0
  135. package/dist/components/ui/dialog/index.d.ts +8 -0
  136. package/dist/components/ui/dialog/index.d.ts.map +1 -0
  137. package/dist/components/ui/popover/Popover.vue.d.ts +23 -0
  138. package/dist/components/ui/popover/Popover.vue.d.ts.map +1 -0
  139. package/dist/components/ui/popover/PopoverContent.vue.d.ts +43 -0
  140. package/dist/components/ui/popover/PopoverContent.vue.d.ts.map +1 -0
  141. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +19 -0
  142. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts.map +1 -0
  143. package/dist/components/ui/popover/index.d.ts +5 -0
  144. package/dist/components/ui/popover/index.d.ts.map +1 -0
  145. package/dist/{es-c4737166.mjs → es-3d0df246.mjs} +1 -1
  146. package/dist/{index-bd5f89f9.mjs → index-8cf13f7a.mjs} +18886 -11928
  147. package/dist/locales/en.json.d.ts +2 -1
  148. package/dist/locales/es.json.d.ts +2 -1
  149. package/dist/locales/pt_br.json.d.ts +2 -1
  150. package/dist/{pt-br-ec3b3330.mjs → pt-br-b04d6fba.mjs} +1 -1
  151. package/dist/style.css +1 -1
  152. package/dist/unnnic.mjs +195 -172
  153. package/dist/unnnic.umd.js +56 -50
  154. package/dist/utils/call.d.ts +2 -1
  155. package/dist/utils/call.d.ts.map +1 -1
  156. package/package.json +2 -1
  157. package/src/assets/icons/checkbox-checked-disabled.svg +3 -0
  158. package/src/assets/icons/checkbox-checked.svg +3 -0
  159. package/src/assets/icons/checkbox-less-disabled.svg +3 -0
  160. package/src/assets/icons/checkbox-less.svg +3 -0
  161. package/src/assets/icons/radio-checked.svg +3 -0
  162. package/src/assets/icons/switch-checked-disabled.svg +3 -0
  163. package/src/assets/icons/switch-checked.svg +3 -0
  164. package/src/assets/scss/tailwind.scss +8 -0
  165. package/src/components/Alert/Alert.vue +26 -135
  166. package/src/components/Alert/SIMPLE_MIGRATION_GUIDE.md +152 -0
  167. package/src/components/Alert/Version1dot1.vue +0 -36
  168. package/src/components/Alert/__tests__/Alert.spec.js +2 -45
  169. package/src/components/Alert/__tests__/Version1dot1.spec.js +0 -21
  170. package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +11 -7
  171. package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +2 -2
  172. package/src/components/Button/Button.vue +72 -117
  173. package/src/components/Button/types.ts +0 -1
  174. package/src/components/Checkbox/Checkbox.vue +98 -64
  175. package/src/components/Checkbox/__tests__/Checkbox.spec.js +6 -21
  176. package/src/components/CheckboxGroup/CheckboxGroup.vue +96 -0
  177. package/src/components/FormElement/FormElement.vue +63 -93
  178. package/src/components/Icon.vue +3 -0
  179. package/src/components/Input/BaseInput.vue +33 -14
  180. package/src/components/Input/Input.scss +19 -21
  181. package/src/components/Input/Input.vue +77 -56
  182. package/src/components/Input/TextInput.vue +80 -68
  183. package/src/components/Input/__test__/TextInput.spec.js +6 -8
  184. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +14 -5
  185. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +1 -1
  186. package/src/components/Label/Label.vue +52 -21
  187. package/src/components/Label/__tests__/Label.spec.js +1 -1
  188. package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  189. package/src/components/ModalDialog/ModalDialog.vue +60 -146
  190. package/src/components/ModalDialog/__tests__/__snapshots__/ModalDialog.spec.js.snap +1 -22
  191. package/src/components/Popover/__tests__/Popover.spec.js +147 -0
  192. package/src/components/Popover/__tests__/__snapshots__/Popover.spec.js.snap +8 -0
  193. package/src/components/Popover/index.vue +146 -0
  194. package/src/components/Radio/Radio.vue +80 -67
  195. package/src/components/Radio/__test__/Radio.spec.js +14 -20
  196. package/src/components/Radio/__test__/__snapshots__/Radio.spec.js.snap +3 -3
  197. package/src/components/RadioGroup/RadioGroup.vue +142 -0
  198. package/src/components/Select/SelectOption.vue +65 -0
  199. package/src/components/Select/__tests__/Select.spec.js +412 -0
  200. package/src/components/Select/__tests__/SelectItem.spec.js +330 -0
  201. package/src/components/Select/__tests__/SelectOption.spec.js +174 -0
  202. package/src/components/Select/__tests__/__snapshots__/Select.spec.js.snap +97 -0
  203. package/src/components/Select/__tests__/__snapshots__/SelectItem.spec.js.snap +15 -0
  204. package/src/components/Select/__tests__/__snapshots__/SelectOption.spec.js.snap +25 -0
  205. package/src/components/Select/index.vue +245 -0
  206. package/src/components/SelectSmart/SelectSmart.vue +4 -3
  207. package/src/components/Switch/Switch.vue +123 -96
  208. package/src/components/Switch/__tests__/Switch.spec.js +8 -75
  209. package/src/components/Switch/__tests__/__snapshots__/Switch.spec.js.snap +5 -6
  210. package/src/components/Tab/Tab.vue +37 -23
  211. package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +1 -1
  212. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
  213. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
  214. package/src/components/TextArea/TextArea.vue +34 -11
  215. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +11 -3
  216. package/src/components/Toast/Toast.vue +246 -0
  217. package/src/components/Toast/ToastManager.ts +110 -0
  218. package/src/components/Toast/__tests__/Toast.spec.js +284 -0
  219. package/src/components/Toast/__tests__/ToastManager.spec.js +294 -0
  220. package/src/components/Toast/types.ts +57 -0
  221. package/src/components/index.ts +58 -9
  222. package/src/components/ui/dialog/Dialog.vue +15 -0
  223. package/src/components/ui/dialog/DialogClose.vue +25 -0
  224. package/src/components/ui/dialog/DialogContent.vue +114 -0
  225. package/src/components/ui/dialog/DialogFooter.vue +46 -0
  226. package/src/components/ui/dialog/DialogHeader.vue +78 -0
  227. package/src/components/ui/dialog/DialogTitle.vue +34 -0
  228. package/src/components/ui/dialog/DialogTrigger.vue +12 -0
  229. package/src/components/ui/dialog/index.ts +7 -0
  230. package/src/components/ui/popover/Popover.vue +19 -0
  231. package/src/components/ui/popover/PopoverContent.vue +98 -0
  232. package/src/components/ui/popover/PopoverTrigger.vue +23 -0
  233. package/src/components/ui/popover/index.ts +4 -0
  234. package/src/locales/en.json +2 -1
  235. package/src/locales/es.json +2 -1
  236. package/src/locales/pt_br.json +2 -1
  237. package/src/stories/Alert.stories.js +6 -67
  238. package/src/stories/Button.stories.js +29 -39
  239. package/src/stories/Checkbox.stories.js +11 -4
  240. package/src/stories/CheckboxGroup.stories.js +105 -0
  241. package/src/stories/Dialog.stories.js +832 -0
  242. package/src/stories/Input.stories.js +71 -76
  243. package/src/stories/Label.stories.js +7 -0
  244. package/src/stories/ModalDialog.mdx +3 -0
  245. package/src/stories/ModalDialog.stories.js +1 -1
  246. package/src/stories/Popover.stories.js +306 -0
  247. package/src/stories/RadioGroup.stories.js +144 -0
  248. package/src/stories/Select.stories.js +158 -0
  249. package/src/stories/Switch.stories.js +10 -5
  250. package/src/stories/Tab.stories.js +11 -4
  251. package/src/stories/TextArea.stories.js +13 -2
  252. package/src/stories/Toast.mdx +123 -0
  253. package/src/stories/Toast.stories.js +126 -0
  254. package/src/types/scheme-colors.d.ts +1 -0
  255. package/src/utils/call.js +46 -18
  256. package/src/components/Alert/AlertBanner.vue +0 -182
  257. package/src/components/Alert/AlertCaller.vue +0 -49
  258. package/src/components/Alert/__tests__/AlertBanner.spec.js +0 -89
  259. package/src/components/Alert/__tests__/AlertCaller.spec.js +0 -98
@@ -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
+ };
@@ -6,6 +6,9 @@ import * as ModalDialogStories from './ModalDialog.stories';
6
6
 
7
7
  # ModalDialog
8
8
 
9
+ > **⚠️ DEPRECATED**: This component has been deprecated in favor of the new `Dialog` component. Please use `UnnnicDialog`
10
+ instead for new implementations. See the [Dialog documentation](?path=/docs/feedback-dialog--docs) for more information.
11
+
9
12
  The ModalDialog was designed to inform the user about a specific task, request information, or involve other tasks.
10
13
 
11
14
  <Source
@@ -7,7 +7,7 @@ import iconsList from '../utils/iconList';
7
7
  import colorsList from '../utils/colorsList';
8
8
 
9
9
  export default {
10
- title: 'Example/ModalDialog',
10
+ title: 'Feedback/ModalDialog',
11
11
  component: UnnnicModalDialog,
12
12
  argTypes: {
13
13
  type: {
@@ -0,0 +1,306 @@
1
+ import {
2
+ Popover,
3
+ PopoverContent,
4
+ PopoverTrigger,
5
+ } from '../components/ui/popover';
6
+ import UnnnicButton from '../components/Button/Button.vue';
7
+ import UnnnicInput from '../components/Input/Input.vue';
8
+ import UnnnicLabel from '../components/Label/Label.vue';
9
+
10
+ export default {
11
+ title: 'Misc/Popover',
12
+ component: Popover,
13
+ tags: ['autodocs'],
14
+ parameters: {
15
+ docs: {
16
+ description: {
17
+ component: `A popover component that displays rich content in a portal, floating on top of other content.
18
+ <br/>
19
+ It supports three sizes (small, medium, large) and optional footer slot for action buttons, for example.
20
+ <br/>
21
+ API reference: https://www.reka-ui.com/docs/components/popover
22
+ `,
23
+ },
24
+ },
25
+ },
26
+ argTypes: {
27
+ size: {
28
+ control: { type: 'select' },
29
+ options: ['small', 'medium', 'large'],
30
+ description: 'The size of the popover',
31
+ },
32
+ side: {
33
+ control: { type: 'select' },
34
+ options: ['top', 'right', 'bottom', 'left'],
35
+ description: 'The preferred side of the trigger to render against',
36
+ },
37
+ align: {
38
+ control: { type: 'select' },
39
+ options: ['start', 'center', 'end'],
40
+ description: 'The preferred alignment against the trigger',
41
+ },
42
+ },
43
+ args: {
44
+ size: 'medium',
45
+ side: 'bottom',
46
+ align: 'center',
47
+ },
48
+ };
49
+
50
+ export const Default = {
51
+ render: (args) => ({
52
+ components: { Popover, PopoverContent, PopoverTrigger, UnnnicButton },
53
+ setup() {
54
+ return { args };
55
+ },
56
+ template: `
57
+ <div style="display: flex; justify-content: center; align-items: center; min-height: 300px;">
58
+ <Popover>
59
+ <PopoverTrigger>
60
+ <UnnnicButton text="Open Popover" />
61
+ </PopoverTrigger>
62
+ <PopoverContent v-bind="args">
63
+ <p style="margin: 0;">This is a simple popover with some content inside.</p>
64
+ </PopoverContent>
65
+ </Popover>
66
+ </div>
67
+ `,
68
+ }),
69
+ };
70
+
71
+ export const WithFooter = {
72
+ parameters: {
73
+ docs: {
74
+ description: {
75
+ story:
76
+ 'Popover with action buttons in the footer using the `#footer` slot.',
77
+ },
78
+ },
79
+ },
80
+ render: (args) => ({
81
+ components: { Popover, PopoverContent, PopoverTrigger, UnnnicButton },
82
+ setup() {
83
+ return { args };
84
+ },
85
+ template: `
86
+ <div style="display: flex; justify-content: center; align-items: center; min-height: 300px;">
87
+ <Popover>
88
+ <PopoverTrigger>
89
+ <UnnnicButton text="Open Popover" />
90
+ </PopoverTrigger>
91
+ <PopoverContent v-bind="args">
92
+ <p style="margin: 0;">This popover has a footer with action buttons.</p>
93
+ <template #footer>
94
+ <UnnnicButton text="Cancel" type="tertiary" />
95
+ <UnnnicButton text="Save" type="primary" />
96
+ </template>
97
+ </PopoverContent>
98
+ </Popover>
99
+ </div>
100
+ `,
101
+ }),
102
+ };
103
+
104
+ export const WithForm = {
105
+ parameters: {
106
+ docs: {
107
+ description: {
108
+ story: 'Popover containing a form with inputs and footer actions.',
109
+ },
110
+ },
111
+ },
112
+ render: (args) => ({
113
+ components: {
114
+ Popover,
115
+ PopoverContent,
116
+ PopoverTrigger,
117
+ UnnnicButton,
118
+ UnnnicInput,
119
+ UnnnicLabel,
120
+ },
121
+ setup() {
122
+ return { args };
123
+ },
124
+ template: `
125
+ <div style="display: flex; justify-content: center; align-items: center; min-height: 400px;">
126
+ <Popover>
127
+ <PopoverTrigger>
128
+ <UnnnicButton text="Edit Profile" iconLeft="edit" />
129
+ </PopoverTrigger>
130
+ <PopoverContent v-bind="args">
131
+ <h3 style="margin: 0 0 16px 0; font-size: 16px; font-weight: 700;">Edit Profile</h3>
132
+ <form>
133
+ <UnnnicLabel label="Name" />
134
+ <UnnnicInput placeholder="Enter your name" />
135
+ <br />
136
+ <UnnnicLabel label="Email" />
137
+ <UnnnicInput placeholder="Enter your email" type="email" />
138
+ </form>
139
+ <template #footer>
140
+ <UnnnicButton text="Cancel" type="tertiary" />
141
+ <UnnnicButton text="Save" type="primary" />
142
+ </template>
143
+ </PopoverContent>
144
+ </Popover>
145
+ </div>
146
+ `,
147
+ }),
148
+ };
149
+
150
+ export const Sizes = {
151
+ parameters: {
152
+ docs: {
153
+ description: {
154
+ story:
155
+ 'The popover comes in three sizes: small (240px), medium (320px), and large (400px).',
156
+ },
157
+ },
158
+ },
159
+ render: (args) => ({
160
+ components: { Popover, PopoverContent, PopoverTrigger, UnnnicButton },
161
+ setup() {
162
+ return { args };
163
+ },
164
+ template: `
165
+ <div style="display: flex; justify-content: space-around; align-items: center; min-height: 400px; gap: 32px;">
166
+ <Popover>
167
+ <PopoverTrigger>
168
+ <UnnnicButton text="Small" />
169
+ </PopoverTrigger>
170
+ <PopoverContent size="small">
171
+ <p style="margin: 0;">Small popover (240px)</p>
172
+ </PopoverContent>
173
+ </Popover>
174
+
175
+ <Popover>
176
+ <PopoverTrigger>
177
+ <UnnnicButton text="Medium" />
178
+ </PopoverTrigger>
179
+ <PopoverContent size="medium">
180
+ <p style="margin: 0;">Medium popover (320px)</p>
181
+ </PopoverContent>
182
+ </Popover>
183
+
184
+ <Popover>
185
+ <PopoverTrigger>
186
+ <UnnnicButton text="Large" />
187
+ </PopoverTrigger>
188
+ <PopoverContent size="large">
189
+ <p style="margin: 0;">Large popover (400px)</p>
190
+ </PopoverContent>
191
+ </Popover>
192
+ </div>
193
+ `,
194
+ }),
195
+ };
196
+
197
+ export const Placements = {
198
+ parameters: {
199
+ docs: {
200
+ description: {
201
+ story:
202
+ 'The popover can be positioned on any side of the trigger: top, bottom, left, or right.',
203
+ },
204
+ },
205
+ },
206
+ render: (args) => ({
207
+ components: { Popover, PopoverContent, PopoverTrigger, UnnnicButton },
208
+ setup() {
209
+ return { args };
210
+ },
211
+ template: `
212
+ <div style="display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; padding: 100px;">
213
+ <Popover>
214
+ <PopoverTrigger>
215
+ <UnnnicButton text="Top" style="width: 100%;" />
216
+ </PopoverTrigger>
217
+ <PopoverContent side="top" align="center">
218
+ <p style="margin: 0;">Popover on top</p>
219
+ </PopoverContent>
220
+ </Popover>
221
+
222
+ <Popover>
223
+ <PopoverTrigger>
224
+ <UnnnicButton text="Bottom" style="width: 100%;" />
225
+ </PopoverTrigger>
226
+ <PopoverContent side="bottom" align="center">
227
+ <p style="margin: 0;">Popover on bottom</p>
228
+ </PopoverContent>
229
+ </Popover>
230
+
231
+ <Popover>
232
+ <PopoverTrigger>
233
+ <UnnnicButton text="Right" style="width: 100%;" />
234
+ </PopoverTrigger>
235
+ <PopoverContent side="right" align="center">
236
+ <p style="margin: 0;">Popover on right</p>
237
+ </PopoverContent>
238
+ </Popover>
239
+
240
+ <Popover>
241
+ <PopoverTrigger>
242
+ <UnnnicButton text="Left" style="width: 100%;" />
243
+ </PopoverTrigger>
244
+ <PopoverContent side="left" align="center">
245
+ <p style="margin: 0;">Popover on left</p>
246
+ </PopoverContent>
247
+ </Popover>
248
+ </div>
249
+ `,
250
+ }),
251
+ };
252
+
253
+ export const RichContent = {
254
+ args: {
255
+ size: 'large',
256
+ },
257
+ parameters: {
258
+ docs: {
259
+ description: {
260
+ story:
261
+ 'Example of a popover with rich, structured content and footer actions.',
262
+ },
263
+ },
264
+ },
265
+ render: (args) => ({
266
+ components: { Popover, PopoverContent, PopoverTrigger, UnnnicButton },
267
+ setup() {
268
+ return { args };
269
+ },
270
+ template: `
271
+ <div style="display: flex; justify-content: center; align-items: center; min-height: 400px;">
272
+ <Popover>
273
+ <PopoverTrigger>
274
+ <UnnnicButton text="Show Details" iconLeft="info" />
275
+ </PopoverTrigger>
276
+ <PopoverContent v-bind="args">
277
+ <div>
278
+ <h3 style="margin: 0 0 8px 0; font-size: 16px; font-weight: 700;">User Information</h3>
279
+ <div style="display: flex; flex-direction: column; gap: 12px;">
280
+ <div style="display: flex; gap: 8px;">
281
+ <span style="font-weight: 600;">Name:</span>
282
+ <span>John Doe</span>
283
+ </div>
284
+ <div style="display: flex; gap: 8px;">
285
+ <span style="font-weight: 600;">Email:</span>
286
+ <span>john.doe@example.com</span>
287
+ </div>
288
+ <div style="display: flex; gap: 8px;">
289
+ <span style="font-weight: 600;">Role:</span>
290
+ <span>Administrator</span>
291
+ </div>
292
+ <div style="display: flex; gap: 8px;">
293
+ <span style="font-weight: 600;">Status:</span>
294
+ <span style="color: #4CAF50;">Active</span>
295
+ </div>
296
+ </div>
297
+ </div>
298
+ <template #footer>
299
+ <UnnnicButton text="View Profile" type="primary" />
300
+ </template>
301
+ </PopoverContent>
302
+ </Popover>
303
+ </div>
304
+ `,
305
+ }),
306
+ };
@@ -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
+ };