@capillarytech/creatives-library 8.0.266 → 8.0.267

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 (147) hide show
  1. package/constants/unified.js +0 -1
  2. package/package.json +1 -1
  3. package/services/api.js +0 -5
  4. package/utils/common.js +0 -6
  5. package/utils/tests/transformerUtils.test.js +0 -297
  6. package/utils/transformerUtils.js +0 -40
  7. package/v2Components/CapImageUpload/constants.js +0 -2
  8. package/v2Components/CapImageUpload/index.js +16 -65
  9. package/v2Components/CapImageUpload/index.scss +1 -4
  10. package/v2Components/CapImageUpload/messages.js +1 -5
  11. package/v2Components/CommonTestAndPreview/index.js +15 -4
  12. package/v2Containers/App/constants.js +0 -5
  13. package/v2Containers/CreativesContainer/SlideBoxContent.js +2 -57
  14. package/v2Containers/CreativesContainer/SlideBoxHeader.js +0 -1
  15. package/v2Containers/CreativesContainer/constants.js +0 -3
  16. package/v2Containers/CreativesContainer/index.js +0 -168
  17. package/v2Containers/CreativesContainer/messages.js +0 -4
  18. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
  19. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -304
  20. package/v2Containers/SmsTrai/Edit/index.js +12 -1
  21. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +648 -36
  22. package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
  23. package/v2Containers/Templates/_templates.scss +0 -205
  24. package/v2Containers/Templates/actions.js +1 -2
  25. package/v2Containers/Templates/constants.js +0 -1
  26. package/v2Containers/Templates/index.js +34 -274
  27. package/v2Containers/Templates/messages.js +0 -24
  28. package/v2Containers/Templates/reducer.js +0 -2
  29. package/v2Containers/Templates/tests/index.test.js +0 -10
  30. package/v2Containers/TemplatesV2/index.js +7 -15
  31. package/v2Containers/TemplatesV2/messages.js +0 -4
  32. package/utils/imageUrlUpload.js +0 -141
  33. package/v2Components/CapImageUrlUpload/constants.js +0 -26
  34. package/v2Components/CapImageUrlUpload/index.js +0 -365
  35. package/v2Components/CapImageUrlUpload/index.scss +0 -35
  36. package/v2Components/CapImageUrlUpload/messages.js +0 -47
  37. package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
  38. package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
  39. package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
  40. package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
  41. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
  42. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
  43. package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
  44. package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
  45. package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
  46. package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
  47. package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
  48. package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
  49. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
  50. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
  51. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
  52. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
  53. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
  54. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
  55. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
  56. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
  57. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
  58. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
  59. package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
  60. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
  61. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
  62. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
  63. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
  64. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
  65. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -78
  66. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
  67. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
  68. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
  69. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
  70. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
  71. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
  72. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
  73. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
  74. package/v2Containers/WebPush/Create/index.js +0 -1148
  75. package/v2Containers/WebPush/Create/index.scss +0 -134
  76. package/v2Containers/WebPush/Create/messages.js +0 -211
  77. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
  78. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
  79. package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
  80. package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
  81. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -25
  82. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -156
  83. package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
  84. package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
  85. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
  86. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
  87. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  88. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  89. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
  90. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
  91. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
  92. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
  93. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
  94. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
  95. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
  96. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
  97. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -51
  98. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -145
  99. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
  100. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
  101. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
  102. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
  103. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
  104. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
  105. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -85
  106. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
  107. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
  108. package/v2Containers/WebPush/Create/preview/constants.js +0 -637
  109. package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
  110. package/v2Containers/WebPush/Create/preview/preview.scss +0 -358
  111. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
  112. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
  113. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
  114. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
  115. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
  116. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
  117. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
  118. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
  119. package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
  120. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
  121. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
  122. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
  123. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
  124. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -906
  125. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
  126. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
  127. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
  128. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
  129. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
  130. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
  131. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
  132. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
  133. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
  134. package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
  135. package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
  136. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
  137. package/v2Containers/WebPush/Create/utils/validation.js +0 -75
  138. package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
  139. package/v2Containers/WebPush/actions.js +0 -60
  140. package/v2Containers/WebPush/constants.js +0 -132
  141. package/v2Containers/WebPush/index.js +0 -2
  142. package/v2Containers/WebPush/reducer.js +0 -104
  143. package/v2Containers/WebPush/sagas.js +0 -119
  144. package/v2Containers/WebPush/selectors.js +0 -65
  145. package/v2Containers/WebPush/tests/reducer.test.js +0 -863
  146. package/v2Containers/WebPush/tests/sagas.test.js +0 -566
  147. package/v2Containers/WebPush/tests/selectors.test.js +0 -960
