@weni/unnnic-system 3.10.0 → 3.11.0-alpha.2

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 (331) hide show
  1. package/CHANGELOG.md +106 -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 +111 -20
  9. package/dist/components/AudioRecorder/AudioPlayer.vue.d.ts +1 -1
  10. package/dist/components/AudioRecorder/AudioRecorder.vue.d.ts +223 -41
  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 +3 -3
  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 +4 -4
  21. package/dist/components/Card/BlankCard.vue.d.ts +1 -1
  22. package/dist/components/Card/Card.vue.d.ts +128 -37
  23. package/dist/components/Card/CardCompany.vue.d.ts +12 -415
  24. package/dist/components/Card/CardData.vue.d.ts +1 -1
  25. package/dist/components/Card/CardStatusesContainer.vue.d.ts +114 -23
  26. package/dist/components/Card/ContentCard.vue.d.ts +2 -2
  27. package/dist/components/Card/DashCard.vue.d.ts +4 -4
  28. package/dist/components/Card/MarketplaceCard.vue.d.ts +1 -1
  29. package/dist/components/Card/SimpleCard.vue.d.ts +112 -21
  30. package/dist/components/Card/StatusCard.vue.d.ts +1 -1
  31. package/dist/components/Card/TitleCard.vue.d.ts +112 -21
  32. package/dist/components/CardImage/CardImage.vue.d.ts +23 -30
  33. package/dist/components/CardInformation/CardInformation.vue.d.ts +114 -23
  34. package/dist/components/CardProject/CardProject.vue.d.ts +3 -3
  35. package/dist/components/Carousel/Carousel.vue.d.ts +14 -417
  36. package/dist/components/Carousel/TagCarousel.vue.d.ts +13 -416
  37. package/dist/components/ChartBar/ChartBar.vue.d.ts +120 -29
  38. package/dist/components/ChartLine/ChartLine.vue.d.ts +110 -19
  39. package/dist/components/ChatText/ChatText.vue.d.ts +111 -20
  40. package/dist/components/ChatsContact/ChatsContact.vue.d.ts +22 -447
  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 +114 -23
  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 +3 -3
  48. package/dist/components/Checkbox/Checkbox.vue.d.ts +17 -24
  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 +111 -20
  54. package/dist/components/DataTable/index.vue.d.ts +2 -2
  55. package/dist/components/DataTable/index.vue.d.ts.map +1 -1
  56. package/dist/components/DateFilter/DateFilter.vue.d.ts +172 -41
  57. package/dist/components/DatePicker/DatePicker.vue.d.ts +69 -249
  58. package/dist/components/DatePicker/DatePicker.vue.d.ts.map +1 -1
  59. package/dist/components/Drawer/Drawer.vue.d.ts +35 -207
  60. package/dist/components/Drawer/Drawer.vue.d.ts.map +1 -1
  61. package/dist/components/Dropdown/Dropdown.vue.d.ts +2 -2
  62. package/dist/components/Dropdown/LanguageSelect.vue.d.ts +3 -3
  63. package/dist/components/Flag.vue.d.ts +2 -2
  64. package/dist/components/FormElement/FormElement.vue.d.ts +50 -27
  65. package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
  66. package/dist/components/Icon.vue.d.ts +1 -1
  67. package/dist/components/Icon.vue.d.ts.map +1 -1
  68. package/dist/components/IconLoading/IconLoading.vue.d.ts +1 -1
  69. package/dist/components/ImportCard/ImportCard.vue.d.ts +10 -10
  70. package/dist/components/Input/BaseInput.vue.d.ts +11 -2
  71. package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
  72. package/dist/components/Input/Input.vue.d.ts +171 -40
  73. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  74. package/dist/components/Input/TextInput.vue.d.ts +33 -24
  75. package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
  76. package/dist/components/InputNext/InputNext.vue.d.ts +3 -3
  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 +1 -1
  80. package/dist/components/ModalDialog/ModalDialog.vue.d.ts +214 -40
  81. package/dist/components/ModalDialog/ModalDialog.vue.d.ts.map +1 -1
  82. package/dist/components/ModalNext/ModalNext.vue.d.ts +182 -51
  83. package/dist/components/ModalUpload/ModalUpload.vue.d.ts +21 -21
  84. package/dist/components/MoodRating/MoodRating.vue.d.ts +110 -19
  85. package/dist/components/MultiSelect/MultiSelect.vue.d.ts +26 -14
  86. package/dist/components/PageHeader/PageHeader.vue.d.ts +28 -0
  87. package/dist/components/PageHeader/PageHeader.vue.d.ts.map +1 -0
  88. package/dist/components/PageHeader/index.d.ts +3 -0
  89. package/dist/components/PageHeader/index.d.ts.map +1 -0
  90. package/dist/components/PageHeader/types.d.ts +9 -0
  91. package/dist/components/PageHeader/types.d.ts.map +1 -0
  92. package/dist/components/Pagination/Pagination.vue.d.ts +9 -9
  93. package/dist/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
  94. package/dist/components/Radio/Radio.vue.d.ts +10 -6
  95. package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
  96. package/dist/components/Select/SelectItem.vue.d.ts +1 -1
  97. package/dist/components/SelectSmart/SelectSmart.vue.d.ts +68 -469
  98. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +12 -415
  99. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +19 -26
  100. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts.map +1 -1
  101. package/dist/components/SelectTime/index.vue.d.ts +34 -25
  102. package/dist/components/SkeletonLoading/skeletonTheme.vue.d.ts +1 -1
  103. package/dist/components/Slider/Slider.vue.d.ts +111 -20
  104. package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
  105. package/dist/components/Switch/Switch.vue.d.ts +56 -22
  106. package/dist/components/Switch/Switch.vue.d.ts.map +1 -1
  107. package/dist/components/Tab/Tab.vue.d.ts +122 -20
  108. package/dist/components/TableNext/TablePagination.vue.d.ts +9 -9
  109. package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
  110. package/dist/components/Tag/DefaultTag.vue.d.ts +4 -83
  111. package/dist/components/Tag/DefaultTag.vue.d.ts.map +1 -1
  112. package/dist/components/Tag/Tag.vue.d.ts +13 -415
  113. package/dist/components/Tag/Tag.vue.d.ts.map +1 -1
  114. package/dist/components/Tag/types.d.ts +18 -0
  115. package/dist/components/Tag/types.d.ts.map +1 -0
  116. package/dist/components/TextArea/TextArea.vue.d.ts +78 -33
  117. package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
  118. package/dist/components/Toast/Toast.vue.d.ts +16 -0
  119. package/dist/components/Toast/Toast.vue.d.ts.map +1 -0
  120. package/dist/components/Toast/ToastManager.d.ts +14 -0
  121. package/dist/components/Toast/ToastManager.d.ts.map +1 -0
  122. package/dist/components/Toast/types.d.ts +35 -0
  123. package/dist/components/Toast/types.d.ts.map +1 -0
  124. package/dist/components/ToolTip/ToolTip.vue.d.ts +110 -19
  125. package/dist/components/ToolTip/ToolTip.vue.d.ts.map +1 -1
  126. package/dist/components/Tour/Tour.vue.d.ts +9 -9
  127. package/dist/components/Tour/TourPopover.vue.d.ts +9 -9
  128. package/dist/components/UploadArea/UploadArea.vue.d.ts +10 -10
  129. package/dist/components/ui/dialog/Dialog.vue.d.ts +23 -0
  130. package/dist/components/ui/dialog/Dialog.vue.d.ts.map +1 -0
  131. package/dist/components/ui/dialog/DialogClose.vue.d.ts +19 -0
  132. package/dist/components/ui/dialog/DialogClose.vue.d.ts.map +1 -0
  133. package/dist/components/ui/dialog/DialogContent.vue.d.ts +43 -0
  134. package/dist/components/ui/dialog/DialogContent.vue.d.ts.map +1 -0
  135. package/dist/components/ui/dialog/DialogFooter.vue.d.ts +25 -0
  136. package/dist/components/ui/dialog/DialogFooter.vue.d.ts.map +1 -0
  137. package/dist/components/ui/dialog/DialogHeader.vue.d.ts +29 -0
  138. package/dist/components/ui/dialog/DialogHeader.vue.d.ts.map +1 -0
  139. package/dist/components/ui/dialog/DialogTitle.vue.d.ts +23 -0
  140. package/dist/components/ui/dialog/DialogTitle.vue.d.ts.map +1 -0
  141. package/dist/components/ui/dialog/DialogTrigger.vue.d.ts +19 -0
  142. package/dist/components/ui/dialog/DialogTrigger.vue.d.ts.map +1 -0
  143. package/dist/components/ui/dialog/index.d.ts +8 -0
  144. package/dist/components/ui/dialog/index.d.ts.map +1 -0
  145. package/dist/components/ui/drawer/Drawer.vue.d.ts +35 -0
  146. package/dist/components/ui/drawer/Drawer.vue.d.ts.map +1 -0
  147. package/dist/components/ui/drawer/DrawerClose.vue.d.ts +19 -0
  148. package/dist/components/ui/drawer/DrawerClose.vue.d.ts.map +1 -0
  149. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +42 -0
  150. package/dist/components/ui/drawer/DrawerContent.vue.d.ts.map +1 -0
  151. package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +23 -0
  152. package/dist/components/ui/drawer/DrawerDescription.vue.d.ts.map +1 -0
  153. package/dist/components/ui/drawer/DrawerFooter.vue.d.ts +22 -0
  154. package/dist/components/ui/drawer/DrawerFooter.vue.d.ts.map +1 -0
  155. package/dist/components/ui/drawer/DrawerHeader.vue.d.ts +25 -0
  156. package/dist/components/ui/drawer/DrawerHeader.vue.d.ts.map +1 -0
  157. package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +8 -0
  158. package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts.map +1 -0
  159. package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +23 -0
  160. package/dist/components/ui/drawer/DrawerTitle.vue.d.ts.map +1 -0
  161. package/dist/components/ui/drawer/DrawerTrigger.vue.d.ts +19 -0
  162. package/dist/components/ui/drawer/DrawerTrigger.vue.d.ts.map +1 -0
  163. package/dist/components/ui/drawer/index.d.ts +11 -0
  164. package/dist/components/ui/drawer/index.d.ts.map +1 -0
  165. package/dist/components/ui/popover/PopoverContent.vue.d.ts +2 -2
  166. package/dist/components/ui/popover/PopoverContent.vue.d.ts.map +1 -1
  167. package/dist/components/ui/segmented-control/SegmentedControlList.vue.d.ts +26 -0
  168. package/dist/components/ui/segmented-control/SegmentedControlList.vue.d.ts.map +1 -0
  169. package/dist/components/ui/segmented-control/SegmentedControlTrigger.vue.d.ts +24 -0
  170. package/dist/components/ui/segmented-control/SegmentedControlTrigger.vue.d.ts.map +1 -0
  171. package/dist/components/ui/segmented-control/index.d.ts +5 -0
  172. package/dist/components/ui/segmented-control/index.d.ts.map +1 -0
  173. package/dist/components/ui/tabs/TabsTrigger.vue.d.ts.map +1 -1
  174. package/dist/components/ui/tooltip/Tooltip.vue.d.ts +23 -0
  175. package/dist/components/ui/tooltip/Tooltip.vue.d.ts.map +1 -0
  176. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +31 -0
  177. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts.map +1 -0
  178. package/dist/components/ui/tooltip/TooltipProvider.vue.d.ts +19 -0
  179. package/dist/components/ui/tooltip/TooltipProvider.vue.d.ts.map +1 -0
  180. package/dist/components/ui/tooltip/TooltipTrigger.vue.d.ts +19 -0
  181. package/dist/components/ui/tooltip/TooltipTrigger.vue.d.ts.map +1 -0
  182. package/dist/components/ui/tooltip/index.d.ts +5 -0
  183. package/dist/components/ui/tooltip/index.d.ts.map +1 -0
  184. package/dist/{es-4b899f97.mjs → es-34baba30.mjs} +1 -1
  185. package/dist/{index-23489897.mjs → index-147b4c7d.mjs} +99341 -95991
  186. package/dist/{pt-br-5a914a63.mjs → pt-br-3921d504.mjs} +1 -1
  187. package/dist/style.css +1 -1
  188. package/dist/unnnic.mjs +229 -185
  189. package/dist/unnnic.umd.js +50 -47
  190. package/dist/utils/call.d.ts +2 -1
  191. package/dist/utils/call.d.ts.map +1 -1
  192. package/package.json +3 -2
  193. package/src/assets/icons/checkbox-checked-disabled.svg +3 -0
  194. package/src/assets/icons/checkbox-checked.svg +3 -0
  195. package/src/assets/icons/checkbox-less-disabled.svg +3 -0
  196. package/src/assets/icons/checkbox-less.svg +3 -0
  197. package/src/assets/icons/radio-checked.svg +3 -0
  198. package/src/assets/icons/switch-checked-disabled.svg +3 -0
  199. package/src/assets/icons/switch-checked.svg +3 -0
  200. package/src/assets/scss/tailwind.scss +8 -0
  201. package/src/components/Alert/Alert.vue +26 -135
  202. package/src/components/Alert/Version1dot1.vue +0 -36
  203. package/src/components/Alert/__tests__/Alert.spec.js +2 -45
  204. package/src/components/Alert/__tests__/Version1dot1.spec.js +0 -21
  205. package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +11 -7
  206. package/src/components/Alert/__tests__/__snapshots__/AlertBanner.spec.js.snap +2 -2
  207. package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +1 -1
  208. package/src/components/Button/Button.vue +67 -117
  209. package/src/components/Button/types.ts +0 -1
  210. package/src/components/ChatsContact/ChatsContact.vue +10 -6
  211. package/src/components/Checkbox/Checkbox.vue +117 -65
  212. package/src/components/Checkbox/__tests__/Checkbox.spec.js +6 -21
  213. package/src/components/CheckboxGroup/CheckboxGroup.vue +96 -0
  214. package/src/components/DatePicker/DatePicker.vue +628 -516
  215. package/src/components/DatePicker/__tests__/DatePicker.spec.js +227 -0
  216. package/src/components/Drawer/Drawer.vue +177 -270
  217. package/src/components/Drawer/__tests__/Drawer.spec.js +31 -46
  218. package/src/components/Drawer/__tests__/__snapshots__/Drawer.spec.js.snap +18 -19
  219. package/src/components/FormElement/FormElement.vue +63 -93
  220. package/src/components/Icon.vue +2 -0
  221. package/src/components/Input/BaseInput.vue +12 -12
  222. package/src/components/Input/Input.scss +19 -20
  223. package/src/components/Input/Input.vue +60 -55
  224. package/src/components/Input/TextInput.vue +25 -54
  225. package/src/components/Input/__test__/Input.spec.js +13 -33
  226. package/src/components/Input/__test__/TextInput.spec.js +6 -8
  227. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +14 -5
  228. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +1 -1
  229. package/src/components/Label/Label.vue +52 -21
  230. package/src/components/Label/__tests__/Label.spec.js +1 -1
  231. package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  232. package/src/components/ModalDialog/ModalDialog.vue +62 -148
  233. package/src/components/ModalDialog/__tests__/ModalDialog.spec.js +11 -221
  234. package/src/components/ModalDialog/__tests__/__snapshots__/ModalDialog.spec.js.snap +1 -22
  235. package/src/components/PageHeader/PageHeader.vue +148 -0
  236. package/src/components/PageHeader/index.ts +2 -0
  237. package/src/components/PageHeader/types.ts +10 -0
  238. package/src/components/Radio/Radio.vue +118 -66
  239. package/src/components/Radio/__test__/Radio.spec.js +14 -20
  240. package/src/components/Radio/__test__/__snapshots__/Radio.spec.js.snap +4 -3
  241. package/src/components/RadioGroup/RadioGroup.vue +142 -0
  242. package/src/components/SelectSmart/SelectSmart.vue +4 -3
  243. package/src/components/Switch/Switch.vue +132 -91
  244. package/src/components/Switch/__tests__/Switch.spec.js +8 -75
  245. package/src/components/Switch/__tests__/__snapshots__/Switch.spec.js.snap +5 -6
  246. package/src/components/Tab/Tab.vue +37 -23
  247. package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +3 -1
  248. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
  249. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
  250. package/src/components/Tag/DefaultTag.vue +51 -107
  251. package/src/components/Tag/Tag.vue +32 -79
  252. package/src/components/Tag/types.ts +19 -0
  253. package/src/components/TextArea/TextArea.vue +41 -12
  254. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +11 -3
  255. package/src/components/Toast/Toast.vue +246 -0
  256. package/src/components/Toast/ToastManager.ts +110 -0
  257. package/src/components/Toast/__tests__/Toast.spec.js +291 -0
  258. package/src/components/Toast/__tests__/ToastManager.spec.js +294 -0
  259. package/src/components/Toast/types.ts +57 -0
  260. package/src/components/ToolTip/ToolTip.vue +41 -188
  261. package/src/components/ToolTip/__tests__/ToolTip.spec.js +345 -61
  262. package/src/components/index.ts +95 -5
  263. package/src/components/ui/dialog/Dialog.vue +15 -0
  264. package/src/components/ui/dialog/DialogClose.vue +25 -0
  265. package/src/components/ui/dialog/DialogContent.vue +133 -0
  266. package/src/components/ui/dialog/DialogFooter.vue +46 -0
  267. package/src/components/ui/dialog/DialogHeader.vue +79 -0
  268. package/src/components/ui/dialog/DialogTitle.vue +34 -0
  269. package/src/components/ui/dialog/DialogTrigger.vue +12 -0
  270. package/src/components/ui/dialog/index.ts +7 -0
  271. package/src/components/ui/drawer/Drawer.vue +27 -0
  272. package/src/components/ui/drawer/DrawerClose.vue +37 -0
  273. package/src/components/ui/drawer/DrawerContent.vue +102 -0
  274. package/src/components/ui/drawer/DrawerDescription.vue +40 -0
  275. package/src/components/ui/drawer/DrawerFooter.vue +38 -0
  276. package/src/components/ui/drawer/DrawerHeader.vue +57 -0
  277. package/src/components/ui/drawer/DrawerOverlay.vue +34 -0
  278. package/src/components/ui/drawer/DrawerTitle.vue +37 -0
  279. package/src/components/ui/drawer/DrawerTrigger.vue +31 -0
  280. package/src/components/ui/drawer/index.ts +10 -0
  281. package/src/components/ui/segmented-control/SegmentedControlList.vue +51 -0
  282. package/src/components/ui/segmented-control/SegmentedControlTrigger.vue +81 -0
  283. package/src/components/ui/segmented-control/index.ts +4 -0
  284. package/src/components/ui/tabs/TabsTrigger.vue +4 -20
  285. package/src/components/ui/tooltip/Tooltip.vue +15 -0
  286. package/src/components/ui/tooltip/TooltipContent.vue +73 -0
  287. package/src/components/ui/tooltip/TooltipProvider.vue +15 -0
  288. package/src/components/ui/tooltip/TooltipTrigger.vue +22 -0
  289. package/src/components/ui/tooltip/index.ts +4 -0
  290. package/src/stories/Alert.stories.js +6 -67
  291. package/src/stories/Button.stories.js +29 -39
  292. package/src/stories/Checkbox.stories.js +11 -4
  293. package/src/stories/CheckboxGroup.stories.js +105 -0
  294. package/src/stories/DatePicker.stories.js +71 -0
  295. package/src/stories/Dialog.stories.js +832 -0
  296. package/src/stories/Drawer.stories.js +1 -1
  297. package/src/stories/DrawerNext.stories.js +610 -0
  298. package/src/stories/Input.stories.js +71 -76
  299. package/src/stories/Label.stories.js +7 -0
  300. package/src/stories/ModalDialog.mdx +3 -0
  301. package/src/stories/ModalDialog.stories.js +1 -1
  302. package/src/stories/PageHeader.stories.js +330 -0
  303. package/src/stories/Radio.stories.js +28 -1
  304. package/src/stories/RadioGroup.stories.js +144 -0
  305. package/src/stories/SegmentedControl.stories.js +253 -0
  306. package/src/stories/Switch.stories.js +10 -5
  307. package/src/stories/Tab.stories.js +11 -4
  308. package/src/stories/Tabs.stories.js +1 -1
  309. package/src/stories/Tag.stories.js +24 -43
  310. package/src/stories/TextArea.stories.js +14 -2
  311. package/src/stories/Toast.mdx +123 -0
  312. package/src/stories/Toast.stories.js +126 -0
  313. package/src/types/scheme-colors.d.ts +1 -0
  314. package/src/utils/call.js +46 -18
  315. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +0 -792
  316. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts.map +0 -1
  317. package/dist/components/Tag/BrandTag.vue.d.ts +0 -51
  318. package/dist/components/Tag/BrandTag.vue.d.ts.map +0 -1
  319. package/dist/components/Tag/IndicatorTag.vue.d.ts +0 -151
  320. package/dist/components/Tag/IndicatorTag.vue.d.ts.map +0 -1
  321. package/dist/components/Tag/TagNext.vue.d.ts +0 -24
  322. package/dist/components/Tag/TagNext.vue.d.ts.map +0 -1
  323. package/dist/components/index.d.ts +0 -24078
  324. package/dist/components/index.d.ts.map +0 -1
  325. package/src/components/Alert/AlertBanner.vue +0 -182
  326. package/src/components/Alert/AlertCaller.vue +0 -49
  327. package/src/components/Alert/__tests__/AlertBanner.spec.js +0 -89
  328. package/src/components/Alert/__tests__/AlertCaller.spec.js +0 -98
  329. package/src/components/Tag/BrandTag.vue +0 -96
  330. package/src/components/Tag/IndicatorTag.vue +0 -107
  331. package/src/components/Tag/TagNext.vue +0 -60
