@weni/unnnic-system 3.9.4 → 3.11.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 (236) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/dist/assets/tokens/colors.json.d.ts +376 -0
  3. package/dist/components/Accordion/Accordion.vue.d.ts +1 -1
  4. package/dist/components/Alert/Alert.vue.d.ts +17 -116
  5. package/dist/components/Alert/Alert.vue.d.ts.map +1 -1
  6. package/dist/components/Alert/Version1dot1.vue.d.ts +2 -38
  7. package/dist/components/Alert/Version1dot1.vue.d.ts.map +1 -1
  8. package/dist/components/AudioRecorder/AudioHandler.vue.d.ts +2 -2
  9. package/dist/components/AudioRecorder/AudioPlayer.vue.d.ts +1 -1
  10. package/dist/components/AudioRecorder/AudioRecorder.vue.d.ts +5 -5
  11. package/dist/components/AvatarIcon/AvatarIcon.vue.d.ts +3 -3
  12. package/dist/components/Banner/Banner.vue.d.ts +1 -1
  13. package/dist/components/Banner/InfoBanner.vue.d.ts +1 -1
  14. package/dist/components/Breadcrumb/Breadcrumb.vue.d.ts +1 -1
  15. package/dist/components/Button/Button.vue.d.ts +1 -1
  16. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  17. package/dist/components/Button/ButtonIcon.vue.d.ts +1 -1
  18. package/dist/components/Button/types.d.ts +1 -1
  19. package/dist/components/Button/types.d.ts.map +1 -1
  20. package/dist/components/Card/AccountCard.vue.d.ts +5 -5
  21. package/dist/components/Card/BlankCard.vue.d.ts +1 -1
  22. package/dist/components/Card/Card.vue.d.ts +27 -27
  23. package/dist/components/Card/CardCompany.vue.d.ts +11 -414
  24. package/dist/components/Card/CardData.vue.d.ts +1 -1
  25. package/dist/components/Card/CardStatusesContainer.vue.d.ts +5 -5
  26. package/dist/components/Card/ContentCard.vue.d.ts +3 -3
  27. package/dist/components/Card/DashCard.vue.d.ts +5 -5
  28. package/dist/components/Card/DefaultCard.vue.d.ts +1 -1
  29. package/dist/components/Card/MarketplaceCard.vue.d.ts +2 -2
  30. package/dist/components/Card/MarketplaceCard.vue.d.ts.map +1 -1
  31. package/dist/components/Card/SimpleCard.vue.d.ts +3 -3
  32. package/dist/components/Card/StatusCard.vue.d.ts +2 -2
  33. package/dist/components/Card/TitleCard.vue.d.ts +3 -3
  34. package/dist/components/CardImage/CardImage.vue.d.ts +24 -31
  35. package/dist/components/CardInformation/CardInformation.vue.d.ts +5 -5
  36. package/dist/components/CardProject/CardProject.vue.d.ts +3 -3
  37. package/dist/components/Carousel/Carousel.vue.d.ts +13 -416
  38. package/dist/components/Carousel/TagCarousel.vue.d.ts +12 -415
  39. package/dist/components/ChartBar/ChartBar.vue.d.ts +5 -5
  40. package/dist/components/ChartLine/ChartLine.vue.d.ts +1 -1
  41. package/dist/components/ChatText/ChatText.vue.d.ts +2 -2
  42. package/dist/components/ChatsContact/ChatsContact.vue.d.ts +21 -446
  43. package/dist/components/ChatsDashboardTagLive/ChatsDashboardTagLive.vue.d.ts +1 -1
  44. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts +1 -1
  45. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts.map +1 -1
  46. package/dist/components/ChatsMessage/ChatsMessage.vue.d.ts +5 -5
  47. package/dist/components/ChatsMessage/ChatsMessageStatusBackdrop.vue.d.ts +2 -2
  48. package/dist/components/ChatsNavbar/ChatsNavbar.vue.d.ts +1 -1
  49. package/dist/components/ChatsUserAvatar/ChatsUserAvatar.vue.d.ts +2 -2
  50. package/dist/components/Checkbox/Checkbox.vue.d.ts +19 -26
  51. package/dist/components/Checkbox/Checkbox.vue.d.ts.map +1 -1
  52. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts +28 -0
  53. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts.map +1 -0
  54. package/dist/components/Comment/Comment.vue.d.ts +1 -1
  55. package/dist/components/DataArea/DataArea.vue.d.ts +2 -2
  56. package/dist/components/DataTable/index.vue.d.ts +1 -1
  57. package/dist/components/DataTable/index.vue.d.ts.map +1 -1
  58. package/dist/components/DateFilter/DateFilter.vue.d.ts +170 -39
  59. package/dist/components/DatePicker/DatePicker.vue.d.ts +4 -4
  60. package/dist/components/Drawer/Drawer.vue.d.ts +4 -4
  61. package/dist/components/Dropdown/Dropdown.vue.d.ts +1 -1
  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 +51 -28
  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 +4 -4
  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 +170 -39
  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/InputDatePicker/InputDatePicker.vue.d.ts +175 -44
  77. package/dist/components/InputNext/InputNext.vue.d.ts +4 -4
  78. package/dist/components/Label/Label.vue.d.ts +9 -15
  79. package/dist/components/Label/Label.vue.d.ts.map +1 -1
  80. package/dist/components/Modal/Modal.vue.d.ts +2 -2
  81. package/dist/components/ModalDialog/ModalDialog.vue.d.ts +6 -6
  82. package/dist/components/ModalNext/ModalNext.vue.d.ts +175 -44
  83. package/dist/components/ModalUpload/ModalUpload.vue.d.ts +9 -9
  84. package/dist/components/MoodRating/MoodRating.vue.d.ts +1 -1
  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 +3 -3
  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/SelectSmart/SelectSmart.vue.d.ts +68 -469
  97. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +11 -414
  98. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +21 -28
  99. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts.map +1 -1
  100. package/dist/components/SelectTime/index.vue.d.ts +33 -24
  101. package/dist/components/SkeletonLoading/skeletonTheme.vue.d.ts +1 -1
  102. package/dist/components/Slider/Slider.vue.d.ts +2 -2
  103. package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
  104. package/dist/components/Switch/Switch.vue.d.ts +55 -21
  105. package/dist/components/Switch/Switch.vue.d.ts.map +1 -1
  106. package/dist/components/Tab/Tab.vue.d.ts +13 -2
  107. package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
  108. package/dist/components/TableNext/TablePagination.vue.d.ts +3 -3
  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 +12 -414
  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 +1 -1
  125. package/dist/components/Tour/Tour.vue.d.ts +3 -3
  126. package/dist/components/Tour/TourPopover.vue.d.ts +3 -3
  127. package/dist/components/UploadArea/UploadArea.vue.d.ts +4 -4
  128. package/dist/components/index.d.ts +8910 -10904
  129. package/dist/components/index.d.ts.map +1 -1
  130. package/dist/components/ui/popover/PopoverContent.vue.d.ts +1 -1
  131. package/dist/components/ui/popover/PopoverContent.vue.d.ts.map +1 -1
  132. package/dist/{es-8146fb1b.mjs → es-e3248052.mjs} +1 -1
  133. package/dist/{index-724ed422.mjs → index-f67d5b30.mjs} +9292 -8808
  134. package/dist/{pt-br-af294ec9.mjs → pt-br-f6f53acd.mjs} +1 -1
  135. package/dist/style.css +1 -1
  136. package/dist/unnnic.mjs +181 -173
  137. package/dist/unnnic.umd.js +35 -36
  138. package/dist/utils/call.d.ts +2 -1
  139. package/dist/utils/call.d.ts.map +1 -1
  140. package/package.json +2 -2
  141. package/src/assets/fonts/material-symbols-rounded.woff2 +0 -0
  142. package/src/assets/icons/checkbox-checked-disabled.svg +3 -0
  143. package/src/assets/icons/checkbox-checked.svg +3 -0
  144. package/src/assets/icons/checkbox-less-disabled.svg +3 -0
  145. package/src/assets/icons/checkbox-less.svg +3 -0
  146. package/src/assets/icons/radio-checked.svg +3 -0
  147. package/src/assets/icons/switch-checked-disabled.svg +3 -0
  148. package/src/assets/icons/switch-checked.svg +3 -0
  149. package/src/components/Alert/Alert.vue +26 -135
  150. package/src/components/Alert/Version1dot1.vue +0 -36
  151. package/src/components/Alert/__tests__/Alert.spec.js +2 -45
  152. package/src/components/Alert/__tests__/Version1dot1.spec.js +0 -21
  153. package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +11 -7
  154. package/src/components/Alert/__tests__/__snapshots__/AlertBanner.spec.js.snap +2 -2
  155. package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +1 -1
  156. package/src/components/Button/Button.vue +67 -117
  157. package/src/components/Button/types.ts +0 -1
  158. package/src/components/Card/MarketplaceCard.vue +1 -0
  159. package/src/components/ChatsContact/ChatsContact.vue +10 -6
  160. package/src/components/Checkbox/Checkbox.vue +117 -65
  161. package/src/components/Checkbox/__tests__/Checkbox.spec.js +6 -21
  162. package/src/components/CheckboxGroup/CheckboxGroup.vue +96 -0
  163. package/src/components/Collapse/Collapse.vue +1 -1
  164. package/src/components/Collapse/__tests__/__snapshots__/Collapse.spec.js.snap +1 -1
  165. package/src/components/FormElement/FormElement.vue +63 -93
  166. package/src/components/Icon.vue +4 -10
  167. package/src/components/Input/BaseInput.vue +12 -12
  168. package/src/components/Input/Input.scss +19 -20
  169. package/src/components/Input/Input.vue +60 -55
  170. package/src/components/Input/TextInput.vue +25 -54
  171. package/src/components/Input/__test__/Input.spec.js +13 -33
  172. package/src/components/Input/__test__/TextInput.spec.js +6 -8
  173. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +14 -5
  174. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +1 -1
  175. package/src/components/Label/Label.vue +52 -21
  176. package/src/components/Label/__tests__/Label.spec.js +1 -1
  177. package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  178. package/src/components/PageHeader/PageHeader.vue +148 -0
  179. package/src/components/PageHeader/index.ts +2 -0
  180. package/src/components/PageHeader/types.ts +10 -0
  181. package/src/components/Radio/Radio.vue +118 -66
  182. package/src/components/Radio/__test__/Radio.spec.js +14 -20
  183. package/src/components/Radio/__test__/__snapshots__/Radio.spec.js.snap +4 -3
  184. package/src/components/RadioGroup/RadioGroup.vue +142 -0
  185. package/src/components/SelectSmart/SelectSmart.vue +4 -3
  186. package/src/components/Switch/Switch.vue +132 -91
  187. package/src/components/Switch/__tests__/Switch.spec.js +8 -75
  188. package/src/components/Switch/__tests__/__snapshots__/Switch.spec.js.snap +5 -6
  189. package/src/components/Tab/Tab.vue +37 -23
  190. package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +1 -1
  191. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
  192. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
  193. package/src/components/Tag/DefaultTag.vue +51 -107
  194. package/src/components/Tag/Tag.vue +32 -79
  195. package/src/components/Tag/types.ts +19 -0
  196. package/src/components/TextArea/TextArea.vue +41 -12
  197. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +11 -3
  198. package/src/components/Toast/Toast.vue +246 -0
  199. package/src/components/Toast/ToastManager.ts +110 -0
  200. package/src/components/Toast/__tests__/Toast.spec.js +291 -0
  201. package/src/components/Toast/__tests__/ToastManager.spec.js +294 -0
  202. package/src/components/Toast/types.ts +57 -0
  203. package/src/components/index.ts +33 -17
  204. package/src/stories/Alert.stories.js +6 -67
  205. package/src/stories/Button.stories.js +29 -39
  206. package/src/stories/Checkbox.stories.js +11 -4
  207. package/src/stories/CheckboxGroup.stories.js +105 -0
  208. package/src/stories/Icon.stories.js +2 -0
  209. package/src/stories/Input.stories.js +71 -76
  210. package/src/stories/Label.stories.js +7 -0
  211. package/src/stories/PageHeader.stories.js +330 -0
  212. package/src/stories/Radio.stories.js +28 -1
  213. package/src/stories/RadioGroup.stories.js +144 -0
  214. package/src/stories/Switch.stories.js +10 -5
  215. package/src/stories/Tab.stories.js +11 -4
  216. package/src/stories/Tag.stories.js +24 -43
  217. package/src/stories/TextArea.stories.js +14 -2
  218. package/src/stories/Toast.mdx +123 -0
  219. package/src/stories/Toast.stories.js +126 -0
  220. package/src/types/scheme-colors.d.ts +1 -0
  221. package/src/utils/call.js +46 -18
  222. package/dist/components/Tag/BrandTag.vue.d.ts +0 -51
  223. package/dist/components/Tag/BrandTag.vue.d.ts.map +0 -1
  224. package/dist/components/Tag/IndicatorTag.vue.d.ts +0 -151
  225. package/dist/components/Tag/IndicatorTag.vue.d.ts.map +0 -1
  226. package/dist/components/Tag/TagNext.vue.d.ts +0 -24
  227. package/dist/components/Tag/TagNext.vue.d.ts.map +0 -1
  228. package/src/assets/fonts/Material Symbols Rounded Filled.woff2 +0 -0
  229. package/src/assets/fonts/Material Symbols Rounded.woff2 +0 -0
  230. package/src/components/Alert/AlertBanner.vue +0 -182
  231. package/src/components/Alert/AlertCaller.vue +0 -49
  232. package/src/components/Alert/__tests__/AlertBanner.spec.js +0 -89
  233. package/src/components/Alert/__tests__/AlertCaller.spec.js +0 -98
  234. package/src/components/Tag/BrandTag.vue +0 -96
  235. package/src/components/Tag/IndicatorTag.vue +0 -107
  236. package/src/components/Tag/TagNext.vue +0 -60
