@product7/feedback-sdk 1.3.2 → 1.3.4

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 (37) hide show
  1. package/dist/feedback-sdk.js +2343 -3194
  2. package/dist/feedback-sdk.js.map +1 -1
  3. package/dist/feedback-sdk.min.js +1 -1
  4. package/dist/feedback-sdk.min.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/api/services/MessengerService.js +20 -0
  7. package/src/index.js +2 -3
  8. package/src/styles/base.js +27 -52
  9. package/src/styles/changelog.js +152 -269
  10. package/src/styles/components.js +489 -0
  11. package/src/styles/design-tokens.js +104 -0
  12. package/src/styles/feedback.js +59 -369
  13. package/src/styles/messenger-core.js +390 -0
  14. package/src/styles/messenger-features.js +347 -0
  15. package/src/styles/messenger-help.js +298 -0
  16. package/src/styles/messenger-themes.js +500 -0
  17. package/src/styles/messenger-views.js +618 -0
  18. package/src/styles/messenger.js +558 -0
  19. package/src/styles/styles.js +24 -2
  20. package/src/styles/surveys.js +354 -0
  21. package/src/widgets/BaseWidget.js +25 -58
  22. package/src/widgets/ButtonWidget.js +3 -18
  23. package/src/widgets/ChangelogWidget.js +7 -48
  24. package/src/widgets/InlineWidget.js +16 -13
  25. package/src/widgets/MessengerWidget.js +51 -54
  26. package/src/widgets/SurveyWidget.js +42 -146
  27. package/src/widgets/TabWidget.js +2 -22
  28. package/src/widgets/messenger/components/MessengerLauncher.js +10 -5
  29. package/src/widgets/messenger/components/MessengerPanel.js +5 -27
  30. package/src/widgets/messenger/components/NavigationTabs.js +5 -14
  31. package/src/widgets/messenger/views/ChangelogView.js +13 -14
  32. package/src/widgets/messenger/views/ChatView.js +43 -36
  33. package/src/widgets/messenger/views/ConversationsView.js +16 -21
  34. package/src/widgets/messenger/views/HelpView.js +10 -10
  35. package/src/widgets/messenger/views/HomeView.js +11 -16
  36. package/src/widgets/messenger/views/PreChatFormView.js +18 -30
  37. package/src/styles/messengerStyles.js +0 -2328
@@ -1,27 +1,27 @@
1
1
  export const changelogStyles = `
2
2
  .changelog-widget {
3
3
  position: fixed;
4
- z-index: 999999;
4
+ z-index: var(--z-modal);
5
5
  }
6
6
 
7
7
  .changelog-widget.position-bottom-right {
8
- bottom: 20px;
9
- right: 20px;
8
+ bottom: var(--spacing-5);
9
+ right: var(--spacing-5);
10
10
  }
11
11
 
12
12
  .changelog-widget.position-bottom-left {
13
- bottom: 20px;
14
- left: 20px;
13
+ bottom: var(--spacing-5);
14
+ left: var(--spacing-5);
15
15
  }
16
16
 
17
17
  .changelog-widget.position-top-right {
18
- top: 20px;
19
- right: 20px;
18
+ top: var(--spacing-5);
19
+ right: var(--spacing-5);
20
20
  }
21
21
 
22
22
  .changelog-widget.position-top-left {
23
- top: 20px;
24
- left: 20px;
23
+ top: var(--spacing-5);
24
+ left: var(--spacing-5);
25
25
  }
26
26
 
27
27
  .changelog-trigger-btn {
@@ -29,30 +29,29 @@ export const changelogStyles = `
29
29
  display: flex;
30
30
  align-items: center;
31
31
  justify-content: center;
32
- gap: 8px;
32
+ gap: var(--spacing-2);
33
33
  height: 48px;
34
- overflow: visible;
35
- border-radius: 9999px;
34
+ border-radius: var(--radius-full);
36
35
  border: none;
37
- padding: 12px 20px;
38
- font-size: 14px;
39
- font-weight: 500;
36
+ padding: var(--spacing-3) var(--spacing-5);
37
+ font-size: var(--font-size-base);
38
+ font-weight: var(--font-weight-medium);
40
39
  font-family: inherit;
41
40
  cursor: pointer;