@@ -0,0 +1,227 @@
1
+ import { mount } from '@vue/test-utils';
2
+ import { describe, it, expect, beforeEach } from 'vitest';
3
+ import DatePicker from '../DatePicker.vue';
4
+
5
+ const factory = (props = {}) =>
6
+ mount(DatePicker, {
7
+ props: {
8
+ size: 'large',
9
+ type: 'day',
10
+ ...props,
11
+ },
12
+ global: {
13
+ mocks: {
14
+ $i18n: { locale: 'en-us' },
15
+ },
16
+ stubs: {
17
+ UnnnicButton: true,
18
+ },
19
+ },
20
+ });
21
+
22
+ const findFirstSelectableDay = (wrapper) =>
23
+ wrapper
24
+ .findAll('[data-testid="date-picker-day"]')
25
+ .find((day) => day.classes().includes('selectable'));
26
+
27
+ describe('DatePicker.vue', () => {
28
+ let wrapper;
29
+
30
+ beforeEach(() => {
31
+ wrapper = factory({
32
+ options: [
33
+ { name: 'Last 7 days', id: 'last-7-days' },
34
+ { name: 'Custom', id: 'custom' },
35
+ ],
36
+ });
37
+ });
38
+
39
+ it('renders day view with two months and options', () => {
40
+ expect(wrapper.find('[data-testid="date-picker-root"]').exists()).toBe(
41
+ true,
42
+ );
43
+ expect(
44
+ wrapper.findAll('[data-testid="date-picker-month-container"]').length,
45
+ ).toBe(2);
46
+ expect(wrapper.findAll('[data-testid="date-picker-option"]').length).toBe(
47
+ 2,
48
+ );
49
+ });
50
+
51
+ it('selects a date range and emits change', async () => {
52
+ const first = findFirstSelectableDay(wrapper);
53
+ const second = wrapper
54
+ .findAll('[data-testid="date-picker-day"]')
55
+ .reverse()
56
+ .find((day) => day.classes().includes('selectable'));
57
+
58
+ await first.trigger('click');
59
+ await second.trigger('click');
60
+
61
+ const emittedChange = wrapper.emitted('change');
62
+ expect(emittedChange).toBeTruthy();
63
+ const [{ startDate, endDate }] = emittedChange.pop();
64
+ expect(startDate).not.toBe('');
65
+ expect(endDate).not.toBe('');
66
+ });
67
+
68
+ it('clears selection when clear button is clicked', async () => {
69
+ const day = findFirstSelectableDay(wrapper);
70
+ await day.trigger('click');
71
+
72
+ await wrapper.find('[data-testid="date-picker-clear"]').trigger('click');
73
+
74
+ expect(wrapper.vm.startDate).toBe('');
75
+ expect(wrapper.vm.endDate).toBe('');
76
+ expect(wrapper.vm.optionSelected).toBe('');
77
+ });
78
+
79
+ it('submits with selected period and emits equivalent option name', async () => {
80
+ await wrapper.vm.autoSelect('last-7-days');
81
+ await wrapper.find('[data-testid="date-picker-submit"]').trigger('click');
82
+
83
+ const submit = wrapper.emitted('submit');
84
+ const updateEquivalent = wrapper.emitted('update:equivalentOption');
85
+
86
+ expect(submit).toBeTruthy();
87
+ expect(submit[0][0]).toHaveProperty('startDate');
88
+ expect(submit[0][0]).toHaveProperty('endDate');
89
+
90
+ expect(updateEquivalent[0][0]).toBe('Last 7 days');
91
+ });
92
+
93
+ it('submits with custom selection and clears equivalent option', async () => {
94
+ wrapper.vm.optionSelected = 'custom';
95
+ await wrapper.find('[data-testid="date-picker-submit"]').trigger('click');
96
+
97
+ const updateEquivalent = wrapper.emitted('update:equivalentOption');
98
+ expect(updateEquivalent[0][0]).toBe('');
99
+ });
100
+
101
+ it('uses periodBaseDate to compute relative ranges', async () => {
102
+ const base = '2025-01-15';
103
+ wrapper = factory({
104
+ periodBaseDate: base,
105
+ options: [{ name: 'Last 7 days', id: 'last-7-days' }],
106
+ });
107
+
108
+ await wrapper.vm.autoSelect('last-7-days');
109
+
110
+ const [year, month, day] = base.split('-');
111
+ const baseDate = new Date(Number(year), Number(month) - 1, Number(day));
112
+ const expectedEnd = wrapper.vm.dateToString(baseDate);
113
+
114
+ expect(wrapper.vm.endDate).toBe(expectedEnd);
115
+ });
116
+
117
+ it('renders month view and selects a month', async () => {
118
+ wrapper = factory({
119
+ type: 'month',
120
+ options: [{ name: 'Last 12 months', id: 'last-12-months' }],
121
+ });
122
+
123
+ const monthCell = wrapper.find('[data-testid="date-picker-month-cell"]');
124
+ await monthCell.trigger('click');
125
+
126
+ expect(wrapper.vm.startDate).not.toBe('');
127
+ expect(wrapper.vm.endDate).not.toBe('');
128
+ });
129
+
130
+ it('renders year view and selects a year', async () => {
131
+ wrapper = factory({
132
+ type: 'year',
133
+ options: [{ name: 'Previous year', id: 'previous-year' }],
134
+ });
135
+
136
+ const yearCell = wrapper.find('[data-testid="date-picker-year-cell"]');
137
+ await yearCell.trigger('click');
138
+
139
+ expect(wrapper.vm.startDate).not.toBe('');
140
+ expect(wrapper.vm.endDate).not.toBe('');
141
+ });
142
+
143
+ it('hides options when size is small and respects disableClear', async () => {
144
+ wrapper = factory({
145
+ size: 'small',
146
+ options: [{ name: 'Last 7 days', id: 'last-7-days' }],
147
+ });
148
+ expect(wrapper.find('[data-testid="date-picker-options"]').exists()).toBe(
149
+ false,
150
+ );
151
+
152
+ wrapper = factory({
153
+ disableClear: true,
154
+ options: [{ name: 'Last 7 days', id: 'last-7-days' }],
155
+ });
156
+ expect(wrapper.find('[data-testid="date-picker-clear"]').exists()).toBe(
157
+ false,
158
+ );
159
+ expect(wrapper.find('[data-testid="date-picker-submit"]').exists()).toBe(
160
+ true,
161
+ );
162
+ });
163
+
164
+ it('navigates between months using navigation buttons', async () => {
165
+ const initialReference = wrapper.vm.referenceDate;
166
+
167
+ const nextButton = wrapper.find('[data-testid="date-picker-nav-right"]');
168
+ await nextButton.trigger('click');
169
+
170
+ expect(wrapper.vm.referenceDate).not.toBe(initialReference);
171
+ });
172
+
173
+ it('exposes i18n helper compatible with previous mixin', () => {
174
+ const text = wrapper.vm.i18n('clean', 'Clean');
175
+ expect(text).toBeTruthy();
176
+ });
177
+
178
+ it('computes previous-month period correctly based on periodBaseDate', () => {
179
+ const base = '2025-03-15';
180
+ wrapper = factory({
181
+ periodBaseDate: base,
182
+ options: [{ name: 'Previous month', id: 'previous-month' }],
183
+ });
184
+
185
+ const { startDate, endDate } =
186
+ wrapper.vm.getStartAndEndDateByPeriod('previous-month');
187
+
188
+ const baseDate = new Date(base);
189
+ const firstPrevMonth = new Date(
190
+ baseDate.getFullYear(),
191
+ baseDate.getMonth() - 1,
192
+ 1,
193
+ );
194
+ const lastPrevMonth = new Date(
195
+ firstPrevMonth.getFullYear(),
196
+ firstPrevMonth.getMonth() + 1,
197
+ 0,
198
+ );
199
+
200
+ const expectedStart = wrapper.vm.dateToString(firstPrevMonth);
201
+ const expectedEnd = wrapper.vm.dateToString(lastPrevMonth);
202
+
203
+ expect(startDate).toBe(expectedStart);
204
+ expect(endDate).toBe(expectedEnd);
205
+ });
206
+
207
+ it('marks dates outside minDate and maxDate as out of range', () => {
208
+ const min = '2025-02-10';
209
+ const max = '2025-02-20';
210
+
211
+ wrapper = factory({
212
+ minDate: min,
213
+ maxDate: max,
214
+ });
215
+
216
+ const [year, month] = min.split('-');
217
+ const reference = `${Number(month)} 1 ${year}`;
218
+
219
+ const dates = wrapper.vm.getDatesOfTheMonth(reference);
220
+
221
+ const hasOutOfRange = dates.some((d) =>
222
+ d.properties.includes('out of range'),
223
+ );
224
+
225
+ expect(hasOutOfRange).toBe(true);
226
+ });
227
+ });
@@ -1,198 +1,196 @@
1
1
  <template>
