@capillarytech/creatives-library 8.0.259 → 8.0.260

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 (154) hide show
  1. package/assets/Android.png +0 -0
  2. package/assets/iOS.png +0 -0
  3. package/constants/unified.js +1 -2
  4. package/initialReducer.js +0 -2
  5. package/package.json +1 -1
  6. package/services/api.js +0 -10
  7. package/services/tests/api.test.js +0 -34
  8. package/translations/en.json +3 -4
  9. package/utils/common.js +0 -5
  10. package/utils/commonUtils.js +5 -28
  11. package/utils/tests/commonUtil.test.js +0 -224
  12. package/utils/transformTemplateConfig.js +10 -0
  13. package/v2Components/CapDeviceContent/index.js +56 -61
  14. package/v2Components/CapTagList/index.js +1 -6
  15. package/v2Components/CapTagListWithInput/index.js +1 -5
  16. package/v2Components/CapTagListWithInput/messages.js +1 -1
  17. package/v2Components/CapWhatsappCTA/tests/index.test.js +0 -5
  18. package/v2Components/ErrorInfoNote/index.js +72 -457
  19. package/v2Components/ErrorInfoNote/messages.js +6 -36
  20. package/v2Components/ErrorInfoNote/style.scss +6 -282
  21. package/v2Components/FormBuilder/tests/index.test.js +4 -13
  22. package/v2Components/HtmlEditor/HTMLEditor.js +94 -547
  23. package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +133 -1441
  24. package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +16 -27
  25. package/v2Components/HtmlEditor/_htmlEditor.scss +45 -108
  26. package/v2Components/HtmlEditor/_index.lazy.scss +1 -0
  27. package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +102 -23
  28. package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +140 -148
  29. package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +1 -2
  30. package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
  31. package/v2Components/HtmlEditor/components/EditorToolbar/_editorToolbar.scss +0 -9
  32. package/v2Components/HtmlEditor/components/EditorToolbar/index.js +4 -4
  33. package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +0 -22
  34. package/v2Components/HtmlEditor/components/InAppPreviewPane/DeviceFrame.js +7 -4
  35. package/v2Components/HtmlEditor/components/InAppPreviewPane/__tests__/DeviceFrame.test.js +45 -35
  36. package/v2Components/HtmlEditor/components/InAppPreviewPane/_inAppPreviewPane.scss +3 -1
  37. package/v2Components/HtmlEditor/components/InAppPreviewPane/constants.js +33 -33
  38. package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +6 -7
  39. package/v2Components/HtmlEditor/components/PreviewPane/_previewPane.scss +6 -3
  40. package/v2Components/HtmlEditor/components/PreviewPane/index.js +43 -22
  41. package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
  42. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +152 -0
  43. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/_validationErrorDisplay.scss +0 -1
  44. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +31 -49
  45. package/v2Components/HtmlEditor/components/ValidationPanel/_validationPanel.scss +34 -50
  46. package/v2Components/HtmlEditor/components/ValidationPanel/index.js +41 -70
  47. package/v2Components/HtmlEditor/constants.js +20 -42
  48. package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +16 -373
  49. package/v2Components/HtmlEditor/hooks/__tests__/useValidation.test.js +16 -120
  50. package/v2Components/HtmlEditor/hooks/useEditorContent.js +2 -5
  51. package/v2Components/HtmlEditor/hooks/useInAppContent.js +146 -88
  52. package/v2Components/HtmlEditor/hooks/useValidation.js +53 -189
  53. package/v2Components/HtmlEditor/index.js +1 -1
  54. package/v2Components/HtmlEditor/messages.js +94 -92
  55. package/v2Components/HtmlEditor/utils/__tests__/htmlValidator.enhanced.test.js +45 -94
  56. package/v2Components/HtmlEditor/utils/__tests__/validationAdapter.test.js +0 -134
  57. package/v2Components/HtmlEditor/utils/contentSanitizer.js +41 -40
  58. package/v2Components/HtmlEditor/utils/htmlValidator.js +72 -71
  59. package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +102 -134
  60. package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +25 -23
  61. package/v2Components/HtmlEditor/utils/validationAdapter.js +41 -66
  62. package/v2Components/MobilePushPreviewV2/index.js +7 -32
  63. package/v2Components/TemplatePreview/_templatePreview.scss +24 -55
  64. package/v2Components/TemplatePreview/index.js +32 -47
  65. package/v2Components/TemplatePreview/messages.js +0 -4
  66. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +0 -1
  67. package/v2Containers/BeeEditor/index.js +90 -172
  68. package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +3 -4
  69. package/v2Containers/CreativesContainer/SlideBoxContent.js +52 -128
  70. package/v2Containers/CreativesContainer/SlideBoxFooter.js +13 -163
  71. package/v2Containers/CreativesContainer/SlideBoxHeader.js +1 -2
  72. package/v2Containers/CreativesContainer/constants.js +0 -1
  73. package/v2Containers/CreativesContainer/index.js +46 -239
  74. package/v2Containers/CreativesContainer/messages.js +0 -8
  75. package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +2 -11
  76. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +50 -38
  77. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +0 -106
  78. package/v2Containers/Email/actions.js +0 -7
  79. package/v2Containers/Email/constants.js +1 -5
  80. package/v2Containers/Email/index.js +29 -234
  81. package/v2Containers/Email/messages.js +0 -32
  82. package/v2Containers/Email/reducer.js +1 -12
  83. package/v2Containers/Email/sagas.js +7 -61
  84. package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +0 -2
  85. package/v2Containers/Email/tests/reducer.test.js +0 -46
  86. package/v2Containers/Email/tests/sagas.test.js +29 -320
  87. package/v2Containers/EmailWrapper/components/EmailWrapperView.js +21 -211
  88. package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +74 -40
  89. package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +67 -2
  90. package/v2Containers/EmailWrapper/constants.js +0 -2
  91. package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +77 -629
  92. package/v2Containers/EmailWrapper/index.js +23 -103
  93. package/v2Containers/EmailWrapper/messages.js +1 -65
  94. package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +214 -0
  95. package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +77 -594
  96. package/v2Containers/InApp/actions.js +0 -7
  97. package/v2Containers/InApp/constants.js +4 -20
  98. package/v2Containers/InApp/index.js +359 -802
  99. package/v2Containers/InApp/index.scss +3 -4
  100. package/v2Containers/InApp/messages.js +3 -7
  101. package/v2Containers/InApp/reducer.js +3 -21
  102. package/v2Containers/InApp/sagas.js +9 -29
  103. package/v2Containers/InApp/selectors.js +5 -25
  104. package/v2Containers/InApp/tests/index.test.js +50 -154
  105. package/v2Containers/InApp/tests/reducer.test.js +0 -34
  106. package/v2Containers/InApp/tests/sagas.test.js +9 -61
  107. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +12 -39
  108. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +6 -10
  109. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +75 -102
  110. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +54 -81
  111. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +178 -262
  112. package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +12 -16
  113. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +36 -52
  114. package/v2Containers/TagList/index.js +19 -62
  115. package/v2Containers/Templates/_templates.scss +1 -60
  116. package/v2Containers/Templates/index.js +4 -89
  117. package/v2Containers/Templates/messages.js +0 -4
  118. package/v2Containers/WebPush/Create/messages.js +8 -0
  119. package/v2Containers/WebPush/Create/preview/PreviewControls.js +2 -2
  120. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +3 -1
  121. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +5 -1
  122. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +5 -1
  123. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +5 -1
  124. package/v2Containers/WebPush/Create/preview/preview.scss +7 -0
  125. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +734 -1306
  126. package/v2Components/ErrorInfoNote/constants.js +0 -1
  127. package/v2Components/HtmlEditor/__tests__/HTMLEditor.apiErrors.test.js +0 -874
  128. package/v2Components/HtmlEditor/components/ValidationPanel/constants.js +0 -6
  129. package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +0 -255
  130. package/v2Components/HtmlEditor/components/ValidationTabs/index.js +0 -364
  131. package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +0 -51
  132. package/v2Components/HtmlEditor/utils/validationConstants.js +0 -40
  133. package/v2Containers/BeePopupEditor/_beePopupEditor.scss +0 -14
  134. package/v2Containers/BeePopupEditor/constants.js +0 -10
  135. package/v2Containers/BeePopupEditor/index.js +0 -194
  136. package/v2Containers/BeePopupEditor/tests/index.test.js +0 -627
  137. package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +0 -1285
  138. package/v2Containers/EmailWrapper/components/__tests__/EmailHTMLEditor.test.js +0 -1880
  139. package/v2Containers/EmailWrapper/components/__tests__/EmailWrapperView.test.js +0 -520
  140. package/v2Containers/EmailWrapper/tests/useEmailWrapper.edgeCases.test.js +0 -643
  141. package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +0 -376
  142. package/v2Containers/InApp/__tests__/sagas.test.js +0 -363
  143. package/v2Containers/InApp/tests/selectors.test.js +0 -612
  144. package/v2Containers/InAppWrapper/components/InAppWrapperView.js +0 -151
  145. package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +0 -267
  146. package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +0 -23
  147. package/v2Containers/InAppWrapper/constants.js +0 -16
  148. package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +0 -473
  149. package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +0 -198
  150. package/v2Containers/InAppWrapper/index.js +0 -148
  151. package/v2Containers/InAppWrapper/messages.js +0 -49
  152. package/v2Containers/InappAdvance/index.js +0 -1099
  153. package/v2Containers/InappAdvance/index.scss +0 -10
  154. package/v2Containers/InappAdvance/tests/index.test.js +0 -448