42
- transition: all 0.3s ease;
43
- color: white;
44
- background: #155EEF;
45
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
41
+ transition: all var(--transition-slow);
42
+ color: var(--color-white);
43
+ background: var(--color-primary);
44
+ box-shadow: var(--shadow-md);
46
45
  width: fit-content;
47
46
  }
48
47
 
49
48
  .changelog-trigger-btn:hover {
50
49
  transform: translateY(-2px);
51
- box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
50
+ box-shadow: var(--shadow-lg);
52
51
  }
53
52
 
54
53
  .changelog-trigger-btn:focus-visible {
55
- outline: 2px solid #155EEF;
54
+ outline: 2px solid var(--color-primary);
56
55
  outline-offset: 2px;
57
56
  }
58
57
 
@@ -61,7 +60,7 @@ export const changelogStyles = `
61
60
  }
62
61
 
63
62
  .changelog-confetti-emoji {
64
- font-size: 14px;
63
+ font-size: var(--font-size-base);
65
64
  margin-left: 2px;
66
65
  }
67
66
 
@@ -71,9 +70,9 @@ export const changelogStyles = `
71
70
  right: -4px;
72
71
  width: 12px;
73
72
  height: 12px;
74
- background: #EF4444;
75
- border-radius: 50%;
76
- border: 2px solid white;
73
+ background: var(--color-error);
74
+ border-radius: var(--radius-full);
75
+ border: 2px solid var(--color-white);
77
76
  }
78
77
 
79
78
  .changelog-confetti-container {
@@ -83,7 +82,7 @@ export const changelogStyles = `
83
82
  width: 100%;
84
83
  height: 100%;
85
84
  pointer-events: none;
86
- z-index: 1000001;
85
+ z-index: var(--z-notification);
87
86
  overflow: hidden;
88
87
  }
89
88
 
@@ -94,25 +93,18 @@ export const changelogStyles = `
94
93
  animation: confettiFall 2s ease-out forwards;
95
94
  }
96
95
 
