@capillarytech/creatives-library 8.0.242-alpha.0 → 8.0.242-alpha.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 (216) hide show
  1. package/assets/Android.png +0 -0
  2. package/assets/iOS.png +0 -0
  3. package/constants/unified.js +2 -1
  4. package/initialReducer.js +2 -0
  5. package/package.json +1 -1
  6. package/sagas/__tests__/assetPolling.test.js +74 -3
  7. package/sagas/assetPolling.js +8 -1
  8. package/services/api.js +10 -5
  9. package/services/tests/api.test.js +18 -0
  10. package/translations/en.json +0 -1
  11. package/utils/common.js +5 -0
  12. package/utils/commonUtils.js +14 -1
  13. package/utils/tests/commonUtil.test.js +224 -0
  14. package/utils/transformTemplateConfig.js +0 -10
  15. package/utils/transformerUtils.js +0 -42
  16. package/v2Components/CapDeviceContent/index.js +61 -56
  17. package/v2Components/CapImageUpload/constants.js +0 -2
  18. package/v2Components/CapImageUpload/index.js +14 -54
  19. package/v2Components/CapImageUpload/index.scss +1 -4
  20. package/v2Components/CapImageUpload/messages.js +0 -4
  21. package/v2Components/CapTagList/index.js +6 -1
  22. package/v2Components/CapTagListWithInput/index.js +5 -1
  23. package/v2Components/CapTagListWithInput/messages.js +1 -1
  24. package/v2Components/CapWhatsappCTA/tests/index.test.js +5 -0
  25. package/v2Components/ErrorInfoNote/index.js +412 -72
  26. package/v2Components/ErrorInfoNote/messages.js +22 -0
  27. package/v2Components/ErrorInfoNote/style.scss +279 -2
  28. package/v2Components/HtmlEditor/HTMLEditor.js +217 -90
  29. package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +1132 -133
  30. package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +17 -12
  31. package/v2Components/HtmlEditor/_htmlEditor.scss +15 -23
  32. package/v2Components/HtmlEditor/_index.lazy.scss +1 -1
  33. package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +13 -101
  34. package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +148 -139
  35. package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +2 -1
  36. package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
  37. package/v2Components/HtmlEditor/components/EditorToolbar/_editorToolbar.scss +1 -0
  38. package/v2Components/HtmlEditor/components/EditorToolbar/index.js +1 -1
  39. package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +1 -0
  40. package/v2Components/HtmlEditor/components/InAppPreviewPane/DeviceFrame.js +4 -7
  41. package/v2Components/HtmlEditor/components/InAppPreviewPane/__tests__/DeviceFrame.test.js +35 -45
  42. package/v2Components/HtmlEditor/components/InAppPreviewPane/_inAppPreviewPane.scss +1 -3
  43. package/v2Components/HtmlEditor/components/InAppPreviewPane/constants.js +33 -33
  44. package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +7 -6
  45. package/v2Components/HtmlEditor/components/PreviewPane/_previewPane.scss +3 -6
  46. package/v2Components/HtmlEditor/components/PreviewPane/index.js +10 -11
  47. package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
  48. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +87 -62
  49. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +49 -31
  50. package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +254 -0
  51. package/v2Components/HtmlEditor/components/ValidationTabs/index.js +362 -0
  52. package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +51 -0
  53. package/v2Components/HtmlEditor/constants.js +29 -20
  54. package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +373 -16
  55. package/v2Components/HtmlEditor/hooks/useEditorContent.js +5 -2
  56. package/v2Components/HtmlEditor/hooks/useInAppContent.js +88 -146
  57. package/v2Components/HtmlEditor/index.js +1 -1
  58. package/v2Components/HtmlEditor/messages.js +95 -85
  59. package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +99 -101
  60. package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +23 -25
  61. package/v2Components/HtmlEditor/utils/validationAdapter.js +34 -41
  62. package/v2Components/MobilePushPreviewV2/index.js +32 -7
  63. package/v2Components/TemplatePreview/_templatePreview.scss +44 -24
  64. package/v2Components/TemplatePreview/index.js +47 -32
  65. package/v2Components/TemplatePreview/messages.js +4 -0
  66. package/v2Components/TestAndPreviewSlidebox/index.js +31 -25
  67. package/v2Containers/App/constants.js +0 -5
  68. package/v2Containers/BeeEditor/index.js +82 -80
  69. package/v2Containers/BeePopupEditor/constants.js +10 -0
  70. package/v2Containers/BeePopupEditor/index.js +193 -0
  71. package/v2Containers/BeePopupEditor/tests/index.test.js +627 -0
  72. package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +0 -1
  73. package/v2Containers/CreativesContainer/SlideBoxContent.js +148 -120
  74. package/v2Containers/CreativesContainer/SlideBoxFooter.js +9 -3
  75. package/v2Containers/CreativesContainer/SlideBoxHeader.js +2 -2
  76. package/v2Containers/CreativesContainer/constants.js +1 -2
  77. package/v2Containers/CreativesContainer/index.js +173 -193
  78. package/v2Containers/CreativesContainer/messages.js +4 -4
  79. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +38 -50
  80. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +36 -0
  81. package/v2Containers/Email/actions.js +7 -0
  82. package/v2Containers/Email/constants.js +5 -1
  83. package/v2Containers/Email/index.js +13 -0
  84. package/v2Containers/Email/messages.js +32 -0
  85. package/v2Containers/Email/reducer.js +12 -1
  86. package/v2Containers/Email/sagas.js +41 -6
  87. package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +2 -0
  88. package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +1046 -0
  89. package/v2Containers/EmailWrapper/components/EmailWrapperView.js +193 -7
  90. package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +40 -74
  91. package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +2 -67
  92. package/v2Containers/EmailWrapper/constants.js +2 -0
  93. package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +436 -67
  94. package/v2Containers/EmailWrapper/index.js +99 -23
  95. package/v2Containers/EmailWrapper/messages.js +61 -1
  96. package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +26 -1
  97. package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +111 -77
  98. package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +376 -0
  99. package/v2Containers/InApp/__tests__/sagas.test.js +363 -0
  100. package/v2Containers/InApp/actions.js +7 -0
  101. package/v2Containers/InApp/constants.js +20 -4
  102. package/v2Containers/InApp/index.js +800 -357
  103. package/v2Containers/InApp/index.scss +4 -3
  104. package/v2Containers/InApp/messages.js +7 -3
  105. package/v2Containers/InApp/reducer.js +21 -3
  106. package/v2Containers/InApp/sagas.js +29 -9
  107. package/v2Containers/InApp/selectors.js +25 -5
  108. package/v2Containers/InApp/tests/index.test.js +154 -50
  109. package/v2Containers/InApp/tests/reducer.test.js +34 -0
  110. package/v2Containers/InApp/tests/sagas.test.js +61 -9
  111. package/v2Containers/InApp/tests/selectors.test.js +612 -0
  112. package/v2Containers/InAppWrapper/components/InAppWrapperView.js +162 -0
  113. package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +267 -0
  114. package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +9 -0
  115. package/v2Containers/InAppWrapper/constants.js +16 -0
  116. package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +473 -0
  117. package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +198 -0
  118. package/v2Containers/InAppWrapper/index.js +148 -0
  119. package/v2Containers/InAppWrapper/messages.js +49 -0
  120. package/v2Containers/InappAdvance/index.js +1099 -0
  121. package/v2Containers/InappAdvance/index.scss +10 -0
  122. package/v2Containers/InappAdvance/tests/index.test.js +448 -0
  123. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +3 -3
  124. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +2 -2
  125. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +2 -25
  126. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +9 -18
  127. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +12 -46
  128. package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +0 -4
  129. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +4 -8
  130. package/v2Containers/TagList/index.js +67 -1
  131. package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
  132. package/v2Containers/Templates/_templates.scss +56 -200
  133. package/v2Containers/Templates/actions.js +1 -2
  134. package/v2Containers/Templates/constants.js +0 -1
  135. package/v2Containers/Templates/index.js +124 -277
  136. package/v2Containers/Templates/messages.js +4 -24
  137. package/v2Containers/Templates/reducer.js +0 -2
  138. package/v2Containers/Templates/tests/index.test.js +0 -10
  139. package/v2Containers/TemplatesV2/index.js +2 -3
  140. package/v2Containers/TemplatesV2/messages.js +0 -4
  141. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +35 -132
  142. package/v2Components/CapImageUrlUpload/constants.js +0 -19
  143. package/v2Components/CapImageUrlUpload/index.js +0 -455
  144. package/v2Components/CapImageUrlUpload/index.scss +0 -35
  145. package/v2Components/CapImageUrlUpload/messages.js +0 -47
  146. package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -175
  147. package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
  148. package/v2Containers/WebPush/Create/components/ButtonList.js +0 -144
  149. package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
  150. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
  151. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
  152. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
  153. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
  154. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
  155. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -80
  156. package/v2Containers/WebPush/Create/index.js +0 -1755
  157. package/v2Containers/WebPush/Create/index.scss +0 -123
  158. package/v2Containers/WebPush/Create/messages.js +0 -199
  159. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -241
  160. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -290
  161. package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -81
  162. package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -240
  163. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -23
  164. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -144
  165. package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
  166. package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
  167. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  168. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  169. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
  170. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
  171. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
  172. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
  173. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -44
  174. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -110
  175. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
  176. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -72
  177. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -55
  178. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -70
  179. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -512
  180. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -77
  181. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -527
  182. package/v2Containers/WebPush/Create/preview/constants.js +0 -162
  183. package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -104
  184. package/v2Containers/WebPush/Create/preview/preview.scss +0 -409
  185. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -300
  186. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
  187. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
  188. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
  189. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -303
  190. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
  191. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
  192. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
  193. package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -188
  194. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -106
  195. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
  196. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -75
  197. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -174
  198. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
  199. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1077
  200. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
  201. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -943
  202. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -128
  203. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -121
  204. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
  205. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -127
  206. package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -116
  207. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
  208. package/v2Containers/WebPush/actions.js +0 -60
  209. package/v2Containers/WebPush/constants.js +0 -108
  210. package/v2Containers/WebPush/index.js +0 -2
  211. package/v2Containers/WebPush/reducer.js +0 -104
  212. package/v2Containers/WebPush/sagas.js +0 -119
  213. package/v2Containers/WebPush/selectors.js +0 -65
  214. package/v2Containers/WebPush/tests/reducer.test.js +0 -863
  215. package/v2Containers/WebPush/tests/sagas.test.js +0 -566
  216. package/v2Containers/WebPush/tests/selectors.test.js +0 -960
