@weni/unnnic-system 3.3.1-alpha.3 → 3.3.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 (203) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/dist/components/Accordion/Accordion.vue.d.ts +1 -1
  3. package/dist/components/Alert/Alert.vue.d.ts +119 -18
  4. package/dist/components/Alert/Alert.vue.d.ts.map +1 -1
  5. package/dist/components/Alert/Version1dot1.vue.d.ts +38 -2
  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 +8 -8
  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 +15 -15
  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 +3 -3
  49. package/dist/components/Comment/Comment.vue.d.ts +1 -1
  50. package/dist/components/DataArea/DataArea.vue.d.ts +2 -2
  51. package/dist/components/DataTable/index.vue.d.ts +1 -1
  52. package/dist/components/DataTable/index.vue.d.ts.map +1 -1
  53. package/dist/components/DateFilter/DateFilter.vue.d.ts +29 -176
  54. package/dist/components/DatePicker/DatePicker.vue.d.ts +8 -8
  55. package/dist/components/Drawer/Drawer.vue.d.ts +7 -7
  56. package/dist/components/Dropdown/Dropdown.vue.d.ts +1 -1
  57. package/dist/components/Dropdown/LanguageSelect.vue.d.ts +3 -3
  58. package/dist/components/Flag.vue.d.ts +2 -2
  59. package/dist/components/FormElement/FormElement.vue.d.ts +32 -38
  60. package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
  61. package/dist/components/Icon.vue.d.ts +1 -1
  62. package/dist/components/IconLoading/IconLoading.vue.d.ts +1 -1
  63. package/dist/components/ImportCard/ImportCard.vue.d.ts +7 -7
  64. package/dist/components/Input/BaseInput.vue.d.ts +1 -32
  65. package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
  66. package/dist/components/Input/Input.vue.d.ts +29 -176
  67. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  68. package/dist/components/Input/TextInput.vue.d.ts +14 -83
  69. package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
  70. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +39 -186
  71. package/dist/components/InputNext/InputNext.vue.d.ts +4 -4
  72. package/dist/components/Label/Label.vue.d.ts +15 -9
  73. package/dist/components/Label/Label.vue.d.ts.map +1 -1
  74. package/dist/components/Modal/Modal.vue.d.ts +2 -2
  75. package/dist/components/ModalDialog/ModalDialog.vue.d.ts +9 -9
  76. package/dist/components/ModalDialog/ModalDialog.vue.d.ts.map +1 -1
  77. package/dist/components/ModalNext/ModalNext.vue.d.ts +37 -184
  78. package/dist/components/ModalUpload/ModalUpload.vue.d.ts +14 -14
  79. package/dist/components/MoodRating/MoodRating.vue.d.ts +1 -1
  80. package/dist/components/MultiSelect/MultiSelect.vue.d.ts +14 -20
  81. package/dist/components/Pagination/Pagination.vue.d.ts +6 -6
  82. package/dist/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
  83. package/dist/components/Radio/Radio.vue.d.ts +6 -8
  84. package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
  85. package/dist/components/SelectSmart/SelectSmart.vue.d.ts +28 -97
  86. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +8 -8
  87. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +4 -4
  88. package/dist/components/SelectTime/index.vue.d.ts +14 -83
  89. package/dist/components/SkeletonLoading/skeletonTheme.vue.d.ts +1 -1
  90. package/dist/components/Slider/Slider.vue.d.ts +2 -2
  91. package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
  92. package/dist/components/Switch/Switch.vue.d.ts +2 -2
  93. package/dist/components/Tab/Tab.vue.d.ts +2 -13
  94. package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
  95. package/dist/components/TableNext/TablePagination.vue.d.ts +6 -6
  96. package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
  97. package/dist/components/Tag/BrandTag.vue.d.ts +2 -2
  98. package/dist/components/Tag/DefaultTag.vue.d.ts +2 -2
  99. package/dist/components/Tag/IndicatorTag.vue.d.ts +2 -2
  100. package/dist/components/Tag/Tag.vue.d.ts +8 -8
  101. package/dist/components/TextArea/TextArea.vue.d.ts +32 -38
  102. package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
  103. package/dist/components/ToolTip/ToolTip.vue.d.ts +1 -1
  104. package/dist/components/Tour/Tour.vue.d.ts +6 -6
  105. package/dist/components/Tour/TourPopover.vue.d.ts +6 -6
  106. package/dist/components/UploadArea/UploadArea.vue.d.ts +7 -7
  107. package/dist/components/index.d.ts +1110 -2132
  108. package/dist/components/index.d.ts.map +1 -1
  109. package/dist/{es-94ab560e.mjs → es-54ddaf5a.mjs} +1 -1
  110. package/dist/{index-5caf403e.mjs → index-a34da30f.mjs} +8094 -8447
  111. package/dist/locales/en.json.d.ts +1 -2
  112. package/dist/locales/es.json.d.ts +1 -2
  113. package/dist/locales/pt_br.json.d.ts +1 -2
  114. package/dist/{pt-br-3002df05.mjs → pt-br-ff00f945.mjs} +1 -1
  115. package/dist/style.css +1 -1
  116. package/dist/unnnic.mjs +120 -126
  117. package/dist/unnnic.umd.js +41 -42
  118. package/dist/utils/call.d.ts +1 -2
  119. package/dist/utils/call.d.ts.map +1 -1
  120. package/package.json +2 -2
  121. package/src/assets/scss/scheme-colors.scss +238 -115
  122. package/src/components/Alert/Alert.vue +135 -26
  123. package/src/components/Alert/AlertBanner.vue +182 -0
  124. package/src/components/Alert/AlertCaller.vue +49 -0
  125. package/src/components/Alert/Version1dot1.vue +36 -0
  126. package/src/components/Alert/__tests__/AlertBanner.spec.js +89 -0
  127. package/src/components/Alert/__tests__/AlertCaller.spec.js +98 -0
  128. package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +7 -11
  129. package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +2 -2
  130. package/src/components/Button/Button.vue +108 -60
  131. package/src/components/Button/types.ts +1 -0
  132. package/src/components/FormElement/FormElement.vue +91 -51
  133. package/src/components/Input/BaseInput.vue +14 -31
  134. package/src/components/Input/Input.scss +21 -19
  135. package/src/components/Input/Input.vue +30 -94
  136. package/src/components/Input/TextInput.vue +58 -82
  137. package/src/components/Input/__test__/TextInput.spec.js +5 -5
  138. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +3 -16
  139. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +1 -7
  140. package/src/components/Label/Label.vue +21 -52
  141. package/src/components/Label/__tests__/Label.spec.js +1 -1
  142. package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  143. package/src/components/ModalDialog/ModalDialog.vue +0 -1
  144. package/src/components/ModalDialog/__tests__/__snapshots__/ModalDialog.spec.js.snap +1 -1
  145. package/src/components/Radio/Radio.vue +67 -80
  146. package/src/components/Radio/__test__/Radio.spec.js +20 -14
  147. package/src/components/Radio/__test__/__snapshots__/Radio.spec.js.snap +3 -3
  148. package/src/components/Tab/Tab.vue +23 -37
  149. package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +1 -1
  150. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
  151. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
  152. package/src/components/TextArea/TextArea.vue +9 -13
  153. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +2 -7
  154. package/src/components/index.ts +4 -18
  155. package/src/locales/en.json +1 -2
  156. package/src/locales/es.json +1 -2
  157. package/src/locales/pt_br.json +1 -2
  158. package/src/stories/Alert.stories.js +67 -6
  159. package/src/stories/Button.stories.js +17 -2
  160. package/src/stories/Input.stories.js +3 -22
  161. package/src/stories/Label.stories.js +0 -7
  162. package/src/stories/Tab.stories.js +4 -11
  163. package/src/types/scheme-colors.d.ts +0 -1
  164. package/src/utils/call.js +18 -46
  165. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts +0 -9
  166. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts.map +0 -1
  167. package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts +0 -15
  168. package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts.map +0 -1
  169. package/dist/components/Toast/Toast.vue.d.ts +0 -16
  170. package/dist/components/Toast/Toast.vue.d.ts.map +0 -1
  171. package/dist/components/Toast/ToastManager.d.ts +0 -14
  172. package/dist/components/Toast/ToastManager.d.ts.map +0 -1
  173. package/dist/components/Toast/types.d.ts +0 -35
  174. package/dist/components/Toast/types.d.ts.map +0 -1
  175. package/src/assets/icons/radio-checked.svg +0 -3
  176. package/src/assets/img/previews/doc-preview.png +0 -0
  177. package/src/assets/img/previews/image-preview.png +0 -0
  178. package/src/assets/img/previews/video-preview.png +0 -0
  179. package/src/components/Popover/__tests__/Popover.spec.js +0 -147
  180. package/src/components/Popover/__tests__/__snapshots__/Popover.spec.js.snap +0 -8
  181. package/src/components/Popover/index.vue +0 -146
  182. package/src/components/RadioGroup/RadioGroup.vue +0 -110
  183. package/src/components/Select/SelectOption.vue +0 -65
  184. package/src/components/Select/__tests__/Select.spec.js +0 -412
  185. package/src/components/Select/__tests__/SelectItem.spec.js +0 -330
  186. package/src/components/Select/__tests__/SelectOption.spec.js +0 -174
  187. package/src/components/Select/__tests__/__snapshots__/Select.spec.js.snap +0 -97
  188. package/src/components/Select/__tests__/__snapshots__/SelectItem.spec.js.snap +0 -15
  189. package/src/components/Select/__tests__/__snapshots__/SelectOption.spec.js.snap +0 -25
  190. package/src/components/Select/index.vue +0 -245
  191. package/src/components/TemplatePreview/TemplatePreview.vue +0 -252
  192. package/src/components/TemplatePreview/TemplatePreviewModal.vue +0 -51
  193. package/src/components/TemplatePreview/types.d.ts +0 -16
  194. package/src/components/Toast/Toast.vue +0 -236
  195. package/src/components/Toast/ToastManager.ts +0 -110
  196. package/src/components/Toast/types.ts +0 -57
  197. package/src/stories/Popover.stories.js +0 -39
  198. package/src/stories/RadioGroup.stories.js +0 -139
  199. package/src/stories/Select.stories.js +0 -158
  200. package/src/stories/TemplatePreview.stories.js +0 -94
  201. package/src/stories/TemplatePreviewModal.stories.js +0 -110
  202. package/src/stories/Toast.mdx +0 -123
  203. package/src/stories/Toast.stories.js +0 -126