97
- .changelog-modal-backdrop {
98
- position: fixed;
99
- top: 0;
100
- left: 0;
101
- right: 0;
102
- bottom: 0;
103
- background: rgba(0, 0, 0, 0.5);
104
- opacity: 0;
105
- transition: opacity 0.3s ease;
106
- pointer-events: none;
107
- z-index: 999998;
108
- display: flex;
109
- align-items: center;
110
- justify-content: center;
111
- }
112
-
113
- .changelog-modal-backdrop.show {
114
- opacity: 1;
115
- pointer-events: auto;
96
+ @keyframes confettiFall {
97
+ 0% {
98
+ opacity: 1;
99
+ transform: translateY(0) rotate(0deg) scale(1);
100
+ }
101
+ 10% {
102
+ opacity: 1;
103
+ }
104
+ 100% {
105
+ opacity: 0;
106
+ transform: translateY(100vh) rotate(720deg) scale(0.5);
107
+ }
116
108
  }
117
109
 
118
110
  .changelog-modal {
@@ -121,13 +113,13 @@ export const changelogStyles = `
121
113
  left: 0;
122
114
  right: 0;
123
115
  bottom: 0;
124
- z-index: 999999;
116
+ z-index: var(--z-modal);
125
117
  display: flex;
126
118
  align-items: center;
127
119
  justify-content: center;
128
- padding: 20px;
120
+ padding: var(--spacing-5);
129
121
  pointer-events: none;
130
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', Oxygen, Ubuntu, Cantarell, sans-serif;
122
+ font-family: inherit;
131
123
  }
132
124
 
133
125
  .changelog-modal.open {
@@ -140,12 +132,12 @@ export const changelogStyles = `
140
132
  max-width: 580px;
141
133
  max-height: 90vh;
142
134
  background: #DBEAFE;
143
- border-radius: 24px;
135
+ border-radius: var(--radius-4xl);
144
136
  overflow: hidden;
145
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
146
- transform: scale(0.9) translateY(20px);
137
+ box-shadow: var(--shadow-2xl);
138
+ transform: scale(0.95) translateY(20px);
147
139
  opacity: 0;
148
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
140
+ transition: all var(--transition-slow);
149
141
  }
150
142
 
151
143
  .changelog-modal.open .changelog-modal-container {
@@ -153,48 +145,34 @@ export const changelogStyles = `
153
145
  opacity: 1;
154
146
  }
155
147
 
156
- .changelog-modal.theme-dark .changelog-modal-container {
157
- background: #1E3A5F;
158
- }
159
-
160
148
  .changelog-modal-close {
161
149
  position: absolute;
162
- top: 16px;
163
- right: 16px;
150
+ top: var(--spacing-4);
151
+ right: var(--spacing-4);
164
152
  background: rgba(255, 255, 255, 0.9);
165
153
  border: none;
166
154
  font-size: 24px;
167
155
  cursor: pointer;
168
- color: #6B7280;
156
+ color: var(--color-neutral-500);
169
157
  padding: 0;
170
158
  width: 36px;
171
159
  height: 36px;
172
160
  display: flex;
173
161
  align-items: center;
174
162
  justify-content: center;
175
- border-radius: 50%;
176
- transition: all 0.2s ease;
163
+ border-radius: var(--radius-full);
164
+ transition: all var(--transition-base);
177
165
  line-height: 1;
178
166
  z-index: 10;
179
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
167
+ box-shadow: var(--shadow-md);
180
168
  }
181
169
 
182
170
  .changelog-modal-close:hover {
183
- background: white;
184
- color: #111827;
171
+ background: var(--color-white);
172
+ color: var(--color-neutral-900);
185
173
  transform: scale(1.05);
186
174
  }
187
175
 
188
- .changelog-modal.theme-dark .changelog-modal-close {
189
- background: rgba(55, 65, 81, 0.9);
190
- color: #D1D5DB;
191
- }
192
-
193
- .changelog-modal.theme-dark .changelog-modal-close:hover {
194
- background: #374151;
195
- color: white;
196
- }
197
-
198
176
  .changelog-modal-content {
199
177
  overflow-y: auto;
200
178
  max-height: 90vh;
@@ -204,16 +182,7 @@ export const changelogStyles = `
204
182
  display: flex;
205
183
  align-items: center;
206
184
  justify-content: center;
207
- padding: 80px 20px;
208
- }
209
-
210
- .changelog-loading-spinner {
211
- width: 32px;
212
- height: 32px;
213
- border: 3px solid #E5E7EB;
214
- border-top-color: #155EEF;
215
- border-radius: 50%;
216
- animation: changelogSpin 0.8s linear infinite;
185
+ padding: 80px var(--spacing-5);
217
186
  }
218
187
 
219
188
  .changelog-empty {
@@ -221,19 +190,19 @@ export const changelogStyles = `
221
190
  flex-direction: column;
222
191
  align-items: center;
223
192
  justify-content: center;
224
- padding: 80px 20px;
193
+ padding: 80px var(--spacing-5);
225
194
  text-align: center;
226
- color: #9CA3AF;
195
+ color: var(--color-text-tertiary);
227
196
  }
228
197
 
229
198
  .changelog-empty svg {
230
- margin-bottom: 16px;
231
- stroke: #D1D5DB;
199
+ margin-bottom: var(--spacing-4);
200
+ stroke: var(--color-neutral-300);
232
201
  }
233
202
 
234
203
  .changelog-empty p {
235
204
  margin: 0;
236
- font-size: 15px;
205
+ font-size: var(--font-size-md);
237
206
  }
238
207
 
239
208
  .changelog-popup-item {
@@ -243,7 +212,7 @@ export const changelogStyles = `
243
212
 
244
213
  .changelog-popup-image {
245
214
  width: 100%;
246
- padding: 24px 24px 0;
215
+ padding: var(--spacing-6) var(--spacing-6) 0;
247
216
  }
248
217
 
249
218
  .changelog-popup-image img {
@@ -251,85 +220,77 @@ export const changelogStyles = `
251
220
  height: auto;
252
221
  display: block;
253
222
  object-fit: cover;
254
- border-radius: 12px;
255
- border: 2px solid #155EEF;
223
+ border-radius: var(--radius-xl);
224
+ border: 2px solid var(--color-primary);
256
225
  box-shadow: 0 4px 20px rgba(21, 94, 239, 0.2);
257
226
  }
258
227
 
259
228
  .changelog-popup-body {
260
- padding: 24px 32px 32px;
229
+ padding: var(--spacing-6) var(--spacing-8) var(--spacing-8);
261
230
  text-align: center;
262
231
  }
263
232
 
264
233
  .changelog-popup-title {
265
- margin: 0 0 16px;
266
- font-size: 18px;
267
- font-weight: 600;
268
- line-height: 1.3;
269
- color: #111827;
270
- }
271
-
272
- .changelog-modal.theme-dark .changelog-popup-title {
273
- color: white;
234
+ margin: 0 0 var(--spacing-4);
235
+ font-size: var(--font-size-xl);
236
+ font-weight: var(--font-weight-semibold);
237
+ line-height: var(--line-height-snug);
238
+ color: var(--color-neutral-900);
274
239
  }
275
240
 
276
241
  .changelog-popup-description {
277
- margin: 0 0 24px;
242
+ margin: 0 0 var(--spacing-6);
278
243
  font-size: 17px;
279
- line-height: 1.6;
280
- color: #4B5563;
281
- }
282
-
283
- .changelog-modal.theme-dark .changelog-popup-description {
284
- color: #D1D5DB;
244
+ line-height: var(--line-height-loose);
245
+ color: var(--color-neutral-600);
285
246
  }
286
247
 
287
248
  .changelog-popup-btn {
288
249
  display: inline-flex;
289
250
  align-items: center;
290
251
  justify-content: center;
291
- padding: 14px 32px;
292
- font-size: 16px;
293
- font-weight: 600;
294
- color: white;
295
- background: #155EEF;
252
+ padding: 14px var(--spacing-8);
253
+ font-size: var(--font-size-lg);
254
+ font-weight: var(--font-weight-semibold);
255
+ color: var(--color-white);
256
+ background: var(--color-primary);
296
257
  border: none;
297
- border-radius: 10px;
258
+ border-radius: var(--radius-lg);
298
259
  cursor: pointer;
299
- transition: all 0.2s ease;
260
+ transition: all var(--transition-base);
300
261
  }
301
262
 
302
263
  .changelog-popup-btn:hover {
303
- background: #1249CA;
264
+ background: var(--color-primary-hover);
304
265
  transform: translateY(-2px);
305
266
  box-shadow: 0 4px 12px rgba(21, 94, 239, 0.3);
306
267
  }
307
268
 
308
269
  .changelog-popup-btn:focus-visible {
309
- outline: 2px solid #155EEF;
270
+ outline: 2px solid var(--color-primary);
310
271
  outline-offset: 2px;
311
272
  }
312
273
 
313
274
  .changelog-popup-footer {
314
- padding: 0 32px 24px;
275
+ padding: 0 var(--spacing-8) var(--spacing-6);
315
276
  display: flex;
316
277
  flex-direction: column;
317
278
  align-items: center;
318
- gap: 16px;
279
+ gap: var(--spacing-4);
319
280
  }
320
281
 
321
282
  .changelog-popup-dots {
322
283
  display: flex;
323
- gap: 8px;
284
+ gap: var(--spacing-2);
324
285
  }
325
286
 
326
287
  .changelog-dot {
327
288
  width: 10px;
328
289
  height: 10px;
329
- border-radius: 50%;
330
- background: rgba(21, 94, 239, 0.3);
290
+ border-radius: var(--radius-full);
291
+ background: var(--color-primary-border);
331
292
  cursor: pointer;
332
- transition: all 0.2s ease;
293
+ transition: all var(--transition-base);
333
294
  }
334
295
 
335
296
  .changelog-dot:hover {
@@ -337,7 +298,7 @@ export const changelogStyles = `
337
298
  }
338
299
 
339
300
  .changelog-dot.active {
340
- background: #155EEF;
301
+ background: var(--color-primary);
341
302
  transform: scale(1.2);
342
303
  }
343
304
 
@@ -347,66 +308,40 @@ export const changelogStyles = `
347
308
  gap: 6px;
348
309
  background: none;
349
310
  border: none;
350
- color: #155EEF;
351
- font-size: 14px;
352
- font-weight: 500;
311
+ color: var(--color-primary);
312
+ font-size: var(--font-size-base);
313
+ font-weight: var(--font-weight-medium);
353
314
  cursor: pointer;
354
- padding: 8px 12px;
355
- border-radius: 6px;
356
- transition: all 0.2s ease;
315
+ padding: var(--spacing-2) var(--spacing-3);
316
+ border-radius: var(--radius-sm);
317
+ transition: all var(--transition-base);
357
318
  }
358
319
 
359
320
  .changelog-view-all-btn:hover {
360
- background: rgba(21, 94, 239, 0.1);
321
+ background: var(--color-primary-light);
361
322
  }
362
323
 
363
324
  .changelog-view-all-btn svg {
364
- transition: transform 0.2s ease;
325
+ transition: transform var(--transition-base);
365
326
  }
366
327
 
367
328
  .changelog-view-all-btn:hover svg {
368
329
  transform: translateX(3px);
369
330
  }
370
331
 
371
- .changelog-modal.theme-dark .changelog-view-all-btn {
372
- color: #60A5FA;
373
- }
374
-
375
- .changelog-modal.theme-dark .changelog-view-all-btn:hover {
376
- background: rgba(96, 165, 250, 0.1);
377
- }
378
-
379
- .changelog-list-modal-backdrop {
380
- position: fixed;
381
- top: 0;
382
- left: 0;
383
- right: 0;
384
- bottom: 0;
385
- background: rgba(0, 0, 0, 0.5);
386
- opacity: 0;
387
- transition: opacity 0.3s ease;
388
- pointer-events: none;
389
- z-index: 999998;
390
- }
391
-
392
- .changelog-list-modal-backdrop.show {
393
- opacity: 1;
394
- pointer-events: auto;
395
- }
396
-
397
332
  .changelog-list-modal {
398
333
  position: fixed;
399
334
  top: 0;
400
335
  left: 0;
401
336
  right: 0;
402
337
  bottom: 0;
403
- z-index: 999999;
338
+ z-index: var(--z-modal);
404
339
  display: flex;
405
340
  align-items: center;
406
341
  justify-content: center;
407
- padding: 20px;
342
+ padding: var(--spacing-5);
408
343
  pointer-events: none;
409
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', Oxygen, Ubuntu, Cantarell, sans-serif;
344
+ font-family: inherit;
410
345
  }
411
346
 
412
347
  .changelog-list-modal.open {
@@ -418,13 +353,13 @@ export const changelogStyles = `
418
353
  width: 100%;
419
354
  max-width: 460px;
420
355
  max-height: 85vh;
421
- background: white;
422
- border-radius: 20px;
356
+ background: var(--color-white);
357
+ border-radius: var(--radius-3xl);
423
358
  overflow: hidden;
424
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
425
- transform: scale(0.9) translateY(20px);
359
+ box-shadow: var(--shadow-2xl);
360
+ transform: scale(0.95) translateY(20px);
426
361
  opacity: 0;
427
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
362
+ transition: all var(--transition-slow);
428
363
  display: flex;
429
364
  flex-direction: column;
430
365
  }
@@ -434,35 +369,21 @@ export const changelogStyles = `
434
369
  opacity: 1;
435
370
  }
436
371
 
437
- .changelog-list-modal.theme-dark .changelog-list-modal-container {
438
- background: #1F2937;
439
- color: white;
440
- }
441
-
442
372
  .changelog-list-modal-header {
443
373
  display: flex;
444
374
  align-items: center;
445
375
  justify-content: space-between;
446
- padding: 14px 20px;
447
- border-bottom: 1px solid #E5E7EB;
376
+ padding: 14px var(--spacing-5);
377
+ border-bottom: 1px solid var(--color-border);
448
378
  flex-shrink: 0;
449
- background: white;
450
- }
451
-
452
- .changelog-list-modal.theme-dark .changelog-list-modal-header {
453
- border-bottom-color: #374151;
454
- background: #1F2937;
379
+ background: var(--color-white);
455
380
  }
456
381
 
457
382
  .changelog-list-modal-header h2 {
458
383
  margin: 0;
459
- font-size: 16px;
460
- font-weight: 600;
461
- color: #111827;
462
- }
463
-
464
- .changelog-list-modal.theme-dark .changelog-list-modal-header h2 {
465
- color: white;
384
+ font-size: var(--font-size-lg);
385
+ font-weight: var(--font-weight-semibold);
386
+ color: var(--color-text-primary);
466
387
  }
467
388
 
468
389
  .changelog-list-modal-close {
@@ -470,30 +391,21 @@ export const changelogStyles = `
470
391
  border: none;
471
392
  font-size: 22px;
472
393
  cursor: pointer;
473
- color: #6B7280;
474
- padding: 4px;
394
+ color: var(--color-neutral-500);
395
+ padding: var(--spacing-1);
475
396
  width: 28px;
476
397
  height: 28px;
477
398
  display: flex;
478
399
  align-items: center;
479
400
  justify-content: center;
480
- border-radius: 6px;
481
- transition: all 0.2s ease;
401
+ border-radius: var(--radius-sm);
402
+ transition: all var(--transition-base);
482
403
  line-height: 1;
483
404
  }
