@capillarytech/creatives-library 8.0.255-alpha.4 → 8.0.256

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 (164) hide show
  1. package/constants/unified.js +0 -1
  2. package/package.json +1 -1
  3. package/services/api.js +0 -5
  4. package/translations/en.json +3 -4
  5. package/utils/common.js +0 -6
  6. package/utils/tests/transformerUtils.test.js +0 -297
  7. package/utils/transformerUtils.js +0 -40
  8. package/v2Components/CapImageUpload/constants.js +0 -2
  9. package/v2Components/CapImageUpload/index.js +16 -65
  10. package/v2Components/CapImageUpload/index.scss +1 -4
  11. package/v2Components/CapImageUpload/messages.js +1 -5
  12. package/v2Components/CommonTestAndPreview/UnifiedPreview/InAppPreviewContent.js +3 -3
  13. package/v2Components/CommonTestAndPreview/UnifiedPreview/RcsPreviewContent.js +3 -3
  14. package/v2Components/CommonTestAndPreview/UnifiedPreview/SmsPreviewContent.js +3 -3
  15. package/v2Components/CommonTestAndPreview/UnifiedPreview/ViberPreviewContent.js +3 -3
  16. package/v2Components/CommonTestAndPreview/UnifiedPreview/WhatsAppPreviewContent.js +1 -1
  17. package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +37 -6
  18. package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +0 -2
  19. package/v2Components/TemplatePreview/_templatePreview.scss +1 -2
  20. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +0 -1
  21. package/v2Containers/App/constants.js +0 -5
  22. package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +3 -4
  23. package/v2Containers/CreativesContainer/SlideBoxContent.js +2 -57
  24. package/v2Containers/CreativesContainer/SlideBoxHeader.js +0 -1
  25. package/v2Containers/CreativesContainer/constants.js +0 -3
  26. package/v2Containers/CreativesContainer/index.js +0 -168
  27. package/v2Containers/CreativesContainer/messages.js +0 -4
  28. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
  29. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -304
  30. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +12 -36
  31. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +6 -8
  32. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +75 -100
  33. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +54 -72
  34. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +214 -286
  35. package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +12 -16
  36. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +48 -60
  37. package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
  38. package/v2Containers/Templates/_templates.scss +0 -205
  39. package/v2Containers/Templates/actions.js +1 -2
  40. package/v2Containers/Templates/constants.js +0 -1
  41. package/v2Containers/Templates/index.js +34 -274
  42. package/v2Containers/Templates/messages.js +0 -24
  43. package/v2Containers/Templates/reducer.js +0 -2
  44. package/v2Containers/Templates/tests/index.test.js +0 -10
  45. package/v2Containers/TemplatesV2/index.js +7 -15
  46. package/v2Containers/TemplatesV2/messages.js +0 -4
  47. package/v2Containers/Whatsapp/index.js +1 -1
  48. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +870 -1442
  49. package/utils/imageUrlUpload.js +0 -141
  50. package/v2Components/CapImageUrlUpload/constants.js +0 -26
  51. package/v2Components/CapImageUrlUpload/index.js +0 -365
  52. package/v2Components/CapImageUrlUpload/index.scss +0 -35
  53. package/v2Components/CapImageUrlUpload/messages.js +0 -47
  54. package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
  55. package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
  56. package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
  57. package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
  58. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
  59. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
  60. package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
  61. package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
  62. package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
  63. package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
  64. package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
  65. package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
  66. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
  67. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
  68. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
  69. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
  70. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
  71. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
  72. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
  73. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
  74. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
  75. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
  76. package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
  77. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
  78. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
  79. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
  80. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
  81. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
  82. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -78
  83. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
  84. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
  85. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
  86. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
  87. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
  88. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
  89. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
  90. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
  91. package/v2Containers/WebPush/Create/index.js +0 -1148
  92. package/v2Containers/WebPush/Create/index.scss +0 -134
  93. package/v2Containers/WebPush/Create/messages.js +0 -203
  94. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
  95. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
  96. package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
  97. package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
  98. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -23
  99. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
  100. package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
  101. package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
  102. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
  103. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
  104. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  105. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  106. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
  107. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
  108. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
  109. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
  110. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
  111. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
  112. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
  113. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
  114. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -47
  115. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -141
  116. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
  117. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
  118. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
  119. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
  120. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
  121. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
  122. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -81
  123. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
  124. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
  125. package/v2Containers/WebPush/Create/preview/constants.js +0 -637
  126. package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
  127. package/v2Containers/WebPush/Create/preview/preview.scss +0 -351
  128. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
  129. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
  130. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
  131. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
  132. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
  133. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
  134. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
  135. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
  136. package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
  137. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
  138. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
  139. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
  140. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
  141. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
  142. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
  143. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
  144. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
  145. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
  146. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
  147. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
  148. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
  149. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
  150. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
  151. package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
  152. package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
  153. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
  154. package/v2Containers/WebPush/Create/utils/validation.js +0 -75
  155. package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
  156. package/v2Containers/WebPush/actions.js +0 -60
  157. package/v2Containers/WebPush/constants.js +0 -132
  158. package/v2Containers/WebPush/index.js +0 -2
  159. package/v2Containers/WebPush/reducer.js +0 -104
  160. package/v2Containers/WebPush/sagas.js +0 -119
  161. package/v2Containers/WebPush/selectors.js +0 -65
  162. package/v2Containers/WebPush/tests/reducer.test.js +0 -863
  163. package/v2Containers/WebPush/tests/sagas.test.js +0 -566
  164. package/v2Containers/WebPush/tests/selectors.test.js +0 -960