@@ -1,5 +1,7 @@
1
+ import AlertCaller from '../components/Alert/AlertCaller.vue';
1
2
  import alert from '../utils/call';
2
3
  import UnnnicAlert from '../components/Alert/Alert.vue';
4
+ import AlertBanner from '../components/Alert/AlertBanner.vue';
3
5
 
4
6
  export default {
5
7
  title: 'Feedback/Alert',
@@ -18,6 +20,9 @@ export default {
18
20
  args: {
19
21
  type: 'default',
20
22
  text: 'Text',
23
+ linkHref: '',
24
+ linkText: '',
25
+ linkTarget: '',
21
26
  },
22
27
  argTypes: {
23
28
  type: {
@@ -32,15 +37,42 @@ export default {
32
37
  type: 'text',
33
38
  },
34
39
  },
35
- version: {
40
+
41
+ linkHref: {
36
42
  control: {
37
- type: 'select',
43
+ type: 'text',
44
+ },
45
+ },
46
+
47
+ linkText: {
48
+ control: {
49
+ type: 'text',
50
+ },
51
+ },
52
+
53
+ linkTarget: {
54
+ control: {
55
+ type: 'text',
38
56
  },
39
- options: ['1.1', '2.0'],
57
+ },
58
+ position: {
59
+ if: { arg: 'version' },
60
+ },
61
+ version: {
62
+ control: false,
40
63
  },
41
64
  title: {
42
65
  if: { arg: 'version' },
43
66
  },
67
+ icon: {
68
+ if: { arg: 'version' },
69
+ },
70
+ closeText: {
71
+ if: { arg: 'version' },
72
+ },
73
+ scheme: {
74
+ if: { arg: 'version' },
75
+ },
44
76
  },
45
77
  };
46
78
 
@@ -63,7 +95,7 @@ export const Normal = {
63
95
  },
64
96
  },
65
97
  render: (args) => ({
66
- components: { UnnnicAlert },
98
+ components: { AlertCaller, UnnnicAlert },
67
99
  setup() {
68
100
  return { args };
69
101
  },
@@ -85,7 +117,7 @@ export const Normal = {
85
117
 
86
118
  export const InlineComponent = {
87
119
  render: (args) => ({
88
- components: { UnnnicAlert },
120
+ components: { AlertCaller, UnnnicAlert },
89
121
  setup() {
90
122
  return { args };
91
123
  },
@@ -134,7 +166,7 @@ export const WithContainerRef = {
134
166
  },
135
167
  },
136
168
  render: (args) => ({
137
- components: { UnnnicAlert },
169
+ components: { AlertCaller, UnnnicAlert },
138
170
  setup() {
139
171
  return { args };
140
172
  },
@@ -158,3 +190,32 @@ export const WithContainerRef = {
158
190
  scheme: 'feedback-green',
159
191
  },
160
192
  };
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 5 types: Primary, Secondary, Tertiary, Warning, Attention.
11
+ It is divided into 6 types: Primary, Secondary, Tertiary, Alternative, Warning, Attention.
12
12
  Each of these types has its states.
13
13
  <br/>
14
14
  <br/>
@@ -36,7 +36,14 @@ export default {
36
36
  argTypes: {
37
37
  type: {
38
38
  control: { type: 'select' },
39
- options: ['primary', 'secondary', 'tertiary', 'warning', 'attention'],
39
+ options: [
40
+ 'primary',
41
+ 'secondary',
42
+ 'tertiary',
43
+ 'alternative',
44
+ 'warning',
45
+ 'attention',
46
+ ],
40
47
  },
41
48
  size: {
42
49
  control: { type: 'select' },
@@ -107,6 +114,14 @@ export const OnlyIcon = {
107
114
  },
108
115
  };
109
116
 
117
+ export const Alternative = {
118
+ args: {
119
+ type: 'alternative',
120
+ iconLeft: 'add',
121
+ text: 'Text',
122
+ },
123
+ };
124
+
110
125
  export const Warning = {
111
126
  parameters: {
112
127
  docs: {
@@ -35,7 +35,9 @@ export default {
35
35
  },
36
36
  },
37
37
  template: `
38
- <unnnic-input v-model="value" @icon-right-click="click" v-bind="args" label="Label" />
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>
39
41
  `,
40
42
  }),
41
43
  };
@@ -94,11 +96,6 @@ export const Normal = {
94
96
  args: {
95
97
  type: 'normal',
96
98
  placeholder: 'Placeholder',
97
- showClear: true,
98
- iconLeft: 'expand-8-1',
99
- iconRight: 'messaging-we-chat-3',
100
- iconLeftClickable: true,
101
- iconRightClickable: false,
102
99
  },
103
100
  };
104
101
 
@@ -107,7 +104,6 @@ export const NormalSm = {
107
104
  size: 'sm',
108
105
  type: 'normal',
109
106
  placeholder: 'Placeholder',
110
- showClear: true,
111
107
  },
112
108
  };
113
109
 
@@ -161,18 +157,3 @@ export const Mask = {
161
157
  mask: ['###.###.###-##', '##.###.###/####-##'],
162
158
  },
163
159
  };
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,10 +13,3 @@ 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
- };
@@ -3,6 +3,9 @@ import unnnicTab from '../components/Tab/Tab.vue';
3
3
  export default {
4
4
  title: 'tabs/Tab',
5
5
  component: unnnicTab,
6
+ argTypes: {
7
+ size: { control: { type: 'select', options: ['md', 'sm'] } },
8
+ },
6
9
  render: (args) => ({
7
10
  components: {
8
11
  unnnicTab,
@@ -33,15 +36,6 @@ export default {
33
36
  Second description
34
37
  </p>
35
38
  </template>
36
- <template #tab-head-third>
37
- Third
38
- </template>
39
- <template #tab-panel-third>
40
- <h2 class="title">Third Content</h2>
41
- <p class="description">
42
- Third description
43
- </p>
44
- </template>
45
39
  </unnnic-tab>
46
40
  `,
47
41
  }),
@@ -50,7 +44,6 @@ export default {
50
44
  export const Default = {
51
45
  args: {
52
46
  initialTab: 'first',
53
- tabs: ['first', 'second', 'third'],
54
- disabledTabs: ['third'],
47
+ tabs: ['first', 'second'],
55
48
  },
56
49
  };
@@ -140,7 +140,6 @@ export type SchemeColor =
140
140
  | 'feedback-yellow'
141
141
  | 'feedback-blue'
142
142
  | 'feedback-grey'
143
- | 'fg-base'
144
143
  | 'aux-blue'
145
144
  | 'aux-purple'
146
145
  | 'aux-orange'
package/src/utils/call.js CHANGED
@@ -1,58 +1,30 @@
1
1
  import { createApp } from 'vue';
2
2
  import Alert from '../components/Alert/Alert.vue';
3
3
  import Modal from '../components/Modal/Modal.vue';
4
- import ToastInstance from '../components/Toast/ToastManager';
5
4
  import mitt from 'mitt';
6
5
 
7
6
  const emitter = mitt();
8
- const callAlert = ({ props, containerRef, seconds }) => {
9
- if (props.version === '1.1' || containerRef) {
10
- const AlertComponent = createApp(Alert, {
11
- ...props,
12
- seconds,
13
- version: '1.1',
14
- onClose: () => {
7
+
8
+ const callAlert = ({ props, containerRef }) => {
9
+ const AlertComponent = createApp(Alert, {
10
+ ...props,
11
+ onClose: () => {
12
+ instance.$el.remove();
13
+ },
14
+ created() {
15
+ emitter.on(['close'], () => {
15
16
  instance.$el.remove();
16
- },
17
- created() {
18
- emitter.on(['close'], () => {
19
- instance.$el.remove();
20
- });
21
- },
22
- });
23
- const element = document.createElement('div');
24
- const instance = AlertComponent.mount(element);
17
+ });
18
+ },
19
+ });
20
+ const element = document.createElement('div');
21
+ const instance = AlertComponent.mount(element);
25
22
 
26
- if (containerRef) {
27
- instance.$el.style.position = 'absolute';
28
- containerRef.appendChild(instance.$el);
29
- } else {
30
- document.body.appendChild(instance.$el);
31
- }
23
+ if (containerRef) {
24
+ instance.$el.style.position = 'absolute';
25
+ containerRef.appendChild(instance.$el);
32
26
  } else {
33
- const typeMap = {
34
- success: 'success',
35
- error: 'error',
36
- attention: 'attention',
37
- default: 'informational',
38
- 'feedback-green': 'success',
39
- 'feedback-red': 'error',
40
- };
41
-
42
- const toastProps = {
43
- timeout: seconds ? seconds * 1000 : 5000,
44
- type: typeMap[props.scheme || props.type] || typeMap.default,
45
-
46
- onClose: () => {
47
- emitter.emit(['close']);
48
- },
49
- };
50
-
51
- ToastInstance.show({
52
- title: props.text,
53
- description: '',
54
- ...toastProps,
55
- });
27
+ document.body.appendChild(instance.$el);
56
28
  }
57
29
  };
58
30
 
@@ -1,9 +0,0 @@
1
- import { Template } from './types';
2
- interface Props {
3
- template?: Template | null;
4
- }
5
- declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
6
- template: Template | null;
7
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
8
- export default _default;
9
- //# sourceMappingURL=TemplatePreview.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TemplatePreview.vue.d.ts","sourceRoot":"","sources":["../../../src/components/TemplatePreview/TemplatePreview.vue"],"names":[],"mappings":"AAmGA;AAgQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQxC,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC5B;;cADY,QAAQ,GAAG,IAAI;;AAkN5B,wBAQG"}
@@ -1,15 +0,0 @@
1
- import { Template } from './types';
2
- interface Props {
3
- locale?: string;
4
- template: Template;
5
- modelValue: boolean;
6
- }
7
- declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
- close: () => any;
9
- }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
10
- onClose?: (() => any) | undefined;
11
- }>, {
12
- locale: string;
13
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
- export default _default;
15
- //# sourceMappingURL=TemplatePreviewModal.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TemplatePreviewModal.vue.d.ts","sourceRoot":"","sources":["../../../src/components/TemplatePreview/TemplatePreviewModal.vue"],"names":[],"mappings":"AAWA;AAwDA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAUxC,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB;;;;;;YAHU,MAAM;;AAgGjB,wBASG"}
@@ -1,16 +0,0 @@
1
- import { ToastProps } from './types';
2
- declare const _default: import('vue').DefineComponent<ToastProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
3
- close: () => any;
4
- destroy: () => any;
5
- }, string, import('vue').PublicProps, Readonly<ToastProps> & Readonly<{
6
- onClose?: (() => any) | undefined;
7
- onDestroy?: (() => any) | undefined;
8
- }>, {
9
- type: import('./types').ToastType;
10
- description: string;
11
- button: import('./types').ToastButton;
12
- title: string;
13
- timeout: number;
14
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
- export default _default;
16
- //# sourceMappingURL=Toast.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Toast.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/Toast.vue"],"names":[],"mappings":"AA4DA;AAmPA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;;;;;;;;;;;;;;AAmQtD,wBASG"}
@@ -1,14 +0,0 @@
1
- import { ToastProps, ToastInstance, ToastCall } from './types';
2
- declare class ToastManager implements ToastManager {
3
- private toasts;
4
- private container;
5
- private nextId;
6
- private createContainer;
7
- private generateId;
8
- show(props: ToastProps): ToastInstance;
9
- close(id: string): void;
10
- }
11
- declare const toastManager: ToastManager;
12
- export declare const toast: ToastCall;
13
- export default toastManager;
14
- //# sourceMappingURL=ToastManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToastManager.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/ToastManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EAEb,SAAS,EACV,MAAM,SAAS,CAAC;AAEjB,cAAM,YAAa,YAAW,YAAY;IACxC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,MAAM,CAAK;IAEnB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,UAAU;IAIlB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa;IAsCtC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAMxB;AAED,QAAA,MAAM,YAAY,cAAqB,CAAC;AAExC,eAAO,MAAM,KAAK,EAAE,SA6BnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,35 +0,0 @@
1
- export interface ToastManager {
2
- show: (props: ToastProps) => ToastInstance;
3
- close: (id: string) => void;
4
- }
5
- export interface ToastButton {
6
- text: string;
7
- action: () => void;
8
- }
9
- export type ToastType = 'informational' | 'attention' | 'success' | 'error';
10
- export interface ToastProps extends ToastOptions {
11
- title: string;
12
- description?: string;
13
- }
14
- export interface ToastOptions {
15
- type?: ToastType;
16
- button?: ToastButton;
17
- timeout?: number;
18
- }
19
- export interface ToastEmits {
20
- close: [];
21
- destroy: [];
22
- }
23
- export interface ToastInstance {
24
- id: string;
25
- props: ToastProps;
26
- close: () => void;
27
- promise: Promise<void>;
28
- }
29
- export interface ToastCall {
30
- info: (title: string, description?: string, options?: ToastOptions) => Promise<void>;
31
- success: (title: string, description?: string, options?: ToastOptions) => Promise<void>;
32
- attention: (title: string, description?: string, options?: ToastOptions) => Promise<void>;
33
- error: (title: string, description?: string, options?: ToastOptions) => Promise<void>;
34
- }
35
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Toast/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,aAAa,CAAC;IAC3C,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,EAAE,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,CACJ,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,YAAY,KACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,EAAE,CACP,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,YAAY,KACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,YAAY,KACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,KAAK,EAAE,CACL,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,YAAY,KACnB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB"}
@@ -1,3 +0,0 @@
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>
@@ -1,147 +0,0 @@
1
- import { mount } from '@vue/test-utils';
2
- import { beforeEach, describe, expect, afterEach, test, vi } from 'vitest';
3
- import UnnnicPopover from '@/components/Popover/index.vue';
4
-
5
- vi.mock('@vueuse/core', () => ({
6
- onClickOutside: vi.fn(),
7
- useResizeObserver: vi.fn(),
8
- }));
9
-
10
- describe('UnnnicPopover.vue', () => {
11
- let wrapper;
12
-
13
- const defaultSlots = {
14
- trigger: '<button data-testid="trigger-button">Click me</button>',
15
- content: '<div data-testid="popover-content">Popover content</div>',
16
- };
17
-
18
- const mountWrapper = (props) => {
19
- return mount(UnnnicPopover, {
20
- slots: defaultSlots,
21
- props: {
22
- ...props,
23
- },
24
- });
25
- };
26
-
27
- beforeEach(() => {
28
- wrapper = mountWrapper();
29
- });
30
-
31
- afterEach(() => {
32
- wrapper?.unmount();
33
- });
34
-
35
- test('renders correctly', () => {
36
- expect(wrapper.exists()).toBe(true);
37
- expect(wrapper.find('.unnnic-popover').exists()).toBe(true);
38
- });
39
-
40
- test('renders trigger slot', () => {
41
- const trigger = wrapper.find('[data-testid="popover-trigger"]');
42
- const triggerButton = wrapper.find('[data-testid="trigger-button"]');
43
-
44
- expect(trigger.exists()).toBe(true);
45
- expect(triggerButton.exists()).toBe(true);
46
- expect(triggerButton.text()).toBe('Click me');
47
- });
48
-
49
- test('renders content slot inside balloon', async () => {
50
- wrapper.vm.open = true;
51
- await wrapper.vm.$nextTick();
52
- const balloon = wrapper.find('[data-testid="popover-balloon"]');
53
- const content = wrapper.find('[data-testid="popover-content"]');
54
-
55
- expect(balloon.exists()).toBe(true);
56
- expect(content.exists()).toBe(true);
57
- expect(content.text()).toBe('Popover content');
58
- });
59
-
60
- test('balloon is hidden by default', () => {
61
- const balloon = wrapper.find('[data-testid="popover-balloon"]');
62
- expect(balloon.exists()).toBe(false);
63
- });
64
-
65
- test('toggles balloon visibility when trigger is clicked', async () => {
66
- const trigger = wrapper.find('[data-testid="popover-trigger"]');
67
-
68
- let balloon = wrapper.find('[data-testid="popover-balloon"]');
69
-
70
- expect(balloon.exists()).toBe(false);
71
-
72
- await trigger.trigger('click');
73
- await wrapper.vm.$nextTick();
74
-
75
- balloon = wrapper.find('[data-testid="popover-balloon"]');
76
-
77
- expect(balloon.exists()).toBe(true);
78
- });
79
-
80
- test('uses modelValue when provided', async () => {
81
- const wrapper = mountWrapper({ modelValue: true });
82
- const balloon = wrapper.find('[data-testid="popover-balloon"]');
83
- expect(balloon.isVisible()).toBe(true);
84
- });
85
-
86
- test('emits update:modelValue when open state changes', async () => {
87
- await wrapper.setProps({ modelValue: false });
88
-
89
- const trigger = wrapper.find('[data-testid="popover-trigger"]');
90
- await trigger.trigger('click');
91
-
92
- expect(wrapper.emitted('update:modelValue')).toBeTruthy();
93
- expect(wrapper.emitted('update:modelValue')[0]).toEqual([true]);
94
- });
95
-
96
- test('does not emit update:modelValue when modelValue is undefined', async () => {
97
- const trigger = wrapper.find('[data-testid="popover-trigger"]');
98
- await trigger.trigger('click');
99
-
100
- expect(wrapper.emitted('update:modelValue')).toBeFalsy();
101
- });
102
-
103
- test('exposes open ref', () => {
104
- expect(wrapper.vm.open).toBeDefined();
105
- expect(typeof wrapper.vm.open).toBe('boolean');
106
- });
107
-
108
- test('open ref can be controlled programmatically', async () => {
109
- wrapper.vm.open = true;
110
- await wrapper.vm.$nextTick();
111
-
112
- const balloon = wrapper.find('[data-testid="popover-balloon"]');
113
- expect(balloon.isVisible()).toBe(true);
114
- });
115
-
116
- test('persistent prop prevents closing on outside click', async () => {
117
- await wrapper.setProps({ persistent: true });
118
-
119
- const { onClickOutside } = await import('@vueuse/core');
120
- const mockOnClickOutside = vi.mocked(onClickOutside);
121
-
122
- const callback = mockOnClickOutside.mock.calls[0][1];
123
-
124
- wrapper.vm.open = true;
125
- await wrapper.vm.$nextTick();
126
-
127
- callback();
128
-
129
- const balloon = wrapper.find('[data-testid="popover-balloon"]');
130
- expect(balloon.isVisible()).toBe(true);
131
- });
132
-
133
- test('applies correct CSS classes', async () => {
134
- wrapper.vm.open = true;
135
- await wrapper.vm.$nextTick();
136
-
137
- const popover = wrapper.find('.unnnic-popover');
138
- const balloon = wrapper.find('.unnnic-popover__balloon');
139
-
140
- expect(popover.exists()).toBe(true);
141
- expect(balloon.exists()).toBe(true);
142
- });
143
-
144
- test('matches the snapshot', () => {
145
- expect(wrapper.html()).toMatchSnapshot();
146
- });
147
- });
@@ -1,8 +0,0 @@
1
- // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
-
3
- exports[`UnnnicPopover.vue > matches the snapshot 1`] = `
4
- "<section data-v-5a3125ac="" class="unnnic-popover">
5
- <div data-v-5a3125ac="" class="unnnic-popover__trigger" data-testid="popover-trigger"><button data-testid="trigger-button">Click me</button></div>
6
- <!--v-if-->
7
- </section>"
8
- `;