484
405
 
485
406
  .changelog-list-modal-close:hover {
486
- background: #F3F4F6;
487
- color: #111827;
488
- }
489
-
490
- .changelog-list-modal.theme-dark .changelog-list-modal-close {
491
- color: #9CA3AF;
492
- }
493
-
494
- .changelog-list-modal.theme-dark .changelog-list-modal-close:hover {
495
- background: #374151;
496
- color: white;
407
+ background: var(--color-neutral-100);
408
+ color: var(--color-neutral-900);
497
409
  }
498
410
 
499
411
  .changelog-list-modal-body {
@@ -510,35 +422,27 @@ export const changelogStyles = `
510
422
  display: flex;
511
423
  flex-direction: row;
512
424
  align-items: center;
513
- padding: 12px 16px;
514
- border-bottom: 1px solid #E5E7EB;
425
+ padding: var(--spacing-3) var(--spacing-4);
426
+ border-bottom: 1px solid var(--color-border);
515
427
  cursor: pointer;
516
- transition: background-color 0.2s ease;
428
+ transition: background-color var(--transition-base);
517
429
  position: relative;
518
430
  }
519
431
 
520
432
  .changelog-list-item:hover {
521
- background: #F9FAFB;
433
+ background: var(--color-neutral-50);
522
434
  }
523
435
 
524
436
  .changelog-list-item:last-child {
525
437
  border-bottom: none;
526
438
  }
527
439
 
528
- .changelog-list-modal.theme-dark .changelog-list-item {
529
- border-bottom-color: #374151;
530
- }
531
-
532
- .changelog-list-modal.theme-dark .changelog-list-item:hover {
533
- background: #374151;
534
- }
535
-
536
440
  .changelog-list-item-image {
537
441
  width: 100%;
538
- margin-bottom: 8px;
539
- border-radius: 6px;
442
+ margin-bottom: var(--spacing-2);
443
+ border-radius: var(--radius-sm);
540
444
  overflow: hidden;
541
- border: 1px solid #E5E7EB;
445
+ border: 1px solid var(--color-border);
542
446
  }
543
447
 
544
448
  .changelog-list-item-image img {
@@ -560,95 +464,74 @@ export const changelogStyles = `
560
464
  }
