@product7/feedback-sdk 1.3.8 → 1.3.9

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 (39) hide show
  1. package/dist/feedback-sdk.js +2824 -2371
  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 +5 -5
  7. package/src/core/APIService.js +33 -14
  8. package/src/index.js +1 -1
  9. package/src/styles/base.js +1 -1
  10. package/src/styles/changelog.js +58 -40
  11. package/src/styles/components.js +19 -2
  12. package/src/styles/design-tokens.js +4 -4
  13. package/src/styles/feedback.js +3 -8
  14. package/src/styles/messenger-components.js +473 -0
  15. package/src/styles/messenger-core.js +37 -268
  16. package/src/styles/messenger-features.js +89 -267
  17. package/src/styles/messenger-views.js +391 -325
  18. package/src/styles/messenger.js +17 -558
  19. package/src/styles/styles.js +21 -24
  20. package/src/styles/{surveys.js → survey.js} +55 -20
  21. package/src/widgets/BaseWidget.js +1 -1
  22. package/src/widgets/ButtonWidget.js +1 -1
  23. package/src/widgets/ChangelogWidget.js +1 -1
  24. package/src/widgets/InlineWidget.js +1 -1
  25. package/src/widgets/MessengerWidget.js +15 -9
  26. package/src/widgets/SurveyWidget.js +1 -1
  27. package/src/widgets/TabWidget.js +1 -1
  28. package/src/widgets/messenger/MessengerState.js +5 -2
  29. package/src/widgets/messenger/components/MessengerLauncher.js +22 -18
  30. package/src/widgets/messenger/components/MessengerPanel.js +1 -1
  31. package/src/widgets/messenger/components/NavigationTabs.js +36 -15
  32. package/src/widgets/messenger/views/ChangelogView.js +8 -32
  33. package/src/widgets/messenger/views/ChatView.js +96 -60
  34. package/src/widgets/messenger/views/ConversationsView.js +67 -45
  35. package/src/widgets/messenger/views/HelpView.js +22 -32
  36. package/src/widgets/messenger/views/HomeView.js +58 -40
  37. package/src/widgets/messenger/views/PreChatFormView.js +12 -5
  38. package/src/styles/messenger-help.js +0 -298
  39. package/src/styles/messenger-themes.js +0 -500