@@ -1,260 +1,23 @@
1
1
  @import "~@capillarytech/cap-ui-library/styles/_variables.scss";
2
2
 
3
3
  .error-container {
4
- width: 100%;
4
+ width: max-content;
5
5
  margin-bottom: $CAP_SPACE_08;
6
- margin-top: -3.143rem;
6
+ margin-top: $CAP_SPACE_12;
7
7
  background-color: $CAP_COLOR_05;
8
8
  border-radius: $CAP_SPACE_04;
9
9
  padding: $CAP_SPACE_08 $CAP_SPACE_12 $CAP_SPACE_08 $CAP_SPACE_08;
10
+ gap: $CAP_SPACE_08;
10
11
  box-sizing: border-box;
11
-
12
- // New tabbed interface styles
13
- &--tabs {
14
- padding: 0.5rem 0.75rem;
15
- }
16
12
  }
17
13
 
18
- // Header with tabs and actions
19
- .error-info-note {
20
- &__header {
21
- display: flex;
22
- align-items: flex-start;
23
- justify-content: space-between;
24
- width: 100%;
25
- }
26
-
27
- &__tabs {
28
- flex: 1;
29
-
30
- // Override Ant Design Tabs styles
31
- .ant-tabs-nav {
32
- margin-bottom: 0;
33
-
34
- &::before {
35
- border-bottom: none;
36
- }
37
- }
38
-
39
- .ant-tabs-tab {
40
- padding: 0.5rem 0;
41
- margin-right: 1.5rem;
42
- color: $CAP_G03;
43
- font-size: 0.875rem;
44
- font-weight: $FONT_WEIGHT_MEDIUM;
45
-
46
- &:hover {
47
- color: $CAP_G01;
48
- }
49
-
50
- &.ant-tabs-tab-active {
51
- .ant-tabs-tab-btn {
52
- color: $CAP_G01;
53
- font-weight: 600;
54
- }
55
- }
56
- }
57
-
58
- .ant-tabs-ink-bar {
59
- background-color: $CAP_G01;
60
- height: 0.125rem;
61
- }
62
-
63
- .ant-tabs-content-holder {
64
- padding-top: 0.5rem;
65
- }
66
- }
67
-
68
- &__tab-label {
69
- display: flex;
70
- align-items: center;
71
- gap: 0.25rem;
72
- }
73
-
74
- &__tab-count {
75
- color: inherit;
76
- }
77
-
78
- &__actions {
79
- display: flex;
80
- align-items: center;
81
- gap: 0.5rem;
82
- flex-shrink: 0;
83
- padding-top: 0.5rem;
84
- }
85
-
86
- &__liquid-doc {
87
- display: flex;
88
- align-items: center;
89
- gap: 0.25rem;
90
- color: $CAP_BLUE;
91
- font-size: 0.875rem;
92
- font-weight: $FONT_WEIGHT_MEDIUM;
93
- background: transparent;
94
- border: none;
95
- cursor: pointer;
96
- padding: 0;
97
-
98
- &:hover {
99
- color: $CAP_BLUE01;
100
- }
101
-
102
- .cap-icon-v2 {
103
- margin-left: 0.25rem;
104
- }
105
- }
106
-
107
- &__close {
108
- display: flex;
109
- align-items: center;
110
- justify-content: center;
111
- width: 1.5rem;
112
- height: 1.5rem;
113
- padding: 0;
114
- background: transparent;
115
- border: none;
116
- border-radius: 0.25rem;
117
- cursor: pointer;
118
- color: $CAP_G03;
119
- transition: all 0.2s ease;
120
-
121
- &:hover {
122
- background-color: rgba($CAP_G01, 0.1);
123
- color: $CAP_G01;
124
- }
125
-
126
- .anticon {
127
- font-size: 0.875rem;
128
- }
129
- }
130
-
131
- &__content {
132
- max-height: 12.5rem;
133
- overflow-y: auto;
134
- padding-right: 0.25rem;
135
-
136
- // Custom scrollbar
137
- &::-webkit-scrollbar {
138
- width: 0.375rem;
139
- }
140
-
141
- &::-webkit-scrollbar-track {
142
- background: transparent;
143
- }
144
-
145
- &::-webkit-scrollbar-thumb {
146
- background-color: $CAP_G06;
147
- border-radius: 0.1875rem;
148
-
149
- &:hover {
150
- background-color: $CAP_G04;
151
- }
152
- }
153
- }
154
-
155
- &__item {
156
- display: flex;
157
- align-items: flex-start;
158
- gap: 0.5rem;
159
- padding: 0.375rem 0;
160
- border-bottom: 1px solid rgba($CAP_G06, 0.3);
161
-
162
- &:last-child {
163
- border-bottom: none;
164
- }
165
-
166
- &--error {
167
- .error-info-note__icon--error {
168
- color: $CAP_RED;
169
- }
170
- }
171
-
172
- &--warning {
173
- .error-info-note__icon--warning {
174
- color: $CAP_YELLOW;
175
- }
176
- }
177
- }
178
-
179
- &__item-icon {
180
- flex-shrink: 0;
181
- display: flex;
182
- align-items: center;
183
- padding-top: 0.125rem;
184
- }
185
-
186
- &__icon {
187
- font-size: 0.875rem;
188
-
189
- &--error {
190
- color: $CAP_RED;
191
- }
192
-
193
- &--warning {
194
- color: $CAP_YELLOW;
195
- }
196
- }
197
-
198
- &__item-content {
199
- flex: 1;
200
- display: flex;
201
- flex-wrap: wrap;
202
- align-items: baseline;
203
- gap: 0.25rem;
204
- font-size: 0.75rem;
205
- line-height: 2;
206
- color: $CAP_G01;
207
- }
208
-
209
- &__item-message {
210
- color: $CAP_G01;
211
- }
212
-
213
- &__item-location {
214
- color: $CAP_G03;
215
- white-space: nowrap;
216
- }
217
-
218
- &__item-rule {
219
- color: $CAP_G04;
220
- font-family: monospace;
221
- font-size: 0.6875rem;
222
- }
223
-
224
- &__item-navigate {
225
- flex-shrink: 0;
226
- display: flex;
227
- align-items: center;
228
- justify-content: center;
229
- width: 1.25rem;
230
- height: 1.25rem;
231
- padding: 0;
232
- background: transparent;
233
- border: none;
234
- border-radius: 0.25rem;
235
- cursor: pointer;
236
- color: $CAP_G04;
237
- transition: all 0.2s ease;
238
-
239
- &:hover {
240
- background-color: rgba($CAP_G01, 0.1);
241
- color: $CAP_G01;
242
- }
243
-
244
- .anticon {
245
- font-size: 0.75rem;
246
- }
247
- }
248
- }
249
-
250
- // Legacy styles (kept for backwards compatibility)
251
14
  .error-header {
252
15
  width: 100%;
253
16
  height: $CAP_SPACE_32;
254
17
  display: inline-flex;
255
18
  align-items: center;
256
19
  justify-content: space-between;
257
- font-weight: $FONT_WEIGHT_MEDIUM;
20
+ font-weight: 500;
258
21
 
259
22
  .ant-btn.cap-button-v2.flat-btn {
260
23
  display: flex;
@@ -297,25 +60,6 @@
297
60
  }
298
61
  }