561
465
 
562
466
  .changelog-list-item-date {
563
- font-size: 11px;
564
- color: #6B7280;
565
- font-weight: 500;
566
- }
567
-
568
- .changelog-list-modal.theme-dark .changelog-list-item-date {
569
- color: #9CA3AF;
467
+ font-size: var(--font-size-xs);
468
+ color: var(--color-neutral-500);
469
+ font-weight: var(--font-weight-medium);
570
470
  }
571
471
 
572
472
  .changelog-list-item-labels {
573
473
  display: flex;
574
474
  flex-wrap: wrap;
575
- gap: 4px;
475
+ gap: var(--spacing-1);
576
476
  margin-bottom: 1px;
577
477
  }
578
478
 
579
479
  .changelog-list-item-title {
580
480
  margin: 0;
581
- font-size: 14px;
582
- font-weight: 600;
583
- line-height: 1.3;
584
- color: #111827;
585
- }
586
-
587
- .changelog-list-modal.theme-dark .changelog-list-item-title {
588
- color: white;
481
+ font-size: var(--font-size-base);
482
+ font-weight: var(--font-weight-semibold);
483
+ line-height: var(--line-height-snug);
484
+ color: var(--color-text-primary);
589
485
  }
590
486
 
591
487
  .changelog-list-item-description {
592
488
  margin: 0;
593
- font-size: 12px;
594
- line-height: 1.4;
595
- color: #6B7280;
489
+ font-size: var(--font-size-sm);
490
+ line-height: var(--line-height-normal);
491
+ color: var(--color-neutral-500);
596
492
  display: -webkit-box;
597
493
  -webkit-line-clamp: 2;
598
494
  -webkit-box-orient: vertical;
599
495
  overflow: hidden;
600
496
  }