@@ -0,0 +1,473 @@
1
+ export const messengerComponentsStyles = `
2
+
3
+ /* ========================================
4
+ MESSAGES
5
+ ======================================== */
6
+
7
+ .messenger-message {
8
+ display: flex;
9
+ gap: var(--spacing-2);
10
+ max-width: 85%;
11
+ }
12
+
13
+ .messenger-message-own {
14
+ align-self: flex-end;
15
+ flex-direction: column;
16
+ align-items: flex-end;
17
+ }
18
+
19
+ .messenger-message-received {
20
+ align-self: flex-start;
21
+ flex-direction: column;
22
+ }
23
+
24
+ .messenger-message-row {
25
+ display: flex;
26
+ align-items: flex-end;
27
+ gap: var(--spacing-2);
28
+ }
29
+
30
+ .messenger-message-wrapper {
31
+ display: flex;
32
+ flex-direction: column;
33
+ }
34
+
35
+ .messenger-message-avatar {
36
+ flex-shrink: 0;
37
+ }
38
+
39
+ .messenger-message-sender {
40
+ font-size: var(--font-size-xs);
41
+ font-weight: var(--font-weight-medium);
42
+ color: var(--color-text-secondary);
43
+ margin-bottom: 2px;
44
+ margin-left: 0;
45
+ }
46
+
47
+ .messenger-message-bubble {
48
+ padding: var(--spacing-2) var(--spacing-3);
49
+ border-radius: var(--radius-2xl);
50
+ word-wrap: break-word;
51
+ }
52
+
53
+ .messenger-message-own .messenger-message-bubble {
54
+ background: var(--color-primary);
55
+ color: var(--color-white);
56
+ border-bottom-right-radius: var(--spacing-1);
57
+ }
58
+
59
+ .messenger-message-received .messenger-message-bubble {
60
+ background: var(--color-neutral-100);
61
+ color: var(--color-text-primary);
62
+ border-bottom-left-radius: var(--spacing-1);
63
+ }
64
+
65
+ .messenger-message-content {
66
+ font-size: var(--font-size-base);
67
+ line-height: var(--line-height-relaxed);
68
+ }
69
+
70
+ .messenger-message-time {
71
+ font-size: var(--font-size-xs);
72
+ color: var(--color-text-tertiary);
73
+ margin-top: 2px;
74
+ padding: 0 var(--spacing-1);
75
+ }
76
+
77
+ .messenger-message-image {
78
+ max-width: 220px;
79
+ max-height: 200px;
80
+ width: auto;
81
+ height: auto;
82
+ border-radius: var(--radius-lg);
83
+ margin-top: var(--spacing-1);
84
+ cursor: pointer;
85
+ object-fit: contain;
86
+ display: block;
87
+ }
88
+
89
+ .messenger-message-file {
90
+ display: inline-flex;
91
+ align-items: center;
92
+ gap: var(--spacing-2);
93
+ margin-top: var(--spacing-1);
94
+ padding: var(--spacing-2) var(--spacing-3);
95
+ border-radius: var(--radius-lg);
96
+ background: var(--color-neutral-100);
97
+ color: var(--color-primary);
98
+ text-decoration: none;
99
+ font-size: var(--font-size-sm);
100
+ transition: background var(--transition-base);
101
+ max-width: 100%;
102
+ word-break: break-all;
103
+ cursor: pointer;
104
+ }
105
+
106
+ .messenger-message-file:hover {
107
+ background: var(--color-neutral-200);
108
+ }
109
+
110
+ .messenger-file-download-icon {
111
+ margin-left: auto;
112
+ opacity: 0.5;
113
+ flex-shrink: 0;
114
+ }
115
+
116
+ .messenger-message-file:hover .messenger-file-download-icon {
117
+ opacity: 1;
118
+ }
119
+
120
+ .messenger-closed-banner {
121
+ display: flex;
122
+ align-items: center;
123
+ justify-content: center;
124
+ gap: var(--spacing-2);
125
+ padding: var(--spacing-3) var(--spacing-4);
126
+ margin: var(--spacing-4);
127
+ background: var(--color-success-light);
128
+ color: var(--color-success-dark);
129
+ border-radius: var(--radius-xl);
130
+ font-size: var(--font-size-sm);
131
+ font-weight: var(--font-weight-medium);
132
+ }
133
+
134
+ /* ========================================
135
+ CHAT HEADER
136
+ ======================================== */
137
+
138
+ .messenger-chat-header {
139
+ display: flex;
140
+ align-items: center;
141
+ gap: var(--spacing-3);
142
+ padding: var(--spacing-4) var(--spacing-5);
143
+ border-bottom: 1px solid var(--color-border);
144
+ }
145
+
146
+ .messenger-chat-header-info {
147
+ flex: 1;
148
+ display: flex;
149
+ align-items: center;
150
+ gap: var(--spacing-2);
151
+ }
152
+
153
+ .messenger-chat-title {
154
+ font-size: var(--font-size-lg);
155
+ font-weight: var(--font-weight-semibold);
156
+ color: var(--color-text-primary);
157
+ }
158
+
159
+ .messenger-chat-messages {
160
+ flex: 1;
161
+ overflow-y: auto;
162
+ padding: var(--spacing-4);
163
+ display: flex;
164
+ flex-direction: column;
165
+ gap: var(--spacing-3);
166
+ }
167
+
168
+ .messenger-chat-empty {
169
+ flex: 1;
170
+ display: flex;
171
+ flex-direction: column;
172
+ align-items: center;
173
+ justify-content: center;
174
+ text-align: center;
175
+ padding: var(--spacing-10);
176
+ }
177
+
178
+ .messenger-chat-empty-avatars {
179
+ margin-bottom: var(--spacing-4);
180
+ }
181
+
182
+ .messenger-chat-empty h3 {
183
+ margin: 0 0 var(--spacing-2);
184
+ font-size: var(--font-size-xl);
185
+ font-weight: var(--font-weight-semibold);
186
+ color: var(--color-text-primary);
187
+ }
188
+
189
+ .messenger-chat-empty p {
190
+ margin: 0;
191
+ font-size: var(--font-size-base);
192
+ color: var(--color-text-secondary);
193
+ max-width: 240px;
194
+ }
195
+
196
+ /* ========================================
197
+ COMPOSE AREA
198
+ ======================================== */
199
+
200
+ .messenger-chat-compose {
201
+ display: flex;
202
+ align-items: center;
203
+ gap: var(--spacing-2);
204
+ padding: var(--spacing-3) var(--spacing-4);
205
+ border-top: 1px solid var(--color-border);
206
+ background: var(--color-white);
207
+ }
208
+
209
+ .messenger-compose-input-wrapper {
210
+ flex: 1;
211
+ background: var(--color-neutral-100);
212
+ border-radius: var(--radius-lg);
213
+ padding: var(--spacing-2) var(--spacing-4);
214
+ }
215
+
216
+ .messenger-compose-input {
217
+ width: 100%;
218
+ background: transparent;
219
+ border: none;
220
+ outline: none;
221
+ color: var(--color-text-primary);
222
+ font-size: var(--font-size-md);
223
+ line-height: var(--line-height-normal);
224
+ resize: none;
225
+ max-height: 120px;
226
+ font-family: inherit;
227
+ }
228
+
229
+ .messenger-compose-input::placeholder {
230
+ color: var(--color-text-tertiary);
231
+ }
232
+
233
+ .messenger-compose-send {
234
+ width: 40px;
235
+ height: 40px;
236
+ background: var(--color-primary);
237
+ border: none;
238
+ border-radius: var(--radius-full);
239
+ color: var(--color-white);
240
+ cursor: pointer;
241
+ display: flex;
242
+ align-items: center;
243
+ justify-content: center;
244
+ transition: all var(--transition-base);
245
+ flex-shrink: 0;
246
+ }
247
+
248
+ .messenger-compose-send:hover:not(:disabled) {
249
+ background: var(--color-primary-hover);
250
+ transform: scale(1.05);
251
+ }
252
+
253
+ .messenger-compose-send:disabled {
254
+ background: var(--color-neutral-300);
255
+ cursor: not-allowed;
256
+ }
257
+
258
+ .messenger-compose-file-input {
259
+ display: none;
260
+ }
261
+
262
+ /* ========================================
263
+ TYPING INDICATOR
264
+ ======================================== */
265
+
266
+ .messenger-typing-indicator {
267
+ display: none;
268
+ align-items: center;
269
+ gap: var(--spacing-2);
270
+ padding: var(--spacing-2) var(--spacing-3);
271
+ margin: var(--spacing-1) 0;
272
+ }
273
+
274
+ .messenger-typing-dots {
275
+ display: flex;
276
+ align-items: center;
277
+ gap: 4px;
278
+ background: var(--color-neutral-100);
279
+ padding: var(--spacing-2) var(--spacing-3);
280
+ border-radius: var(--radius-2xl);
281
+ }
282
+
283
+ .messenger-typing-dots span {
284
+ width: 6px;
285
+ height: 6px;
286
+ background: var(--color-neutral-400);
287
+ border-radius: var(--radius-full);
288
+ animation: messenger-typing-bounce 1.4s infinite ease-in-out;
289
+ }
290
+
291
+ .messenger-typing-dots span:nth-child(1) {
292
+ animation-delay: -0.32s;
293
+ }
294
+
295
+ .messenger-typing-dots span:nth-child(2) {
296
+ animation-delay: -0.16s;
297
+ }
298
+
299
+ .messenger-typing-dots span:nth-child(3) {
300
+ animation-delay: 0s;
301
+ }
302
+
303
+ .messenger-typing-text {
304
+ font-size: var(--font-size-xs);
305
+ color: var(--color-text-tertiary);
306
+ }
307
+
308
+ /* ========================================
309
+ NAVIGATION TABS
310
+ ======================================== */
311
+
312
+ .messenger-panel-nav {
313
+ border-top: 1px solid var(--color-border);
314
+ background: var(--color-white);
315
+ }
316
+
317
+ .messenger-nav-tabs {
318
+ display: flex;
319
+ padding: var(--spacing-1) var(--spacing-2);
320
+ gap: var(--spacing-1);
321
+ }
322
+
323
+ .messenger-nav-footer {
324
+ padding: var(--spacing-1) var(--spacing-2);
325
+ text-align: center;
326
+ }
327
+
328
+ .messenger-powered-by {
329
+ display: inline-flex;
330
+ align-items: center;
331
+ gap: 4px;
332
+ font-size: 10px;
333
+ color: var(--color-text-tertiary);
334
+ text-decoration: none;
335
+ transition: color var(--transition-base);
336
+ }
337
+
338
+ .messenger-powered-by:hover {
339
+ color: var(--color-text-secondary);
340
+ }
341
+
342
+ .messenger-powered-by svg {
343
+ width: 12px;
344
+ height: 14px;
345
+ }
346
+
347
+ .messenger-powered-by strong {
348
+ font-weight: var(--font-weight-semibold);
349
+ }
350
+
351
+ .messenger-nav-tab {
352
+ flex: 1;
353
+ display: flex;
354
+ flex-direction: column;
355
+ align-items: center;
356
+ gap: 4px;
357
+ padding: var(--spacing-2) var(--spacing-1);
358
+ background: none;
359
+ border: none;
360
+ cursor: pointer;
361
+ border-radius: var(--radius-md);
362
+ transition: all var(--transition-base);
363
+ position: relative;
364
+ }
365
+
366
+ .messenger-nav-tab:hover {
367
+ background: var(--color-neutral-50);
368
+ }
369
+
370
+ .messenger-nav-icon {
371
+ color: var(--color-text-secondary);
372
+ transition: color var(--transition-base);
373
+ }
374
+
375
+ .messenger-nav-label {
376
+ font-size: var(--font-size-base);
377
+ font-weight: var(--font-weight-medium);
378
+ color: var(--color-text-secondary);
379
+ transition: color var(--transition-base);
380
+ }
381
+
382
+ .messenger-nav-tab.active .messenger-nav-icon,
383
+ .messenger-nav-tab.active .messenger-nav-label {
384
+ color: var(--color-primary);
385
+ }
386
+
387
+ .messenger-nav-badge {
388
+ position: absolute;
389
+ top: var(--spacing-1);
390
+ right: calc(50% - 16px);
391
+ min-width: 16px;
392
+ height: 16px;
393
+ background: var(--color-error);
394
+ color: var(--color-white);
395
+ font-size: 10px;
396
+ font-weight: var(--font-weight-semibold);
397
+ border-radius: var(--radius-full);
398
+ display: flex;
399
+ align-items: center;
400
+ justify-content: center;
401
+ padding: 0 var(--spacing-1);
402
+ }
403
+
404
+ /* ========================================
405
+ PRECHAT
406
+ ======================================== */
407
+
408
+ .messenger-prechat-view {
409
+ position: relative;
410
+ }
411
+
412
+ .messenger-prechat-overlay {
413
+ position: absolute;
414
+ top: 0;
415
+ left: 0;
416
+ right: 0;
417
+ bottom: 0;
418
+ background: rgba(0, 0, 0, 0.5);
419
+ display: flex;
420
+ align-items: center;
421
+ justify-content: center;
422
+ padding: var(--spacing-5);
423
+ z-index: var(--z-popover);
424
+ }
425
+
426
+ .messenger-prechat-card {
427
+ background: var(--color-white);
428
+ border-radius: var(--radius-2xl);
429
+ padding: var(--spacing-6);
430
+ width: 100%;
431
+ max-width: 360px;
432
+ box-shadow: var(--shadow-xl);
433
+ }
434
+
435
+ .messenger-prechat-title {
436
+ margin: 0 0 var(--spacing-5);
437
+ font-size: var(--font-size-xl);
438
+ font-weight: var(--font-weight-semibold);
439
+ color: var(--color-text-primary);
440
+ text-align: center;
441
+ }
442
+
443
+ .messenger-prechat-error {
444
+ display: none;
445
+ font-size: var(--font-size-sm);
446
+ color: var(--color-error);
447
+ margin-top: calc(var(--spacing-1) * -1);
448
+ }
449
+
450
+ .messenger-prechat-actions {
451
+ display: flex;
452
+ gap: var(--spacing-3);
453
+ margin-top: var(--spacing-2);
454
+ }
455
+
456
+ .messenger-prechat-skip {
457
+ flex: 1;
458
+ }
459
+
460
+ .messenger-prechat-submit {
461
+ flex: 2;
462
+ }
463
+
464
+ .messenger-prechat-submit-loading {
465
+ display: none;
466
+ align-items: center;
467
+ justify-content: center;
468
+ }
469
+
470
+ .messenger-prechat-submit-loading i {
471
+ animation: spin 0.8s linear infinite;
472
+ }
473
+ `;