@@ -1,188 +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: 0.75rem;
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: 0.125rem;
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: 2.1875rem;
72
- height: 2.1875rem;
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: 0.5rem;
86
- margin-left: 0.5rem;
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
- }
95
-
96
- .notification-action-arrow {
97
- font-size: $FONT_SIZE_M;
98
- color: $FONT_COLOR_01;
99
- line-height: 1;
100
- cursor: default;
101
- user-select: none;
102
- transform: rotate(0deg) translateY(-0.25rem);
103
- }
104
- }
105
- }
106
-
107
- // Expanded state content
108
- .notification-expanded-content {
109
- width: 100%;
110
- margin-top: 0.75rem;
111
- display: flex;
112
- flex-direction: column;
113
- gap: 0.75rem;
114
-
115
- .notification-media {
116
- width: 100%;
117
- border-radius: 0.5rem;
118
- overflow: hidden;
119
- display: flex;
120
- align-items: center;
121
- justify-content: center;
122
-
123
- .notification-media-image {
124
- width: 100%;
125
- max-width: 100%;
126
- height: 10.5rem; // Fixed height limit
127
- object-fit: cover; // Ensures image covers the area without distortion
128
- object-position: center; // Centers the image
129
- display: block;
130
- box-sizing: border-box;
131
- }
132
- }
133
-
134
- .notification-actions {
135
- width: 100%;
136
- display: flex;
137
- flex-direction: column;
138
-
139
- .notification-action-item {
140
- width: 100%;
141
- display: flex;
142
- flex-direction: column;
143
-
144
- .notification-action-divider {
145
- width: 100%;
146
- height: 0.0625rem;
147
- background-color: $CAP_G08;
148
- }
149
-
150
- .notification-action-button {
151
- width: 100%;
152
- display: flex;
153
- align-items: center;
154
- justify-content: center;
155
- gap: 0.5rem;
156
- padding: 0.5rem 0.75rem;
157
- background-color: transparent;
158
- border: none;
159
- border-radius: 0.5rem;
160
- cursor: pointer;
161
- text-align: center;
162
- font-size: $FONT_SIZE_S;
163
- font-weight: 500;
164
- color: $FONT_COLOR_01;
165
- transition: background-color 0.2s ease;
166
-
167
- &:hover {
168
- background-color: $CAP_G09;
169
- }
170
-
171
- &:active {
172
- background-color: $CAP_G08;
173
- }
174
-
175
- .notification-action-icon {
176
- font-size: $FONT_SIZE_M;
177
- flex-shrink: 0;
178
- }
179
-
180
- .notification-action-label {
181
- flex-shrink: 0;
182
- }
183
- }
184
- }
185
- }
186
- }
187
- }
188
-
@@ -1,106 +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: 0.5rem;
24
- padding: 0.75rem;
25
- box-sizing: border-box;
26
-
27
- &.collapsed {
28
- width: 20.375rem;
29
- height: 4.875rem;
30
-
31
- .notification-header {
32
- display: flex;
33
- gap: 0.75rem;
34
- height: 100%;
35
- }
36
-
37
- .notification-header.ios-header {
38
- align-items: center;
39
- }
40
-
41
- .notification-icon-container {
42
- width: 1.75rem;
43
- height: 1.75rem;
44
- padding: 0.125rem;
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: 0.25rem;
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: 0.5rem;
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
-
@@ -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: 0.5rem;
25
- padding: 0.75rem;
26
- box-sizing: border-box;
27
-
28
- &.collapsed {
29
- width: 30rem;
30
- height: 4.875rem;
31
-
32
- .notification-header {
33
- display: flex;
34
- gap: 0.75rem;
35
- height: 100%;
36
- }
37
-
38
- .notification-header.ios-header {
39
- align-items: center;
40
- }
41
-
42
- .notification-icon-container {
43
- width: 1.75rem;
44
- height: 1.75rem;
45
- padding: 0.125rem;
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: 0.25rem;
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: 0.5rem;
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,75 +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: 21.75rem;
10
- background-color: $CAP_WHITE;
11
- border: 1px solid $CAP_G07;
12
- border-radius: 0.75rem;
13
- padding: 0.75rem;
14
-
15
- .notification-header {
16
- .notification-icon-container {
17
- width: 2.5rem;
18
- height: 2.5rem;
19
- background-color: $CAP_G09;
20
- border-radius: 0.75rem;
21
- padding: 0.5rem;
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: 1rem;
30
- min-height: 1rem;
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: 1rem;
40
- min-height: 1rem;
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: 1rem;
50
- min-height: 1rem;
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: 0.3125rem;
71
- }
72
- }
73
- }
74
- }
75
-
@@ -1,174 +0,0 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables';
2
-
3
- /**
4
- * Windows + Chrome Notification Styles
5
- * Also applies to Windows + Firefox/Edge/Opera (they extend this)
6
- */
7
-
8
- .notification-container.windows-chrome {
9
- // Inherit shared styles from macOS Chrome
10
- @extend .notification-container.macos-chrome;
11
-
12
- // Collapsed state - ensure header aligns center vertically and add brand icon border-radius
13
- &.collapsed .notification-header {
14
- align-items: center;
15
-
16
- .notification-brand-icon-container {
17
- .notification-brand-icon {
18
- border-radius: 0.3125rem;
19
- }
20
- }
21
- }
22
-
23
- &.expanded {
24
- width: 100%;
25
- max-width: 22rem;
26
- background: $CAP_G09;
27
- border: 1px solid $CAP_G07;
28
- border-radius: 0.25rem;
29
- padding: 0;
30
- box-sizing: border-box;
31
- overflow: hidden;
32
-
33
- .windows-chrome-expanded-wrapper {
34
- display: flex;
35
- flex-direction: column;
36
- width: 100%;
37
- height: 100%;
38
- gap: 0.625rem;
39
- }
40
-
41
- .windows-chrome-banner {
42
- width: 100%;
43
- line-height: 0;
44
-
45
- .windows-chrome-banner-image {
46
- width: 100%;
47
- height: 9.4375rem;
48
- object-fit: cover;
49
- display: block;
50
- }
51
- }
52
-
53
- .windows-chrome-body {
54
- display: flex;
55
- flex-direction: column;
56
- gap: 0.75rem;
57
- padding: 0 0.75rem 0.75rem 0.75rem;
58
- width: 100%;
59
- box-sizing: border-box;
60
- }
61
-
62
- .windows-chrome-header-row {
63
- display: flex;
64
- align-items: center;
65
- gap: 0.5rem;
66
- width: 100%;
67
- }
68
-
69
- .windows-chrome-browser-icon {
70
- width: 2rem;
71
- height: 2rem;
72
- background: $CAP_G09;
73
- border-radius: 0.375rem;
74
- padding: 0.375rem;
75
- }
76
-
77
- .windows-chrome-browser-title {
78
- flex: 1;
79
- font-weight: 600;
80
- font-size: $FONT_SIZE_S;
81
- color: $FONT_COLOR_01;
82
- margin: 0;
83
- font-family: 'Roboto', 'Segoe UI', sans-serif;
84
- }
85
-
86
- .windows-chrome-header-actions {
87
- display: flex;
88
- align-items: center;
89
- gap: 0.5rem;
90
-
91
- .windows-chrome-menu-text {
92
- font-weight: 500;
93
- font-size: $FONT_SIZE_M;
94
- margin-bottom: 0.3125rem;
95
- color: $FONT_COLOR_01;
96
- line-height: 1;
97
- user-select: none;
98
- font-family: 'Roboto', 'Segoe UI', sans-serif;
99
- }
100
-
101
- .windows-chrome-close-text {
102
- font-weight: 500;
103
- font-size: $FONT_SIZE_M;
104
- color: $FONT_COLOR_01;
105
- line-height: 1;
106
- user-select: none;
107
- font-family: 'Roboto', 'Segoe UI', sans-serif;
108
- }
109
- }
110
-
111
- .windows-chrome-content-row {
112
- display: flex;
113
- align-items: flex-start;
114
- gap: 0.75rem;
115
- width: 100%;
116
- }
117
-
118
- .windows-chrome-brand-icon {
119
- width: 2.625rem;
120
- height: 2.625rem;
121
- padding: 0;
122
- border-radius: 0.25rem;
123
- border: 1px solid $CAP_G07;
124
- background: $CAP_WHITE;
125
- flex-shrink: 0;
126
-
127
- .notification-brand-icon {
128
- width: 100%;
129
- height: 100%;
130
- object-fit: cover;
131
- }
132
- }
133
-
134
- .windows-chrome-text-block {
135
- display: flex;
136
- flex-direction: column;
137
- gap: 0.25rem;
138
- min-width: 0;
139
- width: 100%;
140
- font-family: 'Roboto', 'Segoe UI', sans-serif;
141
- }
142
-
143
- .windows-chrome-title {
144
- font-weight: 600;
145
- font-size: $FONT_SIZE_S;
146
- color: $FONT_COLOR_01;
147
- margin: 0;
148
- line-height: 0.875rem;
149
- word-break: break-word;
150
- font-family: 'Roboto', 'Segoe UI', sans-serif;
151
- }
152
-
153
- .windows-chrome-url {
154
- font-weight: 500;
155
- font-size: $FONT_SIZE_VS;
156
- color: $FONT_COLOR_01;
157
- margin: 0;
158
- line-height: 0.75rem;
159
- word-break: break-word;
160
- font-family: 'Roboto', 'Segoe UI', sans-serif;
161
- }
162
-
163
- .windows-chrome-body-text {
164
- font-weight: 400;
165
- font-size: $FONT_SIZE_VS;
166
- color: $FONT_COLOR_01;
167
- margin: 0;
168
- line-height: 0.75rem;
169
- word-break: break-word;
170
- font-family: 'Roboto', 'Segoe UI', sans-serif;
171
- }
172
- }
173
- }
174
-