601
497
 
602
- .changelog-list-modal.theme-dark .changelog-list-item-description {
603
- color: #9CA3AF;
604
- }
605
-
606
498
  .changelog-list-item-arrow {
607
499
  flex-shrink: 0;
608
- margin-left: 12px;
609
- color: #9CA3AF;
610
- transition: all 0.2s ease;
500
+ margin-left: var(--spacing-3);
501
+ color: var(--color-text-tertiary);
502
+ transition: all var(--transition-base);
611
503
  }
612
504
 
613
505
  .changelog-list-item:hover .changelog-list-item-arrow {
614
- color: #155EEF;
506
+ color: var(--color-primary);
615
507
  transform: translateX(3px);
616
508
  }
617
509
 
618
- .changelog-list-modal.theme-dark .changelog-list-item-arrow {
619
- color: #6B7280;
620
- }
621
-
622
- .changelog-list-modal.theme-dark .changelog-list-item:hover .changelog-list-item-arrow {
623
- color: #60A5FA;
624
- }
625
-
626
- /* ==================== MOBILE RESPONSIVE ==================== */
627
510
  @media (max-width: 768px) {
628
511
  .changelog-widget {
629
- bottom: 16px;
630
- right: 16px;
512
+ bottom: var(--spacing-4);
513
+ right: var(--spacing-4);
631
514
  }
632
515
 
633
516
  .changelog-widget.position-bottom-left {
634
- left: 16px;
517
+ left: var(--spacing-4);
635
518
  }
636
519
 
637
520
  .changelog-modal {
638
- padding: 16px;
521
+ padding: var(--spacing-4);
639
522
  }
640
523
 
641
524
  .changelog-modal-container {
642
525
  max-width: 100%;
643
- border-radius: 20px;
526
+ border-radius: var(--spacing-5);
644
527
  }
645
528
 
646
529
  .changelog-popup-image {
647
- padding: 20px 20px 0;
530
+ padding: var(--spacing-5) var(--spacing-5) 0;
648
531
  }
649
532
 
650
533
  .changelog-popup-body {
651
- padding: 20px 24px 24px;
534
+ padding: var(--spacing-5) var(--spacing-6) var(--spacing-6);
652
535
  }
653
536
 
654
537
  .changelog-popup-title {
@@ -656,27 +539,27 @@ export const changelogStyles = `
656
539
  }
657
540
 
658
541
  .changelog-popup-description {
659
- font-size: 15px;
542
+ font-size: var(--font-size-md);
660
543
  }
661
544
 
662
545
  .changelog-popup-btn {
663
- padding: 12px 28px;
664
- font-size: 15px;
546
+ padding: var(--spacing-3) 28px;
547
+ font-size: var(--font-size-md);
665
548
  width: 100%;
666
549
  }
667
550
 
668
551
  .changelog-popup-footer {
669
- padding: 0 24px 20px;
552
+ padding: 0 var(--spacing-6) var(--spacing-5);
670
553
  }
671
554
 
672
555
  .changelog-list-modal {
673
- padding: 16px;
556
+ padding: var(--spacing-4);
674
557
  }
675
558
 
676
559
  .changelog-list-modal-container {
677
560
  max-width: 100%;
678
561
  max-height: 90vh;
679
- border-radius: 16px;
562
+ border-radius: var(--spacing-4);
680
563
  }
681
564
 
682
565
  .changelog-list-item {
@@ -688,11 +571,11 @@ export const changelogStyles = `
688
571
  }
689
572
 
690
573
  .changelog-list-item-title {
691
- font-size: 13px;
574
+ font-size: var(--font-size-sm);
692
575
  }
693
576
 
694
577
  .changelog-list-item-description {
695
- font-size: 11px;
578
+ font-size: var(--font-size-xs);
696
579
  }
697
580
  }
698
- `;
581
+ `;