@@ -1,358 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
- @import './notification-container';
3
-
4
- .webpush-preview-container {
5
- .preview-controls {
6
- display: flex;
7
- margin-bottom: 16px;
8
-
9
- .preview-control-os,
10
- .preview-control-browser,
11
- .preview-control-state {
12
- flex: 1;
13
- min-width: 0;
14
-
15
- > * {
16
- max-width: 100%;
17
- }
18
- }
19
-
20
- .preview-control-browser {
21
- margin-left: 16px;
22
- }
23
-
24
- .preview-control-label {
25
- margin-bottom: 8px;
26
- display: block;
27
- color: $FONT_COLOR_01;
28
- }
29
- }
30
-
31
- // Wrapper for disabled dropdown (State when Windows, or when stateDropdownDisabled)
32
- // Scoped under container to avoid conflicts; keeps controls visible but non-interactive
33
- .preview-control-disabled-wrapper {
34
- pointer-events: none;
35
- opacity: 0.6;
36
- }
37
-
38
- .preview-controls-compact {
39
- display: block;
40
- margin-bottom: 16px;
41
-
42
- .preview-control {
43
- display: inline-block;
44
- vertical-align: top;
45
- margin-right: 12px;
46
- width: auto;
47
-
48
- &:last-child {
49
- margin-right: 0;
50
- }
51
-
52
- > * {
53
- max-width: none;
54
- }
55
- }
56
-
57
- .preview-control-os,
58
- .preview-control-browser,
59
- .preview-control-state {
60
- flex: none;
61
- min-width: 0;
62
- }
63
-
64
- .preview-control-browser {
65
- margin-left: 0;
66
- }
67
-
68
- .preview-control-label {
69
- margin-bottom: 8px;
70
- display: block;
71
- color: $FONT_COLOR_01;
72
- }
73
- }
74
-
75
- .preview-controls-state {
76
- // Additional spacing below State dropdown when shown
77
- // This ensures proper spacing between State dropdown and notification preview
78
- margin-bottom: 16px;
79
-
80
- .preview-control-state {
81
- > * {
82
- max-width: 100%;
83
- }
84
- }
85
-
86
- .preview-control-label {
87
- margin-bottom: 8px;
88
- display: block;
89
- color: $FONT_COLOR_01;
90
- }
91
- }
92
-
93
- .preview-content {
94
- margin-bottom: 16px;
95
-
96
- .preview-content-wrapper {
97
- width: 100%;
98
- }
99
-
100
- .preview-placeholder {
101
- padding: 20px;
102
- background-color: $CAP_G09;
103
- border-radius: 8px;
104
- min-height: 200px;
105
- display: flex;
106
- align-items: center;
107
- justify-content: center;
108
- color: $CAP_G05;
109
- font-size: $FONT_SIZE_S;
110
- }
111
-
112
- // Notification preview wrapper - styles for preview area container only
113
- // This class handles positioning, background, padding, and layout constraints
114
- // The actual notification styles are in notification-container.scss
115
- .notification-preview {
116
- background-color: $CAP_G09;
117
- border-radius: 8px;
118
- padding: 20px;
119
- display: flex;
120
- align-items: center;
121
- justify-content: center;
122
- // Additional positioning/container styles can be added here
123
- // but NOT styles for .notification-container itself
124
- &.preview-unavailable {
125
- background-color: transparent;
126
- border: 1px dashed $CAP_G06;
127
- min-height: 84px;
128
- }
129
-
130
- .notification-container {
131
- width: 100%;
132
- }
133
- }
134
- }
135
-
136
- .preview-disclaimer {
137
- .disclaimer-text {
138
- color: $CAP_G05;
139
- font-size: $FONT_SIZE_S;
140
- line-height: 1.5;
141
- text-align: center;
142
- }
143
- }
144
-
145
- .preview-all-devices-button {
146
- margin-top: 16px;
147
- text-align: center;
148
-
149
- .preview-all-devices-trigger {
150
- border: none;
151
- background: transparent;
152
- color: map-get($CAP_SECONDARY, base);
153
- font-weight: $FONT_WEIGHT_MEDIUM;
154
- border-radius: 8px;
155
- padding: 8px 16px;
156
-
157
- &:hover:not(:disabled) {
158
- background: $CAP_G09;
159
- }
160
-
161
- &:disabled {
162
- color: $CAP_G05;
163
- cursor: not-allowed;
164
- background: transparent;
165
- }
166
- }
167
- }
168
- }
169
-
170
- // Make the backdrop transparent for the preview slidebox
171
- // This prevents double-darkening when it opens over an existing slidebox
172
- .webpush-preview-slidebox.cap-slide-box-v2 {
173
- background: transparent;
174
- }
175
-
176
- // ============================================================================
177
- // Device Preview Container Styles
178
- // ============================================================================
179
-
180
- /**
181
- * Device Preview Container
182
- *
183
- * Background container for device frame previews in the SlideBox.
184
- *
185
- * Specifications:
186
- * - Width: 100% (responsive)
187
- * - Height: Determined by device frame content (auto)
188
- * - Background: $CAP_G09
189
- * - Padding: 24px 16px 16px 16px (top right bottom left)
190
- */
191
- .device-preview-container {
192
- width: 100%;
193
- background-color: $CAP_G09;
194
- padding: 24px 16px 16px 16px;
195
- box-sizing: border-box;
196
- display: flex;
197
- align-items: center;
198
- justify-content: center;
199
- position: relative;
200
- margin: 0 auto;
201
- // Height is determined by the device frame content
202
-
203
- /**
204
- * Device Frame Wrapper
205
- *
206
- * Wraps the device frame SVG and positions it centered within the container.
207
- * This wrapper will also serve as the positioning reference for notifications
208
- * in later phases.
209
- */
210
- .device-frame-wrapper {
211
- position: relative;
212
- display: flex;
213
- align-items: center;
214
- justify-content: center;
215
- width: 100%;
216
- // Height determined by device frame image
217
-
218
- /**
219
- * Device Frame Asset
220
- *
221
- * Wraps the frame image and provides the positioning context for the
222
- * notification overlay. Anchors notification coordinates to the frame image
223
- * itself instead of the background container.
224
- */
225
- .device-frame-asset {
226
- position: relative;
227
- display: inline-block;
228
- max-width: 100%;
229
- width: auto;
230
- height: auto;
231
- line-height: 0; // remove inline-block whitespace
232
- }
233
-
234
- .device-frame {
235
- filter: none;
236
- transition: none;
237
- transform: none;
238
-
239
- &:hover {
240
- filter: none;
241
- transform: none;
242
- }
243
-
244
- max-width: 100%;
245
- width: auto;
246
- height: auto;
247
- display: block;
248
- object-fit: contain;
249
- }
250
-
251
- /**
252
- * Device Notification Wrapper
253
- *
254
- * Wraps the notification container and positions it relative to the device frame.
255
- * This ensures the notification is anchored to the device frame, not the background container.
256
- */
257
- .device-notification-wrapper {
258
- position: absolute;
259
- z-index: 10;
260
- line-height: normal; // prevent zero line-height inheritance from frame asset
261
- // Position is set inline via style prop for precise control
262
- &.preview-unavailable {
263
- width: 16px;
264
- height: 16px;
265
- border: 1px dashed $CAP_G06;
266
- border-radius: 4px;
267
- background: transparent;
268
- }
269
- }
270
-
271
- }
272
-
273
- .device-notification-wrapper .notification-container.macos-chrome {
274
- width: 336px;
275
- }
276
- .device-notification-wrapper .notification-container.macos-safari {
277
- width: 336px;
278
- }
279
- .device-notification-wrapper .notification-container.windows-chrome {
280
- width: 336px;
281
- }
282
- .device-notification-wrapper .notification-container.android-mobile-chrome.collapsed,
283
- .device-notification-wrapper .notification-container.android-mobile-firefox.collapsed,
284
- .device-notification-wrapper .notification-container.android-mobile-edge.collapsed,
285
- .device-notification-wrapper .notification-container.android-mobile-opera.collapsed {
286
- width: 326px;
287
- height: 78px;
288
- }
289
-
290
- .device-notification-wrapper .notification-container.android-mobile-chrome.collapsed .notification-header.android-mobile-chrome-header,
291
- .device-notification-wrapper .notification-container.android-mobile-firefox.collapsed .notification-header.android-mobile-chrome-header,
292
- .device-notification-wrapper .notification-container.android-mobile-edge.collapsed .notification-header.android-mobile-chrome-header,
293
- .device-notification-wrapper .notification-container.android-mobile-opera.collapsed .notification-header.android-mobile-chrome-header {
294
- align-items: center;
295
- }
296
-
297
- .device-notification-wrapper .notification-container.android-tablet-chrome.collapsed,
298
- .device-notification-wrapper .notification-container.android-tablet-firefox.collapsed,
299
- .device-notification-wrapper .notification-container.android-tablet-edge.collapsed,
300
- .device-notification-wrapper .notification-container.android-tablet-opera.collapsed {
301
- width: 480px;
302
- height: 78px;
303
- }
304
-
305
- .device-notification-wrapper .notification-container.android-tablet-chrome.collapsed .notification-header.android-mobile-chrome-header,
306
- .device-notification-wrapper .notification-container.android-tablet-firefox.collapsed .notification-header.android-mobile-chrome-header,
307
- .device-notification-wrapper .notification-container.android-tablet-edge.collapsed .notification-header.android-mobile-chrome-header,
308
- .device-notification-wrapper .notification-container.android-tablet-opera.collapsed .notification-header.android-mobile-chrome-header {
309
- align-items: center;
310
- }
311
-
312
- .device-notification-wrapper .notification-container.android-tablet-chrome.expanded,
313
- .device-notification-wrapper .notification-container.android-tablet-firefox.expanded,
314
- .device-notification-wrapper .notification-container.android-tablet-edge.expanded,
315
- .device-notification-wrapper .notification-container.android-tablet-opera.expanded {
316
- width: 480px;
317
- min-height: 78px;
318
- }
319
-
320
- .device-notification-wrapper .notification-container.ios-chrome.collapsed,
321
- .device-notification-wrapper .notification-container.ios-safari.collapsed,
322
- .device-notification-wrapper .notification-container.ios-firefox.collapsed,
323
- .device-notification-wrapper .notification-container.ios-edge.collapsed,
324
- .device-notification-wrapper .notification-container.ios-opera.collapsed {
325
- width: 326px;
326
- height: 78px;
327
- }
328
-
329
- .device-notification-wrapper .notification-container.ios-chrome.collapsed .notification-header.ios-header,
330
- .device-notification-wrapper .notification-container.ios-safari.collapsed .notification-header.ios-header,
331
- .device-notification-wrapper .notification-container.ios-firefox.collapsed .notification-header.ios-header,
332
- .device-notification-wrapper .notification-container.ios-edge.collapsed .notification-header.ios-header,
333
- .device-notification-wrapper .notification-container.ios-opera.collapsed .notification-header.ios-header {
334
- align-items: center;
335
- }
336
-
337
- .device-notification-wrapper .notification-container.ipados-chrome.collapsed,
338
- .device-notification-wrapper .notification-container.ipados-safari.collapsed,
339
- .device-notification-wrapper .notification-container.ipados-firefox.collapsed,
340
- .device-notification-wrapper .notification-container.ipados-edge.collapsed,
341
- .device-notification-wrapper .notification-container.ipados-opera.collapsed {
342
- width: 480px;
343
- height: 78px;
344
- }
345
-
346
- .device-notification-wrapper .notification-container.ipados-chrome.collapsed .notification-header.ios-header,
347
- .device-notification-wrapper .notification-container.ipados-safari.collapsed .notification-header.ios-header,
348
- .device-notification-wrapper .notification-container.ipados-firefox.collapsed .notification-header.ios-header,
349
- .device-notification-wrapper .notification-container.ipados-edge.collapsed .notification-header.ios-header,
350
- .device-notification-wrapper .notification-container.ipados-opera.collapsed .notification-header.ios-header {
351
- align-items: center;
352
- }
353
-
354
- .device-notification-wrapper .notification-title {
355
- line-height: 1.2;
356
- }
357
- }
358
-
@@ -1,370 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * Android (Mobile) + Chrome Notification Styles
5
- */
6
-
7
- .notification-container.android-mobile-chrome {
8
- background-color: $CAP_WHITE;
9
- border: 1px solid $CAP_G08;
10
- border-radius: 12px;
11
- padding: 12px;
12
- box-sizing: border-box;
13
-
14
- &.collapsed {
15
- width: 326px;
16
- height: 78px;
17
-
18
- .notification-header {
19
- display: flex;
20
- gap: 12px;
21
- height: 100%;
22
- }
23
-
24
- .notification-header.android-mobile-chrome-header {
25
- align-items: center;
26
- }
27
-
28
- .notification-icon-container {
29
- width: 28px;
30
- height: 28px;
31
- padding: 2px;
32
- border-radius: 50%;
33
- }
34
-
35
- .android-mobile-chrome-content {
36
- display: flex;
37
- flex-direction: column;
38
- gap: 4px;
39
- min-width: 0;
40
-
41
- .notification-title-row {
42
- display: flex;
43
- align-items: center;
44
- gap: 6px;
45
- min-width: 0;
46
-
47
- .notification-title {
48
- font-weight: 600;
49
- font-size: $FONT_SIZE_S;
50
- color: $FONT_COLOR_01;
51
- margin: 0;
52
- overflow: hidden;
53
- text-overflow: ellipsis;
54
- white-space: nowrap;
55
- flex: 1;
56
- min-width: 0;
57
- }
58
-
59
- .notification-time {
60
- font-size: $FONT_SIZE_S;
61
- color: $CAP_G05;
62
- flex-shrink: 0;
63
- }
64
- }
65
-
66
- .notification-body {
67
- font-size: $FONT_SIZE_S;
68
- color: $FONT_COLOR_01;
69
- margin: 0;
70
- line-height: 1.2;
71
- overflow: hidden;
72
- text-overflow: ellipsis;
73
- display: -webkit-box;
74
- -webkit-box-orient: vertical;
75
- -webkit-line-clamp: 2;
76
- }
77
-
78
- .notification-url {
79
- display: none;
80
- }
81
- }
82
-
83
- .notification-right-rail {
84
- display: flex;
85
- gap: 8px;
86
- margin-left: 8px;
87
- flex-shrink: 0;
88
-
89
- .android-mobile-chrome-brand-icon {
90
- width: 30px;
91
- height: 30px;
92
- padding: 0;
93
- background-color: transparent;
94
- display: flex;
95
- align-items: center;
96
- justify-content: center;
97
-
98
- .notification-brand-icon {
99
- width: 100%;
100
- height: 100%;
101
- object-fit: cover;
102
- border-radius: 4px;
103
- }
104
- }
105
-
106
- .android-mobile-chrome-arrow {
107
- font-size: 5.92px;
108
- color: $CAP_G05;
109
- line-height: 1;
110
- margin-top: 0;
111
- padding-top: 0;
112
- display: flex;
113
- align-items: center;
114
- justify-content: center;
115
-
116
- .android-mobile-chrome-arrow-icon {
117
- height: 5.92px;
118
- width: auto;
119
- display: block;
120
- }
121
- }
122
- }
123
- }
124
-
125
- &.expanded {
126
- width: 326px;
127
- min-height: 78px;
128
- padding: 12px;
129
- display: flex;
130
- flex-direction: row;
131
- flex-wrap: wrap;
132
- gap: 8px;
133
- position: relative;
134
-
135
- // Browser icon as separate column, aligned to top
136
- .android-mobile-expanded-icon {
137
- padding: 2px;
138
- border-radius: 50%;
139
- flex-shrink: 0;
140
- align-self: flex-start;
141
-
142
- .notification-icon-container {
143
- width: 16px;
144
- height: 16px;
145
- display: flex;
146
- align-items: center;
147
- justify-content: center;
148
- }
149
-
150
- .notification-icon {
151
- width: 16px;
152
- height: 16px;
153
- }
154
- }
155
-
156
- .android-mobile-expanded-wrapper {
157
- display: flex;
158
- flex-direction: column;
159
- gap: 12px;
160
- flex: 1;
161
- min-width: 0;
162
- }
163
-
164
- .android-mobile-expanded-top {
165
- display: flex;
166
- align-items: flex-start;
167
- gap: 12px;
168
- width: 100%;
169
- }
170
-
171
- .android-mobile-expanded-top-content {
172
- display: flex;
173
- flex-direction: column;
174
- gap: 8px;
175
- flex: 1;
176
- min-width: 0;
177
- }
178
-
179
- .android-mobile-expanded-title {
180
- font-weight: 600;
181
- font-size: $FONT_SIZE_S;
182
- color: $FONT_COLOR_01;
183
- margin: 0;
184
- line-height: 1.2;
185
- word-break: break-word;
186
- }
187
-
188
- // Top container: Browser name, URL, time (all inline) | Brand icon
189
- .android-mobile-expanded-header {
190
- display: flex;
191
- align-items: center;
192
- gap: 12px;
193
- width: 100%;
194
-
195
- .android-mobile-expanded-header-content {
196
- display: flex;
197
- align-items: center;
198
- gap: 6px;
199
- flex: 1;
200
- min-width: 0;
201
- font-family: Roboto, sans-serif;
202
- font-size: 10px;
203
- line-height: 13px;
204
- letter-spacing: 0;
205
- overflow: hidden;
206
-
207
- .android-mobile-expanded-browser-name {
208
- font-weight: 400;
209
- color: $CAP_G04;
210
- flex-shrink: 0;
211
- }
212
-
213
- .android-mobile-expanded-domain-time {
214
- display: inline-flex;
215
- align-items: center;
216
- gap: 6px;
217
- min-width: 0;
218
- overflow: hidden;
219
-
220
- .android-mobile-expanded-domain {
221
- color: $CAP_G04;
222
- font-weight: 400;
223
- overflow: hidden;
224
- text-overflow: ellipsis;
225
- white-space: nowrap;
226
- }
227
-
228
- .android-mobile-expanded-time {
229
- color: $CAP_G04;
230
- font-weight: 400;
231
- flex-shrink: 0;
232
- }
233
- }
234
- }
235
- }
236
-
237
- .android-mobile-chrome-brand-icon {
238
- width: 34.288px;
239
- height: 34.288px;
240
- padding: 0;
241
- background-color: transparent;
242
- display: flex;
243
- align-items: center;
244
- justify-content: center;
245
- flex-shrink: 0;
246
-
247
- .notification-brand-icon {
248
- width: 100%;
249
- height: 100%;
250
- object-fit: cover;
251
- border-radius: 4.576px;
252
- }
253
- }
254
-
255
- // Arrow icon positioned as sibling to wrapper
256
- .android-mobile-expanded-arrow {
257
- font-size: 5.92px;
258
- color: $CAP_G05;
259
- line-height: 1;
260
- flex-shrink: 0;
261
- align-self: flex-start;
262
- margin-top: 10px;
263
- display: flex;
264
- align-items: center;
265
- justify-content: center;
266
-
267
- .android-mobile-expanded-arrow-icon {
268
- height: 5.92px;
269
- width: auto;
270
- display: block;
271
- }
272
- }
273
-
274
- // Body container: body text, media
275
- .android-mobile-expanded-body {
276
- display: flex;
277
- flex-direction: column;
278
- gap: 8px;
279
- width: 100%;
280
-
281
- // Body text (limited to 4 lines)
282
- .android-mobile-expanded-body-text {
283
- font-size: $FONT_SIZE_S;
284
- color: $FONT_COLOR_01;
285
- margin: 0;
286
- line-height: 1.4;
287
- word-break: break-word;
288
-
289
- // Limit notification body to 4 lines with ellipsis
290
- display: -webkit-box;
291
- -webkit-box-orient: vertical;
292
- -webkit-line-clamp: 4;
293
- overflow: hidden;
294
- text-overflow: ellipsis;
295
- }
296
-
297
- // Media image at bottom (if visible)
298
- .android-mobile-expanded-media {
299
- width: 100%;
300
- margin-top: 4px;
301
- border-radius: 8px;
302
- overflow: hidden;
303
- display: flex;
304
- align-items: center;
305
- justify-content: center;
306
-
307
- .android-mobile-expanded-media-image {
308
- width: 100%;
309
- max-width: 100%;
310
- height: 192px; // Fixed height limit
311
- object-fit: cover; // Ensures image covers the area without distortion
312
- object-position: center; // Centers the image
313
- display: block;
314
- box-sizing: border-box;
315
- }
316
- }
317
- }
318
-
319
- // CTA buttons container - direct child of notification-container, below the three vertical components
320
- .android-mobile-expanded-cta-container {
321
- display: flex;
322
- align-items: center;
323
- width: 100%;
324
- flex-basis: 100%;
325
- box-sizing: border-box;
326
- padding-top: 9.6px;
327
- margin-left: 0;
328
- margin-right: 0;
329
- }
330
-
331
- .android-mobile-expanded-cta-divider {
332
- width: 1px;
333
- height: 100%;
334
- background-color: $CAP_G07; // #DFE2E7
335
- flex-shrink: 0;
336
- align-self: stretch;
337
- }
338
-
339
- .android-mobile-expanded-cta-button {
340
- flex: 1;
341
- background: transparent;
342
- border: none;
343
- cursor: pointer;
344
- display: flex;
345
- align-items: center;
346
- justify-content: center;
347
- min-width: 0;
348
- box-sizing: border-box;
349
-
350
- &.android-mobile-expanded-cta-button-single {
351
- flex: 1;
352
- width: 100%;
353
- }
354
-
355
- .android-mobile-expanded-cta-button-text {
356
- font-family: $FONT_FAMILY; // Roboto
357
- font-weight: $FONT_WEIGHT_MEDIUM; // 500
358
- font-size: $FONT_SIZE_S; // 12px
359
- line-height: 16px;
360
- color: $FONT_COLOR_01; // #091E42
361
- letter-spacing: 0;
362
- white-space: nowrap;
363
- overflow: hidden;
364
- text-overflow: ellipsis;
365
- max-width: 100%;
366
- }
367
- }
368
- }
369
- }
370
-