299
62
 
300
- // Legacy error list for platform-specific errors
301
- .error-list-legacy {
302
- max-height: 10rem;
303
- overflow-y: auto;
304
- padding: 0;
305
-
306
- &__item {
307
- padding: $CAP_SPACE_04 0;
308
- }
309
-
310
- .cap-list-v2-error-item {
311
- color: $CAP_G01;
312
- font-size: $CAP_SPACE_12;
313
- display: flex;
314
- margin-left: $CAP_SPACE_04;
315
- gap: $CAP_SPACE_04;
316
- }
317
- }
318
-
319
63
  .liquid-divider {
320
64
  &.ant-divider.cap-divider-v2 {
321
65
  background: $FONT_COLOR_04;
@@ -338,25 +82,5 @@
338
82
 
339
83
  .error-header-sub-title {
340
84
  margin-left: $CAP_SPACE_04;
341
- font-weight: $FONT_WEIGHT_MEDIUM;
342
- }
343
-
344
- // Responsive adjustments
345
- @media (max-width: 768px) {
346
- .error-info-note {
347
- &__tabs {
348
- .ant-tabs-tab {
349
- margin-right: 1rem;
350
- font-size: 0.8125rem;
351
- }
352
- }
353
-
354
- &__content {
355
- max-height: 10rem;
356
- }
357
-
358
- &__item-content {
359
- font-size: 0.6875rem;
360
- }
361
- }
362
- }
85
+ font-weight: 500;
86
+ }
@@ -10,8 +10,7 @@ import {
10
10
  render,
11
11
  screen,
12
12
  fireEvent,
13
- waitFor,
14
- act
13
+ waitFor
15
14
  } from '../../../utils/test-utils';
16
15
  import { mockData } from './mockData';
17
16
 
@@ -36,17 +35,9 @@ describe("test for checkbox form builder",() => {
36
35
  it("add action button to notification disabled in ios", async () => {
37
36
  const addNotifBtn=screen.getByLabelText("Add action buttons to notification")
38
37
  expect(addNotifBtn).toBeDisabled();
39
- // Use mouseEnter instead of mouseOver for tooltip, and wait longer for tooltip to appear
40
- // Tooltips typically have a delay and are rendered in a portal, so we need to wait for them to appear
41
- await act(async () => {
42
- fireEvent.mouseEnter(addNotifBtn);
43
- // Also trigger mouseOver as some tooltip implementations use both
44
- fireEvent.mouseOver(addNotifBtn);
45
- });
46
- // Wait for tooltip to appear - it might be in a portal, so query document body
38
+ fireEvent.mouseOver(addNotifBtn);
47
39
  await waitFor(() => {
48
- const tooltip = screen.getByText("This section is being revamped. Till then it will remain disabled.");
49
- expect(tooltip).toBeInTheDocument();
50
- }, { timeout: 3000 });
40
+ expect(screen.getByText("This section is being revamped. Till then it will remain disabled.")).toBeInTheDocument();
41
+ })
51
42
  })
52
43
  })