@@ -1,12 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * Android (Mobile) + Edge Notification Styles
5
- * Reuses Android Chrome styles since they have the same UI
6
- */
7
-
8
- .notification-container.android-mobile-edge {
9
- @extend .notification-container.android-mobile-chrome;
10
- }
11
-
12
-
@@ -1,12 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * Android (Mobile) + Firefox Notification Styles
5
- * Reuses Android Chrome styles since they have the same UI
6
- */
7
-
8
- .notification-container.android-mobile-firefox {
9
- @extend .notification-container.android-mobile-chrome;
10
- }
11
-
12
-
@@ -1,12 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * Android (Mobile) + Opera Notification Styles
5
- * Reuses Android Chrome styles since they have the same UI
6
- */
7
-
8
- .notification-container.android-mobile-opera {
9
- @extend .notification-container.android-mobile-chrome;
10
- }
11
-
12
-
@@ -1,47 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * Android (Tablet) + Chrome Notification Styles
5
- * Extends Android Mobile Chrome styles with tablet-specific overrides
6
- */
7
-
8
- .notification-container.android-tablet-chrome {
9
- @extend .notification-container.android-mobile-chrome;
10
-
11
- &.collapsed {
12
- width: 480px; // Override mobile width (326px)
13
-
14
- .android-mobile-chrome-content {
15
- .notification-body {
16
- display: -webkit-box;
17
- -webkit-box-orient: vertical;
18
- -webkit-line-clamp: 2;
19
- line-clamp: 2;
20
- overflow: hidden;
21
- text-overflow: ellipsis;
22
- }
23
- }
24
- }
25
-
26
- &.expanded {
27
- width: 480px; // Override mobile width (326px)
28
- padding: 17.6px; // Override mobile padding (12px)
29
-
30
- .android-mobile-expanded-body {
31
- .android-mobile-expanded-body-text {
32
- display: -webkit-box;
33
- -webkit-box-orient: vertical;
34
- -webkit-line-clamp: 4;
35
- line-clamp: 4;
36
- overflow: hidden;
37
- text-overflow: ellipsis;
38
- }
39
-
40
- .android-mobile-expanded-media {
41
- .android-mobile-expanded-media-image {
42
- height: 168px; // Override mobile height (192px)
43
- }
44
- }
45
- }
46
- }
47
- }
@@ -1,11 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * Android (Tablet) + Edge Notification Styles
5
- * Reuses Android Tablet Chrome styles since they have the same UI
6
- */
7
-
8
- .notification-container.android-tablet-edge {
9
- @extend .notification-container.android-tablet-chrome;
10
- }
11
-
@@ -1,11 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * Android (Tablet) + Firefox Notification Styles
5
- * Reuses Android Tablet Chrome styles since they have the same UI
6
- */
7
-
8
- .notification-container.android-tablet-firefox {
9
- @extend .notification-container.android-tablet-chrome;
10
- }
11
-
@@ -1,11 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * Android (Tablet) + Opera Notification Styles
5
- * Reuses Android Tablet Chrome styles since they have the same UI
6
- */
7
-
8
- .notification-container.android-tablet-opera {
9
- @extend .notification-container.android-tablet-chrome;
10
- }
11
-
@@ -1,207 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * Base Notification Container Styles
5
- *
6
- * Common styles shared across all platform + browser combinations.
7
- * These styles define the base structure and common elements.
8
- */
9
-
10
- // Base notification container styles
11
- .notification-container {
12
- box-sizing: border-box;
13
- display: flex;
14
- flex-direction: column;
15
-
16
- // Common notification header structure
17
- .notification-header {
18
- display: flex;
19
- align-items: flex-start;
20
- gap: 12px;
21
- width: 100%;
22
-
23
- .notification-icon-container {
24
- flex-shrink: 0;
25
- box-sizing: border-box;
26
- display: flex;
27
- align-items: center;
28
- justify-content: center;
29
-
30
- .notification-icon {
31
- width: 100%;
32
- height: 100%;
33
- object-fit: contain;
34
- }
35
- }
36
-
37
- .notification-content {
38
- flex: 1;
39
- width: 0; // to prevent the children from increasing the parent's width
40
- min-width: 0;
41
- display: flex;
42
- flex-direction: column;
43
- gap: 2px;
44
-
45
- .notification-title {
46
- margin: 0;
47
- overflow: hidden;
48
- text-overflow: ellipsis;
49
- white-space: nowrap;
50
- }
51
-
52
- .notification-url {
53
- margin: 0;
54
- overflow: hidden;
55
- text-overflow: ellipsis;
56
- white-space: nowrap;
57
- }
58
-
59
- .notification-body {
60
- margin: 0;
61
- word-break: break-word;
62
- }
63
- }
64
-
65
- .notification-brand-icon-container {
66
- flex-shrink: 0;
67
- box-sizing: border-box;
68
- display: flex;
69
- align-items: center;
70
- justify-content: center;
71
- width: 35px;
72
- height: 35px;
73
-
74
- .notification-brand-icon {
75
- width: 100%;
76
- height: 100%;
77
- object-fit: cover;
78
- }
79
- }
80
-
81
- .notification-header-actions {
82
- flex-shrink: 0;
83
- display: flex;
84
- align-items: center;
85
- gap: 8px;
86
- margin-left: 8px;
87
-
88
- .notification-action-menu {
89
- font-size: $FONT_SIZE_M;
90
- color: $FONT_COLOR_01;
91
- line-height: 1;
92
- cursor: default;
93
- user-select: none;
94
- display: flex;
95
- align-items: center;
96
- justify-content: center;
97
-
98
- .notification-action-menu-icon {
99
- height: $FONT_SIZE_M;
100
- width: auto;
101
- display: block;
102
- }
103
- }
104
-
105
- .notification-action-arrow {
106
- font-size: $FONT_SIZE_M;
107
- color: $FONT_COLOR_01;
108
- line-height: 1;
109
- cursor: default;
110
- user-select: none;
111
- transform: rotate(0deg) translateY(-4px);
112
- margin-bottom: -7px;
113
- display: flex;
114
- align-items: center;
115
- justify-content: center;
116
-
117
- .notification-action-arrow-icon {
118
- height: $FONT_SIZE_M;
119
- width: auto;
120
- display: block;
121
- }
122
- }
123
- }
124
- }
125
-
126
- // Expanded state content
127
- .notification-expanded-content {
128
- width: 100%;
129
- margin-top: 12px;
130
- display: flex;
131
- flex-direction: column;
132
- gap: 12px;
133
-
134
- .notification-media {
135
- width: 100%;
136
- border-radius: 8px;
137
- overflow: hidden;
138
- display: flex;
139
- align-items: center;
140
- justify-content: center;
141
-
142
- .notification-media-image {
143
- width: 100%;
144
- max-width: 100%;
145
- height: 168px; // Fixed height limit
146
- object-fit: cover; // Ensures image covers the area without distortion
147
- object-position: center; // Centers the image
148
- display: block;
149
- box-sizing: border-box;
150
- }
151
- }
152
-
153
- .notification-actions {
154
- width: 100%;
155
- display: flex;
156
- flex-direction: column;
157
-
158
- .notification-action-item {
159
- width: 100%;
160
- display: flex;
161
- flex-direction: column;
162
-
163
- .notification-action-divider {
164
- width: 100%;
165
- height: 1px;
166
- background-color: $CAP_G08;
167
- }
168
-
169
- .notification-action-button {
170
- width: 100%;
171
- display: flex;
172
- align-items: center;
173
- justify-content: center;
174
- gap: 8px;
175
- padding: 8px 12px;
176
- background-color: transparent;
177
- border: none;
178
- border-radius: 8px;
179
- cursor: pointer;
180
- text-align: center;
181
- font-size: $FONT_SIZE_S;
182
- font-weight: 500;
183
- color: $FONT_COLOR_01;
184
- transition: background-color 0.2s ease;
185
-
186
- &:hover {
187
- background-color: $CAP_G09;
188
- }
189
-
190
- &:active {
191
- background-color: $CAP_G08;
192
- }
193
-
194
- .notification-action-icon {
195
- font-size: $FONT_SIZE_M;
196
- flex-shrink: 0;
197
- }
198
-
199
- .notification-action-label {
200
- flex-shrink: 0;
201
- }
202
- }
203
- }
204
- }
205
- }
206
- }
207
-
@@ -1,153 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * iOS Notification Styles
5
- * Applies to all browsers on iOS: Chrome, Safari, Firefox, Edge, Opera
6
- *
7
- * iOS notifications are simple and clean:
8
- * - Browser icon on the left
9
- * - Title and "now" timestamp on the same row
10
- * - Body text below
11
- * - NO brand icon
12
- * - NO URL display
13
- * - NO expanded state
14
- */
15
-
16
- .notification-container.ios-chrome,
17
- .notification-container.ios-safari,
18
- .notification-container.ios-firefox,
19
- .notification-container.ios-edge,
20
- .notification-container.ios-opera {
21
- background-color: $CAP_WHITE;
22
- border: 1px solid $CAP_G08;
23
- border-radius: 12px;
24
- padding: 12px;
25
- box-sizing: border-box;
26
-
27
- &.collapsed {
28
- width: 326px;
29
- height: 78px;
30
-
31
- .notification-header {
32
- display: flex;
33
- gap: 12px;
34
- height: 100%;
35
- }
36
-
37
- .notification-header.ios-header {
38
- align-items: center;
39
- }
40
-
41
- .notification-icon-container {
42
- width: 28px;
43
- height: 28px;
44
- padding: 2px;
45
- border-radius: 50%;
46
- flex-shrink: 0;
47
- }
48
-
49
- .notification-icon {
50
- width: 100%;
51
- height: 100%;
52
- object-fit: contain;
53
- }
54
-
55
- .ios-content {
56
- display: flex;
57
- flex-direction: column;
58
- gap: 4px;
59
- min-width: 0;
60
- flex: 1;
61
-
62
- .notification-title-row {
63
- display: flex;
64
- align-items: center;
65
- justify-content: space-between;
66
- gap: 8px;
67
- min-width: 0;
68
-
69
- .notification-title {
70
- font-weight: 600;
71
- font-size: $FONT_SIZE_S;
72
- color: $FONT_COLOR_01;
73
- margin: 0;
74
- overflow: hidden;
75
- text-overflow: ellipsis;
76
- white-space: nowrap;
77
- flex: 1;
78
- min-width: 0;
79
- }
80
-
81
- .notification-time {
82
- font-size: $FONT_SIZE_S;
83
- color: $CAP_G05;
84
- flex-shrink: 0;
85
- }
86
- }
87
-
88
- .notification-body {
89
- font-size: $FONT_SIZE_S;
90
- color: $FONT_COLOR_01;
91
- margin: 0;
92
- line-height: 1.2;
93
- overflow: hidden;
94
- text-overflow: ellipsis;
95
- display: -webkit-box;
96
- -webkit-box-orient: vertical;
97
- -webkit-line-clamp: 2;
98
- }
99
-
100
- .notification-url {
101
- display: none;
102
- }
103
- }
104
- }
105
- }
106
-
107
- // Wrapper for iOS notification + CTA container (iOS + Collapsed only)
108
- .ios-notification-wrapper {
109
- display: flex;
110
- flex-direction: column;
111
- align-items: center;
112
- gap: 12px;
113
-
114
- .ios-cta-container {
115
- width: 195.6px; // 60% of 326px (notification width)
116
- background-color: $CAP_WHITE;
117
- border: 1px solid $CAP_G08;
118
- border-radius: 12px;
119
- overflow: hidden;
120
- display: flex;
121
- flex-direction: column;
122
-
123
- .ios-cta-button {
124
- width: 100%;
125
- padding: 12px 16px;
126
- background-color: transparent;
127
- border: none;
128
- border-top: 1px solid $CAP_G22;
129
- cursor: pointer;
130
- text-align: center;
131
- font-size: $FONT_SIZE_S;
132
- font-weight: 500;
133
- color: $FONT_COLOR_01;
134
- transition: background-color 0.2s ease;
135
- white-space: nowrap;
136
- overflow: hidden;
137
- text-overflow: ellipsis;
138
-
139
- &:first-child {
140
- border-top: none;
141
- }
142
-
143
- &:hover {
144
- background-color: $CAP_G09;
145
- }
146
-
147
- &:active {
148
- background-color: $CAP_G08;
149
- }
150
- }
151
- }
152
- }
153
-
@@ -1,107 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * iPadOS Notification Styles
5
- * Applies to all browsers on iPadOS: Chrome, Safari, Firefox, Edge, Opera
6
- *
7
- * iPadOS notifications follow the same design as iOS but with wider dimensions:
8
- * - Browser icon on the left
9
- * - Title and "now" timestamp on the same row
10
- * - Body text below
11
- * - NO brand icon
12
- * - NO URL display
13
- * - NO expanded state
14
- * - WIDER width than iOS (tablet format)
15
- */
16
-
17
- .notification-container.ipados-chrome,
18
- .notification-container.ipados-safari,
19
- .notification-container.ipados-firefox,
20
- .notification-container.ipados-edge,
21
- .notification-container.ipados-opera {
22
- background-color: $CAP_WHITE;
23
- border: 1px solid $CAP_G08;
24
- border-radius: 12px;
25
- padding: 12px;
26
- box-sizing: border-box;
27
-
28
- &.collapsed {
29
- width: 480px;
30
- height: 78px;
31
-
32
- .notification-header {
33
- display: flex;
34
- gap: 12px;
35
- height: 100%;
36
- }
37
-
38
- .notification-header.ios-header {
39
- align-items: center;
40
- }
41
-
42
- .notification-icon-container {
43
- width: 28px;
44
- height: 28px;
45
- padding: 2px;
46
- border-radius: 50%;
47
- flex-shrink: 0;
48
- }
49
-
50
- .notification-icon {
51
- width: 100%;
52
- height: 100%;
53
- object-fit: contain;
54
- }
55
-
56
- .ios-content {
57
- display: flex;
58
- flex-direction: column;
59
- gap: 4px;
60
- min-width: 0;
61
- flex: 1;
62
-
63
- .notification-title-row {
64
- display: flex;
65
- align-items: center;
66
- justify-content: space-between;
67
- gap: 8px;
68
- min-width: 0;
69
-
70
- .notification-title {
71
- font-weight: 600;
72
- font-size: $FONT_SIZE_S;
73
- color: $FONT_COLOR_01;
74
- margin: 0;
75
- overflow: hidden;
76
- text-overflow: ellipsis;
77
- white-space: nowrap;
78
- flex: 1;
79
- min-width: 0;
80
- }
81
-
82
- .notification-time {
83
- font-size: $FONT_SIZE_S;
84
- color: $CAP_G05;
85
- flex-shrink: 0;
86
- }
87
- }
88
-
89
- .notification-body {
90
- font-size: $FONT_SIZE_S;
91
- color: $FONT_COLOR_01;
92
- margin: 0;
93
- line-height: 1.2;
94
- overflow: hidden;
95
- text-overflow: ellipsis;
96
- display: -webkit-box;
97
- -webkit-box-orient: vertical;
98
- -webkit-line-clamp: 2;
99
- }
100
-
101
- .notification-url {
102
- display: none;
103
- }
104
- }
105
- }
106
- }
107
-
@@ -1,101 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * macOS + Chrome Notification Styles
5
- */
6
-
7
- .notification-container.macos-chrome {
8
- width: 100%;
9
- max-width: 348px;
10
- background-color: $CAP_WHITE;
11
- border: 1px solid $CAP_G07;
12
- border-radius: 12px;
13
- padding: 12px;
14
-
15
- .notification-header {
16
- .notification-icon-container {
17
- width: 40px;
18
- height: 40px;
19
- background-color: $CAP_G09;
20
- border-radius: 12px;
21
- padding: 8px;
22
- }
23
-
24
- .notification-content {
25
- .notification-title {
26
- font-family: "SF Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
27
- font-weight: 590;
28
- font-size: $FONT_SIZE_S;
29
- line-height: 16px;
30
- min-height: 16px;
31
- color: $FONT_COLOR_01;
32
- letter-spacing: 0;
33
- }
34
-
35
- .notification-url {
36
- font-family: "SF Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
37
- font-weight: 510;
38
- font-size: $FONT_SIZE_S;
39
- line-height: 16px;
40
- min-height: 16px;
41
- color: $FONT_COLOR_01;
42
- letter-spacing: 0;
43
- }
44
-
45
- .notification-body {
46
- font-family: "SF Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
47
- font-weight: 400;
48
- font-size: $FONT_SIZE_S;
49
- line-height: 16px;
50
- min-height: 16px;
51
- color: $FONT_COLOR_01;
52
- letter-spacing: 0;
53
-
54
- // Limit notification body to 3 lines as per macOS notification behavior
55
- display: -webkit-box;
56
- -webkit-box-orient: vertical;
57
- -webkit-line-clamp: 3;
58
- overflow: hidden;
59
- text-overflow: ellipsis;
60
- }
61
- }
62
- }
63
-
64
- // Collapsed state - ensure header aligns center vertically
65
- &.collapsed .notification-header {
66
- align-items: center;
67
-
68
- .notification-brand-icon-container {
69
- .notification-brand-icon {
70
- border-radius: 5px;
71
- }
72
- }
73
- }
74
-
75
- // Expanded state - CTA button typography
76
- &.expanded {
77
- .notification-expanded-content {
78
- .notification-actions {
79
- .notification-action-item {
80
- .notification-action-button {
81
- font-family: "SF Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
82
- font-weight: 510;
83
- font-size: 12px;
84
- line-height: 16px;
85
- letter-spacing: 0;
86
- padding: 8px 12px;
87
-
88
- .notification-action-label {
89
- font-family: "SF Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
90
- font-weight: 510;
91
- font-size: 12px;
92
- line-height: 16px;
93
- letter-spacing: 0;
94
- }
95
- }
96
- }
97
- }
98
- }
99
- }
100
- }
101
-