@weni/unnnic-system 3.4.0 → 3.4.1-alpha.1

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 (236) 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 -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 +24 -33
  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/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 +31 -40
  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 -28
  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 +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 +113 -53
  89. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +8 -8
  90. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +20 -29
  91. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts.map +1 -1
  92. package/dist/components/SelectTime/index.vue.d.ts +83 -14
  93. package/dist/components/SkeletonLoading/skeletonTheme.vue.d.ts +1 -1
  94. package/dist/components/Slider/Slider.vue.d.ts +2 -2
  95. package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
  96. package/dist/components/Switch/Switch.vue.d.ts +24 -25
  97. package/dist/components/Switch/Switch.vue.d.ts.map +1 -1
  98. package/dist/components/Tab/Tab.vue.d.ts +13 -2
  99. package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
  100. package/dist/components/TableNext/TablePagination.vue.d.ts +6 -6
  101. package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
  102. package/dist/components/Tag/BrandTag.vue.d.ts +2 -2
  103. package/dist/components/Tag/DefaultTag.vue.d.ts +2 -2
  104. package/dist/components/Tag/IndicatorTag.vue.d.ts +2 -2
  105. package/dist/components/Tag/Tag.vue.d.ts +8 -8
  106. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts +9 -0
  107. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts.map +1 -0
  108. package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts +15 -0
  109. package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts.map +1 -0
  110. package/dist/components/TextArea/TextArea.vue.d.ts +38 -32
  111. package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
  112. package/dist/components/Toast/Toast.vue.d.ts +16 -0
  113. package/dist/components/Toast/Toast.vue.d.ts.map +1 -0
  114. package/dist/components/Toast/ToastManager.d.ts +14 -0
  115. package/dist/components/Toast/ToastManager.d.ts.map +1 -0
  116. package/dist/components/Toast/types.d.ts +35 -0
  117. package/dist/components/Toast/types.d.ts.map +1 -0
  118. package/dist/components/ToolTip/ToolTip.vue.d.ts +1 -1
  119. package/dist/components/Tour/Tour.vue.d.ts +6 -6
  120. package/dist/components/Tour/TourPopover.vue.d.ts +6 -6
  121. package/dist/components/UploadArea/UploadArea.vue.d.ts +7 -7
  122. package/dist/components/index.d.ts +2590 -1258
  123. package/dist/components/index.d.ts.map +1 -1
  124. package/dist/components/ui/popover/Popover.vue.d.ts +23 -0
  125. package/dist/components/ui/popover/Popover.vue.d.ts.map +1 -0
  126. package/dist/components/ui/popover/PopoverContent.vue.d.ts +43 -0
  127. package/dist/components/ui/popover/PopoverContent.vue.d.ts.map +1 -0
  128. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +19 -0
  129. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts.map +1 -0
  130. package/dist/components/ui/popover/index.d.ts +5 -0
  131. package/dist/components/ui/popover/index.d.ts.map +1 -0
  132. package/dist/{es-8265192e.mjs → es-eca523be.mjs} +1 -1
  133. package/dist/{index-832905fc.mjs → index-c84d6c3d.mjs} +18151 -11782
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/locales/en.json.d.ts +2 -1
  136. package/dist/locales/es.json.d.ts +2 -1
  137. package/dist/locales/pt_br.json.d.ts +2 -1
  138. package/dist/{pt-br-9ced3d4b.mjs → pt-br-dd7ba97f.mjs} +1 -1
  139. package/dist/style.css +1 -1
  140. package/dist/unnnic.mjs +177 -163
  141. package/dist/unnnic.umd.js +53 -50
  142. package/dist/utils/call.d.ts +2 -1
  143. package/dist/utils/call.d.ts.map +1 -1
  144. package/package.json +2 -1
  145. package/src/assets/icons/checkbox-checked-disabled.svg +3 -0
  146. package/src/assets/icons/checkbox-checked.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/img/previews/doc-preview.png +0 -0
  151. package/src/assets/img/previews/image-preview.png +0 -0
  152. package/src/assets/img/previews/video-preview.png +0 -0
  153. package/src/assets/scss/scheme-colors.scss +115 -238
  154. package/src/assets/scss/tailwind.scss +15 -15
  155. package/src/components/Alert/Alert.vue +26 -135
  156. package/src/components/Alert/Version1dot1.vue +0 -36
  157. package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +11 -7
  158. package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +2 -2
  159. package/src/components/Button/Button.vue +60 -108
  160. package/src/components/Button/types.ts +0 -1
  161. package/src/components/Checkbox/Checkbox.vue +88 -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/FormElement/FormElement.vue +51 -91
  165. package/src/components/Input/BaseInput.vue +31 -14
  166. package/src/components/Input/Input.scss +19 -21
  167. package/src/components/Input/Input.vue +94 -30
  168. package/src/components/Input/TextInput.vue +82 -58
  169. package/src/components/Input/__test__/TextInput.spec.js +5 -5
  170. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +16 -3
  171. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +7 -1
  172. package/src/components/Label/Label.vue +52 -21
  173. package/src/components/Label/__tests__/Label.spec.js +1 -1
  174. package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  175. package/src/components/ModalDialog/ModalDialog.vue +1 -0
  176. package/src/components/ModalDialog/__tests__/__snapshots__/ModalDialog.spec.js.snap +1 -1
  177. package/src/components/Popover/__tests__/Popover.spec.js +147 -0
  178. package/src/components/Popover/__tests__/__snapshots__/Popover.spec.js.snap +8 -0
  179. package/src/components/Popover/index.vue +146 -0
  180. package/src/components/Radio/Radio.vue +80 -67
  181. package/src/components/Radio/__test__/Radio.spec.js +14 -20
  182. package/src/components/Radio/__test__/__snapshots__/Radio.spec.js.snap +3 -3
  183. package/src/components/RadioGroup/RadioGroup.vue +110 -0
  184. package/src/components/Select/SelectOption.vue +65 -0
  185. package/src/components/Select/__tests__/Select.spec.js +412 -0
  186. package/src/components/Select/__tests__/SelectItem.spec.js +330 -0
  187. package/src/components/Select/__tests__/SelectOption.spec.js +174 -0
  188. package/src/components/Select/__tests__/__snapshots__/Select.spec.js.snap +97 -0
  189. package/src/components/Select/__tests__/__snapshots__/SelectItem.spec.js.snap +15 -0
  190. package/src/components/Select/__tests__/__snapshots__/SelectOption.spec.js.snap +25 -0
  191. package/src/components/Select/index.vue +245 -0
  192. package/src/components/Switch/Switch.vue +91 -99
  193. package/src/components/Switch/__tests__/Switch.spec.js +8 -74
  194. package/src/components/Switch/__tests__/__snapshots__/Switch.spec.js.snap +3 -5
  195. package/src/components/Tab/Tab.vue +37 -23
  196. package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +1 -1
  197. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
  198. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
  199. package/src/components/TemplatePreview/TemplatePreview.vue +252 -0
  200. package/src/components/TemplatePreview/TemplatePreviewModal.vue +51 -0
  201. package/src/components/TemplatePreview/types.d.ts +16 -0
  202. package/src/components/TextArea/TextArea.vue +13 -9
  203. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +7 -2
  204. package/src/components/Toast/Toast.vue +236 -0
  205. package/src/components/Toast/ToastManager.ts +110 -0
  206. package/src/components/Toast/types.ts +57 -0
  207. package/src/components/index.ts +34 -4
  208. package/src/components/ui/popover/Popover.vue +15 -0
  209. package/src/components/ui/popover/PopoverContent.vue +98 -0
  210. package/src/components/ui/popover/PopoverTrigger.vue +12 -0
  211. package/src/components/ui/popover/index.ts +4 -0
  212. package/src/index.ts +1 -0
  213. package/src/locales/en.json +2 -1
  214. package/src/locales/es.json +2 -1
  215. package/src/locales/pt_br.json +2 -1
  216. package/src/stories/Alert.stories.js +6 -67
  217. package/src/stories/Button.stories.js +2 -17
  218. package/src/stories/Checkbox.stories.js +9 -10
  219. package/src/stories/CheckboxGroup.stories.js +104 -0
  220. package/src/stories/Input.stories.js +22 -3
  221. package/src/stories/Label.stories.js +7 -0
  222. package/src/stories/Popover.stories.js +306 -0
  223. package/src/stories/RadioGroup.stories.js +139 -0
  224. package/src/stories/Select.stories.js +158 -0
  225. package/src/stories/Switch.stories.js +4 -5
  226. package/src/stories/Tab.stories.js +11 -4
  227. package/src/stories/TemplatePreview.stories.js +94 -0
  228. package/src/stories/TemplatePreviewModal.stories.js +110 -0
  229. package/src/stories/Toast.mdx +123 -0
  230. package/src/stories/Toast.stories.js +126 -0
  231. package/src/types/scheme-colors.d.ts +1 -0
  232. package/src/utils/call.js +46 -18
  233. package/src/components/Alert/AlertBanner.vue +0 -182
  234. package/src/components/Alert/AlertCaller.vue +0 -49
  235. package/src/components/Alert/__tests__/AlertBanner.spec.js +0 -89
  236. 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: {
@@ -15,12 +15,12 @@ export default {
15
15
  },
16
16
  },