2
- <aside
3
- v-if="modelValue"
2
+ <Drawer
4
3
  class="unnnic-drawer"
5
4
  data-testid="drawer"
5
+ :open="modelValue"
6
+ @update:open="$emit('update:modelValue', $event)"
6
7
  >
7
- <section
8
- v-if="!withoutOverlay"
9
- class="unnnic-drawer__overlay"
10
- data-testid="overlay"
11
- @click.stop="close"
12
- />
13
- <Transition
14
- appear
15
- name="drawer"
8
+ <DrawerContent
9
+ :showOverlay="!withoutOverlay"
10
+ data-testid="drawer-container"
11
+ :size="mappedSize"
12
+ :class="['unnnic-drawer__container', `unnnic-drawer__container--${size}`]"
16
13
  >
17
- <section
18
- v-if="showDrawer"
19
- data-testid="drawer-container"
20
- :class="[
21
- 'unnnic-drawer__container',
22
- `unnnic-drawer__container--${size}`,
23
- ]"
24
- >
25
- <header class="unnnic-drawer__header">
26
- <section class="unnnic-drawer__title-container">
27
- <slot
28
- v-if="$slots.title"
29
- name="title"
30
- />
31
-
32
- <template v-else>
33
- <h1
34
- class="unnnic-drawer__title"
35
- data-testid="drawer-title"
36
- >
37
- {{ title }}
38
- </h1>
39
- <p
40
- v-if="description"
41
- class="unnnic-drawer__description"
42
- data-testid="drawer-description"
43
- >
44
- {{ description }}
45
- </p>
46
- </template>
47
- </section>
48
- <UnnnicIcon
49
- class="unnnic-drawer__close"
50
- data-testid="close-icon"
51
- :icon="closeIcon"
52
- size="avatar-nano"
53
- clickable
54
- @click="back"
14
+ <DrawerHeader class="unnnic-drawer__header">
15
+ <section class="unnnic-drawer__title-container">
16
+ <slot
17
+ v-if="$slots.title"
18
+ name="title"
55
19
  />