@@ -3,9 +3,10 @@ declare namespace _default {
3
3
  export { callModal };
4
4
  }
5
5
  export default _default;
6
- export function callAlert({ props, containerRef }: {
6
+ export function callAlert({ props, containerRef, seconds }: {
7
7
  props: any;
8
8
  containerRef: any;
9
+ seconds: any;
9
10
  }): void;
10
11
  export function callModal({ props }: {
11
12
  props: any;
@@ -1 +1 @@
1
- {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/utils/call.js"],"names":[],"mappings":";;;;;AAOA;;;SAqBC;AAED;;SAeC"}
1
+ {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/utils/call.js"],"names":[],"mappings":";;;;;AAOA;;;;SAiDC;AAED;;SAeC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weni/unnnic-system",
3
- "version": "3.9.4",
3
+ "version": "3.11.0",
4
4
  "type": "commonjs",
5
5
  "files": [
6
6
  "dist",
@@ -114,4 +114,4 @@
114
114
  "vue-eslint-parser": "^9.4.2",
115
115
  "vue-tsc": "^3.0.5"
116
116
  }
117
- }
117
+ }
@@ -0,0 +1,3 @@
1
+ <svg width="11" height="9" viewBox="0 0 11 9" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M3.60023 7.13135L9.96565 0.765935C10.0744 0.655796 10.2018 0.599407 10.3477 0.596768C10.4936 0.594129 10.6242 0.650518 10.7396 0.765935C10.855 0.881351 10.9127 1.00955 10.9127 1.15052C10.9127 1.29163 10.8577 1.41718 10.7477 1.52718L4.08586 8.19864C3.9503 8.33531 3.79224 8.40364 3.61169 8.40364C3.43099 8.40364 3.27224 8.33531 3.13544 8.19864L0.260439 5.32364C0.150439 5.2135 0.0928002 5.08711 0.0875224 4.94448C0.0821058 4.80198 0.137106 4.67302 0.252522 4.5576C0.367939 4.44218 0.496759 4.38448 0.638981 4.38448C0.781203 4.38448 0.907731 4.44218 1.01856 4.5576L3.60023 7.13135Z" fill="#B2B9C7"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="11" height="9" viewBox="0 0 11 9" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M3.60023 7.13135L9.96565 0.765935C10.0744 0.655796 10.2018 0.599407 10.3477 0.596768C10.4936 0.594129 10.6242 0.650518 10.7396 0.765935C10.855 0.881351 10.9127 1.00955 10.9127 1.15052C10.9127 1.29163 10.8577 1.41718 10.7477 1.52718L4.08586 8.19864C3.9503 8.33531 3.79224 8.40364 3.61169 8.40364C3.43099 8.40364 3.27224 8.33531 3.13544 8.19864L0.260439 5.32364C0.150439 5.2135 0.0928002 5.08711 0.0875224 4.94448C0.0821058 4.80198 0.137106 4.67302 0.252522 4.5576C0.367939 4.44218 0.496759 4.38448 0.638981 4.38448C0.781203 4.38448 0.907731 4.44218 1.01856 4.5576L3.60023 7.13135Z" fill="white"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="10" height="2" viewBox="0 0 10 2" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M0.625 1.25C0.447917 1.25 0.299514 1.19007 0.179792 1.07021C0.0599307 0.950347 0 0.801875 0 0.624791C0 0.447569 0.0599307 0.299167 0.179792 0.179583C0.299514 0.059861 0.447917 0 0.625 0H8.54167C8.71875 0 8.86715 0.0599307 8.98688 0.179792C9.10674 0.299653 9.16667 0.448125 9.16667 0.625209C9.16667 0.802431 9.10674 0.950833 8.98688 1.07042C8.86715 1.19014 8.71875 1.25 8.54167 1.25H0.625Z" fill="#B2B9C7"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="10" height="2" viewBox="0 0 10 2" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M0.625 1.25C0.447917 1.25 0.299514 1.19007 0.179792 1.07021C0.0599307 0.950347 0 0.801875 0 0.624791C0 0.447569 0.0599307 0.299167 0.179792 0.179583C0.299514 0.059861 0.447917 0 0.625 0H8.54167C8.71875 0 8.86715 0.0599307 8.98688 0.179792C9.10674 0.299653 9.16667 0.448125 9.16667 0.625209C9.16667 0.802431 9.10674 0.950833 8.98688 1.07042C8.86715 1.19014 8.71875 1.25 8.54167 1.25H0.625Z" fill="white"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="9" height="9" viewBox="0 0 9 9" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="4.5" cy="4.5" r="4" fill="white"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect width="14" height="14" rx="7" fill="#D6D9E1"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect width="14" height="14" rx="7" fill="white"/>
3
+ </svg>
@@ -1,55 +1,25 @@
1
1
  <template>
2
- <div
3
- v-if="version === '1.0'"
4
- :class="['unnnic-alert', `unnnic-alert-position--${position}`]"
5
- >
6
- <UnnnicIcon
7
- :icon="icon"
8
- :scheme="scheme"
9
- size="sm"
10
- data-test="unnnic-icon"
11
- />
12
- <div class="unnnic-alert__content">
13
- <div class="unnnic-alert__title">
14
- {{ title.toUpperCase() }}
15
- </div>
16
- <div class="unnnic-alert__text">
17
- {{ text }}
18
- </div>
19
- </div>
20
- <div
21
- v-if="closeText"
22
- class="unnnic-alert__close-text unnnic--clickable"
23
- @click="onClose()"
24
- >
25
- {{ closeText.toUpperCase() }}
26
- </div>
27
- <UnnnicIcon
28
- v-else
29
- clickable
30
- icon="close-1"
31
- scheme="brand-sec"
32
- size="xs"
33
- data-test="unnnic-icon-close"
34
- @click="onClose"
35
- />
36
- </div>
2
+ <Version1dot1
3
+ v-if="version === '1.1'"
4
+ v-bind="{ ...$props }"
5
+ />
37
6
 
38
- <component
39
- :is="'version' + version.replace(/\./g, 'dot')"
7
+ <UnnnicToast
40
8
  v-else
41
- v-bind="{ ...$props }"
42
- ></component>
9
+ :title="text || ''"
10
+ :type="toastType"
11
+ @close="() => onClose()"
12
+ />
43
13
  </template>
44
14
 
45
- <script>
46
- import UnnnicIcon from '../Icon.vue';
15
+ <script lang="ts">
47
16
  import Version1dot1 from './Version1dot1.vue';
17
+ import UnnnicToast from '../Toast/Toast.vue';
48
18
 
49
19
  export default {
50
20
  name: 'UnnnicAlert',
51
21
  components: {
52
- UnnnicIcon,
22
+ UnnnicToast,
53
23
  Version1dot1,
54
24
  },
55
25
  props: {
@@ -57,11 +27,6 @@ export default {
57
27
  type: String,
58
28
  default: '1.1',
59
29
  },
60
-
61
- title: {
62
- type: String,
63
- default: null,
64
- },
65
30
  text: {
66
31
  type: String,
67
32
  default: null,
@@ -70,102 +35,28 @@ export default {
70
35
  type: String,
71
36
  default: null,
72
37
  },
73
- icon: {
74
- type: String,
75
- default: null,
76
- },
77
38
  onClose: {
78
39
  type: Function,
79
40
  default: () => {},
80
41
  },
81
- closeText: {
82
- type: String,
83
- default: '',
84
- },
85
- position: {
86
- type: String,
87
- default: 'top-right',
88
- },
89
- linkHref: {
90
- type: String,
91
- default: '',
92
- },
93
- linkTarget: {
94
- type: String,
95
- default: '',
96
- },
97
- linkText: {
98
- type: String,
99
- default: '',
100
- },
101
42
  type: {
102
43
  type: String,
103
44
  default: '',
104
45
  },
105
46
  },
47
+ computed: {
48
+ toastType() {
49
+ if (this.scheme === 'feedback-green' || this.type === 'success') {
50
+ return 'success';
51
+ }
52
+ if (this.scheme === 'feedback-red' || this.type === 'error') {
53
+ return 'error';
54
+ }
55
+ if (this.type === 'attention') {
56
+ return 'attention';
57
+ }
58
+ return 'informational';
59
+ },
60
+ },
106
61
  };
107
62
  </script>
108
-
109
- <style lang="scss" scoped>
110
- @use '@/assets/scss/unnnic' as *;
111
-
112
- .unnnic-alert {
113
- position: fixed;
114
- padding: $unnnic-inset-xs;
115
- min-width: 12.5 * $unnnic-font-size;
116
-
117
- display: inline-flex;
118
- align-items: center;
119
-
120
- font-family: $unnnic-font-family-secondary;
121
- border-radius: $unnnic-border-radius-sm;
122
-
123
- background-color: $unnnic-color-background-snow;
124
- box-shadow: $unnnic-shadow-level-near;
125
-
126
- z-index: 9999;
127
-
128
- &-position {
129
- &--top-right {
130
- top: 1 * $unnnic-font-size;
131
- right: 1 * $unnnic-font-size;
132
- }
133
- &--top-left {
134
- top: 1 * $unnnic-font-size;
135
- left: 1 * $unnnic-font-size;
136
- }
137
- &--bottom-right {
138
- bottom: 1 * $unnnic-font-size;
139
- right: 1 * $unnnic-font-size;
140
- }
141
- &--bottom-left {
142
- bottom: 1 * $unnnic-font-size;
143
- left: 1 * $unnnic-font-size;
144
- }
145
- }
146
-
147
- &__content {
148
- flex: 1;
149
- margin: 0 $unnnic-inline-xs;
150
- }
151
-
152
- &__title {
153
- font-size: $unnnic-font-size-body-sm;
154
- font-weight: $unnnic-font-weight-bold;
155
- color: $unnnic-color-neutral-darkest;
156
- }
157
-
158
- &__text {
159
- font-size: $unnnic-font-size-body-md;
160
- font-weight: $unnnic-font-weight-regular;
161
- color: $unnnic-color-neutral-dark;
162
- }
163
-
164
- &__close {
165
- &-text {
166
- color: $unnnic-color-brand-sec;
167
- font-size: $unnnic-font-size-body-md;
168
- }
169
- }
170
- }
171
- </style>
@@ -27,15 +27,6 @@
27
27
  {{ text }}
28
28
  </div>
29
29
 
30
- <a
31
- v-if="linkHref"
32
- class="alert__link"
33
- :href="linkHref"
34
- :target="linkTarget"
35
- >
36
- {{ linkText }}
37
- </a>
38
-
39
30
  <div
40
31
  class="alert__close"
41
32
  @click="emitClose"
@@ -58,10 +49,6 @@ export default {
58
49
  UnnnicIcon,
59
50
  },
60
51
  props: {
61
- version: {
62
- type: String,
63
- default: '1.0',
64
- },
65
52
  text: {
66
53
  type: String,
67
54
  default: null,
@@ -74,18 +61,6 @@ export default {
74
61
  type: Function,
75
62
  default: () => {},
76
63
  },
77
- linkHref: {
78
- type: String,
79
- default: '',
80
- },
81
- linkTarget: {
82
- type: String,
83
- default: '_blank',
84
- },
85
- linkText: {
86
- type: String,
87
- default: 'Learn more',
88
- },
89
64
  type: {
90
65
  type: String,
91
66
  default: 'default',
@@ -207,7 +182,6 @@ export default {
207
182
  padding: $unnnic-spacing-xs $unnnic-spacing-sm;
208
183
  }
209
184
 
210
- &__link,
211
185
  &__close {
212
186
  border-left: $unnnic-border-width-thinner solid $unnnic-color-neutral-cloudy;
213
187
 
@@ -216,14 +190,6 @@ export default {
216
190
  }
217
191
  }
218
192
 
219
- &__link {
220
- padding: $unnnic-spacing-xs $unnnic-spacing-sm;
221
- text-decoration: none;
222
- color: inherit;
223
- display: block;
224
- font-weight: $unnnic-font-weight-bold;
225
- }
226
-
227
193
  &__close {
228
194
  padding: $unnnic-spacing-xs $unnnic-spacing-sm;
229
195
  cursor: pointer;
@@ -237,7 +203,6 @@ export default {
237
203
  background-color: $unnnic-color-aux-green-700;
238
204
  }
239
205
 
240
- .alert__link,
241
206
  .alert__close {
242
207
  border-left: $unnnic-border-width-thinner solid
243
208
  $unnnic-color-aux-green-300;
@@ -255,7 +220,6 @@ export default {
255
220
  background-color: $unnnic-color-aux-red-700;
256
221
  }
257
222
 
258
- .alert__link,
259
223
  .alert__close {
260
224
  border-left: $unnnic-border-width-thinner solid $unnnic-color-aux-red-300;
261
225
 
@@ -8,13 +8,10 @@ describe('UnnnicAlert.vue', () => {
8
8
  beforeEach(() => {
9
9
  wrapper = mount(UnnnicAlert, {
10
10
  props: {
11
- version: '1.0',
11
+ version: '2.0',
12
12
  title: 'Test Alert',
13
13
  text: 'This is an alert message',
14
- scheme: 'primary',
15
- icon: 'alert-icon',
16
- position: 'top-right',
17
- closeText: 'Close',
14
+ type: 'success',
18
15
  },
19
16
  });
20
17
  });
@@ -27,46 +24,6 @@ describe('UnnnicAlert.vue', () => {
27
24
  expect(wrapper.exists()).toBe(true);
28
25
  });
29
26
 
30
- test('renders title and text in uppercase', () => {
31
- const title = wrapper.find('.unnnic-alert__title');
32
- const text = wrapper.find('.unnnic-alert__text');
33
-
34
- expect(title.text()).toBe('TEST ALERT');
35
- expect(text.text()).toBe('This is an alert message');
36
- });
37
-
38
- test('applies the correct position class', () => {
39
- expect(wrapper.classes()).toContain('unnnic-alert-position--top-right');
40
- });
41
-
42
- test('renders the icon with correct props', () => {
43
- const icon = wrapper.findComponent('[data-test="unnnic-icon"]');
44
- expect(icon.exists()).toBe(true);
45
- expect(icon.props('icon')).toBe('alert-icon');
46
- expect(icon.props('scheme')).toBe('primary');
47
- expect(icon.props('size')).toBe('sm');
48
- });
49
-
50
- test('renders closeText and calls onClose when clicked', async () => {
51
- const closeText = wrapper.find('.unnnic-alert__close-text');
52
- expect(closeText.exists()).toBe(true);
53
- expect(closeText.text()).toBe('CLOSE');
54
-
55
- const onCloseSpy = vi.spyOn(wrapper.props(), 'onClose');
56
- await closeText.trigger('click');
57
- expect(onCloseSpy).toHaveBeenCalled();
58
- });
59
-
60
- test('renders default close icon if closeText is not provided', async () => {
61
- await wrapper.setProps({ closeText: '', onClose: () => vi.fn() });
62
- await wrapper.vm.$nextTick();
63
- const closeIcon = wrapper.findComponent('[data-test="unnnic-icon-close"]');
64
- expect(closeIcon.exists()).toBe(true);
65
- expect(closeIcon.props('icon')).toBe('close-1');
66
- expect(closeIcon.props('scheme')).toBe('brand-sec');
67
- expect(closeIcon.props('size')).toBe('xs');
68
- });
69
-
70
27
  test('renders the correct component for version 1.1', async () => {
71
28
  await wrapper.setProps({ version: '1.1' });
72
29
  const versionComponent = wrapper.findComponent({ name: 'Version1dot1' });
@@ -9,13 +9,9 @@ describe('Alert.vue', () => {
9
9
  let wrapper;
10
10
 
11
11
  const defaultProps = {
12
- version: '1.0',
13
12
  text: 'Test Alert',
14
13
  scheme: 'feedback-green',
15
14
  onClose: vi.fn(),
16
- linkHref: 'https://example.com',
17
- linkTarget: '_blank',
18
- linkText: 'Learn more',
19
15
  type: 'success',
20
16
  };
21
17
 
@@ -51,19 +47,6 @@ describe('Alert.vue', () => {
51
47
  expect(wrapper.find('.alert--scheme-aux-red').exists()).toBe(true);
52
48
  });
53
49
 
54
- test('renders link when linkHref is provided', () => {
55
- const link = wrapper.find('.alert__link');
56
- expect(link.exists()).toBe(true);
57
- expect(link.attributes('href')).toBe('https://example.com');
58
- expect(link.attributes('target')).toBe('_blank');
59
- expect(link.text()).toBe('Learn more');
60
- });
61
-
62
- test('does not render link when linkHref is not provided', async () => {
63
- await wrapper.setProps({ linkHref: '' });
64
- expect(wrapper.find('.alert__link').exists()).toBe(false);
65
- });
66
-
67
50
  test('emits close event and calls onClose prop when close button is clicked', async () => {
68
51
  await wrapper.find('.alert__close').trigger('click');
69
52
  expect(wrapper.emitted('close')).toBeTruthy();
@@ -93,12 +76,8 @@ describe('Alert.vue', () => {
93
76
  });
94
77
 
95
78
  test.each([
96
- ['version', '1.1'],
97
79
  ['text', 'New Alert Text'],
98
80
  ['scheme', 'feedback-red'],
99
- ['linkHref', 'https://newexample.com'],
100
- ['linkTarget', '_self'],
101
- ['linkText', 'Click here'],
102
81
  ['type', 'error'],
103
82
  ])('updates %s prop correctly', async (propName, newValue) => {
104
83
  await wrapper.setProps({ [propName]: newValue });
@@ -1,11 +1,15 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
3
  exports[`UnnnicAlert.vue > matches the snapshot 1`] = `
4
- "<div data-v-284427ba="" class="unnnic-alert unnnic-alert-position--top-right"><span data-v-26446d8e="" data-v-284427ba="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--primary unnnic-icon-size--sm unnnic-icon__size--sm" data-testid="material-icon" translate="no" data-test="unnnic-icon">alert-icon</span>
5
- <div data-v-284427ba="" class="unnnic-alert__content">
6
- <div data-v-284427ba="" class="unnnic-alert__title">TEST ALERT</div>
7
- <div data-v-284427ba="" class="unnnic-alert__text">This is an alert message</div>
8
- </div>
9
- <div data-v-284427ba="" class="unnnic-alert__close-text unnnic--clickable">CLOSE</div>
10
- </div>"
4
+ "<transition-stub data-v-c3231c18="" name="toast-slide" appear="true" persisted="false" css="true" data-testid="toast-transition">
5
+ <aside data-v-c3231c18="" class="unnnic-toast unnnic-toast--success" role="status" aria-live="polite" data-testid="toast">
6
+ <section data-v-c3231c18="" class="unnnic-toast__content" data-testid="toast-content">
7
+ <header data-v-c3231c18="" class="unnnic-toast__header" data-testid="toast-header"><span data-v-26446d8e="" data-v-c3231c18="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--green-500 unnnic-icon-size--ant unnnic-icon__size--ant" data-testid="toast-type-icon" translate="no">check_circle</span>
8
+ <h3 data-v-c3231c18="" class="unnnic-toast__title" data-testid="toast-title">Test Alert</h3><span data-v-26446d8e="" data-v-c3231c18="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--neutral-dark unnnic-icon-size--ant unnnic-icon__size--ant unnnic--clickable unnnic-toast__close" data-testid="toast-close-icon" translate="no">close</span>
9
+ </header>
10
+ <!--v-if-->
11
+ </section>
12
+ <!--v-if-->
13
+ </aside>
14
+ </transition-stub>"
11
15
  `;
@@ -2,9 +2,9 @@
2
2
 
3
3
  exports[`AlertBanner.vue > matches the snapshot 1`] = `
4
4
  "<section data-v-e8e4d051="" class="banner-alert banner-alert--banner-danger">
5
- <header data-v-e8e4d051="" class="banner-alert__container-text"><span data-v-26446d8e="" data-v-e8e4d051="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--neutral-white unnnic-icon-size--sm unnnic-icon__size--sm banner-alert__textIcon" data-testid="material-icon" translate="no" data-test="unnnic-icon">block</span>
5
+ <header data-v-e8e4d051="" class="banner-alert__container-text"><span data-v-26446d8e="" data-v-e8e4d051="" class="material-symbols-rounded unnnic-icon-scheme--neutral-white unnnic-icon-size--sm banner-alert__textIcon" data-testid="material-icon" translate="no" data-test="unnnic-icon">block</span>
6
6
  <p data-v-e8e4d051="" class="text">This is a banner alert</p><a data-v-e8e4d051="" class="banner-alert__link" href="https://example.com" target="_self">Learn more</a>
7
7
  </header>
8
- <div data-v-e8e4d051="" class="banner-alert__close"><span data-v-26446d8e="" data-v-e8e4d051="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--neutral-white unnnic-icon-size--sm unnnic-icon__size--sm" data-testid="material-icon" translate="no" data-test="unnnic-close-icon">close</span></div>
8
+ <div data-v-e8e4d051="" class="banner-alert__close"><span data-v-26446d8e="" data-v-e8e4d051="" class="material-symbols-rounded unnnic-icon-scheme--neutral-white unnnic-icon-size--sm" data-testid="material-icon" translate="no" data-test="unnnic-close-icon">close</span></div>
9
9
  </section>"
10
10
  `;
@@ -4,7 +4,7 @@ exports[`Alert.vue > matches snapshot 1`] = `
4
4
  "<div data-v-fb94f284="" class="alert-container">
5
5
  <div data-v-fb94f284="" class="alert alert--scheme-aux-green">
6
6
  <div data-v-fb94f284="" class="alert__progress"></div>
7
- <div data-v-fb94f284="" class="alert__text">Test Alert</div><a data-v-fb94f284="" class="alert__link" href="https://example.com" target="_blank">Learn more</a>
7
+ <div data-v-fb94f284="" class="alert__text">Test Alert</div>
8
8
  <div data-v-fb94f284="" class="alert__close">
9
9
  <unnnic-icon-stub data-v-fb94f284="" filled="false" icon="close-1" clickable="false" size="sm" scheme="neutral-white"></unnnic-icon-stub>
10
10
  </div>