17
17
  },
18
- args: { disabled: false, size: 'md' },
18
+ args: { disabled: false },
19
19
  argTypes: {
20
- modelValue: { control: 'inline-radio', options: [true, false, 'less'] },
20
+ modelValue: { control: 'inline-radio', options: [true, false] },
21
21
  disabled: { control: 'boolean' },
22
- size: { control: 'select', options: ['md', 'sm'] },
23
- textRight: { control: 'text' },
22
+ label: { control: 'text' },
23
+ helper: { control: 'text' },
24
24
  },
25
25
  render: (args) => ({
26
26
  components: {
@@ -42,18 +42,15 @@ export default {
42
42
  export const Default = {
43
43
  args: {
44
44
  modelValue: false,
45
+ label: 'Label',
46
+ helper: 'Helper',
45
47
  },
46
48
  };
47
49
 
48
50
  export const Selected = {
49
51
  args: {
50
52
  modelValue: true,
51
- },
52
- };
53
-
54
- export const LessSelected = {
55
- args: {
56
- modelValue: 'less',
53
+ label: 'Label',
57
54
  },
58
55
  };
59
56
 
@@ -61,6 +58,7 @@ export const Disabled = {
61
58
  args: {
62
59
  modelValue: false,
63
60
  disabled: true,
61
+ label: 'Label',
64
62
  },
65
63
  };
66
64
 
@@ -68,5 +66,6 @@ export const DisabledSelected = {
68
66
  args: {
69
67
  modelValue: true,
70
68
  disabled: true,
69
+ label: 'Label',
71
70
  },
72
71
  };
@@ -0,0 +1,104 @@
1
+ import { action } from '@storybook/addon-actions';
2
+ import UnnnicCheckboxGroup from '../components/CheckboxGroup/CheckboxGroup.vue';
3
+ import UnnnicCheckbox from '../components/Checkbox/Checkbox.vue';
4
+ import { ref } from 'vue';
5
+
6
+ export default {
7
+ title: 'Form/CheckboxGroup',
8
+ component: UnnnicCheckboxGroup,
9
+ tags: ['autodocs'],
10
+ parameters: {
11
+ docs: {
12
+ description: {
13
+ component: `Allows the user to select multiple options from a category. It can also be
14
+ used to display a single option that may require additional acceptance or confirmation
15
+ before submission.`,
16
+ },
17
+ },
18
+ },
19
+ argTypes: {
20
+ label: { control: { type: 'text' } },
21
+ labelTooltip: { control: { type: 'text' } },
22
+ labelUseHtmlTooltip: { control: 'boolean' },
23
+ helper: { control: { type: 'text' } },
24
+ state: { control: 'select', options: ['horizontal', 'vertical'] },
25
+ },
26
+ };
27
+
28
+ export const Default = {
29
+ args: {
30
+ label: 'Checkbox Group 1',
31
+ helper: 'Helper text',
32
+ },
33
+
34
+ render: (args) => ({
35
+ components: {
36
+ UnnnicCheckboxGroup,
37
+ UnnnicCheckbox,
38
+ },
39
+
40
+ setup() {
41
+ return { args };
42
+ },
43
+
44
+ template: `
45
+ <section>
46
+ <UnnnicCheckboxGroup v-bind="args">
47
+ <UnnnicCheckbox :modelValue="true" label="Option 1" />
48
+ <UnnnicCheckbox :modelValue="false" label="Option 2" />
49
+ <UnnnicCheckbox :modelValue="false" label="Option 3" />
50
+ </UnnnicCheckboxGroup>
51
+ </section>
52
+ `,
53
+ }),
54
+ };
55
+
56
+ export const Horizontal = {
57
+ args: {
58
+ state: 'horizontal',
59
+ label: 'Label',
60
+ helper: 'Helper text',
61
+ },
62
+
63
+ render: (args) => ({
64
+ components: {
65
+ UnnnicCheckboxGroup,
66
+ UnnnicCheckbox,
67
+ },
68
+ setup() {
69
+ return { args };
70
+ },
71
+ template: `
72
+ <UnnnicCheckboxGroup v-bind="args">
73
+ <UnnnicCheckbox :modelValue="true" label="Option 1" />
74
+ <UnnnicCheckbox :modelValue="false" label="Option 2" />
75
+ <UnnnicCheckbox :modelValue="false" label="Option 3" />
76
+ </UnnnicCheckboxGroup>
77
+ `,
78
+ }),
79
+ };
80
+
81
+ export const Vertical = {
82
+ args: {
83
+ state: 'vertical',
84
+ label: 'Label',
85
+ helper: 'Helper text',
86
+ },
87
+
88
+ render: (args) => ({
89
+ components: {
90
+ UnnnicCheckboxGroup,
91
+ UnnnicCheckbox,
92
+ },
93
+ setup() {
94
+ return { args };
95
+ },
96
+ template: `
97
+ <UnnnicCheckboxGroup v-bind="args">
98
+ <UnnnicCheckbox :modelValue="true" label="Option 1" />
99
+ <UnnnicCheckbox :modelValue="false" label="Option 2" />
100
+ <UnnnicCheckbox :modelValue="false" label="Option 3" />
101
+ </UnnnicCheckboxGroup>
102
+ `,
103
+ }),
104
+ };
@@ -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,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" />
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" />
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="Left" />
234
+ </PopoverTrigger>
235
+ <PopoverContent side="left" align="center">
236
+ <p style="margin: 0;">Popover on left</p>
237
+ </PopoverContent>
238
+ </Popover>
239
+
240
+ <Popover>
241
+ <PopoverTrigger>
242
+ <UnnnicButton text="Right" />
243
+ </PopoverTrigger>
244
+ <PopoverContent side="right" align="center">
245
+ <p style="margin: 0;">Popover on right</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
+ };