56
- </header>
57
- <section class="unnnic-drawer__content">
58
- <slot name="content"></slot>
20
+
21
+ <template v-else>
22
+ <DrawerTitle
23
+ class="unnnic-drawer__title"
24
+ data-testid="drawer-title"
25
+ >
26
+ {{ title }}
27
+ </DrawerTitle>
28
+ <DrawerDescription
29
+ v-if="description"
30
+ class="unnnic-drawer__description"
31
+ data-testid="drawer-description"
32
+ >
33
+ {{ description }}
34
+ </DrawerDescription>
35
+ </template>
59
36
  </section>
60
- <footer
61
- v-if="showFooter"
62
- class="unnnic-drawer__footer"
63
- data-testid="footer"
64
- >
65
- <UnnnicButton
66
- v-if="secondaryButtonText"
67
- data-testid="secondary-button"
68
- size="large"
69
- type="tertiary"
70
- :disabled="disabledSecondaryButton"
71
- :loading="loadingSecondaryButton"
72
- :text="secondaryButtonText"
73
- @click="$emit('secondaryButtonClick')"
74
- />
75
- <UnnnicButton
76
- v-if="primaryButtonText"
77
- data-testid="primary-button"
78
- size="large"
79
- :disabled="disabledPrimaryButton"
80
- :loading="loadingPrimaryButton"
81
- :type="primaryButtonType"
82
- :text="primaryButtonText"
83
- @click="$emit('primaryButtonClick')"
84
- />
85
- </footer>
37
+ <template #close>
38
+ <DrawerClose>
39
+ <UnnnicButton
40
+ class="unnnic-drawer__close-icon"
41
+ data-testid="close-icon"
42
+ :iconCenter="closeIcon"
43
+ size="small"
44
+ type="tertiary"
45
+ @click="back"
46
+ />
47
+ </DrawerClose>
48
+ </template>
49
+ </DrawerHeader>
50
+
51
+ <section class="unnnic-drawer__content">
52
+ <slot name="content"></slot>
86
53
  </section>
87
- </Transition>
88
- </aside>
54
+
55
+ <DrawerFooter
56
+ v-if="showFooter"
57
+ class="unnnic-drawer__footer"
58
+ data-testid="footer"
59
+ >
60
+ <UnnnicButton
61
+ v-if="secondaryButtonText"
62
+ data-testid="secondary-button"
63
+ size="large"
64
+ type="tertiary"
65
+ :disabled="disabledSecondaryButton"
66
+ :loading="loadingSecondaryButton"
67
+ :text="secondaryButtonText"
68
+ @click="$emit('secondaryButtonClick')"
69
+ />
70
+ <UnnnicButton
71
+ v-if="primaryButtonText"
72
+ data-testid="primary-button"
73
+ size="large"
74
+ :disabled="disabledPrimaryButton"
75
+ :loading="loadingPrimaryButton"
76
+ :type="primaryButtonType"
77
+ :text="primaryButtonText"
78
+ @click="$emit('primaryButtonClick')"
79
+ />
80
+ </DrawerFooter>
81
+ </DrawerContent>
82
+ </Drawer>
89
83
  </template>
90
84
 
91
- <script>
92
- import UnnnicIcon from '../Icon.vue';
93
- import UnnnicButton from '../Button/Button.vue';
85
+ <script setup>
86
+ import { computed } from 'vue';
94
87
 
95
- export default {
88
+ import UnnnicButton from '../Button/Button.vue';
89
+ import {
90
+ Drawer,
91
+ DrawerContent,
92
+ DrawerHeader,
93
+ DrawerFooter,
94
+ DrawerClose,
95
+ DrawerTitle,
96
+ DrawerDescription,
97
+ } from '../ui/drawer';
98
+
99
+ defineOptions({
96
100
  name: 'UnnnicDrawer',
97
- components: {
98
- UnnnicIcon,
99
- UnnnicButton,
101
+ });
102
+
103
+ const props = defineProps({
104
+ title: {
105
+ type: String,
106
+ required: true,
100
107
  },
101
- props: {
102
- title: {
103
- type: String,
104
- required: true,
105
- },
106
- description: {
107
- type: String,
108
- default: '',
109
- },
110
- disabledPrimaryButton: {
111
- type: Boolean,
112
- default: false,
113
- },
114
- disabledSecondaryButton: {
115
- type: Boolean,
116
- default: false,
117
- },
118
- loadingPrimaryButton: {
119
- type: Boolean,
120
- default: false,
121
- },
122
- loadingSecondaryButton: {
123
- type: Boolean,
124
- default: false,
125
- },
126
- primaryButtonText: {
127
- type: String,
128
- default: '',
129
- },
130
- primaryButtonType: {
131
- type: String,
132
- default: 'primary',
133
- },
134
- secondaryButtonText: {
135
- type: String,
136
- default: '',
137
- },
138
- size: {
139
- type: String,
140
- default: 'md',
141
- validator(val) {
142
- return ['md', 'lg', 'xl', 'gt'].includes(val);
143
- },
144
- },
145
- wide: {
146
- type: Boolean,
147
- default: false,
148
- },
149
- modelValue: {
150
- type: Boolean,
151
- required: true,
152
- },
153
- withoutOverlay: {
154
- type: Boolean,
155
- default: false,
156
- },
157
- closeIcon: {
158
- type: String,
159
- default: 'arrow_back',
160
- },
161
- distinctCloseBack: {
162
- type: Boolean,
163
- default: false,
164
- },
108
+ description: {
109
+ type: String,
110
+ default: '',
165
111
  },
166
- emits: ['primaryButtonClick', 'secondaryButtonClick', 'close', 'back'],
167
- data() {
168
- return {
169
- showDrawer: true,
170
- };
112
+ disabledPrimaryButton: {
113
+ type: Boolean,
114
+ default: false,
171
115
  },
172
- computed: {
173
- showFooter() {
174
- return !!(this.primaryButtonText || this.secondaryButtonText);
175
- },
116
+ disabledSecondaryButton: {
117
+ type: Boolean,
118
+ default: false,
176
119
  },
177
- methods: {
178
- transitionClose(callback) {
179
- this.showDrawer = false;
180
- setTimeout(() => {
181
- callback?.();
182
- this.showDrawer = true;
183
- }, 200);
184
- },
185
- close() {
186
- this.transitionClose(() => this.$emit('close'));
187
- },
188
- back() {
189
- if (this.distinctCloseBack) {
190
- this.transitionClose(() => this.$emit('back'));
191
- } else {
192
- this.close();
193
- }
120
+ loadingPrimaryButton: {
121
+ type: Boolean,
122
+ default: false,
123
+ },
124
+ loadingSecondaryButton: {
125
+ type: Boolean,
126
+ default: false,
127
+ },
128
+ primaryButtonText: {
129
+ type: String,
130
+ default: '',
131
+ },
132
+ primaryButtonType: {
133
+ type: String,
134
+ default: 'primary',
135
+ },
136
+ secondaryButtonText: {
137
+ type: String,
138
+ default: '',
139
+ },
140
+ size: {
141
+ type: String,
142
+ default: 'md',
143
+ validator(val) {
144
+ return ['md', 'lg', 'xl', 'gt'].includes(val);
194
145
  },
195
146
  },
147
+ modelValue: {
148
+ type: Boolean,
149
+ required: true,
150
+ },
151
+ withoutOverlay: {
152
+ type: Boolean,
153
+ default: false,
154
+ },
155
+ closeIcon: {
156
+ type: String,
157
+ default: 'arrow_forward',
158
+ },
159
+ distinctCloseBack: {
160
+ type: Boolean,
161
+ default: false,
162
+ },
163
+ });
164
+
165
+ const emit = defineEmits([
166
+ 'primaryButtonClick',
167
+ 'secondaryButtonClick',
168
+ 'close',
169
+ 'back',
170
+ ]);
171
+ const showFooter = computed(
172
+ () => !!(props.primaryButtonText || props.secondaryButtonText),
173
+ );
174
+ const mappedSize = computed(() => {
175
+ const sizes = {
176
+ md: 'medium',
177
+ lg: 'large',
178
+ xl: 'extra-large',
179
+ gt: 'giant',
180
+ };
181
+ return sizes[props.size] || 'medium';
182
+ });
183
+
184
+ const close = () => {
185
+ emit('close');
186
+ };
187
+
188
+ const back = () => {
189
+ if (props.distinctCloseBack) {
190
+ emit('back');
191
+ } else {
192
+ close();
193
+ }
196
194
  };
197
195
  </script>
198
196
 
@@ -204,107 +202,16 @@ export default {
204
202
  box-sizing: border-box;
205
203
  }
206
204
 
207
- @keyframes drawerOpen {
208
- from {
209
- transform: translateX(100%);
210
- }
211
- to {
212
- transform: translateX(0);
213
- }
214
- }
215
-
216
- @keyframes drawerClose {
217
- from {
218
- transform: translateX(0);
219
- }
220
- to {
221
- transform: translateX(100%);
222
- }
223
- }
224
-
225
- .drawer-enter-active,
226
- .drawer-enter-to {
227
- animation: drawerOpen 200ms ease-in;
228
- }
229
-
230
- .drawer-leave-active,
231
- .drawer-leave-to {
232
- display: none;
233
- animation: drawerClose 200ms ease-in;
234
- }
235
-
236
205
  .unnnic-drawer {
237
- width: 100vw;
238
- height: 100vh;
239
- position: fixed;
240
- left: 0;
241
- top: 0;
242
206
  z-index: 8;
243
207
  }
244
208
 
245
- .unnnic-drawer__overlay {
246
- z-index: 9;
247
- background-color: rgba(0, 0, 0, 0.4);
248
- width: 100%;
249
- height: 100%;
250
- }
251
-
252
209
  .unnnic-drawer__container {
253
210
  z-index: 10;
254
- top: 0;
255
- right: 0;
256
- position: fixed;
257
- display: flex;
258
- flex-direction: column;
259
- font-family: $unnnic-font-family-secondary;
260
- justify-content: space-between;
261
- height: 100%;
262
- background-color: $unnnic-color-neutral-white;
263
211
 
264
- &--md {
265
- width: calc(100% / 3);
266
- }
267
-
268
- &--lg {
269
- width: 50%;
270
- }
271
-
272
- &--xl {
273
- width: 66%;
274
- }
275
-
276
- &--gt {
277
- width: 75%;
278
- }
279
-
280
- .unnnic-drawer__header {
212
+ .unnnic-drawer__close-icon {
213
+ margin: $unnnic-spacing-nano;
281
214
  display: flex;
282
- justify-content: space-between;
283
- border-bottom: 1px solid $unnnic-color-neutral-soft;
284
- padding: $unnnic-spacing-md;
285
- .unnnic-drawer__title-container {
286
- .unnnic-drawer__title {
287
- color: $unnnic-color-neutral-darkest;
288
- font-family: $unnnic-font-family-secondary;
289
- font-size: $unnnic-font-size-title-sm;
290
- font-weight: $unnnic-font-weight-black;
291
- line-height: $unnnic-line-height-large * 1.75;
292
- }
293
-
294
- .unnnic-drawer__description {
295
- color: $unnnic-color-neutral-cloudy;
296
- font-family: $unnnic-font-family-secondary;
297
- font-size: $unnnic-font-size-body-gt;
298
- font-weight: $unnnic-font-weight-regular;
299
- line-height: $unnnic-line-height-large * 1.375;
300
- }
301
- }
302
-
303
- .unnnic-drawer__close {
304
- margin: $unnnic-spacing-nano;
305
- transform: rotate(180deg);
306
- display: flex;
307
- }
308
215
  }
309
216
 
310
217
  .unnnic-drawer__content {